Navigation Menu

Skip to content

jgoppert/autopilotone

Repository files navigation

#autopilotone: A universal autopilot interface library.

##Features

  • Standardizes guidance/navigatoin/control module interfaces so that they can be used on any autopilot running autopilotone.
  • Limits access to components for security and better object-oriented design.
  • Thread-safe: Can run on multi-threaded applications. Each component( guide, navigator, control) is assumed to run in a unique thread. Communication between modules is garunteed thread-safe through the use of mutex locks.
  • Mutex locks are added per attribute, to ensure little time is wasted waiting for a lock. This had memory overhead of 1 byte/ attribute as a trade-off.

##Requirements

  • C++
  • OS:
    • Currently supports Unix/ Windows for pc build.
    • Planned support for ArduPilotMega.
    • Planned support for PX4

#Future Plans

  • Add alternative subscription based mult-threading environment for comparison.

##Building for PC

mkdir build; cd build
cmake ..
make
cd ..

##Test with JSBSim (from source directory)

./scripts/jsbsim.sh
./build/test.sh

About

A unified autopilot system supporting multiple platforms.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published