发明内容
为解决上述技术问题,本发明的目的在于:提供一种巡检效率高的机器人、机器人的运动自适应方法和系统。
本发明所采取的第一种技术方案是:
一种机器人的运动自适应方法,包括以下步骤:
获取机器人的运动速度参数;所述运动速度参数包括机器人在X轴方向和Y轴方向的运动速度值;
获取摄像头拍摄的第一图像;所述第一图像中包含识别标签;
根据第一图像得到机器人与识别标签之间的第一相对位置关系;第一相对位置关系包括在拍摄第一图像时,机器人与识别标签在X轴方向和Y轴方向的相对距离;
根据第一相对位置关系和机器人运动速度参数,计算机器人的运动时间控制量;所述运动时间控制量包括在X轴方向的控制量和在Y轴方向的控制量;
根据运动时间控制量驱动机器人移动;
在机器人运动一段时间后,获取摄像头拍摄的第二图像;所述第二图像中包含识别标签;
根据第二图像得到机器人与识别标签之间的第二相对位置关系;第二相对位置关系包括在拍摄第二图像时,机器人与识别标签在X轴方向和Y轴方向的相对距离;
根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间、运动速度参数、第一相对位置关系和第二相对位置关系,得到运动时间控制量的调整系数;所述调整系数包括在X轴方向的调整系数和在Y轴方向的调整系数;
根据调整系数调整运动时间控制量,根据调整后的运动时间控制量驱动机器人移动。
进一步,所述根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间、运动速度参数、第一相对位置关系和第二相对位置关系,得到运动时间控制量的调整系数,这一步骤具体包括:
根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间,以及机器人的运动速度参数,计算机器人在X轴方向和Y轴方向的理论运动距离;
根据第一相对位置关系和第二相对位置关系,得到机器人在X轴方向和Y轴方向的实际运动距离;
根据机器人在X轴方向的理论运动距离和实际运动距离,得到机器人在X轴方向的运动时间控制量的调整系数;
根据机器人在Y轴方向的理论运动距离和实际运动距离,得到机器人在Y轴方向的运动时间控制量的调整系数。
进一步,所述机器人在X轴方向的运动时间控制量的调整系数和机器人在Y轴方向的运动时间控制量的调整系数的计算公式为:
其中,axn表示当前计算的机器人在X轴方向的运动时间控制量的调整系数,ax(n-1)表示上一次计算的机器人在X轴方向的运动时间控制量的调整系数,ayn表示当前计算的机器人在Y轴方向的运动时间控制量的调整系数,ay(n-1)表示上一次计算的机器人在X轴方向的运动时间控制量的调整系数,n大于等于1且为正整数,ay0=ax0=1,Lx表示当前机器人在X轴方向的理论运动距离,Sx表示当前机器人在X轴方向的实际运动距离,Ly表示当前机器人在Y轴方向的理论运动距离,Sy表示当前机器人在Y轴方向的实际运动距离,α和β为设定系数,且α+β=1。
进一步,所述识别标签为ArUco标签。
进一步,在所述获取摄像头拍摄的第一图像,这一步骤之前还包括以下步骤:
接收来自服务器的任务指令,获取任务指令中的识别标签的数据。
本发明所采取的第二种技术方案是:
一种机器人的运动自适应系统,包括:
存储器,用于存储程序;
处理器,用于加载所述程序以执行一种机器人的运动自适应方法。
本发明所采取的第三种技术方案是:
一种机器人,包括摄像头、驱动机构和处理器,所述处理器分别与摄像头和驱动机构通信连接,所述处理器和摄像头均安装在驱动机构上;
所述摄像头用于拍摄图像;
所述处理器用于执行运动自适应方法,所述方法包括以下步骤:
获取机器人的运动速度参数;所述运动速度参数包括机器人在X轴方向和Y轴方向的运动速度值;
获取摄像头拍摄的第一图像;所述第一图像中包含识别标签;
根据第一图像得到机器人与识别标签之间的第一相对位置关系;第一相对位置关系包括在拍摄第一图像时,机器人与识别标签在X轴方向和Y轴方向的相对距离;
根据第一相对位置关系和机器人运动速度参数,计算机器人的运动时间控制量;所述运动时间控制量包括在X轴方向的控制量和在Y轴方向的控制量;
根据运动时间控制量向驱动机构发送控制信号;
在机器人运动一段时间后,获取摄像头拍摄的第二图像;所述第二图像中包含识别标签;
根据第二图像得到机器人与识别标签之间的第二相对位置关系;第二相对位置关系包括在拍摄第二图像时,机器人与识别标签在X轴方向和Y轴方向的相对距离;
根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间、运动速度参数、第一相对位置关系和第二相对位置关系,得到运动时间控制量的调整系数;所述调整系数包括在X轴方向的调整系数和在Y轴方向的调整系数;
根据调整系数调整运动时间控制量,根据调整后的运动时间控制量向驱动机构发送控制信号;
所述驱动机构用于根据处理器控制信号带动机器人在X轴方向和/或在Y轴方向匀速运动。
进一步,所述根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间、运动速度参数、第一相对位置关系和第二相对位置关系,得到运动时间控制量的调整系数,这一步骤具体包括:
根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间,以及机器人的运动速度参数,计算机器人在X轴方向和Y轴方向的理论运动距离;
根据第一相对位置关系和第二相对位置关系,得到机器人在X轴方向和Y轴方向的实际运动距离;
根据机器人在X轴方向的理论运动距离和实际运动距离,得到机器人在X轴方向的运动时间控制量的调整系数;
根据机器人在Y轴方向的理论运动距离和实际运动距离,得到机器人在Y轴方向的运动时间控制量的调整系数。
进一步,所述机器人的运动时间控制量在X轴方向的调整系数和在Y轴方向的调整系数的计算公式为:
其中,axn表示当前计算的机器人在X轴方向的运动时间控制量的调整系数,ax(n-1)表示上一次计算的机器人在X轴方向的运动时间控制量的调整系数,ayn表示当前计算的机器人在Y轴方向的运动时间控制量的调整系数,ay(n-1)表示上一次计算的机器人在X轴方向的运动时间控制量的调整系数,n大于等于1且为正整数,ay0=ax0=1,Lx表示当前机器人在X轴方向的理论运动距离,Sx表示当前机器人在X轴方向的实际运动距离,Ly表示当前机器人在Y轴方向的理论运动距离,Sy表示当前机器人在Y轴方向的实际运动距离,α和β为设定系数,α+β=1。
进一步,还包括通信模块,所述通信模块用于接收来自服务器的任务指令,所述通信模块与处理器通信连接,所述处理器根据服务器的任务指令执行所述运动自适应方法。
本发明的有益效果是:本发明通过时间控制量调整机器人的运动状态,使得机器人可以在匀速状态下移动,减少速度变更的次数,使得机器人运动更加平稳流畅;同时,本发明在机器人运动一段时间后,根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间、运动速度参数、第一相对位置关系和第二相对位置关系来计算时间控制量的调整系数,并根据调整系数来调整运动时间控制量,形成负反馈,使得机器人的运动更加精确,从而减少机器人姿态调整次数,提升了机器人的巡检效率。
具体实施方式
下面结合说明书附图和具体的实施例对本发明进行进一步的说明。
如图1所示,机器人100与识别标签200在X轴方向上的相对距离为xr,在Y轴方向上的相对距离为yr。本实施例为了便于本领域技术人员理解本方案,以机器人100正面朝向的方向作为Y轴的正方向建立坐标系。机器人100在执行本方案之前可以通过原地旋转等方式调整姿态以寻找识别标签,一般情况下识别标签贴在机柜上,因此可以通过跟踪识别标签来使机器人运动到机柜面前。
参照图2,一种机器人的运动自适应方法,包括以下步骤:
S101、获取机器人的运动速度参数;所述运动速度参数包括机器人在X轴方向和Y轴方向的运动速度值。由于受到机房场地的限制,机器人在机房内做匀速运动比较符合实际情况,因此可以预先设定机器人的运动速度参数。其中机器人在X轴方向和Y轴方向上的运动速度是可以相同或者不同的。
S102、获取摄像头拍摄的第一图像;所述第一图像中包含识别标签。即能够从第一图像中识别出识别标签。
S103、根据第一图像得到机器人与识别标签之间的第一相对位置关系;第一相对位置关系包括在拍摄第一图像时,机器人与识别标签在X轴方向和Y轴方向的相对距离;在本步骤,可以根据识别标签的大小形状以及识别标签在第一图像中的距离来确定机器人与识别标签在X轴方向和Y轴方向的相对距离。
S104、根据第一相对位置关系和机器人运动速度参数,计算机器人的运动时间控制量;所述运动时间控制量包括在X轴方向的控制量和在Y轴方向的控制量。其中,X轴方向的控制量tx可以通过机器人与识别标签在X轴方向的相对距离xr和机器人在X轴上的速度vx求得。同理,Y轴方向的控制量ty可以通过机器人与识别标签在Y轴方向的相对距离yr和机器人在Y轴上的速度vy求得。如下式:
机器人会根据相对距离的值判断机器人的运动方向。
S105、根据运动时间控制量驱动机器人移动。所求的运动时间控制量为时间,例如在X轴方向的控制量10秒,在Y轴方向的控制量为10秒。机器人可以根据设定规则,先在X轴方向运动10秒,再在Y轴方向运动10秒,或者在X轴方向和Y轴方向同时运动10秒。
S106、在机器人运动一段时间后,获取摄像头拍摄的第二图像;所述第二图像中包含识别标签。在机器人运动一段时间后,机器人与识别标签之间的相对位置发生了变化,通过再次采集图像,可以得知当前机器人与识别标签之间的相对位置。
S107、根据第二图像得到机器人与识别标签之间的第二相对位置关系;第二相对位置关系包括在拍摄第二图像时,机器人与识别标签在X轴方向和Y轴方向的相对距离;
S108、根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间、运动速度参数、第一相对位置关系和第二相对位置关系,得到运动时间控制量的调整系数;所述调整系数包括在X轴方向的调整系数和在Y轴方向的调整系数。
根据第一相对位置关系和第二相对位置关系,可以求得机器人在X轴方向和Y轴方向的实际运动距离,同时,根据机器人在X轴方向和Y轴方向的运动时间以及机器人的运动速度参数,可以求得机器人在X轴方向和Y轴方向的理论运动距离。而实际上机器人的实际运动速度和运动速度参数之间是存在偏差的,因此可以通过机器人在X轴方向和Y轴方向的理论运动距离和实际运动距离求算两者之间的偏差,并获得一个调整系数。
S109、根据调整系数调整运动时间控制量,根据调整后的运动时间控制量驱动机器人移动。经过调整系数调整后的运动时间控制量更加准确。
参照图3,作为优选的实施例,步骤S108具体包括:
S1081、根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间,以及机器人的运动速度参数,计算机器人在X轴方向和Y轴方向的理论运动距离,所述理论运动距离的计算公式如下:
Lx表示机器人在X轴方向的理论运动距离,tx表示机器人在X轴方向的运动时间,Ly表示机器人在Y轴方向的理论运动距离,ty表示机器人在Y轴方向的运动时间。
S1082、根据第一相对位置关系和第二相对位置关系,得到机器人在X轴方向和Y轴方向的实际运动距离;
当前标签距离机器人的位置关系(xr,yr),上次的标签距离机器人的位置关系(x'r,y'r),此时真实的运动距离Sx和Sy可以用下式计算:
S1083、根据机器人在X轴方向的理论运动距离和实际运动距离,得到机器人在X轴方向的运动时间控制量的调整系数。
S1084、根据机器人在Y轴方向的理论运动距离和实际运动距离,得到机器人在Y轴方向的运动时间控制量的调整系数。将理论运动距离和实际运动距离相除,可以得到一个粗略的调整系数。可以用该粗略的调整系数对运动时间控制量进行反馈调整。
作为优选的实施例,为了提升调整系数的精度。所述机器人在X轴方向的运动时间控制量的调整系数和机器人在Y轴方向的运动时间控制量的调整系数的计算公式为:
其中,axn表示当前计算的机器人在X轴方向的运动时间控制量的调整系数,ax(n-1)表示上一次计算的机器人在X轴方向的运动时间控制量的调整系数,ayn表示当前计算的机器人在Y轴方向的运动时间控制量的调整系数,ay(n-1)表示上一次计算的机器人在X轴方向的运动时间控制量的调整系数,n大于等于1且为正整数,ay0=ax0=1,Lx表示当前机器人在X轴方向的理论运动距离,Sx表示当前机器人在X轴方向的实际运动距离,Ly表示当前机器人在Y轴方向的理论运动距离,Sy表示当前机器人在Y轴方向的实际运动距离,α和β为设定系数,且α+β=1。本公式根据上一次得到的调整系数对当前的调整系数进行调整,可以使得机器人计算得到的调整系数越来越精确。将得到的调整系数与时间控制量相乘得到修正后的时间控制量。
作为优选的实施例,所述识别标签为ArUco标签。ArUco标签以及其识别技术比较成熟,能够提升识别速度,以增加机器人的处理效率。
作为优选的实施例,在所述获取摄像头拍摄的第一图像,这一步骤之前还包括以下步骤:
接收来自服务器的任务指令,获取任务指令中的识别标签的数据。机器人根据服务器的任务指令来追踪识别标签,因此任务指令中,包含识别标签的数据,以区分到底要跟踪哪一个识别标签。
一种机器人的运动自适应系统,包括:
存储器,用于存储程序;
处理器,用于加载所述程序以执行如图1所示的一种机器人的运动自适应方法。
参照图4,一种机器人,包括摄像头、驱动机构和处理器,所述处理器分别与摄像头和驱动机构通信连接,所述处理器和摄像头均安装在驱动机构上;
所述驱动机构包括电源、电机和轮子,所述轮子可以是万向轮。所述摄像头可以采用现有的高清摄像头实现。
所述摄像头用于拍摄图像;
所述处理器用于执行运动自适应方法,参照图5,所述方法包括以下步骤:
S501、获取机器人的运动速度参数;所述运动速度参数包括机器人在X轴方向和Y轴方向的运动速度值;由于受到机房场地的限制,机器人在机房内做匀速运动比较符合实际情况,因此可以预先设定机器人的运动速度参数。其中机器人在X轴方向和Y轴方向上的运动速度是可以相同或者不同的。
S502、获取摄像头拍摄的第一图像;所述第一图像中包含识别标签;即能够从第一图像中识别出识别标签。
S503、根据第一图像得到机器人与识别标签之间的第一相对位置关系;第一相对位置关系包括在拍摄第一图像时,机器人与识别标签在X轴方向和Y轴方向的相对距离;在本步骤,可以根据识别标签的大小形状以及识别标签在第一图像中的距离来确定机器人与识别标签在X轴方向和Y轴方向的相对距离。
S504、根据第一相对位置关系和机器人运动速度参数,计算机器人的运动时间控制量;所述运动时间控制量包括在X轴方向的控制量和在Y轴方向的控制量。其中,X轴方向的控制量tx可以通过机器人与识别标签在X轴方向的相对距离xr和机器人在X轴上的速度vx求得。同理,Y轴方向的控制量ty可以通过机器人与识别标签在Y轴方向的相对距离yr和机器人在Y轴上的速度vy求得。如下式:
机器人会根据相对距离的值判断机器人的运动方向。
S505、根据运动时间控制量向驱动机构发送控制信号;所求的运动时间控制量为时间,例如在X轴方向的控制量10秒,在Y轴方向的控制量为10秒。机器人可以根据设定规则,先在X轴方向运动10秒,再在Y轴方向运动10秒,或者在X轴方向和Y轴方向同时运动10秒。
S506、在机器人运动一段时间后,获取摄像头拍摄的第二图像;所述第二图像中包含识别标签。在机器人运动一段时间后,机器人与识别标签之间的相对位置发生了变化,通过再次采集图像,可以得知当前机器人与识别标签之间的相对位置。
S507、根据第二图像得到机器人与识别标签之间的第二相对位置关系;第二相对位置关系包括在拍摄第二图像时,机器人与识别标签在X轴方向和Y轴方向的相对距离;
S508、根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间、运动速度参数、第一相对位置关系和第二相对位置关系,得到运动时间控制量的调整系数;所述调整系数包括在X轴方向的调整系数和在Y轴方向的调整系数。
根据第一相对位置关系和第二相对位置关系,可以求得机器人在X轴方向和Y轴方向的实际运动距离,同时,根据机器人在X轴方向和Y轴方向的运动时间以及机器人的运动速度参数,可以求得机器人在X轴方向和Y轴方向的理论运动距离。而实际上机器人的实际运动速度和运动速度参数之间是存在偏差的,因此可以通过机器人在X轴方向和Y轴方向的理论运动距离和实际运动距离求算两者之间的偏差,并获得一个调整系数。
S509、根据调整系数调整运动时间控制量,根据调整后的运动时间控制量向驱动机构发送控制信号。经过调整系数调整后的运动时间控制量更加准确。
所述驱动机构用于根据处理器控制信号带动机器人在X轴方向和/或在Y轴方向匀速运动。
参照图6,作为优选的实施例,所述步骤S508具体包括:
S5081、根据在获取第一图像和第二图像的时间间隔内机器人在X轴方向和Y轴方向的运动时间,以及机器人的运动速度参数,计算机器人在X轴方向和Y轴方向的理论运动距离。其中,理论运动距离的计算公式如下:
Lx表示机器人在X轴方向的理论运动距离,tx表示机器人在X轴方向的运动时间,Ly表示机器人在Y轴方向的理论运动距离,ty表示机器人在Y轴方向的运动时间。
S5082、根据第一相对位置关系和第二相对位置关系,得到机器人在X轴方向和Y轴方向的实际运动距离;
当前标签距离机器人的位置关系(xr,yr),上次的标签距离机器人的位置关系(x'r,y'r),此时真实的运动距离Sx和Sy可以用下式计算:
S5083、根据机器人在X轴方向的理论运动距离和实际运动距离,得到机器人在X轴方向的运动时间控制量的调整系数;
S5084、根据机器人在Y轴方向的理论运动距离和实际运动距离,得到机器人在Y轴方向的运动时间控制量的调整系数。将理论运动距离和实际运动距离相除,可以得到一个粗略的调整系数。可以用该粗略的调整系数对运动时间控制量进行反馈调整。
作为优选的实施例,为了提升调整系数的精度。所述机器人的运动时间控制量在X轴方向的调整系数和在Y轴方向的调整系数的计算公式为:
其中,axn表示当前计算的机器人在X轴方向的运动时间控制量的调整系数,ax(n-1)表示上一次计算的机器人在X轴方向的运动时间控制量的调整系数,ayn表示当前计算的机器人在Y轴方向的运动时间控制量的调整系数,ay(n-1)表示上一次计算的机器人在X轴方向的运动时间控制量的调整系数,n大于等于1且为正整数,ay0=ax0=1,Lx表示当前机器人在X轴方向的理论运动距离,Sx表示当前机器人在X轴方向的实际运动距离,Ly表示当前机器人在Y轴方向的理论运动距离,Sy表示当前机器人在Y轴方向的实际运动距离,α和β为设定系数,α+β=1。本公式根据上一次得到的调整系数对当前的调整系数进行调整,可以使得机器人计算得到的调整系数越来越精确。将得到的调整系数与时间控制量相乘得到修正后的时间控制量。
参照图4,作为优选的实施例,还包括通信模块,所述通信模块用于接收来自服务器的任务指令,所述通信模块与处理器通信连接,所述处理器根据服务器的任务指令执行所述运动自适应方法。
对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。