接着上篇,还是字节跳动。Sim2Real仿真工程师那篇讲了整体,这篇换机器人运动控制工程师视角,全身控制是面试官揪着不放的点。
全身控制:别急着背答案,先理解为什么
全身控制是字节跳动面试的高频开场。面试官常拿它当“探针”,先确认候选人对工程细节的敏感度。
面试官开口就问:“WBC和MPC怎么分工?AI Lab机器人是WBC嵌在MPC里还是并列?”
参考答案思路:典型双层:上层MPC(100Hz,20步)优化质心/脚步与接触序列,产出期望接触力与质心加速度;下层WBC(1kHz)解全身关节力矩满足接触约束并跟踪末端。字节跳动架构MPC算f_c与x_ddot,WBC用逆动力学τ=ID(q,qd,qdd_des)+Jᵀf_c。相比纯WBC无前瞻,遇台阶提前0.2s调姿,跌倒率降70%;两层通过可行性投影衔接,避免指令冲突。
面试官没有就此打住:“MPC输出的接触力如果和下层WBC动力学不兼容会怎样?”
会出现WBC无解或关节力矩超限。字节跳动在接口做可行性投影:MPC的f_c先过摩擦锥/力矩可达性检查,越界则松弛并回传修正质心加速度;同时WBC用软约束吸收小幅冲突,使两层级联稳定,实测过渡冲击<5Nm,且MPC重优化频率低、WBC始终有可行解。
面试官换了个场景接着问:“pyramid近似摩擦锥相比圆锥,对求解精度和影响?”
4面pyramid会「切掉」锥角约5%~10%可行域,偏保守使最大可用摩擦推力略降;6面更接近真实圆锥。字节跳动用6面近似,约束仅增2个/接触点,OSQP求解仍<0.4ms,推箱时打滑率比4面降约一半,是精度