Using robot_pose_ekf with navigation stack

asked 2015-11-02 09:40:51 -0500

mohsen1989m gravatar image

Dear folks,

I am trying to run navigation stack on my custom robot. I was able to set up navigation stack on the robot and it works fine, unless regarding to the physics of the robot I have a considerable error on my odometry. For this reason, I want to use robot_pose_ekf to integrate the imu data with my previous odometry (which is only based on wheel encoders) and get a better result. I am using the following launch file to launch robot_pose_ekf:

  <node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf">
  <param name="output_frame" value="odom_combined"/>
  <param name="base_footprint_frame" value="base_link"/>
  <param name="freq" value="30.0"/>
  <param name="sensor_timeout" value="1.0"/>  
  <param name="odom_used" value="true"/>
  <param name="imu_used" value="true"/>
  <param name="vo_used" value="false"/>

  <remap from="odom" to="pr2_base_odometry/odom" />

as a result, odom_combined topic is being publish but with no value (unkown in rqt). There is also another issue, base_link -> odom_combined transform is not being published in my tf tree. I thought it is because my robot_odom node is already publishing the base_link -> odom transform and a child cannot have two parents, so I stop my robot_odom node from publishing the tf transform by commenting the corresponding part of the code, although base_link -> odom_combined still is not being published.

Can anybody help me how should I do this correctly?

Thank you very much in advance.

edit retag flag offensive close merge delete