解读 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 的底气。
你带走的收获
- 电流舵机与电压舵机的分野写在了 json 之外:类里 max_amps/max_volts/damping 三个构造参数,
才是读懂这份 json 的前提。 - 辨识范围跟着型号走:ErobActuator 把摩擦上限放宽 10–30 倍,读数前先看类,否则会把
3.26 N·m 的库仑摩擦误判为异常。 - armature ×230、viscous ×242:执行器跨量级时,"差不多"三个字彻底失效——这正是
官方 ONNX 不能跨舵机复用的量级证据。 - kt×12 A≈58.8 N·m:电流舵机的力矩天花板算法和电压舵机(kt·vin/R)不同,先看 control_unit。