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运行测试。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java以编程方式最小化JInternalFrame?   java使用JsonPath将不均匀列表提取为类型化对象   spring如何将java/resources文件获取到InputStream?   Java逻辑错误并不总是存在   java Firebase,更新特定字段   Java stream groupby并同时加入以进行csv导出   java安卓:如果出现任何声音,监听器将录制声音   java如何从多个文件中轮询最后修改的文件并发送到apache camel中的目标端点?   java是否返回多个比较器?   JavaBean IO:Date MMM在CAPS中不解析   当JButton从另一个类单击时,java正在更新JLabel   基类中子类的Java泛型初始化   jakarta ee Java ee制作一个以毫秒为间隔的计时器来发送数据包   json Windows Azure日期格式转换为Java日期