ROSCon JP 2024に参加してきた
どうもこんにちは、
2024.9.25 ROSCon JP 2024に参加してきました。
最新のROSオープンソース開発の現状やROSに関する様々なTipsが知れてとても楽しかったです。
ROS2に関してはまだまだ知らないことが多いと実感し、早くROS1→ROS2に移行しないといけないなぁと強く思いました。
とりあえず、忘れないうちに気になったキーワードをメモしておき、あとでしっかりと深堀りして知識を深めていこうと思います。
※あくまで個人的なメモのため、間違った情報・理解がある可能性があるかもしれません。ご了承ください。
以下、気になったキーワードや感想。
目次
ROS開発組織について
恥ずかしながら、そもそもROSがどういう組織で開発されているかも知らなかったです。。。今後、積極的にROSのコミュニティに関わっていくには、抑えるべきことなので整理します。
open robotics
open roboticsは、ロボットのオープンソースを開発しているNPO。ROSもここで開発されています。
OSRFと呼ばれたりするみたいで、調べると、OSRFは、Open Source Robotics Foundation(オープンソース・ロボティクス財団)の略。
2017年5月に名称がOSRFからopen robotics(オープンロボティクス)に変更されたみたいです。まあどっちも同じ組織を指していると思います。
OSRA
次に、OSRAという組織が最近作られたという話がありました。
OSRAは、Open Source Robotics Allianceの略。
ROSを運営しているOpen-roboticsが設立したガバナンス委員会のこと。
OSRAの活動の中心は、TGC(技術ガバナンス委員会)。この委員会は、PMC(※プロジェクト管理委員会)の活動を監督します。
※プロジェクト管理委員会(PMC)・・・ROS, Gazebo, Open-RMF
ここに参画すると、OSRFが運営しているオープンソースプロジェクトの活動を監視できたり、活動の方向性に対し意見したりできるようです。
組織図は以下のサイトが参考になりそう:
The Open Source Robotics Alliance
オープンソースを持続可能にするために
Open Source AdvocateのVicky Brasseurさんの講演では、現状オープンソースを利用する企業などはどんどん増えていく一方で、オープンソースのバグを直したりするメンテナーがかなり不足しており、かなり危機的状況であるという説明がありました。
自分はオープンソースを利用させてもらってるばかりで何も還元できていないなぁと思いました。。とりあえず自分ができることからやっていこうと思い、まずはROSに関して得た知識やノウハウは、ブログ記事で公開したり、なにか便利そうなソフトウェアを作ったら積極的にオープンにしてROSのエコシステムに貢献していけるように頑張ろうと思いました。
あとは、オープンソースを使ってる企業側の視点から、どこで差別化をするかという重要な課題についても質疑がありました。少ない質疑の議論では、明確な答えにたどり着かなかったですが、ここは企業としてオープンソースを活用する上でとても重要な課題だと私も思いました。
私も答えはわかりませんが、自社で作り上げたシステムにおいて、どんなオープンソースが使われているのか?まずはちゃんと理解することが大切だと理解しました。その上で、どこで差別化するのか、もしくはどこをオリジナルとして構築し自社の強みにするか?そのようにちゃんとオープンソースを使っていることを理解した上で、戦略を立てることが必要だと思いました。
Open-RMF
Open-RMFとは、異なるベンダーのフリート(ロボットの集まり)であっても、統一されたインターフェイスで管理できることを目標として開発されているプロジェクトです。Open-roboticsが開発しています。
Open-RMFについては、今回始めて知りましたが、
将来的に複数ロボットや別のシステムと連動させるときに使ってみたいと思いました。
とりあえず、ROS1で作ったロボットをROS2に移行して、複数ロボット管理は早めに取り組んでみたいです。その時に、Open-RMFは深堀りして勉強しようと思います。
長い間、ROS1で1台のロボットの自律システムを作っている間に、世では複数システム管理のオープンソースがどんどん発達していたのですね。
Open-RMFリンク:
Open-RMF
Zenoh
Zenoh(ゼノー)は、Zero network overhead protocolの略。
ネットワーク内ではDDSライク、ネットワーク間ではMQTTライクな通信方式
※発表資料「ROS2のZenoh対応とZenohのROS2対応」より引用
Zenoh(ゼノー)については、関わっているプロジェクトで少し話は聞いたことがあり、今回の講演で一番興味があったテーマでした。
ROS2の通信方式は、DDS(Data Distribution Service)という方式が採用されており、Pub/Sub通信の送信元、送信先の発見は、分散化されROS1のRosMasterは不要になり障害に強いメリットがあるという理解です。
そこから更に新たな通信方式 ZenohをROS2で使う方法が紹介されていました。
まとめると、ROS2/DDS通信をZenohを使ってブリッジして通信させるZenohのROS2対応と、ROS2の通信レイヤにZenoh方式を取り込んだROS2のZehon対応という方向で開発が進んでいるようです。
rmw_zenohでは、DDSと同じ通信レイヤにZenohが追加され、ミドルウェアのRMW(ROS Middle Ware)にて、Zenohを選択できるようになるみたいです。
どちらも概要レベルでしか理解していないため、ROS2の環境を構築して手を動かしてZenohを試してみようと思います。
詳細についてはおいおい勉強していきます。
発表資料リンク:
ROS 2のZenoh対応とZenohのROS 2対応
MCAP
ROS1でrosbagで保存していたログデータですが、ROS2 Iron IrwinからMCAPというフォーマットが採用されたようです。
これまた勉強不足で初めて聞いたフォーマットですが、以下の様なメリットがあるようです。
・書き込みのスループットが高い
・任意のタイミングへのシークが高速
・破損データの修復が容易
・スキーマ定義が埋め込まれているため、パッケージ依存が少ない
・様々なプログラミング言語でMCAPファイルを読み書きできる。
-> C++, Go, Python, Rust, Swift, TypeScript
※発表資料「ロボットソフトウェア開発におけるMCAP活用」より引用
こちらは、すぐにでも使えそうな事例でしたので、早速開発でMCAPを使っていこうと思います。
発表資料リンク:
ロボットソフトウェア開発における MCAP活用
ROS2最新の情報
ROS プロジェクトリーダー Chris Lalancetteさんの基調講演では、最新ROSディストリビューションJazzy Jaliscoの新機能、次のディストリビューション Kilted Kaijuについての情報について話がありました。
まだ発表資料を入手できなかったので、完全に覚えている内容のメモになります。
rmw_zenoh
次のKilted Kaijuでrmw_zenohが完全に組み込まれる予定とのこと。個人的にはその前にrmw_zenohについての理解を深めておきたいところです。
Gazeboの統合
Jazzy Jaliscoでは、簡単にGazeboと統合できるようになったようです。ROSのリリースに応じた最適なGazeboを使うのが推奨されているようで、Jazzyの場合は、Gazebo Harmonicが推奨。apt-getコマンドで簡単にインストールして使えるように改善されたとのこと。
実はGazeboをあまり使ったことがないので、このあたりは実際に使ってみて詳細を理解しようと思います。
Rviz2
Jazzy JaliscoでRviz2も改善されたとのこと。TFのフィルターが改善されたり、point_cloudの表示など。
他にも、まだ開発に着手していないが、将来的に改善したいものなどの話がありました。
発表資料が公開されたらまた見直そうと思います。
Autoware
Autowareは、自動運転のオープソースソフトウェアのこと。
・AutowareはLinuxとROS2をベースとした世界初の自動運転OSS
・グローバル規模の業界団体The Autoware Foundationが開発主導
発表資料「自動運転AIチャレンジの紹介とマルチコンテナ開発・運用の知見公開」より引用
また、発表ではコンテナ開発・運用のためのノウハウが共有されました。
ちょうどdockerを勉強したばかりで開発環境をコンテナを使って効率化していきたいと思っていたので、なにか参考にできることがありそうです。
発表資料リンク:
自動運転AIチャレンジの紹介とマルチコンテナ開発・運用の知見公開
箱庭ブリッジ
仮想空間と現実世界をつなぐためのシステム。
例えば、バーチャル空間で動いているドローンと現実世界で動いているロボットを融合し、QUEST3を使ってバーチャルとリアルの融合世界を見るような感じ。
こちらも通信はZenohを使っているとのこと。
とても興味深い内容でした。
今開発している自律巡回ロボットでも、他のシステムや現場環境をバーチャルで構築し、箱庭ブリッジを使ってリアルなロボットと融合し検証できるようになれば、色々面白いことができそうです。
今後、簡単に利用するためのパッケージ化も検討されているとのことで、しっかりとウォッチしていこうと思います。
発表資料リンク:
ドローン/PX4をデジタルツインへと導く箱庭技術
最後に
記事に書ききれなかったものとして、「Chorenoid」、「Isaac Sim」、「ros2_control」などももっと深堀りしたいなと思いました。※特にros2_controlあたりは、とても興味があるので深堀りして勉強しようと思います。
最後にせっかく東京に行ったので、神田神社に行って参拝してきました!
さて、ROSCon JPで良い刺激をいただいたので、ロボット開発頑張っていきます!
まずは早急にROS1→ROS2への移行を進めていきます。
それでは!!
スポンサーリンク