# Amcl initialpose coordinate system

I'm still in the process of learning ros and i have a question regarding the initialpose topic. I'm transforming points from the kinect pcl to map coordinates (for sending goals) and using initalpose orientation to known which way is forward in a map. The problem is that when i get orientation with values: x,y,z = 0,0,-1. Why is z set and not x? Isn't the z axis the axis pointing up?

Thanks.

edit retag close merge delete

/initialpose is not published by amcl, but subscribed to. Could you explain how you are using it? It is typically used to give an initial estimate of the robot's position to the localization algorithm.

( 2012-06-12 14:14:33 -0500 )edit

Sounds like your transform from the kinect frame to /map is wrong. The /map frame of reference should be East, North, Up.

( 2012-06-12 14:20:56 -0500 )edit

There was a typo. I meant orientation from initialpose topic. I subscribe to /initialpose and output the pose.orientation and the values are 0,0,-1. Im using it only to know which way is forward in the map so for example if i detect a obstacle i know which way the robot should go to move around the

( 2012-06-13 00:39:20 -0500 )edit

obstacle (where the obstacle size is known).

( 2012-06-13 00:39:56 -0500 )edit

Sort by ยป oldest newest most voted

Saw your other question, and I think you are misunderstanding the orientation values. This is the format of /initialPose: http://www.ros.org/doc/api/geometry_msgs/html/msg/PoseWithCovarianceStamped.html

The orientation is a quarternion, so it comes with x, y, z, w (The individual values do not represent rotation about that axis eg value of x does not mean rotation about x-axis).

You will need to do a conversion if you need roll, pitch, yaw (rotations about x, y, z axis respectively).

more