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.

API:motorbridge-cli

安装

CLI 随 Python 包自动安装:
pip install motorbridge
motorbridge-cli --help
网关以独立命令提供(与 CLI 同级 PATH):
motorbridge-gateway --help
-- 可选:motorbridge-gateway -- --helpmotorbridge-gateway --help 等价。
三平台网关启动命令(Ubuntu / Windows / macOS)见 安装环境 的 “WS Gateway 启动(三平台)”。

全局选项

motorbridge-cli [选项] 命令 [参数]
选项描述
--help显示帮助信息并退出
-v, --version打印已安装 motorbridge Python 包版本并退出
从 v0.3.3 开始,motorbridge-cli 关闭 argparse 长参数缩写。 例如 robstride-write-param --mode save 会直接报未识别参数,不会再被误解成 --model save

命令概览

命令描述
run向电机发送控制命令
scan扫描 CAN 总线上的活动电机
id-dump读取达妙 ID/模式寄存器
id-set写入达妙 ID 寄存器
robstride-read-param读取 RobStride 参数
robstride-write-param写入 RobStride 参数
damiao-read-param读取达妙参数/寄存器
damiao-write-param写入达妙参数/寄存器

run

在循环中运行电机控制命令。

用法

motorbridge-cli run [选项]

选项

选项默认值描述
--vendordamiao电机厂商:damiao, myactuator, robstride, hightorque, hexfellow
--channelcan0CAN 接口名称
--transportauto传输方式:auto, socketcan, socketcanfd, dm-serial
--serial-port/dev/ttyACM0串口(用于 dm-serial 传输)
--serial-baud921600串口波特率
--model4340电机型号字符串
--motor-id0x01电机 CAN ID(支持十六进制)
--feedback-id0x11反馈 CAN ID(支持十六进制)
--modemit控制模式:enable, disable, mit, pos-vel, vel, force-pos, ping, zero, set-zero, save, zero-by-offset, read-param, write-param
--loop100控制迭代次数
--dt-ms20控制周期(毫秒)
--ensure-mode1是否在控制前确保模式
--ensure-strict0模式切换失败时是否失败
--ensure-timeout-ms1000模式切换超时
--print-state1每次迭代打印状态
--pos0.0目标位置(rad)
--vel0.0目标速度(rad/s)
--kp30.0位置刚度(MIT 模式)
--loc-kpRobStride pos-vel 位置环增益;未传时回退使用 --kp
--kd1.0速度阻尼(MIT 模式)
--tau0.0前馈力矩(Nm)
--vlim1.0速度限制(rad/s)
--ratio0.3力比例(force-pos 模式)
--zero-exp0启用 RobStride 实验性置零序列(传 1 才真正执行)
--offset-negate0RobStride zero-by-offset 预留参数;当前固件路径已禁用
--store1run --mode write-param / 置零后持久化保存
--param-id0x0run --mode read-param/write-param 使用的 RobStride 参数 ID
--param-valuerun --mode write-param 使用的 RobStride 写入值
--param-type自动推断RobStride 参数类型:i8, u8, u16, u32, f32
--timeout-ms500参数读写超时
--set-motor-idDamiao/RobStride 的 Rust 风格改 ID 快捷入口
--set-feedback-idDamiao MST_ID 改写入口;RobStride feedback_id/host_id 不会被修改
--verify-id1改 ID 后回读验证
--verify-model1Damiao 主动控制前读取 PMAX/VMAX/TMAX 校验型号
--verify-timeout-ms500Damiao 型号/ID 验证超时
--verify-tol0.2Damiao 型号验证容差

模式与参数生效关系

  • mit--pos/--vel/--kp/--kd/--tau 全部生效。
  • pos-vel:只使用 --pos/--vlim;RobStride 的 Python CLI 已与 WS gateway 对齐,走原生寄存器路径(limit_spd 0x7017loc_kp 0x701Eloc_ref 0x7016)。写一次目标位置用 --loop 1--vel/--kd/--tau 按设计忽略。
  • zero / set-zero:当前仅 RobStride 支持;必须传 --zero-exp 1 才会下发置零序列。RobStride 置零流程中 MotorBridge 会内部写 zero_sta=1
  • save:当前仅 RobStride 支持;发送保存参数命令,并等待 RobStride 状态 ACK。
  • zero-by-offset:当前仅 RobStride 支持,但因固件一致性问题保持禁用;只打印 warning,不发送校准帧。
  • read-param / write-paramrun 中当前仅 RobStride 支持;使用 --param-id--param-type--param-value
  • --set-motor-id / --set-feedback-id:存在时 run 会进入与 id-set 相同的改 ID 流程。Damiao 支持二者;RobStride 只支持设备 ID。

示例

达妙 — 仅使能电机

motorbridge-cli run --vendor damiao --channel can0 --motor-id 0x01 --feedback-id 0x11 --mode enable --loop 1

达妙 — MIT 模式控制

motorbridge-cli run \
    --vendor damiao \
    --channel can0 \
    --model 4340P \
    --motor-id 0x01 \
    --feedback-id 0x11 \
    --mode mit \
    --loop 100 \
    --dt-ms 20 \
    --pos 1.0 \
    --kp 30.0 \
    --kd 1.0

达妙 — 位置-速度模式

motorbridge-cli run \
    --vendor damiao \
    --channel can0 \
    --model 4340P \
    --motor-id 0x01 \
    --feedback-id 0x11 \
    --mode pos-vel \
    --loop 200 \
    --pos 2.0 \
    --vlim 1.5

达妙 — 串口传输

motorbridge-cli run \
    --vendor damiao \
    --transport dm-serial \
    --serial-port /dev/ttyACM0 \
    --serial-baud 921600 \
    --model 4340P \
    --motor-id 0x01 \
    --feedback-id 0x11 \
    --mode mit \
    --loop 50

RobStride — MIT 模式控制

motorbridge-cli run \
    --vendor robstride \
    --channel can0 \
    --model rs-00 \
    --motor-id 2 \
    --feedback-id 0xFD \
    --mode mit \
    --pos 0.5 \
    --vel 0 \
    --kp 20.0 \
    --kd 0.5 \
    --tau 0 \
    --ensure-strict 1 \
    --loop 100 \
    --dt-ms 20

RobStride — 位置-速度模式

motorbridge-cli run \
    --vendor robstride \
    --channel can0 \
    --model rs-00 \
    --motor-id 2 \
    --feedback-id 0xFD \
    --mode pos-vel \
    --pos 1.5 \
    --vlim 1.0 \
    --loc-kp 5.0 \
    --loop 1 \
    --dt-ms 20
反方向写入相反的绝对位置:
motorbridge-cli run \
    --vendor robstride \
    --channel can0 \
    --model rs-00 \
    --motor-id 2 \
    --feedback-id 0xFD \
    --mode pos-vel \
    --pos -1.5 \
    --vlim 1.0 \
    --loc-kp 5.0 \
    --loop 1 \
    --dt-ms 20

RobStride — Ping 探测

motorbridge-cli run \
    --vendor robstride \
    --channel can0 \
    --model rs-06 \
    --motor-id 127 \
    --feedback-id 0xFD \
    --mode ping \
    --loop 1

RobStride — 置零(set-zero 为等价别名)

motorbridge-cli run \
    --vendor robstride \
    --channel can0 \
    --model rs-06 \
    --motor-id 127 \
    --feedback-id 0xFD \
    --mode set-zero \
    --zero-exp 1 \
    --store 1 \
    --loop 1 \
    --dt-ms 100

MyActuator — 位置-速度模式

motorbridge-cli run \
    --vendor myactuator \
    --channel can0 \
    --model X8 \
    --motor-id 1 \
    --feedback-id 0x241 \
    --mode pos-vel \
    --loop 100 \
    --pos 1.0 \
    --vlim 2.0

Hexfellow — MIT 模式(需要 CAN-FD)

motorbridge-cli run \
    --vendor hexfellow \
    --transport socketcanfd \
    --channel can0 \
    --model hexfellow \
    --motor-id 0x00 \
    --feedback-id 0x00 \
    --mode mit \
    --loop 100 \
    --pos 0.5 \
    --kp 2.0 \
    --kd 0.1

scan

扫描 CAN 总线上的活动电机。

用法

motorbridge-cli scan [选项]

选项

选项默认值描述
--vendordamiao扫描厂商:damiao, myactuator, robstride, hightorque, hexfellow, all
--channelcan0CAN 接口
--transportauto传输类型
--serial-port/dev/ttyACM0串口
--serial-baud921600串口波特率
--model4340电机型号
--start-id0x01扫描起始 ID
--end-id0x10扫描结束 ID
--feedback-ids0xFD,0xFF,0xFE,0x00,0xAARobStride 扫描时尝试的 host_id 列表;不是电机 ID
--feedback-base0x10Damiao 扫描反馈 ID 基址
--timeout-ms80每个 ID 的超时(ms)
--param-id0x7019RobStride 参数探测 ID
--param-timeout-ms120RobStride 参数探测超时(ms)

示例

扫描所有厂商

motorbridge-cli scan --vendor all --channel can0 --start-id 1 --end-id 255

仅扫描达妙

motorbridge-cli scan --vendor damiao --channel can0 --start-id 0x01 --end-id 0x20

仅扫描 RobStride

motorbridge-cli scan --vendor robstride --channel can0 --start-id 1 --end-id 127 --feedback-ids 0xFD,0xFF,0xFE,0x00,0xAA
RobStride 输出中,probe / device_id 是电机 ID;feedback_id / host_id(如 0xFD)是上位机侧 ID。

仅扫描 MyActuator

motorbridge-cli scan --vendor myactuator --channel can0 --start-id 1 --end-id 32

仅扫描 HighTorque

motorbridge-cli scan --vendor hightorque --channel can0 --start-id 1 --end-id 127

仅扫描 Hexfellow(需要 CAN-FD)

motorbridge-cli scan --vendor hexfellow --transport socketcanfd --channel can0 --start-id 0 --end-id 255

id-dump

从达妙电机读取关键 ID 和配置寄存器。

用法

motorbridge-cli id-dump [选项]

选项

选项默认值描述
--vendordamiao必须为 damiao
--channelcan0CAN 接口
--transportauto传输类型
--serial-port/dev/ttyACM0串口(用于 dm-serial 传输)
--serial-baud921600串口波特率
--model4340电机型号
--motor-id0x01电机 ID
--feedback-id0x11反馈 ID
--timeout-ms500寄存器读取超时
--rids7,8,9,10,21,22,23要读取的寄存器 ID

示例

motorbridge-cli id-dump \
    --vendor damiao \
    --channel can0 \
    --motor-id 0x01 \
    --feedback-id 0x11 \
    --rids 7,8,9,10,21,22,23

id-set

向电机写入 ID 并可选保存到闪存。Damiao 支持 ESC_ID/MST_ID;RobStride 支持修改 device_id

用法

motorbridge-cli id-set [选项]

选项

选项默认值描述
--vendordamiaodamiaorobstride
--channelcan0CAN 接口
--transportauto传输类型
--serial-port/dev/ttyACM0串口(用于 dm-serial 传输)
--serial-baud921600串口波特率
--model4340电机型号
--motor-id0x01当前电机 ID
--feedback-id0x11当前反馈 ID
--new-motor-id(相同)要设置的新电机 ID
--new-feedback-id(相同)Damiao 新反馈 ID;RobStride 不修改 host_id
--store1写入后保存到闪存
--verify1写入后验证
--timeout-ms800验证超时

示例

# 将电机 ID 从 0x01 改为 0x05
motorbridge-cli id-set \
    --vendor damiao \
    --channel can0 \
    --motor-id 0x01 \
    --feedback-id 0x11 \
    --new-motor-id 0x05 \
    --new-feedback-id 0x15 \
    --store 1 \
    --verify 1
# RobStride:将 device_id 从 0x7F 改为 0x7E
motorbridge-cli id-set \
    --vendor robstride \
    --channel can0 \
    --model rs-06 \
    --motor-id 0x7F \
    --feedback-id 0xFD \
    --new-motor-id 0x7E \
    --store 1 \
    --verify 1

robstride-read-param

从 RobStride 电机读取参数。

用法

motorbridge-cli robstride-read-param [选项]

选项

选项默认值描述
--channelcan0CAN 接口
--transportauto传输方式:auto, socketcan, socketcanfd
--model真实型号真实 RobStride 型号(rs-00rs-06);参数表使用第 4 章通用运行参数,必须指定
--motor-id127电机 ID
--feedback-id0xFDRobStride 默认 host_id;不是电机 ID
--param-id(必需)要读取的参数 ID
--type(必需)数据类型:i8, u8, u16, u32, f32
--timeout-ms500读取超时

示例

motorbridge-cli run \
    --vendor robstride \
    --channel can0 \
    --model rs-06 \
    --motor-id 127 \
    --feedback-id 0xFD \
    --mode read-param \
    --param-id 0x7019 \
    --param-type f32

motorbridge-cli robstride-read-param \
    --channel can0 \
    --model rs-06 \
    --motor-id 127 \
    --param-id 0x7019 \
    --type f32

robstride-write-param

向 RobStride 电机写入参数。

用法

motorbridge-cli robstride-write-param [选项]

选项

选项默认值描述
--channelcan0CAN 接口
--transportauto传输方式:auto, socketcan, socketcanfd
--model真实型号真实 RobStride 型号(rs-00rs-06);参数表使用第 4 章通用运行参数,必须指定
--motor-id127电机 ID
--feedback-id0xFDRobStride 默认 host_id;不是电机 ID
--param-id(必需)要写入的参数 ID
--type(必需)数据类型:i8, u8, u16, u32, f32
--value(必需)要写入的值(根据 --type 解析)
--verify1回读并验证
--store0写入/验证成功后发送 RobStride 保存参数命令(通信类型 22)
--timeout-ms500验证超时

示例

motorbridge-cli run \
    --vendor robstride \
    --channel can0 \
    --model rs-06 \
    --motor-id 127 \
    --feedback-id 0xFD \
    --mode write-param \
    --param-id 0x7019 \
    --param-type f32 \
    --param-value 2.0

motorbridge-cli robstride-write-param \
    --channel can0 \
    --model rs-06 \
    --motor-id 127 \
    --param-id 0x7019 \
    --type f32 \
    --value 2.0 \
    --verify 1 \
    --store 1

damiao-read-param

读取 Python binding 暴露的达妙参数/寄存器。

用法

motorbridge-cli damiao-read-param [选项]

选项

选项默认值描述
--channelcan0CAN 接口
--transportauto传输方式:auto, socketcan, socketcanfd, dm-serial
--model4340达妙型号
--motor-id0x01达妙 ESC_ID
--feedback-id0x11达妙 MST_ID
--param-id(必需)参数/寄存器 ID
--type(必需)数据类型:u32 或 f32
--timeout-ms500读取超时

示例

motorbridge-cli damiao-read-param \
    --channel can0 \
    --model 4340P \
    --motor-id 0x01 \
    --feedback-id 0x11 \
    --param-id 21 \
    --type f32

damiao-write-param

写入达妙参数/寄存器,并可选回读验证。

用法

motorbridge-cli damiao-write-param [选项]

选项

选项默认值描述
--channelcan0CAN 接口
--transportauto传输方式:auto, socketcan, socketcanfd, dm-serial
--model4340达妙型号
--motor-id0x01达妙 ESC_ID
--feedback-id0x11达妙 MST_ID
--param-id(必需)参数/寄存器 ID
--type(必需)数据类型:u32 或 f32
--value(必需)要写入的值
--verify1写入后回读验证
--store0写入/验证成功后调用 Damiao store_parameters()
--timeout-ms500验证超时

示例

motorbridge-cli damiao-write-param \
    --channel can0 \
    --model 4340P \
    --motor-id 0x01 \
    --feedback-id 0x11 \
    --param-id 8 \
    --type u32 \
    --value 0x01 \
    --verify 1 \
    --store 1

退出代码

代码含义
0成功
1一般错误
2无效参数

另见