ROS 2でCRANE+ V2を動かしてみた

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

ROS 2でCRANE+ V2を動かしてみた

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

CRANE+ V2のご紹介

CRANE+ V2はアールティが販売しているアームロボットです。4自由度のアームにグリッパが搭載されています。また、全長385mmと小型なので卓上で気軽に動かすことも可能です。

ROS 2パッケージを利用すると、たとえば次の動画のようにボールを掴んで移動させるような動作を簡単にプログラミングできます。

CRANE+ V2の詳細な特徴については、下記の製品ページをご覧ください。

https://rt-net.jp/products/cranev2/

CRANE+ V2は下記の販売ページから購入できます。シミュレータを含むROS 2パッケージは無償で公開しているため購入前の参考にご利用ください。

アームロボット CRANE+ V2 完成品 [RT-CRANEP-V2C] - ¥72,600.- : アールティロボットショップ, ロボットキット、部品は専門スタッフがいるアールティへ!
アールティロボットショップ アームロボット CRANE+ V2 完成品 - ■概要 CRANE+ V2(クラインプラスブイツー)は、ROBOTISのサーボモータを利用した教材用アームロボットです。 4自由度(4軸+グリッパ)で構成されており...

Jazzy対応のお知らせ

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

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

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

Mock componentsへの対応

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

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

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

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

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

インストール方法

CRANE+ V2のROS 2パッケージのインストール方法については、crane_plusのREADMEをご覧ください。

また、CRANE+ V2のJazzy版パッケージはリリース済みのため、下記のコマンドでもインストールできます。

sudo apt install ros-jazzy-crane-plus

パッケージのソースコードは下記のGitHubリポジトリで公開しています。

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

さらに、少ない手順でCRANE+ V2の動作環境を構築できるDocker imageも公開しています。ご興味のある方はREADMEをご覧ください。

実機の動作手順例

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

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

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

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

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

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

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

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

ros2 launch crane_plus_gazebo crane_plus_with_table.launch.py

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

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

グリッパの開閉

おわりに

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

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