JP2023538946A - マルチエージェント地図生成 - Google Patents

マルチエージェント地図生成 Download PDF

Info

Publication number
JP2023538946A
JP2023538946A JP2023513534A JP2023513534A JP2023538946A JP 2023538946 A JP2023538946 A JP 2023538946A JP 2023513534 A JP2023513534 A JP 2023513534A JP 2023513534 A JP2023513534 A JP 2023513534A JP 2023538946 A JP2023538946 A JP 2023538946A
Authority
JP
Japan
Prior art keywords
nodes
frame
graph
processing devices
edges
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.)
Pending
Application number
JP2023513534A
Other languages
English (en)
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.)
Commonwealth Scientific and Industrial Research Organization CSIRO
Original Assignee
Commonwealth Scientific and Industrial Research Organization CSIRO
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
Priority claimed from AU2020903029A external-priority patent/AU2020903029A0/en
Application filed by Commonwealth Scientific and Industrial Research Organization CSIRO filed Critical Commonwealth Scientific and Industrial Research Organization CSIRO
Publication of JP2023538946A publication Critical patent/JP2023538946A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/3867Geometry of map features, e.g. shape points, polygons or for simplified maps
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/7625Hierarchical techniques, i.e. dividing or merging patterns to obtain a tree-like representation; Dendograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2101/00UAVs specially adapted for particular uses or applications
    • B64U2101/30UAVs specially adapted for particular uses or applications for imaging, photography or videography
    • B64U2101/32UAVs specially adapted for particular uses or applications for imaging, photography or videography for cartography or topography
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Image Analysis (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • User Interface Of Digital Computer (AREA)
  • Traffic Control Systems (AREA)
  • Instructional Devices (AREA)
  • Navigation (AREA)

Abstract

環境の地図を生成するシステムであって、システムは複数のエージェントを含み、複数のエージェントは、距離センサを含む地図作成システムにより捕捉された地図作成データを取得する。地図作成データは、環境の三次元表現を示し、環境の部分を表現するフレームを生成するのに使用される。エージェントは、他のエージェントから他のフレームデータを受信し、他のフレームデバイスは、他のエージェントの地図作成システムにより捕捉された他の地図作成データを使用して生成された環境の部分を表す他のフレームを示す。次いで各エージェントは、フレーム及び他のフレームを使用して、環境の各部分を示すノードを生成し、ノードを相互接続するエッジを計算することにより、環境の地図を表すグラフを生成し、エッジはノード間の空間オフセットを示す。

Description

本発明は、環境の地図を生成するシステム及び方法に関し、特に、環境内の複数のエージェントを使用して環境の地図を生成するシステム及び方法に関する。
本明細書における任意の先行公開(若しくはそこから導出される情報)又は既知の任意の事柄への参照も、その先行公開(若しくはそこから導出される情報)又は既知の任意の事柄が、本明細書が関連する努力分野における一般知識の一部をなすことの承認、認可、又はあらゆる形態の示唆ではなく、そのようなものとして決して解釈されるべきではない。
三次元(3D)地図作成システムを装備した自律車両等のエージェントを使用して、環境の地図を生成することが知られている。そのようなシステムは典型的には、LiDAR距離スキャナ等の距離センサを使用し、距離センサは、反射されたレーザ光を測定して、環境の部分の距離を見つけ、そしてこの情報は、点群の作成に使用される。例えば同時自己位置推定・地図作成(SLAM)アルゴリズムを使用した距離データの適宜分析により、エージェントは環境内で自己位置推定することができ、環境の地図を生成しながら、エージェントが環境内をナビゲートできるようにする。
そのような地図の生成は幾つかの不正確性を受ける。例えば、環境内のエージェントの軌跡は多くの場合、慣性センサを使用して追跡され、慣性センサはドリフトを受け、その上、距離検知プロセス及び生成されたデータの分析における不正確性は、完全には正確ではない地図に繋がり得る。更なる問題は、環境を走行し地図作成プロセスに時間がかかり得ることであり、これは特に、捜索救助状況等の用途で問題である。さらに、幾つかの場合、環境は走行が困難なことがあり、エージェントが、それ自体の固有の能力に起因して環境の一部しか走行できないことを意味する。これは、環境の幾つかの部分の地図作成を妨げるのみならず、生成される地図の正確性にも影響し得、例えば、地図の正確性改善を支援することができるループ閉じ込みを妨げ得る。
複数のエージェントを使用して地図作成を実行する試みがなされてきたが、これらは、単一の大域地図を生成するオフラインバッチ手法に頼る。これは正確な地図を生成することができるが、主に、他の要件を織り込んだ後、問題にとって実現不可能になる計算要件の線形増大に繋がる記帳要件の結果として、上手く拡大縮小されず、一定の時間期間後、リアルタイムで実行することができず、容易に共有されない。
広義の一形態において、本発明の一態様は、環境の地図を生成するシステムを提供しようとし、本システムは複数のエージェントを含み、各エージェントは1つ又は複数の処理デバイスを含み、1つ又は複数の処理デバイスは、距離センサを含む地図作成システムにより捕捉された地図作成データを取得することであって、地図作成データは、環境の三次元表現を示す、取得することと、地図作成データを使用して環境の部分を表現するフレームを生成することと、1つ又は複数の他のエージェントから他のフレームデータを受信することであって、他のフレームデータは、1つ又は複数の他のエージェントの地図作成システムにより捕捉された他の地図作成データを使用して生成された環境の部分を表す他のフレームを示す、受信することと、環境の地図を表すグラフを生成することであって、フレーム及び他のフレームを使用してノードを生成することであって、各ノードは環境の各部分を示す、生成すること、及びノードを相互接続するエッジを計算することであって、エッジはノード間の空間オフセットを示す、計算すること、を行うことにより、グラフを生成することと、を行うように構成される。
一実施形態において、各エージェントは、エージェントにより捕捉された地図作成データを使用して基づき生成されたフレーム、及び1つ又は複数の他のエージェントにより捕捉された他の地図作成データを使用して生成された他のフレーム、に基づいて独立した各グラフを維持する。
一実施形態において、1つ又は複数の処理デバイスは、フレームを使用して初期グラフを生成することと、追加のノード又はエッジを生成すること、及びグラフ内のエッジを改良することの少なくとも一方を行うことにより、追加のフレーム及び他のフレームを使用してグラフを更新することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、エージェントが走行した軌跡を少なくとも部分的に使用してグラフを決定するように構成される。
一実施形態において、各エージェントにより生成されるグラフは、エージェントが走行した局所的に正確な軌跡に基づき、他のエージェントにより生成されたグラフと大域的に一貫する。
一実施形態において、1つ又は複数の処理デバイスは、1つ又は複数の慣性位置センサ、及び距離センサからの信号の使用、の少なくとも一方を使用して軌跡を特定するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、少なくとも部分的に軌跡を使用してノードを相互接続するエッジを計算するように構成される。1つ又は複数の処理デバイスは、地図作成データを区分化することによりフレームを生成するように構成される、請求項1~7の何れか一項に記載のシステム。
一実施形態において、1つ又は複数の処理デバイスは、地図作成データの捕捉時間、地図作成データの捕捉持続時間、地図作成データの捕捉中に走行した距離、地図作成データの捕捉中に走行した回転、及び地図作成データのカバレッジ、の少なくとも1つに基づいてフレームを生成するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、エージェントが走行した軌跡を区分化することと、軌跡区分を使用してフレームを生成することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、フレームを分析することと、分析の結果に基づいてノードを生成することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、幾つかの親ノードを生成することであって、各親ノードは環境の異なる部分を表す、生成することと、幾つかの子ノードを生成することであって、各子ノードは親ノードと関連し、関連する親ノードにより表される環境の部分と同であるか、又は部分と重複する環境の部分を表す、生成することと、を行うように構成される。
一実施形態において、子ノードは、一定の幾何学的変換を通して親ノードに関連する。
一実施形態において、1つ又は複数の処理デバイスは、ノードと関連するフレーム間の重複の程度、及びノードと関連するフレームの捕捉間の移動の程度、の少なくとも一方に基づいて子ノード及び親ノードを識別するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、親ノード間に延びるエッジを計算して、グラフを生成するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、ノード間のエッジを生成することと、エッジが子ノードに接続される場合、子ノードと関連する親ノードまでエッジを伸ばすことと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、子ノードと親ノードとの間の幾何学的変換を使用してエッジを伸ばすように構成される。
一実施形態において、1つ又は複数の処理デバイスは、ノード間のエッジを計算することと、反復最適化プロセスを使用してエッジを改良することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、局所化ドリフト手法、ループ閉じ込み、及び場所認識の少なくとも1つを使用してエッジを計算するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、エージェントが走行した軌跡を使用することによりエッジを計算して、ノード間の空間オフセットを計算するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、位置合わせプロセスを使用して、異なるノードのフレームを位置合わせすることと、位置合わせを使用してエッジを計算することと、を行うことによりエッジを計算するように構成される。
一実施形態において、1つ又は複数処理デバイスは、反復最近傍点アルゴリズムを使用して位置合わせプロセスを実行するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、マッチングプロセスを使用して、潜在的に一致するノードを識別することと、潜在的に一致するノードを使用して、ループ閉じ込み及び場所認識の少なくとも一方を実行することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、ノードを1つ又は複数の他のノードと比較することと、比較の結果に基づいてランキングを生成することであって、ランキングは、ノードと1つ又は複数の他のノードとの間の類似度を示す、生成することと、を行うことによりマッチングプロセスを実行するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、ノードのシグネチャを計算することであって、シグネチャは、ノードと関連するフレームの1つ又は複数の特徴に基づく、計算することと、シグネチャを他のノードの他のシグネチャと比較することと、を行うことにより、ノードを1つ又は複数の他のノードと比較するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、ノードと関連するフレームの低次元表現を使用して、ノードのシグネチャを導出するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、ノードが環境の異なる部分を表し、親ノード又は子ノードとして指定することができるか否かの判断、グラフトポロジの生成、1つ又は複数のエッジの生成、ループ閉じ込みの実行、及び場所認識の実行、の少なくとも1つにランキングを使用するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、マッチングプロセスの結果を使用して1つ又は複数のグラフトポロジ候補を生成することと、グラフトポロジと関連するノード間の重複に基づいて、少なくとも1つのグラフトポロジ候補を検証することと、検証されたグラフトポロジに従って1つ又は複数のエッジを計算することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、1つ又は複数の新しいフレームを示すフレームデータを取得することと、新しい各フレーム対応するノード候補を生成することと、エッジ候補を計算することであって、エージェントが走行した軌跡、位置合わせプロセス、及びマッチングプロセス、の少なくとも1つを使用して計算する、計算することと、グラフを更新することであって、ノード候補に基づいて1つ又は複数のノードを追加すること、及びエッジ候補に基づいて1つ又は複数のエッジを追加又は更新すること、の少なくとも一方により更新する、更新することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、グラフにおける変更を識別することであって、変更は、ノードの追加、エッジの追加、及びエッジの更新の少なくとも1つを含む、識別することと、グラフにおける変更を評価することと、評価の結果に基づいてグラフを選択的に更新することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、グラフの少なくとも幾つかの部分と関連する信頼値を計算することと、信頼値に基づいてグラフを選択的に更新することと、を行うように構成される。
一実施形態において、ノードが新しいノードであるか、又は新しいエッジの近傍にある場合、1つ又は複数の処理デバイスは、近傍のノード及びエッジと関連する信頼値を査定することと、信頼値が閾値を超える場合、近傍のノード及びエッジとの位置合わせマッチングを実行することと、位置合わせマッチングの結果に基づいて新しいエッジを生成することと、信頼値が閾値を下回る場合、マッチングを実行して、潜在的に一致するノードを識別することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、グラフにおけるエッジと関連する推定誤差を計算することと、推定誤差に基づいて信頼値を生成すること及び少なくとも部分的に推定誤差を使用してグラフを最適化することの少なくとも一方を行うことと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、高推定誤差を有するエッジを識別することと、グラフ予測を使用して、識別されたエッジを検証することと、を行うことにより最適化を実行するように構成される。
一実施形態において、1つ又は複数の処理デバイスは、グラフが結果に収束するまで、最適化手法を使用してグラフを繰り返し解くように構成される。
一実施形態において、1つ又は複数の処理デバイスは、エッジの最小二乗誤差を最適化するエッジの制約に基づいてグラフを解くことと、エッジと関連する誤差を更新することと、グラフが収束するまで、解くステップ及び更新するステップを繰り返すことと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、1つ又は複数の他のエージェントからフレームマニフェストを取得することであって、フレームマニフェストは、1つ又は複数の他のエージェントが利用可能なフレームを示す、取得することと、フレームマニフェストに従って1つ又は複数の他のエージェントからフレームを要求することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、1つ又は複数の他のエージェントからマニフェスト要求を受信することと、マニフェスト要求に応答してフレームマニフェストを提供することと、を行うように構成される。
一実施形態において、1つ又は複数の処理デバイスは、1つ又は複数の他のエージェントからフレーム要求を受信することであって、フレーム要求は1つ又は複数の要求されたフレームを示す、受信することと、フレーム要求に応答してフレームデータを提供することと、を行うように構成される。
一実施形態において、フレームのフレームデータは、フレームのより低次元の表現、及びフレームのサーフェル表現、の少なくとも一方である。
一実施形態において、エージェントは自律車両を含む。
広義の一形態において、本発明の一態様は、環境の地図を生成する方法を提供しようとし、本方法は、各々が1つ又は複数の処理デバイスを含む複数のエージェントにおいて、距離センサを含む地図作成システムにより捕捉された地図作成データを取得することであって、地図作成データは、環境の三次元表現を示す、取得することと、地図作成データを使用して環境の部分を表現するフレームを生成することと、1つ又は複数の他のエージェントから他のフレームデータを受信することであって、他のフレームデータは、1つ又は複数の他のエージェントの地図作成システムにより捕捉された他の地図作成データを使用して生成された環境の部分を表す他のフレームを示す、受信することと、環境の地図を表すグラフを生成することであって、フレーム及び他のフレームを使用してノードを生成することであって、各ノードは環境の各部分を示す、生成すること、及びノードを相互接続するエッジを計算することであって、エッジはノード間の空間オフセットを示す、計算すること、を行うことにより、グラフを生成することと、を含む。
広義の一形態において、本発明の一態様は、環境の地図を生成するコンピュータプログラム製品を提供しようとし、本コンピュータプログラム製品はコンピュータ実行可能コードを含み、コンピュータ実行可能コードは、複数のエージェントに提供される1つ又は複数の適宜プログラムされた処理デバイスで実行されると、1つ又は複数の処理デバイスに、距離センサを含む地図作成システムにより捕捉された地図作成データを取得することであって、地図作成データは、環境の三次元表現を示す、取得することと、地図作成データを使用して環境の部分を表現するフレームを生成することと、1つ又は複数の他のエージェントから他のフレームデータを受信することであって、他のフレームデータは、1つ又は複数の他のエージェントの地図作成システムにより捕捉された他の地図作成データを使用して生成された環境の部分を表す他のフレームを示す、受信することと、環境の地図を表すグラフを生成することであって、フレーム及び他のフレームを使用してノードを生成することであって、各ノードは環境の各部分を示す、生成すること、及びノードを相互接続するエッジを計算することであって、エッジはノード間の空間オフセットを示す、計算すること、を行うことにより、グラフを生成することと、を行わせる。
本発明の広義の形態及びそれらの各特徴が併せて使用されてもよく、且つ/又は独立して使用されてもよく、別個の広義の形態への言及が限定を意図しないことが理解されよう。さらに、本方法の特徴がシステム又は装置を使用して実行することが可能であり、システム又は装置の特徴が方法を使用して実施することが可能なことが理解されよう。
本発明の種々の例及び実施形態について添付図面を参照してこれより説明する。
環境の地図作成システムの一例の模式図である。 環境の地図作成方法の一例のフローチャートである。 エージェントの更なる例の模式図である。 環境の地図作成方法の更なる例のフローチャートである。 グラフの一例の最適化の一例を示す模式図である。 グラフの一例の最適化の一例を示す模式図である。 グラフの一例の最適化の一例を示す模式図である。 グラフの一例の最適化の一例を示す模式図である。 グラフの一例の最適化の一例を示す模式図である。 ノードをグラフに追加する方法の一例のフローチャートである。 グラフの一例への子ノードの追加の一例を示す模式図である。 グラフの一例への子ノードの追加の一例を示す模式図である。 グラフの一例への子ノードの追加の一例を示す模式図である。 グラフの一例への子ノードの追加の一例を示す模式図である。 グラフエッジを生成する方法の一例のフローチャートである。 他のエージェントから他のフレームを取得する方法の一例のフローチャートである。 異なるフレーム間の関係を特定する手法の例を示す模式図である。 異なるフレーム間の関係を特定する手法の例を示す模式図である。 異なるフレーム間の関係を特定する手法の例を示す模式図である。 異なるフレーム間の関係を特定する方法の一例のフローチャートである。 環境の地図作成方法の具体例のフローチャートである。 環境の地図作成方法の具体例のフローチャートである。 環境の地図作成方法の具体例のフローチャートである。
環境の地図作成システムの一例について図1を参照してこれより説明する。
この例では、システム100は、環境E内に複数のエージェント110を含む。エージェント110の性質及び数は、環境Eの性質及び特定の用途等の様々な要因に応じて様々である。例えば、エージェント110は、自律車両、ロボット、無人航空機(UAV)等を含むことができるが、個人(人間)又は車両により運ばれる地図作成システムを含むこともできる。同じタイプの複数のエージェントを使用することができるが、他の例では、異なるタイプのエージェントの組合せを使用することができ、異なる形態の移動を使用して、例えば航空ドローンと地上ドローンとの組合せを使用して、環境の異なる部分を走行することが可能になる。環境Eは自然環境であるとともに、屋外エリア等、オープンであってもよく、又は洞窟等、囲まれていてもよい。環境Eは追加且つ/又は代替として、建物、地下鉱山等の建築された環境であってもよく、又は自然環境と建築された環境との組合せであってもよい。
エージェント110の性質を問わず、各エージェント110は典型的には、LiDARセンサ、立体視システム等の距離センサを含む地図作成システム112を含む。さらに、各エージェントは、典型的には1つ又は複数の処理システムの一部をなす1つ又は複数の電子処理デバイス111を含み、1つ又は複数の処理デバイス111は、地図作成システム112の距離センサから信号を受信し、これらを使用して、環境の地図を生成し、且つ/又は環境を通るエージェントのナビゲーションを制御するように構成される。特定の一例において、これは、エージェントにSLAM型アルゴリズムを実施させて、同時自己位置推定及び地図作成を実行させることを含む。
各エージェントは複数の処理デバイスを使用することができ、処理はデバイスの1つ又は複数により実行されるが、説明を容易にするために、以下の例では単一の処理デバイスを参照する。それにも関わらず、単一の処理デバイスの参照が、複数の処理デバイスを包含し、その逆も同様であることが理解されるべきであることが理解され、処理はデバイス間に適宜分散される。さらに、処理デバイスは、任意の適した形態であることができ、マイクロプロセッサ、マイクロチッププロセッサ、論理ゲート構成、FPGA(フィールドプログラマブルゲートアレイ)等の論理実装と任意に関連するファームウェア、又は任意の他の電子デバイス、システム、若しくは配置を含むことができる。
エージェントは、互いと通信し、情報を交換するようにも構成され、これは、無線ポイントツーポイント通信、通信ネットワークを介した通信等の任意の適した通信システムを使用して達成することができる。一例では、これは、ネットワークにおける各ノードとしてエージェントの各々を使用して確立される無線メッシュネットワークを使用して達成することができるが、これは必須ではなく、他の手法を使用することも可能である。
地図作成プロセスの一例について図2を参照してより詳細にこれより説明する。
この例では、ステップ200において、処理デバイス111は、地図作成システム112により捕捉された地図作成データを取得する。地図作成データは、環境の三次元表現を示し、点群等の形態であり得る。地図作成データは、地図作成システム112から直接受信してもよく、又はメモリ等から取り出されてもよい。地図作成データは、必要に応じて処理を受けて、例えば距離センサにより収集された距離情報を処理し、距離情報を点群又は他の同様のフォーマットに変換し得る。
ステップ210において、処理デバイス111は、地図作成データを使用して環境の部分を表現するフレームを生成する。個々のフレームは典型的には、地図作成データの一部から形成された部分地図を表し、定義された時間間隔中、定義されたエージェント走行量にわたって、等に収集された地図作成データを表し得る。
ステップ220において、処理デバイス111は、1つ又は複数の他のエージェント110から他のフレームデータを受信する。他のフレームデータは、1つ又は複数の他のエージェント110の地図作成システム112により捕捉された他の地図作成データを使用して生成された、環境Eの各部分を表す他のフレームを示す。これは、各エージェント110が典型的には、エージェントが走行中の環境Eの1つ又は複数の部分を表すフレームを生成し、次いでこれらのフレームを他のエージェントに送信し、各エージェントが環境全体の地図を確立できるようにすることが理解されよう。フレームは定期的に送信することができるが、より典型的には、要求に応答して送信され、それにより、より詳細に後述するように、送信帯域幅要件を最小化する。
エージェントが幾つかのフレームを有すると、処理デバイス111はフレームを使用して、環境の地図を表すグラフを生成する。これを達成するために、ステップ230において、処理デバイス111は、フレーム及び他のフレームを使用してノードを生成し、各ノードは環境の各部分を示す。これに続き、又は同時に、処理デバイス111は、ステップ240においてノードを相互接続するエッジも計算し、エッジはノード間の空間オフセットを示す。
地図を生成するプロセスは典型的には、例えばマッチング技法を使用することにより又は環境内のエージェントの移動を追跡することにより、環境の一意の部分に対応するフレームを識別することを含む。次いで、フレームの位置合わせの実行及び/又はエージェントの移動の追跡等の多様な異なる技法を使用して、これらのノード間の空間関係を識別することにより、ノードが生成される。
したがって、上記プロセスにより、各エージェントは、エージェントによって局所的に取得されたフレーム及び他のエージェントによりリモートに取得された他のフレームに基づいて、環境の地図を生成することができる。これにより、各エージェントはエージェントが走行した環境の部分を含む各地図を生成することができ、環境の他の部分は、他のエージェントから受信されたフレームに基づいて完成される。エージェントが環境内を移動するにつれて、このプロセスを続けることができ、それにより、各エージェントが環境の各自の地図を徐々に確立し、各エージェントが環境の部分しか走行していないにも関わらず、この地図が最終的に環境全体をカバーすることが理解されよう。したがって、上記手法により、各エージェントは、各エージェントが環境全体を走行する必要なく、環境全体の地図を作成することができる。
さらに、上記手法は地図作成の正確性改善に役立つことができる。これに関して、追加のフレームが利用可能になるにつれて、これらを新しいノードとして、関連する新しいエッジと共にグラフに組み込むことができる。次いで最適化手法はこの追加情報を使用することができ、それにより生成される地図は、追加されるフレームの数が増えるにつれて次第に正確になる。一例では、これは、より詳細に後述するように、計算されたエッジ内の誤差を最小化するように構成された反復最適化手法を使用して実行することができる。
各地図は各エージェントによって独立して構築されるため、これは、各地図が、他のエージェントによって生成された地図と比較してばらつき得ることを意味する。特に、任意の1つエージェントによって生成された地図は、他のエージェントによって生成されたグラフと大域的に一貫しながら、そのエージェントが走行した局所的に正確な軌跡に基づく。これは、エージェントが環境内の位置を全体としてより広く理解できるようにしながら、その周囲の局所環境内でのエージェントによる正確なナビゲーションのために地図を使用することができることを保証するのに役立つ。エージェントが、まだ走行していない環境の部分に移動するにつれて、大域地図を使用してルートを確立することができ、エージェント自体の内部地図は、エージェントが環境を通して移動するにつれて最適化され、それにより、そのエージェントの局所軌跡に基づいて地図の正確性を上げる。
上記から、これにより、複数のエージェントからのデータに依拠して環境の地図をより迅速に確立することができるとともに、地図が、例えば一種類のエージェントによっては走行することができない異なる地形をカバーできるようにすることが理解されよう。これは、様々な異なる地形及び/又は障害物を含む、それまで地図作成されていない広い領域を迅速に捜索する必要があり得る捜索救助状況等の用途で特に重要である。
さらに、エージェントが各自の地図を作成することにより、各エージェントは、環境内の自身の軌跡及び他のフレームへの関係を考慮に入れて地図を構築するプロセスを最適化して、地図の構築に必要な分析量を最小化することができ、そしてこれをスケーラブルにリアルタイムで実施できるようにする。これにより、既存の技法を使用しては達成できない、大規模環境内のリアルタイムでの地図作成及びナビゲーションを可能にする。
幾つかの更なる特徴についてこれより説明する。
先に触れたように、各エージェントは、そのエージェントによって捕捉された地図作成データを使用して生成されたフレームと、1つ又は複数の他のエージェントによって捕捉された他の地図作成データを使用して生成された他のフレームとに基づいて、それぞれ独立したグラフを維持する。
一例では、処理デバイスは、フレームを使用して初期グラフを生成し、次いで追加のノードを生成し、且つ/又はグラフ内にエッジを追加又はグラフ内のエッジを改良することにより、追加のフレーム及び他のフレームを使用してグラフを徐々に更新するように構成される。したがって、更なるフレームがエージェント又は他のエージェントによって取得されるにつれて、これらを地図に組み込むことができ、追加データとしての、環境の新しい部分に対応する新しいノード及び関連するエッジの追加及び既存のエッジの改良により、グラフの最適化を改良することができる。
一例では、処理デバイスは、少なくとも部分的に、エージェントが走行した軌跡を使用してグラフを決定するように構成され、これは、各エージェントによって生成されたグラフが局所的に正確な軌跡に基づくことを保証するのに役立つことができる。これに関して、処理デバイスは、典型的にはエージェントに搭載されて提供される1つ又は複数の慣性位置センサを使用して軌跡を特定して、ナビゲーションを支援するように構成することができ、且つ/又は距離センサからの信号を使用すること、例えばSLAMアルゴリズム等を使用して環境を通しての移動を追跡することを含むことができる。次いで、エージェントが走行した軌跡の知識を使用して、グラフにおいてノードを相互接続するエッジを計算することができる。例えば、エージェントによって捕捉されたフレームに基づく2つのノードの場合、処理デバイスは、フレーム捕捉間にエージェントが辿った軌跡を使用して、フレーム間の空間オフセットを推定し、ひいてはエッジを生成することができる。
追加且つ/又は代替として、エッジは、異なるフレーム間の位置合わせを調べることにより、例えば異なるノードのフレームにおける重複間の幾何学的変換を計算することにより生成することができる。一例では、これらのプロセスは併せて実行され、したがって、軌跡を使用して空間オフセットを推定し、2つのノード間のエッジ候補を生成し、これは2つのノード間の位置合わせを使用して改良される。
一例では、処理デバイスは、地図作成データを区分化することによってフレームを生成するように構成される。地図作成データを区分化するプロセスは、エージェントの性質及び好ましい実施等の要因に応じて、幾つかの方法のいずれか1つで実行することができる。例えば、区分化は、地図作成データの捕捉時間又は捕捉持続時間に基づいて実行することができ、例えば、5秒間隔等に基づいて地図作成データを区分化する。追加且つ/又は代替として、区分化は、地図作成データの捕捉中に走行された距離又は回転に基づいて実行することができ、例えば5~10mの走行ごとに又は30°を越える回転等に続けて新しいフレームを生成する。区分化は、地図作成データのカバレッジ等に基づいて実行することもできる。特定の一例では、処理デバイスは、エージェントが走行した軌跡を区分化し、次いで軌跡区分を使用してフレームを生成するように構成することができる。いずれの場合でも、使用される特定の手法が、環境の性質及び/又はエージェントの性質に応じて様々であり得、それにより、高速で移動するエージェントほど、より頻繁に区分化を実行し得ることが理解されよう。
フレームが生成されると、処理デバイスは、フレームを分析し、分析の結果に基づいてノードを生成するように構成することができる。ノードは、任意の適切な形態であることができ、典型的には、例えばノードに、メモリ内の他の場所に記憶されたフレームへのポインタを含ませることにより、各フレームと関連するデータの全てをノードの一部として記憶することを必要とせずに、フレームを表現するのに使用される。
各ノードは典型的には各フレームに生成される。しかしながら、かなりの重複があり、ひいてはフレーム間に冗長がある場合、正確な地図を生成するために、全てのフレームが必要とされるわけではなく、したがって、処理デバイスは、地図生成プロセスの一部として幾つかのフレームのみを処理するように構成される。
一例では、これは、他のフレームと大きく異なり、したがって地図生成に有意義に寄与するフレームのみのノードを生成することによって達成することができる。より典型的には、全てのフレームのノードが生成されるが、ノードの幾つかのみが地図最適化に使用される。これは任意の適した様式で達成することができるが、一例では、処理デバイスは、ノードを分析し、分析結果を使用して親ノード及び子ノードを生成するように構成される。親ノードは、環境の異なる部分を表すのに使用され、一方、子ノードは親ノードと関連し、関連する親ノードによって表される環境の部分と同じであるか、又は大きく重複する環境の部分を表す。したがって例えば、建物の地図を作成する場合、親ノードは、異なる部屋等の異なる各エリアに生成することができ、一方、部屋内で捕捉された異なるビューに対応する子ノードが生成される。このように親ノードと子ノードとを差別化することにより、例えば親ノード間に延びるエッジを計算してグラフを生成することにより、親ノードのみに基づいて最適化を実行することができ、それにより、地図を構築し最適化する計算複雑性を大幅に低減することができる。それにも関わらず、子ノードと関連する情報は保持することができ、必要な場合には利用されて、地図内の不明瞭さの解決を支援することができる。
処理デバイスは、好ましい実施に応じて幾つかの異なる手法を使用して、子ノードと親ノードとを差別化するように構成することができる。例えば、これは、ノードと関連するフレーム間の類似又は重複の程度に基づくことができ、又はノードと関連するフレームの捕捉間の移動の程度に基づくことができる。
一般に、子ノードは、例えば親ノード及び子ノードが捕捉されたときの異なる視点に基づいて、一定の幾何学的変換を通して親ノードと関連する。この場合、地図構築時、処理デバイスは、ノード間にエッジを生成し、エッジが子ノードに接続される場合、エッジをその子ノードと関連する親ノードに伸ばすように構成することができる。したがって例えば、子ノードの捕捉と別の親ノードの捕捉との間のエージェントの軌跡が既知である場合、これを使用して、子ノードと他の親ノードとの間にエッジを確立することができる。このエッジが作成されると、エッジは、子ノードと親ノードとの間の幾何学的変換を使用して、子ノードの親ノードに伸ばすことができ、それにより、エッジが親ノードと他の親ノードとの間に作成される。
地図作成時、処理デバイスは典型的には、ノード間のエッジを計算し、次いで反復最適化プロセスを使用してエッジを改良するように構成される。これに関して、エッジが最初に構築されるとき、これらは様々な不正確性を受ける。例えば、エッジが軌跡の慣性検知に基づいて生成される場合、これは、センサのドリフト又は不正確性等に起因して不正確であり得る。しかしながら、より詳細に後述するように、グラフ内の複数のエッジを調べ、異なるノード間の位置合わせ等のグラフの他の態様又は全体グラフトポロジを見ることにより、これを使用してエッジを再計算することができ、エッジの誤差を低減し、ひいては生成されるグラフの正確性を上げる。
処理デバイスは、局所化ドリフト(localised drift)手法、ループ閉じ込み、又は場所認識等の多様な技法を使用してエッジを計算するように構成することができる。これに関して、局所化ドリフト手法は典型的には、エージェントが走行した軌跡及び/又はノード間の位置合わせを調べ、一方、ループ閉じ込み及び場所認識は典型的には、位置合わせプロセスを使用してエッジを生成して、地図内のノードの類似性に基づいてマッチングを使用する。しかしながら、ループ閉じ込みは、捜索する半径はより大きいが、局所化ドリフト手法と同じように検出することもできることに留意する。
したがって、局所化ドリフト手法を実行する場合、処理デバイスは、エージェントが走行した軌跡を使用してノード間の空間オフセットを計算することにより、エッジを計算するように構成することができる。これに続き、位置合わせプロセスを使用して、異なるノードのフレームを位置合わせし、次いで位置合わせを使用してエッジを計算することができる。したがって、軌跡は、潜在的な空間オフセットを識別する最初のパスとして使用され、これは、例えば反復最近傍点アルゴリズム又は他の適した手法を使用して異なるノードと関連するフレームの位置合わせに基づいて改良される。軌跡をこのように使用することは、位置合わせプロセスを制約することができ、これをより計算的に高価ではない方法で実行できるようにするが、これは必須ではなく、代替的には位置合わせは軌跡のみを使用して又は例えば軌跡が利用可能ではないか、若しくは信頼できないと思われる場合、軌跡に関係なく実行することができることが理解されよう。上記プロセスは、親ノードを使用して実行されてもよく、1つ若しくは複数の子ノードを使用してもよく、生成されるエッジは必要に応じて親ノードに伸びる。
代替的には、軌跡が利用可能ではなく、且つ/又は位置合わせを実行することができない場合、処理デバイスはマッチングプロセスを使用して、潜在的に一致するノードを識別し、次いで潜在的に一致するノードを使用して、ループ閉じ込み及び/又は場所認識を実行することができる。例えば、グラフ内の2つのノードが一致する場合、これはグラフ内にループが存在することを示すことができる。
処理デバイスは典型的には、ノードを1つ又は複数の他のノードと比較することによってマッチングプロセスを実行するように構成される。一般に、この比較プロセスは、典型的にはフレームのサーフェル表現等のフレームの低次元表現を使用して、ノードと関連するフレームから導出されるシグネチャを使用して実行される。この例では、処理デバイスは典型的には、フレームの1つ又は複数の特徴に基づいてノードのシグネチャを計算し、次いでシグネチャを他のノードの他のシグネチャと比較する。シグネチャは、定義された特徴セットに基づくベクトルの形態であることができ、ベクトル空間における最近傍分析を使用して比較を実行できるようにするが、他の手法を使用してもよいことが理解されよう。これに関して、ノードが最初に作成されるとき、シグネチャを生成して記憶することができ、したがって、グラフ内の既存の各ノードのシグネチャが記憶され、新しいノードが追加されたとき、このプロセスを迅速に実行できるようにする。
比較プロセスの結果を使用して、ランキングを生成することができる。ランキングは、ノードと1つ又は複数の他のノードとの間の類似の程度を示し、したがって、比較されたノードが同じ又は重複ノードである尤度を示すのに使用することができる。これにより、ランキングを使用して、例えば、潜在的に一致するノードの識別、ノードが環境の異なる部分を表すか否か及びノードが親ノード又は子ノードとして指定できるか否かの判断、グラフトポロジの生成、1つ又は複数のエッジの生成、ループ閉じ込み又は場所認識の実行等を行うことができる。
一例では、処理デバイスは、マッチングプロセスの結果を使用して1つ又は複数のグラフトポロジ候補を生成するように構成される。例えば、これを使用して、異なる潜在的なノード空間配置に基づいて幾つかの異なるエッジ候補を生成することができる。これに続き、処理デバイスは、グラフトポロジと関連するノード間の重複に基づいて少なくとも1つのグラフトポロジ候補を検証し、次いで検証されたグラフトポロジに従って1つ又は複数のエッジを計算する。したがって、実際には、処理デバイスは、潜在的なグラフトポロジの複数の仮説を作成し、仮説に適合する十分なノードが作成され、分析されたとき、仮説の1つを検証する。
上記プロセスは、全てのノードが識別された場合、実行することができるが、より典型的には、追加のフレームが捕捉され、且つ/又は他のエージェントから受信されるにつれて、グラフは徐々に作成される。
この場合、処理デバイスは、1つ又は複数の新しいフレームを示すフレームデータを取得し、新しい各フレームに対応するノード候補を生成するように構成される。次いで処理デバイスは、利用可能なデータに応じて、フレームを捕捉したエージェントが走行した軌跡、位置合わせプロセス、及び/又はマッチングプロセスの使用等の適した手法を使用してエッジ候補を計算しようとする。したがって、グラフにおける既存のノードへの軌跡が利用可能ではなく、且つ/又は位置合わせを実行することができない場合、マッチングプロセスを使用して、ノードがグラフのどこに組み込まれるべきかの識別を試みることができる。例えば、フレームが環境の異なる部分における別のエージェントから受信した最初のフレームである場合に生じ得る、フレームがマッチングできないか、又は他に追加できない場合、これは、将来、時宜を得たときに分析するために保持される必要があり得る。その他の場合、処理デバイスは、ノード候補に基づいて1つ又は複数のノードを追加し、且つ/又はエッジ候補に基づいて1つ又は複数のエッジを追加又は更新することにより、グラフを更新することができる。
ノード及び/又はエッジが追加されると、処理デバイスは、ノードの追加、エッジの追加、又はエッジの更新等のグラフにおける変更を識別し、次いでグラフにおけるこれらの変更を評価することができる。これは、変更における誤差の可能性を査定するのに使用することができ、処理デバイスが評価の結果に基づいてグラフを選択的に更新できるようにする。したがって、ノード及びエッジが追加又は修正されるにつれて、変更が評価されて、変更が正確であるか否かを調べ、正確ではない場合、所望の正確性レベルが達成されるまで、最適化手法を使用してグラフの部分を修正することができる。一例では、これは、典型的には1つ又は複数のエッジと関連する推定誤差に基づいて、グラフの少なくとも幾つかの部分と関連する信頼値を計算し、次いで信頼値に基づいてグラフを選択的に更新することによって実行することができる。
一例では、ノードが新しいノードであるか、又は新しいエッジの近傍にある場合、処理デバイスは、付近のノード及びエッジと関連する信頼値を査定する。信頼値が閾値を超える場合、処理デバイスは付近のノード及びエッジとの位置合わせマッチングを実行し、位置合わせマッチングの結果に基づいて新しいエッジを生成する。したがって、典型的には計算的に高価である位置合わせマッチングは、ノードがグラフに正確に位置決めされている高度の確実性がある場合のみ実行し得、エッジをより高度の正確性で計算できるようにする。そうではなく、信頼値が閾値を下回る場合、処理デバイスはマッチングを実行して、他の一致する潜在的なノードを識別することができ、これを場所認識及び/又はループ閉じ込めに使用することができる。
一例では、処理デバイスは、グラフにおけるエッジと関連する推定誤差を計算し、次いで推定誤差に基づいて信頼値を生成し、且つ/又は少なくとも部分的に推定誤差を使用してグラフを最適化するように構成される。具体的には、処理デバイスは、高推定誤差を有するエッジを識別し、次いでグラフ予測を使用して、識別されたエッジを検証することによって最適化を実行するように構成することができる。
最適化は、グラフが結果に収束するまで最適化手法を使用してグラフを繰り返し解くことにより、特にエッジの最小二乗誤差を最適化するエッジ制約に基づいてグラフを解き、エッジと関連する誤差を更新し、グラフが収束するまで解くステップ及び更新するステップを繰り返すことにより達成することができる。
先に触れたように、各エージェントは、他のエージェントからのフレームを使用してグラフを生成することが可能である。これを達成するために、エージェントは、必要に応じて捕捉されたフレームに関する情報を交換可能でなければならない。エージェントは、捕捉されたフレームをブロードキャストすることができるが、エージェントは限られた時間にしか通信範囲内にいないことがあり得、したがって、これはフレーム欠損に繋がり得るとともに、大量の帯域幅を必要とし得る。
したがって、より典型的には、異なるエージェントの処理デバイスは、1つ又は複数の他のエージェントから、1つ又は複数の他のエージェントが利用可能なフレームを示すフレームマニフェストを取得し、次いでフレームマニフェストに従って1つ又は複数の他のエージェントからフレームを要求するように構成される。これを達成するために、各処理デバイスは、1つ又は複数の他のエージェントからマニフェスト要求を受信し、次いでマニフェスト要求に応答してフレームマニフェストを提供するように構成される。フレームマニフェストは、エージェントが捕捉したフレームのみならず、エージェントが他のエージェントから受信したフレームも含め、エージェントが保有している全てのフレームの指示を含む。これにより、各エージェントはフレームマニフェストを使用して、生成されたフレームでまだ受信していないフレームを識別することができ、それにより、エージェントはこれらを必要に応じて要求することができる。
これに関して、各エージェントの処理デバイスは、1つ又は複数の他のエージェントから、1つ又は複数の要求されるフレームを示すフレーム要求を受信し、フレーム要求に応答してフレームデータを提供するように構成される。したがって、フレーム要求は、そのエージェントによって捕捉されたフレーム及び/又はエージェントが保有している他のエージェントによって捕捉されたフレームに対する要求であることができる。これにより、エージェントは、1つ又は複数の介在エージェントを介して直接通信していなかったエージェントからフレームを受信することができ、各エージェントがフレームの大域的完全リストを確立可能なことを保証する。
先に触れたように、一例では、エージェントは自律車両を含み、エージェントの一例を図3により詳細に示す。
この例では、エージェント310は、地上車両等のモバイルプラットフォームに搭載されて配置される少なくとも1つの電子処理デバイス311を含み、電子処理デバイス311は、車両周囲の環境のスキャンを実行して、環境の3D地図(即ち点群)を構築するように構成された地図作成システム312に結合される。一例では、地図作成システムは、Velodyne製のVLP-16 3D LiDAR等の3D LiDARセンサを含む。
処理デバイス311は、IMU(慣性測定ユニット)等の慣性検知デバイス313、エージェントの移動を制御できるようにする制御システム314、及び1つ又は複数の他のセンサ315にも結合される。これは、追加の安全制御のための近接センサ又は例えば環境の点群表現に色を加えるために、環境の画像を捕捉できるようにする撮像デバイス等を含むことができる。
処理デバイス311は、無線インターフェース等の外部インターフェース316にも接続されて、例えばモバイル通信ネットワーク、4G若しくは5Gネットワーク、WiFiネットワーク等の1つ若しくは複数の通信ネットワークを介して又はBluetooth等の直接ポイントツーポイント接続を介して、他のエージェントと無線通信できるようにする。
電子処理デバイス311はメモリ317にも結合され、メモリ317は、処理デバイス311によって実行可能であり、必要とされるプロセスを実行できるようにするアプリケーションソフトウェアを記憶する。アプリケーションソフトウェアは、1つ又は複数のソフトウェアモジュールを含み得、オペレーティングシステム環境等の適した実行環境で実行し得る。メモリ317は、地図作成データ及びフレームデータを必要に応じて記憶することができるとともに、任意の生成された地図を記憶することができるように構成することもできる。メモリが揮発性メモリ、不揮発性メモリ、又はそれらの組合せを必要に応じて含むことができることが理解されよう。
以下の例のために仮定される上記構成は必須ではなく、多くの他の構成も使用可能なことが理解されよう。例えば、エージェントはこの場合、車輪車両として示されているが、これは必須ではなく、UAV等を含む多様なエージェントが使用可能であることが理解されよう。
環境の地図を表すグラフを生成するプロセスの一例について図4を参照してこれより説明する。
この例では、ステップ400において、エージェント310は、搭載された地図作成システム312及び慣性センサ313を使用して地図作成データ及び軌跡データを取得する。ステップ410において、処理デバイス311は、走行時間又は走行距離に基づいて軌跡を区分化し、ステップ420において、これを使用して幾つかのフレームを生成し、各フレームは、環境の各部分の固定観測を表し、軌跡の各区分で捕捉された地図作成データに基づく。
ステップ430において、処理デバイスは任意に、1つ又は複数の他のエージェント310から1つ又は複数の他のフレームを受信し、フレーム及び他のフレームは、フレームデータとしてメモリ317に記憶される。
ステップ440において、処理デバイス311は、各フレームに対応するノードを生成し、典型的には、ノードの一意性の程度に応じてノードを親ノード又は子ノードとして識別する。次いで処理デバイス311は、ステップ450において、典型的には、可能な場合には軌跡データを使用して初期エッジを識別し、軌跡情報が利用不可能な場合にはマッチングを使用してエッジを生成して、ノード、特に親ノードを相互接続するエッジを生成する。位置合わせプロセスを使用して、ノード間に位置合わせを確立することもでき、そしてこれを使用してエッジを生成することができる。
ステップ460において、処理デバイス311は、各エッジと関連する信頼スコアを計算し、信頼スコアは各エッジの推定誤差に基づく。これに関して、誤差は、グラフが構築されるにつれて大きくなり、したがって、軌跡の原点又はルートノードから離れた誤差ほど、ルートノードに近い誤差よりも大きくなる。信頼レベルが計算されると、これらを使用して最適化を実行することができ、それにより特に、全体誤差を最小化するように誤差を再計算し、それにより、信頼レベルを上げることができる。このプロセスは典型的には、グラフが収束し、それ以上の改善が識別されなくなるまで繰り返される。
これに続き、ステップを必要に応じて繰り返すことができ、それにより、追加の地図作成データ及び/又は他のフレームが利用可能になるにつれて、大域的地図を徐々に構築することができることが理解されよう。
このようにしてグラフを生成し最適化するプロセスの一例について図5A~図5Eを参照してこれより説明する。この例は簡易化された2D環境を参照して説明されるが、同様の手法を点群3D環境地図に用いることができることが理解されよう。
この例では、エージェントが、図5Aに示される概念的グラフのノードA、B、C、D間の軌跡を辿ると仮定され、これは、エージェントに、図5Bに示されるノードA、B、C、Dの各々に対応する4つのフレームを捕捉させることを含む。フレームは、エージェントが見た世界の固定ポイントを表し、不変であり、各々、共有目的で使用される一意の識別子を保有する。
エージェントは、環境を走行するにつれて、軌跡を測定し、軌跡を使用して、初期地図を形成するフレーム間のオドメトリ推定エッジを生成する。したがって、ノードAからノードBへのエッジを構築することができ、これは命名法からエッジABと呼ばれる。これらのオドメトリエッジのみを用いた場合、大域最適化された姿勢は、エッジの簡単な連結と大方同じである。交差するエッジが多いほど、誤差が累積するにつれて大域誤差は大きくなるが、エッジ自体は局所的に1つのエッジで一貫し、したがって例えば、Bを原点とする、ノードA、B、Cの集合が局所的に一貫することに留意されたい。
原点ノードAからエッジAB、BC、CDを使用してDの現在姿勢を取得する一例を挙げると、グラフは図5Cに示されるように見え得る。ここで、原点ノードAから離れるほど、誤差が大きくなることが分かる。
例えばマッチングが実行されてループ閉じ込みを可能にした結果として、エッジがノードAとDとの間に存在すると仮定される場合、これにより、誤差を低減することが可能であり得る。具体的には、この時点で、エッジADは、ループ閉じ込みによって確立されたノードAからノードDへの直接リンクの形態である。ノードAからノードCへのルートがここで考慮される場合、グラフは図5Dに示されるように見える。この例では、グラフは、エッジBCとは対照的に、エッジAD及びDCを使用して生成され、その理由は、ループ閉じ込みを通して生成された、一致するエッジADがエッジBCよりも高い信頼度を有するためである。
さらに、新しいエッジADは最適化に使用することができる。例えば、走行されたエッジAB、BC、CD以外の追加情報がない場合、これらのエッジの走行と大域最適化された姿勢の使用との間には殆ど違いがなく、その理由は、大域解を制約する追加情報がないためである。しかしながら、新しいエッジADがグラフに組み込まれる場合、これは、ノードAからノードB、ノードC、ノードDへの誤差はここで、最小二乗最適化等の最適化手法を使用して分散することができ、図5Eに示されるものと同様のグラフになることを意味する。
この手法は、グラフ最適化をリアルタイムで実行して、大域的正確性を提供するのに役立つために、軌跡ベースのエッジとマッチングを通して識別されたエッジとの組合せを利用することができることを意味する。
ノードをグラフに追加するプロセスの一例について図6を参照してこれより説明する。
この例では、ステップ600において、処理デバイス311は次のフレームを取得し、これは、地図作成データから生成された局所的に取得されたフレームであるか、又は別のエージェントから受信した別のフレームのいずれかである。ステップ610において、処理デバイス311はフレームを使用してノードを生成し、ノードはステップ620において査定されて、ノードと関連するフレームの一意性を特定する。一意性は、占有格子、マッチングプロセスを使用して、又は軌跡を査定して、フレームが、前のフレームと異なる環境の部分で捕捉されたか否かを判断することにより、確立することができる。
ステップ630において、フレーム、ひいてはノードが一意として査定される場合、ステップ640において、処理デバイス311はノードを親ノードとして組み込み、次いでステップ650においてエッジを生成する。しかしながら、フレーム、ひいてはノードが非一意としてステップ630において査定される場合、ステップ660において、処理デバイス311は、エージェントが走行した軌跡及び/又は位置合わせプロセスを使用して、ノードと親ノードとの間の幾何学的変換を計算し、ステップ670において、ノードを子ノードとして組み込む。ノードがグラフに追加されると、ステップ680において、エッジを子ノードから親ノードに伸ばす必要があり得る。
上記プロセスは、グラフを維持し最適化するために必要な計算を最小化するために実行され、これらをリアルタイムで実行できるようにする。特に、これは、環境を正確に記述するフレームの最小セットを含むようにグラフを枝刈りすることによって動作する。この枝刈りは、グラフを破壊するものではなく、子ノード及び親ノードとして2つのフレームを含むスーパーセットへのフレームのリジッドマージ(rigid merging)を実行することにより、枝刈りされたフレームにおける姿勢の将来の検索を可能にし、子ノード又は親ノードがそれら自体、前にマージされていた可能性があることに留意する。このマージ戦略を実行することにより、追加のエッジをグラフに単に追加することで、グラフが保存されることを保証する。フレームは、リジッドマージされると、もはや最適化されず、ループ閉じ込み等の幾つかの機能に考慮されず、その理由は、親ノードが必要とされる情報を含むためである。
グラフにおいて子ノードを管理するプロセスの一例について図7A~図7Dを参照してこれより説明する。
この例では、図5Aに示されるグラフから始まって、ノードDに密に関連する追加のノードE及びFが識別される。この例では、ノードE及びFは地図に寄与せず、ノードDに表される大方は冗長の情報を含む。例えば占有格子等の簡単なヒューリスティックを使用して、最後のフレームを用いてチェックすることにより、新しいフレームが一意であるか否かを判断することができる。この場合、ノードE及びFは一意ではなく、図7Bに示されるように、Dにリジッドマージすることができる。
ノードE及びFは、グラフにおける位置が親ノードDの位置のみに依存するため、もはや最適化の一部ではなく、必要であれば、それらの大域的姿勢は、ノードE及びFをノードDに関連付けるリジッド変換を使用して復元することができる。
エージェントが引き続きノードAに向かう場合、最終的に、エージェントが最後のフレームに存在するか否か、ひいては子ノードを捕捉中であるか否かの判断に使用されるヒューリスティックは失敗し、新しいノードGが追加される図7Cに示されるように、新しいフレームの生成が行われる。
この時点で、エッジFGが存在し、これは、ノードFが最適化状態に存在しないことに起因してグラフに表すことができない。これへの解決策は、必要とされるノードまでリジッド変換ツリーをトラバースすることにより、親ノードGまでエッジを伸ばすことである。これにより、図7Dに示されるように、新しいエッジDGが作成される。このエッジは、新しいエッジDGを作成することによってFがDにマージされたことを考慮に入れて、エッジFGを被包し、グラフがばらばらにならないことを保証する。
エッジが伸ばされた後、新しいノードGは近傍ノードと突き合わせてテストされて、潜在的なループ閉じ込み(グラフ検索を介して)及びエッジトラバーサル(ノードDのエッジのチェックを介して)を探す。エッジがノードGとAとの間に見つかる場合、元の開始場所に戻ることを表す新しいエッジGAを作成することができる。
これが行われると、エッジのマージ及び伸長を含む上述した同じ最適化プロセスを実行することができる。これに関して、この時点で、ノードDとAとの間には2つのルート、即ちループ閉じ込みエッジGA及びオドメトリエッジDE、EF、FGが存在している。最適化された解から導出される信頼値の尺度を使用して、使用に最良のエッジを判断することができ、最終的にある程度の信頼値が得られた後、これらのエッジのマージも可能であり、それにより再び最適化状態が減少する。
例えば、エッジDAをトラバースした後、エージェントが今ではAに戻ったことを検出することができ、そこから、プロセスは続き、近傍エッジを使用して、不必要な大域的探索を停止するエッジトラバーサルを探す。このプロセスは、一意のノードのみを最適化グラフに追加し続けることができ、探索される幾何学的空間と共有しスケーリングするためにグラフを小さなサイズに維持する。
エッジ作成のプロセスの一例について図8を参照するより詳細にこれより説明する。
この例では、ステップ800において、例えば次のフレーム又は受信された他のフレームに基づいてノードが選択され、ステップ810において、これは査定されて、軌跡が存在するか否かを判断する。軌跡が存在する場合、ステップ820において、処理デバイスは、現在ノードの捕捉と前のノードの捕捉との間で走行された軌跡を使用してエッジを計算することができる。
軌跡が利用可能ではない場合、ステップ830において、シグネチャが生成され、ステップ840において、シグネチャを使用して、ノードとグラフに既存のノードとの間のマッチングを実行する。ステップ850において一致が識別されない場合、グラフ内のノードの位置は未知であり、したがって、ステップ860において、後の処理のためにノードを保持することができる。その他の場合、ステップ870において、処理デバイス311は、位置合わせプロセスを使用して位置合わせを実行し、一致するノードの相対位置を突き止め、ステップ880においてエッジを生成できるようにする。
他のエージェントから他のフレームを取得するプロセスの一例について図9を参照してこれより説明する。
この例では、ステップ900において、第1のエージェントの処理デバイス311は、他のエージェントが利用可能なフレームの詳細を要求するマニフェスト要求を生成して送信する。マニフェスト要求は、例えばブロードキャストメッセージとして定期的に送信することができ、それにより、これは、エージェントの通信範囲内にある任意の他のエージェントにより処理することができ、又は2つのエージェント間に確立された通信に応答して送信することができる。
ステップ910において、他のエージェント310の処理デバイス311はマニフェスト要求を受信し、利用可能なフレームのリストを生成し、ステップ920において、これを第1のエージェントにマニフェストとして送信する。これは、他のエージェントが捕捉したフレーム及び他のエージェントが別のエージェントから受信したフレームを含む。
ステップ930において、第1のエージェントの処理デバイス311は、マニフェストを受信し、ステップ940において欠損フレームを識別してから、ステップ950において、欠損フレームについてのフレーム要求をエージェントに送信する。他のエージェントの処理デバイス311は、ステップ960において、フレーム要求を受信し、ステップ970において、これに応答して、要求されたフレームに対応するフレームデータを送信し、ステップ980において、第1のエージェントの処理デバイスがこれらを受信できるようにする。
上記手法の一部として実行される幾つかの特定のプロセスについてこれより説明する。
先に触れたように、グラフは典型的には、環境を表すのに必要な最小ノードセットに枝刈りされ、それにより、グラフを最適化する計算的複雑性を低減し、それにより、性能要件が満たされることを保証するのに役立つ。これは、十分には一意ではないノードを子ノードとして組み込み、一意の親ノードのみを使用して最適化を実行できるようにすることによって達成される。幾つかの要因に応じて、この動作の複雑性は劇的に変わり、主な要因は、エッジ候補における信頼レベルである。これは、フレーム内、エッジ、近傍、ループ閉じ込み、及び場所認識を含め、幾つかのレベルのトラーバサルタイプに分解される。
最も単純な形態のトラバーサルは、エージェントが現在フレームから移動しなかった場合である。これは単一フレーム内での移動であり、エージェントが静止しているか、又はセンサ範囲に関してゆっくりと移動している場合に最も一般的に観測され、多くの場合、占有重複又は特徴重複等の簡単な技法を使用して検出される。ここでの最大誤差は、前のフレームからの局所状態推定であり、したがって、信頼性は非常に高く、確認チェックは容易である。
図10Aに示される例では、2つのフレームA、Bが識別され、これらは両方ともフレームX内にある。フレームAが既にフレームXと関連付けられている場合、フレームBは、この技法を使用してフレームXとの重複として検出される。これにより、フレームA及びBと関連するノードは、親ノードXへの子ノードとして生成することができる。
エージェントがフレームから出ると、エッジトラバーサルを使用して現在フレームにおける既存のエッジをチェックすることが可能であり、これは、エージェントが元のフレームから、元のフレームへのエッジを有する別のフレームに移動する場合に行われる。ここでの最大誤差は、フレームから出た後の局所状態推定誤差であり、したがって、信頼性はかなり高く、容易に確認することができる。
図10Bに示される例は、XYからの前の既存のエッジと交差する2つのフレームA及びBの一例である。Aが既にXと関連付けられている場合、フレームBは、この技法を使用してフレームYとの重複として検出される。
エッジが有効ではない場合、検索を付近のノードのグラフネットワークに沿って拡大することができる。この例では、地図作成する場合、エージェントは多くの場合、少数のフレーム後、例えば部屋に入り、続けて部屋から出たとき、前の場所に戻ることになる。これが有効であるフレーム量は大方、局所状態推定信頼値に依存し、信頼値が高いほど、近傍が大きいことを意味する。N個の最近傍ノードを探してグラフを検索することにより、重複が存在するか否かを識別し、信頼量(ホップ数)に基づいて、それに従って動作することが可能である。ホップ量が低いほど、信頼値は高い。
図10Cの例では、2つのフレームA及びBはそれぞれフレームZ及びWにあるが、現在エッジWZは存在しない。ノードW、X、V、Zの連鎖は、ノードZの近傍を表し、この中にこの技法によって検出されるエッジWZが存在する。
最終的に近傍の検索を実行することは、十分大きなNが提示される場合又は信頼値が低すぎる場合、実現不可能になることがあり、これらでは、真のエッジを検出するためにより高度な技法が必要となる。
ループ閉じ込みとは、有効な大域参照がなく、過度のエッジホップによって生じる大きな不確実性等に起因して低信頼値を有する同じグラフ内の2つのフレーム間の重複を検出するプロセスである。これらの場合、単一のエッジ候補は、多くの場合、不確実性の境界内にあるが、大域的に一貫しないことがあり、これに使用される解決策は、エッジの両側をベンチマークとして扱い、両原点の最近傍ノードの近傍を構築することである。これは、原点に関してそれら自体内で正確である2つのグラフを生成し、原点からのエッジホップが多いほど、信頼値は下がる。この時点で、2つのグラフ間のエッジを調べると、一連のエッジ及び関連する変換が示され、次にそれらの間の最も共通するエッジを見つける問題になる。この最も共通するエッジは最も可能性の高い候補であり、次に可能性の高いエッジ候補に対する最小限の数又は比率等の幾つかの基準が満たされる場合、次いでこれを使用してエッジを検証することができる。
この時点でのループ閉じ込みはまだ、エッジをフレーム候補からトラバースすることによりグラフ内の信頼情報にアクセスすることができ、これを使用して多くの候補を早期に選別することができるが、孤立したグラフが与えられた場合には、異なる手法が求められる。
場所認識とは、異なるグラフ内のフレーム間の重複を検出するプロセスであり、これは、それらの間に関連がなく、したがって、信頼の尺度もないことを意味する。この初期プロセスは大方、ループ閉じ込みに使用されるプロセスと同様であるが、規模ははるかに大きく、したがって、近傍を使用するのではなくむしろ、グラフ全体を2つの原点として使用することができる。初期推定後、疑似マージを実行し、次いで先の技法を使用してより大きな重複を検出することによって確かめることができ、疑似マージによって高信頼値がもたらされる場合、その2つを同じグラフにマージすることができ、それ以降は通常の方法が適用される。
グラフに実行されるコア動作は、局所的に一貫する軌跡からのノードの追加である。これらの手法を使用してノードを追加するプロセスフローの一例について図11を参照してこれより説明する。
この例では、ステップ1100において、フレームが受信され、ステップ1105において、フレームが査定されて、これが最後のフレーム内にあるか否かが判断される。最後のフレーム内にある場合、ステップ1110において、フレームは子ノードとして最後のフレームにマージされる。その他の場合、ステップ1115において、フレームは査定されて、近傍エッジがトラバースされたか否かが判断され、トラバースされていた場合、ステップ1120において、フレームは近傍フレームにマージされる。その他の場合、ステップ1125において、フレームは査定されて、エージェントが付近のフレーム内に移動したか否かが判断され、移動していた場合、ステップ1130において、フレームは付近のフレームにマージされる。その他の場合、ステップ1135において、フレームは査定されて、ループが閉じられたか否かが判断され、閉じられていた場合、ステップ1140において、フレームはループフレームにマージされる。その他の場合、ステップ1145において、フレームは査定されて、孤立したグラフが接続されるか否かが判断され、接続される場合、ステップ1150において、フレームはグラフにマージされる。その他の場合、ノードはさらなる処理のために保持される。
エージェントが環境を走行するにつれて、局所、大域、及び共有地図表現の間で、姿勢を表現し変換することが必要になるが、これらは全て異なり得る。
局所表現は、環境を通るエージェントの軌跡に基づくオドメトリ推定である。これは局所的に一貫するが、大域的には経時ドリフトする傾向がある。このタイプの復元に典型的な要件は、局所フェーズにおいて識別された物体をエージェントの大域表現又は共有表現に変換する必要があることである。この動作は、その場所を表すフレームにおいて最も適切なフレームを見つけること(又は補間技術の場合はさらに潜在的に)と、必要とされる空間においてそのフレームの位置を復元することとを含む。
例えば、親ノードA及びBと関連するフレーム間の中間の時間にフレームに捕捉された物体Oが与えられた場合、物体Oは、最初に位置特定されるとき、局所推定フレーム内にあり、時間及び姿勢を介してフレームに結びつけられる(局所推定フレームにおいて)。ある時間後、グラフは局所フレームから分岐する(大域的補正を受ける等)。新しい位置を解決するには、それが存在するフレームに適用されるデルタを見つけ、次いでそれを適用して元の場所に相対する新しい場所に変換するだけである。
大域的/共有推定フレームにおける場所を指定するとき、これは、局所フレームを使用するか、又はグラフにおけるノードに取り付けることで達成することができる。
最初の事例は、西に500歩歩き、次いで北に300歩歩くと言うのと同等である。局所推定は経時ドリフトし、したがって、有効なままであることを保証するために頻繁な入力が求められるため、小さな距離にわたってしか正確に達成することはできない。現在の大域フレームからエージェントの局所フレームへの変換は、最新のフレームのみを考慮し、したがって、エージェントが現在どこにいると考えているかに基づくことを除いて、上記方法と同様である。この方法は、大域地図に対してエージェントが現在どこにいるかの知識以外に、動作を実行するために必要な情報がないという意味でシンプルである。
逆に、物体をグラフにおけるノードに取り付けることは、食堂内の冷蔵庫まで歩くと言うのと同等である。グラフにおけるフレーム内の位置への参照を与え、エージェントが、要求されるフレームについて知らなければならないことを意味する。例えば、エージェントが食堂に行ったことがない場合、エージェントは、グラフの関連部分を提供するか、又は局所表現に変換することにより、それがエージェントとの関係でどこにあるか指示される必要がある。次いでエージェント自体は、これがそれ自体に対して大域的にどこを意味するかを解決することができ、そこに到達するために単一のコマンドを必要とする。
フレームをグラフに追加する全体プロセスについて図12A~図12C参照して更に詳細にこれより説明する。
この例では、ステップ1200において、フレームが、地図作成システム312を使用して収集された地図作成データを区分化することにより又は1つ又は複数の他のエージェントから他のフレームデータを受信することにより取得され、これを使用してノードを生成する。
ステップ1202において、処理デバイス311は、ノードの軌跡情報が利用可能であるか否かを査定し、利用可能な場合、ステップ1204において、軌跡に基づいてエッジが生成される。
その他の場合、ステップ1206において、処理デバイス311はフレームのシグネチャを生成する。これを実行するために、処理デバイスは、サックス(sax)又はサーフェル表現等のフレームの低次元表現から点記述子等のフレームの位置及び/又は回転特徴を生成し、これを使用してN次元ベクトルを生成する。ステップ1208において、処理デバイスは、試みでマッチングを実行して、グラフ内の潜在的に一致するフレームを識別し、これを使用してランキングを生成する。
マッチングプロセスは典型的には、グラフ内の既存のノードのシグネチャのデータベースの検索を含み、処理デバイス311は、最近傍検索を実行して、フレームと同じに見える他のノードを返す。一致がいかに類似するか及びシグネチャがいかに一意であるかによって、ノード間の類似性及びシグネチャの一意性を考慮に入れて、その一致が使用されるか否か、特にランキングの生成に使用されるか否かが決まる。例えば、非常に一意のシグネチャ間の一致は、より高いランキングを獲得し、したがって、非一意の一致(知覚的エイリアシング)よりも優先され得る。
ランキングは、ステップ1210において、重複仮説を導出し、例えば潜在的なループ閉じ込み及び/又は場所認識を識別するために使用され、このステップは、重複ノードを有するエッジ候補を生成する位置合わせプロセスも含む。
ステップ1212において、生成されたエッジ及び/又はランキングを使用して、ノードが一意であるか否かが査定される。これは典型的には、ノードが既存のノード内にあるか否か且つ/又はそれまでは存在しなかった何かを地図に追加するか否かを査定することを含む。否の場合、ステップ1214において、ノードと既存のノードとの間の幾何学的変換が計算され、ステップ1216において、新しいノードを既存のノードとマージすることにより、新しいノードは子ノードとしてグラフに組み込まれる。これが完了すると、プロセスはステップ1200に戻ることができ、更なるフレームを取得することができる。
そうではなく、ノードが十分に一意である場合、ステップ1218において、ノードは親ノードとしてグラフに追加される。
これに続き、ステップ1220において、グラフ内のエッジの信頼値が決定される。信頼レベルは、エッジが計算される方法及び誤差が原点ノードからの距離に基づいてグラフを通して累積することを考慮に入れて、推定誤差に基づいて計算される。
これに続き、ステップ1222において、グラフの新しい部分及び更新された部分、例えば新しいノード及びエッジ又は更新されたエッジが査定されて、これらが高信頼値の領域にあるか、それとも低信頼値の領域にあるかを判断する。新しいノード又はエッジが低信頼値の領域にある場合、ステップ1224、1226において、潜在的な重複が、例えばステップ1210において生成された仮説に基づいて識別され査定される。これは典型的には、潜在的な重複を分析し、重複に十分な信頼があるか否か又は十分な数の重複サンプルがあるか否かを識別することを含み、ステップ1228において、これを使用して重複を検証することができ、例えばループ閉じ込み及び/又は場所認識を実行することができる。十分にない場合、ステップ1230において、ノードは後の処理のために保持される。
その他の場合、重複が生成されると、又はエッジがグラフの高い信頼部分である場合、ステップ1232において、エッジの正確性を改善するために、既存のノードとの位置合わせが位置及び/又は回転不変特徴を使用して実行され、ステップ1234において、これらをグラフに組み込めるようにする。
これに続き、ステップ1236において、処理デバイス311は最適化を実行し、最適化は、エッジでの最小二乗誤差を最適化することによってグラフを解くことで達成される。エッジと関連する信頼値は、ステップ1238において更新され、ステップ1240において、信頼値の変化を使用して、グラフが最適解に収束したか否かを突き止める。収束していない場合、ステップ1236及び1238は、収束が達成されるまで繰り返され、収束が達成された時点で、ステップ1242において、グラフの更新は終わり、グラフを大域地図として使用できるようにする。
1200~1242の上記ステップは必要に応じて繰り返すことができ、追加のフレームがエージェントによって捕捉されるにつれて、大域地図を徐々に構築することができるように、更なるノード及びエッジを追加できるようにすることが理解されよう。
したがって、上記手法は姿勢-グラフ最適化技法を提供し、随時、問題サイズの削減及び大域的に一貫した地図の維持に強くフォーカスする。任意の単一の時点で、地図は、所与の時点での世界の固定ビューを表す幾つかのフレームと、座標変換を介してこれらを接続する一連のエッジとを含み、これにより、これらのエッジ及び局所的に一貫したままである変換を介してグラフに沿ってトラバースすることが可能になる。これに加えて、各フレームは大域的に一貫した姿勢も有し、それにより、経路計画及び大域的空間クエリでヒューリスティックとして使用することができる大域的投影及び共通座標フレームが可能になる。
本明細書及び以下の特許請求の範囲を通して、文脈により別のことが求められない限り、「含む(comprise)」という言葉及び「含む(comprises)」又は「含んでいる(comprising)」等の変形は、述べられた完全体又は完全体若しくはステップの群の包含を黙示するが、他の任意の完全体又は完全体群の排除を黙示しないものと理解されよう。本明細書で使用される場合、別記されない限り、「概ね」という用語は±20%を意味する。
当業者ならば、多くの変形及び変更が明らかになることを理解するであろう。当業者に明らかになるそのような全ての変形及び変更は、前に説明した広範に現れる本発明の趣旨及び範囲内に入ると見なされるべきである。

Claims (43)

  1. 環境の地図を生成するシステムであって、前記システムは複数のエージェントを含み、各エージェントは1つ又は複数の処理デバイスを含み、前記1つ又は複数の処理デバイスは、
    a)距離センサを含む地図作成システムにより捕捉された地図作成データを取得することであって、前記地図作成データは、前記環境の三次元表現を示す、取得することと、
    b)前記地図作成データを使用して前記環境の部分を表現するフレームを生成することと、
    c)1つ又は複数の他のエージェントから他のフレームデータを受信することであって、前記他のフレームデータは、前記1つ又は複数の他のエージェントの地図作成システムにより捕捉された他の地図作成データを使用して生成された前記環境の部分を表す他のフレームを示す、受信することと、
    d)前記環境の地図を表すグラフを生成することであって、
    i)前記フレーム及び他のフレームを使用してノードを生成することであって、各ノードは前記環境の各部分を示す、生成すること、及び、
    ii)前記ノードを相互接続するエッジを計算することであって、前記エッジは前記ノード間の空間オフセットを示す、計算すること、
    を行うことにより、グラフを生成することと、
    を行うように構成される、
    システム。
  2. 各エージェントは、
    a)前記エージェントにより捕捉された地図作成データを使用して基づき生成された前記フレーム、及び、
    b)前記1つ又は複数の他のエージェントにより捕捉された他の地図作成データを使用して生成された前記他のフレーム、
    に基づいて独立した各グラフを維持する、
    請求項1に記載のシステム。
  3. 前記1つ又は複数の処理デバイスは、
    a)前記フレームを使用して初期グラフを生成することと、
    b)追加のフレーム及び他のフレームを使用して前記グラフを更新することであって、
    i)追加のノード又はエッジを生成すること、及び、
    ii)前記グラフ内のエッジを改良すること、
    の少なくとも一方を行うことにより、更新することと、
    を行うように構成される、
    請求項1又は2に記載のシステム。
  4. 前記1つ又は複数の処理デバイスは、前記エージェントが走行した軌跡を少なくとも部分的に使用して前記グラフを決定するように構成される、
    請求項1~3の何れか一項に記載のシステム。
  5. 各エージェントにより生成される前記グラフは、前記エージェントが走行した局所的に正確な軌跡に基づき、他のエージェントにより生成されたグラフと大域的に一貫する、
    請求項4に記載のシステム。
  6. 前記1つ又は複数の処理デバイスは、
    a)1つ又は複数の慣性位置センサ、及び、
    b)前記距離センサからの信号の使用、
    の少なくとも一方を使用して軌跡を特定するように構成される、
    請求項4又は5に記載のシステム。
  7. 前記1つ又は複数の処理デバイスは、少なくとも部分的に前記軌跡を使用して前記ノードを相互接続するエッジを計算するように構成される、
    請求項4~6の何れか一項に記載のシステム。
  8. 前記1つ又は複数の処理デバイスは、前記地図作成データを区分化することにより前記フレームを生成するように構成される、
    請求項1~7の何れか一項に記載のシステム。
  9. 前記1つ又は複数の処理デバイスは、
    a)前記地図作成データの捕捉時間、
    b)前記地図作成データの捕捉持続時間、
    c)前記地図作成データの捕捉中に走行した距離、
    d)前記地図作成データの捕捉中に走行した回転、及び、
    e)前記地図作成データのカバレッジ、
    の少なくとも1つに基づいてフレームを生成するように構成される、
    請求項1~8の何れか一項に記載のシステム。
  10. 前記1つ又は複数の処理デバイスは、
    a)前記エージェントが走行した軌跡を区分化することと、
    b)軌跡区分を使用して前記フレームを生成することと、
    を行うように構成される、
    請求項1~9の何れか一項に記載のシステム。
  11. 前記1つ又は複数の処理デバイスは、
    a)前記フレームを分析することと、
    b)前記分析の結果に基づいてノードを生成することと、
    を行うように構成される、
    請求項1~10の何れか一項に記載のシステム。
  12. 前記1つ又は複数の処理デバイスは、
    a)幾つかの親ノードを生成することであって、各親ノードは前記環境の異なる部分を表す、生成することと、
    b)幾つかの子ノードを生成することであって、各子ノードは親ノードと関連し、前記関連する親ノードにより表される前記環境の前記部分と同じであるか、又は前記部分と重複する前記環境の部分を表す、生成することと、
    を行うように構成される、
    請求項1~11の何れか一項に記載のシステム。
  13. 前記子ノードは、一定の幾何学的変換を通して前記親ノードに関連する、
    請求項12に記載のシステム。
  14. 前記1つ又は複数の処理デバイスは、
    a)前記ノードと関連するフレーム間の重複の程度、及び、
    b)前記ノードと関連する前記フレームの捕捉間の移動の程度、
    の少なくとも一方に基づいて子ノード及び親ノードを識別するように構成される、
    請求項12又は13に記載のシステム。
  15. 前記1つ又は複数の処理デバイスは、前記親ノード間に延びるエッジを計算して、前記グラフを生成するように構成される、
    請求項12~14の何れか一項に記載のシステム。
  16. 前記1つ又は複数の処理デバイスは、
    a)ノード間のエッジを生成することと、
    b)エッジが子ノードに接続される場合、前記子ノードと関連する前記親ノードまで前記エッジを伸ばすことと、
    を行うように構成される、
    請求項12~15の何れか一項に記載のシステム。
  17. 前記1つ又は複数の処理デバイスは、前記子ノードと前記親ノードとの間の幾何学的変換を使用して前記エッジを伸ばすように構成される、
    請求項16に記載のシステム。
  18. 前記1つ又は複数の処理デバイスは、
    a)前記ノード間のエッジを計算することと、
    b)反復最適化プロセスを使用して前記エッジを改良することと、
    を行うように構成される、
    請求項1~17の何れか一項に記載のシステム。
  19. 前記1つ又は複数の処理デバイスは、
    a)局所化ドリフト手法、
    b)ループ閉じ込み、及び、
    c)場所認識、
    の少なくとも1つを使用してエッジを計算するように構成される、
    請求項1~18の何れか一項に記載のシステム。
  20. 前記1つ又は複数の処理デバイスは前記エージェントが走行した軌跡を使用することによりエッジを計算して、ノード間の空間オフセットを計算するように構成される、
    請求項1~19の何れか一項に記載のシステム。
  21. 前記1つ又は複数の処理デバイスは、
    a)位置合わせプロセスを使用して、異なるノードのフレームを位置合わせすることと、
    b)前記位置合わせを使用して前記エッジを計算することと、
    を行うことによりエッジを計算するように構成される、
    請求項1~20の何れか一項に記載のシステム。
  22. 前記1つ又は複数の処理デバイスは、反復最近傍点アルゴリズムを使用して前記位置合わせプロセスを実行するように構成される、
    請求項21に記載のシステム。
  23. 前記1つ又は複数の処理デバイスは、
    a)マッチングプロセスを使用して、潜在的に一致するノードを識別することと、
    b)潜在的に一致するノードを使用して、
    i)ループ閉じ込み、及び、
    ii)場所認識
    の少なくとも一方を実行することと、
    を行うように構成される、
    請求項1~22の何れか一項に記載のシステム。
  24. 前記1つ又は複数の処理デバイスは、
    a)ノードを1つ又は複数の他のノードと比較することと、
    b)前記比較の結果に基づいてランキングを生成することであって、前記ランキングは、前記ノードと前記1つ又は複数の他のノードとの間の類似度を示す、生成することと、
    を行うことにより前記マッチングプロセスを実行するように構成される、
    請求項23に記載のシステム。
  25. 前記1つ又は複数の処理デバイスは、
    a)前記ノードのシグネチャを計算することであって、前記シグネチャは、前記ノードと関連する前記フレームの1つ又は複数の特徴に基づく、計算することと、
    b)前記シグネチャを他のノードの他のシグネチャと比較することと、
    を行うことにより、前記ノードを1つ又は複数の他のノードと比較するように構成される、
    請求項24に記載のシステム。
  26. 前記1つ又は複数の処理デバイスは、前記ノードと関連する前記フレームの低次元表現を使用して、ノードの前記シグネチャを導出するように構成される、
    請求項25に記載のシステム。
  27. 前記1つ又は複数の処理デバイスは、
    a)前記ノードが前記環境の異なる部分を表し、親ノード又は子ノードとして指定することができるか否かの判断、
    b)グラフトポロジの生成、
    c)1つ又は複数のエッジの生成、
    d)ループ閉じ込みの実行、及び、
    e)場所認識の実行、
    の少なくとも1つに前記ランキングを使用するように構成される、
    請求項24~26の何れか一項に記載のシステム。
  28. 前記1つ又は複数の処理デバイスは、
    a)前記マッチングプロセスの結果を使用して1つ又は複数のグラフトポロジ候補を生成することと、
    b)前記グラフトポロジと関連するノード間の重複に基づいて、少なくとも1つのグラフトポロジ候補を検証することと、
    c)前記検証されたグラフトポロジに従って1つ又は複数のエッジを計算することと、
    を行うように構成される、
    請求項23~27の何れか一項に記載のシステム。
  29. 前記1つ又は複数の処理デバイスは、
    a)1つ又は複数の新しいフレームを示すフレームデータを取得することと、
    b)新しい各フレーム対応するノード候補を生成することと、
    c)エッジ候補を計算することであって、
    i)エージェントが走行した軌跡、
    ii)位置合わせプロセス、及び、
    iii)マッチングプロセス、
    の少なくとも1つを使用して計算する、計算することと、
    d)前記グラフを更新することであって、
    i)前記ノード候補に基づいて1つ又は複数のノードを追加すること、及び、
    ii)前記エッジ候補に基づいて1つ又は複数のエッジを追加又は更新すること、
    の少なくとも一方により更新する、更新することと、
    を行うように構成される、
    請求項1~28の何れか一項に記載のシステム。
  30. 前記1つ又は複数の処理デバイスは、
    a)前記グラフにおける変更を識別することであって、前記変更は、
    i)ノードの追加、
    ii)エッジの追加、及び、
    iii)エッジの更新
    の少なくとも1つを含む、識別することと、
    b)前記グラフにおける変更を評価することと、
    c)前記評価の結果に基づいて前記グラフを選択的に更新することと、
    を行うように構成される、
    請求項29に記載のシステム。
  31. 前記1つ又は複数の処理デバイスは、
    a)前記グラフの少なくとも幾つかの部分と関連する信頼値を計算することと、
    b)前記信頼値に基づいて前記グラフを選択的に更新することと、
    を行うように構成される、
    請求項1~30の何れか一項に記載のシステム。
  32. ノードが新しいノードであるか、又は新しいエッジの近傍にある場合、前記1つ又は複数の処理デバイスは、
    a)近傍のノード及びエッジと関連する信頼値を査定することと、
    b)前記信頼値が閾値を超える場合、
    i)近傍のノード及びエッジとの位置合わせマッチングを実行することと、
    ii)前記位置合わせマッチングの結果に基づいて新しいエッジを生成することと、
    c)前記信頼値が閾値を下回る場合、マッチングを実行して、潜在的に一致するノードを識別することと、
    を行うように構成される、
    請求項31に記載のシステム。
  33. 前記1つ又は複数の処理デバイスは、
    a)前記グラフにおけるエッジと関連する推定誤差を計算することと、
    b)
    i)前記推定誤差に基づいて信頼値を生成すること、及び
    ii)少なくとも部分的に前記推定誤差を使用して前記グラフを最適化すること、
    の少なくとも一方を行うことと、
    を行うように構成される、
    請求項1~32の何れか一項に記載のシステム。
  34. 前記1つ又は複数の処理デバイスは、
    a)高推定誤差を有するエッジを識別することと、
    b)グラフ予測を使用して、前記識別されたエッジを検証することと、
    を行うことにより最適化を実行するように構成される、
    請求項1~33の何れか一項に記載のシステム。
  35. 前記1つ又は複数の処理デバイスは、前記グラフが結果に収束するまで、最適化手法を使用して前記グラフを繰り返し解くように構成される、
    請求項1~34の何れか一項に記載のシステム。
  36. 前記1つ又は複数の処理デバイスは、
    a)エッジの最小二乗誤差を最適化する前記エッジの制約に基づいて前記グラフを解くことと、
    b)前記エッジと関連する誤差を更新することと、
    c)前記グラフが収束するまで、前記解くステップ及び前記更新するステップを繰り返すことと、
    を行うように構成される、
    請求項35に記載のシステム。
  37. 前記1つ又は複数の処理デバイスは、
    a)1つ又は複数の他のエージェントからフレームマニフェストを取得することであって、前記フレームマニフェストは、前記1つ又は複数の他のエージェントが利用可能なフレームを示す、取得することと、
    b)前記フレームマニフェストに従って前記1つ又は複数の他のエージェントからフレームを要求することと、
    を行うように構成される、
    請求項1~36の何れか一項に記載のシステム。
  38. 前記1つ又は複数の処理デバイスは、
    a)1つ又は複数の他のエージェントからマニフェスト要求を受信することと、
    b)前記マニフェスト要求に応答してフレームマニフェストを提供することと、
    を行うように構成される、
    請求項37に記載のシステム。
  39. 前記1つ又は複数の処理デバイスは、
    a)1つ又は複数の他のエージェントからフレーム要求を受信することであって、前記フレーム要求は1つ又は複数の要求されたフレームを示す、受信することと、
    b)前記フレーム要求に応答してフレームデータを提供することと、
    を行うように構成される、
    請求項1~38の何れか一項に記載のシステム。
  40. フレームの前記フレームデータは、
    a)前記フレームのより低次元の表現、及び
    b)前記フレームのサーフェル表現、
    の少なくとも一方である、
    請求項1~39の何れか一項に記載のシステム。
  41. 前記エージェントは自律車両を含む、
    請求項1~40の何れか一項に記載のシステム。
  42. 環境の地図を生成する方法であって、前記方法は、各々が1つ又は複数の処理デバイスを含む複数のエージェントにおいて、
    a)距離センサを含む地図作成システムにより捕捉された地図作成データを取得することであって、前記地図作成データは、前記環境の三次元表現を示す、取得することと、
    b)前記地図作成データを使用して前記環境の部分を表現するフレームを生成することと、
    c)1つ又は複数の他のエージェントから他のフレームデータを受信することであって、前記他のフレームデータは、前記1つ又は複数の他のエージェントの地図作成システムにより捕捉された他の地図作成データを使用して生成された前記環境の部分を表す他のフレームを示す、受信することと、
    d)前記環境の地図を表すグラフを生成することであって、
    i)前記フレーム及び他のフレームを使用してノードを生成することであって、各ノードは前記環境の各部分を示す、生成すること、及び、
    ii)前記ノードを相互接続するエッジを計算することであって、前記エッジは前記ノード間の空間オフセットを示す、計算すること、
    を行うことにより、グラフを生成することと、
    を含む、方法。
  43. 環境の地図を生成するコンピュータプログラム製品であって、前記コンピュータプログラム製品はコンピュータ実行可能コードを含み、前記コンピュータ実行可能コードは、複数のエージェントに提供される1つ又は複数の適宜プログラムされた処理デバイスで実行されると、前記1つ又は複数の処理デバイスに、
    a)距離センサを含む地図作成システムにより捕捉された地図作成データを取得することであって、前記地図作成データは、前記環境の三次元表現を示す、取得することと、
    b)前記地図作成データを使用して前記環境の部分を表現するフレームを生成することと、
    c)1つ又は複数の他のエージェントから他のフレームデータを受信することであって、前記他のフレームデータは、前記1つ又は複数の他のエージェントの地図作成システムにより捕捉された他の地図作成データを使用して生成された前記環境の部分を表す他のフレームを示す、受信することと、
    d)前記環境の地図を表すグラフを生成することであって、
    i)前記フレーム及び他のフレームを使用してノードを生成することであって、各ノードは前記環境の各部分を示す、生成すること及び
    ii)前記ノードを相互接続するエッジを計算することであって、前記エッジは前記ノード間の空間オフセットを示す、計算すること
    を行うことにより、グラフを生成することと、
    を行わせる、コンピュータプログラム製品。
JP2023513534A 2020-08-25 2021-08-09 マルチエージェント地図生成 Pending JP2023538946A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2020903029A AU2020903029A0 (en) 2020-08-25 Multi-agent map generation
AU2020903029 2020-08-25
PCT/AU2021/050871 WO2022040723A1 (en) 2020-08-25 2021-08-09 Multi-agent map generation

Publications (1)

Publication Number Publication Date
JP2023538946A true JP2023538946A (ja) 2023-09-12

Family

ID=80352211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023513534A Pending JP2023538946A (ja) 2020-08-25 2021-08-09 マルチエージェント地図生成

Country Status (8)

Country Link
US (1) US11898869B2 (ja)
EP (1) EP4205084A1 (ja)
JP (1) JP2023538946A (ja)
KR (1) KR20230056690A (ja)
CN (1) CN115836325A (ja)
AU (1) AU2021273605B2 (ja)
CA (1) CA3184001A1 (ja)
WO (1) WO2022040723A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116630901B (zh) * 2023-07-24 2023-09-22 南京师范大学 一种基于潜在图预测无监督学习框架的视觉里程计方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075415B2 (en) * 2013-03-11 2015-07-07 Airphrame, Inc. Unmanned aerial vehicle and methods for controlling same
US9342888B2 (en) * 2014-02-08 2016-05-17 Honda Motor Co., Ltd. System and method for mapping, localization and pose correction of a vehicle based on images
US10788836B2 (en) * 2016-02-29 2020-09-29 AI Incorporated Obstacle recognition method for autonomous robots
EP3497405B1 (en) * 2016-08-09 2022-06-15 Nauto, Inc. System and method for precision localization and mapping
GB201706129D0 (en) 2017-04-18 2017-05-31 Blue Vision Labs Uk Ltd Distributed device mapping
US10948297B2 (en) * 2018-07-09 2021-03-16 Samsung Electronics Co., Ltd. Simultaneous location and mapping (SLAM) using dual event cameras
GB2576322B (en) 2018-08-13 2022-11-09 Imperial College Innovations Ltd Mapping object instances using video data
CN109559277B (zh) 2018-11-28 2023-02-28 中国人民解放军国防科技大学 一种面向数据共享的多无人机协同地图构建方法
US11657719B2 (en) * 2020-12-18 2023-05-23 Zoox, Inc. System for sparsely representing and storing geographic and map data

Also Published As

Publication number Publication date
AU2021273605B2 (en) 2022-03-31
AU2021273605A1 (en) 2022-03-17
CN115836325A (zh) 2023-03-21
US20230175860A1 (en) 2023-06-08
CA3184001A1 (en) 2022-03-03
KR20230056690A (ko) 2023-04-27
EP4205084A1 (en) 2023-07-05
US11898869B2 (en) 2024-02-13
WO2022040723A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
US11204247B2 (en) Method for updating a map and mobile robot
JP6987797B2 (ja) リアルタイムオンラインエゴモーション推定を有するレーザスキャナ
Duckett et al. Fast, on-line learning of globally consistent maps
KR101976241B1 (ko) 다중로봇의 자기위치인식에 기반한 지도작성 시스템 및 그 방법
JP5452442B2 (ja) ロボットシステム及び地図更新方法
Tang et al. Topological local-metric framework for mobile robots navigation: a long term perspective
Miettinen et al. Simultaneous localization and mapping for forest harvesters
US20050159879A1 (en) Method and system, computer program comprising program code means, and computer program product for forming a graph structure in order to describe an area with a free area and an occupied area
CN113661505A (zh) 用于校准与物料搬运车辆相关的传感器的姿态的系统和方法
TWI772743B (zh) 資訊處理裝置以及移動機器人
US20230071794A1 (en) Method and system for building lane-level map by using 3D point cloud map
Schleicher et al. Real-time hierarchical stereo Visual SLAM in large-scale environments
JP5728564B2 (ja) ロボットシステム及び地図更新方法
EP2828620B1 (en) Generating navigation data
Shaik et al. Dynamic map update of non-static facility logistics environment with a multi-robot system
JP2023538946A (ja) マルチエージェント地図生成
Liu et al. Hybrid metric-feature mapping based on camera and Lidar sensor fusion
He et al. Lanematch: A practical real-time localization method via lane-matching
JP5953393B2 (ja) ロボットシステム及び地図更新方法
Ryu et al. Local map-based exploration for mobile robots
Morioka et al. Simplified map representation and map learning system for autonomous navigation of mobile robots
Du et al. GNSS-Assisted LiDAR Odometry and Mapping for Urban Environment
CN112000754B (zh) 地图构建方法、装置、存储介质及计算机设备
CN117419733A (zh) 用于识别周围环境的有错地图的方法
Haggenmiller et al. The masked mapper: Masked metric mapping