Skip to content

踩坑GitHub universalrobots/universal_robots_ros2_description6 个月前

MoveIt2生成joint_limits.yaml缺失UR肘关节物理约束致规划失败 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:Document usage with moveit - possible issue with joint limits(GitHub universalrobots/universal_robots_ros2_description #67)

状态:已解决

问题 ​

使用MoveIt2 Setup Assistant生成的joint_limits.yaml仅包含URDF基础限位,丢失了ur_description包中针对elbow_joint等关键关节的物理避障约束(如±180°位置限制)。这导致OMPL规划搜索空间被物理不可达区域割裂为两段且无连接,引发运动规划失败或异常路径。

环境 ​

Universal Robots机械臂,ROS2 MoveIt2框架,MoveIt Setup Assistant工具,ur_description功能包,多臂tf_prefix配置环境。

解决办法 ​

  1. 禁止直接使用MoveIt Setup Assistant自动生成的joint_limits.yaml作为最终配置。
  2. 从ur_description包获取官方joint_limits.yaml,保留elbow_joint等关节的max_position: !degrees 180.0、min_position: !degrees -180.0及max_effort: 150.0等关键物理约束参数。
  3. 在多臂(multiarm)环境下,手动将官方限位参数合并至生成文件中,并根据tf_prefix正确修改关节名称前缀(如ur_top/elbow_joint)。
  4. 确保合并后的配置文件同时包含速度、加速度及努力矩限制,避免因字段缺失导致MoveIt回退到URDF默认值。
  5. 参考Universal_Robots_ROS2_Driver PR #1764更新文档与配置模板,确保限位定义与物理本体一致。

讨论原作者:@firesurfer 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub universalrobots/universal_robots_ros2_description #67:Document usage with moveit - possible issue with joint limits访问 2026-10-26