# End-effector jumping about erratically with MoveIt

Hi,

I'm using MoveIt to control my arm. It has < 6 DoF so I need to tick "Allow Approximate IK Solutions" in order to drag the end effector in moveit_rviz. However, I am running into two problems which I think may be linked:

(1) When manipulating the end effector in moveit_rviz by dragging the ball about, if I am not very careful the ball will become detached from the end effector and the arm will suddenly start jumping around all over the place to random poses. If I let go of the mouse it will stop moving, and I can regain control from the new position.

(2) When manipulating the end effector using moveit_joy with moveit_rviz running, if I move the end effector using the joystick, I can see that it is occasionally flickering between its new position and (what looks like) the original 'home' position. It's kind of like it's being driven by two different things. On top of this, I notice problem (1) still occuring, where I occasionally lose control of the end effector as it starts jumping around between random poses. Often the only way I can stop it from jumping around is to kill moveit_joy altogether.

Does anybody know what could be the problem here please?

Thanks.

edit retag close merge delete

Sort by » oldest newest most voted

The "ball" (official terminology: interactive marker) is essentially a virtual 6dof input device. So it has position and orientation.

By dragging the marker, you are changing all of those at the same time. A < 6dof serial chain will not be able to follow the marker around for all combinations of positions and orientations, as it solution space is a subset of the 6dof set for the marker. The MoveIt RViz plugin allows you to ask the IK solver to ignore the orientation if necessary (the "approximate IK solutions" you mention), but that only works-around the problem. This is the reason the marker becomes 'detached' (it's really the robot that stops following the marker, not the other way around).

The 'jumping' you describe could be due to MoveIt asking the kinematics solver for alternative solutions in an attempt to resolve this (which it can't, because the 6dof pose will remain unreachable by the arm). Another possible cause could be that (MoveIt 'thinks') your links are in collision and tries to find a solution that makes them not collide.

Your problems with moveit_joy could basically be the same problem: moveit_joy essentially allows you to 'drag' the interactive marker but by using a joystick.

more

Thanks for clarifying. Do you know of any way to prevent MoveIt from asking for alternative solutions, but instead just leave the arm in the last valid position, so as to prevent the 'jumping'?

( 2017-02-12 07:21:27 -0500 )edit

I might have another hint, why your issue may happen. Try to change the kinematics solver, i observed similar issues when using ikfast.

( 2021-02-18 07:19:14 -0500 )edit