I am running the navsat_transform node using a set datum point to get (x,y) coordinates in the map frame.
I am inputting the same GPS lat/long values, just changing the declination. Using 0.0 for the declination value, the points output are represented by the Orange line in the photo. Using 0.1209513 for declination, the points output are represented by the Pinkline.
The top portion of the Blue line is the robot travelling the path using the points output using 0.0 for declination.
The desired real-world line should be the Orange line. We are using RTK GPS to gather points and in the navigation of the robot. Our IMU data is corrected for declination already.
I have looked through robot_localization source and understand the point is being rotated about the datum.
How is the declination parameter to be used? It seems adding the correct declination in the navsat_transform_node paramater places the map points in the incorrect place. We were considering removing the declination correction from our IMU driver and using the navsat_transform param.
The params used (this node is running by itself, off bot just to test differences in using the declination parameter; similar on real bot):
navsat_transform:
frequency: 5
delay: 3.0
magnetic_declination_radians: 0.0 #0.1209513
yaw_offset: 0.0
zero_altitude: true
broadcast_utm_transform: true
publish_filtered_gps: true
use_odometry_yaw: false
wait_for_datum: true
datum: [38.038643, -103.694626, 0.0]
Originally posted by hapy-capy on ROS Answers with karma: 33 on 2022-12-15
Post score: 1