Model Predictive Control (MPC) for Hexacopter

Hello :wink:
I’m a student of Vienna University of Technology and I’m currently working on some drone related stuff. Together with my team I want to use drones to measure wireless communication performance (e.g. signal strength, data throughput, etc.). To do so a very stable hover is required. The drone should be able to hold it’s position with an accuracy of about 5-10 cm (sub wavelength accuracy). I know that’s a strong requirement.
Currently the used hexacopter (with it’s PID control) is not able to fulfill the requirements.

I’m facing the following questions:

  • Could a Model Predictive Control (MPC) improve the hover stability?
  • Are the used sensors (see below) sufficient for the task?
  • Would it be worth the effort of developing a MPC (I know that can be really time consuming)?
  • Could a better performance be achieved by just tweaking the PID controller?

About the used setup:

  • Aperture Hexacopter with HKPilot32 Flight Controller (Pixhawk based, FMUv2)
  • Px4Flow
  • Lidar (currently TFmini)
  • ublox GPS

Where do you want to use this setup indoor or outdoor environment?
Since PX4Flow is not giving good results in a less featured environment and it also shows big drifts many times.

I want to use it indoors as well as outdoors. For our purpose it would be possible to prepare the ground the drone is flying above. For example, the ground could be covered with a carpet or something else, that provides a feature rich surface.

Then search for good odometry like msckf_vio and SVO and for altitude you can use lidar.