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 ベースの受信機/送信機)が文書化されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト