Open buckleytoby opened 7 years ago
What you describe is expected behavior. hector_localization locks the components of the full state vector (3D pose and twist) that are not observable from the given measurements. With a good IMU you might be able to predict the translational velocity and position for a few seconds, but the uncertainty and mean error would grow indefinitely over time. You need to provide absolute position measurements to the pose estimator, e.g. from GPS or a map-based localization or SLAM approach. If you have an Android phone you could use the Android Location API and the built-in GPS if operating outdoors.
hector_pose_estimation does not solve the full localization problem for you, it only fuses the available information into a single, hopefully consistent pose and twist estimate.
Thanks for reply! We also have lidar data that wasn't used above, do you have a suggestion for which package to use to take lidar+IMU --> 3d reconstruction ?
I'm using the hector localization ROS package to take the IMU data from my phone, streamed into a ROS Imu message and reconstructing the 6DOF pose. No other sensors are used.
I can get attitude just fine, but the translation of /sensor_pose (or any other pose or tf topic) remains 0 for all time... I was hoping you could help me figure out why this is. Maybe I'm not setting the Imu frame correctly?
I'm using ros-indigo and catkin_make'd the source from scratch. Below is the source for a python script publishing my phone's imu data
Best, Toby