概要
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や他のロボットアームのドライバソフトが動かせると楽しそうですが、色々準備しなければ難しそうですね。。。。