ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Set maximum number of joint rotations per plan

asked 2017-06-26 11:31:08 -0500

cvancleef gravatar image

updated 2017-06-26 11:33:31 -0500

I'm issuing my robot move commands in a way similar to this tutorial:

However, many of the plans it comes up with have unnecessary joint rotations. Is there to specify the maximum amount a joint can rotate for a planned path programmatically (ie no more than two full rotations or no more than 720 degrees movement in the joint during the plan execution)? If not, is there a way to set it manually?

edit retag flag offensive close merge delete


Can you perhaps clarify a bit what you mean with 'unnecessary joint rotations'? I'm not saying your question is one, but just to avoid an xy-problem.

gvdhoorn gravatar image gvdhoorn  ( 2017-06-26 11:37:53 -0500 )edit

For simple planned paths, the head of the robot will just keep rotating throughout the movement, where very little if any rotation looks like it would be needed. I don't know if it did it before I attached a new tool, but with the tool attached the rotation is extremely apparent.

cvancleef gravatar image cvancleef  ( 2017-06-26 11:44:19 -0500 )edit

I think its joint_6 of the lrmate200id rotating if that makes a difference. Also, in regards to the XY problem, I suppose that problem X would be that the planners are coming up with strange paths with unnecessary rotations and movements

cvancleef gravatar image cvancleef  ( 2017-06-26 11:44:51 -0500 )edit

You could use minimum and maximum values of the different joints inside the urdf file.

Felix_N gravatar image Felix_N  ( 2017-06-28 12:36:14 -0500 )edit

For the URDF, would that be <limit>'s <upper> and <lower> tags? That seems like what I'm looking for, although I'm not sure what "lower/upper joint limit" means

cvancleef gravatar image cvancleef  ( 2017-06-28 14:32:21 -0500 )edit

Joint limits describe the "move-range" of your joint. lower/upper are similar to from/til. See code example below.

Felix_N gravatar image Felix_N  ( 2017-06-29 08:07:57 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-06-29 08:03:44 -0500

Felix_N gravatar image

updated 2017-06-29 08:04:30 -0500

As i mentioned above, one solution could be to use lower and upper limits inside your urdf file.

<joint name="articulated" type="revolute">
    <parent link="link1_rot"/>
    <child link="link2_lin"/>
    <axis xyz="0 1 0"/>
    <origin xyz ="0 0 0.05" rpy="0 0 0"/>
    <limit effort="1000.0" lower="-1.5" upper="1.5" velocity="0.5"/>

The joint "articulated", which connects link1_rot and link2_lin can now spin around the y-axis from -90 to +90 degrees.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2017-06-26 11:31:08 -0500

Seen: 104 times

Last updated: Jun 29 '17