Skip to content
This repository has been archived by the owner on Feb 5, 2025. It is now read-only.

qsheeeeen/qdu-rm-ai

Repository files navigation

青岛大学 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 组件库 各类算法和数据结构
nn 神经网络库 基于神经网络的算法
demo 样例 演示用的例子
device 设备库 外接设备的抽象
vision 视觉库 目标识别等代码

系统介绍

软件流程图

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

行为树演示

行为树演示
行为树演示

Roadmap

近期:

  1. 完成对物理世界模型的抽象

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

  3. 实现类似多级流水线的视觉算法流程。参考文章

远期:

  1. 第一阶段

    1. 使用基于pytorch的yolov5算法,训练得到的权重和模型导出到ONNX格式。
    2. 在妙算平台使用TensorRT运行导出的模型。
    3. 添加Int8运行
  2. 第二阶段

    1. 添加雷达部分代码
    2. 矿石旋转部分代码
    3. 飞镖控制部分代码

About

Code of mini PC for RoboMaster.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published