This repository contains MASC Online navigation scheme, with support of Non linear guidance logic, a high fidelity simulation environment(X-Plane 11), and User Datagram Protocol (UDP) based interface. The system takes in landing zone coordinates and position coordinates where engine is malfunction. It later navigates the engine-out airplane to the approachable safty landing position in real-time. A demonstration of the system in clear weather can be found here
This picture below is MASC Online Path Planning Architecture.
[Paper] [SITL Simulation Video In Clear Weather] [SITL Simulation Video In Turbulent Weather] [PPT slides]
- Nonlinear Guidance Logic
- Precise trajectory tracking
- High fidelity simulation environment(X-Plane)
- User Datagram Protocol (UDP) based Publisher and Subscriber
- Decoupled longitudinal and lateral motion control
- Light weight online path planning framework(Low computation demanded)
-
The fixedWingPathFollowing model integrates the nonlinear guidane logic , UDP intterface with the high fidelity simulation environment. This model is to extract necessary information from the airplane status output bus signal and feed them into the waypoint follower to form a control loop. The model assembles the control and environment inputs for the guidance model block.
open_system('fixedWingPathFollowing');
-
Configure sender and publisher: Please follow instructions shown in the picture to set up IP adddress for subscriber and publisher. Likewise IP address configuration box in X-Plane.
- Open the program in which define the engine-out latitude,longitude and altitude. and then first to put airplane to wherever the engine is broken. And then click the stop button at the up right corner of the X-Plane window. Client matlab program
- Set up the engine out global position in malfunction position configuration block
- Set up the airport coordinates in simulink framework
- Click the run button to start the simulink model first. After 10 to 15 seconds, click the start button in the up right corner of the X-Plane window. Only by doing this can avoid the possible X-plane crash.
sim("fixedWingPathFollowing");
- Run command in the matlab terminal to end this simulation.
close_system("fixedWingPathFollowing");
-
Step response for high fidelity autopilot
open_system('stepResponse');
-
Step response for low fidelity autopilot
open_system('uavStepResponse');
If MASC framework is helpful, please help to ⭐ this repo or recommend it to your friends 😊
Thank you for citing our MASC paper if you use any of this code:
@article{gu2022multi,
title={Multi-level Adaptation for Automatic Landing with Engine Failure under Turbulent Weather},
author={Gu, Haotian and Jafarnejadsani, Hamidreza},
journal={arXiv preprint arXiv:2209.04132},
year={2022}
}
If you encounter some issue when reproducing this project, please email haotiangu1993@gmail.com
or hgu8@stevens.edu
.