見出し画像

ROSを完全に理解する 〜FANUCの1ms制御は本当にすごいのか、Wiresharkでロボットの神経信号を覗いて確かめた〜

2025年12月、産業用ロボットの世界で「事件」がありました。

あのFANUCが、オープンソースのロボット開発基盤「ROS 2」で自社ロボットを動かす公式ドライバを、GitHubで無償公開したのです。しかも謳い文句は「業界最高水準、1msの超高速制御」。対応機種は可搬質量3kgの協働ロボットから2.3トンの超大型機まで。

FA業界の人間なら、この違和感が分かるはずです。FANUCといえば、仕様は閉じる、外部制御は限定的、良くも悪くも「黄色い鎖国」の代名詞でした。その王者が、自らロボットの操縦桿をオープンソース界に差し出した。これはツール1個の公開ではなく、産業用ロボットの遊び方のルールが変わったということです。

発表から半年あまり。ニュースの見出しを見た人は多いはずです。でも「で、それの何がすごいの?」と現場で聞かれて、きちんと答えられる人はどれだけいるでしょうか。

無理もありません。この発表の価値を測るには、そもそもROSとは何か、他社のROS対応はどうなっているのか、という「物差し」が先に必要だからです。そして多くのFA技術者は、心のどこかでこう思っているはずです。

「そもそもROSって何なのか、実はよく分かっていない」

大丈夫です。この記事は、PLCや産業用ロボットは分かるけれどROSは触ったことがない、というFA技術者のために書きました。前半(無料)でROSの正体、ROS 2とIsaac ROSの関係、カメラとロボットとLinux PCで何ができるかを完全に整理します。

そして後半(有料)では、他ではまず読めない内容をやります。Wiresharkでロボットの「神経信号」を実際にキャプチャして、ROS 2が電線の上で何をしゃべっているのか1バイト単位で解剖します。さらにFANUC・安川・UR・ABB・KUKA・三菱・デンソー・川崎の8社のROSドライバを「公式度」と「制御周期」で徹底比較し、FANUCの1msが本当にすごいのか、冷静に検証します。

執筆時点(2026年7月)の最新情報で書いています。それでは行きましょう。


第1部 ROSの正体 〜「ロボットのOS」という名前の嘘〜

ROSは「Robot Operating System」の略です。この名前、率直に言って誤解製造機です。

ROSはOSではありません。WindowsやLinuxを置き換えるものではなく、**OSの上に載る「通信ミドルウェア+世界共通の部品棚」**です。本物のOSは下で別に動いています(事実上の標準はUbuntu Linuxです)。

FA技術者向けに一言で言うなら、こうなります。

ROSとは、ロボット開発における「PROFINETやEtherCATのような共通通信規格」と「世界中のエンジニアが作った制御部品のライブラリ」がセットになったもの

仕組みの基本は、たった1つだけ覚えれば十分です。

「ノード」という小さなプログラム同士が、「トピック」という名前付きのデータの通り道を介して、データを配り合う。これをPub/Sub(パブリッシュ/サブスクライブ)と呼びます。

ROSの全体像

画像の内容を文字でも要約しておきます。

  • ノードA(例: カメラドライバ)がトピック /chatter にデータをPublish(配信)する

  • ノードB(例: 画像認識)が同じトピックをSubscribe(購読)して受け取る

  • AとBは互いの存在を知らなくてよい。トピック名さえ合えば自動的につながる(疎結合)

  • 階層構造は「アプリ(ノード群)→ROS 2(ミドルウェア)→DDS(通信規格)→OS(Linux等)」

PLCで例えるなら、トピックは「グローバルなデバイスメモリ」に近い感覚です。ただし決定的に違うのは、書く側と読む側が事前にお互いを登録し合う必要がなく、ネットワーク上で勝手に見つけ合うこと。この「勝手に見つけ合う」仕組みの正体は、有料部分でWiresharkの実パケットとして目撃してもらいます。

なぜ世界中がROSを使うのか

理由は突き詰めると1つ、**「作り直さなくていいから」**です。

ロボットシステムの開発では、画像処理、座標変換、軌道計画、衝突回避、シミュレーション…と必要な部品が膨大です。ROSにはこれらが「パッケージ」として世界中から集まっており、しかも無料です。自己位置推定も、3次元地図生成も、アームの動作計画(MoveIt 2)も、可視化ツール(RViz)も、全部既製品がある。

研究室で生まれた技術が、そのまま産業界の共通言語になった。それがROSです。


第2部 ROSで何ができる? 〜カメラ+ロボット+Linux PCの現実的な姿〜

「で、結局ROSで何ができるの?」に答えます。典型的な実用構成はこれです。

カメラとロボットとLinuxPC
  • カメラ(USB / GigE / RealSenseなどの3Dカメラ)をLinux PCに接続

  • PC上でノードの鎖を作る: カメラドライバ → 物体認識(YOLO等のAI) → 動作計画(MoveIt 2) → ロボットドライバ

  • ロボットドライバだけが有線Ethernetでロボットコントローラとつながる

  • ノード間はすべてトピック経由(/image_raw → /detections → /joint_trajectory)

これで「カメラで見て、考えて、掴む」システムが組めます。バラ積みピッキング、外観検査と連動したハンドリング、人と場所を共有する協働作業。いずれも基本形はこの鎖です。

ここで注目してほしいのは、メーカー依存なのは端っこの「ロボットドライバ」だけという点です。

カメラを替えても、ロボットをFANUCから安川に替えても、真ん中の認識・動作計画のノードはそのまま使い回せます。ティーチングペンダントの方言を8社分覚える世界と、どちらが生産的かという話です。

ただし、この「ロボットドライバ」こそが曲者です。各社の対応レベルは驚くほどバラバラで、ここを見誤ると「ROS対応って書いてあったのに使い物にならない」という事故が起きます。これは有料部分の比較表で徹底的にやります。


第3部 ROS 1とROS 2 〜もう迷う必要はない〜

ネットでROSを調べると、情報が古いのか新しいのか分からず混乱します。先に結論を言います。

ROS 1は終わりました。これから学ぶならROS 2一択です。

ROS1とROS2の違い
  • ROS 1: 開発終了。最終版NoeticはEOL済み(2025年5月でサポート打ち切り)

  • ROS 1の通信は独自プロトコルで、roscoreという司令塔が落ちると全滅する構造だった

  • ROS 2: 現行。毎年5月に新版が出て、最新LTSは2031年までサポート

  • ROS 2の通信は国際標準規格DDSを採用。司令塔なしの完全分散

  • ROS 2はリアルタイム制御を設計段階から考慮(ros2_controlで1kHz級の制御ループ)

  • 産業界の公式対応(FANUC・安川・UR・三菱・デンソー)はすべてROS 2

見分け方のコツ: 記事中に「roscore」「catkin」「rostopicコマンド」が出てきたら、それはROS 1時代の古い情報です。そっと閉じてください。

ROS 2最大の変更点は、通信を独自実装から**DDS(Data Distribution Service)**という国際標準規格に載せ替えたことです。DDSは戦闘機や艦船、発電所の制御系で使われてきた、由緒正しい分散通信規格です。「研究のオモチャ」だったROS 1と、「産業で使う前提」のROS 2の違いはここに凝縮されています。

そしてこのDDS、実は普通のUDP/IPパケットで通信しています。つまり——Wiresharkで丸ごと見えます。これが本記事後半の主役です。


第4部 Isaac ROSとは何者か 〜ROS 2の敵ではなく相棒〜

最近「Isaac ROS」という言葉をよく聞きます。「NVIDIAがROSの対抗馬を出したのか?」と誤解されがちですが、違います。

**Isaac ROSは、ROS 2の上で動く「NVIDIA製のGPU高速化部品集」**です。対決ではなく、土台(ROS 2)と加速装置(Isaac ROS)の関係です。

ROS2とIsaacROSの違い
  • ROS 2: ロボット開発の土台。無料。GPU不要。どんなPCでも動く

  • Isaac ROS: ROS 2用のGPU高速化パッケージ群。無料(Apache 2.0)。NVIDIA GPU必須

  • 中身の例: cuVSLAM(自己位置推定)、cuMotion(軌道計画高速化)、FoundationPose(物体の姿勢推定)、NITROS(ノード間のGPUゼロコピー転送)

  • 使いどころ: 画像認識やSLAMが重くて間に合わないとき、GPUで数倍に加速する

  • 動かす場所: Jetson(手のひらサイズのエッジAIボード)またはRTX搭載PC

なお、NVIDIAの「Isaac」ブランドは3兄弟なので混同注意です。Isaac ROS(実機用の高速化部品)、Isaac Sim(シミュレータ)、Isaac Lab(Isaac Sim上の学習フレームワーク)。FANUCが自社シミュレータROBOGUIDEとの連携を発表したのはIsaac Simの方です。

FANUCの発表資料に「NVIDIA JetsonやIsaac Simと連携」とあったのは、つまりこういう文脈です。ロボットの頭脳(AI認識)はJetson+Isaac ROSで動かし、検証はIsaac Simの仮想空間でやり、実機はROS 2ドライバで1ms制御する。「フィジカルAI」の正体は、この3点セットの組み合わせです。


ここまでのまとめ、そしてここからが本番

無料部分はここまでです。整理しましょう。

  • ROSはOSではなく「通信ミドルウェア+世界の部品棚」

  • 典型構成はカメラ+Linux PC+ロボット。メーカー依存はドライバだけ

  • 学ぶならROS 2一択。通信は国際標準DDSで、普通のEthernetに流れる

  • Isaac ROSはROS 2の上に載るGPU加速部品。FANUCのフィジカルAI戦略もこの文脈

ここから先の有料部分では、「知っている」と「見たことがある」の壁を越えます。内容は以下です。

🔬 第5部: Wiresharkでロボットの神経信号を実際に覗く
筆者が実際にROS 2の通信をパケットキャプチャしました。ノード同士が設定ゼロで勝手につながる「自動発見」の瞬間、トピック名が生の文字列でパケットに書かれている証拠、"Hello World"が1バイト単位でどう電線を流れるか。Wiresharkの実データでROS 2の通信を解剖した日本語記事は、探してもまず見つかりません。

🏭 第6部: 8社徹底比較 〜「ROS対応」の中身は全然違う〜
FANUC・安川・UR・ABB・KUKA・三菱・デンソー・川崎。公式サポートの有無、外部制御の最小周期(1ms〜12ms)、通信方式を1枚の表に。安川だけが採った異色アーキテクチャ、大手で唯一公式ドライバが無い会社はどこか。

🤔 第7部: 「ROSを使わず自前で通信を書いた方が速いのでは?」への答え
エンジニアなら一度は必ず抱く疑問に正面から答えます。結論を少しだけ言うと「半分正しい」——そして実は、メーカー各社もROSの設計者自身も、あなたと同じ結論に達しています。「どこを自前で書き、どこをROSに任せるか」の線引きを1枚の図にしました。

第8部: FANUC「1ms」の検証 〜すごい点と、カタログには書いていない条件〜
1msが使える本当の条件(コントローラ世代と有償オプション)、公式ドキュメントが自ら警告する「ロボットが振動するリスク」、周期と遅延の違い。褒めるだけの提灯記事でも、腐すだけの逆張り記事でもない、両論併記の検証です。

価格はコーヒー2杯分の980円。装置トラブルの調査で丸1日溶かすことを思えば、ロボット通信の中身を1バイト単位で理解できる読み物としては安い投資のはずです。この記事を読んだあなたと読んでいない同僚とでは、次に「ROS対応」という営業資料を見たときの解像度が別物になります。

ここから先は

8,448字 / 7画像

¥ 980

Amazon Payで支払うと最大2%還元のチャンス! 9/30まで

この記事が気に入ったらチップで応援してみませんか?