Dynamixel 智能馬達快速入門 for ROS / ROS2

前言 #

Dynamixel 全系列智能馬達都有提供 Dynamixel SDK 軟體開發套件包,可支援 C/C++,ROS,Python,Java,Matlab,LabVIEW 等。本篇提供 ROS 及 ROS2 的說明。

dynamixel sdk
dynamixel ros ros2 logo

Dynamixel 智能馬達 for ROS1 #

使用硬體:
– XL430-W250-T 智能馬達
– U2D2 轉接器
– U2D2 PHB(Power Hub Board) 電源集線板
– SMPS 電源線(12V,5A)

影片章節:
0:00 Introduction
0:10 Assembling DYNAMIXEL Quick Starter Set
0:41 Install DYNAMIXEL SDK
1:37 Run the Example Code
3:32 Explain the Example Code

Q&A:
1. 人型機器人或機器手臂上有多顆串接的 Dynamixel 智能馬達,如何透過 ROS 一起控制 ?
Answer: 可以使用 Dynamixel 的 Sync Read/Write 指令,可同時傳送多顆馬達控制指令。

2. 當執行 “rossun dynamixel_sdk_examples read_write-node” 指令時,出現錯誤資訊 dynamixel_sdk_examples not found。
Answer: 在你的 package 中需要 build Dynamixel SDK library,要使用 “source ~/.bashrc” 指令,也要注意 package 放的目錄。

3. 我從 Github 下載了範例 dynamixel_sdk_example 程式,但執行後馬達並沒有轉動,扭力沒有啟動
Answer: 請檢查智能馬達的韌體版本是不是 v2 版(Protocol 2.0)。有些舊款 MX 系列的馬達,出廠韌體是 v1 版(Protocol 1.0),你需要升級韌體到 v2 版。X 系列的智能馬達,出廠時韌體都是 v2 版。AX 款的馬達是使用 Protocol 1.0。

注意事項:
1. Dynamixel 各款智能馬達(含 Dynamixel 系列 / Dynamixel-X 系列 / Dynamixel-P 系列),其韌體依款式不同,有區分 1.0 版/2.0 版,請參考此 DYNAMIXEL Protocol Compatibility Table 來判定。Dynamixel Protocol 1.0 跟 2.0 不可混用,因為 Control Table 不同。此快速入門使用的 XL430-W250-T 馬達是 Protocol 2.0。

2. Dynamixel 智能馬達有分 3-pin TTL 及 4-pin RS-485 通訊方式,如果在需要多顆不同通訊(TTL/RS-485)馬達混用串接的情形時,建議使用 DYNAMIXEL Communication Bridge 訊號轉換板

3. 下載原始碼(reading and writing Position of DYNAMIXEL by creating a simple node)
– C++ 原始碼
– Python 原始碼

Dynamixel 智能馬達 for ROS2 #

使用硬體:
– XL430-W250-T 智能馬達
– U2D2 轉接器
– U2D2 PHB(Power Hub Board) 電源集線板
– SMPS 電源線(12V,5A)

軟體及工具:
– Dynamixel SDK
– Github

* 請先安裝好 ROS2 後再進行此快速入門
* 安裝的 Github 儲存庫會依據 ROS 版本不同而有差別

影片章節:
0:00 Overview
0:08 Environment Introduction
0:16 Components Introduction
0:24 Assembly & How to connect
1:04 PC Setup: Download DYNAMIXEL SDK and build
1:32 Run DYNAMIXEL
2:17 Code Explanation

Q&A:
1. 如要設定馬達以定速轉動,而不要只是到指定位置, 要如何做?
Answer: 請更改 Dynamixel 智能馬達的 Operating Mode(Control Table Address) 為 Velocity Mode (或是 Current Mode,如需要控制扭力時),然後設定 Goal Velocity 為你需要的轉動速度。原始碼可能需要修改,可看影片 2:17 的說明。

注意事項:
1. Dynamixel 各款智能馬達(含 Dynamixel 系列 / Dynamixel-X 系列 / Dynamixel-P 系列),其韌體依款式不同,有區分 1.0 版/2.0 版,請參考此 DYNAMIXEL Protocol Compatibility Table 來判定。Dynamixel Protocol 1.0 跟 2.0 不可混用,因為 Control Table 不同。此快速入門使用的 XL430-W250-T 馬達是 Protocol 2.0。

2. Dynamixel 智能馬達有分 3-pin TTL 及 4-pin RS-485 通訊方式,如果在需要多顆不同通訊(TTL/RS-485)馬達混用串接的情形時,建議使用 DYNAMIXEL Communication Bridge 訊號轉換板