跳转到内容

轨迹规划

机械臂不能瞬间从一个角度跳到另一个角度——需要规划一条平滑的轨迹,受速度和加速度限制。

常见轨迹类型:

类型特点
梯形速度加速 → 匀速 → 减速,简单但加速度不连续
五次多项式位置、速度、加速度都连续,平滑
S 曲线加加速度也连续,更平滑但更复杂
样条插值通过多个中间点

轨迹参数: 最大速度 v_max、最大加速度 a_max、轨迹时长 T

多段混合(Blend): 当连续执行多个 waypoint 时,不用停到前一个终点再出发,而是在接近终点时就开始混合下一段,使运动更连续。

推荐资源:

本项目使用五次多项式插值(不是梯形!plan_trapezoid() 名字有误导)。位置曲线的形状是 s(t)=10t315t4+6t5s(t) = 10t^3 - 15t^4 + 6t^5(归一化时间),保证起点和终点的速度、加速度都为 0。

多段混合: control_node 支持 blend radius —— 当前段未结束时就开始混入下一段,避免停顿。

参数: params.yamltrajectory_planner.max_velocity: 0.5max_acceleration: 1.0min_segment_duration: 0.3

代码位置:control_node.cpp 中的 plan_trapezoid()compute_segment_state()