线激光传感器的标定方法及装置、机器人、存储介质与流程
未命名
08-29
阅读:93
评论:0

1.本技术涉及机器人技术领域,特别涉及一种线激光传感器的标定方法及装置、机器人、计算机可读存储介质。
背景技术:
2.随着机器人行业的快速发展,更加智能和高效的机器人广泛应用于生活的方方面面,给人们的生活带来便利。应用于清洁领域的清洁机器人可以基于自身搭载的多种传感器获取外部信息,然后对获取到的信息融合,借助融合的信息控制机器人执行清洁任务。清洁机器人在出厂前需对传感器进行标定,传感器的标定精度会影响清洁机器人对外界环境的感知精度。因此,亟需一种线激光传感器的标定方案,以对清洁机器人所搭载的几个线激光传感器进行精准标定。
技术实现要素:
3.本技术实施例的目的在于提供一种线激光传感器的标定方法及装置、机器人、计算机可读存储介质,用于对线激光传感器进行标定,准确获得标定结果。
4.一方面,本技术提供了一种线激光传感器的标定方法,应用于机器人,所述机器人搭载多个线激光传感器,包括:
5.针对至少一个线激光传感器,基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数;其中,所述搜索位置指示所述线激光传感器在机器人坐标系下的预测位置;
6.选择评估分数靠前的指定数量的搜索位置,作为精配准初值;
7.在每一精配准初值的基础上,通过icp精配准算法对所述线激光传感器对应的斜激光点云与所述标准点云进行配准,得到候选转换矩阵,并将所述候选转换矩阵换算为标定参数,得到多组标定参数;
8.根据理论真值和所述多组标定参数之间的差异,确定每组标定参数对应的总偏差;
9.选择所述总偏差最小的一组标定参数,作为所述线激光传感器的精配准结果。
10.在一实施例中,所述机器人搭载深度相机;
11.在所述针对至少一个线激光传感器,基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数之前,所述方法还包括:
12.在所述机器人处于与任一线激光传感器对应的点云采集位置的情况下,控制当前点云采集位置对应的线激光传感器针对目标障碍物,采集斜激光点云;
13.控制所述深度相机,针对所述目标障碍物采集所述线激光传感器对应的标准点云;
14.通过ransac算法对所述斜激光点云进行分割,得到斜激光障碍物点云和斜激光地
面点云;
15.通过ransac算法对所述标准点云进行分割,得到标准障碍物点云和标准地面点云;
16.将所述斜激光障碍物点云、所述斜激光地面点云、所述标准障碍物点云和所述标准地面点云,分别转换至所述机器人坐标系下,并按照指定数据格式进行存储。
17.在一实施例中,在所述针对至少一个线激光传感器,基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数之前,所述方法还包括:
18.针对任一线激光传感器,以所述线激光传感器在机器人坐标系下的理论位置为中心,以机器人坐标系的x轴和y轴为搜索方向,基于预设搜索步长和预设搜索步数,生成多个搜索位置。
19.在一实施例中,所述斜激光点云包括斜激光障碍物点云和斜激光地面点云,所述标准点云包括标准障碍物点云和标准地面点云;
20.所述基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数,包括:
21.计算所述斜激光地面点云与所述标准地面点云指示的平面之间的第一距离均值;
22.针对每一搜索位置,通过kdtree算法计算所述斜激光障碍物点云与所述标准障碍物点云的最小距离总和,并以所述最小距离总和确定第二距离均值,得到多个第二距离均值;
23.基于所述第一距离均值和对应于各个搜索位置的第二距离均值,确定每一搜索位置对应的评估分数。
24.在一实施例中,所述标定参数包括x轴偏移量、y轴偏移量、z轴偏移量、俯仰角、偏航角和滚转角,所述理论真值包括理论x轴偏移量、理论y轴偏移量、理论z轴偏移量、理论俯仰角、理论偏航角和理论滚转角;
25.所述根据理论真值和所述多组标定参数之间的差异,确定每组标定参数对应的总偏差,包括:
26.针对任意一组标定参数,分别计算所述标定参数中x轴偏移量、y轴偏移量、z轴偏移量、俯仰角、偏航角和滚转角,与所述理论真值中理论x轴偏移量、理论y轴偏移量、理论z轴偏移量、理论俯仰角、理论偏航角和理论滚转角之间的子偏差,得到多个子偏差;
27.判断任意一组标定参数对应的多个子偏差,是否存在至少一个子偏差大于预设偏差阈值;
28.若否,基于所述标定参数对应的多个子偏差,确定所述总偏差。
29.在一实施例中,所述机器人搭载平激光传感器,所述平激光传感器为激光发射方向水平的线激光传感器,所述方法还包括:
30.在所述机器人处于任一线激光传感器对应的精度评估位置的情况下,控制当前精度评估位置对应的线激光传感器对指定障碍物的平整平面,采集评估点云;
31.控制所述平激光传感器对所述指定障碍物的平整平面,采集平激光点云,并基于所述平激光点云,构建直线方程;
32.通过ransac算法从所述评估点云分割出评估障碍物点云,并确定所述评估障碍物
点云与所述直线方程的目标距离均值;
33.在获得每一线激光传感器对应的目标距离均值后,对多个目标距离均值加权求和,得到标定评估结果。
34.在一实施例中,所述基于所述平激光点云,构建直线方程,所述方法还包括:
35.从所述平激光点云中,裁切出与所述机器人平行等长的子点云,并基于所述子点云构建直线方程。
36.另一方面,本技术提供了一种线激光传感器的标定装置,应用于机器人,所述机器人搭载多个线激光传感器,包括:
37.评估模块,用于针对至少一个线激光传感器,基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数;其中,所述搜索位置指示所述线激光传感器在机器人坐标系下的预测位置;
38.第一选择模块,用于选择评估分数靠前的指定数量的搜索位置,作为精配准初值;
39.精配准模块,用于在每一精配准初值的基础上,通过icp精配准算法对所述线激光传感器对应的斜激光点云与所述标准点云进行配准,得到候选转换矩阵,并将所述候选转换矩阵换算为标定参数,得到多组标定参数;
40.确定模块,用于根据理论真值和所述多组标定参数之间的差异,确定每组标定参数对应的总偏差;
41.第二选择模块,用于选择所述总偏差最小的一组标定参数,作为所述线激光传感器的精配准结果。
42.进一步的,本技术提供了一种机器人,所述机器人包括:
43.处理器;
44.用于存储处理器可执行指令的存储器;
45.其中,所述处理器被配置为执行上述线激光传感器的标定方法。
46.此外,本技术提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述线激光传感器的标定方法。
47.本技术方案,可以通过粗配准评估和icp精配准,对线激光传感器进行标定,准确获得标定结果。
附图说明
48.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍。
49.图1为本技术一实施例提供的机器人的结构示意图;
50.图2为本技术一实施例提供的线激光传感器的标定方法的流程示意图;
51.图3为本技术一实施例提供的点云获取方法的流程示意图;
52.图4为本技术一实施例提供的点云采集场景的示意图;
53.图5为本技术一实施例提供的点云获取的示意图;
54.图6为本技术一实施例提供的搜索位置的生成方式的示意图;
55.图7为本技术一实施例提供的图2中步骤210的细节流程示意图;
56.图8为本技术一实施例提供的评估分数的确定方法的流程示意图;
57.图9为本技术一实施例提供的图2中步骤240的细节流程示意图;
58.图10为本技术一实施例提供的精配准的总偏差确定流程示意图;
59.图11为本技术一实施例提供的标定结果的评估方法的流程示意图;
60.图12为本技术一实施例提供的标定结果的评估示意图;
61.图13为本技术一实施例提供的标定结果的评估方法的示意图;
62.图14为本技术一实施例提供的线激光传感器的标定装置的框图。
具体实施方式
63.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
64.相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
65.如图1所示,本实施例提供一种机器人1,包括:至少一个处理器11和存储器12,图1中以一个处理器11为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使机器人1可执行下述的实施例中方法的全部或部分流程。在一实施例中,机器人1可以是清洁机器人,用于执行线激光传感器的标定方法。
66.存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory,简称eprom),可编程只读存储器(programmable red-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
67.本技术还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可由处理器11执行以完成本技术提供的线激光传感器的标定方法。
68.参见图2,为本技术一实施例提供的线激光传感器的标定方法的流程示意图,如图2所示,该方法可以包括以下步骤210-步骤250。
69.步骤210:针对至少一个线激光传感器,基于线激光传感器对应的斜激光点云和标准点云,对线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数;其中,搜索位置指示线激光传感器在机器人坐标系下的预测位置。
70.本技术方案应用于机器人,机器人搭载多个线激光传感器,各个线激光传感器在机器人机身各位置按照斜向下的方向安装,用于采集机身周边物体的点云。由于线激光传感器斜向下采集点云,本技术中将其采集的点云称为斜激光点云。机器人所搭载的线激光传感器的数量和线激光传感器的安装位置,可以根据需要进行配置。示例性的,斜向下安装的线激光传感器可以有三个,分别安装于机器人机身的前侧、左侧和右侧。
71.斜激光点云为线激光传感器所采集的目标障碍物的点云。标准点云是目标障碍物的理论真实点云,换而言之,标准点云可认为真实反映目标障碍物的位置信息。目标障碍物可以根据应用场景进行选择。示例性的,目标障碍物可以是机器人工作场所中常见的障碍物,比如,墙体阳角、电器、家具等。
72.每一线激光传感器存在对应的多个搜索位置,每一搜索位置表示线激光传感器在机器人坐标系下的预测位置。各个线激光传感器在安装到机器人机身上之后,可能出现安装误差,预测位置指的是考虑安装误差之后线激光传感器可能的位置。
73.在对至少一个线激光传感器进行标定时,针对该线激光传感器对应的多个搜索位置,可以分别以斜激光点云和标准点云进行粗配准评估,从而得到每一搜索位置对应的评估分数。该评估分数越大,说明评估分数对应的搜索位置越有可能是线激光传感器实际所在的位置。
74.步骤220:选择评估分数靠前的指定数量的搜索位置,作为精配准初值。
75.其中,指定数量可以根据需要进行配置。示例性的,指定数量可以根据搜索位置的总量来确定,比如,指定数量可以是搜索位置总量的20%、10%等。
76.在得到各个搜索位置对应的评估分数,可以对多个评估分数进行排序,从而选择评估分数靠前的指定数量的搜索位置,将选中的搜索位置作为精配准初值。示例性的,线激光传感器存在对应的20个搜索位置,根据评估分数选择5个搜索位置作为精配准初值。
77.步骤230:在每一精配准初值的基础上,通过icp精配准算法对线激光传感器对应的斜激光点云与标准点云进行配准,得到候选转换矩阵,并将候选转换矩阵换算为标定参数,得到多组标定参数。
78.在获得多个精配准初值之后,针对每一精配准初值,通过icp(iterative closest point)精配准算法以该精配准初值为基础,对斜激光点云和标准点云进行配准,从而得到候选转换矩阵。进一步的,可以将候选转换矩阵换算为标定参数,每一候选转换矩阵可以换算出一组标定参数,在每一精配准初值的基础上进行精配准并换算后,可以得到多组标定参数。
79.这里,每组标定参数可以包括x轴偏移量、y轴偏移量、z轴偏移量、俯仰角、偏航角和滚转角。每一精配准初值可以为(x,y),将其中的x值和y值代入到预设初始标定参数中,替换到初始标定参数的x轴偏移量和y轴偏移量,进而可以通过icp算法在经过替换的初始标定参数的基础上,进行斜激光点云与标准点云之间的精配准。
80.步骤240:根据理论真值和多组标定参数之间的差异,确定每组标定参数对应的总偏差。
81.其中,理论真值是理论上能够对线激光传感器所采集的斜激光点云进行转换处理,以消除线激光传感器的安装误差的标定参数。理论真值可以根据经验预配置,在一实施例中,理论真实可以与初始标定参数相同。
82.针对每一组标定参数,可以分别确定该组标定参数中各个参数与理论真值中各个参数的差异,从而确定该组标定参数与理论真值的总偏差。
83.步骤250:选择总偏差最小的一组标定参数,作为线激光传感器的精配准结果。
84.在获得多组标定参数对应的总偏差之后,可以从中选择最小的总偏差对应的一组标定参数,作为该线激光传感器的精配准结果。
85.对于机器人所搭载的每一线激光传感器,均可以通过上述步骤210至步骤250进行标定,从而得到每一线激光传感器对应的精配准结果,该精配准结果同时也是标定结果,用于对后续应用过程中线激光传感器采集的斜激光点云消除误差。
86.通过上述措施,可以通过粗配准评估和icp精配准,对线激光传感器进行标定,准
确获得标定结果。
87.在一实施例中,在执行上述步骤210至步骤250之前,可以先获取需要标定的线激光传感器对应的斜激光点云和标准点云。参见图3,为本技术一实施例提供的点云获取方法的流程示意图,如图3所示,该方法可以包括如下步骤310至步骤350。
88.步骤310:在机器人处于与任一线激光传感器对应的点云采集位置的情况下,控制当前点云采集位置对应的线激光传感器针对目标障碍物,采集斜激光点云。
89.其中,点云采集位置为线激光传感器采集点云时机器人的位置,可以根据需要进行配置。每一线激光传感器可以预配置对应的点云采集位置。示例性的,任一线激光传感器对应的点云采集位置,可以保证线激光传感器靠近目标障碍物,并能够以合适的角度采集目标障碍物的点云。
90.在机器人处于点云采集位置的情况下,可以控制该点云采集位置对应的线激光传感器向目标障碍物发射激光,从而采集斜激光点云。
91.参见图4,为本技术一实施例提供的点云采集场景的示意图,如图4所示,此时机器人1位于前侧线激光传感器对应的点云采集位置。图4中2为左侧线激光传感器、4为前侧线激光传感器、5为右侧线激光传感器、6为深度相机、3为作为目标障碍物的墙体阳角。图4中,机器人1所搭载的前侧线激光传感器4最靠近目标障碍物3,此时可以控制前侧线激光传感器4采集斜激光点云。
92.步骤320:控制深度相机,针对目标障碍物采集线激光传感器对应的标准点云。
93.在机器人处于点云采集位置的情况下,可以控制机器人所搭载的深度相机对目标障碍物采集深度图像,从而将深度图像转换为标准点云。本技术方案中,深度相机所采集的标准点云视为不存在误差的点云。
94.在任一线激光传感器对应的点云采集位置下,可以控制深度相机采集到该线激光传感器对应的标准点云。以图4示出的机器人为例,在采集前侧线激光传感器的点云采集位置,可以通过深度相机采集到前侧线激光传感器对应的标准点云;在采集左侧线激光传感器的点云采集位置,可以通过深度相机采集到左侧线激光传感器对应的标准点云;在采集右侧线激光传感器的点云采集位置,可以通过深度相机采集到右侧线激光传感器对应的标准点云。
95.步骤330:通过ransac算法对斜激光点云进行分割,得到斜激光障碍物点云和斜激光地面点云。
96.步骤340:通过ransac算法对标准点云进行分割,得到标准障碍物点云和标准地面点云。
97.斜激光点云和标准点云均包括目标障碍物上的点云以及地面点云,这种情况下,为便于后续处理,可以通过ransac(random sample consensus)算法分别对斜激光点云和标准点云进行分割,从斜激光点云中可以分割出斜激光障碍物点云和斜激光地面点云,从标准点云中可以分割出标准障碍物点云和标准地面点云。这里,斜激光障碍物点云是线激光传感器采集到的目标障碍物上的点云;斜激光地面点云是线激光传感器采集到的地面的点云;标准障碍物点云是深度相机采集到的目标障碍物上的点云;标准地面点云是深度相机采集到的地面的点云。
98.在一实施例中,在对斜激光点云和标准点云进行分割之前,可以先对斜激光点云
和标准点云进行预处理。预处理的内容可以包括降噪和滤波,从而可以去除斜激光点云和标准点云中质量较差的部分。
99.步骤350:将斜激光障碍物点云、斜激光地面点云、标准障碍物点云和标准地面点云,分别转换至机器人坐标系下,并按照指定数据格式进行存储。
100.对于任一线激光传感器的斜激光障碍物点云和斜激光地面点云,可以通过该线激光传感器的传感器坐标系与机器人坐标系之间的转换关系,将斜激光障碍物点云和斜激光地面点云转换至机器人坐标系下。这里,转换关系可以通过预配置的转换矩阵来表示。
101.对于标准地面点云和标准障碍物点云,可以通过深度相机对应的相机坐标系与机器人坐标系之间的转换关系,将标准地面点云和标准障碍物点云转换至机器人坐标系下。这里,转换关系同样可以通过预配置的转换矩阵来表示。
102.在将各个线激光传感器对应的斜激光障碍物点云、斜激光地面点云、标准障碍物点云和标准地面点云转换至机器人坐标系之后,可以按照指定数据格式存储各个点云,用于后续的标定流程。其中,指定数据格式可以根据需要配置。
103.参见图5,为本技术一实施例提供的点云获取的示意图,如图5所示,深度相机和线激光传感器分别采集作为目标障碍物的墙体阳角的点云,获得斜激光点云和标准点云(图5中的墙体点云),分别对斜激光点云和标准点云进行预处理,并对预处理之后的斜激光点云和标准点云分别进行分割,并将分割后的点云转换到机器人坐标系下之后,按照指定数据格式进行存储。
104.通过上述措施,可以在开始配准之前,获取各个线激光传感器对应的斜激光点云和标准点云。
105.在一实施例中,在执行上述步骤210至步骤250之前,可以为每一线激光点云生成搜索位置。
106.针对任一线激光传感器,以该线激光传感器在机器人坐标系下的理论位置为中心,以机器人坐标系的x轴和y轴为搜索方向,基于预设搜索步长和预设搜索步数,生成多个搜索位置。这里,理论位置指的是线激光传感器在安装无误差的情况下在机器人坐标系下的位置。搜索步长是相邻搜索位置之间的间距,可以根据经验进行配置;搜索步数是向各个方向生成搜索位置的数量。
107.参见图6,为本技术一实施例提供的搜索位置的生成方式的示意图,如图6所示,机器人坐标系的x轴和y轴平行与水平面,以线激光传感器的理论位置为中心,可以分别向x轴正方向、x轴负方向、y轴正方向、y轴负方向,以搜索步长和搜索步数进行搜索。图6中虚线v形顶点为搜索位置。示例性的,以理论位置为中心,搜索步长为1厘米,搜索步数为3,可以确定49个搜索位置(包括理论位置)。
108.在一实施例中,参见图7,为本技术一实施例提供的图2中步骤210的细节流程示意图,如图7所示,在执行步骤210时,可以具体执行如下步骤211至步骤213。
109.步骤211:计算斜激光地面点云与标准地面点云指示的平面之间的第一距离均值。
110.由于本技术方案中搜索位置在机器人坐标系的z轴上没有变化,因此,不同搜索位置对于斜激光地面点云与标准地面点云指示的平面之间的距离无影响。这种情况下,可以确定标准地面点云指示的平面,进而确定斜激光地面点云中各个点与该平面之间的距离,并计算多个距离的均值,作为第一距离均值。
111.步骤212:针对每一搜索位置,通过kdtree算法计算斜激光障碍物点云与标准障碍物点云的最小距离总和,并以最小距离总和确定第二距离均值,得到多个第二距离均值。
112.针对每一搜索位置,可以以该搜索位置对斜激光障碍物点云进行调整。通过该搜索位置和理论位置的差异,可以确定调整方向。示例性的,理论位置为(x0,y0),搜索位置为(x1,y1),则调整方向为(x
1-x0,y
1-y0),将斜激光障碍物点云中每个点的x轴坐标和y轴坐标以该调整方向进行调整,从而得到调整后斜激光障碍物点云。当搜索位置为理论位置时,斜激光障碍物点云无需调整。这种情况下,每一搜索位置存在对应的斜激光障碍物点云。
113.对于任一搜索位置,通过kdtree算法可以计算该搜索位置对应的斜激光障碍物点云与标准障碍物点云的最小距离总和,进而以最小距离总和除以粗配准的点数,得到第二距离均值。对每一搜索位置分别进行计算,可以得到各个搜索位置对应的第二距离均值。
114.步骤213:基于第一距离均值和对应于各个搜索位置的第二距离均值,确定每一搜索位置对应的评估分数。
115.针对每一搜索位置,将第一距离均值与该搜索位置对应的第二距离均值进行加权求和,并以100减去求和结果,得到该搜索位置对应的评估分数。示例性的,评估分数的计算过程可以通过如下公式(1)来表示:
116.s=c1*d1+c2*d
2 (1)
117.其中,s为评估分数;c1为第一距离均值;d1为第一距离均值对应的权重;c2为第二距离均值;d2为第二距离均值对应的权重。
118.参见图8,为本技术一实施例提供的评估分数的确定方法的流程示意图,如图8所示,针对待评估的线激光传感器,可以以该线激光传感器的理论位置为中心,生成n个搜索位置。针对每一搜索位置,分别计算斜激光地面点云到地面(标准地面点云指示的平面)的第一距离均值(图8中的d1),以及斜激光障碍物点云(图8中的斜激光墙面点云)到标准障碍物点云(图8中的墙体平面)之间的第二距离均值(图8中的d2),进而以第一距离均值和第二距离均值计算该搜索位置对应的评估分数。在一个搜索位置计算出评估分数后,继续对下一个搜索位置进行计算,直至所有搜索位置均计算出对应的评估分数。
119.在一实施例中,参见图9,为本技术一实施例提供的图2中步骤240的细节流程示意图,如图9所示,在执行步骤240时,可以具体执行如下步骤241至步骤243。
120.步骤241:针对任意一组标定参数,分别计算标定参数中x轴偏移量、y轴偏移量、z轴偏移量、俯仰角、偏航角和滚转角,与理论真值中理论x轴偏移量、理论y轴偏移量、理论z轴偏移量、理论俯仰角、理论偏航角和理论滚转角之间的子偏差,得到多个子偏差。
121.针对任意一组标定参数,可以分别计算该组标定参数中x轴偏移量与理论真值中理论x轴偏移量之间的子偏差,计算该组标定参数中y轴偏移量与理论真值中理论y轴偏移量之间的子偏差,计算该组标定参数中z轴偏移量与理论真值中理论z轴偏移量之间的子偏差,计算该组标定参数中俯仰角与理论真值中理论俯仰角之间的子偏差,计算该组标定参数中俯仰角与理论真值中理论俯仰角之间的子偏差,计算该组标定参数中偏航角与理论真值中理论偏航角之间的子偏差,从而得到多个子偏差。
122.步骤242:判断任意一组标定参数对应的多个子偏差,是否存在至少一个子偏差大于预设偏差阈值。
123.步骤243:若否,基于标定参数对应的多个子偏差,确定总偏差。
124.其中,偏差阈值可以根据经验预配置,用于过滤无用的标定参数。
125.在获得一组标定参数对应的多个子偏差之后,可以判断多个子偏差内是否存在至少一个子偏差大于偏差阈值。一种情况下,存在至少一个子偏差大于偏差阈值,可以确定该组标定参数无效。另一种情况下,不存在大于偏差阈值的子偏差,可以将该组标定参数对应的多个子偏差计算总和,得到该组标定参数对应的总偏差。
126.通过上述措施,可以根据偏差阈值过滤明显无效的标定参数,确保配准结果的可靠性。
127.参见图10,为本技术一实施例提供的精配准的总偏差确定流程示意图,如图10所示,在每一精配准初值的基础上,通过icp精配准算法对斜激光点云与标准点云进行精配准,从而得到候选转换矩阵,并将该候选转换矩阵换算为一组标定参数。确定该组标定参数中各个参数与理论真值中各个参数之间的子偏差,并判断该子偏差是否小于偏差阈值fmax。如果一组标定参数对应的多个子偏差均小于偏差阈值,可以计算该组标定参数对应的总偏差。在计算之后,继续对下一精配准初值进行处理。如果一组标定参数对应的至少一个子偏差小于偏差阈值,则放弃该组标定参数,继续对下一精配准初值进行处理。在对所有精配准初值进行处理之后,这一流程结束。
128.在一实施例中,机器人可以通过自身搭载的平激光传感器,对标定结果的准确性进行评估。这里,平激光传感器为激光发射方向水平的线激光传感器。参见图11,为本技术一实施例提供的标定结果的评估方法的流程示意图,如图11所示,该方法可以包括如下步骤1110至步骤1140。
129.步骤1110:在机器人处于任一线激光传感器对应的精度评估位置的情况下,控制当前精度评估位置对应的线激光传感器对指定障碍物的平整平面,采集评估点云。
130.其中,精度评估位置为评估标定结果时机器人的位置,可以根据需要进行配置,且每一线激光传感器预配置对应的精度评估位置。指定障碍物可以是机器人工作场所中场景的障碍物。示例性的,指定障碍物可以是墙体。
131.当机器人处于精度评估位置时,可以控制该精度评估位置对应的线激光传感器对指定障碍物的平整平面(比如:墙体的平整平面)发射激光,从而采集评估点云。这里,评估点云是评估阶段由线激光传感器采集的点云,评估点云包括指定障碍物上的点云和地面的点云。
132.步骤1120:控制平激光传感器对指定障碍物的平整平面,采集平激光点云,并基于平激光点云,构建直线方程。
133.当机器人处于精度评估位置时,可以控制平激光传感器对指定障碍物的平整平面,采集平激光点云。本技术中平激光传感器安装无误差,因此,平激光点云为一条平行于水平面的直线。在获得平激光点云后,可以基于平激光点云中各个点的坐标,拟合出直线,得到直线方程。
134.参见图12,为本技术一实施例提供的标定结果的评估示意图,如图12所示,2为右侧线性激光传感器、9为墙体平面、3为平激光点云(虚线部分)、4为右侧线性激光传感器采集的评估点云、5为左侧线性激光传感器、6为左侧线性激光传感器采集的评估点云、7为前侧线性激光传感器、8为前侧线性激光传感器采集的评估点云。
135.如图12所示,在各个精度评估位置,可以分别采集到评估点云以及平激光点云。
136.步骤1130:通过ransac算法从评估点云分割出评估障碍物点云,并确定评估障碍物点云与直线方程的目标距离均值。
137.在获得评估点云之后,可以通过ransac算法从中分割出指定障碍物上的评估障碍物点云,进而确定评估障碍物点云与直线方程所指示直线的目标距离均值。对于机器人所搭载的多个线激光传感器,可以分别确定每一线激光传感器对应的目标距离均值。
138.步骤1140:在获得每一线激光传感器对应的目标距离均值后,对多个目标距离均值加权求和,得到标定评估结果。
139.每一线激光传感器可以配置对应的权重。根据各个权重,对多个目标距离均值进行加权求和,从而将加权求和结果作为标定评估结果。该标定评估结果越大,则说明标定结果的误差越大。
140.在一实施例中,在基于平激光点云构建直线方程时,可以从平激光点云中,裁切出与机器人平行等长的子点云,从而舍去距离机器人较远位置的点云,进而以子点云构建直线方程。这种情况下,构建得到的直线方程更为准确,避免平激光点云中较远位置的点云可能存在的误差,而无法正确构建出直线方程。
141.参见图13,为本技术一实施例提供的标定结果的评估方法的示意图,如图13所示,平激光传感器可以采集墙体平面的点云,得到平激光点云,并对平激光点云进行裁剪,以裁剪后与机器人平行等长的子点云构建直线方程。基于ransac算法从各个线激光传感器所采集的评估点云中,裁切出评估障碍物点云(图13中的斜激光墙上点云),进而确定各个评估障碍物点云与直线方程的目标距离均值,从而以多个目标距离均值确定标定评估结果,该标定评估结果表征多个线激光传感器的总标定误差。
142.图14是本发明一实施例的一种线激光传感器的标定装置的框图,如图14所示,该装置可以包括:
143.评估模块1410,用于针对至少一个线激光传感器,基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数;其中,所述搜索位置指示所述线激光传感器在机器人坐标系下的预测位置;
144.第一选择模块1420,用于选择评估分数靠前的指定数量的搜索位置,作为精配准初值;
145.精配准模块1430,用于在每一精配准初值的基础上,通过icp精配准算法对所述线激光传感器对应的斜激光点云与所述标准点云进行配准,得到候选转换矩阵,并将所述候选转换矩阵换算为标定参数,得到多组标定参数;
146.确定模块1440,用于根据理论真值和所述多组标定参数之间的差异,确定每组标定参数对应的总偏差;
147.第二选择模块1450,用于选择所述总偏差最小的一组标定参数,作为所述线激光传感器的精配准结果。
148.上述装置中各个模块的功能和作用的实现过程具体详见上述线激光传感器的标定方法中对应步骤的实现过程,在此不再赘述。
149.在本技术所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据
本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
150.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
151.功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
技术特征:
1.一种线激光传感器的标定方法,应用于机器人,所述机器人搭载多个线激光传感器,其特征在于,包括:针对至少一个线激光传感器,基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数;其中,所述搜索位置指示所述线激光传感器在机器人坐标系下的预测位置;选择评估分数靠前的指定数量的搜索位置,作为精配准初值;在每一精配准初值的基础上,通过icp精配准算法对所述线激光传感器对应的斜激光点云与所述标准点云进行配准,得到候选转换矩阵,并将所述候选转换矩阵换算为标定参数,得到多组标定参数;根据理论真值和所述多组标定参数之间的差异,确定每组标定参数对应的总偏差;选择所述总偏差最小的一组标定参数,作为所述线激光传感器的精配准结果。2.根据权利要求1所述的方法,其特征在于,所述机器人搭载深度相机;在所述针对至少一个线激光传感器,基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数之前,所述方法还包括:在所述机器人处于与任一线激光传感器对应的点云采集位置的情况下,控制当前点云采集位置对应的线激光传感器针对目标障碍物,采集斜激光点云;控制所述深度相机,针对所述目标障碍物采集所述线激光传感器对应的标准点云;通过ransac算法对所述斜激光点云进行分割,得到斜激光障碍物点云和斜激光地面点云;通过ransac算法对所述标准点云进行分割,得到标准障碍物点云和标准地面点云;将所述斜激光障碍物点云、所述斜激光地面点云、所述标准障碍物点云和所述标准地面点云,分别转换至所述机器人坐标系下,并按照指定数据格式进行存储。3.根据权利要求1所述的方法,其特征在于,在所述针对至少一个线激光传感器,基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数之前,所述方法还包括:针对任一线激光传感器,以所述线激光传感器在机器人坐标系下的理论位置为中心,以机器人坐标系的x轴和y轴为搜索方向,基于预设搜索步长和预设搜索步数,生成多个搜索位置。4.根据权利要求1所述的方法,其特征在于,所述斜激光点云包括斜激光障碍物点云和斜激光地面点云,所述标准点云包括标准障碍物点云和标准地面点云;所述基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数,包括:计算所述斜激光地面点云与所述标准地面点云指示的平面之间的第一距离均值;针对每一搜索位置,通过kdtree算法计算所述斜激光障碍物点云与所述标准障碍物点云的最小距离总和,并以所述最小距离总和确定第二距离均值,得到多个第二距离均值;基于所述第一距离均值和对应于各个搜索位置的第二距离均值,确定每一搜索位置对应的评估分数。5.根据权利要求1所述的方法,其特征在于,所述标定参数包括x轴偏移量、y轴偏移量、
z轴偏移量、俯仰角、偏航角和滚转角,所述理论真值包括理论x轴偏移量、理论y轴偏移量、理论z轴偏移量、理论俯仰角、理论偏航角和理论滚转角;所述根据理论真值和所述多组标定参数之间的差异,确定每组标定参数对应的总偏差,包括:针对任意一组标定参数,分别计算所述标定参数中x轴偏移量、y轴偏移量、z轴偏移量、俯仰角、偏航角和滚转角,与所述理论真值中理论x轴偏移量、理论y轴偏移量、理论z轴偏移量、理论俯仰角、理论偏航角和理论滚转角之间的子偏差,得到多个子偏差;判断任意一组标定参数对应的多个子偏差,是否存在至少一个子偏差大于预设偏差阈值;若否,基于所述标定参数对应的多个子偏差,确定所述总偏差。6.根据权利要求1所述的方法,其特征在于,所述机器人搭载平激光传感器,所述平激光传感器为激光发射方向水平的线激光传感器,所述方法还包括:在所述机器人处于任一线激光传感器对应的精度评估位置的情况下,控制当前精度评估位置对应的线激光传感器对指定障碍物的平整平面,采集评估点云;控制所述平激光传感器对所述指定障碍物的平整平面,采集平激光点云,并基于所述平激光点云,构建直线方程;通过ransac算法从所述评估点云分割出评估障碍物点云,并确定所述评估障碍物点云与所述直线方程的目标距离均值;在获得每一线激光传感器对应的目标距离均值后,对多个目标距离均值加权求和,得到标定评估结果。7.根据权利要求6所述的方法,其特征在于,所述基于所述平激光点云,构建直线方程,所述方法还包括:从所述平激光点云中,裁切出与所述机器人平行等长的子点云,并基于所述子点云构建直线方程。8.一种线激光传感器的标定装置,应用于机器人,所述机器人搭载多个线激光传感器,其特征在于,包括:评估模块,用于针对至少一个线激光传感器,基于所述线激光传感器对应的斜激光点云和标准点云,对所述线激光传感器对应的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数;其中,所述搜索位置指示所述线激光传感器在机器人坐标系下的预测位置;第一选择模块,用于选择评估分数靠前的指定数量的搜索位置,作为精配准初值;精配准模块,用于在每一精配准初值的基础上,通过icp精配准算法对所述线激光传感器对应的斜激光点云与所述标准点云进行配准,得到候选转换矩阵,并将所述候选转换矩阵换算为标定参数,得到多组标定参数;确定模块,用于根据理论真值和所述多组标定参数之间的差异,确定每组标定参数对应的总偏差;第二选择模块,用于选择所述总偏差最小的一组标定参数,作为所述线激光传感器的精配准结果。9.一种机器人,其特征在于,所述机器人包括:
处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行权利要求1-7任意一项所述的线激光传感器的标定方法。10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成权利要求1-7任意一项所述的线激光传感器的标定方法。
技术总结
本申请提供一种线激光传感器的标定方法及装置、机器人、存储介质,包括:针对至少一个线激光传感器,基于线激光传感器对应的斜激光点云和标准点云,对线激光传感器的多个搜索位置进行粗配准评估,得到每一搜索位置对应的评估分数;选择评估分数靠前的指定数量的搜索位置,作为精配准初值;在每一精配准初值的基础上,通过ICP精配准算法对线激光传感器对应的斜激光点云与标准点云进行配准,得到候选转换矩阵,并将候选转换矩阵换算为标定参数,得到多组标定参数;根据理论真值和多组标定参数之间的差异,确定每组标定参数对应的总偏差;选择总偏差最小的一组标定参数,作为线激光传感器的精配准结果。本申请实现了对线激光传感器的准确标定。的准确标定。的准确标定。
技术研发人员:任明阳 郭翼 史雪松 沈孝通 秦宝星 程昊天
受保护的技术使用者:上海高仙自动化科技发展有限公司
技术研发日:2023.04.21
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/