人形机器人步态为何发散?足底接触怎么判?
双足平台能走几步不等于能稳定工作,真正难点在于每一步接触是否被及时识别。人形机器人若把脚底触地和支撑相切换看错,步态会先从轻微摆动变成连续发散。
足底接触判别不是简单比较力传感器阈值。脚掌落地时,橡胶垫、地面粗糙度和足底结构柔顺性会把冲击力拉成一段短暂包络,峰值高并不一定代表稳定承重,峰值低也不一定代表还在悬空。若控制器在冲击尖峰刚出现时就把摆动腿切成支撑腿,质心规划会提前相信这一只脚已经可靠落地,实际接触点却还在滑移,踝关节补偿便会把横摆继续放大。
多传感融合能改善判断,但它也会引入新的时序问题。六维力传感器、足底压力阵列和IMU的采样周期不同,滤波延迟也不同,若直接把它们拼成同一时刻的状态量,接触判据会在快速落脚时错位。尤其在人形机器人小步快走或转身时,足端冲击持续时间很短,几十毫秒的时间差就足以让全身控制器把旧姿态当成新约束使用。
工程上更稳的做法,是把接触判别设计成带迟滞的状态机。触地进入条件可以同时看法向力上升、足底力矩中心是否落入支撑多边形、垂向速度是否接近零;退出条件则不能与进入条件完全对称,否则脚掌边缘轻微抬起就会触发来回切换。这样做会牺牲一点响应速度,却能避免支撑脚身份在临界状态下抖动。
支撑相切换迟滞还会影响上层步态生成。MPC或全身控制通常假定某段时间内支撑脚是刚性约束,若真实接触状态比计划晚建立,求解器给出的地面反力会超出摩擦锥,实际执行只能通过关节限幅硬顶。此时看到的不是单个电机力矩不够,而是接触约束被过早写进了优化问题,控制器在一个不存在的支撑面上求平衡。
迟滞也不能设得过大。若机器人已经出现脚底打滑或踩空,控制器仍坚持旧支撑相,摆腿补偿会滞后,腰部姿态和摆臂动作都会被带偏。比较合理的边界,是把相位切换与落点修正联动:接触可信度不足时先缩短下一步步长、降低质心前移速度,而不是直接用全力矩去追原计划。
验证步态稳定性时,平整地面走通并不够。需要扫不同鞋底硬度、地砖接缝、薄地毯和轻微坡面,把足底传感、IMU和关节力矩放在同一时间轴上看。只要支撑身份切换点与力矩尖峰总是成对出现,就说明问题不在步态库本身,而在接触事件的判别边界。
左右脚协同还会放大单脚判断的后果。双支撑阶段本来用于转移载荷,若一侧足底可信度虚高,控制器会把更多地面反力分给它,另一侧提前卸载;若可信度虚低,系统又会拖延换脚,让质心速度被过度压低。实际调参时应同时看两脚力中心轨迹,而不能只盯失稳那一脚。若只在日志里看最终姿态,往往错过载荷转移瞬间;把相位、反力和足底压力视频同步,才能判断是判据误差还是落脚轨迹错误。
因此,步态稳定不是先追求步频,而是先守住接触真实性。脚底状态和相位迟滞对齐后,双足控制才有可靠的支撑前提。





