robot_localization yaw_offset GPS/IMU

asked 2019-10-28 09:29:54 -0600

occonni gravatar image

Hey guys,

I am using the robot_localization package and maybe have a problem. I am using an IMU and a GPS and want to fuse both. Problem is: They have a weird offset in yaw-angle. In the link there is a image of the printed odometry of both (unfortunately i cannot upload the image with the info "i need more than 5 points").


The datasheet of my IMU (xsens) says, that the orientation-output of the sensor is that the x-axis is aligned with east and the y-axis aligned with north. So I think I do not need any of the parametres "yaw_offset" or "magnetic_declaration" in the navsat_transform node.

In the follwing is my launch file to run both nodes.

<node name="ekf_imu_odo" pkg="robot_localization" type="ekf_localization_node" clear_params="true">
<param name="frequency" value="500"/>
<param name="sensor_timeout" value="0.1"/>
<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="imu_link"/>
<param name="transform_timeout" value="0.1"/>
<param name="world_frame" value="odom"/>
<param name="imu0" value="/imu/data"/>
<rosparam param="imu0_config">[false, false, false,
                                false, false, true,
                                false, false, false,
                                true, true, true,
                                true, true, true]</rosparam>
<param name="imu0_differential" value="true"/>
<param name="imu0_relative" value="false"/>
<param name="imu0_remove_gravitational_acceleration" value="true"/>
<param name="imu0_queue_size" value="100"/>
<param name="publish_acceleration" value="false"/>    

<node pkg="robot_localization" type="navsat_transform_node" name="navsat_transform_node_gps" respawn="true">
<param name="frequency" value="100"/>
<param name="yaw_offset" value="0.0"/>
<param name="magnetic_declination_radians" value="0.0"/>
<param name="sensor_timeout" value="0.1"/>
<remap from="/imu/data" to="/imu/data" />
<remap from="/gps/fix" to="/gps_ublox/fix"/> 
<remap from="/odometry/filtered" to="/odometry/filtered" />

Do anybody knows what the problem is? Does the fusing of both signals with both odom's work (The fused signal is almost the same as the GPS Signal -> And I dont know if thats correct or just a smoothed GPS, because the IMU is so far away )?

I would appreciate your help :)


edit retag flag offensive close merge delete