Developing.
软件正处在开发初期,只完成了视觉的核心部分,其余部分正在开发中。
本开源软件为青岛大学未来战队机器人的视觉和人工智能的代码。参考了其他战队代码和各种开源机器人项目,从零编写而成。中心思想:
- 基于OpenCV的识别算法
- 基于行为树设计哨兵的AI
- 一个项目适配不同型号的机器人
这样做增加代码了的重用,减少了工作量。实现了通过DLA(深度学习加速器)加速妙算上模型的推断速度。利用行为树实现了可控的复杂行为。
![]() |
---|
YOLO识别效果 |
![]() |
---|
本算法识别效果 |
![]() |
---|
TODO:TensorRT加速效果 |
-
依赖
-
开发测试环境
- Ubuntu
- WSL2(不能使用工业相机)
-
安装依赖
- 根据上面链接安装相关依赖
- 安装完成后运行
ldconfig
-
获得代码
git clone --recursive https://github.com/qsheeeeen/qdu-rm-ai # or git clone --recursive https://gitee.com/qsheeeeen/qdu-rm-ai
-
编译 & 安装
cd qdu-rm-ai mkdir build cd build cmake .. make -j8 # 根据CPU选择合适的数字 make install
-
神经网络(可选)
-
准备
# 安装本项目需要的Python模块。 pip3 install -r qdu-rm-ai/requirements.txt # 安装YOLOv5需要的Python模块 pip3 install -r qdu-rm-ai/third_party/yolov5/requirements.txt
-
训练
# 以下脚本涉及相对路径,需要在此文件夹内运行。 cd qdu-rm-ai/utils # 处理数据集 python3 roco2x.py --dji-roco-dir=path/to/DJI ROCO/ # 训练导出模型 sh ./train_vision.sh
-
-
运行
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 | 视觉库 | 目标识别等代码 |
![]() |
---|
视觉程序框图 |
![]() |
---|
行为树演示 |
近期:
-
完成对物理世界模型的抽象
-
修缮好测距模块和弹道补偿器模块
-
实现类似多级流水线的视觉算法流程。参考文章
远期:
-
第一阶段
- 使用基于pytorch的yolov5算法,训练得到的权重和模型导出到ONNX格式。
- 在妙算平台使用TensorRT运行导出的模型。
- 添加Int8运行
-
第二阶段
- 添加雷达部分代码
- 矿石旋转部分代码
- 飞镖控制部分代码