トップ > ワークスタイルのアーカイブ > AI機能搭載 飼育牛モニタリング機器・IoTシステムu 本研究におけるソフトウェア設計の技術的考察(3)IoTデバイスのソフトウェア構造について

2021.04.01

AI機能搭載 飼育牛モニタリング機器・IoTシステム 本研究のソフトウェア設計の技術的考察(3)
IoTデバイスのソフトウェア構造について

#産学連携 #東京工業大学 #エッジデバイス #ビッグデータ #データサイエンス #IoT

IoTデバイスのソフトウェア構造について

目指したところ

  • ① AIを組み込むことから、レイヤ構造が明確で保守性の良いソフトウェアを目指しました。AIや低電力化に向けた改良を繰り返すことが想定され、保守の手間の低減が大切だと考えました。
  • ② 低電力で動作し、軽量AIを組み込むのに過不足ない最適なデバイス。
  • ③ FLASH書き換え耐性を考慮し、デバイスが長持ちするプログラムの長寿命設計。

開発にあたっての課題

  • ① 選定マイコンが必ずしも自力で開発経験のあるものでもありません。マイコンのI/Oや独自の命令セットなど、調査していると詳細設計に落とし込むだけで研究期間が終了してしまいます。
  • ② 低周波動作でRAMやROMが少ない低消費電力を選定すると、駆動期間は伸びますが、搭載するソフトウェアが小規模になることから、バランスの良いマイコンを選定する必要があります。
  • ③ 加速度の生データをAIが大量に処理するため、ROM(FLASH)へのW/Rが書き換え上限をオーバーし、1か月程で不定動作となることも課題でした。

その解決方法

  • ① 基本設計でドライバ層、ミドル層、アプリ層を分離によるアーキテクチャを明確にしました。特に基板のI/Oピンを基にドライバ層APIとの関係を仕様書で明らかにしました。詳細設計については伊藤研外注を活用し、選定マイコンの経験豊富な方に製造を依頼しました。
  • ② エレキ担当と蜜にコミュニケーションを取りながら、試作段階のAIで必要なメモリ量を計算することで、マイコン選定しました。AI側もマイコンに搭載することを前提に軽量なアルゴリズムを選定しました。
    サンプリングレートや計算に使うサンプル数もチューニングし、マイコンでAIを動作させるのに効果的な容量を見積もりました。
  • ③ FLASHを使用せず、RAMのみでAIを動作させることにしました。
    RAMにため込んだデータを推論後、直ちにLPWA送信で補助記憶装置(クラウドストレージ)へ転送します。RAMを使うことで結果として、AI処理の高速化を図ることができました。
    5秒以内で150レコードの計算を終える必要があるなどの時間的な制約があります。

東京工業大学 伊藤研究室

  • 府川株式会社テクノプロ テクノプロ・デザイン社

    1987年神奈川生まれ。
    データベース/業務ソフトエンジニアとして経験を積んだ後、テクノプロ・デザイン社に入社。 共同研究先の東京工業大学では、多変量解析を用いたAIの研究開発や、生体リアルタイムセンシングロガー製造などに従事。 ビッグデータを蓄積するクラウド開発をお手伝いし、協力会社やスタッフとの調整にも携わる。
    趣味はボーリング。

閉じる