4、路径规划与轨迹规划概念:路径定义、轨迹定义、路径点与插值、轨迹生成的基本流程
在机械臂运动控制的研究与工程实践中,“路径规划”与“轨迹规划”是两个经常被混用、但内涵截然不同的概念。许多初入行的工程师在调试机器人时,往往因为混淆了“路径”与“轨迹”的边界,导致在后续的动力学控制、振动抑制或时间最优规划中遇到难以定位的瓶颈。本章将从定义出发,厘清路径与轨迹的本质区别,深入讲解路径点与插值的数学含义,并梳理出一条从任务描述到关节空间指令的完整轨迹生成流程。理解这一章的内容,是后续学习时间最优轨迹规划(Time-Optimal Trajectory Planning)与路径规划算法(如RRT、A*、PRM)的基石。
4.1 核心原理:路径与轨迹的本质区别
路径(Path)是机械臂末端或关节在空间中运动的几何描述,它只关心“从A点到B点经过哪些空间位置”,不包含任何时间信息。在数学上,路径可以表示为以弧长参数 s 或归一化参数 u ∈ [0,1] 为自变量的连续映射:P(u) = [x(u), y(u), z(u), α(u), β(u), γ(u)],其中前三项为位置,后三项为姿态(如欧拉角或四元数)。在关节空间中,路径则表示为 q(u) = [q₁(u), q₂(u), ..., qₙ(u)],n为关节数。路径本身没有速度、加速度的概念,它只是一条“几何线”。
轨迹(Trajectory)则是路径与时间律(Time Law)的结合。轨迹不仅描述了机械臂经过的空间位置,还规定了每个时刻的位置、速度、加速度甚至加加速度(Jerk)。数学上,轨迹是时间 t 的函数:q(t), t ∈ [t₀, t_f],且要求 q(t) 至少二阶可导(即速度和加速度存在且连续)。轨迹规划的核心任务,就是在给定路径的基础上,设计一个合适的时间标定函数 s(t),使得 q(t) = q(s(t)) 满足运动学与动力学约束。
| 对比维度 | 路径(Path) | 轨迹(Trajectory) |
|---|---|---|
| 核心变量 | 空间位置(几何) | 位置 + 时间 + 导数 |
| 数学表达 | P(u), u∈[0,1] | q(t), t∈[t₀,t_f] |
| 是否包含速度/加速度 | 否 | 是(一阶/二阶/三阶导数) |
| 是否包含时间信息 | 否 | 是 |
| 典型应用场景 | 避障路径搜索、几何可达性分析 | 伺服跟踪、动力学控制、振动抑制 |
| 规划目标 | 无碰撞、最短几何距离 | 时间最优、平滑、能量最优 |
t_f。
4.2 路径点与插值:从离散到连续的桥梁
在实际工程中,路径规划算法(如RRT、PRM)输出的往往是一系列离散的路径点(Waypoints),而不是一条连续曲线。这些路径点可能是笛卡尔空间中的末端位姿,也可能是关节空间中的关节角度。要让机械臂真正平滑地运动,必须通过插值(Interpolation)或拟合(Fitting)方法,在这些离散点之间构造一条连续且满足约束的曲线。
插值方法的选择直接影响轨迹的平滑性和动力学性能。常用的插值方法包括:
- 线性插值(Linear Interpolation):最简单,但连接点处速度不连续(存在突变),会产生无限大的加速度,实际中很少直接用于轨迹生成,仅用于粗略预览。
- 三次多项式插值(Cubic Polynomial):每个区间用三次多项式连接,可保证位置和速度连续,但加速度可能不连续。适用于对加速度要求不高的场景。
- 五次多项式插值(Quintic Polynomial):可同时保证位置、速度、加速度连续,是工业机器人中最常用的插值方式之一,能有效减少机械振动。
- 三次样条(Cubic Spline):全局二阶连续,具有良好的平滑性,适合多路径点场景,但计算量稍大。
- B样条(B-Spline):具有局部支撑性,修改一个路径点只影响附近区域,且可方便地控制曲线阶数,适合在线轨迹调整。
插值可以在关节空间或笛卡尔空间进行。关节空间插值计算简单、无奇异点问题,但末端轨迹在笛卡尔空间中可能不是直线;笛卡尔空间插值能保证末端走直线或圆弧,但可能遇到奇异位形(Jacobian矩阵奇异)或关节超限问题。工程中通常采用“笛卡尔空间规划路径点,关节空间插值生成轨迹”的混合策略。
4.3 轨迹生成的基本流程:从任务到伺服指令
一个完整的轨迹生成流程,是将任务描述逐步转化为伺服驱动器可执行的指令序列。该流程通常包含以下五个核心步骤:
- 任务描述与约束定义:明确目标位姿、避障要求、速度/加速度上限、末端负载等。例如,焊接任务要求末端保持特定姿态沿直线运动,而码垛任务则允许关节空间自由规划。
- 路径规划(几何层):在配置空间(C-Space)或笛卡尔空间中搜索无碰撞路径。此阶段输出的是离散的路径点序列,不包含时间信息。
- 路径点后处理:对路径点进行简化、均匀化或增加过渡点,消除冗余点,确保路径点密度适合后续插值。
- 插值与拟合(连续化):选择合适的插值方法(如五次多项式或样条),生成连续路径函数
P(s)。 - 时间律分配(轨迹生成):设计
s(t)函数,将路径参数s映射到时间t。这一步是时间最优规划的核心,需要满足关节速度、加速度、力矩等约束。
最终输出的轨迹 q(t), q̇(t), q̈(t) 以固定周期(如1ms或4ms)发送给伺服控制器,构成前馈控制信号。
4.4 案例拆解:SCARA机器人“门字形”搬运轨迹
以一台四轴SCARA机器人为例,执行“从A点抓取,抬高到安全高度,平移至B点上方,下降放置”的搬运任务。该任务要求末端在笛卡尔空间中走一个“门字形”路径,以避免与工件或夹具碰撞。
初始条件与约束:
- A点:
(x=300mm, y=0mm, z=50mm),B点:(x=300mm, y=400mm, z=50mm) - 安全高度:
z=150mm - 关节1最大速度:
180°/s,关节2最大速度:240°/s - 末端最大加速度:
2 m/s²
分析判断过程:
首先,在笛卡尔空间定义路径点:P₁=(300,0,50) → P₂=(300,0,150) → P₃=(300,400,150) → P₄=(300,400,50)。这四个点构成门字形。然后,通过逆运动学将每个路径点转换为关节角度 q = [q₁, q₂, q₃, q₄]。接着,在关节空间中对 q₁→q₂→q₃→q₄ 进行五次多项式插值,保证每个路径点处速度为零(因为需要停顿抓取/放置)。最后,根据关节速度限制,计算每段的最小时间。
实际操作与结果:
采用五次多项式插值,每段轨迹的边界条件为:位置已知、速度为零、加速度为零。计算得到第一段(垂直抬升)耗时约0.8s,第二段(水平平移)耗时约1.2s,第三段(垂直下降)耗时约0.8s,总时间约2.8s。若采用时间最优算法(如梯形速度规划),在满足加速度约束的前提下,可将总时间压缩至2.1s,但加速度曲线会出现突变,可能引起末端振动。
4.5 常见误区与总结复盘
误区一:将路径规划等同于轨迹规划。很多初学者在ROS中调用move_group的plan()接口时,以为返回的就是轨迹。实际上,该接口返回的RobotTrajectory对象中,路径点之间的时间间隔是默认的,并未经过动力学优化。真正的时间最优轨迹需要额外使用TOPP-RA或trac-ik等工具进行时间参数化。
误区二:忽视插值阶数与振动的关系。线性插值或梯形速度规划虽然计算简单,但加速度不连续,会激发机械臂的结构共振模态。对于高速高精度应用(如芯片贴装),必须使用五次及以上多项式或S型速度规划,确保加加速度(Jerk)有界。
误区三:在笛卡尔空间盲目插值。笛卡尔空间的直线插值在靠近奇异位形时,会导致关节速度急剧增大,甚至超出电机最大转速。因此,在规划前应检查路径是否经过奇异区域,必要时在奇异点附近切换为关节空间插值。
误区四:忽略路径点密度对插值的影响。如果路径点过密,插值曲线可能出现不必要的波动(过拟合);如果过疏,则无法精确描述复杂几何形状。一般建议根据路径曲率自适应调整路径点密度,曲率大的区域增加采样点。