HNUYueLuRM/basic_framework
framework for developing RoboMaster Electric Control programmes
解決的問題
為機器人提供標準化、模組化的嵌入式控制框架,特別針對 RoboMaster 競賽。解決學生機器人團隊常見的程式碼庫碎片化、文件不全、不一致的問題,以更易學、易移植的現代 C++ SDK 取代複雜的 Linux/ROS 堆疊。
工作原理
該框架採用三層結構層次,將硬體與高階邏輯解耦:
- BSP(板級支援套件): 抽象硬體周邊裝置(USART、SPI、I2C、CAN 等),使系統其餘部分與硬體無關。
- 模組層: 使用 BSP 實作特定硬體驅動(馬達、IMU、感測器)與軟體演算法(PID、濾波器、觀測器)。
- App 層: 最上層,將機器人特定邏輯(車體控制、雲台移動、射擊機構)作為 FreeRTOS 任務實作。
為確保應用之間的解耦,採用 發布-訂閱(pub-sub)訊息機制,使不同機器人模組可通訊而無需直接依賴。
適用對象
- 尋找結構化嵌入式框架的 RoboMaster 競賽團隊
- 希望獲得模組化 SDK 用於機器人控制的嵌入式開發者
- 學習現代嵌入式開發流程(擺脫 Keil 等舊 IDE)的學生
特色亮點
- 現代化工作流程: 支援 arm-gnu 工具鏈,搭配 VSCode、CLion 與 Segger Ozone/Systemviewer,實現高效除錯與效能分析。
- 硬體抽象: 硬體相關程式碼與應用邏輯清晰分離,便於移植至不同機器人配置。
- 全面的工具支援: 內建對多種 DJI 電機、感測器(BMI088、IST8310)與通訊協定的支援。
- 詳盡的文件: 提供 PID 調參、錯誤定位、環境建置等詳細指南。
相關
- 專案
- 專案
- 專案
- 專案