Robotics StackExchange | Archived questions

How to update moveit manipulator to reflect position in world frame

Hi,

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 statictf from `world to pandalink0from0 0 0...to10 5 0 ...`

I then run the movegroupinterface_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 pandaarm since the axes is place 10,5.0m w.r.t arm. However, the 'planningframe' is 'world' as seen in the movegroup startup ROSINFO 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!

Asked by ParitoshKelkar on 2020-07-22 00:00:19 UTC

Comments

Answers