You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
REP-147 recommends the use Odometry and Imu messages. These have covariance arrays. When using MicroXRCEDDS, this translates into 36 doubles of data, which is a ton of overhead for a tiny little STM32 running ArduPilot. Couple that with trying to push hundreds of messages a second, and we have a bit of a bandwidth problem, even when using ethernet.
I don't think the REP should be recommending using this messages with large covariances if they aren't used in embedded.
Use Case
ArduPilot supporting a REP-147 compliant MicroXRCEDDS interface.
Modify the messages to allow leaving the covariances empty if they can't be populated. This won't be a good solution for humble which is what ~32% of people use according to the last ROS developer survey because it would break ABI.
The text was updated successfully, but these errors were encountered:
Problem
REP-147 recommends the use Odometry and Imu messages. These have covariance arrays. When using MicroXRCEDDS, this translates into 36 doubles of data, which is a ton of overhead for a tiny little STM32 running ArduPilot. Couple that with trying to push hundreds of messages a second, and we have a bit of a bandwidth problem, even when using ethernet.
I don't think the REP should be recommending using this messages with large covariances if they aren't used in embedded.
Use Case
ArduPilot supporting a REP-147 compliant MicroXRCEDDS interface.
References
px4_msgs only uses 9 elements for variances in Odometry. https://github.com/PX4/px4_msgs/blob/6c5a8e74eb2d173c0decb3feacd7e1932b64095b/msg/VehicleOdometry.msg#L23
px4_msgs doesn't even have covariances in the IMU message:
https://github.com/PX4/px4_msgs/blob/6c5a8e74eb2d173c0decb3feacd7e1932b64095b/msg/VehicleImu.msg#L9
This talk from the 2023 PX4 developer conference is great:
https://youtu.be/qly4tXj-aaA?si=umf_XRdErrm2Ll9f&t=1121
Thoughts from the ArduPilot dev team
Tridge, the lead dev of ArduPlane, says it's a "huge waste of bandwidth": ArduPilot/ardupilot#26187 (comment)
Alternatives
Modify the messages to allow leaving the covariances empty if they can't be populated. This won't be a good solution for
humble
which is what ~32% of people use according to the last ROS developer survey because it would break ABI.The text was updated successfully, but these errors were encountered: