TYUST-RM2023-NewMaker哨兵视觉代码

news2024/11/17 2:24:55

目录

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.算法性能演示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1211544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

科研学习|科研软件——SPSS:卡方检验(交叉表)

第一步 打开SPSS软件,在工具栏中选中【打开-文件-数据】,然后选择一份要打开的数据表(如图所示)。 第二步 在工具栏中找到【分析-描述统计-交叉表】打开交叉表对话框(如图所示)。 第三步 接着将【行-列】相关变量放在对应对话框中(如图所示)。 第四步 在…

ubuntu 20.04+ORB_SLAM3 安装配库教程

目录 安装ros(如果只是运行ORB-SLAM3,可以跳过安装)0. ros 安装教程1. 安装opencv2. 安装Pangolin3. 安装Eigen34.安装Python & libssl-dev5.安装boost库6.安装ceres库(不必须)7.安装Sophus库(不必须)8. 安装g20库…

科研学习|研究方法——逻辑回归系数的显著性检验(python实现)

1. 背景 回归方程与回归系数的显著性检验 2. statsmodels 库 statsmodels库可以用来做逻辑回归、线性回归。并且会在summary中给出显著性检验的结果。最终我们想要的就是如下图的报告。 3. 计算过程 如果我们使用的sklearn构建的逻辑回归就没有办法直接输出这个报告&#xff0c…

Xocde 升级15 或者 iOS17报错:

错误: Assertion failed: (false && "compact unwind compressed function offset doesnt fit in 24 bits"), function operator(), file Layout.cpp, line 5758. 翻译: 断言失败:(false&&“压缩展开…

基于安卓android微信小程序的食谱大全系统

项目介绍 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对食谱大全进行需求分析,得出食谱大全主要功能。接着对食谱大全进行总体设计和详细设计。总体设…

窗口管理工具 Mosaic mac中文版功能特点

MosAIc mac是一种窗口管理工具,可帮助您在计算机屏幕上有效地组织和管理多个应用程序窗口。它提供了一种直观的方式来调整和排列窗口,以最大化工作效率。 MosAIc mac窗口管理软件功能和特点 窗口布局:MosAIc允许您选择不同的窗口布局&#x…

SketchUp (草图大师) SU2023 中文版软件安装包下载地址及安装教程!

1.鼠标右键【SketchUp2023(64bit)】压缩包(win11及以上系统需先点击“显示更多选项”)选择【解压到SketchUp2023(64bit)】。 2.打开解压后的文件夹,鼠标右键【Setup】选择【以管理员身份运行】。 3.点击【Next】。 4.点击Install Language右边…

JVM查看内存新生代老年代回收情况,排查oom

jstat 命令 jstat - [-t] [-h] [ []] option:我们经常使用的选项有gc、gcutil vmid:java进程id interval:间隔时间,单位为毫秒 count:打印次数 每秒打印一次 jstat -gc 9162 1000S0C:年轻代第一个survivor的容量…

think5和fastadmin验证规则的使用

在fastadmin中使用验证规则只需要两步即可 第一步 首先在控制器中开启验证规则 protected $modelValidatetrue;//开启验证规则protected $modelSceneValidatetrue;//开启场景验证第二步 在 app\admin\validate 和控制器对应的 validate 中添加 验证规则以及场景验证 <?…

Blackmagic Design DaVinci Resolve Studio18(达芬奇调色剪辑)mac/win中文版

在影视制作领域&#xff0c;调色和剪辑是至关重要的环节&#xff0c;它们直接决定了作品的观感和质量。而Blackmagic Design DaVinci Resolve Studio18&#xff08;达芬奇调色剪辑&#xff09;作为业界领先的专业调色剪辑软件&#xff0c;以其出色的性能和强大的功能&#xff0…

SpringBoot项目集成发邮件功能

1&#xff1a;引入依赖2&#xff1a;配置设置3&#xff1a;授权码获取&#xff1a;4&#xff1a;核心代码5&#xff1a;postman模拟验证6&#xff1a;安全注意 1&#xff1a;引入依赖 <dependency><groupId>org.apache.commons</groupId><artifactId>c…

csrf学习笔记总结

跨站请求伪造csrf csrf概述 掌握CSRF 漏洞原理 掌握CSRF 漏洞场景 掌握CSRF 漏洞验证 csrf原理 ​ 跨站请求伪造&#xff08;Cross Site Request Forgery&#xff0c;CSRF&#xff09;是一种攻击&#xff0c;它强制浏览器客户端用户在当前对其进行身份验证后的Web 应用程…

JEECG BOOT 前端记录

目录 查询 1、模糊搜索中文 2、下拉框选择 3、文本框 新增 1、添加文本框 2、图片上传 3、文件上传 4、富文本 5、下拉框数字回显文字 第一种&#xff1a; 第二种&#xff1a; 展示 1、字典翻译注解Dict 1.2、字典表翻译用法 2、点击事件调接口 查询 1、模糊搜索中…

Postman批量运行用例

近期在复习Postman的基础知识&#xff0c;在小破站上跟着百里老师系统复习了一遍&#xff0c;也做了一些笔记&#xff0c;希望可以给大家一点点启发。 一&#xff09;注意点 有上传文件的接口&#xff0c;需要做如下设置&#xff1a; 1、打开能读取外部文件的开关 2、把需要…

Java医院绩效考核管理系统源码,设有手工录入功能(可以批量导入)

医院绩效考核系统以医院的发展战略为导向&#xff0c;把科室、员工的绩效考核跟战略发展目标紧密结合&#xff0c;引导医院各个科室、各员工的工作目标跟医院的发展目标结合在一起&#xff0c;实现医院的优化发展。系统提供灵活的绩效考评体系配置方案&#xff0c;支持不同科室…

实现高值医疗耗材智能化管理的RFID医疗柜解决方案

一、行业背景 医疗物资管理面临着一系列问题&#xff0c;如高值耗材种类激增导致准入标准弱化、信息追踪困难、管理责任不明确等&#xff0c;医院内部设备、财务和临床科室相互独立&#xff0c;兼容性不佳&#xff0c;高值耗材储备不足&#xff0c;缺乏合理的预警机制&#xf…

计讯物联LoRa终端TW820多重优势共蓄能,强力驱动行业发展

LoRa&#xff0c;即远距离无线电&#xff0c;是一种低功耗宽区域网络(LPWAN)的通信技术。它在同样的功耗条件下比其他无线方式传播的距离更远&#xff0c;且比传统的无线射频通信距离扩大3-5倍&#xff0c;真正实现了低功耗、远距离、广覆盖的统一。基于LoRa通信技术的优势特点…

深兰科技轮腿家用AI机器人荣获“2023年度城市更新科创大奖”

近日&#xff0c;“2023金砖论坛第五季金立方城市更新科创大会”在上海举行&#xff0c;会上发布了《第12届金砖价值榜》&#xff0c;深兰科技研发出品的轮腿式家用AI机器人(兰宝)&#xff0c;因其AI技术的创新性应用&#xff0c;荣获了“2023年度城市更新科创大奖”。 在10月2…

Vue 模板语法 v-bind

红色框里面的都是vue的模板。有了模板就得有模板的特殊语法。上面只是简单的双括号加上表达式&#xff0c;这种叫做插值语法&#xff0c;除了这种语法还有其他语法吗&#xff1f; 插值语法实现的功能很单一&#xff0c;就是将指定的值放到指定的位置。还有一种叫做指令语法&am…

java springBoot实现RabbitMq消息队列 生产者,消费者

1.RabbitMq的数据源配置文件 # 数据源配置 spring:rabbitmq:host: 127.0.0.1port: 5672username: rootpassword: root#消息发送和接收确认publisher-confirms: truepublisher-returns: truelistener:direct:acknowledge-mode: manualsimple:acknowledge-mode: manualretry:ena…