Hi all. I am having some difficulty finding any documentation about the /mavros/odometry topics. So a couple questions regarding that:
- From my understanding,
/mavros/local_position outputs the current pose/twist of the quad as estimated by PX4. Is this the same estimate that is published on /mavros/odometry/in? If not, how do they differ, aside from the fact that they are different message types?
- What happens when I publish data to
/mavros/odometry/out? Is it used in the estimate for either /local_position or /odometry or both?
Thanks in advance for any help!
Well first, I believe the odometry data is totally separate from local position data, because:
- Odometry data comes from the sensor (like camera)
- local position is a filtered internal state of the flight controller, which *can take odometry data into account as well, but it also takes GPS, Accelerometer, Gyro data, etc.
- I am not 100% sure, but the difference is the source of that information (camera vs Filter), I believe
- If, you set up the flight controller to take odometry data into account (for the EKF2 Filter), thrn yes I believe it would be fused into the local position estimate!
So in theory, if there were no sensors (like camera) providing odometry to the flight controller, would there be nothing publishing on /mavros/odometry/in? What is the odometry source for the iris drone in PX4 Gazebo SITL?
Hi, I also noticed that there is a topic called local_position/odom with similar data but the covariance matrix is all 0 and the orientation is negative that of odometry/in. Do you know what the difference between local_position/odom and odometry/in is?