通道兼容说明(PCAN + slcan + Damiao 串口桥)
- Linux SocketCAN 直接使用网卡名:
can0、can1、slcan0。 - 串口类 USB-CAN 需先创建并拉起
slcan0:sudo slcand -o -c -s8 /dev/ttyUSB0 slcan0 && sudo ip link set slcan0 up。 - 仅 Damiao 可选串口桥链路:
--transport dm-serial --serial-port /dev/ttyACM0 --serial-baud 921600。 - Linux SocketCAN 下
--channel不要带@bitrate(例如can0@1000000无效)。 - Windows(PCAN 后端)中,
can0/can1映射PCAN_USBBUS1/2,可选@bitrate后缀。
motorbridge 当前 Damiao 可调控制/配置参数的实用总表。
English version: DAMIAO_API.md
1)通用设备参数
2)实时控制模式参数
2.1 MIT 模式
参数:pos:目标位置vel:目标速度kp:位置刚度增益kd:速度阻尼增益tau:前馈力矩
motor_cli):
2.2 POS_VEL 模式
参数:pos:目标位置vlim:速度限制
2.3 VEL 模式
参数:vel:目标速度
2.4 FORCE_POS 模式
参数:pos:目标位置vlim:速度限制ratio:力矩限制比例
2.5 模式寄存器(CTRL_MODE)
寄存器:
rid=10(CTRL_MODE),取值:1=MIT2=POS_VEL3=VEL4=FORCE_POS
3)强影响寄存器(优先)
这些参数对控制效果影响很大,调参要谨慎。4)保护相关寄存器
5)参数读写方法
推荐流程:get_register读取旧值write_register写入新值- 再次
get_register回读确认 store_parameters持久化
6)ID 与标定参数
rid=8(ESC_ID):命令 IDrid=7(MST_ID):反馈 ID
- Rust CLI:
motor_cli --vendor damiao --mode scan ...以及--set-motor-id/--set-feedback-id --store --verify-id - Python:
motorbridge-cli scan/id-set/id-dump、damiao-read-param、damiao-write-param,以及 Rust 风格的run --set-motor-id/--set-feedback-id - WS:
scan、set_id、verify
7)安全建议
- 每次只调一组参数。
- 小步进调整,每一步都回读确认。
- 保持机械安全和急停预案。
- 对保护阈值(
0/2/3/29)不要盲目激进调整。
8)夹爪电机校准
Damiao 电机使用单圈编码器(位置范围约 ±PMAX rad),断电后零点不保持。当电机用于夹爪时,每次上电需先校准零位:- MIT 模式低力矩推向机械限位,
kp低、tau=0,碰到即软停。 - 等反馈
vel ≈ 0且pos稳定后,执行--mode set-zero。 - 之后闭合用 MIT(力控安全),张开用 pos-vel(快速精确)。