一种移动机器人及其主控制器、定位系统与方法与流程

文档序号:12861891阅读:334来源:国知局
一种移动机器人及其主控制器、定位系统与方法与流程

本发明涉及移动机器人定位技术领域,特别涉及一种移动机器人及其主控制器、定位系统与方法。



背景技术:

随着时代的进步和发展,移动机器人的应用范围越来越广泛。随之而来的是,对定位功能的效率和精度要求的提高。对于室内应用的移动机器人,目前主流的方案是通过摄像头拍摄指定位置的二维码,然后识别拍摄到的二维码图片,获取二维码中保存的位置信息,从而实现对移动机器人的定位。

目前来说,从拍摄二维码到完成识别,典型的流程是:首先,图像信息从摄像头的cmos芯片传输到摄像头的处理芯片;其次,摄像头的处理芯片进行降噪、压缩等处理;然后,摄像头将图片通过网络传输给主控制器;接着,主控制器将压缩过的图片解压;最后,主控制器通过算法识别图片中二维码包含的位置信息。

根据图片像素大小、cpu处理能力、网络带宽、光照等条件差异,使用当前较高性能的硬件平台,从拍摄二维码到完成识别至少也需要20ms~50ms左右时间。由于移动机器人一直处于运动状态,目前室内移动机器人的运行速度普遍已经达到2m/s~3m/s。因此在识别完成时刻的实际位置与识别获取的位置信息存在4cm~15cm误差。

为了消除上述误差,目前常见的方案有:

第一种方法是,移动机器人在拍摄二维码时停止移动,直到二维码解析完成、获取位置信息后才开始重新移动;

第二种方法是,认为移动机器人做匀速运动(速度v)、从拍摄到完成识别的时间恒定(时间差t),因此补偿的值等于v×t;

第三种方法是,由摄像头直接进行二维码识别,减少网络输出、图片处理(降噪、压缩、解压等)的时间开销,并结合第二种方法进行一并的补偿。

第一种停下来拍摄的方案,使机器人每经过一个二维码会有减速、停顿和加速过程,会导致机器人的效率低下。目前实际较少采用。

第二种补偿方案,首先是对于使用了不同型号的摄像头和控制器的移动机器人,由于图片大小、cpu处理能力、网络带宽等条件各不相同,从拍摄到完成识别的时间差异巨大,甚至到达几十到几百毫秒,因此需要测定不同条件下的时间差;其次,由于不同现场的光照条件、地面条件不同,由此导致的从拍摄到完成识别的时间差异也可能在10ms以上;最后,由于移动机器人的运行姿态问题,导致拍摄到的图片中的二维码会普遍存在一定的旋转,由于旋转倾角大小不一样,会造成几个毫秒的识别时间误差。因此,这种补偿方法,首先需要对硬件进行标定,增加了工作量;其次,只能进行粗略的补偿,效果有限,无法实现精确的补偿。

第三种补偿方案,首先具备二维码识别功能的摄像头成本较高;其次,仍无法解决光照条件不同、地面条件不同、二维码存在旋转倾角等原因,导致每次识别时间不完全一致的问题。



技术实现要素:

本发明的目的是提供一种移动机器人及其主控制器、定位系统与方法,可以精确的得知移动机器人的位置偏移值,从而进行精确的位置校准。

为实现上述目的,本发明提供一种用于移动机器人的定位方法,包括:

按照预设时间间隔计算并记录移动机器人的理论位置坐标;

获取移动机器人在行走过程中拍摄的图形码的绝对位置坐标;

根据至少两个相邻的所述理论位置坐标得到在拍摄图形码时的时刻下所对应的推算位置坐标;

根据所述推算位置坐标和所述绝对位置坐标得到位置误差;

将所述位置误差补偿于移动机器人推算出的当前理论位置坐标。

相对于上述背景技术,本发明提供的定位方法,在移动机器人行走过程中,每间隔预设时间间隔便会计算并记录移动机器人的理论位置坐标,当移动机器人经过图形码中,在行走过程中拍摄图形码,利用图形码获知图形码所对应的绝对位置坐标;当移动机器人拍摄到图形码的这一时刻,利用理论位置坐标所对应的不同时刻得到移动机器人拍摄到图形码的这一时刻的推算位置坐标;也即以时间为基准,获知移动机器人到达图形码时的时刻,以及利用按照预设时间间隔计算并记录的理论位置坐标获知当移动机器人到达图形码时的时刻所对应的推算位置坐标;将推算位置坐标和绝对位置坐标进行对比,得到位置误差;在移动机器人拍摄到图形码的这一时刻直至计算得到位置误差这一过程中,移动机器人持续行走;当得到位置误差时,该时刻下的移动机器人的当前理论位置坐标通过位置误差进行补偿;由于从移动机器人拍摄到图形码的这一时刻直至计算得到位置误差这一过程中的持续时间通常为20ms~50ms,也即移动机器人在移动机器人拍摄到图形码的这一时刻之后继续行走了20ms~50ms所对应的距离;而20ms~50ms的时间不会产生足够的累积误差,因此可以直接将位置误差补偿于移动机器人在继续行走20ms~50ms所对应距离的当前理论位置坐标,从而确保精确获知移动机器人的当前精确坐标,精确校准移动机器人的位置。

优选地,所述按照预设时间间隔计算并记录移动机器人理论位置坐标的步骤包括:

根据移动机器人的最大运行速度v和定位精度q,并通过公式t=q/v计算得到最小时间间隔t;

根据所述最小时间间隔t确定所述预设时间间隔。

优选地,所述根据所述理论位置坐标得到在拍摄图形码时的时刻下所对应的推算位置坐标的步骤包括:

当在拍摄图形码时的时刻t为所述预设时间间隔的端点时,则所述推算位置坐标为该所述预设时间间隔的端点所对应的所述理论位置坐标;

当在拍摄图形码时的时刻t不为所述预设时间间隔的端点时,则所述推算位置坐标(xt,yt)通过以下公式计算:

其中:tn≤t≤tn+1,tn与tn+1为两个相邻的时间间隔的端点,

在tn时刻下所对应的理论位置坐标为(xn,yn);

在tn+1时刻下所对应的理论位置坐标为(xn+1,yn+1)。

优选地,所述根据所述推算位置坐标和所述绝对位置坐标得到位置误差的步骤包括:

根据所述推算位置坐标(xt,yt)和绝对位置坐标(x,y),并通过公式(δx,δy)=(x-xt,y-yt)计算得到所述位置误差(δx,δy)。

优选地,所述将所述位置误差补偿于移动机器人推算出的当前理论位置坐标的步骤包括:

当移动机器人的当前时刻tnow为某一所述预设时间间隔的端点时,则所述当前理论位置坐标为该所述预设时间间隔的端点所对应的当前理论位置坐标(xnow,ynow);利用所述当前理论位置坐标(xnow,ynow)和所述位置误差(δx,δy)并通过公式(xprecise,yprecise)=(xnow+δx,ynow+δy)计算得到当前精确坐标(xprecise,yprecise)。

本发明还提供一种用于移动机器人的定位系统,包括:

理论位置计算模块:用于按照预设时间间隔推算并记录移动机器人的理论位置坐标;

绝对位置获取模块:用于获取移动机器人在行走过程中拍摄的图形码的绝对位置坐标;

位置推算模块:用于根据所述理论位置坐标得到在拍摄图形码时的时刻下所对应的推算位置坐标;

位置误差获取模块:用于根据所述推算位置坐标和所述绝对位置坐标得到位置误差;

当前绝对位置模块:用于将所述位置误差补偿于移动机器人推算出的当前理论位置坐标。

优选地,所述理论位置计算模块包括:

最小时间间隔计算单元:用于根据移动机器人的最大运行速度v和定位精度q,并通过公式t=q/v计算得到最小时间间隔t;

预设时间间隔确定单元:用于根据所述最小时间间隔t确定所述预设时间间隔。

优选地,所述位置推算模块具体为:

时间间隔端点位置推算模块:用于当在拍摄图形码时的时刻t为所述预设时间间隔的端点时,则所述推算位置坐标为该所述预设时间间隔的端点所对应的所述理论位置坐标;

非时间间隔端点位置推算模块:用于当在拍摄图形码时的时刻t不为所述预设时间间隔的端点时,则所述推算位置坐标(xt,yt)通过以下公式计算:

其中:tn≤t≤tn+1,tn与tn+1为两个相邻的时间间隔的端点,

在tn时刻下所对应的理论位置坐标为(xn,yn);

在tn+1时刻下所对应的理论位置坐标为(xn+1,yn+1)。

本发明还提供一种用于移动机器人的主控制器,包括上述任一项所述的定位系统,还包括用以实现所述理论位置计算模块和所述绝对位置获取模块具备同步绝对时间的rtc模块。

本发明还提供一种移动机器人,其特征在于,包括上述的主控制器。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的用于移动机器人的定位方法的流程图;

图2为本发明实施例所提供的用于移动机器人的定位系统的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了使本技术领域的技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

请参考图1和图2,图1为本发明实施例所提供的用于移动机器人的定位方法的流程图;图2为本发明实施例所提供的用于移动机器人的定位系统的结构框图。

本发明提供的一种用于移动机器人的定位方法,如说明书附图1所示,主要包括:

s1、按照预设时间间隔计算并记录移动机器人的理论位置坐标;

s2、获取移动机器人在行走过程中拍摄的图形码的绝对位置坐标;

s3、根据至少两个相邻的所述理论位置坐标得到在拍摄图形码时的时刻下所对应的推算位置坐标;

s4、根据所述推算位置坐标和所述绝对位置坐标得到位置误差;

s5、将所述位置误差补偿于移动机器人推算出的当前理论位置坐标。

在步骤s1中,移动机器人在行走过程中,可以每隔预设时间间隔计算出移动机器人的理论位置坐标;举例来说,预设时间间隔可以为10ms,则当移动机器人开始行走时,得到在0ms下移动机器人的理论位置坐标,并记录;当移动机器人行走了10ms时,计算移动机器人行走10ms时的理论位置坐标,并记录;以此类推,得到时间所对应的理论位置坐标的表格等数组;在计算时,可以通过移动机器人的行走速度、行走方向等进行计算;而根据微分原理,对于一个很短暂的时间段,可以认为在该时间段内,移动机器人是做匀速运行,以方便计算。

在步骤s2中,移动机器人在行走过程中,经过图形码时,对图形码进行拍摄,从而获取图形码所蕴含的绝对位置坐标;继续以上述例子说明,假设当移动机器人行走15ms时,拍摄到图形码,并利用现有技术的手段得到绝对位置坐标;也即,移动机器人行走15ms时的绝对位置坐标可知;移动机器人在拍摄到图形码直至得到绝对位置坐标这一过程中,移动机器人持续行走。其中,图形码可以是二维码等。

在步骤s3中,移动机器人应获取移动机器人在拍摄到图形码时的时刻下,所对应的推算位置坐标;也即,移动机器人在拍摄到图形码时为15ms,通过步骤s1获得的表格等数组,计算得到在15ms时移动机器人的推算位置坐标,由于步骤s1所获得的表格等数组是通过行走速度、行走方向等进行计算得到的,因此存在一定的误差,由此计算得到的在15ms时移动机器人的推算位置坐标也应与图形码所蕴含的绝对位置坐标具有位置误差。

步骤s4即计算推算位置坐标与绝对位置坐标之间的位置误差;

步骤s5中将位置误差补偿于移动机器人推算出的当前理论位置坐标;也即,倘若移动机器人在拍摄到图形码直至得到绝对位置坐标这一过程中所需的时间为20ms~50ms,则通过步骤s1的方式计算出移动机器人在得到绝对位置坐标时所处的当前理论位置坐标,并将位置误差直接补偿于当前理论位置坐标,进而实现精确定位的目的。

针对上述步骤s1中,按照预设时间间隔计算并记录移动机器人理论位置坐标的步骤包括:

根据移动机器人的最大运行速度v和定位精度q,并通过公式t=q/v计算得到最小时间间隔t;

根据所述最小时间间隔t确定所述预设时间间隔。

假设移动机器人的最大运行速度为3m/s,定位精度要求为1cm,因此应至少按3.3ms(=0.01m÷3m/s)为间隔保存坐标值。最小时间间隔t为3.3ms;在实际应用中,为进一步提高精度,可以按1ms为间隔保存坐标值,也即预设时间间隔为1ms。

移动机器人的主控制器内就保存一个数据表,以1ms为间隔,记录了在各个时间点上的理论位置坐标。其中该数据表用的时间点,是主控制器的绝对时间。

步骤s2中根据所述理论位置坐标得到在拍摄图形码时的时刻下所对应的推算位置坐标的步骤包括:

当在拍摄图形码时的时刻t为所述预设时间间隔的端点时,则所述推算位置坐标为该所述预设时间间隔的端点所对应的所述理论位置坐标;

当在拍摄图形码时的时刻t不为所述预设时间间隔的端点时,则所述推算位置坐标(xt,yt)通过以下公式计算:

其中:tn≤t≤tn+1,tn与tn+1为两个相邻的时间间隔的端点,

在tn时刻下所对应的理论位置坐标为(xn,yn);

在tn+1时刻下所对应的理论位置坐标为(xn+1,yn+1)。

我们继续以上述例子说明,预设时间间隔可以为10ms,则当移动机器人开始行走时,得到在0ms下移动机器人的理论位置坐标,并记录;当移动机器人行走了10ms时,计算移动机器人行走10ms时的理论位置坐标,并记录;以此类推;

倘若移动机器人拍摄图形码时的时刻t恰好为10ms时,则10ms所对应的理论位置坐标即为推算位置坐标;

倘若移动机器人拍摄图形码时的时刻t为15ms时,由于通过步骤s1获得的表格等数组没有15ms时所对应的理论位置坐标(仅仅有10ms、20ms等数据),因此需要利用插值公式计算得出15ms所对应的推算位置坐标(xt,yt);

推算位置坐标(xt,yt)通过以下公式计算:

其中:tn≤t≤tn+1,tn与tn+1为两个相邻的时间间隔的端点,

在tn时刻下所对应的理论位置坐标为(xn,yn);

在tn+1时刻下所对应的理论位置坐标为(xn+1,yn+1)。

在这里,t即为15ms,tn即为10ms,tn+1即为20ms;10ms时刻下所对应的理论位置坐标为(xn,yn),20ms时刻下所对应的理论位置坐标为(xn+1,yn+1);(xn,yn)与(xn+1,yn+1)均为通过步骤s1可以计算得到的坐标值。

当然,针对15ms所对应的推算位置坐标(xt,yt)还可以采用数值分析中的其他插值公式获得,并不仅仅局限于本文所述的插值公式。

在步骤s4中,根据所述推算位置坐标和所述绝对位置坐标得到位置误差的步骤包括:

根据所述推算位置坐标(xt,yt)和绝对位置坐标(x,y),并通过公式(δx,δy)=(x-xt,y-yt)计算得到所述位置误差(δx,δy)。

显而易见地,计算得到推算位置坐标(xt,yt)之后,将通过图形码所获取的绝对位置坐标(x,y)与推算位置坐标(xt,yt)做减法,从而得到位置误差(δx,δy)。

在步骤s5中,将所述位置误差补偿于移动机器人推算出的当前理论位置坐标的步骤包括:

当移动机器人的当前时刻tnow为某一所述预设时间间隔的端点时,则所述当前理论位置坐标为该所述预设时间间隔的端点所对应的当前理论位置坐标(xnow,ynow);利用所述当前理论位置坐标(xnow,ynow)和所述位置误差(δx,δy)并通过公式(xprecise,yprecise)=(xnow+δx,ynow+δy)计算得到当前精确坐标(xprecise,yprecise)。

继续以上述例子说明,预设时间间隔可以为10ms,则当移动机器人开始行走时,得到在0ms下移动机器人的理论位置坐标,并记录;当移动机器人行走了10ms时,计算移动机器人行走10ms时的理论位置坐标,并记录;以此类推;倘若移动机器人拍摄图形码时的时刻t为15ms时,得到位置误差(δx,δy);此时得到位置误差(δx,δy)时移动机器人已经持续行走了50ms;按照步骤s1的方式获取50ms时移动机器人的当前理论位置坐标(xnow,ynow);并将位置误差(δx,δy)补偿于(xnow,ynow),得到在50ms时移动机器人的当前精确坐标(xprecise,yprecise)。

本发明还提供一种用于移动机器人的定位系统,如说明书附图2所示,包括:

理论位置计算模块101:用于按照预设时间间隔推算并记录移动机器人的理论位置坐标;

绝对位置获取模块102:用于获取移动机器人在行走过程中拍摄的图形码的绝对位置坐标;

位置推算模块103:用于根据所述理论位置坐标得到在拍摄图形码时的时刻下所对应的推算位置坐标;

位置误差获取模块104:用于根据所述推算位置坐标和所述绝对位置坐标得到位置误差;

当前绝对位置模块105:用于将所述位置误差补偿于移动机器人推算出的当前理论位置坐标。

其中,理论位置计算模块101包括:

最小时间间隔计算单元:用于根据移动机器人的最大运行速度v和定位精度q,并通过公式t=q/v计算得到最小时间间隔t;

预设时间间隔确定单元:用于根据所述最小时间间隔t确定所述预设时间间隔。

位置推算模块103具体为:

时间间隔端点位置推算模块:用于当在拍摄图形码时的时刻t为所述预设时间间隔的端点时,则所述推算位置坐标为该所述预设时间间隔的端点所对应的所述理论位置坐标;

非时间间隔端点位置推算模块:用于当在拍摄图形码时的时刻t不为所述预设时间间隔的端点时,则所述推算位置坐标(xt,yt)通过以下公式计算:

其中:tn≤t≤tn+1,tn与tn+1为两个相邻的时间间隔的端点,

在tn时刻下所对应的理论位置坐标为(xn,yn);

在tn+1时刻下所对应的理论位置坐标为(xn+1,yn+1)。

本发明还提供一种用于移动机器人的主控制器,包括上述任一项所述的定位系统,还包括用以实现所述理论位置计算模块101和所述绝对位置获取模块102具备同步绝对时间的rtc模块。

从移动机器人的角度看,其核心是主控制器。主控制器通过连接摄像头得到包含有图形码的图片,然后主控器识别该图片得到图形码中包含有的绝对位置坐标;同时主控制器连接行走装置驱动器,驱动行走装置让移动机器人开始移动。在本发明的具体实施例中,主控制器与摄像头之间可以通过高速以太网进行连接。当然,也可以使用usb等其他通信方式。

主控制器具备rtc模块,具有一个独立的绝对时间。同时摄像头向主控制器进行时间同步,从而使摄像头也得到了绝对时间。

在本发明的具体实施例中,主控制器与摄像头之间基于采用以太网的ieee1588“网络测量和控制系统的精密时钟同步协议标准”进行时间同步,同步精度高于10us。当然,也可以使用ntp、秒脉冲等其他同步方式来实现。

在移动机器人行走过程中,摄像头拍摄到包含图形码的图片。由于摄像头已经在步骤s2中获得了绝对时间,因此摄像头可知拍摄时刻的绝对时间为t。然后,摄像头将带有时间戳t的图片数据发送给主控制器。如此设置,主控制器和摄像头之间进行的时间同步;摄像头给拍摄的图片打上包含绝对时间信息的时间戳;主控制器的位置内推单元在内存中记录了在各时间点推算出坐标值。

本发明还提供一种移动机器人,包括上述的主控制器。移动机器人的其他部分可以参照现有技术,本文不再展开。

本发明提供的移动机器人,摄像头和主控制器之间增加时间同步功能后,可以为所有拍摄到的图片增加绝对时间时间戳。即使机器人在解析图片的过程中继续移动,也可以将解析出来的位置信息和图片时间戳相联系。然后可以精确的得到在特定时刻,实际位置和主控制器计算的机器人位置。然后可以得出机器人的位置偏移值,进行精确的位置校准。

需要说明的是,在本说明书中,诸如第一和第二之类的关系术语仅仅用来将一个实体与另外几个实体区分开来,而不一定要求或者暗示这些实体之间存在任何这种实际的关系或者顺序。

以上对本发明所提供的移动机器人及其主控制器、定位系统与方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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