CN111121795B - 生成路网的方法、导航方法、装置、设备和存储介质 - Google Patents

生成路网的方法、导航方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN111121795B
CN111121795B CN202010220823.0A CN202010220823A CN111121795B CN 111121795 B CN111121795 B CN 111121795B CN 202010220823 A CN202010220823 A CN 202010220823A CN 111121795 B CN111121795 B CN 111121795B
Authority
CN
China
Prior art keywords
area
coverage
road network
passing
navigation
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
CN202010220823.0A
Other languages
English (en)
Other versions
CN111121795A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010220823.0A priority Critical patent/CN111121795B/zh
Publication of CN111121795A publication Critical patent/CN111121795A/zh
Application granted granted Critical
Publication of CN111121795B publication Critical patent/CN111121795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3461Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types, segments such as motorways, toll roads, ferries

Abstract

本申请涉及人工智能技术领域,提供一种生成路网的方法、导航方法、装置、计算机设备和存储介质,可依据区域中供通行对象通行的通行区域智能生成路网,充分利用通行区域的空间布局多个覆盖单元,以使得多个覆盖单元对通行区域形成的覆盖范围最大化,从而基于该使得覆盖范围最大化的多个覆盖单元的几何中心生成该区域的路网,提高路网覆盖度,基于该高覆盖度的路网能够充分利用通行区域的空间生成更精确的导航路线,提高路网规划效果。

Description

生成路网的方法、导航方法、装置、设备和存储介质
技术领域
本申请涉及人工智能技术领域,特别是涉及一种生成路网的方法、导航方法、装置、计算机设备和存储介质。
背景技术
随着人工智能技术的发展,出现了集语音、图像识别技术等多技术于一体的智能导航技术,如移动终端、导航仪等电子设备可以接收用户以语音等形式输入的导航指令为用户提供在例如商场、医院、机场和火车站等高频出行场景下的导航服务,而随着科技的逐步发展,各场景下的相应建筑体结构的复杂度也呈现逐步上升的趋势,对室内外的多场景下进行精准导航的需求也越发强烈。
导航技术以区域所规划的路网为基础,路网数据作业的质量和覆盖度很大程度上直接影响到导航路线。相关技术所提供的生成路网的方法,主要是依据区域划分的业务区域的轮廓形状特征,规划出与该轮廓形状特征相符的路网。然而,这种技术会使得在区域当中所规划的路网比较规整,但该路网在该区域中的覆盖度较低,基于该路网进行导航时与实际所需的导线路线存在较大差异,例如在开阔区域中会出现绕大弯的情况,导致这种技术对路网规划的效果较差。
发明内容
基于此,有必要针对相关技术存在的对路网规划效果较差的技术问题,提供一种生成路网的方法、导航方法、装置、计算机设备和存储介质。
一种生成路网的方法,所述方法包括:
获取待生成路网的区域中供通行对象通行的通行区域;
针对所述区域布局多个覆盖单元,以使得由所述多个覆盖单元对所述通行区域的覆盖范围最大化;所述覆盖单元的尺寸与所述通行对象的尺寸相适应;
基于所述多个覆盖单元的几何中心,生成所述区域的路网。
一种导航方法,包括:
获取导航指令;所述导航指令用于通行对象在区域中的至少两个导航点之间进行导航;
响应于所述导航指令,获取所述区域的路网;所述区域的路网是根据如上所述的生成路网的方法得到的;
当所述至少两个导航点中包括有位于所述路网外的导航点时,生成用于连接所述位于所述路网外的导航点与所述路网的导航路线,得到辅助导航路线;
基于所述辅助导航路线以及所述路网上的主导航路线,获取用于所述至少两个导航点之间的导航路线;
显示所述导航路线。
一种生成路网的装置,所述装置包括:
区域获取模块,用于获取待生成路网的区域中供通行对象通行的通行区域;
区域覆盖模块,用于针对所述区域布局多个覆盖单元,以使得由所述多个覆盖单元对所述通行区域的覆盖范围最大化;所述覆盖单元的尺寸与所述通行对象的尺寸相适应;
路网生成模块,用于基于所述多个覆盖单元的几何中心,生成所述区域的路网。
一种导航装置,所述装置包括:
指令获取模块,用于获取导航指令;所述导航指令用于通行对象在区域中的至少两个导航点之间进行导航;
路网获取模块,用于响应于所述导航指令,获取所述区域的路网;所述区域的路网是根据如上所述的生成路网的方法得到的;
路线生成模块,用于当所述至少两个导航点中包括有位于所述路网外的导航点时,生成用于连接所述位于所述路网外的导航点与所述路网的导航路线,得到辅助导航路线;
路线获取模块,用于基于所述辅助导航路线以及所述路网上的主导航路线,获取用于所述至少两个导航点之间的导航路线;
路线显示模块,用于显示所述导航路线。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待生成路网的区域中供通行对象通行的通行区域;针对所述区域布局多个覆盖单元,以使得由所述多个覆盖单元对所述通行区域的覆盖范围最大化;所述覆盖单元的尺寸与所述通行对象的尺寸相适应;基于所述多个覆盖单元的几何中心,生成所述区域的路网。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取导航指令;所述导航指令用于通行对象在区域中的至少两个导航点之间进行导航;响应于所述导航指令,获取所述区域的路网;所述区域的路网是根据如上所述的生成路网的方法得到的;当所述至少两个导航点中包括有位于所述路网外的导航点时,生成用于连接所述位于所述路网外的导航点与所述路网的导航路线,得到辅助导航路线;基于所述辅助导航路线以及所述路网上的主导航路线,获取用于所述至少两个导航点之间的导航路线;显示所述导航路线。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待生成路网的区域中供通行对象通行的通行区域;针对所述区域布局多个覆盖单元,以使得由所述多个覆盖单元对所述通行区域的覆盖范围最大化;所述覆盖单元的尺寸与所述通行对象的尺寸相适应;基于所述多个覆盖单元的几何中心,生成所述区域的路网。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取导航指令;所述导航指令用于通行对象在区域中的至少两个导航点之间进行导航;响应于所述导航指令,获取所述区域的路网;所述区域的路网是根据如上所述的生成路网的方法得到的;当所述至少两个导航点中包括有位于所述路网外的导航点时,生成用于连接所述位于所述路网外的导航点与所述路网的导航路线,得到辅助导航路线;基于所述辅助导航路线以及所述路网上的主导航路线,获取用于所述至少两个导航点之间的导航路线;显示所述导航路线。
上述生成路网的方法、导航方法、装置、计算机设备和存储介质,可依据区域中供通行对象通行的通行区域智能生成路网,充分利用通行区域的空间布局多个覆盖单元,以使得多个覆盖单元对通行区域形成的覆盖范围最大化,从而基于该使得覆盖范围最大化的多个覆盖单元的几何中心生成该区域的路网,提高路网覆盖度,基于该高覆盖度的路网能够充分利用通行区域的空间生成更精确的导航路线,提高路网规划效果。
附图说明
图1(a)为一个实施例中生成路网的方法的一种应用环境图;
图1(b)为一个实施例中生成路网的方法的另一种应用环境图;
图2(a)为一个实施例中基于路网的导航路线的示意图;
图2(b)为一个实施例中基于路网的导航路线的示意图;
图2(c)为一个实施例中基于路网的导航路线的示意图;
图3为一个实施例中生成路网的方法的流程示意图;
图4(a)为一个实施例中在区域中规划路网的示意图;
图4(b)为一个实施例中在区域中规划路网的示意图;
图4(c)为一个实施例中在区域中规划路网的示意图;
图5为一个实施例中获取区域路网的步骤的流程示意图;
图6为一个实施例中获取通行区域的步骤的流程示意图;
图7为一个实施例中获取多个覆盖单元的步骤的流程示意图;
图8为一个实施例中获取多个覆盖单元的步骤的流程示意图;
图9为一个实施例中生成路网的方法的流程示意图;
图10为一个应用实例中生成路网的方法的流程示意图;
图11为一个应用实例中室内区域的示意图;
图12为一个应用实例中室内区域布局覆盖单元的示意图;
图13为一个应用实例中室内区域生成路网的示意图;
图14为一个应用实例中遗传算法的流程示意图;
图15为一个应用实例中室内区域布局覆盖单元的示意图;
图16为一个应用实例中圆与圆之间的关系示意图;
图17为一个应用实例中圆与直线之间的关系示意图;
图18为一个应用实例中室内区域布局覆盖单元的示意图;
图19为一个应用实例中圆与圆交叠的示意图;
图20为一个应用实例中室内区域的路网示意图;
图21为一个实施例中导航方法的流程示意图;
图22为一个实施例中生成路网的装置的结构框图;
图23为一个实施例中导航装置的结构框图;
图24为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
术语说明:
室内路径规划服务,按照步行的出行方式规划出室内部分(商城、医院等室内建筑)的最优路径方案的服务,该服务可以以后台服务的形式呈现。
遗传算法(Genetic Algorithm,GA),是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法,它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续型的限定,具有内在的隐并行性和更好的全局寻优能力,采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则,遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、新号处理、自适应控制和人工生命等领域。
本申请提供的生成路网的方法,可以应用于如图1(a)和图1(b)所示的应用环境中。先对如图1(a)所示的应用环境进行说明,图1(a)为一个实施例中生成路网的方法的一种应用环境图,该应用环境可以包括终端110,该终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、导航仪和便携式可穿戴设备。
用户可以通过终端110上安装的地图软件、导航软件等应用程序,在如商场、医院、机场和火车站等室内外区域中进行导航,终端110在区域中为用户提供导航路线时,需要基于该区域的路网来形成导航路线。在终端110为用户提供如室内路径规划服务等导航服务之前,需要先生成该区域的路网。
在如图1(a)所示的应用环境当中,对需要进行路网规划的区域,可以直接由终端110来生成该区域的路网。具体来说,终端110可以获取待生成路网的区域中供通行对象通行的通行区域,然后针对于该区域布局多个覆盖单元,以使得由该多个覆盖单元对该通行区域的覆盖范围最大化,其中,覆盖单元的尺寸与通行对象的尺寸相适应,最后,终端110即可基于该多个覆盖单元的几何中心生成该区域的路网。在得到该区域的路网后,终端110可基于该路网为通行对象提供相应的导航服务。
除了如图1(a)所示的应用环境以外,对需要进行路网规划的区域,还可以由终端110和服务器120配合执行,其中,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。如图1(b)所示,图1(b)为一个实施例中生成路网的方法的另一种应用环境图,如用户等通行对象在进入某个需要进行路网规划的区域后,可以通过终端110向服务器120发送路网规划指令,服务器120可以根据该路网规划指令,确定需要进行路网规划的区域,然后获取该待生成路网的区域中供通行对象通行的通行区域,并针对该区域布局多个覆盖单元,以使得由该多个覆盖单元对通行区域的覆盖范围最大化,其中,该覆盖单元的尺寸与通行对象的尺寸相适应,然后服务器120即可基于该多个覆盖单元的几何中心,生成该区域的路网,并将该路网反馈至终端110,以使得终端110可以基于该路网为通行对象提供导航服务。
本领域技术人员可以理解,本申请提供的生成路网的方法,除应用于上述应用场景外,还可以由服务器120单独执行,即服务器120获取待生成路网的区域中供通行对象通行的通行区域,并针对区域布局多个覆盖单元,以使得由多个覆盖单元对该通行区域的覆盖范围最大化,而覆盖单元的尺寸与通行对象的尺寸相适应,最后服务器120可基于多个覆盖单元的几何中心,生成区域的路网。通过这种单独由服务器120对待生成路网的区域进行路网规划的方案,可预先对各种如医院、商场、火车站等非终端110所指定的区域进行路网规划,规划后形成的路网可以存储于服务器120中,供终端110需要时通过如发送路网获取指令等方式进行获取,也可以由服务器120以软件更新的方式将新规划的路网加载到终端110的地图软件、导航软件等应用程序上供用户使用,提高路网获取和规划的效率。
与相关技术所提供的生成路网的方法不同的是,本申请提供的生成路网的方法,可提高路网覆盖度,基于该高覆盖度的路网能够充分利用通行区域的空间生成更精确的导航路线,提高路网规划效果。如图2(a)所示,图2(a)为一个实施例中基于路网的导航路线的示意图,相关技术所规划的路网可称为第一路网10,该第一路网10通常会比较规整,但该区域中的覆盖度较低,基于该第一路网10进行导航时得到的导航路线成为第一导航路线11,在该图2(a)中还示出了第二导航路线12,可以理解,在为如人等通行对象提供导航路线时,明显第二导航路线12与人的实际所需的通行路线更相符。
结合图2(b)和图2(c)对相关技术所提供的生成路网的方法进行更细致分析,相关技术所提供的路网通常会比较规整,与周围的如商店区等业务区域的轮廓形状特征比较匹配,而在基于该规整路网进行导航所提供的导航路线如图2(b)的第三导航路线13所示,然而与图2(c)所示出的第四导航路线14可以知道,明显第四导航路线14提供的导航路线效果更加符合如人等通行对象的实际导航路线效果。
而本申请所提供的生成路网的方法,可充分利用通行区域的空间布局多个覆盖单元,以使多个覆盖单元对通行区域形成的覆盖范围最大化,并基于该使得覆盖范围最大化的多个覆盖单元的几何中心生成该区域的路网,从而能够提高路网覆盖度,路网规划效果更好,且可以基于此提供更精确的导航路线。
在一个实施例中,如图3所示,图3为一个实施例中生成路网的方法的流程示意图,提供了一种生成路网的方法,以该方法应用于图1(a)中的终端110为例进行说明,包括以下步骤:
步骤S301,获取待生成路网的区域中供通行对象通行的通行区域;
本步骤中,终端110可以获取待生成路网的区域中,供通行对象进行通行的通行区域。
待生成路网的区域,是指需要进行路网规划的区域。该区域可以是之前已经进行过路网规划的区域,已经规划的路网可以成为历史路网,如果对该历史路网的规划效果不满意,即可重新将该区域作为待生成路网的区域进行路网规划处理;除此以外,该待生成路网的区域也可以是还未进行过路网规划的区域,例如对于新建成的公园、医院、火车站等室内外的建筑体或道路,都可以作为待生成路网的区域。该待生成路网的区域可以是二维平面区域,也可以是三维立体区域,可根据实际路网规划需求进行设置,例如对于建筑体的某一楼层,可以将该楼层的平面作为待生成路网的区域,此时该待生成路网的区域是二维平面区域,而对于需要为无人机等飞行对象规划路网的场景下,由于无人机作业时涉及多维的运动,需为其规划的路网的区域可以是三维立体区域。
由此,待生成路网的区域当中需包括有通行区域,该通行区域是供通行对象进行通行的。也就是说,针对于不同的通行对象,待生成路网的区域中所包括的通行区域是不同的。具体而言,在一般场景之下,该通行对象可以包括人、宠物、车、机器人和无人机等等,例如将某个室内商城作为待生成路网的区域,该商城可以具有多个商店区和道路区,该道路区对于人和宠物而言都是可以通行的,都可以作为通行区域,而对于某些商店区则可能只允许人进入,则商店区当中可以包括针对于人的通行区域,即在该室内商城中,针对于人和宠物的通行区域可以是不同的。因此,对于待生成路网的区域,终端110可先获取该区域中供通行对象通行的通行区域。
步骤S302,针对区域布局多个覆盖单元,以使得由多个覆盖单元对通行区域的覆盖范围最大化;
本步骤中,终端110可以针对待生成路网的区域布局多个覆盖单元。其中,每个覆盖单元均具有一定的尺寸,而覆盖单元的尺寸需要与通行对象的尺寸相适应,而覆盖单元的尺寸如果设置过大,则基于尺寸过大的覆盖单元无法准确规划路网,如果覆盖单元的尺寸设置过小,则容易致使通行对象基于路网的导航路线进行移动时与其他通行对象发生碰撞而难以顺利通行。本步骤可将该覆盖单元的尺寸设置为与通行对象的尺寸相匹配可以在通行对象顺利通行的情况下,规划出更精细的路网。其中,覆盖单元可以是与待生成路网的区域的维度对应的具有一定的形状、尺寸的几何图形,例如,对于待生成路网的区域为二维平面区域,该覆盖单元可以是如圆形、正方形或者六边形等平面图形,而如果待生成路网的区域为三维立体区域,则覆盖单元可以是球、正方体等立体图形。在一些实施例中,可以采用圆形作为覆盖单元,而该覆盖单元的尺寸可以对应于圆的半径,假设以人作为通行对象,则该圆的半径可以是0.5米,与人的肩宽基本一致,也是可使人能够顺利通行的宽度。
具体的,以圆作为覆盖单元对本步骤进行说明,参考图4(a)和图4(b),终端110可以针对如图4(a)和图4(b)所示的待生成路网的区域400布局多个覆盖单元430,该区域400当中,可以包括有针对于通行对象的通行区域410和非通行区域420,通行区域410是指可供通行对象通行的区域,而非通行区域420是该通行对象不可通行的区域,例如柱子、墙壁等障碍物所在区域可以作为人的非通行区域420,过道所在区域可以作为人的通行区域410。而终端110对区域400布局的各覆盖单元430,会在区域400所包括的通行区域410中形成一定的覆盖范围,例如对于圆作为覆盖单元430,则圆的面积就是其覆盖范围,而如果该圆完全位于通行区域410中,则该圆在通行区域410中形成的覆盖范围就是该圆的面积,而如果该圆只有一半位于该通行区域410中,则该圆在通行区域410中形成的覆盖范围就是该圆的面积的一半,通过这种方式,可以获取多个覆盖单元430在通行区域410中形成的覆盖范围,而通过移动覆盖单元430或者改变对区域400布局的覆盖单元430的数量,可以调整多个覆盖单元430在通行区域410中形成的覆盖范围,本步骤可以通过改变覆盖单元430的位置、增加或者减少覆盖单元430的数量等方式,以使得对区域400布局的多个覆盖单元430,在通行区域410中形成的覆盖面积最大化,即通过在区域400布局多个覆盖单元430,以使得这些覆盖单元430尽可能覆盖通行区域410,由此,终端110可以得到对通行区域410的覆盖范围最大化的多个覆盖单元,还可以获取这些覆盖单元在区域400当中的位置等信息。
步骤S303,基于多个覆盖单元的几何中心,生成区域的路网。
本步骤中,如图4(c)所示,终端110在可以获取对通行区域410的覆盖范围最大化的多个覆盖单元430的几何中心,如以圆作为覆盖单元430的情况下,覆盖单元430的几何中心为该圆的圆心。然后,终端110可以获取这些覆盖单元430的几何中心在区域400中的位置坐标,并根据这些覆盖单元430的几何中心在区域400中的位置坐标,生成该区域400的路网440,该路网440即如图4(c)中,连接各覆盖单元430的几何中心的以虚线示出的连接线。
在一些实施例当中,该步骤S303具体可以包括:
基于多个覆盖单元的几何中心之间的连接线,得到区域的路网。
本实施例中,终端110可以将这些覆盖单元430的几何中心进行连线,得到多个覆盖单元430的几何中心之间的连接线,基于该多个覆盖单元430的几何中心之间的连接线,生成区域400的路网440。其中,多个覆盖单元430之间的几何中心之间的连接线当中可能包含有一些不合理的连接线,例如有一些连接线穿越了如图4(a)所示的非通行区域,而在基于包含有这些不合理的连接线的路网所得到的导航路线会对用户的通行产生不良影响,如可能会指引用户穿过某个墙壁等。
基于此,在其中一些实施例中,区域中可以包括有非通行区域,上述基于多个覆盖单元的几何中心之间的连接线,得到区域的路网,可以进一步包括:
将多个覆盖单元的几何中心之间的连接线中的第一连接线,作为区域的路网。
本实施例中,第一连接线是指,多个覆盖单元的几何中心之间的连接线中,与区域中的非通行区域不相交的连接线。其中,终端110可以在得到多个覆盖单元的几何中心之间的连接线后,判断其中是否有与非通行区域相交的连接线,如果有则将这些与非通行区域相交的连接线进行剔除,由此得到第一连接线,将该第一连接线作为区域的路网。通过本实施例的方案,可以在生成路网时就将一些穿越如墙壁、柱子等非通行区域的连接线进行剔除,以使得所生成的路网当中不包含有这些不合理的路线,虽然这些路线可以在导航时进行智能剔除,但考虑到导航时需要的运算量可能比较大,在生成路网时先将明显不合理的路线进行剔除,有助于在导航时将运算资源集中在计算合理路径上,即可生成合理的路网也可节省导航运算资源。
在另外一些实施例当中,如果待生成路网的区域当中包含有非通行区域,则还可以进一步基于这些非通行区域的轮廓顶点生成路网,如图5所示,图5为一个实施例中获取区域路网的步骤的流程示意图,上述基于多个覆盖单元的几何中心之间的连接线,得到区域的路网,可以具体包括:
步骤S501,获取非通行区域的轮廓顶点;
步骤S502,基于非通行区域的轮廓顶点以及多个覆盖单元的几何中心之间的连接线,得到区域的路网。
本实施例中,参考图4(a),终端110可以在区域400中确定非通行区域420,并且可以进一步获取这些非通行区域420的轮廓顶点,例如对于形状为多边形的非通行区域420,可以将多边形的顶点作为该非通行区域420的轮廓顶点。这样,终端110可在得到多个覆盖单元430后,基于非通行区域420的轮廓顶点和多个覆盖单元430的几何中心之间的连接线生成区域400的路网,也就是说,终端110可以将非通行区域420的轮廓顶点以及多个覆盖单元430的几何中心作为路网节点,将各路网节点两两相连接,形成区域400的路网。通过这种方式所形成的路网,可以充分考虑非通行区域420的轮廓形状对应的路网节点,基于这些节点可以生成例如可沿障碍物边缘通行的路线,提高路网规划效果。
进一步的,可以在结合非通行区域420的轮廓顶点生成路网时,将不合理的路线先进行剔除,在一些实施例中,步骤S502的基于非通行区域的轮廓顶点以及多个覆盖单元的几何中心之间的连接线,得到区域的路网,可以具体包括:
将非通行区域的轮廓顶点以及多个覆盖单元的几何中心之间的连接线中的第二连接线,作为区域的路网;
本实施例中,第二连接线是指,非通行区域的轮廓顶点以及多个覆盖单元的几何中心之间的连接线中,与非通行区域不相交的连接线。其中,终端110可以终端110可以在得到非通行区域的轮廓顶点以及多个覆盖单元的几何中心之间的连接线后,判断其中是否有与非通行区域相交的连接线,如果有则将这些与非通行区域相交的连接线进行剔除,由此得到第二连接线,将该第二连接线作为区域的路网。基于本实施例的方案,可以在充分考虑非通行区域420的轮廓形状对应的路网节点,生成例如可沿障碍物边缘通行的路线的基础上,在生成该路网时就将一些穿越如墙壁、柱子等非通行区域的连接线进行剔除,以在路网中不包含这些不合理的路线,并且有助于节省导航运算资源。
上述生成路网的方法,终端110可依据区域中供通行对象通行的通行区域智能生成路网,充分利用通行区域的空间布局多个覆盖单元,以使得多个覆盖单元对通行区域形成的覆盖范围最大化,从而终端110基于该使得覆盖范围最大化的多个覆盖单元的几何中心生成该区域的路网,提高路网覆盖度,提高路网规划效果,终端110还可以进一步基于该高覆盖度的路网能够充分利用通行区域的空间生成更精确的导航路线。
在一个实施例中,如图6所示,图6为一个实施例中获取通行区域的步骤的流程示意图,步骤S301中的获取待生成路网的区域中供通行对象通行的通行区域,可以包括:
步骤S601,获取区域中划分的业务区域和基础通行区域;
本步骤中,终端110可以获取待生成路网的区域中预先划分的业务区域和基础通行区域。其中,业务区域是指在该区域中,具有一定业务功能的区域,而基础通行区域是指该区域中,用于供一般通行对象进行通行的区域。具体的,以商城作为待生成路网的区域为例进行说明,商城当中可以包括一些商店,这些商店所在区域即为业务区域,可用于相应的商家进行商业活动,而该商城可以具有一些人行过道,这些人行过道可以是开阔的也可以是狭窄的,而这些人行过道即对应于该区域的基础通行区域,被预先划分为供一般的行人、宠物等通行对象进行通行。
步骤S602,根据业务区域针对于通行对象的通行属性,获取业务区域中供通行对象通行的通行区域,作为附加通行区域;
本步骤主要是终端110可以从业务区域当中进一步获取附加通行区域。其中,该附加通行区域是指区域中预先划分的业务区域内,可供通行对象进行通行的通行区域。其中,终端110可以获取该业务区域针对于通行对象的通行属性,来从该业务区域中获取供该通行对象通行的通行区域。具体的,业务区域可以针对于不同的通行对象设置不同的通行属性,该通行属性可以包括该业务区域是否可以供某个通行对象进行通行,例如对于某些商店区,其针对于行人的通行属性可以为可通行,而对于宠物的通行属性可以是不可通行。由此,终端110可以根据该通行属性,进一步确定该业务区域中供该通行对象进行通行的通行区域,例如可以查询某个商店可以供人通行的走道等,该走道可以作为该业务区域中供人通行的通行区域,基于如上方式,终端110可以从业务区域中获取附加通行区域。
步骤S603,根据基础通行区域和附加通行区域,得到通行区域。
本步骤,终端110可以将基础通行区域和附加通行区域一并作为待生成路网的区域的通行区域。
上述实施例的方案,可以在区域预先划分的基础通行区域的基础上进一步从业务区域中获取可供通行对象进行通行的附加通行区域,从而结合附加通行区域获取该区域中可供通行对象进行通行的通行区域,扩大通行区域的范围,充分开拓待生成路网的区域的可通行空间,在此基础上布局覆盖单元可形成更精细的路网,提高路网规划效果。
在一个实施例中,如图7所示,图7为一个实施例中获取多个覆盖单元的步骤的流程示意图,步骤S302中的针对区域布局多个覆盖单元,以使得由多个覆盖单元对通行区域的覆盖范围最大化,可以包括:
步骤S701,按照至少两种布局模式针对区域布局多个覆盖单元;
本步骤中,终端110可以按照至少两种布局模式针对于区域布局多个覆盖单元。在不同的布局模式下,终端110可以在区域的不同位置布置不同数量的覆盖单元。示例性的,终端110可以随机在区域中布局如8个覆盖单元形成一种布局模式,然后终端110可以基于该布局模式随机调整8个覆盖单元的位置,形成第二种布局模式,终端110也可以再次随机在区域中布局若干个覆盖单元形成另外一种布局模型等等。
步骤S702,获取至少两种布局模式各自对通行区域的覆盖范围,得到至少两种覆盖范围;
本步骤中,终端110可获取前述至少两种布局模式各自在通行区域中形成的覆盖范围,得到至少两种覆盖范围。其中,对于每一种布局模式而言,都会通过相应布局的多个覆盖单元在通行区域中形成一定的覆盖范围,由此终端110可获取对应于各布局模式的覆盖范围。
步骤S703,根据覆盖范围大于覆盖范围阈值的布局模式布局的多个覆盖单元,获取对通行区域的覆盖范围最大化的多个覆盖单元。
本步骤中,终端110可以通过前述至少两种布局模式中选取一个或者多个布局模式,来获取对对通行区域的覆盖范围最大化的多个覆盖单元。具体的,终端110可以将各布局模式对通行区域的覆盖范围进行比较,可以筛选出形成较大覆盖范围的布局模式。其中,终端110可以将各布局模式对通行区域的覆盖范围与设定的覆盖范围阈值进行比较,然后根据覆盖范围大于该覆盖范围阈值的布局模式所布局的多个覆盖单元,获取对通行区域的覆盖范围最大化的多个覆盖单元。
通过本实施例的方案,终端110可以从至少两种布局模式中选取符合覆盖范围大于该覆盖范围阈值这一条件的一个或者多个布局模式,再根据该一个或者多个布局模式获取对通行区域的覆盖范围最大化的多个覆盖单元,以基于多种布局模式实现对通行区域的覆盖范围最大化的多个覆盖单元的选取过程。
在一个实施例中,步骤S702的获取至少两种布局模式各自对通行区域的覆盖范围,得到至少两种覆盖范围,可以包括:
根据相应布局模式下,各覆盖单元对通行区域的覆盖范围的并集,获取至少两种覆盖范围。
本实施例中,终端110可以针对于每一种布局模式,获取相应布局模式下布局的多个覆盖单元对通行区域形成的覆盖范围的并集,终端110可以进一步将该多个覆盖单元对通行区域形成的覆盖范围的并集,作为各布局模式对通行区域的覆盖范围。通过该技术方案,终端110将多个覆盖单元对通行区域形成的覆盖范围的并集的大小,作为各布局模式对通行区域的覆盖范围的大小筛选条件,即允许覆盖单元在布局过程中相互之间存在一定的交叠,然而由于需要使得并集面积最大化,交叠得越多其并集面积会越小,使得存在较多覆盖单元相互交叠的布局模式,通过该条件进行排除,优化覆盖单元的筛选过程,使得生成的路网更精细合理。
在一个实施例中,区域可以包括非通行区域;上述步骤S702中的获取至少两种布局模式各自对通行区域的覆盖范围,得到至少两种覆盖范围之前,还可以包括如下步骤:
当至少两种布局模式对区域布局的覆盖单元的几何中心位于非通行区域时,调整覆盖单元的位置,以使调整后的覆盖单元的几何中心位于非通行区域的轮廓顶点。
本实施例中,在获取各布局模式各自对通行区域的覆盖范围之前,终端110可以先确认各布局模式所布局的各覆盖单元的位置是否需要调整或者修正,以免一些覆盖单元在区域中的位置明显不合理的布局模式也参与覆盖范围的计算,浪费运算资源且避免对最终路网结果产生的不良影响。具体来说,终端110可以判断各布局模式下所布局的覆盖单元的几何中心的位置,是否位于非通行区域内,如果是,则判断该覆盖单元的位置不合理,需要将该覆盖单元的位置进行调整,终端110可以将该几何中心位于非通行区域内的覆盖单元的位置进行调整,以使得调整后的覆盖单元的几何中心位于非通行区域的轮廓顶点。
本实施例的方案,终端110可以实现对覆盖单元布局过程中,位置明显不合理的覆盖单元的位置进行调整,而可以将该位置明显不合理的覆盖单元的移动至与该覆盖单元最接近的非通行区域的轮廓顶点,以使其几何中心与该轮廓顶点重合。这样,即可将不合理的覆盖单元的位置进行调整,也使得调整后的覆盖单元的几何中心可成为该区域路网的路网节点,进一步提高路网规划的效率。
在一个实施例中,如图8所示,图8为一个实施例中获取多个覆盖单元的步骤的流程示意图,步骤S703中的根据覆盖范围大于覆盖范围阈值的布局模式布局的多个覆盖单元,获取对通行区域的覆盖范围最大化的多个覆盖单元,具体可以包括:
步骤S801,将至少两种覆盖范围中,大于覆盖范围阈值的覆盖范围对应的布局模式,作为基础布局模式;
终端110可以将至少两种布局模式各自对通行区域的覆盖范围中,大于预先设定的覆盖范围阈值的覆盖范围对应的布局模式,作为基础布局模式。其中,该基础布局模式可以是一种或者多种,如果终端110经过阈值比较后,得到的基础布局模式只有一种,则可以将该基础布局模式布局的多个覆盖单元,作为对通行区域的覆盖范围最大化的多个覆盖单元。
步骤S802,若基础布局模式包括至少两种,则将至少两种基础布局模式下,各覆盖单元的几何中心在所述区域中的位置,作为所述至少两种基础布局模式的染色体表达;
其中,如果在步骤S801,终端110获取的基础布局模式为至少两种,则终端110可以进一步基于该至少两种布局模式,获取对通行区域的覆盖范围最大化的多个覆盖单元。具体的,终端110可以将该至少两种基础布局模式下,各覆盖单元的几何中心在区域中的位置,作为该至少两种基础布局模式的染色体表达。本步骤中,终端110可以基于遗传算法,以该各基础布局模式下,覆盖单元的几何中心在区域中的位置,作为相应基础布局模式的染色体表达,筛选最优的染色体,即终端110可以基于遗传算法来筛选出能够使得对通行区域的覆盖范围最大化的各个覆盖单元。
步骤S803,基于染色体表达,通过染色体交叉和/或染色体变异的方式,得到基础布局模式的遗传布局模式;
本步骤中,终端110可以基于相应基础布局模式的染色体表达,通过染色体交叉和/或染色体变异的方式,得到基础布局模式的遗传布局模式。即可以将该基础布局模式作为父代,经过染色体交叉和/或染色体变异的方式获取该基础布局模式的遗传布局模式,该遗传布局模式即作为子代。其中,染色体交叉和/或染色体变异可以通过将至少两种基础布局模式下,各覆盖单元的几何中心在区域中的位置进行线性凸组合等方式进行交叉,可以通过精细变异或强烈变异等方式进行变异,以基于基础布局模式获取相应的遗传布局模式。
对于染色体交叉、染色体变异的过程。本步骤中,基础布局模式的染色体表达为各覆盖单元的几何中心在前述区域当中的位置,由此可以基于至少两种基础模式进行染色体交叉、染色体变异的过程。
具体的,设有第一基础布局模式
Figure DEST_PATH_IMAGE001
和第二基础布局模式
Figure 525433DEST_PATH_IMAGE002
,为简化表述,设该第一、第二基础布局模式中均包括m个覆盖单元,可将第一基础布局模式
Figure 849098DEST_PATH_IMAGE001
表示为
Figure DEST_PATH_IMAGE003
,第二基础布局模式
Figure 848409DEST_PATH_IMAGE002
表示为
Figure 56668DEST_PATH_IMAGE004
,其中,
Figure DEST_PATH_IMAGE005
表示在第一基础布局模式
Figure 746406DEST_PATH_IMAGE001
下,第i个覆盖单元的几何中心所在位置,
Figure 427923DEST_PATH_IMAGE006
表示在第二基础布局模式
Figure 395091DEST_PATH_IMAGE002
下,第i个覆盖单元的几何中心所在位置。对于染色体交叉的过程可以这样进行,利用0到1的随机数
Figure DEST_PATH_IMAGE007
计算遗传布局模式的各个覆盖单元的几何中心的位置,不失一般性,基于第一、第二基础布局模式,可以产生第一、第二遗传布局模式,其中,第一遗传布局模式的第i个覆盖单元的几何中心的位置,可以由该式决定:
Figure 656308DEST_PATH_IMAGE008
Figure DEST_PATH_IMAGE009
,而第二遗传布局模式的第i个覆盖单元的几何中心的位置,可以由该式决定:
Figure 872657DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE011
,其中
Figure 928337DEST_PATH_IMAGE012
为第i个覆盖单元对应的随机数,由此可以实现,基于染色体交叉的方式获取第一、第二基础布局模式的第一、第二遗传布局模式。
对于染色体变异的过程,可以通过如对第一、第二基础布局模式中的各覆盖单元的几何中心的位置进行较小的随机改变,例如在第一、第二基础布局模式中的各覆盖单元的几何中心的位置的基础上,加上范围在0到1之间的随机数
Figure 948246DEST_PATH_IMAGE007
,或者减去该随机数
Figure 967149DEST_PATH_IMAGE007
后得到的位置,得到第一、第二遗传布局模式中的相应覆盖单元的几何中心的位置,以此实现基于染色体变异的方式获取第一、第二基础布局模式的第一、第二遗传布局模式。需要说明的是,如上染色体交叉、染色体变异在计算遗传布局模式过程中可以交替进行,例如可以在进行染色体交叉的基础上再进行染色体变异得到遗传布局模式,也可以在染色体变异的基础上进行染色体交叉得到遗传布局模式。
步骤S804,当遗传布局模式形成的覆盖范围,与基础布局模式形成的覆盖范围之间的差值,小于差值阈值时,将至少两种基础布局模式中,具有相对较大的覆盖范围的基础布局模式布局的多个覆盖单元,作为对通行区域的覆盖范围最大化的多个覆盖单元。
本步骤中,终端110可以获取遗传布局模型对通行区域的覆盖范围,可以将该遗传布局模型对通行区域的覆盖范围,与基础布局模式对通行区域的覆盖范围进行比较,当遗传布局模型对通行区域的覆盖范围相比于基础布局模式对通行区域的覆盖范围无明显增大时,例如当遗传布局模式形成的覆盖范围,与基础布局模式形成的覆盖范围之间的差值,小于设定的差值阈值时,可以认为基础布局模式所布局的多个覆盖单元以满足对通行区域的覆盖范围最大化的要求,由此,终端110可以将基础布局模式中,具有相对较大的覆盖范围的基础布局模式所布局的多个覆盖单元,作为对通行区域的覆盖范围最大化的多个覆盖单元。其中,如果遗传布局模型对通行区域的覆盖范围相比于基础布局模式对通行区域的覆盖范围具有明显增大,例如其差值大于前述差值阈值时,可以将该遗传布局模型作为新的基础布局模式,并基于该新的基础布局模式产生新的遗传布局模型,重复前述步骤S802至S804,直到遗传布局模型对通行区域的覆盖范围相比于基础布局模式对通行区域的覆盖范围无明显增大,依此方式可以得到对通行区域的覆盖范围最大化的多个覆盖单元。
通过本实施例的方案,可基于遗传算法智能化地准确演化出能够使得对通行区域的覆盖范围最大化的多个覆盖单元,使得终端110在获取待生成路网的区域后,即可以使得由多个覆盖单元对通行区域的覆盖范围最大化作为优化目标,自动获取到多个覆盖单元的几何中心的位置并基于此生成路网,提高路网生成效率和规划效果。
在一个实施例中,提供一种生成路网的方法,如图9所示,图9为一个实施例中生成路网的方法的流程示意图,该方法可以包括:
步骤S901,终端110获取待生成路网的区域中供通行对象通行的通行区域;
其中,该待生成路网的区域是室内区域,在该区域当中,可以包括通行区域和非通行区域。
步骤S902,终端110按照至少两种布局模式针对区域布局多个覆盖单元;
其中,该覆盖单元可以是圆形,该覆盖单元的尺寸与通行对象的尺寸相匹配。
步骤S903,终端110根据相应布局模式下,各覆盖单元对通行区域的覆盖范围的并集,获取至少两种覆盖范围;
步骤S904,终端110将至少两种覆盖范围中,大于覆盖范围阈值的覆盖范围对应的布局模式,作为基础布局模式;
步骤S905,若基础布局模式包括至少两种,则终端110将至少两种基础布局模式下,各覆盖单元的几何中心在区域中的位置,作为至少两种基础布局模式的染色体表达;
步骤S906,基于染色体表达,终端110通过染色体交叉和/或染色体变异的方式,得到基础布局模式的遗传布局模式;
本步骤中,终端110可以仅通过染色体交叉的方式,得到基础布局模式的遗传布局模式,也可以仅通过染色体变异的方式,得到基础布局模式的遗传布局模式。另外,终端110还可以将染色体交叉和染色体变异这两个过程在计算遗传布局模式时交替进行,例如可以在进行染色体交叉的基础上再进行染色体变异得到遗传布局模式,也可以在染色体变异的基础上进行染色体交叉得到遗传布局模式。
步骤S907,当遗传布局模式形成的覆盖范围,与基础布局模式形成的覆盖范围之间的差值,小于差值阈值时,终端110将至少两种基础布局模式中,具有相对较大的覆盖范围的基础布局模式布局的多个覆盖单元,作为对通行区域的覆盖范围最大化的多个覆盖单元;
步骤S908,终端110将非通行区域的轮廓顶点以及多个覆盖单元的几何中心之间的连接线中的第二连接线,作为区域的路网。
其中,终端110可以将区域中非通行区域的轮廓顶点与多个覆盖单元的几何中心都作为路网节点,将各路网节点进行两两相连,从而得到非通行区域的轮廓顶点以及多个覆盖单元的几何中心之间的连接线,然后将该连接线中的第二连接线作为该区域的路网,其中,该第二连接线是指非通行区域的轮廓顶点以及多个覆盖单元的几何中心之间的连接线中,与区域中非通行区域不相交的连接线。
上述生成路网的方法,终端110可以基于遗传算法充分利用通行区域的空间布局多个覆盖单元,以逐渐演化出能够使得对通行区域形成的覆盖范围最大化的多个覆盖单元,从而终端110可以基于该使得覆盖范围最大化的多个覆盖单元的几何中心以及该区域中非通行区域的轮廓顶点作为路网节点,最终生成该区域的路网,提高路网覆盖度且充分考虑非通行区域节点,提高路网规划效果。
为清晰阐述本申请的技术方案,将该方案应用于针对行人的室内路径规划的场景下进行说明,如图10所示,图10为一个应用实例中生成路网的方法的流程示意图,
术语说明:
FL_Bound数据,楼层轮廓,图形几何为楼层的边缘轮廓,数据类型为面数据,主要属性有所属建筑ID、楼层名称、楼层高度等。
Cell_Function数据,面数据,不同应用场景所需采集的内容不同,商场所需采集内容主要包括商店、卫生间、电梯间、休息区等。写字楼所需采集主要内容包括办公室、会议室、工位、电梯间、扶梯等。几何图形为楼层内不同逻辑功能空间单元的轮廓,主要针对楼层内有实际业务含义的空间划分。
本应用示例中,生成路网的方法可以包括如下步骤:
步骤S1001,加载数据;
本步骤,终端或者服务器可以加载FL_Bound数据和Cell_Function数据,并建立空间索引,以使得终端或者服务器可以支持快速空间查询等操作。
步骤S1002,获取楼层外接矩形;
根据FL_Bound数据可获取建筑体每层的外接矩形范围,该外接矩形范围可以用于生成布局覆盖单元的网格点。
步骤S1003,对路网规划问题进行建模。
具体的,如图11所示,图11为一个应用实例中室内区域的示意图,该图11中,中间空旷的区域可以对应于行人步行道路区域,考虑到狭窄区域,可以设定1个固定半径(如0.5米,对应于可使得人顺利通行的宽度)的圆形作为覆盖单元,其中,可以设定圆两两之间不相交,且圆也不与商店相交,那么在该区域中布局路网的目标即为让多个圆形覆盖的面积最大化,即如图12所示,图12为一个应用实例中室内区域布局覆盖单元的示意图,基于该面积最大化的多个圆,可以将所有相邻圆的圆心进行连接,如图13所示,图13为一个应用实例中室内区域生成路网的示意图,即可得到较为合适的路网。
然后,即可将该路网规划问题进行建模:
已知楼层总面积
Figure DEST_PATH_IMAGE013
,每个商店面积
Figure 552851DEST_PATH_IMAGE014
,圆形半径为r,目标函数为:可通行区域覆盖面积最大化,约束条件为:
1. 圆与圆之间两两不相交
2. 圆与商店不相交
3. 覆盖面积不大于可通行面积(总面积-商店面积)
数学表达为:
Figure DEST_PATH_IMAGE015
其中,
Figure 795744DEST_PATH_IMAGE016
表示所有圆的并集面积,
Figure DEST_PATH_IMAGE017
表示第i个圆,
Figure 834107DEST_PATH_IMAGE018
表示第j个圆,
Figure DEST_PATH_IMAGE019
表示第i个圆所在区域,
Figure 905969DEST_PATH_IMAGE020
表示第j个圆所在区域,
Figure DEST_PATH_IMAGE021
表示第j个商店所在区域,
Figure 628068DEST_PATH_IMAGE022
表示单个圆的面积,
Figure DEST_PATH_IMAGE023
表示所有圆的面积总和。
基于上述建模,可对所有圆的位置进行最优化求解。
步骤S1004,遗传算法(Genetic Algorithm,简称GA)求解最优节点数量位置。
参考图14,图14为一个应用实例中遗传算法的流程示意图。其中,对于染色体表达与初始化:该问题的主要变量为每个圆的圆心坐标,为连续选址变量
Figure 776284DEST_PATH_IMAGE024
,表示第k条染色体中的第i个圆的圆心坐标,所以第k条染色体的表达为:
Figure DEST_PATH_IMAGE025
。如图15所示,图15为一个应用实例中室内区域布局覆盖单元的示意图,在楼层矩形区域,按行列间距3r(可以预留一定缓冲位置buffer,方便后续不可行染色体修复)均匀分布选择点,作为圆心的初始位置。
进一步的,可以对圆的布局位置进行可行性检查,其中,一个新的圆选址产生后,需要知道该圆是否可用,此处可以采用前述两个约束条件,即任何两圆不相交、圆与商店不相交。如图16所示,图16为一个应用实例中圆与圆之间的关系示意图,圆与圆的相交判定,只需要计算出两圆心直线距离大于等于2r即可。对于圆与商店的相交判定,可转换为多边形每条边与圆的相交判定,即直线与圆的相交判定,如图17所示,图17为一个应用实例中圆与直线之间的关系示意图,即只需要判断圆心与直线的垂线距离是否大于等于r即可。其中,如果判断出圆与其他圆或商店存在相交情况,则认为该圆的选址不可行,即该染色体不可行。
对于不可行染色体的修复,可行性检查如果判定圆的选址为不可行,则需要进行染色体的修复。例如,如图18所示,图18为一个应用实例中室内区域布局覆盖单元的示意图,如果圆心落在商店区域内,则用商店区域上距离该圆心最近的顶点替换原来的不可行点,若圆之间存在相交的情况,则所有圆的并集面积会变小,而对于该场景的不可行染色体可以暂不做修复,因为并集面积变小会影响其适应度,这种染色体可以基于后续的适应度函数进行筛选。
对于染色体的评价,染色体的适应度可以采用前述目标函数的目标函数函数值表示,即用所有圆的并集面积来确定染色体的适应值:
Figure 833102DEST_PATH_IMAGE026
其中,关于该染色体的适应度函数的计算,可转换为所有圆的面积总和减去所有相交区域的面积之和。对于所有圆的面积之和的计算,如图19,图19为一个应用实例中圆与圆交叠的示意图,例如两圆如果相交,则相交区域面积的计算为:
设O1,O2直线距离为D,则:
Figure DEST_PATH_IMAGE027
对于交叉过程:对于实数编码,可以采用线性凸组合交叉:
Figure 459386DEST_PATH_IMAGE028
Figure DEST_PATH_IMAGE029
后代染色体中的基因由下面等式确定:
Figure 19680DEST_PATH_IMAGE030
其中,其中
Figure 322486DEST_PATH_IMAGE007
是区间(0,1)内的独立随机数。
对于变异过程:可以采用两类变异算子在进化过程中交替进行。例如,精细变异,双亲染色体进行较小的随机改变,产生一个新的后代染色体;强烈变异,采用与初始化过程相同的方法产生后代。
步骤S1005,添加跨层节点;
其中,通过如上步骤,可以通过遗传算法生成建筑体每层单独的路网,但在实际导航应用中,需要连接建筑体各层之间的关系,因此需要将如电梯、楼梯点数据生成对应的路网节点并加入到相应各层的路网中,以此来保证跨层的导航场景。
步骤S1006,可视化网络。
如图20所示,图20为一个应用实例中室内区域的路网示意图,将所有圆心点,以及商店顶点所组成的节点,进行连线,所有不穿过障碍物的一对点所构成的线段(边)即可认为路网。
步骤S1007,路网导出。
本步骤中,终端或者服务器可以将生成的路网数据导出成文件,供应用方使用。
上述实施例提供了基于遗传算法的路网自动生成方案,首先将问题抽象为有障碍选址-分配问题,基于遗传算法进行求解,最后将最优节点可视化网络,节点与节点间的连线即可认为是路网,具体而言,该方案首先在数据作业层面,可以自动生成路网,大量节省数据作业带来的人工产能投入,另外从生成的路网效果来看,由于在圆心点的选址上采用的最优化的遗传算法,能尽量保证圆心的位置相对较为更加合理,更能代表实际路网形状,并且该算法最后充分考虑的障碍物节点(商店),使得路径规划时效果得到提升,在保证覆盖率的前提下保证路网的数量,进而保证算路时的性能。
在一个实施例中,还提供了一种导航方法,如图21所示,图21为一个实施例中导航方法的流程示意图,该方法可以应用于如图1(a)所示的终端110,该方法包括:
步骤S2101,终端110获取导航指令;该导航指令用于通行对象在区域中的至少两个导航点之间进行导航;
步骤S2102,响应于导航指令,终端110获取区域的路网;
本步骤中,该区域的路网是根据如上实施例所述的生成路网的方法得到的。
步骤S2103,当至少两个导航点中包括有位于路网外的导航点时,终端110生成用于连接位于路网外的导航点与路网的导航路线,得到辅助导航路线;
其中,当至少两个导航点当中存在有位于路网之外的导航点时,终端110可以生成该位于路网之外的导航点与路网之间的连接线,该连接线可以是用于连接位于路网外的导航点与路网的导航路线,作为辅助导航路线。具体的,设至少两个导航点包括起始点和目标点,如果起始点位于路网之外,则生成一条用于从起始点引导至路网上的起始导航路线,如果目标点也位于路网之外,则可以生成一条从路网引导至目标点的目标导航路线,该起始导航路线和目标导航路线都作为辅助导航路线。
步骤S2104,基于辅助导航路线以及路网上的主导航路线,获取用于至少两个导航点之间的导航路线;
本步骤,终端110可以在路网上生成导航路线,该在路网上生成的导航路线称为主导航路线。其中,该主导航路线可以基于路网导航点生成,路网导航点是指位于路网上,通过相应的辅助导航路线与位于路网外的导航点进行连接的点,该路网导航点的数量与前述位于路网外的导航点的数量对应。然后将辅助导航路线和主导航路线作为用于至少两个导航点之间的导航路线。
步骤S2105,显示所述导航路线。
终端110可以将获取的导航路线进行展示,以为用户提供在各导航点之间进行导航的服务。
上述导航方法,可基于在区域内具有高覆盖度的路网,充分利用其通行区域的空间生成更精确的导航路线,优化导航效果,可供用户以和实际行走情况更相符的导航路线,提高用户的导航服务体验。
应该理解的是,虽然图3至21的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3至21中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图22所示,图22为一个实施例中生成路网的装置的结构框图,提供了一种生成路网的装置2200,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:
区域获取模块2201,用于获取待生成路网的区域中供通行对象通行的通行区域;
区域覆盖模块2202,用于针对区域布局多个覆盖单元,以使得由多个覆盖单元对通行区域的覆盖范围最大化;覆盖单元的尺寸与通行对象的尺寸相适应;
路网生成模块2203,用于基于多个覆盖单元的几何中心,生成区域的路网。
在一个实施例中,区域获取模块2201,进一步用于:获取区域中划分的业务区域和基础通行区域;根据业务区域针对于通行对象的通行属性,获取业务区域中供通行对象通行的通行区域,作为附加通行区域;根据基础通行区域和附加通行区域,得到通行区域。
在其中一个实施例中,路网生成模块2203,进一步用于:基于多个覆盖单元的几何中心之间的连接线,得到区域的路网。
在一个实施例中,进一步的,区域中可以包括非通行区域;路网生成模块2203,进一步用于:将多个覆盖单元的几何中心之间的连接线中的第一连接线,作为区域的路网;其中,第一连接线为与非通行区域不相交的连接线。
在另外一个实施例中,区域中可以包括非通行区域;路网生成模块2203,还进一步用于:获取非通行区域的轮廓顶点;基于非通行区域的轮廓顶点以及多个覆盖单元的几何中心之间的连接线,得到区域的路网。
在一个实施例中,进一步的,路网生成模块2203,进一步用于:将非通行区域的轮廓顶点以及多个覆盖单元的几何中心之间的连接线中的第二连接线,作为区域的路网;其中,第二连接线为与非通行区域不相交的连接线。
在一个实施例中,区域覆盖模块2202,进一步用于:按照至少两种布局模式针对区域布局多个覆盖单元;获取至少两种布局模式各自对通行区域的覆盖范围,得到至少两种覆盖范围;根据覆盖范围大于覆盖范围阈值的布局模式布局的多个覆盖单元,获取对通行区域的覆盖范围最大化的多个覆盖单元。
在一个实施例中,区域覆盖模块2202,进一步用于:根据相应布局模式下,各覆盖单元对通行区域的覆盖范围的并集,获取至少两种覆盖范围。
在一个实施例中,区域覆盖模块2202,进一步用于:将至少两种覆盖范围中,大于覆盖范围阈值的覆盖范围对应的布局模式,作为基础布局模式;若基础布局模式包括至少两种,则将至少两种基础布局模式下,各覆盖单元的几何中心在区域中的位置,作为至少两种基础布局模式的染色体表达;基于染色体表达,通过染色体交叉和/或染色体变异的方式,得到基础布局模式的遗传布局模式;当遗传布局模式形成的覆盖范围,与基础布局模式形成的覆盖范围之间的差值,小于差值阈值时,将至少两种基础布局模式中,具有相对较大的覆盖范围的基础布局模式布局的多个覆盖单元,作为对通行区域的覆盖范围最大化的多个覆盖单元。
在一个实施例中,区域可以包括非通行区域;区域覆盖模块2202,还用于:在获取至少两种布局模式各自对通行区域的覆盖范围,得到至少两种覆盖范围之前,当至少两种布局模式对区域布局的覆盖单元的几何中心位于非通行区域时,调整覆盖单元的位置,以使调整后的覆盖单元的几何中心位于非通行区域的轮廓顶点。
关于生成路网的装置的具体限定可以参见上文中对于生成路网的方法的限定,在此不再赘述。上述生成路网的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图23所示,图23为一个实施例中导航装置的结构框图,提供了一种导航装置2300,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:
指令获取模块2301,用于获取导航指令;导航指令用于通行对象在区域中的至少两个导航点之间进行导航;
路网获取模块2302,用于响应于导航指令,获取区域的路网;区域的路网是根据如上的生成路网的方法得到的;
路线生成模块2303,用于当至少两个导航点中包括有位于路网外的导航点时,生成用于连接位于路网外的导航点与路网的导航路线,得到辅助导航路线;
路线获取模块2304,用于基于辅助导航路线以及路网上的主导航路线,获取用于至少两个导航点之间的导航路线;
路线显示模块2305,用于显示导航路线。
关于导航装置的具体限定可以参见上文中对于导航方法的限定,在此不再赘述。上述导航装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图24所示,图24为一个实施例中计算机设备的内部结构图。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种生成路网的方法、导航方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图24中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (14)

1.一种生成路网的方法,所述方法包括:
获取待生成路网的区域中供通行对象通行的通行区域;
按照至少两种布局模式针对所述待生成路网的区域布局多个覆盖单元,获取所述至少两种布局模式各自对所述通行区域的覆盖范围,得到至少两种覆盖范围,根据覆盖范围大于覆盖范围阈值的布局模式布局的多个覆盖单元,获取对所述通行区域的覆盖范围最大化的多个覆盖单元;其中,所述覆盖单元的尺寸与所述通行对象的尺寸相适应;
基于所述多个覆盖单元的几何中心,生成所述区域的路网。
2.根据权利要求1所述的方法,其特征在于,所述获取待生成路网的区域中供通行对象通行的通行区域,包括:
获取所述区域中划分的业务区域和基础通行区域;
根据所述业务区域针对于所述通行对象的通行属性,获取所述业务区域中供所述通行对象通行的通行区域,作为附加通行区域;
根据所述基础通行区域和附加通行区域,得到所述通行区域。
3.根据权利要求1所述的方法,其特征在于,所述基于所述多个覆盖单元的几何中心,生成所述区域的路网,包括:
基于所述多个覆盖单元的几何中心之间的连接线,得到所述区域的路网。
4.根据权利要求3所述的方法,其特征在于,所述区域中包括非通行区域;
所述基于所述多个覆盖单元的几何中心之间的连接线,得到所述区域的路网,包括:
将所述多个覆盖单元的几何中心之间的连接线中的第一连接线,作为所述区域的路网;
其中,所述第一连接线为与所述非通行区域不相交的连接线。
5.根据权利要求3所述的方法,其特征在于,所述区域中包括非通行区域;
所述基于所述多个覆盖单元的几何中心之间的连接线,得到所述区域的路网,包括:
获取所述非通行区域的轮廓顶点;
基于所述非通行区域的轮廓顶点以及所述多个覆盖单元的几何中心之间的连接线,得到所述区域的路网。
6.根据权利要求5所述的方法,其特征在于,所述基于所述非通行区域的轮廓顶点以及所述多个覆盖单元的几何中心之间的连接线,得到所述区域的路网,包括:
将所述非通行区域的轮廓顶点以及所述多个覆盖单元的几何中心之间的连接线中的第二连接线,作为所述区域的路网;
其中,所述第二连接线为与所述非通行区域不相交的连接线。
7.根据权利要求1所述的方法,其特征在于,所述获取所述至少两种布局模式各自对所述通行区域的覆盖范围,得到至少两种覆盖范围,包括:
根据相应布局模式下,各覆盖单元对所述通行区域的覆盖范围的并集,获取所述至少两种覆盖范围。
8.根据权利要求1所述的方法,其特征在于,所述根据覆盖范围大于覆盖范围阈值的布局模式布局的多个覆盖单元,获取对所述通行区域的覆盖范围最大化的多个覆盖单元,包括:
将所述至少两种覆盖范围中,大于所述覆盖范围阈值的覆盖范围对应的布局模式,作为基础布局模式;
若所述基础布局模式包括至少两种,则将至少两种基础布局模式下,各覆盖单元的几何中心在所述区域中的位置,作为所述至少两种基础布局模式的染色体表达;
基于所述染色体表达,通过染色体交叉和/或染色体变异的方式,得到所述基础布局模式的遗传布局模式;
当所述遗传布局模式形成的覆盖范围,与所述基础布局模式形成的覆盖范围之间的差值,小于差值阈值时,将所述至少两种基础布局模式中,具有相对较大的覆盖范围的基础布局模式布局的多个覆盖单元,作为所述对所述通行区域的覆盖范围最大化的多个覆盖单元。
9.根据权利要求1所述的方法,其特征在于,所述区域包括非通行区域;
所述获取所述至少两种布局模式各自对所述通行区域的覆盖范围,得到至少两种覆盖范围之前,还包括:
当所述至少两种布局模式对所述区域布局的覆盖单元的几何中心位于所述非通行区域时,调整所述覆盖单元的位置,以使调整后的所述覆盖单元的几何中心位于所述非通行区域的轮廓顶点。
10.一种导航方法,其特征在于,包括:
获取导航指令;所述导航指令用于通行对象在区域中的至少两个导航点之间进行导航;
响应于所述导航指令,获取所述区域的路网;所述区域的路网是根据权利要求1至9任一项所述的生成路网的方法得到的;
当所述至少两个导航点中包括有位于所述路网外的导航点时,生成用于连接所述位于所述路网外的导航点与所述路网的导航路线,得到辅助导航路线;
基于所述辅助导航路线以及所述路网上的主导航路线,获取用于所述至少两个导航点之间的导航路线;
显示所述导航路线。
11.一种生成路网的装置,其特征在于,所述装置包括:
区域获取模块,用于获取待生成路网的区域中供通行对象通行的通行区域;
区域覆盖模块,用于按照至少两种布局模式针对所述待生成路网的区域布局多个覆盖单元,获取所述至少两种布局模式各自对所述通行区域的覆盖范围,得到至少两种覆盖范围,根据覆盖范围大于覆盖范围阈值的布局模式布局的多个覆盖单元,获取对所述通行区域的覆盖范围最大化的多个覆盖单元;所述覆盖单元的尺寸与所述通行对象的尺寸相适应;
路网生成模块,用于基于所述多个覆盖单元的几何中心,生成所述区域的路网。
12.一种导航装置,其特征在于,所述装置包括:
指令获取模块,用于获取导航指令;所述导航指令用于通行对象在区域中的至少两个导航点之间进行导航;
路网获取模块,用于响应于所述导航指令,获取所述区域的路网;所述区域的路网是根据权利要求1至9任一项所述的生成路网的方法得到的;
路线生成模块,用于当所述至少两个导航点中包括有位于所述路网外的导航点时,生成用于连接所述位于所述路网外的导航点与所述路网的导航路线,得到辅助导航路线;
路线获取模块,用于基于所述辅助导航路线以及所述路网上的主导航路线,获取用于所述至少两个导航点之间的导航路线;
路线显示模块,用于显示所述导航路线。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
14.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
CN202010220823.0A 2020-03-26 2020-03-26 生成路网的方法、导航方法、装置、设备和存储介质 Active CN111121795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010220823.0A CN111121795B (zh) 2020-03-26 2020-03-26 生成路网的方法、导航方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010220823.0A CN111121795B (zh) 2020-03-26 2020-03-26 生成路网的方法、导航方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111121795A CN111121795A (zh) 2020-05-08
CN111121795B true CN111121795B (zh) 2020-07-07

Family

ID=70493829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010220823.0A Active CN111121795B (zh) 2020-03-26 2020-03-26 生成路网的方法、导航方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111121795B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812015B2 (en) * 2009-10-01 2014-08-19 Qualcomm Incorporated Mobile device locating in conjunction with localized environments
CN105335597B (zh) * 2014-07-30 2019-04-16 国际商业机器公司 用于获取路线的轨迹模式的方法和系统
CN104536445B (zh) * 2014-12-19 2018-07-03 深圳先进技术研究院 移动导航方法和系统
CN105352506B (zh) * 2015-09-30 2018-05-25 百度在线网络技术(北京)有限公司 室内的路网规划方法及装置
CN106197419B (zh) * 2016-06-23 2019-01-15 北京建筑大学 顾及障碍物和子空间剖分的室内导航方法及系统
CN108332766B (zh) * 2018-01-28 2020-09-15 武汉光庭信息技术股份有限公司 一种多源路网的动态融合规划方法及系统
CN108827309B (zh) * 2018-06-29 2021-08-17 炬大科技有限公司 一种机器人路径规划方法及具有它的吸尘器
CN109916421B (zh) * 2019-03-18 2023-02-10 北京智行者科技股份有限公司 路径规划方法及装置

Also Published As

Publication number Publication date
CN111121795A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN110472764B (zh) 基于强化学习使用半合作纳什平衡来协调多方服务的方法和系统
CN105528955B (zh) 生成道路网络的方法及其装置
Saeidian et al. Evaluation and comparison of Genetic Algorithm and Bees Algorithm for location–allocation of earthquake relief centers
Soltani et al. Path planning in construction sites: performance evaluation of the Dijkstra, A∗, and GA search algorithms
Van Toll et al. Real‐time density‐based crowd simulation
Rakha et al. Generative urban modeling: a design work flow for walkability-optimized cities
CN105043379A (zh) 一种基于时空约束的景区浏览路径规划方法、装置
CN112784002A (zh) 一种虚拟场景生成方法、装置、设备和存储介质
CN111798562B (zh) 一种虚拟建筑空间搭建与漫游方法
Ma et al. Modeling pedestrian space in complex building for efficient pedestrian traffic simulation
CN111090899A (zh) 一种用于城市建筑空间布局设计方法
Shi et al. A multi-layer collaboration framework for industrial parks with 5G vehicle-to-everything networks
CN114777793A (zh) 一种面向任意导航主体的bim地图提取及路径规划方法
JPWO2018016558A1 (ja) シミュレーション装置、シミュレーションシステム、シミュレーション方法、及びプログラム
CN111121795B (zh) 生成路网的方法、导航方法、装置、设备和存储介质
KR102530634B1 (ko) 실시간 교통상황을 디지털트윈과 메타버스로 구현하는 방법 및 시스템
Fang et al. Multi-objective emergency scheduling for geological disasters
Zhong et al. An optimal deployment scheme for extremely fast charging stations
Niyomubyeyi et al. An improved non-dominated sorting biogeography-based optimization algorithm for multi-objective land-use allocation: a case study in Kigali-Rwanda
Shirowzhan et al. Spatial big data, BIM and advanced GIS for smart transformation: city, infrastructure and construction
Song et al. A grid-based graph data model for pedestrian route analysis in a micro-spatial environment
Graser Tessellating urban space based on street intersections and barriers to movement
Megalingam et al. 2D-3D hybrid mapping for path planning in autonomous robots
Zheng et al. Simulation of crowd emergency evacuation based on the optimal algorithm of invasive weeds
ElBanhawy et al. Real-time electric mobility simulation in metropolitan areas

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