えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

誤家庭モータをROS2で回してみた(EPOS4)

誤家庭モータをROS1で回してみた(MAXON EPOS4) - えいあーる・れいの技術日記の続きです。

 前回はROS1でマクソンモータを回したわけですが、ROS1の環境がロードされた環境だと、EPOS4とPCの通信がうまくいかないというバグ(?)があり、使いにくいプログラムとなっていました…

 そこで、これからはROS2の時代!ということでROS2対応にしました。幸いROS2環境下ではバグが起こらないことを確認しているので、直接トピックを受信できるようにしました。残念ながらまだモータの状態を取得できるようにはなっていません。あくまで移植ということで。

f:id:Ray_ar:20210219232036p:plain
TwistメッセージからEPOS4へのROS2トピックのつなぎ方

 プログラムはGithubリポジトリにアップします。

github.com

 インストール方法は~/<your ros2_ws>/src/EPOS_ROS2/epos_single/EPOS_INSTALL/install.shを実行してライブラリのインストールを行い、ROS2環境でプログラムをコンパイルするだけです。

  • 実行例

ros2 run epos_single epos_node params:=src/epos_single/yaml/epos0.yaml ros2 run epos_single epos_node params:=src/epos_single/yaml/epos1.yaml ros2 run teleop_twist_keyboard teleop_twist_keyboard ros2 run twist_2wheels_ros twist2wheels

 今回作成したのはDashing用に作っているため、後々Foxy以降にも対応するように書き換えて動作確認をしようと思っています。

 また、現時点では、安全等も考慮していないのでそこの修正は急ぎでしておきたいところです。