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

MoveIt End effector moves correctly but reports back different orientation

asked 2019-01-23 07:43:05 -0500

Borkr gravatar image

updated 2022-01-22 16:09:54 -0500

Evgeny gravatar image

I've got a simulation setup of the Kuka KR6 Agilus running in Gazebo using MoveIt for movement.

In order to move the robot I'm calling MoveGroupInterface::setPoseTarget and MoveGroupInterface::asyncMove(), and to get the current pose I'm calling MoveGroupInterface::getCurrentPose.

There is an inconsistency between the pose that is set and the pose that is reported from MoveIt. The image below shows the pose I'm requesting and the pose I'm getting after the robot has reached its pose.

Pose

I guess the pose is correct, but why the difference in the quaternions representing orientation? I don't specify the end_effector_link in any calls to setPoseTarget() or getCurrentPose().

edit retag flag offensive close merge delete

Comments

Without any changes it now reports the following orientation (0.0, 0.7071, 0.0, 0.7071) with the same desired position and desired orientation. Reported position is still correct.

Borkr gravatar image Borkr  ( 2019-01-23 07:49:02 -0500 )edit

The problem is with the last joint. When joint values are calculated it is set to arbitrary positions as it doesn't influence the actual pose of the robot per se, as it has no attachments to it, but is somehow included in the calculation when asking for current pose. Should this be reported?

Borkr gravatar image Borkr  ( 2019-01-23 08:17:13 -0500 )edit

Did you manage to fix this?

fvd gravatar image fvd  ( 2019-02-19 03:36:37 -0500 )edit
1

Not really a fix, but orientations became accurate when a tool was included in the kinematic chain. From what I can recall about the problem, it would seem that the joint position of the last joint didn't matter as the end-point was located in the center of that joint. However, from what I can understand, it should matter. Seemingly it did for FK but not IK. This problem no longer occurred when I added a tool to the kinematic chain.

Borkr gravatar image Borkr  ( 2019-10-21 05:50:45 -0500 )edit

If you can make an answer of this and mark it solved, that would be great.

fvd gravatar image fvd  ( 2020-02-29 04:12:02 -0500 )edit

Should this not be reported on the MoveIt issue tracker? I agree with @Borkr: whether or not a chain ends with the last joint (or link, really) should not matter for correct FK/IK.

gvdhoorn gravatar image gvdhoorn  ( 2020-02-29 04:21:32 -0500 )edit

If it's a reproducible bug then yes, if it's a vague memory of what might solved a problem related to this issue and robot, then it seems better stored as an answer here.

fvd gravatar image fvd  ( 2020-02-29 11:22:26 -0500 )edit

Sorry for the late reply, added the answer but I'm unable to accept my own answer due to limited points.

Borkr gravatar image Borkr  ( 2020-03-26 12:06:29 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-03-26 12:05:55 -0500

Borkr gravatar image

Not really a fix, but orientations became accurate when a tool was included in the kinematic chain.

From what I can recall about the problem, it would seem that the joint position of the last joint didn't matter as the end-point was located in the center of that joint. However, from what I can understand, it should matter. Seemingly it did for FK but not IK. This problem no longer occurred when I added a tool to the kinematic chain.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2019-01-23 07:43:05 -0500

Seen: 722 times

Last updated: Mar 26 '20