ROS2 MoveIt2チュートリアル(1) -
Moveit2のインストールとモーションプランニング
(掲載 2025年08月26日)
MoveIt2とは?基本的な機能と役割
MoveIt2は、ROS2 (Robot Operating System 2)
上で動作するロボットアームの動作計画(モーションプランニング)と軌道生成を支援するフレームワークです。主に以下の機能を提供しています。
- 運動学(純運動学・逆運動学)の計算
ロボットアームの各関節の角度からアームの姿勢やアーム先端(エンドエフェクタ)の位置を導く順運動学と、エンドエフェクタの姿勢からロボットアームの各関節の角度を導く逆運動学の計算を行います。
- モーションプランニング(動作計画)
あるロボットアームの姿勢から目標とする姿勢に動作するための経路(パス)を作成します。
- 衝突回避
ロボットアームが障害物と衝突しないように、パスを調整します。
- 軌道生成
モーションプランニングで得られたパスを、実際にロボットが動けるように「時間軸上の動き(速度や加速度)」へ変換します。
- マニピュレーション
ロボットアームがコップを持ち上げたり、ネジを締めたりといった、物体と関連する動作を制御します。
- シミュレーション
GazeboやRVizを使用して、ロボットアームの動作をシミュレーションできます。
MoveIt2のインストールとセットアップ
1. ROS2のインストール
ROS2の公式サイトや以下の記事を参考に、ROS2をインストールします。
この記事では以下の環境で説明していきます。
項目 |
内容 |
OS |
Ubuntu 22.04 |
ROS2 |
Humble |
2. rosdepとaptのアップデート
システムの依存関係をインストールするために、rosdepをインストールしてパッケージが最新であることを確認します。
$ sudo apt install python3-rosdep
$ sudo rosdep init
$ rosdep update
$ sudo apt update
$ sudo apt dist-upgrade
3. Colconのインストール
ROS2のパッケージをビルドするためのツールであるColconをインストールします。
$ sudo apt install python3-colcon-common-extensions
$ sudo apt install python3-colcon-mixin
$ colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
$ colcon mixin update default
ROS2のパッケージ管理ツールであるvcstoolをインストールします。
$ sudo apt install python3-vcstool
5.
ワークスペース作成とMoveIt2のビルド
ワークスペースを作成し、MoveIt2のパッケージをビルドします。
今回は、MoveIt2公式のチュートリアルパッケージソースをダウンロードしてビルドします。
$ mkdir -p ~/ws_moveit/src
$ cd ~/ws_moveit/src
$ git clone -b humble https://github.com/moveit/moveit2_tutorials
$ vcs import --recursive < moveit2_tutorials/moveit2_tutorials.repos
Colconを使用して、MoveIt2のパッケージをビルドします。
$ sudo apt remove ros-$ROS_DISTRO-moveit*
$ sudo apt update && rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
$ cd ~/ws_moveit
$ colcon build --mixin release
※ビルドには時間がかかる場合があります。
6.
ワークスペースのセットアップ
ビルドが完了したら、ワークスペースをセットアップします。
$ source ~/ws_moveit/install/setup.bash
※このコマンドは、ターミナルを開くたびに実行する必要があります。毎回手動で実行するのが面倒な場合は、~/.bashrc
に追加して自動おくと便利です。
$ echo "source ~/ws_moveit/install/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
RVizを使ったモーションプランニングのデモ
RVizは、ROS2の可視化ツールで、ロボットの状態やセンサー情報を3Dで表示することができます。MoveIt2と連携して、ロボットの動作を視覚的に確認することができます。
チュートリアルパッケージには、MoveIt2とRVizを使用してロボットアームのモーションプランニングを行うデモが含まれています。以下の手順でRVizを起動し、ロボットアームのモーションプランニングを実施します。
1. デモの起動
以下のコマンドでデモを起動します。
$ ros2 launch moveit2_tutorials demo.launch.py
2. RVizに「MotionPlanning」のプラグインを追加
RViz左下に「MotionPlanning」パネルがない場合は、プラグインを追加します。
- RViz左側のパネルで「Add」をクリックします。

- 「MotionPlanning」を選択し、「OK」で追加します。
- RViz左下に追加した「MotionPlanning」パネルが表示されます。

3. モーションプランニングの実行
- RViz左上の「Display」パネルで次のチェックボックスを有効化します。
- MotionPlanning/Planning Request/Query Start State
- MotionPlanning/Planning Request/Query Goal State

- RViz中央のビュアーにアームの「Query Start
State」(初期姿勢:緑)と「Query Goal
State」(目標姿勢:オレンジ)が表示されます。

上の画像では、初期姿勢(緑)は目標姿勢(オレンジ)と重なって隠れています。
- アームを動かして、初期姿勢と目標姿勢を設定します。

- RViz左下の「MotionPlanning」パネルで「Plan」をクリックし、モーションプランニングを実行します。

- プランニングが成功すると、アームの軌道が表示されます。

軌道が表示されない場合は、次のチェックボックスを有効化してください。
- MotionPlanning/Planned path/Show Trial
- 「MotionPlanning」パネルの「Execute」をクリックすると、アームの動作を確認できます。

まとめ
MoveIt2は、ROS2上でロボットアームの動きを制御するための強力なツールです。この記事では、MoveIt2の基本的な機能とセットアップ方法、RVizを使用したモーションプランニングのデモについて紹介しました。
今後は、MoveIt2を使用して、より複雑なロボットアームの動作やマニピュレーションタスクの実装を紹介していきます。
SRAでは、ROSの環境構築から各種開発まで幅広く支援いたします。(お問い合わせはこちら)
参考: Getting
Started - MoveIt Documentation: Rolling documentation
- 本ページには、弊社独自の考察・見解を記述している箇所がございます。
- 本ページの利用によって生じたいかなるトラブル・損害等について当社は一切責任を負わないものとします。
- 本ページは予告なく内容の変更や削除を行う場合があります。