ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Have a look at my answer here. It talks about how one could construct the transform tree using an IMU.
As for robot_pose_ekf
, it relies on its incoming sensor data to perform its calculations. Wheel odometry is always 2D, just by the nature of it. Your IMU data can publish a 3D orientation to robot_pose_ekf
, but the robot's elevation (z-value) will never change until you have a source that publishes a z-value. I'm not sure if robot_pose_ekf
will rotate the 2D plane of wheel odometry to a world reference frame (so that the IMU's orientation can influence elevation), since I've never used it. I'm just speaking from general experience when I say that I'm not sure that it does.
That leaves your GPS and visual odometry to publish elevation data. I can't speak for everyone, but I never take the z-measurement from my GPS unit (if you're using one). I find it to be terribly unreliable. That leaves only /vo
(visual odometry) as your source for elevation calculations. If you publish a z-value to /vo
, you should be able to achieve 3D navigation.