JP2017041149A - 経路生成プログラム、経路生成方法及び経路生成装置 - Google Patents

経路生成プログラム、経路生成方法及び経路生成装置 Download PDF

Info

Publication number
JP2017041149A
JP2017041149A JP2015163192A JP2015163192A JP2017041149A JP 2017041149 A JP2017041149 A JP 2017041149A JP 2015163192 A JP2015163192 A JP 2015163192A JP 2015163192 A JP2015163192 A JP 2015163192A JP 2017041149 A JP2017041149 A JP 2017041149A
Authority
JP
Japan
Prior art keywords
route
component
path
point
cell
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.)
Granted
Application number
JP2015163192A
Other languages
English (en)
Other versions
JP6304771B2 (ja
Inventor
平井 孝幸
Takayuki Hirai
孝幸 平井
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.)
Cyberwalker Inc
Original Assignee
Cyberwalker Inc
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 Cyberwalker Inc filed Critical Cyberwalker Inc
Priority to JP2015163192A priority Critical patent/JP6304771B2/ja
Priority to PCT/JP2016/069252 priority patent/WO2017029888A1/ja
Priority to CN201680001545.1A priority patent/CN108027985B/zh
Priority to CA2949867A priority patent/CA2949867C/en
Priority to US15/314,899 priority patent/US10139236B2/en
Publication of JP2017041149A publication Critical patent/JP2017041149A/ja
Application granted granted Critical
Publication of JP6304771B2 publication Critical patent/JP6304771B2/ja
Priority to HK18113785.2A priority patent/HK1254534A1/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)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (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)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Processing Or Creating Images (AREA)
  • Navigation (AREA)

Abstract

【課題】間取図の情報に基づいて、ユーザに違和感を与えることが少ない自然な移動経路を生成する。
【解決手段】経路生成プログラムは、住宅の構成要素の種別を表す情報を含む間取図のデータに基づき、平面を所定の大きさの格子状に区切って形成されるセルを生成し、当該セルの各々に構成要素の種別を表す情報を設定するステップと、セルに設定された構成要素の種別を表す情報を読み出し、構成要素の種別に対応付けて予め定められている当該構成要素上の通過の可否に基づいて通過できる領域の外縁を特定し、当該通過できる領域を細線化した通路のデータを生成するステップと、通路のデータに基づいて、通路における端点又は交点を示すノードと当該ノード間を接続するエッジとを含むグラフを生成するステップと、ユーザからの入力に基づいて始点及び終点を設定し、グラフを用いて始点から終点までのパスを探索する経路探索ステップとをコンピュータに実行させる。
【選択図】図3

Description

本発明は、経路生成プログラム、経路生成方法及び経路生成装置に関する。
例えば建築物の三次元モデルを作成し、当該三次元モデル内を移動(ウォークスルー)できるようにする技術が存在する。ユーザは、例えばマウス操作によってカメラ(視点)を移動させることができる。建築物内の移動をコンピュータ上でシミュレーションすることができ、例えば建築物の使い勝手を設計段階等で確認するために有用である。
また、間取りを構成する区画の接続関係を表す区画リンク情報において、動線を設定するという技術も提案されている(例えば、特許文献1)。区画に接続するポータル(出入口)を参照し、更にそのポータルに接続する区画を参照するというように、区画とポータルの接続関係を交互に辿っていくことにより現在位置から目的位置に至るまでに通過する区画とポータルを探索する。そして、現在位置から目的位置に至るまでポータルの中心を直線で順次結んでいき、これによって動線を設定する。
また、2次元画像に対して設定したパスポイントを結ぶようにしてスプライン曲線を求め、求めた曲線に沿ってウォークスルーの視点を移動させる技術も提案されている(例えば、特許文献2)。
特開2006−48278号公報 特開平10−228231号公報
従来、ウォークスルー機能について、ユーザが操作に習熟していない場合は三次元モデル内の移動が思い通りにできないという問題があった。また、三次元モデル内の移動経路を生成する場合、壁等の本来通過できない物体と衝突すると不自然なのはもちろんのこと、一方に広い空間があるにもかかわらず他方の壁等の至近を通過するようなときもユーザに違和感を与えることがある。
本発明は、上記のような問題に鑑みてなされたものであり、間取図の情報に基づいて、ユーザに違和感を与えることが少ない自然な移動経路を生成することを目的とする。
本発明に係る経路生成プログラムは、住宅の構成要素の種別を表す情報を含む間取図のデータに基づき、平面を所定の大きさの格子状に区切って形成されるセルを生成し、当該セルの各々に構成要素の種別を表す情報を設定するセル分割ステップと、セルに設定された構成要素の種別を表す情報を読み出し、構成要素の種別に対応付けて予め定められている当該構成要素上の通過の可否に基づいて通過できる領域の外縁を特定し、当該通過できる領域を細線化した通路のデータを生成する細線化ステップと、細線化ステップにおいて生成した通路のデータに基づいて、通路における端点又は交点を示すノードと、当該ノード間を接続するエッジとを含むグラフを生成するグラフ生成ステップと、ユーザからの入力に基づいて始点及び終点を設定し、グラフ生成ステップにおいて生成されたグラフを用いて、始点から終点までのパスを探索する経路探索ステップとをコンピュータに実行させ
る。
間取図において通過できる領域を細線化した通路のデータを生成すれば、例えば壁等のような周囲の物体から適度に距離をとった通路のデータを生成することができるようになる。すなわち、間取図の情報に基づいて、ユーザに違和感を与えることが少ない自然な経路を生成することができるようになる。
また、経路探索ステップにおいて得られたパスに基づいて、当該パスを曲線に変換して移動経路を生成する平滑化ステップと、平滑化ステップにおいて生成された移動経路について、当該移動経路が通過するセルに設定された構成要素の種別を表す情報を読み出し、当該構成要素の種別に対応付けて予め定められている当該構成要素上の通過の可否に基づいて、移動経路と通過できない構成要素との衝突の有無を判断する衝突判定ステップと、衝突判定ステップにおいて、移動経路と通過できない構成要素との衝突があると判断された場合、移動経路上の点における曲率を変更する曲線修正ステップとをさらにコンピュータに実行させるようにしてもよい。このようにすれば、通路のデータを滑らかな曲線に変換した移動経路を生成することができる。また、間取図のデータに基づいて生成したセルを用いて移動経路を修正するため、より自然な移動経路となる。
また、間取図のデータは、種別が扉又は階段である構成要素を含み、平滑化ステップにおいて、構成要素の種別が扉又は階段であるセルに対応する位置に存在するノードを少なくとも頂点として、パスを近似する折れ線を生成し、当該折れ線の頂点に基づいて移動経路を生成するようにしてもよい。このようにすれば、間取図における部屋等の境界である扉や階段の通過点は固定して、室内の空間を移動するためのパスについては近似した折れ線に変換することができるようになる。よって、移動のポイントを固定しつつ、単純化した滑らかな移動経路を生成することができる。
また、経路探索ステップにおいて、ユーザからの入力に基づいて経由点をさらに設定し、得られた始点から終点までの第1のパスがいずれも経由点を通過しない場合、経由点から第1のパスに含まれるノードまでの第2のパスをさらに探索し、第1のパスと第2のパスとを連結して始点から終点までのパスを生成するようにしてもよい。このようにすれば、行き止まりになった部屋を含む様々な地点を経由する移動経路が生成できる。
また、間取図のデータが示す建築物の三次元モデルを描画し、当該三次元モデルにおいて視点を移動経路に沿って移動させるとともに、所定距離先の移動経路上に視線の先を向ける表示ステップをさらにコンピュータに実行させるようにしてもよい。このようにすれば、自然なウォークスルーを表現することができる。
また、経路探索ステップにおいて、所定の距離以下でループするノード列が存在する場合、当該ノード列を1つの仮想ノードに置換して経路の探索を行うようにしてもよい。このようにすれば、実質的に差異のない複数のパスが探索されるのを抑制できる。
また、間取図のデータは、構成要素として当該構成要素上を通過できない家具のデータを含むようにしてもよい。このようにすれば、例えば生活をイメージして配置された家具を避けるようにパスや移動経路を生成することができる。
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。
間取図に基づいて、より自然な移動経路を生成することができるようになる。
経路生成装置の一例を示す機能ブロック図である。 コンピュータの一例を示す装置構成図である。 経路生成処理の一例を示す処理フロー図である。 間取図の表示例を示す図である。 間取図のデータの一例を示す表である。 セルに分割された間取図を説明するため図である。 セルに保持される属性情報の一例を示す図である。 細線化処理の一例を示す処理フローである。 セルの重みづけを説明するための図である。 処理対象のセルと、その周囲の8近傍のセルを説明するための図である。 通過できる領域の外縁からの距離が遠いセルの抽出を説明するための図である。 細線化の具体例を説明するための図である。 細線化後の通路の一例を示す図である。 ノイズ除去後の通路の候補の一例を示す図である。 グラフ生成処理の一例を示す処理フローである。 ノードを表示した通路の一例を示す図である。 記憶部に保持されるノードのデータ構造の一例を示す表である。 記憶部に保持されるエッジのデータ構造の一例を示す表である。 経路探索処理の一例を示す処理フローである。 経路の探索を説明するための模式的なグラフの一例を示す図である。 ノードのデータの具体例を示す表である。 エッジのデータの具体例を示す表である。 パスのデータの具体例を示す表である。 間取図上に表示した経路の一例を示す図である。 平滑化処理の一例を示す処理フローである。 折れ線によるパスの近似を説明するための図である。 間取図上に表示した経路を近似する折れ線の一例を示す図である。 ベジェ曲線の生成を説明するための図である。 間取図上に表示した曲線の経路の一例を示す図である。 曲線の経路が通過できないセルと衝突する例を示す図である。 ベジェ曲線上の点における曲率の変更を説明するための図である。 間取図上に表示した曲線の経路の修正例を示す図である。 エルミート曲線の生成を説明するための図である。 エルミート曲線上の点における曲率の変更を説明するための図である。 ノイズの除去の変形例を説明するための図である。 狭い範囲に複数のノードが存在する場合の処理を説明するための図である。 フロアをまたがる経路の1階部分の例を示す図である。 フロアをまたがる経路の2階部分の例を示す図である。 経由地点を通過する経路の探索を説明するための図である。 経由地点の部屋から探索して見つかる経路の例を示す図である。 経由地点の部屋から探索して見つかる他の経路の例を示す図である。 経由地点を通過する経路の一例を示す図である。 実施形態に係る経路の一例を示す図である。 曲線を滑らかにする変形例を説明するための図である。
以下、図面を参照して本発明を実施するための形態について説明する。なお、実施形態の構成は例示であり、本発明は実施形態に示す構成に限定されない。
<機能構成>
図1は、実施形態に係る経路生成装置1の一例を示す機能ブロック図である。本実施形態に係る経路生成装置1は、記憶部101と、間取図読出部102と、セル分割部103と、細線化部104と、グラフ生成部105と、経路探索部106と、平滑化部107と、ウォークスルー表示部108とを有する。記憶部101は、所定のソフトウェアで作成した間取図のデータや、本実施形態に係る処理で最終的に又は中間的に生成される移動経路等のデータを記憶する。間取図読出部102は、所定のソフトウェアで予め作成された間取図のデータを読み出す。なお、本実施形態に係る間取図のデータは、壁や窓、キッチン等の住宅設備、家具等の障害物といった通過できない構成要素と、室内の空間や廊下、扉や階段、庭等の通過できる構成要素とを平面上に配置する電子データであるものとする。セル分割部103は、読み出された間取図のデータに基づいて、所定の属性情報を保持する格子状のセルを生成する。細線化部104は、例えばHilditchのアルゴリズム等を用いて、通過可能な領域の輪郭からの距離に基づいて、通過可能な領域を細線化した通路のデータを生成する。グラフ生成部105は、通路のデータを、端点や分岐点であるノード(頂点)と、ノード間を接続するエッジ(枝)によって表されるグラフに変換する。経路探索部106は、例えばユーザから指定を受けた始点、終点、中継点の座標データを用いて、2頂点結ぶエッジ列又はノード列で表されるパス(道)を探索する。平滑化部107は、パスを平滑化し、移動経路を生成する。また、ウォークスルー表示部108は、三次元モデル内を生成した移動経路に沿って移動する様子をモニタ等に表示させる。
<装置構成>
なお、経路生成装置1は、図2に示すようなコンピュータである。図2は、コンピュータの一例を示す装置構成図である。例えば、コンピュータは、CPU(Central Processing Unit)1001、主記憶装置1002、補助記憶装置1003、通信IF(Interface)1004、入出力IF(Interface)1005、ドライブ装置1006、通信バス10
07を備えている。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として働かせる。本実施形態では1つのコンピュータがスタンドアロンで処理を行うものとして説明するが、一部又は全部の機能は、インターネットやイントラネット等のネットワークを介して接続された他のコンピュータによって提供され、ユーザの端末へ処理結果が送信される構成にしてもよい。
<経路生成処理>
図3は、経路生成処理の一例を示す処理フロー図である。経路生成装置1の間取図読出部102は、ユーザの操作に応じて、記憶部101に格納されている間取図のデータを読み出す(図3:S1)。
図4は、平面上に住宅の構成要素を並べた間取図の表示例を示す図である。また、図5は、記憶部に格納される間取図のデータの一例を示す表である。間取図のデータは、壁や窓、扉といった領域の境界を示す構成要素、部屋や廊下、階段、庭といった領域を示す構成要素、住宅設備や家具を示す構成要素を含む。また、各構成要素は、位置、大きさ、構成要素が示すものを表す属性(構成要素が表すものの種別)、構成要素を一意に特定するための識別情報等の情報を含むものとする。
図4の間取図は、住宅の設計データを平面的に表現したものである。間取図のデータは、図5に示した大きさの属性に対応付けて幅や奥行きだけでなく高さの情報も保持しているものとする。そして、間取図に係る三次元モデルを生成するためにも用いられる。なお、構成要素は、壁や窓、キッチン等の住宅設備、家具等の障害物といった三次元モデル内において通過できない構成要素と、室内の空間や廊下、扉や階段、庭等の通過できる構成要素とに分けられる。通過の可否は構成要素が表すものの種別に応じて決まるが、図5に示すように、間取図のデータは、当該構成要素上の通過の可否を示す情報を記憶するようにしてもよい。
S1の後、経路生成装置1のセル分割部103は、平面を所定の大きさの格子状に分割して生成した複数のセルに、図4に示した間取図の構成要素の属性情報を記憶させる(図3:S2)。本実施形態に係るセルは、平面を例えば縦横に所定間隔で分割した領域の各々をいうものとする。なお、セルの1辺の大きさは、間取図に表された対象の空間の大きさに応じて決めることができる。本実施形態では後の処理において人が通過できる空間を探索するところ、40〜50cm程度の幅の移動経路が抽出できればよいため、例えば10cm四方のセルに分割するものとする。
図6は、図4に示した間取図の一部を10cm×10cmのセルに分割した状態を示す画像の一例である。また、図7は、セルに分割した間取図の、各々のセルに保持される属性情報の一例を示す図である。本実施形態では、属性情報として、構成要素の種別を示す情報を保持させるものとする。なお、本実施形態におけるセルの属性情報は、例えば、各セルをラスタデータの1画素に対応付け、各画素の色の成分を示す24ビットのカラー値(RGB(Red, Green, Blue)成分)として保持させるものとする。また、間取図の構成要素の種別に応じた値は数値で表すものとし、当該値をセルに保持させる処理は、1画素が10cm×10cmとなる縮尺で間取図の構成要素をラスタデータとして描画する際に、当該値を例えばR成分に割り当てることで行うことができる。
図7の例では、間取図における壁に「0」、家具等の障害物に「2」、扉等の建具に「5」、壁の開口部に「6」、階段に「7」、部屋の内部に「8」、家の外の空間に「9」を割り当てている。なお、0及び2は人が通行できない部分を示し、5、6、7、8及び9は、人が通行できる部分を示すことが予め定められているものとする。
また、本実施形態では、各画素のGB成分を用いて、人が通過できる部分について同一の部屋や建具を識別するための構成要素の識別番号を保持するものとする。構成要素の識別番号は、図5に示した識別情報にもとづいて、例えば連番等を付す。また、GB成分は、例えばB成分の値が256になると2桁目のG成分に桁上がりするものとし、GB成分全体で1つの識別情報を表す。すなわち、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」とする。本ステップでは、S
11において0と−1とを設定したマップを走査し、値が−1のセル(通過可能のセル)のうち、上下左右(4近傍とも呼ぶ)のセルがMaxWeightと同一であるものの値をMaxWeight+1に更新する。すべてのセルについて走査した後、MaxWeightを+1(インクリメン
ト)し、値が−1のセルがなくなるまで、−1のセルを対象として走査を繰り返す。
図9は、S12の処理によって更新されるセルの値の具体例を示す。まず、上段(1)に示すように、図7に示したR成分の値に基づいて、通過不可能なセルを示す0又は通過可能なセルを示す−1を設定する。また、2段目(2)に網掛けしたセルで示すように、−1のセルのうちMaxWeight「0」のセルに隣接するセルの値をMaxWeight+1である「1」に変換する。そして、MaxWeightの値をMaxWeight+1に更新し、3段目(3)に網掛けしたセルで示すように、−1のセルのうちMaxWeight「1」のセルに隣接するセルの値をMaxWeight+1である「2」に変換する。その後、MaxWeightの値をMaxWeight+1に更新し、4段目(4)に網掛けしたセルで示すように、−1のセルのうちMaxWeight「2」のセ
ルに隣接するセルの値をMaxWeight+1である「3」に変換する。以上のような処理を繰
り返し、通過できる領域の外縁からの距離に基づいて通過できる領域内のセルに重みづけをする。
次に、細線化部104は、周囲のセルと比較して通過可能な領域の外縁からの距離が遠いセルを抽出する(S13)。本ステップでは、初期値として通過不可能なセルに0、通過可能なセルに−1を格納した、S12とは異なるマップ(抽出マップと呼ぶ)に処理結果を記録するものとする。まず、抽出マップ上の値が−1のセルの各々について、S12で重みづけしたマップ上の周囲の8つのセル(8近傍)の値を用いて所定の値を求める。
図10は、処理対象のセルと、その周囲の8近傍のセルを説明するための図である。図10は、3×3の9セルが示されており、左の列の上から下へ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は、抽出されたセルが形成する線の幅を、所定のルールに基づいて1画素に細線化する(S14)。なお、細線化の処理にはHilditchのアルゴリズム等、既存の様々な手法を利用することができる。例えば、本ステップでは、S13の処理後の抽出マップを用いて、各セルを走査する。まず、処理対象のセルの8近傍のセルのうち0より大きい値が保持されているセルを計数する。すなわち、図10に示したセルのうちEが処理対象であるとすると、A〜D及びF〜Iのうち、0より大きい値のセルの数を合計する。
また、以下のパターン(1)〜(12)のうち当てはまるものの数を計数し、処理対象のセルに対応付けて合計値を保持させる。パターン(1)〜(12)は、処理対象のセルの8近傍のセルのうち、隣接する3つのセルの値によって表される。なお、以下のパターン(1)〜(12)についても、図10に示した9セルの符号を用いて説明する。
(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で抽出されたセルの各々に対して行うことにより、抽出マップ上の通過可能な領域の幅が1画素になる。本実施形態では、幅が1画素になった領域を、間取図におけるユーザの通路の候補として用いる。図12は、図11に示した白色の領域をS14の処理によって細線化する前後の例を示す部分的な拡大図である。なお、S14の処理後の抽出マップにおけるセルが保持している値は、1の場合、通路の候補の端点を示し、2の場合、通路の候補の途中の点を示し、3又は4の場合、3方向又は4方向に分岐している点を示している。また、図13は、図11に示した抽出領域を、S14の処理で細線化した例を示す図である。S14の処理後の抽出マップを、細線化マップと呼ぶものとする。細線化マップは、通路の候補に含まれるセルの各々に、図12に示したような値を保持している。
その後、細線化部104は、細線化マップの通路の候補からノイズを取り除く処理を行う(S15)。図13にも示したように、S14までの処理では、ヒゲの様な多数の短い線が通路の候補に表れる。本ステップでは、これらの短い行き止まりの通路候補を削除する。
具体的には、まず、細線化マップに含まれる値が1のセルを抽出し、すべて値を0に置き換える。続いて細線化マップに含まれる値が2のセルを抽出し、そのセルの8近傍で1以上の値を持つセルが1つなら、このセルの値を1に変える(新たな端点とする)。また、細線化マップにおける値が2のセルの8近傍に、値が0以外のセルが2つ以上存在する場合であって、8近傍の0以外の値のセル同士が隣接していないとき、当該セルの値は2のままとする。また、細線化マップにおける値が2のセルの8近傍に0以外の値のセルが2つ以上存在する場合であって、8近傍の0以外の値のセル同士がすべて隣接しているとき、当該セルの値を0に置き換える。そして、値が2のセルをすべて処理した後、上述した値が1のセルをすべて0に置き換える処理に戻り、値が1のセルがなくなるまで処理を繰り返す。
また、Y字や十字状の孤立した領域が存在する場合、1画素のセルが残るため、最後に8近傍すべてが0のセルを抽出し、値を0に置き換える。
以上のような処理により、図14に示すような通路が生成される。なお、細線化処理によって生成される通路を示す図14の画像を経路候補マップと呼ぶものとする。その後、図3の処理に戻る。
次に、経路生成装置1のグラフ生成部105は、グラフ生成処理を行う(図3:S4)。図15は、グラフ生成処理の一例を示す処理フローである。まず、グラフ生成部105は、細線化処理において生成された経路候補マップに基づいてノードを抽出する(図15:S21)。本ステップでは、図14に示した経路候補マップと、図7に一部を示した属性情報との対応する画素を順に読み出し、建具(扉)、開口部、階段と重なるセル、及び値が3又は4のセル(3つ又は4つに分岐したセル)をノード(頂点)として抽出する。図16は、S21において抽出されたノードを円で表示した例を示す。なお、ノードの位置は、例えばセルの中心に相当する間取図上の座標として表すことができる。
そして、グラフ生成部105は、エッジの探索を行う(S22)。本ステップでは、例えばグラフにおけるノードの1つを始点として、隣接するセルのうち経路候補マップにおける値が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を含む。また、ノードN1〜ノードN14は、エッジa〜エッジpによって接続されている。具体的には、N1とN2とをaが接続し、N1とN3とをbが接続し、N2とN5とをcが接続し、N3とN4とをdが接続し、N4とN5とをeが接続し、N3とN6とをfが接続し、N4とN7とをgが接続し、N6とN7とをhが接続し、N7とN8とをiが接続し、N6とN9とをjが接続し、N7とN10とをkが接続し、N8とN11とをlが接続し、N9とN12とをmが接続し、N10とN13とをnが接続し、N11とN14とをoが接続し、N12とN13とをpが接続している。また、ユーザは、図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まで、4つの部分に区切られている。例えば、扉2と終点bとの間のエッジに含まれる頂点列を直線に置き換えると、図26の上段(1)のようになる。図26の例では、置き換えた直線を破線で示している。
また、平滑化部107は、もとのパスと置き換えた直線との乖離度が所定の閾値を超えているか判断する(S42)。なお、所定の乖離度として、置換後の直線からもとのパス上の最も遠い点までの距離の許容範囲を表す閾値Lが、予め設定されているものとする。例えば、閾値Lは10cmとする。本ステップでは、もとのパスを構成するエッジに含まれる頂点列の各々から、置換後の直線への垂線を引き、その距離lの最大値lmaxを求め
る。そして、lmaxが所定の閾値L以上であれば(S42:YES)、S41の処理に戻
り、図26の2段目(2)に破線で示すように、lが最大になる頂点でもとのパスをさらに分割し、2つの直線に置き換える。そして、S42において、各直線についてもとのパスと置換後の直線との乖離度が所定の閾値を超えているか判断する。さらに所定の閾値を超えている場合は、図26の3段目(3)に示すように、直線をさらに分割する。一方、置換後の直線ともとのパスとの乖離度が所定の閾値以内である場合(S42:NO)、分割した他の直線について未処理のものがあるか判断し(S43)、未処理の直線がある場合(S43:YES)、S41及びS42の処理を繰り返す。このようにして、図26の4段目(4)に破線で示すように、もとのパスを近似した折れ線が得られる。例えば図24に示した経路は、図27に示すような、大まかな折れ線に変換される。なお、閾値Lの大きさにより、近似の精度を変更することができる。
分割したすべての直線を処理した場合(S43:NO)、平滑化部107は、もとのパスを近似した折れ線を、曲線に変換する(S44)。本ステップでは、上述した処理で生成した折れ線を、ベジェ(Bezier)曲線や、エルミート(Hermitian)曲線等の曲線に変
換する。
図28は、2点p,qを通過するベジェ曲線の生成を説明するための図である。ここで、3次のベジェ曲線は4つの制御点を有し、両端の制御点を通過する。本実施形態では、折れ線の頂点間に2つの制御点を追加する。なお、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段目(2)に、制御点m、制御点nの一例を示す。また、制御点m、制御点nは、以下の式で求められる。後述する通り、fの値の大きさを変更することにより、点p、点qにおける曲率、ひいては曲線の形状を変更することができる。
Figure 2017041149
Figure 2017041149
また、点pm間、点mn間、点nq間を、それぞれratio:(1.0−ratio)に内分する点s、点t、点uを生成する。図28の3段目(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段目(4)に、点v、点wの一例を示す。また、点v、点wは、以下の式で求められる。
点v=s+(t−s)×ratio
点w=t+(u−w)×ratio
そして、点vw間をratio:(1.0−ratio)に内分する点xを生成する。図28の5段目(5)に、点xの一例を示す。また、点xは、以下の式で求められる。
点x=v+(w−v)×ratio
ここで、ratioを0.0から1.0まで連続的に変化させたときにできる点xの軌跡は
、図28の6段目(6)のようになる。このようにして、間取図上の経路を、滑らかに変化する曲線に変換する。例えば図27に示した折れ線の経路は、図29に示すような曲線に変換される。移動経路を平面上において曲線にすることで、経路生成装置1が生成する経路は、ウォークスルーの表示を行った場合に自然な移動を表現することができるようになる。
その後、平滑化部107は、生成した曲線の経路が、経路探索用画像における通過不可
能なセルと衝突していないか判断する(図25:S45)。本ステップでは、例えば、曲線で表される移動候補の経路について例えば10cm間隔等、所定の間隔で曲線上の座標を求める。そして、求めた座標が経路探索用画像における通過できないセルに含まれる場合、曲線の経路は通過できないセルと衝突しているものと判断する。図29の例では、衝突していないと判断され(S45:NO)、図3の処理に戻る。
一方、生成した曲線の経路が通過不可能なセルを通過している場合(S45:YES)、平滑化部107は生成した曲線の曲率を調整する(S46)。図30は、曲線の経路が通過できないセルと衝突する例を示す図である。図30は、住宅の外周を通過して、玄関とキッチンとの間を移動する経路の一例を示している。また、図30の例では、破線の楕円で示すように、住宅の前の駐輪場や住宅横の駐車場とを区切る柵、及び住宅の裏の壁と、曲線の経路とが衝突すると判断されたものとする。ここで、S45で衝突すると判断された場合、生成された曲線の経路を用いてウォークスルーの表示を行うと、本来通過することができない何らかの構成要素を通り抜けて移動することになる。よって、本実施形態では、曲線の経路が通過不可能なセルを避けるように、経路上の点における曲率を変更する。本ステップでは、例えば、制御点m及び制御点nの算出に用いた数式にパラメータを追加し、生成する曲線を修正する。
具体的には、ベジェ曲線の場合、上述した制御点m、制御点nの算出式において、fの値を小さくする。このようにすれば、点pq間の曲線はふくらみが小さくなり、直線に近い形状となる。例えば下記のように、制御点m、制御点nの算出式において、fに所定の係数adj(0.0≦adj≦1.0)を乗じる。
Figure 2017041149
Figure 2017041149
図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:YES)、平滑化部107は、S46において、さらに曲線の曲率を調整する。例えば、制御点m及び制御点nの算出式において、上述した係数adjを2回乗じるようにしてもよいし、係数adjの値をさらに小さくするようにしてもよい。このようにして、通過できないセルと衝突すると判断された曲線を、さらに直線に近づけるようにする。なお、経路が、間取図における極端に狭い隙間を通過するような場合等は、曲線の曲率を調整しても衝突を回避できない可能性がある。したがって、S45及びS46の処理のループは所定回数繰り返した場合に終了するようにしてもよい。図32は、図30に於いて通過できないセルと衝突する曲線経路の3か
所に対して、それぞれ曲率を調整した結果を示している。
その後、経路生成装置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段目(2)に示すように、点pq間の長さlを求め、下記の数式に基づいてベクトルV及びベクトルWを算出する。なお、係数fは曲線の形状を調整するためのパラメータであり、0.0<f<2.0であるものとする。
Figure 2017041149
Figure 2017041149
そして、点pq間の曲線上の点x、及び点xにおける接線方向を示すベクトルnは、次のようになる。図33の3段目(3)に示すように、エルミート曲線の場合も、ratioを
0.0から1.0まで変化させたときの点xの軌跡を、点pq間の曲線とする。
Figure 2017041149
Figure 2017041149
また、S46における曲率の調整は、ベクトルV及びベクトルWの算出式において、ベジェ曲線の場合と同様に係数fの値が小さくなるようにパラメータを調整することで、曲線のふくらみを抑えることができる。例えば、図34の上段(1)に示す曲線が、通過できないセルと衝突する場合、図34の下段(2)に示すように係数adj(0.0<adj<1.0)を乗じることで、曲率調整後のベクトルV’、ベクトルW’が求める。このようにすれば、曲線のふくらみを小さくして、直線に近づけることができる。なお、2回目以降のS46の処理においては、ベジェ曲線の場合と同様に、係数adjを乗じる回数を増やし
たり、係数adjの値を小さくしたりする。
Figure 2017041149
Figure 2017041149
<ノイズの除去の変形例>
図8のS15に示したノイズを除去する処理は、所定の閾値よりも短い通路候補を削除するようにしてもよい。なお、閾値は正の整数であり、予め定められているものとする。ここでは、閾値が「5」であるものとする。
この場合、S5では、まず、上述のように細線化マップから、値が1のセルを抽出し、抽出した各セルについて、8近傍のセルの最小値より1小さい値(最小値が0なら−1)に置き換える。
次に、細線化マップに含まれる値が2のセルを抽出し、抽出されたセルの8近傍に、値が1以上のセルが1つしかない場合、抽出されたセルの値を1に置き換える。また、細線化マップにおける値が2のセルの8近傍に、値が1以上のセルが2つ以上存在する場合であって、8近傍の1以上の値のセルの少なくともいずれかが隣接していないとき、当該セルの値は2のままとする。また、細線化マップにおける値が2のセルの8近傍に、値が1以上のセルが2つ以上存在する場合であって、8近傍の1以上の値のセルがすべて接続されているとき、当該セルの8近傍のセルの最小値より1小さい値(最小値が−1なら−2)に置き換える。
そして、値が2のセルをすべて処理した後、上述した値が1のセルを抽出し、抽出した各セル毎にその8近傍のセルの最小値より1小さい値に置き換える処理に戻り、値が1のセルがなくなるまで処理を繰り返す。
次に、上述の処理後の細線化マップから、正負を反転させた閾値(閾値が5であれば−
5のように、閾値にマイナスを付けたもの)より値が小さいセルを抽出し、抽出されたセルの値を2に戻す。さらに、抽出されたセルの8近傍に存在し値が負のセルを抽出し、抽出されたセルの値を2に戻す。そして、正負を反転させた閾値より値が小さいセルを抽出する処理に戻り、値が負のセルが8近傍から抽出できなくなるまで繰り返す。なお、値が負のセルが8近傍から抽出できなくなった場合、最後に値を2に戻したセルは、値を1に置き換えるものとする。
以上のような処理によれば、閾値より短い通路候補のセルには、正負を反転させた閾値から−1までのいずれかの値が入る。よって、これらのセルを抽出して値を0に置き換える事で、閾値より短い通路候補を削除することができる。
図35は、変形例に係るノイズ除去後の経路候補マップが生成される。図14の例と比較すると、図35には所定の閾値よりも長いヒゲ状の線が残されていることがわかる。部屋の中心から部屋の隅に向かう放射状のエッジが生成されるため、ユーザが、出発地点又は到着地点として部屋の隅などを指定した場合であっても、図14の例と比較して指定された地点から近い位置に近傍点が見つかるようになる。
<ノードの集約>
図36は、比較的狭い範囲に複数のノードが存在する場合の処理を説明するための図である。図19のS32において、経路の探索を行う際、エッジの長さの合計が所定の閾値(例えば、300cm)以下で既に通過したノードに戻るような経路があれば、その途中に通過するノード及びエッジに例えばフラグを立てて抽出する。そして、抽出されたノード及びエッジを1つの仮想的なノードに置き換えてS32の経路探索を行うようにする。例えば、図36の上段(1)に示すようなノード及びエッジの集合が抽出された場合、図36の下段(2)に示すように1つのノードに置き換える。図36の上段(1)に示すようなノード及びエッジの集合が存在する場合、AからBへ向かう複数の経路が存在するが、経路全体から見れば当該部分をどのように通過するかは些末な違いでしかないことがある。すなわち、比較的狭い範囲に、ループを形成するようなノード及びエッジの集合が存在しても、ウォークスルーの経路としては実質的な違いのないバリエーションをいたずらに増加させるおそれがある。よって、本変形例では、エッジの長さの合計が所定の閾値以下でループを形成する頂点列(ノード及びエッジの集合)を1つの仮想ノードに置き換えることにより、探索される経路の数を低減させる。なお、抽出されたノード及びエッジの集合は、同一の部屋又は空間に存在するという条件を満たす場合にのみ仮想ノードに置き換えるようにしてもよい。例えば経路探索用画像のGB成分に保持させた構成要素の識別情報を用いることで、各ノード又はエッジに含まれる頂点列が同一の部屋又は空間に存在するか否か判断することができる。
<フロアをまたがる経路>
上述の例では、同一のフロアに始点及び終点が存在する場合の経路を求めたが、始点と終点とが異なるフロアに存在してもよい。この場合、図3のS4において各フロアについてグラフ生成処理を行い、ノード及びエッジを求めておく。なお、異なるフロアに存在する1以上の階段、エレベータ等は、経路探索用画像のGB成分に保持させた構成要素の識別情報に基づいて対応関係を判断することができる。そして、S5の経路探索処理においては、あるフロアにおける始点から階段等までの第1の経路と、他のフロアにおける階段等から終点までの第2の経路とを求める。そして、第1の経路と第2の経路とを連結することにより、フロアをまたがる経路が生成される。図37A及び図37Bは、1階の和室から2階のある洋室までの経路の一例を示す図である。図37Aには、和室内の始点から階段までの経路が示されている。図37Bには、階段から洋室までの経路が示されている。例示した住宅は1つの階段でフロア間が接続されているが、複数の階段やエレベータを有している場合であっても、階段等に係る構成要素の識別情報が同一の経路を接続するこ
とにより、フロアをまたがる経路を提示することができる。
<経由地点>
上述の例では、ユーザの操作に基づいて始点及び終点を設定したが、さらに経由地点を設定するようにしてもよい。経由地点は、例えばユーザが通過したい部屋を指定することにより設定する。そして、S5(図3)において、経路探索用画像を用いて、指定された部屋の識別情報が保持されたセルを通過するエッジを特定し、当該エッジを含む経路を抽出する。
ただし、上述した実施形態に係る経路探索では、同一のノードを複数回通過する経路は抽出しない。よって、例えば出入口が1つしかない部屋を経由して他の目的地へ向かう経路を抽出することができない。そこで、S5(図3)の経路探索処理において、出入口が1つしかない部屋が経由地点に指定された場合は、例外的に同一のノードを通過して、指定された経由地点との間を往復する経路を生成する。
図38は、経由地点を通過する経路の探索を説明するための図である。図38の例では、5つの部屋「あ」、「う」、「え」、「お」、「か」が、廊下「い」を介して相互に接続されている。また、部屋「え」及び「か」は、直接接続されている。部屋「あ」は、分岐するエッジ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上に終点(星印)が設定されたものとする。また、経由地点として、部屋「う」、部屋「え」が設定されたものとする。
このような条件で経路の探索を行うと、以下の3つのエッジ列で表される経路(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)
なお、部屋「え」に含まれるエッジi、エッジj、及びエッジkについては、上記経路(2)及び(3)がそれぞれ通過するようになっている。
一方、部屋「う」は出入口がエッジdのみであり、部屋「う」に含まれるエッジe又はエッジfを通過する経路は抽出されていない。そこで、通過できなかった部屋「う」のエッジ上の任意の点から、上記の経路(2)又は(3)上のノードまで経路探索を行う。ここでは、経路(3)を用いて説明する。このような条件で経路を探索すると、図39A及び図39Bに示すような経路が見つかる。なお、図中の三角印は、経由地点を示すものとする。すなわち、以下の2つのエッジ列で表される経路(4)、(5)が見つかる。
(4)エッジe,d(エッジ数2)
(5)エッジe,f,d(エッジ数3)
次に、経由地点の部屋「う」から探索して見つかった経路(4)及び(5)と、上記の経路(3)との交点のノードで、上記の経路(3)を分割する。例えば、上記の経路(2)は、以下の2つのエッジ列(3−1)及び(3−2)に分割される。
(2−1)エッジa,c(エッジ数2)
(2−2)エッジg,h,i,j,l,p,r,s,t(エッジ数9)
そして、分割されたエッジ列の間に、部屋「う」を経由するためのエッジ列(4)及び(5)を挿入する。なお、経由地点の「う」からの経路が複数見つかった場合は、任意の2つの経路を構成するエッジ列を挿入し、部屋「う」からの経路が1つしか見つからなかった場合は、当該経路を往復するエッジ列を挿入するものとする。例えば、上記のエッジ列(2−1)及び(2−2)の間に上記の経路(4)及び(5)を挿入し、図40n示すような経路(6)を生成する。経路(6)をエッジ列で表すと以下のようになる。このように、エッジd及びエッジeを2回通過することで、行き止まりの部屋「う」を通過する経路を生成することができる。
(6)エッジa,c,d,e,e,f,d,g,h,i,j,l,p,r,s,t(エッジ数16)
なお、経由地点として部屋を指定する代わりに、出発地点や到着地点と同様に間取図上の一点を指定するようにしてもよい。この場合、例えば、出発地点から経由地点までの第1の経路と、経由地点から到着地点までの第2の経路とを探索するようにしてもよい。第1の経路と第2の経路とを接続することにより、経由地点を通過する経路が生成される。この時、第1の経路の終点に於ける方向(終点直前の経路上の点から終点に向かうベクトル)と第2の経路の始点に於ける方向(始点から経路を少し進んだ点へのベクトル)が一致もしくは近い方向になるように第1及び第2の経路を選ぶと滑らかな経路が生成できる。
<より滑らかな経路の作成>
図41は、上述した実施形態に係る経路探索によって求められた経路の一例を示す図である。実施形態の処理で生成される経路は、家具などの障害物を避けながら歩行する経路を求めるのに適している。しかしながら、家具などが置かれていない部屋では、振らつく様な経路候補が生成される場合がある。また、ノイズの除去の変形例に示した処理によれば、部屋の中心から部屋の隅に向かう放射状の経路候補が生成されるため、一旦部屋の中心に戻るような経路候補が得られることがある。
そこで、本変形例では、平滑化処理のS41〜S43(図25)に於いてパスを折れ線で近似する際、できるだけ方向を変えずに直線で接続する折れ線を生成する。具体的には、まず、平滑化部107は、最初にパスの両端を直線で結び、その間に通過できない箇所が無いか判断する。そして、経路上に通行できない箇所が無い場合、パスを折れ線で近似せずに、そのまま直線で結ぶようにする。また、通過できない箇所があった場合、パスの始点からできるだけ遠くのノードであって始点と結んだ直線が通過できない箇所と衝突しないノードを抽出し、始点から抽出されたノードまでを直線で結ぶ。その後、抽出されたノードから終点までの間について、同様の処理を繰り返す。例えば、始点から、終点の1つ手前のノード、終点の2つ手前のノード、・・・・、始点から1つ先のノードから終点、の間に通行できない箇所があるかどうかを順次確認し、ノード間に通行できない箇所がなければ、そのノード間は直線で結ぶ。このように、もとの経路を近似する際、通行できない箇所と衝突しない折れ線の経路を生成する。
その後、S44(図25)以降の曲線変換を行う事で、不必要な振らつきを減少させることができる。図42は、本変形例により生成された折れ線を用いた場合の経路の一例を示す図である。始点及び終点は、図41に示した経路と同じである。また、家具等を避けて移動する左下の室内における経路は図41の経路とほぼ同様である。しかし、経路上に障害物のない廊下や右上の室内においては、よりなめらかな経路が生成されている。
<ウォークスルーの表示>
図3のS7に示した通り、ウォークスルー表示部108は、平滑化された間取図上の経路に基づいて、三次元モデル内を移動するウォークスルーの表示を行う。なお、表示に用いる経路は、探索により見つかった複数の経路のいずれかをユーザが指定するようにしてもよいし、距離が最短の経路を採用するようにしてもよい。なお、探索により見つかった複数の経路をユーザに提示する場合、例えば図29に示すように間取図上に経路を1つずつ提示し、ウォークスルーの表示に用いる経路をユーザが選択できるようにしてもよい。
ウォークスルーの表示においては、ユーザの視点で建築物内を移動するため、カメラの視線方向は所定距離(例えば、100cm)先の経路上の点に向けることで自然な移動を表現することができるようになる。また、扉等の建具や階段に近づく場合は、所定距離先の経路上でなく扉等の建具や階段の進行方向に視線を固定したり、扉や階段の手前で一旦停止し、扉を開けてから通過するといった、自然な移動を表現することができるようになる。
ユーザに提示する経路を決める方法や、経路をユーザに提示する順序を決める方法は、始点から終点までの距離が短い経路を優先的に提示してもよいし、幅の広い通路を通過する経路を優先的に提示したり、通過する扉の数が少ない経路を優先的に提示するようにしてもよい。また、これらの条件の組み合わせによって、ユーザに提示する経路を決めるようにしてもよい。
幅の広い通路を通過する経路を優先的に提示する場合、例えば、図9を用いて説明したS12で生成するマップを用いて、通過可能な領域の外縁からの距離に応じてエッジに重みづけする。エッジへの重みづけは、当該エッジと重なるマップ上のセルの重みの平均値や最大値、最小値等を用いるようにしてもよい。そして、始点から終点までの距離を算出する際、重みに応じた値を乗じることで、距離は遠くても幅が広く通行し易い経路が優先的に提示されるようになる。
通過する扉の数が少ない経路を優先的に提示する場合、例えば、図7に示したような経路探索用画像において扉を示すセルを通過する経路ほど優先度が下がるように重みづけをする。このようにすれば、同程度の距離の経路が見つかった場合、通過する扉の数が少ない経路が優先的に提示されるようになる。
<その他>
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやROM等がある。
1 経路生成装置
101 記憶部
102 間取図読出部
103 セル分割部
104 細線化部
105 グラフ生成部
106 経路探索部
107 平滑化部
108 ウォークスルー表示部

Claims (9)

  1. 住宅の構成要素の種別を表す情報を含む間取図のデータに基づき、平面を所定の大きさの格子状に区切って形成されるセルを生成し、当該セルの各々に前記構成要素の種別を表す情報を設定するセル分割ステップと、
    前記セルに設定された前記構成要素の種別を表す情報を読み出し、前記構成要素の種別に対応付けて予め定められている当該構成要素上の通過の可否に基づいて通過できる領域の外縁を特定し、当該通過できる領域を細線化した通路のデータを生成する細線化ステップと、
    前記細線化ステップにおいて生成した通路のデータに基づいて、通路における端点又は交点を示すノードと、当該ノード間を接続するエッジとを含むグラフを生成するグラフ生成ステップと、
    ユーザからの入力に基づいて始点及び終点を設定し、前記グラフ生成ステップにおいて生成されたグラフを用いて、前記始点から前記終点までのパスを探索する経路探索ステップと、
    をコンピュータに実行させる経路生成プログラム。
  2. 前記経路探索ステップにおいて得られたパスに基づいて、当該パスを曲線に変換して移動経路を生成する平滑化ステップと、
    前記平滑化ステップにおいて生成された移動経路について、当該移動経路が通過する前記セルに設定された前記構成要素の種別を表す情報を読み出し、当該構成要素の種別に対応付けて予め定められている当該構成要素上の通過の可否に基づいて、前記移動経路と通過できない構成要素との衝突の有無を判断する衝突判定ステップと、
    前記衝突判定ステップにおいて、前記移動経路と通過できない構成要素との衝突があると判断された場合、前記移動経路上の点における曲率を変更する曲線修正ステップと、
    をさらにコンピュータに実行させる請求項1に記載の経路生成プログラム。
  3. 前記間取図のデータは、前記種別が扉又は階段である構成要素を含み、
    前記平滑化ステップにおいて、前記構成要素の種別が扉又は階段であるセルに対応する位置に存在するノードを少なくとも頂点として、前記パスを近似する折れ線を生成し、当該折れ線の頂点に基づいて前記移動経路を生成する
    請求項2に記載の経路生成プログラム。
  4. 前記経路探索ステップにおいて、ユーザからの入力に基づいて経由点をさらに設定し、得られた前記始点から前記終点までの第1のパスがいずれも前記経由点を通過しない場合、前記経由点から前記第1のパスに含まれるノードまでの第2のパスをさらに探索し、前記第1のパスと前記第2のパスとを連結して前記始点から前記終点までのパスを生成する
    請求項2又は3に記載の経路生成プログラム。
  5. 前記間取図のデータが示す建築物の三次元モデルを描画し、当該三次元モデルにおいて視点を前記移動経路に沿って移動させるとともに、所定距離先の前記移動経路上に視線の先を向ける表示ステップ
    をさらにコンピュータに実行させる請求項2から4のいずれか一項に記載の経路生成プログラム。
  6. 前記経路探索ステップにおいて、所定の距離以下でループするノード列が存在する場合、当該ノード列を1つの仮想ノードに置換して経路の探索を行う
    請求項1から5のいずれか一項に記載の経路生成プログラム。
  7. 前記間取図のデータは、前記構成要素として当該構成要素上を通過できない家具のデー
    タを含む
    請求項1から6のいずれか一項に記載の経路生成プログラム。
  8. 住宅の構成要素の種別を表す情報を含む間取図のデータに基づき、平面を所定の大きさの格子状に区切って形成されるセルを生成し、当該セルの各々に前記構成要素の種別を表す情報を設定するセル分割ステップと、
    前記セルに設定された前記構成要素の種別を表す情報を読み出し、前記構成要素の種別に対応付けて予め定められている当該構成要素上の通過の可否に基づいて通過できる領域の外縁を特定し、当該通過できる領域を細線化した通路のデータを生成する細線化ステップと、
    前記細線化ステップにおいて生成した通路のデータに基づいて、通路における端点又は交点を示すノードと、当該ノード間を接続するエッジとを含むグラフを生成するグラフ生成ステップと、
    ユーザからの入力に基づいて始点及び終点を設定し、前記グラフ生成ステップにおいて生成されたグラフを用いて、前記始点から前記終点までのパスを探索する経路探索ステップと、
    をコンピュータが実行する経路生成方法。
  9. 住宅の構成要素の種別を表す情報を含む間取図のデータに基づき、平面を所定の大きさの格子状に区切って形成されるセルを生成し、当該セルの各々に前記構成要素の種別を表す情報を設定するセル分割部と、
    前記セルに設定された前記構成要素の種別を表す情報を読み出し、前記構成要素の種別に対応付けて予め定められている当該構成要素上の通過の可否に基づいて通過できる領域の外縁を特定し、当該通過できる領域を細線化した通路のデータを生成する細線化部と、
    前記細線化部が生成した通路のデータに基づいて、通路における端点又は交点を示すノードと、当該ノード間を接続するエッジとを含むグラフを生成するグラフ生成部と、
    ユーザからの入力に基づいて始点及び終点を設定し、前記グラフ生成部が生成したグラフを用いて、前記始点から前記終点までのパスを探索する経路探索部と、
    を備える経路生成装置。
JP2015163192A 2015-08-20 2015-08-20 経路生成プログラム、経路生成方法及び経路生成装置 Active JP6304771B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2015163192A JP6304771B2 (ja) 2015-08-20 2015-08-20 経路生成プログラム、経路生成方法及び経路生成装置
PCT/JP2016/069252 WO2017029888A1 (ja) 2015-08-20 2016-06-29 経路生成プログラム、経路生成方法及び経路生成装置
CN201680001545.1A CN108027985B (zh) 2015-08-20 2016-06-29 存储介质、路径生成方法和路径生成装置
CA2949867A CA2949867C (en) 2015-08-20 2016-06-29 Route generation program, route generation method and route generation apparatus
US15/314,899 US10139236B2 (en) 2015-08-20 2016-06-29 Route generation program, route generation method and route generation apparatus
HK18113785.2A HK1254534A1 (zh) 2015-08-20 2018-10-29 路徑生成程序、路徑生成方法和路徑生成裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015163192A JP6304771B2 (ja) 2015-08-20 2015-08-20 経路生成プログラム、経路生成方法及び経路生成装置

Publications (2)

Publication Number Publication Date
JP2017041149A true JP2017041149A (ja) 2017-02-23
JP6304771B2 JP6304771B2 (ja) 2018-04-04

Family

ID=58051669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015163192A Active JP6304771B2 (ja) 2015-08-20 2015-08-20 経路生成プログラム、経路生成方法及び経路生成装置

Country Status (6)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020038657A (ja) * 2018-09-05 2020-03-12 楽天株式会社 人工知能を用いるコンピュータ実施方法、aiシステム、及びプログラム
KR102531141B1 (ko) * 2022-03-16 2023-05-11 주식회사 플럭시티 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템

Families Citing this family (15)

* 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 贝壳找房(北京)科技有限公司 在虚拟三维空间讲房模式进功能间的方法、服务器和终端
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 日本電産株式会社 自律走行装置および自律走行装置の制御方法
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 中国人民解放军国防科技大学 一种面向单调流式图的优先级异步调度方法及系统

Citations (3)

* 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 移動経路設定装置、移動経路設定プログラム
US8346474B2 (en) * 2008-08-28 2013-01-01 Honeywell International Inc. Method of route retrieval

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657852B2 (en) * 2005-08-16 2010-02-02 Pulsic Limited System and technique of pattern matching and pattern replacement
US8588958B2 (en) * 2007-09-04 2013-11-19 Musashi Engineering, Inc. Moving program making-out program and device
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
US20150266182A1 (en) * 2012-10-11 2015-09-24 Abb Technology Ltd Method And An Apparatus For Automatically Generating A Collision Free Return Program For Returning A Robot From A Stop Position To A Predefined Restart Position
KR101480721B1 (ko) * 2013-03-05 2015-01-09 주식회사 다비오 유저 기반의 지도 제작 장치
CN104236548B (zh) * 2014-09-12 2017-04-05 清华大学 一种微型无人机室内自主导航方法
CN104346453A (zh) * 2014-10-29 2015-02-11 北京交控科技有限公司 一种ats应用路线搜索方法和系统
CN104535960B (zh) * 2014-12-29 2017-01-11 华南理工大学 一种基于rfid的室内快速定位方法

Patent Citations (3)

* 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 移動経路設定装置、移動経路設定プログラム
US8346474B2 (en) * 2008-08-28 2013-01-01 Honeywell International Inc. Method of route retrieval

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020038657A (ja) * 2018-09-05 2020-03-12 楽天株式会社 人工知能を用いるコンピュータ実施方法、aiシステム、及びプログラム
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
KR102531141B1 (ko) * 2022-03-16 2023-05-11 주식회사 플럭시티 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템
WO2023177113A1 (ko) * 2022-03-16 2023-09-21 주식회사 플럭시티 웹기반 디지털트윈 환경에서의 맵 토폴로지 구축 방법 및 시스템

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6304771B2 (ja) 経路生成プログラム、経路生成方法及び経路生成装置
KR102231665B1 (ko) 이미지 처리
JP4251545B2 (ja) 移動ロボット用経路計画システム
KR101706664B1 (ko) 실내 대피경로 안내 시스템 및 방법
Díaz-Vilariño et al. Indoor navigation from point clouds: 3D modelling and obstacle detection
JP2008083112A (ja) ネットワークデータ生成装置、ネットワークデータ生成プログラム、携帯端末及びデータ構造
CN110909961B (zh) 基于bim的室内路径查询方法及装置
Whiting et al. Topology of urban environments
CN109374005B (zh) 一种基于船舶vr模型的船舶内部路径规划方法
EP3276513A1 (en) A method and an apparatus for calculating a distance in an area
CN114777793B (zh) 一种面向任意导航主体的bim地图提取及路径规划方法
Gorte et al. Navigation in indoor voxel models
JP5058905B2 (ja) 地図表示装置およびシステム
JP6059030B2 (ja) ネットワークデータ生成システム、方法、及びプログラム
KR100912398B1 (ko) 건물 내부 공간에 대한 3차원 지리 정보의 생성 방법 및장치
JP3534228B2 (ja) 目的地案内装置
Preece et al. A video game-inspired approach for a pedestrian guidance system within a railway station
CN114894198A (zh) 一种基于商场三维导航地图的导航方法和系统
RU2014145708A (ru) Способ построения маршрута передвижения на пересеченной местности
KR20230140131A (ko) 나선형 최적화 기법과 황금 분할 탐색 기법을 활용한 베지어 곡선 기반의 지역 경로 계획 방법
JP6900333B2 (ja) ネットワークデータ生成装置、ネットワークデータ生成方法、およびプログラム
CN110672098A (zh) 室内导航线模型获取方法、装置、设备以及存储介质
KR101898190B1 (ko) 이동 로봇 및 주행 환경을 고려한 이동 로봇의 경로 생성 방법
US11562513B2 (en) Center line simplification device, network data generation system and program
WO2020085261A1 (ja) 中心線生成装置、ネットワークデータ生成システム、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180301

R150 Certificate of patent or registration of utility model

Ref document number: 6304771

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350