Skip to main content

API:motorbridge-cli

安装

CLI 随 Python 包自动安装:
pip install motorbridge
motorbridge-cli --help

全局选项

motorbridge-cli [选项] 命令 [参数]
选项描述
--help显示帮助信息并退出
--version显示版本并退出

命令概览

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

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
--loop100控制迭代次数
--dt-ms20控制周期(毫秒)
--ensure-mode1是否在控制前确保模式
--ensure-strict0模式切换失败时是否失败
--ensure-timeout-ms1000模式切换超时
--print-state1每次迭代打印状态
--pos0.0目标位置(rad)
--vel0.0目标速度(rad/s)
--kp30.0位置刚度(MIT 模式)
--kd1.0速度阻尼(MIT 模式)
--tau0.0前馈力矩(Nm)
--vlim1.0速度限制(rad/s)
--ratio0.3力比例(force-pos 模式)

示例

仅使能电机

motorbridge-cli run --vendor damiao --channel can0 --motor-id 0x01 --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

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

示例

扫描所有厂商

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

id-dump

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

用法

motorbridge-cli id-dump [选项]

选项

选项默认值描述
--vendordamiao必须为 damiao
--channelcan0CAN 接口
--transportauto传输类型
--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 寄存器并可选保存到闪存。

用法

motorbridge-cli id-set [选项]

选项

选项默认值描述
--vendordamiao必须为 damiao
--channelcan0CAN 接口
--transportauto传输类型
--model4340电机型号
--motor-id0x01当前电机 ID
--feedback-id0x11当前反馈 ID
--new-motor-id(相同)要设置的新电机 ID
--new-feedback-id(相同)要设置的新反馈 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-read-param

从 RobStride 电机读取参数。

用法

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

选项

选项默认值描述
--channelcan0CAN 接口
--modelrs-00电机型号
--motor-id127电机 ID
--param-id(必需)要读取的参数 ID
--type(必需)数据类型:i8, u8, u16, u32, f32
--timeout-ms500读取超时

示例

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

robstride-write-param

向 RobStride 电机写入参数。

用法

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

选项

选项默认值描述
--channelcan0CAN 接口
--modelrs-00电机型号
--motor-id127电机 ID
--param-id(必需)要写入的参数 ID
--type(必需)数据类型:i8, u8, u16, u32, f32
--value(必需)要写入的值
--verify1回读并验证
--timeout-ms500验证超时

示例

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

退出代码

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

另见