# Multi Level Adaptation for Automatic Landing with Engine Failure under Turbulence Uncertainties
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
## ð Demo Videos
<p align="center">
<img src="files/MASC_Xplane_Simulation.gif" width = "400" height = "225" alt="Alt text" title="Optional title"/>
<!-- <img src="files/icra20_1.gif" width = "320" height = "180"/> -->
</p>
This picture below is MASC Online Path Planning Architecture.
<p align='center'>
<img src="/TuningWaypointFollowerForFixedWingUAVExample/graph/MASC Autopilot.png" alt="drawing" width="700"/>
</p>
### ð Useful material
> [[Paper](https://arxiv.org/abs/2209.04132?context=eess)]   [[SITL Simulation Video In Clear Weather](https://drive.google.com/file/d/1WmX2kXaYxDslZy5klvJAoZgwgKunmYe_/view?usp=sharing)]   [[SITL Simulation Video In Turbulent Weather](https://drive.google.com/file/d/1-ySVJM_X1KhCySdqqr3tfN-P7GjJw5o3/view?usp=sharing)]   [[PPT slides](https://drive.google.com/file/d/1hBzhVMKTlmYcVpDXX8WOoF6kMFxH03yL/view?usp=share_link)]<br>
> [[Stevens Institute of Technology SAS Lab](https://saslabstevens.github.io/)]  
## Features
- 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)
## ð§ Dependencies
- [MATALB R2021a](https://www.mathworks.com/products/new_products/previous_release_overview.html)
- [DSP System Toolbox](https://www.mathworks.com/products/dsp-system.html)
- [UAV Toolbox](https://www.mathworks.com/products/uav.html)
- [Aerospace Blockset](https://www.mathworks.com/products/aerospace-blockset.html)
## ð§ Installation
#### Set up input data channel and output data channel in X-Plane 11
<p align='center'>
<img src="/TuningWaypointFollowerForFixedWingUAVExample/graph/IO_configure.png" alt="drawing" width="300"/>
</p>
#### Configure IP address in MATLAB/Simulink
- 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.
<p align='center'>
<img src="/TuningWaypointFollowerForFixedWingUAVExample/graph/UDP Configuration.png" alt="drawing" width="400"/>
</p>
## Running MASC Examples
1. 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](https://github.com/haotiangu/XPlaneConnect.git)
2. Set up the engine out global position in malfunction position configuration block
3. Set up the airport coordinates in simulink framework
4. 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");
```
6. Run command in the matlab terminal to end this simulation.
```
close_system("fixedWingPathFollowing");
```
## Step Response Test
- Step response for high fidelity autopilot
```
open_system('stepResponse');
```
- Step response for low fidelity autopilot
```
open_system('uavStepResponse');
```
## Cite *MASC*
If MASC framework is helpful, please help to â this repo or recommend it to your friends ð <br>
Thank you for citing [our *MASC* paper](./Multi_Level_Adaptive_Control.pdf) 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}
}
```
## ð§ Contact
If you encounter some issue when reproducing this project, please email `[email protected]` or `[email protected]`.


海神之光
- 粉丝: 6w+
最新资源
- 路径规划领域中跳点搜索算法及其改进版本的技术解析与应用
- DSP驱动的数字电源系统:基于C2000主控的300W Buck-Boost双向变换器设计方案与实现
- COMSOL光学模拟:高斯光束通过偏振棱镜与反射面后的光强质心偏移研究 (07月28日)
- 工业自动化中WINCC系统的水电气能源报表自动化管理及应用
- 格子玻尔兹曼LBM D3Q19方法在多孔介质渗流场求解与可视化的应用研究 · D3Q19 完整版
- 基于Simulink的永磁同步电机滑模观测器无位置传感器控制仿真模型研究
- 基于Matlab的指纹识别系统设计:从特征提取到GUI实现
- VB工业自动化项目:27轴混合驱动与精准喷胶系统的实现及应用
- 电力系统仿真中变压器励磁涌流的Python建模与分析 Python
- PLC1200与Factory IO联机仿真的模拟工厂设计及其实现方法 · PLC编程
- 永磁同步电机PMSM负载状态估计与MATLABSimulink仿真模型研究
- 永磁同步电机PMSM的5+7次谐波注入与死区补偿技术:降低转矩脉动及电压补偿的PPT与Simulink模型说明
- Comsol燃料电池模型:等温和不等温仿真的研究与应用
- 永磁同步电机全速域无位置传感器控制的仿真研究:采用高频注入改进滑膜控制方法及PMSM矢量控制仿真 高频注入 高级版
- 基于灰狼优化算法的光伏MPPT控制策略:局部遮阴环境下的阴影动态与应对措施
- 离线DP动态规划节能速度规划与Carsim联合仿真验证:电动汽车高效能解决方案 - 动态规划
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


