Nonlinear Model Predictive Control for Multi-rotor Aerial Vehicles under Visual-perceptive Constraints
1. Description
The objective of this work is the development of a controller based on Nonlinear Model Predictive Control (NMPC) for a Multi-rotor aerial vehicle (MRAV) subject to actuation and perception constraints.
The MRAV is equipped with an onboard sensor, for instance a monocular camera, with limited Field of View (FoV). The MRAV is requested to perform a certain motion in the environment while maintaining inside its sensor FoV a desired feature, e.g. a tag on the ground. The feature can be static or moving and perceived only by means of the onboard sensor. Each actuator of the MRAV is composed by a motor-propeller pair, which produces a limited thrust force along its axis and, at the same time, undergoes a transient prior to reach the commanded thrust. The derivative of the thrust is bounded as well, and it is used as real input for the system. Maximum and minimum thrust forces and their derivatives constitute the actuation constraints of the aerial robot.
2. Simulations
Simulations involve both a static and moving tag observed by an under-actuated quad-rotor and a fully-actuated hexa-rotor.
2.1. Enable vs disable perception constraints
Simulations are conducted in order to validate the need to introduce the perception constraints within the controller.
In the following figure, it is shown a snapshot of a simulation where a quad-rotor has to maintain vision over a moving feature. The perception constraints are enabled within the controller.
As it is possible to see in the previous figure, the feature is kept within the FoV bounds of the onboard camera.
The same simulation is then repeated, but this time disabling the perception constraints within the controller. A similar snapshot is provided in the figure below.
As shown, the feature exits the FoV bounds of the onboard camera.
2.2. Under-actuation vs Fully-actuation
The following simulations investigate the capabilities of the controller to naturally take into account the different actuation properties of two different platforms, namely an under-actuated quadrotor and a fully-actuated hexa-rotor.
In the following figure, it is shown a capture taken from the visualization of the simulation of a quad-rotor tracking a feature moving in a circular pattern. The robot is tasked to stay in the starting position, while keeping the moving feature as close as possible to the center of the FoV of the onboard camera.
The Fov of the onboard camera is visualized as a purple cone, while the moving feature as a green rectangle moving along the light-green circular trajectory.
As the quad-rotor is an under-actuated system, the rotational and translation dynamics are coupled. Therefore, the robot cannot independently change attitude while mantaining the same position. As it is tasked to orient the camera as much as possible towards the moving feature, it has to move from the initial position in order to achieve the mission goal.
Consequently, the optimal solution computed by the predictive controller is to follow a circular trajectory (not generated by the reference generator
within the controller module) close to the starting location of the robot.
The motion performed by the quad-rotor is displayed as a pink line.
Contrary, when performing the same simulation with a fully-actuated hexa-rotor, the robot is able to stay in the starting position while achieving the perceptive task.
Indeed, the robot does not perform any motion, as it is possible to appreciate in the previous figure by the absence of any pink trajectory.
3. Experiments
The experiments were conducted in the indoor arena available at LAAS-CNRS (Toulouse, France), whose picture is provided in the following.
The robot used for the experimental campaign is a custom-designed under-actuated quad-rotor shown in the figure below.
Lastly, a picture of the experimental setup is provided. The robot, the under-actuated quad-rotor shown above, is tasked to move along a set of waypoints while keeping inside the onboard sensor FoV the feature located on the ground.
4. Technical details
4.1. Control architecture
In the following, a block diagram of the implementation is provided.
The Software
part contains the controller implemented in Simulink, which computes the desired rotor velocities sent to the robot actuators.
It also contains submodules related to the generation of the reference motion (trajectory) and constraints, and a submodule simulating the onboard camera.
The Hardware
group contains the modules related to the communication with the low-level hardware, either the real robot or the simulated one.
The interface with the hardware is performed by means of the Telekyb3 architecture.
This software interface allows communicating with the flight controller mounted on the robot, a quadrotor in the case of the experiments, or with the simulated one, in the case of the simulations.
5. Related publication
Perception-constrained and Motor-level Nonlinear MPC for both Underactuated and Tilted-propeller UAVS
M. Jacquet, G. Corsini, D. Bicego, and A. Franchi, “Perception-constrained and Motor-level Nonlinear MPC for both Underactuated and Tilted-propeller UAVS,” in IEEE International Conference on Robotics and Automation (ICRA 2020), May 2020, pp. 4301–4306. doi: 10.1109/ICRA40945.2020.9197281.
Aerial Robotics; Multi-rotor aerial vehicles; Perception-constrained Nonlinear Model Predictive Control