宇树仿真岗面试,推导牛顿-欧拉方程这关刷掉了七成候选人

宇树仿真岗面试,推导牛顿-欧拉方程这关刷掉了七成候选人 上篇聊完宇树运动控制面试的WBC和MPC之后,群里有个正在准备宇树面试的同学说:"控制岗考优化,仿真岗考物理,这两条路线简直是两条平行的修罗之路。"他说得没错。宇树的动力学仿真工程师面试跟运动控制岗画风完全不同——控制岗关心的是"怎么让机器人走好",仿真岗关心的是"怎么让仿真世界里的机器人跟真的一样"。宇树的仿真团队用的是MuJoCo加自研的动力学模块,面试考的东西偏底层物理和数值方法。这篇围绕刚体动力学、接触力建模和MuJoCo底层原理三个方向展开。刚体动力学:牛顿-欧拉方程是入场券宇树仿真岗面试最硬核的部分就是考你推公式的能力。面试官会在白板上让你推导多刚体系统的动力学方程,推不出来基本就凉了。经典面试题:"推导一个N连杆机械臂的正动力学方程(Forward Dynamics),从牛顿-欧拉方法出发。"牛顿-欧拉方程是多刚体动力学的基石。对每一个连杆i,牛顿方程描述质心的平动:F_i = m_i * a_i(合力等于质量乘加速度);欧拉方程描述绕质心的转动:τ_i = I_i * α_i + ω_i × (I_i * ω_i)(合力矩等于惯量矩阵乘角加速度加上陀螺力矩)。正动力学问题是已知关节力矩求关节加速度。直接展开写整个系统的动力学方程是M(q)*q̈ + C(q,q̇)q̇ + g(q) = τ,其中M(q)是NxN的惯量矩阵,C(q,q̇)是科氏力和离心力项,g(q)是重力项。求解正动力学就是解线性方程组q̈ = M^{-1} * (τ - Cq̇ - g)。