机器人自动射击方法与流程

文档序号:12306794阅读:956来源:国知局

本发明属于图像识别技术领域,尤其涉及一种机器人自动射击方法。



背景技术:

全国大学生机器人大赛robomasters是由共青团中央、全国学联、深圳市人民政府联合主办的赛事,是中国最具影响力的机器人项目,是全球独创的机器人竞技平台,包含机器人赛事、机器人生态、以及工程文化等多项内容,正在全球范围内掀起一场机器人科技狂潮。作为国内首个激战类机器人竞技比赛,robomasters大赛在其诞生伊始就凭借其颠覆传统的比赛方式、震撼人心的视听冲击力、激烈硬朗的竞技风格,吸引到全国数百所高等院校、近千家高新科技企业以及数以万计的科技爱好者的深度关注。参赛队员将通过比赛获得宝贵的实践技能和战略思维,将理论与实践相结合,在激烈的竞争中打造先进的智能机器人。

在robomasters全国大学生机器人大赛中,比赛双方的机器人需要发射弹丸射击对方机器人的“装甲板”,每射中一次,对方机器人扣除一定的“血量”,直至扣除完所有的血量。在这个过程中,可引入“自动射击”,即我方机器人自动识别攻击对方机器人。一般自动射击方案为,在己方机器人的枪管处加一个摄像头,摄像头光轴方向与枪管平行,摄像头采集到图像后,识别出目标机器人的“装甲板”,并根据目标在图像中距离图像中心点的误差调整枪管方向。此种方法无法测量出目标的精确距离,在面对多个目标时,难以精确锁定目标;难以解决远距离攻击时重力对弹丸的影响;难以攻击运动的目标。



技术实现要素:

本发明的发明目的是:为了解决现有技术中存在的以上问题,本发明提出了一种机器人自动射击方法。

本发明的技术方案是:一种机器人自动射击方法,包括以下步骤:

a、采用双相机获取射击目标图片,分别对图片进行射击目标匹配,再对射击目标进行双相机匹配;

b、采用双相机对射击目标进行双目测量,得到射击目标相对于机器人的三维坐标;

c、选取距离机器人最近的射击目标进行锁定,将步骤b中射击目标相对于机器人的三维坐标转换为射击目标相对于射击云台的三维坐标,计算射击云台的竖直和水平轴角度,利用主控系统根据射击云台的竖直和水平轴角度完成自动射击。

进一步地,所述步骤a中采用双相机获取射击目标图片,分别对图片进行射击目标匹配,具体包括以下分步骤:

a11、获取射击目标图片,提取目标灯条信息;

a12、依次计算并比较各个灯条的匹配误差;

a13、选取步骤a12中匹配误差最小的两个灯条匹配为一个射击目标,并将该射击目标信息存入链表。

进一步地,所述步骤a11获取射击目标图片,提取目标灯条信息,具体包括以下分步骤:

a111、将获取的射击目标图片进行灰度化处理,通过设置阈值提取灰度化图片的高亮部分,并标记为图片1;

a112、将图片中的rgb三通道划分为三种像素颜色图片,将需要提取颜色灯条对应像素颜色图片的像素值分别减去剩余两种像素颜色图片的像素值,并将得到的图片标记为图片2;

a113、计算步骤a111中图片1与步骤a112中图片2的交集,并将得到的图片标记为图片3;

a114、分别对步骤a113中的图片3进行面积筛选和角度筛选处理,得到需要提取颜色灯条的灯条信息并存入链表。

进一步地,所述步骤a12中计算各个灯条的匹配误差的计算方法为

e=a*(l1-l2)+b*(theta1-theta2)+c*(row1-row2)

+d*((col1-col2)/(l1+l2)-e)

其中,e为匹配误差,a,b,c,d为匹配系数,l1,l2分别为灯条1和灯条2的长度,theta1,theta2分别为灯条1和灯条2的角度,row1,row2分别为灯条1和灯条2的行坐标,col1,col2分别为灯条1和灯条2的列坐标,e为射击目标的标准长宽比值。

进一步地,所述步骤a中对射击目标进行双相机匹配,具体包括以下分步骤:

a21、采用双相机分别对射击目标的三维坐标进行测量;

a22、将步骤a21中射击目标相对于双相机的左相机的三维坐标变换为射击目标相对于双相机的右相机的三维坐标;

a23、分别计算所有步骤a22中射击目标相对于左相机变换后的三维坐标与射击目标相对于右相机的三维坐标的欧式距离,选择距离最短的两个射击目标进行匹配。

进一步地,所述步骤a21采用双相机分别对射击目标的三维坐标进行测量,具体包括以下分步骤:

a211、采用单个相机测量射击目标与相机之间的距离,计算公式表示为:

d=(f*l)/d*l

其中,d为射击目标距离相机的距离,f为相机焦距,l为射击目标实际高度,d为相机像原长度,l为射击目标在相机拍摄的图片上的长度;

a212、分别计算射击目标在相对于相机的坐标系中坐标轴方向的角度,计算公式分别表示为:

thetax=((col-col0)/widht)*thetaw

thetay=((row-row0)/hight)*thetah

其中,thetax,thetay分别为射击目标沿坐标轴方向的角度,row,col分别为射击目标的行、列坐标,widht,hight分别为相机横向和纵向的总像素数,thetaw,thetah为相机横向和纵向的视角;

a213、根据步骤a211和a212得到射击目标的极坐标,并将射击目标的极坐标转换为三维直角坐标。

本发明的有益效果是:本发明采用灯条匹配方法实现图片颜色与射击目标匹配,再进行双相机与射击目标匹配,根据双相机对射击目标的双目测量结果结合双相机与射击目标的匹配结果实现对射击目标的锁定,从而实现机器人自动射击。

附图说明

图1是本发明的机器人自动射击方法的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,为本发明的机器人自动射击方法的流程示意图。一种机器人自动射击方法,包括以下步骤:

a、采用双相机获取射击目标图片,分别对图片进行射击目标匹配,再对射击目标进行双相机匹配;

b、采用双相机对射击目标进行双目测量,得到射击目标相对于机器人的三维坐标;

c、选取距离机器人最近的射击目标进行锁定,将步骤b中射击目标相对于机器人的三维坐标转换为射击目标相对于射击云台的三维坐标,计算射击云台的竖直和水平轴角度,利用主控系统根据射击云台的竖直和水平轴角度完成自动射击。

在步骤a中,本发明采用双相机获取射击目标图片,分别对图片进行射击目标匹配,具体包括以下分步骤:

a11、获取射击目标图片,提取目标灯条信息,具体包括以下分步骤:

a111、将获取的射击目标图片进行灰度化处理,通过设置阈值提取灰度化图片的高亮部分,并标记为图片1;

a112、将图片中的rgb三通道划分为三种像素颜色图片,将需要提取颜色灯条对应像素颜色图片的像素值分别减去剩余两种像素颜色图片的像素值,并将得到的图片标记为图片2;即当需要提取蓝色灯条信息时,用b图的像素值分别减去r图和g图的像素值,将得到的图片标记为图片2;当需要提取红色灯条信息时、用r图的像素值分别减去b图和g图的像素值,将得到的图片标记为图片2。

a113、计算步骤a111中图片1与步骤a112中图片2的交集,并将得到的图片标记为图片3;

a114、分别对步骤a113中的图片3进行面积筛选和角度筛选处理,得到需要提取颜色灯条的灯条信息并存入链表。这里对图片3进行角度筛选是指在竖直方向上进行处理,提取颜色灯条的灯条信息包括中心点行列坐标信息、长度信息、角度信息。

a12、依次计算并比较各个灯条的匹配误差,计算方法为

e=a*(l1-l2)+b*(theta1-theta2)+c*(row1-row2)

+d*((col1-col2)/(l1+l2)-e)

其中,e为匹配误差,a,b,c,d为匹配系数,l1,l2分别为灯条1和灯条2的长度,theta1,theta2分别为灯条1和灯条2的角度,row1,row2分别为灯条1和灯条2的行坐标,col1,col2分别为灯条1和灯条2的列坐标,e为射击目标的标准长宽比值。优选地,e取值为射击目标的标准长宽比值的两倍。

a13、选取步骤a12中匹配误差最小的两个灯条匹配为一个射击目标,并将该射击目标信息存入链表。这里的射击目标信息包括中心点行列信息,高度信息。

本发明对射击目标进行双相机匹配,具体包括以下分步骤:

a21、采用双相机分别对射击目标的三维坐标进行测量,即采用左右两个相机分别对射击目标进行单目测量,具体包括以下分步骤:

a211、采用单个相机测量射击目标与相机之间的距离,计算公式表示为:

d=(f*l)/d*l

其中,d为射击目标距离相机的距离,f为相机焦距,l为射击目标实际高度,d为相机像原长度,l为射击目标在相机拍摄的图片上的长度;

a212、分别计算射击目标在相对于相机的坐标系中坐标轴方向的角度,计算公式分别表示为:

thetax=((col-col0)/widht)*thetaw

thetay=((row-row0)/hight)*thetah

其中,thetax,thetay分别为射击目标沿坐标轴方向的角度,row,col分别为射击目标的行、列坐标,widht,hight分别为相机横向和纵向的总像素数,thetaw,thetah为相机横向和纵向的视角;

a213、根据步骤a211和a212得到射击目标的极坐标,并将射击目标的极坐标转换为三维直角坐标。

a22、将步骤a21中射击目标相对于双相机的左相机的三维坐标变换为射击目标相对于双相机的右相机的三维坐标,即将左相机在左相机坐标系下测得的三维坐标变换到右相机坐标系下;

a23、分别计算所有步骤a22中射击目标相对于左相机变换后的三维坐标与射击目标相对于右相机的三维坐标的欧式距离,即分别计算所有步骤a22中左相机变换后的三维坐标与右相机测得的三维坐标的欧氏距离,选择距离最短的两个射击目标进行匹配。

在步骤b中,本发明采用双相机对射击目标进行双目测量,得到射击目标相对于机器人的三维坐标,将射击目标相对于机器人的三维坐标按照目标1-n保存到链表中。

在步骤c中,本发明根据步骤a从多个射击目标中选择与双相机距离最近的射击目标进行匹配,实现选取距离机器人最近的射击目标进行锁定,使得一定距离范围内只攻击这一个目标;再将步骤b中射击目标相对于机器人的三维坐标转换为射击目标相对于射击云台的三维坐标,计算射击云台的竖直和水平轴角度,利用主控系统根据射击云台的竖直和水平轴角度完成自动射击。为了进一步提高射击准确性,本发明在射击目标相对于射击云台的三维坐标的基础上,加入重力对弹丸的影响,再根据目标之前的坐标对目标下一时刻的位置坐标进行预判,具体为对最近的400ms内目标的运动坐标进行局部二次拟合,并预测100ms以后目标的位置,得到机器人所要攻击的射击目标的实际坐标点,解决了弹丸飞行过程中运动目标位移的问题,从而解算出云台应有的竖直和水平轴角度,将信息发送到主控系统进行射击。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1