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层为各种逻辑代码,如云台、底盘、发射机构等模块的控制任务。

目录
相关文章
|
3月前
|
机器人 API
KumiaoQQ机器人框架源码
酷喵机器人框架基于PC协议与MGCH的结合,MGCH即 MiraiGO-CQhttp(代码类型:易语言)基本的API功能已经实现,具体可自测(教程/日志/说明文本已附带)开放源码仅供参考学习交流,切勿非法使用,后果自负!(搞灰黑产的请绕道)本QQrobot框架不签订AGPL协议但遵守Mirai/MiraiGO-CQhttp的AGPL协议。
46 5
KumiaoQQ机器人框架源码
|
4月前
|
传感器 人工智能 算法
适应多形态多任务,最强开源机器人学习系统八爪鱼诞生
【6月更文挑战第6天】【八爪鱼开源机器人学习系统】由加州大学伯克利分校等机构研发,适用于多形态多任务,已在arXiv上发表。系统基于transformer,预训练于800k机器人轨迹数据集,能快速适应新环境,支持单臂、双机械臂等。特点是多形态适应、多任务处理、快速微调及开源可复现。实验显示其在9个平台有效,但仍需改进传感器处理和语言指令理解。论文链接:https://arxiv.org/pdf/2405.12213
92 1
|
3月前
|
机器学习/深度学习 算法 机器人
相隔3000英里,用苹果头显遥控机器人!UCSD、MIT华人团队开源TeleVision
【7月更文挑战第19天】UCSD和MIT华人团队开发的TeleVision技术实现了远程操控机器人。借助AR/VR,操作者通过头显设备获得实时的机器人视角,并通过手势控制执行任务。系统支持多人协作,已在远距离实验中成功导航复杂环境。不过,高带宽需求和交互学习曲线是挑战。[论文链接](https://robot-tv.github.io/resources/television.pdf)**
69 14
|
3月前
|
机器学习/深度学习 监控 安全
相隔3000英里,用苹果头显遥控机器人!UCSD、MIT华人团队开源TeleVision
【7月更文挑战第20天】加州大学圣地亚哥分校(UCSD)与麻省理工学院(MIT)的华人团队开发出TeleVision系统,结合Apple AR/VR头显,实现超远程沉浸式机器人控制。💡该系统克服视频流延迟,精准手势识别难题,让操作者仿佛亲临现场指挥机器人行动。目前处于研究阶段,已展示基本任务执行能力。更多信息查阅[论文](https://robot-tv.github.io/resources/television.pdf)。🌐 --- **🏷️远程控制** **🏷️虚拟现实** **🏷️机器人技术** **🏷️华人科研** **🏷️科技创新**
42 4
|
3月前
|
机器人
Telegram统计机器人源码/TG记账群发机器源码人/TG自动记账全开源版本
Telegram统计机器人源码/TG记账群发机器源码人/TG自动记账全开源版本
221 0
|
4月前
|
人工智能 小程序 机器人
开源一个RAG大模型本地知识库问答机器人-ChatWiki
准备工作 再安装ChatWiki之前,您需要准备一台具有联网功能的linux服务器,并确保服务器满足最低系统要求 • Cpu:最低需要2 Core • RAM:最低需要4GB 开始安装 ChatWiki社区版基于Docker部署,请先确保服务器已经安装好Docker。如果没有安装,可以通过以下命令安装:
286 0
|
5月前
|
传感器 算法 机器人
在实用化人形机器人控制系统中深入应用FPGA的框架设计(基于特斯拉Optimus-Gen2的硬件系统)
针对实用化人形机器人的控制系统,以深入应用FPGA技术为指导思想做了一个框架设计,提供一个具象化的设计实例、参考技术方案,协助各研发团队及相关决策者了解这一技术思路的价值。 进而,笔者希望读者将这个框架设计与《在实用化人形机器人研发流程中深入应用FPGA技术的流程图》结合起来进行分析、思考,希望: 进一步降低将FPGA深入应用于人形机器人在纯粹技术维度上的门槛; 助力更多正在人形机器人领域参与竞争的团队 -- 及时做出实质性决策,及时将更多资源分配到深入应用FPGA技术这一竞争维度。
256 4
在实用化人形机器人控制系统中深入应用FPGA的框架设计(基于特斯拉Optimus-Gen2的硬件系统)
|
5月前
|
传感器 监控 安全
植保机器人,尤其是无人机喷雾系统
植保机器人,尤其是无人机喷雾系统
73 1
|
算法 机器人
多无人机空中机器人施工任务分配(Matlab代码实现)
多无人机空中机器人施工任务分配(Matlab代码实现)
|
机器人 PyTorch 区块链
uniswap/justswap/mdex/pancakeswap夹子搬砖机器人交易所系统开发规则详细/项目案例/成熟技术/代码程序
  DApp是指以区块链为底层技术平台的分布式应用程序,它使得开发者可以构建去中心化和自主运行的应用程序,并通过链上的合约机制实现代码不可更改性和事务透明性

热门文章

最新文章