机器人、机器人打滑处理方法、装置和可读存储介质与流程

文档序号:33152755发布日期:2023-02-03 23:10阅读:101来源:国知局
机器人、机器人打滑处理方法、装置和可读存储介质与流程

1.本发明涉及机器人领域,特别涉及一种机器人、机器人打滑处理方法、装置和可读存储介质。


背景技术:

2.机器人在运行过程中,若遇到地面潮湿、异物阻塞轮子、机器人过坎等情况,可能会导致机器人打滑。机器人打滑使得机器人搭载的里程计输出错误的数据,导致机器人建图和定位质量不高、甚至错误,还可能导致机器人运动控制出现问题。当机器人具有智能识别并处理打滑时,打滑对于定位和建图系统造成的影响才会降低。现有的机器人打滑处理方法在判断机器人打滑后,仍然不能使机器人重新定位。


技术实现要素:

3.本技术提供一种机器人、机器人打滑处理方法、装置和可读存储介质,以克服现有的机器人打滑处理方法在机器人打滑后不能使机器人重新定位。
4.一方面,本技术提供了一种机器人,所述机器人搭载轮式里程计和激光雷达,所述机器人包括:
5.存储器和处理器;
6.所述存储器存储有可执行程序代码;
7.与所述存储器耦合的所述处理器,调用所述存储器中存储的可执行程序代码,执行如下机器人打滑处理方法,所述方法包括:
8.将所述轮式里程计获取的第一运动数据与所述激光雷达获取的第二运动数据同步,所述第一运动数据包括所述机器人的第一平移增量和第一旋转角速度增量,所述第二运动数据包括所述机器人的第二平移增量和第二旋转角速度增量;
9.根据同一时刻的第一差值和/或第二差值,判断所述机器人是否打滑,所述第一差值为所述第一平移增量和第二平移增量之间的差值,所述第二差值为所述第一旋转角速度增量与所述第二旋转角速度增量之间的差值;
10.若所述机器人打滑,则通过激光雷达获取的点云数据采用预设算法对所述机器人的当前位姿进行重新确定。
11.另一方面,本技术提供了一种机器人打滑处理装置,所述装置包括:
12.同步模块,用于将所述轮式里程计获取的第一运动数据与所述激光雷达获取的第二运动数据同步,所述第一运动数据包括所述机器人的第一平移增量和第一旋转角速度增量,所述第二运动数据包括所述机器人的第二平移增量和第二旋转角速度增量;
13.判断模块,用于根据同一时刻的第一差值和/或第二差值,判断所述机器人是否打滑,所述第一差值为所述第一平移增量和第二平移增量之间的差值,所述第二差值为所述第一旋转角速度增量与所述第二旋转角速度增量之间的差值;
14.确定模块,用于若所述机器人打滑,则通过激光雷达获取的点云数据采用预设算
法对所述机器人的当前位姿进行重新确定。
15.第三方面,本技术提供了一种机器人打滑处理方法,所述方法包括:
16.将轮式里程计获取的第一运动数据与激光雷达获取的第二运动数据同步,所述第一运动数据包括所述机器人的第一平移增量和第一旋转角速度增量,所述第二运动数据包括所述机器人的第二平移增量和第二旋转角速度增量;
17.根据同一时刻的第一差值和/或第二差值,判断所述机器人是否打滑,所述第一差值为所述第一平移增量和第二平移增量之间的差值,所述第二差值为所述第一旋转角速度增量与所述第二旋转角速度增量之间的差值;
18.若所述机器人打滑,则通过激光雷达获取的点云数据采用预设算法对所述机器人的当前位姿进行重新确定。
19.第四方面,本技术提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序用于被处理器执行时实现机器人打滑处理方法,所述机器人打滑处理方法为上述机器人实现的所述机器人打滑处理方法。
20.从上述本技术提供的技术方案可知,在判断机器人打滑后,通过激光雷达获取的点云数据采用预设算法对打滑的机器人重新确定位姿,由于激光雷达能够获取到足够的点云数据,而后续采用的预设算法在定位方面具有算法成熟等优势,因此,能够使得打滑后的机器人迅速重新精确定位。
附图说明
21.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是本技术实施例提供的机器人的结构示意图;
23.图2是本技术实施例提供的机器人打滑处理方法的流程图;
24.图3是本技术实施例提供的机器人打滑处理装置的结构示意图;
25.图4是本技术实施例提供的设备的结构示意图。
具体实施方式
26.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
28.在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。
29.请参阅附图1,本技术一实施例提供的机器人的结构示意图,该机器人搭载有轮式里程计和激光雷达,例如,飞行时间(time of flight)激光雷达等。
30.为了便于说明,仅示出了与本技术实施例相关的部分。该机器人可包括:
31.存储器10和处理器20,处理器20为机器人的运算和控制核心,是信息处理、程序运行的最终执行单元。存储器10例如硬盘驱动存储器,非易失性存储器(例如闪存或用于形成固态驱动器的其它电子可编程限制删除的存储器等),易失性存储器(例如静态或动态随机存取存储器等)等,本技术实施例不作限制。
32.存储器10中存储有可执行程序代码;与存储器10耦合的处理器20调用存储器10中存储的所述可执行程序代码,执行如下机器人打滑处理方法:将轮式里程计获取的第一运动数据与激光雷达获取的第二运动数据同步;根据同一时刻的第一差值和/或第二差值,判断所述机器人是否打滑,所述第一差值为所述第一平移增量和第二平移增量之间的差值;若所述机器人打滑,则通过所述激光雷达获取的点云数据采用预设算法对所述机器人的位姿进行重新确定;其中,第一运动数据包括机器人的第一平移增量和第一旋转角速度增量,第二运动数据包括机器人的第二平移增量和第二旋转角速度增量,第一差值为第一平移增量和第二平移增量之间的差值,第二差值为第一旋转角速度增量与第二旋转角速度增量之间的差值。
33.在可选实施例中,第一运动数据可以是轮式里程计(自带处理功能)直接获取,也可以是该轮式里程计获取到多帧原始里程计数据,也可以通过处理器将多帧原始里程计数据进行计算处理后得到的数据。类似的,第二运动数据可以是激光雷达(自带处理功能)直接获取的数据,也可以该激光雷达获得多帧原始激光雷达数据(点云数据)进行计算处理后得到的数据,这里不做限定。
34.参阅图2,是本技术实施例提供的一种机器人打滑处理方法,该机器人搭载有轮式里程计和激光雷达,例如,飞行时间(time of flight)激光雷达等,主要包括步骤s201至步骤s203,说明如下:
35.步骤s201:将轮式里程计获取的第一运动数据与激光雷达获取的第二运动数据同步,其中,第一运动数据包括机器人的第一平移增量和第一旋转角速度增量,第二运动数据包括机器人的第二平移增量和第二旋转角速度增量。
36.在本技术实施例中,机器人的第一平移增量包括由轮式里程计获取的机器人在二维坐标系的x轴方向的位移增量dx和y轴方向的位移增量dy,第一旋转角速度增量包括由轮式里程计获取的机器人旋转角速度增量dq,机器人的第二平移增量包括由激光雷达获取的机器人在x轴方向的位移增量dx'和y轴方向的位移增量dy',第二旋转角速度增量包括由激光雷达获取的机器人旋转角速度增量dq'。
37.由于不同的传感器,即使硬件同步以后也存在采样频率不一致的差异,因此,存在激光雷达和轮式里程计获取的运动数据在时间戳上不同步的问题,这种数据的不同步将为两种传感器在后续做数据方面的融合带来障碍,从而需要将轮式里程计获取的第一运动数据与激光雷达获取的第二运动数据同步。无论是轮式里程计还是激光雷达,其在输出一帧数据时均对应有一个时间戳,用于记录该数据产生或输出的时刻。作为本技术一个实施例,将轮式里程计获取的第一运动数据与激光雷达获取的第二运动数据同步可以是:读取第二运动数据当前帧的时间戳lidar
time
以及n+1帧第一运动数据中首帧的时间戳odom
time(0)
和末
帧的时间戳odom
time(n)
,若时间戳lidar
time
位于时间戳odom
time(0)
和时间戳odom
time(n)
之间,则读取时间戳为odom
time(a)
对应的第一运动数据odom
data(a)
和时间戳为odom
time(b)
对应的第一运动数据odom
data(b)
;根据时间戳imu
time
、时间戳odom
time(a)
、时间戳odom
time(b)
、第一运动数据odom
data(a)
和第一运动数据odom
data(b)
,采用插值算法计算得到时间戳与时间戳lidar
time
对齐的第一运动数据odom
time(c)
,此处,n为大于或等于1的自然数,第一运动数据odom
data(a)
和第一运动数据odom
data(b)
为第二运动数据当前帧前后相邻的两帧第一运动数据。考虑到线性插值算法具有简单易行、计算量小等优点,上述实施例的采用插值算法计算得到时间戳与时间戳lidar
time
对齐的第一运动数据odom
data(c)
可以是采用线性插值算法计算得到时间戳与时间戳lidar
time
对齐的第一运动数据odom
data(c)
,具体为根据如下公式计算得到时间戳与时间戳lidar
time
对齐的第一运动数据odom
data(c)

[0038][0039]
上述实施例中,若时间戳lidar
time
不在时间戳odom
time(0)
和时间戳odom
time(n)
之间,例如,lidar
time
《odom
time(0)
或odom
time(n)
《lidar
time
,则当lidar
time
《odom
time(0)
时,放弃对第二运动数据当前帧的处理,直至激光雷达获取的一帧第二运动数据的时间戳位于时间戳odom
time(0)
和时间戳odom
time(n)
之间时再按照上述实施例处理,当odom
time(n)
《lidar
time
时,等待轮式里程计获取第一运动数据,直至轮式里程计的第一运动数据队列中的数据的时间戳重新满足odom
time(0)
《lidar
time
《odom
time(n)
时再按照上述实施例处理。
[0040]
步骤s202:根据同一时刻的第一差值和/或第二差值,判断机器人是否打滑,其中,第一差值为第一平移增量和第二平移增量之间的差值,第二差值为第一旋转角速度增量与第二旋转角速度增量之间的差值。
[0041]
此处记第一旋转角速度增量为dq,第二旋转角速度增量为dq'。在本技术一个实施例中,根据同一时刻的第一差值和第二差值,判断机器人是否打滑可以是:计算同一时刻第一平移增量和第二平移增量之间的第一绝对差值fabs-1以及第一旋转角速度增量与第二旋转角速度增量之间的第二绝对差值fabs-2,若第一绝对差值fabs-1大于第一预设阈值的持续时间超过第一预设时间段和/或第二绝对差值fabs-2大于第二预设阈值的持续时间超过第二预设时间段,则确定机器人打滑,即,记第一预设阈值为d
thre_1
,第二预设阈值为d
thre_2
,若|dx-dx'|=fabs-1》d
thre_1
或/和|dy-dy'|=fabs-1》d
thre_1
的持续时间超过第一预设时间段,和/或若|dq-dq'|=fabs-2》d
thre_2
的持续时间超过第二预设时间段,则确定机器人打滑。显然,fabs-1或fabs-2越大,则机器人打滑程度越严重。
[0042]
在本技术另一实施例中,根据同一时刻的第一差值和第二差值,判断机器人是否打滑可以是:计算同一时刻第一平移增量和第二平移增量之间的第一绝对差值fabs-1以及第一旋转角速度增量与第二旋转角速度增量之间的第二绝对差值fabs-2,若第一绝对差值fabs-1大于第一预设阈值的多帧数据持续帧数超过第一预设帧数和/或第二绝对差值fabs-2大于第二预设阈值的多帧数据持续帧数超过第二预设帧数,则确定机器人打滑,即,记第一预设阈值为d
thre_1
,第二预设阈值为d
thre_2
,若|dx-dx'|=fabs-1》d
thre_1
或/和|dy-dy'|=fabs-1》d
thre_1
的多帧数据持续帧数超过第一预设帧数,和/或若|dq-dq'|=fabs-2》d
thre_2
的多帧数据持续帧数超过第二预设帧数,则确定机器人打滑。显然,fabs-1或fabs-2越大,则机器人打滑程度越严重。
[0043]
步骤s203:若机器人打滑,则通过激光雷达获取的点云数据采用预设算法对机器人的当前位姿进行重新确定。
[0044]
机器人打滑,意味着对基于里程计所输出的传感数据计算的机器人的位姿的计算可能会存在误差,从而导致后面的建图、定位等一系列误差,需要对机器人的位姿进行重新确定。在本技术实施例中,是通过粒子滤波算法和激光雷达获取的点云数据对机器人的位姿进行重新确定。需要说明的是,在本实施例中,激光雷达获取的点云数据既可以包括激光雷达获取的当前点云数据,又可以包括之前历史点云数据。
[0045]
在本技术一个实施例中,通过激光雷达获取的点云数据采用预设算法对机器人的当前位姿进行重新确定可以通过如下步骤sa2031至步骤sa2035实现:
[0046]
步骤sa2031:获取激光雷达扫描得到的当前点云数据和机器人开始打滑时的首次点云数据。
[0047]
当前点云数据是机器人位于当前位置时,激光雷达对周围环境的扫描后,激光束打到环境中的障碍物后返回,根据激光束的往返计算得到该障碍物的方位信息,进而形成点云信息。
[0048]
在可选实施例中,由于判断机器人出现打滑需要持续预设时间段或者预设帧数的,导致从机器人开始打滑时到确定机器人打滑这部分的位姿都有一定的不精准性,而机器人开始打滑时的位姿是相对精准的,因此需要基于机器人开始打滑时的位姿来更正当前的位姿。
[0049]
具体的,获取激光雷达扫描得到的当前点云数据和机器人开始打滑时的首次点云数据。
[0050]
其中,由于轮式里程计以及激光雷达的频率有所区别,当前点云数据是对应机器人确定打滑时的时间节点最近的点云数据,也有可能是对应机器人确定打滑时的时间节的点云数据。首次点云数据是对应机器人在开始打滑时的时间节点最近的点云数据,也有可能是对应机器人在开始打滑时的时间节点的点云数据。因此当前点云数据也有可能是对应机器人确定打滑时的时间节点的点云数据。
[0051]
步骤sa2032:基于首次点云数据和当前点云数据计算出机器人的位移数据。
[0052]
随后基于首次点云数据和当前点云数据来计算出机器人的位移数据,即通过比对首次点云数据和当前点云数据来计算出机器人的位移数据,即机器人的位移增量,包括位置增量以及朝向角增量。
[0053]
步骤sa2033:利用位移数据以及机器人开始打滑时的首次粒子群,获取机器人的预测粒子群,预测粒子群包括多个目标采样粒子。
[0054]
随后利用位移数据和机器人开始打滑时的首次粒子群,进而获取到机器人的预测粒子群。
[0055]
在可选实施例中,机器人在定位时,会采样多个可能的粒子组成一个粒子群,粒子群中的每个粒子均对应机器人的一个位姿信息,一般而言一个粒子群会存在预设数量的粒子,如6-10个,且可以在这个数量范围内波动。在确定位姿时,会从粒子群中的多个粒子选取一个置信度最高的粒子,并将其对应的位姿信息作为机器人的位姿信息。或者也可以从多个粒子选取置信度排名前几的几个粒子的对应的位姿信息的平均值,作为机器人的位姿信息。
[0056]
在可选实施例中,机器人开始打滑时的首次粒子群是机器人打滑时的时间节点对应的粒子群,也可以是与首次点云数据对应的粒子群。
[0057]
随后,利用位移数据来对首次粒子群进行处理,从而获取机器人的预测粒子群,预测粒子群包括多个目标采样粒子。
[0058]
其具体步骤包括,由于位移数据即为机器人的位置增量以及朝向角增量,因此基于位移数据计算首次粒子群,从而确定多个预测粒子,即对于首次粒子群中的多个首次粒子,均可以利用位移数据来计算每个首次粒子,从而得到对应的预测粒子。
[0059]
随后利用高斯模型,在多个预测粒子周边随机分布多个目标采样粒子,使所述多个目标采样粒子落入栅格地图的非占据区域,即落入栅格地图的空白区域,并将落入栅格地图的占据区域(存在障碍物的区域)中目标采样粒子,所述多个目标采样粒子形成所述预测粒子群。
[0060]
即可选地,每个预测粒子周边均随机分布有多个目标采样粒子,且该预测粒子对应的多个目标采样粒子呈高斯分布,可选地多个目标采样粒子中的一个可以与原预测粒子重合,这些目标采样粒子组成预测粒子群。
[0061]
其具体可以通过如下公式来计算这些采样粒子:
[0062][0063]
其中,x
t
和x
t-1
分别为机器人在t时刻和t-1时刻世界坐标系下的横轴坐标,y
t
和y
t-1
分别为机器人在t时刻和t-1时刻世界坐标系下的纵轴坐标,q
t
和q
t-1
分别为机器人在t时刻和t-1时刻的朝向,dx
t-1
、dy
t-1
和dq
t-1
为位移数据(即位置增量和朝向角增量),和为高斯噪声。
[0064]
步骤sa2034:根据当前点云数据对多个目标采样粒子进行置信度评估,得到多个目标采样粒子的置信度。
[0065]
所谓粒子的置信度,是基于该粒子与栅格地图获得的点云信息与当前点云数据的匹配度。即对于每个粒子而言,均会对应有一个位姿,因此基于该位姿和栅格地图可以获得该位姿所观测到点云信息,即假设机器人位于该位姿时,所能看到的点云信息。
[0066]
随后将该点云信息与机器人的当前点云数据,即机器人实际观测到的点云数据进行比对,如果匹配度越高,证明该粒子对应的位姿越接近机器人的实际位姿,也即证明该粒子的置信度越高。
[0067]
通过上述方式,可以对每个粒子的匹配度进行评估,从而获取该粒子的置信度。
[0068]
步骤sa2035:根据多个目标采样粒子对应的当前可能位姿和置信度,获取当前粒子群并输出当前目标位姿。
[0069]
步骤sa2035实现可以是选取多个目标采样粒子中置信度大于阈值的多个目标采样粒子或从按照置信度的降值排序的多个目标采样粒子中从大到小选取预设数量个目标采样粒子组成当前粒子群。
[0070]
即从多个目标采样粒子中,选取置信度大于阈值的多个目标采样粒子来组成当前粒子群,并将其他采样粒子剔除。或者是将多个目标采样粒子按照置信度的降序进行排序,
并从置信度从大到小选取预设数量个目标采样粒子组成当前粒子群。具体采用哪种方法,这里均不作限定。
[0071]
然后,基于当前粒子群中所有目标采样粒子对应的位姿的平均值确定当前目标位姿或从将当前粒子群中所有目标采样粒子中置信度最大的目标采样粒子对应的位姿确定为当前目标位姿。
[0072]
从上述附图2示例的机器人打滑处理方法可知,在判断机器人打滑后,通过粒子滤波算法和激光雷达获取的点云数据对打滑的机器人重新确定位姿,由于激光雷达能够获取到足够的点云数据,而后续采用的预设算法(如粒子滤波算法)在定位方面具有算法成熟等优势,因此,能够使得打滑后的机器人迅速重新精确定位。且可选地,本技术一方面利于点云数据和里程计获取的原始里程计数据来确定是否打滑,另一方面也可以使用点云数据进一步对机器人重新定位,有效的减少了传感器的数量要求。
[0073]
请参阅图3,是本技术实施例提供的一种机器人打滑处理装置,该装置可以是机器人的中央处理单元或者其中的功能模块,该机器人搭载有轮式里程计和激光雷达,该装置可以包括同步模块301、判断模块302和确定模块303,详述如下:
[0074]
同步模块301,用于将轮式里程计获取的第一运动数据与激光雷达获取的第二运动数据同步,其中,第一运动数据包括机器人的第一平移增量和第一旋转角速度增量,第二运动数据包括机器人的第二平移增量和第二旋转角速度增量;
[0075]
判断模块302,用于根据同一时刻的第一差值和/或第二差值,判断机器人是否打滑,其中,第一差值为第一平移增量和第二平移增量之间的差值,第二差值为第一旋转角速度增量与第二旋转角速度增量之间的差值;
[0076]
确定模块303,用于若机器人打滑,则通过激光雷达获取的点云数据采用预设算法对机器人的位姿进行重新确定。
[0077]
其中,上述各模块的原理请参见上文实施例对应的内容,此处不再赘述。
[0078]
从附图3示例的装置可知,在判断机器人打滑后,通过粒子滤波算法和激光雷达获取的点云数据对打滑的机器人重新确定位姿,由于激光雷达能够获取到足够的点云数据,而粒子滤波算法在定位方面具有算法成熟等优势,因此,能够使得打滑后的机器人迅速重新精确定位。
[0079]
图4是本技术一实施例提供的设备的结构示意图。如图4所示,该实施例的设备4可以是一种机器人或者其中的模块,主要包括:处理器40、存储器41以及存储在存储器41中并可在处理器40上运行的计算机程序42,例如机器人打滑处理方法的程序。处理器40执行计算机程序42时实现上述机器人打滑处理方法实施例中的步骤,例如图2所示的步骤s201至s203。或者,处理器40执行计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图4所示同步模块301、判断模块302和确定模块303的功能。
[0080]
示例性地,机器人打滑处理方法的计算机程序42主要包括:将轮式里程计获取的第一运动数据与激光雷达获取的第二运动数据同步,其中,第一运动数据包括机器人的第一平移增量和第一旋转角速度增量,第二运动数据包括机器人的第二平移增量和第二旋转角速度增量;根据同一时刻的第一差值和第二差值,判断机器人是否打滑,其中,第一差值为第一平移增量和第二平移增量之间的差值,第二差值为第一旋转角速度增量与第二旋转角速度增量之间的差值;若机器人打滑,则通过激光雷达获取的点云数据采用预设算法对
机器人的位姿进行重新确定。计算机程序42可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器41中,并由处理器40执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序42在设备4中的执行过程。例如,计算机程序42可以被分割成同步模块301、判断模块302和确定模块303(虚拟装置中的模块)的功能,各模块具体功能如下:同步模块301,用于将轮式里程计获取的第一运动数据与激光雷达获取的第二运动数据同步,其中,第一运动数据包括机器人的第一平移增量和第一旋转角速度增量,第二运动数据包括机器人的第二平移增量和第二旋转角速度增量;判断模块302,用于根据同一时刻的第一差值和第二差值,判断机器人是否打滑,其中,第一差值为第一平移增量和第二平移增量之间的差值,第二差值为第一旋转角速度增量与第二旋转角速度增量之间的差值;确定模块303,用于若机器人打滑,则通过激光雷达获取的点云数据采用预设算法对机器人的位姿进行重新确定。
[0081]
设备4可包括但不仅限于处理器40、存储器41。本领域技术人员可以理解,图4仅仅是设备4的示例,并不构成对设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算设备还可以包括输入输出设备、网络接入设备、总线等。
[0082]
所称处理器40可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0083]
存储器41可以是设备4的内部存储单元,例如设备4的硬盘或内存。存储器41也可以是设备4的外部存储设备,例如设备4上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器41还可以既包括设备4的内部存储单元也包括外部存储设备。存储器41用于存储计算机程序以及设备所需的其他程序和数据。存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
[0084]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即,将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0085]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0086]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0087]
在本技术所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0088]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0089]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0090]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非临时性计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,机器人打滑处理方法的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即,将轮式里程计获取的第一运动数据与激光雷达获取的第二运动数据同步,其中,第一运动数据包括机器人的第一平移增量和第一旋转角速度增量,第二运动数据包括机器人的第二平移增量和第二旋转角速度增量;根据同一时刻的第一差值和第二差值,判断机器人是否打滑,其中,第一差值为第一平移增量和第二平移增量之间的差值,第二差值为第一旋转角速度增量与第二旋转角速度增量之间的差值;若机器人打滑,则通过激光雷达获取的点云数据采用粒子滤波对机器人的位姿进行重新确定。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。非临时性计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读内存(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,非临时性计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,非临时性计算机可读介质不包括电载波信号和电信信号。以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。以上所述的具体实施方式,对本技术的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本技术的具体实施方式而已,并不用于限定本技术的保护范围,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1