Hi everyone,
I’m currently working on integrating a custom environmental sensor (providing wind speed, direction, and barometric pressure) into a PX4-based system onboard a fixed-wing UAV. The sensor communicates via UART and sends data at 10Hz. I’d like to feed this data into the estimator (likely using EKF2) to improve local wind awareness and altitude estimation.
I’ve reviewed the uORB documentation and am comfortable creating a custom module to publish sensor data as a uORB topic. However, I’m trying to understand the best practice for ensuring that EKF2 or other modules can consume and benefit from this information. Specifically:
- Is there an existing uORB topic structure for environmental data that EKF2 can subscribe to, or would I need to modify the estimator itself?
- Are there any considerations for timestamp synchronization and data latency when feeding in this kind of auxiliary sensor data?
- Would it be preferable to wrap this into a custom MAVLink message for logging/ground station purposes, or keep it strictly internal to PX4 via uORB?
- Finally, if anyone has experience implementing similar functionality (e.g., integrating pitot tube or wind sensors not natively supported), I’d really appreciate any example repos or code snippets.
I’d like to keep the system modular and maintain compatibility with future PX4 updates, so I’d prefer not to modify the core estimator code unless absolutely necessary. While my primary focus is on UAV systems, I’m also exploring automation workflows (like uipath training in pune) to enhance development pipelines and streamline integration testing—so maintaining clean, updatable architecture in PX4 is a priority.
Any guidance or pointers to relevant examples would be greatly appreciated!
Thanks in advance,
Grayson