解读 171 · feetech_sts3215(7.4V)案例
解读对象:
bam/bam/params/feetech_sts3215_7_4V/(m1.json–m6.json 六档,m6.json 共 20 个字段)
需要的前置:解读 169(xl330 逐字段基准)· 解读 78(飞特协议)
1. 型号是谁
深圳飞特(Feetech)STS3215,7.4 V 口径——目录名带 _7_4V 就是标记。执行器选型.md 给过
它一整套画像:单价约 ¥60–70(xl330 的五分之一)、堵转 1.86 N·m(19 kg·cm)、12-bit 编码器、
单只约 55–60 g;同架构的 Open Duck Mini v2(2107.1 g、42 cm)就是"STS3215 版双足鸭"。
BAM 侧是 feetech/actuator.py 的 STS3215Actuator:vin=7.4、kp=32、error_gain=0.166
(示波器实测)、max_pwm=0.97(注释带 TODO:"能假定 1.0 吗?"——作者也没量实);它还是
全库唯一的 stateful 执行器:固件对内部目标位置限速,compute_control 必须逐时序调用。
kt 初始值注释原话"docs says 8 kg.cm / A"→0.7845。注意目录名≠键名:json 里
"actuator": "sts3215" 才是 actuators.py 注册表键(解读 73)。
2. m6.json 逐字段 + 与 xl330 基准对比
20 个字段,全库最多:比 xl330 多 error_gain_ratio(实测增益与类内 error_gain 之比,
0.1–10)和 max_velocity(固件目标限速,rad/s)两个独有字段,q_offset 范围放宽到 ±0.2
(其他 ±0.1):
| 字段 | sts3215 | xl330 | 对比 |
|---|---|---|---|
kt |
1.275 | 0.346 | ×3.7 |
error_gain_ratio |
1.162 | —(无此字段) | 独有;比示波器基准大 16% |
R |
2.75 | 2.50 | 同档 |
armature |
0.0216 | 0.00157 | ×13.7 |
q_offset |
−0.0683(≈−3.9°) | 0.0150 | 全库最大零位偏移 |
max_velocity |
5.096 | — | ≈默认值 3400×2π/4096≈5.215 的 98%:与手册限速自洽 |
command_delay |
0.00498 | 0.0102 | 延迟只有一半 |
friction_base |
0.0533 | 0.0119 | ×4.5 |
friction_stribeck |
4.3e-05 | 0.00085 | 库仑底扛,低速附加几乎为零 |
load_friction_motor/external |
0.0449 / 0.244 | 0.228 / 0.107 | 方向反转:外载侧主导 |
load_friction_*_stribeck |
1.2e-04 / 0.142 | 1.5e-08 / 0.142 | 外载侧相同 |
load_friction_*_quad |
0.00759 / 0.00340 | 0.00527 / 0.00299 | 同量级 |
dtheta_stribeck / alpha |
0.371 / 9.93 | 0.261 / 8.53 | alpha 顶到 10 上限 |
friction_viscous |
0.0282 | 0.00579 | ×4.9 |
两组漂亮的交叉验证:kt·vin/R = 1.275×7.4/2.75 ≈ 3.43 N·m,对上 Open Duck v2 的
forcerange ±3.35;friction_base 0.0533 对上它的 frictionloss 0.052——BAM 辨识值与另一个
开源项目手工填的仿真值几乎重合。存疑点:alpha=9.93 顶格,提示模型在该型号上"顶到了天花板"
(解读 80)。
3. 如果用它换掉 xl330:五落点具体值
按 解读 79:① motor_name="feetech_sts3215_7_4V"(目录名);
kp_fw 换 32 一族口径;vin_range 按 7.4 V 系统实测窗口(2S 口径,Open Duck v2 同款);
delay 按 json 的 0.005 s 重估。② friction_dr_bam.py:forcerange ±3.35 N·m 量级、摩擦值
指向本 json。③ 回差角:Open Duck v2 口径 ±0.5°(xl330 是 ±1.0°,选型文档表)。④ 随机化
按自己台架。⑤ assets 质量重算:15 只 55–60 g 替 18 g,整机 737 g → 2107 g(选型文档硬数据)——
机械腔根本装不下,"换舵机"变成"换一台机器人"(解读 52)。
好消息在通信层:同用 rustypot 库换协议模块即可(解读 78)。
你带走的收获
- 字段集本身是信息:
error_gain_ratio/max_velocity两个独有字段,对应 STS3215 固件的
增益离散与目标限速——型号个性写进了 json 的 schema。 - alpha=9.93 顶格 + q_offset −3.9° 全库最大:辨识值贴近边界都在提示"模型/台架到极限了"。
- BAM json 与 Open Duck v2 手工仿真参数互相对上(forcerange 3.43↔3.35、frictionloss
0.053↔0.052):两套独立来源交叉验证,数字才可信。 - 便宜五分之一、力矩大三倍不等于能换:质量 ×3 推倒机械与质量预算,最重的落点是⑤。