总线伺服舵机 SDK 使用手册(ROS2)
| 版本 | GitHub | 范例代码 |
|---|---|---|
| v1.2026.0214 | 点击下载 |
1. 测试环境
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy
ROS2: humble
2. 安装依赖
-
自行安装ROS2 humble相关环境。
-
安装python sdk。
pip install fashionstar-uart-sdk
pip install pyserial
3. 运行 servo_driver 节点
进入ROS2文件夹,
colcon build
source install/setup.sh
然后运行driver节点。
ros2 run servo_driver driver
4. 设置节点功能
进入到ROS2/src/servo_driver文件夹,打开文件 servo_driver.py 。根据需要,修改代码使用。在修改好代码后,重新运行节点。
4.1 修改串口端口和波特率
#修改串口接口
SERVO_PORT_NAME = "/dev/ttyUSB0"
#修改波特率
SERVO_BAUDRATE = 115200
4.2 读取角度
默认情况下,例程运行读取角度例程。会以10hz持续读取并发布 servo_angle_topic
舵机读取可设置的参数如下。
#读取的id列表,默认情况下,舵机出厂设置为0号,可通过上位机设置其他id号。
ID_list = [0] #SERVO id
#修改好id(0,1,2)后,作如下修改可以读取其他id舵机的角度。
ID_list = [0,1,2] #SERVO id
4.3 设置角度
通过设置参数,可以修改舵机的运行角度、时间间隔。
#单个舵机时
ID_list = [0] #SERVO id
ANGLE_list=[50.0] # degree
INTERVAL_list = [1000] # ms
self.control_servo() #send target angle
#多个舵机时
ID_list = [0,1]
ANGLE_list=[50.0,70.0]
INTERVAL_list = [1000,2000]
5. 其他舵机功能
舵机的完整功能及协议请参考该文档。
总线伺服舵机通信协议 - Fashion Star Wiki
5.1 如何使用
使用python SDK给出的接口,可以自由在ROS2节点上使用。
总线伺服舵机SDK使用手册(Python) - Fashion Star Wiki
例如,想要使用ping指令。
#ping 0 号舵机
self.control.ping(0)
或者,使用阻尼模式。
#设置0号舵机进入阻尼模式,功率1000
self.contrl.set_damping(0,1000)
更多功能,请参考。