🌊

Maxon Motorを回す 〜ROS 2編〜

に公開

概要

NuTech-Rというチームでロボカップレスキュー実機リーグに参加している者です。
チームでは、Maxon Motor社製のモータを使ってロボット開発しています。
この記事では、後輩たちがスムーズにMaxon Motorの制御を習得できるようにモータ制御方法について解説します。今回はROS2を使ったモータ制御について詳しく解説していきます。

0. 動作環境と用意したもの

  • Ubuntu 22.04 + ROS 2 Humble
  • USB Micro B ケーブル
  • 電源装置
  • EPOS4 Compact 50/8 CAN
  • Maxon組み合わせギアヘッドモータ(製造番号:488042)
    • EC-max 30 Ø30 mm, ブラシレス, 60 Watt, ホールセンサ内蔵(製造番号:272763)
    • プラネタリギアヘッド GP 32 C Ø32 mm, 1.0 - 6.0 Nm, セラミック・バージョン(製造番号:166936)
    • エンコーダ HEDL 5540, 500 カウント/回転, 3 チャンネル, ラインドライバ RS 422(製造番号:110514)

↓ モータの購入先リンク
https://www.maxongroup.co.jp/maxon/view/service_search?query=488042

1. ROS 2のインストール

Ubuntu22.04にROS 2の環境がインストールされていない人は下記の記事を参考にしてください。この記事では具体的な説明は割愛させていただきます。
https://qiita.com/porizou1/items/5dd915402e2990e4d95f

2. EPOS用ROS 2パッケージのインストール

https://github.com/NuTech-R/epos

source /opt/ros/humble/setup.bash
rosdep update
cd ~/ws/src

git clone https://github.com/NuTech-R/epos
. epos/install-scripts/install-epos-command-library
cd ~/ws/src/
rosdep install -r -y -i --from-paths .

3. ビルド

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

4. 使用方法

ターミナル1

ros2 launch epos epos4_usb_can_gateway.launch.xml

ターミナル2

ros2 topic pub /epos/motor1/move_with_velocity std_msgs/msg/Float32 "data: 0.0"
or
ros2 topic pub /epos/motor1/move_with_velocity std_msgs/msg/Float32 "data: 1000.0"

参考資料

https://www.maxongroup.com/medias/sys_master/8823917281310.pdf

NuTech-R (長岡技術科学大学 レスキュー工学研究室)

Discussion