Based on the original author's master thesis, originally a C++ project, adapted to the new language and runtime platform, and extended from there.
Some objectives of this library:
- Provide an easy-to-use library for rotorcraft simulation
- Well tested with unit tests
- Contain tools for batch simulation and model validation
- Simple to integrate in a suitable runtime environment, i.e. Unity3D, but the library and tools themselves should be generic and not target a single specific runtime
- Clean and understandable code with minimal dependencies
- Code comments should reference scientific literature wherever that is relevant
The above goals have some implications on the development and coding style:
- Parameter variable names follow the Unity-style (public member variables) for parameters, for easy parametrization within the Unity Editor, but parametrization from a JSON file should also work
- Model states, inputs and outputs should be private variables or properties (so that they don't show up in the Unity Editor)
- Variable names sometimes use the obfuscated math notation (i.e. greek letters), like Omega_0, in order to maintain the ability to cross-reference the code with reference literature. Their declaration should be well commented. It's debatable whether this is a good thing... it's kinda mutually exclusive with the simplicity of Unity Editor parametrization.
.NET Core 2.0
dotnet build
cd HeliSharpTool/
dotnet run
Run the tests within an IDE or on the command line:
cd HeliSharpTest/
dotnet test
To build validation graphs, run:
scripts/trimdata_compare.sh
scripts/simdata_compare.sh
and look at the results in the validation/a109 folder.
This is not a complete list of references but rather a reading list for those that are interested. Links to Amazon where the original text is not available online.
- Insulander, Martin. MSc thesis. Development of a Helicopter Simulator for Operator Interface Research. 2008. The thesis for the original C++ project.
- Dreier, Mark. Introduction to Helicopter and Tiltrotor Flight Simulation (Amazon).
- Padfield, Gareth D. Helicopter Flight Dynamics: The Theory and Application of Flying Qualities and Simulation Modeling (Amazon).
- Leishmann, J. Gordon. Principles of Helicopter Aerodynamics (Amazon).
- Heffley, Robert K. & Mnich, Marc A. Minimum Complexity Helicopter Simulation Math Model. NASA CR 177476. 1988.
- Castles, Walter Jr & New, Noah C. A Blade Element Analysis for Lifting Rotors that is Applicable for Large Inflow and Blade Angles and Reasonable Blade Geometry. NACA TN 2656. National Advisory Committee for Aeronautics, 1952.
Not about helicopter/flight simulation but interesting nonetheless:
- Nico Galoppo. A presentation on rigid body dynamics simulation
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.