CN110815202B - 障碍物检测方法及装置 - Google Patents
障碍物检测方法及装置 Download PDFInfo
- Publication number
- CN110815202B CN110815202B CN201810892648.2A CN201810892648A CN110815202B CN 110815202 B CN110815202 B CN 110815202B CN 201810892648 A CN201810892648 A CN 201810892648A CN 110815202 B CN110815202 B CN 110815202B
- Authority
- CN
- China
- Prior art keywords
- obstacle
- sub
- position information
- obstacles
- coordinate value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 77
- 230000004888 barrier function Effects 0.000 claims abstract description 38
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种障碍物检测方法及装置,属于机器人领域。该方法包括:获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,每个所述子障碍物为整体障碍物的局部结构;基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。本发明提高了为移动机器人避障提供的障碍物的位置信息的准确性。本发明用于移动机器人的障碍物检测。
Description
技术领域
本申请涉及机器人领域,特别涉及一种障碍物检测方法及装置。
背景技术
在移动机器人的行驶过程中,检测其行驶环境中存在的障碍物,并根据检测到的障碍物进行避障,是保障移动机器人安全行驶的重要措施。
相关技术中,通常采用激光或声呐等传感器,获取移动机器人周围的物体的位置信息,并根据该位置信息确定障碍物的尺寸、及获取移动机器人和该物体之间的距离,以便于移动机器人根据该距离和该障碍物的尺寸进行避障。
但是,采用传感器检测障碍物时,仅能在对应传感器的检测范围内获取障碍物的位置信息,导致该获取的位置信息的准确性较低,进而导致移动机器人的避障过程受到影响。
发明内容
本申请提供了一种障碍物检测方法及装置,可以解决相关技术中仅能在对应传感器的检测范围内获取障碍物的位置信息,导致该获取的位置信息的准确性较低的问题。所述技术方案如下:
第一方面,提供了一种障碍物检测方法,所述方法包括:
获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,每个所述子障碍物为整体障碍物的局部结构;
基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,所述样本障碍物为与所述整体障碍物具有相同配置参数的先验障碍物。
可选地,所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,包括:
基于多个所述子障碍物的位置信息,获取所述整体障碍物的几何中心的位置信息;
基于所述样本障碍物的尺寸信息和所述几何中心的位置信息,获取所述整体障碍物的位置信息。
可选地,所述获取所述整体障碍物的位置信息,包括:
获取所述整体障碍物的外接图形的位置信息。
可选地,所述整体障碍物的外接图形的位置信息包括:所述移动机器人的本体坐标系下所述整体障碍物在预设平面上的外接矩形的顶点坐标,所述预设平面平行于所述行驶环境中的行驶路面且所述外接矩形的任一条边平行于所述本体坐标系的X坐标轴或Y坐标轴,所述样本障碍物的尺寸L×W、所述几何中心的坐标(Xc,Yc)、及所述外接矩形的顶点坐标(X1,Y1)、(X1,Y2)、(X2,Y1)和(X2,Y2)满足:
X1=Xc-L/2;
X2=Xc+L/2;
Y1=Yc-W/2;
Y2=Yc+W/2。
可选地,所述整体障碍物的外接图形的位置信息包括:所述移动机器人的本体坐标系下所述整体障碍物的外接立方体的顶点坐标,所述外接立方体的任一条边均平行于所述本体坐标系的X坐标轴或Y坐标轴或Z坐标轴,所述样本障碍物的尺寸L×W×H、所述本体坐标系下所述几何中心的坐标(Xc,Yc,Zc)、及所述外接立方体的顶点坐标(X1,Y1,Z1)、(X1,Y2,Z1)、(X2,Y1,Z1)、(X2,Y2,Z1)、(X1,Y1,Z2)、(X1,Y2,Z2)、(X2,Y1,Z2)和(X2,Y2,Z2)满足:
X1=Xc-L/2;
X2=Xc+L/2;
Y1=Yc-W/2;
Y2=Yc+W/2;
Z1=0;
Z2=H;
其中,所述H为所述整体障碍物的顶端到所述行驶环境中的行驶路面的距离。
可选地,所述位置信息包括:坐标,所述基于多个所述子障碍物的位置信息,获取所述整体障碍物的几何中心的位置信息,包括:
在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
基于所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标。
可选地,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述基于所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标,包括:
当所述子障碍物的数量大于所述货架腿的总数的一半,且所述子障碍物的数量不大于所述总数时,对于每个坐标轴,将所述坐标轴上最大坐标值和最小坐标值的平均值,确定为所述几何中心在所述坐标轴上的坐标。
可选地,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述位置信息包括:坐标,所述基于多个所述子障碍物的位置信息,获取所述整体障碍物的几何中心的位置信息,包括:
在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
当所述子障碍物的数量不大于所述货架腿的总数的一半,且所述子障碍物的数量大于1时,基于所述货架上货架腿的第一间距、所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标。
可选地,所述基于所述货架上货架腿的第一间距、所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标,包括:
基于每两个子障碍物的位置信息,获取每两个所述子障碍物相对于所述移动机器人的目标方向、及每两个所述子障碍物的连线所在的目标排布方向;
在所述货架与所述目标排布方向对应方向的垂直方向上,将最大间距对应的两个货架腿的间距确定为所述第一间距;
基于所述第一间距、所述目标方向、所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标。
可选地,多个子障碍物在第一方向上的最大坐标值Ymax,在所述第一方向上的最小坐标值Ymin,在第二方向上的最大坐标值Xmax,在所述第二方向上的最小坐标值Xmin、及所述几何中心(Xc,Yc)满足:
当所述目标排布方向平行于所述第一方向,且所述子障碍物位于所述移动机器人的前侧时,Xc=(Xmax+Xmin+l)/2,Yc=(Ymax+Ymin)/2;
当所述目标排布方向平行于所述第一方向,且所述子障碍物位于所述移动机器人的后侧时,Xc=(Xmax+Xmin-l)/2,Yc=(Ymax+Ymin)/2;
当所述目标排布方向平行于所述第二方向,且所述子障碍物位于所述移动机器人的左侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin+w)/2;
当所述目标排布方向平行于所述第二方向,且所述子障碍物位于所述移动机器人的右侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin-w)/2;
其中,所述第一方向与所述第二方向垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向,所述l为所述两个货架腿在所述第二方向上的第一间距,所述w为所述两个货架腿在所述第一方向上的第一间距。
可选地,所述位置信息包括:坐标,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,包括:
当所述子障碍物的数量大于所述货架腿的总数的一半,且所述子障碍物的数量不大于所述总数时,在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
基于预先存储的样本障碍物的尺寸信息,确定所述整体障碍物的外接图形;
对所述最大坐标值和所述最小坐标值进行组合,得到所述外接图形的顶点坐标。
可选地,所述整体障碍物的外接图形包括:所述移动机器人的本体坐标系下所述整体障碍物在预设平面上的外接矩形,所述预设平面平行于所述行驶环境中的行驶路面且所述外接矩形的任一条边平行于所述本体坐标系的X坐标轴或Y坐标轴;
所述外接矩形的顶点坐标分别为:(Xmax,Ymax)、(Xmax,Ymin)、(Xmin,Ymax)和(Xmin,Ymin);
其中,所述Ymax为在第一方向上的最大坐标值,所述Ymin为在所述第一方向上的最小坐标值,所述Xmax为在第二方向上的最大坐标值,所述Xmin为在所述第二方向上的最小坐标值,所述第一方向与所述第二方向垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向。
可选地,所述整体障碍物的外接图形包括:所述移动机器人的本体坐标系下所述整体障碍物的外接立方体,所述外接立方体的任一条边均平行于所述本体坐标系的X坐标轴或Y坐标轴或Z坐标轴;
所述外接立方体的顶点坐标分别为:(Xmax,Ymax,0)、(Xmax,Ymin,0)、(Xmin,Ymax,0)、(Xmin,Ymin,0)、(Xmax,Ymax,H)、(Xmax,Ymin,H)、(Xmin,Ymax,H)和(Xmin,Ymin,H);
其中,所述Ymax为在第一方向上的最大坐标值,所述Ymin为在所述第一方向上的最小坐标值,所述Xmax为在第二方向上的最大坐标值,所述Xmin为在所述第二方向上的最小坐标值,所述H为所述整体障碍物的顶端到所述行驶环境中的行驶路面的距离,所述第一方向、所述第二方向和所述H所在的方向互相垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向,所述H所在的方向为Z坐标轴方向。
可选地,所述样本障碍物包括:货架,所述货架具有多个货架腿,在所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息之前,所述方法还包括:
获取所述行驶环境中存在的所述子障碍物的数量;
所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,包括:
当所述子障碍物的数量大于1,且所述子障碍物的数量不大于所述货架腿的总数时,基于多个所述子障碍物的位置信息和所述样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
可选地,在所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息之前,所述方法还包括:
基于每个所述子障碍物的位置信息与所述样本障碍物的尺寸信息,将每个所述子障碍物与所述样本障碍物进行匹配;
所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,包括:
当所述行驶环境中存在与所述样本障碍物匹配的目标子障碍物时,基于所述目标子障碍物的位置信息和所述样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
可选地,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述尺寸信息包括:每个货架腿的尺寸和所述货架上任意两个货架腿的第一间距,所述基于每个所述子障碍物的位置信息与所述样本障碍物的尺寸信息,将每个所述子障碍物与所述样本障碍物进行匹配,包括:
基于每个所述子障碍物的位置信息,获取所述子障碍物的尺寸、及所述子障碍物与任一其他子障碍物的第二间距;
当所述子障碍物的尺寸与任一货架腿的尺寸匹配,且所述第二间距与所述货架上任意两个货架腿对应的第一间距匹配时,确定所述子障碍物与所述样本障碍物匹配。
可选地,在所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息之前,所述方法还包括:
判断所述移动机器人是否处于载货状态;
所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,包括:
当确定所述移动机器人处于载货状态时,基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
可选地,所述获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,包括:
获取所述行驶环境中存在的多个障碍点的位置信息;
基于所述多个障碍点的位置信息,将所述多个障碍点划分至多个点集合,每个点集合包括至少一个障碍点;
对于每个点集合,基于所述点集合中至少一个障碍点的位置信息,确定所述点集合的位置信息;
将每个点集合的位置信息确定为一个子障碍物的位置信息,以得到所述多个子障碍物的位置信息,且所述多个点集合与多个子障碍物一一对应。
可选地,所述基于所述点集合中至少一个障碍点的位置信息,确定所述点集合的位置信息,包括:
基于所述点集合中至少一个障碍点的位置信息,获取所述点集合的外接多边形的位置信息;
将所述点集合的外接多边形的位置信息确定为所述点集合的位置信息。
可选地,所述基于所述多个障碍点的位置信息,将所述多个障碍点划分至多个点集合,包括:
基于所述多个障碍点的位置信息,对所述多个障碍点执行点云分割处理,使得所述多个障碍点被划分至多个区域;
对于每个区域,将所述区域中的至少一个障碍点划分至至少一个点集合。
第二方面,提供了一种障碍物检测装置,所述装置包括:
第一获取模块,用于获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,每个所述子障碍物为整体障碍物的局部结构;
第二获取模块,用于基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,所述样本障碍物为与所述整体障碍物具有相同配置参数的先验障碍物。
可选地,所述第二获取模块,包括:
第一获取子模块,用于基于多个所述子障碍物的位置信息,获取所述整体障碍物的几何中心的位置信息;
第二获取子模块,用于基于所述样本障碍物的尺寸信息和所述几何中心的位置信息,获取所述整体障碍物的位置信息。
可选地,所述第二获取子模块,用于:
获取所述整体障碍物的外接图形的位置信息。
可选地,所述整体障碍物的外接图形的位置信息包括:所述移动机器人的本体坐标系下所述整体障碍物在预设平面上的外接矩形的顶点坐标,所述预设平面平行于所述行驶环境中的行驶路面且所述外接矩形的任一条边平行于所述本体坐标系的X坐标轴或Y坐标轴,所述样本障碍物的尺寸L×W、所述本体坐标系下所述几何中心的坐标(Xc,Yc)、及所述外接矩形的顶点坐标(X1,Y1)、(X1,Y2)、(X2,Y1)和(X2,Y2)满足:
X1=Xc-L/2;
X2=Xc+L/2;
Y1=Yc-W/2;
Y2=Yc+W/2。
可选地,所述整体障碍物的外接图形的位置信息包括:所述移动机器人的本体坐标系下所述整体障碍物的外接立方体的顶点坐标,所述外接立方体的任一条边均平行于所述本体坐标系的X坐标轴或Y坐标轴或Z坐标轴,所述样本障碍物的尺寸L×W×H、所述几何中心的坐标(Xc,Yc,Zc)、及所述本体坐标系下所述外接立方体的顶点坐标(X1,Y1,Z1)、(X1,Y2,Z1)、(X2,Y1,Z1)、(X2,Y2,Z1)、(X1,Y1,Z2)、(X1,Y2,Z2)、(X2,Y1,Z2)和(X2,Y2,Z2)满足:
X1=Xc-L/2;
X2=Xc+L/2;
Y1=Yc-W/2;
Y2=Yc+W/2;
Z1=0;
Z2=H;
其中,所述H为所述整体障碍物的顶端到所述行驶环境中的行驶路面的距离。
可选地,所述位置信息包括:坐标,所述第一获取子模块,用于:
在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
基于所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标。
可选地,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述第一获取子模块,用于:
当所述子障碍物的数量大于所述货架腿的总数的一半,且所述子障碍物的数量不大于所述总数时,对于每个坐标轴,将所述坐标轴上最大坐标值和最小坐标值的平均值,确定为所述几何中心在所述坐标轴上的坐标。
可选地,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述位置信息包括:坐标,所述第一获取子模块,用于:
在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
当所述子障碍物的数量不大于所述货架腿的总数的一半,且所述子障碍物的数量大于1时,基于所述货架上货架腿的第一间距、所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标。
可选地,所述第一获取子模块,用于:
基于每两个子障碍物的位置信息,获取每两个所述子障碍物相对于所述移动机器人的目标方向、及每两个所述子障碍物的连线所在的目标排布方向;
在所述货架与所述目标排布方向对应方向的垂直方向上,将最大间距对应的两个货架腿的间距确定为所述第一间距;
基于所述第一间距、所述目标方向、所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标。
可选地,多个子障碍物在第一方向上的最大坐标值Ymax,在所述第一方向上的最小坐标值Ymin,在第二方向上的最大坐标值Xmax,在所述第二方向上的最小坐标值Xmin、及所述几何中心(Xc,Yc)满足:
当所述目标排布方向平行于所述第一方向,且所述子障碍物位于所述移动机器人的前侧时,Xc=(Xmax+Xmin+l)/2,Yc=(Ymax+Ymin)/2;
当所述目标排布方向平行于所述第一方向,且所述子障碍物位于所述移动机器人的后侧时,Xc=(Xmax+Xmin-l)/2,Yc=(Ymax+Ymin)/2;
当所述目标排布方向平行于所述第二方向,且所述子障碍物位于所述移动机器人的左侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin+w)/2;
当所述目标排布方向平行于所述第二方向,且所述子障碍物位于所述移动机器人的右侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin-w)/2;
其中,所述第一方向与所述第二方向垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向,所述l为所述两个货架腿在所述第二方向上的第一间距,所述w为所述两个货架腿在所述第一方向上的第一间距。
可选地,所述位置信息包括:坐标,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述第二获取模块,包括:
第三获取子模块,用于当所述子障碍物的数量大于所述货架腿的总数的一半,且所述子障碍物的数量不大于所述总数时,在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
第一确定子模块,用于基于预先存储的样本障碍物的尺寸信息,确定所述整体障碍物的外接图形;
第一得到子模块,用于对所述最大坐标值和所述最小坐标值进行组合,得到所述外接图形的顶点坐标。
可选地,所述整体障碍物的外接图形包括:所述移动机器人的本体坐标系下所述整体障碍物在预设平面上的外接矩形,所述预设平面平行于所述行驶环境中的行驶路面且所述外接矩形的任一条边平行于所述本体坐标系的X坐标轴或Y坐标轴;
所述外接矩形的顶点坐标分别为:(Xmax,Ymax)、(Xmax,Ymin)、(Xmin,Ymax)和(Xmin,Ymin);
其中,所述Ymax为在第一方向上的最大坐标值,所述Ymin为在所述第一方向上的最小坐标值,所述Xmax为在第二方向上的最大坐标值,所述Xmin为在所述第二方向上的最小坐标值,所述第一方向与所述第二方向垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向。
可选地,所述整体障碍物的外接图形包括:所述移动机器人的本体坐标系下所述整体障碍物的外接立方体,所述外接立方体的任一条边均平行于所述本体坐标系的X坐标轴或Y坐标轴或Z坐标轴;
所述外接立方体的顶点坐标分别为:(Xmax,Ymax,0)、(Xmax,Ymin,0)、(Xmin,Ymax,0)、(Xmin,Ymin,0)、(Xmax,Ymax,H)、(Xmax,Ymin,H)、(Xmin,Ymax,H)和(Xmin,Ymin,H);
其中,所述Ymax为在第一方向上的最大坐标值,所述Ymin为在所述第一方向上的最小坐标值,所述Xmax为在第二方向上的最大坐标值,所述Xmin为在所述第二方向上的最小坐标值,所述H为所述整体障碍物的顶端到所述行驶环境中的行驶路面的距离,所述第一方向、所述第二方向和所述H所在的方向互相垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向,所述H所在的方向为Z坐标轴方向。
可选地,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述装置还包括:
第三获取模块,用于获取所述行驶环境中存在的所述子障碍物的数量;
所述第二获取模块,用于:
当所述子障碍物的数量大于1,且所述子障碍物的数量不大于所述货架腿的总数时,基于多个所述子障碍物的位置信息和所述样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
可选地,所述装置还包括:
匹配模块,用于基于每个所述子障碍物的位置信息与所述样本障碍物的尺寸信息,将每个所述子障碍物与所述样本障碍物进行匹配;
所述第二获取模块,用于:
当所述行驶环境中存在与所述样本障碍物匹配的目标子障碍物时,基于所述目标子障碍物的位置信息和所述样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
可选地,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述尺寸信息包括:每个货架腿的尺寸和所述货架上货架腿的第一间距,所述匹配模块,用于:
基于每个所述子障碍物的位置信息,获取所述子障碍物的尺寸、及所述子障碍物与任一其他子障碍物的第二间距;
当所述子障碍物的尺寸与任一货架腿的尺寸匹配,且所述第二间距与所述货架腿对应的第一间距匹配时,确定所述子障碍物与所述样本障碍物匹配。
可选地,所述装置还包括:
判断模块,用于判断所述移动机器人是否处于载货状态;
所述第二获取模块,用于:
当确定所述移动机器人处于载货状态时,基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
可选地,所述第一获取模块,包括:
第四获取子模块,用于获取所述行驶环境中存在的多个障碍点的位置信息;
划分子模块,用于基于所述多个障碍点的位置信息,将所述多个障碍点划分至多个点集合,每个点集合包括至少一个障碍点;
第二确定子模块,用于对于每个点集合,基于所述点集合中至少一个障碍点的位置信息,确定所述点集合的位置信息;
第二得到子模块,用于将每个点集合的位置信息确定为一个子障碍物的位置信息,以得到所述多个子障碍物的位置信息,且所述多个点集合与多个子障碍物一一对应。
可选地,所述第二确定子模块,用于:
基于所述点集合中至少一个障碍点的位置信息,获取所述点集合的外接多边形的位置信息;
将所述点集合的外接多边形的位置信息确定为所述点集合的位置信息。
可选地,所述划分子模块,用于:
基于所述多个障碍点的位置信息,对所述多个障碍点执行点云分割处理,使得所述多个障碍点被划分至多个区域;
对于每个区域,将所述区域中的至少一个障碍点划分至至少一个点集合。
第三方面,提供了一种移动机器人,所述移动机器人包括:第二方面任一所述的障碍物检测装置。
第四方面,提供了一种终端,包括处理器和存储器,
其中,
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现第一方面任一所述的障碍物检测方法。
第五方面,提供了一种存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的障碍物检测方法。
本申请提供的技术方案带来的有益效果是:
本发明实施例提供的障碍物检测方法及装置,通过获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,基于多个子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,根据子障碍物与整体障碍物之间的局部与整体的关系,获取该整体障碍物的位置信息,相较于相关技术,能够进一步地根据子障碍物的位置信息获取整体障碍物的位置信息,提高了为移动机器人避障提供的障碍物的位置信息的准确性,进而提高了移动机器人避障成功的几率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种移动机器人与货架的设置方式的示意图。
图2为本发明实施例提供的一种障碍物检测方法的流程图。
图3为本发明实施例提供的另一种障碍物检测方法的流程图。
图4为本发明实施例提供的一种获取移动机器人的行驶环境中存在的多个子障碍物的位置信息的方法流程图。
图5为本发明实施例提供的一种移动机器人的俯视示意图。
图6为本发明实施例提供的一种基于至少一个障碍点的位置信息,将至少一个障碍点划分至至少一个点集合的方法流程图。
图7为本发明实施例提供的一种至少一个障碍点的分布示意图。
图8为本发明实施例提供的一种对于每个点集合,基于点集合中至少一个障碍点的位置信息,确定点集合的位置信息的方法流程图。
图9为本发明实施例提供的一种获取点集合的凸外接多边形的示意图。
图10为本发明实施例提供的一种将每个子障碍物与样本障碍物进行匹配的方法流程图。
图11为本发明实施例提供的一种基于目标子障碍物的位置信息和样本障碍物的尺寸信息,获取整体障碍物的位置信息的方法流程图。
图12为本发明实施例提供的一种基于第一间距、最大坐标值和最小坐标值,获取整体障碍物的几何中心的坐标的方法流程图。
图13为本发明实施例提供的一种整体障碍物的位置示意图。
图14为本发明实施例提供的另一种基于目标子障碍物的位置信息和样本障碍物的尺寸信息,获取整体障碍物的位置信息的方法流程图。
图15为本发明实施例提供的一种障碍物检测装置的结构示意图。
图16为本发明实施例提供的一种第二获取模块的结构示意图。
图17为本发明实施例提供的另一种第二获取模块的结构示意图。
图18为本发明实施例提供的另一种障碍物检测装置的结构示意图。
图19为本发明实施例提供的一种第一获取模块的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着科技的快速发展,移动机器人的应用越来越广泛,例如:仓储机器人和泊车机器人的应用。通常的,当移动机器人需要载货时,该移动机器人可移动至货架(也称托盘或支撑盘)的下方,并将设置在移动机器人上的举升机构的状态调整至举升状态,通过该处于举升状态的举升机构托举货架,以完成负载货架的动作。在移动机器人的载货过程中,该移动机器人可以负载货架行驶,以带动该货架上放置的待移动的物体(例如:仓库中的商品,或者,待泊车辆)移动。并且,在该移动机器人的行驶环境中,通常还放置有其他货架,在移动机器人的行驶过程中,该其他货架会对移动机器人的行驶过程造成影响,即该其他货架也是行驶环境中存在的障碍物。在移动机器人的行驶过程中,获取该其他货架的位置信息,并根据该位置信息进行避障,能够保证移动机器人的安全行驶。其中,图1示出了行驶环境中包括其他货架H,且移动机器人S负载货架H的示意图。
相关技术中,可以采用激光雷达传感器、超声波传感器和深度摄像头等传感器,获取移动机器人周围的物体的位置信息,并根据该位置信息确定障碍物的尺寸,以及,获取移动机器人和该物体之间的距离,以便于移动机器人根据该距离和该障碍物的尺寸进行避障。
由于采用传感器检测障碍物时,仅能在对应传感器的检测范围内获取障碍物的位置信息,但该位置信息无法反映障碍物整体所处的位置,即该获取的位置信息的准确性较低。当根据该位置信息进行避障时,可能使移动机器人的避障过程受到影响,导致避障失败。例如:采用传感器检测障碍物时,在该传感器的检测范围内获取的障碍物的位置信息为货架的货架腿的位置信息。其中,当传感器为激光等传感器时,其检测范围为一检测平面,当传感器为声呐等传感器时,该检测范围为为以立体锥形范围。但是,由于货架整体(包括货架腿和货架的顶部所限定的整体空间)均会对移动机器人的行驶过程造成影响,若仅根据该检测到的货架腿进行避障,移动机器人的行驶过程仍然会受到影响,导致避障失败。
为此,本发明实施例提出一种障碍检测方法,图2为该障碍物检测方法的流程图,如图2所示,该方法可以包括:
步骤101、获取移动机器人的行驶环境中存在的多个子障碍物的位置信息。
其中,每个子障碍物为整体障碍物的局部结构。例如:整体障碍物可以为货架,子障碍物可以为货架腿。该位置信息可以包括坐标。例如:子障碍物的位置信息可以为子障碍物在移动机器人的本体坐标系内的坐标。
步骤102、基于多个子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取整体障碍物的位置信息。
其中,样本障碍物可以为移动机器人的行驶环境中存在的整体障碍物具有相同配置参数的先验障碍物,该样本障碍物的尺寸等参数信息均已知。例如;当整体障碍物为货架时,该样本障碍物可以为与该货架具有相应配置参数的先验货架,且该先验货架的尺寸等参数信息均已知。
综上所述,本发明实施例提供的障碍物检测方法,通过获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,基于多个子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,根据子障碍物与整体障碍物之间的局部与整体的关系,获取该整体障碍物的位置信息,相较于相关技术,能够进一步地根据子障碍物的位置信息获取整体障碍物的位置信息,提高了为移动机器人避障提供的障碍物的位置信息的准确性,进而提高了移动机器人避障成功的几率。
图3为本发明实施例提供的另一种障碍物检测方法的流程图,如图3所示,该方法可以包括:
步骤201、获取移动机器人的行驶环境中存在的多个子障碍物的位置信息。
其中,每个子障碍物可以为一个整体障碍物的局部结构。例如:整体障碍物可以为货架,子障碍物可以为货架腿。
可选的,请参考图4,该步骤201的实现方式可以包括:
步骤2011、获取移动机器人的行驶环境中存在的多个障碍点的位置信息。
可选地,可以采用设置在移动机器人上的激光雷达传感器、超声波传感器和深度摄像头等传感器,获取移动机器人的行驶环境中存在的多个障碍点的位置信息。本发明实施例中以采用激光雷达传感器获取该多个障碍点的位置信息为例,对该障碍物检测方法进行说明。且为便于描述,下文中将激光雷达传感器简称为激光雷达。
在一种可实现方式中,移动机器人上可以设置有激光雷达,且可以通过该激光雷达采集障碍点的位置信息,并在激光雷达采集到该障碍点的位置信息后,将其发送至移动机器人,使得该移动机器人获取该多个障碍点的位置信息。
其中,激光雷达采集障碍点的位置信息的过程包括:激光雷达通过发射激光束,并接收激光束遇到阻碍激光束传播的物体时所反射的激光束,然后将该反射的激光束与发射的激光束比较,以得到接收该反射的激光束的时延和方向等信息,并通过该时延和方向等信息,获取该障碍点的位置信息,其中,该障碍点为发射的激光束照射在该阻碍激光束传播的物体上的点。
可选地,激光雷达可以是二维激光雷达,也可以是三维激光雷达。当激光雷达为二维激光雷达时,该激光雷达采集到的障碍点均位于该激光雷达检测面(也称激光束扫描面)内。并且,激光雷达可以设置在移动机器人的前侧。进一步地,移动机器人的后侧、左侧和右侧中的至少一侧上也可以设置有激光雷达。其中,该前侧、后侧、左侧和右侧根据移动机器人的行驶方向确定。该激光雷达可以设置在移动机器人各侧的中心位置处或其他任意位置处,且也可以根据实际需要,在移动机器人的每侧上设置多个激光雷达,本发明实施例对其不做具体限定。需要说明的是,在本发明实施例中,以移动机器人的前侧、后侧、左侧和右侧均设置有激光雷达,且激光雷达为二维激光雷达为例对该障碍物检测方法进行说明,当激光雷达按照其他方式设置,和/或,激光雷达为三维激光雷达时,其实现方式请相应参考本发明实施例的实现过程。
示例地,图5为移动机器人的俯视示意图,请参考图5,移动机器人S的前侧、后侧、左侧和右侧上均设置有激光雷达Z,且该激光雷达Z均为二维激光雷达,该激光雷达Z的检测面平行于移动机器人S的行驶路面,此时,移动机器人S可以通过设置在该前侧、后侧、左侧和右侧上的激光雷达Z,获取该移动机器人周围360度范围内的子障碍物的位置信息。
需要说明的是,每个激光雷达采集的障碍点的位置信息通常为以该激光雷达为中心的极坐标数据,因此,移动机器人接收激光雷达发送的多个障碍点的位置信息之后,或者,激光雷达将多个障碍点的位置信息发送至移动机器人之前,还需要对该极坐标数据进行数据转换,以得到以移动机器人自身为标准的数据。例如,将该极坐标数据转换为以该激光雷达自身坐标系为标准的笛卡尔坐标数据,然后将该激光雷达坐标系的笛卡尔坐标数据转换为移动机器人的本体坐标系(请参考图5所示的XY坐标系)的笛卡尔坐标数据。
其中,将该极坐标数据(ρ,θ)转换为该激光雷达坐标系下的笛卡尔坐标数据(m1,n1)的公式为:m1=ρ×cosθ,n1=ρ×sinθ,该θ为激光束的发射角度,ρ为激光雷达检测到的障碍点到该激光雷达的距离。
将该激光雷达坐标系下的笛卡尔坐标数据(m1,n1)转换为移动机器人的本体坐标系的笛卡尔坐标数据(m2,n2)的公式为: 该(m0,n0)为激光雷达在移动机器人的本体坐标系内的坐标,为激光雷达在移动机器人的本体坐标系中的朝向角度。
步骤2012、基于多个障碍点的位置信息,将多个障碍点划分至多个点集合。
其中,每个点集合包括至少一个障碍点。
可选的,请参考图6,该步骤2012的实现方式可以包括:
步骤2012a、基于多个障碍点的位置信息,对多个障碍点执行点云分割处理,使得多个障碍点被划分至多个区域。
点云分割处理是根据空间位置、几何特征和纹理特征等特征对点云进行划分,使得同一划分区域内的点云具有相似特征的分割方法。在本发明实施例中,可以根据多个障碍点的位置信息对该多个障碍点进行点云分割处理。对该多个障碍点进行点云分割处理的过程可以包括:
步骤a1、根据多个障碍点的位置信息,在该多个障碍点中,分别在移动机器人的前侧、后侧、左侧和右侧,获取到该移动机器人距离最近的目标障碍点。
步骤a2、对于移动机器人的每一侧,将与移动机器人该侧的表面平行且过该侧对应的目标障碍点的直线,确定为分割线。
分别针对移动机器人的每一侧确定分割线后,该移动机器人所在的区域和该移动机器人周围的区域即被划分为9个区域,相应的,步骤2011中获取的多个障碍点被划分至多个区域中。
示例地,请参考图7,假设步骤2011中获取的多个障碍点分别为:点P1至点P10,到该移动机器人S前侧、后侧、左侧和右侧距离最近的目标障碍点分别为点P3、点P8、点P9和点P5,过点P3且与该移动机器人S前侧的表面平行的直线为直线A3,过点P8且与该移动机器人S后侧的表面平行的直线为直线A4,过点P9且与该移动机器人S左侧的表面平行的直线为直线A1,过点P5且与该移动机器人S右侧的表面平行的直线为直线A2。由图7可知,该直线A1、直线A2、直线A3和直线A4将该移动机器人S所在的区域和该移动机器人S周围的区域划分为9个区域,且点P1至点P10被划分至6个区域中,其中,点P1和点P2位于移动机器人S左前方的区域中,点P3位于移动机器人S前方的区域中,点P4位于移动机器人S右前方的区域中,点P9和点P10位于移动机器人S左方的区域中,点P5和点P6位于移动机器人S右方的区域中,点P7和点P8位于移动机器人S后方的区域中。
需要说明的是,该图7中每个区域中包括的点的位置和数量均用于示意性的说明,并不用于限定,实际检测到的障碍点的数量通常较多。
步骤2012b、对于每个区域,将区域中的至少一个障碍点划分至至少一个点集合。
在一种可实现方式中,可以按照预设划分规则,对每个区域中的至少一个障碍点进行聚类,以将每个区域中的至少一个障碍点划分至至少一个点集合。其中,每个点集合包括至少一个障碍点,且该每个点集合中的至少一个障碍点可视为属于同一物体的点,即该每个点集合中的至少一个障碍点属于同一阻碍激光束传播的物体。
可选地,该对每个区域中的至少一个障碍点进行聚类的过程可以包括:
步骤b1、以每个区域中的任一障碍点为初始搜索起点,以预设搜索半径在对应区域中进行搜索,然后执行步骤b2。
步骤b2、分别以步骤b1中搜索到的每个邻域点为搜索起点,继续以预设搜索半径在对应区域中进行搜索,并重复以搜索到的邻域点为搜索起点进行搜索的过程,直至在预设搜索半径内无法搜索到邻域点为止,然后执行步骤b3。
步骤b3、检测每个区域中是否存在未被搜索到的障碍点,当任一区域中存在未被搜索到的障碍点时,将该区域中的任一未被搜索到的障碍点确定为初始搜索起点,继续执行步骤b1和步骤b2,直至所有障碍点均被搜索到为止。
其中,搜索半径的取值可以根据实际需要进行设置,本发明实施例对其不做具体限定。例如:可以根据激光雷达的分辨率f,以及,在移动机器人避障过程中需要检测的距离q,确定该搜索半径r,且该搜索半径r可以满足:r=2×f×q。
并且,在该聚类过程中,每一轮搜索过程中的搜索半径的取值可以相同或者不同,例如:步骤b1中搜索半径的取值和步骤b2中搜索半径的取值可以不同或相同,或者,步骤b1中以不同障碍点为搜索起点进行搜索时,每个搜索起点对应的搜索半径的取值可以不同或相同。
示例地,请继续参考图7,对点P1至点P10执行该步骤203后,可以得到7个点集合,其中,点P1和点P2被划分至一个点集合,点P3被划分至一个点集合,点P4被划分至一个点集合,点P5被划分至一个点集合,点P6被划分至一个点集合,点P7和点P8被划分至一个点集合,点P9和点P10被划分至一个点集合。
需要说明的是,在执行步骤2013之前,可以根据实际需要选择是否执行该步骤2012。并且,通过对多个障碍点进行点云分割处理,并对分割后的区域中的障碍点分别进行聚类,可以提高对多个障碍点进行聚类的准确性,进而提高根据该点集合对障碍物进行描述的准确性。例如:对于图7中的点P3、点P4和点P5,若不对其执行点云分割处理,在聚类过程中该三个点可能被划分至同一点集合,当通过该点集合中障碍点的外接矩形描述障碍物时,该通过外界矩形描述的障碍物所在的区域与移动机器人所在的区域会存在交叠区域,导致对该障碍物的描述出现问题。且对于具有非凸形状的障碍物(例如墙角),该问题表现的尤其明显。
步骤2013、对于每个点集合,基于点集合中至少一个障碍点的位置信息,确定点集合的位置信息。
可选地,由于每个点集合可以包括至少一个障碍点,且该每个点集合中的至少一个障碍点可视为属于同一障碍物的点,因此,可以采用该至少一个障碍点的外接多边形表示该点集合。相应的,请参考图8,该步骤2013的实现方式可以包括:
步骤2013a、基于点集合中至少一个障碍点的位置信息,获取点集合的外接多边形的位置信息。
可选地,可以根据点集合中的至少一个障碍点的位置信息,连接每两个障碍点,以得到该点集合的外接多边形。然后,根据该点集合中至少一个障碍点的位置信息,确定该外接多边形的位置信息。例如:当点集合的外接多边形为矩形时,则可以通过位于该矩形的顶点的障碍点的位置信息表示该外接多边形的位置信息。
示例地,当位置信息包括坐标时,假设图7中障碍点P1的坐标为(100,130),障碍点P2的坐标为(90,100),且点集合包括该障碍点P1和障碍点P2,可以确定该点集合的外接矩形的四个顶点的坐标分别为(100,130)、(100,100)、(90,100)和(90,130),则可以确定该外接矩形的位置信息用于指示该外界矩形的位置处于坐标分别为(100,130)、(100,100)、(90,100)和(90,130)的点围成的区域内部。
需要说明的是,通过连接点集合中每两个障碍点得到的外接多边形可以为凸多边形,或者,该外接多边形也可以为凹多边形。并且,当该外接多边形为凹多边形时,为了减小数据处理的复杂度,可以根据该凹多边形,进一步获取该点集合对应的凸多边形。示例地,请参考图9,假设通过连接点集合中每两个障碍点得到的外接多边形为图9所示的凹多边形,此时,可以继续根据该凹多边形获取该凹多边形的外接矩形,以得到凸多边形。
步骤2013b、将点集合的外接多边形的位置信息确定为点集合的位置信息。
当采用点集合中的至少一个障碍点的外接多边形表示该点集合时,该点集合的外接多边形的位置信息即为该点集合的位置信息,因此,可将点集合的外接多边形的位置信息确定为点集合的位置信息。
示例地,假设某点集合的外接矩形的位置信息用于指示该外界矩形的位置处于坐标分别为(100,130)、(100,100)、(90,100)和(90,130)的点围成的区域内部时,则可以确定该点集合的位置信息用于指示该点集合的位置处于坐标分别为(100,130)、(100,100)、(90,100)和(90,130)的点围成的区域内部。
需要说明的是,为了提高障碍物检测的准确性,还可以为点集合中包括的障碍点的数量设置阈值,也即是,当点集合中的障碍点的数量小于预设阈值时,可以认为该点集合中包括的障碍点为噪声点,此时无需确定该点集合的位置信息,当点集合中的障碍点的数量不小于该预设阈值时,才根据该点集合中的障碍点的位置信息确定该点集合的位置信息。例如:假设该预设阈值为3,当点集合中障碍点的数量小于3时,可认为该点集合中的障碍点为噪声点,此时,无需确定该点集合的位置信息。
步骤2014、将每个点集合的位置信息确定为一个子障碍物的位置信息,以得到多个子障碍物的位置信息,且多个点集合与多个子障碍物一一对应。
由于每个点集合中的至少一个障碍点可视为属于同一子障碍物的点,因此,可以使用一个点集合的位置信息表示一个子障碍物的位置信息,并将每个点集合的位置信息确定为一个子障碍物的位置信息,以得到该子障碍物的位置信息。
示例地,假设根据步骤2013b确定了三个点集合的位置信息,其中,第一个点集合的位置信息用于指示该点集合的位置处于坐标分别为(100,130)、(100,100)、(90,100)和(90,130)的点围成的区域内部,第二个点集合的位置信息用于指示该点集合的位置处于坐标分别为(0,80)、(10,80)、(10,100)和(0,100)的点围成的区域内部,第三个点集合的位置信息用于指示该点集合的位置为(80,-10),则可以将该第一个点集合的位置信息确定为一个子障碍物的位置信息,将第二个点集合的位置信息确定为另一个子障碍物的位置信息,将第三个点集合的位置信息确定为再一个子障碍物的位置信息。
步骤202、判断移动机器人是否处于载货状态。
由于货架的移动依赖于移动机器人的托举,因此,货架的尺寸需要与移动机器人的尺寸适配。且移动机器人处于非载货状态时,移动机器人不会负载货架,移动机器人可以从其他货架下方的空间通过,此时,可以根据在激光雷达的检测范围内获取的子障碍物的位置信息进行避障。但移动机器人处于载货状态时,移动机器人无法从其他货架下方的空间通过,此时,可以基于多个子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取整体障碍物的位置信息,以便根据该整体障碍物的位置信息进行避障。其中,样本障碍物可以为移动机器人的行驶环境中存在的整体障碍物具有相同配置参数的先验障碍物,该样本障碍物的尺寸等参数信息均已知。
并且,当确定移动机器人处于载货状态时,还可以根据获取的子障碍物的位置信息,将每个子障碍物与样本障碍物进行匹配,以判断该子障碍物是否为整体障碍物的局部结构,且当该子障碍物为整体障碍物的局部结构时,确定可以根据该子障碍物的位置信息获取整体障碍物的位置信息,即继续执行步骤203。
可选地,在获取移动机器人的载货状态信息一种可实现方式中,当移动机器人执行操作时,该移动机器人会记载该执行的操作的名称和执行该操作的时间。例如:在移动机器人执行载货操作或卸货操作时,移动机器人会记载该载货操作或卸货操作的名称,并记载执行该载货操作或卸货操作操作的起始时间。因此,在执行该步骤202时,可以根据执行该步骤202的当前时刻,查询移动机器人的记录,并根据该记录判断移动机器人当前时刻是否处于载货状态。
在另一种可实现方式中,移动机器人上可以设置有载货状态传感器,通过该载货状态传感器可以检测移动机器人的载货状态。例如:移动机器人上可设置有举升机构,该举升机构用于支撑货架,当移动机器人处于载货状态时,该举升机构处于举升状态,当移动机器人处于非载货状态时,该举升机构处于非举升状态,因此,当该载货状态传感器检测到举升机构处于举升状态时,可以确定该移动机器人处于载货状态;当该载货状态传感器检测到举升机构处于非举升状态时,可以确定该移动机器人处于非载货状态。
步骤203、当确定移动机器人处于载货状态时,基于每个子障碍物的位置信息与样本障碍物的参数信息,将每个子障碍物与样本障碍物进行匹配。
当子障碍物与样本障碍物不匹配时,说明该子障碍物不是整体障碍物的局部结构,此时,无法根据该子障碍物的位置信息获取整体障碍物的位置信息。当子障碍物与样本障碍物匹配时,说明该子障碍物应该是整体障碍物的局部结构,此时,应该可以根据该子障碍物的位置信息获取整体障碍物的位置信息。并且,为了提高根据子障碍物的位置信息确定整体障碍物的位置信息的准确性,当子障碍物与样本障碍物匹配时,还可以进一步根据行驶环境中存在的子障碍物的数量,判断是否能够根据该子障碍物的位置信息获取整体障碍物的位置信息,即继续执行步骤204。
可选的,样本障碍物包括:货架,该货架具有多个货架腿,该参数信息包括:每个货架腿的尺寸和货架上货架腿的第一间距。或者,该样本障碍物也可以为影响移动机器人行驶的其他整体障碍物,且该其他整体障碍物可以包括多个其他局部子障碍物,该参数信息可以包括:该每个其他局部子障碍物的尺寸,以及,每两个其他局部子障碍物之间的关联关系。
请参考图10,此处以该样本障碍物包括货架,参数信息包括每个货架腿的尺寸和货架上货架腿的第一间距为例,对该步骤203的实现过程进行说明,当该样本障碍物为其他整体障碍物时,该子障碍物检测方法的实现过程请相应参考该样本障碍物为货架时的实现过程,此处不再赘述。
步骤2031、基于每个子障碍物的位置信息,获取子障碍物的尺寸、及子障碍物与任一其他子障碍物的第二间距。
当已知子障碍物的位置信息时,可以基于几何知识,确定该子障碍物的尺寸和每两个子障碍物的第二间距。并且,该子障碍物的尺寸可以由子障碍物在传感器的检测范围上的截面的尺寸表征,该第二间距可以由每两个子障碍物在传感器的检测范围上的截面的几何中心之间的距离表征,本发明实施例对其不做具体限定。
步骤2032、当子障碍物的尺寸与任一货架腿的尺寸匹配,且该子障碍物对应的第二间距与该货架腿对应的第一间距匹配时,确定该子障碍物与样本障碍物匹配。
当子障碍物的尺寸与任一货架腿的尺寸匹配,且该子障碍物对应的第二间距与该货架腿对应的第一间距匹配时,可以确定该子障碍物为该样本障碍物的一部分,则可以确定该子障碍物与该样本障碍物匹配。
可选地,当子障碍物的尺寸与任一货架腿的尺寸相等时,可以认为该子障碍物的尺寸与该货架腿的尺寸匹配。当该子障碍物对应的第二间距与该货架腿对应的第一间距相等时,可以认为该子障碍物对应的第二间距与该货架腿对应的第一间距匹配。或者,也可以为该尺寸设置尺寸误差系数,当子障碍物的尺寸在该尺寸误差系数允许的范围内与货架腿的尺寸相等时,确认该子障碍物的尺寸与该货架腿的尺寸匹配。以及,可以为间距设置间距误差系数,当该子障碍物对应的第二间距与该货架腿对应的第一间距在该间距误差系数允许的误差范围内相等时,可以确定该子障碍物对应的第二间距与该货架腿对应的第一间距匹配。
当移动机器人的行驶环境较单一时,在步骤201中获取的子障碍物均为整体障碍物的局部结构,例如:当行驶环境中仅部署有货架时,则获取的子障碍物均为货架的货架腿。当移动机器人的行驶环境较复杂时,在步骤201中获取的子障碍物可能为整体障碍物的局部结构,也可能为其他物体,例如:该行驶环境中不仅部署有货架还部署有其他物品时,获取的子障碍物可能为货架腿或该其他物品。此时,可以将子障碍物与整体障碍物进行匹配,以将获取的子障碍物中不是整体障碍物的局部结构进行筛除,并根据行驶环境中存在与样本障碍物匹配的目标子障碍物获取整体障碍物的位置信息,进而提高获取的整体障碍物的位置信息的准确性。
步骤204、当行驶环境中存在与样本障碍物匹配的目标子障碍物时,获取行驶环境中存在的目标子障碍物的数量。
由于整体障碍物通常为立体结构,当目标子障碍物的数量达到预设数值时,才能根据该目标子障碍物的位置信息,获取整体障碍物的位置信息。因此,在确定行驶环境中存在目标子障碍物后,可以先获取该目标子障碍物的数量,并在该数量达到该预设数值时,确定可以根据该目标子障碍物的位置信息确定整体障碍物的位置信息,即确认可以继续执行步骤205。并且,在目标子障碍物的数量小于该预设数值时,可将该目标子障碍物的位置信息直接输出,为移动机器人避障提供参考信息。同时,由于整体障碍物包含的目标子障碍物的数量为固定值,若目标子障碍物的数量大于整体障碍物包括的目标子障碍物的总数,则可以认为该目标子障碍物不是整体障碍物的一部分,此时,无法根据目标子障碍物的位置信息确定该整体障碍物的位置信息,且可将该目标子障碍物的位置信息输出,为移动机器人避障提供参考信息。
步骤205、当目标子障碍物的数量大于1,且目标子障碍物的数量不大于货架腿的总数时,基于目标子障碍物的位置信息和样本障碍物的尺寸信息,获取整体障碍物的位置信息。
通常地,整体障碍物和作为该整体障碍物的局部结构的子障碍物之间的位置关系至少可以包括两种:子障碍物设置在整体障碍物的边缘处,或者,子障碍物的设置位置与整体障碍物的边缘存在一定距离。对于该两个位置关系,该步骤205的实现方式存在一定差异,本发明实施例以以下两种可实现方式为例,分别对该两种位置关系下,该步骤205的实现方式进行说明:
该步骤205的第一种可实现方式,基于多个子障碍物的位置信息,获取整体障碍物的几何中心的位置信息,并根据该几何中心的位置信息和样本障碍物的尺寸,获取整体障碍物的位置信息。请参考图11,下面以位置信息通过坐标表征为例,对该第一种可实现方式的实现过程进行说明:
步骤2051、在多个目标子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值。
在已知多个目标子障碍物的坐标时,可以根据所有目标子障碍物在每个坐标轴上的最大坐标值和最小坐标值,估算整体障碍物的几何中心,因此,在获取整体障碍物的几何中心之前,可以先获取该最大坐标值和该最小坐标值。
步骤2052、基于最大坐标值和最小坐标值,获取整体障碍物的几何中心的坐标。
当行驶环境中存在的目标子障碍物的数量不同,和/或,目标子障碍物之间的相对位置不同时,根据该最大坐标值和最小坐标值获取整体障碍物的坐标的实现方式存在一定差异。本发明实施例以以下几种可实现方式为例对该步骤2052的实现方式进行说明:
在步骤2052的第一种可实现方式中,当目标子障碍物的数量大于货架腿的总数的一半,且目标子障碍物的数量不大于货架腿的总数时,对于每个坐标轴,将坐标轴上最大坐标值和最小坐标值的平均值,确定为几何中心在对应坐标轴上的坐标。
样本障碍物在激光雷达检测平面上的截面通常呈现为一封闭的图形(例如矩形),在已知该图形的形状的前提下,当目标子障碍物的数量大于货架腿的总数的一半,且目标子障碍物的数量不大于总数时,可以根据目标子障碍物的坐标和该图形的形状唯一地确定整体障碍物的坐标。在该情况下,在确定整体障碍物的几何中心时,可以在每个坐标轴上,将每个坐标轴上最大坐标值和最小坐标值的平均值,确定为该整体障碍物的几何中心在该坐标轴上的坐标,以便于根据该几何中心确定整体障碍物的坐标。
在步骤2052的第二种可实现方式中,当目标子障碍物的数量不大于货架腿的总数的一半,且目标子障碍物的数量大于1时,可以基于货架上货架腿的第一间距、最大坐标值和最小坐标值,获取整体障碍物的几何中心的坐标。请参考图12,该基于第一间距、最大坐标值和最小坐标值,获取整体障碍物的几何中心的坐标的实现过程,可以包括:
步骤2052a、基于每两个目标子障碍物的坐标,获取每两个目标子障碍物相对于移动机器人的目标方向、及每两个子障碍物的连线所在的目标排布方向。
由于目标子障碍物的坐标是根据移动机器人的本体坐标系确定的,因此,当两个目标子障碍物的坐标已知时,可以将该目标子障碍物的坐标与该本体坐标系的坐标原点进行比较,并根据比较结果确定每个目标子障碍物与移动机器人的相对位置,以得到该目标方向。且在该每个目标子障碍物相对于移动机器人的坐标已知时,可以根据该相对位置,确定每两个目标子障碍物的目标排布方向,以得到该目标排布方向。
可选地,在确定每两个目标子障碍物的目标排布方向时,也可以将该两个目标子障碍物的第二间距和任意两个货架腿的第一间距进行比较,当该第二间距与某两个货架腿的第一间距匹配(相等或在误差范围内相等)时,将该两个货架腿的排布方向确定为该两个目标子障碍物的排布方向。
示例地,对于图7所示的移动机器人的本体坐标系,假设根据点P3确定的目标子障碍物的坐标为(80,-5),根据点P4确定的目标子障碍物的坐标为(80,-40),将该两个目标子障碍物的坐标分别与该本体坐标系的坐标原点进行比较后,可以确定根据点P3确定的目标子障碍物和根据点P4确定的目标子障碍物均位于该移动机器人的前侧。并且,根据该相对位置,可以确定该两个目标子障碍物沿短边排列(即沿y轴排列),即目标排布方向为沿y轴排列。
步骤2052b、在与目标排布方向垂直的方向上,将最大间距对应的两个货架腿的间距确定为第一间距。
当两个目标子障碍物按照目标排布方向排布时,获取的该两个目标子障碍物的坐标能够反映整体障碍物在该目标排布方向上的尺寸,但无法反映整体障碍物在其他方向上的尺寸(例如:不能反映整体障碍物在与该目标方向垂直的方向上的尺寸),此时,可以基于该两个目标子障碍物在该目标排布方向上的坐标,并参考样本障碍物在该其他方向上的尺寸,获取整体障碍物的几何中心的坐标。并且,由于在该其他方向上,可能至少设置有两个货架腿,该整体障碍物在与该其他方向上的尺寸通常可以通过该方向上间距最大的两个货架腿的间距反映,因此,在获取整体障碍物的几何中心之前,可以先在该其他方向上,确定间距最大的两个货架腿,并将该最大间距确定为第一间距,以便于为获取整体障碍物的几何中心的坐标提供参考信息。
示例地,假设两个目标子障碍物的目标排布方向为沿短边排列(即沿y轴排列),此时,为了获取整体障碍物的几何中心的坐标,可以获取沿长边(即x轴)方向排布的两个货架腿的第一间距,且该第一间距为该长边方向上具有最大间距的两个货架腿的间距。
步骤2052c、基于第一间距、目标方向、最大坐标值和最小坐标值,获取整体障碍物的几何中心的坐标。
当目标子障碍物相对于移动机器人的位置不同,和/或,每两个目标子障碍物的目标排布方向的不同时,根据目标子障碍物在目标排布方向上的坐标和样本障碍物在其他方向上的尺寸,获取整体障碍物的几何中心的坐标的实现方式不同,本发明实施例以以下实现方式为例对其进行说明:
对于每两个目标子障碍物相对于移动机器人的不同位置,以及,每两个目标子障碍物的不同目标排布方向,在目标子障碍物对应的坐标中,在第一方向上的最大坐标值Ymax,在该第一方向上的最小坐标值Ymin,在第二方向上的最大坐标值Xmax,在该第二方向上的最小坐标值Xmin、及几何中心(Xc,Yc)可以满足:
当目标排布方向平行于第一方向,且目标子障碍物位于移动机器人的前侧时,Xc=(Xmax+Xmin+l)/2,Yc=(Ymax+Ymin)/2。
当目标排布方向平行于第一方向,且目标子障碍物位于移动机器人的后侧时,Xc=(Xmax+Xmin-l)/2,Yc=(Ymax+Ymin)/2。
当目标排布方向平行于第二方向,且目标子障碍物位于移动机器人的左侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin+w)/2。
当目标排布方向平行于第二方向,且目标子障碍物位于移动机器人的右侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin-w)/2。
其中,第一方向与第二方向垂直,该l为两个货架腿在第二方向上的第一间距,该w为两个货架腿在第一方向上的第一间距。
需要说明的是,当整体障碍物相对于移动机器人的放置方式不同时,在计算整体障碍物的几何中心的过程中,根据样本障碍物的尺寸信息获取l和w的方式不同,因此,在根据该尺寸信息获取l和w的取值之前,还可以根据目标子障碍物的位置信息判断整体障碍物的放置方式,然后根据该放置方式和尺寸信息获取该l和w的取值。例如:假设整体障碍物在预设平面上的截面呈矩形时,该矩形具有长边和短边,当该整体障碍物的放置方式为该长边所在方向与第一方向平行时,该l的取值为该长边上的两个货架腿的第一间距,该w的取值为在该短边上的两个货架腿的第一间距。当该整体障碍物的放置方式为该短边所在方向与第一方向平行时,该l的取值为该短边上的两个货架腿的第一间距,该w的取值为在该长边上的两个货架腿的第一间距。当整体障碍物相对于移动机器人的放置方式为其他方式时,该l和w的取值方式请相应参考该示例中的取值方式,此处不再赘述。
还需要说明的是,该步骤2052中根据子障碍物的位置信息确定整体障碍物的几何中心的示例仅为用于检测障碍点的传感器为二维传感器时的示例,当用于检测障碍点的传感器为三维传感器时,其确定整体障碍物的几何中心的实现过程请相应参考该步骤2052的实现过程,此处不再赘述。
步骤2053、基于样本障碍物的尺寸信息和整体障碍物的几何中心的位置信息,获取该整体障碍物的位置信息。
可选的,获取该整体障碍物的位置信息,可以包括:获取整体障碍物的外接图形的位置信息。且该整体障碍物的位置信息可以通过外接图形的顶点坐标表征。示例地,该整体障碍物的外接图形可以包括:整体障碍物在预设平面上的外接多边形(例如:外接矩形),此时,整体障碍物的位置信息可以通过该整体障碍物在预设平面上的外接多边形的顶点坐标表征,其中,预设平面平行于行驶环境中的行驶路面。或者,该整体障碍物的外接图形可以包括:整体障碍物的外接立体图形(例如:外接立方体),此时,整体障碍物的位置信息可以通过该整体障碍物的外接立体图形的顶点坐标表征。
其中,当通过激光雷达采集障碍点时,由于该障碍点均位于该激光雷达检测面内,因此,该预设平面通常与该激光雷达检测面重合。例如:当激光雷达检测面平行于移动机器人的行驶路面时,该预设平面可以平行于该行驶路面。或者,当激光雷达检测面与行驶路面之间存在小角度的夹角时,该预设平面与该行驶路面之间也存在小角度的夹角。
在步骤2053的一种可实现方式中,当该外接多边形为外接矩形,该整体障碍物的位置信息由该外接矩形的顶点坐标表征,此时,样本障碍物的尺寸L×W、该整体障碍物的几何中心的坐标(Xc,Yc)、及该外接矩形的顶点坐标(X1,Y1)、(X1,Y2)、(X2,Y1)和(X2,Y2)可以满足:X1=Xc-L/2,X2=Xc+L/2,Y1=Yc-W/2,Y2=Yc+W/2。
示例地,对于图7所示的移动机器人的本体坐标系,假设根据点P3确定的目标子障碍物的坐标为(80,-5),根据点P4确定的目标子障碍物的坐标为(80,-40),请参考图13,根据该位置信息确定的目标方向指示该两个目标子障碍物均位于该移动机器人的前侧,且该两个目标子障碍物的目标排布方向为沿y轴排列,以及,在x轴方向上,两个货架腿的第一间距为100厘米时,此时,根据该两个目标子障碍物的位置信息、该目标方向和该两个货架腿的第一间距,可以确定整体障碍物M的几何中心的坐标Xc=(Xmax+Xmin+l)/2=(80+80+100)/2=130,Yc=(Ymax+Ymin)/2=(-5+(-40))/2=-22.5。
并且,当该整体障碍物M的位置信息由该整体障碍物M在对应传感器的检测平面上的外接矩形的顶点坐标表征,且样本障碍物的尺寸为120×100时,可以确定该矩形的顶点坐标(X1,Y1)、(X1,Y2)、(X2,Y1)和(X2,Y2)分别满足:X1=130-60=70,X2=130+60=180,Y1=-22.5-50=-72.5,Y2=-22.5+50=27.5,即该外接矩形的顶点坐标分别为(180,27.5)、(180,-72.5)、(70,-72.5)和(70,27.5)。此时,若移动机器人根据该整体障碍物M的位置信息进行避障,就能够降低因检测到的子障碍物的位置信息仅为货架腿的位置信息而导致避障失败的几率,进而保证了移动机器人的安全行驶。
在步骤2053的另一种可实现方式中,当该外接立体图形为外接立方体,该整体障碍物的位置信息由该外接立方体的顶点坐标表征,此时,样本障碍物的尺寸L×W×H、该整体障碍物的几何中心的坐标(Xc,Yc,Zc)、及该外接立方体的顶点坐标(X1,Y1,Z1)、(X1,Y2,Z1)、(X2,Y1,Z1)、(X2,Y2,Z1)、(X1,Y1,Z2)、(X1,Y2,Z2)、(X2,Y1,Z2)和(X2,Y2,Z2)可以满足:X1=Xc-L/2;X2=Xc+L/2;Y1=Yc-W/2;Y2=Yc+W/2;Z1=0;Z2=H。其中,H为整体障碍物的顶端到行驶环境中的行驶路面的距离。当用于检测子障碍物的传感器为三维传感器时,该Zc可以为根据该三维传感器检测到的子障碍物的位置信息确定的坐标。当用于检测子障碍物的传感器为二维传感器时,由于二维传感器无法检测子障碍物在高度方向上的位置信息,此时,无法根据传感器检测到的子障碍物的位置信息确定Zc的取值,以及,三维传感器也会存在无法检测子障碍物在高度方向上的位置信息,此时,Zc可以为一个虚设的数值,例如:该Zc可表示为“NULL”。且由于在本发明实施例中,无需根据该Zc的取值确定整体障碍物的位置信息,因此,无论是否能够采集到子障碍物在高度方向上的位置信息,其均不会影响获取整体障碍物的位置信息的过程。
示例地,假设整体障碍物的几何中心的坐标为(130,22.5),当该整体障碍物的位置信息由该整体障碍物的外接立方体的顶点坐标表征,且样本障碍物的尺寸为120×100×100时,可以确定该矩形的顶点坐标(X1,Y1,Z1)、(X1,Y2,Z1)、(X2,Y1,Z1)、(X2,Y2,Z1)、(X1,Y1,Z2)、(X1,Y2,Z2)、(X2,Y1,Z2)和(X2,Y2,Z2)分别满足:X1=130-60=70,X2=130+60=180,Y1=-22.5-50=-72.5,Y2=-22.5+50=27.5,Z1=0,Z2=100,即该外接矩形的顶点坐标分别为(180,27.5,0)、(180,-72.5,0)、(70,-72.5,0)、(70,27.5,0)、(180,27.5,100)、(180,-72.5,100)、(70,-72.5,100)和(70,27.5,100)。此时,若移动机器人根据该整体障碍物的位置信息进行避障,就能够降低因检测到的子障碍物的位置信息仅为货架腿的位置信息而导致避障失败的几率,进而保证了移动机器人的安全行驶。
在该步骤205的第一种可实现方式中,由于是根据几何中心和样本障碍物的尺寸获取整体障碍物的位置信息的,无需考虑子障碍物是否设置在整体障碍物的边缘,因此,对于子障碍物设置在整体障碍物的边缘处,或者,子障碍物的设置位置与整体障碍物的边缘存在一定距离的使用场景,均能够较准确的确定整体障碍物的位置信息,进而提高为移动机器人避障提供的障碍物的位置信息的准确性。
该步骤205的第二种可实现方式,对子障碍物的坐标进行组合,以获取整体障碍物的位置信息。如图14所示,其实现过程可以包括:
步骤2054、当子障碍物的数量大于货架腿的总数的一半,且子障碍物的数量不大于总数时,在多个子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值。
该步骤2054的实现过程请相应参考步骤2051的实现过程,此处不再赘述。
步骤2055、基于预先存储的样本障碍物的尺寸信息,确定整体障碍物的外接图形。
当样本障碍物的尺寸信息已知时,可以根据该尺寸信息的表示方式,确定该样本障碍物的形状,从而根据该形状确定该整体障碍物的外接图形的可选形状,并根据实际需要在该可选形状中确定该样本障碍物的外接图形,然后执行步骤2056。例如:当样本障碍物的尺寸信息的表示方式为长×宽×高时,可知该样本障碍物的形状为立方体,此时,可以确定该样本障碍物的外接图形的可选形状为外接立方体和外接矩形,相应的,可以根据实际需要在该可选形状中确定该样本障碍物的外接图形为外接立方体或外接矩形。或者,当样本障碍物的尺寸信息的表示方式为2×π×圆的半径×高时,可知该样本障碍物的形状为圆柱体,此时,可以确定该样本障碍物的外接图形的可选形状为外接圆柱和外接圆形,相应的,可以根据实际需要在该可选形状中确定该样本障碍物的外接图形为外接立方体或外接矩形,并执行步骤2056。
步骤2056、对最大坐标值和最小坐标值进行组合,得到外接图形的顶点坐标。
在确定每个坐标轴上的最大坐标值和最小坐标值后,可以根据几何知识对其进行组合,以得到外界图形的顶点坐标。下面以整体障碍物的外接图形包括:整体障碍物在预设平面上的外接矩形,以及,整体障碍物的外接立方体为例,分别对该步骤2056的实现过程进行说明:
当整体障碍物的外接图形包括:整体障碍物在预设平面上的外接矩形时,根据几何知识可以将每个坐标轴上的最大坐标值和最小坐标值进行组合,得到该外接矩形的顶点坐标分别为:(Xmax,Ymax)、(Xmax,Ymin)、(Xmin,Ymax)和(Xmin,Ymin)。
其中,Ymax为在第一方向上的最大坐标值,Ymin为在第一方向上的最小坐标值,Xmax为在第二方向上的最大坐标值,Xmin为在第二方向上的最小坐标值,第一方向与第二方向垂直。
示例地,假设激光雷达检测到的子障碍物的数量为3,货架腿的总数为4,且在多个子障碍物对应的坐标中,在x轴方向上的最大坐标值为180,在x轴方向上的最小坐标值为70,在y轴方向上的最大坐标值为27.5,在y轴方向上的最小坐标值为-72.5,则根据几何知识将每个坐标轴上的最大坐标值和最小坐标值进行组合后,可以得到该外接矩形的顶点坐标分别为:(180,27.5)、(180,-72.5)、(70,27.5)和(70,-72.5)。
当整体障碍物的外接图形包括:整体障碍物的外接立方体时,根据几何知识可以将每个坐标轴上的最大坐标值和最小坐标值进行组合,得到该外接立方体的顶点坐标分别为:(Xmax,Ymax,0)、(Xmax,Ymin,0)、(Xmin,Ymax,0)、(Xmin,Ymin,0)、(Xmax,Ymax,H)、(Xmax,Ymin,H)、(Xmin,Ymax,H)和(Xmin,Ymin,H)。
其中,Ymax为在第一方向上的最大坐标值,Ymin为在第一方向上的最小坐标值,Xmax为在第二方向上的最大坐标值,Xmin为在第二方向上的最小坐标值,H为整体障碍物的顶端到行驶环境中的行驶路面的距离,第一方向、第二方向和H所在的方向互相垂直。
示例地,假设激光雷达检测到的子障碍物的数量为3,货架腿的总数为4,且在多个子障碍物对应的坐标中,在x轴方向上的最大坐标值为180,在x轴方向上的最小坐标值为70,在y轴方向上的最大坐标值为27.5,在y轴方向上的最小坐标值为-72.5,且根据样本障碍物的尺寸信息可知该样本障碍物的高度(即整体障碍物的顶端到行驶环境中的行驶路面的距离)为100,则根据几何知识将每个坐标轴上的最大坐标值和最小坐标值进行组合后,可以得到该外接立方体的顶点坐标分别为:(180,27.5,0)、(180,-72.5,0)、(70,27.5,0)、(70,-72.5,0)、(180,27.5,100)、(180,-72.5,100)、(70,27.5,100)和(70,-72.5,100)。
在该步骤205的第二种可实现方式中,由于整体障碍物的位置信息是对子障碍物的坐标进行组合得到的,当子障碍物的设置位置与整体障碍物的边缘存在一定距离时,在获取该通过组合得到的整体障碍物的位置信息后,还可以根据样本障碍物的尺寸信息中记载的子障碍物与整体障碍物的边缘之间的距离,并根据该距离对该整体障碍物的位置信息进行修正,以得到具有较高准确性的整体障碍物的位置信息,进而提高为移动机器人避障提供的障碍物的位置信息的准确性。
需要说明的是,当整体障碍物相对于移动机器人的放置方式不同时,在该获取整体障碍物的位置信息的过程中,根据样本障碍物的参数信息获取L和W的方式不同,因此,在根据该参数信息获取L和W的取值之前,还可以根据目标子障碍物的位置信息判断整体障碍物的放置方式,然后根据该放置方式和参数信息获取该L和W的取值。例如:假设整体障碍物在预设平面上的截面呈矩形时,该矩形具有长边和短边,当该整体障碍物的放置方式为该长边所在方向与第一方向平行时,该L的取值为该样本障碍物在该长边上的尺寸,该W的取值为该样本障碍物在该短边上的尺寸。当该整体障碍物的放置方式为该短边所在方向与第一方向平行时,该L的取值为该样本障碍物在该短边上的尺寸,该W的取值为该样本障碍物在该短边上的尺寸。当整体障碍物相对于移动机器人的放置方式为其他方式时,该L和W的取值方式请相应参考该示例中的取值方式,此处不再赘述。
并且,当移动机器人的本体坐标系的设置方式不同时,上述实施例中矩形的顶点坐标,以及,整体障碍物的几何中心的坐标的计算公式会相应变化,且可以根据几何知识推理得到对应的计算公式,此处对其不再赘述。
还需要说明的是,上述步骤202、步骤203和步骤204均为在获取整体障碍物之前,对获取的子障碍物的相关信息和移动机器人的载货状态进行预判,并根据预判的结果确定是否有必要根据子障碍物的位置信息获取整体障碍物的位置信息的实现方式,在进行障碍物检测的过程中,可以根据需要选择是否执行该步骤202、步骤203和步骤204中的至少一个。例如:可以选择执行步骤202和步骤203,即判断移动机器人是否处于载货状态,当确定移动机器人处于载货状态时,基于每个子障碍物的位置信息与样本障碍物的参数信息,将每个子障碍物与样本障碍物进行匹配,并在行驶环境中存在与样本障碍物匹配的目标子障碍物时,基于目标子障碍物的位置信息和样本障碍物的尺寸信息,获取整体障碍物的位置信息。或者,也可以选择在步骤201之后执行步骤205,即在获取多个子障碍物的位置信息后,基于目标子障碍物的位置信息和样本障碍物的尺寸信息,获取整体障碍物的位置信息。
并且,在对获取的子障碍物的相关信息和移动机器人的载货状态进行预判时,对于根据移动机器人的载货状态(对应步骤202)、根据子障碍是否与整体障碍物匹配(对应步骤203)、及根据子障碍物的数量(对应步骤204)中的多个进行预判时,可以根据实际需要调整预判顺序,本发明实施例对其不做具体限定。
综上所述,本发明实施例提供的障碍物检测方法,通过获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,基于多个子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,根据子障碍物与整体障碍物之间的局部与整体的关系,获取该整体障碍物的位置信息,相较于相关技术,能够进一步地根据子障碍物的位置信息获取整体障碍物的位置信息,提高了为移动机器人避障提供的障碍物的位置信息的准确性,进而提高了移动机器人避障成功的几率。
需要说明的是,本发明实施例提供的障碍物检测方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,例如:可以根据实际需要选择是否执行步骤202、步骤203和步骤204中的至少一个,本发明实施例对其不做具体限定。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
图15为本发明实施例提供的一种障碍物检测装置的结构示意图,如图15所示,该障碍物检测装置500可以可以包括:
第一获取模块501,用于获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,每个子障碍物为整体障碍物的局部结构。
第二获取模块502,用于基于多个子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取整体障碍物的位置信息。
综上所述,本发明实施例提供的障碍物检测装置,通过第一获取模块获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,第二获取模块基于多个子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,根据子障碍物与整体障碍物之间的局部与整体的关系,获取该整体障碍物的位置信息,相较于相关技术,能够进一步地根据子障碍物的位置信息获取整体障碍物的位置信息,提高了为移动机器人避障提供的障碍物的位置信息的准确性,进而提高了移动机器人避障成功的几率。
可选地,如图16所示,第二获取模块502,可以包括:
第一获取子模块5021,用于基于多个子障碍物的位置信息,获取整体障碍物的几何中心的位置信息。
第二获取子模块5022,用于基于样本障碍物的尺寸信息和几何中心的位置信息,获取整体障碍物的位置信息。
可选地,第二获取子模块5022,用于:获取整体障碍物的外接图形的位置信息。
可选地,整体障碍物的外接图形的位置信息可以包括:整体障碍物在预设平面上的外接矩形的顶点坐标,预设平面平行于行驶环境中的行驶路面,样本障碍物的尺寸L×W、几何中心的坐标(Xc,Yc)、及外接矩形的顶点坐标(X1,Y1)、(X1,Y2)、(X2,Y1)和(X2,Y2)满足:
X1=Xc-L/2;
X2=Xc+L/2;
Y1=Yc-W/2;
Y2=Yc+W/2。
可选地,整体障碍物的外接图形的位置信息可以包括:整体障碍物的外接立方体的顶点坐标,样本障碍物的尺寸L×W×H、几何中心的坐标(Xc,Yc,Zc)、及外接立方体的顶点坐标(X1,Y1,Z1)、(X1,Y2,Z1)、(X2,Y1,Z1)、(X2,Y2,Z1)、(X1,Y1,Z2)、(X1,Y2,Z2)、(X2,Y1,Z2)和(X2,Y2,Z2)满足:
X1=Xc-L/2;
X2=Xc+L/2;
Y1=Yc-W/2;
Y2=Yc+W/2。
Z1=0。
Z2=H。
其中,H为整体障碍物的顶端到行驶环境中的行驶路面的距离。
可选地,位置信息可以包括:坐标,第一获取子模块5021,用于:
在多个子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值。
基于最大坐标值和最小坐标值,获取整体障碍物的几何中心的坐标。
可选地,样本障碍物可以包括:货架,货架具有多个货架腿,第一获取子模块5021,用于:当子障碍物的数量大于货架腿的总数的一半,且子障碍物的数量不大于总数时,对于每个坐标轴,将坐标轴上最大坐标值和最小坐标值的平均值,确定为几何中心在坐标轴上的坐标。
可选地,样本障碍物可以包括:货架,货架具有多个货架腿,位置信息可以包括:坐标,第一获取子模块5021,用于:
在多个子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值。
当子障碍物的数量不大于货架腿的总数的一半,且子障碍物的数量大于1时,基于货架上货架腿的第一间距、最大坐标值和最小坐标值,获取整体障碍物的几何中心的坐标。
可选地,第一获取子模块5021,用于:
基于每两个子障碍物的位置信息,获取每两个子障碍物相对于移动机器人的目标方向、及每两个子障碍物的连线所在的目标排布方向。
在与目标排布方向垂直的方向上,将最大间距对应的两个货架腿的间距确定为第一间距。
基于第一间距、目标方向、最大坐标值和最小坐标值,获取整体障碍物的几何中心的坐标。
可选地,在第一方向上的最大坐标值Ymax,在第一方向上的最小坐标值Ymin,在第二方向上的最大坐标值Xmax,在第二方向上的最小坐标值Xmin、及几何中心(Xc,Yc)满足:
当目标排布方向平行于第一方向,且子障碍物位于移动机器人的前侧时,Xc=(Xmax+Xmin+l)/2,Yc=(Ymax+Ymin)/2。
当目标排布方向平行于第一方向,且子障碍物位于移动机器人的后侧时,Xc=(Xmax+Xmin-l)/2,Yc=(Ymax+Ymin)/2。
当目标排布方向平行于第二方向,且子障碍物位于移动机器人的左侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin+w)/2。
当目标排布方向平行于第二方向,且子障碍物位于移动机器人的右侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin-w)/2。
其中,第一方向与第二方向垂直,l为两个货架腿在第二方向上的第一间距,w为两个货架腿在第一方向上的第一间距。
可选地,位置信息可以包括:坐标,如图17所示,第二获取模块502,可以包括:
第三获取子模块5023,用于当子障碍物的数量大于货架腿的总数的一半,且子障碍物的数量不大于总数时,在多个子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值。
第一确定子模块5024,用于基于预先存储的样本障碍物的尺寸信息,确定整体障碍物的外接图形。
第一得到子模块5025,用于对最大坐标值和最小坐标值进行组合,得到外接图形的顶点坐标。
可选地,整体障碍物的外接图形可以包括:整体障碍物在预设平面上的外接矩形,预设平面平行于行驶环境中的行驶路面。
外接矩形的顶点坐标分别为:(Xmax,Ymax)、(Xmax,Ymin)、(Xmin,Ymax)和(Xmin,Ymin)。
其中,Ymax为在第一方向上的最大坐标值,Ymin为在第一方向上的最小坐标值,Xmax为在第二方向上的最大坐标值,Xmin为在第二方向上的最小坐标值,第一方向与第二方向垂直。
可选地,整体障碍物的外接图形可以包括:整体障碍物的外接立方体。外接立方体的顶点坐标分别为:(Xmax,Ymax,0)、(Xmax,Ymin,0)、(Xmin,Ymax,0)、(Xmin,Ymin,0)、(Xmax,Ymax,H)、(Xmax,Ymin,H)、(Xmin,Ymax,H)和(Xmin,Ymin,H)。
其中,Ymax为在第一方向上的最大坐标值,Ymin为在第一方向上的最小坐标值,Xmax为在第二方向上的最大坐标值,Xmin为在第二方向上的最小坐标值,H为整体障碍物的顶端到行驶环境中的行驶路面的距离,第一方向、第二方向和H所在的方向互相垂直。
可选地,样本障碍物可以包括:货架,货架具有多个货架腿,如图18所示,该装置500还可以包括:
第三获取模块503,用于获取行驶环境中存在的子障碍物的数量。
第二获取模块502,用于:当子障碍物的数量大于1,且子障碍物的数量不大于货架腿的总数时,基于多个子障碍物的位置信息和样本障碍物的尺寸信息,获取整体障碍物的位置信息。
可选地,如图18所示,该装置500还可以包括:
匹配模块504,用于基于每个子障碍物的位置信息与样本障碍物的参数信息,将每个子障碍物与样本障碍物进行匹配。
第二获取模块502,用于:当行驶环境中存在与样本障碍物匹配的目标子障碍物时,基于目标子障碍物的位置信息和样本障碍物的尺寸信息,获取整体障碍物的位置信息。
可选地,样本障碍物可以包括:货架,货架具有多个货架腿,参数信息可以包括:每个货架腿的尺寸和货架上货架腿的第一间距,匹配模块504,用于:
基于每个子障碍物的位置信息,获取子障碍物的尺寸、及子障碍物与任一其他子障碍物的第二间距。
当子障碍物的尺寸与任一货架腿的尺寸匹配,且第二间距与货架腿对应的第一间距匹配时,确定子障碍物与样本障碍物匹配。
可选地,如图18所示,该装置500还可以包括:
判断模块505,用于判断移动机器人是否处于载货状态。
第二获取模块502,用于:当确定移动机器人处于载货状态时,基于多个子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取整体障碍物的位置信息。
可选地,如图19所示,第一获取模块501,可以包括:
第四获取子模块5011,用于获取行驶环境中存在的多个障碍点的位置信息。
划分子模块5012,用于基于多个障碍点的位置信息,将多个障碍点划分至多个点集合,每个点集合可以包括至少一个障碍点。
第二确定子模块5013,用于对于每个点集合,基于点集合中至少一个障碍点的位置信息,确定点集合的位置信息。
第二得到子模块5014,用于将每个点集合的位置信息确定为一个子障碍物的位置信息,以得到多个子障碍物的位置信息,且多个点集合与多个子障碍物一一对应。
可选地,第二确定子模块5013,用于:
基于点集合中至少一个障碍点的位置信息,获取点集合的外接多边形的位置信息。
将点集合的外接多边形的位置信息确定为点集合的位置信息。
可选地,划分子模块5012,用于:
基于多个障碍点的位置信息,对多个障碍点执行点云分割处理,使得多个障碍点被划分至多个区域。
对于每个区域,将区域中的至少一个障碍点划分至至少一个点集合。
综上所述,本发明实施例提供的障碍物检测装置,通过第一获取模块获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,第二获取模块基于多个子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,根据子障碍物与整体障碍物之间的局部与整体的关系,获取该整体障碍物的位置信息,相较于相关技术,能够进一步地根据子障碍物的位置信息获取整体障碍物的位置信息,提高了为移动机器人避障提供的障碍物的位置信息的准确性,进而提高了移动机器人避障成功的几率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供了一种移动机器人,该移动机器人可以包括:上述实施例提供的障碍物检测装置。示例地,该移动机器人可以为泊车机器人或仓储机器人。
本发明实施例还提供了一种终端,该终端可以部署在该移动机器人上,该终端可以包括处理器和存储器,
其中,
存储器,用于存放计算机程序。
处理器,用于执行存储器上所存放的程序,以实现上述实施例提供的障碍物检测方法。
可选的,上述处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
上述存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器所执行以实现本申请中方法实施例提供的障碍物检测方法。
本发明实施例还提供了一种存储介质,该存储介质可以为非易失性计算机可读存储介质,存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述实施例提供的障碍物检测方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的障碍物检测方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (38)
1.一种障碍物检测方法,其特征在于,所述方法包括:
获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,每个所述子障碍物为整体障碍物的局部结构;
基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,所述样本障碍物为与所述整体障碍物具有相同配置参数的先验障碍物。
2.根据权利要求1所述的方法,其特征在于,所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,包括:
基于多个所述子障碍物的位置信息,获取所述整体障碍物的几何中心的位置信息;
基于所述样本障碍物的尺寸信息和所述几何中心的位置信息,获取所述整体障碍物的位置信息。
3.根据权利要求2所述的方法,其特征在于,所述获取所述整体障碍物的位置信息,包括:
获取所述整体障碍物的外接图形的位置信息。
4.根据权利要求3所述的方法,其特征在于,所述整体障碍物的外接图形的位置信息包括:所述移动机器人的本体坐标系下所述整体障碍物在预设平面上的外接矩形的顶点坐标,所述预设平面平行于所述行驶环境中的行驶路面且所述外接矩形的任一条边平行于所述本体坐标系的X坐标轴或Y坐标轴,所述样本障碍物的尺寸L×W、所述本体坐标系下所述几何中心的坐标(Xc,Yc)、及所述外接矩形的顶点坐标(X1,Y1)、(X1,Y2)、(X2,Y1)和(X2,Y2)满足:
X1=Xc-L/2;
X2=Xc+L/2;
Y1=Yc-W/2;
Y2=Yc+W/2。
5.根据权利要求3所述的方法,其特征在于,所述整体障碍物的外接图形的位置信息包括:所述移动机器人的本体坐标系下所述整体障碍物的外接立方体的顶点坐标,所述外接立方体的任一条边均平行于所述本体坐标系的X坐标轴或Y坐标轴或Z坐标轴,所述样本障碍物的尺寸L×W×H、所述本体坐标系下所述几何中心的坐标(Xc,Yc,Zc)、及所述外接立方体的顶点坐标(X1,Y1,Z1)、(X1,Y2,Z1)、(X2,Y1,Z1)、(X2,Y2,Z1)、(X1,Y1,Z2)、(X1,Y2,Z2)、(X2,Y1,Z2)和(X2,Y2,Z2)满足:
X1=Xc-L/2;
X2=Xc+L/2;
Y1=Yc-W/2;
Y2=Yc+W/2;
Z1=0;
Z2=H;
其中,所述H为所述整体障碍物的顶端到所述行驶环境中的行驶路面的距离。
6.根据权利要求2至5任一所述的方法,其特征在于,所述位置信息包括:坐标,所述基于多个所述子障碍物的位置信息,获取所述整体障碍物的几何中心的位置信息,包括:
在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
基于所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标。
7.根据权利要求6所述的方法,其特征在于,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述基于所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标,包括:
当所述子障碍物的数量大于所述货架腿的总数的一半,且所述子障碍物的数量不大于所述总数时,对于每个坐标轴,将所述坐标轴上最大坐标值和最小坐标值的平均值,确定为所述几何中心在所述坐标轴上的坐标。
8.根据权利要求4所述的方法,其特征在于,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述位置信息包括:坐标,所述基于多个所述子障碍物的位置信息,获取所述整体障碍物的几何中心的位置信息,包括:
在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
当所述子障碍物的数量不大于所述货架腿的总数的一半,且所述子障碍物的数量大于1时,基于每两个子障碍物的位置信息,获取每两个所述子障碍物相对于所述移动机器人的目标方向、及每两个所述子障碍物的连线所在的目标排布方向;
在所述货架与所述目标排布方向对应方向的垂直方向上,将所述货架上间距最大的两个货架腿间的间距确定为第一间距;
基于所述第一间距、所述目标方向、所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标。
9.根据权利要求8所述的方法,其特征在于,多个子障碍物在第一方向上的最大坐标值Ymax,在所述第一方向上的最小坐标值Ymin,在第二方向上的最大坐标值Xmax,在所述第二方向上的最小坐标值Xmin、及所述几何中心(Xc,Yc)满足:
当所述目标排布方向平行于所述第一方向,且所述子障碍物位于所述移动机器人的前侧时,Xc=(Xmax+Xmin+l)/2,Yc=(Ymax+Ymin)/2;
当所述目标排布方向平行于所述第一方向,且所述子障碍物位于所述移动机器人的后侧时,Xc=(Xmax+Xmin-l)/2,Yc=(Ymax+Ymin)/2;
当所述目标排布方向平行于所述第二方向,且所述子障碍物位于所述移动机器人的左侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin+w)/2;
当所述目标排布方向平行于所述第二方向,且所述子障碍物位于所述移动机器人的右侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin-w)/2;
其中,所述第一方向与所述第二方向垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向,所述l为所述两个货架腿在所述第二方向上的第一间距,所述w为所述两个货架腿在所述第一方向上的第一间距。
10.根据权利要求1所述的方法,其特征在于,所述位置信息包括:坐标,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,包括:
当所述子障碍物的数量大于货架腿的总数的一半,且所述子障碍物的数量不大于所述总数时,在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
基于预先存储的样本障碍物的尺寸信息,确定所述整体障碍物的外接图形;
对所述最大坐标值和所述最小坐标值进行组合,得到所述外接图形的顶点坐标。
11.根据权利要求10所述的方法,其特征在于,所述整体障碍物的外接图形包括:所述移动机器人的本体坐标系下所述整体障碍物在预设平面上的外接矩形,所述预设平面平行于所述行驶环境中的行驶路面且所述外接矩形的任一条边平行于所述本体坐标系的X坐标轴或Y坐标轴;
所述外接矩形的顶点坐标分别为:(Xmax,Ymax)、(Xmax,Ymin)、(Xmin,Ymax)和(Xmin,Ymin);
其中,所述Ymax为在第一方向上的最大坐标值,所述Ymin为在所述第一方向上的最小坐标值,所述Xmax为在第二方向上的最大坐标值,所述Xmin为在所述第二方向上的最小坐标值,所述第一方向与所述第二方向垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向。
12.根据权利要求10所述的方法,其特征在于,所述整体障碍物的外接图形包括:所述移动机器人的本体坐标系下所述整体障碍物的外接立方体,所述外接立方体的任一条边均平行于所述本体坐标系的X坐标轴或Y坐标轴或Z坐标轴;
所述外接立方体的顶点坐标分别为:(Xmax,Ymax,0)、(Xmax,Ymin,0)、(Xmin,Ymax,0)、(Xmin,Ymin,0)、(Xmax,Ymax,H)、(Xmax,Ymin,H)、(Xmin,Ymax,H)和(Xmin,Ymin,H);
其中,所述Ymax为在第一方向上的最大坐标值,所述Ymin为在所述第一方向上的最小坐标值,所述Xmax为在第二方向上的最大坐标值,所述Xmin为在所述第二方向上的最小坐标值,所述H为所述整体障碍物的顶端到所述行驶环境中的行驶路面的距离,所述第一方向、所述第二方向和所述H所在的方向互相垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向,所述H所在的方向为Z坐标轴方向。
13.根据权利要求1至5任一所述的方法,其特征在于,所述样本障碍物包括:货架,所述货架具有多个货架腿,在所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息之前,所述方法还包括:
获取所述行驶环境中存在的所述子障碍物的数量;
所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,包括:
当所述子障碍物的数量大于1,且所述子障碍物的数量不大于所述货架腿的总数时,基于多个所述子障碍物的位置信息和所述样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
14.根据权利要求1至5任一所述的方法,其特征在于,在所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息之前,所述方法还包括:
基于每个所述子障碍物的位置信息与所述样本障碍物的尺寸信息,将每个所述子障碍物与所述样本障碍物进行匹配;
所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,包括:
当所述行驶环境中存在与所述样本障碍物匹配的目标子障碍物时,基于所述目标子障碍物的位置信息和所述样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
15.根据权利要求14所述的方法,其特征在于,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述尺寸信息包括:每个货架腿的尺寸和所述货架上任意两个货架腿的第一间距,所述基于每个所述子障碍物的位置信息与所述样本障碍物的尺寸信息,将每个所述子障碍物与所述样本障碍物进行匹配,包括:
基于每个所述子障碍物的位置信息,获取所述子障碍物的尺寸、及所述子障碍物与任一其他子障碍物的第二间距;
当所述子障碍物的尺寸与任一货架腿的尺寸匹配,且所述第二间距与所述货架上任意两个货架腿对应的第一间距匹配时,确定所述子障碍物与所述样本障碍物匹配。
16.根据权利要求1至5任一所述的方法,其特征在于,在所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息之前,所述方法还包括:
判断所述移动机器人是否处于载货状态;
所述基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,包括:
当确定所述移动机器人处于载货状态时,基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
17.根据权利要求1至5任一所述的方法,其特征在于,所述获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,包括:
获取所述行驶环境中存在的多个障碍点的位置信息;
基于所述多个障碍点的位置信息,将所述多个障碍点划分至多个点集合,每个点集合包括至少一个障碍点;
对于每个点集合,基于所述点集合中至少一个障碍点的位置信息,确定所述点集合的位置信息;
将每个点集合的位置信息确定为一个子障碍物的位置信息,以得到所述多个子障碍物的位置信息,且所述多个点集合与多个子障碍物一一对应。
18.根据权利要求17所述的方法,其特征在于,所述基于所述点集合中至少一个障碍点的位置信息,确定所述点集合的位置信息,包括:
基于所述点集合中至少一个障碍点的位置信息,获取所述点集合的外接多边形的位置信息;
将所述点集合的外接多边形的位置信息确定为所述点集合的位置信息。
19.根据权利要求17所述的方法,其特征在于,所述基于所述多个障碍点的位置信息,将所述多个障碍点划分至多个点集合,包括:
基于所述多个障碍点的位置信息,对所述多个障碍点执行点云分割处理,使得所述多个障碍点被划分至多个区域;
对于每个区域,将所述区域中的至少一个障碍点划分至至少一个点集合。
20.一种障碍物检测装置,其特征在于,所述装置包括:
第一获取模块,用于获取移动机器人的行驶环境中存在的多个子障碍物的位置信息,每个所述子障碍物为整体障碍物的局部结构;
第二获取模块,用于基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息,所述样本障碍物为与所述整体障碍物具有相同配置参数的先验障碍物。
21.根据权利要求20所述的装置,其特征在于,所述第二获取模块,包括:
第一获取子模块,用于基于多个所述子障碍物的位置信息,获取所述整体障碍物的几何中心的位置信息;
第二获取子模块,用于基于所述样本障碍物的尺寸信息和所述几何中心的位置信息,获取所述整体障碍物的位置信息。
22.根据权利要求21所述的装置,其特征在于,所述第二获取子模块,用于:
获取所述整体障碍物的外接图形的位置信息。
23.根据权利要求22所述的装置,其特征在于,所述整体障碍物的外接图形的位置信息包括:所述移动机器人的本体坐标系下所述整体障碍物在预设平面上的外接矩形的顶点坐标,所述预设平面平行于所述行驶环境中的行驶路面且所述外接矩形的任一条边平行于所述本体坐标系的X坐标轴或Y坐标轴,所述样本障碍物的尺寸L×W、所述本体坐标系下所述几何中心的坐标(Xc,Yc)、及所述外接矩形的顶点坐标(X1,Y1)、(X1,Y2)、(X2,Y1)和(X2,Y2)满足:
X1=Xc-L/2;
X2=Xc+L/2;
Y1=Yc-W/2;
Y2=Yc+W/2。
24.根据权利要求22所述的装置,其特征在于,所述整体障碍物的外接图形的位置信息包括:所述移动机器人的本体坐标系下所述整体障碍物的外接立方体的顶点坐标,所述外接立方体的任一条边均平行于所述本体坐标系的X坐标轴或Y坐标轴或Z坐标轴,所述样本障碍物的尺寸L×W×H、所述本体坐标系下所述几何中心的坐标(Xc,Yc,Zc)、及所述外接立方体的顶点坐标(X1,Y1,Z1)、(X1,Y2,Z1)、(X2,Y1,Z1)、(X2,Y2,Z1)、(X1,Y1,Z2)、(X1,Y2,Z2)、(X2,Y1,Z2)和(X2,Y2,Z2)满足:
X1=Xc-L/2;
X2=Xc+L/2;
Y1=Yc-W/2;
Y2=Yc+W/2;
Z1=0;
Z2=H;
其中,所述H为所述整体障碍物的顶端到所述行驶环境中的行驶路面的距离。
25.根据权利要求21至24任一所述的装置,其特征在于,所述位置信息包括:坐标,所述第一获取子模块,用于:
在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
基于所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标。
26.根据权利要求25所述的装置,其特征在于,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述第一获取子模块,用于:
当所述子障碍物的数量大于所述货架腿的总数的一半,且所述子障碍物的数量不大于所述总数时,对于每个坐标轴,将所述坐标轴上最大坐标值和最小坐标值的平均值,确定为所述几何中心在所述坐标轴上的坐标。
27.根据权利要求23所述的装置,其特征在于,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述位置信息包括:坐标,所述第一获取子模块,用于:
在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
当所述子障碍物的数量不大于所述货架腿的总数的一半,且所述子障碍物的数量大于1时,基于每两个子障碍物的位置信息,获取每两个所述子障碍物相对于所述移动机器人的目标方向、及每两个所述子障碍物的连线所在的目标排布方向;
在所述货架与所述目标排布方向对应方向的垂直方向上,将所述货架上间距最大的两个货架腿间的间距确定为第一间距;
基于所述第一间距、所述目标方向、所述最大坐标值和所述最小坐标值,获取所述整体障碍物的几何中心的坐标。
28.根据权利要求27所述的装置,其特征在于,多个子障碍物在第一方向上的最大坐标值Ymax,在所述第一方向上的最小坐标值Ymin,在第二方向上的最大坐标值Xmax,在所述第二方向上的最小坐标值Xmin、及所述几何中心(Xc,Yc)满足:
当所述目标排布方向平行于所述第一方向,且所述子障碍物位于所述移动机器人的前侧时,Xc=(Xmax+Xmin+l)/2,Yc=(Ymax+Ymin)/2;
当所述目标排布方向平行于所述第一方向,且所述子障碍物位于所述移动机器人的后侧时,Xc=(Xmax+Xmin-l)/2,Yc=(Ymax+Ymin)/2;
当所述目标排布方向平行于所述第二方向,且所述子障碍物位于所述移动机器人的左侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin+w)/2;
当所述目标排布方向平行于所述第二方向,且所述子障碍物位于所述移动机器人的右侧时,Xc=(Xmax+Xmin)/2,Yc=(Ymax+Ymin-w)/2;
其中,所述第一方向与所述第二方向垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向,所述l为所述两个货架腿在所述第二方向上的第一间距,所述w为所述两个货架腿在所述第一方向上的第一间距。
29.根据权利要求20所述的装置,其特征在于,所述位置信息包括:坐标,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述第二获取模块,包括:
第三获取子模块,用于当所述子障碍物的数量大于货架腿的总数的一半,且所述子障碍物的数量不大于所述总数时,在多个所述子障碍物对应的坐标中,分别在每个坐标轴上,获取最大坐标值和最小坐标值;
第一确定子模块,用于基于预先存储的样本障碍物的尺寸信息,确定所述整体障碍物的外接图形;
第一得到子模块,用于对所述最大坐标值和所述最小坐标值进行组合,得到所述外接图形的顶点坐标。
30.根据权利要求29所述的装置,其特征在于,所述整体障碍物的外接图形包括:所述移动机器人的本体坐标系下所述整体障碍物在预设平面上的外接矩形,所述预设平面平行于所述行驶环境中的行驶路面且所述外接矩形的任一条边平行于所述本体坐标系的X坐标轴或Y坐标轴;
所述外接矩形的顶点坐标分别为:(Xmax,Ymax)、(Xmax,Ymin)、(Xmin,Ymax)和(Xmin,Ymin);
其中,所述Ymax为在第一方向上的最大坐标值,所述Ymin为在所述第一方向上的最小坐标值,所述Xmax为在第二方向上的最大坐标值,所述Xmin为在所述第二方向上的最小坐标值,所述第一方向与所述第二方向垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向。
31.根据权利要求29所述的装置,其特征在于,所述整体障碍物的外接图形包括:所述移动机器人的本体坐标系下所述整体障碍物的外接立方体,所述外接立方体的任一条边均平行于所述本体坐标系的X坐标轴或Y坐标轴或Z坐标轴;
所述外接立方体的顶点坐标分别为:(Xmax,Ymax,0)、(Xmax,Ymin,0)、(Xmin,Ymax,0)、(Xmin,Ymin,0)、(Xmax,Ymax,H)、(Xmax,Ymin,H)、(Xmin,Ymax,H)和(Xmin,Ymin,H);
其中,所述Ymax为在第一方向上的最大坐标值,所述Ymin为在所述第一方向上的最小坐标值,所述Xmax为在第二方向上的最大坐标值,所述Xmin为在所述第二方向上的最小坐标值,所述H为所述整体障碍物的顶端到所述行驶环境中的行驶路面的距离,所述第一方向、所述第二方向和所述H所在的方向互相垂直,所述第一方向为Y坐标轴方向,所述第二方向为X坐标轴方向,所述H所在的方向为Z坐标轴方向。
32.根据权利要求20至24任一所述的装置,其特征在于,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述装置还包括:
第三获取模块,用于获取所述行驶环境中存在的所述子障碍物的数量;
所述第二获取模块,用于:
当所述子障碍物的数量大于1,且所述子障碍物的数量不大于所述货架腿的总数时,基于多个所述子障碍物的位置信息和所述样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
33.根据权利要求20至24任一所述的装置,其特征在于,所述装置还包括:
匹配模块,用于基于每个所述子障碍物的位置信息与所述样本障碍物的尺寸信息,将每个所述子障碍物与所述样本障碍物进行匹配;
所述第二获取模块,用于:
当所述行驶环境中存在与所述样本障碍物匹配的目标子障碍物时,基于所述目标子障碍物的位置信息和所述样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
34.根据权利要求33所述的装置,其特征在于,所述样本障碍物包括:货架,所述货架具有多个货架腿,所述尺寸信息包括:每个货架腿的尺寸和所述货架上任意两个货架腿的第一间距,所述匹配模块,用于:
基于每个所述子障碍物的位置信息,获取所述子障碍物的尺寸、及所述子障碍物与任一其他子障碍物的第二间距;
当所述子障碍物的尺寸与任一货架腿的尺寸匹配,且所述第二间距与所述货架上任意两个货架腿对应的第一间距匹配时,确定所述子障碍物与所述样本障碍物匹配。
35.根据权利要求20至24任一所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断所述移动机器人是否处于载货状态;
所述第二获取模块,用于:
当确定所述移动机器人处于载货状态时,基于多个所述子障碍物的位置信息、及预先存储的样本障碍物的尺寸信息,获取所述整体障碍物的位置信息。
36.根据权利要求20至24任一所述的装置,其特征在于,所述第一获取模块,包括:
第四获取子模块,用于获取所述行驶环境中存在的多个障碍点的位置信息;
划分子模块,用于基于所述多个障碍点的位置信息,将所述多个障碍点划分至多个点集合,每个点集合包括至少一个障碍点;
第二确定子模块,用于对于每个点集合,基于所述点集合中至少一个障碍点的位置信息,确定所述点集合的位置信息;
第二得到子模块,用于将每个点集合的位置信息确定为一个子障碍物的位置信息,以得到所述多个子障碍物的位置信息,且所述多个点集合与多个子障碍物一一对应。
37.根据权利要求36所述的装置,其特征在于,所述第二确定子模块,用于:
基于所述点集合中至少一个障碍点的位置信息,获取所述点集合的外接多边形的位置信息;
将所述点集合的外接多边形的位置信息确定为所述点集合的位置信息。
38.根据权利要求36所述的装置,其特征在于,所述划分子模块,用于:
基于所述多个障碍点的位置信息,对所述多个障碍点执行点云分割处理,使得所述多个障碍点被划分至多个区域;
对于每个区域,将所述区域中的至少一个障碍点划分至至少一个点集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810892648.2A CN110815202B (zh) | 2018-08-07 | 2018-08-07 | 障碍物检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810892648.2A CN110815202B (zh) | 2018-08-07 | 2018-08-07 | 障碍物检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110815202A CN110815202A (zh) | 2020-02-21 |
CN110815202B true CN110815202B (zh) | 2021-11-09 |
Family
ID=69533874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810892648.2A Active CN110815202B (zh) | 2018-08-07 | 2018-08-07 | 障碍物检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110815202B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597940B (zh) * | 2020-05-07 | 2023-10-03 | 北京百度网讯科技有限公司 | 渲染模型的评估方法、装置、电子设备及可读存储介质 |
CN113264312A (zh) * | 2020-06-12 | 2021-08-17 | 深圳市海柔创新科技有限公司 | 货箱的提取方法、装置、系统、机器人和存储介质 |
CN112085815B (zh) * | 2020-09-14 | 2024-05-24 | 深圳市先地图像科技有限公司 | 一种极坐标图像的变换方法 |
CN112506189B (zh) * | 2020-11-19 | 2024-06-21 | 深圳优地科技有限公司 | 一种控制机器人移动的方法 |
CN112509126B (zh) * | 2020-12-18 | 2024-07-12 | 南京模数智芯微电子科技有限公司 | 三维物体检测的方法、装置、设备及存储介质 |
CN116719326B (zh) * | 2023-07-24 | 2024-06-25 | 国广顺能(上海)能源科技有限公司 | 一种机器人避障方法、系统和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103487810A (zh) * | 2013-09-09 | 2014-01-01 | 西安电子工程研究所 | 基于回波特征的无人车载雷达地形障碍物的检测方法 |
EP2722684A1 (de) * | 2012-10-19 | 2014-04-23 | Sick Ag | Laserscanner |
CN103955216A (zh) * | 2014-04-22 | 2014-07-30 | 华南理工大学 | 一种自动导引车两级复合避障装置 |
CN106371106A (zh) * | 2016-08-16 | 2017-02-01 | 长春理工大学 | 单线激光雷达人形目标识别方法、装置和汽车 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120316486A1 (en) * | 2010-08-20 | 2012-12-13 | Andrew Cheung | Surgical Component Navigation Systems And Methods |
-
2018
- 2018-08-07 CN CN201810892648.2A patent/CN110815202B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2722684A1 (de) * | 2012-10-19 | 2014-04-23 | Sick Ag | Laserscanner |
CN103487810A (zh) * | 2013-09-09 | 2014-01-01 | 西安电子工程研究所 | 基于回波特征的无人车载雷达地形障碍物的检测方法 |
CN103955216A (zh) * | 2014-04-22 | 2014-07-30 | 华南理工大学 | 一种自动导引车两级复合避障装置 |
CN106371106A (zh) * | 2016-08-16 | 2017-02-01 | 长春理工大学 | 单线激光雷达人形目标识别方法、装置和汽车 |
Also Published As
Publication number | Publication date |
---|---|
CN110815202A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110815202B (zh) | 障碍物检测方法及装置 | |
CN110031824B (zh) | 激光雷达联合标定方法及装置 | |
US9327406B1 (en) | Object segmentation based on detected object-specific visual cues | |
US11762071B2 (en) | Multi-mode multi-sensor calibration | |
US11667503B2 (en) | Vehicle-mounted device, cargo handling machine, control circuit, control method, and program thereof | |
CN112513679B (zh) | 一种目标识别的方法和装置 | |
US20200143557A1 (en) | Method and apparatus for detecting 3d object from 2d image | |
CN107766405A (zh) | 自动车辆道路模型定义系统 | |
CN113031004B (zh) | 基于三维激光雷达的无人船水面目标检测及路径规划方法 | |
US20230386076A1 (en) | Target detection method, storage medium, electronic device, and vehicle | |
CN110927742A (zh) | 障碍物跟踪方法、装置、设备及存储介质 | |
CN113253737B (zh) | 货架检测方法及装置、电子设备、存储介质 | |
CN114663526A (zh) | 障碍物检测方法、装置、机器人及计算机可读存储介质 | |
US12103834B2 (en) | Forklift and stowage position detecting method for forklift | |
US20200191559A1 (en) | Method, system and apparatus for support structure detection | |
CN110857859B (zh) | 障碍物检测方法及装置 | |
JP7265027B2 (ja) | 処理装置及び点群削減方法 | |
JP7230787B2 (ja) | 障害物検出装置 | |
CN112987748A (zh) | 机器人狭窄空间的控制方法、装置、终端及存储介质 | |
CN113935425B (zh) | 物体识别方法、装置、终端和存储介质 | |
CN116359932A (zh) | 基于激光雷达传感器的障碍物距离反馈方法及装置 | |
AU2019351689B2 (en) | Method, system and apparatus for object detection in point clouds | |
WO2021152340A1 (ja) | 物体認識方法及び物体認識装置 | |
CN112800873A (zh) | 确定目标方向角的方法、装置、系统及存储介质 | |
US20240219915A1 (en) | Shelf positioning method of a transporting device and transporting device capable of positioning a shelf |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Hikvision Robot Co.,Ltd. Address before: 310051 5th floor, building 1, building 2, no.700 Dongliu Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |