simondlevy/Hackflight
Minimalist flight-control toolkit for makers
해결하는 문제
Hackflight는 멀티로터 컨트롤러와 시뮬레이터를 구축하기 위한 미니멀하고 구성 가능한 툴킷을 제공하여 비행 제어 펌웨어의 복잡성을 해결합니다. 수천 줄의 프로덕션 비행 코드를 헤집지 않고 상태 추정 및 PID 제어의 내부를 실험하거나 이러한 개념을 가르치려는 사람들을 위해 설계되었습니다.
작동 방식
Hackflight는 코드와 고전적인 비행 제어 데이터 흐름 사이에 직접적인 매핑을 유지합니다. 상자는 데이터, 타원은 함수, 피드백 화살표는 PID 오류 적분과 같은 상태 저장 함수를 나타냅니다. 헤더 전용 C++ 클래스를 사용하고 매크로, 널 포인터, 상속 및 변경을 피하며 함수형 스타일을 선호합니다. 센서와 액추에이터를 위해 기존 Arduino 라이브러리에 의존하므로 필요한 부품을 구성할 수 있습니다. 전체 코드베이스는 3,000줄 미만입니다.
대상 사용자
Hackflight는 멀티로터 비행의 펌웨어 측면을 만지작거리고 싶은 취미 개발자, 학생 및 교육자를 위한 것입니다. 작동하는 기체만 원하는 99%의 사용자를 위한 것이 아닙니다. 그런 사용자는 Hackflight에 없는 안전 기능도 제공하는 Betaflight, ArduPilot 또는 Crazyflie를 사용해야 합니다.
주요 특징
- 3,000줄 미만의 C++ 코드—읽고 수정하기 쉽습니다.
- 헤더 전용 구현으로 빌드 및 통합 마찰을 줄입니다.
- 명확성과 구성 가능성을 위해 함수형 프로그래밍 스타일을 사용합니다.
- 무료 오픈소스 로봇 시뮬레이터인 Webots와 연동하여 안전한 테스트가 가능합니다.
- 특정 하드웨어 지원(Teensy4.0, BMI088 IMU, ESP32 기반 수신기/송신기)이 문서화되어 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트