RoboMaster2021桂林电子科技大学Evolution视觉框架开源

概述:

本人为桂林电子科技大学Evolution战队视觉组成员,在2021赛季负责视觉代码框架的维护以及能量机关预判部分的编写。
2021赛季我队在南部分区赛以小组第一出线,在16进8中成功晋级,进入南部十强。在技术交流中小组赛以小组第二出线,淘汰赛中于败者组进入全国八强,8进4中惜败止步八强。
我队视觉起步时间较晚,19年第一年在机器人上应用视觉。本赛季视觉组前期按照功能分配任务,完成了装甲板识别,角度解算及预判,能量机关识别,能量机关预判,识别特定ID等功能。后期以兵种分配调试,实现了英雄自瞄远程吊射前哨站,无人机远程吊射哨兵,哨兵远程狙击吊射,哨兵不击打工程等功能。这些也都在2021赛季赛场上有了不同程度的体现。
我们的视觉开发相比于强队来说还不够成熟,在对场地的适应性这方面做的实为欠缺。

框架结构

├─include									//包含路径
├─build										//生成路径
├─log										//日志文件
├─Src
│  │  main.cpp								//主函数(拉流,创建线程)
│  │      
│  ├─angle
│  │  │  angleFactory.cpp					//角度解算服务
│  │  │  angleFactory.h
│  │  │  
│  │  ├─CoordinateSolver
│  │  │      ArmorCoordinateSolver.cpp		//装甲板解算
│  │  │      ArmorCoordinateSolver.h
│  │  │      BuffCoordinateSolver.cpp		//神符解算
│  │  │      BuffCoordinateSolver.h
│  │  │      
│  │  ├─KalmanPredict
│  │  │	KalmanPredict.cpp
│  │  │	KalmanPredict.h
│  │  │ 
│  │  └─PNP
│  │          PNPSolver.cpp					//PNP解算
│  │          PNPSolver.h
│  ├─armor
│  │  │  armorDistinguish.cpp				//装甲板识别
│  │  │  armorDistinguish.h
│  │  │  
│  │  └─bpPredict
│  │       net.cpp
│  │       net.h
│  │      
│  ├─buff
│  │      buffDistinguish.cpp				//能量机关识别
│  │      buffDistinguish.h
│  │      buffTest.cpp
│  │      buffTest.h
│  │      
│  ├─camera
│  │  │  modifyCamera.cpp					//相机设置工具类
│  │  │  modifyCamera.h
│  │  │  streamRetrieve.cpp					//相机拉流
│  │  │  streamRetrieve.h
│  │  │  
│  │  └─calibration
│  │          cameraCalibration.cpp
│  │          cameraCalibration.h
│  │      
│  ├─decisionLevel
│  │      decisionLevel.cpp					//决策层
│  │      decisionLevel.h
│  │      
│  ├─serial
│  │      CRC.h								//CRC工具
│  │      serial.cpp						//串口
│  │      serial.h
│  │      
│  └─tool
│          autoSaveSample.cpp				//自动保存机器学习样本
│          autoSaveSample.h
│          Conf.h							//配置文件
│          fileOperation.cpp				//文件操作辅助类
│          fileOperation.h
│          PointUtil.h						//常用操作工具类
│          RMDefine.h						//常用定义
│          RMLOG.h							//日志服务
│          systemChoose.h
│          
├─Tools                                 //工具文件夹
│  │  autoPull.sh                       //自动代码更新脚本
│  │  dog.sh                            //进程守护脚本
│  │  Baldr.sh                         //强制退出代码脚本
│  └─SVM                                //SVM训练代码
├─trainData                             //机器学习训练结果
│  │  
│  ├─armor                              //装甲板样本
│  ├─buff                               //能量机关样本
│  └─circle                             //能量机关圆心样本
├─visionData
│  │  armorData.yml                     //装甲板尺寸数据
│  │  armorPara.yml                     //装甲板识别参数
│  │  buffPara.yml                      //能量机关识别参数
│  │  cameraConfigurationData.yml       //不同识别模式下的相机参数
│  │  codeSet.yml                       //代码设置
│  │  installData.yml                   //相机安装参数
│  │  
│  ├─AVISave                            //相机录制的视频
│  ├─cameraCaliData
│  │  │  serialNumber.txt
│  │  │  标定棋盘图.jpg
│  │  │  
│  │  └─caliResults                     //相机标定结果
│  └─imgSave                            //相机拍的照片

解析

项目解析详见github仓库:代码传送门

效果展示

全国技术交流

总结

本队视觉方面还有很多的不足之处,希望能与各个参赛队伍多进行技术交流,一起提高队伍水平。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

freezing?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值