Skip to main content

Documentation Index

Fetch the complete documentation index at: https://motorbridge.seeedstudio.com/llms.txt

Use this file to discover all available pages before exploring further.

参考:厂商能力矩阵

厂商概览

厂商添加方法典型传输协议族
Damiaoadd_damiao_motor()SocketCAN, DM 串口DM-J4310/4340
RobStrideadd_robstride_motor()SocketCANRobStride 扩展 CAN
MyActuatoradd_myactuator_motor()SocketCANMyActuator RMD
HighTorqueadd_hightorque_motor()SocketCANHighTorque 原生
Hexfellowadd_hexfellow_motor()CAN-FDHexfellow MIT

顶层统一模式支持

厂商典型型号MITPOS_VELVELFORCE_POS
Damiao4310, 4340P, 6006
RobStriders-00, rs-01, rs-06
MyActuatorX8
HighTorquehightorque
Hexfellowhexfellow

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 为 ❌)。

统一模式 -> 厂商原生能力映射

统一模式DamiaoRobStrideMyActuatorHighTorqueHexfellow
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 参数表
厂商原生能力入口(示例)说明
Damiaoid-dump, id-set, damiao-read-param, damiao-write-param --store 1(CLI)+ set_zero_position()(API)寄存器/参数读写、ID 修改、置零流程
RobStrideping, robstride-read-param, robstride-write-param --store 1, run --mode read-param/write-param/save29-bit 扩展帧参数通道;运行参数使用第 4 章通用表(0x7005..0x702E);保存使用 type 22 并等待状态 ACK
MyActuator厂商原生命令路径(由适配层暴露)以位置/速度主流程为主,寄存器能力有限
HighTorque厂商原生命令路径(由适配层暴露)统一接口下内部做缩放映射
HexfellowCAN-FD 原生路径(socketcanfd主要覆盖 MIT/POS_VEL,依赖 CAN-FD

RobStride 原生参数命令(跨平台)

Linux / macOS:
motorbridge-cli robstride-read-param \
  --channel can0 --model rs-06 --motor-id 127 \
  --param-id 0x7019 --type f32 --timeout-ms 500
Windows (PowerShell):
motorbridge-cli robstride-read-param `
  --channel can0@1000000 --model rs-06 --motor-id 127 `
  --param-id 0x7019 --type f32 --timeout-ms 500
--model rs-06 只是 RS06 示例。实际使用时必须替换成用于限值/日志的 RS 型号,因为 0x2000/0x3000 手册参数表不同。

三平台命令模板(统一接口)

以下示例均基于 Python 包命令 motorbridge-cli

Linux(Ubuntu / SocketCAN)

# RobStride POS_VEL(已支持)
motorbridge-cli run \
  --vendor robstride --transport auto --channel can0 \
  --model rs-06 --motor-id 127 --feedback-id 0xFD \
  --mode pos-vel --pos 1.5 --vlim 1.0 --loc-kp 5.0 --loop 1 --dt-ms 20

# Damiao FORCE_POS
motorbridge-cli run \
  --vendor damiao --transport auto --channel can0 \
  --model 4340P --motor-id 0x01 --feedback-id 0x11 \
  --mode force-pos --pos 0.8 --vlim 1.5 --ratio 0.3 --loop 20 --dt-ms 20

macOS

# CAN 路径(需 PCBUSB 运行时)
motorbridge-cli run \
  --vendor robstride --transport auto --channel can0 \
  --model rs-06 --motor-id 127 --feedback-id 0xFD \
  --mode pos-vel --pos 1.5 --vlim 1.0 --loc-kp 5.0 --loop 1 --dt-ms 20

# Damiao dm-serial 路径(不依赖 CAN 运行时)
motorbridge-cli run \
  --vendor damiao --transport dm-serial \
  --serial-port /dev/cu.usbmodemXXXX --serial-baud 921600 \
  --model 4340P --motor-id 0x01 --feedback-id 0x11 \
  --mode mit --pos 0.5 --vel 0 --kp 20 --kd 1 --tau 0 --loop 20 --dt-ms 20

Windows(PowerShell / PCAN)

# RobStride POS_VEL(PCAN 通道示例)
motorbridge-cli run `
  --vendor robstride --transport auto --channel can0@1000000 `
  --model rs-06 --motor-id 127 --feedback-id 0xFD `
  --mode pos-vel --pos 1.5 --vlim 1.0 --loc-kp 5.0 --loop 1 --dt-ms 20

# Damiao FORCE_POS
motorbridge-cli run `
  --vendor damiao --transport auto --channel can0@1000000 `
  --model 4340P --motor-id 0x01 --feedback-id 0x11 `
  --mode force-pos --pos 0.8 --vlim 1.5 --ratio 0.3 --loop 20 --dt-ms 20
提示:
  • Linux/macOS 的 SocketCAN/PCAN 通道通常写 can0
  • Windows PCAN 建议写 can0@1000000
  • dm-serial 仅 Damiao 支持。

Host / Feedback ID 说明

厂商建议策略
Damiao每电机使用独立反馈 ID 路径(通常 motor_id + base
RobStride默认 0xFD,运行时可回退探测 0xFF/0xFE
MyActuator0x240 + motor_id
HighTorque按协议固定
Hexfellow按协议固定

寄存器 / 参数访问

厂商持久化
Damiao完整寄存器 API完整寄存器 API支持
RobStride类型化参数 API类型化参数 API支持
MyActuator有限有限支持
HighTorque有限有限支持
Hexfellow有限有限支持

RobStride 参数 API

motor.robstride_get_param_i8(param_id, timeout_ms)
motor.robstride_get_param_u8(param_id, timeout_ms)
motor.robstride_get_param_u16(param_id, timeout_ms)
motor.robstride_get_param_u32(param_id, timeout_ms)
motor.robstride_get_param_f32(param_id, timeout_ms)

motor.robstride_write_param_i8(param_id, value)
motor.robstride_write_param_u8(param_id, value)
motor.robstride_write_param_u16(param_id, value)
motor.robstride_write_param_u32(param_id, value)
motor.robstride_write_param_f32(param_id, value)

参考示例(RobStride)

from motorbridge import Controller, Mode

with Controller("can0") as ctrl:
    motor = ctrl.add_robstride_motor(6, 0xFD, "rs-06")
    ctrl.enable_all()

    motor.ensure_mode(Mode.POS_VEL, 1000)
    motor.send_pos_vel(0.3, 2.0)

    motor.ensure_mode(Mode.MIT, 1000)
    motor.send_mit(0.0, 0.0, 8.0, 0.3, 0.0)

RobStride 的 set-id / zero 状态

  • set-id:已可用,并与上位机报文语义对齐。
  • zero:已可用,但 ACK 行为受固件状态影响。
  • 生产标定建议:zero / set-id 后必须做读回验证(例如 mechPos 与状态帧)。