第四节:机械臂运动学基础

各位同学好,我是老张。今天咱们聊聊机械臂运动学——说白了,就是研究「机械臂该怎么动」的问题。

我记得刚入行那会儿,带我的师傅跟我说:「小张,你搞懂正逆运动学,机械臂就算入门了。」当时我不信,觉得不就是算算角度嘛。后来真上手调试,才发现这里面的坑,一个比一个深。

4.1 正运动学:已知关节角度,求末端位置

正运动学,说白了就是「我知道每个关节转了多少度,求机械臂末端在哪儿」。

举个例子:你面前有个六轴机械臂,你给每个关节电机发指令,让它转到某个角度。这时候你肯定想知道——夹爪到底在哪个位置?这就是正运动学要解决的问题。

数学上,我们用齐次变换矩阵来描述。每个关节的变换矩阵长这样:

T = [R  p]
    [0  1]

其中 R 是旋转矩阵,p 是平移向量。把每个关节的变换矩阵乘起来,就得到末端位姿:

T_0n = T_01 * T_12 * ... * T_(n-1)n

我在项目中遇到过一件事:有个同事写正运动学代码,矩阵乘法顺序搞反了。结果机械臂末端位置算出来差了好几十厘米。嗯,这里要注意——矩阵乘法不满足交换律,顺序错了,结果全错。

4.2 逆运动学:已知末端位置,求关节角度

逆运动学正好反过来——我知道夹爪要去哪个位置,反过来算每个关节该转多少度。

这比正运动学难多了。为什么?因为正运动学有唯一解,逆运动学可能有多个解,甚至无解。

举个例子:你让机械臂去抓桌上的杯子。同一个杯子位置,机械臂可以「弯着胳膊」抓,也可以「伸着胳膊」抓。这就是多解问题。

我曾经调试一个焊接机器人,逆运动学算出来8组解。我一个个试,最后发现只有两组解能让机械臂不撞到工件。所以啊,逆运动学算完,一定要做碰撞检测。

常用的逆运动学解法有两种:

  • 解析法:速度快,但只适用于特定构型(比如前三个关节轴线交于一点)
  • 数值法:通用性强,但迭代慢,可能不收敛
我的建议:能解析就别数值。解析法算出来的是精确解,数值法搞不好会发散。我见过一个项目,用牛顿迭代法算逆解,结果迭代了500次还没收敛,机械臂在那抖得跟筛糠似的。

4.3 DH参数:机械臂的「身份证」

DH参数是Denavit和Hartenberg两位老哥搞出来的。说白了,就是用四个参数来描述一个关节:

参数 含义 单位
θ 关节角(绕Z轴旋转) rad 或 °
d 连杆偏距(沿Z轴平移) mm
a 连杆长度(沿X轴平移) mm
α 连杆扭角(绕X轴旋转) rad 或 °

你想想看,每个关节都有这四个参数。把它们列成一张表,就是机械臂的DH参数表。有了这张表,正逆运动学就能算出来。

我刚开始学DH参数时,总搞不清a和d的区别。后来师傅跟我说:「你记住,a是水平方向的长度,d是垂直方向的偏移。」一下子就通了。

注意:DH参数有两种约定——标准DH和改进DH。区别在于坐标系建在关节的前端还是后端。我建议你统一用一种,别混着用。我曾经见过一个项目,前半段用标准DH,后半段用改进DH,结果算出来的末端位置差了十万八千里。

4.4 关节空间与笛卡尔空间

这两个概念,说白了就是「怎么描述机械臂的状态」。

  • 关节空间:用每个关节的角度来描述。比如「关节1转30°,关节2转45°...」
  • 笛卡尔空间:用末端的位置和姿态来描述。比如「夹爪在(100, 200, 300)mm,姿态是(0°, 0°, 90°)」

你可能会问:这两个空间有啥区别?

嗯,区别大了去了。关节空间里,轨迹规划简单——直接让每个关节从当前角度转到目标角度就行。但问题是,你没法保证末端走直线。

笛卡尔空间正好相反——你可以让末端走直线、走圆弧,但每个关节的运动曲线就复杂了。

我在做涂胶机器人时,要求胶枪走直线。如果用关节空间规划,胶枪走的是弧线,胶水涂出来歪歪扭扭的。后来改成笛卡尔空间规划,问题就解决了。

核心要点:
  • 关节空间:适合点到点运动(比如抓取、放置)
  • 笛卡尔空间:适合路径约束运动(比如焊接、涂胶)
  • 实际项目中,经常两个空间混着用

4.5 知识体系总览

下面这张图,是我自己画的。它把这一节的知识点串起来了:

机械臂运动学知识体系 运动学基础 正运动学 逆运动学 DH参数 关节空间 ↔ 笛卡尔空间 关节角 → 末端位姿 末端位姿 → 关节角 θ, d, a, α 点到点运动 vs 路径约束运动

这张图你看懂了吗?正运动学和逆运动学是互逆的关系,DH参数是它们的基础,而关节空间和笛卡尔空间是两种不同的描述方式。实际项目中,这四个知识点是串在一起的。

避坑指南:我曾经在调试一个六轴机械臂时,发现正运动学算出来的位置和实际位置差了5mm。查了半天,原来是DH参数表里一个连杆长度写错了。所以啊,拿到机械臂的第一件事——验证DH参数。拿尺子量一量,确认无误再往下做。

好了,这一节就讲到这里。运动学是机械臂调试的基石,搞不懂它,后面做轨迹规划、力控制都会很吃力。下一节咱们聊聊动力学,那又是另一番天地了。


专注资料整理