はじめに
本記事では、オープンソースとして公開した宇宙ステーション船内ロボット「Q」について、概要や現状どこまでできるかなど、技術的なところをQiita記事でまとめていきます。
このロボットプロジェクトでは、宇宙ロボットに馴染みがない方でも作って動かせるように、ロボットのハードウェア・ソフトウェアから、シミュレータ、無重力を再現する装置まで整備しているので、ぜひご一読いただければと思います。このプロジェクトへの関り方等については後述します。
また、本記事は、Space ROS Advent Calendar 2025の1つでもあります。Space ROS Advent Calendar 2025の他の記事については、下記のリンクをご参照ください。
また、技術的な話はあまり書いていませんが、短期集中連載として「宇宙ステーション船内ロボット「Q」を徹底紹介」するような記事もありますので、こちらもあわせてご参照いただければと思います。(本記事は技術に特化した内容でまとめています)
宇宙ステーション船内ロボット「Q」の誕生 !
改めまして、下の画像のロボットが、宇宙ステーション船内ロボットの「Q」です!!
一見、ただ丸いだけで、これが宇宙でどのように動いて活躍するロボットなのか、想像しづらいかと思うのですが、本記事で1つ1つ説明していけたらと思います。
まず、このロボットですが、基本的には地球の低軌道上にある宇宙ステーションで、宇宙飛行士の相棒や、その代わりにもなる存在として開発を進めているロボットになります。
特に、国際宇宙ステーション(ISS)は、これまで20年以上にわたり有人活動の中心的役割を担ってきました。しかし、ISSも老朽化が進み、2030年の退役が予定されています。
現在は、このISSの退役に伴い、民間企業による商業宇宙ステーションの開発が加速しています。あまり馴染みの無い方も多いかもしれませんが、早いものでは来年の打ち上げが計画されている状況です。
こうした新しい有人環境では、従来の宇宙開発における研究用途に加え、旅行やエンタメなどの一般利用も見込まれています。特に、商業化(ビジネス化)が進む中、効率性がより一層重視されるようになってきています。そのため、乗組員の時間もより貴重となり、一部の宇宙ステーションでは無人での運用も検討されています。
こうした背景から、乗組員の作業負荷軽減と無人運用の支援として、運用に関わるタスクの自動化が求められてきています。
このような背景に対して、ロボットはタスクの自動化や無人運用に適しているということもあり、船内の巡回、設備の点検、物資の運搬(補助)など、従来は宇宙飛行士が対応していた作業の代替・支援する存在として期待されています。
特にISSでは、既に宇宙ステーション船内の移動型ロボットの研究・導入が進んでおり、それぞれ様々な実証に成功しています。
一方で、これらの多くは宇宙飛行士の支援があることを前提に設計されており、完全な無人運用は想定されていなかったりします。また、それぞれのロボットの特徴と機能が分散しており、より高度な作業支援を実現するにはそれぞれが持つ機能の統合が必要になることが考えられます。
そこで、従来の宇宙ステーション船内ロボットの機能を統合し、将来の有人・無人宇宙ステーションの作業支援に向けた、自律型飛行ロボットを開発しようというのが、宇宙ステーション船内ロボット「Q」のプロジェクトになります。
このロボットは、無人運用を見据えて、ロボットを係留するためのテザーと、その巻き取り機構を備えたドッキングステーション、プロペラ式の移動機構、そして本体に格納可能なマニピュレータを搭載しています。これにより、宇宙ステーション船内の作業の代替・支援を行っていきます!
中々馴染みがないかもしれませんが、この「Q」は、今まさに始まりつつある商業宇宙ステーションの時代における、まったく新しい宇宙の働き方を象徴でもあるのです。
「Q」が持つ機能について
ここからは「Q」の設計コンセプトや機能について説明していきます。
移動機構
このロボットは、下記の図のように、立方体の頂点に配置された8つのプロペラからなる移動機構を搭載しています。
いわゆる宇宙ステーション船内を飛び回るドローンのような構成です。ただし、宇宙ステーション船内を並進3自由度、回転3自由度で、自由自在に飛び回れる点が、地上のドローンとは異なります。
この構成では、並進動作にはプロペラの推力を用いており、回転動作にはプロペラのドラッグトルクを用いています。ドラッグトルクとは、プロペラが回転する際に発生する空気の抵抗 (トルク) のことで、地上のドローンなどを制御する際にも使っていたりします。
これを応用することで、6自由度運動で均整の取れた制御や、異方性のない設計を可能にしています。
【補足】
Qの設計の場合、プロペラの推力だけではロボットの回転動作ができない仕組みになっています。プロペラの推力を活用して回転する場合は、プロペラの配置を直方体にしたり、推力の向きを中心からずらす必要があります。ただし、このような設計は、配置や向きによって、並進・回転における各軸での移動のしやすさなどに差が生じてしまいます。Qはオープンソースにする上での標準化も狙うために、ハード的にも、制御的にも、異方性を無くした設計をしています。
マニピュレータ
また、このロボットは、下記の図のような、3自由度 (3DoF) の収納可能なマニピュレータを搭載しています。
このマニピュレータの先端には、簡易的なエンドエフェクタを備えており、小型サンプルの運搬スやイッチ操作などの軽作業を行えるように設計しています。
(下記の図のエンドエフェクタは、検討段階のもので実際とは異なります)
ドッキングステーション
加えて、宇宙ステーションの無人運用を見据え、ロボットに取り付ける係留用テザーと、その巻き取り機構を備えたドッキングステーションも開発しています。
ロボットにテザーを接続することで、無人運用中に万が一、ロボットが制御不能になったとしても、テザーを巻き取ることでロボットを回収することができ、ロボットのロストリスクを低減できます。このテザーを巻き取る機構は、水中ロボットを参考にしていたりします。
また、テザーから電力を供給することで、バッテリ残量を気にせず長期間のミッション遂行ができるようになることを目指しています。多くのロボット屋さんは、ロボットに取り付けているテザーを引っ張る事に抵抗があるかと思いますが、一応テザーを引っ張る力に耐え得るものを選定しています。
【補足】
宇宙ステーション船内は、脱出もできない究極の閉鎖空間とも言えます。そうした環境下で、バッテリを搭載する際は、バッテリが発火しないように、安全性には十分に気をつけた設計をしないといけません。バッテリを搭載するメリットも大きいのですが、それに伴う安全設計やバッテリの新規開発のコストは、地上のものに比べてかなり高くなる傾向にあります。
一方で、このような設計においては、テザーの弾性や張力による影響、移動経路の制約などの課題もあり、これについては検討を進めている状況です。
(一応、ざっくりとした確認では、現在の移動スペックで、テザーの弾性や張力の影響はほとんどなさそうな印象にあります)
音声対話システム
さらに、このロボットは、大規模言語モデル (LLM) を搭載した音声対話システムを開発しています。
ここでは、宇宙飛行士の音声指示に対し、LLMを用いることで、ロボットのスキルセットの組み合わせによるタスクプランニングを行います。
ロボットは、このプランに従って、指定された場所への移動や、機器の点検、小型サンプルの受け渡しなどの定常作業を自律的に実行していきます.LLMの推論は、ロボットのローカルコンピュータ上で行います。
【補足】
LLMの推論は、ローカルコンピュータ上ではなく、クラウドコンピュータ上で行うことも考えていたのですが、現時点で宇宙ステーション線内のインターネット環境が限定されている点を考えると、システムとしてはローカルコンピュータ上で処理する方が安定すると考えています。将来的には、ローカル上で計算処理するのではなく、クラウド上で計算処理をするというのも良いと思います。
VR操作システム
他にも、このロボットは、自律機能では対応できない作業を地上から支援するために、VRを用いた遠隔操作機能も開発しています。
この際、オペレータは、VRヘッドセットを装着し、コントローラとロボットから得られる映像をもとに、ロボットを操作することができます。
これにより、自律機能だけでは対処できない、複雑な作業や予期せぬ状況にも柔軟に対処できるようにしています。
下図の右側の画像は、シミュレータ上でのVR遠隔操作のデモンストレーションの様子になります。
(さらにその下にある画像は、VRと実機ロボットを連携するシステム構成になるのですが、詳細な構成は現在も検討中です)
以上が、「Q」の設計コンセプトや機能になります。
とはいえ、まだ、この設計で確定しているわけではないです。改善すべきところはたくさんあると思っています。
このプロジェクト自体は、完全なオープンソースのプロジェクトですので、このロボットをどのように改善していくのか、どのような設計コンセプトにすると、実際の宇宙ステーション船内で活躍できるロボットになるのか、というのは皆さんと議論していけたらと思っています。
「Q」の地上での動作確認
ここからは、これまでお話してきたような、宇宙という特殊な環境で動くロボットを、実際どのようにして開発するのか、より具体的にお話していきます。
まず、この「Q」のプロジェクトにおいては、宇宙ステーション船内での動作を地上で確認するために、シミュレータと、無重力を再現するホバークラフト型の空気浮上装置の2つの動作確認方法の開発を進めています。
ここでは、この2つで、現在どのようなことができるのかについてお話していきます。
シミュレータ
まず、ロボットの実際のソフトウェアを仮想的な宇宙ステーション環境で実行し、その動作を確認するためのシミュレータを開発しています。このシミュレータは、NVIDIA社が開発するIsaac Simをベースとしおり、フォトリアリスティックに、リアルタイムで動作可能な高速な物理計算を行うことができます。
実機のロボットは、ROS(Robot Operating System)というロボット開発におけるオープンソースのフレームワークを用いているのですが、シミュレータのソフトウェアインタフェースもこのROSのフレームワークを用いることで、実機で動くソフトウェアをそのまま動かすことができます。
これにより、地上においても安全にナビゲーション、マニピュレーション、制御ロジックなどの動作を確認することが可能となります。
とはいえ、このシミュレータの動作結果が信用できるのか、実際での宇宙の挙動とどこまで一致しているのかという点は気になってくると思います。
ただ、この「Q」自体は、まだ軌道上になく、動作を比較することもできません。そこで、「Q」と同じシミュレータ環境に、現在、実際に軌道上にあるJAXAが開発した「Int-Ball2」というロボットのモデルを入れ、これと比較することでシミュレータの精度についての確認を行っています。
「Int-Ball2」というロボットのシミュレータと実機との比較は、JAXAが提供する「ISSの有料利用プログラム」を通じてInt-Ball2の実機を利用し、実際の軌道上のデータを収集していきます。
比較のために、シミュレータと実機の両方に対して、同じInt-Ball2のフライトソフトウェアを用いて、同じ動作指令を送信しています。この際、Int-Ball2のフライトソフトウェアは、JAXAが公開しているGazeboシミュレータに含まれているものを使用しています。
以下に、実際の比較動画を掲載しているので、確認してみてください。
このときの比較でおこなったInt-Ball2の動作は、下記の図に示すような、純粋な前進と後進に加え、正方形を描くような軌道となっています。
この際、シミュレータと実機の軌道をグラフで比較したものも、下記の図に載せています。実機の軌道は、Int-Ball2に搭載されているセンサから推定したVisual SLAMの自己位置推定結果で、シミュレータの軌道は真値になっています。
軌道の比較グラフからも見て取れるように、実機もシミュレータもおおよそ同じような軌道で動作しているのが確認できるかと思います。基本的には、同じフライトソフトウェアを使っていますので、フライトソフトウェアを用いた動作確認をする上では、このくらいの動作は同じように再現できる印象にあります。
【補足】
実機のInt-Ball2の指令の追従精度は、誤差数ミリ程度で中々高い精度が出ていました。一方で、シミュレーターの指令の追従精度は、誤差数センチ程度で少し大きめです。この辺りはよく確認しないとですが、Isaac Simの物理エンジンの仕様などが影響していそうです。具体的には、Isaac Sim V4.5.0では、3次元でのimu情報が出ないので補間しているので、それらが影響している可能性が大きいと考えています。
ホバークラフト型空気浮上装置
上記は、あくまで仮想的なシミュレータ環境での動作確認方法でしたが、やはりロボットの開発は実機での動作確認というものも重要になってきます。そこで、2次元平面上に限られてはしましますが、地上で無重力(微小重力)を再現するコンパクトかつ低コストなホバークラフト型の空気浮上装置も開発しています。
この空気浮上装置は、基本的には装置のスカート部の上部から空気を吸い込み、スカート部の下部に空気を吐き出すような構成になっています。ダクテッドファンを用いて、スカート内部に空気を押し込むことで、外との圧力差が生じ、スカート部の下部から空気が漏れて浮上するような仕組みです。この際、空気を押し込むダクテッドファンにも、プロペラの移動機構と同様にドラッグトルクが生じますので、ドラッグトルクをキャンセルするようにダクテッドファンを配置しています。
このホバークラフト型の空気浮上装置は、従来の宇宙ステーション船内ロボットで使用されてきた、大規模なエアベアリングを用いた空気浮上試験とは異なり、大型の定盤やエアコンプレッサやボンベなど特別なインフラを必要とせず、数時間の連続稼働が可能です。これにより、一般的な家庭環境でも宇宙ロボットを動かせるようになるので、試験のハードルを大きく下げることができると考えています。
【補足】
従来の大規模なエアベアリングを用いた空気浮上試験の例を下記のリンクに示します。この試験装置は、数トンほどある大型の定盤、エアコンプレッサやボンベなどを必要としているため、一般的なオフィスや部屋などでの運用は難しいです。また、空気浮上装置自体の質量が動作にも影響してくるため、軽量化を目的として空気浮上装置自体もかなりコンパクトになっています。そのため、動作時間は数分しか持たないという特徴もあります。一方で、様々な要件はあるものの、かなりの浮上精度を出すことができる点が強みです。
https://www.youtube.com/watch?v=wgpt_nBIq4Y&t=74s
ちなみにですが、「Q」の開発においては、そこまでの浮上精度は必要ないと考えています。これは、実際の宇宙ステーション船内には空調等の外乱があり、ロボットはこれに抗って制御をしないといけないので、ホバークラフト型の空気浮上装置によって生じる浮上誤差はそこまで気にならないのではないかというのが理由です。
この際、シミュレータと同様に、この空気浮上装置もどのくらいの浮上精度があるのかという点は気になってくると思います。
そこで、開発した空気浮上装置を用いて、ロボットの動作確認試験を行いました。試験では、空気浮上装置そのものの浮上試験、テザーを用いたドッキング試験、プロペラによる並進・回転移動の試験の3つを実施しました。
これらの試験では、空気浮上装置の上にロボットを載せ、それぞれの動作を確認していきます。この際、ARマーカの一種であるAprilTagを用いて、試験環境の上部に設置したカメラからロボットとドッキングステーションの位置・姿勢を推定し、その結果から動作を確認しています。
【補足】
空気浮上装置に関しても、シミュレータと同様に軌道上との比較が出来たらよかったのですが、Int-Ball2の実機は有償利用含めて一般向けに使える状態にはなっていなかったので、開発した「Q」の実機を用いて動作を確認しています。
空気浮上装置の浮上試験
まずは、空気浮上装置を用いた浮上試験の結果を下記の画像に示します。この試験結果は、空気浮上装置にロボットを載せて、単純に浮上させた際の挙動を可視化したものになります (ロボットを動かしたりはしていません)。
この際、空気浮上装置の特徴として、重心の誤差(ずれ)によって空気の漏れ量が変わり、空気浮上装置自体が推力を持ってしまうということがあります。この対策として、できる限り空気浮上装置とロボットを合わせた重心が、空気浮上装置の中心になるようにカウンターウェイトを置いて調整しています。
このときの動作の様子とグラフから、ロボットがほぼ静止状態を維持していることが確認できます。
【補足】
姿勢のグラフで往復するような挙動が見られます。基本的な空気浮上装置の挙動としては、重心の誤差を無くすことはできないので、多少なりとも推力が生じて、一定の方向に位置・姿勢がドリフトしていくことが考えられます。これに対して、今回はロボットの電源を有線のワイヤから供給しているので、このワイヤの自重が運動の妨げをして、振動しているのだと考えています。
上記の画像では、ロボットの軌道がわかりづらいと思うので、ロボット軌道をスタート時の画像にプロットした結果も添付しておきます。
ドッキング試験
次に、空気浮上装置を用いたドッキング試験の結果を下記の画像に示します。この試験結果は、ロボットに取り付けたテザーを巻き取ることで、ロボットをドッキングステーションへ滑らかに引き寄せ、回収する挙動を可視化したものです。
このときの動作の様子とグラフから、テザーを巻き取ることによってロボットをドッキングさせられることが確認できます。
こちらも、上記の画像では、ロボットの軌道がわかりづらいと思うので、ロボット軌道をスタート時の画像にプロットした結果も添付しておきます。
並進移動試験
さらに、空気浮上装置を用いたロボットの並進移動試験の結果を下記の画像に示します。この試験結果は、ロボットをフィードバックなしで前進・後退させ,その挙動を可視化したものです。
このときの動作の様子とグラフから、基本的な並進移動が実現できていることが確認できます。
こちらも、上記の画像では、ロボットの軌道がわかりづらいと思うので、ロボット軌道をスタート時の画像にプロットした結果も添付しておきます。
回転移動試験
最後に、空気浮上装置を用いたロボットの回転移動試験の結果を下記の画像に示します。この試験結果は、ロボットを時計回りおよび反時計回りに回転させ、その挙動を可視化したものです。
このときの動作の様子とグラフから、基本的な回転移動が実現できていることが確認できます。
こちらも、上記の画像では、ロボットの軌道がわかりづらいと思うので、ロボット軌道をスタート時の画像にプロットした結果も添付しておきます。
以上が、開発したシミュレータと空気浮上装置を用いた動作確認結果になります。基本的な動作はこれらで確認できそうです。
とはいえ、こちらもまだ、この設計で確定しているわけではないです。ロボット本体と同様に、完全なオープンソースですし、この試験装置をどのように改善していくのが良いのかという点を含め、皆さんと議論していけたらと思っています。
宇宙ステーション船内ロボット「Q」の開発の仕方
これまで何度もお伝えしておりますが、この宇宙ステーション船内ロボットは「完全なオープンソース」です!
Apache-2.0ライセンスで提供しており、大学や企業、研究機関での研究開発や、様々な事業への活用・応用など、自由です。ぜひ、皆さんにもこの「Q」の技術に触れてもらい、改良・改善を繰り返しながら、宇宙ロボット開発を盛り上げていけたらと考えています。
具体的に、これらのソースコードは、下記のGitHub Organization上で公開しております。
その中で、宇宙ステーション船内ロボット「Q」に関するリソースは下記になります。
- 宇宙ステーション船内ロボット「Q」
また、Int-Ball2シミュレータに関するリソースは下記になります。
実際の軌道上にあるISS船内でInt-Ball2を動かした際の動画や動作データ(rosbag)も無償で公開しています。
- Int-Ball2シミュレータ
本プロジェクトへの参加方法としては、まずは、これらに触っていただきながら、バグの改修や、新規機能の提案・開発などに応じて、GitHubリポジトリ上で「Issue」や「Pull request」を送っていただければと思います!!
開発や打ち上げに投資してくださる方々も大歓迎です!!
【補足】
それぞれ、まだ整備や開発が間に合っていない状況です。触ってみたいけどリポジトリの中身がわからなかったや、バグがあって動かなかったなどは、恥ずかしながら十分にあり得ます。本記事のコメントでも、GitHubへのIssueでも、SNSへのDMでも、なんでも気軽にご連絡ください。
まとめ
最後に本記事のまとめです。
今回、次世代の宇宙ステーション船内ロボット「Q」と、テザーを用いたドッキングステーション、ホバークラフト型空気浮上装置を開発し、完全なオープンソースとして公開しました!
現段階では、これらを用いた基本機能の動作確認を行い、将来の無人運用に対応した汎用的な船内ロボットとしての基本機能の実現可能性について確認しました。
現状の主な課題としては、自律移動やタスクプランニング、VRの遠隔操作の機能試験を実施することや、テザー運用時の影響評価、安全基準への適合などが挙げられるかと思います。
今後は、これらの課題に取り組みつつ、強化学習、大規模言語モデル、基盤モデルなどのAI技術を活用することで、より汎用的で自律性の高い宇宙ステーション船内ロボットの実現を目指していきたいです。
また、何度も申し上げていますが、このロボットは、ハードウェアとソフトウェア共に、完全なオープンソースとして公開しており、研究開発や事業などへの幅広い活用、コントリビューションを歓迎しております。みなさんと共に、オープンで発展させていくプラットフォームとして位置付けていますので、興味のある方はぜひ活用いただき、一緒に開発できたらと思っています。
宇宙開発に関係する方々も、宇宙開発に関係しない方々も、興味を持っていただけると嬉しいです。ぜひ一緒に宇宙ロボットを盛り上げていきましょう!!























