Aligning odometry coordinates with ENU (East = 0 deg)?

asked 2016-10-01 19:28:48 -0600

mjbegneaud gravatar image

Hello readers,

I'm still slightly new to ROS and have gotten myself a bit far down a rabbit hole with my Husky. From how I've seen it talked about, it seems that there is a way to avoid the orientation angles of a robot (in 2D plane) to follow the convention of ENU.

To expand on this, what I'm trying to do is not have my ROS coordinate frame initialize with 0 degrees yaw being whatever direction the Husky is facing at initialization. I'd prefer a yaw orientation angle of 0 degrees to correspond to East, North 90, etc.

I feel that I may not be understanding fully how to configure navsat_transform to accomplish this, or perhaps just the robot_localization ekf settings themselves?

For more info, what I'm trying to do is have my Husky navigate to a GPS coordinate. I'm currently attempting to do so by using the bearing between the current and goal GPS points, the distance between them, and the current position in the ROS coordinate frame. I then calculate the x and y coordinates of the goal point in the ROS coordinate frame and publish it to the move_base node. This would work much better if I didn't have to make sure the robot is initialized facing East. I would much prefer the ROS coordinate frame to simply abide by the ENU convention.

If there is anything wrong with my question or my understanding of things at this point, please do not hesitate to correct me. Thanks in advance!

edit retag flag offensive close merge delete