robot_localization non uniform inaccurate odometry
Im running a simulation in Gazebo combining the odomery data (coming from the differential drive plugin) and the imu data (from GazeboRosImuSensor plugin). Im quite new to ROS and im totally confused with the ENU and NED frames ..
This is what I did 1)placed the IMU in its neutral position
2)setup a static transform broadcaster which broadcasts my base_link to odom frame here i made the rotation.
I have rolled it by 180 and yaw by 90 . this is the code snippet in my launch file
<node pkg="tf" type="static_transform_publisher" name="imu_tf_publisher" args="0 0 0 1.57 0 3.14 base_link imu_link 10"/>
I tested the IMU and it shows correct accelerations as shown ( http://docs.ros.org/lunar/api/robot_l.. . )
This is my paramter config file for the robot_localization package
odom0_config: [false, false, false,
false, false, false,
true, true, false,
false, false, true,
false, false, false]
imu0_config: [false, false, false,
false, false, true,
false, false, false,
false, false, true,
true, true, false]
odom0_queue_size: 2
imu0_queue_size: 5
odom0_nodelay: false
imu0_nodelay: false
odom0_differential: false
imu0_differential: false
odom0_relative: false
imu0_relative: false
The problem is that the filtered odometry data is moving at 90 degees to original raw odometry data
What do you mean by stop for sometime? Can you post some more details as to what happens when it stops?
I plot the odometry data in rviz, The raw odometry data used to move with the robot in the circle but the filtered one stops for few seconds .
I solved this issue . turned out i forgot to comment out example imu configs in tthe paramete file But still i have the problem of wrong imu orientation
when i move the bot forward the filtered data is moving at 90 degrees see this The red line is raw odometry data. the green is the filtered one.