3. 运动学基础:正运动学与逆运动学的基本概念,DH参数模型简介

大家好,我是老张。今天咱们聊聊机器人运动学里最核心的两个概念——正运动学和逆运动学。说白了,就是搞清楚「我的关节怎么动,末端会到哪」以及「我想让末端到哪,关节该怎么动」这两个问题。

我记得刚入行那会儿,带我的师傅扔给我一本厚厚的机器人学教材,第一句话就是:「先把正逆解搞明白,不然你连标定都无从下手。」当时我还不太理解,后来踩了不少坑才明白——运动学是标定的数学基础,不懂这个,你连误差从哪来的都说不清楚。

3.1 正运动学:从关节到末端

正运动学,英文叫 Forward Kinematics。它的任务很简单:给定每个关节的角度(或位移),计算机器人末端执行器的位置和姿态。

你想想看,一个六轴机器人,六个关节各转一个角度,末端到底在哪?正运动学就是回答这个问题的数学工具。

核心公式(简化表达)

末端位姿 = f(关节角度₁, 关节角度₂, ..., 关节角度ₙ)

其中 f 是由一系列齐次变换矩阵连乘得到的函数。

我在项目中遇到过一件事:有一次调试一台协作机器人,示教器上显示末端位置是 (500, 300, 200),但我用尺子一量,实际差了将近 5 毫米。后来发现,是正运动学模型里的连杆参数和实际机械尺寸对不上。这就是标定要解决的问题。

3.2 逆运动学:从末端到关节

逆运动学(Inverse Kinematics)正好反过来:已知末端想要到达的位置和姿态,反算出每个关节应该转多少度。

嗯,这里要注意。逆运动学比正运动学复杂得多。为什么?因为正运动学通常只有一个解,而逆运动学可能有多个解,甚至无解。

举个例子:你让机器人去抓桌子上的一个杯子。末端位置固定了,但机器人的「肘部」可以朝上,也可以朝下——这就是两个不同的关节角度组合,都能让末端到达同一个点。

我的个人习惯:在做标定之前,我会先确认逆运动学求解器是否稳定。如果逆解跳变,标定数据会非常难看。我曾经因为逆解不稳定,浪费了整整一周的数据采集时间。

3.3 DH参数模型简介

讲运动学,绕不开 DH 参数。DH 是 Denavit 和 Hartenberg 两位老先生的姓氏缩写。他们提出了一种标准化的方法,用四个参数来描述相邻两个关节坐标系之间的变换关系。

这四个参数分别是:

参数符号 名称 含义
a 连杆长度 相邻两关节轴线之间的公垂线距离
α 连杆扭转角 相邻两关节轴线之间的夹角
d 连杆偏距 沿关节轴方向,相邻两连杆之间的距离
θ 关节角 绕关节轴旋转的角度(对于旋转关节)

说白了,你只要把每个关节的这四个参数定下来,就能用一套统一的矩阵乘法,把整个机器人的运动学模型搭起来。

避坑指南:我曾经在标定一个六轴机器人时,发现 DH 参数表里 a 和 d 的符号搞反了。结果正运动学算出来的末端位置,和实际差了十几毫米。后来花了三天才排查出来。所以,拿到机器人的 DH 参数表,第一件事就是验证——让机器人走几个已知点位,用尺子量一下,确认参数没错。

3.4 知识体系结构图

下面这张图,是我自己整理的运动学知识结构。你可以把它当作本章的「地图」:

运动学基础:知识体系结构 正运动学 输入:关节角度 输出:末端位姿 唯一解,计算简单 逆运动学 输入:末端位姿 输出:关节角度 多解 / 无解 / 奇异点 互为逆运算 DH参数模型(桥梁) 四个参数:a(连杆长度)、α(连杆扭转角)、d(连杆偏距)、θ(关节角) 作用:标准化描述相邻关节坐标系之间的变换关系 正运动学 = 连乘所有关节的 DH 变换矩阵 应用:机器人标定、轨迹规划、运动控制

3.5 一个简单的正运动学计算示例

光讲理论太枯燥,咱们来点实际的。假设一个两连杆机器人,两个关节都是旋转关节。DH 参数如下:

关节 i a (mm) α (°) d (mm) θ (°)
1 100 0 0 θ₁
2 80 0 0 θ₂

当 θ₁ = 30°,θ₂ = 45° 时,末端位置怎么算?

嗯,这里我直接给出结果:

# 简化计算(单位:mm)
x = a₁ * cos(θ₁) + a₂ * cos(θ₁ + θ₂)
  = 100 * cos(30°) + 80 * cos(75°)
  = 100 * 0.866 + 80 * 0.259
  = 86.6 + 20.7
  = 107.3 mm

y = a₁ * sin(θ₁) + a₂ * sin(θ₁ + θ₂)
  = 100 * sin(30°) + 80 * sin(75°)
  = 100 * 0.5 + 80 * 0.966
  = 50 + 77.3
  = 127.3 mm

你看,正运动学就是这么直接。你给角度,我算坐标。但反过来,如果告诉你末端在 (107.3, 127.3),让你反推 θ₁ 和 θ₂,那就没那么简单了——这就是逆运动学要干的事。

一个小技巧:我习惯在标定前,先用正运动学算几个已知点,和实际测量值对比。如果偏差在 1mm 以内,说明 DH 参数基本靠谱。如果偏差很大,别急着标定,先检查参数。

3.6 本章小结

正运动学和逆运动学,是机器人标定的数学根基。DH 参数则是连接机械结构和数学模型的桥梁。你不需要成为运动学专家才能做标定,但至少要理解:

  • 正运动学:从关节到末端,唯一解,计算简单
  • 逆运动学:从末端到关节,多解,需要选最优解
  • DH 参数:四个参数描述一个关节,连乘得到整机模型

下一章,我们会把这些知识用到实际标定中。到时候你会发现,今天打下的基础,全都会用上。


可可精品资料库