Robotics StackExchange | Archived questions

Moveit returns Pose in "base_link" instead of "base" frame

Hi,

as can be seen in the following screenshot: Altough I set pose reference frame to "base", I receive poses relative to the "base_link" frame. Does anybody has a hint to me, how to solve that?

Thanks in advance!

Here's a link to my screenshot (as I unfortunately didn't get the right yet to add a picture to this question): https://drive.google.com/file/d/13wl5oV-7KqgyZIyQp8JcEPTpcbjCCHcA/view

Asked by luuuu on 2022-10-18 04:42:04 UTC

Comments

I'm not sure, if the screenshot was public available, but now it should be!

Asked by luuuu on 2022-10-19 01:23:08 UTC

Answers

Somewhere in the moveit config for your robot, they will define "planning groups" i.e. a contiguous set of links. MoveGroup is probably choosing the first link of the group as the planning frame, so maybe you can edit it there.

That said, I can't think of a good reason you'd want to do this. tf2_ros makes it easy to transform a pose to or from any frame you need.

Asked by Mike Scheutzow on 2022-10-19 19:36:16 UTC

Comments

Thank you very much for the answer! Honestly I've hoped, that there would be an easier solution, than installing a new packet and starting a new node, just to get the pose in the standard frame. Does anybody has an idea, what's the purpose of the function "move_group.set_pose_reference_frame()", as the pose is still relative to a different frame?

Asked by luuuu on 2022-10-20 01:33:50 UTC

I believe the problem this is solving is that move_group.set_pose_target(pose) takes a geometry_msgs/Pose as an argument, but that message does not have a frame_id. I assume set_pose_reference_frame() was added by the developers in an attempt to not break existing code at the time.

Asked by Mike Scheutzow on 2022-10-20 08:22:21 UTC