ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Although robot_pose_ekf does not OUTPUT covariances, it must take in covariances. That means that your sensor inputs (wheel_odometry, vo, and imu_data) must produce their own covariances. The IMU's covariance can be obtained from the datasheet. As for wheel odometry and visual odometry, take a look at what the pr2 does for covariances. You could probably just run the pr2 simulator and look at the output of wheel_odometry and vo to see what they have.
When you try to re-compile the output of pose_ekf into a nav_msgs/Odometry message, you don't need to fill in the covariances unless the node that subscribes to odometry_combined also needs covariance.
As for obtaining the twist, no, robot_pose_ekf will not give you twist. The twist portion of the message is a measure of the robot's velocities in each direction. You would have to take this data from one of the input messages (probably wheel_odometry). In this case, wheel_odometry would be the only source of twist in the x, y, and theta directions.