MoveIt2 核心功能与关键配置
三、核心功能与关键配置
规划器
| 规划器 | 特点 | 适用 |
| RRTConnect | 双向快速扩展随机树,速度快、通用性好 | 默认首选,绝大多数场景都能用 |
| RRT* | 渐进最优,路径更短,计算量大 | 对路径质量敏感、时间充裕 |
| PRM / PRM* | 概率路线图,多次查询同一场景时效率高 | 环境固定、需要反复规划 |
| Pilz PTP | 点到点工业运动,轨迹可预测 | 产线上要求节拍稳定的动作 |
| Pilz LIN | 末端走直线 | 涂胶、焊接等直线工艺 |
| Pilz CIRC | 末端走圆弧 | 圆弧过渡工艺 |
关键参数
| 参数 | 作用 | 调参方向 |
planning_time | 单次规划的时间预算 | 太短会导致规划失败,太长影响节拍 |
planning_attempts | 每轮规划尝试次数 | 与时间预算配合,随机采样类规划器尤其依赖它 |
goal_joint_tolerance | 关节空间目标容差 | 影响到达判定的松紧 |
goal_position_tolerance | 笛卡尔位置容差 | 抓取精度要求高时收紧 |
goal_orientation_tolerance | 姿态容差 | 前后倾斜敏感的工艺要收紧 |
longest_valid_segment_fraction | 路径离散化粒度 | 太大可能漏检碰撞,太小拖慢规划 |
| 速度与加速度缩放 | 执行速度比例 | 调试时先给低值,稳定后再提 |
SRDF 的关键内容
<robot name="my_arm">
<group name="arm">
<chain base_link="base_link" tip_link="tool0"/>
</group>
<group name="gripper">
<link name="gripper_base"/>
<joint name="finger_joint"/>
</group>
<group_state name="home" group="arm">
<joint name="joint1" value="0"/>
<joint name="joint2" value="-1.57"/>
<joint name="joint3" value="0"/>
<joint name="joint4" value="-1.57"/>
<joint name="joint5" value="0"/>
<joint name="joint6" value="0"/>
</group_state>
<end_effector name="gripper_eef" parent_link="tool0"
group="gripper" parent_group="arm"/>
<disable_collisions link1="link1" link2="link2" reason="Adjacent"/>
<disable_collisions link1="link2" link2="link3" reason="Adjacent"/>
</robot>
预设位姿(group_state)是工程上最实用的东西:把「待机」「取料」「拍照」这些常用姿态固化成名字,程序里直接按名字调用,比每次算逆解可靠得多。
