From the repository root, start Julia and activate the project environment:
] activate .
] instantiateThe main entry point is run_simulation.ipynb. Open that notebook, choose the scenario and controller mode in the setup cell, then run the notebook cells from top to bottom.
Useful files:
run_simulation.ipynb: main simulation, plotting, and comparison workflow.vtol.jl: nonlinear VTOL dynamics model.high_level_control.jl: reference trajectories and high-level acceleration commands.control_allocation.jl: adaptive control allocation and reduced dynamics model.simulation.jl: simulation callbacks, adaptive controller integration, and PID benchmark.animation.jl: animation helpers.
Let
Define the body-axis propulsive force components and wind-axis aerodynamic force components as
The full nonlinear translational dynamics are
The full nonlinear pitch dynamics are
The aerodynamic coefficients are
The stall blending function is
The rear propeller effectiveness is
The model parameters are listed below.
| Parameter | Value | Units | Description |
|---|---|---|---|
| 9.81 | m/s^2 | Gravitational acceleration magnitude | |
| 10.0 | kg | Vehicle mass | |
| 1.0 | kg m^2 | Pitch-axis moment of inertia | |
| 0.5 | m | Distance from center of mass to each vertical propeller | |
| 100.0 | N | Maximum vertical propeller thrust scale | |
| 50.0 | N | Maximum pusher propeller thrust scale | |
| 1.225 | kg/m^3 | Air density | |
| 0.5 | m^2 | Reference wing area | |
| 0.2 | m | Reference chord | |
| 0.043 | - | Zero-lift drag coefficient | |
| 0.03 | 1/rad^2 | Angle-of-attack drag coefficient | |
| 0.0135 | 1/rad | Elevator drag coefficient | |
| 0.1 | - | Rotational drag coefficient | |
| 0.8 | - | Drag coefficient contribution from vertical propeller throttle | |
| 0.23 | - | Zero-angle lift coefficient | |
| 5.61 | 1/rad | Lift slope | |
| 0.13 | 1/rad | Elevator lift coefficient | |
| 7.95 | - | Pitch-rate lift coefficient | |
| 0.0135 | - | Zero-angle pitching moment coefficient | |
| -2.74 | 1/rad | Pitching moment slope | |
| -0.99 | 1/rad | Elevator pitching moment coefficient | |
| -38.21 | - | Pitch-rate moment coefficient | |
| 15.0 | deg | Stall blending angle | |
| 50.0 | - | Stall blending sharpness | |
| 0.5 | - | Rear propeller interaction coefficient | |
| 80.0 | m/s | Rear propeller interaction velocity scale |


