クラウドネイティブで実現する、シミュレーションと実機テストのボーダーレス開発:仮想環境を使ったクラウド時代の組み込み開発のススメ(4)(4/4 ページ)
IoT/クラウドロボティクス時代のシステム開発を加速化する仮想環境の活用について解説する本連載。第4回は、前回紹介した「クラウドネイティブ」の考え方に基づき、製品開発の課題になっている、シミュレーション環境と実機テストの間にあるギャップを埋める方法を紹介する。
クラウドネイティブなシステムを導入する際の課題
ここまで、クラウドネイティブなシステムの良い点を書き連ねてきました。当然ながら、Kubernetesによってもたらされるインフラレイヤーは、“リアルな”コンピュータ資源/ネットワーク資源などが存在し、相互接続性に問題ないことを前提として初めて成立可能です。そして、前提条件を整えることこそが、クラウドネイティブを考える上で、インフラ管理者を悩ませる、頭痛の種でもあります。
この課題に対して、Webサービスやエンタープライズシステムの現場では、各クラウドベンダーが提供する「マネージドKubernetesサービス(「Google Kubernetes Engine」など)」を採用する例が多く見られます。これによってインフラ管理者は、わずかな操作で、クラウド上の仮想マシン(コンピュータ資源)やネットワークを自動的に構築・運用することが実現できます。2021年現在、最適解の1つといえるでしょう。
反面、ROSロボットでは、全面的にこの解を取り入れることができません。ROSロボットに搭載されるSBC(シングルボードコンピュータ)およびその接続先としてのネットワーク物理層(Wi-FiアクセスポイントやEthernetポートなど)は、現実の作業環境に設置場所が制約されます。当然、これらはマネージドKubernetesサービスが提供する範囲ではありません。機器設置/管理の主体はあくまでも自組織であり、インフラ管理者が中心となって、構築・運用を推進する必要が出てきます。
現実の作業環境におけるインフラレイヤーの構築・運用を自動化する
現実の作業環境におけるインフラレイヤーの構築・運用を自動化するという方法について、幾つか商用プロダクトを挙げてみます。
中でも、コンピュータ資源に関しては、「ハイブリッドクラウド」関連の市場が成熟しています。VMwareの仮想化基盤を使ったサービス(「VMware Cloud on AWS」など)や、パブリッククラウドのクローンを自組織内のサーバ室に設置するサービス(「AWS Outposts」など)などがあります。これらにより、商用グレードの堅牢なシステムを、従来と比べて少ない人数の“有識者”で構築・運用できます。ただし、最小構成であっても、まとまった費用(数千万円以上)が必要であり、手軽に試せる解決方法とは言い難いです。
特に、2021年現在、ROSロボットの多くは研究開発段階です。高品質、高性能、多機能なインフラレイヤーは、現状に対して、オーバースペックであるとも言えます。他方、OSS(オープンソースソフトウェア)などを組み合わせて、自力で実現するという手もあります。ただし、この手を使うには、優秀なエンジニアを多数そろえることが必要になるでしょう。商用プロダクトを使うよりも“茨の道”かもしれません。
本当に必要なもの=手軽さ
クラウドネイティブの考え方/支える技術による恩恵およびそれに基づくユースケースは、本記事だけでは挙げきれないほどあります。にもかかわらず、前提条件を整えることが障壁となって、それらの恩恵を享受できないのだとすると、非常にもったいないのではないでしょうか。筆者らは、「現実の作業環境におけるインフラレイヤーの構築・運用を自動化する」仕組みが、誰でも「手軽に」使えることが重要であると考えました。試さないことには、採用には踏み切れないと感じるからです。
そこで生まれたのが、OSSである「RDBOX(Robotics Developers BOX)」です。GitHubにおいてMIT Licenseで公開しています。RDBOXでは、ROSロボット/IoTシステムにおける、一般的なユースケースに適用可能な、標準的インフラレイヤーを1つだけ定義しています。そして、その標準的インフラレイヤーに特化した自動化を提供します。自動化は「Raspberry Pi」やノートPCといった汎用的な機器にも適用可能で、数ステップでクラスタの構築が可能です。
おわりに(+次回予告)
今回は、2つの環境を隔てるギャップを埋める方法についての仮説を展開しました。併せて、ROSロボットやIoTシステムといった制約の多い機器群に、クラウドネイティブなシステムを適用する上で伴う課題を列挙しました。IT分野からさまざまなアプローチのプロダクトが供給されているものの、産業分野の現状との間でギャップがあることも見えてきました。
これらを踏まえた上で、連載最終回となる次回は、先ほど紹介したRDBOXの詳細について解説します。ROSロボット/IoTシステムのエンジニアに対し、RDBOXがどのような手助けができるのか、ユースケースを交えながら紹介します。
謝辞
本記事で紹介した「箱庭」におけるUnityパッケージの設計と作成に当たっては、宝塚大学 東京メディア芸術学部 准教授の吉岡章夫氏および学部生の杉﨑涼志さん、木村明美さん、千葉純平さんにご協力いただきました。
TurtleBot3のUnityアセットは、株式会社ロボティズからご提供いただいたデータを基に作成しています。ご協力いただき深く感謝いたします。
筆者プロフィール
福田 竜也(ふくた たつや)株式会社インテック 先端技術研究所
ロボティクス分野におけるIT技術の利活用についての研究開発に従事。ロボット開発プラットフォームROS(Robot Operating System)やクラウドネイティブ技術(Kubernetesなど)のエッジ延伸について強い関心がある。研究成果としてOSS(RDBOX)を公開中。TOPPERSプロジェクトの箱庭ワーキンググループに参画して活動中。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「仮想環境を使ったクラウド時代の組み込み開発のススメ」バックナンバー
- 組み込みエンジニアも知っておきたい「クラウドネイティブ」とは
IoT/クラウドロボティクス時代のシステム開発を加速化する仮想環境の活用について解説する本連載。第3回は、IT分野で浸透してきている「クラウドネイティブ」という考え方とその狙い、支える技術などについて紹介した上で、組み込み分野におけるクラウドネイティブの可能性について説明する。 - 日本の伝統を受け継ぐ仮想環境「箱庭」でIoTシステムの統合開発を加速する
IoT/クラウドロボティクス時代のシステム開発を加速化する仮想環境の活用について解説する本連載。第2回は、IT分野と組み込み分野の相克を乗り越えて、IoTのシステム開発/サービス構築をスムーズに進めるための「箱庭」を紹介する。 - IoTシステムの開発はなぜ難しいのか、ITと組み込みの相克を克服せよ
IoT/クラウドロボティクス時代のシステム開発を加速化する仮想環境の活用について解説する本連載。第1回は、IoTのシステム開発/サービス構築の難しさや、その原因になっているIT分野と組み込み分野の相克について紹介する。 - ロボット開発プラットフォーム「ROS」はどのように進化してきたのか
ロボットの開発に広く利用されるようになっているロボット開発プラットフォーム「ROS(Robot Operating System)」の活用について解説する本連載。今回は、ROSがオープンソースソフトウェアとしてどのように進化してきたのについて紹介する。 - ROSとシミュレーターの連携が生み出す新たな可能性
ロボットの開発に広く利用されるようになっているロボット開発プラットフォーム「ROS(Robot Operating System)」の活用について解説する本連載。今回は、「ROSの活用シーンとしてのシミュレーターとの連携」をテーマに、ロボット開発におけるシミュレーターの重要性や、ROSと連携可能なシミュレーターなどについて解説する。