CN111142514B - 一种机器人及其避障方法和装置 - Google Patents
一种机器人及其避障方法和装置 Download PDFInfo
- Publication number
- CN111142514B CN111142514B CN201911268466.9A CN201911268466A CN111142514B CN 111142514 B CN111142514 B CN 111142514B CN 201911268466 A CN201911268466 A CN 201911268466A CN 111142514 B CN111142514 B CN 111142514B
- Authority
- CN
- China
- Prior art keywords
- ground
- plane
- candidate
- point cloud
- dimensional space
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012216 screening Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 15
- 230000001133 acceleration Effects 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 3
- 230000004888 barrier function Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0248—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/027—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Aviation & Aerospace Engineering (AREA)
- Electromagnetism (AREA)
- Multimedia (AREA)
- Optics & Photonics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Manipulator (AREA)
Abstract
一种机器人避障方法包括:获取三维空间点云,分割所述三维空间点云中所包含的平面作为候选地面集;获取地面法向量,根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较,确定地面所对应的所述候选地面集中的平面;在所采集的三维空间点云中删除所选择的地面对应的点云,得到障碍物点云,根据所述障碍物点云生成激光帧;根据所述激光帧和所选择的地面进行局部避障。由于该方法可以对三维空间点云实时更新,相应的实时更新场景中的障碍物的位置,因而能够有效的应用于人形机器人进行避障,提高人形机器人避障精度。
Description
技术领域
本申请属于机器人领域,尤其涉及一种机器人及其避障方法和装置。
背景技术
为了保证机器人可以安全可靠的移动至目标位置,通常需要对机器人进行避障规划。对于传统的移动机器人,可以通过单平面障碍物检测即可有效的在机器人行走过程中进行避障。然而,由于人形机器人身高较高,传统移动机器人的单平面障碍物检测方法无法在人形机器人上应用,同时考虑到激光雷达的成本较高,因此人形机器人上一般采用深度相机进行空间避障。
目前的人形机器人的空间避障的有两类方法,一类是直接使用三维点云和三维避障算法,该方法避障准确,但计算时间长;另一类是将三维点云投影到机器人所处地面构成二维的激光帧数据,然后使用平面避障算法,此类方法简单,效率高,在身高较高的机器人上大量使用。第二类方法一般假设相机离地面的高度与俯仰角不变或变化很小,这在移动机器人上很容易满足,然而人形机器人行走过程中重心位置有较大变化,并且机器人身体姿态的变化也较大,如身体前倾后倾时,因此地面高度及俯仰角不变或变化很小的假设不再适用,不能准确的对环境中的障碍物进行检测。
发明内容
有鉴于此,本申请实施例提供了一种机器人及其避障方法和装置,以解决现有技术中的人形机器人由于行走过程中重心位置和身体姿态有较大变化,不能准确的对环境中的障碍物进行检测的问题。
本申请实施例的第一方面提供了一种机器人避障方法,所述机器人避障方法包括:
获取三维空间点云,分割所述三维空间点云中所包含的平面作为候选地面集;
获取地面法向量,根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较,确定地面所对应的所述候选地面集中平面;
在所采集的三维空间点云中删除所选择的地面对应的点云,得到障碍物点云,根据所述障碍物点云生成激光帧;
根据所述激光帧和所选择的地面进行局部避障。
结合第一方面,在第一方面的第一种可能实现方式中,所述分割所述三维空间点云中所包含的平面作为候选地面集的步骤包括:
估计所述三维空间点云中的平面的法向量;
根据所估计的法向量,结合区域生长分割法将点云中的平面分割为候选地面集。
结合第一方面,在第一方面的第二种可能实现方式中,在所述根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较的步骤之前,所述方法还包括:
通过随机一致性抽样方法确定所述候选地面集中的平面参数,得到所述候选地面集中的平面所对应的平面方程。
结合第一方面或第一方面的第二种可能实现方式,在第一方面的第三种可能实现方式中,所述根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较,确定地面所对应的所述候选地面集中平面的步骤包括:
根据所述候选地面集中的平面的平面方程,确定所述候选地面集中的平面的法向量;
将所述候选地面中的平面的法向量,与地面法向量进行筛选比较,得到第一候选平面集;
获取所述第一候选平面集中的平面的高度,与上一时刻的地面的高度进行筛选比较,确定地面所对应的所述第一候选平面集中的平面。
结合第一方面,在第一方面的第四种可能实现方式中,所述获取地面法向量的步骤包括:
通过惯性测量模块获取所述机器人的加速度和角速度;
根据所获取的加速度和角速度,确定所述地面法向量。
结合第一方面,在第一方面的第五种可能实现方式中,所述根据所述障碍物点云生成激光帧的步骤包括:
根据所确定的三维空间点云中的地面所对应的平面,将所述障碍物点云向所述地面对应的平面进行投影,得到障碍物在所述地面对应的平面上的投影信息;
根据所述投影信息确定所生成的激光帧中的障碍物信息。
结合第一方面,在第一方面的第六种可能实现方式中,所述根据所述激光帧和所选择的地面进行局部避障的步骤包括:
根据所述地面所对应的平面和所述激光帧,结合时间弹性带TEB算法进行局部避障。
本申请实施例的第二方面提供了一种机器人避障装置,所述机器人避障装置包括:
候选地面集生成单元,用于获取三维空间点云,分割所述三维空间点云中所包含的平面作为候选地面集;
地面确定单元,用于获取地面法向量,根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较,确定地面所对应的所述候选地面集中平面;
激光帧生成单元,用于在所采集的三维空间点云中删除所选择的地面对应的点云,得到障碍物点云,根据所述障碍物点云生成激光帧;
避障单元,用于根据所述激光帧和所选择的地面进行局部避障。
本申请实施例的第三方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述机器人避障方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述机器人避障方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:根据采集的三维空间点云让你包含的平面生成候选地面集,根据地面法向量以及上一时刻的地面高度,对所述候选地面集进行筛选,确定地面在所述候选地面集中所对应的平面,在所述三维空间点云中删除地面对应的三维空间点,得到障碍物点云,根据所述障碍物点云生成激光帧,通过所述激光帧和所选择的地面进行局部避障,由于该避障方法应用于人形机器人时,可以对三维空间点云实时更新,相应的实时更新场景中的障碍物的位置,因而能够有效的应用于人形机器人进行避障,提高人形机器人避障精度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种机器人避障方法的实现流程示意图;
图2是本申请实施例提供的一种生成候选地面集方法的实现流程示意图;
图3为本申请实施例提供的一种确定地面所对应的平面的流程示意图;
图4是本申请实施例提供的一种机器人避障装置的示意图;
图5是本申请实施例提供的机器人的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
图1为本申请实施例提供的一种人形机器人避障方法的实现流程示意图,详述如下:
在步骤S101中,获取三维空间点云,分割所述三维空间点云中所包含的平面作为候选地面集;
具体的,所述机器人可以设置有用于采集平面图像的彩色摄像头和用于采集深度图像的深度摄像头。可以将彩色摄像头采集的彩色图像与深度摄像头所采集的深度图像进行配准,得到彩色图像中的每个像素点(u,v)所对应的三维空间坐标(X,Y,Z)。
比如,当深度相机的相机焦距(fx,fy),光心图像坐标为(cx,cy),那么根据相机的相机参数,确定深度图像中的像素点的三维坐标可以为:X=(u-Cx)*z/fx,Y=(v-Cy)*z/fy,Z=z,确定所述深度图像中的像素点(u,v)的三维坐标(X,Y,Z),其中,z为深度相机所采集到的每个像素点(u,v)的深度值。
其中,所述光心图像坐标,可能为光轴通过镜头与CCD摄像机成像平面的相交的点。
在获取到三维空间中包括的点云后,即可根据所述三维空间的点云,确定图像中包括的平面,生成候选平面集,具体可以如图2所示,包括:
在步骤S201中,估计所述三维空间点云中的平面的法向量;
根据所获取的三维空间点云,可以得到多个位于三维空间中,由点云所构成的平面,可以根据所确定的三维空间的平面上的每三个或三个以上的三维空间点,确定该平面所对应的法向量,即垂直于点云所构成的平面的向量。由于三维空间点云为真实有效的空间点,因此,通过所述三维空间点云所确定的平面的法向量,可以有效的确定三维空间平面的方向信息。
在步骤S202中,根据所估计的法向量,结合区域生长分割法将点云中的平面分割为候选地面集;
在确定了每个三维空间点云的平面后,可以获取三空间点云所构成的平面的法向量,并通过法向量对所述三维空间点云中的平面进行分割。在对所述三维空间点云中的平面进行分割时,可以根据法线方向的相似性以及曲率的大小来确定。比如,可以通过比较法向量的变化角度值小于预设的角度阈值,以及曲率小于预设的曲率阈值,来确定点云是否为同一平面。
可以理解的是,也可以单独使用曲率阈值对所述三维空间点云的平面进行分割,或者也可以单独使用法向量的角度变化的角度阈值来对所述三维空间点云中的平面进行分割,得到所述候选地面集。
通过将点云划分为不同的平面,可以确定三维空间中包括的平面。由于三维空间图像中的平面,除了地面以外,还会包括其它空间物体的平面,需要对所分割得到的平面进一步筛选,因此,可以将所确定的平面作为第一候选地面集。
当然,在确定所述候选地面集时,还可以通过其它平面分割算法,来确定所述三维空间中所包括的平面。
在确定了候选地面集后,还可以包括步骤S203中,进一步确定所述候选地面集中的平面的平面方程的参数,以使得能够更为准确的确定可能为地面的平面。
在步骤S203中,通过随机一致性抽样方法确定所述候选地面集中的平面参数,得到所述候选地面集中的平面所对应的平面方程。
其中,通过随机一致性抽样方法确定所述候选地面集的平面参数的过程可以为:
对所述候选地面集每个平面,可以选择预设的参数待定的平面方程,并随机选择平面中的若干个三维空间点,来计算所述平面方程中的参数。然后选择该平面中剩余的点集来验证是否符合该平面方程,记录符合平面方程的三维空间点的数量。重复以上步骤,通过多次随机选择平面中的若干个像素点所确定的多个平面方程中的参数,并记录符合所确定的参数的平面方程的三维空间点的数量。选择具有最多三维空间点数的平面方程,通过最小二乘法重新计算平面参数,根据所计算的平面参数确定该平面所对应的平面方程,从而便于对候选地面集中的平面进行比较筛选,比如通过所述平面方程获取该平面的法向量,或者通过所述平面方程获取该平面的高度等。
在步骤S102中,获取地面法向量,根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较,确定地面所对应的所述候选地面集中平面;
其中,获取所述地面法向量的步骤,可以通过惯性测量模块获取机器人的加速度和角速度的方式来确定。
由于地面法向量一般即为重力方向,该方向是恒定的,因此,只需要确定机器人自身的变化信息,通过机器人的自身的变化信息,来确定所述地面法向量。
比如,通过角速度传感器检测到机器人倾斜,并检测到所倾斜的角度后,根据所倾斜的角度,确定机器人所采集的图像中的地面法向量,也相应的倾斜一定角度即可。根据所述机器人的加速度,可以检测到机器人位置的变化,包括机器人在空间位置中的高度的变化,根据高度的变化,可以确定所述地面法向量的位置的改变。
根据所确定的地面法向量,结合上一时刻所确定的地面高度,对所述候选地面集,即对所述候选地面集中的平面进行筛选,选择与地面特征最为匹配的平面,作为地面对应所述候选地面集中的平面。
其中,所述地面对应所述候选地面集中的平面,在机器人行走过程中,其地面高度与上一时刻所确定的地面高度匹配,且平面的法向量与地面法向量匹配的平面。其中,地面高度与上一时刻所确定的地面高度匹配,或者平面的法向量与地面法向量匹配,可以为比较的两者之间的差值小于预设的阈值。
通过比较多个平面与上一时刻所确定的地面高度,以及地面法向量,可以获得一个或者多个平面。当获得多个平面时,可以从所获得的多个平面中选择匹配度最佳的平面,作为地面所对应的平面。
在一种实现方式中,可以通过如图3所示的方式,确定所述地面对应的平面,包括:
在步骤S301中,根据所述候选地面集中的平面的平面方程,确定所述候选地面集中的平面的法向量;
在确定了候选地面集中的平面方程后,可以根据所述平面方式,确定各个平面的法向量。
比如,对于候选地面集中的其中一个平面的平面方式为:ax+by+cz+d=0,(a,b,c不同时为0)其法向量可以确定为(a,b,c)。
在步骤S302中,将所述候选地面中的平面的法向量,与地面法向量进行筛选比较,得到第一候选平面集;
通过计算候选地面集中的平面的法向量,可以确定所述候选地面集中的平面的朝向,将候选地面集中的平面的朝向,与预先所获取的地面法向量进行比较,可以确定候选地面集中的平面的法向量与地面法向量之间的夹角。可以根据预先设定的角度阈值,对所述阈值地面集中的平面进行比较筛选。比如,可以将候选地面集中的平面的法向量与地面法向量之间的夹角大于所述角度阈值的平面筛选掉,得到候选地面集中与地面平行,或者大致平行的第一候选平面集。
在步骤S303中,获取所述第一候选平面集中的平面的高度,与上一时刻的地面的高度进行筛选比较,确定地面所对应的所述第一候选平面集中的平面。
对所述第一候选平面集进一步进行高度筛选,结合上一时刻的地面的高度,查找与所述地面高度最为匹配的第一候选平面集中的平面,并可确定其为地面在候选平面集中所对应的平面。
当然,也可以先通过地面高度对所述候选地面集中的平面进行初步筛选,再通过平面法向量与地面法向量的匹配,得到地面在所述候选平面集中所对应的平面。
在步骤S103中,在所采集的三维空间点云中删除所选择的地面对应的点云,得到障碍物点云,根据所述障碍物点云生成激光帧;
通过上一时刻的地面高度和所述地面法向量,在候选地面集中选择地面所对应的平面后,可对将地面所对应的三维空间点在所述三维空间点云中删除后,得到障碍物点云。可以将所述障碍物点云对所述地面所对应的平面进行投影,生成障碍物点云所对应的激光帧。
其中,所述激光帧为激光雷达输出的数据,包括激光扫描的时间、扫描范围以及每个扫描角度上障碍物到激光中心点的距离。可以根据每次采集图像的时间可以确定激光帧的扫描时间,根据采集图像所对应的方位确定所述激光帧的扫描范围,根据所计算的平面投影至地面的位置,以及机器人的位置与投影位置之间的距离,确定所述激光帧中包括的距离。
在步骤S104中,根据所述激光帧和所选择的地面进行局部避障。
在确定了机器人行走过程中的地面所在平面,以及激光帧(包括机器人与障碍物之间的距离等信息)后,可以采用时间弹性带TEB(time elastic band)算法,将机器人到障碍物的距离、机器人到终点的距离、运行时间、机器人的速度和加速度等信息进行优化,从而获得远离障碍物、且到达终点的较短,符合机器人的加速度和速度限定的路径,从而能够有效的实现机器人的避障。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图4为本申请实施例提供的一种机器人避障装置的结构示意图,详述如下:
图4所述的机器人避障装置,包括:
候选地面集生成单元401,用于获取三维空间点云,分割所述三维空间点云中所包含的平面作为候选地面集;
地面确定单元402,用于获取地面法向量,根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较,确定地面所对应的所述候选地面集中平面;
激光帧生成单元403,用于在所采集的三维空间点云中删除所选择的地面对应的点云,得到障碍物点云,根据所述障碍物点云生成激光帧;
避障单元404,用于根据所述激光帧和所选择的地面进行局部避障。
图4所述机器人避障装置,与图1所述的机器人避障方法对应。
图5是本申请一实施例提供的机器人的示意图。如图5所示,该实施例的机器人5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如机器人避障程序。所述处理器50执行所述计算机程序52时实现上述各个机器人避障方法实施例中的步骤。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述机器人5中的执行过程。例如,所述计算机程序52可以被分割成:
候选地面集生成单元,用于获取三维空间点云,分割所述三维空间点云中所包含的平面作为候选地面集;
地面确定单元,用于获取地面法向量,根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较,确定地面所对应的所述候选地面集中平面;
激光帧生成单元,用于在所采集的三维空间点云中删除所选择的地面对应的点云,得到障碍物点云,根据所述障碍物点云生成激光帧;
避障单元,用于根据所述激光帧和所选择的地面进行局部避障。
所述机器人可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是机器人5的示例,并不构成对机器人5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述机器人5的内部存储单元,例如机器人5的硬盘或内存。所述存储器51也可以是所述机器人5的外部存储设备,例如所述机器人5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述机器人5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述机器人所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
Claims (9)
1.一种机器人避障方法,其特征在于,所述机器人避障方法包括:
获取三维空间点云,分割所述三维空间点云中所包含的平面作为候选地面集;
获取地面法向量,根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较,确定地面所对应的所述候选地面集中与地面特征最为匹配的平面;
在所采集的三维空间点云中删除所选择的地面对应的点云,得到障碍物点云,根据所述障碍物点云生成激光帧;
根据所述激光帧和所选择的地面进行局部避障;
在所述根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较的步骤之前,所述方法还包括:
对所述候选地面集每个平面,选择预设的参数待定的平面方程,并随机选择平面中的多个三维空间点,计算所述平面方程中的参数,选择所述平面中剩余的点集来验证是否符合所述平面方程,记录符合所述平面方程的三维空间点的数量,重复以上步骤,通过多次随机选择平面中的多个像素点所确定的多个平面方程中的参数,并记录符合所确定的参数的平面方程的三维空间点的数量,选择具有最多三维空间点数的平面方程,通过最小二乘法重新计算平面参数,根据所计算的平面参数确定所述平面所对应的平面方程。
2.根据权利要求1所述的机器人避障方法,其特征在于,所述分割所述三维空间点云中所包含的平面作为候选地面集的步骤包括:
估计所述三维空间点云中的平面的法向量;
根据所估计的法向量,结合区域生长分割法将点云中的平面分割为候选地面集。
3.根据权利要求1所述的机器人避障方法,其特征在于,所述根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较,确定地面所对应的所述候选地面集中与地面特征最为匹配的平面的步骤包括:
根据所述候选地面集中的平面的平面方程,确定所述候选地面集中的平面的法向量;
将所述候选地面中的平面的法向量,与地面法向量进行筛选比较,得到第一候选平面集;
获取所述第一候选平面集中的平面的高度,与上一时刻的地面的高度进行筛选比较,确定地面所对应的所述第一候选平面集中的平面。
4.根据权利要求1所述的机器人避障方法,其特征在于,所述获取地面法向量的步骤包括:
通过惯性测量模块获取所述机器人的加速度和角速度;
根据所获取的加速度和角速度,确定所述地面法向量。
5.根据权利要求1所述的机器人避障方法,其特征在于,所述根据所述障碍物点云生成激光帧的步骤包括:
根据所确定的三维空间点云中的地面所对应的平面,将所述障碍物点云向所述地面对应的平面进行投影,得到障碍物在所述地面对应的平面上的投影信息;
根据所述投影信息确定所生成的激光帧中的障碍物信息。
6.根据权利要求1所述的机器人避障方法,其特征在于,所述根据所述激光帧和所选择的地面进行局部避障的步骤包括:
根据所述地面所对应的平面和所述激光帧,结合时间弹性带TEB算法进行局部避障。
7.一种机器人避障装置,其特征在于,所述机器人避障装置包括:
候选地面集生成单元,用于获取三维空间点云,分割所述三维空间点云中所包含的平面作为候选地面集;
地面确定单元,用于获取地面法向量,根据所述地面法向量,以及上一时刻的地面高度,对所述候选地面集中的平面进行筛选比较,确定地面所对应的所述候选地面集中与地面特征最为匹配平面;
激光帧生成单元,用于在所采集的三维空间点云中删除所选择的地面对应的点云,得到障碍物点云,根据所述障碍物点云生成激光帧;
避障单元,用于根据所述激光帧和所选择的地面进行局部避障;
所述机器人避障装置,还用于:
对所述候选地面集每个平面,选择预设的参数待定的平面方程,并随机选择平面中的多个三维空间点,计算所述平面方程中的参数,选择所述平面中剩余的点集来验证是否符合所述平面方程,记录符合所述平面方程的三维空间点的数量,重复以上步骤,通过多次随机选择平面中的多个像素点所确定的多个平面方程中的参数,并记录符合所确定的参数的平面方程的三维空间点的数量,选择具有最多三维空间点数的平面方程,通过最小二乘法重新计算平面参数,根据所计算的平面参数确定所述平面所对应的平面方程。
8.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述机器人避障方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述机器人避障方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911268466.9A CN111142514B (zh) | 2019-12-11 | 2019-12-11 | 一种机器人及其避障方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911268466.9A CN111142514B (zh) | 2019-12-11 | 2019-12-11 | 一种机器人及其避障方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142514A CN111142514A (zh) | 2020-05-12 |
CN111142514B true CN111142514B (zh) | 2024-02-13 |
Family
ID=70518023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911268466.9A Active CN111142514B (zh) | 2019-12-11 | 2019-12-11 | 一种机器人及其避障方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142514B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022141116A1 (zh) * | 2020-12-29 | 2022-07-07 | 深圳市大疆创新科技有限公司 | 三维点云分割方法和装置、可移动平台 |
CN113034570A (zh) * | 2021-03-09 | 2021-06-25 | 北京字跳网络技术有限公司 | 图像处理方法、装置和电子设备 |
CN115703234B (zh) * | 2021-08-03 | 2024-01-30 | 北京小米移动软件有限公司 | 机器人控制方法、装置、机器人及存储介质 |
CN113917917B (zh) * | 2021-09-24 | 2023-09-15 | 四川启睿克科技有限公司 | 室内仿生多足机器人避障方法、装置及计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008099652A1 (ja) * | 2007-02-13 | 2008-08-21 | Toyota Jidosha Kabushiki Kaisha | 環境地図の生成方法及び移動ロボット |
CN108171715A (zh) * | 2017-12-05 | 2018-06-15 | 浙江大华技术股份有限公司 | 一种图像分割方法及装置 |
CN109141364A (zh) * | 2018-08-01 | 2019-01-04 | 北京进化者机器人科技有限公司 | 障碍物检测方法、系统及机器人 |
CN109959377A (zh) * | 2017-12-25 | 2019-07-02 | 北京东方兴华科技发展有限责任公司 | 一种机器人导航定位系统及方法 |
CN110441791A (zh) * | 2019-08-14 | 2019-11-12 | 深圳无境智能机器人有限公司 | 一种基于前倾2d激光雷达的地面障碍物检测方法 |
-
2019
- 2019-12-11 CN CN201911268466.9A patent/CN111142514B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008099652A1 (ja) * | 2007-02-13 | 2008-08-21 | Toyota Jidosha Kabushiki Kaisha | 環境地図の生成方法及び移動ロボット |
CN108171715A (zh) * | 2017-12-05 | 2018-06-15 | 浙江大华技术股份有限公司 | 一种图像分割方法及装置 |
CN109959377A (zh) * | 2017-12-25 | 2019-07-02 | 北京东方兴华科技发展有限责任公司 | 一种机器人导航定位系统及方法 |
CN109141364A (zh) * | 2018-08-01 | 2019-01-04 | 北京进化者机器人科技有限公司 | 障碍物检测方法、系统及机器人 |
CN110441791A (zh) * | 2019-08-14 | 2019-11-12 | 深圳无境智能机器人有限公司 | 一种基于前倾2d激光雷达的地面障碍物检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111142514A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111142514B (zh) | 一种机器人及其避障方法和装置 | |
CN108319655B (zh) | 用于生成栅格地图的方法和装置 | |
CN111815707B (zh) | 点云确定方法、点云筛选方法、装置、计算机设备 | |
KR101708659B1 (ko) | 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법 | |
EP2959315B1 (en) | Generation of 3d models of an environment | |
CN109977466B (zh) | 一种三维扫描视点规划方法、装置及计算机可读存储介质 | |
US11184604B2 (en) | Passive stereo depth sensing | |
WO2021016854A1 (zh) | 一种标定方法、设备、可移动平台及存储介质 | |
CN111612728B (zh) | 一种基于双目rgb图像的3d点云稠密化方法和装置 | |
KR20150144731A (ko) | 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
US8682037B2 (en) | Method and system for thinning a point cloud | |
WO2021052283A1 (zh) | 处理三维点云数据的方法和计算设备 | |
KR20190070514A (ko) | 격자지도 생성 장치 및 방법 | |
CN113111513B (zh) | 传感器配置方案确定方法、装置、计算机设备及存储介质 | |
CN112837207B (zh) | 全景深度测量方法、四目鱼眼相机及双目鱼眼相机 | |
JP7219561B2 (ja) | 車載環境認識装置 | |
JPWO2017051480A1 (ja) | 画像処理装置及び画像処理方法 | |
CN111415420B (zh) | 空间信息确定方法、装置及电子设备 | |
CN112166457A (zh) | 点云分割方法、系统和可移动平台 | |
CN110706288A (zh) | 目标检测的方法、装置、设备及可读存储介质 | |
CN114219770A (zh) | 地面检测方法、装置、电子设备及存储介质 | |
JP7195785B2 (ja) | 3次元形状データを生成する装置、方法、及びプログラム | |
Goshin et al. | Parallel implementation of the multi-view image segmentation algorithm using the Hough transform | |
CN115511944A (zh) | 基于单相机的尺寸估计方法、装置、设备及存储介质 | |
CN113762310A (zh) | 一种点云数据分类方法、装置、计算机存储介质及系统 |
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 |