DYNAMIXEL 官方技术文档如下:
开发SDK网址如下:
https://github.com/ROBOTIS-GIT/DynamixelSDK
默认使用硬件如下:
DYNAMIXEL Motor(XM430-W350-R)<------->U2D2(官方出售的USB转DYNAMIXEL设备)<———>PC
#1Windows下进行相关开发
@1:Building the Library
(1)cd指令将目录切换到\SDK\DynamixelSDK-master\DynamixelSDK-master\python下
(2)运行目录下的setup.py文件————python setup.py install 结果如下:
@2:Building and Running the Sample Code
运行例程代码,根据代码注释以及自己的硬件配置修改代码内容,如COM口、电机ID号、Baudrate数值、配置电机寄存器地址(去官网查阅),运行结果如下:
Windows中电机测试完成!
#2Raspbian中进行测试
@1:完成硬件连接后,检测Raspberry是否连接上USB转串口
ls -l \dev\ttyUSB* ——————列出所有USB转串口设备
@2:Building the Library
操作步骤同Windows
@3:Building and Running the Sample Code
操作步骤同Windows
@4:更改USB转串口的缓冲时间
在实时性能要求较高的控制系统中,需要将缓冲时间设置为较低的时间,可以参考如下例程:
https://github.com/bishopAL/GeRo_V1
https://projectgus.com/2011/10/notes-on-ftdi-latency-with-arduino/
接下来叙述一下步骤
(1)查看系统设置的延时时间,默认为16(ms)
cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
(2)打开latency-usb.rules
sudo nano /etc/udev/rules.d/latency-usb.rules
(3)添加如下代码
ACTION=="add", SUBSYSTEM=="usb-serial", DRIVER=="ftdi_sio", ATTR{latency_timer}="1"
(4)保存并运行如下代码
sudo udevadm control --reload-rules
sudo udevadm trigger --action=add
(5)reboot后重新查看延时时间
cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer