HNUYueLuRM/basic_framework

framework for developing RoboMaster Electric Control programmes

解決的問題

為機器人提供標準化、模組化的嵌入式控制框架,特別針對 RoboMaster 競賽。解決學生機器人團隊常見的程式碼庫碎片化、文件不全、不一致的問題,以更易學、易移植的現代 C++ SDK 取代複雜的 Linux/ROS 堆疊。

工作原理

該框架採用三層結構層次,將硬體與高階邏輯解耦:

  1. BSP(板級支援套件): 抽象硬體周邊裝置(USART、SPI、I2C、CAN 等),使系統其餘部分與硬體無關。
  2. 模組層: 使用 BSP 實作特定硬體驅動(馬達、IMU、感測器)與軟體演算法(PID、濾波器、觀測器)。
  3. App 層: 最上層,將機器人特定邏輯(車體控制、雲台移動、射擊機構)作為 FreeRTOS 任務實作。

為確保應用之間的解耦,採用 發布-訂閱(pub-sub)訊息機制,使不同機器人模組可通訊而無需直接依賴。

適用對象

  • 尋找結構化嵌入式框架的 RoboMaster 競賽團隊
  • 希望獲得模組化 SDK 用於機器人控制的嵌入式開發者
  • 學習現代嵌入式開發流程(擺脫 Keil 等舊 IDE)的學生

特色亮點

  • 現代化工作流程: 支援 arm-gnu 工具鏈,搭配 VSCode、CLion 與 Segger Ozone/Systemviewer,實現高效除錯與效能分析。
  • 硬體抽象: 硬體相關程式碼與應用邏輯清晰分離,便於移植至不同機器人配置。
  • 全面的工具支援: 內建對多種 DJI 電機、感測器(BMI088、IST8310)與通訊協定的支援。
  • 詳盡的文件: 提供 PID 調參、錯誤定位、環境建置等詳細指南。

相關

  • 專案
  • 專案
  • 專案
  • 專案