ロボットの技術記事を読んでいると必ず出てくる ROS。名前は Robot Operating System ですが、OS ではありません。
何であるか
ROS 2 は、ロボットのソフトウェアを部品に分けて組み合わせるためのフレームワークとツール群です。
センサからデータを読む処理、地図を作る処理、経路を決める処理、モータへ指令を出す処理。これらを独立したプログラム(ノード)として動かし、決められた形式のメッセージでやり取りさせます。
利点は、部品の差し替えが効くことです。LiDAR を別メーカーのものに替えても、出力するメッセージの形式が同じなら、その先の処理は書き換えずに済みます。世界中の研究室や企業が作ったノードを組み合わせて使えるのが、ROS のエコシステムの価値です。
何でないか
- OS ではありません。 Linux(主に Ubuntu)の上で動きます。
- すぐ動く製品ではありません。 部品は揃っていますが、組み立ては自分でやります。
- 産業用ロボットの標準ではありません。 ファナックや安川の産業用ロボットは、各社独自のコントローラと言語で動いています。ROS はその外側から指示を出す立場で使われることが多いです。
ROS 1 と ROS 2 の違い
ROS 1 は研究用途で広く使われましたが、産業応用には課題がありました。
| ROS 1 | ROS 2 | |
|---|---|---|
| 通信 | 独自実装、マスターノードが必要 | DDS ベース、マスター不要 |
| リアルタイム性 | 保証なし | 対応する設計 |
| セキュリティ | ほぼなし | 認証・暗号化の仕組みあり |
| 対応 OS | Linux 中心 | Linux / Windows / macOS |
| 組込み | 難しい | micro-ROS でマイコンにも |
ROS 1 はすでにサポートが終了しており、新規開発は ROS 2 一択です。
バージョンの選び方
ROS 2 は毎年 5 月に新しいディストリビューションが出ます。2 年ごとのものが LTS(長期サポート)で、それ以外は約 1 年半でサポートが切れます。
2026 年 8 月時点では、Jazzy Jalisco が現行の LTS(2024年5月リリース、2029年5月まで)で、その後に Kilted Kaiju(2025年)、Lyrical Luth(2026年5月)が出ています。
長く使うシステムなら LTS を選んでください。 最新版は新機能が入りますが、サポート期間が短く、対応するパッケージも揃いきっていないことがあります。最新の状況は docs.ros.org の Releases ページで確認できます。
導入検討の立場では、どこで関係するか
自社でロボットを開発しないなら、ROS 2 を直接触ることはほぼありません。それでも、次の場面で判断材料になります。
研究用途の機材を選ぶとき。 大学や研究所で使うロボットは、ROS 2 対応と低レベル API の公開が実質的な必須条件です。閉じたシステムだと、やりたい研究ができません。
AMR を選ぶとき。 内部で ROS 2 を使っている製品は多いです。ただし外部に API が開いているかは別問題で、上位システムと連携させたいなら、ROS 2 対応と API の公開は分けて確認してください。
SIer やベンダーの技術力を見るとき。 ROS 2 で開発している会社は、自社で制御を書ける技術者を抱えていることが多いです。既製品を組み合わせるだけの会社との違いが出ます。
将来の乗り換えやすさ。 標準的なインターフェースで作られているシステムは、一部を別のベンダーに置き換えやすい。特定ベンダーに固定されるリスクの評価に使えます。
学び始めるなら
自分で触ってみるのが早いです。
- Ubuntu を用意する(仮想マシンでも動きます)
- LTS のディストリビューションをインストールする
- 公式チュートリアルのシミュレーション(Gazebo)で亀やロボットを動かす
- 実機を買うなら、教育・研究向けの機材から
実機がなくてもシミュレーションで一通り学べます。まずはそこから始めるのが、費用も時間も無駄になりません。