DEEP 175 · 第十五辑 · 其他舵机案例库 · LEARN NOTES

收进学习手册 · 2026-09-11 · duck.whatled.com

解读 175 · erob80_50 案例研究

解读对象:bam/bam/params/erob80_50/(m1.json–m6.json 六档,m6.json 共 16 个字段)
需要的前置:解读 169(xl330 逐字段基准)· 解读 163(减速比)

1. 型号是谁

eRob80:50(bam/README.md 已辨识库口径;名字里的 50 按命名惯例指减速比,厂商背景:参数库
外待验证)。它与前面七家根本不是一类东西:注册表注释"eRob actuators with custom PD
controller",erob/actuator.py::ErobActuator 不继承电压舵机,而是电流控制——
control_unit() 返回 "amps",上限 12 A、48 V;控制律自带阻尼项:
amps = kp·Δq + damping·√kp·(0−dq)(注册表里 50 版 damping=1.0);协议走
erob/etherban.proto + etherban.py 的 protobuf 私有链路。为了让它的辨识值装得下,
initialize() 把摩擦上限整体放宽:max_friction_base 0.2→10、max_load_friction 0.5→1.0、
max_viscous_friction 1.0→30。一句话:工业级关节,方法论同一条流水线,量纲换了。

2. m6.json 逐字段 + 与 xl330 基准对比

16 个字段:无 q_offset/command_delay(缺失回落 0.0),也无 sts 系的
error_gain_ratio/max_velocity:

字段 erob80_50 xl330 对比
kt 4.897 0.346 ×14.2
R 1.07 2.50 全库最小:低电阻换大电流
armature 0.362 0.00157 ×230
friction_base 3.26 0.0119 ×274;默认上限 0.2 根本装不下,靠放宽到 10
friction_stribeck 0.320 0.00085 ×376
load_friction_motor/external 0.0357 / 8.4e-04 0.228 / 0.107 载荷项反而小
load_friction_*_stribeck 0.00377 / 0.0414 1.5e-08 / 0.142 —
load_friction_*_quad 0.00187 / 0.00160 0.00527 / 0.00299 同量级
dtheta_stribeck 2.83 0.261 超 1.0 上限(存疑,同 mx64)
alpha 1.79 8.53 峰宽而平
friction_viscous 1.403 0.00579 ×242;默认上限 1.0,放宽到 30 才装下

画像:谐波减速+大转子的工业关节——armature 0.362 意味着转子"沉"两个量级;摩擦预算
整体大两个量级(库仑底 3.26 N·m、黏性 1.40 N·m/(rad/s));力矩天花板由电流环决定:
kt×12 A ≈ 58.8 N·m(电压边界 (kt/R)×48 ≈ 220 N·m 只是理论钳位)。读这份 json 的
正确姿势:上限是类里放宽过的,别拿默认 0.2/1.0 去套,更别当成"数据错了"。

3. 如果用它换掉 xl330:五落点具体值

按 解读 79——但先过 解读 73 四道门,
它一门都过不了:48 V/12 A 供电体系(①)、外形远超鸭身舵机腔(③)、etherban 私有
协议(④,既非 Dynamixel 也非飞特,解读 78 的"厂商私有"分支);
② 落点若真要做:forcerange 按 50 N·m 量级、摩擦值指向本 json,kp_fw/vin_range 两个键的
语义直接作废(电流控制无固件 PWM、无电压随机化口径);⑤ 质量/惯量整个重算。
所以 erob80_50 在这个库里的角色是方法论边界测试:同一套 bam fit 流水线,把量纲从
"伏"换成"安"、把上限放宽三个量级之后照样成立——它不是 Microduck 的候选,是 BAM 的底气。

你带走的收获

延伸

什么鸭 WHATDUCK · 复刻学习笔记 ← 全部手册 · 首页