# MoveIt规划轨迹碰撞及机器人抖动，调整RRTConnect与段长参数

> 原文链接：https://robotics.hellobike.com/pitfalls/2024-05-11-robotics-se-81516
> 频道：pitfalls | 更新日期：2024-05-11 | 标签：auto, stackexchange, moveit
> 核心摘要：针对MoveIt规划路径碰撞及机器人异常抖动，建议切换RRTConnect规划器并调小longest_valid_segment_fraction至0.005。

# MoveIt规划轨迹碰撞及机器人抖动，调整RRTConnect与段长参数

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[moveit planning collision avoidance](https://robotics.stackexchange.com/questions/81516/moveit-planning-collision-avoidance)（Robotics Stack Exchange #81516）

**状态**：有绕过办法

## 问题

使用MoveIt进行轨迹规划时，尽管起止状态无碰撞且存在可行路径，生成的轨迹仍发生碰撞或导致机器人异常抖动（dancing）。系统提示路径可能因后处理无效，怀疑默认规划器配置不当或薄壁结构碰撞检测离散采样不足导致漏检。

## 环境

ROS Indigo/Kinetic, MoveIt, OMPL, FCL碰撞检测库, ompl_planning.yaml配置文件

## 解决办法

1. 将运动规划器切换为 `RRTConnect`，避免使用Indigo版本默认规划器导致的轨迹抖动问题，可通过 `moveit_commander.set_planner_id("RRTConnectkConfigDefault")` 设置。
2. 编辑 `ompl_planning.yaml` 文件中对应规划组的配置，减小 `longest_valid_segment_fraction` 参数值。
3. 将 `longest_valid_segment_fraction` 设置为 `0.005`，以增加FCL离散碰撞检测的采样密度，防止机械臂在两次检查间穿过薄壁障碍物。
4. 重新加载配置并测试规划，若仍存在问题需确认场景碰撞模型厚度是否过薄或进一步降低该分数值。

原问题作者：David_111；采纳答案作者：v4hn。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #81516：moveit planning collision avoidance](https://robotics.stackexchange.com/questions/81516/moveit-planning-collision-avoidance)