How to update moveit manipulator to reflect position in world frame

asked 2020-07-22 00:00:19 -0600

ParitoshKelkar gravatar image

updated 2020-07-22 00:02:36 -0600


I'm getting started with moveit and I'm going through the tutorials.

For my project, the manipulator is placed on top of a mobile base (therefore not fixed in world frame). To try simulating this to some extent, while running panda_arm_config demo.launch, I change the static_tf from world to panda_link0 from 0 0 0... to 10 5 0 ...

I then run the move_group_interface_tutorial.launch with a goal of x = 10.0, y = 5.0; z = 0.

  1. The goal pose displayed on rviz seems to be w.r.t panda_arm since the axes is place 10,5.0m w.r.t arm. However, the 'planning_frame' is 'world' as seen in the move_group startup ROS_INFO statements. I assumed the goal pose would be in the world frame.

    [ INFO] [1595390840.319553101]: Planning frame: world

  2. The 'ShowWorkspace' under 'PlanningRequest' shows the workspace of the panda around the origin and not around the new 10.0, 5.0 world position that it is in. I'm not able to figure out how the robot state is not updated. (the purple box below is the workspace, please ignore the small axes near the panda arm)

image description

  1. I tried using the RobotState::printTransform(const string) and RobotState::printTrasnforms() and they both return 0,0,0,. ... (I expected them to return a transform indicating the world -> panda_link0 tf of 10,5)

Env: Dockerized ROS Melodic;

If anyone could shed any light on these different behaviors, that would be great, thanks!

edit retag flag offensive close merge delete