16
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

今回、宇宙機・宇宙ロボット向けのROSであるSpace ROSに関する、QiitaのAdvent Calendar 2024を立ち上げてみましたので、本記事ではその趣旨と概要についてまとめていきます。

Space ROSとは

まず、Space ROSについて知らない方もいらっしゃると思うので、簡単に説明させていただきます。

Space ROSとは、宇宙機・宇宙ロボットでも使えるようにした「ROS (Robot Operating System)」です :rocket::sparkles:

spaceros3.jpg

ちょっとした背景

皆さん、ROSはご存じでしょうか。

ROS (Robot Operating System) は、ロボット開発のための豊富なライブラリやパッケージ群、開発ツール群、共通のフレームワークを提供するプラットフォームです。

また、世界中の開発者による活発なコミュニティも特徴で、ロボット開発の事実上の標準 (デファクトスタンダード) となっています。ROSは、地上ロボット技術の進展に大きく寄与しています。

ただ、宇宙ロボット技術の分野では、宇宙環境で動作するために高い信頼性と安全性が求められることから、完全オーダーメイドの組み込み開発が主流であり、世界的にROSの導入が進んでいないのが現状です。

また、ROSが使用されたとしても、ISS (国際宇宙ステーション) のような人が居住できる比較的地上に近い環境や、研究段階のプロジェクトに限られています。

正直なところ、ここまで普及し、便利な機能や地上で培われた豊富なリソースを持つROSが、宇宙に限って活用されないのは非常にもったいないことです。

Space ROSの誕生

そこで、ROSの仕組みを宇宙環境に適応させ、開発のハードルを下げたり、地上のリソースを宇宙に適用することで、宇宙ロボット技術のさらなる発展を目指す取り組みが「Space ROS」になります。Space ROSの開発は、ROSの母体であるOpen RoboticsやNASAを中心に進められています。

ROSを使ったことのある方なら、宇宙ロボットがROSで動いていると知れば「自分でも宇宙ロボットが作れるかもしれない」と感じられるかもしれません。これが宇宙ロボット開発のハードルを下げることになると考えています。

たとえば、$ rostopic pub or $ ros2 topic pub (ROSにおけるTopicをPublishするコマンド) で cmd_vel (よくある速度指令のTopic) を送信し、宇宙空間のロボットを動かせる。そんな世界線を築いていきたいと考えています。

Space ROS (Robot Operating System) Advent Calendar 2024

そして、Space ROS (Robot Operating System) Advent Calendar 2024は、宇宙ロボット向けのROSであるSpace ROSに関するQiitaのAdvent Calendarです!:rocket::sparkles:

Space ROS Advent Calendar 2024では、大きく分けて、企画記事と自由記事の2つの記事投稿の場を用意させていただいております。

Space ROS Advent Calendar (企画記事)

1つは、宇宙開発のハードルを下げる希望の「Space ROS」を、広く皆さんに周知させていただくために、JAXAをはじめとする宇宙開発に携わるメンバーが、Space ROSの概要からチュートリアル、現在の開発状況、応用など、様々な記事を投稿する「企画記事」になります!

積極的にSpace ROSの開発を進めているメンバーを中心に、まとまった記事を投稿していこうと思っているので、楽しみにしていてください!(頑張ります:muscle::fire:

Space ROS Advent Calendar (自由記事)

そして、もう1つが、Space ROSに関係する事でも、関係しないことでも、誰でも何でも自由に投稿ができる「自由記事」になります!

Space ROSは、まだあまり皆さんに知られていないということもあり、どれだけの方が記事を書いていただけるかわかりませんが、本当に些細なことでも構いませんので、投稿していただけると嬉しいです。

ぜひ、皆様の投稿をお待ちしております!!:star2::sparkles:

Space ROS Advent Calendar 2024:企画記事

こちらでは、Space ROS Advent Calendar 2024の「企画記事」の内容についてまとめていきます。Advent Calendar実施期間中も随時更新していきますので、Space ROS Advent Calendar 2024のまとめとして、本記事を確認していただけたらと思います。(最終更新 2025/01/22)

2024/12/01: Space ROS Advent Calendar 2024について

  • 宇宙機・宇宙ロボット向けのROSであるSpace ROSのAdvent Calendar 2024についての趣旨と概要についてのまとめになります。
  • 積極的にSpace ROSの開発を進めているメンバーによる「企画記事」と、どなたでも自由に投稿できる「自由記事」があります。
  • Space ROSに関係する事でも、関係しないことでも良いので、皆さんの投稿をお待ちしております!!

2024/12/02:【概要#1】これまでの宇宙ロボット背景・経緯を概観してみる

  • Space ROSのそもそもの背景として、宇宙ロボットとはどういったものを対象としているのか、その上で、これまでどのような宇宙ロボットが開発されてきたのか、宇宙開発におけるロボットの役割についてまとめています。
  • また、現状の宇宙ロボットの課題を、宇宙環境に対応すること、重力の違いによるダイナミクスを検討が必要なこと、リハーサルが困難なことの3つにわけて解説しています。
  • そして、これまでの研究開発で,宇宙ロボットに関するハードウェアの知見が培われ,宇宙開発におけるコストが下がる中,次の段階としてソフトウェア開発の発展が求められる、それこそがSpace ROSの役割だということを述べています。

2024/12/03:【概要#2】Space ROSの目的

  • Space ROSを開発する目的として、ロボティクスのデファクトスタンダードであるROSを、宇宙品質で宇宙にも持っていくことについてまとめています。
  • そして、この目的の中で生まれる「Space ROSを使っていれば自動的に宇宙品質が担保できるのか」という問いに対して、実際問題としてなかなか難しいといった考えを述べています。一方で、Space ROSが「自動的に」宇宙品質が担保できる世界を目指していくことは、究極的な目標として述べています。
  • また、Space ROSを扱う上で「宇宙品質とは何を指すのか」という問いに対して、Space ROSはNASAのソフトウェア規格(NPR7150.2)のうちの、一番クリティカルな(高い)Class Aを目指すことを述べています。

2024/12/04:【概要#3】Space ROSとROS 2の違い

  • ROS 2をベースとしたSpace ROSは、ROS 2よりも宇宙ミッションに特化したリアルタイム性と信頼性の強化を目指して設計されていることをまとめています。
  • 特に、ROS 2と異なるSpace ROS独自の機能として、ビルドとインフラ、コード解析ツール、要件ツールとプロセス、宇宙特有の機能について、それぞれ詳しく説明しています。
  • 現時点では、ROSを宇宙でも使えるようにするということを優先に、ROS 2に加えて、既にNASAやJAXAが開発してきた宇宙機向けのソフトウェアを取り込んでいるような構成になっています。実際の宇宙でROSを動かせるようになれば、この盛り上がりは更に加速しそうです!

2024/12/05:【概要#4】Space ROSのパッケージ構成

  • Space ROSは、ROSとは異なるSpace ROS独自のGitHub Organization上で開発されおり、そこで公開されているリポジトリおよびパッケージの構成とその役割についてまとめています。
  • 具体的には、公開されている全12個のリポジトリ (space-ros, demos, simulation, docker, docs, process_sarif, spaceros.org, requirements, dashboard, ikos, check-commit-message-action, github) がSpace ROSのどの機能を担っているのか簡単にまとめています。
  • 詳細にパッケージの中身を見ていく中で、試せるものは色々出てきていることがわかります。NASAやJAXAなどの宇宙機関はこの実証機会に向けて、開発を進めているので、今後のSpace ROSのアップデートにも期待です!

2024/12/06:【概要#5】Space ROSのMars Roverデモ

  • Space ROS のデモの1つとして、火星探査ローバーであるCuriosityのGazeboシミュレータ環境のセットアップと、簡単な動作手順についてまとめています。
  • いまのところは、通常のROS 2と何ら変わりはありませんが、このMars Roverを使ってSpace ROSの一部機能のデモンストレーションをすることができたりします。
  • みなさんもぜひCuriosityのGazeboシミュレータの環境を構築して、触ってみてください。

2024/12/07:【コア#1】 RTEMS(RTOS)概論

  • WindowsやLinuxなどのOSと違い、タスクのスケジューリングや割り込み処理において高い精度と確定性をもつRTOS(Real Time Operating System)の概要についてまとめています。
  • また、RTOSの中でも、組み込みシステムを対象としており、航空宇宙業界において広く利用されているRTEMS(Real-Time Executive for Multiprocessing Systems)の概要についてまとめています。
  • Space ROSの構想では、このRTEMS上でROSを動作させることをサポートすることが記載されています。まだ、対応はしていないようなので、今後のSpace ROSのアップデートに期待したいところです!

2024/12/08:【コア#2】Space ROSはRealTimeOSでなきゃいけないの?

  • ROS 2が登場し、ROSの組み込みシステム対応が謳われましたが、そもそも「なぜROS 2使用のロボットで組み込み系やRTOSに手を出すのか」という問いに対して、リアルタイム性に焦点を当てて説明しています。
  • そして、上記の問いに対しては、ロボットの制御系において、時間的な期待を外れて処理されても問題ない場合は、非リアルタイム系のUbuntuやWindowsを使うので良いが、その要求が厳しくなればしっかりとしたリアルタイム系を使う必要があるという風にまとめています。
  • 宇宙ロボットにおいても同じで、宇宙ではRTOSを使うことがほとんどですが、宇宙だからと言って何でもかんでも組み込み系やRTOSを使う訳ではなく、適宜選択することが求められます。既にSpace ROSの構想は上がっていますが、こうした背景をもとに、ROS 2との棲み分けについては考え続けたいところです。

2024/12/09:【コア#3】Zenohって最近聞きますけど?

  • ROS 2 Jazzyから、RMWサポートの通信プロトコルとしてZenohが導入され、注目されています。特に、多くノード間でのやり取りや、クラウドを介すような比較的大きなロボットシステムで、Zenohは効力を発揮することをまとめています。
  • その上で、現状の宇宙ロボットやSpace ROSにおいて、Zenohを扱うのはどうだろうかという問いについて、考察を述べています。
  • 上記に対しては、宇宙機は、セキュリティ的に閉じたシステムになることが多く、現状ではDDSで問題ないというのが回答になっています。ただし、宇宙ステーションのような機械まみれの居住空間では、スマートホーム化が適しているということもあり、宇宙でもZenohの効果を発揮するケースが増えてくる可能性はあります。

2024/12/10:【コア#4】 IKOS(基本編)

  • Coming Soon.

2024/12/11:【コア#5】 IKOS(実践編)

  • Coming Soon.

2024/12/12:【ライブラリ#1】 Nav2

  • Coming Soon.

2024/12/13:【ライブラリ#2】 SpaceNav構想

  • Coming Soon.

2024/12/14:【ライブラリ#3】 SpaceMoveIt part1/MoveIt2、SpaceDyn(宇宙用マニピュレーション向けとしての事例)

  • Coming Soon.

2024/12/15:【ライブラリ#4】SpaceMoveIt Part2: Moveit Pro Space

  • Coming Soon.

2024/12/16:【ライブラリ#5】Behavior Tree

  • Coming Soon.

2024/12/17:【ツール#1】cFS

  • Coming Soon.

2024/12/18:【ツール#2】RACS2の要求仕様

  • Coming Soon.

2024/12/19:【ツール#3】RACS2デモ (Example、MarsRoverデモ)

  • Coming Soon.

2024/12/20:【ツール#4】 BRASH

  • Coming Soon.

2024/12/21:【ツール#5】Space ROSを用いたTurtleBotのデモ

  • Coming Soon.

2024/12/22:【関連記事#1】物理シミュレータ・センサエミュレータ/SILS/HILS

  • Coming Soon.

2024/12/23:【関連記事#2】宇宙機の姿勢制御パッケージ

  • Coming Soon.

2024/12/24:【関連記事#3】ROSCon JP 2024でのSpace ROSに関する発表

  • Coming Soon.

2024/12/25: おわりに

  • Coming Soon.

Space ROS Advent Calendar 2024:自由記事

こちらでは、Space ROS Advent Calendar 2024の「自由記事」の内容についてまとめていきます。Advent Calendar実施期間中も随時更新していきますので、Space ROS Advent Calendar 2024のまとめとして、本記事を確認していただけたらと思います。(最終更新 2024/12/05)

2024/12/15: リアルとバーチャルの架け橋「箱庭ブリッジ」の宇宙応用

  • Coming Soon.

2024/12/16: dockerで動かそうと

  • Coming Soon.

2024/12/19: Space ROS面白そうなので、使ってみて何か書く

  • Coming Soon.

最後に

Space ROSは宇宙開発のみならず、地上でも宇宙機並みの品質が求められるシステムに適用できると考えています:robot:

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

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

16
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?