dynamixel sdk python包装器
dxl-p的Python项目详细描述
dxl_py
简单的python包装在Dynamixel API上。 允许指挥和接收任意数量的伺服系统的位置。
使用
创建一个配置字典,每个伺服有一个条目:
MY_SERVOS_CONFIG = {
'test_servo': {
'id': 1, # Servo ID
'model': 'mx', # Servo model tag, one of 'MX' or 'PRO'
'min': 0, # Minimum position (MX servos go from 0 to 4095)
'max': 4095, # Maximum position
},
...
}
使用配置字典创建伺服对象。
from dxl.servos import Servos
my_servos = Servos(config = MY_SERVOS_CONFIG, action_bounds = [-1.0, 1.0])
设置伺服位置。Kwarg决定动作与位置的关系。这里是1.0的动作
将伺服位置设置为4095
。
my_servos.set({'test_servo' : 1.0, ...})
得到伺服位置。
my_servos.get(['test_servo', ...])
设置
将dynamixelapi repo克隆到所需目录中。安装到所需的python环境中(考虑使用Anaconda)。
$ git clone https://github.com/ROBOTIS-GIT/DynamixelSDK.git .
$ cd DynamixelSDK/python/
$ pip install -e .
包装器可以作为PIP包安装:
pip install dxl_py
此repo使用MX-28
模型dynamixel伺服,通过U2D2通过usb连接。
在连接设备之后,检查它是否存在(名称可能不同于下面的一个):
$ ls /dev/ttyUSB*
/dev/ttyUSB0
现在使用fix_udev.sh
脚本配置并添加自定义udev规则。你可能需要重新启动。
$ sudo ./fix_udev.sh
如果我们再次检查设备,我们现在应该看到dynamixel设备。
$ ls /dev/dynamixel
/dev/dynamixel
用id=1
连接伺服,用python -m unittest
运行测试。