CN108027985B - 存储介质、路径生成方法和路径生成装置 - Google Patents

存储介质、路径生成方法和路径生成装置 Download PDF

Info

Publication number
CN108027985B
CN108027985B CN201680001545.1A CN201680001545A CN108027985B CN 108027985 B CN108027985 B CN 108027985B CN 201680001545 A CN201680001545 A CN 201680001545A CN 108027985 B CN108027985 B CN 108027985B
Authority
CN
China
Prior art keywords
component
path
cell
point
pass
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
CN201680001545.1A
Other languages
English (en)
Other versions
CN108027985A (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.)
Saipan Aoke Co ltd
Original Assignee
Saipan Aoke 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 Saipan Aoke Co ltd filed Critical Saipan Aoke Co ltd
Publication of CN108027985A publication Critical patent/CN108027985A/zh
Application granted granted Critical
Publication of CN108027985B publication Critical patent/CN108027985B/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/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • G06T5/30Erosion or dilatation, e.g. thinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/155Segmentation; Edge detection involving morphological operators

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Structural Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Navigation (AREA)

Abstract

本发明提供存储介质、路径生成方法和路径生成装置。基于布局图的信息,生成给用户带来不协调的感觉少的自然的移动路径。路径生成方法由计算机执行如下步骤:基于包含表示住宅的构成要素种类的信息的布局图数据,生成将平面划分成规定尺寸的格子状而形成的单元格,对各单元格设定表示构成要素种类的信息;读取设定于单元格的表示构成要素种类的信息,基于与构成要素种类相关联并预先确定的在该构成要素上能否通过,确定能够通过的区域的外边缘,生成将该能够通过的区域细线化的通路数据;基于通路数据生成包括表示通路的端点或交点的节点以及连接该节点之间的边的坐标图;以及路径搜索步骤,基于来自用户的输入而设定起点和终点,利用坐标图搜索从起点到终点的通道。

Description

存储介质、路径生成方法和路径生成装置
技术领域
本发明涉及路径生成程序、路径生成方法和路径生成装置。
背景技术
以往存在一种如下的技术:例如制作建筑物的三维模型,并且能够在该三维模型内移动(通行)。用户例如能够利用鼠标操作而使照相机(视点)移动。能够在计算机上模拟建筑物内的移动,例如有效用于在设计阶段等确认建筑物的设计是否合理。
此外,还提出了一种在表示构成布局图的区域的连接关系的区域连接信息中设定动线的技术(例如专利文献1)。通过以参照与区域连接的大门(出入口)并进一步参照与该大门连接的区域的方式,交替探索区域和大门的连接关系,搜索从当前位置到目的地位置为止通过的区域和大门。并且,从当前位置到目的地位置为止以直线依次连接大门的中心,由此设定动线。
此外,还提出了一种如下的技术:以连接相对于二维图像设定的通道节点的方式求出样条曲线,使通行的视点沿着求出的曲线移动(例如专利文献2)。
专利文献1:日本专利公开公报特开2006-48278号
专利文献2:日本专利公开公报特开平10-228231号
以往,通行功能存在如下问题:用户对操作不熟练时,不能像所希望的那样进行三维模型内的移动。此外,生成三维模型内的移动路径时,如果与墙壁等原本不能通过的物体冲突,则必定感到不协调,虽然在一边具有较大的空间但还是通过另一边的墙壁等的附近时,也会给用户带来不协调的感觉。
发明内容
本发明是鉴于上述问题而完成的,其目的在于根据布局图的信息,生成给用户带来不协调的感觉少的自然的移动路径。
本发明的路径生成方法由计算机执行如下步骤:单元格分割步骤,基于包含表示住宅的构成要素的种类的信息的布局图数据,生成将平面划分成规定尺寸的格子状而形成的单元格,对各单元格设定表示构成要素的种类的信息;细线化步骤,读取设定于单元格的表示构成要素的种类的信息,基于与构成要素的种类相关联并预先确定的在该构成要素上能否通过,确定能够通过的区域的外边缘,生成将该能够通过的区域细线化的通路数据;坐标图生成步骤,基于在细线化步骤中生成的通路数据,生成坐标图,该坐标图包含表示通路的端点或交点的节点、以及连接该节点之间的边;以及路径搜索步骤,基于来自用户的输入而设定起点和终点,并利用在坐标图生成步骤中生成的坐标图,搜索从起点到终点的通道。
如果在布局图中生成将能够通过的区域细线化的通路数据,则例如能够生成与墙壁等那样的周围的物体保持适当的距离的通路数据。即,基于布局图的信息,可以生成给用户带来不协调的感觉少的自然的路径。
此外优选的是,进一步由计算机执行如下步骤:平滑化步骤,基于在路径搜索步骤中得到的通道,将该通道变换为曲线而生成移动路径;冲突判断步骤,针对在平滑化步骤中生成的移动路径,读取对该移动路径通过的单元格设定的表示构成要素的种类的信息,基于与该构成要素的种类相关联并预先确定的在该构成要素上能否通过,判断移动路径是否与不能通过的构成要素冲突;以及曲线修正步骤,在冲突判断步骤中判断为移动路径与不能通过的构成要素冲突时,改变移动路径上的点的曲率。由此,可以生成将通路数据变换为平滑的曲线的移动路径。此外,由于利用基于布局图数据生成的单元格来对移动路径进行修正,所以成为更自然的移动路径。
此外优选的是,布局图数据包括种类是门或楼梯的构成要素,在平滑化步骤中,将存在于与构成要素的种类是门或楼梯的单元格对应的位置的节点至少作为顶点,生成近似通道的折线,并且基于该折线的顶点生成移动路径。由此,可以使布局图中的房间等的边界亦即门或楼梯的通过点固定,将用于在室内的空间移动的通道变换为近似的折线。由此,可以使移动的点固定,并且生成简单化的平滑的移动路径。
此外优选的是,在路径搜索步骤中,基于来自用户的输入进一步设定经由点,从得到的起点到终点的第一通道都未通过经由点时,进一步搜索从经由点到第一通道所含的节点的第二通道,并且连接第一通道和第二通道,生成从起点到终点的通道。由此,能够生成经由包含不能通行的房间的各种地点的移动路径。
此外优选的是,进一步使计算机执行显示步骤,该显示步骤描绘布局图数据所示的建筑物的三维模型,在该三维模型中使视点沿着移动路径移动,并且使视线的前方朝向规定距离前方的移动路径上。由此,可以表现出自然的通行。
此外优选的是,在路径搜索步骤中,在规定的距离以下存在循环的节点列时,将该节点列置换为一个虚拟节点并进行路径搜索。由此,可以抑制搜索实质上没有差异的多个通道。
此外优选的是,布局图数据包含构成要素为在构成要素上不能通过的家具的数据。由此,例如能够以避开想象生活场景而配置的家具的方式生成通道或移动路径。
另外,可以在不脱离本发明的课题和技术构思的范围内,尽可能地对发明内容部分记载的内容进行组合。此外,发明内容可以作为由包含计算机等装置或多个装置的系统、计算机执行的方法而提供,或者作为由计算机执行的程序而提供。另外,也可以提供保存程序的存储介质。
基于布局图,能够生成更自然的移动路径。
附图说明
图1是表示路径生成装置的一例的功能框图。
图2是表示计算机的一例的装置构成图。
图3是表示路径生成处理的一例的处理流程图。
图4是表示布局图的显示例的图。
图5是表示布局图数据的一例的表。
图6是用于说明分割成单元格的布局图的图。
图7是表示保存于单元格的属性信息的一例的图。
图8是表示细线化处理的一例的处理流程图。
图9是用于说明单元格的权重的图。
图10是用于说明处理对象的单元格及其周围的附近八个单元格的图。
图11是用于说明抽出距能够通过的区域的外边缘的距离远的单元格的图。
图12是用于说明细线化的具体示例的图。
图13是表示细线化后的通路的一例的图。
图14是表示除去噪声后的通路的候补的一例的图。
图15是表示坐标图生成处理的一例的处理流程图。
图16是表示显示节点的通路的一例的图。
图17是表示保存于存储部的节点的数据结构的一例的表。
图18是表示保存于存储部的边的数据结构的一例的表。
图19是表示路径搜索处理的一例的处理流程图。
图20是表示用于说明路径搜索的示意性坐标图的一例的图。
图21是表示节点的数据的具体示例的表。
图22是表示边的数据的具体示例的表。
图23是表示通道的数据的具体示例的表。
图24是表示显示在布局图上的路径的一例的图。
图25是表示平滑化处理的一例的处理流程图。
图26是用于说明由折线近似通道的图。
图27是表示与显示在布局图上的路径近似的折线的一例的图。
图28是用于说明贝塞尔曲线的生成的图。
图29是表示显示在布局图上的曲线路径的一例的图。
图30是表示曲线的路径与不能通过的单元格冲突的例子的图。
图31是用于说明贝塞尔曲线上的点的曲率变更的图。
图32是表示显示在布局图上的曲线路径的修正例的图。
图33是用于说明厄米特曲线的生成的图。
图34是用于说明厄米特曲线上的点的曲率变更的图。
图35是用于说明除去噪声的变形例的图。
图36是用于说明在狭小范围内存在多个节点时的处理的图。
图37A是表示跨越楼层的路径的一层部分的例子的图。
图37B是表示跨越楼层的路径的二层部分的例子的图。
图38是用于说明通过经由地点的路径搜索的图。
图39A是表示从经由地点的房间进行搜索而找到的路径的例子的图。
图39B是表示从经由地点的房间进行搜索而找到的其他路径的例子的图。
图40是表示通过经由地点的路径的一例的图。
图41是表示实施方式的路径的一例的图。
图42是用于说明使曲线平滑的变形例的图。
附图标记说明
1 路径生成装置
101 存储部
102 布局图读取部
103 单元格分割部
104 细线化部
105 坐标图生成部
106 路径搜索部
107 平滑化部
108 通行显示部
具体实施方式
下面参照附图,对本发明的实施方式进行说明。另外,实施方式的构成是例示,本发明并不限定于实施方式所示的构成。
<功能构成>
图1是表示实施方式的路径生成装置1的一例的功能框图。本实施方式的路径生成装置1具有:存储部101、布局图读取部102、单元格分割部103、细线化部104、坐标图生成部105、路径搜索部106、平滑化部107和通行显示部108。存储部101存储由规定的软件制作的布局图数据和移动路径等的数据,该移动路径等的数据利用本实施方式的处理在最终或中途生成。布局图读取部102读取由规定的软件预先制作的布局图数据。另外,本实施方式的布局图数据是将不能通过的构成要素和能够通过的构成要素配置在平面上的电子数据,上述不能通过的构成要素是墙壁、窗户和厨房等住宅设施以及家具等障碍物,上述能够通过的构成要素是室内的空间、走廊、门、楼梯和庭院等。单元格分割部103基于读取的布局图数据,生成保存有规定的属性信息的格子状的单元格。细线化部104例如利用希尔迪奇(Hilditch)算法等并基于距能够通过的区域的轮廓的距离,生成将能够通过的区域细线化的通路数据。坐标图生成部105将通路数据变换为坐标图(graph),该坐标图由作为端点、分路点的节点(顶点)和连接节点之间的边(分支)表示。路径搜索部106利用例如从用户接受指定的起点、终点和转接点的坐标数据,搜索由连接两个顶点的边列或节点列表示的通道(道路)。平滑化部107使通道平滑化并生成移动路径。此外,通行显示部108使显示器等显示沿着在三维模型内生成的移动路径移动的情况。
<装置构成>
另外,路径生成装置1是图2所示的计算机。图2是表示计算机的一例的装置构成图。例如计算机1000包括:CPU(Central Processing Unit中央处理器)1001、主存储装置1002、辅助存储装置1003、通信IF(接口)1004、输入输出IF(接口)1005、驱动装置1006和通信总线1007。CPU1001通过执行程序来进行本实施方式中说明的处理。主存储装置1002对CPU1001读取的程序、数据进行缓存或展开到CPU的作业区域。具体地说,主存储装置是RAM(Random Access Memory随机存取存储器)和ROM(Read Only Memory只读存储器)等。辅助存储装置1003存储由CPU1001执行的程序和本实施方式中使用的设定信息等。具体地说,辅助存储装置1003是HDD(Hard-disk Drive硬盘驱动器)、SSD(Solid State Drive固态硬盘)和闪存器等。主存储装置1002和辅助存储装置1003作为图1所示的存储部101进行动作。通信IF1004与其他计算机装置之间收发数据。具体地说,通信IF1004是有线或无线的网卡等。输入输出IF1005与输入输出装置连接,接受用户的输入或向用户输出信息。具体地说,输入输出装置是照相机等图像输入装置、键盘、鼠标、显示器和GPS接收机等的传感器等,或者是触摸面板等。驱动装置1006读取存储于软盘和光盘等存储介质的数据,或将数据写入存储介质。由通信总线1007连接上述的构成要素。另外,上述构成要素可以设置多个,也可以不设置一部分的构成要素(例如驱动装置1006)。此外,输入输出装置可以与计算机一体构成。并且,可以借助能够由驱动装置读取的可移动性存储介质、USB存储器那样的辅助存储装置和网络IF等,来提供在本实施方式中执行的程序。并且,通过由CPU1001执行程序,使上述的计算机作为路径生成装置1进行动作。在本实施方式中说明了一个计算机独立进行处理,但是也可以由借助互联网或内部网等网络连接的其他计算机,提供一部分或全部的功能,并向用户的终端发送处理结果。
<路径生成处理>
图3是表示路径生成处理的一例的处理流程图。路径生成装置1的布局图读取部102根据用户的操作,读取存储于存储部101的布局图数据(图3:S1)。
图4是表示在平面上排列有住宅的构成要素的布局图的显示例的图。此外,图5是表示存储于存储部的布局图数据的一例的表。布局图数据包括:表示墙壁、窗户和门那样的区域的边界的构成要素;表示房间、走廊、楼梯和庭院那样的区域的构成要素;以及表示住宅设施和家具的构成要素。此外,各构成要素还包括:表示位置、尺寸、构成要素所示的要素的属性(构成要素所示的要素的种类);以及用于唯一地确定构成要素的识别信息等信息。
图4的布局图是以平面方式表现住宅的设计数据的图。布局图数据与图5所示的尺寸的属性相关联,不仅保存宽度和纵深的信息,而且保存高度的信息。并且,还用于生成布局图的三维模型。另外,构成要素分为在三维模型内不能通过的构成要素和能够通过的构成要素,上述不能通过的构成要素是墙壁、窗户、厨房等住宅设施和家具等障碍物,上述能够通过的构成要素是室内的空间、走廊、门、楼梯和庭院等。能否通过根据构成要素所示的要素的种类而决定,但是也可以如图5所示,布局图数据存储有表示能否在该构成要素上通过的信息。
在S1之后,路径生成装置1的单元格分割部103在将平面分割为规定尺寸的格子状而生成的多个单元格中,存储图4所示的布局图的构成要素的属性信息(图3:S2)。本实施方式的单元格是指例如纵横地以规定间隔分割平面而形成的各区域。另外,可以根据表示于布局图的对象空间的尺寸来确定单元格的一边的尺寸。本实施方式中,由于在以后的处理中搜索人能够通过的空间时,只要能够抽出40~50cm程度的幅度的移动路径即可,所以例如分割为10cm见方的单元格。
图6是表示将图4所示的布局图的一部分分割为10cm×10cm的单元格的状态的图像的一例。此外,图7是表示分割成单元格后的布局图的、保存于各单元格的属性信息的一例的图。在本实施方式中,保存有表示构成要素的种类的信息作为属性信息。另外,本实施方式的单元格的属性信息例如使各单元格与栅格数据的一个像素相关联,保存为表示各像素的颜色成分的24位的彩色值(RGB(红,绿,蓝)成分)。此外,与布局图的构成要素的种类对应的值由数值表示,以一个像素为10cm×10cm的比例尺将布局图的构成要素描绘为栅格数据时,可以通过将该值例如分配为R成分来进行将该值保存于单元格的处理。
在图7的例子中,向布局图的墙壁分配“0”,向家具等障碍物分配“2”,向门等开口开闭装置分配“5”,向墙壁的开口部分配“6”,向楼梯分配“7”,向房间的内部分配“8”,向家的外部空间分配“9”。另外,预先确定0和2表示人不能通行的部分,并且5、6、7、8和9表示人能够通行的部分。
此外,在本实施方式中,利用各像素的GB成分,保存构成要素的识别编号,上述构成要素的识别编号用于针对人能够通过的部分识别同一房间和开口开闭装置。构成要素的识别编号基于图5所示的识别信息,例如赋予连续编号等。此外,如果例如B成分的值为256,则第2位的G成分进一位,用GB成分整体表示一个识别信息。即,G成分的值是识别编号除以除数“256”时的商,B成分的值是识别信息除以256时的余数。因此,例如表示识别编号为2548(=256×9(G)+244(B))的房间的单元格的RGB的各成分以(8,9,244)的颜色表示。另外,在本实施方式中,将分割为单元格并将属性信息保存为彩色值的图像称为路径搜索用图像。
在S2之后,路径生成装置1的细线化部104进行细线化处理(S3)。细线化部104使能够通过的区域细线化,该能够通过的区域是能够通过的单元格的集合。图8是表示细线化处理的一例的处理流程图。首先,细线化部104基于图7所示的R成分,将各单元格分为能够通过的单元格和不能通过的单元格(图8:S11)。具体地说,由于图7所示的R成分为2以下的单元格是不能通过的单元格,所以例如准备具有与路径搜索用图像对应的单元格的地图,并将该地图的不能通过的单元格全部变换为“0”。此外,由于图7所示的R成分为5以上的单元格是能够通过的单元格,所以例如全部变换为初始值“-1”。
接着,细线化部104与距不能通过的部分(即能够通过的区域的外边缘)的距离对应,对单元格加权(S12)。另外,将表示距不能通过的单元格的距离的基准值称为最大权值(MaxWeight),将初始值设为“0”。在本步骤中,对在S11中设定了0和-1的地图进行扫描,将值为-1的单元格(能够通过的单元格)中的上下左右(也称为附近四个)的单元格的与最大权值相同的值更新为最大权值+1。对全部单元格进行扫描后,对最大权值+1(增量),直到不存在值为-1的单元格为止,将-1的单元格作为对象来反复进行扫描。
图9表示利用S12的处理而更新的单元格的值的具体示例。首先,如第一层(1)所示,基于图7所示的R成分的值,设定表示不能通过的单元格的0或表示能够通过的单元格的-1。此外,像第二层(2)中涂有阴影的单元格所示那样,将-1的单元格中与最大权值“0”的单元格相邻的单元格的值变换为作为最大权值+1的“1”。并且,将最大权值的值更新为最大权值+1,像第三层(3)中涂有阴影的单元格所示那样,将-1的单元格中与最大权值“1”的单元格相邻的单元格的值变换为作为最大权值+1的“2”。此后,将最大权值的值更新为最大权值+1,并且像第四层(4)中涂有阴影的单元格所示那样,将-1的单元格中与最大权值“2”的单元格相邻的单元格的值变换为作为最大权值+1的“3”。反复进行以上的处理,基于距能够通过的区域的外边缘的距离,对能够通过的区域内的单元格加权。
接着,细线化部104抽出与周围的单元格相比距能够通过的区域的外边缘的距离远的单元格(S13)。在本步骤中,在与S12不同的地图(称为抽出地图)中记录处理结果,该地图在不能通过的单元格中保存0、在能够通过的单元格中保存-1作为初始值。首先,利用在S12中加权后的地图上的周围八个单元格(附近八处)的值,针对在抽出地图上的值为-1的各单元格求出规定的值。
图10是用于说明处理对象的单元格及其周围的附近八个单元格的图。图10如3×3的九个单元格所示,左列从上到下赋予A、B、C的符号,中央列从上到下赋予D、E、F的符号,右列从上到下赋予G、H、I的符号。如果中央的单元格E是处理对象的单元格,则在本步骤中,利用在S12中加权后的地图上的值,求出以下的sum1~sum4的值。
sum1=(D-A)+(D-G)+(E-B)+(E-H)+(F-C)+(F-I)
sum2=(B-A)+(B-C)+(E-D)+(E-F)+(H-G)+(H-I)
sum3=(E-A)+(E-B)+(E-D)+(E-F)+(E-H)+(E-I)
sum4=(E-B)+(E-C)+(E-F)+(E-D)+(E-G)+(E-H)
此后,在本步骤中,如果sum1~sum4的最大值大于0,则将最大值保存于抽出地图上的处理对象的单元格E。另一方面,如果sum1~sum4的最大值在0以下,则将0保存于抽出地图上的单元格E。可以利用上述的处理,在周围的单元格中保留在S12中设定的权重的值大的单元格,并且使周围的单元格的值为0。图11表示对图4所示的布局图整体实施了S13的处理的图的示意性例子。在图11中,权重的值比周围的单元格大的单元格成为白色并被抽出。
此外,细线化部104基于规定的规则,将抽出的单元格形成的线的宽度细线化为一个像素(S14)。另外,在细线化的处理中可以利用希尔迪奇算法等已知的各种方法。例如,在本步骤中,利用S13的处理后的抽出地图,对各单元格进行扫描。首先,对处理对象的单元格的附近八个单元格中的保存有大于0的值的单元格进行计数。即,如果图10所示的单元格中的E是处理对象,则对A~D和F~I中的值大于0的单元格的数量进行合计。
此外,对以下的模式(1)~(12)中适合的模式的数量进行计数,并与处理对象的单元格相关联来保存合计值。由处理对象的单元格的附近八个单元格中的相邻的三个单元格的值表示模式(1)~(12)。另外,利用图10所示的九个单元格的符号,对以下的模式(1)~(12)进行说明。
(1)D=1以上的值,G=0,H=1以上的值,A~C、F和I的值任意
(2)D=1以上的值,G=1以上的值,H=0,A~C、F和I的值任意
(3)D=1以上的值,G=0,H=0,A~C、F和I的值任意
(4)F=1以上的值,H=1以上的值,I=0,A~D和G的值任意
(5)F=0,H=1以上的值,I=1以上的值,A~D和G的值任意
(6)F=0,H=1以上的值,I=0,A~D和G的值任意
(7)B=1以上的值,C=0,F=1以上的值,A、D和G~I的值任意
(8)B=0,C=1以上的值,F=1以上的值,A、D和G~I的值任意
(9)B=0,C=0,F=1以上的值,A、D和G~I的值任意
(10)A=0,B=1以上的值,D=1以上的值,C、F~I的值任意
(11)A=1以上的值,B=1以上的值,D=0,C、F~I的值任意
(12)A=0,B=1以上的值,D=0,C、F~I的值任意
并且,S14的最初求出的合计值在3以上、且适合于上述模式(1)~(12)的数量为1时,使处理对象的单元格的值为0。通过对在S13中抽出的各单元格进行以上的处理,抽出地图上的能够通过的区域的宽度成为一个像素。在本实施方式中,将宽度成为一个像素的区域用作布局图中的用户通路的候补。图12是利用S14的处理使图11所示的白色区域细线化前后的例子的局部放大图。另外,S14的处理后的抽出地图中的单元格所保存的值是1时表示通路的候补的端点,是2时表示通路的候补的中途的点,是3或4时表示向三个方向或四个方向分路的点。此外,图13是表示在S14的处理中使图11所示的抽出区域细线化的例子的图。将S14的处理后的抽出地图称为细线化地图。细线化地图在通路的候补所含的各单元格内保存有图12所示的值。
此后,细线化部104进行从细线化地图的通路的候补除去噪声的处理(S15)。如图13所示,在直到S14为止的处理中,像胡须那样的多个短线表示为通路的候补。在本步骤中,删除上述短的不能通行的通路候补。
具体地说,首先抽出细线化地图所含的值为1的单元格并全部将值置换为0。接着,抽出细线化地图所含的值为2的单元格,如果在上述单元格的附近八处具有1以上的值的单元格是一个,则将上述单元格的值改变为1(作为新的端点)。此外,在细线化地图中的值为2的单元格的附近八处,存在两个以上的具有0以外的值的单元格的情况下,附近八处具有0以外的值的单元格之间不相邻时,该单元格的值保持为2。此外,在细线化地图中的值为2的单元格的附近八处,存在两个以上的具有0以外的值的单元格的情况下,附近八处具有0以外的值的单元格之间全部相邻时,将该单元格的值置换为0。并且,对全部的值为2的单元格进行处理后,返回上述的将值为1的单元格全部置换为0的处理,直到不存在值为1的单元格为止反复进行处理。
此外,由于存在Y形或十字形的孤立区域时保留一个像素的单元格,所以最后附近八处全部抽出0的单元格,并且将值置换为0。
利用以上的处理,生成图14所示的通路。另外,将表示利用细线化处理而生成的通路的图14的图像称为路径候补地图。此后,返回图3的处理。
接着,路径生成装置1的坐标图生成部105进行坐标图生成处理(图3:S4)。图15是表示坐标图生成处理的一例的处理流程图。首先,坐标图生成部105基于在细线化处理中生成的路径候补地图,抽出节点(图15:S21)。在本步骤中,依次读取图14所示的路径候补地图和图7中表示了一部分的与属性信息对应的像素,将与开口开闭装置(门)、开口部、楼梯重合的单元格以及值为3或4的单元格(分路为三个或四个的单元格)抽出为节点(顶点)。图16表示了由圆来显示S21中抽出的节点的例子。另外,节点的位置例如可以表示为与单元格的中心相当的布局图上的坐标。
并且,坐标图生成部105进行边的搜索(S22)。在本步骤中,例如将坐标图中的一个节点作为起点,朝向相邻的单元格中的路径候补地图的值为2的单元格的方向开始搜索。此外,在搜索目的地找到其他节点时,利用节点和通道的识别信息来存储相互的连接关系。另外,可以表示为边和布局图中的坐标列。此外,例如可以在搜索完成的单元格中设定标志,防止从相反方向进行搜索。
图17是表示保存于存储部的节点的数据结构的一例的表。节点的数据具有:索引编号、坐标值(X,Y)、属性种类(房间的内部、开口开闭装置、开口部或楼梯)、节点所属的构成要素的识别编号、连接的边的数量、以及连接的边的索引编号的各值。另外,基于上述路径搜索用图像的R成分来确定属性种类的值。此外,基于上述路径搜索用图像的GB成分来确定节点所属的构成要素的识别编号。图18是保存于存储部的边的数据结构的一例的表。边的数据具有:索引编号、两端的节点的索引编号、边所属的构成要素的识别编号、节点之间的顶点数、以及节点之间的顶点(坐标)列表的各值。另外,基于路径搜索用图像的GB成分来决定边所属的构成要素的识别编号。对由搜索得到的全部节点和边存储图17和图18所示的数据,并且结束坐标图生成处理。
此后,路径生成处理装置1的路径搜索部106进行路径搜索处理(图3:S5)。图19是表示路径搜索处理的一例的处理流程图。路径搜索部106例如从用户接受移动的出发地点和到达地点的输入,并且将与输入的各点相同的室内的边上的附近点作为起点和终点(图19:S31)。另外,附近点可以是作为边的端点的节点。此外,可以基于在S2中保存为GB成分的构成要素的识别编号,判断是否是同一室内。附近点的搜索可以利用例如图18所示的边的数据所含的节点之间的顶点列表,以线性方式进行最近邻搜索,也可以采用已知的近似最近邻搜索方法。
此外,路径搜索部106搜索通道,该通道是从起点到终点连接边而形成的路径(S32)。在本步骤中,例如以线性方式搜索路径。图20是表示用于说明路径搜索的示意性坐标图的一例的图。图20的坐标图包含节点N1~节点N14。此外,由边a~边p连接节点N1~节点N14。具体地说,a连接N1和N2,b连接N1和N3,c连接N2和N5,d连接N3和N4,e连接N4和N5,f连接N3和N6,g连接N4和N7,h连接N6和N7,i连接N7和N8,j连接N6和N9,k连接N7和N10,l连接N8和N11,m连接N9和N12,n连接N10和N13,o连接N11和N14,p连接N12和N13。此外,用户将图20所示的边a附近的星形标记的位置指定为出发地点,并且将边o附近的三角形标记的位置指定为到达地点。
图21是表示图20所含的节点的数据的具体示例的表。图21的例子中,节点的索引针对从N1到N14的节点保存有:坐标(X,Y)、表示该节点所示的布局图内的构成要素的属性种类、该节点所示的构成要素的识别信息、与该节点连接的边的数量、以及与该节点连接的边的列表。
图22是表示图20所含的边的数据的具体示例的表。图22的例子中,边的索引针对a~p的边保存有:两端的节点的索引、表示该边所示的布局图内的构成要素的属性种类、该边经由的顶点的数量、以及该边经由的顶点的列表。
在图19的S31中,将存在于与星形标记所示的出发地点具有相同识别信息的构成要素、且位于最近的通道a上的点确定为起点。此外,将存在于与三角形标记所示的到达地点具有相同识别信息的构成要素、且位于最近的通道o上的点确定为终点。
在图19的S32中,例如进行深度优先搜索。此外,作为相同的节点仅通过一次的情况,在返回已经通过的节点或到达不是终点的端点的节点时,结束该通道的搜索,从最近的分路点搜索未搜索的分支。此外,在到达终点时,将找到的通道所含的边的列表存储于存储部101,存在未搜索的分支时从该地点继续搜索其他通道。
图23是表示存储于存储部101的通道的数据的具体示例的表。图23的表包括:通道的识别信息、经由的边的数量、以及经由的边的列表。另外,各边将从索引的数字小的节点朝向索引的数字大的节点的方向称为顺方向,将与其相反的方向称为逆方向。在经由的边的列表中,针对各边将移动的方向登录为表示顺方向的“顺”或表示逆方向的“逆”。从图23中可以看出,从起点开始朝向顺方向和逆方向这样的双方向进行搜索。
利用以上的处理,抽出从起点到达终点的全部通道,并且返回图3的处理。另外,在S32中,生成从用户在S31中输入的出发地点到作为其附近点的起点的边、以及从终点到用户输入的到达地点的边,并且可以在通道的前后进行追加。利用路径搜索处理,抽出例如图24中由粗线所示的、连接坐标列而表示的路径。另外,在图24中,由点的集合表示图14所示的通路的候补。此外,在本步骤中抽出多个路径。
接着,路径生成装置1的平滑化部107进行平滑化处理(图3:S6)。图25是表示平滑化处理的一例的处理流程图。另外,平滑化部107可以对由路径搜索处理抽出的全部通道进行平滑化处理,也可以对从起点到终点的距离短的通道或用户选择的通道进行平滑化处理。
平滑化部107首先将通道的一部分置换为直线(图25:S41)。在本步骤中,将通道(边)所含的顶点列区分为起点、终点、开口开闭装置(门)、开口部和楼梯,并且用直线连接各区间。另外,区分为开口开闭装置(门)和楼梯是因为此后进行通行显示时,在门的开闭或楼梯的升降中进行改变视线方向的特别处理。图24所示的通道从圆形标记所示的起点a经由三角形标记所示的门1、门2到星形标记所示的终点b区分为四个部分。例如,如果将门2和终点b之间的边所含的顶点列置换为直线,则成为图26的第一层(1)。在图26的例子中,由虚线表示置换的直线。
此外,平滑化部107判断原本的通道和置换的直线的乖离率是否超过规定的阈值(S42)。另外,作为规定的乖离率预先设定阈值L,该阈值L表示从置换后的直线到原本的通道上最远的点的距离的容许范围。例如阈值L为10cm。在本步骤中,从构成原本的通道的边所含的各顶点列朝向置换后的直线引垂线,求出其距离l的最大值lmax。并且,如果lmax在规定的阈值L以上(S42:是),则返回S41的处理,如图26的第二层(2)中虚线所示,以l为最大的顶点进一步对原本的通道进行分割,并且置换为两个直线。并且,在S42中,针对各直线判断原本的通道和置换后的直线的乖离率是否超过了规定的阈值。此外,在超过了规定的阈值时,如图26的第三层(3)所示,进一步对直线进行分割。另一方面,置换后的直线和原本的通道的乖离率在规定的阈值以内时(S42:否),针对分割的其他直线判断是否具有未处理的直线(S43),具有未处理的直线时(S43:是),反复进行S41和S42的处理。由此,如图26的第四层(4)中虚线所示,得到近似于原本的通道的折线。例如,图24所示的路径变换为图27所示的大体折线。另外,可以利用阈值L的大小来改变近似的精度。
对分割后的全部直线进行了处理时(S43:否),平滑化部107将近似于原本的通道的折线变换为曲线(S44)。在本步骤中,将上述处理中生成的折线变换为贝塞尔(Bezier)曲线和厄米特(Hermitian)曲线等曲线。
图28是用于说明通过2点p、q的贝塞尔曲线的生成的图。在此,三次贝塞尔曲线具有四个控制点并通过两端的控制点。在本实施方式中,在折线的顶点间追加两个控制点。另外,2点p、q是折线所含的顶点列o、p、q、r的一部分。
首先,如图28的第一层(1)所示,分别利用标准化的单位向量,对从点o朝向点p的向量op以及从点p朝向点q的向量pq求出它们的合成向量v。同样,根据使向量rq、向量qp标准化的单位向量求出合成向量w。并且,将向量v、向量w作为点p-点q间的曲线上的点p和点q的切线方向。
接着,求出点p-点q间的长度l。并且,在从点p、点q分别沿向量v、向量w方向使长度l为f倍(0.0<f<0.5)的位置上生成新的控制点m、控制点n。图28的第二层(2)中表示了控制点m、控制点n的一例。此外,利用以下的算式求出控制点m、控制点n。如后所述,通过改变f的值的大小,可以改变点p、点q的曲率,进而改变曲线的形状。
[算式1]
Figure GDA0003118843860000171
[算式2]
Figure GDA0003118843860000172
此外,在点pm间、点mn间、点nq间分别生成以ratio(比率):(1.0-ratio)内分的点s、点t、点u。图28的第三层(3)表示点s、点t、点u的一例。此外,利用以下的算式求出点s、点t、点u。
点s=p+(m-p)×ratio
点t=m+(n-m)×ratio
点u=n+(q-n)×ratio
此外,在点st间、点tu间分别生成以ratio:(1.0-ratio)内分的点v、点w。图28的第四层(4)表示点v、点w的一例。此外,利用以下的算式求出点v、点w。
点v=s+(t-s)×ratio
点w=t+(u-w)×ratio
并且,在点vw间生成以ratio:(1.0-ratio)内分的点x。图28的第五层(5)表示点x的一例。此外,利用以下的算式求出点x。
点x=v+(w-v)×ratio
在此,使ratio从0.0到1.0连续变化时形成的点x的轨迹为图28的第六层(6)。由此,将布局图上的路径变换为平滑变化的曲线。例如图27所示的折线的路径变换为图29所示的曲线。通过使移动路径在平面上成为曲线,路径生成装置1生成的路径在进行通行显示时可以表现出自然的移动。
此后,平滑化部107判断生成的曲线的路径是否与路径搜索用图像的不能通过的单元格冲突(图25:S45)。在本步骤中,例如针对由曲线表示的移动候补的路径,例如以10cm间隔等规定的间隔求出曲线上的坐标。并且,求出的坐标包含于路径搜索用图像的不能通过的单元格时,判断曲线的路径与不能通过的单元格冲突。在图29的例子中,判断为不冲突(S45:否),并且返回图3的处理。
另一方面,生成的曲线的路径通过不能通过的单元格时(S45:是),平滑化部107对生成的曲线的曲率进行调整(S46)。图30是表示曲线的路径与不能通过的单元格冲突的例子的图。图30表示通过住宅的外周并在大门和厨房之间移动的路径的一例。此外,在图30的例子中,如虚线的椭圆所示,判断隔开住宅前方的自行车停车场、住宅侧方的停车场的栅栏和住宅后侧的墙壁与曲线的路径冲突。在此,在S45中判断为冲突时,如果利用生成的曲线的路径来进行通行显示,则穿过原本不能通过的某种构成要素而移动。由此,在本实施方式中,以曲线的路径避开不能通过的单元格的方式改变路径上的点的曲率。在本步骤中,例如在用于计算控制点m和控制点n的算式中追加参数,对生成的曲线进行修正。
具体地说,在贝塞尔曲线的情况下,在上述控制点m、控制点n的算式中使f的值变小。由此,点pq间的曲线的鼓起变小而成为接近直线的形状。例如,如下所述,在控制点m、控制点n的算式中,f乘以规定的系数adj(0.0≤adj≤1.0)。
[算式3]
Figure GDA0003118843860000191
[算式4]
Figure GDA0003118843860000192
图31是用于说明计算控制点时乘以系数adj的情况下最终生成的曲线的图。图31的第一层(1)表示利用上述的控制点m和控制点n的算式生成的曲线。此外,图31的第二层(2)表示f乘以系数adj的情况下生成的曲线。Adj是在0以上且1.0以下的值,在图31的例子中是0.75。由此,从点p到控制点m的距离以及从点q到控制点n的距离为系数adj倍,控制点m和控制点n的位置分别接近点p和点q。伴随于此,点s~点x的位置接近线段pq,所以作为点x的轨迹描绘的曲线接近直线。
在S46之后,返回S45,反复进行处理。具体地说,在S45中判断改变曲率后的曲线是否与不能通过的单元格冲突。判断为改变曲率后的曲线也与不能通过的单元格冲突时(S45:是),平滑化部107在S46中进一步对曲线的曲率进行调整。例如,可以在控制点m和控制点n的算式中乘以两次上述系数adj,从而可以使系数adj的值进一步变小。由此,使判断为与不能通过的单元格冲突的曲线进一步接近直线。另外,路径通过布局图中的极端狭小的间隙时等,存在即使对曲线的曲率进行调整也不能避免冲突的可能性。因此,S45和S46的处理的循环可以在反复进行规定次数时结束。图32表示对图30中与不能通过的单元格冲突的曲线路径的三个部位分别调整曲率后的结果。
此后,路径生成装置1的通行显示部108基于平滑化的移动路径,进行在布局图的三维模型内移动的通行显示(图3:S7)。通过进行以上的处理,本实施方式的路径生成装置1可以生成更自然的移动路径。
<变形例>
本发明并不限于上述实施方式,可以在不脱离本发明宗旨的范围内进行变更。例如,实施方式所示的处理流程可以在结果不变的前提下改变处理的顺序。此外,可以由其他计算机执行处理的一部分,并且可以利用未图示的网络连接其他计算机。此外,可以尽可能地组合上述实施方式和以下的变形例并实施。
实施方式的移动路径通过进行平滑化处理而变换为曲线,可以表现出更自然的移动,但是也可以基于例如在S41中生成的折线或由S5的路径搜索处理得到的通道,进行通行的显示。即使这种路径,也是与距能够通过的区域的外边缘的距离对应地生成,可以说是给用户带来不协调的感觉少的自然的移动路径。
<曲线的变形例>
在S44中变换的曲线并不限于贝塞尔曲线。例如也可以是厄米特曲线等。图33是用于说明利用厄米特曲线来进行曲线化的步骤的图。图33也与贝塞尔曲线的例子同样,对点列opqr中的点pq间进行曲线化。
如图33的第一层(1)所示,合成使从点o朝向点p的向量op标准化的单位向量以及使从点p朝向点q的向量pq标准化的单位向量,从而求出合成向量v。同样,合成使从点p朝向点q的向量pq标准化的单位向量以及使从点q朝向点r的向量qr标准化的单位向量,从而求出合成向量w。上述合成向量v和合成向量w分别为点pq间的曲线的点p和点q的切线方向。
此外,如图33的第二层(2)所示,求出点pq间的长度l,基于以下的算式,计算向量V和向量W。另外,系数f是用于对曲线的形状进行调整的参数,0.0<f<2.0。
[算式5]
Figure GDA0003118843860000201
[算式6]
Figure GDA0003118843860000211
并且,点pq间的曲线上的点x和表示点x的切线方向的向量n如下所示。如图33的第三层(3)所示,在厄米特曲线的情况下,将使ratio从0.0变化到1.0时的点x的轨迹作为点pq间的曲线。
[算式7]
Figure GDA0003118843860000212
[算式8]
Figure GDA0003118843860000213
此外,S46中的曲率调整通过在向量V和向量W的算式中与贝塞尔曲线的情况同样地以系数f的值变小的方式调整参数,可以抑制曲线的鼓起。例如,图34的第一层(1)所示的曲线与不能通过的单元格冲突时,如图34的第二层(2)所示,通过乘以系数adj(0.0<adj<1.0),求出曲率调整后的向量V’、向量W’。由此,可以使曲线的鼓起变小而接近直线。另外,在第二次以后的S46的处理中,与贝塞尔曲线的情况同样,使乘以系数adj的次数增加,或使系数adj的值变小。
[算式9]
Figure GDA0003118843860000214
[算式10]
Figure GDA0003118843860000215
<除去噪声的变形例>
图8的S15所示的除去噪声的处理可以删除比规定的阈值短的通路候补。另外,阈值是正整数,并且是预先确定的值。在此,阈值为“5”。
在这种情况下,在S5中,首先如上所述,从细线化地图中抽出值为1的单元格,针对抽出的各单元格,置换为比附近八个单元格的最小值小1的值(如果最小值为0则为-1)。
接着,抽出细线化地图所含的值为2的单元格,在抽出的单元格的附近八处,只有一个值在1以上的单元格时,将抽出的单元格的值置换为1。此外,在细线化地图的值为2的单元格的附近八处,存在两个以上的值在1以上的单元格的情况下,附近八处的具有1以上的值的单元格都未相邻时,该单元格的值保持为2。此外,在细线化地图的值为2的单元格的附近八处,存在两个以上的值在1以上的单元格的情况下,附近八处的具有1以上的值的单元格全部相连时,置换为比该单元格的附近八个单元格的最小值小1的值(如果最小值为-1则为-2)。
并且,对全部的值为2的单元格进行处理后,抽出上述的值为1的单元格,并且返回将每个抽出的单元格置换为比其附近的八个单元格的最小值小1的值的处理,直到不存在值为1的单元格为止,反复进行处理。
接着,从上述处理后的细线化地图中,抽出与使正负反转的阈值(以如果阈值为5则为-5的方式使阈值带有负号)相比值小的单元格,并且使抽出的单元格的值恢复为2。此外,抽出存在于抽出的单元格的附近八处且值为负的单元格,并且使抽出的单元格的值恢复为2。并且,返回抽出与正负反转的阈值相比值小的单元格的处理,直到从附近八处不能抽出值为负的单元格为止,反复进行处理。另外,从附近八处不能抽出值为负的单元格时,将值最后恢复为2的单元格的值置换为1。
按照以上的处理,从使正负反转的阈值到-1的任意一个值进入比阈值短的通路候补的单元格中。由此,通过抽出上述单元格并将值置换为0,可以删除比阈值短的通路候补。
图35生成变形例的除去噪声后的路径候补地图。如果与图14的例子相比,则可以看出图35中保留有比规定的阈值长的胡须状的线。由于生成从房间的中心朝向房间角落的放射状的边,所以即使用户指定了房间的角落等作为出发地点或到达地点时,与图14的例子相比,也可以在距指定的地点近的位置找到附近点。
<节点的集中>
图36是用于说明比较狭小范围内存在多个节点时的处理的图。在图19的S32中进行路径搜索时,如果存在边的长度的合计在规定的阈值(例如300cm)以下且返回已经通过的节点的路径,则对中途通过的节点和边例如设立标志并抽出。并且,将抽出的节点和边置换为一个虚拟的节点并进行S32的路径搜索。例如,抽出图36的第一层(1)所示的节点和边的集合时,如图36的第二层(2)所示那样置换为一个节点。存在图36的第一层(1)所示的节点和边的集合时,虽然存在从A朝向B的多个路径,但是如果从路径整体观察,则以何种方式通过该部分仅有稍许不同。也就是说,即使在比较狭小范围内存在形成循环的节点和边的集合,有可能不必要地增加通行的路径实质上没有不同的变动。由此,在本变形例中,通过将边的长度的合计在规定的阈值以下而形成循环的顶点列(节点和边的集合)置换为一个虚拟节点,降低搜索的路径的数量。另外,也可以仅在抽出的节点和边的集合满足存在于同一房间或空间内的条件时置换为虚拟节点。例如通过利用保存在路径搜索用图像的GB成分中的构成要素的识别信息,可以判断各节点或边所含的顶点列是否存在于同一房间或空间。
<跨越楼层的路径>
在上述例子中,求出在同一楼层存在起点和终点时的路径,但是起点和终点也可以存在于不同的楼层。在这种情况下,在图3的S4中,预先对各楼层进行坐标图生成处理,求出节点和边。另外,存在于不同楼层的一个以上的楼梯、电梯等可以基于保存在路径搜索用图像的GB成分中的构成要素的识别信息来判断对应关系。并且,在S5的路径搜索处理中,求出从某一楼层的起点到楼梯等的第一路径和从其他楼层的楼梯等到终点的第二路径。并且,通过连接第一路径和第二路径,生成跨越楼层的路径。图37A和图37B是表示从一层的日式房间到二层的西式房间的路径的一例的图。图37A表示从日式房间内的起点到楼梯的路径。图37B表示从楼梯到西式房间的路径。举例说明的住宅由一个楼梯来连接楼层之间,但是在具有多个楼梯或电梯时,可以通过连接楼梯等构成要素的识别信息相同的路径,提示跨越楼层的路径。
<经由地点>
在上述例子中,基于用户的操作来设定起点和终点,但是也可以进一步设定经由地点。例如通过指定用户想要通过的房间来设定经由地点。并且,在S5(图3)中,利用路径搜索用图像来确定边且抽出包含该边的路径,该边通过保存有指定的房间的识别信息的单元格。
但是,在上述实施方式的路径搜索中,不抽出多次通过同一节点的路径。由此,例如不能抽出经由只有一个出入口的房间去往其他目的地的路径。因此,在S5(图3)的路径搜索处理中,将只有一个出入口的房间指定为经由地点时,作为例外,生成通过同一节点并在指定的经由地点之间往返的路径。
图38是用于说明通过经由地点的路径搜索的图。在图38的例子中,借助走廊“Ⅵ”相互连接五个房间“Ⅰ”、“Ⅱ”、“Ⅲ”、“Ⅳ”、“Ⅴ”。此外,直接连接房间“Ⅲ”和“Ⅴ”。房间“Ⅰ”包含分路的边a和边b,并且借助边c与走廊“Ⅵ”连接。房间“Ⅱ”包含形成循环的边e和边f,并且借助边d与走廊“Ⅵ”连接。房间“Ⅲ”包含形成循环的边i、边j、边k,借助边h与走廊“Ⅵ”连接,并且借助边l与房间“Ⅴ”连接。房间“Ⅳ”包含分路的边t和边u,并且借助边s与走廊“Ⅵ”连接。房间“Ⅴ”包含分路的边q、边m和边n,并且借助边p与走廊“Ⅵ”连接。走廊“Ⅵ”包含边g、边o、边r和边v。另外,在图38的布局图中,在房间“Ⅰ”的边a上设定有起点(圆形标记),在房间“Ⅳ”的边t上设定有终点(星形标记)。此外,作为经由地点设定了房间“Ⅱ”和房间“Ⅲ”。
如果在上述条件下进行路径搜索,则找到由以下的三个边列表示的路径(1)~(3)。
(1)边a、c、g、o、r、s、t(边数7)
(2)边a、c、g、h、k、l、p、r、s、t(边数10)
(3)边a、c、g、h、i、j、l、p、r、s、t(边数11)
另外,上述路径(2)和(3)分别通过房间“Ⅲ”所含的边i、边j和边k。
另一方面,房间“Ⅱ”的出入口仅为边d,未抽出通过房间“Ⅱ”所含的边e或边f的路径。因此,从不能通过的房间“Ⅱ”的边上的任意点到上述路径(2)或(3)上的节点进行路径搜索。在此,利用路径(3)来进行说明。如果在上述条件下搜索路径,则找到如图39A和图39B所示的路径。另外,图中的三角形标记表示经由地点。即,找到由以下的两个边列表示的路径(4)、(5)。
(4)边e、d(边数2)
(5)边e、f、d(边数3)
接着,在从经由地点的房间“Ⅱ”中进行搜索而找到的路径(4)、(5)和上述路径(3)的交点的节点上,对上述路径(3)进行分割。例如,上述路径(3)分割为以下的两个边列(3-1)和(3-2)。
(3-1)边a、c(边数2)
(3-2)边g、h、i、j、l、p、r、s、t(边数9)
并且,在分割的边列之间插入用于经由房间“Ⅱ”的边列(4)和(5)。另外,找到了多个来自经由地点的“Ⅱ”的路径时,插入构成任意两个路径的边列,只找到一个来自房间“Ⅱ”的路径时,插入在该路径上往返的边列。例如,在上述边列(3-1)和(3-2)之间插入上述路径(4)和(5),生成图40的n所示的路径(6)。如果由边列表示路径(6),则如下所述。由此,两次通过边d和边e,可以生成通过不能通行的房间“Ⅱ”的路径。
(6)边a、c、d、e、e、f、d、g、h、i、j、l、p、r、s、t(边数16)
另外,代替指定房间作为经由地点,可以与出发地点或到达地点同样来指定布局图上的一点。在这种情况下,例如可以搜索从出发地点至经由地点的第一路径以及从经由地点至到达地点的第二路径。连接第一路径和第二路径,由此生成通过经由地点的路径。此时,如果以第一路径的终点处的方向(从终点之前的路径上的点朝向终点的向量)和第二路径的起点处的方向(从起点朝向使路径稍许前进的点的向量)成为一致或接近的方向的方式选择第一、第二路径,则能够生成平滑的路径。
<更平滑的路径的制作>
图41是表示由上述实施方式的路径搜索求出的路径的一例的图。由实施方式的处理生成的路径适用于求出一边避开家具等障碍物一边步行的路径。但是,在未放置家具等的房间中,有时生成像散步那样的路径候补。此外,按照除去噪声的变形例所示的处理,由于生成从房间的中心朝向房间的角落的放射状的路径候补,所以有时得到暂时返回房间的中心的路径候补。
因此,在本变形例中,在平滑化处理的S41~S43(图25)中,将通道近似为折线时,生成尽可能不改变方向而由直线连接的折线。具体地说,首先,平滑化部107最初由直线连接通道的两端,在此期间判断是否存在不能通过的位置。并且,在路径上不存在不能通行的位置时,不将通道近似为折线,直接由直线连接。此外,存在不能通过的位置时,抽出距通道的起点尽可能远且与起点连接的直线不与不能通过的位置冲突的节点,由直线从起点连接到抽出的节点。此后,在抽出的节点到终点之间反复进行同样的处理。例如,在从起点到终点,从终点之前的第一个节点、终点之前的第两个节点、……、起点之后的第一个节点到终点之间依次确定是否存在不能通行的位置,如果节点之间不存在不能通行的位置,则由直线连接上述节点之间。由此,对原本的路径进行近似时,生成与不能通行的位置不冲突的折线路径。
此后,通过进行S44(图25)以后的曲线变换,可以减少不必要的散步。图42是表示使用由本变形例生成的折线时的路径的一例的图。起点和终点与图41所示的路径相同。此外,避开家具等而移动的左下的室内的路径与图41的路径大体相同。但是,在路径上不存在障碍物的走廊或右上的室内,生成更为平滑的路径。
<通行的显示>
如图3的S7所示,通行显示部108基于平滑化的布局图上的路径,进行在三维模型内移动的通行的显示。另外,用于显示的路径可以是用户指定由搜索找到的多个路径中的任意一个,也可以采用距离最短的路径。另外,向用户提示由搜索找到的多个路径时,例如图29所示,在布局图上一个个地提示路径,用户可以选择用于通行显示的路径。
在通行显示中,由于以用户的视点在建筑物内移动,所以能够通过使照相机的视线方向朝向规定距离(例如100cm)前方的路径上的点而表现出自然的移动。此外,接近门等开口开闭装置或楼梯时,不是在规定距离前方的路径上,而是在门等开口开闭装置或楼梯的行进方向上固定视线,或在门或楼梯之前暂时停止,从而可以表现出在打开门后再通过这样的自然的移动。
决定向用户提示的路径的方法、以及决定向用户提示路径的顺序的方法可以优先提示从起点到终点的距离短的路径,也可以优先提示通过宽度宽的通路的路径,或优先提示通过的门的数量少的路径。此外,也可以通过组合上述条件,决定向用户提示的路径。
优先提示通过宽度宽的通路的路径时,例如使用在利用图9说明的S12中生成的地图,与距能够通过的区域的外边缘的距离对应来对边加权。可以使用与该边重合的地图上的单元格的权重的平均值、最大值和最小值等对边加权。并且,通过在计算从起点到终点的距离时乘以与权重对应的值,优先提示虽然距离远但宽度宽而容易通行的路径。
优先提示通过的门的数量少的路径时,例如以通过图7所示的路径搜索用图像中表示门的单元格的路径越多、优先度越低的方式进行加权。由此,找到同等程度的距离的路径时,优先提示通过的门的数量少的路径。
<其他>
本发明包括执行上述处理的计算机程序。此外,存储该程序的计算机能够读取的存储介质也属于本发明的范畴。存储有该程序的存储介质通过使计算机读取并执行上述存储介质的程序,能够执行上述处理。
在此,计算机能够读取的存储介质是指如下的存储介质:利用电、磁、光学、机械或化学的作用来存储数据或程序等信息,并且能够从计算机读取。这种存储介质中能够从计算机中取出的存储介质具有软盘、光磁盘、光盘、磁带和存储卡等。此外,作为固定于计算机的存储介质具有硬盘驱动器和ROM等。

Claims (9)

1.一种路径生成方法,其特征在于,由计算机执行如下步骤:
单元格分割步骤,基于包含表示住宅的构成要素的种类的信息的布局图数据,生成将平面划分成规定尺寸的格子状而形成的单元格,并对各所述单元格设定表示所述构成要素的种类的信息;
细线化步骤,读取设定于所述单元格的表示所述构成要素的种类的信息,基于与所述构成要素的种类相关联并预先确定的在所述构成要素上能否通过,确定能够通过的区域的外边缘,生成将所述能够通过的区域细线化的通路数据;
坐标图生成步骤,基于在所述细线化步骤中生成的通路数据,生成坐标图,所述坐标图包含表示通路的端点或交点的节点以及连接所述节点之间的边;以及
路径搜索步骤,基于来自用户的输入而设定起点和终点,并利用在所述坐标图生成步骤中生成的坐标图,搜索从所述起点到所述终点的通道。
2.根据权利要求1所述的路径生成方法,其特征在于,
由计算机进一步执行如下步骤:
平滑化步骤,基于在所述路径搜索步骤中得到的通道,将所述通道变换为曲线而生成移动路径;
冲突判断步骤,针对在所述平滑化步骤中生成的移动路径,读取对所述移动路径通过的所述单元格设定的表示所述构成要素的种类的信息,基于与所述构成要素的种类相关联并预先确定的在所述构成要素上能否通过,判断所述移动路径是否与不能通过的构成要素冲突;以及
曲线修正步骤,在所述冲突判断步骤中判断为所述移动路径与不能通过的构成要素冲突时,改变所述移动路径上的点的曲率。
3.根据权利要求2所述的路径生成方法,其特征在于,
所述布局图数据包括所述种类是门或楼梯的构成要素,
在所述平滑化步骤中,将存在于与所述构成要素的种类是门或楼梯的单元格对应的位置的节点至少作为顶点,生成近似所述通道的折线,并且基于所述折线的顶点生成所述移动路径。
4.根据权利要求2或3所述的路径生成方法,其特征在于,在所述路径搜索步骤中,基于来自用户的输入进一步设定经由点,从得到的所述起点到所述终点的第一通道都未通过所述经由点时,进一步搜索从所述经由点到所述第一通道所含的节点的第二通道,并且连接所述第一通道和所述第二通道,生成从所述起点到所述终点的通道。
5.根据权利要求2或3所述的路径生成方法,其特征在于,进一步由计算机执行显示步骤,所述显示步骤描绘所述布局图数据所示的建筑物的三维模型,在所述三维模型中使视点沿着所述移动路径移动,并且使视线的前方朝向规定距离前方的所述移动路径上。
6.根据权利要求2或3所述的路径生成方法,其特征在于,在所述路径搜索步骤中,在规定的距离以下存在循环的节点列时,将所述节点列置换为一个虚拟节点并进行路径搜索。
7.根据权利要求2或3所述的路径生成方法,其特征在于,所述布局图数据包含所述构成要素为在所述构成要素上不能通过的家具的数据。
8.一种存储介质,存储路径生成程序,其特征在于,所述路径生成程序使计算机执行如下步骤:
单元格分割步骤,基于包含表示住宅的构成要素的种类的信息的布局图数据,生成将平面划分成规定尺寸的格子状而形成的单元格,并对各所述单元格设定表示所述构成要素的种类的信息;
细线化步骤,读取设定于所述单元格的表示所述构成要素的种类的信息,基于与所述构成要素的种类相关联并预先确定的在所述构成要素上能否通过,确定能够通过的区域的外边缘,生成将所述能够通过的区域细线化的通路数据;
坐标图生成步骤,基于在所述细线化步骤中生成的通路数据,生成坐标图,所述坐标图包含表示通路的端点或交点的节点以及连接所述节点之间的边;以及
路径搜索步骤,基于来自用户的输入而设定起点和终点,并利用在所述坐标图生成步骤中生成的坐标图,搜索从所述起点到所述终点的通道。
9.一种路径生成装置,其特征在于包括:
单元格分割部,基于包含表示住宅的构成要素的种类的信息的布局图数据,生成将平面划分成规定尺寸的格子状而形成的单元格,并对各所述单元格设定表示所述构成要素的种类的信息;
细线化部,读取设定于所述单元格的表示所述构成要素的种类的信息,基于与所述构成要素的种类相关联并预先确定的在所述构成要素上能否通过,确定能够通过的区域的外边缘,生成将所述能够通过的区域细线化的通路数据;
坐标图生成部,基于所述细线化部生成的通路数据,生成坐标图,所述坐标图包含表示通路的端点或交点的节点以及连接所述节点之间的边;以及
路径搜索部,基于来自用户的输入而设定起点和终点,并利用所述坐标图生成部生成的坐标图,搜索从所述起点到所述终点的通道。
CN201680001545.1A 2015-08-20 2016-06-29 存储介质、路径生成方法和路径生成装置 Active CN108027985B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015-163192 2015-08-20
JP2015163192A JP6304771B2 (ja) 2015-08-20 2015-08-20 経路生成プログラム、経路生成方法及び経路生成装置
PCT/JP2016/069252 WO2017029888A1 (ja) 2015-08-20 2016-06-29 経路生成プログラム、経路生成方法及び経路生成装置

Publications (2)

Publication Number Publication Date
CN108027985A CN108027985A (zh) 2018-05-11
CN108027985B true CN108027985B (zh) 2021-08-24

Family

ID=58051669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680001545.1A Active CN108027985B (zh) 2015-08-20 2016-06-29 存储介质、路径生成方法和路径生成装置

Country Status (6)

Country Link
US (1) US10139236B2 (zh)
JP (1) JP6304771B2 (zh)
CN (1) CN108027985B (zh)
CA (1) CA2949867C (zh)
HK (1) HK1254534A1 (zh)
WO (1) WO2017029888A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409920B2 (en) * 2016-11-14 2022-08-09 Autodesk, Inc. Generative design for architecture
US10955248B2 (en) * 2017-11-22 2021-03-23 Lokion Interactive, LLC Geo-location structure mapping
US11157745B2 (en) * 2018-02-20 2021-10-26 Scenera, Inc. Automated proximity discovery of networked cameras
CN108898516B (zh) 2018-05-30 2020-06-16 贝壳找房(北京)科技有限公司 在虚拟三维空间讲房模式进功能间的方法、服务器和终端
JP7195073B2 (ja) * 2018-07-10 2022-12-23 古野電気株式会社 グラフ生成装置
US10832437B2 (en) * 2018-09-05 2020-11-10 Rakuten, Inc. Method and apparatus for assigning image location and direction to a floorplan diagram based on artificial intelligence
CN110309560B (zh) * 2019-06-13 2020-12-22 清华大学 多层级迁移模拟方法和装置
CN110750822B (zh) * 2019-09-20 2023-05-09 久瓴(江苏)数字智能科技有限公司 可使用老虎窗固定节点的生成方法、装置、设备和介质
JP7282656B2 (ja) * 2019-11-11 2023-05-29 日立造船株式会社 移動過程提示装置、移動過程提示方法、移動過程提示プログラムおよび記録媒体
US11043029B1 (en) * 2019-12-09 2021-06-22 Lesoft Technology (Beijing) Co., LTD. Virtual reality system
US11049319B2 (en) * 2019-12-09 2021-06-29 Lesoft Technology (Beijing) Co., LTD. Method for implementing virtual reality roaming path control
CN111291440A (zh) * 2020-02-13 2020-06-16 广东三维家信息科技有限公司 住宅户型动线计算方法和装置
WO2023042502A1 (ja) * 2021-09-17 2023-03-23 日本電産株式会社 自律走行装置および自律走行装置の制御方法
WO2023157301A1 (ja) 2022-02-21 2023-08-24 日立Astemo株式会社 電子制御装置及び軌道生成方法
KR102531141B1 (ko) * 2022-03-16 2023-05-11 주식회사 플럭시티 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템
CN114578831B (zh) * 2022-04-28 2022-07-26 深圳鹏行智能研究有限公司 机器人的控制方法、控制装置、机器人和存储介质
CN116188480B (zh) * 2023-04-23 2023-07-18 安徽同湃特机器人科技有限公司 喷涂机器人天花板作业时agv行进路径点的计算方法
CN116977582B (zh) * 2023-07-27 2024-03-22 木卫四(北京)科技有限公司 基于gps数据的道路3d模型生成方法及装置
CN117251380B (zh) * 2023-11-10 2024-03-19 中国人民解放军国防科技大学 一种面向单调流式图的优先级异步调度方法及系统
CN118500415A (zh) * 2024-07-17 2024-08-16 杭州海康威视数字技术股份有限公司 一种移动轨迹生成方法、装置、终端设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10228231A (ja) * 1997-02-17 1998-08-25 Olympus Optical Co Ltd 擬似体験装置
JP2006048278A (ja) * 2004-08-03 2006-02-16 Fukui Computer Kk 移動経路設定装置、移動経路設定プログラム
WO2007020439A1 (en) * 2005-08-16 2007-02-22 Pulsic Limited Pattern matching and pattern replacement
CN101828153A (zh) * 2007-09-04 2010-09-08 武藏工业株式会社 作成移动程序的程序与装置
CN104035950A (zh) * 2013-03-05 2014-09-10 多费俉株式会社 基于用户的地图制作设备
CN104236548A (zh) * 2014-09-12 2014-12-24 清华大学 一种微型无人机室内自主导航方法
CN104346453A (zh) * 2014-10-29 2015-02-11 北京交控科技有限公司 一种ats应用路线搜索方法和系统
CN104535960A (zh) * 2014-12-29 2015-04-22 华南理工大学 一种基于rfid的室内快速定位方法
CN104812535A (zh) * 2012-10-11 2015-07-29 Abb技术有限公司 自动产生用于将机器人从停止位置返回预设重启位置的无碰撞返回程序的方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346474B2 (en) * 2008-08-28 2013-01-01 Honeywell International Inc. Method of route retrieval
US8706413B2 (en) * 2011-10-17 2014-04-22 Qualcomm Incorporated Determining a likelihood of a directional transition at a junction in an encoded routability graph description

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10228231A (ja) * 1997-02-17 1998-08-25 Olympus Optical Co Ltd 擬似体験装置
JP2006048278A (ja) * 2004-08-03 2006-02-16 Fukui Computer Kk 移動経路設定装置、移動経路設定プログラム
WO2007020439A1 (en) * 2005-08-16 2007-02-22 Pulsic Limited Pattern matching and pattern replacement
CN101828153A (zh) * 2007-09-04 2010-09-08 武藏工业株式会社 作成移动程序的程序与装置
CN104812535A (zh) * 2012-10-11 2015-07-29 Abb技术有限公司 自动产生用于将机器人从停止位置返回预设重启位置的无碰撞返回程序的方法和设备
CN104035950A (zh) * 2013-03-05 2014-09-10 多费俉株式会社 基于用户的地图制作设备
CN104236548A (zh) * 2014-09-12 2014-12-24 清华大学 一种微型无人机室内自主导航方法
CN104346453A (zh) * 2014-10-29 2015-02-11 北京交控科技有限公司 一种ats应用路线搜索方法和系统
CN104535960A (zh) * 2014-12-29 2015-04-22 华南理工大学 一种基于rfid的室内快速定位方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"一种基于体素的室内三维联通图自动生成算法";柯芬 等;《测绘与空间地理信息》;20150325;第38卷(第3期);第289-306页 *
Kari Rye Schougaard et al."Indoor pedestrian navigation based on hybrid route planning and location modeling".《Pervasive Computing》.2012,第289-306页. *

Also Published As

Publication number Publication date
HK1254534A1 (zh) 2019-07-19
JP6304771B2 (ja) 2018-04-04
CA2949867A1 (en) 2017-02-20
CN108027985A (zh) 2018-05-11
US20180149481A1 (en) 2018-05-31
CA2949867C (en) 2021-08-03
JP2017041149A (ja) 2017-02-23
WO2017029888A1 (ja) 2017-02-23
US10139236B2 (en) 2018-11-27

Similar Documents

Publication Publication Date Title
CN108027985B (zh) 存储介质、路径生成方法和路径生成装置
US10394244B2 (en) Method for controlling mobile robot based on Bayesian network learning
CN107045656B (zh) 一种基于改进蚁群算法的智能景区游览路线规划方法
Lin et al. Intelligent generation of indoor topology (i-GIT) for human indoor pathfinding based on IFC models and 3D GIS technology
Díaz-Vilariño et al. Indoor navigation from point clouds: 3D modelling and obstacle detection
JP2007041656A (ja) 移動体制御方法および移動体
KR101868695B1 (ko) 이동 로봇 제어 방법
CN114777793B (zh) 一种面向任意导航主体的bim地图提取及路径规划方法
KR101706664B1 (ko) 실내 대피경로 안내 시스템 및 방법
CN110909961B (zh) 基于bim的室内路径查询方法及装置
EP3276513A1 (en) A method and an apparatus for calculating a distance in an area
JP2008083112A (ja) ネットワークデータ生成装置、ネットワークデータ生成プログラム、携帯端末及びデータ構造
Graser Integrating open spaces into OpenStreetMap routing graphs for realistic crossing behaviour in pedestrian navigation
Whiting et al. Topology of urban environments
KR20210061069A (ko) 3차원 객체를 표시하는 방법 및 장치
CN109374005B (zh) 一种基于船舶vr模型的船舶内部路径规划方法
US20150234947A1 (en) Estimation of Three-Dimensional Models of Roofs from Spatial Two-Dimensional Graphs
JP6059030B2 (ja) ネットワークデータ生成システム、方法、及びプログラム
CN112612267A (zh) 自动驾驶的路径规划方法和装置
CN114740898A (zh) 一种基于自由空间与a*算法的三维航迹规划方法
CN113358118B (zh) 非结构环境中端到端的室内移动机器人自主导航方法
JP2007041657A (ja) 移動体制御方法および移動体
López-Pazos et al. Pedestrian pathfinding in urban environments: Preliminary results
CN110672098A (zh) 室内导航线模型获取方法、装置、设备以及存储介质
RU2014145708A (ru) Способ построения маршрута передвижения на пересеченной местности

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1254534

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant