一种移动机器人的作业路径数据的压缩方法与流程

文档序号:26355895发布日期:2021-08-20 20:30阅读:176来源:国知局
一种移动机器人的作业路径数据的压缩方法与流程

本发明涉及机器人技术领域,具体涉及一种移动机器人的作业路径数据的压缩方法。



背景技术:

目前,移动机器人广泛应用于工业、农业、医疗、服务等行业中。并且,在实际应用中,通常由多个移动机器人共同协作完成作业任务。且,移动机器人在作业时,需要周期上报给服务端其自身的坐标位置,以便于随时查看与修正其作业路径。

然而,机器人受作业区域地形、作业量级等问题的影响,可能会导致机器人的坐标位置并未变化或位置极其相近,相同的作业路径数据量上报过大,影响了作业路径的处理和查看效率。

为了减少服务端保存过多的相同的作业路径数据,现有技术通常会采用道格拉斯-普克算法,对一段时间的路径点数量进行压缩,以减少作业路径坐标位置的数量,解决数据量过大的问题。但是,这种压缩方式,在一定程度上会损失路径关键点,致使作业路径的展示效果不精确。

有鉴于此,急需对现有的移动机器人作业路径数据压缩方法进行改进,以使作业路径的展示效果更精准。



技术实现要素:

针对上述缺陷,本发明所要解决的技术问题在于提供一种移动机器人的作业路径数据的压缩方法,以解决现有技术,作业路径展示不精确的问题。

为此,本发明提供了一种移动机器人的作业路径数据的压缩方法,包括以下步骤:

加载一段时间内移动机器人的原始作业路径点;

利用所述原始作业路径点,计算获得机器人在相邻的每两个原始作业路径点之间的行动速度,生成速度数组;

采用滑动窗口算法对所述速度数组计算,获得移动机器人的关键路径点,并加入到关键路径点数组中;

将原始作业路径点集合用道格拉斯-普克算法进行压缩,得到第一数组;

将关键路径点数组中的原始作业路径点插入到第一数组中,获得压缩后的作业路径点。

在上述方法中,优选地,滑动窗口的尺寸为所述速度数组的长度的1/10加1并向上取整,窗口滑动步长为窗口尺寸的一半并向下取整。

在上述方法中,优选地,获得移动机器人的关键路径点的方法如下:

利用所述行动速度数组,计算滑动窗口内机器人的窗口平均速度,再根据所述窗口平均速度计算获得机器人在该滑动窗口内的移动距离;

在原始作业路径点集合中获得与所述移动距离最接近的路径点,记为关键路径点。

在上述方法中,优选地,以滑动窗口中的第一个路径点为圆心,以移动距离为半径,在原始作业路径点集合中获得与所述移动距离最接近的路径点,记为所述关键路径点。

在上述方法中,优选地,第n次移动滑动窗口后,获得相应关键路径点的方法如下:

在原始作业路径点集合中的[len2×n,len2×n+len1)]的区间内,遍历除第len2×n路径点之外的其他路径点,并分别计算与第len2×n路径点的距离;

上述距离与所述移动距离之间距离最短的路径点为所述关键路径点;

len1为滑动窗口的尺寸,len2为滑动窗口的步长。

在上述方法中,优选地,根据原始作业路径点的位置变化频率调整滑动窗口的窗口尺寸和滑动步长。

由上述技术方案可知,本发明提供的移动机器人的作业路径数据的压缩方法,解决了现有技术道格拉斯-普克算法,作业路径的展示效果不精确。

与现有技术相比,本发明具有以下有益效果:

采用滑动窗口算法对移动机器人的动作速度进行计算,获得移动机器人的关键路径点,并加入到采用原始作业路径点集合用道格拉斯-普克算法进行压缩的数组中,从而能够保留作业路径上的关键点,提高了作业路径的展示精确性。

附图说明

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

图1为本发明提供的一种移动机器人的作业路径数据的压缩方法流程图。

具体实施方式

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

本发明的实现原理是:

将移动机器人的原始作业路径点集合用道格拉斯-普克算法进行压缩,得到第一数组;

采用滑动窗口算法对机器人的速度数组计算,获得移动机器人的关键路径点,并加入第一数组中。

本发明提供的方案,由于在道格拉斯-普克算法进行压缩后,再次插入了关键路径点,因此,提高了显示的准确性。

为了对本发明的技术方案和实现方式做出更清楚地解释和说明,以下介绍实现本发明技术方案的几个优选的具体实施例。

需要说明的是,本文中“内、外”、“前、后”及“左、右”等方位词是以产品使用状态为基准对象进行的表述,显然,相应方位词的使用对本方案的保护范围并非构成限制。

请参见图1,图1为本发明提供的一种移动机器人的作业路径数据的压缩方法,该方法包括以下步骤:

步骤110,加载一段时间t内,移动机器人的原始作业路径点数据wi(xi,yi)。例如,加载如下表1所示的10组原始作业路径点数据。

表1。

步骤120,遍历每一个原始作业路径点,计算获得该移动机器人在相邻的每两个原始作业路径点之间的距离sj,近而计算获得移动机器人在这两个原始作业路径点之间的行动速度vj。

每两个原始作业路径点之间的时间间隔均为常数值t0(t0为设定值,例如t0=1秒)。每两个原始作业路径点之间的距离为sj,则vj=sj/t0。

所有的原始作业路径点全部遍历完成后,将得到的每两个原始作业路径点之间的行动速度vj存入行动速度数组中,记为v_array。

以上述表1所示的原始作业路径点数据为例,行动速度数组v_array结果如下:

v_array(8.60,6.32,4.47,10.05,14.00,14.32,4.24,12.08,18.60,5.66,14.87,4.47,9.43,5.83,10.63,4.12,3.61,8.94,9.22,5.00)。

步骤130,针对速度数组v_array,采用滑动窗口算法计算机器人在每一次滑动窗口的窗口平均速度vak。

在原始作业路径点的位置变化频率较大的情况下,可将滑动窗口的窗口尺寸、窗口滑动步长进行缩小处理;在原始作业路径点的位置变化频率较小的情况下可将滑动窗口的窗口尺寸、窗口滑动步长进行放大处理。

本实施例中,滑动窗口的尺寸len1设置为由速度数组v_array的长度的1/10加上1并向上取整获得,记为len1=ceiling(2+1)=3。

滑动窗口的滑动步长len2设置为由滑动窗口尺寸len1的一半并向下取整获得,记为len2=floor(3/2)=1。

步骤140,根据窗口平均速度vak和窗口大小(滑动窗口尺寸len1和时间间隔t0),计算获得机器人在该滑动窗口内的移动距离sm,sm=vak×t0×len1。

在上述实施例中,各滑动窗口的平均速度vak以及机器人在该滑动窗口内的移动距离sm的计算结果如表2所示。

表2。

例如:

第4次滑动窗口(n=4),va4=(v4+v5+v6)/3=(10.05+14.00+14.32)/3=12.79;

机器人在该窗口内相对于起始点的移动距离为sm=va4×t0×len1=12.79×1×3=38.37。

步骤150,在原始作业路径点集合中的第[len2×n,len2×n+len1)]的区间内,遍历除第len2×n路径点之外的其他全部路径点,并计算其他路径点与第len2×n路径点之间的距离(x1,y1)为第len2×n路径点的坐标,(x2,y2)为其他路径点的坐标,从而获得最接近sm的一个路径点(距离d与sm的差值最小),将其坐标记为key_point_n,将key_point_n放入关键路径点数组key_point_array中。

核心思路就是寻找一个以第len2×n路径点为圆心,sm为半径的圆内,在(len2×n,len2×n+len1]区间内的一个最靠近圆周或者直接在圆周上的路径点,将其作为关键路径点进行保留。

在圆周上,即sm=d的情况。

如果有多个路径点在圆周上,则取序号最接近第len2×n的路径点。

使用这种方法普遍情况下,能把一些道格拉斯算法忽略的点给重新挑拣出来。

例如:n=4。

区间[len2×n,len2×n+len1]为[4,7],即从第4-7个原始作业路径点中获得与sm最近的点,其定义为路径关键点,加入到关键路径点数组key_point_array中。

重复步骤140、步骤150,直到滑动窗口至原始作业路径点数据的最后一个,获得全部的路径关键点,并加入到关键路径点数组key_point_array中。

步骤160,将原始作业路径点集合用道格拉斯-普克算法进行压缩,得到点集合point_array数组,即第一数组。

步骤170,将步骤150中的key_point_array数组中的点,按照坐标相对关系插入到第一数组point_array中,生成压缩后的作业路径点数据。

与现有技术相比,本发明提供的方法具有以下优点:

第一、在道格拉斯-普克算法进行压缩后,再次插入了关键路径点,提高了显示的准确性。

第二、采用滑动窗口算法对移动机器人的动作速度计算获得窗口移动距离,在原始作业路径点集合中的第[len2×n,len2×n+len1)]的区间内,计算其他路径点与第len2×n路径点之间的距离,最接近的一个路径点记为关键路径点,算法简单、高效。

最后,还需要说明的是,在本文中使用的术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个…"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

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