Why does navsat_transform_node parameter wait_for_datum change world_frame->utm tf?
Why does selecting 'true' or 'false' for the navsattransformnode parameter "waitfordatum" change the published utm transform?
With:
- waitfordatum: true, we get an odom->utm transform.
- waitfordatum: false, we get a map->utm transform.
Key navsat settings:
- Odometry input with frameid: map. (From the ekfsemap node, worldframe: map)
- broadcastutmtransform: true
- broadcastutmtransformasparent_frame: false
- datum: [56.yyyyy, -3.xxxxxx, 0.0]
Navsat node (plus 2 x ekf nodes):
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_se_odom" clear_params="true">
<remap from="odometry/filtered" to="odometry/filtered_odom"/>
</node>
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_se_map" clear_params="true">
<remap from="odometry/filtered" to="odometry/filtered_map"/>
</node>
<node pkg="robot_localization" type="navsat_transform_node" name="navsat_transform" clear_params="true">
<rosparam command="load" file="$(find marvin_py)/config/navsat_transform.yaml" />
<remap from="/imu/data" to="/imu_9dof_data"/>
<remap from="gps/fix" to="fix"/>
<remap from="odometry/filtered" to="odometry/filtered_map"/>
</node>
<launch/>
Navsattransform config (navsattransform.yaml):
frequency: 30
delay: 1.0
magnetic_declination_radians: -0.03525565 # At datum coords below, Dec 2019
yaw_offset: 1.570796327 # IMU reads 0 facing magnetic north, not east
zero_altitude: true
broadcast_utm_transform: true
broadcast_utm_transform_as_parent_frame: false
publish_filtered_gps: true
use_odometry_yaw: false
wait_for_datum: false
datum: [56.yyyyyy, -3.xxxxx, 0.0] # Coords masked for online publishing
Asked by Marvin on 2019-12-29 17:36:59 UTC
Answers
Can you just post your navsat_transform_node
config in its entirety?
I think this looks like a bug. When we use wait_for_datum
, we aren't setting world_frame_id_
. We initialize it to odom here, but then we never update it, because we're not using the normal callback mechanism. We should add a parameter for that frame ID for manual datum setting so we set that accordingly.
Feel free to file a ticket, or better yet, a PR. :)
Asked by Tom Moore on 2020-01-06 05:56:10 UTC
Comments
Navsat config file added as requested.
Asked by Marvin on 2020-01-06 16:40:52 UTC
Comments