本文是笔者多日来总结的2023赛季中针对上位机组的比赛规则摘要,力求一文让你看懂上位机在赛场中的飒爽身影。
目录
电力元件
电池
遥控器
激光
涂装
机器人
飞镖
雷达
空中机器人
工程机器人
哨兵机器人
英雄与步兵机器人
视觉应用
识别装甲板
算法步骤
反制与反反制
击打能量机关
小能量机关
大能量机关
算法归纳
建立多机通信
电力元件
这里依照官方文件,简要介绍一些在视觉中也起到关键作用的设备。
电池
上位机各类设备的供能主要依靠电池,其中最重要就是我们常说的“超级电容”,英文简称EDLC,有时也称为双电层电容器,是拥有高能量密度的电化学电容器,比传统的电解电容容量高上数百倍至千倍不等。比赛中大部分时候指的不仅仅是通常意义上的超级电容组,而是由其他电子器件、功能模块一起构成的组合体,规定每个机器人上只能装有一台超级电容,地面机器人的超级电容是完全一致的,其中哨兵也就是过去的自动步兵按规则要求必须装载超级电容。另外,雷达的供电采用市电标准,也就是220V50Hz。飞镖则是分为发射架和本体两部分,飞镖发射架采用电池供电,不允许使用电容,飞镖自身使用微型锂电池供电。而空中无人机是由四或六块电池组合供电。所有的元件组都由上述方式供电,除了载板外,也包括相机,陀螺仪等与上位机密切相关的元件。
遥控器
我们所有的机器人都可以配置遥控器,不同的兵种有不同的数量限制,这也是除了官方的裁判系统模块之外唯一的无线电设备,因为目前我们是没有制作自定义控制器的,这一部分用到了头戴式虚拟显示器,暂时还没有攻下这关。
我们使用的是大疆自研的DT7遥控器,如下图所示。
激光
使用激光的设备可以分为两部分,瞄准和定位。瞄准是指在机器人身上安装功率不高于35mW的红色激光进行瞄准定位,不过在这里官方建议尽量使用自定义UI去代替激光瞄准。定位是指激光雷达,赛场上常用的雷达媒介有激光,毫米波,超声波,可见光和惯性制导几种,我们采用的正是Livox激光雷达。做一些补充,除了挂载激光设备外,工程机器人还可以安装白色补光灯来增强视觉识别特征。空中机器人上需要安装指示灯来指示当前飞行状态以及安装航行外观灯来提高空中机器人辨识度。
涂装
作为视觉识别的重要依据,装甲板必须按照官方要求粘贴,不得贴有其他类似装甲板的图样或遮挡装甲板灯条。不过湖南大学的队伍提供了一个可行的思路:根据生成对抗网络训练一批和装甲板毫无相同之处却会被目标检测模型识别为装甲板的图样涂装在机器人上,来反制对方的识别算法。不过该方法利用了深度学习黑盒里的相关参数,具体实现难度较大。
机器人
这里先介绍几个特殊的机器人,其余地面机器人会在下一章节的视觉应用中有更详细的解读。
飞镖
雷达
雷达由运算平台端与传感器端两部分构成,两者需通过电缆连接。雷达传感器支架被固定在距离地面3.6米高的雷达基座安装平面上,且支架自身高度在1.2米以上,提供了开阔的全局视野。运算平台端则放置于雷达基座附近的指定台面,并连接一根传往操作间的视频信号线,不允许使用无线连接。另外,若一方雷达正确识别并定位对方机器人持续超过 3 秒,则该机器人将在己方小地图上被特殊标识。
以下是雷达视角
空中机器人
工程机器人
哨兵机器人
英雄与步兵机器人
这两种机器人主要用于正面作战,即占领增益区,攻击敌方机器人和建筑,击打能量机关,保护己方建筑不被摧毁等。区别是英雄机器人是战场上唯一可以发射 42mm 弹丸的机器人,其属性也高于步兵机器人,而且场地中存在英雄机器人独有的狙击点,可以提高英雄机器人的弹丸伤害。因为这两种机器人活动空间大,活动时间长,所以与之配套的视觉算法主要是目标检测和图传定位,操作手可以通过屏幕来实时了解机器人状态,并制定下一步行动方案。
视觉应用
介绍完各个兵种的独特效用后,我们来总结一下上位机在赛场中的几个关键应用,这部分主要围绕地面的进攻型机器人来展开。
识别装甲板
算法步骤
装甲板的识别算法主要有传统和深度两种,传统算法的步骤如下
- 图像预处理,如降低曝光,尺寸变换等
- 对图像进行二值化操作,并采用腐蚀膨胀等方法强化特征
- 提取灯条轮廓,再根据长宽比、面积大小和凸度等约束条件来筛选灯条
- 配对灯条作为候选装甲板,经过坐标变换算法确定击打区域
- 输出目标信息,返回制导模块进行打击
深度则是采用了YOLOV5模型进行目标检测,处理深度相机Intel RealSense D435i输入的实时视频信号,检测并判断装甲板位置及所属情况,之后输出到制导模块进行打击。
反制与反反制
而在赛场中,识别到装甲板并进行击打只是第一层,由于赛场上机器人运动速度较快,再加上相机摄取图像经过识别算法处理传给下位机时存在延迟,因此要开发先验算法,对位置信息作出修正并预测对方的下一步行动轨迹,在此之上为了防止对方识别到己方装甲板,许多队伍采用云台底盘分离,高速自转的方法,这种方法被形象地称为“小陀螺”,为了对抗小陀螺,又开发了识别对方是否在旋转下的算法,使枪口始终锁定对方装甲板一点并按照一定频率进行击打,又为了对抗该算法,有些队伍就在结构上下文章,使得中心点变固定为旋转,装甲板做偏心转动,在此之上。还有很多很多……
这里提供一个训练击打小陀螺的视频 https://www.bilibili.com/video/BV1Wt4y1W7cG/?share_source=copy_web&vd_source=f1156886732822e9a7798b135a874b06
击打能量机关
按照时间顺序,能量机关又分为两个阶段:小能量机关和大能量机关
小能量机关
比赛开始一分钟后至第三分钟,能量机关开始旋转,进入可激活状态。此时红蓝双方能量机关共轴旋转,即红方能量机关顺时针旋转时,蓝方能量机关相应地逆时针旋转。每局比赛开始前,能量机关旋转方向随机。该局比赛中,能量机关旋转方向保持一致, 小能量机关的转速固定为 10RPM。若一方小能量机关进入已激活状态,另一方小能量机关恢复为不可激活状态。一方机器人成功激活小能量机关后,该方所有机器人获得防御增益,防御增益失效后,在增益持续时间内对对方机器人造成的累计伤害将转化为经验,平均分给当时存活的全队机器人。
这是今年8月官方的实物展示 https://www.bilibili.com/video/BV1YB4y1571j/?share_source=copy_web&vd_source=f1156886732822e9a7798b135a874b06
大能量机关
击打的环数越高,得到的攻击力增益和防御增益就越高。与小能量机关不同的是,一方激活能量机关后,另一方并不会立即恢复为不可激活状态,而是保持可激活状态,持续时间10秒,如果在这个时间内激活能量机关,其总环数超过40且比先激活方总环数大5,则后激活方获得总环数对应的增益,先激活方的增益变为总环数 50%对应增益。
大能量机关的旋转方式也较小能量机关更为复杂,其转速按照三角函数呈周期性变化。速度目标函数为:spd = a ∗ sin(𝜔 ∗ 𝑡) + 𝑏,其中 spd 的单位 为 rad/s,t 的单位为 s,a 的取值范围为 0.780~1.045,ω的取值范围为 1.884~2.000,b 始终满足 b=2.090- a。每次大能量机关进入可激活状态时,所有参数重置,其中 t 重置为 0,a 和ω重置为取值范围内任意值。
算法归纳
无论是能量机关的哪个阶段,都需要先占领能量机关激活点区域。对于小能量机关而言,由于其运动规律恒定,所以首要任务是识别亮起的装甲模块并进行击打,由于该增益只能一方享有,所以动如雷霆、一击即中是设计目标检测算法的重要标准。大能量机关则要稳重许多,先要根据其旋转轨迹推导出三角函数里的三个变量值,同时记录t值,将数据导入跟踪预测算法,使云台相机能够及时跟踪旋转轨迹,之后识别发光的装甲模块,尽可能瞄准装甲模块的中心位置进行击打,而且由于他的后来者居上设定,即使打得很快,如果环数太少,也很容易被对方轻松反超,所以在编写识别算法时,要突出一个稳字,必要时舍弃一部分速度追求更高的精度。文章来源:https://www.toymoban.com/news/detail-444550.html
建立多机通信
文章来源地址https://www.toymoban.com/news/detail-444550.html
到了这里,关于Robomaster上位机视觉摘要——比赛规则篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!