ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Where do I put base_footprint?

asked 2014-09-15 21:42:40 -0500

jackcviers gravatar image

updated 2014-09-16 12:43:32 -0500

So I have a urdf for my robot, with the tree root as base_link.

However, I am using robot_pose_ekf, which has a hard-coded transform for base_footprint. Assuming a simple square base_footprint, should I make it the root:

base_footprint
  base_link ... rest of model

EDIT:

After adding a base_footprint link and joint to base_link:

robot name is: Thumperbot_Simplistic
---------- Successfully Parsed XML ---------------
root Link: base_footprint has 1 child(ren)
    child(1):  base_link

I still get the following error:

Node: /robot_pose_ekf
Time: 12:35:35.441279569 (2014-09-16)
Severity: Debug
Published Topics: /robot_pose_ekf/odom_combined, /rosout, /tf

Could not transform imu message from base_link to base_footprint. Imu will not be activated yet.

Location:
/tmp/buildd/ros-indigo-robot-pose-ekf-1.11.11-0trusty-20140805-0105/src/odom_estimation_node.cpp:OdomEstimationNode::imuCallback:234

----------------------------------------------------------------------------------------------------

Perhaps it is not receiving my urdf that have in the launchfile? Here is the launchfile:

<launch>
  <param name="robot_description" textfile="$(find thumperbot_description)/urdf/thumperbot_description.urdf" />
  <node name="gps_conv" pkg="gps_common" type="utm_odometry_node">
    <remap from="odom" to="vo" />
    <remap from="fix" to="/gps/fix" />
    <param name="rot_covariance" value="99999" />
    <param name="frame_id" value="base_link" />
  </node>
  <node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf">
    <rosparam>
      odom_used: false
      imu_used: true
      vo_used: true
      debug: true
      self_dignose: true
    </rosparam>
  </node>
  <include file="$(find piksi_driver)/launch/piksi_driver.launch" />
  <include file="$(find razor_imu)/launch/razor-pub.launch"/>
</launch>

Here razor_imu and piksi_driver are drivers for the razor imu sensor and the piksi gps sensor. Both sensors output their data correctly.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
2

answered 2014-09-16 01:24:09 -0500

Wolf gravatar image

Yes! base_footprint is located directly under your base_link at ground level. See this answer:

http://answers.ros.org/question/12770...

edit flag offensive delete link more

Comments

This doesn't appear to work, Wolf. Could you take a look at my launchfile and see if there's anything glaringly obvious? Otherwise I'm going into robot_pose_ekf source...

jackcviers gravatar image jackcviers  ( 2014-09-16 12:44:46 -0500 )edit

You could check your tf tree by 'rosrun rqt_tf_tree rqt_tf_tree' or 'rosrun tf view_frames'... Does it look properly? Are all frames connected?

Wolf gravatar image Wolf  ( 2014-09-17 01:27:17 -0500 )edit

You seen to use URDF. Are robot_state_publisher and joint_state_publisher running properly?

Wolf gravatar image Wolf  ( 2014-09-17 01:29:27 -0500 )edit

Bingo Wolf! Was missing robot_state_publisher and joint_state_publisher from the launchfile. Thanks!

jackcviers gravatar image jackcviers  ( 2014-09-17 18:38:57 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2014-09-15 21:42:40 -0500

Seen: 2,055 times

Last updated: Sep 16 '14