2022赛季RoboMaster 空中机器人六轴无人机云台程序框架开源

简介: 2022赛季RoboMaster 空中机器人六轴无人机云台程序框架开源

第二十一届 RoboMaster 机甲大师竞赛Ares战队 空中机器人六轴无人机云台程序框架开源。

项目希望探索出,能够给 RoboMaster 比赛中的所有机器人都能使用的一套代码架构。

项目开源地址: https://github.com/ittuann/RoboMaster_UAV-Gimbal_Ares2022

开发环境 STM32CubeIDE - V1.9.0, STM32Cube FW_F4 Package - 1.27.0, FreeRTOS Version - 10.3.1, CMSIS-RTOS Version - 1.02, DSP Library - 1.2.1

单片机为RM开发板C型,STM32F407IGHx

开源了程序框架用于讨论。 赛后会整理完整的项目工程 无人机摔了三次,项目被迫暂停,已上传目前的完整框架工程。

项目希望探索出,能够给 RoboMaster 比赛中的所有机器人都能使用的一套代码架构,即不同的机器人仅需要修改程序中的结构体和控制器即可复用。因此在设计程序架构时,尽量提高了代码的复用性,并将函数模块化和参数化。


代码框架图

CodeArchitecture

节点机制和消息收发机制是这套框架的亮点。实现了很大程度的代码复用和模块化,以及上层逻辑代码与底层硬件配置代码的隔离。

  • HAL层

    HAL层是对硬件接口的封装抽象。包含了操作系统的线程设置,还有CubeMX使用HAL库对部分外设配置的初始化,同时也包含对HAL库的重封装。

  • Hardware层

    Hardware层的设置,是为了将底层硬件的配置代码与上层的逻辑代码分离。包含了一些外设的必要驱动,通讯协议以及解包函数,以及设备状态监控。

  • Message层

    Message层作为消息框架,是一个消息发布和订阅的机制。用于各个模块之间的消息传递,例如APP与APP之间、APP与Driver之间的通讯。同时适用于管理一对一和一对多的消息收发情况。

  • Nodes层

    Nodes层存储通用的算法函数库,如PID,Kalamn,Filter等。使用结构体封装或通过函数指针等方式实现,能很大程度简化结构,提高程序通用性和代码模块复用度,也能够拥有不错的灵活性。

  • Application层

    Application层为各种逻辑代码,如云台、底盘、发射机构等模块的控制任务。

目录
相关文章
|
存储 机器学习/深度学习 人工智能
【前沿技术RPA】 一文了解UiPath 机器人企业框架 (REFramework)
本博文主要介绍 UiPath 机器人企业框架 (REFramework)。我们将讨论事务处理、调度程序和执行程序的概念,还会简要介绍 REFramework 可以完成的任务。
【前沿技术RPA】 一文了解UiPath 机器人企业框架 (REFramework)
|
2月前
|
传感器 监控 安全
植保机器人,尤其是无人机喷雾系统
植保机器人,尤其是无人机喷雾系统
23 1
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistency等;项目实战搭建知识库内容机器人
Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistency等;项目实战搭建知识库内容机器人
Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistency等;项目实战搭建知识库内容机器人
|
9月前
|
算法 机器人
多无人机空中机器人施工任务分配(Matlab代码实现)
多无人机空中机器人施工任务分配(Matlab代码实现)
|
9月前
|
机器人 PyTorch 区块链
uniswap/justswap/mdex/pancakeswap夹子搬砖机器人交易所系统开发规则详细/项目案例/成熟技术/代码程序
  DApp是指以区块链为底层技术平台的分布式应用程序,它使得开发者可以构建去中心化和自主运行的应用程序,并通过链上的合约机制实现代码不可更改性和事务透明性
|
9月前
|
算法 机器人 API
现货量化机器人/合约交易/合约跟单交易所系统开发(对接API火币/币安/OK/欧易)技术详细/开发程序/功能逻辑/源码案例
  交易机器人系统架构:交易机器人系统的架构可以采用分布式架构或集中式架构。集中式架构主要由后台服务、API接口、交易核心、交易逻辑四个部分组成,而分布式架构则将交易逻辑放在不同的节点上运行。
|
9月前
|
机器人 Python
现货量化合约跟单系统开发(量化机器人开发案例)丨合约现货量化跟单系统开发(开发策略)/案例项目/程序源码
 “量化交易”有着两层含义:一是从狭义上来讲,是指量化交易的内容,将交易条件转变成为程序,自动下单;二是从广义上来讲,是指系统交易方法,就是一个整合的交易系统。即为根据一系列交易条件,智能化辅助决策体系,Combine rich professional experience with trading conditions to manage and control risks during the trading process.
|
11月前
|
人工智能 自然语言处理 前端开发
|
11月前
|
机器学习/深度学习 存储 数据采集
7 Papers & Radios | 谷歌开源机器人领域transformer;DeepMind推出剧本写作AI
7 Papers & Radios | 谷歌开源机器人领域transformer;DeepMind推出剧本写作AI
245 0
|
11月前
|
机器学习/深度学习 自然语言处理 算法
轻松完成700多条指令、成功率达97%!谷歌开源机器人领域transformer
轻松完成700多条指令、成功率达97%!谷歌开源机器人领域transformer
138 0

热门文章

最新文章