【具身智能基础】机器人正逆运动学与路径规划
本文系统介绍了机器人运动控制三大核心技术:正运动学(FK)用于根据关节参数计算机器人末端位姿;逆运动学(IK)解决从末端位姿反求关节参数的问题,存在多解性和奇异性挑战;轨迹规划则包含关节空间和笛卡尔空间两种方法,分别适用于不同精度的运动需求。文章详细阐述了MDH参数法、解析法与数值迭代法等核心算法,并讨论了多项式插值、B样条等轨迹规划方法,最后指出实际应用中需综合机器人结构、任务需求选择合适算法。
系列文章目录
前言
提示:该博客仅为个人学习记录,若有错误,还请指正
参考:【机器人学】正运动学详解
机器人的正运动学(FK)、逆运动学(IK) 与路径规划是机器人运动控制的核心技术,三者协同实现 “从任务需求到关节动作” 的转化,是工业机器人、服务机器人、移动机器人等完成精准操作如装配、抓取和自主导航的基础。
一、正运动学(Forward Kinematics, FK)
正运动学是 “已知关节参数,求末端执行器位姿”的过程,是机器人运动分析的基础 —— 本质是建立 “关节空间” 到 “笛卡尔空间”的映射。
1. 核心定义与输入输出
- 输入:机器人各关节的运动参数(旋转关节的角度 θ、移动关节的位移 d)、连杆几何参数(连杆长度 a、连杆扭转角 α、关节偏距 d 等)。
- 输出:末端执行器(机械爪)的位姿(Pose) —— 包括位置(x, y, z) 和姿态(欧拉角或四元数)。
- 本质:通过几何建模,将关节的独立运动 “叠加” 为末端的整体运动。
2. 经典求解方法:MDH 参数法
MDH(Modified Denavit-Hartenberg)参数法是用于描述机器人关节和链接之间几何关系的一种常用方法。MDH 法相较于传统的 DH 法,通过明确区分关节的旋转和连杆的位移,提供了更为直观的建模方式。它允许机器人设计者有效地构建每个关节的运动关系,并将其转化为齐次变换矩阵,从而实现对机器人整体运动的描述。MDH 参数法广泛应用于机械臂和其他机器人系统的运动学分析与控制。
该方法通过定义一组参数来简化正运动学建模,包括
- 连杆长度(a): 相邻两个关节之间的距离。
- 连杆扭转角(α): 相邻两个连杆之间的角度
- 关节角(0): 当前关节相对于前一个关节的旋转角度
- 关节偏移(d): 沿着前一个关节的轴线的偏移量。

如上图所示,绿色部分为i-1关节,紫色部分为i关节

改进DH法建模步骤:


如上图所示,将MDH参数填入下表。

则关节i相对于关节i-1的齐次变换矩阵为

关节N相对于关节0的齐次变换矩阵推理如下所示

由此便可算出末端相对基坐标系的位姿。
3. 应用场景
- 机器人运动学建模与验证(如验证关节参数是否符合设计预期);
- 视觉伺服反馈(通过 FK 将关节角度转化为末端位姿,与视觉传感器检测的目标位姿对比);
- 机器人仿真(在虚拟环境中计算末端轨迹,提前模拟运动过程)。
二、逆运动学(Inverse Kinematics, IK)
逆运动学是 “已知末端执行器位姿,求关节参数”的过程,是连接 “任务需求”(机械爪移动到指定位姿处”)与 “关节控制” 的核心桥梁。主要有两种求解方式:解析法和数值迭代法。
1. 解析法
解析法通过建立逆运动学方程,直接求解关节角度。这种方法通常适用于结构较简单的机器人,如具有较少自由度的机械臂。解析法的优点是计算速度快,且能得到精确解,但在某些情况下可能会有多个解或无解的情况。
2. 数值迭代法
数值迭代法则是通过迭代优化算法逐步逼近目标姿态。这种方法适用于结构复杂或自由度较高的机器人,能够处理较为复杂的逆运动学问题。常见的数值方法包括雅可比伪逆法、阻尼最小二乘法、牛顿-拉夫森法和梯度下降法。尽管数值迭代法灵活性更高,但其收敛速度和计算时间通常较慢,并且可能陷入局部最优解。
在机器人逆运动学求解中,常用的库包括 KDL、Track-IK(数值迭代法)和IKFast(解析算法库),它们各自具有不同的优势和应用场景,为机器人运动控制提供了强有力的支持。
3. 核心问题:比 FK 更复杂的挑战
与 FK “唯一解”(给定关节参数,末端位姿唯一)不同,IK 存在三大核心挑战:
- 解的存在性:末端位姿必须在机器人的工作空间内,即机器人可达范围,否则无解。
- 解的多解性:同一末端位姿可能对应多组关节参数。如六轴机械臂的末端同一位置,可能对应 “肘部向上” 或 “肘部向下” 两种关节配置解。
- 奇异性(Singularity):当机器人关节配置使雅可比矩阵秩不足时,末端无法沿某一方向运动(或关节速度趋于无穷大),导致 IK 求解失效或不稳定。例如,6 轴机器人 “手腕完全伸直” 时易出现奇异点。

4. 实际应用中的关键优化
- 多解选择:通过 “关节角度最小化”(选择与当前关节角度差异最小的解)或 “避奇异点” 原则,从多解中筛选最优解;
- 奇异性处理:采用 “阻尼最小二乘法”(在雅可比伪逆中加入阻尼项,避免速度发散),或通过关节限位主动避开奇异区域;
- 冗余机器人 IK:7 轴及以上机器人存在 “冗余自由度”,可通过优化目标,如避障、关节能耗最小化进一步约束解空间。
三、轨迹规划
机器人轨迹是指机器人在执行任务时,其末端执行器或者关键部件在工作空间中运动的路径。具体来说,轨迹包含位移、速度和加速度的时间序列,通过这些信息能够准确描述机器人的运动状态。轨迹规划是机器人控制中的关键环节,涉及到如何根据任务的需求,合理设计机器人从起点到终点的运动方式。
在实际应用中,轨迹规划不仅要确保机器人能够按照设定的路线完成任务,还要考虑运动的平滑性、效率以及对机械系统的保护。例如,在焊接、搬运或装配等任务中,机器人的运动轨迹需要与环境、工作对象相协调,以保证精确性和安全性。同时,轨迹规划还需要结合动力学约束,避免过快或过大的运动对机器人造成损伤,或者导致控制精度下降。
机械臂轨迹规划又分为关节空间规划,笛卡尔空间规划。
1. 关节空间规划
关节空间轨迹规划是指直接在机械臂的关节角度空间中进行轨迹规划。这意味着规划的对象是每个关节的角度变化,具体而言,关节空间轨迹规划只需要考虑各个关节从起始位置到终点位置的位移、速度和加速度变化,而不必关心机械臂末端在运动过程中的实际路径。
在关节空间轨迹规划中,机械臂的末端位姿只在初始和终点处被明确指定。由于中间的运动轨迹无需精确控制,因此整个轨迹规划只需对起点和终点的关节角度进行两次逆运动学解算,分别对应起始位置和目标位置的关节角度。通过这种简单粗暴的方式,关节空间轨迹规划可以有效降低计算复杂度,尤其在大规模的多关节机械臂系统中非常有优势。
然而,由于不关注机械臂末端的实际轨迹,可能会导致在实际运动中,机械臂末端经过不希望经过的区域,甚至可能产生干涉或碰撞的风险。因此,尽管关节空间轨迹规划的计算相对简单快速,但在一些需要精确控制末端执行器路径的任务中,使用这种方法可能存在不确定性。

2. 笛卡尔空间规划
基于笛卡尔空间的轨迹规划更侧重于控制机械臂末端执行器的运动轨迹。在这种方法中,轨迹规划的对象是末端执行器在任务空间中的位置和姿态变化,即整个运动路径中的每一个点的位移、速度和加速度都需要进行精确的规划。为了实现这一点,机械臂的末端在轨迹中的每一个位置都必须进行逆运动学解算,以将其转化为对应的关节角度,从而驱动机械臂完成轨迹。
在笛卡尔空间轨迹规划中,机械臂末端的运动路径得到高度关注,能够保证未端在空间中的每一个位置都按预期精确移动。这种方法特别适用于需要精确控制末端执行器路径的任务,例如焊接、喷涂或者装配等工业任务中,机器人必须精确地遵循预定的路径工作。
由于每一个轨迹点都要进行逆运动学的实时解算,笛卡尔空间轨迹规划的计算量比关节空间轨迹规划大得多,因此这种方法对计算资源的要求更高。同时,由于需要确保整个运动过程的平滑性和无干涉,规划过程中需要考虑更多的约束条件。这种方法尽管计算复杂,但在对轨迹精度要求较高的任务中具有不可替代的优势。

四、轨迹规划的一般方法
1. 关节空间轨迹规划——多项式插值
最经典的方法,通过多项式曲线拟合起点、终点及中间点的关节角度,保证运动连续。直接在 “关节角度空间”(如 θ₁,θ₂,...,θₙ)生成轨迹,输入输出均为关节角度。
(1)三次多项式
三次多项式轨迹规划是一种常见且简单的轨迹规划方法,主要用于生成平滑的运动轨迹。它在机器人运动中尤其适用于需要从起点平稳移动到终点的情况。三次多项式轨迹规划通过给定初始位置、终点位置、初始速度和终点速度等条件来确定运动轨迹。其最大的优势是能够确保运动过程中速度变化平滑,避免突然加速或减速带来的冲击。
在实际应用中,三次多项式广泛用于机器人关节空间的轨迹规划。通过合理设置时间和位置的边界条件,三次多项式可以生成自然且符合物理要求的运动轨迹,适用于任务简单、对轨迹平滑性要求较高的场景。由于只需考虑起点和终点的速度、位置等信息,计算相对简单,因此在工业机器人和一些轻量级机械臂的运动控制中,三次多项式是一个非常有效的方法。

(2)五次多项式
相比三次多项式,五次多项式轨迹规划更适合对运动过程中的加速度和冲击力有更高要求的场景。五次多项式不仅考虑了位置和速度的变化,还引入了对加速度的控制,这使得生成的轨迹在整个运动过程中更加平滑,能够避免由于加速度不连续带来的机械冲击。
五次多项式的特点是能够通过控制初始和终点的加速度来进一步优化轨迹,因此特别适合精密机械臂的运动规划。在机器人关节空间规划中,使用五次多项式可以保证每个关节的加速度变化平稳,避免出现急停或急启动的现象。这种方式通常用于要求更高的机器人任务,例如一些需要高度平滑运动的装配任务或动态作业任务。

(3)B样条插值(暂未学习)
B 样条插值(B-spline Interpolation)是一种通过多段低阶多项式曲线拼接,结合控制点和节点向量生成平滑轨迹的数值方法,核心优势是 “无龙格现象、高阶连续、局部可控”,广泛用于机械臂轨迹规划、计算机图形学、动画设计等领域,是工程中实现 “平滑运动” 的主流技术。
2. 笛卡尔空间姿态规划方法
直接在机器人末端执行器的运动路径上进行规划。在 “末端笛卡尔空间”(x/y/z 位置 + 姿态)生成轨迹,先确定末端的精确路径(如直线、圆弧),再通过解 IK 转化为关节角度轨迹。与关节空间规划不同,笛卡尔空间轨迹规划不仅关注机械臂的末端起点和终点,还关心整个轨迹上每个时刻的位置和姿态。这种方法的优势在于可以精确控制机器人未端在整个轨迹上的运动,适用于需要对空间路径精确控制的任务
通过笛卡尔空间轨迹规划,机器人能够精确跟踪特定的路径,并且可以控制未端执行器的位姿(位置和方向)。这对于一些如焊接、绘图或装配等任务尤为重要在这些任务中,不仅要求机器人未端到达目标位置,还需要在运动的整个过程中保持特定的姿态,以确保工作的精确性和稳定性。

笛卡尔空间轨迹规划的挑战在于,每一个轨迹点都需要进行逆运动学计算,将末端的空间位置信息转化为机器人关节的角度。这增加了计算的复杂性,但也使得机器人在执行任务时能保持高度的精度和灵活性。
常用轨迹类型与算法
- 直线轨迹(Linear Motion):末端从起点到终点沿直线运动,是工业中最常用的轨迹类型,如装配时 “从料盘到装配孔” 的直线移动。
- 算法核心:将直线路径按时间离散为多个位姿点,对每个点解 IK 得到关节角度,再用 B 样条或多项式对关节角度平滑。
- 注意:姿态需同步过渡(如从姿态 A 到姿态 B,需保证 Roll/Pitch/Yaw 角连续变化,避免末端 “翻转”)。
- 圆弧轨迹(Circular Motion):末端沿指定圆弧运动,如焊接圆形工件、喷涂环形区域,需输入圆弧的圆心、半径、起始 / 终止角度。
- 算法核心:通过圆弧参数方程(如极坐标)生成离散位姿点,再解 IK 转化为关节轨迹。
- 螺旋线轨迹(Helical Motion):末端沿螺旋线运动,如钻孔、拧螺丝,结合直线(z 轴)和圆弧(xy 平面)运动,适用于深孔加工等场景。
五、机器人MoveIt运动控制轨迹规划(后续实践学习)
MoveIt 是 ROS(Robot Operating System,机器人操作系统)生态下最主流的机械臂运动规划框架,它封装了运动学求解、轨迹规划、碰撞检测、关节控制等核心功能,能帮助开发者快速实现机械臂的自主运动,如抓取、装配、路径跟随,无需从零开发复杂算法,是工业和科研领域机械臂开发的 “标配工具”。
总结
本文系统介绍了机器人运动控制三大核心技术:正运动学(FK)用于根据关节参数计算机器人末端位姿;逆运动学(IK)解决从末端位姿反求关节参数的问题,存在多解性和奇异性挑战;轨迹规划则包含关节空间和笛卡尔空间两种方法,分别适用于不同精度的运动需求。文章详细阐述了MDH参数法、解析法与数值迭代法等核心算法,并讨论了多项式插值、B样条等轨迹规划方法,最后指出实际应用中需综合机器人结构、任务需求选择合适算法。为机器人运动控制提供了系统的理论框架和技术方案。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)