UTM->map transform getting from datum

asked 2019-03-15 11:28:25 -0600

guochence gravatar image

updated 2019-03-16 00:32:24 -0600

My goal: Sending a series of GPS points to my robot as waypoint.

my env: ubuntu 14.04 with indigo desktop-full

To achieving this ,i want to using navsat_transform_node to get UTM-->MAP TF, then creating a new node to transform gps frame to utm frame and looking for utm->map's tf(from n_t_n node) to get gps-->utm-->map.

I noticed that n_t_n's input source can be obtained in three different ways:

  1. from 3 sensors (GPS+IMU+EKF)
  2. from datum :<rosparam param="datum">[55.944904, -3.186693, 0.0, map, base_link]</rosparam>
  3. from datum serveiInc (same with 2)

Question: can i just using datum to get TF of utm-->map without any other input? (n_t_n node has no input, only using datum to get TF, and by looking up this TF to get gps-->map). I think there should be a constant equation between utm--map, and if i specify this relationship by setting datum, the equation should be more relizable (not calculate by sensors date but using map's orgin ). However, i did not find anyone doing like this(without any input but setting datum).

My map-->odom-->base_link's TF is generated by AMCL and ODOM.

here is my n_t_n param and launch file:

frequency: 20
delay: 1
magnetic_declination_radians: 0.0902335 
yaw_offset: 0.0
zero_altitude: true
broadcast_utm_transform: true
broadcast_utm_transform_as_parent_frame: true
publish_filtered_gps: true
use_odometry_yaw: false
wait_for_datum: true  

  <node pkg="robot_localization" type="navsat_transform_node" name="navsat_transform_node" clear_params="true" output="screen" launch-prefix='xterm -e'>
    <rosparam command="load" file="$(find robot_localization)/params/GTR_navsat.yaml" />
    <rosparam param="datum">[34.727293, 113.657686, 0.0, global, test]</rosparam>
edit retag flag offensive close merge delete