Designing a Robust Model Predictive Controller for UAVs: Implementation and Simulation in ROS/Gazebo




This project focused on the design and simulation of advanced UAV controllers, leveraging ROS and Gazebo for simulation. The development began with the derivation of 6 Degrees of Freedom (DOF) Newton-Euler equations of motion in the body frame. The system included 3 DOF for position states (X, Y, Z in Cartesian coordinates) and 3 DOF for attitude states (Roll, Pitch, Yaw). A ZYX transfer function was used to manage the frame transformations between body and inertial frame.
For position control, feedback linearization was employed. This approach converted the second-order differential equations, represented with real poles in the Laplace domain, into a simpler form for effective control.
To manage the UAV's attitude, a Linear Parameter Varying (LPV) Model Predictive Controller (MPC) was designed with a prediction horizon of 4 steps. This method accounted for system nonlinearities by encapsulating them into constant matrices. These matrices were recalculated dynamically for each horizon period to maintain accuracy and adaptability.
For simulation, the ROS Rotors package was used with the Astek Hummingbird UAV. The simulations were conducted using ROS Noetic, despite the package not having an official port for this ROS version. Necessary modifications were made to the package to ensure compatibility with Noetic.
Though this project successfully integrated these control strategies and simulations, further optimization is required to improve system stability, especially under dynamic and challenging trajectories. This work provides a strong foundation for future enhancements in UAV control systems.
Description
2024
Developed and simulated a Robust Model Predictive (MPC) Attitude Controller and a Feedback Linearization Position Controller for a UAV using ROS and Gazebo.
Algorithm Used
- LPV MPC
- Feedback Linearization