[New feature] Tilting multicopters
Premise
This is a customized version that I made to control our research platforms with PX4. After some flight tests, seeing how easy it could be to build a tilting drone with PX4, I thought to propose that to you. I think that this feature will not be ready to be added as it is, but if you find it interesting, I would like to work on that (with everyone who's willing to help) in order to get it ready.
Customization for tilting multicopters
This repo presents a general framework for multicopters equipped with tiltable rotors (tilting multicopters). Differently from classical flat multicopters, tilting multicopters can be fully actuated systems able to decouple position and attitude control. Simulation models have been also added to the "gazebo-classic" submodule.
To test with an omnidirectional tilting drone
make px4_sitl gazebo-classic_NDT_tilting
Solution
- A new airframe class has been added, with the
ID = 12 - The allocation matrix is static, as presented in [this paper](doi: 10.1109/mra.2018.2866758 ). Ideally, it should have a number of columns equal to twice the number of motors, but due to size restrictions, it has been implemented with two allocation matrices (like in the VTOL). The two matrices are needed to allocate the lateral and vertical force of each rotor and, from them, evaluate the rotor velocity and tilt angle.
- The multicopters' controllers have not been changed, there are only a few additions:
- In the position control, the output is a 3D force vector and there is the possibility to send a desired attitude (for example from an external application, and in the future from an RC channel)
- In the attitude control, the orientation of the tilting drone is kept flat while flying, and to fly with an H-shape one-tilt tilting drone the angle for the movement is mapped on the tilt motors
Context
The description of the firmware architecture, the integration with the standard PX4 control stack is described in the following article:
Salvatore Marcellini, Jonathan Cacace, Vincenzo Lippiello, "A PX4 Integrated Framework for Modeling and Controlling Multicopters with Tiltable Rotors", submitted to the 2023 International Conference on Unmanned Aircraft System (ICUAS ’23) June 6 – 9, 2023 Warsaw, Poland
Videos
-
Flight test https://www.youtube.com/watch?v=Wnt7NWtWwKk&ab_channel=SalvatoreMarcellini
-
Paper https://youtu.be/N61GHj4W_II
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there:
https://discuss.px4.io/t/px4-community-q-a-september-20-2023/34296/3