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