🌊
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)
↓ モータの購入先リンク
1. ROS 2のインストール
Ubuntu22.04にROS 2の環境がインストールされていない人は下記の記事を参考にしてください。この記事では具体的な説明は割愛させていただきます。
2. EPOS用ROS 2パッケージのインストール
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"
参考資料

NuTech-Rは長岡技術科学大学レスキュー工学研究室のロボット開発チームです。レスキューロボットの競技会を通じてロボットの社会実装を目指して活動しています。sites.google.com/view/nutechr/home
Discussion