Moveit2 ビルド&動作検証


概要

Moveit2が少し動きそうな感じなので、サンプルプログラムを動作させた記録です。

対象

  • ROS2触ったことがある人
  • Moveit2に関心のある人
  • 過去のMoveit2をビルドして苦い経験のある人

環境

Ubuntu 18.04
ROS2 Eloquent

ROSと関連のビルドツールのインストールは公式のインストラクション
ビルドチュートリアルを参照してください。

準備

0.必要なソフトウェアの準備

依存ソフトウェアの取得にvcstoolが必要なので、下記のコマンドでインストールします。

$ sudo apt-get install python3-vcstool

1.ワークスペースの作成

下記のコマンドでワークスペース作ります。

$ export COLCON_WS=~/ws_ros2/
$ mkdir -p $COLCON_WS/src
$ cd $COLCON_WS/src

2.ソース取得

Githubからソースを取得後、vcsを使って依存関係にあるソースを集めます。

$ git clone https://github.com/ros-planning/moveit2.git -b master
$ vcs import < moveit2/moveit2.repos
$ vcs import < moveit2/moveit_demo_nodes/run_moveit_cpp/run_moveit_cpp.repos # ros2control等が不足しているので必要
$ rosdep install -r --from-paths . --ignore-src --rosdistro eloquent -y

3.ビルド

以下のコマンドでビルドします。

$ cd .. # ワークスペース直下に戻る
$ colcon build --event-handlers desktop_notification- status- --cmake-args -DCMAKE_BUILD_TYPE=Release

起動方法

以下のコマンドで起動できました。

$ ros2 launch run_moveit_cpp run_moveit_cpp.launch.py

成功するとrvizが起動して、下記の画面が表示されるはずです。

しばらくするとPandaと障害物のブロックが表示されPlanning経路が半透明のモデルで示されます。

Pandaが障害物を避けて動作すれば成功です。

メモ&総括

昔、仕事でやったときはかなり苦労したのですが、大分ちゃんとしてきた印象です。

また、まだMoveit!のようにボールを動かしてプランニングすることはできないようです。
URや他のロボットアームのドライバソフトが動かせると楽しそうですが、色々準備しなければ難しそうですね。。。。

参考資料