参考:厂商能力矩阵
厂商概览
| 厂商 | 添加方法 | 典型传输 | 协议族 |
|---|---|---|---|
| Damiao | add_damiao_motor() | SocketCAN, DM 串口 | DM-J4310/4340 |
| RobStride | add_robstride_motor() | SocketCAN | RobStride 扩展 CAN |
| MyActuator | add_myactuator_motor() | SocketCAN | MyActuator RMD |
| HighTorque | add_hightorque_motor() | SocketCAN | HighTorque 原生 |
| Hexfellow | add_hexfellow_motor() | CAN-FD | Hexfellow MIT |
顶层统一模式支持
| 厂商 | 典型型号 | MIT | POS_VEL | VEL | FORCE_POS |
|---|---|---|---|---|---|
| Damiao | 4310, 4340P, 6006 | ✅ | ✅ | ✅ | ✅ |
| RobStride | rs-00, rs-01, rs-06 | ✅ | ✅ | ✅ | ❌ |
| MyActuator | X8 | ❌ | ✅ | ✅ | ❌ |
| HighTorque | hightorque | ✅ | ✅ | ✅ | ✅ |
| Hexfellow | hexfellow | ✅ | ✅ | ❌ | ❌ |
RobStride 映射说明
MIT映射到原生阻抗控制报文(pos/vel/kp/kd/tau均有效)。POS_VEL映射到原生位置流程(run_mode=1+loc_ref+limit_spd+ 可选loc_kp)。- 统一
pos-vel下,CLI 的--vel/--kd/--tau为无效参数:只给 warning,不报错。 - 扭矩/电流目前仍是参数级能力(
write-param),尚未独立成统一模式(因此FORCE_POS为 ❌)。
统一模式 -> 厂商原生能力映射
| 统一模式 | Damiao | RobStride | MyActuator | HighTorque | Hexfellow |
|---|---|---|---|---|---|
MIT | 原生 MIT | 原生 MIT | 不支持 | 映射到原生 pos+vel+tqe | 原生 MIT |
POS_VEL | 原生 POS_VEL | 原生位置流程(run_mode=1 + loc_ref + limit_spd) | 原生位置流程 | 原生 POS_VEL | 原生 POS_VEL |
VEL | 原生 VEL | 原生 Velocity | 原生 Velocity | 原生 Velocity | 不支持 |
FORCE_POS | 原生 FORCE_POS | 不支持 | 不支持 | 映射到原生 pos+vel+tqe | 不支持 |
实验章节:厂商原生协议入口(已实现)
该章节用于暴露“已实现但不属于统一四模式”的厂商原生能力,便于现场调试与协议联调。RobStride 完整运行时参数表见 RobStride 参数表。
| 厂商 | 原生能力入口(示例) | 说明 |
|---|---|---|
| Damiao | id-dump, id-set, damiao-read-param, damiao-write-param --store 1(CLI)+ set_zero_position()(API) | 寄存器/参数读写、ID 修改、置零流程 |
| RobStride | ping, robstride-read-param, robstride-write-param --store 1, run --mode read-param/write-param/save | 29-bit 扩展帧参数通道;运行参数使用第 4 章通用表(0x7005..0x702E);保存使用 type 22 并等待状态 ACK |
| MyActuator | 厂商原生命令路径(由适配层暴露) | 以位置/速度主流程为主,寄存器能力有限 |
| HighTorque | 厂商原生命令路径(由适配层暴露) | 统一接口下内部做缩放映射 |
| Hexfellow | CAN-FD 原生路径(socketcanfd) | 主要覆盖 MIT/POS_VEL,依赖 CAN-FD |
RobStride 原生参数命令(跨平台)
Linux / macOS:--model rs-06 只是 RS06 示例。实际使用时必须替换成用于限值/日志的 RS 型号,因为 0x2000/0x3000 手册参数表不同。
三平台命令模板(统一接口)
以下示例均基于 Python 包命令motorbridge-cli。
Linux(Ubuntu / SocketCAN)
macOS
Windows(PowerShell / PCAN)
- Linux/macOS 的 SocketCAN/PCAN 通道通常写
can0。 - Windows PCAN 建议写
can0@1000000。 dm-serial仅 Damiao 支持。
Host / Feedback ID 说明
| 厂商 | 建议策略 |
|---|---|
| Damiao | 每电机使用独立反馈 ID 路径(通常 motor_id + base) |
| RobStride | 默认 0xFD,运行时可回退探测 0xFF/0xFE |
| MyActuator | 0x240 + motor_id |
| HighTorque | 按协议固定 |
| Hexfellow | 按协议固定 |
寄存器 / 参数访问
| 厂商 | 读 | 写 | 持久化 |
|---|---|---|---|
| Damiao | 完整寄存器 API | 完整寄存器 API | 支持 |
| RobStride | 类型化参数 API | 类型化参数 API | 支持 |
| MyActuator | 有限 | 有限 | 支持 |
| HighTorque | 有限 | 有限 | 支持 |
| Hexfellow | 有限 | 有限 | 支持 |
RobStride 参数 API
参考示例(RobStride)
RobStride 的 set-id / zero 状态
set-id:已可用,并与上位机报文语义对齐。zero:已可用,但 ACK 行为受固件状态影响。- 生产标定建议:zero / set-id 后必须做读回验证(例如
mechPos与状态帧)。