技术领域
[0001]本发明属于自动巡航机器人技术领域,涉及一种基于自动巡航机器人的投篮训练方法及系统。
背景技术
[0002]篮球运动作为全世界最受欢迎的球类运动之一,喜欢的人越来越多。而投篮训练是每个篮球运动员每天的必备训练,在专业球队中,会有专门的训练师来完成捡球和传球工作,或和队友一块训练时,有队友互相帮忙捡球和传球。但是当独自一人去练投篮时,由于需要频繁地跑过去捡球,浪费大量的时间和体力,所以会大大降低训练效果。市面上现存的投篮训练发球机,由于需要用高于篮筐的网来挡住篮球,并且发球机只能朝着同一个方向发球,无法自动识别运动员方位,会影响到运动员的视线、投篮精准度和投篮效率。
发明内容
[0003]本发明的目的在于克服上述现有技术中,投篮训练发球机无法自动识别运动员方位而影响投篮精准度和投篮效率的缺点,提供一种基于自动巡航机器人的投篮训练方法及系统。
[0004]为了达到上述目的,本发明采用以下技术方案予以实现:
[0005]一种基于自动巡航机器人的投篮训练方法,包括如下步骤:
[0006]步骤1)构建篮球场的高精地图,确定自动巡航机器人在高精地图中的位置;
[0007]步骤2)获取自动巡航机器人周围的图像信息,同时分别对场上篮球和运动员进行实时跟踪,分别得到场上篮球和运动员相对于自动巡航机器人的位置,并得到场上篮球和运动员、篮球与机器人之间的实时距离;
[0008]步骤3)基于场上篮球和运动员相对于自动巡航机器人的位置、场上篮球和运动员之间的实时距离,控制巡航机器人进行捡球操作;
[0009]对于与运动员距离大于5米的篮球,分别规划出自动巡航机器人朝向所有篮球的路径,选择与运动员距离最远的那个篮球,按照规划出的路径去捡球;
[0010]若篮球与运动员距离小于5米,则回到步骤2)待捡球状态;
[0011]当机器人与被捡篮球距离小于0.3米时,自动巡航机器人执行捡球命令;
[0012]步骤4)运动员需要球时,向巡航机器人发出传球指令,巡航机器人向运动员传球;传球结束后,重复步骤3)的操作。
[0013]优选地,步骤2)中,实时跟踪的具体过程为:
[0014]步骤2.1)获取场上篮球和运动员的目标跟踪视频,对目标跟踪视频中的每一帧图像分别进行搜索窗口处理,并从处理后的图像中提取色度分量;
[0015]步骤2.2)对色度分量进行统计,建立颜色直方图;
[0016]步骤2.3)基于颜色直方图获得每一个色度分量对应的反向投影图;
[0017]步骤2.4)重新选择搜索窗口,在新的搜索窗内分别计算零阶矩、一阶矩和质心,并利用零阶矩确定新的搜索窗的大小,将新的搜索窗口的中心移动至质心位置,记录该移动距离,当该移动距离小于设定的极限值时收敛,读入下一帧并进入步骤2.1)重新开始跟踪;当该移动距离大于等于设定的极限值时,停止实时跟踪。
[0018]优选地,步骤2.1)具体为:
[0019]从中截取一帧包括篮球和运动员的图像,在该图像中选定一个圆形目标窗口,使篮球位于该圆形目标窗口内,再在该图像中选定一个矩形目标窗口,使运动员位于该矩形目标窗口内,然后对圆形目标窗口和矩形目标窗口进行转换,将RGB图像转换为HSV图像。
[0020]优选地,步骤2.4)具体为:
[0021]以目标窗口圆心选定一个圆形搜索窗口,以矩形对角线交点为中心选定一个矩形搜索窗口,在圆形搜索窗口和矩形搜索窗口内分别计算零阶矩、一阶矩和质心,并用零阶矩确定各自对应的新的搜索窗的大小;
[0022]零阶矩:
[0023]M
00=∑
x∑
yI(x,y) (1)
[0024]计算一阶距:
[0025]M
10=∑
x∑
yxI(x,y);M
01=∑
x∑
yyI(x,y) (2)
[0026]计算搜索窗的质心:
[0027]x
c=M
10/M
00;y
c=M
01M
00 (3)
[0028]其中,I(x,y)表示像素点的灰度值;
[0029]用零阶矩确定新的搜索窗的大小的具体过程为:将新的搜索窗的半径大小设置为和零阶矩具有比例关系的函数,找出搜索窗内灰度值最大的像素点I
max,并设下一个搜索窗的半径为:
[0030]
[0031]优选地,步骤2)中,实时跟踪后的具体操作为:
[0032]实时跟踪后,获得场上篮球和运动员相对于自动巡航机器人的位置,并获得自动巡航机器人分别与篮球和运动员间的直线距离,首先计算得到篮球和自动巡航机器人之间的角度、运动员和自动巡航机器人之间的角度;
[0033]
[0034]由直线距离和角度分别计算得到篮球和运动员相对于自动巡航机器人的坐标;
[0035]
[0036]由篮球和运动员相对于自动巡航机器人的坐标计算,得到篮球和运动员之间的实时距离;
[0037]
[0038]其中,x
1,y
1为篮球相对于自动巡航机器人的坐标,α
1为篮球与机器人的连线与机器人中心线的角度,θ为相机视场角,N为RGB图像中的单行像素点总个数,X
1为球体中心点的横坐标,L
1为由激光雷达得出的篮球中心离机器人中心的直线距离,x
2,y
2为运动员相对于自动巡航机器人的坐标,α
2为运动员与机器人的连线与机器人中心线的角度,X
2为球体中心点的横坐标,L
2为由激光雷达得出的运动员离机器人中心的直线距离,L为篮球和运动员间的直线距离。
[0039]优选地,步骤3)中,规划自动巡航机器人朝向各场上篮球的路径,具体为:
[0040]基于步骤1)获取应用场景下的二维栅格地图,将自动巡航机器人和步骤2)的图像中出现篮球的坐标映射到二维栅格地图中,得到自动巡航机器人与各篮球在图像中的位置关系;
[0041]采用A*算法规划出自动巡航机器人到各篮球的路径,同时计算出运动员与各篮球间的直线距离,比较运动员与不同篮球之间的距离大小,选择距离运动员最远的篮球,按照规划路径去捡距离运动员最远的篮球。
[0042]一种基于自动巡航机器人的投篮训练系统,包括:
[0043]摄像机模块,与控制模块相交互,用于获取自动巡航机器人周围的图像信息,并分别对场上篮球和运动员进行实时跟踪,将获取的图像信息和实时跟踪的视频信息传输至控制模块;
[0044]激光雷达定位模块,与控制模块相交互,用于构建整个篮球场的高精地图,并确定自动巡航机器人在整个地图中的位置,并将信息传输至控制模块;
[0045]捡球模块,与控制模块相交互,用于接收控制模块的捡球命令,并进一步控制自动巡航机器人捡起篮球,之后将捡球后的数据反馈给控制模块;
[0046]AR识别模块,分别与摄像机模块和控制模块相交互,用于根据摄像机模块给出的运动员人脸信息,判断运动员的意图,并将信号传输给控制模块;
[0047]传球模块,与控制模块相交互,用于接收控制模块给出的传球命令,并进一步控制自动巡航机器人传球给运动员;
[0048]控制模块,用于接收激光雷达定位模块、摄像机模块、捡球模块、AR识别模块、传球模块反馈的信息,基于获取的图像信息和实时跟踪的视频信息计算得到场上篮球和运动员相对于自动巡航机器人的位置、场上篮球和运动员之间的实时距离;规划出自动巡航机器人朝向篮球的路径,控制自动巡航机器人走向篮球,并对捡球模块发出捡球命令、对传球模块发出传球命令。
[0049]优选地,控制模块在控制传球的过程中,当AR识别模块识别到运动员眼睛看向自动巡航机器人且停留3秒以上时,控制模块向传球模块发出传球命令;
[0050]当自动巡航机器人与篮球直线距离小于0.3米时,控制模块向捡球模块发出捡球命令。
[0051]与现有技术相比,本发明具有以下有益效果:
[0052]本发明公开了一种基于自动巡航机器人的投篮训练方法,首先构建篮球场的高精地图,再获取自动巡航机器人周围的图像信息,分别对场上篮球和运动员进行实时跟踪,得到场上篮球和运动员相对于自动巡航机器人的位置,并得到场上篮球和运动员、篮球与机器人之间的实时距离,基于预设的距离阈值,进行各个条件下的捡球、传球和移动指令,控制自动巡航机器人进行捡球、传球和移动。实现了投篮训练发球机自动识别运动员方位,从而提高了投篮精准度和投篮效率。
[0053]本发明公开了一种基于自动巡航机器人的投篮训练系统,通过激光雷达构建整个篮球场的高精地图,并确定自动巡航机器人在整个地图中的位置;用摄像机拍摄获取自动巡航机器人周围的图像信息,并分别对场上篮球和运动员进行实时跟踪,计算出场上篮球和运动员相对于自动巡航机器人的位置、场上篮球和运动员之间的实时距离;挑选出与运动员距离大于五米的篮球,规划出自动巡航机器人朝向篮球的全局路径和局部路径,选择距离运动员最远的那个篮球,去捡球;当用AR技术识别到运动员有意向向自动巡航机器人要球时,传球控制器便会收到中央处理器的传球命令。实现了自动巡航机器人对运动员和篮球的精确定位,并且对篮球的运动轨迹进行实时跟踪;能够根据指令迅速实现捡球和传球功能。降低了球队的人力成本,节省了运动员的时间和体力,提高了运动员的训练效率。
附图说明
[0054]图1为实施例1自动巡航机器人捡球与传球系统的结构图;
[0055]图2为实施例2自动巡航机器人捡球与传球方法的流程图。
[0056]其中,1-激光雷达定位模块;2-摄像机模块;3-AR识别模块;4-控制模块;5-捡球模块;6-传球模块。
具体实施方式
[0057]下面结合附图对本发明做进一步详细描述:
[0058]实施例1
[0059]一种基于自动巡航机器人的投篮训练方法,包括如下步骤:
[0060]步骤1)构建篮球场的高精地图,确定自动巡航机器人在高精地图中的位置;
[0061]步骤2)获取自动巡航机器人周围的图像信息,同时分别对场上篮球和运动员进行实时跟踪,分别得到场上篮球和运动员相对于自动巡航机器人的位置,并得到场上篮球和运动员、篮球与机器人之间的实时距离;
[0062]步骤3)基于场上篮球和运动员相对于自动巡航机器人的位置、场上篮球和运动员之间的实时距离,控制巡航机器人进行捡球操作;
[0063]对于与运动员距离大于5米的篮球,分别规划出自动巡航机器人朝向所有篮球的路径,选择与运动员距离最远的那个篮球,按照规划出的路径去捡球;
[0064]若篮球与运动员距离小于5米,则回到步骤2)待捡球状态;
[0065]当机器人与被捡篮球距离小于0.3米时,自动巡航机器人执行捡球命令;
[0066]步骤4)运动员需要球时,向巡航机器人发出传球指令,巡航机器人向运动员传球;传球结束后,重复步骤3)的操作。
[0067]实施例2
[0068]参见
图2,该方法包括以下步骤:
[0069]S101,用激光雷达构建整个篮球场的高精地图,并确定自动巡航机器人在整个地图中的位置;
[0070]具体地,使用自动巡航机器人上固定的激光雷达模块构建篮球场的高精地图,并确定自动巡航机器人在整个地图中的位置,并传输给中央处理器。
[0071]S102,用摄像机拍摄获取自动巡航机器人周围的图像信息,并分别对场上篮球和运动员进行实时跟踪,计算出场上篮球和运动员相对于自动巡航机器人的位置、场上篮球和运动员之间的实时距离,并传输给控制模块、AR识别模块和激光雷达模块。
[0072]具体地,通过安装在自动巡航机器人头顶的摄像机模块自动跟踪运动员和篮球的实时位置,并分别传输给控制模块、AR识别模块和激光雷达模块。
[0073]具体地,所述步骤S102中的具体实现方式如下:
[0074](1)获取摄像机拍摄视频,从中截取第一帧包括篮球和运动员的图像,手动选定一个圆形目标窗口,使该窗口恰好将整个篮球包括进来,在选定一个矩形目标窗口,使该窗口恰好将整个运动员包括进来,然后分别将两个目标窗口图像从RGB图像转换为HSV图像;
[0075](2)从(1)所述HSV图像中将色度分量H提取出来;
[0076](3)对(2)中所提取的H分量进行统计,建立色度H的颜色直方图,即将颜色空间平均分为N个区间,每个区间成为直方图的一个子区间,各子区间从左到右所对应的值为(0,1,2.....,N-1),统计落在每一个子区间中像素点的个数;
[0077](4)将摄像机所拍视频的第一帧包括篮球和运动员的图像也转化为HSV空间图像;
[0078](5)获取HSV图像中每个像素点的色度H值,根据色度H值找到该值在(3)中所建颜色直方图中所在的子区间,将反向投影图中与HSV空间图像相同位置处的值用该子区间对应的值替代,从而得到反向投影图。
[0079](6)分别以目标窗口圆心和矩形对角线交点为中心选定一个圆形搜索窗口和一个矩形搜索窗口,在搜索窗内分别计算零阶矩、一阶矩和质心,并用零阶矩确定新的搜索窗的大小;将搜索窗的中心移动到(6)中计算的质心位置,记录移动距离a,当移动距离小于设定的极限值时收敛,读入下一帧并进入步骤(4),否则直接进入步骤(6);
[0080]计算零阶矩:
[0081]M
00=∑
x∑
yI(x,y) (1)
[0082]计算一阶距:
[0083]M
10=∑
x∑
yxI(x,y);M
01=∑
x∑
yyI(x,y) (2)
[0084]计算搜索窗的质心:
[0085]x
c=M
10/M
00;y
c=M
01M
00 (3)
[0086]其中,I(x,y)表示像素点的灰度值。
[0087]将新的搜索窗的半径大小设置为和零阶矩具有比例关系的函数,找出搜索窗内灰度值最大的像素点I
max,并设下一个搜索窗的半径为:
[0088]
[0089]具体的,求解篮球和自动巡航机器人、运动员和自动巡航机器人之间的角度,篮球和运动员相对于自动巡航机器人的坐标,篮球和运动员之间的实时直线距离的公式如下:
[0090]
[0091]
[0092]
[0093]其中,x
1,y
1为篮球相对于自动巡航机器人的坐标,α
1为篮球与机器人的连线与机器人中心线的角度,θ为相机视场角,N为RGB图像中的单行像素点总个数,X
1为球体中心点的横坐标,L
1为由激光雷达得出的篮球中心离机器人中心的直线距离。x
2,y
2为运动员相对于自动巡航机器人的坐标,α
2为运动员与机器人的连线与机器人中心线的角度,X
2为球体中心点的横坐标,L
2为由激光雷达得出的运动员离机器人中心的直线距离,L为篮球和运动员间的直线距离。
[0094]S103,根据S101中自动巡航机器人在图中的位置和S102中通过摄像机拍摄图像计算出的场上各篮球相对于自动巡航机器人所处的位置以及各篮球与运动员间的实时距离,挑选出距离大于5米的篮球,规划出自动巡航机器人朝向各篮球的路径。如果没有距离大于五米的篮球,则停止工作;如果有,就选择选择距离最远的那个篮球,按照规划路径去捡球。
[0095]采用激光雷达对自动巡航机器人周边环境和整个篮球场进行处理,得到应用场景下的二维栅格地图,把自动巡航机器人和图像中出现篮球的坐标映射到上述二维栅格地图中,得到自动巡航机器人与各篮球在图像中的位置关系;采用A*算法规划出机器人到各篮球的路径,同时计算出运动员与各篮球间的直线距离,比较距离大小,选择距离运动员最远的那个篮球,按照规划路径去捡这个篮球。
[0096]S104,中心处理器模块对捡球模块发出捡球命令。
[0097]具体地,当中心处理器模块计算出所述自动巡航机器人与所述篮球的直线距离小于0.3m时,对所述捡球模块发出捡球命令。
[0098]S105,AR识别模块处理摄像机模块传出的视频信息,并将识别信息传输给中心处理器。
[0099]具体地,用AR识别模块对安装在机器人头顶的摄像机模块发出的视频信息进行识别,当识别到所述运动员面部看向所述自动巡航机器人且时间超过3秒时,将所述运动员有要球意向的信息传输给中心处理器。
[0100]S106,中心处理器模块给传球模块发出传球命令。
[0101]具体地,当中心处理器模块收到AR识别模块发出的运动员有要球意向的信息时,便对传球模块发出传球命令。
[0102]实施例3
[0103]一种基于自动巡航机器人的投篮训练系统,包括:
[0104]摄像机模块,与控制模块相交互,用于获取自动巡航机器人周围的图像信息,并分别对场上篮球和运动员进行实时跟踪,将获取的图像信息和实时跟踪的视频信息传输至控制模块;
[0105]激光雷达定位模块,与控制模块相交互,用于构建整个篮球场的高精地图,并确定自动巡航机器人在整个地图中的位置,并将信息传输至控制模块;
[0106]捡球模块,与控制模块相交互,用于接收控制模块的捡球命令,并进一步控制自动巡航机器人捡起篮球,之后将捡球后的数据反馈给控制模块;
[0107]AR识别模块,分别与摄像机模块和控制模块相交互,用于根据摄像机模块给出的运动员人脸信息,判断运动员的意图,并将信号传输给控制模块;
[0108]传球模块,与控制模块相交互,用于接收控制模块给出的传球命令,并进一步控制自动巡航机器人传球给运动员;
[0109]控制模块,用于接收激光雷达定位模块、摄像机模块、捡球模块、AR识别模块、传球模块反馈的信息,基于获取的图像信息和实时跟踪的视频信息计算得到场上篮球和运动员相对于自动巡航机器人的位置、场上篮球和运动员之间的实时距离;规划出自动巡航机器人朝向篮球的路径,控制自动巡航机器人走向篮球,并对捡球模块发出捡球命令、对传球模块发出传球命令。
[0110]实施例4
[0111]参见
图1,该系统包括激光雷达定位模块1、摄像机模块2、AR识别模块3、控制模块4、捡球模块5、传球模块6。
[0112]具体的,所述激光雷达定位模块1在自动巡航机器人的胸前,用于构建整个篮球场的高精地图,并确定自动巡航机器人在整个地图中的位置,同时实时接受摄像机模块传输的数据,计算出运动员与自动巡航机器人、各篮球与自动巡航机器人之间的直线距离并传输给控制模块;
[0113]所述摄像机模块2在自动巡航机器人的头部,用于拍摄获取自动巡航机器人周围的图像信息,并分别对场上篮球和运动员进行实时跟踪,计算出场上篮球和运动员相对于自动巡航机器人的位置、场上篮球和运动员之间的实时距离,将视频信息传输给激光雷达模块、控制模块和AR识别模块;
[0114]所述AR识别模块3在自动巡航机器人的头部,用于根据摄像机模块给出的运动员人脸信息,判断运动员的意图,将信号传输给中心处理器;
[0115]所述控制模块4是接收包括激光雷达定位模块1传输出来的自动巡航机器人在整个地图中的位置、运动员与自动巡航机器人、各篮球与自动巡航机器人之间的直线距离,接收摄像机模块2传来的篮球和运动员的视频信息,接收AR识别模块4传输出来的运动员人脸识别信息,接收捡球模块5传输回来的捡球反馈,接收传球模块6传输出来的传球反馈,并且计算运动员与篮球的直线距离,对捡球模块5发出捡球命令、对传球模块6发出传球命令。
[0116]所述捡球模块5在自动巡航机器人手臂上,在收到中心处理器模块的捡球命令后,控制自动巡航机器人捡起篮球,并反馈给中心处理器;
[0117]所述传球模块6在自动巡航机器人的手臂上,用于接收到中心处理器给出的传球命令时,传球给运动员。
[0118]综上所述,本发明提出的基于自动巡航机器人的投篮训练方法,实现了对篮球的自动跟踪,命令机器人完成捡球和传球任务;降低球队的人力成本,节省了运动员的时间和体力,提高了运动员的训练效率。
[0119]以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。