Frame offset when using Moveit! on PR2
Note: cross-posted to moveit-users. Thread here
I'm using ROS groovy on a PR2, and trying to use Moveit! for a pick & place application. I'm using the default move_group.launch
file from pr2_moveit_config
, along with the default robot start
bringup.
When I look at rviz, the robot representations from the RobotModel and the PlanningScene do not line up, as seen below:
Unfortunately, the PlanningScene frame is the one that's wrong when compared to the actual sensor data, as determined by observing where it thought the arm was positioned relative to displayed kinect points vs. where it actually is.
After noticing that this offset changed a little every time I restarted the move_group node, I discovered that Moveit! uses odom_combined
and the transform to odom_combined
is published by the robot_pose_ekf
node, and it wasn't 0 despite the robot being stationary. So, I tried killing that node, and using the static transform publisher to publish a 0 transform.
This seemed to help, but didn't fix the entire offset.
Is there some configuration step that I'm missing? Do I need to tell Moveit! to use a different frame? (If so, how, and which frame?)