私達のビジョン
私達は、ロボットが活躍する21世紀を夢見ています。 しかし、そのような世界は実現出来ていません。ハードウェアが高価でありながら、低機能だから?人々が思い描くロボットの理想像が高いから?様々な原因が考えられます。 一番の問題は、優れたエンジニアの不足と、それを支えるインフラ整備が不十分だからであると私達は考える。 数少ない貴重なエンジニアの時間を今よりもより集中してクリエイティビティに使えるようにしたい。 その問に対する問題に対して、先進IT技術をロボット開発者コミュニティに役立てることで解決できるという仮説を持っている。 先進IT技術で、ロボット開発の歩みを一歩前へ進めることが私達の目標です。
RDBOX (A Robotics Developers Box)
私達は元々、エンタープライズ向け分散型システム開発を専門的に扱っていました。 ROSには、Indigoの頃(2014年)初挑戦しました。ROSのシステムは、ロボットとは縁遠い私達にも扱いやすいもので、そのビジョンに感銘を受けました。 一方で、組織内既設ネットワークでROSロボットを扱うにあたり、不便を感じることも多くありましした。
- ロボットを扱う上で最も重要な項目の一つである、NTPが組織専用のものを使わなければならない。(ロボット台数や、コンピュータ台数が増えるとその設定が億劫に)
- 同一セグメント内の他のネットワーク機器から、ROSの通信が丸見えであるし、攻撃にも弱い。
- 認証付きプロキシ環境内でのLinuxPCの取り回しが不便過ぎる。
- ホスト名での通信が普通のネットワークルータではできない。(組織内DNSにロボットのホスト名を登録することは許されていない。また、/etc/hostsに書き込むのも大変骨が折れる作業)
- 移動ロボットを扱う上で、Wi-Fiのカバーエリアが、行動範囲上のボトルネックとなる。
- ネットワークルータが通信機能しか担わないのは、100V電源が取れる環境でありながら活かしきれていない。
- ROSというミドルウェアを何度も繰り返しセットアップする必要がある。
- 分散型コンピューティングを指向するROSであるが、roslaunchなどの実行の枠組みが、複数のコンピュータリソースを効率よく使うための仕組みにはなっていない。
- クラウドの世界では当たり前な、オンデマンドでのコンピュータリソース利用が出来ない。
これら解決することは、私達が元々取り組んでいた、エンタープライズ向け分散型システム開発の知見を活かせば容易でした。 しかし、誰しもがこれらの知識を持ち合わせているわけではありません。また、その構築は非常に手間が掛るものです。 段々と、不自由なネットワークやコンピュータリソースはエンジニアの時間を奪っていることが分かってきました。 そのことに気がついた私達は、専門家不在であっても、我々と同じように、「ネットワーク・セキュリティ・コンピュータリソース」に関する数多くの問題を技術で解決するための手段を提供したいと考えるようになりました。 コンテナ技術を中心に据えたプロトタイプモデルを作成し、2017/5にrosjp10 itとrt(ネットワーク技術と時々、仮想化) という発表を行いました。ロボットエンジニア達からの評判は上々で、色々な方の協力を得ながらブラッシュアップを重ねてきました。 そして、その実装として、2019/3に「RDBOX(アールディーボックス・A Robotics Developers Box)」をOSSとして公開しました。 このOSSを使うと、簡単ないくつかの設定と、スクリプトの実行によって上記のほとんどの問題を解決できます。
RDBOXが提供する3つの機能
-
クラウドコンピューティングリソース用の自動構築スクリプト
- VirtualBoxで動作するオンプレミスバージョンもあります。より、詳細な情報は我々の GitHubを参照ください。
-
エッジ(ロボットが行動する場所)でのネットワークとKubernetesの機能を提供するオリジナルのRaspberry Pi SDイメージ。
- HypriotOSをベースにした、DebianベースLinuxディストリビューションです。
- 自律的でセキュアなメッシュWi-Fiネットワークを、簡単に構築できます。
-
様々なSBC(Single Board Computer)を混在させて使い分けることが出来ます。
- Raspberry Pi 3B+
- Rock64(In planning)
- Jetson nano(In planning)
- 活用のためのノウハウ(チュートリアル形式)
ROS2とこれから
ROS2では、DDSや複数台ロボットのサポートなど多くの新機軸が導入されます。 そういった場合でも、「ネットワーク・セキュリティ・コンピュータリソース」という低レイヤーが抱える複雑な問題は、残り続けます。 RDBOXを使うことで、ROS2においても、エンジニアの役に立つツールであり続けると確信しています。