通道兼容说明(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 可选独立 CAN-FD 链路:
--transport socketcanfd(与经典socketcan并存)。 - 仅 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后缀。
[STD-CAN]=>--transport auto|socketcan[CAN-FD]=>--transport socketcanfd[DM-SERIAL]=>--transport dm-serial
[CAN-FD] 说明:目前是“链路已接入”,电机验证矩阵尚未声明完成。
调试入口
- Linux
slcan+ Windowspcan专业排障见:can_debugging.md。
构建
通用参数
--vendor damiao|robstride|hightorque|myactuator|hexfellow|all--transport auto|socketcan|socketcanfd|dm-serial(dm-serial仅 Damiao;socketcanfd用于 Hexfellow)--channel can0--serial-port /dev/ttyACM0 --serial-baud 921600(配合--transport dm-serial)--motor-id <id>--loop <n> --dt-ms <ms>
Damiao 示例
[STD-CAN]
[DM-SERIAL]
[CAN-FD]
Hexfellow 示例
[CAN-FD]
[CAN-FD]
RobStride 示例
RobStride 支持rs-00 到 rs-06。请始终传真实电机型号:控制命令的 CLI 形态一致,但 read-param / write-param 会使用第 4 章通用运行参数表。
RobStride 零点校准(Python 包 CLI)
当前motorbridge-cli 使用子命令结构,置零必须写成 motorbridge-cli run ...。
RobStride 置零还必须带 --zero-exp 1;不带时只打印警告,不发送置零帧。
HighTorque(原生 ht_can v1.5.5)
支持模式:
scanread/pingmit(统一接口)pos/vel/tqepos-vel-tqevolt/curstop/brake/rezero/conf-write/timed-read
--pos:弧度(rad)--vel:弧度每秒(rad/s)--tau:扭矩(Nm)--kp、--kd:为统一 MIT 参数签名保留,ht_can协议本身不使用
--raw-pos、--raw-vel、--raw-tqe
MyActuator 示例
全品牌扫描
probe / device_id 是电机 ID;feedback_id / host_id(如 0xFD)是上位机侧 ID,不是电机 ID。
RobStride motor_id / device_id 会校验为 1..255;feedback_id / host_id 会校验为 0..255。
RobStride 请继续使用真实 RS 型号作为限值/日志提示;参数读写使用第 4 章通用运行参数表。