moveit_commander_ros2のインストール
moveit_commander_ros2について
denso_robot_ros2のインストールが完了すれば、MoveIt2を使ってCOBOTTAを動作させることは可能です。しかし、ROS 2(humble)までは、MoveGroupInterfaceは、C++のみの実装しか提供されておらず、MoveIt1まで使用できていたMoveGrouCommanderは提供されていません。これでは、既存のプログラム資産が利用できないばかりか、C++に慣れていないユーザには、少し敷居が高いインターフェースになっています。
そこで、MoveIt1まで提供されていたMoveGroupCommanderの移植を独自に行っており、独立したパッケージとしてGithubに公開しております。なお、現在のところ、ROS 2のhumble, Iron. Jazzyにて動作確認を行っています。
moveit_commander_ros2の準備
COBOTTAをROS 2+MoveIt2+MoveGroupCommanderで動作させるために、denso_robot_ros2をビルドしたワークスペースに、ソースコードをダウンロードし、ビルドを行います。なお、moveit_commander_ros2では、ros-XXX-ros-testingのパッケージが必要ですので、事前にインストールしてください。
$ cd ~/cobotta_ws/src $ git clone https://github.com/haraisao/moveit_commander_ros2 $ cd ~/cobotta_ws $ colcon build --symlink-install
以上、ビルド時にエラーが出なければ準備完了です。
moveit_commander_ros2を利用する
moveit_commander_ros2の準備ができたら、プログラミングを行ってください。MoveIt2のオフィシャルサイトには、MoveGroupCommanderの開設はありませんので、MoveIt1のサイトにあるドキュメントを参照していただければ良いと思います。
もう少し簡単に利用するために、MoveGroupComannderを使ったサンプルクラスを公開しています。
ここを参照してください。このプログラムは、ROS1+MoveIt1での利用をターゲットにして実装したものですので、すべて動作するかどうかわかりません。もし。不具体等がありましたら、Githubの方にコメント等をお願いいたします。