第3章 机器人运动学与动力学基础面试
本章聚焦面试中最高频的运动学与动力学知识:正逆运动学建模、雅可比矩阵的速度/力映射、拉格朗日动力学方程。面试官常通过“推导→对比→异常场景追问”考察你对基础理论的工程理解,而非纯背诵。
核心知识点速查表
| 概念 | 定义 | 面试高频用途 |
|---|---|---|
| 正运动学 | 由关节变量 → 末端位姿 | DH参数正确性验证 |
| 逆运动学 | 由末端位姿 → 关节变量 | 轨迹规划、多解选择 |
| 雅可比矩阵 | 关节速度 ↔ 末端速度的线性映射 | 奇异性、刚度、力控制 |
| 拉格朗日方程 | L = T - V,推导动力学方程 | 力控、参数辨识、仿真 |
面试问答卡片
❓ 问题1:请推导一个六轴串联机器人的正运动学方程,并说明DH参数的作用。
🎯 考察点:基本原理掌握程度、数学推导的条理性、对坐标系变换的理解深度。
📘 回答框架:① 定义每个连杆的DH参数(a, α, d, θ)→ ② 构建相邻坐标系齐次变换矩阵 T = Rot(z,θ)·Trans(z,d)·Trans(x,a)·Rot(x,α) → ③ 连乘得到末端位姿 T_end = T1·T2·...·T6 → ④ 说明参数物理意义与建模规范。
✏️ 简短示例:“以标准DH为例,对第i杆:绕z轴转θ_i,沿z移d_i,沿x移a_i,绕x转α_i。依次右乘,最后6个矩阵乘积即为正运动学解。DH参数将复杂机械结构参数化,便于计算机自动生成变换。”
🔁 可能追问:改进DH与标准DH的区别?冗余自由度如何建模?
⚠️ 避坑提醒:不要只背公式,要说出每一步矩阵的含义。容易混淆标准DH(坐标系建在杆末端)和改进DH(建在杆起点)。
❓ 问题2:逆运动学解通常有多组,你如何选择最优解?
🎯 考察点:工程约束意识、算法选型思路、对奇异和关节限位的处理。
📘 回答框架:① 分类讨论:解析解(Pieper准则适用) vs 数值解(一般情况)→ ② 多解筛选条件:关节限位、最短行程、避障、连续运动速度平滑 → ③ 奇异构型处理:雅可比条件数判断 → ④ 实际项目策略:离线预计算+在线查表。
✏️ 简短示例:“先尝试解析解(若三个相邻关节轴交于一点),解析解最多8组解。筛选时优先满足关节限位,然后选上一时刻关节角变化最小的解。若无解,采用数值法迭代并加入阻尼最小二乘避免奇异。”
🔁 可能追问:阻尼最小二乘的阻尼系数如何自适应调整?串联机器人与并联机器人的逆解差异?
⚠️ 避坑提醒:不要只说“取最近解”,要解释“最近”的度量(欧氏距离 vs 加权距离);注意数值法可能陷入局部最优。
❓ 问题3:请解释雅可比矩阵如何用于机器人的力控制?
🎯 考察点:速度-力对偶关系、静力传递概念、阻抗控制或力位混合控制原理。
📘 回答框架:① 雅可比定义为末端速度 v_e = J·q̇ → ② 由虚功原理得关节力矩 τ = J^T·F_end → ③ 力控本质:给定期望力F_d,计算所需关节力矩τ_d = J^T·F_d → ④ 考虑摩擦与重力补偿 → ⑤ 奇异性时力控失效(奇异方向无法产生力)。
✏️ 简短示例:“利用虚功原理:关节虚功 δq^T·τ = 末端虚功 δx^T·F,代入 δx = J·δq 得 τ = J^T·F。力控时根据期望力计算关节力矩输出,配合F/T传感器闭环。注意在奇异位形下力控精度急剧下降。”
🔁 可能追问:雅可比矩阵的秩与可操作度的关系?如何用雅可比进行刚度控制?
⚠️ 避坑提醒:不要混淆J^T和J;力控中必须考虑重力补偿,否则会产生偏置误差。
项目案例:工业机器人动力学参数辨识与力控优化
| 维度 | 内容 |
|---|---|
| 项目名称 | 六轴协作机器人动力学参数在线辨识与柔顺力控系统 |
| 业务背景 | 某机器人公司需提升装配产线力控精度(打磨、装配),但因批次差异,离线动力学模型误差>30%,导致力控震荡。 |
| 规模指标 | 机器人6轴,负载5kg;力控精度目标±0.5N;辨识周期<1s;部署50台。 |
| 技术栈 | C++ / ROS2 / 拉格朗日动力学 / 递推最小二乘(RLS) / 阻抗控制 / 卡尔曼滤波 |
| 核心难点 | ① 激励轨迹设计(满足持续激励条件)② 摩擦非线性项辨识 ③ 奇异性附近收敛不稳定 ④ 在线计算实时性要求 |
| 面试高频追问 | ① 如何设计激励轨迹?答:傅立叶级数轨迹保证各频率分量充分激励 ② 摩擦模型选型?答:库仑+粘滞+Stribeck ③ 辨识后力控误差由1.5N降到0.4N,改进点在哪?答:重力项前馈+RLS实时更新惯性参数 |
| 可迁移回答话术 | “我负责辨识模块,先将动力学写成线性参数化形式 Y·Φ = τ,采用RLS在线更新Φ。同时用拉格朗日方法推导完整动力学,确保M、C、G结构正确。最终力控稳态精度提升60%以上。” 亮点:突出“线性参数化+在线学习”的工程化思维。 |