Ask Your Question

Ignored joint limits by MoveIt!

asked 2017-01-21 10:38:02 -0600

HannesIII gravatar image

updated 2017-01-21 11:11:44 -0600

gvdhoorn gravatar image


I am using MoveIt! for a simulated UR10 in Gazebo. When I try to tell the MoveGroup to move the end effector to a position (x,y,z,w), MoveIt! ignores the joint limits which are set in the launch file (-pi/2, pi/2, etc.). This leads frequently to a collision between the shoulder_link and the ground plane. Does anybody know why MoveIt! ignores these limits? If so, how can I resolve this problem? I am using ROS Indigo and Gazebo 2. If you will need more information, please advise :)

Thank you very much in advance! Kind regards, Hannes

Update1: I am referring to this xacro file, the ur10_joint_limited_robot.urdf.xacro...

<?xml version="1.0"?>
<robot xmlns:xacro=""
       name="ur10" >

  <!-- common stuff -->
  <xacro:include filename="$(find ur_description)/urdf/common.gazebo.xacro" />

  <!-- ur10 -->
  <xacro:include filename="$(find ur_description)/urdf/ur10.urdf.xacro" />

  <!-- arm -->
  <xacro:ur10_robot prefix="" joint_limited="true"
         shoulder_pan_lower_limit="${-pi}" shoulder_pan_upper_limit="${pi}"
         shoulder_lift_lower_limit="${-pi/2}" shoulder_lift_upper_limit="${pi/2}"
         elbow_joint_lower_limit="${-pi}" elbow_joint_upper_limit="${pi}"
         wrist_1_lower_limit="${-pi}" wrist_1_upper_limit="${pi}"
         wrist_2_lower_limit="${-pi}" wrist_2_upper_limit="${pi}"
         wrist_3_lower_limit="${-pi}" wrist_3_upper_limit="${pi}"

  <link name="world" />

  <joint name="world_joint" type="fixed">
    <parent link="world" />
    <child link = "base_link" />
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-01-21 10:44:14 -0600

gvdhoorn gravatar image

updated 2017-01-21 11:12:12 -0600

Have you updated the limits in the ur10_moveit_config/config/joint_limits.yaml? Those take precedence over what is in the URDF.

Edit: also: which "joint limits which are set in the launch file" are you referring to?

edit flag offensive delete link more


I did not update the .yaml file. I think the joint limits are set by the xacro file above, aren't they? Thank you for your response!

HannesIII gravatar imageHannesIII ( 2017-01-21 10:59:04 -0600 )edit

Ah, the xacro. Yes, but again: the joint_limits.yaml in the MoveIt configuration package overrides these.

gvdhoorn gravatar imagegvdhoorn ( 2017-01-21 11:13:00 -0600 )edit

It's good to also update them in the xacro though, as only MoveIt uses the values in joint_limits.yaml. Other utilities / nodes parsing the URDF will use those in the URDF itself (as they know nothing about MoveIt, or its parameters).

gvdhoorn gravatar imagegvdhoorn ( 2017-01-21 11:13:53 -0600 )edit

it seems the .yaml file is only vel and accelerations, not positions?? or am i missing something?

danjo gravatar imagedanjo ( 2018-10-03 08:25:10 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2017-01-21 10:38:02 -0600

Seen: 1,207 times

Last updated: Jan 21 '17