IoTシステムの開発はなぜ難しいのか、ITと組み込みの相克を克服せよ:仮想環境を使ったクラウド時代の組み込み開発のススメ(1)(2/2 ページ)
IoT/クラウドロボティクス時代のシステム開発を加速化する仮想環境の活用について解説する本連載。第1回は、IoTのシステム開発/サービス構築の難しさや、その原因になっているIT分野と組み込み分野の相克について紹介する。
IoTサービスの提供を検討している企業も課題に直面
次に、IoTを活用したサービスの提供を検討している企業が、そのIoTサービス構築時に直面する課題を考えてみましょう。図2のように、複数のロボットシステムを活用した生活支援サービスの構築を例にします。
AI(人工知能)技術の発展に伴って、現在では高度なAI機能を搭載したさまざまなサービスロボットが開発、販売されています。価値の高いIoTサービスを構築する際には、要求に見合ったロボットシステムを選定し、要求に応じて適切に組み合わせていくことが求められます。新しいサービスを検討するためには、どれをどう組み合わせて効果的なサービスを創出できるかを評価する必要があります。
また、検討しているサービスや、サービスに関連するシステムの要件が頻繁に変更される場合には、実物のロボットを準備して評価するのに、やはり準備と手間の作業が大きくなる、変更適用に時間がかかることになります。もちろんそれぞれのロボットシステムを結合してからトラブルが頻発することも予想されます。
IT分野と組み込み分野の開発アプローチの違い
IoTシステム開発の現場には、さまざまなバックグラウンドを持つ技術者が集まります。それぞれのドメインにおける開発アプローチについて理解しておくことは、IoTシステムの開発やサービスの構築を促進することに役立ちます。また、お互いのアプローチの良いところは積極的に活用していくべきです。それぞれのアプローチの違いについて、筆者なりに整理してみたいと思います。
まずIT分野では、開発対象のソフトウェアに対して実行先のハードウェアがあらかじめ定まっていることが一般的です。アジャイル開発のアプローチがひろく普及しており、要件定義や設計、実装、テストといった各工程のイテレーション(iteration)サイクルを細かく反復しながら各機能がリリースされていきます。アプリケーションの初回展開後にも随時更新できる機能が備わっており、欠陥が見つかった場合には(もちろん避けたいですが……)次回のリリース時に対応することが許容される傾向にあります。イテレーションの自動化、高速化のためにCI/CDのアプローチが採用されることも増えてきています。
一方で組み込み分野では、ソフトウェアとハードウェアの開発が同時並行的に進められることがほとんどです。アジャイル開発の採用も進んできていますが、その多くはウオーターフォールモデルやV字モデルが採用されており、各工程で想定されるバグや欠陥を検証し尽くしてから、次の工程に進むことが基本となります。特に物理的なデバイスの開発においては、上流工程での欠陥に起因する手戻りのコストは非常に大きくなり、ハードウェアの再製造に至る場合は大きな損失につながることがあります。
また、産業によるところはありますが、自動車や医療など人命に直結する場合は非常に高い品質を求められることになります。その品質を確実に確保するため、ハードウェアの設計が完了し製造に入る前の段階からソフトウェアの開発を進めることのできるシミュレーターやエミュレーターなどの仮想環境が採用されます。最近では、製品出荷後にソフトウェアを更新できるOTA(Over The Air)機能のサポートも増えてきていますが、基本的には出荷前にバグをつぶし尽くす開発アプローチが求められます。
このような技術的課題を解決するためのアプローチとして、筆者らが研究開発を進めているのが「箱庭」というプラットフォームです。IoTのシステム開発/サービス構築を加速化することができるプラットフォームとなることを目指しています。次回は、この「箱庭」の詳細について紹介します。
筆者プロフィール
高瀬 英希(たかせ ひでき)東京大学 大学院情報理工学系研究科 システム情報学専攻 准教授
組み込み/IoT/ロボットシステムの協調最適化やシステムレベル設計技術の研究開発に従事。特に最近では、ロボット開発プラットフォームROS(Robot Operating System)や関数型言語ElixirのIoTシステムへの展開について強い関心がある。TOPPERSプロジェクトの箱庭ワーキンググループに参画して活動中。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「仮想環境を使ったクラウド時代の組み込み開発のススメ」バックナンバー
- IoTデバイスに不可欠な「アンテナ」「無線モジュール」「SIMカード」の役割
IoTデバイスの基本的な構成から、必要な認証、デバイス選定までを前後編で解説する本連載。前編では、基本的な構成の中でも、通信に関する機能を持つ「アンテナ」「無線モジュール」「SIMカード」について詳しく解説する。 - IoTデバイスにも必須の「技適」とは何か、どんなデバイスを選ぶべきか
IoTデバイスの基本的な構成から、必要な認証、デバイス選定までを前後編で解説する本連載。後編では、IoTデバイスを日本国内で使うために必要な認証いわゆる“技適”についての解説を行った上で、目的に応じてどのようなデバイスを選定していくべきかについて紹介する。 - 製造業向けIoT活用入門
IoT(Internet of Things:モノのインターネット)に注目が集まる一方で、製造業がIoTを活用するための道筋は見えづらい状態にある。本稿では、幾つかの代表的なIoTの活用シーンを紹介するとともに、自動車向けテレマティクス(カーテレマティクス)を具体的な事例として、製造業がIoTから得られるメリットについて解説する。 - ロボット開発プラットフォーム「ROS」はどのように進化してきたのか
ロボットの開発に広く利用されるようになっているロボット開発プラットフォーム「ROS(Robot Operating System)」の活用について解説する本連載。今回は、ROSがオープンソースソフトウェアとしてどのように進化してきたのについて紹介する。 - ROSとシミュレーターの連携が生み出す新たな可能性
ロボットの開発に広く利用されるようになっているロボット開発プラットフォーム「ROS(Robot Operating System)」の活用について解説する本連載。今回は、「ROSの活用シーンとしてのシミュレーターとの連携」をテーマに、ロボット開発におけるシミュレーターの重要性や、ROSと連携可能なシミュレーターなどについて解説する。 - ROSとフォトリアルなシミュレーター「Isaac Sim」を連携させる
ロボットの開発に広く利用されるようになっているロボット開発プラットフォーム「ROS(Robot Operating System)」の活用について解説する本連載。今回は、「ROSとシミュレーターの組み合わせ事例」をテーマに、ROSとフォトリアルなシミュレーター「Isaac Sim」の連携について具体的な手法を紹介する。