首页 > 五金工具 专利正文
基于深度传感器确定地平面的方法、机器人及机器人系统与流程

时间:2022-02-15 阅读: 作者:专利查询

基于深度传感器确定地平面的方法、机器人及机器人系统与流程

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.图1示出了本发明一个实施例的基于深度传感器确定地平面的方法流程图;
28.图2示出了本发明一个实施例的传感器坐标系和机器人坐标系的示意图;
29.图3a示出了本发明一个实施例的传感器坐标系的三维点云示意图;
30.图3b示出了图3a中的三维点云转换坐标系并投影到yoz平面的示意图;
31.图3c示出了图3a中的三维点云转换到机器人坐标系的示意图;
32.图4示出了本发明一个实施例的机器人系统的示意图。
具体实施方式
33.在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。
因此,附图和描述被认为本质上是示例性的而非限制性的。
34.在本发明的描述中,需要理解的是,术语"中心"、"纵向"、"横向"、"长度"、"宽度"、"厚度"、"上"、"下"、"前"、"后"、"左"、"右"、"竖直"、"水平"、"顶"、"底"、"内"、"外"、"顺时针"、"逆时针"等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,"多个"的含义是两个或两个以上,除非另有明确具体的限定。
35.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接:可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
36.在本发明中,除非另有明确的规定和限定,第一特征在第二特征之"上"或之"下"可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征"之上"、"上方"和"上面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征"之下"、"下方"和"下面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。
37.下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
38.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
39.图1示出了本发明一个实施例的基于深度传感器确定地平面的方法流程图,方法10包括步骤s11-s14,在对各步骤进行介绍前,首先对上下文出现的各平面进行说明:测量平面——为确定当前时刻的地平面而基于三维点云拟合出的平面,该平面可能为正确的地平面,也可能为错误的地平面,需要进一步判断;上一时刻的地平面——初始时刻机器人站立的地面或者基于方法10在上一时刻确定的地平面,作为当前时刻的参考平面以判断测量平面是否正确;当前时刻的地平面——基于方法10确定的当前时刻的地平面,可作为下一时刻的参考平面。继续参考图1,方法10包括以下步骤:
40.在步骤s11基于深度传感器获取周围环境的三维点云。深度传感器可以采集机器人周围环境的三维点云数据。所述深度传感器例如为rgb-d相机,用于拍摄彩色图像(rgb图像)和红外测距得到深度图像(d图像),或者为tof相机、结构光深度相机、双目相机或者激光雷达等,本发明不对深度传感器的类型做限定。所述三维点云数据为对应于周围环境中
的地面或物体表面的采样点的三维坐标集合。采集三维点云的范围取决于深度传感器的安装位置、安装角度、安装数量以及深度传感器的性能参数等。
41.根据本发明的一个优选实施例,对采集的三维点云数据进行滤波处理,滤除噪点,以减少运算量。
42.根据本发明的一个优选实施例,记录深度传感器可能有误差的像素点,在后续计算中标记或移除误差像素点。
43.根据本发明的一个优选实施例,基于机器人的当前速度、行进方向或者越障能力中的一项或多项,确定第一距离范围,将三维点云中超出第一距离范围的点滤除,以进一步减少运算量、降低系统资源消耗、提高反应速度。例如,深度传感器的视野范围为5米,当机器人以较慢速度运行时,可以将第一视野范围设定为4米,仅对第一距离范围内的点云进行处理。其中,所述越障能力为机器人越过障碍的能力。以室内机器人为例,常见障碍物例如为深沟(电梯缝隙)、门槛(移动门轨道)、杂物(小石子)、台阶、斜坡、积水等,当机器人遇到上述障碍时,是直接越过障碍物行进还是进行避障操作,取决于障碍物的尺寸和机器人的越障能力。
44.在步骤s12将三维点云拟合为测量平面。例如,深度传感器安装于机器人上,从深度传感器采集的三维点云数据中提取最大平面的信息,将对应的点进行平面拟合,得到测量平面。以下对拟合测量平面的方法进一步介绍。
45.根据本发明的一个优选实施例,方法10还包括:基于上一时刻的地平面和机器人的站立方向,建立机器人坐标系;基于深度传感器的安装高度和安装角度,建立传感器坐标系;将三维点云从传感器坐标系映射至机器人坐标系。例如,在机器人的正面安装有一个深度传感器,参考图2,根据上一时刻的地平面和机器人的站立方向,构建机器人坐标系。具体地,以机器人底部与地平面接触的中心点作为机器人坐标系的原点o,以机器人的站立方向作为z轴,以机器人正前方为y轴,根据右手螺旋法则确定x轴(垂直纸面向内的方向,图2未示出)。其中,在初始时刻,例如机器人刚开机或重启后,人工指定机器人站立的地平面作为上一时刻的地平面。继续参考图2,根据深度传感器的安装高度和安装角度,建立传感器坐标系。其中,深度传感器的安装角度包括俯仰角、偏航角以及横滚角。具体地,以深度传感器的中心为传感器坐标系的原点o’,以深度传感器的朝向机器人前方的中心轴作为y’轴,在俯仰方向上与y’轴垂直的方向作为z’轴,在横滚方向上与y’轴垂直的方向作为x轴(垂直纸面向内的方向,图2未示出),则传感器坐标系的x’轴、y’轴和z’轴形成右手坐标系。当深度传感器的偏航角和横滚角均设为0
°
时,俯仰角为负值,深度传感器的中心轴向下倾斜,视场向下,可采集机器人前方偏向地面的三维点云数据。基于上述方法构建的机器人坐标系和传感器坐标系,可方便的换算出两个坐标系之间的转换关系。具体地,根据深度传感器的安装高度,即传感器坐标系的原点o’与机器人坐标系的原点o之间的距离,确定转换矩阵中的平移矩阵;根据深度传感器的俯仰角,即传感器坐标系的y’轴与机器人坐标系的y轴夹角,确定转换矩阵中的旋转矩阵。基于该转换矩阵,将三维点云从传感器坐标系映射至机器人坐标系。本发明不对各坐标系的构建方式和坐标系间的转换方式做限定。
46.以上通过优选实施例介绍了如何构建坐标系以及如何将三维点云数据进行坐标系转换,从而得到映射至机器人坐标系的三维点云。以下继续描述将三维点云拟合为测量平面的步骤。
47.根据本发明的一个优选实施例,方法10中将三维点云拟合为测量平面的步骤包括:将映射至机器人坐标系的三维点云转换为二维点云,获取二维点云中的任一点与其余点的拟合直线之间的第一距离,将第一距离大于第一距离阈值的点从二维点云中移除,并将剩余点转为三维并拟合为测量平面。图3a示出了本发明一个实施例的传感器坐标系的三维点云示意图,对应酒店走廊的场景。首先将三维点云从传感器坐标系转换到机器人坐标系,然后将映射至机器人坐标系的三维点云中的全部点归为一个点集,将该点集向机器人坐标系的yoz平面投影,参考图3b,实现从三维点云到二维点云的降维转换。图中虚线框中的点明显高于其它点,对应于障碍物,在本步骤中,需要滤除超出阈值范围的点,亦即对应障碍物的点。一般来说,构成测量平面的点包括点云中的大多数点,在该步骤中将偏离大多数点的点进行滤除,以获取准确的测量平面。任选该点集中的一个点,例如a点,将a点外的其余点拟合为yoz平面中的直线,获取a点与拟合直线之间的第一距离。当第一距离大于第一距离阈值时,将该点从该点集中移除。遍历该点集中的全部点,将第一距离小于等于第一距离阈值的剩余点从yoz平面升维到机器人坐标系,并拟合为一个平面。该拟合平面即为测量平面,此时这个测量平面仅为可能的地平面。其中,所述第一距离为z轴方向的正值,亦即a点位于拟合直线上方时,第一距离为a点的高度与拟合直线的高度的差值;a点位于拟合直线下方时,第一距离为拟合直线的高度与a点的高度的差值。所述第一距离阈值与机器人的越障能力相关。机器人的越障能力越强,可越过的障碍物尺寸越高,第一距离阈值即可设置越大的数值。优选地,根据应用场景进行训练或勘察后设置。
48.根据本发明的一个优选实施例,方法10中将三维点云拟合为测量平面的步骤包括:将映射至机器人坐标系的三维点云中的任意三个点拟合为平面,获取其余点与任意三个点拟合的平面之间的第二距离,将第二距离大于第二距离阈值的点从映射至机器人坐标系的三维点云中移除,并将剩余点拟合为测量平面。参考图3c,将传感器坐标系中的三维点云转换到机器人坐标系,然后将三维点云中的全部点归为一个点集,任选该点集中的三个点,例如b点、c点和d点,将其拟合为一个平面,获取该点集中其余点与该拟合平面之间的第二距离。将第二距离大于第二距离阈值的点从该点集中移除。一般来说,处于测量平面的点包括点云中的大多数点,在该步骤中将偏离大多数点的点进行滤除。遍历该点集中的全部点,将第二距离小于等于第二距离阈值的剩余点拟合为一个平面。该平面即为当前时刻的测量平面。其中,所述第二距离为z轴方向的正值,亦即任一点位于拟合平面上方时,第二距离为该点的高度与拟合平面的高度的差值;a点位于拟合平面下方时,第二距离为拟合平面的高度与该点的高度的差值。拟合平面的高度为b点、c点、d点中高度的最大值。所述第二距离阈值与机器人的越障能力相关。机器人的越障能力越强,第二距离阈值即可设置较大的数值。优选地,根据应用场景进行训练或勘察后设置。
49.以上通过两个优选实施例描述了如何找出可能是地面的点并拟合为测量平面。以下继续对方法10的其余步骤进行说明。
50.在步骤s13获取测量平面与上一时刻的地平面之间的偏差。根据上述步骤获取了可能为地平面的测量平面,基于测量平面与上一时刻的地平面的偏差,获取偏差值。基于该偏差值,确定当前时刻的地平面。
51.根据本发明的一个优选实施例,方法10中获取测量平面与上一时刻的地平面之间的偏差的步骤还包括:获取测量平面与上一时刻的地平面之间的旋转角度和/或与所述机
器人坐标系原点的距离。其中,机器人坐标系的xoy平面对应上一时刻的地平面。所述旋转角度为机器人坐标系中对应于z轴方向的俯仰角、对应于y轴方向的航向角或者对应于x轴方向的横滚角。优选地,旋转角度为对应于z轴方向的俯仰角和/或对应于x轴方向的横滚角。所述与机器人坐标系原点的距离为z轴方向的距离。例如,机器人在行进过程中遇到浅坑而发生倾斜,根据三维点云获取的测量平面在机器人坐标系也相应旋转,需要获取该测量平面与上一时刻的地平面的旋转角度。又例如,机器人在行进过程中遇到台阶,根据三维点云获取的测量平面可能为台阶的平面,需要获取此时该测量平面与地平面的距离,亦即在机器人坐标系中该测量平面与原点的距离。可以根据需要只获取旋转角度或距离,也可以同时获取两个参数,以提高测距结果的稳定性和准确性。
52.在步骤s14基于偏差,确定当前时刻的地平面。在上一步骤获取的测量平面可能为正确的地平面,也可能为错误的地平面,需要与参考平面,即上一时刻的地平面(初始地平面或者根据方法10在上一时刻确定的地平面)进行比较,确定偏差值,进而确定当前时刻的地平面。例如,机器人在行进过程中遇到台阶,其根据三维点云拟合出的测量平面为台阶平面,该台阶平面与机器人当前站立平面存在较大偏差,如果台阶的高度超过机器人的越障能力,机器人无法上到台阶,则该台阶平面不能作为当前时刻的地平面。
53.根据本发明的一个优选实施例,方法10中基于偏差确定当前时刻的地平面的步骤包括:当旋转角度小于等于第一角度阈值,和/或与机器人坐标系原点的距离小于等于第三距离阈值时,将测量平面作为当前时刻的地平面。其中,第一角度阈值和第三距离阈值与机器人的越障能力相关。如果该旋转角度和/或距离满足条件,即测量平面虽然在机器人坐标系中有一定旋转或者与当前地平面有一定距离,但是可以认为找到了正确的地面,可以直接作为当前时刻的地平面。
54.根据本发明的一个优选实施例,方法10中基于所述偏差确定当前时刻的地平面的步骤包括:调整测量平面,并将调整后的测量平面作为当前时刻的地平面。如果测量平面和上一时刻的地平面存在偏差,为减少通过障碍物时抖动产生的误差,可以适当调整测量平面,再将调整后的测量平面作为当前时刻的地平面。基于该偏差值进行的调整量,可以基于运行场景进行设置或训练。
55.根据本发明的一个优选实施例,其中调整测量平面包括:将测量平面旋转预设角度和/或平移预设距离,并将旋转和/或平移后的测量平面作为当前时刻的地平面。如果基于偏差判断测量平面相对于上一时刻的地平面有一定旋转时,可以将测量平面旋转预设角度,再将旋转后的测量平面作为当前时刻的地平面;如果基于偏差判断测量平面相对于上一时刻的地平面有一定平移时,可以将测量平面平移预设距离后,再将平移后的测量平面作为当前时刻的地平面;如果测量平面相对于上一时刻的地平面同时旋转并平移,可以旋转预设角度并平移预设距离后,作为当前时刻的地平面,以减少障碍物变化(例如地面变化)带来的误差。其中,所述预设角度和预设距离与所述偏差相关,可根据应用场景进行训练或根据机器人越障能力进行设置。例如,机器人通行区域有一个较厚的地毯,机器人上下地毯时,在地毯边缘所产生的抖动引起的传感器数据抖动也是固定的,可以通过多次测量,获取一个预设角度或预设距离,以消除地面变化带来的影响。
56.以上通过优选实施例说明:当测量平面与上一时刻的地平面的偏差小于一定范围,则认为找到正确的地平面。例如机器人在上一时刻处于平面上的小凸起、平面上的小凹
陷、从平面上缓坡、从平面下缓坡时,会引起机器人的抖动或倾斜,为提高测距的稳定性和准确性,减少误差,可以将测量平面直接或者调整后作为当前时刻的地平面。
57.根据本发明的一个优选实施例,方法10中基于偏差确定当前时刻的地平面的步骤包括:当旋转角度大于第一角度阈值,和/或与机器人坐标系原点的距离大于第三距离阈值时,将上一时刻的地平面作为当前时刻的地平面。
58.根据本发明的一个优选实施例,方法10还包括:当旋转角度大于第一角度阈值,和/或与机器人坐标系原点的距离大于第三距离阈值时,上报提示信息。
59.以上优选实施例说明:当测量平面与上一时刻的地平面的偏差超过一定范围,则认为丢失地平面,例如机器人在上一时刻遇到较大的斜坡、台阶等无法跨越的障碍时,所获取的测量平面对应斜坡的平面或台阶的平面,如果机器人在该情况下无法继续通行,该测量平面也不能用作当前时刻的地平面,需要丢弃测量平面,而将上一时刻的地平面作为当前时刻的地平面进行避障处理或上报错误等;如果机器人还可以通行,比如,机器人上了一个小斜坡平面但是可以平稳行走一段距离,那么就将测量平面作为当前时刻的地平面,而不再考虑上一时刻的地平面,因为机器人已经离开了上一时刻的地平面。
60.综上所述,以上通过步骤s11-s14对方法10进行了说明,本技术的技术方案可概括为:通过深度传感器获取周围环境的三维点云,对三维点云数据进行处理并拟合出可能为地面的测量平面,判断测量平面和上一时刻的地平面的偏差,以确定当前时刻的地平面或者上报提示信息。本领域技术人员可以理解,步骤s11-s14的编号并不构成对方法10中各步骤执行的先后顺序的限定。
61.本发明还涉及一种机器人20,参考图4,包括:
62.至少一个深度传感器21,配置为获取所述机器人20周围环境的三维点云;和
63.处理器22,与所述至少一个深度传感器21耦接,配置为实施如上所述的方法10,以确定所述机器人20的地平面。
64.根据本发明的一个优选实施例,所述深度传感器21为深度相机、双目相机或距离传感器。
65.本发明还涉及一种机器人系统30,包括:
66.至少一个机器人20,所述机器人20包括至少一个深度传感器21,所述至少一个深度传感器21配置为获取所述机器人20周围环境的三维点云;和
67.调度服务器31,与所述至少一个机器人20通信,并配置成实施如上所述的方法10,以确定所述至少一个机器人20的地平面。
68.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。