Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

errors in using robot_localization package

Hello ROS gurus,

I am trying to use robot_localization package to better localize my turtlebot in my lab environment. But it seems like it is not able to do what it is meant to do, i am not able to figure out what the problem is. Here is the description of what i have done and required files:

I am using ROS Indigo, Ubuntu 1404 on a turtlebot which is controlled with a joystick. I have configured robot_localiztion package after going through the wiki and some questions related to the package. I drove the robot around in a rectangular grid and collected data in a bag file and played it later. This is the launch file i am using and these are the results i got.

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

  <param name="frequency" value="30"/>  

  <param name="sensor_timeout" value="0.1"/>  

  <param name="two_d_mode" value="true"/>

  <param name="odom_frame" value="/odom"/>
  <param name="base_link_frame" value="/base_footprint"/>
  <param name="world_frame" value="/odom"/>

  <param name="odom0" value="/odom"/>
  <param name="imu0" value="mobile_base/sensors/Imu_data"/>

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

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

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

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

  <param name="debug"           value="false"/>
  <param name="debug_out_file"  value="debug.txt"/>

</node>

Here is the tf frames out when i ran below command

rosrun tf view_frames

errors in using robot_localization package

Hello ROS gurus,

I am trying to use robot_localization package to better localize my turtlebot in my lab environment. But it seems like it is not able to do what it is meant to do, i am not able to figure out what the problem is. Here is the description of what i have done and required files:

I am using ROS Indigo, Ubuntu 1404 on a turtlebot which is controlled with a joystick. I have configured robot_localiztion package after going through the wiki and some questions related to the package. I drove the robot around in a rectangular grid and collected data in a bag file and played it later. This is the launch file i am using and these are the results i got.

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

  <param name="frequency" value="30"/>  

  <param name="sensor_timeout" value="0.1"/>  

  <param name="two_d_mode" value="true"/>

  <param name="odom_frame" value="/odom"/>
  <param name="base_link_frame" value="/base_footprint"/>
  <param name="world_frame" value="/odom"/>

  <param name="odom0" value="/odom"/>
  <param name="imu0" value="mobile_base/sensors/Imu_data"/>

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

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

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

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

  <param name="debug"           value="false"/>
  <param name="debug_out_file"  value="debug.txt"/>

</node>

Here is the tf frames out when i ran below command

rosrun tf view_frames

image description

And this is the result of odometry plotted in Rviz (red is /odom from turtlebot green is /odometry/filtered from robot_localization)

image description

I plotted odom data using python, here is the result. You can see that both odom(red) and odom_filtered(blue) are overlayed on each other

image description

I am not getting any errors while using robot_localiztion package and tf frames looks right to me. I am not able to figure out what the problem is. Can anyone help me? And here is the bag file i am using.

bag file

errors in using robot_localization package

Hello ROS gurus,

I am trying to use robot_localization package to better localize my turtlebot in my lab environment. But it seems like it is not able to do what it is meant to do, i am not able to figure out what the problem is. Here is the description of what i have done and required files:

I am using ROS Indigo, Ubuntu 1404 on a turtlebot which is controlled with a joystick. I have configured robot_localiztion package after going through the wiki and some questions related to the package. I drove the robot around in a rectangular grid and collected data in a bag file and played it later. This is the launch file i am using and these are the results i got.

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

  <param name="frequency" value="30"/>  

  <param name="sensor_timeout" value="0.1"/>  

  <param name="two_d_mode" value="true"/>

  <param name="odom_frame" value="/odom"/>
  <param name="base_link_frame" value="/base_footprint"/>
  <param name="world_frame" value="/odom"/>

  <param name="odom0" value="/odom"/>
  <param name="imu0" value="mobile_base/sensors/Imu_data"/>

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

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

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

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

  <param name="debug"           value="false"/>
  <param name="debug_out_file"  value="debug.txt"/>

</node>

Here is the tf frames out when i ran below command

rosrun tf view_frames

image description

And this is the result of odometry plotted in Rviz (red is /odom from turtlebot green is /odometry/filtered from robot_localization)

image description

I plotted odom data using python, here is the result. You can see that both odom(red) and odom_filtered(blue) are overlayed on each other

image description

I am not getting any errors while using robot_localiztion package and tf frames looks right to me. I am not able to figure out what the problem is. Can anyone help me? And here is the bag file i am using.

bag file

NEW PLOTS:

image description

image description

tf frames

Also i ran the command rosrun tf tf_echo /gyro_gram /base_link_fram and i was able to see the output.

errors in using robot_localization package

Hello ROS gurus,

I am trying to use robot_localization package to better localize my turtlebot in my lab environment. But it seems like it is not able to do what it is meant to do, i am not able to figure out what the problem is. Here is the description of what i have done and required files:

I am using ROS Indigo, Ubuntu 1404 on a turtlebot which is controlled with a joystick. I have configured robot_localiztion package after going through the wiki and some questions related to the package. I drove the robot around in a rectangular grid and collected data in a bag file and played it later. This is the launch file i am using and these are the results i got.

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

  <param name="frequency" value="30"/>  

  <param name="sensor_timeout" value="0.1"/>  

  <param name="two_d_mode" value="true"/>

  <param name="odom_frame" value="/odom"/>
  <param name="base_link_frame" value="/base_footprint"/>
  <param name="world_frame" value="/odom"/>

  <param name="odom0" value="/odom"/>
  <param name="imu0" value="mobile_base/sensors/Imu_data"/>

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

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

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

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

  <param name="debug"           value="false"/>
  <param name="debug_out_file"  value="debug.txt"/>

</node>

Here is the tf frames out when i ran below command

rosrun tf view_frames

image description

And this is the result of odometry plotted in Rviz (red is /odom from turtlebot green is /odometry/filtered from robot_localization)

image description

I plotted odom data using python, here is the result. You can see that both odom(red) and odom_filtered(blue) are overlayed on each other

image description

I am not getting any errors while using robot_localiztion package and tf frames looks right to me. I am not able to figure out what the problem is. Can anyone help me? And here is the bag file i am using.

bag file

NEW PLOTS:

image description

image description

tf frames

Also i ran the command rosrun tf tf_echo /gyro_gram /base_link_fram and i was able to see the output.

UPDATED ON 10/03/2016 4:10 PM

Here is my launch file:

<launch>

<include file="$(find hp_autonomous_navigation)/launch/minimal.launch"/>



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

<param name="frequency" value="30"/>
<param name="sensor_timeout" value="0.1"/>
<param name="transform_time_offset" value="0.0"/>


<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_footprint"/>
<param name="world_frame" value="/odom"/>

<param name="odom0" value="/odom"/>
<param name="imu0" value="mobile_base/sensors/imu_data"/>

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

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

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

<param name="odom0_relative" value="false"/>
<param name="imu0_relative" value="false"/>

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

<param name="print_diagnostics" value="true"/>

<param name="odom0_queue_size" value="10"/>
<param name="imu0_queue_size" value="10"/>

<param name="debug" value="false"/>
<param name="debug_out_file" value="debug.txt"/>

</node> 



<!-- ######################################   Kinect Bring up    ###################################### -->
<include file="$(find turtlebot_bringup)/launch/3dsensor.launch"/>

<!-- ######################################       Gmapping       ###################################### -->
<include file="$(find hp_gmapping)/launch/hpgmapping_real.launch"/> 

<!-- ######################################  Frontier Exploration   ###################################### -->
 <node pkg="hp_frontier_exploration" type="frontier_map" respawn="false" name="frontier_map" output="screen">
    <rosparam file="$(find turtlebot_navigation)/param/costmap_common_params.yaml" command="load"/>
    <rosparam file="$(find hp_frontier_exploration)/frontier_costmap_params.yaml" command="load" ns="frontier_map"/>
 </node>

 <node pkg="hp_frontier_exploration" name="frontier_waypoint" type="frontier_waypoint" respawn="false" output="screen">
    <rosparam file="$(find hp_frontier_exploration)/frontier_waypoint_params.yaml" command="load"/>
 </node>

<node pkg="rosbag" name="record" type="record" args="-O $(find hp_autonomous_navigation)/src/data.bag /tf /scan /odom /odometry/filtered /mobile_base/sensors/imu_data"  />

</launch>

OUTPUT FROM /ODOM TOPIC

header:  seq: 1650   stamp: 
    secs: 1475621890
    nsecs: 547252111   frame_id: odom child_frame_id: base_footprint pose:   pose: 
    position: 
      x: 0.0
      y: 0.0
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0   covariance: [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2] twist:    twist: 
    linear: 
      x: 0.0
      y: 0.0
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: 0.0   covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

OUTPUT FROM /ODOMETRY/FILTERED TOPIC

header: 
  seq: 1627
  stamp: 
    secs: 1475621911
    nsecs: 842503548
  frame_id: odom
child_frame_id: base_footprint
pose: 
  pose: 
    position: 
      x: 0.0
      y: 0.0
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
  covariance: [2.7114388649166092, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.7114388649166092, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.2993134255839545e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.267956922382893e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.267956922382893e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.007585541496240116]
twist: 
  twist: 
    linear: 
      x: 0.0
      y: 0.0
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: 0.0
  covariance: [1.305441858742643e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.305441858742643e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.283322530806801e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.1636776575304084e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.1636776575304084e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03712041041276108

OUTPUT FROM /mobile_base/sensors/imu_data TOPIC

header: 
  seq: 3768
  stamp: 
    secs: 1475621932
    nsecs: 816497812
  frame_id: gyro_link
orientation: 
  x: 0.0
  y: 0.0
  z: 0.0
  w: 1.0
orientation_covariance: [1.7976931348623157e+308, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.05]
angular_velocity: 
  x: 0.0
  y: 0.0
  z: 0.0
angular_velocity_covariance: [1.7976931348623157e+308, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.05]
linear_acceleration: 
  x: 0.0
  y: 0.0
  z: 0.0
linear_acceleration_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

OUTPUT I GOT WHEN I RAN THE BELOW COMMAND

rosrun tf tf_echo /gyro_link /base_footprint

At time 1475621971.286
- Translation: [-0.056, -0.062, -0.030]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
            in RPY (radian) [0.000, -0.000, 0.000]
            in RPY (degree) [0.000, -0.000, 0.000]
At time 1475621971.686
- Translation: [-0.056, -0.062, -0.030]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
            in RPY (radian) [0.000, -0.000, 0.000]
            in RPY (degree) [0.000, -0.000, 0.000]
^CAt time 1475621972.486
- Translation: [-0.056, -0.062, -0.030]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
            in RPY (radian) [0.000, -0.000, 0.000]
            in RPY (degree) [0.000, -0.000, 0.000]

It seems like it is working, because filtered odometry is a little better tha raw odometry, but still it is not converging Here is the rviz screen shot( red = raw odom, green = filtered odom)

image description.

errors in using robot_localization package

Hello ROS gurus,

I am trying to use robot_localization package to better localize my turtlebot in my lab environment. But it seems like it is not able to do what it is meant to do, i am not able to figure out what the problem is. Here is the description of what i have done and required files:

I am using ROS Indigo, Ubuntu 1404 on a turtlebot which is controlled with a joystick. I have configured robot_localiztion package after going through the wiki and some questions related to the package. I drove the robot around in a rectangular grid and collected data in a bag file and played it later. This is the launch file i am using and these are the results i got.

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

  <param name="frequency" value="30"/>  

  <param name="sensor_timeout" value="0.1"/>  

  <param name="two_d_mode" value="true"/>

  <param name="odom_frame" value="/odom"/>
  <param name="base_link_frame" value="/base_footprint"/>
  <param name="world_frame" value="/odom"/>

  <param name="odom0" value="/odom"/>
  <param name="imu0" value="mobile_base/sensors/Imu_data"/>

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

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

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

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

  <param name="debug"           value="false"/>
  <param name="debug_out_file"  value="debug.txt"/>

</node>

Here is the tf frames out when i ran below command

rosrun tf view_frames

image description

And this is the result of odometry plotted in Rviz (red is /odom from turtlebot green is /odometry/filtered from robot_localization)

image description

I plotted odom data using python, here is the result. You can see that both odom(red) and odom_filtered(blue) are overlayed on each other

image description

I am not getting any errors while using robot_localiztion package and tf frames looks right to me. I am not able to figure out what the problem is. Can anyone help me? And here is the bag file i am using.

bag file

NEW PLOTS:

image description

image description

tf frames

Also i ran the command rosrun tf tf_echo /gyro_gram /base_link_fram and i was able to see the output.

UPDATED ON 10/03/2016 4:10 PM

Here is my launch file:

<launch>

<include file="$(find hp_autonomous_navigation)/launch/minimal.launch"/>
autonomous_navigation)/launch/minimal.launch"/>



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

<param name="frequency" value="30"/>
<param name="sensor_timeout" value="0.1"/>
<param name="transform_time_offset" value="0.0"/>


<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_footprint"/>
<param name="world_frame" value="/odom"/>

<param name="odom0" value="/odom"/>
<param name="imu0" value="mobile_base/sensors/imu_data"/>

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

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

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

<param name="odom0_relative" value="false"/>
<param name="imu0_relative" value="false"/>

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

<param name="print_diagnostics" value="true"/>

<param name="odom0_queue_size" value="10"/>
<param name="imu0_queue_size" value="10"/>

<param name="debug" value="false"/>
<param name="debug_out_file" value="debug.txt"/>

</node> 



<!-- ######################################   Kinect Bring up    ###################################### -->
<include file="$(find turtlebot_bringup)/launch/3dsensor.launch"/>

<!-- ######################################       Gmapping       ###################################### -->
<include file="$(find hp_gmapping)/launch/hpgmapping_real.launch"/> 

<!-- ######################################  Frontier Exploration   ###################################### -->
 <node pkg="hp_frontier_exploration" type="frontier_map" respawn="false" name="frontier_map" output="screen">
    <rosparam file="$(find turtlebot_navigation)/param/costmap_common_params.yaml" command="load"/>
    <rosparam file="$(find hp_frontier_exploration)/frontier_costmap_params.yaml" command="load" ns="frontier_map"/>
 </node>

 <node pkg="hp_frontier_exploration" name="frontier_waypoint" type="frontier_waypoint" respawn="false" output="screen">
    <rosparam file="$(find hp_frontier_exploration)/frontier_waypoint_params.yaml" command="load"/>
 </node>
gmapping)/launch/gmapping_real.launch"/> 



<node pkg="rosbag" name="record" type="record" args="-O $(find hp_autonomous_navigation)/src/data.bag autonomous_navigation)/src/data.bag /tf /scan /odom /odometry/filtered /mobile_base/sensors/imu_data"  />

</launch>

OUTPUT FROM /ODOM TOPIC

header:  seq: 1650   stamp: 
    secs: 1475621890
    nsecs: 547252111   frame_id: odom child_frame_id: base_footprint pose:   pose: 
    position: 
      x: 0.0
      y: 0.0
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0   covariance: [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2] twist:    twist: 
    linear: 
      x: 0.0
      y: 0.0
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: 0.0   covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

OUTPUT FROM /ODOMETRY/FILTERED TOPIC

header: 
  seq: 1627
  stamp: 
    secs: 1475621911
    nsecs: 842503548
  frame_id: odom
child_frame_id: base_footprint
pose: 
  pose: 
    position: 
      x: 0.0
      y: 0.0
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
  covariance: [2.7114388649166092, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.7114388649166092, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.2993134255839545e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.267956922382893e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.267956922382893e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.007585541496240116]
twist: 
  twist: 
    linear: 
      x: 0.0
      y: 0.0
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: 0.0
  covariance: [1.305441858742643e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.305441858742643e-05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.283322530806801e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.1636776575304084e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.1636776575304084e-07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.03712041041276108

OUTPUT FROM /mobile_base/sensors/imu_data TOPIC

header: 
  seq: 3768
  stamp: 
    secs: 1475621932
    nsecs: 816497812
  frame_id: gyro_link
orientation: 
  x: 0.0
  y: 0.0
  z: 0.0
  w: 1.0
orientation_covariance: [1.7976931348623157e+308, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.05]
angular_velocity: 
  x: 0.0
  y: 0.0
  z: 0.0
angular_velocity_covariance: [1.7976931348623157e+308, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.05]
linear_acceleration: 
  x: 0.0
  y: 0.0
  z: 0.0
linear_acceleration_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

OUTPUT I GOT WHEN I RAN THE BELOW COMMAND

rosrun tf tf_echo /gyro_link /base_footprint

At time 1475621971.286
- Translation: [-0.056, -0.062, -0.030]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
            in RPY (radian) [0.000, -0.000, 0.000]
            in RPY (degree) [0.000, -0.000, 0.000]
At time 1475621971.686
- Translation: [-0.056, -0.062, -0.030]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
            in RPY (radian) [0.000, -0.000, 0.000]
            in RPY (degree) [0.000, -0.000, 0.000]
^CAt time 1475621972.486
- Translation: [-0.056, -0.062, -0.030]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]
            in RPY (radian) [0.000, -0.000, 0.000]
            in RPY (degree) [0.000, -0.000, 0.000]

It seems like it is working, because filtered odometry is a little better tha raw odometry, but still it is not converging Here is the rviz screen shot( red = raw odom, green = filtered odom)

image description.