Skip to content

myjere/helisharp

 
 

Repository files navigation

HeliSharp - a C# library for helicopter flight simulation

Based on the original author's master thesis, originally a C++ project, adapted to the new language and runtime platform, and extended from there.

Project goals and style

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.

Dependencies

.NET Core 2.0

Building and running

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.

References and relevant literature

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.

Not about helicopter/flight simulation but interesting nonetheless:

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

About

C# library for helicopter flight simulation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 91.8%
  • MATLAB 7.9%
  • Shell 0.3%