1 Star 3 Fork 19

C12H22O11/qdu-rm-ai

forked from Q S/qdu-rm-ai 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
GPL-3.0

青岛大学 RoboMaster 视觉 人工智能 代码开源

Developing.

Gitee Github

软件正处在开发初期,只完成了视觉的核心部分,其余部分正在开发中。

软件介绍

本开源软件为青岛大学未来战队机器人的视觉和人工智能的代码。参考了其他战队代码和各种开源机器人项目,从零编写而成。中心思想:

  • 基于OpenCV的识别算法
  • 基于行为树设计哨兵的AI
  • 一个项目适配不同型号的机器人

这样做增加代码了的重用,减少了工作量。实现了通过DLA(深度学习加速器)加速妙算上模型的推断速度。利用行为树实现了可控的复杂行为。

图片展示

YOLO识别效果
YOLO识别效果
装甲板匹配效果
本算法识别效果
TensorRT加速效果
TODO:TensorRT加速效果

依赖 & 环境

使用说明

  1. 安装依赖

    1. 根据上面链接安装相关依赖
    2. 安装完成后运行ldconfig
  2. 获得代码

    git clone --recursive https://github.com/qsheeeeen/qdu-rm-ai
    # or
    git clone --recursive https://gitee.com/qsheeeeen/qdu-rm-ai
    
    
  3. 编译 & 安装

    cd qdu-rm-ai
    mkdir build
    cd build
    cmake ..
    make -j8 # 根据CPU选择合适的数字
    make install
    
  4. 神经网络(可选)

    1. 准备

      # 安装本项目需要的Python模块。
      pip3 install -r qdu-rm-ai/requirements.txt
      
      # 安装YOLOv5需要的Python模块
      pip3 install -r qdu-rm-ai/third_party/yolov5/requirements.txt
      
    2. 训练

      # 以下脚本涉及相对路径,需要在此文件夹内运行。
      cd qdu-rm-ai/utils
      
      # 处理数据集
      python3 roco2x.py --dji-roco-dir=path/to/DJI ROCO/
      
      # 训练导出模型
      sh ./train_vision.sh
      
  5. 运行

    cd qdu-rm-ai/runtime
    # 根据应用选择程序
    auto-aim # sentry / radar ...
    

文件目录结构及文件用途说明

文件夹 内容 备注
image 图片 包含效果展示、测设产物等
runtime 运行环境 包含运行所需文件,和运行过程产生的文件
src 源代码
tests 测试代码
third_party 第三方软件
utils 工具 脚本和文件
src内 内容 备注
app 应用 包含哨兵程序、自瞄算法、雷达程序等
behavior 行为库 基于行为树开发的AI
component 组件库 各类算法和数据结构
demo 样例 演示用的例子
device 设备库 外接设备的抽象
vision 视觉库 目标识别等代码
vision内 内容 备注
classifier 分类器 装甲板分类器
compensator 弹道补偿器 三维解算、测距、弹道补偿
detector 探测器 装甲板探测、能量机关等的探测器
object 对象类 图像对象、物理对象和比赛中抽象出的各种基础对象类
params 参数类 可视化调参的参数类
predictor 预测器 滤波器和集成的预测器
process 流程 对视觉处理其余模块的组合

系统介绍

软件流程图

视觉程序框图
视觉程序框图

行为树演示

行为树演示
行为树演示

Roadmap

近期:

  1. 修缮好测距模块和弹道补偿器模块

  2. 引入神经网络

    1. 使用基于pytorch的yolov5算法,训练得到的权重和模型导出到ONNX格式。
    2. 在妙算平台使用TensorRT运行导出的模型。
    3. 添加Int8运行
  3. 完成各种滤波器进行平滑化处理,并完成预测器

  4. 完成其余兵种任务

    1. 矿石识别部分代码
    2. 飞镖控制部分代码

远期:

  1. 实现类似多级流水线的视觉算法流程。参考文章(等待OpenCV完善架构)

  2. 多线程进行生产者消费者调度

  3. 优化传统视觉算法和参数增强程序鲁棒性

空文件

简介

Code of mini PC for RoboMaster. 展开 收起
README
GPL-3.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/c12h22o11/qdu-rm-ai.git
git@gitee.com:c12h22o11/qdu-rm-ai.git
c12h22o11
qdu-rm-ai
qdu-rm-ai
2020

搜索帮助