机器人及其定位方法和装置与流程

摘要: 本技术涉及定位领域,尤其涉及机器人及其定位方法和装置。背景技术:1、激光雷达(lidar)定位技术是移动机器人、自动驾驶车辆和服务机器人实现自主导航的核心技术之...
机器人及其定位方法和装置与流程

本技术涉及定位领域,尤其涉及机器人及其定位方法和装置。

背景技术:

1、激光雷达(lidar)定位技术是移动机器人、自动驾驶车辆和服务机器人实现自主导航的核心技术之一。激光雷达定位技术通常将实时采集的激光点云与预设地图点云进行匹配,从而估计机器人在地图中的精确位置和姿态。

2、传统的激光点云匹配方法主要包括icp(英文全称为iterative closest point,中文全称为迭代最近点)算法及其变种。icp算法对于当前帧的每个点,在地图中找到最近邻点,然后最小化所有点对之间的距离,迭代优化机器人位姿。这种基于点到点的匹配方法,在噪声环境下容易匹配不稳定,不利于提升定位精度。

技术实现思路

1、有鉴于此,本技术实施例提供了一种机器人及其定位方法和装置,以解决现有技术中对机器人进行定位时,在噪声环境下容易匹配不稳定,不利于提升定位精度的问题。

2、本技术实施例的第一方面提供了一种机器人的定位方法,所述方法包括:

3、获取当前场景的三维点云;

4、提取所述三维点云中包括的点云特征、线特征和平面特征,并确定当前场景的场景类型;

5、确定当前场景的场景类型,根据预设的场景类型与特征组合的对应关系,确定所述当前场景对应的特征组合,所述特征组合包括所述点云特征、线特征和平面特征中的至少两项;

6、根据所述特征组合进行定位。

7、结合第一方面,在第一方面的第一种可能实现方式中,所述场景类型包括退化场景,所述退化场景根据环境特征的特征方向的约束信息确定;

8、确定所述当前场景对应的特征组合,包括:

9、在所述当前场景为非退化场景时,确定所述当前场景对应的特征组合包括点云特征和平面特征;

10、根据所述特征组合进行定位,包括:

11、根据所述当前场景的平面特征与预设地图点云中的平面特征进行匹配,确定点到平面距离构建的第一几何约束,以及根据所述当前场景的点云特征与预设地图点云中的点云特征进行匹配,确定点云分布特征的第二几何约束;

12、根据所述第一几何约束和所述第二几何约束进行迭代优化,确定所述机器人的位姿。

13、结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述第二几何约束包括第二残差约束和第二雅可比矩阵;

14、根据所述当前场景的点云特征与预设地图点云中的点云特征进行匹配,确定点云分布特征的第二几何约束,包括:

15、将所述当前场景的三维点云与预设地图点云的点云表示为具有几何中心与协方差矩阵的点云单元;

16、为当前场景的三维点云中的点云单元在地图中搜索对应的点云单元,并基于两者中心点的距离构建第二残差约束;

17、构建第二雅可比矩阵,所述第二雅可比矩阵用于映射位姿变化对矢量差的影响,所述矢量差为所述当前场景的三维点云和预设地图点云中的点之间的矢量差。

18、结合第一方面,在第一方面的第三种可能实现方式中,所述场景类型包括退化场景,所述退化场景根据环境特征的特征方向的约束信息确定;

19、确定所述当前场景对应的特征组合,包括:

20、在所述当前场景为退化场景时,确定所述当前场景对应的特征组合包括线特征和平面特征;

21、根据所述特征组合进行定位,包括:

22、根据所述当前场景的平面特征与预设地图点云中的平面特征进行匹配,确定点到平面距离构建的第一几何约束,以及根据所述当前场景的线特征与预设地图点云中的线特征进行匹配,确定点到线距离构建的第三几何约束;

23、根据所述第一几何约束和所述第三几何约束进行迭代优化,确定所述机器人的位姿。

24、结合第一方面的第三种可能实现方式,在第一方面的第四种可能实现方式中,所述第一几何约束包括第一残差约束和第一雅可比矩阵,所述第三几何约束包括第三残差约束和第三雅可比矩阵;

25、根据所述当前场景的平面特征与预设地图点云中的平面特征进行匹配,确定点到平面距离构建的第一几何约束,包括:

26、将所述当前图像的平面特征点经位姿变换后,计算位姿变换后的三维点云中的点到所述地图平面的有向距离,并将该距离构建第一残差约束,构建第一雅可比矩阵,所述第一雅可比矩阵用于映射位姿变化对法向距离的影响,所述法向距离为所述三维点云中的点与所述预设地图中的平面的距离;

27、根据所述当前场景的线特征与预设地图点云中的线特征进行匹配,确定点到线距离构建的第三几何约束,包括:

28、将所述当前图像的线特征点进行位姿变换,确定当前图像的线特征点到所述地图的线的最短距离向量,并将所述距离向量构建第三残差约束,构建第三雅可比矩阵,所述第三雅可比矩阵用于映射位姿变化对垂直距离的影响,所述垂直距离为所述三维点云中的点与所述预设地图中的线之间的距离。

29、结合第一方面,在第一方面的第五种可能实现方式中,确定当前场景的场景类型,包括:

30、在第一次迭代时,获取所述当前场景的三维点云匹配的特征点对构建的线性化信息矩阵;

31、对所述信息矩阵进行特征值分解,得到所述信息矩阵的特征值和特征向量;

32、如果存在一个所述特征值小于预设的经验阈值,则确定所述机器人在该特征值对应的特征向量的方向上存在约束不足的退化风险,并确定所述当前场景的场景类型为退化场景,否则确定所述当前场景的场景类型为非退化场景。

33、结合第一方面,在第一方面的第六种可能实现方式中,提取所述三维点云中包括的平面特征包括:

34、根据预定的点数阈值,将所述三维点云划分为多个局部区域,每个局部区域中的点数小于所述点数阈值;

35、确定各个所述局部区域中的点到中心的分布情况确定协方差矩阵,并获取所述协方差矩阵的最小特征值;

36、在所述最小特征值小于预定的特征值阈值时,则确定所述局部区域位于同一平面,并提取所述平面的平面特征。

37、结合第一方面的第六种可能实现方式,在第一方面的第七种可能实现方式中,根据预定的点数阈值,将所述三维点云划分为多个局部区域,包括:

38、根据预定的空间分辨率,将所述三维点云划分为多个体素;

39、在每个体素中包括的点数大于所述点数阈值时,将所述体素划分为多个子级的体素,直到每个体素中的点数小于或等于所述点数阈值,或者划分的层数达到预定的最大层数,得到所划分的体素所确定的局部区域。

40、结合第一方面,在第一方面的第八种可能实现方式中,提取所述三维点云中包括的线特征,包括:

41、将所述三维点云中的点云,按照扫描线编号和列编号排列为二维距离图像,每个像素值对应点的深度信息;

42、在所述二维距离图像中,检测相邻点间的深度差值超过预设深度阈值的深度不连续区域,并将该区域及其邻域内的点进行标记;

43、计算未被标记的点与预设数量邻域点之间的深度变化程度,得到表征该点几何变化剧烈程度的平滑度值;

44、在每条扫描线上划分多个子区域,在每个子区域内,根据所述平滑度值筛选出平滑度大于设定平滑度阈值且未被标记的点作为线特征点,并在选取一个线特征点后,将其邻域点进行标记,基于所筛选出的线特征点确定所述三维点云的线特征。

45、本技术实施例的第二方面提供了一种机器人的定位装置,所述装置包括:

46、三维点云获取单元,用于获取当前场景的三维点云;

47、特征提取单元,用于提取所述三维点云中包括的点云特征、线特征和平面特征,并确定当前场景的场景类型;

48、特征组合确定单元,用于确定当前场景的场景类型,根据预设的场景类型与特征组合的对应关系,确定所述当前场景对应的特征组合,所述特征组合包括所述点云特征、线特征和平面特征中的至少两项;

49、定位单元,用于根据所述特征组合进行定位。

50、本技术实施例的第三方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,使得所述机器人实现如第一方面任一项所述的方法。

51、本技术实施例的第四方面,提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或其各实现方式中的方法。

52、本技术实施例的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述方法的步骤。

53、本技术实施例的第六方面提供了一种芯片,用于实现上述第一方面中各实现方式中的方法。具体地,上述芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有上述芯片的设备执行如上述第一方面或其各实现方式中的方法。

54、本技术实施例与现有技术相比存在的有益效果是:本技术实施例在进行机器人定位时,通过获取当前场景的三维点云,提取三维点云中包括的点云特征、线特征和平面特征,根据预设的场景类型与特征组合的对应关系,确定当前场景对应的特征组合进行定位,可有效地适配不同场景的定位要求,通过结合线特征、平面特征和点云信息,提供更为丰富几何约束,使系统在各种场景下能够更为可靠地进行匹配,有利于提升定位准确性。