第一章:机器人运动学概述

1.1 什么是机器人运动学

机器人运动学,说白了就是研究机器人怎么动的一门学问。但注意,它只关心位置、速度、加速度这些几何关系,完全不考虑力和力矩。我刚开始接触这个领域时,总觉得这有点「纸上谈兵」——光算位置有什么用?后来在项目里吃过亏才明白,运动学是机器人控制的地基,地基不稳,后面全是白搭。

举个例子,你让机械臂去抓一个杯子。运动学要回答的是:「各个关节转多少度,手爪才能到那个位置?」至于电机需要多大扭矩、会不会把杯子捏碎——那是动力学和控制的活。所以,运动学是机器人学的「几何学」,它把机械结构抽象成纯粹的数学关系。

核心定义:机器人运动学是研究机器人各连杆之间位置、速度、加速度关系的学科,不考虑产生运动的力和力矩。

1.2 位姿描述与空间变换

要描述一个机器人的状态,你得先回答两个问题:「它在哪?」「它朝哪?」。这就是位姿——位置+姿态。

位置好办,三维空间里用 (x, y, z) 三个坐标就行。但姿态就有点绕了。我记得第一次做六轴机器人标定时,被欧拉角和四元数搞得晕头转向。后来我习惯用旋转矩阵,虽然计算量大点,但直观、不容易出错。

空间变换,其实就是坐标系之间的转换。你想想看,机器人每个关节都有自己的坐标系,手爪也有自己的坐标系。要让手爪去抓东西,就得把目标位置从世界坐标系一路变换到手爪坐标系。这个过程,数学上就是矩阵乘法。

我的习惯:做运动学分析时,先把所有坐标系画出来,标清楚每个变换矩阵。这一步做扎实了,后面推导公式会顺畅很多。

常用的变换矩阵是 4x4 的齐次变换矩阵:

| R   t |
| 0   1 |

其中 R 是 3x3 的旋转矩阵,t 是 3x1 的平移向量。这个矩阵能把一个点从一个坐标系映射到另一个坐标系。

1.3 刚体的自由度

自由度,就是描述一个物体运动所需的最少独立参数个数。一个自由刚体在三维空间里,有 6 个自由度:3 个平移(沿 x、y、z 轴移动)+ 3 个旋转(绕 x、y、z 轴转动)。

但机器人不一样。每个关节会限制或允许某些运动。比如:

  • 旋转关节:1 个自由度(绕关节轴旋转)
  • 移动关节:1 个自由度(沿关节轴平移)
  • 球关节:3 个自由度(绕三个轴旋转)

我曾经犯过一个低级错误:设计一个七轴协作机器人时,想当然地认为自由度越多越好。结果发现冗余自由度导致逆运动学求解极其复杂,控制器的算力根本跟不上。嗯,这里要注意——自由度不是越多越好,够用就行

避坑指南:我曾经在项目里遇到过一个情况——机械臂末端明明有 6 个自由度,但某些姿态下会「丢失」一个自由度,变成 5 个。这就是奇异位形。做轨迹规划时一定要避开这些位置,否则关节速度会突然变得极大,甚至损坏电机。

1.4 运动学在机器人学中的位置

整个机器人学可以分成几大块:运动学、动力学、控制、感知、规划。运动学是基础中的基础。没有运动学,你连机器人该往哪走都不知道,更别提怎么走了。

我个人的理解是:运动学解决「能不能到」的问题,动力学解决「能不能稳」的问题,控制解决「能不能准」的问题。这三者层层递进,缺一不可。

在实际工程中,运动学最常见的应用场景包括:

  1. 正运动学:给定关节角度,求末端位姿。这个相对简单,有固定公式可套。
  2. 逆运动学:给定末端位姿,求关节角度。这个就复杂了,可能有多个解、无解、甚至无穷多解。
  3. 速度运动学:也就是雅可比矩阵,描述关节速度和末端速度之间的关系。

你想想看,一个焊接机器人要沿着焊缝走,你得先算出来每个时刻手爪该在哪、朝哪,然后反算出关节怎么动。这就是运动学在干活。

一句话总结:运动学是机器人的「骨架」,动力学是「肌肉」,控制是「大脑」。骨架歪了,肌肉再强也白搭。

本章知识体系

下面这张图展示了本章的核心逻辑:

机器人运动学概述 - 知识体系 机器人运动学 什么是运动学 位姿描述与变换 刚体自由度 在机器人学中的位置 几何关系 不考虑力/力矩 位置(x,y,z) 姿态(旋转矩阵) 齐次变换矩阵 刚体6自由度 关节约束 奇异位形 正运动学 逆运动学 速度运动学

这张图把本章的四个核心模块串起来了。从定义出发,到具体的描述方法(位姿变换),再到核心概念(自由度),最后落脚到它在整个机器人学中的位置。后面的章节,我们会逐一深入每个模块。


专注资料整理