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 调参、错误定位、环境搭建等详细指南。

相关

  • 项目
  • 项目
  • 项目
  • 项目