Main Content

Tuning Waypoint Following Controller for Fixed-Wing UAV

This example shows you how to design a waypoint following controller for a fixed-wing unmanned aerial vehicle (UAV). The Guidance Model and Waypoint Follower blocks are the main components that simulate the UAV guidance model and generate commands for following waypoints.

The example iterates through different control configurations and demonstrates UAV flight behavior by simulating a kinematic model for fixed-wing UAV.

Guidance Model Configuration

The fixed-wing guidance model approximates the kinematic behavior of a closed-loop system consisting of the fixed-wing aerodynamics and an autopilot. This guidance model is suitable for simulating small UAV flights at a low fidelity, near the stable flight condition of the UAVs. You can use the guidance model to simulate the flight status of a fixed-wing UAV guided by a waypoint following controller.

You can use the uavStepResponse Simulink® model to observe the fixed-wing guidance model response to step control inputs.

open_system("uavStepResponse");

Integration with Waypoint Following Controller

The fixedWingPathFollowing model integrates the waypoint following controller with the fixed-wing guidance model. This model demonstrates how to extract the necessary information from the guidance model output bus signal and feed it into the waypoint following controller. The model assembles the control and environment inputs for the guidance model block.

open_system("fixedWingPathFollowing");

Waypoint Following Controller Configuration

The waypoint following controller consist of two parts: a Waypoint Follower block and a fixed-wing UAV heading controller.

The Waypoint Follower block computes a desired heading for the UAV based on the current pose, lookahead distance, and specified waypoints. Flying along these heading directions, the UAV visits each waypoint within the specified transition radius.

The Heading Control block is a proportional controller that regulates the UAV heading angle by controlling the roll angle under the coordinated-flight condition.

The UAV Animation block visualizes the UAV flight path, attitude, and lookahead point computed by the Waypoint Follower block. For fixed-wing simulation in windless conditions, the body pitch angle is the sum of the flight path angle and the attack angle. For a small fixed-wing UAV, the angle of attack is usually controlled by the autopilot, and remains relatively small. For visualization purposes, approximate the pitch angle by using the flight path angle. In a windless, zero side-slip scenario, the body yaw angle is the same as the heading angle.

Tune Waypoint Following Controller Through Simulation

Simulate the model. Use the sliders to adjust the waypoint following controller.

sim("fixedWingPathFollowing")

Figure UAV Animation contains an axes object. The axes object with xlabel North, ylabel West contains 6 objects of type patch, line, scatter.

The next figure shows the flight behavior with a small lookahead distance (5) and a fast heading control (3.9). Note that the UAV follows a curving path between the waypoints.

The next figure shows the flight behavior with a large lookahead distance and slow heading control.

Summary

This example tunes a UAV waypoint following controller by manually iterating through multiple sets of control parameters. You can extend this process to automatically apply a large variety of control parameters, enabling you to obtain optimal control configurations for customized navigation controllers.

Once the flight behavior satisfies your design specifications, consider testing your optimal control parameters with high-fidelity models built with Aerospace Blockset or with external flight simulators.

% close Simulink models
close_system("uavStepResponse");
close_system("fixedWingPathFollowing");

See Also

| |

Related Topics