ROS入門 (35) - MoveItのセットアップ
「MoveIt」のセットアップ方法をまとめました。
前回
1. MoveIt
「MoveIt」はロボット制御用のプラニングフレームワークです。
次のような機能を提供しています。
2. ワークスペースのセットアップ
「ROS入門 (8) - ROS1のパッケージの作成」と同様です。
3. パッケージの準備
今回は、「moveit_tutorials」と「panda_moveit_config」を使います。
「panda」はFrankaEmikaのロボットアームです。
(1) 「moveit_tutorials」と「panda_moveit_config」をクローン。
$ cd ~/catkin_ws/src
$ git clone https://github.com/ros-planning/moveit_tutorials.git -b melodic-devel
$ git clone https://github.com/ros-planning/panda_moveit_config.git -b melodic-devel
(2) パッケージの依存関係のインストール。
$ sudo apt update
$ rosdep update
$ rosdep install -y --from-paths . --ignore-src --rosdistro melodic
(3) ワークスペースのビルド。
$ cd ~/catkin_ws
$ catkin config --extend /opt/ros/${ROS_DISTRO} --cmake-args -DCMAKE_BUILD_TYPE=Release
$ catkin build
(4) ワークスペースのセットアップ。
$ source ~/catkin_ws/devel/setup.bash
4. rvizの起動
「rviz」の「MotionPlanningプラグイン」を使って、「MoveIt」でロボットアームを制御する様子を可視化します。
(1) rvizの起動。
$ roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
(2) DisplaysタブのAddボタンを押し、「MotionPlanning」を選択し、OKボタンを押す。
rvizにpandaが表示されます。
(3) 「Displays → Global Options 」で以下を設定。
(4) 「Displays → MotionPlanning 」で以下を設定。
5. ロボットの表示
ロボットの表示には4種類あり、「Displaysタブ」の「MotionPlanning 」で表示・非表示を切り替えることができます。
6. インタラクティブマーカー
ロボットのスタート姿勢とゴール姿勢を表示すると、緑と橙のアームが表示されます。各アームのエンドポイントには「インタラクティブマーカー」が表示され、矢印をドラッグすること平行移動、円をドラッグすることで回転できます。
7. アームの衝突判定
アームのリンクを衝突させると、衝突しているリンクが赤くなります。
「MotionPlanning → Planning」の「Collision-Aware IK」をONにすることで、衝突のないエンドエフェクタの姿勢を見つけようとします。OFFの場合、衝突を許可します。この状態に関係なく、衝突しているリンクは赤くなります。
8. モーションプランニング
スタート姿勢とゴール姿勢を指定することで、軌跡を計算し、アームを動かすことができます。
今回は、現在のロボットの姿勢を非表示にして、スタート姿勢とゴール姿勢とその間の軌跡を表示します。
(1) マーカーでアームのスタート姿勢を指定。
(2) マーカーでアームのゴール姿勢を指定。
(3) アームのリンクが衝突していない(赤くなっていない)ことを確認。
(4) 「MotionPlanningタブ」の「Planning」の「Plan」ボタンを押す。
スタート姿勢からゴール姿勢までの軌跡が表示されます。
9. 関連
次回
この記事が気に入ったらサポートをしてみませんか?