2. 机器人学基础:机器人分类、自由度与构型空间、刚体运动与位姿描述
好,咱们正式开始啃机器人学的基础。这一章说白了,就是给具身智能打地基。你想想看,要让机器人学会自己干活,你总得先搞清楚它长什么样、能怎么动、以及它在空间里到底在哪儿吧?
我个人习惯,不管做啥项目,先把基本概念捋清楚。不然代码写一半,发现自由度算错了,那才叫一个头疼。我记得刚入行那会儿,有个师兄就是没搞懂构型空间,结果规划出来的路径直接把机械臂怼墙上了……嗯,咱们别走那个弯路。
2.1 机器人分类:从结构到用途
机器人这玩意儿,分类方式五花八门。但咱们做具身智能,最关心的其实是它的运动结构和工作场景。我一般把它们分成这几大类:
| 分类维度 | 类型 | 典型例子 | 我的备注 |
|---|---|---|---|
| 按结构 | 串联机器人 | 工业六轴臂、协作机器人 | 最常见,像人的手臂,灵活但刚性差 |
| 并联机器人 | Delta 分拣机器人 | 速度快、刚度高,但工作空间小 | |
| 移动机器人 | 轮式AGV、四足机器人 | 底盘运动学是核心 | |
| 人形机器人 | Atlas、Optimus | 最复杂,全身自由度耦合 | |
| 按应用 | 工业/服务/特种 | 焊接/扫地/救援 | 决定你用什么算法 |
2.2 自由度与构型空间:机器人到底能怎么动?
自由度(DOF),就是描述机器人状态所需要的最少独立坐标数。这个概念太重要了。我见过不少新手,把电机数量直接当成自由度,结果算出来的运动学全是错的。
举个例子,一个在平面上自由移动的小车,它有3个自由度:(x, y, θ)。但如果你给它加个差速驱动,虽然有两个轮子电机,自由度还是3。为什么?因为两个轮子的转速不是独立的,它们之间有个约束关系。
核心公式:
对于一个有 n 个关节的机器人,其构型空间(C-space)的维度 = 自由度 = n(在无约束情况下)。
构型空间里的每一个点,都对应机器人唯一的一个姿态。
构型空间(Configuration Space)这个概念,说白了就是把机器人的所有可能状态“压缩”到一个抽象空间里。你想想看,一个六轴机械臂,每个关节角度 θ₁, θ₂, ..., θ₆ 就是一个坐标轴。那这个六维空间里的一个点,就代表了机械臂的一个具体姿势。
为什么要搞这么抽象?因为路径规划就是在构型空间里找一条从起点到终点的无碰撞路径。在真实物理空间里规划,障碍物形状千奇百怪,太难算了。但在构型空间里,机器人自己变成了一个点,障碍物变成了“禁区”,问题瞬间简化。
(x, y, θ) 和机械臂的关节角 (θ₁...θ₆) 合并成一个9维的构型空间来统一处理。切记,自由度是独立的,但构型空间是整体的。
2.3 刚体运动与位姿描述:它在哪儿?脸朝哪?
好了,现在我们知道机器人有多少个“关节”了。但具体到控制,你得知道每个部件在空间里的位置和朝向。这就是位姿(Pose)。
位姿 = 位置(Position)+ 姿态(Orientation)。
描述位置很简单,一个三维向量 [x, y, z]ᵀ 就搞定了。但描述姿态,就有几种不同的玩法了。我个人最常用的是旋转矩阵和四元数。
2.3.1 旋转矩阵
旋转矩阵是一个 3x3 的正交矩阵,它的每一列代表旋转后的坐标轴在原始坐标系中的投影。这东西的好处是直观,能直接做向量旋转。坏处是,它有9个参数,但自由度只有3,存在冗余,而且做插值的时候容易出问题。
// 绕 Z 轴旋转 θ 角的旋转矩阵
R_z(θ) = | cosθ -sinθ 0 |
| sinθ cosθ 0 |
| 0 0 1 |
2.3.2 四元数
四元数是个好东西。它用四个参数 [w, x, y, z] 来表示旋转,没有奇异性(不像欧拉角,会有万向锁)。在机器人控制和计算机图形学里,几乎所有的姿态插值和平滑旋转都用它。
我记得有一次做机械臂的平滑轨迹规划,用欧拉角插值,结果在某个点机械臂突然“翻了个跟头”。换成四元数的球面线性插值(Slerp)后,运动就丝滑了。
2.3.3 齐次变换矩阵
把旋转和平移合在一起,就得到了齐次变换矩阵。它是一个 4x4 的矩阵,形式如下:
T = | R t |
| 0ᵀ 1 |
其中:
R: 3x3 旋转矩阵
t: 3x1 平移向量
0ᵀ: 1x3 零向量
这个矩阵太强了。它可以把一个点的坐标从一个坐标系变换到另一个坐标系。整个机器人运动学,说白了就是一堆齐次变换矩阵的连乘。
比如,从基座到末端执行器的变换:T_base_to_effector = T_0_1 * T_1_2 * ... * T_{n-1}_n。这就是正运动学的核心。
2.4 本章知识体系总览
下面这张图,把咱们这一章的核心逻辑串起来了。你可以把它当成一个思维导图来记。
嗯,这一章的内容就这些。概念比较多,但都是硬通货。你把这些搞明白了,后面讲正运动学、逆运动学,甚至轨迹规划,都会顺很多。别急,咱们一步一步来。