# Simulation of a Fixed-Wing Unmanned Aerial Glider
## Table of Content
[Overview](#overview)
[Installation](#installation)
[Airframe](#airframe)
[Reference Frames](#referenceframes)
[How to Run the Code](#applications)
[Results](#results)
[References](#references)
## <a name="overview"></a> Overview
An example of a non-linear flight simulation for a unmanned aerial glider with a wingspan of 1.5m. The simulation is implemented with Matlab Simulink and uses [FlightGear](http://www.flightgear.org) for visualization purposes.
In addition to existing Simulink examples from the Mathworks documentation, this implementation shows how to:
1. [Compute the required aerodynamic coefficient tables](./ExperimentalCarrierSimulink/code/mainComputeCoefficients.m) using [Tornado](http://tornado.redhammer.se/) an implementation of the [vortex lattice method](https://en.wikipedia.org/wiki/Vortex_lattice_method) (VLM). For more information on the Tornado implementation, see also [[1]](#tornado).
2. [Find the trimmed gliding state and deduce longitudinal and lateral linear time invariant systems](./ExperimentalCarrierSimulink/code/mainComputeLTIs.m) ([LTI](https://en.wikipedia.org/wiki/Linear_time-invariant_theory)) for the trimmed state according to text book definitions such as the one described in [[2]](#caughey).
Simulation | Real Flight
----------| ------------
<img src="./figures/FlightGear03.png" width="400"> | <img src="./figures/Airframe02.png" width="400">
Visualization of the Simulink simulation with FlightGear | Test flight with the real airframe
Lateral LTI | Longitudinal LTI
-----------|-------------
<img src="./results/mainComputeLTIs/lateral.png" width="400"> | <img src="./results/mainComputeLTIs/longitudinal.png" width="400">
Characteristics of the corresponding lateral LTI system | Characteristics of the corresponding longitudinal LTI system
## <a name="installation"></a>Installation and Configuration
Besides Matlab and Simulink, you need to install [FlightGear](http://www.flightgear.org/) and [Tornado](http://tornado.redhammer.se/).
### FlightGear Installation
After installing FlightGear, it is necessary to copy the aircraft visualization data from your Git working copy to the FlightGear data directory. Assuming you installed FlightGear 3.4.0 on Windows, just copy the content of the working copy folder `FlightGear\Aircraft\ExperimentalCarrier` to `C:\Program Files\FlightGear 3.4.0\data\Aircraft\ExperimentalCarrier`. For other versions or operating systems, proceed accordingly.
Edit the files `runFlightGear.bat` and `runFlightGear.m` in `ExperimentalCarrierSimulink/utilities` and adjust the FlightGear installation path to point to the correct location.
### Tornado Installation
Download Tornado [here](http://tornado.redhammer.se/index.php/download) and unzip it anywhere convenient, for example to `C:\tornado\T135_export`.
#### Install the Airframe and Airfoil Definitions
To install the airframe definition, copy [ExperimentalCarrier.mat](./Tornado/aircraft/ExperimentalCarrier.mat) to `T135_export/aircraft`. To install the airfoil, copy also [JR001.dat](./Tornado/aircraft/airfoil/JR001.DAT) to `T135_export/aircraft/airfoil`.
#### Get Rid of Interp1 Warnings in Tornado
Edit `T135_export\fLattice_setup2.m` and replace in calls to `interp1` (4 locations) `cubic` with `pchip`. This will fix the Matlab warning
```
Warning: INTERP1(...,'CUBIC') will change in a future release. Use INTERP1(...,'PCHIP') instead.
```
#### Configure the Tornado Installation Directory
Assuming you have installed Tornado under `C:\tornado\T135_export`. Edit [`mainComputeCoefficients.m`](./ExperimentalCarrierSimulink/code/mainComputeCoefficients.m) and [`mainComputeLTIs.m`](./ExperimentalCarrierSimulink/code/mainComputeLTIs.m) in `ExperimentalCarrierSimulink/code` and adjust the `tornado_root_directory` variable definition to point to the Tornado root directory, e.g.:
```
tornado_root_directory = 'C:\tornado\T135_export';
```
You can now run the simulation. Jump [here](#applications) to see how, or continue reading to learn about the airframe and the relevant reference frames first.
## <a name="airframe"></a>Airframe
The simulated airframe has a twin-boom fuselage and a wing with upward cranked tips. The total wing span is 1.5m and the take-off weight is 1.56kg (actual glider equiped with on-board computer and temporarily installed electric motor for testing / take-off). Center of gravity has been found to be at 92mm from the leading edge of the main wing. Via GPS measurements a gliding velocity of about 45km/h was confirmed (at roughly zero elevator deflection). The glider uses two actuators: elevator and rudder. The rudder is asymmetrically attached to the left of the two vertical stabilizers.
Below is the airframe as defined for the vortex lattice method computation with Tornado:
Wing partition layout | VLM discretization
---------|----------
<img src="./results/mainComputeCoefficients/TornadoAirframe1.png" width="400"> | <img src="./results/mainComputeCoefficients/TornadoAirframe2.png" width="400">
Airfoil JR001 | Example pressure distribution computed by Tornado
--------------|---------------------
<img src="./airfoil/JR001.png" width="400"> | <img src="./figures/pressure_distribution_visualization_tornado.png" width="400">
The airfoil JR001 features a planar pressure side which simplifies the build procedure for the wing. The profile was designed to work well with low Reynold's numbers and to provide friendly stall characteristics. It wasn't designed with gliding performance in mind.
Further drawings related to the airframe can be found [here](./Tornado/aircraft/ExperimentalCarrier.svg) and [here](./figures/StabilityAxisReferenceForTrimmedGliding.svg). The Tornado definition of the airframe is [here](./Tornado/aircraft).
## <a name="referenceframes"></a>Reference Frames
When specifying forces, moments, or angles a body-fixed reference frame is used. The usual convention is shown in the figure below on the left. This is the convention as introduced in [[2]](#caughey) and also as used in Matlab. The Tornado implementation [[1]](#tornado) uses a slightly different reference frame, see below on the right.
Standard Body-fixed Reference Frame | Tornado Body-fixed Reference Frame
---------|----------
<img src="./figures/caughey_reference_frame.png" width="400"> | <img src="./figures/tornado_reference_frame.png" width="400">
Standard notation for forces and moments, and linear and rotational velocities in a body-fixed reference frame. The origin is located at the center of gravity (figure reproduced from [[2]](#caughey)) | Reference frame as used in the Tornado VLM implementation. The origin is located at the leading edge of the wing and the x-axis extends aft (figure reproduced from [[1]](#tornado)).
### Stability Axes
Another reference frame which is sometimes used is a set of axes for which the x-axis is parallel to the velocity vector for an equilibrium state (e.g. trimmed gliding). Such axes are called _stability axes_. Choosing the principal axes in this way simplifies some equations when computing longitudinal and lateral linear systems from given aerodynamic coefficients (see also [[2]](#caughey) pp. 45). But since the solution implemented here, finds the corresponding LTI systems by linearizing a non-linear model around an equilibrium state, this is not really an advantage.
The stability axes reference frame is not used in this implementation.
## <a name="applications"></a>How to Run the Code
The codebase and the Simulink models can be used to:
1. Compute aerodynamic properties and [coefficients](#coefficients) using the Tornado VLM implementation.
2. Run the [non-linear flight simulation](#simulation) using previously computed coefficient matrices.
3. Extract the [linear time-invariant systems](#lti) for the trimmed gliding state.
### <a name="coefficients"></a>Compute the Aerodynamic Coefficients
Aerodynamic coefficien
没有合适的资源?快使用搜索试试~ 我知道了~
固定翼无人机滑翔机附matlab代码.zip
共114个文件
xml:34个
png:30个
m:22个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 23 浏览量
2023-04-20
09:53:49
上传
评论 2
收藏 6.61MB ZIP 举报
温馨提示
1.版本:matlab2014/2019a,内含运行结果,不会运行可私信 2.领域:智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士等教研学习使用 5.博客介绍:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可si信
资源推荐
资源详情
资源评论
收起资源包目录
固定翼无人机滑翔机附matlab代码.zip (114个子文件)
ExperimentalCarrier.ac 20KB
runFlightGear.bat 641B
JR001_ORIG.dat 2KB
JR001.DAT 1KB
JR001_TORNADO.DAT 1KB
definitions.jpg 128KB
computeLTIs.m 18KB
mainComputeLTIMatrices.m 18KB
mainComputeLTIs.m 17KB
computeAerodynamicCoefficients.m 10KB
mainComputeAndPlotCoeffsOnFlapDeflection.m 9KB
plotCoefficients.m 5KB
mainSweepElevatorCoeffDiffs.m 5KB
mainComputeCoefficients.m 3KB
computeStaticMargin.m 3KB
loadAndConvertAirfoil_JR001.m 2KB
plotAircraftGeometry.m 1KB
polyfic.m 1KB
clean_up_project.m 1KB
mainLoadCoefficientsAndFitC_PandSave.m 1KB
mainFormatRudderCoefficientMatrices.m 1KB
mainLoadAndPlotCoefficients.m 949B
projectPaths.m 928B
mainPlotCoefficients.m 919B
surfit.m 914B
set_up_project.m 849B
runFlightGear.m 687B
polyvac.m 630B
coefficients.mat 179KB
ExperimentalCarrier.mat 714B
State_Trimmed_Gliding_5.18alpha_11.617ms.mat 297B
State_1.5alpha_12.5ms.mat 292B
README.md 18KB
output.md 4KB
TODO.md 273B
Airframe04.png 374KB
FlightGear03.png 364KB
4.png 339KB
3.png 338KB
Airframe03.png 324KB
FlightGear02.png 322KB
6.png 321KB
FlightGear01.png 320KB
5.png 291KB
1.png 276KB
2.png 270KB
Airframe05.png 180KB
TornadoAirframe4.png 178KB
Airframe06.png 150KB
Airframe08.png 138KB
TornadoAirframe3.png 112KB
lateral.png 111KB
ExperimentalCarrier-splash.png 107KB
Airframe02.png 106KB
plant.png 106KB
longitudinal.png 105KB
Airframe07.png 92KB
thumbnail.png 76KB
Airframe01.png 76KB
tornado_reference_frame.png 73KB
caughey_reference_frame.png 72KB
pressure_distribution_visualization_tornado.png 54KB
TornadoAirframe2.png 47KB
TornadoAirframe1.png 33KB
JR001.png 10KB
ExperimentalCarrierSimulink.prj 265B
ExperimentalCarrier.slx 571KB
ExperimentalCarrier_longitudinal.slx 314KB
ExperimentalCarrier_lateral.slx 246KB
Plant.slx 23KB
StabilityAxisReferenceForTrimmedGliding.svg 69KB
ExperimentalCarrier.svg 22KB
sl_proj.tmw 82B
TornadoNotes.txt 2KB
State_Trimmed_Gliding_5.18alpha_11.617ms.txt 465B
State_1.5alpha_12.5ms.txt 354B
ExperimentalCarrierChangeLog.txt 229B
coefficients.txt 97B
JR001.txt 60B
uuid-e715c09c-ba53-4d98-a249-122cd8e7223e 47B
ExperimentalCarrier.xml 1KB
ExperimentalCarrier-set.xml 856B
1a5114f8-4b2b-4164-97a9-b373e0b954d5.type.EntryPoint.xml 202B
e6cf8e75-9ce1-4863-aaf5-2c3ffff55d40.type.EntryPoint.xml 192B
025fb8e2-dca8-4145-ae72-052189aa285d.type.EntryPoint.xml 176B
f1ea1543-d11d-42e1-be9d-83589be9fcbb.type.EntryPoint.xml 172B
f0fc146e-585a-4e73-9c00-d3a0322fa068.type.EntryPoint.xml 167B
0ae954d2-9fb1-4f59-b201-d43bdb64cc56.type.EntryPoint.xml 148B
ExperimentalCarrier_lateral.slx.type.File.xml 141B
ExperimentalCarrier_longitudinal.slx.type.File.xml 141B
Plant.slx.type.File.xml 141B
projectPaths.m.type.File.xml 141B
runFlightGear.m.type.File.xml 141B
set_up_project.m.type.File.xml 141B
ExperimentalCarrier.slx.type.File.xml 141B
clean_up_project.m.type.File.xml 141B
utilities.type.File.xml 139B
models.type.File.xml 139B
43905a9d-ee14-46dd-8a64-d8d61fb54154.type.EntryPoint.xml 116B
FileClassCategory.type.Category.xml 115B
共 114 条
- 1
- 2
资源评论
Matlab科研辅导帮
- 粉丝: 1w+
- 资源: 7553
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功