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

Revision history [back]

click to hide/show revision 1
initial version

As a general remark, the robot_pose_ekf node is not a general purpose pose estimation EKF, but was developed specifically for the PR2 to improve its odometry with help of IMU and possibly VO. It is restricted to planar movement, and I'm not sure if it even works with IMU input alone.

For the above Edit2, where exactly does the callback return, does it go inside the if for sure?

As a general remark, the robot_pose_ekf node is not a general purpose pose estimation EKF, but was developed specifically for the PR2 to improve its odometry with help of IMU and possibly VO. It is restricted to planar movement, and I'm not sure if it even works with IMU input alone.

For the above Edit2, where exactly does the callback return, does it go inside the if for sure?

Re "seeing the output in stdout": have you put a output=screen for that node in your launch file?

Re the ROS_DEBUG("Could not transform imu message from %s to %s. Imu will not be activated yet.", imu->header.frame_id.c_str(), base_footprint_frame_.c_str()); warning: The warning does tell you something about the problem. You need to make sure that there is a tf transform between your base_footprint frame your IMU frame. Usually this is done by specifiying the links in the URDF of your robot model and the use robot_state_publisher with it.

As a general remark, the robot_pose_ekf node is not a general purpose pose estimation EKF, but was developed specifically for the PR2 to improve its odometry with help of IMU and possibly VO. It is restricted to planar movement, and I'm not sure if it even works with IMU input alone.

For the above Edit2, where exactly does the callback return, does it go inside the if for sure?

Edit 2:

Re "seeing the output in stdout": have you put a output=screen for that node in your launch file?

Re the ROS_DEBUG("Could not transform imu message from %s to %s. Imu will not be activated yet.", imu->header.frame_id.c_str(), base_footprint_frame_.c_str()); warning: The warning does tell you something about the problem. You need to make sure that there is a tf transform between your base_footprint frame your IMU frame. Usually this is done by specifiying the links in the URDF of your robot model and the use robot_state_publisher with it.

Edit 3: also check out this question & answer: http://answers.ros.org/question/12562/is-robot_pose_ekf-acting-correctly/