一种环境建模方法及装置
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种环境建模方法及装置。
背景技术
随着计算机自动化和智能化的发展,智能机器人的应用领域越来越广泛。智能机器人是一类能够通过传感器感知环境和自身状态,实现在有障碍物的环境中面向目标的自主导航运动,从而完成预定任务的机器人***。要实现智能机器人的自主导航运动,必须要解决环境建模的问题。另一方面,应用智能机器人对陌生环境或具有安全风险的环境进行建模,是一种必然趋势。
环境建模是后续对环境及环境中的事物进行研究的前提,其常用的环境建模方法包括栅格法、链接图法、等分坐标变换法等,然而这些方法在针对多分辨率的障碍物环境中缺乏灵活适应性:栅格法需要根据最小的障碍物确定栅格的划分,造成极大的计算资源浪费;链接图法根据障碍物顶点生成的网状链接图需要经过复杂处理才能定义种群的搜索空间;等分坐标变换法以等分始末点连线的垂线确定种群的搜索空间时,很难兼顾路径解最优性与计算资源的平衡,在障碍物稀疏处搜索空间太大浪费计算资源,障碍物密集处离散化的搜索空间太小难以规划出最优路径。
在实现本发明实施例的过程中,发明人发现现有的环境建模方法在有障碍物的环境中缺乏灵活适应性,且需要借助大量的计算资源才能完成环境建模。
发明内容
由于现有的环境建模方法在有障碍物的环境中缺乏灵活适应性,且需要借助大量的计算资源才能完成环境建模。
第一方面,本发明实施例提出一种环境建模方法,包括:
获取图像,建立当前环境的三维图像模型,并对所述三维图像模型进行图像识别,得到所述三维图像模型中的物体模型;
根据探测器获取的声波信息,计算所述探测器与各物体模型的目标距离;
根据所述三维图像模型和所述目标距离,建立第一环境坐标模型。
优选地,所述根据所述三维图像模型和所述目标距离,建立第一环境坐标模型,进一步包括:
根据所述三维图像模型和所述目标距离,计算各物体模型之间的距离;
建立三维坐标系,并根据各物体模型之间的距离,在所述三维坐标系中建立第一环境坐标模型;
对所述第一环境坐标模型进行编码,得到第一编号。
优选地,所述根据探测器获取的声波信息,计算所述探测器与各物体模型的目标距离,进一步包括:
若所述探测器在预设时间内未接收到目标区域的声波回传信息,则将所述目标区域记录为空白区域。
优选地,所述若所述探测器在预设时间内未接收到目标区域的声波回传信息,则将所述目标区域记录为空白区域之后,还包括:
获取所述空白区域的中心位置,控制所述探测器移动至所述空白区域的中心位置;
在所述空白区域的中心位置,建立第二环境坐标模型;
对所述第二环境坐标模型进行编码,得到第二编号。
优选地,所述方法还包括:
将所述第一环境坐标模型和所述第二环境坐标模型保存至本地或云端服务器。
第二方面,本发明实施例还提出一种环境建模装置,包括:
物体模型获取模块,用于获取图像,建立当前环境的三维图像模型,并对所述三维图像模型进行图像识别,得到所述三维图像模型中的物体模型;
距离计算模块,用于根据探测器获取的声波信息,计算所述探测器与各物体模型的目标距离;
第一模型建立模块,用于根据所述三维图像模型和所述目标距离,建立第一环境坐标模型。
优选地,所述第一模型建立模块进一步包括:
距离计算单元,用于根据所述三维图像模型和所述探目标距离,计算各物体模型之间的距离;
模型建立单元,用于建立三维坐标系,并根据各物体模型之间的距离,在所述三维坐标系中建立第一环境坐标模型;
第一模型编码模块,用于对所述第一环境坐标模型进行编码,得到第一编号。
优选地,所述距离计算模块进一步用于若所述探测器在预设时间内未接收到目标区域的声波回传信息,则将所述目标区域记录为空白区域。
优选地,所述装置还包括:
位置获取模块,用于获取所述空白区域的中心位置,控制所述探测器移动至所述空白区域的中心位置;
第二模型建立模块,用于在所述空白区域的中心位置,建立第二环境坐标模型;
第二模型编码模块,用于对所述第二环境坐标模型进行编码,得到第二编号。
优选地,所述装置还包括:
保存模块,用于将所述第一环境坐标模型和所述第二环境坐标模型保存至本地或云端服务器。
由上述技术方案可知,本发明实施例通过图像识别获取物体模型,并通过探测器的声波信息确定探测器与物体模型的距离,进而建立环境坐标模型,能够适应不同障碍物的环境,同时降低环境建模过程的计算量,提高环境建模的速度和精确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种环境建模方法的流程示意图;
图2为本发明一实施例提供的一种环境建模装置的结构示意图。
具体实施方式
下面结合附图,对发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本发明一实施例提供的一种环境建模方法的流程示意图,包括:
S101、获取图像,建立当前环境的三维图像模型,并对所述三维图像模型进行图像识别,得到所述三维图像模型中的物体模型;
其中,所述图像为安装在智能机器人上的图像摄取器获取的;所述图像摄取器可以为摄像头,通过所述摄像头扫描周围环境,对环境进行成像;所述智能机器人可以为探测器。
具体地,使用上述图像摄取器对当前环境拍照,同时转动摄像头,转动的同时以一定的频率(如每秒一次)拍照,转动方向可以包括上下左右四个方向,保证360度的环境都被拍照;
拍照完成后,使用图像拼接算法,对图像进行拼接,完成360度三维图像构建,得到三维图像模型;
对360度图像进行物体检测和识别,识别出图像中的物体,即所述三维图像模型中的物体模型,具体的物体模型包括室内的墙、冰箱、床、茶几、桌子、椅子等物体,以及室外的房屋、树木、石头、车等物体模型。
S102、根据探测器获取的声波信息,计算所述探测器与各物体模型的目标距离;
具体地,首先在在智能机器人上安装距离探测器,如声波探测器,所述声波探测器用来发出声波,探测智能机器人和前方障碍物的距离。
以S101中获取的三维图像模型为标准记录方向,使用距离探测器进行距离探测,同时转动声波探测器,根据声波回传的时间计算和障碍物之间的距离,如果规定时间内声波没有返回,则记录该方向没有障碍物。
S103、根据所述三维图像模型和所述目标距离,建立第一环境坐标模型。
具体地,根据智能机器人到障碍物的距离,计算周围障碍物之间的距离,得到环境距离数据;进一步在所述三维图像模型中根据障碍物之间的距离,构建360度三维坐标图;
根据所述三维图像模型和所述环境距离数据,计算并识别出物体之间的距离,从而得出360度三维图像尺寸地图,对该尺寸地图进行横向和纵向分割,并记录所有物体模型的坐标,将没有得到距离的边缘记录为空白区域;其中,横向和纵向为垂直方向,旨在建立出一个三维坐标图,例如经纬度和海拔;物体模型的坐标为轮廓上的坐标点,指示该物体的位置和大小。
本实施例通过图像识别获取物体模型,并通过探测器的声波信息确定探测器与物体模型的距离,进而建立环境坐标模型,能够适应不同障碍物的环境,同时降低环境建模过程的计算量,提高环境建模的速度和精确度。
进一步地,在上述方法实施例的基础上,S103进一步包括:
S1031、根据所述三维图像模型和所述目标距离,计算各物体模型之间的距离;
具体地,根据S101中建立的三维图像模型,能够获知不同物体模型的相对位置,同时结合S102中得到的探测器与各物体模型的距离以及探测器的运动角度,能够计算得到两个物体模型之间的实际距离。
S1032、建立三维坐标系,并根据各物体模型之间的距离,在所述三维坐标系中建立第一环境坐标模型;
具体地,选取坐标原点,建立三维坐标系;并根据各物体模型之间的距离,在三维坐标系中标记所有物体模型,得到第一环境坐标模型。
通过建立三维坐标系,能够便于表示各物体模型及其之间的距离。
S1033、对所述第一环境坐标模型进行编码,得到第一编号。
对S103实施例中得到的360度三维图像尺寸地图进行数字编码,例如对图像的二进制流计算MD5,保存该编码,便于后续使用时方便查找,且便于对第一环境坐标模型进行完整性和一致性验证。
进一步地,在上述方法实施例的基础上,S102进一步包括:
若所述探测器在预设时间内未接收到目标区域的声波回传信息,则将所述目标区域记录为空白区域。
具体地,在确定目标区域时,可以以S101-S103所在的位置为准,将所述探测器移动到最近的障碍物,并以一定的方向(顺时针或逆时针)移动,实时探测最近障碍物方向和探测器之间的距离,如果该距离变大(比如距离大于1米,可根据经验设定),则将该区域记录为空白区域,并去除360度三维图像尺寸地图中该方向的图像尺寸数据,同时记录轨迹,当回到原点时停止。
此时,360度三维图像尺寸地图中会出现一些空白区域,这些空白区域表示需要进一步探索的环境。
通过记录空白区域,能够进一步调整环境坐标模型,使之更加符合实际环境情况。
进一步地,在上述方法实施例的基础上,所述方法还包括:
S104、获取所述空白区域的中心位置,控制所述探测器移动至所述空白区域的中心位置;
S105、在所述空白区域的中心位置,建立第二环境坐标模型。
具体地,通过控制探测器以一定的方向(顺时针或逆时针)移动,依次进入空白区域进行成像;
进入空白区域后,重复S101-S103的操作;
每次结束空白区域成像时返回至前一层环境,并按照同方向的轨迹继续移动,直至移动到前一层环境的出发点;
此过程为一个空间递归扫描过程。
通过调整探测器的位置,并重新执行S101-S103,以获取当前空白区域的环境坐标模型;进一步地结合多个不同地点的环境坐标模型,能够得到更为精确的环境坐标模型。
S106、对所述第二环境坐标模型进行编码,得到第二编号。
通过对第二环境坐标模型进行编码,便于后续使用时方便查找,且便于对第二环境坐标模型进行完整性和一致性验证。
进一步地,在上述方法实施例的基础上,所述方法还包括:
S107、根据所述第一环境坐标模型、所述第一编号、所述第二环节坐标模型、所述第二编号,建立总体环境坐标模型。
具体地,记录每一步生成的360度三维图像尺寸地图,以及每个环境的编号,完成环境的总体成像。
通过结合多个不同地点的环境坐标模型,能够得到更为精确的环境坐标模型。
更进一步地,在上述方法实施例的基础上,所述方法还包括:
S108、将所述第一环境坐标模型、所述第二环境坐标模型和所述总体环境坐标模型保存至本地或云端服务器。
将各环境坐标模型和总体成像结果保存至本地或者云端服务器,供巡航使用。
具体地,每次探测器开机时,根据本地或者云端服务器存储的360度三维图像尺寸地图和环境编号,实时定位探测器坐标。如探测器移动,则实时记录探测器坐标和环境编号,每次记录称为为一个记忆点,记忆点用于探测器的历史定位和轨迹记录。
当光照不充足时,根据移动距离和方向(转向时记录转动角度,可计算出新方向)计算探测器坐标,可照常执行巡航功能。
当无光照时,将探测器搬离最新记忆点,则会出现探测器“迷路”状态,直至光照恢复(恢复后探测器会重新定位),或者使用其他方式告知探测器当前所在环境及坐标。
当接到巡航命令时,可根据命令指示按照固定路线移动,也可指定物体名称自动规划路线移动到物体附近,也可设定规则或者算法使探测器自动巡航。
图2示出了本发明一实施例提供的一种环境建模装置的结构示意图,所述装置包括:物体模型获取模块21、距离计算模块22和第一模型建立模块23;其中,
所述物体模型获取模块21用于获取图像,建立当前环境的三维图像模型,并对所述三维图像模型进行图像识别,得到所述三维图像模型中的物体模型;
所述距离计算模块22用于根据探测器获取的声波信息,计算所述探测器与各物体模型的目标距离;
所述第一模型建立模块23用于根据所述三维图像模型和所述目标距离,建立第一环境坐标模型。
具体地,所述物体模型获取模块21获取图像,建立当前环境的三维图像模型,并对所述三维图像模型进行图像识别,得到所述三维图像模型中的物体模型;所述距离计算模块22根据探测器获取的声波信息,计算所述探测器与各物体模型的目标距离;所述第一模型建立模块23根据所述三维图像模型和所述目标距离,建立第一环境坐标模型。
本实施例通过图像识别获取物体模型,并通过探测器的声波信息确定探测器与物体模型的距离,进而建立环境坐标模型,能够适应不同障碍物的环境,同时降低环境建模过程的计算量,提高环境建模的速度和精确度。
进一步地,在上述装置实施例的基础上,所述第一模型建立模块23进一步包括:
距离计算单元231,用于根据所述三维图像模型和所述目标距离,计算各物体模型之间的距离;
模型建立单元232,用于建立三维坐标系,并根据各物体模型之间的距离,在所述三维坐标系中建立第一环境坐标模型;
第一模型编码模块233,用于对所述第一环境坐标模型进行编码,得到第一编号。
进一步地,在上述装置实施例的基础上,所述距离计算模块22进一步用于若所述探测器在预设时间内未接收到目标区域的声波回传信息,则将所述目标区域记录为空白区域。
进一步地,在上述装置实施例的基础上,所述装置还包括:
位置获取模块24,用于获取所述空白区域的中心位置,控制所述探测器移动至所述空白区域的中心位置;
第二模型建立模块25,用于在所述空白区域的中心位置,建立第二环境坐标模型;
第二模型编码模块26,用于对所述第二环境坐标模型进行编码,得到第二编号。
进一步地,在上述装置实施例的基础上,所述装置还包括:
总体模型建立模块27,用于根据所述第一环境坐标模型、所述第一编号、所述第二环节坐标模型、所述第二编号,建立总体环境坐标模型。
更进一步地,在上述装置实施例的基础上,所述装置还包括:
保存模块28,用于将所述第一环境坐标模型、所述第二环境坐标模型和所述总体环境坐标模型保存至本地或云端服务器。
本实施例所述的环境建模装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机探测器(可以是个人计算机,服务器,或者网络探测器等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。