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.
-
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.
-
@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.
@Eric-Katzfey I see. Thanks for the response.
Reading along? Create a free ModalAI Forum account to join in.
With an account you can reply, ask your own question, get an email when a ModalAI engineer answers, and mark the reply that solved it. Your place in each thread is saved between visits.
Questions about VOXL, Flight Core, ESCs and ModalAI drones are answered here by the engineers who build them.
Register Login