PX4-Autopilot icon indicating copy to clipboard operation
PX4-Autopilot copied to clipboard

[New feature] Tilting multicopters

Open salvamarce opened this issue 2 years ago • 1 comments

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

salvamarce avatar Sep 18 '23 22:09 salvamarce

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

DronecodeBot avatar Sep 20 '23 09:09 DronecodeBot