Can PX4 Handle Drones Affected by External Forces?

Hello everyone,

I hope you’re doing well! I’m currently working on a project where the drone experiences a significant external force during operation. The main goal is to maintain the drone’s stability while this force is applied.

I’m using PX4 for flight control and I’m curious if anyone has experience dealing with similar scenarios? Does PX4 inherently compensate for such external forces to keep the drone stable?

If not, I’d appreciate any guidance on which parts of the PX4 codebase I should explore to implement the necessary modifications. Any advice or suggestions would be greatly valued!

Thank you in advance for your time and help. I’m looking forward to your insights!

Best regards

The point of the control loops, other than compensating for sensor errors is compensate for other forces applied to an aircraft. Usually, it’s wind and drag.
Perhaps you can explain more about the forces you plan to apply on the drone.

Yes. The particular forces compensated for depend on the vehicle type and flight mode.

For example, the most heavily stabilized MC mode is Position mode: Position Mode (Multicopter) | PX4 Guide (main)
When sticks are centered this holds the vehicle upright, fixed in altitude and position and compensating for external forces like wind.
Other flight modes just hold altitude, or just hold attitude.

Information about the control loops etc is in Controller Diagrams | PX4 Guide (main)

@dotanAtTrim @hamishwillee The external force I’m dealing with is actually a high-pressure water hose. I plan to use the drone to navigate and clean an area using this hose. My main concern is whether PX4 can handle such a force without the drone being thrown off course.

Do you think PX4’s control loops could compensate for the pressure from the hose, or would I need to make specific modifications to ensure stability?

I think whether this will work depends on the drone being big enough more than the tuning.

The drone has to be big enough to carry the weight of the hose and water. When you have the hose spraying the drone leans in order to direct some of the force opposing that motion, losing some upward force.

I’m not a control engineer though