Can I fuse a depth sensor or a pressure sensor's readings with imu to publish /odom (odometry) in Nav2 stack? I don't have wheel encoders in my robot, and I don't know what to use. Any resources?
1 Answer
If you are asking for a package that will do that, you can use robot_localization
, but you'll run into some trouble. Your IMU, at most, will give you linear acceleration, rotational velocity, and absolute orientation. A pressure sensor, once converted to a depth measurement, will provide Z position. Without a reference for either X and Y position or at least X and Y velocity, your state estimate is going to explode.
We're also aiming to deprecate robot_localization
in favor of fuse
, but we need to implement some 3D sensor models first.
https://docs.ros.org/en/noetic/api/robot_localization/html/index.html https://docs.ros.org/en/noetic/api/fuse_doc/html/index.html