当前位置:首页 > 机器人折腾记 > 正文内容

把四足砍成两条腿之后,我才知道重心这东西有多记仇

四足跑得挺稳那天,我飘了。我想着:四条腿都能站住,砍掉两条不就是双足么?减法而已。

事实证明这是我今年最贵的一次"想当然"。四足和双足之间不是减法关系,是换了一门学科。

一、四足是"静态稳定",双足是"持续失败"

四足站着不动的时候,重心投影永远落在四个支撑点围成的多边形里,你断电它都不倒。这叫静态稳定,机器可以偷懒,控制可以粗糙,PID 调得马虎一点也能蒙混过关。

双足不一样。两条腿,支撑多边形就是两块脚底板。重心一旦跑出去,重力不会等你算完,直接把你按在地上。所以双足的本质不是"站着",是每毫秒都在把一次即将发生的摔倒修正回来。它没有稳定状态,只有动态平衡。

理解这句话之后,我的调试方式彻底变了。以前我盯着"位置误差"调,现在我盯着"下一次会不会倒"调。

二、脚底板大小,直接决定了你要多强的电机

我最初给脚做得很秀气——80mm × 40mm 的一块板,觉得比例好看。结果站立测试时它像踩在鸡蛋上,稍微给点扰动就开始左右摇摆。

后来才想明白:支撑多边形越小,允许的重心偏移量就越小,而重心偏移量小意味着踝关节必须在更小的行程内输出更大的扭矩去把身体"推"回来。

粗略的扭矩估算很朴素:

踝关节所需扭矩 ≈ 体重 × 重力加速度 × 重心到踝轴的水平力臂

以 30kg 整机、重心偏移 5cm 为例:
T ≈ 30 × 9.8 × 0.05 ≈ 14.7 N·m(单侧踝关节静态就要扛这么多)

这还只是"站着不动、微微偏了 5 厘米"的静态需求。动态落地、单腿支撑、被人从侧面推一下,峰值轻松翻两三倍。我第一次算出这个数字的时候,看了一眼手边那个标着 6 N·m 的舵机,陷入了长久的沉默。

三、我改过的三个决定

  • 脚从 80×40 改成 130×65。丑,但站得住了。支撑多边形面积翻了 2.6 倍,踝关节的压力立刻小了一截。审美可以后面再说,先让它别倒。
  • 重心往下压。把电池从胸腔挪到骨盆附近,整机重心高度从约 0.72m 降到 0.58m,同样的角加速度下需要的恢复力矩小很多。代价是外观从"人形"变成了"人形但有点啤酒肚",我接受。
  • 加了一个 IMU 前置的判断。不等姿态真的偏了再修,而是在角速度还很小、角度还没超阈值的时候就提前出手。提前量大概 20~30ms,效果比把 PID 的 P 从 8 加到 20 明显得多。

四、给同样想从四足跳到双足的人三句话

  1. 先算扭矩,再买电机。算完你会发现预算不够,这是正常流程,不是你算错了。
  2. 先做单腿蹦,再做双腿站。单腿能稳定地弹跳落地,双腿站立是自然而然的事;反过来做,你会花一个月在"为什么一站就倒"上。
  3. 录像。慢放 0.25 倍速看自己机器人摔倒的那一瞬间,比看一百遍曲线图有用。

现在它已经能站着不倒了——只要求你别碰它、别开窗、别有风。这条路还很长,但至少方向对了。

扫描二维码推送至手机访问。

版权声明:本文由紫宝石DIY发布,如需转载请注明出处。

本文链接:https://www.zibaoshi.com/post/4.html

分享给朋友: