TYUST-RM2023-NewMaker哨兵视觉代码

目录

1 TYUST-RM2023-NewMaker哨兵视觉代码

1.1 说明

1.2 算法设计

1.3 识别思路

  1. TYUST-RM2023-NewMaker哨兵视觉代码
    1. 说明

本套代码是太原科技大学NewMaker战队2023赛季哨兵开源代码

本套代码主要含有:TYUST-RM2023赛季哨兵视觉代码,主要模块分为装甲板识别、SVM支持向量机,PNP角度解算、复活机制,双相机驱动及串口通信等。

如对代码有理解上的问题以及bug等,可联系:

景佳柱(QQ:108487627)

    1. 算法设计
    1. 识别思路

2.1 通过电控发送的数据确定击打颜色,进行通道分离,阈值筛选,通道相减,二值化,膨胀等过程,为后期框选识别做准备。

2.2 对处理完的图像进行轮廓检测,并计算最小包围矩形,根据灯条尺寸,装甲板两边尺寸等条件,筛选出灯条轮廓。为后续筛选装甲板,PNP 角度解算做准备。

2.3 根据灯条平行度,中心连线水平度,灯条长宽比,左右灯条长度差比值等进行装甲板初步筛选。

2.4 通过透视变换处理图像后,进行数字识别,以确保识别无误,以便后续确定击打优先级。

2.5 通过以上操作,确定极大优先级,发送击打信息给电控,以完成自动开火。

  1. 重要算法原理阐述、公式推导

3.1 SVM 数字识别

数字识别是装甲板检测的最后一项工作,也是能否击打装甲板的关键,是体现鲁棒性最重要的一环。 (1) 通过透视变换将各个角度的数字转换到正面,实现平衡性和共性比例不变性,提高分类效率。 (2) 通过加权来设置对步兵,英雄以及工程的击打优先级,以便更好的发挥哨兵的作用。

3.2 PNP 角度解算

通过处理,判断得到最佳装甲板后,将其进行 PNP 角度解算,得到相机坐标系中目标装甲板的坐标和相应的姿态角。经过坐标系变换到云台坐标系,并再加一定的 运算得到云台到目标装甲板的 pitch,yaw,距离等信息。提取出装甲板,旋转臂,旋转中心等关键要素,分析出目标形状位置及有效击打区域。

Z 轴: = 2( 21, 11) Y 轴: = 2(− 31, √ 32 2 + 33 2 ) X 轴: = 2( 32, 33) 通过以上处理来解算出装甲板位姿,为后续准确击打做准备。

  1. 自启动:

通过写脚本和用 Ubuntu 自带的‘Startup Applications’软件进行自启动。

  1. 串口通信:

通过 USB 转 ttl 模块,变化为 4pin 线接入主控板,与嵌入式达成通信协议,将数据发送给下位机,同时开放串口权限,并通过调用函数收取下位机发送的数据。

  1. 硬件:

Intel NUC11、8mm度申工业相机、USB转ttl。

  1. 算法性能,优缺点分析优化方案

算法性能:

目前可以精准框选装甲板以进行击打,图像处理速度较快,可以很好的完成视觉的基本功能。

优点:

(1) 本赛季新加了数字识别,使识别跟稳定,准确性更高,,以保证更强的鲁棒性。 (2) 设置了击打优先级,在识别到多兵种的情况下,可通过优先级进行击打,将哨兵作用最大化。 (3) 新增大津法自动调节阈值,保证在较暗环境下也可以稳定识别自瞄。 缺点:

(1)预测效果不佳,对移动的物体命中率不高,建议使用卡尔曼进行预测。 (2)在装甲板移动过快的情况下会掉识别,距离较远时识别会抖动等。

8.算法性能演示

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

处处清欢

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

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

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

打赏作者

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

抵扣说明:

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

余额充值