EdgeTech+ 2024 から見えた箱庭コア技術の進化と新たなチャレンジ


2024年11月20日から22日にかけて、パシフィコ横浜で開催されたEdgeTech+ 2024に参加してきました。今回の展示会では、JASAブースにて箱庭技術を活用したプロジェクトが展示されていましたので、その内容をご紹介します。

思い出のひとコマ

今回の参加を通じて、2022年4月3日(日曜日)に悩んでいたことを思い出しました。当時、箱庭のシミュレータといえば、単体ロボットシミュレータであり、箱庭コア機能はUnityスクリプトとしてC#で実装されていました。これは、Unityで実装されたロボットとCPUエミュレータ Athrillを連携させるためのプロトタイプだったからです。

しかし、この実装にはデメリットもありました。商用化を考えた際にUnityのライセンス制約がネックになる可能性があり、また特定のベンダに依存する構造だったため、オープンな精神での開発には向いていませんでした。

そんな悩みを抱えながら目覚めた日曜日の朝に閃いた箱庭の新しい設計案がこちらです。

「箱庭コア機能はシンプルに作る」- これが最初の閃きでした。さらに、最低限必要な機能は2つだけ。「UNIXのように抽象化されたRead/Write機能」と「シミュレーション時刻の同期機能」です。それ以外の複雑な機能は、箱庭コアの上に乗るアプリケーション、すなわち箱庭アセットが作り出せれば良いと。「Simple is Beautiful!」という考え方です。

JASAブースでのデモ展示

箱庭プロジェクトでは、JASA内のプロジェクトやワーキンググループ(WG)から仮想化に関するご相談を個別にいただき、箱庭技術の提供と協力を進めてきました。今回は、一参加者としてその成果をしっかりとデモ体験することができました。

OpenEL 活用WG

まずは、OpenEL 活用WGのご紹介です。

(Open EL活用WGブース:中村さんと箱庭デモの一枚)

OpenEL(Open Embedded Library)は、ロボットや制御システムなどのソフトウェアの実装仕様を標準化する組込みシステム向けのオープンなプラットフォームです。 センサ入力やモーター等の制御のためのAPI(Application Programming Interface)をミドルウェアよりも低いレイヤーで標準化し、アプリケーションソフトウェアの移植性、再利用性、生産性を向上するための仕組みとして開発されました。

(「OpenEL_Specification_jp.pdf 図4-3 OpenEL の位置付け」より)

OpenELと箱庭の接続

2022年8月頃、OpenEL活用WGの主査である中村さんから「OpenELと箱庭を接続したい」とご相談をいただきました。ETロボコンシミュレータで利用されているTOPPERS/EV3RTのように、標準仕様のOpenEL APIから箱庭を呼び出し、仮想ロボットを操作できるようにしたいとのことでした。そこで、OpenELのデバイス層に箱庭と接続する仮想デバイス(箱庭デバイス)を構築することにしました。この箱庭デバイスを使えば、仮想空間上のロボットを実機なしで制御・テストすることが可能になるのです!

そこで、週末の合間を利用して、出来たばかりの箱庭コア機能とOpenELを接続する箱庭アセットを作り上げました。その成果物が以下のリポジトリに公開されています:

GitHub URL:https://github.com/toppers/hakoniwa-openel-cpp

この時のアーキテクチャは下図の通りです。Robot Control ProgramからOpenELのAPIを呼び出すと、OpenEL箱庭デバイスが実行され、そのデバイスI/Oデータが箱庭のPDUデータとして箱庭コア機能にアクセスされます。Unityとの通信はgRPCやUDPをベースにして行われます。

(アーキテクチャ図)

日曜日の閃きから半年後に形になった箱庭コア機能ですが、公の場での最初のデビュー作が、このOpenEL活用WGでの利用でした!

(デモ動画)

コモングラウンド委員会

次に、コモングラウンド委員会での箱庭活用についてご紹介します。

コモングラウンド委員会では、Society5.0を実現するための、サイバー空間(仮想空間)とフィジカル空間(現実空間)を融合させたデジタルツインにおいて、インフラ協調型のロボット制御における、エッジ側の(センサ、アクチュエータ、ロボット等)の必要条件や技術的課題を調査研究し、得られた成果や課題解決に向けた提案などを外部発信することを目的とした活動を進めておられます。

詳細は、こちらをご参照ください。

デモ内容

今回の展示では、JASAによるデジタルツインのデモとして、製造現場でのトラブル対応を想定したデジタルツイン環境の構築に成功しました!このデモでは、インフラ協調型で制御されたロボットがトラブル地点に移動する様子を再現しました。

デジタルツイン環境の構築には、箱庭ブリッジおよびUnity側の箱庭フレームワークを活用していただきました。デジタル空間と現実空間のイベントがほぼリアルタイムに反応する体験は非常に驚きで、技術の進化を実感する瞬間でした。また、HololensのMRデバイスを通してバーチャル空間のオブジェクトをリアルに体験できることにも感動しました。これからさらなる改良が加えられ、市場に向けた活動が進められることが期待されています。

(コモングラウンド委員会のデモの様子)

箱庭ブリッジと箱庭コア機能の関係

ここで、箱庭コア機能と箱庭ブリッジの関係について少し整理したいと思います。

箱庭コア機能は仮想側(Virtual Side)に配置され、現実空間との接続は「Shared Memory Proxy」という箱庭アセットが担っています。この設計は、「複雑な機能は箱庭コアの上に乗るアプリケーション(箱庭アセット)が作り出すべきである」というシンプルな思想に基づいています。「Simple is Beautiful!」という信念が、この設計の中心にあります。

ドローンWG

最後は、ドローンWGでの箱庭活用についてご紹介です。

ドローンWGでは、「移動するIoT」をテーマにドローンを使った小口輸送の研究を実施されており、産業用ドローン市場を立ち上げることを主軸に置いた活動を推進されておられます。現在のドローン市場はホビー用が多くを占め、産業用途において求められる「安全な飛行」を実現することが難しいといった課題があります。そこで、自律的なエッジ機能を実現させ、衝突回避、墜落防止、無線が切断された際の回避行動などの安全な標準プラットフォームが検討されています。さらに、ドローンWGでは、箱庭シミュレーション技術を利用して、ドローンの機体を再現できる箱庭ドローンシミュレータをTOPPERS/箱庭WGと連携して開発を行い、利用するユースケースの検討をされています。

ドローンWGとのつながり

実は、JASAドローンWG主査の牧野さんとは、14年前に一緒に仕事をさせていただいたことがありました。当時、Androidが広がりを見せ始めた頃に、Linuxカーネル技術者を牧野さんが探されており、色々なご縁が繋がり、プロジェクトに参加する運びとなりました。このプロジェクトでは、USBやファイルシステム周りの開発に携わり、数ヶ月という限られた期間でしたが、大きなプレッシャーの中で、数々のバグ調査や、技術的な課題に挑戦していました。このプロジェクトを通じて培った技術力や信頼関係は、現在のドローンWGでの連携にもつながっています。

箱庭ラボが立ち上がる1ヶ月前である2023年7月に、14年の時を経て、その牧野さんが福井に来訪されました。内容は、「箱庭でドローンシミュレータを作りませんか」、というものでした。

その時にディスカッションで出来上がったアーキテクチャがこれです。

ポイントは、「制御モデル」、「物理モデル」、「ビジュアライズ」を3つの独立した機能と捉え、箱庭がそれらを統合するというものです。通常のドローンシミュレータは、物理モデルとビジュアライズ機能は一体化していますが、それらを分離するというのはすごくハードルが高いと正直思い、足が竦みました。さらに、制御モデルや物理モデルは、MATLAB/Simulinkでコード生成したものを使いたい、さらにはPX4とも連携したいという要求も追い討ちをかけました…。

ですが、2023年10月から開発を開始し、3ヶ月でPX4連携可能なシミュレータの1stリリースをし、さらにその3ヶ月後にはversion2.0.0をリリースして、MATLAB/Simulink連携も出来上がりました。そして、今では、その勢いは止まらず、QUEST3で目の前にいるドローンを操作しながらリアルなドローン操縦体験もできるようになり、箱庭ブリッジを組み合わせて、リアル空間にいるTurtleBot3ともROS2で相互運用できるまでに至っています。

なお、このスピードで開発ができたのは、箱庭オープンソース活動の中でご協力いただいた方々のおかげで、箱庭ラボ単独では実現が難しかったと思います。

デモ内容

そんな箱庭ドローンシミュレーターですが、今回のデモ展示では、自分も説明員として部分参加させていただき、2台体制で、来場者の方々に箱庭ドローンのAR体験を行っていただきました。

(箱庭ARドローン体験のデモの様子)

デモでは、QUEST3を装着していただき、目の前にドローンが現れると「おぉ!」と驚きの声が上がります。前回のブログでもご紹介しましたが、AR空間での箱庭ドローン体験は、大人も子供も驚きと面白さが混在した新しいデジタルツインの形を見せていると感じています。これからの進展が楽しみです。

ちなみに、左側でQUEST3のセットアップをされておられる方が牧野さんです。そして、中央のPCでセットアップ作業されておられる方は、ロボットストリートで一緒にお手伝いをしてくださったDIT岡田さんです!

最後に

こちらが最新の箱庭ドローンシミュレータおよび関連する箱庭アセットのアーキテクチャになります。

箱庭コア機能を基盤として、箱庭ドローンシミュレータの単体機能を超えたさまざまな機能拡張が実現されています。詳細については割愛いたしますが、これほどの拡張を可能にしたのは、箱庭コア機能のシンプルな設計に他なりません。

そして、このアーキテクチャは、大阪万博向けにより完成度を高めていく予定です。今後とも箱庭の進展にご期待ください!


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP