技術情報・開発日誌

CRANE-X7 ROS 2パッケージJazzy版をリリースしました

技術情報・開発日誌

CRANE-X7のROS 2 Jazzy版パッケージをリリースしました。Jazzyへの対応に加えて、moveit_pyサンプルパッケージの追加や、実機を用いずに動作確認が可能なMock componentsにも対応しております。本記事ではJazzy版パッケージの変更点と簡単な導入方法についてご紹介します。

CRANE-X7のご紹介

CRANE-X7はアールティが販売しているアームロボットです。7自由度のアームにグリッパを搭載しています。今回ご紹介するROS 2パッケージを使用することでボールを掴んで移動させるといった動作が簡単にプログラミングできます。

また、アールティが公開しているC++ライブラリを用いることで外力に柔軟な制御をすることができます。

詳細な特徴は下記の製品ページをご覧ください。

https://rt-net.jp/products/crane-x7/

CRANE-X7は下記の販売ページから購入できます。

CRANE-X7 [RT-CRANE-X7] - ¥990,000.- : アールティロボットショップ, ロボットキット、部品は専門スタッフがいるアールティへ!
アールティロボットショップ CRANE-X7 - 実機で動力学が学べるロボットアーム CRANE+ V2の上位機種である、ROS/ROS 2に標準対応した研究・開発用ロボットです。 コンパクトでスタイリッシュ!協働型ロボットの研究に最適です...

今回ご紹介するCRANE-X7 ROS 2パッケージは下記のGitHubリポジトリで配布しています。シミュレータ用パッケージも同梱されているので購入前の参考にも是非ご利用ください。インストール方法はパッケージのREADMEに記載されています。

GitHub - rt-net/crane_x7_ros at jazzy
CRANE-X7 ROS / ROS 2 Packages. Contribute to rt-net/crane_x7_ros development by creating an account on GitHub.

Jazzy対応のお知らせ

CRANE-X7のROSパッケージが最新のROS 2長期サポート版ディストリビューションであるJazzy Jaliscoに対応しました。

Jazzy版のパッケージはGitHubリポジトリのjazzyブランチにて公開しております。ひとつ前の長期サポート版ディストリビューションであるHumble版のパッケージが必要な場合は、ros2ブランチではなくhumbleブランチを参照してください。

パッケージの基本機能は以前から変更ありませんが、本リリースに合わせて新機能を追加したため、合わせてご紹介します。

moveit_pyサンプルパッケージの追加

アームロボットを使ったマニピュレーションプラットフォームであるMoveit 2に、Jazzy版からPythonインターフェース (moveit_py) が追加されました。そのため以前からご要望の多かったPython版のサンプルパッケージを追加しました。Pythonによる開発に慣れている方は、より入門しやすくなったかと思います。

crane_x7_ros/crane_x7_examples_py at jazzy · rt-net/crane_x7_ros
CRANE-X7 ROS / ROS 2 Packages. Contribute to rt-net/crane_x7_ros development by creating an account on GitHub.

動作はC++版のサンプルと同様です。サンプルに関する詳細はcrane_x7_examples_pyのREADMEをご覧ください。

Mock componentsへの対応

Mock componentsを使用することで、実機を用いずに簡単にアームの動作を確認できるようになりました。

Mock componentsとは、ros2_controlの機能のひとつで、入力した指令値をそのまま現在の状態として出力する仮想的なハードウェアコンポーネントです。たとえば関節角度の指令値を送ると、そのまま現在の関節角度に反映されます。

シミュレータであるGazeboとの大きな違いは、物理演算等を行っていないことです。そのためros2_controlによるアームの動作のみを確認したい場合は、より計算リソースが少ない環境でも動作確認ができます。

Mock componentsを使用する場合は、パッケージインストール後に下記のコマンドを実行してください。RVizが起動し、実機とほぼ同様に動作します。

ros2 launch crane_x7_examples demo.launch.py use_mock_components:=true

インストール方法

CRANE-X7のROS 2パッケージのインストール方法について簡単にご紹介します。詳細はcrane_x7_rosのREADMEをご覧ください。

まずはじめにワークスペースを作成し、パッケージをGitHubからクローンします。

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone -b $ROS_DISTRO https://github.com/rt-net/crane_x7_ros.git
git clone -b $ROS_DISTRO https://github.com/rt-net/crane_x7_description.git

次に依存パッケージをインストールします。

rosdep install -r -y -i --from-paths .

最後にパッケージのビルドを行います。

cd ~/ros2_ws
colcon build --symlink-install
source ~/ros2_ws/install/setup.bash

実機の動作手順例

実機のCRANE-X7を動かす場合はUSB通信ポートの設定を行う必要があります。crane_x7_controlのREADMEの手順に従って設定を行ってください。

CRANE-X7は下記のコマンドで起動します。

ros2 launch crane_x7_examples demo.launch.py port_name:=/dev/ttyUSB0

別の端末を立ち上げて下記のコマンドを実行するとグリッパが開閉します。

ros2 launch crane_x7_examples example.launch.py example:='gripper_control'

シミュレータの動作手順例

ロボットシミュレータGazeboを用いることで、実機を使用せずにアームの動作をシミュレーションすることも可能です。

シミュレータは下記のコマンドで起動します。

ros2 launch crane_x7_gazebo crane_x7_with_table.launch.py

別の端末を立ち上げて下記のコマンドを実行するとグリッパが開閉します。

ros2 launch crane_x7_examples example.launch.py example:='gripper_control' use_sim_time:=true

おわりに

今回はCRANE-X7のJazzy版パッケージリリースについてお知らせしました。また、moveit_pyサンプルパッケージの追加やMock components対応、簡単なインストール手順についてご紹介しました。今後ともCRANE-X7をよろしくお願いします。

タイトルとURLをコピーしました