一种机器人基于语义进行地图构建的方法和装置与流程

文档序号:16087970发布日期:2018-11-27 22:40阅读:174来源:国知局

本说明书涉及于机器人领域,尤其涉及一种机器人基于语义进行地图构建的方法和装置。



背景技术:

自主移动机器人的智能性主要体现在能构建一致性的环境地图、自主的定位和导航功能。其中环境地图的可靠性以及包含的信息量是移动机器人定位和导航的关键前提。

现有技术中,基于2d扫描数据的传统地图生成方法,通常使用搭载了2D激光雷达的移动机器人进行数据扫描,生成的是无语义的地图,这样的地图存在的问题是:无法确认实际环境中存在什么物体(凳子、桌子、花瓶等等)且无法剔除因地图中存在的动态物体(行人、车等)而带来的大量噪声点。



技术实现要素:

针对上述技术问题,本说明书实施例提供一种机器人基于语义进行地图构建的方法,和一种基于语义进行地图构建的机器人,技术方案如下:

一种机器人基于语义进行地图构建的方法,所述方法包括:

获取上次重采样后得到的N个粒子样本,根据机器人在t-1时刻的位姿信息和机器人的概率运动模型估算所述N个粒子在t时刻的位姿信息,其中,每个粒子对应机器人一种可能的运动轨迹;

在t时刻的语义扫描数据中获取所述处于不同位姿的N个粒子中,每个粒子对应的K个语义点,计算t时刻每个语义点的权值,根据所述K个语义点的权值计算出t时刻每个粒子的权重,其中,语义扫描数据至少包括带有物体概率标签的数据;

获取所述N个粒子中权重最大的粒子,根据所述权重最大的粒子对应的语义扫描数据构建语义地图。

一种基于语义进行地图构建的机器人,所述机器人包括:

运动预测模块:用于获取上次重采样后得到的N个粒子样本,根据机器人在t-1时刻的位姿信息和机器人的概率运动模型估算所述N个粒子在t时刻的位姿信息,其中,每个粒子对应机器人一种可能的运动轨迹;

权重更新模块:用于在t时刻的语义扫描数据中获取所述处于不同位姿的N个粒子中,每个粒子对应的K个语义点,计算t时刻每个语义点的权值,根据所述K个语义点的权值计算出t时刻每个粒子的权重,其中,语义扫描数据至少包括带有物体概率标签的数据;

地图构建模块:用于获取所述N个粒子中权重最大的粒子,根据所述权重最大的粒子对应的语义扫描数据构建语义地图。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现一种机器人基于语义进行地图构建的方法,所述方法包括:

获取上次重采样后得到的N个粒子样本,根据机器人在t-1时刻的位姿信息和机器人的概率运动模型估算所述N个粒子在t时刻的位姿信息,其中,每个粒子对应机器人一种可能的运动轨迹;

在t时刻的语义扫描数据中获取所述处于不同位姿的N个粒子中,每个粒子对应的K个语义点,计算t时刻每个语义点的权值,根据所述K个语义点的权值计算出t时刻每个粒子的权重,其中,语义扫描数据至少包括带有物体概率标签的数据;

获取所述N个粒子中权重最大的粒子,根据所述权重最大的粒子对应的语义扫描数据构建语义地图。

本说明书实施例所提供的技术方案,基于语义进行数据扫描,获取带有物体概率标签的扫描数据,从而可以剔除动态物体,避免因存在的动态物体而带来的大量噪声点,使环境信息的观测更加准确。在使每个样本粒子携带更多特征的同时,也可减少样本粒子的数量,降低系统消耗。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。

此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本说明书一示例性实施例示出的机器人基于语义进行地图构建的方法的一种流程图;

图2是本说明书一示例性实施例示出的语义扫描数据获取方法的一种流程图;

图3是本说明书一示例性实施例示出的为图像增加语义标签的一种示意图;

图4是本说明书一示例性实施例示出的基于语义进行地图构建的机器人的一种示意图;

图5是本说明书一示例性实施例示出的一种电子设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

自主移动机器人的智能性主要体现在能构建一致性的环境地图、自主的定位和导航功能。其中环境地图的可靠性以及包含的信息量是移动机器人定位和导航的关键前提。

现有技术中,基于2d扫描数据的传统地图生成方法,通常使用搭载了2D激光雷达的移动机器人进行数据扫描,生成的是无语义的地图,这样的地图存在的问题是:无法确认实际环境中存在什么物体(凳子、桌子、花瓶等等)且无法剔除因地图中存在的动态物体(行人、车等)而带来的大量噪声点。

针对以上问题,本说明书实施例提供一种机器人基于语义进行地图构建的方法,以及一种用于执行该方法的机器人,该方法和装置可被应用在基于RBPF-SLAM算法的地图构建中。

下面对本实施例涉及的机器人基于语义进行地图构建的方法进行详细说明,参见附图1所示,该方法可以应用于移动机器人,飞行器等,包括以下步骤:

S101,获取上次重采样后得到的N个粒子样本,根据机器人在t-1时刻的位姿信息和机器人的概率运动模型估算所述N个粒子在t时刻的位姿信息,其中,每个粒子对应机器人一种可能的运动轨迹;

移动机器人的概率运动模型p(xt|ut,xt-1)是条件概率密度函数,描述机器人运动的后验概率,概率运动模型是对机器人运动的一种概率描述,目前移动机器人的概率运动模型通常包括两种:速度计运动模型和里程计运动模型。本申请中,使用xt表示机器人t时刻的位姿,xt-1表示机器人在t-1时刻的位姿,ut表示机器人从xt-1运动到xt的控制量。根据选择的运动模型,由控制量ut预测机器人在t时刻的姿态,计算每个粒子在t时刻位姿的预测均值和方差。

S102,在t时刻的语义扫描数据中获取所述处于不同位姿的N个粒子中,每个粒子对应的K个语义点,计算t时刻每个语义点的权值,根据所述K个语义点的权值计算出t时刻每个粒子的权重,其中,语义扫描数据至少包括带有物体概率标签的数据;

语义扫描数据指的是由传感器获取的带有语义信息的扫描数据,语义信息指的是带有物体概率标签的数据,具体来说,语义扫描数据是一种点云数据,现有技术中通常使用激光扫描装置(如2D激光雷达)扫描获取激光点云数据,本申请的语义点云就是在激光点云的基础上,为每个点云粒子增加语义标签,举例说明,若某颗点云粒子是打在一个人身上的,则它的语义标签就是“人”。

本步骤即是基于语义观测模型进行粒子的位姿更新:将当前语义扫描数据和当前地图进行扫描匹配,并计算出在运动预测位姿中的所有粒子权重,即更新粒子权重

具体地,获取上述计算出的N个粒子t时刻的预测位姿,和t时刻的语义扫描数据,其中,t时刻的语义扫描数据包含K个语义点,计算每个语义点的权值pi,计算公式如下:

其中,zhit+zlabel=1,zhit和zlabel为预设参数,分别表示语义点与地图对应点是障碍物的概率权重,和语义点的语义与地图对应点语义相符的概率权重;

其中,和为观测参数,分别表示语义点与地图对应点是障碍物的概率,和语义点的语义与地图对应点语义相符的概率,且和均符合高斯分布。

进一步地,根据所述K个语义点的权值计算出每个粒子的权重信息计算公式如下:

根据所述K个语义点的权值计算出t时刻每个粒子的权重信息后,还需要对粒子进行归一化处理,第i个粒子归一化权重计算公式如下:

S103,获取所述N个粒子中权重最大的粒子,根据所述权重最大的粒子对应的语义扫描数据构建语义地图。

其中,每次输出多个样本粒子,每个粒子表示机器人的一条可能的运动轨迹,选取其中权重最大的粒子作为最优粒子,使用该最优粒子表示机器人的运动轨迹。采集机器人运动轨迹上的语义扫描数据,再通过融合算法即可构建一张带有语义的环境地图。

需要注意的是,粒子退化是粒子滤波算法中普遍存在的现象,即指算法若干次迭代后,除了少数几个粒子的权重很高外,剩下的粒子的权重都很小,说明算法大部分的计算都浪费在影响较小的粒子上。减小粒子退化带给算法影响的有效方法是重采样,因此,在根据该K个语义点的权值计算出t时刻每个粒子的权重后,还需要根据粒子权重大小对粒子进行重采样,以获取权重大小符合要求的新粒子集合,即:当Neff小于预设阈值时,对粒子进行重采样,该Neff计算公式如下:

其中,新粒子满足概率:

语义扫描数据作为一种携带物体概率的点云数据,通过对视觉传感器的引入,增加对外界环境的理解,为传统的2D激光雷达输出的点云赋予语义。参见附图2所示,语义扫描数据的获取方式可以包括以下步骤:

S201,提取通过激光雷达获取的激光聚类数据;

S202,提取通过视觉传感器获取的物体检测数据;

激光雷达和视觉传感器都是安装在移动机器人上的数据采集设备,具体地址,可以将视觉传感器(如摄像头,单目相机、双目相机等)安装在移动机器人的前方,面向移动方向。摄像头的视野(FOV)尽可能在激光雷达的测量范围内,使得摄像头和激光雷达有尽可能大的共同测量范围。

物体检测是指,通过视觉传感器采集图像数据,并使用深度学习的检测、分类器给图像打上语义标签,参考图3。

S203,将激光聚类数据与物体检测数据进行融合计算,以获取语义扫描数据。

相应于上述方法实施例,本说明书实施例还提供一种基于语义进行地图构建的机器人,参见图4所示,所述装置可以包括:运动预测模块410,权重更新模块420和地图构建模块430。

运动预测模块410:用于获取上次重采样后得到的N个粒子样本,根据机器人在t-1时刻的位姿信息和机器人的概率运动模型估算所述N个粒子在t时刻的位姿信息,其中,每个粒子对应机器人一种可能的运动轨迹;

权重更新模块420:用于在t时刻的语义扫描数据中获取所述处于不同位姿的N个粒子中,每个粒子对应的K个语义点,计算t时刻每个语义点的权值,根据所述K个语义点的权值计算出t时刻每个粒子的权重,其中,语义扫描数据至少包括带有物体概率标签的数据;

地图构建模块430:用于获取所述N个粒子中权重最大的粒子,根据所述权重最大的粒子对应的语义扫描数据构建语义地图。

本说明书实施例还提供一种电子设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述机器人基于语义进行地图构建的方法,所述方法至少包括:

获取上次重采样后得到的N个粒子样本,根据机器人在t-1时刻的位姿信息和机器人的概率运动模型估算所述N个粒子在t时刻的位姿信息,其中,每个粒子对应机器人一种可能的运动轨迹;

在t时刻的语义扫描数据中获取所述处于不同位姿的N个粒子中,每个粒子对应的K个语义点,计算t时刻每个语义点的权值,根据所述K个语义点的权值计算出t时刻每个粒子的权重,其中,语义扫描数据至少包括带有物体概率标签的数据;

获取所述N个粒子中权重最大的粒子,根据所述权重最大的粒子对应的语义扫描数据构建语义地图。

附图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。

处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。

输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。

总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的机器人基于语义进行地图构建的方法,所述方法至少包括:

获取上次重采样后得到的N个粒子样本,根据机器人在t-1时刻的位姿信息和机器人的概率运动模型估算所述N个粒子在t时刻的位姿信息,其中,每个粒子对应机器人一种可能的运动轨迹;

在t时刻的语义扫描数据中获取所述处于不同位姿的N个粒子中,每个粒子对应的K个语义点,计算t时刻每个语义点的权值,根据所述K个语义点的权值计算出t时刻每个粒子的权重,其中,语义扫描数据至少包括带有物体概率标签的数据;

获取所述N个粒子中权重最大的粒子,根据所述权重最大的粒子对应的语义扫描数据构建语义地图。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1