navsat_transform_node UTM->map transform is highly inaccurate [closed]
I am trying to achieve gps waypoint navigation. I am using the UTM->map transform provided by the navsat_transform_node to convert a Lat,Long into a goal for move_base. I am having wildly inaccurate results for where my goals are occasionally up to 10 meters (OR MORE) in any direction around the robot. Sometimes I will pick a point 10 meters in front of the robot and it will place the goal to the left of the robot.
The transform node I use is very similar to the gps_waypoint used in Nick Charrons' outdoor navigation. I use the same structure and change the way I receive the points (via a std_msgs::String topic).
The transform I listen to is utm->odom but even when I listen to utm->map and send m goal in the map frame I still get the same results? Is anyone able to recommend a specific tuning to fix this issue or perhaps an alternative package/approach?
I am experiencing "Initial odometry pose is " which I don't believe to be correct as you can see I have use_odometry_yaw false. This yaw that it receives from this message is drastically wrong and never changes. When I went into the source code and changed the "Initial orientation is" to a ros info not ros debug, I saw that this value was nothing like the odometry yaw that was being printed?
This is the navsat transform node params I use. My IMU has a calibration software which I used (to reduce the magnetic disturbance), I then aligned it to east and took a reading and accounted for an offset of +5.04deg.
navsat_transform:
frequency: 30
delay: 3.0
magnetic_declination_radians: -0.18884463
yaw_offset: -0.0879795
zero_altitude: true
broadcast_utm_transform: true
publish_filtered_gps: true
use_odometry_yaw: false
wait_for_datum: false
Thank you in advance