Ask Your Question
0

There is no output of robot_localization /odometry/filtered?

asked 2018-02-07 11:57:49 -0600

thisisyourmom gravatar image

updated 2018-02-07 21:04:46 -0600

Launch File

<?xml version="1.0"?>
        <launch>
          <node pkg="robot_localization" type="navsat_transform_node" name="navsat_transform_node" respawn="true" output="screen">
          <param name="magnetic_declination_radians" value="0.0001"/>
          <param name="zero_altitude" value="false"/>
          <param name="publish_filtered_gps" value="true"/>
          <param name="broadcast_utm_transform" value="true"/>
          <param name="wait_for_datum" value="false"/>

          <remap from="/gps/fix" to="/android/tr/fix"/>
          <remap from="/imu/data" to="/android/tr/imu"/>
          <remap from="/odometry/filtered" to="/odometry/filtered"/>
        </node>

        <node pkg="robot_localization" type="ekf_localization_node"  name="ekf_odom" clear_params="true">

          <param name="odom0" value="odometry/gps"/>
          <param name="imu0" value="/android/tr/imu"/>

          <param name="frequency" value="30"/>
          <param name="sensor_timeout" value="2"/>
          <param name="two_d_mode" value="true"/>

          <param name="map_frame" value="map"/>
          <param name="odom_frame" value="odom"/>
          <param name="base_link_frame" value="base_link"/>
          <param name="world_frame" value="odom"/>

          <rosparam param="imu0_config">[false, false, false,
                                         false, false, true,
                                         false, false, false,
                                         false, false, true,
                                         true, false, false]</rosparam>

          <param name="imu0_differential" value="false"/>
          <param name="imu0_remove_gravitational_acceleration" value="true"/>

          <rosparam param="odom0_config">[true, true, false,
                                          false, false, false,
                                          false, false, false,
                                          false, false, false,
                                          false, false, false]</rosparam>

          <param name="odom0_differential" value="false"/>

          <param name="print_diagnostics" value="true"/>
          <param name="debug"           value="false"/>
          <param name="debug_out_file"  value="/home/tr/Documents/Data/debug_ekf_localization.txt"/>

        </node>
        </launch>

my commands:

rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link odom 100
rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link gps 100
rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link imu 100
roslaunch robot_localization ekf_navsat_1_imu_1_gps.launch

GPS and IMU output work fine:

header: 
  seq: 93892
  stamp: 
    secs: 1518024992
    nsecs:  79000000
  frame_id: "gps"
status: 
  status: 0
  service: 1
latitude: X.XXX
longitude: XXX.XXX
altitude: 158.1
position_covariance: [47.61000061035156, 0.0, 0.0, 0.0, 47.61000061035156, 0.0, 0.0, 0.0, 47.61000061035156]
position_covariance_type: 1


header: 
  seq: 1157
  stamp: 
    secs: 1518034926
    nsecs:  51000000
  frame_id: "imu"
orientation: 
  x: 0.446064591408
  y: 0.138493359089
  z: 0.237937837839
  w: 0.851605296135
orientation_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
angular_velocity: 
  x: -0.27292111516
  y: -0.621535181999
  z: -0.107675902545
angular_velocity_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
linear_acceleration: 
  x: -0.204999998212
  y: 3.48000001907
  z: 7.16699981689
linear_acceleration_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

ROS Kinetic version

ONLY KEEP OUTPUTTING:...(XXX for privacy)

[ INFO] [1518025369.196990870]: Datum UTM coordinate is (XXXX, XXXX)
[ INFO] [1518025370.197003681]: Datum (latitude, longitude, altitude) is (XXX, XXXX, XXX)
[ INFO] [1518025370.197130824]: Datum UTM coordinate is (XXXX, XXXX)
[ INFO] [1518025371.197107959]: Datum (latitude, longitude, altitude) is (XXX, XXXX, XXX)

When I try to rostopic echo /odometry/filtered there is no data coming from the node....

edit retag flag offensive close merge delete

Comments

What is your question?

jayess gravatar imagejayess ( 2018-02-07 13:51:14 -0600 )edit

no output from /odometry/filtered

thisisyourmom gravatar imagethisisyourmom ( 2018-02-07 21:05:16 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
2

answered 2018-02-19 06:27:28 -0600

Tom Moore gravatar image

I note the following:

  • The EKF's job is to generate the odom->base_link transform, yet you are publishing a static transform from base_link to odom. You need to get rid of this:

    rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link odom 100
    
  • I should also point out that you can (and should) run static transform publishers from a launch file.

  • Are you running those commands in succession, or are you running them in separate terminals? If you bring down the static_transform_publishers, they no longer provide the transforms.

  • Side note that won't change anything: your IMU's covariances are all 0. I'd put real values in there.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2018-02-07 11:41:42 -0600

Seen: 412 times

Last updated: Feb 19 '18