【関連記事#3】ROSCon JP 2024でのSpace ROSに関する発表をしてきました！

# はじめに
今回は、ROSCon JP 2024で、宇宙機・宇宙ロボット向けのROSであるSpace ROSに関する発表をしてきましたので、その内容をQiita記事の方でまとめていきます。

本記事は、Space ROS Advent Calendar 2024の１つです。Space ROS Advent Calendar 2024の概要については、下記の記事をご参照ください。
- [Space ROS Advent Calendar 2024について]( https://qiita.com/YukiIkeda_robot/items/876fbfe976ab71c9a53e)

また、ROSCon JP 2024での発表資料と発表動画が公開されております。こちらもご確認いただけると嬉しいです。
- [ROSCon JP 2024 発表資料](https://roscon.jp/presentations/05.pdf)
- [ROSCon JP 2024 発表動画](https://vimeo.com/showcase/11452054/video/1029114512)

https://vimeo.com/showcase/11452054/video/1029114512

# ROSCon JP 2024での発表
ROSCon JPでは「**JAXAにおける宇宙機開発へのROS活用とSpace ROS開発**」というタイトルで発表させてもらいました。

発表内容は(タイトルのままですが)、JAXAでROSを活用している宇宙ロボットの開発事例を紹介と、JAXAで開発している宇宙でROSを使うためのSpace ROSについての紹介になります。

![スライド1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/9de5ecc4-a290-8fa4-0457-c598eaa71448.jpeg)

まずは、自己紹介です！！

わたくし池田は、JAXA(宇宙航空研究開発機構)の研究開発部門 第一研究ユニットに所属しており、ひろく宇宙ロボットに関する研究に取り組んでいます。

また、併任でCRD2(商業デブリ除去実証) フェーズIIのチームにも所属しています。こちらはデブリを捕獲するためのロボット機構について研究しています。

経歴としてましては、学生時代は知能ロボティクス(特に生活支援ロボット)の研究開発を行っていました。この知能ロボティクスが地上だけではなく宇宙にも活かせないかと思い、JAXAへ就職しました。宇宙ロボットの開発は、JAXAに入社してからになります。

特に名前を隠すこともなく、本名でX(旧Twitter)等をやっているので、良かったらフォローよろしくお願いします。
- [Xアカウント](https://x.com/YukiIkeda0810)

![スライド2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/8812fbbf-1df9-c363-e4e8-be16d7268ddc.jpeg)

知らない方もいらっしゃると思うので、一応JAXAの紹介もさせていただきました。

JAXA(宇宙航空研究開発機構)は、ロケットや衛星の研究開発をはじめとした、宇宙と航空の先導的な技術開発を行っている日本の研究機関になります。そこで得られた成果を人類社会に展開していくということを目指しています。

日本の基幹ロケットであるH-IIAロケットやH3ロケット、小惑星探査機のはやぶさ、ISS(国際宇宙ステーション)のきぼう 日本実験棟などが有名なのではないしょうか。

そんなJAXAで開発しているROSロボットについてお話していきます。

![スライド3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/eb9872c8-4146-ab3e-8f73-edd2d76d6152.jpeg)

本記事では、ROSCon JP 2024の講演に沿って、JAXAの宇宙開発におけるROSの活用事例を紹介した後に、宇宙機・宇宙ロボット向けのROSであるSpace ROSや、Space ROSに関するJAXAでの取り組みについてお話していきます。

また、ROSを使っている皆様は、地上ロボットを開発されている方々が多く、中には宇宙に興味がないと言う方もいるかしれません。ただ、Space ROSの取り組みは、地上でも宇宙機並みに信頼性と安全性を担保したシステムに応用できるのではないかと考えていますので、それを前提に記事を読んでもらえればと思います。

![スライド4.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/ba84ab9b-3a04-b1b1-74a3-a9f846b1bab4.jpeg)

まずは、前置きとして、宇宙環境とそこでのソフトウェアについてお話していきます。

前提ですが、過酷な宇宙環境の特徴には、真空であることと、強力な放射線が降り注いでいることがあります。真空であり、空気が無いと、熱の対流が起こりません。これにより、地上よりも、すごく寒かったり、すごく熱かったりといった、温度変化が大きくなっていきます。

また、宇宙では高エネルギーの放射線が降り注いでいます。これにより、電子機器はビット反転や短絡故障を引き起こすことがあります。宇宙機は、このような環境に耐えるハードウェアが必要になってくるのです。特に放射線は、万能な解決策は存在せず、それぞれの電子部品に適した対策を行う必要があります。

対して、宇宙機におけるソフトウェアは、このような過酷な宇宙環境でハードウェアが確実に動作する、高い信頼性と安全性が求められます。この信頼性と安全性には、耐障害性や安全機能(緊急検知やアプリケーション監視)、リアルタイム性などが含まれます。ただし、これらの要件は、自動車や航空機、産業用ロボット、災害救助ロボット、医療ロボット、サービスロボットなど、特に人の命に係わるシステムにおいて、地上の技術にも求められるものかと思います。

このように、ハードウェアと異なり、宇宙機のソフトウェアは、本質的には地上ロボットと同じ課題を抱えています。そのため、宇宙機でROSを活用する取り組みは、地上でも宇宙機並みの信頼性と安全性が求められる要求に応えられるのではないかと考えています。

これを前提に記事を読んでもらえればと思います。

![スライド5.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/bdd76bcb-1f39-71c9-07bd-171967d136ec.jpeg)

その上で、現在取り組まれている宇宙開発や宇宙でのROS活用における背景についてお話します。

JAXAでは、今後の宇宙開発として、月惑星探査(持続可能な月面活動、火星の有人探査など)や、軌道上サービス(スペースデブリ(宇宙ゴミ)の捕獲・除去、人工衛星の保守・修理、宇宙構造物の建設など)の実現に向けた取り組みを行っています。

このような大規模ミッションにでは、自動化・自律化を目的としたロボット技術の活用が重要になってきます。また、宇宙開発が国の事業から商業へと広がる中、より一層の開発の効率化と実行力の向上が求められるようになってきています。

![スライド6.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/0832d2b8-6410-760b-792e-f7f18bbc6a19.jpeg)

しかし、現在の宇宙開発は、過酷な宇宙環境下で確実にミッションを成功させるために、高い信頼性と安全性が求められ、各ミッションに対してはオーダーメイドでの組み込み開発が主流となっています。

そのため、先程お話したようなミッションの大規模化に伴って、システムの複雑化進み、開発にはより一層の膨大な期間とコストがかかってしまいます。これに対して、既存技術の汎用化・抽象化を行い、それを基盤として、新しい技術を積み重ねていくことが有効だと考えています。

この考え方は、知能ロボティクスをバックグラウンドに持つ私が、JAXAに来て感じたギャップになっています。宇宙業界は、基本的にパーツや部品から全てオーダメイドで、組み込んで開発するというのが主流です。ソフトに関しても同じで、フレームワークや使い回しなどが基本的には無いようです。そのため、私が行ってきた地上のロボット開発(知能ロボティクス)とギャップがあり、驚きました。

こういった開発の効率化が技術発展にも欠かせないと思っています。この点において，ロボット開発で使われているROSは優れており、なんとかROSを宇宙機・宇宙ロボットに取り込むことができないかと考えているわけです。

![スライド7.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/174fef6c-fef8-f49c-d5f5-950a14b55b8b.jpeg)

これに対して、JAXAでは、宇宙の中でも比較的地上の環境に近いISS(国際宇宙ステーション)にて、ROSを活用しています。

ここでは、ISS船内に滞在する宇宙飛行士の作業の自動化・自律化を目的としたIVR(船内ロボット)の開発をしています。

宇宙でROSが使えてるじゃん！とおもうかもしれませんが、実はISS自体は、人が居住できる環境であり、冒頭で述べた真空や放射線といった宇宙特有の環境問題が少ないです。そのため、Space ROSで想定する宇宙環境と少し異なります。

基本的に宇宙に人はいませんが、ISSは宇宙の中でも宇宙飛行士によるサポートが受けられる環境なので、ロボットを含む最新技術の実証の場として、非常に優れています。ISSの外のような宇宙環境では、人によるサポート無しでかんがえなといけないので、人がいるというのはありがたいですね。特にロボット開発は人のサポートがないと、ハードルが一気に上がる気がします。

ただ、人が居住しているISSですから、その分高い安全要求を満たす必要があります。ISSの外の宇宙環境では考えなくて良いことまで、考えなければいけないというのは、注意が必要です。

あと、無重力(微小重力)下での動作も考慮する必要がありますね。

![スライド8.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/c11e9518-ee73-20c1-b42c-7da8d837b3fd.jpeg)

ISS船内におけるロボットとしては、Free Flyer(自由自在に飛ぶロボット)である、Int-Ball2というロボットを開発しています。

Int-Ball2は、撮影機器のセットアップの自律化や、宇宙ロボットの技術実証プラットフォームを目指して開発されたロボットになっています。

このロボット、プロペラを用いて位置と姿勢を制御する船内ドローンであり、Visual SLAMを用いて自己位置を推定し、自律的な移動とドッキングステーションへのドッキング等を行うことができます。

ちなみに「2」という数字は2号機のことを指しています。1号機はROSでは動いていないので、紹介は割愛します。

2号機は、宇宙ロボットの技術実証プラットフォームとして、JAXA内外の幅広いユーザ使ってもらえるように、ロボットで良く用いられているROSを導入しています。

このように、地上のフレームワークを用いて、宇宙ロボットのソフトウェアを書くというのは、冒頭で少し述べましたが、宇宙業界では画期的なものになります。

地上のリソースをどんどん活用するといった流れを作っていきたいですね。

![スライド9.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/8af993b4-ebb2-d48a-2f9f-a4924873799d.jpeg)

こちらのスライドで、ROSCon JP 2024でお見せした動画は、Int-Ball2が実際にISS船内で動いている様子になります。ここでは動画が流せないので、代わりにJAXAのデジタルアーカイブスのリンクを貼っておきます。

- [Int-Ball2のチェックアウト作業を行う古川宇宙飛行士](https://jda.jaxa.jp/result.php?lang=j&id=a3a695442fafe302971b381f3914217c#)

ゆっくりですが、古川宇宙飛行士の周りを浮遊しながら移動している様子が見えると思います。

無重力空間(微小重力)の物体はふわふわと浮いていることが多いのですが、Int-Ball2はビタっと位置と姿勢を固定できるので、とても面白い映像になっています。

ふわふわせず、ビタっと止まっているので、宇宙空間の動きとしては不自然な感じがしますね。

![スライド10.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/be96d139-ba64-a5e5-2954-f5231ff7f4c6.jpeg)

このようなFree Flyer型のロボットは、地上では動作しないので、そのための試験設備やシミュレータ環境というものを用意しています。

JAXAでは、スライド右下の画像のような空気浮上装置を用いた2次元平面上での試験や、右上の画像のようなマニピュレータを用いた3次元空間でのHILS試験、また左下のようなGazeboシミュレータを用いた3次元空間での試験等を行っています。

こちらのGazeboシミュレータはJAXAのGit Hub上での公開を検討しているので、ぜひチェックしてみてください。

- [JAXA GitHub](https://github.com/jaxa)

![スライド11.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/22af77ab-cc6a-1a9a-b6c7-ec77b4d0be11.jpeg)

また、他にもISS船内におけるMobile Manipulator(マニピュレータを搭載した移動ロボット)である、PORTRSというロボットを開発しています。

これは、ISSや将来の月周回有人拠点であるGatewayに届けられた荷物運搬やそこでの作業等の自律化を目指して開発されたロボットになっています。

スライド左側にある動画では、PORTRSに搭載の複数のマニピュレータを駆使して、船内での移動や作業を行う様子をになります。ここでは動画が流せないので、代わりに筑波宇宙センターの特別公開で展示していたときの動画(Xの投稿)を貼っておきます。

https://x.com/YukiIkeda0810/status/1723192386153861305

マニピュレータの先端にはツールチェンジャが搭載されており、用途に合わせたエンドエフェクタに変えることができます。また、このロボットは右側の図のように、ロボットの自重のみをクレーンで吊り上げることで、ISS船内の無重力(微小重力)での動作を再現しています。面白いですよね。

この複数のマニピュレータでの複雑な作業に対して、ROS パッケージであるMoveItを活用して、マニピュレーションの開発等を行ったりしています。

![スライド12.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/d1ad8164-b9da-202d-297a-a334f934f306.jpeg)

そして、こちらのスライドでは、PORTRSがISS船内の壁面のインターフェースを伝いながら移動する動画を公開しています。こちらもここでは動画を流せないので、代わりのものを添付したいところですが、他に公開されているところがなかったので、ROSCon JP 2024の発表動画からご確認ください(11分あたり)。

- [ROSCon JP 2024 発表動画](https://vimeo.com/showcase/11452054/video/1029114512)

![スライド13.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/c4a75dc1-4818-b548-0d43-d3089af031b4.jpeg)

他にも、ISS船内以外では、軌道上サービスの技術実証プラットフォームであるSATDynという試験設備で、ROSを活用しています。

冒頭でお話したような、過酷な宇宙環境でのミッションの確実な成功のためには、地上で特殊な宇宙環境をどれだけ再現して試験検証できるかが重要になってきます。特に、スペースデブリの除去をはじめとする軌道上サービスは、高難度で世界でも確立した地上試験技術が存在していません。そこで、JAXAでは、その実現に向けた地上での試験設備として、このSATDynを開発しています。

SATDynは、宇宙機やデブリのダイナミクスをリアルタイムにシミュレーションし、その位置・姿勢をマニピュレータとガントリによって再現することで、軌道上サービスの統合試験(HILS試験)・検証を行う試験設備になっています。マニピュレータの先端を付け替えることで、様々な試験を行うことが出来ます。

ROSの可視化ツールであるRVizやロギング機能であるrosbagなどによりデバッグが容易であることや、各機能のモジュール化により新規機能の開発や削除がしやすいこと等を活かして、短い期間での開発に成功しています。

![スライド14.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/58572910-7d8e-deef-be52-6fe3e88764e2.jpeg)

こちらのスライドで流した動画は、SATDynを用いた試験動画になります。ここでは動画が流せないので、代わりにJAXAのデジタルアーカイブスのリンクを貼っておきます。

- [軌道上サービス技術実証プラットフォーム（SATDyn）](https://jda.jaxa.jp/result.php?lang=j&id=588a1f994697b0587024f4e32dedae66)

動画の左側がスペースデブリを捕獲するための捕獲機構で、右側が除去対象のスペースデブリの一部になります。このデブリは、デブリの中でも大きいもので、大きさは大型バスくらいのものになっています。これが弾丸より早いスピードで地球を回ってるだなんて怖いですね。

捕獲機構とデブリのどちらにもマニピュレータが付いており、相対的な位置と姿勢を再現することができます。そして、動画のようにデブリに接近していき、PAFと呼ばれる場所に捕獲機構を入れ、伸展させることで、デブリの捕獲動作を再現しています。

![スライド15.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/10b7419d-9421-aa05-7728-7b6ccc65fe95.jpeg)

そして、先程の動画のようなSATDynの試験は、実際にJAXAでのミッションに活用されています。

その1つが、デブリの捕獲と除去を目指す商業デブリ除去実証(CRD2)というミッションになります。何年も放置され、その状態も、どのような運動をしているかも未知な宇宙ゴミの捕獲と除去を行う難しいミッションになっています。

Phase IとPhase IIの2段階に分けて進めており、今年2月に打ち上がったPhase Iでは世界で初めて、未知であったスペースデブリへのランデブ接近や、その周りをまわる周回観測に成功しています。

せっかくなので、デブリに接近し、その周りをぐるっと回った際の動画も共有しておきます。

- [CRD2 Phase I スペースデブリの周回観測](https://youtube.com/shorts/XdwyxPqy6OI?si=0Xwj1RdxdzX1tzOq)

![スライド16.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/14b3abac-71c7-dd9d-d22f-581f96340231.jpeg)

これまでお話してきたように、ROSのメリットを宇宙開発に活かすことで、開発期間やコストの大幅な削減に成功しました。

しかし、宇宙ロボットでのROSの採用事例は、宇宙飛行士が居住し、サポートが受けられるISS船内のみになっています。スライド右側の図のような過酷な宇宙環境でのミッションでROSを用いるには、高い信頼性と安全性が求められますが、ROSはこれらの考慮が不足している部分があり、直接使うのは困難です。

特に、ROSはロボットの制御やマニピュレーション、自律移動等に特化したアプリケーションは充実していますが、信頼性と安全性に関するロボットの健康状態(通信や電力等)を維持・管理するような機能は、別途開発が必要になります。

そこで，このような背景に対して、宇宙機・宇宙ロボット向けのROSであるSpace ROSの開発が進んでいます。

![スライド17.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/928f30be-a7ad-1e14-3e75-cc45545a8ae0.jpeg)

Space ROSは、地上ロボット向けに開発されたROSを宇宙機・宇宙ロボット向けに応用したオープンソースのプラットフォームです。

現在は、ROSの母体であるOpen Robotics、アメリカの宇宙機関であるNASA、ROSのMoveIt等を開発したPickNik社が開発を主導しています。

先程お話したような、ROSを宇宙環境に導入する際の課題に対して、高い信頼性と安全性を実現する航空宇宙の規格に準拠したプラットフォームを構築することで、宇宙機・宇宙ロボットでのROSリソースや、ROSと同様の柔軟性と拡張性を活かしたソリューションをOSS として提供することを目指しています。

![スライド18.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/a7f821bd-2339-48e7-5635-636339a8dacc.jpeg)

このSpace ROSは、ROS 2をベースに、宇宙ミッションに必要なリアルタイム機能や信頼性の強化を目指しています。

ここで、Space ROSとROS 2の違いについて少しお話したいと思います。Space ROS とROS 2 の違いは大きく分けて4点あります。

1点目が、ビルド方法とインフラになります。ROS 2 と異なるSpace ROS 独自のWeb サイトやドキュメントサイト、GitHub、Docker イメージ、CI/CD ツールであるEarthly などを通じて、情報提供とビルドをサポートしています。

2点目が、コード解析ツールになります、NASA が開発した静的解析ツール(Cobra、IKOS)などをSpace ROS に統合し、コード品質の向上と認証支援を進めています。

3点目が、要件ツールとプロセスになります。要件管理ツールのDoorstopとNASAが開発した要件抽出ツールのFRETを使用することで、要件の管理やトレーサビリティ、形式化をサポートしています。これにより、航空宇宙の規格を満たす品質管理を目指しています。

4 点目は、宇宙特有の機能になります。宇宙機で使用されるC++メモリアロケータやETSというものの提供を目指しています。また、宇宙で使用されているRTOS(Real Time Operating System)であるRTEMSとの互換性のサポートや、ROS 2とNASAのオープンソースのフライトソフトウェアであるcFSを接続機能等のサポートを目指しています。これ以外にも、わかりやすいところでいうと、宇宙用のマニピュレーションやナビゲーション機能等も考えられると思います。現時点では、Mars RoverやCanadarmのGazeboシミュレータを含むデモアプリケーションも提供しています。

Space ROSとROS 2の違いについては、下記の記事で詳細にまとめているので、こちらも合わせてご覧ください。

- [【概要#3】Space ROSとROS 2の違い](https://qiita.com/YukiIkeda_robot/items/227380feca2e8c7e886d)

![スライド19.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/24933ba0-593d-b1e1-8845-3924401b7c48.jpeg)

ただ、現在のSpace ROSは、スライド下の画像のようなMars RoverやCanadarmのGazeboシミュレータなどが利用可能になっているものの、未だ開発段階であり、実際の宇宙機・宇宙ロボットで使用できるソフトウェアは存在していません。

この際、宇宙機向けの機能もそうですが、実際の宇宙機・宇宙ロボットで動作することを考えると、冒頭でも述べた、本質的には地上でも考えられる課題である、信頼性と安全性の高いミドルウェアを提供できるかが焦点になってきます。

![スライド20.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/59827c32-aa6b-3dc3-0175-0d12c25cc7dc.jpeg)

このような背景に対して、JAXAでは、Space ROSが登場する以前から、高い信頼性と安全性を持たせて、宇宙機でROSを動作させる方法の検討を行ってきました。

これを実現するために、NASAが開発したオープンソースのフライトソフトウェアであるcFS(core Flight System)とROSを接続するRACSというソフトウェアを開発しています。

これについては，2018年のROSCon JPで発表しています。下記にROSCon JP 2018の資料と動画を添付しますので、こちらも合わせてご確認ください。

- [ROSCon JP 2024 発表資料](https://roscon.jp/2018/presentations/ROSCon_JP_2018_presentation_6.pdf)
- [ROSCon JP 2024 発表動画](https://vimeo.com/292065046)

このcFSは、宇宙機の制御技術や通信技術、運用技術等を汎用化・抽象化したアプリケーションで構成されており、用途に応じた機能の追加や再利用が容易になっています。特に、宇宙機の健康状態の維持管理といった基本機能に特化しています。NASAの様々なミッションへの搭載実績もあり、高い信頼性と安全性を持っているのが特徴です。

このcFSとROSをRACSによって接続し、双方向の通信を実現することで、高い信頼性と安全性を確保しつつ、ROSの豊富なライブラリ、ツール、パッケージ、世界規模のエコシステムを活用したソフトウェアプラットフォームを構築できると考えています。

2018年のROSCon JPではROS 1のコードをcFSで使える形に変換するといったものを発表していましたが、その後、組み込みシステムで動作するROS 2が登場したことにより、この変換機能を用いずに接続するRACS2というものを開発しています。

![スライド21.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/8db7fa4a-6293-3bb0-2864-fbc0af47aecd.jpeg)

ここで、このRACS2を用いた宇宙機・宇宙ロボットのソフトウェア構成について簡単に説明させていただきます。

まず、前提として、宇宙機・宇宙ロボットの構成についてお話します。

宇宙機は、スライド右の図のように、大きく分けてBUS部とミッション部というもので構成されています。ここでいうBUS部というのは、C&DH(コマンド系)、EPS(電力系)、ACS(姿勢制御系)、推進系、TCS(熱制御系)等の宇宙機の基本機能や健康状態(通信や電力など)の維持・管理に関わる機器を備える部分のことを指しています。

また、ミッション部というのは、宇宙機がミッションを遂行するにあたって必要な機器を備える部分のことを指しています。

RACS2を使ったシステムにおいては、スライド右の図のように、BUS部は宇宙機への搭載実績もあり、高い信頼性と安全性を持つcFSを用いて実装し、ミッション部はロボットにおけるソリューションが豊富なROSを用いて実装することを想定しています。

この際、cFS環境のBUS部とROS環境のミッション部のそれぞれでブリッジ用のRACS2のアプリケーションを用いることで、cFSとROSを接続し、信頼性と安全性を維持しつつ、ROSの利点を活かしたソリューションを実現します。

ちなみにですが、cFSとROS 2はどちらもLinux(Ubuntu)や非Linux OSなどの組み込みシステムで動作するようになっているので、様々な環境での開発が可能となっています。

こちらのRACS2は、JAXAのGit Hub上での公開を検討しているので、ぜひチェックしてみてください。

- [JAXA GitHub](https://github.com/jaxa)
- [RACS2 Bridge](https://github.com/jaxa/racs2_bridge)

![スライド22.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/fbd13b00-a9f7-6765-36f3-237466fd7de2.jpeg)

また、今回はこのRACS2のデモとして、Space ROSのデモであるMars RoverのGazeboシミュレータ上と、ROSロボットであるTurtleBot3の実機ロボット上で動作を試してみました。

どちらも、先程お話した通り、宇宙機・宇宙ロボットのBUS部とミッション部に分けて動作するソフトウェアアーキテクチャを想定しています。

デモでは、BUS部のcFSから、ミッション部のROS 2に対して、操作コマンドを送ることで、Mars RoverまたはTurtleBot3の移動を実現するようになっています。

ただし、今回のデモにおいては、BUS部とミッション部はシステムとしては異なるものの、同一のコンピュータ(Ubuntu)上で動作させています。

同じ仕組みで、宇宙機で使用されているRTOSであるRTEMSなどでも動かすことが可能だと考えています。

こちらのデモも、JAXAのGit Hub上で公開する予定ですのでので、今後ぜひチェックしてみてください。

- [JAXA GitHub](https://github.com/jaxa)

![スライド23.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/e24d77b0-e218-38df-e835-8964c61b2bdd.jpeg)

こちらのスライドで流した動画は、このデモを用いてTurtleBot3を動かした際の様子になります。

こちらもここでは動画を流せないので、代わりのものを添付したいところですが、他に公開されているところがなかったので、ROSCon JP 2024の発表動画からご確認ください(24分30秒あたり)。

- [ROSCon JP 2024 発表動画](https://vimeo.com/showcase/11452054/video/1029114512)

デモ自体は、Mars RoverやTurtleBot3を動かすだけの地味なものになってます。

しかし、このデモは、ハードウェアは地上のロボットですが、ソフトウェア自体は、実際の宇宙機・宇宙ロボットでも動作するものになっているという、とても画期的なデモになっています。

皆さんのご家庭にあるTurtleBotで、こんなにも簡単に、宇宙機・宇宙ロボットのソフトウェアを試せすことができるものになっています！！そして、TurtleBotが無くてもGazebo上でも同じものを試すことができます！

先程もお伝えしましたが、こちらもJAXAのGitHubで公開する予定なので、ぜひ試してみてください。

- [JAXA GitHub](https://github.com/jaxa)

この魅力が中々伝わらないのが悩みですが、Open Robotics，NASA，PickNik社を含むSpace ROSの開発チームには、とても喜んでもらえました。

詳しくは、まだ話せないこともありますが、惹き合いあったということはお伝えしておこうと思います。

今後はInt-Ball2を用いた軌道上での実証や、RTEMS(RTOS)で動作させることなどを考えています。

![スライド24.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/537b9102-4ea5-987b-20b5-c7462084e712.jpeg)

このように、RACSは、Space ROS開発構想の中でも、実際の宇宙機・宇宙ロボットを動かす核心部分になっています。

そこで、RACSとSpace ROSを統合することで、これまでにない高い信頼性と安全性を持つ、より強力なプラットフォームの構築を目指しています！！

このSpace ROSは、このような機能以外にも航空宇宙の規格に準拠したものを整備しているので、地上でも宇宙機並みの品質が求められるシステムに応用可能だと考えています。

![スライド25.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/e9a6251c-a096-6b95-f22f-9d4be580a715.jpeg)

最後に、ROSCon JP 2024で発表した内容のまとめになります。

まず、宇宙機システムの大規模化・複雑化に対して、ROSを導入することが有効だというお話をしました。

ただ、宇宙機のソフトは、高い信頼性と安全性が必要であり、ROSをそのまま採用するのは難しくなっています。

これに対して、本発表では、より高い信頼性と安全性を目指したSpace ROSが開発されていることをお話しました。

また、JAXAが開発したRACSは，高い信頼性と安全性を維持しつつ、地上で蓄積されたリソースの活用が可能になることをお話しました。

Space ROSは開発段階であるため、このRACSをSpace ROSに統合した、より強力なプラットフォームの構築を目指す構想について述べました。

これらは、地上でも宇宙機並みの安全性・信頼性が欲しいという需要に応えられると考えています。

ROSユーザの皆さんの宇宙開発への参画、地上技術への応用について一緒に盛り上げていけたら嬉しいです！！

![スライド26.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3922460/00ac0533-1449-d49f-242e-d15212b1c796.jpeg)

以上が、ROSCon JP 2024の発表まとめになります。

# ROSCon JP 2024での発表後の反応
このように、ROSCon JPで発表してみたところ、様々な方々からお声がけをいただきました。

流石に詳細は言えないですが、SNSで公開されている意見について、エゴサしてみたので、簡単にまとめていきます。

まず、ROSCon JPの公式のX(旧Twitter)アカウントでは、下記のように取り上げていただきました。なんか一生懸命発表してるっぽくていい写真だと思います笑

https://x.com/rosconjp/status/1838763478640922883

ROSの母体であるOpen RoboticsのX(旧Twitter)アカウントでも、下記のように取り上げていただきました。嬉しいですね。

https://x.com/OpenRoboticsOrg/status/1838943751084867872

下記のように引き込まれたと仰ってくださる方もいらっしゃいました。ワクワクが止まらない、そんな宇宙開発のハードルを下げて、もっとみなさんのもとに届けるというのが、私のミッションでもあります。

https://x.com/comocc/status/1838763133768446351

https://x.com/umumon/status/1838762952465494439

また、結構ISS船内で動くInt-Ball2に寄せられた声も多かったです。これは意外でしたが、結構な方がInt-Ball2を知らないようでした。

宇宙で動くロボットをこのような場で周知できたのはとても良かったです(これが一番反響あったりして)。

https://x.com/tks/status/1838764662999126273

https://x.com/HWL_iiya_tekito/status/1838779989853925714

https://x.com/umumon/status/1838764417137439107

あとは私の「皆さんのご家庭にあるTurtleBot3で、すぐに宇宙機ソフトウェアの開発ができます」といった発言に対してのコメントも多かったです笑

皆さん、TurtleBot3は持っていますよね！！？

https://x.com/takasehideki/status/1838768747307503771

https://x.com/Hans_Robo/status/1838768261774881220

https://x.com/sonicair/status/1838768412228772308

拾いきれていないものもあると思いますが、たくさんの方に反応して頂けて嬉しかったです。こういった投稿が飛び交う講演会というのも良いですよね。スーツ着なくて良いフランクな感じも素敵です。

# ROSCon JP 2024に発表してみての感想
今回、発表してみての感想ですが、普通にめちゃめちゃ楽しかったです。

ROSCon JPで聴講するのも、発表するのも、今回がはじめてでしたが、お金が許す方はROSCon JPに参加・発表するべきだと思いました。私は、来年も発表できるよう頑張りたいと思います。

ROSに関する最新の開発状況が聞けるのはもちろんですが、とにかくROSで開発されている方々がたくさん来られているので、その方々とコミュニケーションを取れるのが良いです。ロボットのソフトウェア屋さんにたくさん会えますし、発表に関する内容以外でも様々な方とお話しできました。

また、運営の方々含め「発表者は神」と言ってくださるので、とっても発表のハードルがさがります。ROSつよつよの方々の前で発表するのは、少し怖いという気持ちもなくはないですが、この「発表者は神」の精神で大分救われました。

あと、発表してみてわかったことですが、今回発表したJAXAの宇宙ロボットは、あまり知られていないということを実感しました。知れば興味を持ってくれる人は多いものの、ロボット業界でもまだ知られていないことが多そうです。宇宙業界のみに身を置いていると、この事実に気づけなかった気がします。

そういった面では、ROSCon JPはセッションが1つしかないので、宇宙のことは知らないけど、ROSに興味を持っている皆様方に、周知できる絶好の機会だとも思いました。学会とかだと、細かくセッションがわかれていることが多いので、そもそも宇宙に興味を持ってくれない人に届かないというのはありますね。

# まとめ
宇宙ロボットの開発を進めるために、開発のハードルを下げ、持続可能なエコシステム(コミュニティ)形成面を強化していく必要があると考えています。

こういった機会をいただきながら、引き続きどんどん宇宙ロボットやSpace ROSを広めていきたいところです。

宇宙開発に関係する方々も、宇宙開発に関係しない方々も、Space ROSに興味を持っていただけると嬉しいです。ぜひ一緒にSpace ROSを盛り上げていきましょう！！

Space ROS Advent Calendar 2024の投稿・購読もお願いします！！