gymfc  by wil3

Flight control tuning framework for UAV attitude control via reinforcement learning

Created 7 years ago
436 stars

Top 68.3% on SourcePulse

GitHubView on GitHub
Project Summary

GymFC is a modular framework for tuning flight control systems, particularly for UAV attitude control. It enables the development and testing of both traditional and neuro-flight controllers, serving as the primary development environment for the Neuroflight firmware.

How It Works

GymFC utilizes a digital twin approach, communicating with aircraft simulations via Google Protobuf messages. It supports various Gazebo versions and requires users to provide custom modules for flight controllers, tuners, environment interfaces, and digital twins, promoting flexibility and extensibility.

Quick Start & Requirements

  • Installation: sudo MAKE_FLAGS=-j4 ./install_dependencies.sh followed by pip3 install .
  • Prerequisites: Ubuntu 18.04, Gazebo v10.1.0, Dart v6.7.0 (compiled from source). Building Gazebo from source can take over an hour and is resource-intensive.
  • Verification: Run python3 tests/test_start_sim.py --verbose examples/gymfc_nf/twins/nf1/model.sdf. Expect specific error messages related to missing motor and IMU plugins, which are normal.
  • Docker: Experimental Docker build available for testing in a controlled environment.
  • Resources: Building dependencies is resource-intensive; consider increasing parallel jobs with MAKE_FLAGS.
  • Docs: Examples

Highlighted Details

  • Supports IMU, ESC, and battery sensors.
  • Aircraft agnostic; configurable for any aircraft type.
  • Digital twin independence via Google Protobuf API.
  • Flexible agent interface for diverse controller development.
  • Compatible with Gazebo 8, 9, and 11.

Maintenance & Community

  • Primary contributor: Wil Koch.
  • Other contributors listed via emoji key.
  • Contribution guidelines available in CONTRIBUTING.md.

Licensing & Compatibility

  • License not explicitly stated in the README.
  • Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The installation process, particularly compiling Gazebo and Dart from source, is complex, time-consuming, and prone to out-of-memory errors. The README does not specify the project's license, which is critical for commercial adoption.

Health Check
Last Commit

4 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
3 stars in the last 30 days

Explore Similar Projects

Starred by Jiayi Pan Jiayi Pan(Author of SWE-Gym; MTS at xAI) and Jianwei Yang Jianwei Yang(Research Scientist at Meta Superintelligence Lab).

allenact by allenai

0%
371
Open-source framework for embodied AI research
Created 5 years ago
Updated 2 months ago
Feedback? Help us improve.