HNUYueLuRM/basic_framework
framework for developing RoboMaster Electric Control programmes
何を解決するか
ロボマスター競技向けに標準化されたモジュール型の組み込み制御フレームワークを提供します。学生ロボットチームで一般的な、断片化され、ドキュメントが不十分で一貫性のないコードベースの問題を解決し、複雑な Linux/ROS スタックの代わりに、初心者でも学びやすく、移植しやすい C++ SDK を提供します。
動作方法
フレームワークは、ハードウェアと高レベルの論理を分離するための3層構造を採用しています。
- BSP(ボードサポートパッケージ): USART、SPI、I2C、CAN などのハードウェア周辺機器を抽象化し、システムの他の部分をハードウェアに依存させません。
- モジュール層: BSP を使って特定のハードウェアドライバ(モーター、IMU、センサー)やソフトウェアアルゴリズム(PID、フィルタ、観測器)を実装します。
- App層: ロボット固有の論理(チャッスィ制御、ジマール移動、発射機構など)を FreeRTOS タスクとして実装する最上位層です。
アプリ間の結合を解消するために、パブリッシュ/サブスクライブ(発行/購読)メッセージ機構を採用しており、異なるロボットモジュール間で直接依存関係を持たずに通信できます。
対象ユーザー
- 構造化された組み込みフレームワークを求めるロボマスター競技チーム
- ロボット制御用のモジュール型 SDK を探している組み込み開発者
- クリエイティブな組み込み開発ワークフロー(Keil などのレガシー IDE から脱却)を学びたい学生
特徴
- モダンなワークフロー: VSCode、CLion、Segger Ozone/Systemviewer を使用した arm-gnu ツールチェーンをサポートし、効率的なデバッグとパフォーマンス分析が可能。
- ハードウェア抽象化: ハードウェア固有のコードとアプリケーション論理の明確な分離により、異なるロボット構成への移植が容易です。
- 包括的なツールキット: DJI モーター、センサー(BMI088、IST8310)および通信プロトコルの組み込みサポートを提供。
- 豊富なドキュメント: PIDチューニング、バグの特定、開発環境のセットアップに関する詳細ガイドを提供。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト