机器人运动学研究关节变量与末端位置、姿态之间的几何关系。正运动学从各关节的角度或位移出发,计算末端在哪里、朝向哪里;逆运动学则从目标末端位姿出发,反求哪些关节位置能够满足要求。
两者的区别不只是计算方向相反:在机构和工具定义固定的串联机械臂中,一组关节变量对应确定的末端位姿,而一个目标位姿可能没有逆解,也可能有一个或多个逆解。理解这种差异,才能看懂示教器中的关节值、末端坐标以及构型选择。

机器人运动学研究什么
在常见串联机械臂中,连杆由关节依次连接。旋转关节用角度描述状态,移动关节用直线位移描述状态;把这些量按顺序排列,就是关节变量q。末端位姿则由位置和姿态共同组成:夹爪尖端到达同一点,并不代表夹爪也朝向相同方向。
计算需要明确连杆尺寸、关节轴的位置与方向、关节零位、基准坐标系和工具相对法兰的偏置。即使关节显示值相同,换了工具定义,算出的工具中心点TCP也可能不同。参考系与TCP的基础可结合机器人基坐标、工具坐标与用户坐标阅读;机械结构的总体介绍见工业机器人的组成与工作原理。
运动学回答几何运动关系,动力学还要引入质量、惯量、载荷和力矩,回答“产生这种运动需要多大的驱动力”。算出关节角,不等于已经证明电机能够按指定加速度带动负载。下文用刚性串联两连杆说明基本关系,实际机器人还需使用与本机相符的参数和约束。

正运动学:由关节位置算出末端位姿
可以把正运动学理解为沿机械链逐段累积几何变换:前一关节转动,会改变后续连杆及关节在基准系中的方向;再结合下一段长度和关节变量,就能继续求到末端。空间机械臂通常使用矩阵表达这些旋转和平移,Modern Robotics的正运动学讲解给出了这种从关节配置求末端坐标系位姿的建模方法。
先看一个可直接复算的平面模型。两根连杆长度均为100 mm,基座O在原点,X轴向右、Y轴向上。q₁是第一杆相对X正方向的角度,q₂是第二杆相对第一杆的角度,逆时针为正。末端点取第二杆末端,工具方向沿第二杆,暂不加工具偏置。
第二杆在基坐标中的绝对方向是q₁+q₂,因此:
x=100 cos q₁+100 cos(q₁+q₂)
y=100 sin q₁+100 sin(q₁+q₂)
末端朝向φ=q₁+q₂
令q₁=0°、q₂=90°,第一杆向右伸出100 mm,第二杆向上伸出100 mm。代入可得x=100 mm、y=100 mm,末端朝向90°。不能把第二杆的方向直接写成q₂:只有第一杆恰好沿X轴时,两者数值才碰巧相同。

这个计算说明正解如何产生,也说明模型前提的重要性。它不包含连杆受力变形、减速器间隙或标定误差,因此得到的是模型中的位姿,不能直接当作设备实际定位精度。
逆运动学:同一个目标为什么可能有多组解
逆运动学先给出目标,再寻找满足几何方程的关节变量。Modern Robotics的开链逆运动学示例用平面两转动关节说明:是否有解、存在多少组解,取决于目标与机构几何关系,也取决于要求的是位置还是完整位姿。
仍用上述两连杆,若只要求末端到达P=(100,100) mm,就至少可以找到下面两组配置:
| 关节配置 | 第一杆与第二杆方向 | 末端位置 | 末端朝向 |
|---|---|---|---|
| q₁=0°,q₂=90° | 先向右,再向上 | (100,100) mm | 90° |
| q₁=90°,q₂=−90° | 先向上,再向右 | (100,100) mm | 0° |

这不是“同一完整位姿有两解”的例子,而是“同一位置有两解”。如果加上φ=90°的要求,表中只剩第一组符合条件。两关节模型只有两个独立关节变量,不能任意独立指定平面位置x、y和朝向φ这三个量。
还可用两杆构成的三角形求第二关节角:
cos q₂=(x²+y²−L₁²−L₂²) ÷ (2L₁L₂)
对P=(100,100) mm,右侧为0,于是q₂可取90°或−90°,再分别求q₁即可得到表中配置。若目标改成(250,0) mm,右侧为2.125,超出了余弦的取值范围,因此没有实数关节角解;从长度看,两杆总长只有200 mm,也不可能伸到250 mm远处。
真实机械臂还受关节限位和工具方向要求约束,几何上存在的某个解可能因此被排除。对于相对任务具有冗余自由度的机构,满足条件的配置也可能是一族连续解。不能脱离机型、任务维度和约束,给所有机器人规定相同的逆解数量。
解析法与数值法分别怎样求逆解
解析法利用具体结构的几何关系或代数方程,直接求出关节变量。上面的余弦关系就是一个简单例子:它能显示可达条件,也便于列出不同分支。但更换关节轴布置后,原有公式未必还能使用。
数值法则先猜一组关节位置,计算这组位置的正解,比较它与目标之间的误差,再修正关节变量并重复。Modern Robotics的数值逆运动学讲解说明了利用局部雅可比关系进行这种迭代的方法。初始值会影响收敛过程与最终得到的分支,一次求解通常只返回一个结果,不能代表找到了全部解。
核对数值结果时,应把求出的关节变量重新代入正运动学,分别检查位置误差和姿态误差是否满足任务容差,并检查关节限位。位置误差用长度度量,姿态误差用角度等合适形式度量,不能把二者未经处理就当作同一种数值比较。公式示例使用角度制,程序中的三角函数则常接收弧度,输入单位也必须一致。
“迭代没有收敛”不等于“目标一定不可达”:初值不合适、局部条件较差或迭代设置也可能造成失败。反过来,误差已经很小,也只表明找到一个符合当前模型与容差的候选解,路径和碰撞条件仍需另行核对。
奇异位形:能到这个点,却不一定能沿任意方向动
雅可比矩阵描述当前关节速度与末端瞬时速度之间的关系。对选定任务,如果它的秩比该机构正常可达到的最大秩更低,就出现了奇异位形:部分原本可独立实现的瞬时运动方向发生丢失。Modern Robotics的奇异位形讲解用伸直的平面机械臂说明了这一点。
对这里的两连杆,先只考察末端平面位置,不额外要求朝向独立可控。当q₁=q₂=0°时,两杆完全向右伸直,末端位于(200,0) mm。由前面的x、y公式对时间求导,在这一瞬间可得:
vₓ=0
vᵧ=200q̇₁+100q̇₂
其中关节角速度q̇以rad/s计,末端速度以mm/s计。两个关节的有限瞬时转速都只能产生Y方向速度,不能在此位形下产生独立的X方向一阶速度,所以用于平面位置任务的2×2雅可比由秩2降到秩1。

奇异不是“这个点没有位置逆解”,也不表示机器人永久锁死。伸直位置本身有明确关节解,关节仍能转动;但要求末端从这里以非零速度立即沿X方向运动,就不能用有限关节速度满足。有限角度弯曲后,X坐标仍会改变,这与瞬时一阶X速度为零并不矛盾。
接近奇异位形时,为保持某些末端运动要求,求解出的关节速度可能很大。降低末端速度有时能缓解速度限制,却不能在严格奇异处恢复缺失的方向。实际处理需结合允许改变的工具姿态、路径或构型进行调整,不能统一归结为“降速即可通过”。
从逆解到实际轨迹,还要核对什么
终点有解,只说明该目标存在满足当前模型与约束的关节配置;轨迹还规定如何从起点走到终点。关节空间插补以关节运动为对象,TCP不必沿直线;笛卡尔直线运动则要求TCP沿指定直线,各关节需协调变化。Universal Robots对MoveJ与MoveL的说明展示了这一差别,具体指令名称和混合方式应以所用控制器为准。
例如,夹爪要沿孔轴退出时,只让终点落在孔外还不够,中间轨迹也应满足退出方向要求。同样,两个端点各有逆解,不保证连接它们的整段直线都可达,更不保证中途不会接近奇异、超过关节速度限制或发生干涉。
实际使用候选解时,至少需要核对三件事。第一,规划与控制器是否采用一致的机构、参考系、TCP和单位。第二,相邻点的解是否保持连续,是否因切换肘部或腕部构型而产生大幅关节变化;部分控制器用轴配置参数约束分支,梅卡曼德文档对轴配置的介绍说明了这一用途,但参数格式不能跨厂家套用。第三,整段运动是否满足限位、速度以及机器人、工具、工件和周围设施之间的碰撞约束。
最后,还要把模型结果与实际标定和运动验证区分开。正确的正逆解是规划的基础;工具偏置错误、关节零位误差或结构变形,仍可能使真实TCP偏离计算位置。分析定位偏差时,应先确定问题属于几何模型、坐标设置、轨迹约束还是实际机械与控制误差,才能选对后续核查方向。
评论留言
暂时没有留言!