CN111102980B - 路径生成方法、装置及电子设备 - Google Patents
路径生成方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111102980B CN111102980B CN201911114497.9A CN201911114497A CN111102980B CN 111102980 B CN111102980 B CN 111102980B CN 201911114497 A CN201911114497 A CN 201911114497A CN 111102980 B CN111102980 B CN 111102980B
- Authority
- CN
- China
- Prior art keywords
- building
- path
- boundary
- target
- determining
- 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
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种路径生成方法、装置及电子设备,涉及导航技术领域。其中,该方法包括:从目标建筑的建筑信息模型中提取该目标建筑中每个建筑构件的边界信息;根据提取的各建筑构件的边界信息,从各建筑构件中确定至少一个构件组,构件组包括具有公共边界的两个建筑构件,确定构件组中具有公共边界的两个建筑构件相互连通;记录每个构件组中的两个建筑构件的连通关系,根据记录的连通关系生成所述目标建筑的路径。如此,可以自动确定目标建筑的各个建筑构件间的连通关系,从而自动生成目标建筑的路径。
Description
技术领域
本申请涉及导航技术领域,更具体地,涉及一种路径生成方法、装置及电子设备。
背景技术
随着科学技术的飞速发展以及生活水平的提高,移动机器人的应用逐渐增多。许多应用场景中,移动机器人需要在大型商场、医院、餐厅等建筑物内自由行走。相比室外交通道路,建筑物内空间错综复杂,给机器人在室内寻路带来了极大的困难。因此,需要为移动机器人进行合理的室内路径规划。
基于拓扑路网的路径规划是常用的规划方式之一,但是,现有的建筑模型中通常没有系统地构建不同建筑构件(如,房间、阳台、走廊、楼梯、门等)之间的拓扑连接关系,因此无法基于建筑模型自动生成对应的室内路网,而是需要采用全人工或者半人工的方式从建筑模型中提取拓扑连接关系,并生成室内路网,非常不便。
发明内容
鉴于上述问题,本申请提出了一种路径生成方法、装置及电子设备,以改善上述问题。
第一方面,本申请实施例提供了一种路径生成方法,包括:从目标建筑的建筑信息模型中提取所述目标建筑中每个建筑构件的边界信息,所述边界信息用于指示所述建筑构件的每条边界的位置;根据所述目标建筑中各所述建筑构件的边界信息,从各所述建筑构件中确定至少一个构件组,所述构件组包括具有公共边界的两个所述建筑构件,确定所述构件组中具有公共边界的两个所述建筑构件相互连通;记录每个所述构件组中的两个所述建筑构件的连通关系;根据记录的连通关系生成所述目标建筑的路径。
第二方面,本申请实施例提供了一种路径生成装置,包括:获取模块,用于从目标建筑的建筑信息模型中提取所述目标建筑中每个建筑构件的边界信息,所述边界信息用于指示所述建筑构件的每条边界的位置;确定模块,用于根据所述目标建筑中各所述建筑构件的边界信息,从各所述建筑构件中确定至少一个构件组,所述构件组包括具有公共边界的两个所述建筑构件,确定所述构件组中具有公共边界的两个所述建筑构件相互连通;记录模块,用于记录每个所述构件组中的两个所述建筑构件的连通关系;路径生成模块,用于根据记录的连通关系生成所述目标建筑的路径。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述的方法。
相对于现有技术,本申请提供的方案,从目标建筑的建筑信息模型中提取该目标建筑的每个建筑构件的边界信息,根据各建筑构件的边界信息确定至少一个构件组,每个构件组包括具有公共边界的两个建筑构件;确定具有公共边界的两个建筑构件相互连通,并自动记录其连通关系,从而根据记录的连通关系自动生成目标建筑的路径,非常便捷。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提供的路径生成方法的流程示意图。
图2示出了根据本申请实施例提供的一个建筑构件的示意图。
图3示出了本申请另一实施例提供的路径生成方法的流程示意图。
图4示出了图2所示建筑构件的一个包围盒的示意图。
图5(a)示出了图2所示建筑构件的各边界的中垂线的交点示意图。
图5(b)示出了图5(a)所示建筑构件的路径节点示意图。
图6示出了图3所示路径生成方法的另一流程示意图。
图7示出了图3所示步骤S280的子步骤示意图。
图8示出了图3所示步骤S280的另一子步骤示意图。
图9示出了图3所示步骤S290的子步骤示意图。
图10为按照图3所示方法得到的单层目标建筑的路径示意图。
图11为按照图3所示方法得到的多层目标建筑的路径示意图。
图12是本申请实施例的用于执行根据本申请实施例的路径生成方法的电子设备的框图。
图13是根据本申请实施例的路径生成装置的框图。
图14是本申请实施例的用于保存或者携带实现根据本申请实施例的路径生成方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
移动机器人的室内路径规划通常包括以下方式:一、基于传感器的实时路径规划;二、基于平面点阵图的路径规划;三、基于拓扑路网的路径规划方式。前述方式中,若采用方式一,移动机器人难以获取其周围的全局环境信息,因而无法确定最短路径,寻路效率较低。若采用方式二,点阵图由于其自身特性,存在大量的冗余数据,导致路径规划算法的效率较低,舍弃部分冗余数据可以提高算法效率,但会导致精度降低,即,方式二需要在路径规划算法的效率和精度之间做出取舍。
因此,目前常用的是基于拓扑路网的路径规划方式,这种方式由于数据量少,可以实现室内空间信息的轻量化,从而能够有效降低路径规划算法的设计难度及提高寻路效率。为了采用这种路径规划方式,需要生成建筑物的路径,以使移动机器人可以基于该路径进行寻路。
然而,经研究发现,目前的建筑物建模规范不统一,室内空间错综复杂,室内路网大多依赖于全人工或者半人工的方式从建筑物模型中提取生成。建筑物信息模型(Building Information Modeling,BIM)作为建筑领域的新型信息化技术,为建筑物建模提供了基本统一的规范,但其通常没有系统地构建建筑物的各个建筑构件间的拓扑连接关系,其中,建筑构件可以理解为建筑物内的基础房间和连接基础房间的连接件,其中基础房间例如可以是卧室、厨房、客厅等房间,还可以是走廊、过道等开放式的空间,连接件例如可以是门、电梯、楼梯等用于连接各个基础房间的构件。
在上述情况下,通常只能通过人工方式获得各个建筑构件的拓扑连接关系,然后再基于获得的拓扑连接关系生成建筑物的路径,非常不方便。
针对上述问题,本申请实施例提出一种路径生成方法、装置及电子设备,可以自动获得建筑物的各个建筑构件之间的连通关系,从而自动生成该建筑物的路径。
请参照图1,图1为本申请一实施例提供的一种路径生成方法的流程示意图,该方法可以应用于任意具有数据处理功能、图像处理功能的电子设备。下面对该方法包括的步骤进行阐述。
步骤S110,从目标建筑的建筑信息模型中提取所述目标建筑中每个建筑构件的边界信息,所述边界信息用于指示所述建筑构件的每条边界的位置。
其中,目标建筑的建筑信息模型中通常包含了该目标建筑的每个建筑构件的空间几何信息和属性信息。其中,每个建筑构件在建筑信息模型中表示为一个多边形,该多边形具有多条边界,每个建筑构件的空间几何信息包括该建筑构件的边界信息,该边界信息可以用于指示该建筑构件的每条边界的位置。
示例性地,一个建筑构件的边界信息可以采用该建筑构件的顶点序列来表示,所述顶点序列包括依次记录的所述建筑构件的各个顶点的位置信息。例如图2所示的建筑构件N1,其边界信息可以包括依次记录的A1-A8的位置信息,所述位置信息可以是顶点Ai(1≤i≤8,i为正整数)在基于所述目标建筑建立的世界坐标系中的坐标。在此情况下,建筑构件的每两个相邻的顶点可以界定该建筑构件的一条边界。
每个建筑构件的属性信息可以包括该建筑构件的名称、类型等,其中,名称例如可以为“女孩房”、“主人房”、“父母房”等,类型又可以视为建筑构件的语义信息,例如可以是卧室、厨房、客厅、走廊等。
步骤S120,根据所述目标建筑中各所述建筑构件的边界信息,从各所述建筑构件中确定至少一个构件组,所述构件组包括具有公共边界的两个所述建筑构件,确定所述构件组中具有公共边界的两个所述建筑构件相互连通。
本实施例中,可以将建筑构件进行两两比较,以查找每两个建筑构件是否存在重合的边界,如果存在,则将重合的边界确定为该两个建筑构件的公共边界。可以理解,本实施例描述的重合可以是误差范围内的重合。以建筑构件N1的一条边界N11与建筑构件N2的一条边界N21为例,当边界N11与边界N21相互平行,并且间距小于设定的误差阈值,仍可以将边界N11和边界N21视作是重合的,从而可以确定建筑构件N1与建筑构件N2存在公共边界,属于一个构件组,进而确定建筑构件N1和建筑构件N2是相互连通的。其中,所述误差阈值可以根据统计数据或实际需求进行灵活设定,例如可以为0.5毫米-1.5毫米,比如1毫米。
步骤S130,记录每个所述构件组中的两个所述建筑构件的连通关系。
本实施例中,对于每个构件组中相互连通的两个建筑构件,电子设备可以记录该两个建筑构件的连通关系,所述连通关系可以是包含两个建筑构件的节点标识及公共边界的一条数据记录。以上述的建筑构件N1和N2为例,可以分别为建筑构件N1和N2添加一条数据记录,包括建筑构件N1的节点标识、边界N11、建筑构件N2的节点标识以及边界N21。如此,电子设备通过记录的连通关系可以确定任意两个建筑构件是否连通,以及通过哪一条边界相互连通。
步骤S140,根据记录的连通关系生成所述目标建筑的路径。
通过图1所示流程,在自动确定目标建筑的建筑构件之间的连通关系之后,即可自动生成该目标建筑的路径,用于指导移动机器人的路径规划,避免了通过手动方式获取目标建筑的各建筑构件直接的拓扑连接关系所需的繁琐操作流程,非常便捷。
可以理解,本实施例中的目标建筑可以是单层建筑。对于多层建筑,可以针对多层建筑的每一层按照图1所示流程进行处理,即可得到该多层建筑的路径。
请参照图3,图3为本申请另一实施例提供的一种路径生成方法的流程示意图,该方法可以应用于任意具有数据处理功能、图像处理功能的电子设备,下面对该方法的步骤进行详细阐述。
步骤S210,从目标建筑的建筑信息模型中提取所述目标建筑中每个建筑构件的边界信息,所述边界信息用于指示所述建筑构件的每条边界的位置。
本实施例中,步骤S210的实现方式与上述的步骤S110类似,在此不再赘述。
步骤S220,根据每个所述建筑构件的边界信息计算所述建筑构件的包围盒(bounding box)。
其中,每个建筑构件的包围盒可以是将该建筑构件对应的多边形包围在内的最小矩形。请参照图4,其中以图2所示的建筑构件N1为例,示出了建筑构件N1的一个包围盒。如上所述,建筑构件N1的边界信息为一顶点序列[A1,A2,A3,A4,A5,A6,A7,A8]。假如以建筑构件N1的左下角顶点A1为原点建立直角坐标系,可以得到建筑构件N1的各个顶点的坐标,从而可以从各个顶点的坐标中确定最大纵坐标、最小纵坐标、最大横坐标以及最小横坐标。基于最小纵坐标和最小横坐标可以确定一个点(例如顶点A1),基于最大纵坐标和最大横坐标可以确定一个点(例如顶点A5),确定经过顶点A1且分别与建立的直角坐标系的横轴和纵轴平行的两条直线L1和L2,确定经过顶点A5且分别与建立的直角坐标系的横轴和纵轴平行的两条直线L3和L4,则直线L1、L2、L3以及L4可以界定出一个包含建筑构件N1的矩形,该矩形可以视作建筑构件N1的包围盒。
可以理解,上述计算建筑构件包围盒的方式仅为举例,还可以通过其他方式来计算建筑构件的包围盒,本实施例对此没有限制。
步骤S230,从各所述建筑构件的包围盒中确定至少一个目标包围盒组,所述目标包围盒组包括至少部分重叠的两个所述包围盒。
对于计算出的每个建筑构件的包围盒,可以计算该包围盒的四个顶点在世界坐标系中的坐标,从而确定包围盒所在的区域。本实施例中,可以将各建筑构件的包围盒进行两两比较,以判断任意两个包围盒是否至少部分重叠,如果存在,则将该两个包围盒关联至一个目标包围盒组,用于表征该两个包围盒存在重叠区域。
步骤S240,判断每个所述目标包围盒组中的两个所述包围盒内的建筑构件是否具有公共边界,若具有公共边界,则将两个所述包围盒内的建筑构件确定为一个构件组。
对于存在重叠区域的两个包围盒,将所述两个包围盒各自包围的建筑构件进行比较。为了便于描述,将一个目标包围盒中的一个包围盒约定为第一包围盒,将另一个包围盒约定为第二包围盒。实施时,可以将第一包围盒中建筑构件的每条边界与第二包围盒中建筑构件的所有边界依次进行比较,如果确定第一包围盒中建筑构件的该边界与第二包围盒中建筑构件的任意一条边界重合,则将重合的边界确定为公共边界。可以理解,本实施例中的重合可以是指在误差范围内的重合,例如当两条边界相互平行且间距小于设定的误差阈值时,仍可以将该两条边界视作重合。
本实施例中,具有公共边界的两个建筑构件可以通过该公共边界连通。如果将具有公共边界的两个建筑构件视为一个构件组,本实施例中,可以确定一个或多个构件组。不同构件组包含的建筑构件可以完全不同,也可以不完全相同,比如存在一个相同的建筑构件。一个示例中,建筑构件N1与N2存在公共边界,则建筑构件N1和N2属于一个构件组G1,建筑构件N2与N3存在公共边界,则建筑构件N2与N3属于一个构件组G2,构件组G1和G2包含相同的建筑构件N2。
本实施例先计算建筑构件的包围盒,在两个包围盒存在重叠关系的情况下再进一步对两个包围盒内的建筑构件的边界进行比较,以查找是否存在公共边界,由于包围盒为矩形,其包括的线段数量较少,可以快速确定两个包围盒是否存在重叠区域,从而快速地过滤掉没有公共边界的建筑构件,减少了数据计算量,提高了计算效率。
步骤S250,记录每个所述构件组中的两个所述建筑构件的连通关系。
本实施例中,电子设备可以在确定两个建筑构件具有公共边界时,从而确定该两个建筑构件相互连通之后,可以记录该两个建筑构件的连通关系。
与前一实施例类似,所述连通关系可以包括相互连通的两个建筑构件各自的节点标识及公共边界的位置信息。以相互连通的建筑构件N1和N2为例,其连通关系可以包括建筑构件N1和N2各自的标识、相互重合的边界N11和边界N21的位置信息,所述位置信息可以通过边界的两个端点的坐标信息来表示。
步骤S260,针对每个所述建筑构件,获取所述建筑构件的每条边界的中垂线,若所述建筑构件具有与其他建筑构件的公共边界,则获取该公共边界的中垂线。
步骤S270,计算获取的各所述中垂线的交点,根据计算出的交点确定路径节点。
为了确保移动机器人沿生成的路径行走的安全性,可以从建筑构件的中间位置确定路径。为了实现这一目的,本实施例可以从建筑构件的每条边界引出一中垂线,以及从建筑构件与其他建筑构件的公共线段引出一中垂线,再分别计算引出的各中垂线之间的交点。
可以理解,基于所述中垂线得到的交点基本位于建筑构件的中间位置,即距离边界较远,沿所述交点行走,可以提高移动机器人的安全性。因此,本实施例的一种实施方式中,可以将计算出的交点直接确定为路径节点。
请参照图5(a),其中以图2中的建筑构件N1为例,示出了根据建筑构件N1的每条边界引出的中垂线,及引出的各中垂线之间的交点。
考虑到实际应用中,有的建筑构件是不规则的多边形形状,建筑构件的某些边界的长度较小,在此情况下,基于该边界引出的中垂线得到的交点距离建筑构件的边界比较近。基于此,本实施例可以在执行步骤S270之前对获取的中垂线进行过滤,过滤规则可以如下:
对于每条边界的中垂线,如果该边界的长度小于设定长度,则可以从获取的所有中垂线中删除该边界的中垂线。其中,所述设定长度可以根据统计数据或实际需求确定,例如可以是950毫米-1050毫米之间的任意值,比如1000毫米。
进一步地,为了降低后续基于路径节点生成的路径的复杂度,所述过滤规则可以包括:
若获取的各中垂线中存在相互平行且间距小于设定距离的两条目标中垂线,从获取的各中垂线中删除一条目标中垂线。
可以理解,所述过滤规则也可以同时包括上述两种规则。
此外,本实施例中,考虑到移动机器人通常具有一定的尺寸,当其沿靠近建筑构件的边界的路径节点行走时,可能存在安全隐患。基于此,本实施例的另一种实施方式中,步骤S270中根据计算出的交点确定路径节点,可以通过图6所示流程来实现:
步骤S270-1,根据应用于所述目标建筑的机器人的尺寸和移动方式,对所述建筑构件的边界进行内扩,得到新的边界。
步骤S270-2,从所述计算出的交点中确定位于所述新的边界内的目标交点,将所述目标交点确定为所述路径节点。
本实施例中,移动机器人的尺寸和移动方式不同,其对应的内扩距离也不同。
一个示例中,如果移动机器人的移动方式为可原地转弯,则可以获取该移动机器人的最大回转半径以及安全距离,计算所述最大回转半径和所述安全距离之和,将所述最大回转半径和所述安全距离之和作为内扩距离,并将所述建筑构件的边界内扩所述内扩距离,得到所述新的边界。
另一个示例中,如果移动机器人的移动方式仅为平移,则可以获取该移动机器人的最大半长轴以及安全距离,计算所述最大半长轴与所述安全距离之和,并将所述最大半长轴与所述安全距离之和确定为内扩距离,将所述建筑构件的边界内扩所述内扩距离,得到所述新的边界。
在内扩得到新的边界之后,可以采用点在多边形内算法对上述计算出的每个交点执行判断处理,判断上述该交点是否位于所述新的边界内,如果不是,则删除该交点。在对每个所述交点执行判断处理后,将未被删除的所有所述交点确定为路径节点。
请参照图5(b),其中示出了按照上述的过滤规则以及按照图6所示步骤进行处理后,得到的建筑构件N1内的路径节点的示意图。
步骤S280,根据确定的路径节点生成所述建筑构件的内部路径。
可选地,请参照图7,步骤S280可以包括如下子步骤:
步骤S280-1,针对每个所述路径节点,创建进入节点边列表和离开节点边列表。
步骤S280-2,在所述进入节点边列表中依次记录朝向所述路径节点的至少一个方向上的至少两个其他所述路径节点,在所述离开节点边列表中依次记录远离所述路径节点的至少一个方向上的至少两个其他所述路径节点。
请再次参照图5(b),建筑构件N1内存在C1-C7共7个路径节点,以其中的一个路径节点C3为例,可以确定路径节点C3的进入节点边列表可以为:<C 6,C5,C4>、<C1,C2>,路径节点C3的离开节点列表可以为:<C4,C5,C6>、<C2,C1>。
可选地,电子设备可以为每个路径节点建立如下表1所示的第一数据结构,用于存储该路径节点的进入节点边列表、离开节点边列表及其他的一些相关数据,以供机器人寻路。
表1
表1中,路径节点的第一数据结构包括路径节点的节点ID(Identity,身份)、所属的路网ID、编码信息、坐标信息、进入节点边列表、离开节点边列表、绑定的建筑构件,以及前述每种数据的数据格式及类型。
实际应用中,通常是一个楼层建立一个路径网络,因此,第一数据结构中的路网ID可以根据路径节点所在的楼层确定,例如可以是楼层ID。编码信息用于指示路径节点所在的楼栋、楼层及房间等。坐标信息可以是路径节点在基于目标建筑的世界坐标系中的坐标。本实施例中,建筑构件以数据对象的形式存储,第一数据结构可以包括路径节点所属的建筑构件的数据对象。
请参照图8,本实施例中,步骤S280还可以包括如下子步骤:
步骤S280-3,从所述建筑构件内的路径节点中,确定位于同一直线的至少两个目标路径节点。
步骤S280-4,针对位于同一直线的所述至少两个目标路径节点,记录一路径边,从位于同一直线的目标路径节点中确定位于端点的两个目标路径节点,将所述两个目标路径节点记录为所述路径边的起始节点和终止节点。
本实施例中,当建筑构件内存在两个以上的路径节点位于同一直线时,可以确定所述两个以上的路径节点构成一路径边。电子设备可以生成所述路径边的第二数据结构,并从所述两个以上路径节点中确定位于端点的两个路径节点,确定的两个路径节点均为本实施例的目标路径节点。根据行进方向将两个目标路径节点的其中一个确定为起始节点,另一个确定为终止节点,并分别记录到所述第二数据结构中。
机器人在一个建筑构件内进行寻路时,可以根据该建筑构件中每个路径节点的第一数据结构以及每个路径边的第二数据结构进行寻路。
为了提高寻路效率,所述第二数据结构还可以包括其他的数据。请参照下表2,其中示例性地示出了本实施例提供的一种第二数据结构。
表2
表2中,边ID用于表征一条节点边,电子设备可以为每条节点边设置不同的ID,作为其边ID。边的长度为节点边的起始节点与终止节点之间的距离,直线边的角度可以是节点边与目标建筑的世界坐标系的横轴的夹角。通行类型可以是节点边的限制通行规则,例如,限制某种类型的机器人通过,又如,限制某种尺寸的机器人通过,又如,只允许某种尺寸的机器人通过。通行限宽和通行限高为所述节点边允许通过的机器人的最大宽度和最大高度。代价值用于指示节点边在目标建筑中对应的实际位置处的粗糙程度,代价值越大,机器人通过该节点边所花费的时间越长。基于第二数据结构的各项数据,机器人可以更加快速、准确地进行寻路,提高寻路效率。
步骤S290,根据每个所述建筑构件的内部路径以及记录的所述连通关系生成所述目标建筑的路径。
实施过程中,可以根据记录的连通关系确定每两个相互连通的建筑构件之间的路径,再基于每个所述建筑构件的内部路径及相互连通的建筑构件之间的路径得到目标建筑的整体路径。详细地,步骤S290可以通过图9所示流程实现:
步骤S290-1,根据记录的连通关系,确定目标建筑中相互连通的第一建筑构件和第二建筑构件。
本实施例中,根据记录的连通关系,可以确定一个或多个构件组,每个构件组包括相互连通的两个建筑构件,在此将一个构件组中的一个建筑构件约定为第一建筑构件,另一个建筑构件约定为第二建筑构件,以相互连通的第一建筑构件和第二建筑构件为例,第一建筑构件和第二建筑构件之间的路径可以后文描述的步骤S290-2至步骤S290-5确定。
步骤S290-2,从所述第一建筑构件的边界中确定作为所述第一建筑构件和所述第二建筑构件的公共边界的第一边界,从所述第二建筑构件的边界中确定作为所述第一建筑构件和所述第二建筑构件的公共边界的第二边界。
步骤S290-3,将所述第一边界的中点确定为所述第一建筑构件的路径节点,将所述第二边界的中点确定为所述第二建筑构件的路径节点。
步骤S290-4,将所述第一边界上的路径节点与所述第二边界上的路径节点关联,得到所述第一建筑构件和所述第二建筑构件之间的路径。
步骤S290-5,根据每个建筑构件的内部路径以及相互连通的建筑构件之间的路径,得到所述目标建筑的路径。
以上述的建筑构件N1是第一建筑构件,建筑构件N2是第二建筑构件为例,可以确定建筑构件N1的边界N11为第一边界,建筑构件N2的边界N21为第二边界,则可以将边界N11的中点以及边界N21的中点均确定为路径节点,并将所确定的两个路径节点关联,则边界N11的中点与边界N21的中点之间的路径即为建筑构件N1与N2之间的路径。机器人可以沿边界N11的中点与边界N21的中点之间的路径,在建筑构件N1与建筑构件N2之间实现跨建筑构件的行走。
可以理解,本实施例中,可以通过步骤S260-步骤S280来确定每个建筑构件的内部路径,按按照步骤S290确定相互连通的建筑构件间的路径,并基于建筑构件的内部路径及相互连通的建筑构件间的路径生成单层目标建筑的整体路径,例如图10所示,其中示出了按照本实施例的路径生成方法得到的单层目标建筑的整体路径示意图。
类似地,对于多层目标建筑,可以对每一单层目标建筑执行本实施例提供的路径生成方法,以得到该多层目标建筑的路径,例如图11所示,其中示出了按照本实施例的路径生成方法得到的多层目标建筑的整体路径示意图。
通过本实施例提供的路径生成方法,可以基于建筑信息模型自动确定目标建筑内的建筑构件之间的连通关系,进而依据该连通关系自动生成符合机器人需求的路径,既提高了生成路径的效率,又提高了机器人基于生成的路径进行寻路的效率。
请参照图12,其中示出了本申请实施例提供的一种电子设备1200的结构框图,本申请实施例提供的路径生成方法可以由该电子设备1200执行。所述电子设备可以是任意具有数据处理功能和图像处理功能的设备,例如可以是服务器、个人计算机等。
本申请实施例中的电子设备1200可以包括一个或多个如下部件:处理器1201、存储器1202、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1202中并被配置为由一个或多个处理器1201执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器1201可以包括一个或者多个处理核。处理器1201利用各种接口和线路连接整个电子设备1200内的各个部分,通过运行或执行存储在存储器1202内的指令、程序、代码集或指令集,以及调用存储在存储器1202内的数据,执行电子设备1200的各种功能和处理数据。可选地,处理器1201可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1201可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1201中,单独通过一块通信芯片进行实现。
存储器1202可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器1202可用于存储指令、程序、代码、代码集或指令集。存储器1202可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备1200在使用中所创建的数据(比如上述的第一数据结构、第二数据结构)等。
请参照图13,其中示出了本申请实施例提供的一种路径生成装置1210的结构框图,该装置可以应用于图12所示的电子设备1200。从功能上划分,该装置1210可以包括获取模块1211、确定模块1212、记录模块1213以及路径生成模块1214。
其中,获取模块1211用于从目标建筑的建筑信息模型BIM中提取所述目标建筑中每个建筑构件的边界信息,所述边界信息用于指示所述建筑构件的每条边界的位置。
确定模块1212用于根据所述目标建筑中各所述建筑构件的边界信息,从各所述建筑构件中确定至少一个构件组,所述构件组包括具有公共边界的两个所述建筑构件,确定所述构件组中具有公共边界的两个所述建筑构件相互连通。
可选地,所述确定模块1212根据所述目标建筑中各所述建筑构件的边界信息,从各所述建筑构件中确定至少一个构件组的方式可以为:
根据每个所述建筑构件的边界信息计算所述建筑构件的包围盒;从各所述建筑构件的包围盒中确定至少一个目标包围盒组,所述目标包围盒组包括至少部分重叠的两个所述包围盒;判断每个所述目标包围盒组中的两个所述包围盒内的建筑构件是否具有公共边界;若具有公共边界,则将两个所述包围盒内的建筑构件确定为一个所述构件组。
记录模块1213用于记录每个所述构件组中的两个所述建筑构件的连通关系。
路径生成模块1214用于根据记录的连通关系生成所述目标建筑的路径。
可选地,本申请实施例中,所述路径生成模块1214还可以用于:
在根据记录的所述连通关系生成所述目标建筑的路径之前,针对每个所述建筑构件,获取所述建筑构件的每条边界的中垂线;若所述建筑构件具有与其他建筑构件的公共边界,则获取该公共边界的中垂线;计算获取的各所述中垂线的交点,根据计算出的交点确定路径节点;根据确定的路径节点生成所述建筑构件的内部路径。
对应地,所述路径生成模块1214具体可以用于根据每个所述建筑构件的内部路径以及记录的所述连通关系生成所述目标建筑的路径。
可选地,本申请实施例中,所述路径生成模块1214在计算获取的各所述中垂线的交点之前,还可以用于通过以下方式中的至少一种对获取的各所述中垂线进行过滤:
针对每条边界的所述中垂线,若该边界的长度小于设定长度,从获取的各所述中垂线中删除该边界的所述中垂线;
若获取的各所述中垂线中存在相互平行且间距小于设定距离的两条目标中垂线,从获取的各所述中垂线中删除一条所述目标中垂线。
可选地,本申请实施例中,所述路径生成模块1214根据计算出的交点确定路径节点的方式可以为:根据应用于所述目标建筑的机器人的尺寸和移动方式,对所述建筑构件的边界进行内扩,得到新的边界;从所述计算出的交点中确定位于所述新的边界内的目标交点,将所述目标交点确定为所述路径节点。
可选地,本申请实施例中,所述路径生成模块1214根据所述路径节点生成所述建筑构件的内部路径的具体方式可以包括:
针对每个所述路径节点,创建进入节点边列表和离开节点边列表,在所述进入节点边列表中依次记录朝向所述路径节点的至少一个方向上的至少两个其他所述路径节点,在所述离开节点边列表中依次记录远离所述路径节点的至少一个方向上的至少两个其他所述路径节点;和/或,
从所述建筑构件内的所述路径节点中,确定位于同一直线的至少两个目标路径节点;针对位于同一直线的所述至少两个目标路径节点,记录一节点边,从位于同一直线的目标路径节点中确定位于端点的两个目标路径节点,将所述两个目标路径节点记录为所述节点边的起始节点和终止节点。
可选地,本申请实施例中,所述路径生成模块1214根据每个所述建筑构件的内部路径以及记录的所述连通关系生成所述目标建筑的路径的具体方式可以为:
根据记录的所述连通关系,确定所述目标建筑中相互连通的第一建筑构件和第二建筑构件;从所述第一建筑构件的边界中确定作为所述第一建筑构件和所述第二建筑构件的公共边界的第一边界,从所述第二建筑构件中确定作为所述第一建筑构件和所述第二建筑构件的公共边界的第二边界;将所述第一边界的中点确定为所述第一建筑构件的路径节点,将所述第二边界的中点确定为所述第二建筑构件的路径节点;将所述第一边界上的路径节点与所述第二边界上的路径节点关联,得到所述第一建筑构件和所述第二建筑构件之间的路径;根据每个建筑构件的内部路径以及相互连通的建筑构件之间的路径,得到所述目标建筑的路径。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图14,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质1400中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质1400可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1400包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1400具有执行上述方法中的任何方法步骤的程序代码1410的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1410可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种路径生成方法,其特征在于,包括:
从目标建筑的建筑信息模型BIM中提取所述目标建筑中每个建筑构件的边界信息,所述边界信息用于指示所述建筑构件的每条边界的位置;
根据所述目标建筑中各所述建筑构件的边界信息,从各所述建筑构件中确定至少一个构件组,所述构件组包括具有公共边界的两个所述建筑构件,确定所述构件组中具有公共边界的两个所述建筑构件相互连通;
记录每个所述构件组中的两个所述建筑构件的连通关系;
针对每个所述建筑构件,获取所述建筑构件的每条边界的中垂线;
若所述建筑构件具有与其他建筑构件的公共边界,则获取该公共边界的中垂线;
计算获取的各所述中垂线的交点,根据应用于所述目标建筑的机器人的尺寸和移动方式,对所述建筑构件的边界进行内扩,得到新的边界;从计算出的交点中确定位于所述新的边界内的目标交点,将所述目标交点确定为路径节点;
根据确定的路径节点生成所述建筑构件的内部路径;
根据每个所述建筑构件的内部路径以及记录的所述连通关系生成所述目标建筑的路。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标建筑中各所述建筑构件的边界信息,从各所述建筑构件中确定至少一个构件组,包括:
根据每个所述建筑构件的边界信息计算所述建筑构件的包围盒;
从各所述建筑构件的包围盒中确定至少一个目标包围盒组,所述目标包围盒组包括至少部分重叠的两个所述包围盒;
判断每个所述目标包围盒组中的两个所述包围盒内的建筑构件是否具有公共边界;
若具有公共边界,则将两个所述包围盒内的建筑构件确定为一个所述构件组。
3.根据权利要求1所述的方法,其特征在于,在所述计算获取的各所述中垂线的交点之前,还包括:
通过以下方式中的至少一种对获取的各所述中垂线进行过滤:
针对每条边界的所述中垂线,若该边界的长度小于设定长度,从获取的各所述中垂线中删除该边界的所述中垂线;
若获取的各所述中垂线中存在相互平行且间距小于设定距离的两条目标中垂线,从获取的各所述中垂线中删除一条所述目标中垂线。
4.根据权利要求1所述的方法,其特征在于,所述根据确定的路径节点生成所述建筑构件的内部路径,包括:
针对每个所述路径节点,创建进入节点边列表和离开节点边列表,在所述进入节点边列表中依次记录朝向所述路径节点的至少一个方向上的至少两个其他所述路径节点,在所述离开节点边列表中依次记录远离所述路径节点的至少一个方向上的至少两个其他所述路径节点。
5.根据权利要求1所述的方法,其特征在于,所述根据确定的路径节点生成所述建筑构件的内部路径,还包括:
从所述建筑构件内的所述路径节点中,确定位于同一直线的至少两个目标路径节点;
针对位于同一直线的所述至少两个目标路径节点,记录一节点边,从位于同一直线的目标路径节点中确定位于端点的两个目标路径节点,将所述两个目标路径节点记录为所述节点边的起始节点和终止节点。
6.根据权利要求1所述的方法,其特征在于,所述根据每个所述建筑构件的内部路径以及记录的所述连通关系生成所述目标建筑的路径,包括:
根据记录的所述连通关系,确定所述目标建筑中相互连通的第一建筑构件和第二建筑构件;
从所述第一建筑构件的边界中确定作为所述第一建筑构件和所述第二建筑构件的公共边界的第一边界,从所述第二建筑构件的边界中确定作为所述第一建筑构件和所述第二建筑构件的公共边界的第二边界;
将所述第一边界的中点确定为所述第一建筑构件的路径节点,将所述第二边界的中点确定为所述第二建筑构件的路径节点;
将所述第一边界上的路径节点与所述第二边界上的路径节点关联,得到所述第一建筑构件和所述第二建筑构件之间的路径;
根据每个建筑构件的内部路径以及相互连通的建筑构件之间的路径,得到所述目标建筑的路径。
7.一种路径生成装置,其特征在于,包括:
获取模块,用于从目标建筑的建筑信息模型BIM中提取所述目标建筑中每个建筑构件的边界信息,所述边界信息用于指示所述建筑构件的每条边界的位置;
确定模块,用于根据所述目标建筑中各所述建筑构件的边界信息,从各所述建筑构件中确定至少一个构件组,所述构件组包括具有公共边界的两个所述建筑构件,确定所述构件组中具有公共边界的两个所述建筑构件相互连通;
记录模块,用于记录每个所述构件组中的两个所述建筑构件的连通关系;
路径生成模块,用于针对每个所述建筑构件,获取所述建筑构件的每条边界的中垂线;若所述建筑构件具有与其他建筑构件的公共边界,则获取该公共边界的中垂线;计算获取的各所述中垂线的交点,根据应用于所述目标建筑的机器人的尺寸和移动方式,对所述建筑构件的边界进行内扩,得到新的边界;从计算出的交点中确定位于所述新的边界内的目标交点,将所述目标交点确定为路径节点;根据确定的路径节点生成所述建筑构件的内部路径;根据每个所述建筑构件的内部路径以及记录的所述连通关系生成所述目标建筑的路径。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-6中任意一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114497.9A CN111102980B (zh) | 2019-11-14 | 2019-11-14 | 路径生成方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114497.9A CN111102980B (zh) | 2019-11-14 | 2019-11-14 | 路径生成方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111102980A CN111102980A (zh) | 2020-05-05 |
CN111102980B true CN111102980B (zh) | 2021-08-17 |
Family
ID=70420760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911114497.9A Active CN111102980B (zh) | 2019-11-14 | 2019-11-14 | 路径生成方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111102980B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764074B (zh) * | 2020-12-30 | 2024-01-12 | 深圳中科讯联科技股份有限公司 | 一种定位导航轨迹的方法、装置及电子设备 |
CN113010890B (zh) * | 2021-02-26 | 2023-02-07 | 中科天齐(山西)软件安全技术研究院有限公司 | 一种应用程序安全检测方法、装置、电子设备和存储介质 |
CN113010891B (zh) * | 2021-02-26 | 2023-02-07 | 中科天齐(山西)软件安全技术研究院有限公司 | 一种应用程序安全检测方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106767819A (zh) * | 2016-12-07 | 2017-05-31 | 北京建筑大学 | 一种基于bim的室内导航数据构建方法及导航系统 |
CN109308838A (zh) * | 2018-09-11 | 2019-02-05 | 中国人民解放军战略支援部队信息工程大学 | 一种基于室内地图的室内空间拓扑路网生成方法及装置 |
CN109815604A (zh) * | 2019-01-30 | 2019-05-28 | 中交第二公路勘察设计研究院有限公司 | 基于建筑要素拓扑关系的bim室内空间连通图构建方法 |
CN109974703A (zh) * | 2019-02-27 | 2019-07-05 | 深圳大学 | 一种室内导航网络的构建方法、系统及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10900790B2 (en) * | 2018-01-26 | 2021-01-26 | Autodesk, Inc. | Interior building navigation system |
-
2019
- 2019-11-14 CN CN201911114497.9A patent/CN111102980B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106767819A (zh) * | 2016-12-07 | 2017-05-31 | 北京建筑大学 | 一种基于bim的室内导航数据构建方法及导航系统 |
CN109308838A (zh) * | 2018-09-11 | 2019-02-05 | 中国人民解放军战略支援部队信息工程大学 | 一种基于室内地图的室内空间拓扑路网生成方法及装置 |
CN109815604A (zh) * | 2019-01-30 | 2019-05-28 | 中交第二公路勘察设计研究院有限公司 | 基于建筑要素拓扑关系的bim室内空间连通图构建方法 |
CN109974703A (zh) * | 2019-02-27 | 2019-07-05 | 深圳大学 | 一种室内导航网络的构建方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111102980A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111102980B (zh) | 路径生成方法、装置及电子设备 | |
CN109979006B (zh) | 室内路网模型构建方法及装置 | |
Tran et al. | Shape grammar approach to 3D modeling of indoor environments using point clouds | |
CN111006676B (zh) | 地图构建方法、装置及系统 | |
Lin et al. | Intelligent generation of indoor topology (i-GIT) for human indoor pathfinding based on IFC models and 3D GIS technology | |
EP3794312B1 (en) | Indoor location-based service | |
CN112149217B (zh) | 三维室内导航场景的生成方法、装置、电子设备及存储介质 | |
CN105512344B (zh) | 一种室内移动对象相对位置的查询方法 | |
CN111080786B (zh) | 基于bim的室内地图模型构建方法及装置 | |
CN111744199B (zh) | 图像处理方法及装置、计算机可读存储介质、电子设备 | |
CN106339558B (zh) | 建筑模型的检验方法和装置 | |
CN116036604B (zh) | 数据处理方法、装置、计算机及可读存储介质 | |
KR102065273B1 (ko) | 사용자 맞춤형 3차원 모델링 제공 서비스를 위한 의미별 건물 요소 정보 자동 생성 방법 및 장치 | |
Boysen et al. | A journey from IFC files to indoor navigation | |
CN112053440A (zh) | 单体化模型的确定方法及通信装置 | |
Lin et al. | Automating the generation of indoor space topology for 3D route planning using BIM and 3D-GIS techniques | |
Srivastava et al. | Towards generating semantically-rich indoorgml data from architectural plans | |
Lyardet et al. | CoINS: Context sensitive indoor navigation system | |
Boysen et al. | Constructing indoor navigation systems from digital building information | |
CN113096251A (zh) | 基于cim的模型处理方法、装置、设备及存储介质 | |
CN113063427A (zh) | 一种室内高精地图生产方法、装置、设备及存储介质 | |
CN116152451A (zh) | 多维参数化城市信息模型构建方法、系统及计算机设备 | |
CN114323021B (zh) | 一种高精度地图中路口区域的估计方法、装置及智能车辆 | |
CN115779424A (zh) | 一种导航网格寻路方法、装置、设备及介质 | |
CN114169037A (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 |