CN112084853B - 一种脚印预测方法、脚印预测装置及人形机器人 - Google Patents

一种脚印预测方法、脚印预测装置及人形机器人 Download PDF

Info

Publication number
CN112084853B
CN112084853B CN202010772561.9A CN202010772561A CN112084853B CN 112084853 B CN112084853 B CN 112084853B CN 202010772561 A CN202010772561 A CN 202010772561A CN 112084853 B CN112084853 B CN 112084853B
Authority
CN
China
Prior art keywords
curvature
grid
flat area
normal line
seed
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
Application number
CN202010772561.9A
Other languages
English (en)
Other versions
CN112084853A (zh
Inventor
罗志平
刘翔
程骏
庞建新
熊友军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202010772561.9A priority Critical patent/CN112084853B/zh
Publication of CN112084853A publication Critical patent/CN112084853A/zh
Priority to US17/383,448 priority patent/US20220040859A1/en
Application granted granted Critical
Publication of CN112084853B publication Critical patent/CN112084853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control 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/0251Control 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/64Analysis of geometric attributes of convexity or concavity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20156Automatic seed setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Abstract

本申请适用于机器人领域,公开了一种脚印预测方法、脚印预测装置、人形机器人及计算机可读存储介质。其中,该方法包括:获取人形机器人在移动方向上的环境深度图;基于所述环境深度图构建环境三维模型;在所述环境三维模型中筛选出平坦区域;将所述平坦区域确定为目标脚印,其中,所述目标脚印为所述人形机器人的足部的未来落脚点。通过本申请方案,可基于视觉对人形机器人进行脚印预测,实现复杂地形下的自主路径规划。

Description

一种脚印预测方法、脚印预测装置及人形机器人
技术领域
本申请属于机器人技术领域,尤其涉及一种脚印预测方法、脚印预测装置、人形机器人及计算机可读存储介质。
背景技术
机器人在完成指定任务时,需要规划其在空间中的期望运动路径,才能对空间中的障碍物进行规避。而人形机器人相较于其他移动机器人来说,不仅仅需要规划出路线,还需要预测双足的下一步脚印,这给人形机器人的移动控制带来一定难度。
发明内容
本申请提供了一种脚印预测方法、脚印预测装置、人形机器人及计算机可读存储介质,可基于视觉对人形机器人进行脚印预测,实现复杂地形下的自主路径规划。
第一方面,本申请提供了一种脚印预测方法,包括:
获取人形机器人在移动方向上的环境深度图;
基于上述环境深度图构建环境三维模型;
在上述环境三维模型中筛选出平坦区域;
将上述平坦区域确定为目标脚印,其中,上述目标脚印为上述人形机器人的足部的未来落脚点。
第二方面,本申请提供了一种脚印预测装置,包括:
获取单元,用于获取人形机器人在移动方向上的环境深度图;
构建单元,用于基于上述环境深度图构建环境三维模型;
筛选单元,用于在上述环境三维模型中筛选出平坦区域;
确定单元,用于将上述平坦区域确定为目标脚印,其中,上述目标脚印为上述人形机器人的足部的未来落脚点。
第三方面,本申请提供了一种人形机器人,上述人形机器人包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。
第五方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。
由上可见,通过本申请方案,首先获取人形机器人在移动方向上的环境深度图,然后基于上述环境深度图构建环境三维模型,并在上述环境三维模型中筛选出平坦区域,最后将上述平坦区域确定为目标脚印,其中,上述目标脚印为上述人形机器人的足部的未来落脚点。上述过程中,采用环境深度图构建环境三维模型,并在该三维模型中筛选出可以落足的平坦区域,不再基于距离传感器检测障碍物进行脚印预测,而是基于视觉进行脚印预测,可实现复杂地形下的自主路径规划。可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的搭载有深度相机的人形机器人的示例图;
图2是本申请实施例提供的脚印预测方法的实现流程示意图;
图3是本申请实施例提供的环境三维模型的示例图;
图4是本申请实施例提供的脚印预测方法中步骤203的具体实现流程示意图;
图5是本申请实施例提供的脚印预测方法中步骤2032的具体实现流程示意图;
图6是本申请实施例提供的最小矩形包围框的示例图;
图7是本申请实施例提供的目标脚印的示例图;
图8是本申请实施例提供的脚印预测装置的结构框图;
图9是本申请实施例提供的人形机器人的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为便于理解本申请实施例所提供的脚印预测方法,下面先对人形机器人作出介绍。请参阅图1,在该人形机器人中的头部、腰部或其它部位预先搭载有深度相机,其中,该深度相机可以是ToF(Time of Flight)相机,也可以是RGB-D相机,此处不对该深度相机的具体类型作出限定。该深度相机的拍摄视角为前下方。本申请实施例不对该深度相机的水平场视角、竖直场视角及所输出的深度图像的帧率作出限定。仅作为示例,可以将深度相机的水平场视角设置为60度,将竖直场视角设置为45度,将深度相机所输出的深度图像的帧率设置为不低于30fps(Frames Per Second)。基于所设定的竖直场视角,深度相机可以采集得到前方地面区域一定距离内(例如2米内)的深度图像。
下面对本申请实施例提供的一种脚印预测方法进行描述。请参阅图2,本申请实施例中的脚印预测方法包括:
步骤201,获取人形机器人在移动方向上的环境深度图;
在本申请实施例中,人形机器人通常情况可通过控制双足向前移动。在向前移动时,可通过前文所述的搭载于人形机器人身上的深度相机拍摄获得该人形机器人在移动方向上的环境深度图。考虑到该深度相机为朝向前下方拍摄,因而,该环境深度图主要用于表示地面的深度信息。
步骤202,基于上述环境深度图构建环境三维模型;
在本申请实施例中,该人形机器人可以继续对环境深度图进行网格化处理,以实现环境三维模型的构建,其中,该环境三维模型可以由三角形网格表示。该环境三维模型的构建过程如下:人形机器人定义前方地面空间为一个立方体网格,并将环境深度图转换为三维空间点云;根据当前该深度相机的相机姿态及相机内参,即可将环境深度图映射至已定义的立方体网格中进行网格化处理,得到与该环境深度图相对应的环境三维模型。其中,上述网格化处理,指的是将立方体网格中有效距离场(Signed Distance Field,SDF)的值为0的位置连接起来,再通过预设的算法(例如marching cube算法)构建出三角形网格的顶点。需要注意的是,该环境三维模型会跟随人形机器人的移动而不断发生更新,此处不再赘述该环境三维模型的更新过程。请参阅图3,图3给出了一环境三维模型的示例。
在一些实施例中,可以是人形机器人在获取得到了若干帧(例如10帧)环境深度图之后,将该若干帧环境深度图进行融合,再基于融合后的环境深度图构建得到环境三维模型。
步骤203,在上述环境三维模型中筛选出平坦区域;
在本申请实施例中,可以将所得到的环境三维模型视为三维地形图。因而,人形机器人可将环境三维模型作为基础,从该环境三维模型中筛选出平坦区域。请参阅图4,人形机器人可以根据三角形网格的法线及曲率筛选出平坦区域,则该步骤203可以包括:
步骤2031,计算上述环境三维模型中各个三角形网格的法线及曲率;
考虑到人形机器人可通过同样的处理流程得到每个三角形网格的法线及曲率,因而,此处以任意一个三角形网格为例,对三角形网格的法线及曲率的计算过程作出解释及说明:
人形机器人先计算出三角形网格中各个顶点的法线及曲率,然后基于各个顶点的法线及曲率,计算出该三角形网格的法线均值及曲率均值,该法线均值即为该三角形网格的法线;同样地,该曲率均值即为该三角形网格的曲率。其中,三角形网格的顶点的法线为以该顶点作为起点的两条边向量的叉积,该法线同时与以该顶点作为起点的两条边向量相垂直。
步骤2032,基于各个三角形网格的法线及曲率进行聚类,得到至少一个平坦区域。
通过三角形网格的法线及曲率,可以对三角形网格进行聚类,使得处于相同平面的三角形网格可以被划分至一起,以此得到至少一个平坦区域。请参阅图5,上述聚类过程可以包括:
A1、将曲率最小的三角形网格确定为初始的种子网格;
其中,人形机器人可遍历给定范围内所有的三角形网格的曲率,从中查找出曲率最小的三角形网格,并将该三角形网格确定为初始的种子网格。可以认为,曲率最小的三角形网格为最平滑的区域,可将其作为一平坦区域的起始状态,逐步向外查找,以实现平坦区域的探索。并且,从最平滑的区域开始向外查找,可以减少分割片段的总数,以此提高对平坦区域进行查找的效率。
A2、检测上述种子网格的邻域网格的法线是否满足预设的法线条件,并检测上述种子网格的邻域网格的曲率是否满足预设的曲率条件;
其中,对于一种子网格来说,该种子网格的邻域网格的法线是否满足预设的法线条件可通过如下过程实现:先计算该邻域网格的法线与该种子网格的法线之间的夹角,接着再检测该夹角是否小于预设的夹角阈值,若所该夹角小于该夹角阈值,则确定该邻域网格的法线满足该法线条件。反之,若该夹角大于或等于该夹角阈值,则确定该邻域网格的法线不满足该法线条件。
其中,对于一种子网格来说,该种子网格的邻域网格的曲率是否满足预设的曲率条件可通过如下过程实现:检测该邻域网格的曲率是否小于预设的曲率阈值,若该邻域网格的曲率小于上述曲率阈值,则确定该邻域网格的曲率满足上述曲率条件。反之,若该邻域网格的曲率大于或等于该曲率阈值,则确定该邻域网格的曲率不满足该曲率条件。
A3、若上述邻域网格的法线满足上述法线条件,则将上述邻域网格加入至初始的种子网格所在的当前区域,以实现上述当前区域的更新;
其中,检测邻域网格的法线是否满足法线条件是为了对初始的种子网格所在的当前区域进行更新。也即,人形机器人以初始的种子网格所在的当前区域作为平坦区域的起始状态,判断是否可以将种子网格的领域网格加入至该平坦区域中:只有在邻域网格的法线满足法线条件时,才将该邻域网格加入至初始的种子网格所在的当前区域(也即平坦区域)中,以实现上述当前区域的更新。
A4、若上述邻域网格的曲率满足上述曲率条件,则将上述邻域网格确定为新的种子网格,并返回执行A2;
其中,检测邻域网格的曲率是否满足曲率条件是为了对种子网格进行更新。也即,当有一个种子网格的邻域网格的曲率满足该曲率条件时,即可将该邻域网格作为新的种子网格,并返回执行A2及后续步骤,帮助继续对平坦区域进行查找及更新。
A5、在无法产生新的种子网格时,将此时所得到的更新后的上述当前区域确定为一个平坦区域。
其中,当以一个初始的种子网格为起点,无法再产生新的种子网格(也即,当前的所有种子网格的邻域网格的曲率均不满足曲率条件)时,结束本次基于该初始的种子网格为起点的平坦区域的查找及更新。人形机器人可以将此时所得到的更新后的当前区域确定为一个平坦区域。
在一些实施例中,可以在开始查找平坦区域时,创建一空的种子网格序列(也即,种子网格序列在初始状态下为空)。每次新产生的种子网格可以存放于该种子网格序列中;每次对一种子网格的所有邻域网格进行了法线及曲率的检测后,可以将该种子网格从该种子网格序列中删除。通过该种子网格序列,实现对种子网格的管理。在这种情况下,一旦该种子网格序列在非初始状态下已为空,即可认为已无法产生新的种子网格。
在一些实施例中,人形机器人可以先将环境三维模型划分为若干个三维区域,并在每个三维区域中执行上述步骤A1至A5的操作,以查找出各个三维区域中的平坦区域。例如,将环境三维模型划分为4*4个三维区域,并在每个三维区域中进行平坦区域的查找。
在一些实施例中,人形机器人也可以是先将曲率最小的三角形网格确定为初始的种子网格后,执行上述步骤A2至A5,查找得到多个平坦区域;随后,在已查找到的平坦区域之外,获取三角形网格的曲率最小值,并检测该曲率最小值是否小于一预设的曲率下限值;若是,则可将已查找到的平坦区域之外的曲率最小的三角形网格作为初始的种子网格,并执行步骤A2至A5的操作;以此类推,直至在已查找到的平坦区域之外,三角形网格的曲率最小值不小于上述曲率下限值为止。
通过上述过程,人形机器人可以从环境三维模型中分割得到各个平坦区域。需要注意的是,该平坦区域并非一定为地面。如果实际环境中,在地面上放置有一表面平坦且面积较大的区域,例如板凳,则该板凳所在区域也可被人形机器人确定为一平坦区域。
步骤204,将上述平坦区域确定为目标脚印,其中,上述目标脚印为上述人形机器人的足部的未来落脚点。
在本申请实施例中,通过步骤203很可能会查找出两个以上的平坦区域。这些平坦区域的面积有大有小,为了避免人形机器人因中心不稳而跌倒,可以基于面积对查找到的平坦区域进行筛选,则上述步骤104可具体表现为:针对每个平坦区域,先获取该平坦区域的最小矩形包围框;随后,检测该最小矩形包围框的尺寸是否满足预设的尺寸条件,其中,该尺寸条件与人形机器人的足部的尺寸相关;若该最小矩形包围框的尺寸满足尺寸条件,则将该平坦区域确定为目标脚印。请参阅图6,图6给出了基于一平坦区域构建最小矩形包围框的示例。需要注意的是,人形机器人可以根据平坦区域距离自身的距离,对该最小矩形包围框的尺寸进行补偿。通过上述过程,可以过滤掉尺寸过小的平坦区域,筛选出可供人形机器人的足部进行踩踏的平坦区域。
在一些实施例中,在得到目标脚印后,人形机器人还可结合双足运动控制提供的运动范围对目标脚印进行约束;也即,人形机器人可以根据足部能够踏出的距离,进一步从目标脚印中筛选出候选脚印,该候选脚印为可供人形机器人进行选择的下一落脚点。请参阅附图7,图7中共示出了10个满足尺寸条件的目标脚印,分别为脚印1、2、3、4、5、6、7、8、9及10;其中,脚印1、2、3、7、9及10与人形机器人的距离过远;因而,只有脚印4、5、6及8可以被确定为候选脚印;人形机器人可以选择下一步在脚印4、5、6或8处落脚。
由上可见,通过本申请实施例,人形机器人可基于自身所搭载的深度相机获取得到环境深度图,并基于该环境深度图进行三维重建,获得环境三维模型;通过对该环境三维模型进行分析,筛选出可供人形机器人落脚的平坦区域作为目标脚印,方便人形机器人进行路径规划,减少出现人形机器人因踩上障碍物而跌倒的情况。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文所提供的脚印预测方法,本申请实施例还提供了一种脚印预测装置,上述脚印预测装置可集成于人形机器人中,参见图8,本申请实施例中的脚印预测装置800包括:
获取单元801,用于获取人形机器人在移动方向上的环境深度图;
构建单元802,用于基于上述环境深度图构建环境三维模型;
筛选单元803,用于在上述环境三维模型中筛选出平坦区域;
确定单元804,用于将上述平坦区域确定为目标脚印,其中,上述目标脚印为上述人形机器人的足部的未来落脚点。
可选地,上述环境三维模型由三角形网格表示,上述筛选单元803,包括:
计算子单元,用于计算上述环境三维模型中各个三角形网格的法线及曲率;
聚类子单元,用于基于各个三角形网格的法线及曲率进行聚类,得到至少一个平坦区域。
可选地,上述计算子单元,包括:
第一计算子单元,用于针对每个三角形网格,计算上述三角形网格中各个顶点的法线及曲率;
第二计算子单元,用于基于上述三角形网格中各个顶点的法线及曲率,计算上述三角形网格中顶点的法线均值及曲率均值;
第一确定子单元,用于将上述法线均值确定为上述三角形网格的法线,并将上述曲率均值确定为上述三角形网格的曲率。
可选地,上述聚类子单元,包括:
种子网格初始化子单元,用于将曲率最小的三角形网格确定为初始的种子网格;
网格检测子单元,用于检测上述种子网格的邻域网格的法线是否满足预设的法线条件,并检测上述种子网格的邻域网格的曲率是否满足预设的曲率条件;
区域更新子单元,用于若上述邻域网格的法线满足上述法线条件,则将上述邻域网格加入至初始的种子网格所在的当前区域,以实现上述当前区域的更新;
种子网格更新子单元,用于若上述邻域网格的曲率满足上述曲率条件,则将上述邻域网格确定为新的种子网格,并触发运行上述网格检测子单元,直至无法产生新的种子网格为止;
平坦区域确定子单元,用于将更新后的上述当前区域确定为一个平坦区域。
可选地,上述网格检测子单元,包括:
夹角计算子单元,用于计算上述邻域网格的法线与上述种子网格的法线之间的夹角;
夹角检测子单元,用于检测上述夹角是否小于预设的夹角阈值;
第二确定子单元,用于若上述夹角小于预设的夹角阈值,则确定上述邻域网格的法线满足上述法线条件。
可选地,上述网格检测子单元,包括:
曲率检测子单元,用于检测上述邻域网格的曲率是否小于预设的曲率阈值;
第三确定子单元,用于若上述邻域网格的曲率小于上述曲率阈值,则确定上述邻域网格的曲率满足上述曲率条件。
可选地,若存在至少两个平坦区域,则上述确定单元804,包括:
包围框获取子单元,用于针对每个平坦区域,获取上述平坦区域的最小矩形包围框;
尺寸检测子单元,用于检测上述最小矩形包围框的尺寸是否满足预设的尺寸条件,其中,上述尺寸条件与上述人形机器人的足部的尺寸相关;
目标脚印确定子单元,用于若上述最小矩形包围框的尺寸满足上述尺寸条件,则将上述平坦区域确定为目标脚印。
由上可见,通过本申请实施例,脚印预测装置可基于深度相机获取得到环境深度图,并基于该环境深度图进行三维重建,获得环境三维模型;通过对该环境三维模型进行分析,筛选出可供人形机器人落脚的平坦区域作为目标脚印,方便人形机器人进行路径规划,减少出现人形机器人因踩上障碍物而跌倒的情况。
对应于上文所提供的脚印预测方法,本申请实施例还提供了一种人形机器人,参见图9,本申请实施例中的人形机器人9包括:存储器901,一个或多个处理器902(图9中仅示出一个)及存储在存储器901上并可在处理器上运行的计算机程序。其中:存储器901用于存储软件程序以及模块,处理器902通过运行存储在存储器901的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器902通过运行存储在存储器901的上述计算机程序时实现以下步骤:
获取人形机器人在移动方向上的环境深度图;
基于上述环境深度图构建环境三维模型;
在上述环境三维模型中筛选出平坦区域;
将上述平坦区域确定为目标脚印,其中,上述目标脚印为上述人形机器人的足部的未来落脚点。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述环境三维模型由三角形网格表示,上述在上述环境三维模型中筛选出平坦区域,包括:
计算上述环境三维模型中各个三角形网格的法线及曲率;
基于各个三角形网格的法线及曲率进行聚类,得到至少一个平坦区域。
在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述计算上述环境三维模型中各个三角形网格的法线及曲率,包括:
针对每个三角形网格,计算上述三角形网格中各个顶点的法线及曲率;
基于上述三角形网格中各个顶点的法线及曲率,计算上述三角形网格中顶点的法线均值及曲率均值;
将上述法线均值确定为上述三角形网格的法线,并将上述曲率均值确定为上述三角形网格的曲率。
在上述第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述基于各个三角形网格的法线及曲率进行聚类,得到至少一个平坦区域,包括:
将曲率最小的三角形网格确定为初始的种子网格;
检测上述种子网格的邻域网格的法线是否满足预设的法线条件,并检测上述种子网格的邻域网格的曲率是否满足预设的曲率条件;
若上述邻域网格的法线满足上述法线条件,则将上述邻域网格加入至初始的种子网格所在的当前区域,以实现上述当前区域的更新;
若上述邻域网格的曲率满足上述曲率条件,则将上述邻域网格确定为新的种子网格,并返回执行上述检测上述种子网格的邻域网格的法线是否满足预设的法线条件,并检测上述种子网格的邻域网格的曲率是否满足预设的曲率条件的步骤及后续步骤,直至无法产生新的种子网格为止;
将更新后的上述当前区域确定为一个平坦区域。
在上述第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,上述检测上述种子网格的邻域网格的法线是否满足预设的法线条件,包括:
计算上述邻域网格的法线与上述种子网格的法线之间的夹角;
检测上述夹角是否小于预设的夹角阈值;
若上述夹角小于预设的夹角阈值,则确定上述邻域网格的法线满足上述法线条件。
在上述第四种可能的实施方式作为基础而提供的第六种可能的实施方式中,上述检测上述种子网格的邻域网格的曲率是否满足预设的曲率条件,包括:
检测上述邻域网格的曲率是否小于预设的曲率阈值;
若上述邻域网格的曲率小于上述曲率阈值,则确定上述邻域网格的曲率满足上述曲率条件。
在上述第一种可能的实施方式作为基础而提供的第七种可能的实施方式中,若存在至少两个平坦区域,则上述将上述平坦区域确定为目标脚印,包括:
针对每个平坦区域,获取上述平坦区域的最小矩形包围框;
检测上述最小矩形包围框的尺寸是否满足预设的尺寸条件,其中,上述尺寸条件与上述人形机器人的足部的尺寸相关;
若上述最小矩形包围框的尺寸满足上述尺寸条件,则将上述平坦区域确定为目标脚印。
应当理解,在本申请实施例中,所称处理器902可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器901可以包括只读存储器和随机存取存储器,并向处理器902提供指令和数据。存储器901的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器901还可以存储设备类型的信息。
由上可见,通过本申请实施例,人形机器人可基于自身所搭载的深度相机获取得到环境深度图,并基于该环境深度图进行三维重建,获得环境三维模型;通过对该环境三维模型进行分析,筛选出可供人形机器人落脚的平坦区域作为目标脚印,方便人形机器人进行路径规划,减少出现人形机器人因踩上障碍物而跌倒的情况。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (8)

1.一种脚印预测方法,其特征在于,包括:
获取人形机器人在移动方向上的环境深度图;
基于所述环境深度图构建环境三维模型;
在所述环境三维模型中筛选出平坦区域;
将所述平坦区域确定为目标脚印,其中,所述目标脚印为所述人形机器人的足部的未来落脚点;
其中,所述环境三维模型由三角形网格表示,所述在所述环境三维模型中筛选出平坦区域,包括:
计算所述环境三维模型中各个三角形网格的法线及曲率;
基于各个三角形网格的法线及曲率进行聚类,得到至少一个平坦区域;
其中,所述基于各个三角形网格的法线及曲率进行聚类,得到至少一个平坦区域,包括:
将曲率最小的三角形网格确定为初始的种子网格;
检测所述种子网格的邻域网格的法线是否满足预设的法线条件,并检测所述种子网格的邻域网格的曲率是否满足预设的曲率条件;
若所述邻域网格的法线满足所述法线条件,则将所述邻域网格加入至初始的种子网格所在的当前区域,以实现所述当前区域的更新;
若所述邻域网格的曲率满足所述曲率条件,则将所述邻域网格确定为新的种子网格,并返回执行所述检测所述种子网格的邻域网格的法线是否满足预设的法线条件,并检测所述种子网格的邻域网格的曲率是否满足预设的曲率条件的步骤及后续步骤,直至无法产生新的种子网格为止;
将更新后的所述当前区域确定为一个平坦区域。
2.如权利要求1所述的脚印预测方法,其特征在于,所述计算所述环境三维模型中各个三角形网格的法线及曲率,包括:
针对每个三角形网格,计算所述三角形网格中各个顶点的法线及曲率;
基于所述三角形网格中各个顶点的法线及曲率,计算所述三角形网格中顶点的法线均值及曲率均值;
将所述法线均值确定为所述三角形网格的法线,并将所述曲率均值确定为所述三角形网格的曲率。
3.如权利要求1所述的脚印预测方法,其特征在于,所述检测所述种子网格的邻域网格的法线是否满足预设的法线条件,包括:
计算所述邻域网格的法线与所述种子网格的法线之间的夹角;
检测所述夹角是否小于预设的夹角阈值;
若所述夹角小于所述夹角阈值,则确定所述邻域网格的法线满足所述法线条件。
4.如权利要求1所述的脚印预测方法,其特征在于,所述检测所述种子网格的邻域网格的曲率是否满足预设的曲率条件,包括:
检测所述邻域网格的曲率是否小于预设的曲率阈值;
若所述邻域网格的曲率小于所述曲率阈值,则确定所述邻域网格的曲率满足所述曲率条件。
5.如权利要求1所述的脚印预测方法,其特征在于,若存在至少两个平坦区域,则所述将所述平坦区域确定为目标脚印,包括:
针对每个平坦区域,获取所述平坦区域的最小矩形包围框;
检测所述最小矩形包围框的尺寸是否满足预设的尺寸条件,其中,所述尺寸条件与所述人形机器人的足部的尺寸相关;
若所述最小矩形包围框的尺寸满足所述尺寸条件,则将所述平坦区域确定为目标脚印。
6.一种脚印预测装置,其特征在于,包括:
获取单元,用于获取人形机器人在移动方向上的环境深度图;
构建单元,用于基于所述环境深度图构建环境三维模型;
筛选单元,用于在所述环境三维模型中筛选出平坦区域;
确定单元,用于将所述平坦区域确定为目标脚印,其中,所述目标脚印为所述人形机器人的足部的未来落脚点;
其中,所述环境三维模型由三角形网格表示,所述筛选单元,包括:
计算子单元,用于计算所述环境三维模型中各个三角形网格的法线及曲率;
聚类子单元,用于基于各个三角形网格的法线及曲率进行聚类,得到至少一个平坦区域;
其中,所述聚类子单元,包括:
种子网格初始化子单元,用于将曲率最小的三角形网格确定为初始的种子网格;
网格检测子单元,用于检测所述种子网格的邻域网格的法线是否满足预设的法线条件,并检测所述种子网格的邻域网格的曲率是否满足预设的曲率条件;
区域更新子单元,用于若所述邻域网格的法线满足所述法线条件,则将所述邻域网格加入至初始的种子网格所在的当前区域,以实现所述当前区域的更新;
种子网格更新子单元,用于若所述邻域网格的曲率满足所述曲率条件,则将所述邻域网格确定为新的种子网格,并触发运行所述网格检测子单元,直至无法产生新的种子网格为止;
平坦区域确定子单元,用于将更新后的所述当前区域确定为一个平坦区域。
7.一种人形机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
CN202010772561.9A 2020-08-04 2020-08-04 一种脚印预测方法、脚印预测装置及人形机器人 Active CN112084853B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010772561.9A CN112084853B (zh) 2020-08-04 2020-08-04 一种脚印预测方法、脚印预测装置及人形机器人
US17/383,448 US20220040859A1 (en) 2020-08-04 2021-07-23 Footstep planning method, robot and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010772561.9A CN112084853B (zh) 2020-08-04 2020-08-04 一种脚印预测方法、脚印预测装置及人形机器人

Publications (2)

Publication Number Publication Date
CN112084853A CN112084853A (zh) 2020-12-15
CN112084853B true CN112084853B (zh) 2023-12-29

Family

ID=73734822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010772561.9A Active CN112084853B (zh) 2020-08-04 2020-08-04 一种脚印预测方法、脚印预测装置及人形机器人

Country Status (2)

Country Link
US (1) US20220040859A1 (zh)
CN (1) CN112084853B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711259B (zh) * 2020-12-28 2024-04-02 深圳市优必选科技股份有限公司 动态生成脚印集方法、装置、存储介质及双足机器人
WO2022140969A1 (zh) * 2020-12-28 2022-07-07 深圳市优必选科技股份有限公司 动态生成脚印集方法、存储介质及双足机器人
CN113253727A (zh) * 2021-05-13 2021-08-13 乐聚(深圳)机器人技术有限公司 一种机器人的轨迹确定方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729883A (zh) * 2013-12-30 2014-04-16 浙江大学 一种三维环境信息采集与重构系统及方法
JP2017223511A (ja) * 2016-06-14 2017-12-21 日本電信電話株式会社 道路構造化装置、道路構造化方法、及び道路構造化プログラム
CN108898630A (zh) * 2018-06-27 2018-11-27 清华-伯克利深圳学院筹备办公室 一种三维重建方法、装置、设备和存储介质
CN109271944A (zh) * 2018-09-27 2019-01-25 百度在线网络技术(北京)有限公司 障碍物检测方法、装置、电子设备、车辆及存储介质
CN109696909A (zh) * 2017-10-23 2019-04-30 深圳市优必选科技有限公司 足式机器人路径规划方法及装置
CN110673632A (zh) * 2019-09-27 2020-01-10 中国船舶重工集团公司第七0九研究所 一种基于视觉slam的无人机自主避障方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2352671A1 (en) * 1998-11-25 2000-06-08 Wake Forest University Virtual endoscopy with improved image segmentation and lesion detection
FR2897455A1 (fr) * 2006-02-13 2007-08-17 Univ Hokkaido Nat Univ Corp Dispositif, procede et programme de segmentation de donnees de modele en treillis

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729883A (zh) * 2013-12-30 2014-04-16 浙江大学 一种三维环境信息采集与重构系统及方法
JP2017223511A (ja) * 2016-06-14 2017-12-21 日本電信電話株式会社 道路構造化装置、道路構造化方法、及び道路構造化プログラム
CN109696909A (zh) * 2017-10-23 2019-04-30 深圳市优必选科技有限公司 足式机器人路径规划方法及装置
CN108898630A (zh) * 2018-06-27 2018-11-27 清华-伯克利深圳学院筹备办公室 一种三维重建方法、装置、设备和存储介质
CN109271944A (zh) * 2018-09-27 2019-01-25 百度在线网络技术(北京)有限公司 障碍物检测方法、装置、电子设备、车辆及存储介质
CN110673632A (zh) * 2019-09-27 2020-01-10 中国船舶重工集团公司第七0九研究所 一种基于视觉slam的无人机自主避障方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于二维激光测距仪的道路可行区域提取;侯学勇;刘士荣;;东南大学学报(自然科学版)(S1);全文 *
面向大型三维场景的优化分层A~*寻路算法研究;朱昌龙;刘黎志;;软件导刊(05);全文 *

Also Published As

Publication number Publication date
CN112084853A (zh) 2020-12-15
US20220040859A1 (en) 2022-02-10

Similar Documents

Publication Publication Date Title
CN112084853B (zh) 一种脚印预测方法、脚印预测装置及人形机器人
CN110059608B (zh) 一种物体检测方法、装置、电子设备和存储介质
US11086016B2 (en) Method and apparatus for tracking obstacle
US7995055B1 (en) Classifying objects in a scene
CN110674705B (zh) 基于多线激光雷达的小型障碍物检测方法及装置
CN108509820B (zh) 障碍物分割方法及装置、计算机设备及可读介质
CN108367436B (zh) 针对三维空间中的对象位置和范围的主动相机移动确定
Hebert et al. Terrain classification techniques from ladar data for autonomous navigation
CN112784873A (zh) 一种语义地图的构建方法及设备
US11443452B2 (en) Using spatial filter to reduce bundle adjustment block size
WO2011085435A1 (en) Classification process for an extracted object or terrain feature
CN113112491A (zh) 一种悬崖检测方法、装置、机器人及存储介质
JP7196999B2 (ja) オブジェクト検出・追跡装置、方法、およびプログラム
CN112084854B (zh) 一种障碍物检测方法、障碍物检测装置及机器人
CN108268878A (zh) 三维全卷积网络实现设备
JP2020021368A (ja) 画像解析システム、画像解析方法及び画像解析プログラム
WO2011085434A1 (en) Extraction processes
WO2011085433A1 (en) Acceptation/rejection of a classification of an object or terrain feature
CN112907744A (zh) 数字高程模型的构建方法、装置、设备及存储介质
AU2023203583A1 (en) Method for training neural network model and method for generating image
WO2021016920A1 (zh) 可通行性的识别方法、系统、设备及计算机可读存储介质
WO2011085437A1 (en) Extraction processes
CN116358528A (zh) 地图更新方法、地图更新装置、自移动设备及存储介质
KR20220071112A (ko) 자율 주행을 위한 지도 생성 및 관리 방법 그리고 이를 이용한 위치 인식 방법 및 장치
CN114758087A (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