另一个 dynamixel python 驱动程序
项目描述
pyServos
仍在开发 中 开始添加 XL-430 舵机
- pyservos
- ServoSerial - 使用来自 USB 串行端口的 DTR 的半双工硬件串行接口
- PiServoSerial - 使用 HW 引脚的半双工硬件串行接口
- 实用工具- 杂项
- XL320 - Dynamixel 的 XL-320 伺服的寄存器/命令/错误定义
- AX12 - Dynamixel AX-12A 伺服的寄存器/命令/错误定义
- XL430 - Dynamixel AX-12A 伺服的寄存器/命令/错误定义
设置
安装
建议的安装方法是通过以下pip命令:
pip install pyservos
发展
我目前正在为我的图书馆
使用诗歌pyproject.toml并使用. 要提交 git pull,请克隆存储库并将其设置如下:
git clone https://github.com/MultipedRobotics/pyservos
cd pyservos
poetry install
poety run pytest
用法
该\bin目录有许多有用的程序来设置伺服位置或 ID 号。只需运行带有--help标志的命令即可查看如何使用它。
servoAX12servoXL320(未实现)servoXL430(未实现)
上述命令具有以下格式:
- 伺服XXX
- ping : 查找总线上的舵机,ID[int| 无]
- 重启:重启伺服,ID[int| 无]
- 重置:重置伺服,ID[int],level[int]
- angle : 以度或弧度为单位设置新角度,angle[float],radians[True| 错误]
- 波特率:设置新的波特率,速率[int]
- id : 设置新 ID, current_id[int], new_id[int]
- 价值观
- 编号:1-254
- 重置级别:1(全部)、2(除 ID 之外的全部)、3(除 ID 和波特率之外的全部)
- 角度:0-300度
- 率:1000000 是默认值
- 无:如果您省略该值,则会出现一个安全的默认值
文档
使用 USB 串行转换器打开伺服和打开 LED 的简单示例:
# Run an AX-12 servo
from pyservos.servo_serial import ServoSerial
from pyservos.ax12 import AX12
serial = ServoSerial('/dev/tty.usbserial') # tell it what port you want to use
# serial = ServoSerial('dummy') # use a dummy serial interface for testing
serial.open()
ax = AX12()
pkt = ax.makeServoPacket(1, 158.6) # move servo 1 to 158.6 degrees
ret = serial.sendPkt(pkt) # send packet, I don't do anything with the returned status packet
pkt = ax.makeLEDPacket(1, AX12.LED_ON)
ret = serial.sendPkt(pkt)
虽然我已经制作了一些数据包创建器(如 LED 和 Servo),但您可以使用基本的makeWritePacket和makeReadPacket.
# Run an XL-320 servo
from pyservos.xl320 import XL320
from pyservos.utils import angle2int
xl = XL320()
# let's make our own servo packet that sends servo 3 to 220.1 degrees
ID = 3
reg = XL320.GOAL_POSITION
params = angle2int(220.1) # convert 220.1 degrees to an int between 0-1023
pkt = xl.makeWritePacket(ID, reg, params)
动力舵机
机器人示例
以下是一些示例机器人
其他软件
我没有用过这些,但它们看起来不错:
- c++: libdynamixel
更改日志
| 2020-01-25 | 2.0.0 | 围绕协议而不是伺服类型重新架构 |
| 2018-04-30 | 1.0.1 | API 修复并开始添加 430 支持 |
| 2018-02-17 | 1.0.0 | 添加了 AX-12 支持并重命名了库 |
| 2017-04-01 | 0.9.0 | 添加了 python3 支持 |
| 2017-03-26 | 0.8.0 | 大修并删除了 GPIO 的东西 |
| 2017-03-19 | 0.7.7 | 可以在 GPIO pin 和 pyserial.setRTS() 之间切换 |
| 2017-02-20 | 0.7.6 | 小修复并添加了servo_reboot |
| 2017-01-16 | 0.7.5 | 修复了一些小错误 |
| 2016-11-29 | 0.7.4 | 添加批量写入和小更改 |
| 2016-10-11 | 0.7.1 | 小改动/更新 |
| 2016-09-12 | 0.7.0 | 重构,仍在开发 API |
| 2016-09-05 | 0.5.0 | 发布到 PyPi |
| 2016-08-16 | 0.0.1 | 在里面 |
麻省理工学院许可证 (MIT)
版权所有 (c) 2016 Kevin J. Walchko
特此免费授予任何人获得本软件和相关文档文件(“软件”)的副本,以不受限制地处理本软件,包括但不限于使用、复制、修改、合并的权利、发布、分发、再许可和/或出售本软件的副本,并允许向其提供本软件的人这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或大部分内容中。
本软件按“原样”提供,不提供任何形式的明示或暗示保证,包括但不限于适销性、特定用途适用性和非侵权保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任承担任何责任,无论是在合同、侵权或其他方面,由本软件或本软件的使用或其他交易引起或与之相关。软件。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
pyservos-2.1.0.tar.gz
(19.0 kB
查看哈希)
内置分布
pyservos-2.1.0-py3-none-any.whl
(24.3 kB
查看哈希)