Hello everyone,
I’m interested in adding a “flip after crash” or “turtle mode” feature to PX4 for standard drones (non-AI/non-Voxel models).
First, I need to confirm: Does PX4 currently have a built-in “turtle mode” feature for regular multirotors? I have checked the documentation but haven’t found a definitive answer for non-specialized drone types.
If this feature is not yet available, I would like to try implementing it myself and am looking for advice on the best approach.
I’ve been considering two main options for implementation:
Option 1: Implementing a New Flight Task
This approach would involve creating a new Flight Task specifically for the flip maneuver.
-
This task would be responsible for sending direct uORB motor commands.
-
It would also require changing the DShot protocol to bidirectional DShot (if not already enabled) for reverse motor thrust.
-
The main technical challenge I anticipate here is how to temporarily bypass or override the standard arming checks while in this specific task, as the drone would be upside down and/or in an unusual state.
Option 2: Creating a New Custom Module
The second option is to create a standalone Module that the user activates (e.g., via an auxiliary switch).
-
When activated, this module would link to (or effectively override) the Acro mode (rate control).
-
Simultaneously, it would ensure the bidirectional DShot capability is enabled for the required reverse motor operation.
I would appreciate any feedback on these two concepts, or if anyone has experience with a similar implementation or can point me toward the right part of the PX4 source code to begin.
Thank you for your time and help!