Simulation of a UAV Takeoff and Landing from a USV

Timeframe: Spring 2024

Scope: EGRS372 Mobile Robotics

Problem: To simulate a quadcopter taking off from a WAM-V on the water, performing an areal maneuver, and returning to land on the WAM-V.

The final class project of my mobile robotics course was to model a quadcopter-style unmanned aerial vehicle (UAV) taking off and landing on the deck of a WAM-V autonomous surface vessel, while performing a maneuver. The entire project was to be done in MATLAB.

The two vehicles were to be simulated with two state space models. The state space model for the WAM-V was derived as a part of a homework before the project, and the UAV model was obtained from a research paper provided to the class.

A speed and heading controller was derived and tuned for the WAM-V. A PID (proportional, integral, derivative) controller for the UAV was written term-by-term: first a P controller was written, useless except for proving the functionality of the model; then a derivative term was added to allow the UAV to reach a desired position and orientation; finally an integral term was added to remove the error and complete the controller.

Finally, the two models with their controllers were combined and the maneuver modeled. The WAM-V followed a sinusoidal path forward at consistent velocity. The UAV sat on top for a few seconds, then took off to obtain a consistent height while tracking the WAM-V, then tracked the WAM-V from above for a duration of time, before landing back on the WAM-V in a controlled manner.

Overall I was successful in the project, although I had major tuning issues with my PID controller which resulted in my UAV having an odd takeoff and landing with high enough error that it would tip off the edge of the WAM-V deck in real life. But that’s why we write models first right?

Linear velocities of both vehicles with respect to time. Note the poorly tuned UAV controller.

A sample of 1400+ lines of code. This particular section is part of the UAV PID controller which uses the desired UAV x and y positions to calculate the necessary desired phi and theta angles. This must be done because the quadcopter’s underactuated status prevents linear motion along x and y, so it must be created by rotating about y and x.

A little math and the linear velocities reveal the linear position of both vehicles with respect to time.

Orientation of both vehicles with respect to time.

The positions of the vehicles with respect to xyz space.

Next
Next

Turtlebot3