JP2020144710A - 自己位置推定装置、自己位置推定方法及びプログラム - Google Patents

自己位置推定装置、自己位置推定方法及びプログラム Download PDF

Info

Publication number
JP2020144710A
JP2020144710A JP2019041991A JP2019041991A JP2020144710A JP 2020144710 A JP2020144710 A JP 2020144710A JP 2019041991 A JP2019041991 A JP 2019041991A JP 2019041991 A JP2019041991 A JP 2019041991A JP 2020144710 A JP2020144710 A JP 2020144710A
Authority
JP
Japan
Prior art keywords
self
position estimation
moving body
keyframe
map
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
JP2019041991A
Other languages
English (en)
Other versions
JP7220591B2 (ja
Inventor
克将 北島
Katsumasa Kitajima
克将 北島
裕介 木内
Yusuke Kiuchi
裕介 木内
匠 藤田
Takumi Fujita
匠 藤田
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.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP2019041991A priority Critical patent/JP7220591B2/ja
Priority to DE102020103252.8A priority patent/DE102020103252A1/de
Priority to CN202010084076.2A priority patent/CN111664857B/zh
Priority to US16/787,258 priority patent/US11216973B2/en
Publication of JP2020144710A publication Critical patent/JP2020144710A/ja
Application granted granted Critical
Publication of JP7220591B2 publication Critical patent/JP7220591B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66FHOISTING, LIFTING, HAULING OR PUSHING, NOT OTHERWISE PROVIDED FOR, e.g. DEVICES WHICH APPLY A LIFTING OR PUSHING FORCE DIRECTLY TO THE SURFACE OF A LOAD
    • B66F9/00Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes
    • B66F9/06Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes movable, with their loads, on wheels or the like, e.g. fork-lift trucks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66FHOISTING, LIFTING, HAULING OR PUSHING, NOT OTHERWISE PROVIDED FOR, e.g. DEVICES WHICH APPLY A LIFTING OR PUSHING FORCE DIRECTLY TO THE SURFACE OF A LOAD
    • B66F9/00Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes
    • B66F9/06Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes movable, with their loads, on wheels or the like, e.g. fork-lift trucks
    • B66F9/075Constructional features or details
    • B66F9/0755Position control; Position detectors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/343Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
    • 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
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Structural Engineering (AREA)
  • Transportation (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Geology (AREA)
  • Civil Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)

Abstract

【課題】カメラを用いた自己位置推定処理の安定化を図ることができる自己位置推定装置等を提供する。【解決手段】移動体1に搭載されたカメラ11から視界画像を取得する取得部1000と、前記視界画像上における特徴点の位置と、世界座標上における複数の特徴点の位置が記録されてなる地図とに基づいて、前記世界座標上における前記移動体の位置及び姿勢を推定する自己位置推定処理を行う推定部1001と、前記視界画像を、当該視界画像上に含まれる新たな特徴点を前記地図に追加するためのキーフレームとして登録する登録部1002と、を備える。前記登録部は、前記移動体の移動が、当該移動体の位置及び姿勢の少なくともいずれかについて予め規定された条件を満たした場合に、前記視界画像を前記キーフレームとして登録する。【選択図】図2

Description

本開示は、自己位置推定装置、自己位置推定方法及びプログラムに関する。
移動体の位置及び姿勢を高精度に検出し、当該位置及び姿勢の検出結果を利用して移動体の操舵制御を行う技術が知られている。
特許文献1には、互いに異なるセンサからの入力に基づいて自己位置を推定する技術が開示されている。
移動体の位置及び姿勢を高精度に検出するための技術としてLiDAR(Laser Detection and Ranging)が知られているが、高価なセンサ(レーザスキャナ)を搭載することが求められる。その一方で、比較的安価なセンサであるカメラを用いた自己位置推定技術についても開発が進められている。
非特許文献1には、カメラを用いた自己位置推定技術であるORB−SLAM(ORB - Simultaneous Localization and Mapping)をベースに、地図作成時にのみLiDARを援用し、実運用時にはカメラのみで高精度な自己位置推定を行う手法について記載されている。
特開2012−248032号公報
Adi Sujiwo, Eijiro Takeuchi, Luis Yoichi Morales, Naoki Akai, Yoshiki Ninomiya and Masato Edahiro, "Localization Based on Multiple Visual-Metric Maps" in Proc of IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, 2017.
ORB−SLAMによる地図作成処理では、複数の特徴点の世界座標上の位置、及び、それらの特徴点を観測した視界画像(フレーム)である複数のキーフレームが記録されてなる地図が作成される。地図には、ORB−SLAMによる自己位置推定処理によって推定された、各キーフレーム取得時のカメラの位置及び姿勢も記録される。
ORB−SLAMによる自己位置推定処理では、カメラから取得された視界画像(フレーム)によって観測された特徴点と、地図上に記録された特徴点とを整合(マッチング)することで、その視界画像取得時のカメラの世界座標上における位置及び姿勢を推定する。この際、カメラから取得された視界画像に対し、特徴点の位置関係が最も近いキーフレーム(カレントキーフレーム)を特定し、このカレントキーフレームを足掛かりとすることで自己位置推定処理の高速化を図ることができる。
カメラから取得された視界画像によって観測された特徴点と、地図上に記録された特徴点との整合数が少ない(つまり、取得した視界画像に、地図上に記録された特徴点がほとんど映っていない)場合などにおいては、自己位置推定処理に失敗し、自己の位置及び姿勢を見失う(ロストする)ことが知られている。ORB−SLAMにおいては、自己の位置及び姿勢を見失うことなく、安定した自己位置推定処理を行うことが求められている。
本開示の少なくとも一態様は、カメラを用いた自己位置推定処理の安定化を図ることができる自己位置推定装置、自己位置推定方法及びプログラムを提供することを目的とする。
本発明の第1の態様によれば、自己位置推定装置は、移動体に搭載されたカメラから視界画像を取得する取得部と、前記視界画像上における特徴点の位置と、世界座標上における複数の特徴点の位置が記録されてなる地図とに基づいて、前記世界座標上における前記移動体の位置及び姿勢を推定する自己位置推定処理を行う推定部と、前記視界画像を、当該視界画像上に含まれる新たな特徴点を前記地図に追加するためのキーフレームとして登録する登録部と、を備える。前記登録部は、前記移動体の移動が、当該移動体の位置及び姿勢の少なくともいずれかについて予め規定された条件を満たした場合に、前記視界画像を前記キーフレームとして登録する。
また、本発明の第2の態様によれば、前記登録部は、前記移動体の位置と、当該位置に紐づけられる1つの前記キーフレームとの距離が所定の距離閾値以上離れている場合に、前記視界画像をキーフレームとして登録する。
また、本発明の第3の態様によれば、前記登録部は、移動中の前記移動体の角速度が所定の角速度閾値以上となった場合に、前記視界画像をキーフレームとして登録する。
また、本発明の第4の態様によれば、前記登録部は、消去防止フラグの有無に基づいて、登録済の複数の前記キーフレームに対する間引き処理を行う。前記登録部は、複数の前記キーフレームの1つである対象キーフレームに対し、当該対象キーフレームよりも1つ前に登録されたキーフレームと、当該対象キーフレームよりも1つ後に登録されたキーフレームとの位置及び姿勢の少なくともいずれかの関係に基づいて、当該対象キーフレームに前記消去防止フラグを付するか否かを判定する。
また、本発明の第5の態様によれば、上述の自己位置推定装置は、前記地図のうちの一部の領域をメモリ上に読み出す読出部を更に備える。
また、本発明の第6の態様によれば、前記読出部は、前記地図のうち、前記移動体の位置を基準とする前記一部の領域をメモリ上に読み出す。
また、本発明の第7の態様によれば、前記読出部は、前記地図のうち、前記移動体の幅方向と比較して前記移動体の前後方向に広い前記一部の領域をメモリ上に読み出す。
また、本発明の第8の態様によれば、前記読出部は、前記地図のうち、特定の走行ルートに対応する前記一部の領域をメモリ上に読み出す。
また、本発明の第9の態様によれば、上述の自己位置推定装置は、前記自己位置推定処理に失敗した場合に前記キーフレームを探索するリローカリゼーションを行う処理部を備える。前記処理部は、前記移動体のハードウェアの制約条件に基づいて探索範囲を特定するとともに、当該探索範囲に含まれるキーフレームを探索する。
また、本発明の第10の態様によれば、前記処理部は、前記自己位置推定処理で推定された位置と、前記移動体の最大速度とに基づいて、当該移動体の現在の位置としてとり得る範囲を前記探索範囲として特定する。
また、本発明の第11の態様によれば、前記処理部は、前記自己位置推定処理で推定された姿勢と、前記移動体の最大角速度とに基づいて、当該移動体の現在の姿勢としてとりうる範囲を前記探索範囲として特定する。
また、本発明の第12の態様によれば、前記処理部は、前記自己位置推定処理で推定された位置を基準とする、オドメトリによる推定位置の誤差とみなせる範囲を前記探索範囲として特定する。
また、本発明の第13の態様によれば、前記処理部は、前記自己位置推定処理で推定された姿勢を基準とする、ジャイロセンサによる推定姿勢の誤差とみなせる範囲を前記探索範囲として特定する。
また、本発明の第14の態様によれば、前記推定部は、前記世界座標上における前記移動体の位置及び姿勢の軌跡が平滑化されるように、前記自己位置推定処理によって推定された位置及び姿勢を修正する。
また、本発明の第15の態様によれば、前記推定部は、移動平均フィルタを用いて、前記自己位置推定処理によって推定された位置及び姿勢を修正する。
また、本発明の第16の態様によれば、自己位置推定方法は、移動体に搭載されたカメラから視界画像を取得するステップと、前記視界画像上における特徴点の位置と、世界座標上における複数の特徴点の位置が記録されてなる地図とに基づいて、前記世界座標上における前記移動体の位置及び姿勢を推定する自己位置推定処理を行うステップと、前記視界画像を、当該視界画像上に含まれる新たな特徴点を前記地図に追加するためのキーフレームとして登録するステップと、を有する。前記キーフレームとして登録するステップでは、前記移動体の移動が、当該移動体の位置及び姿勢の少なくともいずれかについて規定された条件を満たした場合に、前記視界画像を前記キーフレームとして登録する。
また、本発明の第17の態様によれば、プログラムは、自己位置推定装置のコンピュータに、移動体に搭載されたカメラから視界画像を取得するステップと、前記視界画像上における特徴点の位置と、世界座標上における複数の特徴点の位置が記録されてなる地図とに基づいて、前記世界座標上における前記移動体の位置及び姿勢を推定する自己位置推定処理を行うステップと、前記視界画像を、当該視界画像上に含まれる新たな特徴点を前記地図に追加するためのキーフレームとして登録するステップと、を実行させる。前記キーフレームとして登録するステップでは、前記移動体の移動が、当該移動体の位置及び姿勢の少なくともいずれかについて規定された条件を満たした場合に、前記視界画像を前記キーフレームとして登録する。
上述の発明の各態様によれば、カメラを用いた自己位置推定処理の安定化を図ることができる。
第1の実施形態に係るフォークリフトの全体構成を示す図である。 第1の実施形態に係る自己位置推定装置の機能構成を示す図である。 第1の実施形態に係るキーフレームテーブルの例を示す図である。 第1の実施形態に係る地図の例を示す図である。 第1の実施形態に係る変換行列を説明する図である。 第1の実施形態に係る自己位置推定装置による地図作成時の処理フローを示す図である。 第1の実施形態に係る自己位置推定装置による実運用時の処理フローを示す図である。 第1の実施形態の変形例に係る自己位置推定装置による地図作成時の処理フローを示す図である。 第2の実施形態に係る地図読出部の処理を説明する図である。 第2の実施形態の変形例に係る地図読出部の処理を説明する図である。 第3の実施形態に係るリローカリゼーション処理部の処理フローを示す図である。 第3の実施形態に係るリローカリゼーション処理部の処理を説明する図である。 第4の実施形態に係る自己位置推定処理部の機能を説明する図である。
<第1の実施形態>
以下、第1の実施形態に係る自己位置推定装置、及び、これを備える移動体について、図1〜図7を参照しながら説明する。
(フォークリフトの全体構成)
図1は、第1の実施形態に係るフォークリフトの全体構成を示す図である。
図1に示すフォークリフト1は、移動体の一態様であり、予め定められたルートに沿って目標地点まで自律走行する無人フォークリフトである。
フォークリフト1は、自己位置推定装置10と、カメラ11と、タイヤ回転角センサ12と、舵角センサ13と、ジャイロセンサ14とを備えている。
自己位置推定装置10は、ORB−SLAMによる自己位置推定処理を行う。具体的には、カメラ11から取得される画像(以下、視界画像とも表記する。)に基づいて、フォークリフト1の位置及び姿勢を推定する。自己位置推定装置10の詳細な構成及び機能については後述する。
カメラ11は、動画撮影、即ち、連続的に視界画像を取得可能な撮影装置である。視界画像の1つ1つは、動画を構成する“フレーム”に相当する。本実施形態に係るカメラ11は、「単眼」であるものとして説明するが、他の実施形態においては「複眼」であってもよい。
タイヤ回転角センサ12は、フォークリフト1のタイヤ回転角を検出可能なセンサである。
舵角センサ13は、タイヤの舵角を検出可能なセンサである。上述のタイヤ回転角センサ12によるタイヤ回転角の検出結果と舵角センサ13による舵角の検出結果とを組み合わせることで、フォークリフト1の、ある位置から移動した後の相対的な位置を特定することができる。
ジャイロセンサ14は、フォークリフト1の回転角速度を検出可能なセンサである。
また、本実施形態に係るフォークリフト1には、フォークリフト1の実運用開始前に行われる地図作成時において、レーザスキャナが搭載される(図1には不図示)。このレーザスキャナは、フォークリフト1の実運用時(作成済みの地図を用いたORB−SLAMによる自己位置推定処理を行いながらの走行時)には取り外される。
このレーザスキャナは、LiDARに利用されるセンサであって、広範囲に渡って走査されるレーザの反射に基づき、レーザスキャナの周囲に配置された構造物との間隔を測距可能なセンサである。レーザスキャナによって得られた広範囲に渡る測距を利用したSLAMであるLiDAR−SLAMにより、ORB−SLAMによる自己位置推定処理よりも高い精度でフォークリフト1の位置及び姿勢を推定することができる。
また、本実施形態に係るフォークリフト1は、自己位置推定装置10が出力する、ORB−SLAMによる自己位置推定処理の結果に基づいて操舵制御を行う操舵制御装置を備えている(図1には不図示)。この操舵制御装置は、例えば、自己位置推定装置10によって推定されたフォークリフト1の位置及び姿勢に基づくフィードバック制御により操舵制御を行う。
(フォークリフトの機能構成)
図2は、第1の実施形態に係る自己位置推定装置の機能構成を示す図である。
図2に示すように、自己位置推定装置10は、CPU100と、メモリ101と、ストレージ102と、通信インタフェース103とを備えている。
CPU100は、自己位置推定装置10の動作全体を司るプロセッサであって、予め用意されたプログラムに従って動作することで種々の機能を発揮する。
メモリ101は、例えばDRAM等いわゆる主記憶装置であって、CPU100がプログラムに従って高速で動作するために必要な記憶領域である。
ストレージ102は、例えばHDD、SSD等のいわゆる補助記憶装置であって、自己位置推定装置10の処理に必要な情報が予め記録されている。
通信インタフェース103は、カメラ11、タイヤ回転角センサ12、舵角センサ13、ジャイロセンサ14等と通信するための接続インタフェースである。
CPU100の機能について詳しく説明する。
CPU100は、予め用意されたプログラムに従って動作することで、視界画像取得部1000(取得部)、自己位置推定処理部1001(推定部)、キーフレーム登録部1002(登録部)、地図読出部1003(読出部)、及び、リローカリゼーション処理部1004(処理部)としての機能を発揮する。
視界画像取得部1000は、フォークリフト1に搭載されたカメラ11から、動画の各フレームとしての視界画像を逐次取得する。
自己位置推定処理部1001は、ORB−SLAMによる自己位置推定処理を行う。具体的には、自己位置推定処理部1001は、カメラ11から取得された視界画像上における特徴点の位置と、世界座標上における複数の特徴点の位置が記録されてなる地図Mとに基づいて、世界座標上におけるフォークリフト1(カメラ11)の位置及び姿勢を推定する。
キーフレーム登録部1002は、地図作成時において、カメラ11から取得された視界画像のうち特定の条件を満たしたものをキーフレームとして登録する。キーフレームは、その視界画像(フレーム)によって観測された特徴点を地図Mに追加するためのフレームとして選定される。
地図読出部1003は、地図Mをメモリ101上に読み出す。
リローカリゼーション処理部1004は、自己位置推定処理部1001のORB−SLAMによる自己位置推定処理に失敗した場合に、リローカリゼーションを行う。リローカリゼーションとは、現時点で取得された視界画像と似たキーフレームが存在しないかどうかを探索して復帰を図る処理である。
(キーフレームテーブルの例)
図3は、第1の実施形態に係るキーフレームテーブルの例を示す図である。
キーフレーム登録部1002は、地図作成時において、所定の条件を満たした視界画像を、キーフレームとして、キーフレームテーブルに登録する。
図3に示すように、キーフレームテーブルは、「キーフレーム番号」、「視界画像」、「画像上の特徴点の位置」、「対応する地図上の特徴点」、「移動体の位置、姿勢」及び「変換行列」が関連付けられて記録される。
「キーフレーム番号」は、キーフレームを特定するために割り振られる識別番号である。
「視界画像」は、視界画像そのものの画像データである。なお、他の実施形態においては視界画像の画像データが記録される態様に限定されず、画像データよりも容量が小さく、かつ、画像の類似度を測るのに適した別の形式で記録される態様であってもよい。例えば、BoW(Bag of Words)と呼ばれる、特徴ベクトルの統計情報であってもよい。
「画像上の特徴点の位置」は、視界画像よって観測された特徴点の画像上の位置(ピクセル座標(px、py)で特定される位置)である。図3に示すキーフレームテーブルによれば、例えば、キーフレーム番号“n”のキーフレーム(視界画像)からは、特徴点q1_n、q2_n、q3_n、・・が観測され、それぞれ、視界画像上の位置(px、py)で特定されている。
「対応する地図上の特徴点」は、キーフレームによって観測された特徴点に対応する地図M上の特徴点を示す。図3に示すキーフレームテーブルによれば、例えば、キーフレーム番号“n”のキーフレームによって観測された特徴点q1_n、q2_n、q3_n、・・は、地図Mの世界座標上にプロットされた特徴点Q2、Q4、Q5、・・にそれぞれ対応する。地図M上の各特徴点Q2、Q4、Q5、・・は、それぞれ、世界座標値(X,Y,Z)で規定される。
「移動体の位置、姿勢」は、各キーフレームを取得した際のフォークリフト1(カメラ11)の地図M上の位置及び姿勢が記録される。図3に示すキーフレームテーブルには、例えば、キーフレーム番号“n”のキーフレームを取得した際のフォークリフト1の位置Pn(X,Y,Z)及び姿勢An(θx,θy,θz)が記録されている。なお、後述するように、ここに記録されるフォークリフト1の位置Pn(X,Y,Z)及び姿勢An(θx,θy,θz)は、ORB−SLAMによる自己位置推定処理によって推定された位置及び姿勢ではなく、LiDAR−SLAMによる自己位置推定処理によって推定された位置及び姿勢が記録される。したがって、ORB−SLAMによる自己位置推定処理の結果よりも精度の高い結果として得られる。以下の説明においては、この項に記録された位置及び姿勢を、フォークリフト1の位置及び姿勢の真値として扱う。
「変換行列」は、ORB−SLAMによる自己位置推定処理の結果を、真値に変換するための変換行列である。変換行列は、各キーフレームに紐づけて記録される。図3に示すキーフレームテーブルには、例えば、キーフレーム番号“n”のキーフレームに紐づく変換行列Tnが記録されている。この変換行列Tnは、キーフレーム番号“n”のキーフレームを取得した際のフォークリフト1のORB−SLAMによる自己位置推定処理の結果の、真値からの偏差(ずれ)を補正するように算出された変換行列である。
(地図の例)
図4は、第1の実施形態に係る地図の例を示す図である。
地図Mは、キーフレームテーブル(図3)に基づいて作成され、図4に示すような、世界座標を基準とする各種情報群として記録される。
地図作成時において、自己位置推定装置10は、走行ルートRの走行中にカメラ11から取得される視界画像のうち、所定の条件を満たしたものをキーフレームKFとしてキーフレームテーブル(図3)に登録する。ここで、走行ルートRは、例えば、フォークリフト1の実運用時において走行することが予定されている走行ルートである。
図4に示すように、地図Mには、各キーフレームKF取得時のフォークリフト1の位置及び姿勢の真値である位置P(X,Y,Z)及び姿勢A(θx,θy,θz)と、各キーフレームKFによって観測された特徴点Qの世界座標上の位置(X,Y,Z)とが記録される。図3で説明したように、世界座標上にプロットされた各特徴点Qは、当該特徴点Qを観測したキーフレームKFと紐づけられている。なお、図4に示す構造物Gは、キーフレームKFに映り込む構造物である。各特徴点Qは、キーフレームKFに映り込んだ構造物G等に基づいて観測される。
(変換行列)
図5は、第1の実施形態に係る変換行列を説明する図である。
図3に示すキーフレームテーブルの「変換行列」(Tn−1、Tn、Tn+1、・・)は、以下のようにして求められる。
図5において、ある時点に取得された視界画像をキーフレームKFn−1としてキーフレームテーブル(図3)に登録する場合の処理を考える。この場合、自己位置推定装置10は、当該視界画像取得時のフォークリフト1の位置及び姿勢を、作成中の地図Mに基づくORB−SLAMにより推定する。図5において、この推定結果を位置Pn−1’、姿勢An−1’とする。他方、自己位置推定装置10は、地図作成時に搭載されているレーザスキャナを通じて、キーフレームKFn−1取得時のフォークリフト1の位置及び姿勢の真値を取得することができる。図5において、フォークリフト1の位置及び姿勢の真値を位置Pn−1、姿勢An−1とする。自己位置推定装置10は、キーフレームKFn−1を登録する際、位置Pn−1’、姿勢An−1’を真値である位置Pn−1、姿勢An−1に写像するための変換行列Tn−1を算出し、これをキーフレームKFn−1に紐づけてキーフレームテーブルに記録する。
自己位置推定装置10は、新たなキーフレームKFn、KFn+1、・・を登録する度に、各キーフレームKFn、KFn+1、・・に対応する変換行列Tn、Tn+1、・・を算出し、キーフレームテーブルに記録する。
(地図作成時の処理フロー)
図6は、第1の実施形態に係る自己位置推定装置による地図作成時の処理フローを示す図である。
図6に示す処理フローは、地図作成時におけるフォークリフト1の走行中に繰り返し実行される。この時点では、作成途中の地図Mが既にメモリ101上に読み込まれているものとする。
自己位置推定装置10の視界画像取得部1000は、カメラ11から視界画像を取得する(ステップS00)。
自己位置推定装置10の自己位置推定処理部1001は、ステップS00で取得された視界画像と、作成途中の地図Mとに基づいてORB−SLAMによる自己位置推定処理を行う。ここで、自己位置推定処理部1001は、ステップS00で取得された視界画像によって観測された特徴点と、地図M上に記録された特徴点とを整合(マッチング)することで、その視界画像取得時のカメラの世界座標上における位置及び姿勢を推定する。この際、自己位置推定処理部1001は、ステップS00で取得された視界画像に対し、特徴点の位置関係が最も近いキーフレーム(カレントキーフレーム)を1つ特定する。そして、自己位置推定処理部1001は、このカレントキーフレーム、及び、当該カレントキーフレームと時系列で前後する他のキーフレームに紐づけられた地図上の特徴点を参照しながら、視界画像によって観測された特徴点と整合するものを検索する。このようにすることでORB−SLAMによる自己位置推定処理の高速化を図ることができる。
自己位置推定処理部1001は、ORB−SLAMによる自己位置推定処理が成功したか否かを判定する(ステップS02)。
ORB−SLAMによる自己位置推定処理が成功した場合(ステップS02;YES)、ステップS00で取得した視界画像をキーフレームとして登録すべきか否かの判定処理(ステップS05〜ステップS07)に進む。当該処理の詳細については後述する。
ORB−SLAMによる自己位置推定処理が失敗した場合(ステップS02;NO)、自己位置推定装置10のリローカリゼーション処理部1004は、リローカリゼーションを行う(ステップS03)。本実施形態に係るリローカリゼーション処理部1004は、キーフレームテーブルに登録されている全てのキーフレームを対象に探索を行う。
リローカリゼーション処理部1004は、ステップS03のリローカリゼーションに成功したか否かを判定する(ステップS04)。リローカリゼーションに失敗した場合(ステップS04;NO)、リローカリゼーション処理部1004は、ステップS04に戻り、リローカリゼーションを引き続き実行する。リローカリゼーションにより位置及び姿勢を推定できた(成功した)場合(ステップS04;YES)、自己位置推定装置10は上記判定処理(ステップS05〜ステップS07)に進む。
自己位置推定装置10のキーフレーム登録部1002は、以下に説明するステップS05〜ステップS07の判定処理により、ステップS00で取得された視界画像をキーフレームとして登録するか否かを判定する。
具体的には、まず、キーフレーム登録部1002は、ステップS00で取得された視界画像によって観測された特徴点と整合する地図M上の特徴点を検索する。次に、キーフレーム登録部1002は、ステップS00で取得された視界画像によって観測された特徴点のうち新たな特徴点(地図M上に記録されていない特徴点)が所定数以上観測されたか否かを判定する(ステップS05)。
ステップS00で取得された視界画像に新たな特徴点が所定数以上観測された場合(ステップS05;YES)、キーフレーム登録部1002は、ステップS00で取得された視界画像をキーフレームとして登録する(ステップS08)。
ステップS00で取得された視界画像に新たな特徴点が所定数以上観測されなかった場合(ステップS05;NO)、次に、キーフレーム登録部1002は、ステップS01のORB−SLAMによる自己位置推定処理(又は、ステップS03のリローカリゼーションの結果)で推定された位置がカレントキーフレームの位置から所定の距離閾値以上離れているか否かを判定する(ステップS06)。
ORB−SLAMによる自己位置推定処理で推定された位置がカレントキーフレームの位置から所定の距離閾値以上離れていた場合(ステップS06;YES)、キーフレーム登録部1002は、ステップS00で取得された視界画像をキーフレームとして登録する(ステップS08)。
ORB−SLAMによる自己位置推定処理で推定された位置がカレントキーフレームの位置から所定の距離閾値以上離れていなかった場合(ステップS06;NO)、次に、キーフレーム登録部1002は、ジャイロセンサ14による角速度の検出結果を参照して、視界画像取得時におけるフォークリフト1の角速度が所定の角速度閾値以上となっているか否かを判定する(ステップS07)。
視界画像取得時におけるフォークリフト1の角速度が所定の角速度閾値以上となっていた場合(ステップS07;YES)、キーフレーム登録部1002は、ステップS00で取得された視界画像をキーフレームとして登録する(ステップS08)。
視界画像取得時におけるフォークリフト1の角速度が所定の角速度閾値以上となっていなかった場合(ステップS07;NO)、キーフレーム登録部1002は、ステップS00で取得された視界画像をキーフレームとして登録しないで、次の段階の処理フローに移行する。
ステップS08において、キーフレーム登録部1002は、ステップS01のORB−SLAMによる自己位置推定結果ではなく、LiDAR−SLAMによる自己位置推定結果(真値)をキーフレームテーブルに記録する。更に、キーフレーム登録部1002は、LiDAR−SLAMによる自己位置推定結果と、ステップS01のORB−SLAMによる自己位置推定結果とを用いて変換行列を算出し、当該変換行列をキーフレームテーブルに記録する。
また、キーフレーム登録部1002は、キーフレームとしての登録後、更に、バンドル処理等の後処理を実施する。
(実運用時の処理フロー)
図7は、第1の実施形態に係る自己位置推定装置による実運用時の処理フローを示す図である。
地図完成後の実運用時において、自己位置推定装置10は、以下に示すステップSa0〜ステップSa3の流れで、ORB−SLAMによる自己位置推定処理を行う。
まず、視界画像取得部1000は、カメラ11から視界画像Faを取得する(ステップSa0)。
次に、自己位置推定処理部1001は、視界画像Faによって観測された特徴点と、作成済みの地図Mとに基づいてORB−SLAMによる自己位置推定処理を行う(ステップSa1)。この処理で推定されたフォークリフト1の位置及び姿勢をそれぞれ、位置Pa’、姿勢Aa’とする。
次に、自己位置推定処理部1001は、キーフレームテーブルに登録されているキーフレームのうち、ステップSa0で取得された視界画像Faと、特徴点の位置関係が最も近いキーフレームであるカレントキーフレームを特定する(ステップSa2)。ここで特定されたカレントキーフレームが、キーフレーム番号“n”のキーフレーム(キーフレームKFn)であったとする。
次に、自己位置推定装置10は、ORB−SLAMによって推定された位置Pa’、姿勢Aa’に対し、カレントキーフレーム(キーフレームKFn)に紐づく変換行列Tnを乗じて、最終的な位置Pa及び姿勢Aaを演算する。
(作用、効果)
以上の通り、第1の実施形態に係る自己位置推定装置10は、例えば、図6のステップS06、ステップS07の処理のように、フォークリフト1の移動が、当該フォークリフト1の位置及び姿勢の少なくともいずれかについて予め規定された条件を満たした場合に、視界画像をキーフレームとして登録することを特徴とする。
ここで、図6に示すステップS06及びステップS07の判定処理を行わず、ステップS05の判定処理のみを行う場合について生じる課題について説明する。
即ち、ステップS05の判定処理は、視界画像において地図M上に記録されていない新たな特徴点が所定数以上観測されたか否かに基づいて、当該視界画像をキーフレームとして登録するか否かを判定するものである。この場合、例えば、カメラ11が向く方向に直進する場合などにおいては、前回のキーフレームと比較して新たな特徴点が観測されにくくなるため、キーフレームの間隔が疎になりやすい。キーフレームの間隔が疎になると地図M上に記録される特徴点の数も減るため、ロストしやすくなることが想定される。
また、フォークリフト1の旋回移動時には短時間で視界が大きく変わるため、ロストしやすくなることが知られている。そのため、安定した自己位置推定を実現するためには、特に、フォークリフト1の旋回位置周辺において充分に密な間隔でキーフレームが登録されていることが望まれる。
更に、キーフレームの間隔が疎になると、カレントキーフレームとの距離が離れてしまうため、各キーフレームに紐づく変換行列による自己位置推定処理の補正精度も低下する。したがって、変換行列による補正精度を高める観点からも、適切な密度でキーフレームが登録されていることが好ましい。
第1の実施形態に係る自己位置推定装置10によれば、フォークリフト1の移動が、当該フォークリフト1の位置及び姿勢の少なくともいずれかについて予め規定された条件を満たした場合に、視界画像をキーフレームとして登録する。
このようにすることで、例えば、キーフレームが疎となりやすい直進時や、キーフレームをより密とすべき旋回時など、条件に応じた特定の移動態様が発生した場合に、従来よりもキーフレームが登録されやすくなる。したがって、フォークリフト1の移動に応じた適切な間隔でキーフレームが挿入されることとなり、カメラを用いた自己位置推定処理の安定化を図ることができる。
また、第1の実施形態に係る自己位置推定装置10によれば、フォークリフト1の位置について予め規定された条件の一態様として、フォークリフト1の位置と、当該位置に紐づけられる1つのキーフレーム(カレントキーフレーム)との距離が所定の距離閾値以上離れている場合に、視界画像をキーフレームとして登録する(図6のステップS06)。
このようにすることで、特に直進時など、新たな特徴点が観測されにくい状況にあったとしても、距離判定閾値以下の間隔でキーフレームが登録されることとなり、キーフレームが疎となることを抑制することができる。
また、第1の実施形態に係る自己位置推定装置10によれば、フォークリフト1の姿勢について予め規定された条件の一態様として、移動中のフォークリフト1の角速度が所定の角速度閾値以上となった場合に、視界画像をキーフレームとして登録する(図6のステップS07)。
このようにすることで、旋回角速度が所定の角速度閾値以上となった場合には、その分だけ密にキーフレームが登録されることとなり、旋回時にロストすることを抑制することができる。
なお、上述したステップS05〜ステップS07の判定処理の順番は適宜入れ替え可能であり、他の実施形態においては図6に示す順番に限定されない。また、他の実施形態においては、ステップS05〜ステップS07の全てを行う必要はなく、ステップS06及びステップS07の少なくともいずれか一方を実施することで上記効果を奏することができる。
(第1の実施形態の変形例)
ORB−SLAMによる地図作成時において、あるキーフレームに含まれる特徴点が十分多くの他のキーフレームによって観測されている場合、データ量削減の観点から、そのキーフレームを削除する間引き処理を行う場合がある。この間引き処理によって、キーフレームの密度が低減してしまうことを防止するため、本実施形態の変形例に係る自己位置推定装置10は、地図作成時において、図8に示すような処理を行ってもよい。
(地図作成時の処理フロー)
図8は、第1の実施形態の変形例に係る自己位置推定装置による地図作成時の処理フローを示す図である。
地図作成時において、キーフレーム登録部1002は、n番目のキーフレームを登録する(ステップS10)。このとき、キーフレーム登録部1002は、n番目のキーフレームに対し、ポインタとして「latest」を割り当てるとともに、当該n番目のキーフレームに削除防止フラグを付する。なお、この時点で、n−1番目のキーフレームには、当該キーフレームを指し示すポインタとして「prev1」が割り当てられ、n−2番目のキーフレームには、当該キーフレームを指し示すポインタとして「prev2」が割り当てられているものとする。また、n−1番目のキーフレーム及びn−2番目のキーフレームにも、それぞれ削除防止フラグが付されているものとする。
次に、キーフレーム登録部1002は、「prev2」で指し示されるキーフレームの位置と「latest」で指し示されるキーフレームの位置との距離が所定距離以上か否かを判定する(ステップS11)。
「prev2」で指し示されるキーフレームの位置と「latest」で指し示されるキーフレームの位置との距離が所定距離未満であった場合(ステップS11;NO)、次に、キーフレーム登録部1002は、「prev2」で指し示されるキーフレームの姿勢と「latest」で指し示されるキーフレームの姿勢との角度が所定角度以上か否かを判定する(ステップS12)。
「prev2」で指し示されるキーフレームの姿勢と「latest」で指し示されるキーフレームの姿勢との角度が所定角度未満であった場合(ステップS12;NO)、次に、キーフレーム登録部1002は、カレントキーフレームが「prev1」で指し示されるキーフレームか否かを判定する(ステップS13)。
カレントキーフレームが「prev1」で指し示されるキーフレームであった場合(ステップS13;YES)、「prev2」と「latest」との間の距離及び角度の差異が小さく、また、「latest」のキーフレームと関係が近いカレントキーフレームが「prev1」であることから、「prev1」で指し示されるキーフレームは、間引かれたとしても大きな影響(ロスト発生等)を及ぼす可能性は低い。
したがって、上記の3つの条件の全てを満たした場合(ステップS11;NO、ステップS12;NO、かつ、ステップS13;YES)、自己位置推定装置10は、「prev1」のキーフレームに付されている削除防止フラグを削除し、「latest」で指し示されるキーフレームのポインタを「prev1」に置き換える(ステップS14)。
この後、キーフレーム登録部1002は、次のキーフレームを登録し、当該キーフレームに「latest」のポインタを割り当てる(ステップS15)。
他方、上記の3つの条件のいずれか1つでも満たさなかった場合(ステップS11;YES、ステップS12;YES、又は、ステップS13;NO)、「prev1」に示されるキーフレームが間引かれたときには、「prev2」のキーフレームと「latest」のキーフレームとの距離(又は角度)の間隔が大きく開いてしまい、大きな影響(ロスト発生等)を及ぼす可能性があると考えられる。そこで、この場合、キーフレーム登録部1002は、「prev1」の削除防止フラグを削除することなく、「latest」で指し示されるキーフレームのポインタを「prev1」に置き換え、「prev1」で指し示されるキーフレームのポインタを「prev2」に置き換える(ステップS16)。
この後、キーフレーム登録部1002は、次のキーフレームを登録し、当該キーフレームに「latest」のポインタを割り当てる(ステップS17)。
キーフレーム登録部1002は、ステップS11〜ステップS17の処理を、地図作成の処理が終了するまで繰り返し実行する(ステップS18)。
以上のように、第1の実施形態の変形例に係るキーフレーム登録部1002は、消去防止フラグの有無に基づいて、登録済の複数のキーフレームに対する間引き処理を行う。
そして、キーフレーム登録部1002は、消去防止フラグを付するか否かの判断を行う対象キーフレーム(prev1)に対し、当該対象キーフレームよりも1つ前に登録されたキーフレーム(prev2)と、当該対象キーフレームよりも1つ後に登録されたキーフレーム(latest)との位置及び姿勢の関係に基づいて、当該対象キーフレームに消去防止フラグを付するか否かを判定する。
このようにすることで、キーフレーム密度に大きな影響を及ぼす可能性のあるキーフレームに削除防止フラグが設定されるので、間引き処理を行った後においても、フォークリフト1の位置、姿勢に応じた適切なキーフレームの密度を確保することができる。
なお、上述したステップS11〜ステップS13の判定処理の順番は適宜入れ替え可能であり、他の実施形態においては図8に示す順番に限定されない。また、他の実施形態においては、ステップS11〜ステップS13の全てを行う必要はなく、ステップS11〜ステップS13の少なくともいずれか一方を実施することで上記効果を奏することができる。
<第2の実施形態>
以下、第2の実施形態に係る自己位置推定装置、及び、これを備える移動体について、図9、図10を参照しながら説明する。
(地図読出部の処理)
図9は、第2の実施形態に係る地図読出部の処理を説明する図である。
第1の実施形態に係る地図読出部1003は、実運用時において、メモリ101上に地図Mの全てをロードする(読み出す)が、第2の実施形態に係る地図読出部1003は、地図Mの一部の領域をメモリ上に読み出す点で、第1の実施形態と相違する。
第2の実施形態に係る地図読出部1003は、実運用時において、ORB−SLAMによる自己位置推定処理で推定されたフォークリフト1の位置を基準とする所定の領域(読出領域MR)に属するキーフレームのみをメモリ101上にロードする。図9において、地図読出部1003は、フォークリフト1の位置が移動する度に、そのときの位置(撮影画像Fcに基づいて推定される位置)を基準とする新たな読出領域MRを規定し、当該読出領域MRに属するキーフレームKFaをメモリ101上にロードする。そして、地図読出部1003は、当該読出領域MRに属さないキーフレームKFbをメモリ101上からアンロードする。
このようにすることで、フォークリフト1の現在位置に応じた、自己位置推定処理に必要な最小限のキーフレームのみがメモリ101上にロードされるので、自己位置推定処理の精度を維持しながらもメモリ101の使用領域を節約することができる。
また、第2の実施形態に係る読出し領域MRは、図9に示すように、フォークリフト1の幅方向(図9に示す例ではY軸方向)と比較してフォークリフト1の前後方向(図9に示す例ではX軸方向)に広くなるような形状(図9に示すような、フォークリフトの現在位置を中心とする円形に対し、フォークリフト1の前後方向に扇形の形状を組み合わせた形状)とされている。ここで、フォークリフト1は、前後方向には短時間で到達する可能性があるところ、上記のような形状とすることで、前後方向に多くの特徴点がロードされる。したがって、フォークリフト1が前後方向に移動する場合に、地図M上で整合する特徴点が不足することを防止することができる。
なお、他の実施形態においては、読出領域MRは、上記のような形状に限定される必要はなく、単に、フォークリフト1の位置を基準(中心)とする円状又は矩形状に規定される態様であってもよい。
(第2の実施形態の変形例)
図10は、第2の実施形態に係る地図読出部の処理を説明する図である。
第2の実施形態の変形例に係る地図読出部1003は、実運用時において、特定の走行ルートに対応する読出領域MRに属するキーフレームのみをメモリ101上にロードする。図10において、読出領域MRは、走行ルートRに対応して規定されたものである。フォークリフト1が走行予定とする走行ルート(例えば走行ルートR)が変更された場合、地図読出部1003は、読出領域MRを、変更後の走行ルート(例えばルートR’)に対応するものに変更する。地図読出部1003は、第2の実施形態と同様に、読出領域MRに属するキーフレームKFaをメモリ101上にロードし、当該読出領域MRに属さないキーフレームKFbをメモリ101上からアンロードする。
このようにすることで、フォークリフト1の特定の走行ルートに応じた、自己位置推定処理に必要な最小限のキーフレームのみがメモリ101上にロードされるので、自己位置推定処理の精度を維持しながらもメモリ101の使用領域を節約することができる。
なお、特定の走行ルートは、フォークリフト1の目的地やタスクの種類に応じて定められる態様であってもよい。例えば、生産した製品の入った箱をパレットの上に設置する生産ラインの周辺では、(1)空のパレットを生産ラインに搬送、(2)製品を搭載したパレットを生産ラインから製品保管倉庫に運搬して仮置き、とのタスクがある。地図読出部1003は、(1)のタスクを開始する際に、パレット置き場から生産ラインまでの走行ルートに対応するキーフレームのみをロードする。そして、(2)のタスクに移行した場合には、地図読出部1003は、(1)でロードしたキーフレームをアンロードするとともに、新たに、生産ラインから倉庫までの走行ルートに対応するキーフレームをロードする。
<第3の実施形態>
以下、第3の実施形態に係る自己位置推定装置、及び、これを備える移動体について、図11、図12を参照しながら説明する。
(リローカリゼーション処理部の処理)
図11は、第3の実施形態に係るリローカリゼーション処理部の処理フローを示す図である。
図12は、第3の実施形態に係るリローカリゼーション処理部の処理を説明する図である。
第3の実施形態に係るリローカリゼーション処理部1004は、フォークリフト1のハードウェアの制約条件に基づいてキーフレームを探索する範囲(以下、単に探索範囲とも記載する。)を特定するとともに、当該探索範囲に含まれるキーフレームを探索する。
図11に示す処理フローは、地図作成時又は実運用時において、自己位置推定処理の失敗(ロスト)が発生した際に、第3の実施形態に係るリローカリゼーション処理部1004が実行するリローカリゼーションの処理の流れを示す。
図11に示すように、自己位置推定装置10のリローカリゼーション処理部1004は、最初に、キーフレームの探索範囲をクリアする(ステップS30)。
次に、リローカリゼーション処理部1004は、キーフレームテーブル(図3)に登録された全てのキーフレームのうちいずれか1つを選択する(ステップS31)。
次に、リローカリゼーション処理部1004は、ステップS31で選択したキーフレームが、ロスト発生直前に推定されたフォークリフトの位置を基準にして、フォークリフト1の最大速度の制約を満たす範囲に存在するか否かを判定する(ステップS32)。
選択したキーフレームが、フォークリフト1の最大速度の制約を満たす範囲に存在する場合(ステップS32;YES)、次に、リローカリゼーション処理部1004は、選択したキーフレームが、ロスト発生直前に推定されたフォークリフトの姿勢を基準にして、フォークリフト1の最大角速度の制約を満たす範囲に存在するか否かを判定する(ステップS33)。
選択したキーフレームが、フォークリフト1の最大角速度の制約を満たす範囲に存在する場合(ステップS33;YES)、次に、リローカリゼーション処理部1004は、選択したキーフレームの位置が、オドメトリによる推定位置と十分近いか否かを判定する(ステップS34)。ここで、オドメトリによる推定位置とは、フォークリフト1に搭載されるタイヤ回転角センサ12(図1)及び舵角センサ13(図1)による検出結果を用いて推定されるフォークリフト1の位置である。リローカリゼーション処理部1004は、例えば、ロスト発生直前にORB−SLAMで推定されたフォークリフトの位置を基準に、タイヤ回転角センサ12(図1)及び舵角センサ13(図1)による検出結果に基づく自己位置を推定する。
選択したキーフレームの位置が、オドメトリによる推定位置と十分近い場合(ステップS34;YES)、次に、リローカリゼーション処理部1004は、選択したキーフレームの姿勢が、ジャイロセンサ14(図1)による推定姿勢と十分近いか否かを判定する(ステップS35)。ジャイロセンサ14による推定姿勢とは、例えば、ジャイロセンサ14によって検出される角速度を積分することで求めたフォークリフト1の推定姿勢である。
選択したキーフレームの位置が、ジャイロセンサ14による推定位置と十分近い場合(ステップS34;YES)、リローカリゼーション処理部1004は、選択したキーフレームを探索範囲に追加する(ステップS36)。
他方、上記ステップS32〜ステップS35のうちのいずれか1つでもNOであった場合、リローカリゼーション処理部1004は、選択したキーフレームを探索範囲に追加することなく次のステップに進む。
リローカリゼーション処理部1004は、キーフレームテーブルに登録されている全てのキーフレームについて選択し、ステップS32〜ステップS36の処理を行ったか否かを判定する(ステップS37)。
全てのキーフレームについて選択されていない場合(ステップS37;NO)、リローカリゼーション処理部1004は、次のキーフレームを選択し(ステップS38)、当該キーフレームについてステップS32〜ステップS36の処理を行う。
全てのキーフレームについて選択された場合(ステップS37;YES)、リローカリゼーション処理部1004は、探索範囲に追加されているキーフレームのみを対象にリローカリゼーションを行う(ステップS39)。
図12に示す探索範囲TRは、上記ステップS32〜ステップS38の判定処理を全て満たす領域である。即ち、リローカリゼーション処理部1004は、上記ステップS32〜ステップS38の判定処理を行うことで、ロスト発生直前にORB−SLAMで推定された位置Pc及び姿勢Acを基準に、ハードウェア上の制約によって規定される探索範囲TRに属するキーフレームKFdをリローカリゼーションにおける探索対象とし、探索範囲TRに属さないキーフレームKFeを探索対象としない。
以上の通り、第3の実施形態に係るリローカリゼーション処理部1004は、自己位置推定処理で最後に推定された位置と、フォークリフト1のハードウェア上の制約の一つである最大速度とを用いて、当該フォークリフト1の現在の位置としてとり得る範囲を、キーフレームの探索範囲として特定する。
また、第3の実施形態に係るリローカリゼーション処理部1004は、自己位置推定処理で最後に推定された姿勢と、フォークリフト1のハードウェア上の制約の一つである最大角速度とを用いて、当該フォークリフトの現在の姿勢としてとりうる範囲を、キーフレームの探索範囲として特定する。
また、第3の実施形態に係るリローカリゼーション処理部1004は、オドメトリ(タイヤ回転角センサ12及び舵角センサ13)による推定位置から十分近い範囲(即ち、オドメトリによる推定位置の誤差とみなせる範囲)を、キーフレームの探索範囲として特定する。
また、第3の実施形態に係るリローカリゼーション処理部1004は、ジャイロセンサ14による推定姿勢から十分近い範囲(即ち、ジャイロセンサ14による推定姿勢の誤差とみなせる範囲)を、キーフレームの探索範囲として特定する。
このようにすることで、フォークリフト1のハードウェアの制約上、明らかに外れている位置及び姿勢のキーフレームをリローカリゼーションの探索対象から外すことができるので、リローカリゼーションの処理の効率化、高速化を図ることができる。
なお、上述したステップS32〜ステップS35の判定処理の順番は適宜入れ替え可能であり、他の実施形態においては図11に示す順番に限定されない。また、他の実施形態においては、ステップS32〜ステップS35の全てを行う必要はなく、ステップS32〜ステップS35の少なくともいずれか1つを実施するだけであっても上記効果を奏することができる。
<第4の実施形態>
以下、第4の実施形態に係る自己位置推定装置、及び、これを備える移動体について、図13を参照しながら説明する。
(自己位置推定処理部の処理)
図13は、第4の実施形態に係る自己位置推定処理部の機能を説明する図である。
第4の実施形態に係る自己位置推定処理部1001は、フォークリフト1の位置及び姿勢の軌跡が平滑化されるように、自己位置推定処理によって推定される位置及び姿勢を修正する。
ここで、図7において、自己位置推定処理部1001は、ORB−SLAMによる自己位置推定処理の結果(位置Pa’、姿勢Aa’)に対して、カレントキーフレーム(キーフレームKFn)に紐づく変換行列Tnを乗じることで、より精度の高い位置Pa、姿勢Aaを演算することを説明した。
この場合、以下のような課題が生じ得る。即ち、キーフレームKFnに紐づく変換行列Tnと、キーフレームKFn+1に紐づく変換行列Tn+1は、互いに異なる変換行列である。フォークリフト1の移動中において、自己位置推定処理に用いるカレントキーフレームは、ある位置を境に、例えば、キーフレームKFnからキーフレームKFn+1に切り替わる。そうすると、カレントキーフレームの切り替わりに伴い、真値とのずれの補正に用いられる変換行列が変換行列Tnから変換行列Tn+1に切り替わる。この場合、例えば、図13に示すように、変換行列Tnによって補正された位置及び姿勢と、変換行列Tn+1によって補正された位置及び姿勢との間に“飛び”が発生し、非連続な軌跡となり得る。
そこで、本実施形態に係る自己位置推定処理部1001は、自己位置推定処理によって推定された位置及び姿勢に対し、所定の平滑化処理を行う。自己位置推定処理部1001は、この平滑化処理を施して得られた位置及び姿勢を、フォークリフト1の位置及び姿勢として出力する。この平滑化処理は、例えば、移動平均フィルタ等を用いて実装することができる。
このようにすることで、推定された自己位置が連続的な軌跡を描くようになる。これにより、位置及び姿勢の推定結果に基づいて自動操舵を行うフォークリフト1において、舵角の急激な変化を防止することができる。
(各実施形態の変形例)
以上、第1〜第4の実施形態に係る自己位置推定装置10及びこれを備える移動体(フォークリフト1)について詳細に説明したが、自己位置推定装置10及び移動体の具体的な態様は、上述のものに限定されることはなく、要旨を逸脱しない範囲内において種々の設計変更等を加えることは可能である。
例えば、自己位置推定装置10を適用可能な移動体はフォークリフトに限定されず、無人航空機(ドローン)などにも適用可能である。この場合、自己位置推定装置10は、無人航空機に搭載された加速度センサやジャイロセンサからの検出値を入力し、当該検出値が予め規定された条件を満たした場合に、現在の視界画像をキーフレームとして登録するものであってもよい。
上述の各実施形態においては、上述した自己位置推定装置10の各種処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって上記各種処理が行われる。また、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
上記プログラムは、上述した機能の一部を実現するためのものであってもよい。更に、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上の通り、本発明に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 フォークリフト(移動体)
10 自己位置推定装置
100 CPU
1000 視界画像取得部(取得部)
1001 自己位置推定処理部(推定部)
1002 キーフレーム登録部(登録部)
1003 地図読出部(読出部)
1004 リローカリゼーション処理部(処理部)
101 メモリ
102 ストレージ
103 通信インタフェース
11 カメラ
12 タイヤ回転角センサ
13 舵角センサ
14 ジャイロセンサ
M 地図

Claims (17)

  1. 移動体に搭載されたカメラから視界画像を取得する取得部と、
    前記視界画像上における特徴点の位置と、世界座標上における複数の特徴点の位置が記録されてなる地図とに基づいて、前記世界座標上における前記移動体の位置及び姿勢を推定する自己位置推定処理を行う推定部と、
    前記視界画像を、当該視界画像上に含まれる新たな特徴点を前記地図に追加するためのキーフレームとして登録する登録部と、
    を備え、
    前記登録部は、前記移動体の移動が、当該移動体の位置及び姿勢の少なくともいずれかについて予め規定された条件を満たした場合に、前記視界画像を前記キーフレームとして登録する
    自己位置推定装置。
  2. 前記登録部は、前記移動体の位置と、当該位置に紐づけられる1つの前記キーフレームとの距離が所定の距離閾値以上離れている場合に、前記視界画像をキーフレームとして登録する
    請求項1に記載の自己位置推定装置。
  3. 前記登録部は、移動中の前記移動体の角速度が所定の角速度閾値以上となった場合に、前記視界画像をキーフレームとして登録する
    請求項1または請求項2に記載の自己位置推定装置。
  4. 前記登録部は、消去防止フラグの有無に基づいて、登録済の複数の前記キーフレームに対する間引き処理を行い、
    複数の前記キーフレームの1つである対象キーフレームに対し、当該対象キーフレームよりも1つ前に登録されたキーフレームと、当該対象キーフレームよりも1つ後に登録されたキーフレームとの位置及び姿勢の少なくともいずれかの関係に基づいて、当該対象キーフレームに前記消去防止フラグを付するか否かを判定する
    請求項1から請求項3のいずれか一項に記載の自己位置推定装置。
  5. 前記地図のうちの一部の領域をメモリ上に読み出す読出部を更に備える
    請求項1から請求項4のいずれか一項に記載の自己位置推定装置。
  6. 前記読出部は、前記地図のうち、前記移動体の位置を基準とする前記一部の領域をメモリ上に読み出す
    請求項5に記載の自己位置推定装置。
  7. 前記読出部は、前記地図のうち、前記移動体の幅方向と比較して前記移動体の前後方向に広い前記一部の領域をメモリ上に読み出す
    請求項6に記載の自己位置推定装置。
  8. 前記読出部は、前記地図のうち、特定の走行ルートに対応する前記一部の領域をメモリ上に読み出す
    請求項5から請求項7のいずれか一項に記載の自己位置推定装置。
  9. 前記自己位置推定処理に失敗した場合に前記キーフレームを探索するリローカリゼーションを行う処理部を備え、
    前記処理部は、前記移動体のハードウェアの制約条件に基づいて探索範囲を特定するとともに、当該探索範囲に含まれるキーフレームを探索する
    請求項1から請求項8のいずれか一項に記載の自己位置推定装置。
  10. 前記処理部は、前記自己位置推定処理で推定された位置と、前記移動体の最大速度とに基づいて、当該移動体の現在の位置としてとりうる範囲を前記探索範囲として特定する
    請求項8に記載の自己位置推定装置。
  11. 前記処理部は、前記自己位置推定処理で推定された姿勢と、前記移動体の最大角速度とに基づいて、当該移動体の現在の姿勢としてとり得る範囲を前記探索範囲として特定する
    請求項8又は請求項9に記載の自己位置推定装置。
  12. 前記処理部は、前記自己位置推定処理で推定された位置を基準とする、オドメトリによる推定位置の誤差とみなせる範囲を前記探索範囲として特定する
    請求項8から請求項10のいずれか一項に記載の自己位置推定装置。
  13. 前記処理部は、前記自己位置推定処理で推定された姿勢を基準とする、ジャイロセンサによる推定姿勢の誤差とみなせる範囲を前記探索範囲として特定する
    請求項8から請求項11のいずれか一項に記載の自己位置推定装置。
  14. 前記推定部は、前記世界座標上における前記移動体の位置及び姿勢の軌跡が平滑化されるように、前記自己位置推定処理によって推定された位置及び姿勢を修正する
    請求項1から請求項13のいずれか一項に記載の自己位置推定装置。
  15. 前記推定部は、移動平均フィルタを用いて、前記自己位置推定処理によって推定された位置及び姿勢を修正する
    請求項14に記載の自己位置推定装置。
  16. 移動体に搭載されたカメラから視界画像を取得するステップと、
    前記視界画像上における特徴点の位置と、世界座標上における複数の特徴点の位置が記録されてなる地図とに基づいて、前記世界座標上における前記移動体の位置及び姿勢を推定する自己位置推定処理を行うステップと、
    前記視界画像を、当該視界画像上に含まれる新たな特徴点を前記地図に追加するためのキーフレームとして登録するステップと、
    を有し、
    前記キーフレームとして登録するステップでは、前記移動体の移動が、当該移動体の位置及び姿勢の少なくともいずれかについて規定された条件を満たした場合に、前記視界画像を前記キーフレームとして登録する
    自己位置推定方法。
  17. 自己位置推定装置のコンピュータに、
    移動体に搭載されたカメラから視界画像を取得するステップと、
    前記視界画像上における特徴点の位置と、世界座標上における複数の特徴点の位置が記録されてなる地図とに基づいて、前記世界座標上における前記移動体の位置及び姿勢を推定する自己位置推定処理を行うステップと、
    前記視界画像を、当該視界画像上に含まれる新たな特徴点を前記地図に追加するためのキーフレームとして登録するステップと、
    を実行させ、
    前記キーフレームとして登録するステップでは、前記移動体の移動が、当該移動体の位置及び姿勢の少なくともいずれかについて規定された条件を満たした場合に、前記視界画像を前記キーフレームとして登録する
    プログラム。
JP2019041991A 2019-03-07 2019-03-07 自己位置推定装置、自己位置推定方法及びプログラム Active JP7220591B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019041991A JP7220591B2 (ja) 2019-03-07 2019-03-07 自己位置推定装置、自己位置推定方法及びプログラム
DE102020103252.8A DE102020103252A1 (de) 2019-03-07 2020-02-10 Selbstlokalisierungsvorrichtung, selbstlokalisierungsverfahren und programm
CN202010084076.2A CN111664857B (zh) 2019-03-07 2020-02-10 自己位置估算装置、自己位置估算方法及记录介质
US16/787,258 US11216973B2 (en) 2019-03-07 2020-02-11 Self-localization device, self-localization method, and non-transitory computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019041991A JP7220591B2 (ja) 2019-03-07 2019-03-07 自己位置推定装置、自己位置推定方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020144710A true JP2020144710A (ja) 2020-09-10
JP7220591B2 JP7220591B2 (ja) 2023-02-10

Family

ID=72146736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019041991A Active JP7220591B2 (ja) 2019-03-07 2019-03-07 自己位置推定装置、自己位置推定方法及びプログラム

Country Status (4)

Country Link
US (1) US11216973B2 (ja)
JP (1) JP7220591B2 (ja)
CN (1) CN111664857B (ja)
DE (1) DE102020103252A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022075583A (ja) * 2020-11-03 2022-05-18 ネイバーラボス コーポレーション マップの生成方法及びそれを用いた画像ベースの測位システム
JP2022077976A (ja) * 2020-11-12 2022-05-24 ネイバーラボス コーポレーション 画像ベースの測位方法及びシステム
WO2023149125A1 (ja) * 2022-02-04 2023-08-10 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020126401A1 (de) 2020-10-08 2022-04-14 Jungheinrich Aktiengesellschaft Verfahren zur Bestimmung von Abstandswerten zu einem Flurförderzeug sowie ein solches
CN113052882B (zh) * 2021-03-26 2023-11-24 上海商汤智能科技有限公司 图像配准方法及相关装置、电子设备、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230315A (ja) * 1994-02-16 1995-08-29 Fuji Heavy Ind Ltd 自律走行車の走行制御装置
JP2012185619A (ja) * 2011-03-04 2012-09-27 Toyota Motor Corp 移動体マップ装置、その処理方法及びプログラム
JP2013020345A (ja) * 2011-07-08 2013-01-31 Hitachi Industrial Equipment Systems Co Ltd 移動体の位置・姿勢推定システム
JP2018156538A (ja) * 2017-03-21 2018-10-04 カシオ計算機株式会社 自律移動装置、画像処理方法及びプログラム
JP2018173882A (ja) * 2017-03-31 2018-11-08 富士通株式会社 情報処理装置、方法、及びプログラム
WO2019082670A1 (ja) * 2017-10-25 2019-05-02 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び、移動体

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69130549T2 (de) * 1990-06-11 1999-05-27 Hitachi Ltd Vorrichtung zur Erzeugung eines Objektbewegungsweges
JPH07264471A (ja) * 1994-03-19 1995-10-13 Sony Corp 特殊効果装置
JP2009210269A (ja) * 2008-02-29 2009-09-17 Sanyo Electric Co Ltd ナビゲーション装置及び該装置における地点登録方法
JP5776332B2 (ja) 2011-05-27 2015-09-09 富士通株式会社 地図処理方法及びプログラム、並びにロボットシステム
US9183631B2 (en) * 2012-06-29 2015-11-10 Mitsubishi Electric Research Laboratories, Inc. Method for registering points and planes of 3D data in multiple coordinate systems
CN104854637B (zh) * 2012-12-12 2016-08-24 日产自动车株式会社 移动物体位置姿态角推定装置及移动物体位置姿态角推定方法
KR101463145B1 (ko) * 2013-01-10 2014-11-20 주식회사 한터기술 운행열차의 위치안내 중 음영구간을 해소하는 방법과 이를 적용한 열차위치 안내시스템
JP6849330B2 (ja) 2015-08-28 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 地図生成方法、自己位置推定方法、ロボットシステム、およびロボット
WO2017038012A1 (ja) 2015-08-28 2017-03-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 地図生成方法、自己位置推定方法、ロボットシステム、およびロボット
CN105744164B (zh) * 2016-02-24 2019-01-29 惠州Tcl移动通信有限公司 一种移动终端拍照方法及系统
US9964955B2 (en) * 2016-08-04 2018-05-08 Canvas Technology, Inc. System and methods of determining a geometric pose of a camera based on spatial and visual mapping
CN106373141B (zh) * 2016-09-14 2019-05-28 上海航天控制技术研究所 空间慢旋碎片相对运动角度和角速度的跟踪系统和跟踪方法
CN106446815B (zh) * 2016-09-14 2019-08-09 浙江大学 一种同时定位与地图构建方法
US20200158517A1 (en) * 2017-01-19 2020-05-21 Mindmaze Holding Sa System, methods, device and apparatuses for preforming simultaneous localization and mapping
JP6760114B2 (ja) * 2017-01-31 2020-09-23 富士通株式会社 情報処理装置、データ管理装置、データ管理システム、方法、及びプログラム
JP6842039B2 (ja) * 2017-03-02 2021-03-17 富士通株式会社 カメラ位置姿勢推定装置、方法およびプログラム
CN107063264A (zh) * 2017-04-13 2017-08-18 杭州申昊科技股份有限公司 一种适用于大规模变电站环境的机器人地图创建方法
JP6762913B2 (ja) * 2017-07-11 2020-09-30 キヤノン株式会社 情報処理装置、情報処理方法
JP7257737B2 (ja) * 2017-09-05 2023-04-14 ソニーグループ株式会社 情報処理装置、自己位置推定方法、及び、プログラム
CN108090958B (zh) * 2017-12-06 2021-08-27 上海阅面网络科技有限公司 一种机器人同步定位和地图构建方法和系统
JP2019149621A (ja) * 2018-02-26 2019-09-05 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN108520559B (zh) * 2018-04-04 2022-04-05 西安因诺航空科技有限公司 一种基于双目视觉的无人机定位导航的方法
CN109556596A (zh) * 2018-10-19 2019-04-02 北京极智嘉科技有限公司 基于地面纹理图像的导航方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230315A (ja) * 1994-02-16 1995-08-29 Fuji Heavy Ind Ltd 自律走行車の走行制御装置
JP2012185619A (ja) * 2011-03-04 2012-09-27 Toyota Motor Corp 移動体マップ装置、その処理方法及びプログラム
JP2013020345A (ja) * 2011-07-08 2013-01-31 Hitachi Industrial Equipment Systems Co Ltd 移動体の位置・姿勢推定システム
JP2018156538A (ja) * 2017-03-21 2018-10-04 カシオ計算機株式会社 自律移動装置、画像処理方法及びプログラム
JP2018173882A (ja) * 2017-03-31 2018-11-08 富士通株式会社 情報処理装置、方法、及びプログラム
WO2019082670A1 (ja) * 2017-10-25 2019-05-02 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び、移動体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022075583A (ja) * 2020-11-03 2022-05-18 ネイバーラボス コーポレーション マップの生成方法及びそれを用いた画像ベースの測位システム
JP7365385B2 (ja) 2020-11-03 2023-10-19 ネイバーラボス コーポレーション マップの生成方法及びそれを用いた画像ベースの測位システム
US11941755B2 (en) 2020-11-03 2024-03-26 Naver Labs Corporation Method of generating map and visual localization system using the map
JP2022077976A (ja) * 2020-11-12 2022-05-24 ネイバーラボス コーポレーション 画像ベースの測位方法及びシステム
JP7273927B2 (ja) 2020-11-12 2023-05-15 ネイバーラボス コーポレーション 画像ベースの測位方法及びシステム
WO2023149125A1 (ja) * 2022-02-04 2023-08-10 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
US20200286257A1 (en) 2020-09-10
CN111664857B (zh) 2023-09-19
DE102020103252A1 (de) 2020-09-10
JP7220591B2 (ja) 2023-02-10
CN111664857A (zh) 2020-09-15
US11216973B2 (en) 2022-01-04

Similar Documents

Publication Publication Date Title
JP7220591B2 (ja) 自己位置推定装置、自己位置推定方法及びプログラム
CN112179330B (zh) 移动设备的位姿确定方法及装置
US20200378767A1 (en) Methods, apparatus, and systems for localization and mapping
CA2952355C (en) Adaptive mapping with spatial summaries of sensor data
Lim et al. Real-time 6-DOF monocular visual SLAM in a large-scale environment
US7696894B2 (en) Method for determining a relative position of a mobile unit by comparing scans of an environment and mobile unit
US11555704B2 (en) Systems and methods for updating an electronic map
CN114623817B (zh) 基于关键帧滑窗滤波的含自标定的视觉惯性里程计方法
Michot et al. Bi-objective bundle adjustment with application to multi-sensor slam
JP2018124787A (ja) 情報処理装置、データ管理装置、データ管理システム、方法、及びプログラム
WO2022016320A1 (zh) 地图更新方法、装置、计算机设备和存储介质
US20100265327A1 (en) System for recording Surroundings
CN111540011A (zh) 基于混合度量-拓扑相机的定位
US11768503B2 (en) Position estimation device, control device, industrial vehicle, logistics support system, position estimation method, and program
JP2022022715A (ja) 位置推定装置、車両、位置推定方法およびプログラム
CN110278714A (zh) 障碍物检测方法、移动平台及计算机可读存储介质
CN114187418A (zh) 回环检测方法、点云地图构建方法、电子设备及存储介质
JP7144491B2 (ja) フォークリフト、位置推定方法、及びプログラム
CN111882494B (zh) 位姿图处理方法、装置、计算机设备和存储介质
US20220291009A1 (en) Information processing apparatus, information processing method, and storage medium
Rajamohan et al. Image based Localization under large perspective difference between Sfm and SLAM using split sim (3) optimization
US20230350422A1 (en) Information processing apparatus, information processing method, and information processing program
KR102624644B1 (ko) 벡터 맵을 이용한 이동체의 맵 매칭 위치 추정 방법
CN113632029A (zh) 信息处理装置、程序及信息处理方法
Shin et al. Multi-matching-based vision navigation referencing map tile

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221125

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: 20230124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230131

R150 Certificate of patent or registration of utility model

Ref document number: 7220591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150