Disabling PX4 autopilot and directly command 4x1 thrust and torque for low-level control
-
Hi ModalAI team, I am working on a project that involves developing an end-to-end neural network-based control policy for a quadrotor. For this, I would like to bypass the PX4 autopilot and directly control the drone at the low level using a 4x1 vector of thrust and torque (roll, pitch, yaw) commands, similar to what is used in 12D system models.
My goal is to retain the VOXL infrastructure, especially for reading from onboard services like custom neural network outputs through the voxl-tflite-server pipes and using the existing sensor and system services. However, I would like to disable PX4's control stack and instead send raw actuator commands directly from my control policy.
Could you clarify whether this type of low-level control is supported through VOXL’s existing service architecture? If so, do I need to implement my control policy in C++, or is it also feasible to use Python for sending these thrust and torque commands at a low enough latency for closed-loop flight? Any guidance on how to interface with the motor outputs or appropriate service pipes to do this would be greatly appreciated. Thank you.
-
@Ege-Yüceel This is definitely not supported by ModalAI. However, a sophisticated developer has access to enough documentation and source code that it is possible to make that work.