今回は、ROS 2 でロボットの制御をしたい方に向けて、モベンシスが公開した「WMX R2」が何者なのかをお伝えします。2026年8月に正式リリースが案内されたばかりで、日本語の情報がほとんどありません。そこで、公式ドキュメントと GitHub の公開ソースを読んで、要点を整理しました。
先にお断りしておくと、この記事はまだ実機で動かしていない段階のまとめです。Ubuntu とリアルタイムカーネルの環境が必要なので、なかなかハードルが高いですね。ですので「こう書いてある」という話が中心になります。それでも、ライセンスの中身や必要な環境は、始める前に知っておいたほうが絶対にいいところなので、そこを厚めに書きました。
WMX R2 とは何か
WMX R2(ダブリューエムエックス・アールツー)は、モベンシスのソフトウェアモーションコントローラ「WMX3」を、ROS 2 から使うためのインターフェースパッケージです。WMX3 の C++ API を、ROS 2 で標準的なノード・トピック・サービス・アクションの形に包み直したもの、と考えるとわかりやすいと思います。
名前の「R2」は、ROS 2 と Real-time Robotics(リアルタイム・ロボティクス)の両方を指しています。もともと 2026年3月に wmx-ros2 という名前で GitHub に公開され、その後 wmx-r2 にリネームされて機能が広がった、という経緯です。
公式ドキュメントでは、その役割をこう説明しています。
MoveIt 2 や Nav 2 といったプランナが出力した軌道を、正確なタイミングのサーボ動作に変換する。知覚とモーション制御を1台のエッジデバイスに統合し、外部モーションコントローラを不要にする。
なぜ「実行レイヤー」と呼ぶのか
モベンシスは WMX R2 を「Physical AI(フィジカルAI)のためのリアルタイム実行レイヤー」と表現しています。ここでいう Physical AI とは、AI が現実世界のロボットを動かす分野のことです。
この分野でよくある構成は、AI の推論を GPU 付きの PC で回し、そこからネットワーク越しにロボット専用コントローラへ指令を送る、というものです。AI が「こう動け」と判断する部分(Think)と、実際にサーボが回る部分(Act)が、別々の機械に分かれているわけですね。
この構成だと、あいだのネットワークで遅延が発生します。判断は正しくても、届くのが遅ければ狙った軌道からずれてしまう。WMX R2 が狙っているのは、この Think と Act のあいだを詰めて、1台の PC の中で AI 推論とモーション制御を同居させることです。
モベンシスは NVIDIA GTC 2026 のポスターセッションで、NVIDIA Jetson Orin 上の Isaac Manipulator を使った比較実験について、外部ロボットコントローラを使う従来構成に比べて追従誤差(平均絶対誤差、MAE)を約85%削減したと発表しています。ただし測定条件(軌道の内容、制御周期、比較対象の具体的な機種など)は公開されていませんので、そういう発表があった、という受け止め方でいいと思います。
GitHub で公開されているもの
モベンシスの GitHub 組織アカウント(github.com/movensys)には、関連するリポジトリが並んでいます。役割を整理するとこうなります。
| リポジトリ | 役割 |
|---|---|
wmx-r2 | 本体。ROS 2 インターフェース(C++) |
wmx-r2-doc | 公式ドキュメント一式 |
movensys-manipulator | Dobot CR3A / CR5A 用のマニピュレータ制御スタック |
movensys-navigation | 差動駆動の移動ロボット向け |
movensys-intelligence | 視覚・音声・記憶を担う「知能レイヤー」 |
movensys-simulation | NVIDIA Isaac Sim 用のシーンデータ |
本体の wmx-r2 は、さらに2つのパッケージに分かれています。wmx_r2_message がメッセージとサービスの定義、wmx_r2_package がノード・launch ファイル・ロボット設定です。ビルドするときは、メッセージ定義を先に通す必要があります。
colcon build --packages-select wmx_r2_message
colcon build
知能レイヤーには何が入っているか
movensys-intelligence は、自然言語でロボットに指示を出すための層です。中身を見ると、VLM(Vision-Language Model、視覚言語モデル)として Gemma 4、音声認識に Whisper large-v3、記憶の保存に Qdrant というベクタデータベースが使われています。
デモとして「Robopoly」というボードゲームのアプリケーションが入っていて、YOLO と AprilTag でコマを認識し、VLM の判断でロボットアームが掴んで置く、という動きをします。展示会で話題になっていたあれですね。
フリーライセンス版の実際
ここが、この記事でいちばんお伝えしたいところです。
「GitHub でフリーライセンス版を公開」と聞くと、全部が無料で使えるように思えます。ですが公式ドキュメントのライセンスページを読むと、話は2階建てになっています。
| 対象 | ライセンス |
|---|---|
wmx_r2_message / wmx_r2_package / wmx_r2_control、および movensys-manipulator などのサンプル | MIT ライセンス(自由に使用・改変・再配布できる) |
WMX モーションエンジン本体(/opt/wmx3/ に入るランタイム)、WMX3 SDK、EtherCAT の NIC ドライバ | プロプライエタリ(評価用または商用ライセンス) |
つまり MIT なのは ROS 2 のラッパー部分だけで、実際にサーボを回すエンジンは従来どおり有償製品です。公式ドキュメント自身も「MIT ライセンスのソースコードは単独では動作せず、ビルドと実行にプロプライエタリの SDK とランタイムを必要とする」と明記しています。
では無償で試す部分はどうなっているかというと、ドキュメントにはこう書かれています。
更新可能な6時間のエンジンセッション。エンジンを再起動することで延長できる。評価および開発用途を想定。
商用ライセンスを購入すると、この時間制限が外れます。6時間ごとにエンジンを再起動すれば、開発や評価は無償で続けられる、という理解でよさそうです。試すぶんには十分ですが、そのまま製品に載せられるものではない、という線引きですね。
ちなみにこの6時間という条件は、GitHub の README には書かれていません。ドキュメントサイトのライセンスページにだけ書いてあります。README だけ読んで「MIT だから全部自由だ」と思い込むと、あとで戸惑うところなので、最初に押さえておきたいポイントです。
動かすのに必要な環境
もうひとつ、始める前に知っておきたいのが動作環境です。WMX R2 は Windows では動きません。
| 項目 | 要件 |
|---|---|
| OS | Ubuntu 22.04 LTS(ROS 2 Humble)または Ubuntu 24.04 LTS(ROS 2 Jazzy) |
| カーネル | PREEMPT_RT パッチ(プリエンプト・アールティー。リアルタイムカーネルパッチ)が必須。導入時は Secure Boot を無効化 |
| 通信ミドルウェア | RMW(ROS Middleware)は CycloneDDS を指定 |
| CPU | x86_64 または arm64。推奨は Intel Core i7 クラス、または NVIDIA Jetson Orin / Thor |
| メモリ | 最低 4GB、推奨 8GB 以上 |
| ネットワーク | EtherCAT(イーサキャット)。制御周期は 250µs〜1ms が典型 |
| 実行権限 | root 権限が必要(リアルタイムスケジューリングと NIC の直接アクセスのため) |
WMX3 は長いあいだ Windows 専用でしたが、v3.7 で Linux と PREEMPT_RT に対応しました。その上に乗っているのが WMX R2 です。配布物のファイル名は 20260729_WMX3_v3.7_Linux_x86.zip のような形で、x86_64 版と Jetson 向けの ARM64 版があります。
unzip 20260729_WMX3_v3.7_Linux_x86.zip
sudo dpkg -i *wmx3-installer.deb
Debian パッケージとして /opt/wmx3/ にインストールされます。インストール後は、ブートパラメータで CPU コアを隔離し、/opt/wmx3/Module.ini の CpuAffinity を設定する、という作業が続きます。リアルタイム制御をソフトウェアでやる以上、ここは避けて通れないところですね。
C# 版の WMX3 を知っている方へ
このブログをいつも読んでくださっている方に向けて、ひとつ付け加えておきます。WMX R2 は Linux と ROS 2 の世界のもので、これまで扱ってきた Windows + C# の WMX3 とは別のスタックです。同じ「WMX」でも、そのまま地続きではありません。
ただ、面白いのはAPI の名前がほぼそのまま対応していることです。WMX R2 が公開している ROS 2 サービスを見ると、C# で書いてきた処理と一対一で並んでいるのがわかります。
| C#(Windows 版 WMX3) | WMX R2 の ROS 2 サービス |
|---|---|
Wmx3Lib.CreateDevice(...) | /wmx/engine/set_device |
Wmx3Lib.StartCommunication(...) | /wmx/engine/set_comm |
cm.AxisControl.SetServoOn(...) | /wmx/axis/set_on |
cm.Config.SetAxisParam(...) | /wmx/params/load、/wmx/params/get |
原点復帰(cm.Home 系) | /wmx/axis/homing |
io.SetOutBit(...)、io.GetInBit(...) | /wmx/io/set_output_bit、/wmx/io/get_input_bit |
ecat.ScanNetwork() | /wmx/engine/scan_network |
ecat.GetMasterInfo(...) | /wmx/ecat/get_network_state |
軸の状態は /wmx/axis/state トピックに流れ、位置指令は /wmx/axis/position、速度指令は /wmx/axis/velocity をサブスクライブする形です。/joint_states や /odom_enc といった ROS 2 の標準的なトピックも出しているので、MoveIt 2 や Nav 2 からはふつうのロボットとして見えます。
C# でサーボ ON やアラームクリアを書いたことがあれば、名前を見ただけで何をするサービスかわかる。この感覚は、ROS 2 に移るときの助けになると思います。
ここまでの流れ
WMX R2 は、いきなり出てきたものではありません。2026年に入ってからの動きを並べると、流れが見えてきます。
| 時期 | できごと |
|---|---|
| 2026年3月 | Automation World 2026(ソウル)で Physical AI 向けの実行基盤としてコンセプトを発表。同月、GitHub に ROS 2 パッケージを公開 |
| 2026年3月 | NVIDIA GTC 2026 のポスターセッションで、Jetson Orin を使った比較実験の結果を発表 |
| 2026年5月 | Intel Edge Solution Summit 2026 で、Intel Core Ultra Series 3 と OpenVINO、Intel TCC を組み合わせ、1台の AI PC 上で AI 推論とロボット制御を同時に実行するデモ |
| 2026年7月 | フィジカルAI展(東京ビッグサイト)で、NVIDIA Jetson Thor を載せた産業用 PC によるデモを展示 |
| 2026年8月 | WMX R2 として正式リリースを案内 |
注意事項
- まだ動きの速い段階です。 執筆時点で
wmx-r2にはリリースタグが1つも切られておらず、main ブランチが日々更新されています。試すときは、動いたコミットを控えておくと安全です。 - MIT の範囲を勘違いしないこと。 自由に改変・再配布できるのは ROS 2 のラッパー部分だけです。エンジンは別ライセンスです。
- 環境構築の段差があります。 PREEMPT_RT カーネルの導入、Secure Boot の無効化、CPU コアの隔離と、通常の ROS 2 開発より一段手前の作業が必要です。
- 日本語の情報がまだほとんどありません。 公式ドキュメントは英語です。困ったときの検索先が少ないことは、あらかじめ見込んでおいたほうがよさそうです。
まとめ
- WMX R2 は WMX3 の ROS 2 インターフェース:MoveIt 2 や Nav 2 の出力を、EtherCAT 経由のサーボ動作に変換する実行レイヤーです
- 狙いは Think と Act のあいだの遅延をなくすこと:外部ロボットコントローラを挟まず、1台の PC で AI 推論とモーション制御を同居させます
- フリーライセンス版=6時間セッションの評価版:MIT なのは ROS 2 のラッパーだけで、エンジン本体は再起動で延長する時間制限つきです
- 動作環境は Ubuntu + PREEMPT_RT:Windows では動きません。root 権限と CPU コアの隔離が必要です
- API の名前は C# 版とほぼ対応:サーボ ON、I/O、EtherCAT のスキャンなど、見慣れた処理がそのままサービス名になっています
終わりに
私はロボットを業務で使うことは今のところなさそうですが、面白そうなので調べてみました。Physical AIという単語も出てきて、勉強することがどんどん出てきますね。

コメント