JP2014222551A - Vslam最適化のための方法 - Google Patents

Vslam最適化のための方法 Download PDF

Info

Publication number
JP2014222551A
JP2014222551A JP2014178852A JP2014178852A JP2014222551A JP 2014222551 A JP2014222551 A JP 2014222551A JP 2014178852 A JP2014178852 A JP 2014178852A JP 2014178852 A JP2014178852 A JP 2014178852A JP 2014222551 A JP2014222551 A JP 2014222551A
Authority
JP
Japan
Prior art keywords
landmark
robot
graph
node
slam
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
JP2014178852A
Other languages
English (en)
Other versions
JP5881790B2 (ja
Inventor
イーサン・イード
Eade Ethan
マリオ・イー・ムニッヒ
E Munich Mario
フィリップ・フォング
Fong Philip
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.)
ROBOT CORP I
iRobot Corp
Original Assignee
ROBOT CORP I
iRobot Corp
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 ROBOT CORP I, iRobot Corp filed Critical ROBOT CORP I
Publication of JP2014222551A publication Critical patent/JP2014222551A/ja
Application granted granted Critical
Publication of JP5881790B2 publication Critical patent/JP5881790B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/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
    • G05D1/0253Control 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 extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • G06F16/444Spatial browsing, e.g. 2D maps, 3D or virtual spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • G09B29/007Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Electromagnetism (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Educational Administration (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Technology (AREA)
  • Ecology (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)

Abstract

【課題】同時位置推定地図構築(SLAM)を処理するために、視覚センサおよびデッドレコニングセンサを使用する方法を提供する。
【解決手段】ロボットナビゲーションに使用することができる。視覚的技法は、地図を自律的に生成および更新するために使用することができる。視覚的技法は、レーザー測距器とは異なり、広範囲の用途で経済的実用性があり、人が移動する環境などの、比較的動的な環境で使用することができる。いくつかの実施形態は、SLAMベースのシステムにおけるフロントエンド処理の改善を企図する。いくつかの実施形態は、新規のランドマーク整合プロセスである。いくつかの実施形態は、新規のランドマーク作成プロセスである。いくつかの実施形態は、SLAMベースのシステムにおけるバックエンド処理の改善を企図する。いくつかの実施形態は、より効率的な構成を実現するためにSLAMグラフを実時間で修正するためのアルゴリズムである。
【選択図】図14

Description

本発明は、一般に、移動型電子装置のナビゲーションに関する。具体的には、本発明は、移動ロボットなどの移動型電子システムに使用することができる位置推定と地図構築技法用のフロントエンドおよびバックエンドの処理に関する。
[関連出願の相互参照]
本出願は、2010年9月24日に出願した米国仮出願第61/404001号の優先権を主張するものであり、その開示内容は、参照によりその全体が本明細書に組み込まれている。本出願は、さらに、SYSTEMS AND METHODS FOR LANDMARK GENERATION FOR VISUAL SIMULTANEOUS LOCALIZATION AND MAPPINGという名称の2003年12月17日に出願した米国特許第7,774,158号公報に関連し、その開示内容は、参照によりその全体が本明細書に組み込まれている。
移動ロボットは、社会において、ますます一般的になっている。これらのロボットは、自動真空掃除機などの様々な形態で具体化することができることが理解されよう。限定されないが、玩具ロボットなどの娯楽用途、空中、深海、低温、放射線、化学暴露、生物学的災害などの人間に不都合な環境における実用性用途、爆発の可能性があるものの処理などの危険作業、崩壊した建物などの狭い空間での作業、清掃などの単純作業の実施などの、移動ロボットの様々な用途を見出すことができる。移動できる従来のロボットは、自動位置推定および/または地図構築機能を含まない。
位置推定技法は、ロボットがその環境に対するその位置を特定する処理を指す。例えば、「純粋な」位置推定システムでは、ロボットは、その環境の地図を提供される。そうした「純粋な」位置推定システムは、手動的技法による地図作成が比較的難しく労力を要する特別な作業なので、不利である。さらに、多くの環境は、静的でない。例えば、室内の家具の再配置は、既存の地図を使用不可能にする可能性がある。その結果、純粋な位置推定システム内の地図は、地図がその環境を正確に表すために、比較的頻繁で高価な更新を受ける。このことは、特に、無人の空中、海中、および地表の航行体に当てはまる可能性がある。
地図構築技法は、ロボットがその環境の地図を構築するプロセスに関する。その環境の地図を自律的に構築し、地図内でそれ自体の位置推定を行うことができるロボットは、有利なことに、比較的高度の自律性を示すことができる。さらに、そうしたロボットは、有利なことに、その環境の変化に適応することができる。地図を構築し、作成地図を使用するこのプロセスは、同時位置推定地図構築(SLAM:Simultaneous Localizatino and Mapping)として知られている。SLAMは、地図の構築(マッピング)および地図の使用(位置推定)に関するが、位置推定に関するプロセスおよび地図構築に関するプロセスは、実際には、システムがSLAMを実行するのに同時に行う必要がないことが理解されよう。例えば、手順を多重的に実施することができる。むしろ、SLAMを実行するために、システムが位置推定も地図構築もできることで十分である。例えば、SLAMシステムは、移動ロボットまたはスマートホンなどの航行体を地図内で位置推定し、さらに地図を更新するために、同じデータを使用することができる。
SLAMプロセスは、通常、ベイズ推定(Bayesian Estimation)などの確率的技法を使用する。ロボットの位置および/またはロボットの地図の様々な仮定などの、動的システムの様々な状態を同時に保持することができる。確率的技法を用いれば、確率密度関数は、システムのこれら様々な状態全体にわたる確率分布を表す。確率密度関数は、「パーティクル(particles)」と呼ばれる有限の数のサンプル点により、またはパラメトリック形式(例えば、ガウス確率分布を表すために平均ベクトルおよび共分散行列を使用する)で近似することができる。
従来のSLAM技法は、比較的多くの欠点を示す。例えば、従来のあるSLAM技法は、レーザー測距器を使用して地図を構築する。そうしたレーザー測距器技法は、正確であるが、人が歩いている環境などの動的環境では比較的信頼できない。それに加えて、レーザー測距器は、比較的高価な装置であり、多くのロボット用途ではコストがかかりすぎる可能性がある。以下の参照文献には、過去のシステムおよび構成要素の全体の概要を提供する。
[参照文献]
[1]M. AgrawalおよびK. Konolige、「Censure:Center surround extremas for realtime feature detection and matching」、ECCV、2008年
[2]Herbert Bay、Andreas Ess、Tinne Tuytelaars、およびLuc Van Gool、「Speeded-up robust features (surf)」、Computer Vision and Image Understanding、110(3)、346〜359頁、2008年
[3]R. O. Castle、G. Klein、およびD. W. Murray、「Video-rate localization in multiple maps for wearable augmented reality」、Proc 12th IEEE Int Symp on Wearable Computers、Pittsburgh PA、9月28日〜10月1日、2008年、15〜22頁、2008年
[4]A. Davison、I. Reid、N. Molton、およびO. Stasse、「Monoslam: Real-time single camera slam」、IEEE Trans. Pattern Anal. Mach. Intell.、29(6): 1052〜1067頁、2007年
[5]Andrew J. Davison、「Real-time simultaneous localisation and mapping with a single camera」、Proc. 9th IEEE International Conference on Computer Vision (ICCV'03)、1403〜1410頁、Nice、France、2003年10月
[6]E. EadeおよびT. Drummond、「Monocular slam as a graph of coalesced observations」、Proc.11th IEEE International Conference on Computer Vision(ICCV'07)、Rio de Janeiro、Brazil、2007年10月
[7]E. EadeおよびT. Drummond、「Unified loop closing and recovery for real time monocular slam」、Proc. British Machine Vision Conference(BM VC '08)、53〜62頁、Leeds、2008年9月、BMVA
[8]M.A. FischlerおよびR.C. Bolles、「Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography」、Communications of the ACM、24(6):381〜395頁、1981年6月
[9]L. Goncalves、E. Di Bernardo、D. Benson、M. Svedman、J. Ostrowski、N. Karlsson、およびP. Pirjanian、「A visual frontend for simultaneous localization and mapping」、Proc. of Int. Conf. on Robotics and Automation(ICRA)、2005年
[10]Giorgio Grisetti、Dario Lodi Rizzini、Cyrill Stachniss、Edwin Olson、およびWolfram Burgard、「Online constraint network optimization for efficient maximum likelihood map learning」、ICRA、1880〜1885頁、Pasadena、California、2008年4月
[11]N. Karlsson、E. di Bernardo、J. Ostrowski、L. Goncalves、P. Pirjanian、およびM.E. Munich、「The vslam algorithm for robust localization and mapping」、Proc. 2005 IEEE International Conference on Robotics and Automation(ICRA '05)、24〜29頁、Barcelona、Spain、2005年4月
[12]G. KleinおよびD. Murray、「Parallel tracking and mapping for small AR workspaces」、Proc. Sixth IEEE and ACM Int'l Symp、Mixed and Augmented Reality、2007年
[13]K. Konolige、J. Bowman、J. D. Chen、P. Mihelich、M. Calonder、V. Lepetit、およびP. Fua、「View-based maps」、Proceedings of Robotics: Science and Systems、Seattle、USA、2009年6月
[14]Kurt Konolige、「Slam via variable reduction from constraint maps」、ICRA、667〜672頁、Barcelona、Spain、2005年4月
[15]Kurt KonoligeおよびMotilal Agrawal、「Frame-frame matching for realtime consistent visual mapping」、Proc. 2007 IEEE International Conference on Robotics and Automation(ICRA '07)、2803〜2810頁、Rome、Italy、2007年4月
[16]David Lowe、「Distinctive image features from scale-invariant keypoints」、International Journal of Computer Vision、60(2):91〜100頁、2004年
[17]J. Matas、O. Chum、M. Urban、およびT. Pajdla、「Robust wide baseline stereo from maximally stable extremal regions」、Proc. British Machine Vision Conference(BMVC '02)、384〜393頁、Cardiff、2002年9月、BMVA
[18]Krystian MikolajczykおよびCordelia Schmid、「A performance evaluation of local descriptors」、IEEE Transactions on Pattern Analysis and Machine Intelligence(PAMI)、27(10):1615〜1630頁、2005年
[19]M. Montemerlo、S. Thrun、D. Roller、およびB. Wegbreit、「FastSLAM 2.0: An improved particle filtering algorithm for simultaneous localization and mapping that provably converges」、Georg GottlobおよびToby Walsh編集、Proc. Eighteenth International Joint Conference on Artificial Intelligence(IJCAF03)、Acapulco、Mexico、2003年8月、Morgan Kaufmann
[20]David Nister、「An efficient solution to the five-point relative pose problem」、IEEE Transactions on Pattern Analysis and Machine Intelligence(PAMI)、26(6):756〜777頁、2004年6月
[21]David NisterおよびHenrik Stewenius、「Scalable recognition with a vocabulary tree」、Proc. IEEE Intl. Conference on Computer Vision and Pattern Recognition (CVPR '06)、2161〜2168頁、New York, NY、USA、2006年6月、IEEE Computer Society
[22]Jonathan R Shewchuk、「An introduction to the conjugate gradient method without the agonizing pain」、Technical report、Pittsburgh, PA、USA、1994年
[23]J. SivicおよびA. Zisserman、「Video Google: A text retrieval approach to object matching in videos」、Proc. 9th IEEE International Conference on Computer Vision(ICCV'03)、1470〜1477頁、Nice、France、2003年10月
[24]S. ThrunおよびM. Montemerlo、「The GraphSLAM algorithm with applications to large-scale mapping of urban structures」、International Journal on Robotics Research、25(5/6) :403〜430頁、2005年
[25]Sebastian ThrunおよびMichael Montemerlo、「The graph slam algorithm with applications to large-scale mapping of urban structures」、The International Journal of Robotics Research、25(5-6):403〜429頁、2006年
[26]Bill Triggs、P. McLauchlan、Richard Hartley、およびA. Fitzgibbon、「Bundle adjustment - a modern synthesis」、B. Triggs、A. Zisserman、およびR. Szeliski編集、Vision Algorithms: Theory and Practice、volume 1883 of Lecture Notes in Computer Science、298〜372頁、Springer- Verlag、2000年
[27]B. Williams、M. Cummins、J. Neira、P. Newman、l. Reid、およびJ. Tardos、「An image-to-map loop closing method for monocular slam」、Proc. Int. Conf. Intelligent Robots and Systems、2008年。掲載予定
ビデオカメラは、その比較的低い価格および高いデータ速度のためにSLAM用の魅力的なセンサである。それらの使用に多大な研究が注がれてきた。
Davisonの[5、4]は、単一のカメラにより小さいスケールで視覚的SLAMを実行するためにカルマンフィルタおよび画像パッチトラッキング(image-patch tracking)を使用する。視覚的特徴点は、ビデオから徐々に選択され、後続のフレームを通してトラッキングされ、すべての測定値は、拡張カルマンフィルタ(EKF)により統合されて共通の状態になる。フィルタ更新のコストは、トラッキングされた特徴点の数と共に二次的に増加し、トラッキングは、不連続な動きまたは低いフレーム速度ではロバストでない。同じプラットホームの後の開発品[27]は、複数の小さい地図をより大きいネットワーク内で接続することができ、トラッキングが失敗したとき、再び画像ベースの位置推定を行う。
Karlssonらの[11、9]は、画像認識システムおよびパーティクルフィルタを使用してSLAMシステムを構築する。その方法は、個々のトラッキングされる特徴点全体にわたるフィルタリングの代わりに、ランドマークと呼ばれる特徴点の集合を構築し、FastSLAM[19]バックエンドフィルタ内にその状態を保持する。パーティクルフィルタは、ランドマークの数が増加するとき、EKFよりも効率的な動作を提供する。認識フロントエンドは、どんなトラッキング仮定にも依存せず、視覚的なループクロージング(loop closure)を自動にする。
Thrunらの[24]は、SLAM状態および観測値を表示するためのグラフベースのフレームワークを提供し、グラフ表示を使用して状態推定値を精細化するための方法を説明する。ロボットの過去のすべての姿勢は、すべての観測値と共にグラフ内に明確に記憶される。グラフの複雑性は、時間と共に徐々に増大し、状態変数は、再帰フィルタ内で長期間合体しない。したがって、反復的精細化により、最終的に、目的関数の非線形性にもかかわらず状態が矛盾のない集束値になる可能性がある。記載されたグラフ精細化は、コンピュータビジョンの構成および運動に通常使用されるバンドル調整法(bundle adjustment method)[26]と構成的には同じである。
Konoligeらの[14]は、過去の姿勢状態を過小評価することにより、そうしたグラフ表示の状態複雑性をどのようにして低減することができるかを示唆する。統計的細分化が記載され、方法が検討されるが、運用用途が提供されていない。
Grisettiらの[10]は、ThrunのグラフフレームワークなどのSLAM拘束ネットワークの漸進的な最適化のための技法を提供する。
Eadeらの[6]は、それぞれが再帰フィルタにより保持された局所地図全体にわたってグラフ構造を構築する。このシステムは、通常の動作中にパッチトラッキングを使用する。再位置推定および復元フレームワーク[7]は、視点不変特徴点および認識方法を使用して局所地図のグラフの頂部上に構築される。状態の統計的推定値全体を精細化するために、グラフが徐々に精細化される。
Kleinらの[12]は、小さい空間内の視覚データのみを使用してトラッキングおよび地図構築をするためのシステムを説明する。キーフレームは、ビデオストリームから選択され、これらのキーフレームの間で対応付けが行われる。すべての対応付けおよびキーフレーム姿勢は、システムの主動作と並行したバンドル調整動作において共に最適化される。各フレームにおいて、画像特徴点は、パッチを使用してトラッキングされ、カメラ姿勢は、グローバル構造の現在の推定値に対して推定される。このシステムは、画像ベースの比較値を使用して再位置推定をサポートするためにCastleらの[3]により拡張される。
Konoligeらの[15]は、SLAMを遂行するためにキーフレームおよびグローバル最適化を使用するKlein'sと同様のシステムを提供する。それに加えて、Konoligeのシステムは、キーフレーム間の複数のトラッキング結果を視覚的オドメトリ測定値内に集約し、視覚的に分離したキーフレーム間のつながりをもたらす。このシステムは、ステレオカメラを有する移動ロボット上で実演される。その際、このシステムは、視覚ベースの認識を使用するために拡張され、トラッキング仮定[13]にはあまり依存しない。
M. AgrawalおよびK. Konolige、「Censure:Center surround extremas for realtime feature detection and matching」、ECCV、2008年 Herbert Bay、Andreas Ess、Tinne Tuytelaars、およびLuc Van Gool、「Speeded-up robust features (surf)」、Computer Vision and Image Understanding、110(3)、346〜359頁、2008年 R. O. Castle、G. Klein、およびD. W. Murray、「Video-rate localization in multiple maps for wearable augmented reality」、Proc 12th IEEE Int Symp on Wearable Computers、Pittsburgh PA、9月28日〜10月1日、2008年、15〜22頁、2008年 A. Davison、I. Reid、N. Molton、およびO. Stasse、「Monoslam: Real-time single camera slam」、IEEE Trans. Pattern Anal. Mach. Intell.、29(6): 1052〜1067頁、2007年 Andrew J. Davison、「Real-time simultaneous localisation and mapping with a single camera」、Proc. 9th IEEE International Conference on Computer Vision(ICCV'03)、1403〜1410頁、Nice、France、2003年10月 E. EadeおよびT. Drummond、「Monocular slam as a graph of coalesced observations」、Proc.11th IEEE International Conference on Computer Vision(ICCV'07)、Rio de Janeiro、Brazil、2007年10月 E. EadeおよびT. Drummond、「Unified loop closing and recovery for real time monocular slam」、Proc. British Machine Vision Conference(BM VC '08)、53〜62頁、Leeds、2008年9月、BMVA M.A. FischlerおよびR.C. Bolles、「Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography」、Communications of the ACM、24(6):381〜395頁、1981年6月 L. Goncalves、E. Di Bernardo、D. Benson、M. Svedman、J. Ostrowski、N. Karlsson、およびP. Pirjanian、「A visual frontend for simultaneous localization and mapping」、Proc. of Int. Conf. on Robotics and Automation(ICRA)、2005年 Giorgio Grisetti、Dario Lodi Rizzini、Cyrill Stachniss、Edwin Olson、およびWolfram Burgard、「Online constraint network optimization for efficient maximum likelihood map learning」、ICRA、1880〜1885頁、Pasadena、California、2008年4月 N. Karlsson、E. di Bernardo、J. Ostrowski、L. Goncalves、P. Pirjanian、およびM.E. Munich、「The vslam algorithm for robust localization and mapping」、Proc. 2005 IEEE International Conference on Robotics and Automation(ICRA '05)、24〜29頁、Barcelona、Spain、2005年4月 G. KleinおよびD. Murray、「Parallel tracking and mapping for small AR workspaces」、Proc. Sixth IEEE and ACM Int'l Symp、Mixed and Augmented Reality、2007年 K. Konolige、J. Bowman、J. D. Chen、P. Mihelich、M. Calonder、V. Lepetit、およびP. Fua、「View-based maps」、Proceedings of Robotics: Science and Systems、Seattle、USA、2009年6月 Kurt Konolige、「Slam via variable reduction from constraint maps」、ICRA、667〜672頁、Barcelona、Spain、2005年4月 Kurt KonoligeおよびMotilal Agrawal、「Frame-frame matching for realtime consistent visual mapping」、Proc. 2007 IEEE International Conference on Robotics and Automation(ICRA '07)、2803〜2810頁、Rome、Italy、2007年4月 David Lowe、「Distinctive image features from scale-invariant keypoints」、International Journal of Computer Vision、60(2):91〜100頁、2004年 J. Matas、O. Chum、M. Urban、およびT. Pajdla、「Robust wide baseline stereo from maximally stable extremal regions」、Proc. British Machine Vision Conference(BMVC '02)、384〜393頁、Cardiff、2002年9月、BMVA Krystian MikolajczykおよびCordelia Schmid、「A performance evaluation of local descriptors」、IEEE Transactions on Pattern Analysis and Machine Intelligence(PAMI)、27(10):1615〜1630頁、2005年 M. Montemerlo、S. Thrun、D. Roller、およびB. Wegbreit、「FastSLAM 2.0: An improved particle filtering algorithm for simultaneous localization and mapping that provably converges」、Georg GottlobおよびToby Walsh編集、Proc. Eighteenth International Joint Conference on Artificial Intelligence(IJCAF03)、Acapulco、Mexico、2003年8月、Morgan Kaufmann David Nister、「An efficient solution to the five-point relative pose problem」、IEEE Transactions on Pattern Analysis and Machine Intelligence(PAMI)、26(6):756〜777頁、2004年6月 David NisterおよびHenrik Stewenius、「Scalable recognition with a vocabulary tree」、Proc. IEEE Intl. Conference on Computer Vision and Pattern Recognition(CVPR '06)、2161〜2168頁、New York, NY、USA、2006年6月、IEEE Computer Society Jonathan R Shewchuk、「An introduction to the conjugate gradient method without the agonizing pain」、Technical report、Pittsburgh, PA、USA、1994年 J. SivicおよびA. Zisserman、「Video Google: A text retrieval approach to object matching in videos」、Proc. 9th IEEE International Conference on Computer Vision(ICCV'03)、1470〜1477頁、Nice、France、2003年10月 S. ThrunおよびM. Montemerlo、「The GraphSLAM algorithm with applications to large-scale mapping of urban structures」、International Journal on Robotics Research、25(5/6) :403〜430頁、2005年 Sebastian ThrunおよびMichael Montemerlo、「The graph slam algorithm with applications to large-scale mapping of urban structures」、The International Journal of Robotics Research、25(5-6):403〜429頁、2006年 Bill Triggs、P. McLauchlan、Richard Hartley、およびA. Fitzgibbon、「Bundle adjustment - a modern synthesis」、B. Triggs、A. Zisserman、およびR. Szeliski編集、Vision Algorithms: Theory and Practice、volume 1883 of Lecture Notes in Computer Science、298〜372頁、Springer- Verlag、2000年 B. Williams、M. Cummins、J. Neira、P. Newman、l. Reid、およびJ. Tardos、「An image-to-map loop closing method for monocular slam」、Proc. Int. Conf. Intelligent Robots and Systems、2008年 David G. Lowe、「Local Feature View Clustering for 3D Object Recognition」、Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition、Kauai、Hawaii(2001年12月) Olivier FaugerasおよびQuang-Tuan Luong、「The Geometry of Multiple Images」、MIT Press(2001年)
当分野における多大な努力にもかかわらず、SLAMグラフをシステム更新および分析をより反映する形式に迅速に再構築するための効率的な方法が未だに必要である。すなわち、所望のレベルの情報内容を保持しながら、SLAM動作の速度を改善するグラフ管理方法が必要である。
いくつかの実施形態は、プロセッサおよびカメラを含むシステム内で位置推定および地図構築を行うための方法を企図し、プロセッサは、複数の姿勢ノードおよび複数のエッジを含むグラフを作成するように構成される。本方法は、グラフ内の姿勢ノードの数が第1の閾値を超える場合にグラフを更新するステップを含み、更新するステップは、i) 2つ以上のインシデントエッジ(incident edge)により関連のマルコフブランケットノードに直接結合する姿勢ノードを特定するステップと、ii) 前記関連のマルコフブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために前記インシデントエッジを合成するステップと、iii) 特定された姿勢ノードおよび前記2つ以上のインシデントエッジを除去するステップとを含む。本方法は、グラフ内のエッジの総数が第2の閾値を超える場合、グラフ内に存在する前記複数のエッジの少なくとも1つのエッジを除去するステップを含むこともできる。本方法は、グラフ内に存在する複数のエッジに少なくとも部分的に基づいて残りの姿勢ノードの位置の推定値を更新するステップを含むこともできる。
いくつかの実施形態では、姿勢ノードを特定するステップは、i) グラフ内の各姿勢ノードに関して、姿勢ノードが除去されたときグラフ内に存在するであろうエッジ、およびマルコフブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために合成されたインシデントエッジの総数を特定するステップと、ii) グラフから除去される場合にエッジの最小の総数をもたらすであろう姿勢ノードを選択するステップとを含む。いくつかの実施形態では、前記インシデントエッジを合成するステップは、i) マルコフブランケットノードの対の間の相対姿勢の推定値を生成するステップであって、相対姿勢推定値は、2つ以上のインシデントエッジに関連する相対姿勢測定値のベクトル和に部分的に基づいている、ステップと、ii) 2つ以上のインシデントエッジに関連する共分散推定値に基づいて1つの共分散推定値を生成するステップとを含む。いくつかの実施形態では、グラフ内に存在する前記複数のエッジの少なくとも1つのエッジを除去するステップは、i) グラフ内の各エッジの残差値を生成するステップであって、残差値は、グラフ内のエッジにより接続されるノードの相対姿勢と、同じエッジに関連する変換値により与えられる相対姿勢との間の差に少なくとも部分的に基づいている、ステップと、ii) 最小の残差値を有するエッジを特定するステップと、iii) 特定されたエッジをグラフから除去するステップとを含む。いくつかの実施形態では、本システムは、ナビゲーションシステムおよび経路プランナ(path planner)をさらに含む移動ロボットであり、本方法は、i) 軌道を走行するために1組のロボット移動命令を生成するステップと、ii) グラフ内に存在する姿勢ノードの位置の推定値を更新した後、軌道ならびにグラフ内に存在する姿勢ノードおよび複数のランドマーク姿勢ノードの位置の更新された推定値に少なくとも部分的に基づいてロボットをナビゲートするための1組の移動命令を更新するステップとをさらに含む。いくつかの実施形態では、姿勢ノードは、ロボットの姿勢を含み、ランドマークノードは、ロボットの姿勢、1つまたは複数の物体に対応するランドマーク識別子、および1つまたは複数の物体のそれぞれの位置の推定値を含み、エッジは、2つの位置におけるロボットの位置および方位に関する剛体
変換を含む。いくつかの実施形態では、本方法は、軌道を走行しながら少なくとも1つの画像を取得するステップと、1つまたは複数の画像が既知のランドマークまたは新しいランドマークを示すかどうかを特定するステップと、グラフを更新するステップとをさらに含む。これらの実施形態では、グラフを更新するステップは、i) 少なくとも1つの画像が既知のランドマークを示すとき、新しい姿勢ノードを生成するステップと、ii) 少なくとも1つの画像が新しいランドマークを示すとき、新しいランドマーク姿勢ノードを生成するステップと、iii) 新しい姿勢ノードまたは新しいランドマーク姿勢ノードをグラフ内の1つまたは複数の既存のノードに関連付ける少なくとも1つの新しいエッジを生成するステップとを含む。いくつかの実施形態は、それぞれがscale-invariant feature transform(SIFT)特徴点を含む、複数の特徴点を抽出するステップをさらに含む。いくつかの実施形態では、前記関連のマルコフブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために前記インシデントエッジを合成するステップは、新しいエッジの平均値と既存のエッジの平均値との重み付き平均値を生成し、新しいエッジの共分散推定値および既存のエッジの共分散推定値の逆行列の和に基づいて新しい共分散推定値を生成することにより、前記新しいエッジの少なくとも1つを既存のエッジと組み合わせるステップをさらに含む。
移動型電子装置は、画像を取得するように構成されたカメラと、複数の姿勢ノードおよびエッジを含むグラフを保持するように構成されたナビゲーションシステムとを含むことをいくつかの実施形態は企図する。これらの実施形態では、ナビゲーションシステムは、グラフ内の姿勢ノードの数が第1の閾値を超える場合にグラフを更新するように構成され、更新は、i) 2つ以上のインシデントエッジにより関連のマルコフブランケットノードに直接結合する姿勢ノードを特定するステップと、ii) 前記関連のマルコフブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために前記インシデントエッジを合成するステップと、iii) 特定された姿勢ノードおよび前記2つ以上のインシデントエッジを除去するステップとを含む。本ナビゲーションシステムは、グラフ内のエッジの総数が第2の閾値を超える場合に、グラフ内に存在する前記複数のエッジの少なくとも1つのエッジを除去し、グラフ内に存在する複数のエッジに少なくとも部分的に基づいて残りの姿勢ノードのそれぞれの位置の推定値を更新するように構成することもできる。
いくつかの実施形態では、姿勢ノードを特定するステップは、i) グラフ内の各姿勢ノードに関して、姿勢ノードが除去されたときグラフ内に存在するであろうエッジ、およびブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために合成されたインシデントエッジの総数を特定するステップと、ii) グラフから除去される場合にエッジの最小の総数をもたらすであろう姿勢ノードを選択するステップとを含む。いくつかの実施形態では、前記インシデントエッジを合成するステップは、i) ブランケットノードの対の間の相対姿勢の推定値を生成するステップであって、相対姿勢推定値は、2つ以上のインシデントエッジに関連する相対姿勢測定値のベクトル和である、ステップと、ii) 2つ以上のインシデントエッジに関連する共分散推定値に基づいて1つの共分散推定値を生成するステップとを含む。いくつかの実施形態では、グラフ内に存在する前記複数のエッジの少なくとも1つのエッジを除去するステップは、i) グラフ内の各エッジの残差値を生成するステップであって、残差値は、更新されたグラフ内のエッジにより接続されるノードの相対姿勢と、同じエッジの平均値により与えられる相対姿勢との間の差に少なくとも部分的に基づいている、ステップと、ii) 最小の残差値を有するエッジを特定するステップと、iii) 特定されたエッジをグラフから除去するステップとを含む。いくつかの実施形態では、移動型電子装置は、経路プランナをさらに含む移動ロボットである。これらの実施形態では、本プランナは、i)軌道を走行するために1組のロボット移動命令を生成し、ii) 残りの姿勢ノードの位置の推定値を更新した後、軌道および残りの姿勢ノードの位置の更新された推定値に少なくとも部分的に基づいてロボットをナビゲートするための1組の移動命令を更新するようにさらに構成することができる。いくつかの実施形態では、姿勢ノードは、ロボットの姿勢を含み、ランドマークノードは、ロボットの姿勢、1つまたは複数の物体に対応するランドマーク識別子、および1つまたは複数の物体のそれぞれの位置の推定値を含み、エッジは、2つの位置におけるロボットの位置および方位に関する剛体変換を含む。いくつかの実施形態では、ナビゲーションシステムは、軌道を走行しながら少なくとも1つの画像を取得し、1つまたは複数の画像が既知のランドマークまたは新しいランドマークを示すかどうかを特定し、グラフを更新するようにさらに構成される。グラフを更新するステップは、i) 少なくとも1つの画像が既知のランドマークを示すとき、新しい姿勢ノードを生成するステップと、ii) 少なくとも1つの画像が新しいランドマークを示すとき、新しいランドマークノードを生成するステップと、iii) 新しい姿勢ノードまたは新しいランドマークノードをグラフ内の1つまたは複数の既存のノードに関連付ける少なくとも1つの新しいエッジを生成するステップとを含むことができる。いくつかの実施形態では、ナビゲーションシステムは、それぞれがscale-invariant feature transform(SIFT)特徴点を含む、複数の特徴点を抽出するようにさらに構成される。いくつかの実施形態では、前記関連のブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために前記インシデントエッジを合成するステップは、新しいエッジと既存のエッジとの相対姿勢の推定値を平均し、新しいエッジと既存のエッジとの共分散推定値を平均することにより、前記新しいエッジの少なくとも1つを既存のエッジと組み合わせるステップをさらに含む。
いくつかの実施形態は、移動型システムをナビゲートするための方法を開示し、1つまたは複数のコンピュータシステム上に実装される本方法は、移動型装置内のランドマークを整合させるステップを含む。ランドマークを整合させるステップは、グローバルデータベースから特徴点を検索するステップと、視覚的類似性によりランドマークをランキングするステップと、複数の候補ランドマークを選択するステップと、複数の候補ランドマークのそれぞれに関して、局所データベース内の特徴点を検索するステップと、ロバストな姿勢推定を行うステップと、バンドル調整を行うステップと、観測姿勢および共分散を特定するステップと、整合用ランドマークとして最高の候補を選択するステップとを含むことができる。
いくつかの実施形態は、移動型システムをナビゲートするための方法を企図し、1つまたは複数のコンピュータシステム上に実装される本方法は、移動型装置内にランドマークを生成するステップを含む。ランドマークを生成するステップは、カメラモーションおよびエピポーラ幾何学により正対応整合点を見出すステップと、正対応整合点を使用してカメラモーションを精細化するステップと、十分な正対応点が存在するかどうかを特定するステップと、許容差(tolerance)に達したかどうかを特定するステップと、許容差に達したことの特定に基づいて許容差を調整するステップと、新しいランドマークとして正対応点およびカメラモーションを戻すステップとを含むことができる。
非一時的コンピュータ読取可能媒体は、複数の姿勢ノードおよび複数のエッジを含むグラフを移動型電子装置と通信する1つまたは複数のコンピュータシステムに生成させるように構成された命令を含むことをいくつかの実施形態は企図する。本媒体は、グラフ内の姿勢ノードの数が第1の閾値を超える場合にシステムにグラフを更新させることもでき、更新は、i) 2つ以上のインシデントエッジにより関連のブランケットノードに直接結合する姿勢ノードを特定するステップと、ii) 前記関連のブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために前記インシデントエッジを合成するステップと、iii) 特定された姿勢ノードおよび前記2つ以上のインシデントエッジを除去するステップとを含む。本媒体は、グラフ内のエッジの総数が第2の閾値を超える場合に、グラフ内に存在する前記複数のエッジの少なくとも1つのエッジをシステムに除去させることもできる。本媒体は、グラフ内に存在する複数のエッジに少なくとも部分的に基づいて残りの姿勢ノードのそれぞれの位置の推定値をシステムに更新させることもできる。
いくつかの実施形態では、姿勢ノードを特定するステップは、i) グラフ内の各姿勢ノードに関して、姿勢ノードが除去されたときグラフ内に存在するであろうエッジ、およびブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために合成されたインシデントエッジの総数を特定するステップと、ii) グラフから除去される場合にエッジの最小の総数をもたらすであろう姿勢ノードを選択するステップとを含む。いくつかの実施形態では、前記インシデントエッジを合成するステップは、i) ブランケットノードの対の間の相対姿勢の推定値を生成するステップであって、相対姿勢推定値は、2つ以上のインシデントエッジに関連する相対姿勢測定値のベクトル和である、ステップと、ii) 2つ以上のインシデントエッジに関連する共分散推定値に基づいて1つの共分散推定値を生成するステップとを含む。いくつかの実施形態では、グラフ内に存在する前記複数のエッジの少なくとも1つのエッジを除去するステップは、i) 現在のグラフ平均値を生成するステップと、ii) 各エッジに関する誤差推定値を生成するステップであって、誤差推定値は、グラフ内に存在する複数のエッジのそれぞれの姿勢と現在のグラフ平均値との間の差に少なくとも部分的に基づいている、ステップと、iii) 最低の誤差推定値を有する少なくとも1つのエッジを特定するステップと、iv) 少なくとも1つの特定されたエッジをグラフから除去するステップとを含む。いくつかの実施形態では、本システムは、ナビゲーションシステムおよび経路プランナをさらに含む移動ロボットである。いくつかの実施形態では、本システムは、ナビゲーションシステムおよび経路プランナをさらに含む移動ロボットである。いくつかの実施形態では、本方法は、i) 軌道を走行するために1組のロボット移動命令を生成するステップと、ii) 残りの姿勢ノードの位置の推定値を更新した後、軌道および残りの姿勢ノードの位置の更新された推定値に少なくとも部分的に基づいてロボットをナビゲートするための1組の移動命令を更新するステップとをさらに含む。いくつかの実施形態では、i) 姿勢ノードは、ロボットの姿勢を含み、ii) ランドマークノードは、ロボットの姿勢、1つまたは複数の物体に対応するランドマーク識別子、および1つまたは複数の物体のそれぞれの位置
の推定値を含み、iii) エッジは、2つの位置におけるロボットの位置および方位に関する剛体変換を含む。いくつかの実施形態では、本方法は、軌道を走行しながら少なくとも1つの画像を取得するステップと、1つまたは複数の画像が既知のランドマークまたは新しいランドマークを示すかどうかを特定するステップとをさらに含む。これらの実施形態では、グラフを更新するステップは、i) 少なくとも1つの画像が既知のランドマークを示すとき、新しい姿勢ノードを生成するステップと、ii) 少なくとも1つの画像が新しいランドマークを示すとき、新しいランドマークノードを生成するステップと、iii) 新しい姿勢ノードまたは新しいランドマークノードをグラフ内の1つまたは複数の既存のノードに関連付ける少なくとも1つの新しいエッジを生成するステップとを含むことができる。いくつかの実施形態では、本方法は、それぞれがscale-invariant feature transform(SIFT)特徴点を含む、複数の特徴点を抽出するステップをさらに含む。いくつかの実施形態では、前記関連のブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために前記インシデントエッジを合成するステップは、i)新しいエッジと既存のエッジとの相対姿勢の推定値を平均し、新しいエッジと既存のエッジとの共分散推定値を平均することにより、前記新しいエッジの少なくとも1つを既存のエッジと組み合わせるステップをさらに含む。
移動型電子装置は、画像を取得するように構成されたカメラと、複数の姿勢ノードおよびエッジを含むグラフを保持するように構成されたナビゲーションシステムとを含むことをいくつかの実施形態は企図する。本ナビゲーションシステムは、グラフ内の姿勢ノードの数が第1の閾値を超える場合にグラフを更新するように構成することができる。グラフを更新するステップは、i) 2つ以上のインシデントエッジにより関連のブランケットノードに直接結合する姿勢ノードを特定するステップと、ii) 前記関連のブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために前記インシデントエッジを合成するステップと、iii) 特定された姿勢ノードおよび前記2つ以上のインシデントエッジを除去するステップとを含むことができる。本ナビゲーションシステムは、グラフ内のエッジの総数が第2の閾値を超える場合に、グラフ内に存在する前記複数のエッジの少なくとも1つのエッジを除去し、グラフ内に存在する複数のエッジに少なくとも部分的に基づいて残りの姿勢ノードのそれぞれの位置の推定値を更新するように構成することもできる。
いくつかの実施形態では、姿勢ノードを特定するステップは、i) グラフ内の各姿勢ノードに関して、姿勢ノードが除去されたときグラフ内に存在するであろうエッジ、およびブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために合成されたインシデントエッジの総数を特定するステップと、ii) グラフから除去される場合にエッジの最小の総数をもたらすであろう姿勢ノードを選択するステップとを含む。いくつかの実施形態では、前記インシデントエッジを合成するステップは、i) ブランケットノードの対の間の相対姿勢の推定値を生成するステップであって、相対姿勢推定値は、2つ以上のインシデントエッジに関連する相対姿勢測定値のベクトル和である、ステップと、ii) 2つ以上のインシデントエッジに関連する共分散推定値に基づいて1つの共分散推定値を生成するステップとを含む。いくつかの実施形態では、グラフ内に存在する前記複数のエッジの少なくとも1つのエッジを除去するステップは、i) 現在のグラフ平均値を生成するステップと、ii) 各エッジに関する誤差推定値を生成するステップであって、誤差推定値は、グラフ内に存在する複数のエッジのそれぞれの姿勢と現在のグラフ平均値との間の差に少なくとも部分的に基づいている、ステップと、iii) 最低の誤差推定値を有する少なくとも1つのエッジを特定するステップと、iv) 少なくとも1つの特定されたエッジをグラフから除去するステップとを含む。いくつかの実施形態では、本システムは、ナビゲーションシステムおよび経路プランナをさらに含む移動ロボットである。いくつかの実施形態では、本システムは、移動ロボットであり、本方法は、i) 軌道を走行するために1組のロボット移動命令を生成するステップと、ii) 残りの姿勢ノードの位置の推定値を更新した後、軌道および残りの姿勢ノードの位置の更新された推定値に少なくとも部分的に基づいてロボットをナビゲートするための1組の移動命令を更新するステップとをさらに含む。いくつかの実施形態では、姿勢ノードは、ロボットの姿勢を含み、ランドマークノードは、ロボットの姿勢、1つまたは複数の物体に対応するランドマーク識別子、および1つまたは複数の物体のそれぞれの位置の推定値を含み、エッジは、2つの位置におけるロボットの位置および方位に関する剛体変換を含む。いくつかの実施形態では、ナビゲーションシステムは、軌道を走行しながら少なくとも1つの画像を取得し、1つまたは複数の画像が既知のランドマークまたは新しいランドマークを示すかどうかを特定するようにさらに構成される。本システムは、i) 少なくとも1つの画像が既知のランドマークを示すとき、新しい姿勢ノードを生成し、ii) 少なくとも1つの画像が新しいランドマークを示すとき、新しいランドマークノードを生成し、iii)新しい姿勢ノードまたは新しいランドマークノードをグラフ内の1つまたは複数の既存のノードに関連付ける少なくとも1つの新しいエッジを生成することによりグラフを更新することもできる。いくつかの実施形態では、ナビゲーションシステムは、それぞれがscale-invariant feature transform(SIFT)特徴点を含む、複数の特徴点を抽出するようにさらに構成される。いくつかの実施形態では、ブランケットノードは、選択されたノードのすぐ近くのノードを含む。いくつかの実施形態では、前記関連のブランケットノードの対の間に1つまたは複数の新しいエッジを生成するために前記インシデントエッジを合成するステップは、i)新しいエッジと既存のエッジとの相対姿勢の推定値を平均し、新しいエッジと既存のエッジとの共分散推定値を平均することにより、前記新しいエッジの少なくとも1つを既存のエッジと組み合わせるステップをさらに含む。
いくつかの実施形態は、移動型システムをナビゲートするための方法を企図し、1つまたは複数のコンピュータシステム上に実装される本方法は、グローバルデータベースから特徴点を検索し、視覚的類似性によりランドマークをランキングし、複数の候補ランドマークを選択することにより、移動型装置内のランドマークを整合させるステップを含む。本方法は、複数の候補ランドマークのそれぞれに関して、局所データベース内の特徴点を検索するステップと、ロバストな姿勢推定を行うステップと、バンドル調整を行うステップと、観測姿勢および共分散を特定するステップと、整合用ランドマークとして最高の候補を選択するステップとを含むこともできる。
いくつかの実施形態は、移動型システムをナビゲートするための方法を企図し、1つまたは複数のコンピュータシステム上に実装される本方法は、カメラモーションおよびエピポーラ幾何学により正対応整合点を見出し、正対応整合点を使用してカメラモーションを精細化し、十分な正対応点が存在するかどうかを特定し、許容差に達したかどうかを特定し、許容差に達したことの特定に基づいて許容差を調整し、新しいランドマークとして正対応点およびカメラモーションを戻すことにより、移動型装置内にランドマークを生成するステップを含む。
ここで、本発明のこれらおよび他の特徴は、以下に簡単に説明する図面を参照して説明する。これらの図面(縮尺は正確でない)および関連説明は、本発明の好ましい実施形態を説明するために提供され、本発明の範囲を限定するものではない。
ロボットの一例を示す図である。 ランドマークデータベース内に記録を作成することに関する、ロボット基準座標系を示す図である。 ランドマークを再訪することに関する、ランドマーク基準座標系およびロボット基準座標系を示す図である。 ΔxおよびΔyの計算を説明するために使用される表記法を示す図である。 Δθの計算を説明するために使用される表記法を示す図である。 VSLAMシステムのシステムアーキテクチャの1つの実施形態を示す図である。 ランドマーク姿勢ノードおよびロボットの他の姿勢ノードを表すSLAMグラフである。 SLAMグラフのノードおよびエッジに関する様々な情報を示す図である。 新しいランドマークを生成するために視覚的フロントエンドにおいて役立つプロセスのフローチャートである。 いくつかの実施形態において説明されるフロントエンド処理の概要を示すフローチャートである。 図7のフローチャートの状態2702、すなわちいくつかの実施形態において実施されるランドマーク整合プロセスに関して詳細に説明するフローチャートである。 図7の状態2705、すなわちランドマーク生成プロセスの1つの実施形態に関して詳細に説明するフローチャートである。 図9のプロセス1616、すなわちランドマーク生成のために3次元構造およびカメラモーションを推定するプロセスに関して詳細に説明するフローチャートである。 いくつかの実施形態において説明するバックエンド処理の概要を示すフローチャートである。 図11のフローチャートの状態2602に関して詳細に説明し、すなわちランドマークをグラフバックエンドに組み込むためのプロセスを説明するフローチャートである。 図11のフローチャートの状態2606に関して詳細に説明し、すなわち観測値をSLAMグラフに組み込むためのプロセスを説明するフローチャートである。 図15〜17に説明する動作のいくつかの後のSLAMグラフの変化した構造を示す図である。 図11のフローチャートの状態2607、すなわちSLAMグラフの複雑性の低減に関して詳細に説明するフローチャートである。 図15のフローチャートの状態2802、すなわちノード選択および除去に関して詳細に説明するフローチャートである。 図16のフローチャートの状態2302、すなわちSLAMグラフから除去すべき姿勢ノードの選択に関して詳細に説明するフローチャートである。 図15のフローチャートの状態2804、すなわちエッジの選択および除去に関して詳細に説明するフローチャートである。 図11のフローチャートの状態2610、すなわちグラフ最適化のための1つの方法に関して詳細に説明するフローチャートである。
[用語集]
以下の用語集は、以下の語句のそれぞれの例を提供する。
姿勢:いくつかの基準座標系におけるロボットの位置および方位などの位置および方位。
ロボット姿勢(グローバルロボット姿勢としても知られている):グローバル基準座標系(global reference frame)におけるロボットの位置および方位。ロボットが床の表面などに沿って、2次元内を走行する設定では、ロボット姿勢は、2次元位置(x,y)および方位(θ)により特徴づけることができる。
相対ロボット姿勢:ランドマーク基準座標系などの別の基準座標系に対するロボットの位置および方位。
グローバル基準座標系:環境に固定された基準座標系。
ランドマーク基準座標系:ランドマークの3D構造が規定された基準座標系。
3D構造:1組の3D特徴点の3D座標。
ランドマーク:ランドマークは、3次元(3D)特徴点(3D features)および固有の識別子の集合を含む。
3D特徴点:例えば、基準座標系における関連の3D座標、およびある位置を見る際に観測できる1つまたは複数の関連の2D特徴点を有する物体の一部分などの観測できる位置。3D特徴点は、様々な2D特徴点を有する1つまたは複数の斜視図から観測することができることが理解されよう。
2D特徴点:ある位置のピクセル、およびその位置のある程度近傍のピクセルに関する画像およびディスクリプタ(descriptor)の位置。
物理的ランドマーク:環境において視覚的に識別可能な1つまたは複数の3D特徴点からなる集合。
ランドマーク姿勢:グローバル基準座標系におけるランドマーク基準座標系の姿勢。
カメラ姿勢:例えばカメラである可能性がある視覚センサの位置に基づくランドマーク基準座標系の相対姿勢。
本発明は、いくつかの好ましい実施形態に関して説明するが、本明細書に記載する利点および特徴のすべてを提供するわけではない実施形態を含む、当業者には明らかな他の実施形態も本発明の範囲内にある。
有利なことに、本発明の実施形態は、1つまたは複数の視覚センサ、および同時位置推定地図構築(SLAM)を処理するための1つまたは複数のデッドレコニングセンサを使用する。SLAMと視覚センサとの組合せは、以後、VSLAMと呼ぶ。そうした視覚的技法は、有利なことに、地図を自律的に生成および更新するために、移動ロボットなどの航行体により使用することができる。1つの実施形態では、VSLAMは、有利なことに、航行体の「アーム」などの航行体の一部分により使用される。レーザー測距器または他の距離ベースの装置もしくはセンサを使用する位置推定地図構築技法と対照的に、これらの視覚的技法は、広範囲の用途で経済的実用性があり、人が移動する環境などの、比較的動的な環境で使用することができる。いくつかの実施形態は、比較的計算効率の良い方式でSLAM情報の代表値を保持し、それにより、比較的安価なマイクロプロセッサベースのコンピュータシステムを使用してソフトウェア内でSLAMプロセスを実行することができる。
移動ロボットは、様々な形態で具体化することができることが当業者には理解されよう。これらの様々な形態では、ロボットは、異なる名称で、例えばロボットが実行する機能で呼ばれる可能性がある。例えば、ロボットは、自動掃除機または自動真空掃除機と呼ばれる可能性がある。1つの実施形態では、移動ロボットは、自律的または半自律的にナビゲートすることができる自己推進物体に相当する。自律型または半自律型移動ロボットの例には、限定されないが、自動床掃除機に使用するための移動ロボット、ヒューマノイドロボット、実験用および研究室用のロボット、物品を配送するためのロボット、閉鎖空間またはアクセスできない空間を調査するためのロボット、娯楽または遊戯用のロボットなどが含まれる。
本明細書に開示するVSLAM技法は、有利なことに、自律型ロボットおよび非自律型ロボットに適用することができる。例えば、VSLAM技法は、爆弾検出用の遠隔制御航行体または他の移動型電子装置などの手動駆動航行体と共に使用することができる。例えば、VSLAM技法は、有利なことに、オペレータが周辺環境をナビゲートするのを助けるために遠隔制御用途で使用することができる。1つの実施形態では、航行体は、航行体の手動制御用のモードおよび航行体の自律制御用の別のモードなどの様々な動作モードを含むことができる。例えば、航行体は、最初の地図構築段階の間に手動駆動することができ、次いで後に、自律制御用に設定することができる。別の実施形態では、VSLAM技法は、ある領域の地図を作成するために監視者により使用される可能性がある。監視者は、例えば人または犬もしくはネズミなどの別の動物に相当する可能性がある。監視者が使用するVSLAMは、環境を観測するために監視者が携帯するビデオカメラ、および変位を測定するためのオドメータ、歩数計、GPSセンサ、慣性センサなどのデッドレコニング装置に結合することができる。監視者が作成する地図は、記憶され、後に監視者または自律型ロボットなどの別のエンティティにより再び使用される可能性がある。監視者による地図の作成と別のエンティティによる地図の使用との間で、視覚センサの差、視覚センサの設置高さの差などを調節するために追加の処理が存在する可能性があることが理解されよう。本明細書に開示する様々な実施形態を使用することができる、他の様々な非自律型システムを容易に認識することができる。例えば、スマートホン、タブレット、および他の移動型装置は、同様に、これらの実施形態を使用することができ、ジャイロ、加速度計、および本明細書に開示する動作を実行するための他のIMUユニットを使用することができる。タブレット、スマートホン、または他の移動型装置は、本明細書に説明する、ナビゲーションシステムおよび/またはプランナとして役立つ可能性があることが認識されよう。いくつかの実施形態では、移動型システムは、例えば、スマートホンがロボット胴体に挿入されるとき、ロボットと連携することができる。
ロボットは、様々な設定に指定することができる。ロボット設定は、通常、少なくとも1つのデッドレコニングセンサおよび少なくとも1つのビデオセンサを含む。デッドレコニングの別の名称は、「ded」レコニングまたは推定レコニングである。デッドレコニングセンサの一例は、光学ホイールエンコーダなどのセンサがホイールの回転を測定する、ホイールオドメータである。ホイールの回転は、走行距離を示すことができ、ホイールの回転の差は、方位の変化を示すことができる。デッドレコニングを用いて、ロボットは、前の位置および方位(姿勢)から進んだコースおよび距離を計算し、この情報を使用して現在の位置および方位(姿勢)を推定することができる。デッドレコニング検知は、比較的短い距離にわたって比較的正確であるが、時間と共にドリフトしやすい。デッドレコニングセンサにより提供される情報は、距離、速度、または加速度のいずれかに相当し、場合に応じて変換することができることが理解されよう。他の形態のデッドレコニングは、歩数計(歩行ロボット用)、慣性測定ユニットからの測定値、光学マウス装置に使用されるセンサなどの光学センサなどを含むことができる。不利なことに、デッドレコニング測定では、ドリフト誤差が累積する可能性がある。ホイールオドメータに関して、ドリフト発生源の例には、校正誤差、ホイール滑りなどが含まれる。これらのドリフト発生源は、距離計算にも方位計算にも影響を及ぼす可能性がある。
視覚センサの一例は、デジタルカメラである。本発明の実施形態は、有利なことに、視覚ベースでランドマークを認識するために視覚センサを使用する。視覚的ランドマークのこれらの観測は、有利なことに、位置のグローバル表示をもたらし、デッドレコニングセンサにおけるドリフトを補正するために使用することができる。レーザー測距器を使用する同時位置推定地図構築(SLAM)と対照的に、本発明の実施形態は、視覚センサおよびデッドレコニングセンサからのデータを使用し、有利なことに、追加コストがほとんど、または全くかかることなく、同時位置推定地図構築(SLAM)を提供することができる。
[例示的なVSLAM式ロボット]
図1は、VSLAMシステムを組み込むことができる移動ロボット100の一例を示す。図示したロボット100は、ランドマークを視覚的に認識するために使用され、その結果、SLAMモジュールがグローバル位置を特定することができる、視覚センサ104を含む。視覚センサ104には、幅広い視覚センサを使用することができる。例えば、視覚センサ104は、CCD撮像素子、CMOS撮像素子、赤外線撮像素子などを有するデジタルカメラに相当する可能性がある。視覚センサ104は、通常のレンズ、または広角レンズ、魚眼レンズ、全方位レンズなどの特殊なレンズを含むことができる。さらに、レンズは、比較的広い視野または複数の視点を提供するために使用することができる、平面鏡、放物面鏡、または円錐鏡などの反射面を含むことができる。別の例では、視覚センサ104は、単一のカメラまたは複数のカメラに相当する可能性がある。1つの実施形態では、VSLAMシステムは、有利なことに、複数のカメラに比べて有利にもコストを低減する、単一のカメラと共に動作するように設定される。
図示したロボット100のモータ110、112は、ロボット100に移動力をもたらすためにホイール114、116に連結する。ホイールの代わりに、またはホイールに加えて、ロボットの他の実施形態は、動き回るために、脚、軌道、ローラ、プロペラなどを使用することができることが当業者には理解されよう。図示した実施形態では、オドメトリとしても知られている、ホイールの回転に関する情報は、制御装置108への入力として提供される。視覚センサ104からの画像データ106も、制御装置108への入力としてロボット100に提供される。1つの実施形態では、VSLAMシステムは、制御装置108内に実装される。図示した実施形態では、制御装置108は、ロボット100の動きを制御するためにモータ110、112結合する。明確にするために、バッテリなどのロボット100用の電源を図1に示していない。
画像データ106に応答して、制御装置108は、ロボット100の動きを制御するモータ110、112に制御信号を提供することができる。例えば、制御装置108は、例えば、前進し、停止し、後退し、旋回し、垂直軸の周りに回転するようにロボットに指示するために制御信号を提供することができる。ロボットが、図1に示す例示的な垂直軸118などの垂直軸の周りに回転するとき、この回転は、「ヨー」と呼ばれる。
制御装置108は、マイクロプロセッサ、メモリなどのハードウェア、ファームウェア、ソフトウェア、ネットワーク通信装置などを含むことができる。1つの実施形態では、制御装置108は、単一ボードコンピュータ、特定用途向集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などの専用ハードウェアを使用する。
1つの実施形態では、制御装置108は、ラップトップコンピュータなどの汎用コンピュータと接続することにより、またコンピュータ内で実行するソフトウェアにより実装される。1つの例では、2.4GHzのクロック速度のIntel(登録商標)Pentium(登録商標)4プロセッサを含むラップトップコンピュータは、約1秒でランドマーク作成処理を行うことができ、約0.5秒で視覚測定値を処理することができる。処理時間は、画像解像度、フレーム速度、バス速度などのパラメータに依存している可能性があるが理解されよう。ソフトウェアは、ハードディスクまたは光ディスクなどの有形媒体内に実装される命令を含むことができる。ロボット100用のデータ処理は、ロボット100が自律的であるように、完全にロボット100内で行うことができ、または、データ処理は、ロボット100の外部で部分的に行うことができる。例えば、制御装置108は、データ処理の一部分が行われる無線ネットワークなどのネットワークを介して、データを別のコンピュータに伝送するように設定することができる。
[VSLAM動作の特性]
VSLAMを有するロボットがその環境内を走行するとき、ロボットは、物理的ランドマークを観測することができる。後にさらに詳しく説明するように、これらの物理的ランドマークは、作成されデータベース内に記憶されるランドマークに関係する可能性がある。有利なことに、VSLAM技法は、人工的なナビゲーション用ビーコンが環境内に存在することを必要としない。むしろ、VSLAM技法は、不変で無修正の環境において都合よく使用することができる。しかし、人工的なナビゲーション用ビーコンが環境内に存在するとき、VSLAM技法は、ビーコンおよび/または周辺環境からの特徴点をランドマークとして使用することができることが理解されよう。例えば、ランドマークデータベースでは、ランドマークは、3D特徴点と、3D特徴点が計算される対応する2D特徴点との集合に対応する可能性がある。物理的ランドマークは、例えば壁および壁の一部分に取り付けられた物体などの1つまたは複数の物理的対象物に相当する可能性があることにも留意されたい。これらの物理的ランドマークは、グローバル位置を推定するために使用され、その結果、デッドレコニング測定値のドリフトを後に補正または補償することができる。物理的ランドマークは、通常、グローバル基準座標系における特定の位置および方位に配置され、観測用ロボットは、異なる位置および方位にあることに留意されたい。いくつかの実施形態では、物理的ランドマークの特徴点の位置は、ランドマーク基準座標系を基準とする。その際、ランドマーク自体の位置は、グローバル基準座標系を基準とする。
全体的にVSLAMシステムをロボットに関して説明するが、VSLAMシステムは、様々な装置で使用することもでき、その結果、ロボット姿勢は、装置の姿勢に相当する可能性もあることが理解されよう。ロボットが物理的ランドマークを観測しデータベース内にランドマークを作成するときのロボットの方位(θ)を矢印で示す。1つの実施形態では、グローバル基準座標系において参照される「ランドマーク」の姿勢の初期推定値は、ランドマークを作成する際のロボット姿勢に相当する。新しい物理的ランドマークが観測され、ランドマークが作成されるとき、3D特徴点およびランドマークを視覚的に特定するその対応する2D特徴点の組が記憶される。1つの例では、2D特徴点は、SIFT特徴点に相当する。SIFTの概念は、文献に広範囲に説明された。David G. Lowe、「Local Feature View Clustering for 3D Object Recognition」、Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition、Kauai、Hawaii(2001年12月)参照。SURF、BRIEFなどの、SIFTの変形形態および代替形態が容易に認識されよう。
比較的短い距離では、オドメトリ読取値から得られる測定値などのデッドレコニング測定値は、極めて正確である可能性がある。しかし、校正誤差、ホイール滑りなどにより、これらのデッドレコニング測定値は、距離および/または時間と共にドリフトまたは誤差を累積させる可能性があり、その結果、比較的長い時間の後に計算された位置は、デッドレコニング測定値の誤差が比較的小さいときでも、最初に計算された位置から大幅に変化している可能性がある。例えば、拡張された時間では、ロボットは、環境全体にわたって比較的多くの走行を行い、それにより、ドリフト誤差を累積させる可能性がある。
有利なことに、VSLAM技法は、デッドレコニング測定値のドリフトを全体的または部分的に補償することができ、その結果、ロボットが比較的長い距離にわたって走行した後でも、ロボットのグローバル位置を比較的高い精度で保持することができる。1つの実施形態では、VSLAM技法は、ロボットが比較的長い距離を走行した後でも、視覚測定値の精度を上回る、グローバルロボット姿勢推定値の精度を保持する。図示した例では、使用される視覚センサは、640x480の解像度を有する比較的単純で安価なカラーカメラであり、視覚測定値の精度は、約10センチメートル(cm)に維持された。グレースケールカメラおよび赤外線カメラなどの他の視覚センサを使用することもできることが理解されよう。いくつかの実施形態では、Point Grey Research Inc.、Vancouver、British Columbia、Canadaから入手できるdigiclops(商標)カメラなどの3眼カメラを使用することができる。
有利なことに、双眼または3眼のカメラシステムなどの、立体像を提供するカメラシステムは、ランドマークの3D特徴点を特定し、比較的迅速かつ効率的に3D特徴点に対する変位を推定するために使用することができる。不利なことに、そうしたカメラは、比較的少ない量が生産され、追加の構成要素により、またスケールメリットが比較的少ないことにより、単一の視覚センサカメラと比べて比較的高価である可能性がある。
[視覚測定値の例示]
図2Aおよび2Bは、ロボット502および対応するロボット基準座標系520を示す(縮尺は正確でない)。図示した実施形態では、ロボット基準座標系520は、VSLAMシステムの視覚的位置推定部分により使用される。ロボット基準座標系520におけるゼロベクトルは、ロボット502と共に動く。したがって、ロボット基準座標系520は、グローバルに固定されたゼロベクトルを有するグローバル基準座標系とは対照的に相対基準座標系である。例えば、ロボット基準座標系520におけるゼロベクトルは、ほぼロボット502のカメラに位置する可能性があり、図2Aでは姿勢「A」522により示され、図2Bでは姿勢「B」524により示される。
ロボット502がその環境を走行するとき、ロボット502は、新しい物理的ランドマークを検出し、以前検出したか、または「古い」物理的ランドマークを再訪する。図2Aは、新しいランドマークを「作成」または認識すること、すなわち新たに観測されたランドマークに関するエントリをデータベース内に作成することに関してロボット基準座標系520を示す。新しいランドマークを認識するための視覚的フロントエンドにおける処理または視覚的位置推定処理は、後に図4と関連づけてより詳細に説明する。図2Bは、以前観測され記録されたランドマークを再訪することに関してロボット基準座標系520を示す。ロボット基準座標系520は、ロボット502と共に動き、その結果、ランドマークを作成したときのグローバル基準座標系に対するロボット姿勢に相当する姿勢「A」522と、ランドマークを再訪したときのグローバル基準座標系に対するロボット姿勢に相当する姿勢「B」524とは、図2Bに示すように異なる可能性がある。
ここで図2Aに戻れば、図示した実施形態では、物理的ランドマーク504は、その3D特徴点により特定される。1つの実施形態では、3D特徴点は、2次元(2D)特徴点を三角形に分割し、3焦点テンソル法を使用して構造およびモーション問題を解くことにより抽出される。1つの実施形態では、2D特徴点は、SIFT特徴点である。SIFT特徴点の説明は、上述のLoweに見出すことができる。3焦点テンソル法の説明に関してはOlivier FaugerasおよびQuang-Tuan Luong、「The Geometry of Multiple Images」、MIT Press(2001年)を参照されたい。物理的ランドマーク504は、比較的多くの3D特徴点により特徴づけることができ、物理的ランドマーク504は、1つまたは複数の物理的対象物または物理的対象物の一部分に相当する可能性があることが理解されよう。明確にするために、図2Aに示す物理的ランドマーク504を、3つの3D特徴点、すなわち第1の特徴点506、第2の特徴点508、および第3の特徴点510と共に描く。ロボット502が新しい物理的ランドマークを観測するとき、視覚的フロントエンドは、それぞれの特徴点に対するロボット502の変位または位置を特定する。ランドマークが作成されるとき、ロボット502は、ランドマーク基準座標系の初期推定値としてロボット基準座標系520の現在位置を使用して視覚的特徴点に対する変位を参照することができる。例えば、図2Aに示す例では、矢印r1、r2、およびr3は、ロボット502と、第1の特徴点506、第2の特徴点508、および第3の特徴点510との間のx、y、およびz寸法の変位などの3次元変位をそれぞれ表す。これらのx、y、およびz変位は、ロボット502のロボット基準座標系との比較であり、グローバル基準座標系との比較ではないことに留意されたい。1つの実施形態では、x、y、およびz変位は、前後寸法、左右寸法、および上下寸法の相対変位にそれぞれ相当する。それに加えて、3D特徴点に関する2D画像の座標または位置も記憶される。例えば、視覚センサが640x480のカラーカメラに相当する場合、2D画像の座標は、3D特徴点に対応する1つまたは複数のピクセル位置に相当する。3D特徴点は、通常、空間内の単なる単一点よりも広い場所を占めることが理解されよう。
1つの実施形態では、画像が変位r1、r2、およびr3の計算のために斜視図用に画像が撮影されるときにロボット502が移動する場合、特徴点に対するロボット502の変位は、3つの画像の組の第1の画像が基準となる。しかし、基準として、任意の識別可能な基準座標系を使用することができることが理解されよう。例えば、基準として使用される画像が一貫して選択される限り、画像の組の他の画像も基準として使用することができる。特定の任意の画像に対応しない識別可能な基準座標系も使用することができることにも留意されたい。例えば、図示した実施形態では、3つの画像の組の第1の画像に対応するロボット姿勢は、特定のランドマークに関する局所基準座標系、すなわちランドマーク基準座標系として使用される。
1つの実施形態では、新しい物理的ランドマークに遭遇するとき、視覚的フロントエンド602は、(i) 図3のランドマークデータベース606などのデータベース内のランドマークに関する局所基準座標系における3D特徴点の3D座標と、(ii) 3D特徴点に対応する、第1の画像の2D特徴点などの選択された画像の2D特徴点とを記憶する。1つの実施形態では、新しい物理的ランドマークに遭遇し、その物理的ランドマークが視覚的フロントエンド602により処理されるとき、それに応じて、SLAMモジュール604は、ランドマークが作成されるときに対応するパーティクルに関するロボットの最後の姿勢から各パーティクルに関するデッドレコニングデータにより提供される姿勢の変化より計算される、グローバルロボット姿勢などのランドマーク姿勢の初期推定値を記憶することによりランドマークを「作成」する。
図2Bは、「新しい像」と呼ばれる、初期に観測された物理的ランドマーク504を再訪するロボット502の一例を示す。図2Bでは、ロボット502は、「ランドマーク基準座標系」すなわち新しい姿勢「B」に対応する元の姿勢「A」から変位する。それに応じて、ロボット基準座標系もロボット502と共に動く。ロボット502は、第1の特徴点506、第2の特徴点508、および第3の特徴点510を再び観測する。ロボット502が動き回るとき、物理的ランドマークの特徴点のいくつかは、すべての位置では観測できない可能性があることが理解されよう。ロボット502の視覚的フロントエンド602は、図2Cおよび2Dに示すように、相対姿勢、すなわち新しい姿勢「B」と姿勢「A」との間の差を計算し、SLAMモジュール604またはプレフィルタモジュール622への入力として、1つまたは複数の識別ランドマークに1つまたは複数の相対姿勢を提供する。1つの実施形態では、視覚的フロントエンド602は、第1の特徴点506、第2の特徴点508、および第3の特徴点510の3D特徴点から2D座標上への射影誤差を最小化する、ロボットの相対姿勢を見出すことにより、「A」と示される記憶されたランドマーク基準座標系に対するロボットの相対姿勢を計算する。
ロボット502と特徴点506、508、510との間の点線は、図2Bの上面図の線530で示される画像平面上への特徴点506、508、510の射影を表す。カメラなどの視覚センサの画像平面は、通常、カメラの焦点軸にほぼ垂直であることが理解されよう。線530は、点の射影に関するカメラの視野をほぼ表し、カメラからの特定のどんな距離も示さないことも理解されよう。
新しい像の2D特徴点とランドマークの3D特徴点との間の対応を与えれば、視覚的フロントエンド602は、例えば射影誤差を最小化することにより、相対姿勢を推定することができる。相対姿勢は、(i) ランドマークが作成されデータベース内に記憶される際の姿勢から、(ii) 物理的ランドマークが再観測される際の姿勢への姿勢の変化を示す。そうした相対姿勢を様々な座標形式で表すことができることが理解されよう。例えば、床に沿った相対姿勢の並進運動成分は、直交座標(x,y)により表すことができる。しかし、極座標(ρ,φ)を使用することもできることも理解されよう。図2Cおよび図2Dは、Δx、Δy、およびΔθの「カメラ姿勢」成分としても知られている相対姿勢を図で示す。用語「カメラ姿勢」は単語「カメラ」を含むが、カメラ以外の視覚センサを使用することもできることが理解されよう。相対姿勢は、平坦でない床面、これらの次元におけるロボットおよび/またはカメラモーション、誤認されたランドマーク、環境における物理的ランドマークの変化などの結果である可能性がある、垂直次元、ロール、およびピッチの変化を含む可能性もある。1つの実施形態では、これらの追加次元は、有利なことに、識別ランドマークの妥当性をテストするために使用される。1つの実施形態では、直交座標相対姿勢は、ランドマークに再遭遇する際に視覚的フロントエンドとSLAMモジュールとの間で使用され、極座標「デルタ姿勢」は、デッドレコニングデータにより評価される点間の姿勢の変化を計算する際にSLAMモジュール内で使用される。
1つの実施形態では、ロボットがその環境内を走行するときのデッドレコニングセンサデータに応じたロボット姿勢は、行列内の対応するタイムスタンプと共に記憶される。2つの時点に応じた姿勢の検索により、2つの時点の間で、方位、走行方向、および走行距離の変化を計算することができる。
[VSLAMのシステムアーキテクチャの例]
図3は、VSLAMシステム600のシステムアーキテクチャの1つの実施形態を示す。VSLAMシステム600は、専用ハードウェア、マイクロプロセッサにより実行されるソフトウェア、または専用ハードウェアとソフトウェアとの両方の組合せなどの様々な方法で実装することができることが理解されよう。
VSLAMシステム600への入力値は、1つまたは複数のデッドレコニングセンサ614からの生姿勢データ610を含み、1つもしくは複数のカメラまたは他の視覚センサ616からの視覚データ612も含む。光学ホイールエンコーダなどのデッドレコニングセンサ614は、ドライバまたはハードウェアアブストラクション層などのデッドレコニングインターフェース618を介してVSLAMシステム600と通信することができることが理解されよう。生姿勢データ610は、走行距離、速度、加速度などに相当する可能性があり、使用されるデッドレコニングセンサのタイプに依存する可能性がある。VSLAMシステム600からの出力値は、1つまたは複数の姿勢および地図620を含むことができる。
生姿勢データ610および視覚データ612は、視覚的フロントエンド602への入力値として提供される。視覚的フロントエンド602は、例えば、ランドマークを特定し、ランドマークの3D特徴点を特定し、デルタ姿勢を計算するなど、様々な機能を実行することができる。視覚的フロントエンド602が行うことができる処理の例は、後に図4と関連づけてより詳細に説明する。
視覚的フロントエンド602は、視覚データ612の画像間に走行した近似距離を特定するために生姿勢データ610を使用することができ、次いで、生姿勢データ610は、特徴点に対する変位を評価するために計算に使用される。新しい物理的ランドマークが認識されるとき、対応する記録またはエントリをランドマークデータベース606に追加することができる。新しく認識されたランドマークは、SLAMモジュール604に示すこともできる。例えば、「新しいランドマーク」フラッグを有効にし、「新しいランドマーク」識別子すなわちタグをSLAMモジュールに提供することができ、その結果、SLAMデータベース608およびランドマークデータベース606の適当な記録を整合させることができる。以前認識したランドマークに遭遇するとき、視覚的フロントエンド602は、SLAMモジュール604またはオプションのプレフィルタモジュール622に1つまたは複数の識別子を提供し、1つまたは複数の遭遇ランドマーク、相対姿勢情報(Δx、Δy、およびΔθ)などの相対姿勢情報、および利用可能であればデータ信頼性指標を示すことができる。
オプションのプレフィルタモジュール622は、視覚的フロントエンド602により提供されるデータ信頼性指標を分析する。データ信頼性指標は、視覚的フロントエンド602による物理的ランドマークの特定の信頼性の表示として使用することができる。例えば、プレフィルタモジュール622は、有利なことに、不正確に特定される可能性があり、地図内の他のランドマークに対する外れ値に対応する可能性がある、視覚的フロントエンド602により特定されたランドマーク測定値を特定するために使用することができる。1つの実施形態では、プレフィルタモジュール622は、不正確な可能性がある視覚測定値を特定するとき、識別された視覚的ランドマークデータをSLAMモジュール604まで通過させず、その結果、VSLAMシステム600は、不正確な可能性があるランドマーク測定値を効果的に無視する。SLAMモジュール604へのデータのプレフィルタリングは、有利なことに、SLAMモジュール604により推定される、1つまたは複数の姿勢(位置および方位)および地図620のロバスト性および精度を向上させることができる。
SLAMモジュール604は、1つまたは複数の姿勢および地図620を保持する。1つの実施形態では、SLAMモジュール604は、複数のパーティクルまたは仮定を保持し、各パーティクルは、1つの姿勢および1つの地図と関連がある。
SLAMモジュール604は、デッドレコニングインターフェース618から生姿勢データ610を受け取る。生姿勢データ610の性質は、デッドレコニングセンサ614のタイプおよびデッドレコニングインターフェース618により指定された出力値のタイプに応じて変化する可能性があることが理解されよう。生姿勢データ610の例には、距離測定値、速度測定値、および加速度測定値が含まれる可能性がある。デッドレコニングデータは、SLAMモジュール604により使用され、前の姿勢から走行したコースおよび距離を推定する。SLAMモジュール604が複数の仮定を使用する場合、デッドレコニングデータは、比較的多くの前の姿勢から走行したコースおよび距離を推定するために使用されることが理解されよう。
SLAMモジュール604に対する他の入力値には、視覚的フロントエンド602および/またはオプションのプレフィルタモジュール622からの視覚的位置推定データが含まれる。VSLAMを有するロボットが、ある環境を走行するとき、ロボットは、視覚的ランドマークを観測する。新しい視覚的ランドマークに遭遇するとき、SLAMモジュール604は、SLAMデータベース608内のパーティクルに関するロボットのグローバル基準座標系位置を記憶することができる。例えば、ロボット姿勢は、前の位置、ならびに既知の最後の姿勢から走行したコースおよび距離より推定することができる。
以前作成したランドマークを観測するとき、SLAMモジュール604は、視覚的フロントエンド602またはオプションのプレフィルタモジュール622から、観測されたランドマークに対するΔx、Δy、およびΔθなどの相対姿勢情報の新しい推定値を提供される。SLAMモジュール604は、姿勢情報の変化を使用し、保持された1つまたは複数の姿勢および地図620を更新する。したがって、視覚的に観測されたランドマークは、有利なことに、デッドレコニング測定値のドリフトを補償することができる。
図示した構成では、ランドマークは、ランドマークタグすなわち識別子I、ランドマーク姿勢推定値S、および例えば共分散行列(covariance matrix) Cなどの不確かさの指標と関連がある。3D特徴点などのランドマークの視覚的特徴または画像を記述する情報は、ランドマークデータベース606などの、視覚的フロントエンド602と結合するデータの集合内に記憶することができる。SLAMデータベース608などの、SLAMモジュール604に関するデータの集合では、ランドマークタグIを特定するために、相互参照値またはデータベース記録識別子を使用することができる。
ランドマーク姿勢Sは、ロボットがランドマークを「作成」し、ランドマークを地図に追加するときのロボット自体の姿勢に相当することに留意されたい。1つの実施形態では、ロボットがランドマークを再観測するとき、ランドマーク姿勢Sを更新することもできる。図示した構成では、ランドマーク姿勢Sは、グローバル基準に対するx寸法x、グローバル基準に対するy寸法y、およびグローバル基準座標系に対するロボット方位θの内容を含む3x1列ベクトルに対応する。前に述べたように、仮定上の姿勢および対応する地図は、有利なことに、複数パーティクルまたは複数仮定SLAMシステムのパーティクルの間で変化する可能性がある。
共分散行列Cは、ランドマーク姿勢Sの不確かさを表す。記号
は、パーティクルmに対するランドマークkに関する共分散行列を示すために本明細書に使用する。1つの実施形態では、共分散行列
は、カルマンフィルタにより更新される。
データベースは、アドレス指定可能な記憶媒体上に実装することができ、様々な異なるタイプのアドレス指定可能な記憶媒体を使用して実装することができることが当業者には理解されよう。例えば、ランドマークデータベース606および/またはSLAMデータベース608は、単一の装置内に完全に含むことができるか、またはネットワーク内のいくつかの装置、コンピュータ、またはサーバ全体にわたって広がる可能性がある。ランドマークデータベース606および/またはSLAMデータベース608は、メモリチップ、ハードディスク、光ドライブなどの装置内に実装することができる。図示したデータ構成は、リレーショナルデータベースの形式を有するが、データベースは、例えば、オブジェクト指向データベース、階層データベース、ライトウェイトディレクトリアクセスプロトコル(LDAP)ディレクトリ、オブジェクト指向リレーショナルデータベースなどとすることもできることを当業者は理解するであろう。データベースは、任意のデータベース標準に従うことができるか、または標準的でない民間の仕様に従うこともできる。データベースは、例えば、Oracle Corporationから入手可能なOracle(登録商標)、Microsoft CorporationのSQL ServerおよびAccess、Sybase,IncorporatedのSybase(登録商標)などの任意の数の市販のデータベース製品を使用して実装することもできる。
図示したデータ構成は、リレーショナルデータベース管理システム(RDBMS)を使用する。RDBMSでは、データは、テーブルの形式で記憶される。概念的には、テーブル内のデータは、列および行に配置されるフィールド内に記憶される。各フィールドは、1つの項目の情報を含む。テーブル内の各列は、その列名により特定され、SIFT特徴点の値などの1つのタイプの情報を含む。
[データベースの管理]
パーティクルに関する様々な地図を保持するデータベースのサイズは、ランドマークが地図内に累積されるにつれて、時間と共に増大する可能性があることが当業者には理解されよう。本発明の1つの実施形態は、データベースを管理するための技法も含む。
ランドマークデータベース606および/またはSLAMデータベース608は、多様な設定のVSLAMプロセスの効率的な動作を提供し、VSLAMプロセスに使用されるメモリの量を管理するために管理される可能性がある。データベースを効率的に管理する1つの方法は、環境内にはもはや存在しないと考えられているか、または他に、信頼できない、不良、または他の任意の不要な方法とみなされる可能性がある、データベースからのランドマークを除去することである。
例えば、物理的ランドマークが環境から消え、その結果、対応するランドマークがデータベースから除去されるという評価は、観測されることが予想される姿勢または姿勢の近傍において物理的ランドマークを繰り返し観測しないことに基づいている可能性がある。
別の例では、外れ値に繰り返し対応する測定値、すなわち比較的極端な測定値は、信頼できないものとみなされる可能性もあり、データベースから除去することができる。例えば、長時間にわたるランドマークの測定値が、繰り返し矛盾するか、または信頼できないと別途示されたとき、ランドマークは、信頼できないか、または不良であるとみなされる可能性がある。繰り返し矛盾する測定値の範囲の一例は、約5〜10個の矛盾する測定値である。他の適当な値は、当業者により容易に決定される。1つの実施形態では、ロボットが約90%などの比較的大きい割合のパーティクルとなることをSLAMサブシステムが予測する場所から比較的遠くに離れてロボットが位置することを測定値が示唆するとき、ランドマークの測定値は矛盾する。1つの実施形態では、新しい視覚測定値を推定値に組み込む前のSLAM予測値が95%信頼度楕円の外部にあるとき、ロボットは、比較的遠くに離れて位置することが特定される。1つの実施形態では、95%信頼度楕円は、(i)その平均値としてのロボット姿勢の視覚的測定推定値と、(ii)その共分散行列としてのCsensorとを有する。別の実施形態では、SLAMにより推定される姿勢と視覚測定により推定される姿勢との間の差が、所定の閾値を超えるとき、ロボットは、比較的遠くに離れて位置することが特定される可能性がある。屋内環境の所定の閾値に関する適当な値の一例は、約2メートルである。他の値は、当業者により容易に決定される。ランドマークの「繰り返し矛盾する」測定値は、ランドマークが信頼できないことを示す可能性があるが、時々矛盾する測定値は、ランドマークが信頼できないことを示すか、または示さない可能性があり、むしろ、そうした時々矛盾する測定値は、ロボットをある場所から別の場所まで持ち上げたり、動かしたりすることによるなど、ロボットの別の物体との衝突、ロボットの「誘拐」などの結果である可能性があることに留意されたい。1つの実施形態では、そうした時々矛盾する測定値は、データベースからのランドマークの削除をもたらさない。
別の例では、ランドマークは、例えば、屋内環境の1平方メートル当り約5〜10個のランドマークなど、地図のいくつかの部分におけるランドマークの密度が比較的高くなることが特定されるとき、望ましくないとみなされる可能性がある。ランドマークの密度は、環境によって大幅に変化する可能性があり、それに応じて、「高い」密度に対する適当な閾値は、同様に変化し、当業者により容易に決定されることが理解されよう。地図の極めて密度の高い部分のランドマークのいくつかを選択的に除去することにより、メモリを他のタスクのために空けることができる。
1つの実施形態では、ランドマークデータベースが比較的大きいサイズまで増大するとき、メモリ管理技法を使用することができる。通常、ハードディスクなどの大容量記憶装置は、ランダムアクセスメモリ(RAM)などの固体メモリ装置と比べて比較的低速である。逆に言えば、大容量記憶装置は、通常、固体メモリ装置よりも大幅に大きい記憶容量を有する。あるいは、例えばフラッシュメモリまたはEEPROM装置などの固体メモリ装置は、不揮発性の形式でランドマークデータベースを記憶するために使用することができる。メモリ使用量は、RAMなどの比較的高速のメモリ内にランドマークデータベース全体の比較的小さい部分のみを一度に保持することにより効率的に管理することができる。例えば、少数の初期ランドマーク測定値およびランドマークデータベースとの比較値は、通常、地図構築される環境でロボットが動作している可能性がある場所をほぼ示すことができる。例えば、家、オフィス、または病院の床全体を環境として地図構築することができ、数回の初期測定の後、VSLAMシステム600は、家の特定の部屋、オフィスの1階、病院の特定の棟などにロボットが居ることを特定することができる。
メモリ資源の消費を低減するために、ロボットの近似位置の特定に少なくとも部分的に応答して、次いで、VSLAMシステム600は、データベースの関連部分を含むRAM内のデータベースの比較的小さい部分集合を保持することができ、以前使用した他のメモリ資源は、システムに再び解放することができる。例えば、データベースのロードされた部分集合とうまく整合することなく、比較的長い時間が過ぎた場合、ロボットが環境の別の部分まで動かされたか、または動いたかを特定するために、地図全体を再び一時的にロードすることができる。例えば、ロボットは、自律的に走行したか、または持ち上げられ、新しい位置まで動かされた可能性がある。
1つの実施形態では、RAMなどの比較的高速のメモリ内に保持される地図の部分集合は、地図の複数のランドマークのランダムに選択された部分集合に少なくとも一時的に対応することができる。別の実施形態では、比較的高速のメモリ内に保持される地図の部分集合は、部分集合内に残るランドマークの密度が地図を通して比較的均一に分布するように選択される部分集合に少なくとも一時的に対応することができる。これらの技法は、有利なことに、例えば、比較的限られたメモリ資源および/または計算資源を有する移動ロボットが1つまたは複数の地図内でそれ自体の位置推定を行うのを助けるために使用することができる。
1つの実施形態では、VSLAMシステムは、有利なことに、新しいランドマークをデータベースに追加することを中断する。1つの例では、VSLAMシステムは、ランドマーク密度が1平方メートル当り5〜10個のランドマークなどの所定の閾値を超えたという判定に少なくとも部分的に応答して、環境の一部分または環境全体においてランドマーク作成を中断する。例えば、データベースが環境の一部分で比較的高いランドマーク密度を示し、環境の別の部分で比較的低いランドマーク密度を示すとき、新しいランドマークのデータベースへの追加は、データベース内の比較的高いランドマーク密度に対応する環境の一部分では無効になる可能性があり、新しいランドマークの追加は、比較的低いランドマーク密度に対応する環境の一部分では有効になる可能性がある。
1つの実施形態では、VSLAMシステムは、ランドマーク作成減衰速度、すなわち一定の時間にわたり新しいランドマークがだんだん特定されなくなるという判定に少なくとも部分的に応答して、新しいランドマークをデータベースに追加することを中断する。ランドマーク作成減衰速度は、環境の一部分または環境全体に適用することができる。例えば、比較的一定の照明状態のもとでの比較的静的な環境では、ランドマークが作成される速度は、通常、多くのランドマークが作成される前では、最初に最も高い。ランドマークの作成、すなわちランドマークのデータベースへの追加により部分的に領域の地図が構築された後、視覚的フロントエンドは、あまり頻繁にランドマークを作成しようとしなくなる。1つの実施形態では、作成速度は、1メートルの走行当りに作成されるランドマークの数に相当する。環境の所与の部分における作成速度が閾値(例えば、(i)10メートル毎に1つのランドマークなどの所定の値、または(ii)環境の関連部分を通る第1の経路の間に得られる速度(単位走行距離当り)の5%などの初期作成速度のパーセンテージに対応する可能性がある)未満まで低下するとき、ランドマーク作成は、環境のその部分で一時的に中断される可能性がある。
別の実施形態では、VSLAMシステムは、視覚測定値と作成ランドマークとの比率に少なくとも部分的に応答して環境全体または環境の一部分で、新しいランドマークをデータベースに追加することを中断する。別の実施形態では、ランドマークの追加を中断することは、地図構築の30分後などの経過時間、またはメモリの75%がランドマークデータベースのために使用されてきたときなどのメモリ使用量に少なくとも部分的に応答して誘発される可能性もある。
[SLAMグラフ構造]
図4は、本実施形態のいくつかが、ランドマークおよび本明細書ではSLAMグラフと呼ぶグラフ構造におけるロボットの他の姿勢を表す方法の例を提供する。本明細書に用語を使用するとき、姿勢ノード(pose node)は、「通常の」姿勢ノード1802または「ランドマーク」姿勢ノード1804のいずれかに分類することができる。ランドマーク姿勢ノード1804は、ある姿勢ノードをそのノードに関連するランドマークに分類する。対照的に、「通常の」姿勢ノード1802は、ロボットの姿勢のみを示す。図4に示すように、複数の姿勢ノード1802、1804は、複数のエッジ1806により接続される。過去の観測値をより最適に表すために実時間でSLAMグラフを調整することは、より効率的なナビゲーションを可能にする。
SLAMグラフ内の各姿勢ノード1802は、「通常」または「ランドマーク」の姿勢ノードのいずれにせよ、特定の時間ステップの演算においてロボットの姿勢推定値をエンコードする。各有向エッジ1806は、ソースグラフノードとデスティネーショングラフノードとの間の座標系の変換の推定値をエンコードする。SLAMグラフは、演算中、すなわち実時間で徐々に構築および改善することができる。
図5は、いくつかの実施形態におけるSLAMグラフ内のノードおよびエッジに関する情報をより詳細に示す。各エッジ1810は、固有識別子1820、そのソースノードの識別子1822、およびそのデスティネーションノードの識別子1824を含む。本発明の1つの実施形態では、ソースからデスティネーションへの変換は、座標変換パラメータに関する変換の平均値1826および共分散1828により表されるガウス確率ベクトルとしてエンコードされる。他の実施形態では、ガウス関数と異なる分布を使用することができ、この分布は、サンプルパーティクルにより、またはパラメトリック形式で表すことができる。他の実施形態では、決定論的公式を使用することができ、エッジデータ構造内に平均値のみが記憶される。姿勢ノードまたはランドマークノードの内容を1808により詳細に示す。各ノードは、固有識別子1812、ロボット姿勢推定値1816、およびSLAMグラフ内のノードから生じるエッジを列挙するエッジ識別子のリスト1818を有する。ノードがランドマークノードであれば、そのノードは、そのノードに関連するランドマークの固有識別子1814をエンコードすることもできる。エッジ変換と同様に、姿勢推定値は、確率変数または決定論的なパラメータとして表すこともできる。確率変数の場合には、分布を表すために、パラメトリックサンプルまたは数的サンプルのいずれかを使用することができる。1つの実施形態では、ガウス分布が使用され、パラメータは、平均ベクトルおよび共分散行列である。固有識別子1812、1820のそれぞれを介してノードおよびエッジにアクセスすることができる。図5に示す構造は、例として提供しているにすぎず、複数の代わりの表示法が容易に認識されよう。
[ランドマーク作成(新しいランドマーク)のための視覚的フロントエンド処理]
図6は、環境内の新しい物理的ランドマークを認識し、データベースの1つまたは複数の地図内に対応するランドマークを作成するとき、視覚的フロントエンドに使用することができるプロセスを全体的に示すフローチャートである。新しいランドマークを作成する演算は、ランドマークの「生成」と呼ぶこともできる。図示したプロセスは、発明の技術的思想および範囲から逸脱することなく様々な方法で変更することができることが当業者には理解されよう。例えば、別の実施形態では、図示したプロセスの様々な部分は、組み合わされ、交互に再配置され、除去されるなどする可能性がある。それに加えて、プロセスは、汎用コンピュータ内で実行するソフトウェア、マイクロプロセッサにより実行されるファームウェア、専用ハードウェアなどにより、様々な方法で実行することができることに留意されたい。
プロセスは、分析のために少なくとも2つの画像のグループを取り込む状態1002で始まる。例えば、双眼もしくは3眼のカメラなどの複数の画像を有する視覚センサ、または単一のカメラなどの単一の撮像素子を有する視覚センサにより、画像を提供することができる。単一のカメラからの画像が使用されるとき、プロセスは、適当に離間した画像を選択することができる。図示した実施形態では、ロボットは、単一の前方監視カメラを装備され、関連の画像を撮るために前方に走行する。視覚センサ用の他の構成も可能である。他の例では、視覚センサは、全体的に上方を指すカメラ、横方向監視カメラ、または前方監視、上方監視、および/もしくは横方向監視の間の位置に対応する可能性がある。ここで、単一の前方監視カメラを有する図示した実施形態に戻れば、1つの例では、3つの画像は、少なくとも約10センチメートル(cm)離れた分離距離で選択される。分離距離のための適当な距離は、環境に応じて広い範囲で変化する可能性があることが理解されよう。例えば、動作環境が、屋外環境などの比較的広範囲の環境に相当する場合、画像間の分離のための適当な距離は、特徴点に関する視点を得るために、より高くなる可能性がある。1つの実施形態では、分離距離は、ロボットの動きを妨害する可能性がある障害物の近接度の推定値に応じて適切に変化する可能性がある。1つの実施形態では、ロボットが単一の前方監視カメラを装備している場合、ロボットは、画像を撮りながら、前方にほぼ直線状に移動する。ロボットが画像を撮る間、多少の回転を許容することができるが、回転は、ランドマークの特徴点がもはやカメラの視野に入らなくなるほど極端であるべきでない。プロセスは、状態1002からオプションの状態1004に進む。
状態1004および判断ブロック1006は、ロボットの構成に応じて任意選択とすることができる。ロボットが、3眼カメラなどの複数の撮像素子を有する視覚センサを装備する場合、状態1004および判断ブロック1006をスキップすることができ、視覚センサ間の間隔をメモリ内の記憶パラメータから検索することができる。スキップされたとき、プロセスは、状態1002から状態1010に進む。
単一のカメラが視覚センサとして使用され、ロボットが様々な視点から様々な画像を撮るために移動するとき、プロセスは、状態1004において画像間の実際の距離を取り込み、判断ブロック1006においてモーションをチェックする。1つの実施形態では、これらの距離は、画像が撮られた時間に対応するデッドレコニングデータを監視することにより決定される。プロセスは、状態1004から判断ブロック1006に進む。
判断ブロック1006では、「ベースライン」と呼ばれる、画像間に走行した距離をテストする。例えば、画像間のベースラインの量は、所定の値と比較される可能性がある。所定の値は、極めて広い範囲で変化する可能性があることが理解されよう。家またはアパートの内部などの屋内環境では、所定の値に関する適当な値は、約10センチメートルとなる可能性がある。当然、適当な値は、環境に依存する可能性があり、他の適当な値は、当業者には容易に決定されよう。グループ内の画像の1つまたは複数の間でロボットの移動が十分でないとき、プロセスは、状態1008に進み、ランドマークを作成しない。そうでない場合、プロセスは、判断ブロックから状態1010に進む。
状態1010では、プロセスは、グループ内の画像に共通の2D特徴点を特定するために選択画像を分析する。観測可能な特徴点の数は、環境に応じて変化する。適当な特徴点の抽出は、文献に広範囲に記載された。SIFT特徴点は、そうした2D特徴点の1つの例である。例えば、David G. Lowe、「Local Feature View Clustering for 3D Object Recognition」、Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition、Kauai、Hawaii(2001年12月)を参照されたい。特徴点の計算に使用される他の情報には、内在のカメラ校正パラメータおよび外在のカメラパラメータが含まれる可能性があることに留意されたい。内在のカメラ校正パラメータの例には、光学中心、歪みパラメータ、および焦点距離が含まれる。外在のカメラ校正パラメータの例には、カメラ基準座標系と局所基準座標系との間のカメラ剛体変換(rigid transformation)が含まれる。プロセスは、状態1010から判断ブロック1012に進む。
判断ブロック1012では、プロセスは、ランドマークの信頼できる特定のために、3つの画像などのグループ内の画像に共通の十分な特徴点が特定されたかどうかを判定する。例えば、プロセスは、特徴点がグループ内の画像に共通する所定の数の特徴点よりも少ないと判定するとき、今後のランドマークを確実に特定するために検出される十分な特徴点が存在しないと判定する可能性がある。この場合、プロセスは、判断ブロック1012から状態1008に進む可能性があり、ランドマークを「作成」しない。所定の数の特徴点に関する適当な値は、極めて広い範囲で変化する可能性があり、視覚的特徴点を特定するのに使用される方法に依存する可能性があるが理解されよう。1つの実施形態では、所定の数の特徴点は、ランドマーク作成のための判断ブロック1012において、画像を既に記憶されたランドマークと比較するのに使用される所定の値よりも大きい。
1つの実施形態では、SIFT特徴点が使用される場合、所定の数の特徴点に関するサンプル値の例は、約10である。他の適当な値は、当業者により容易に決定される。1つの実施形態では、VSLAMシステム600は、所定の値をユーザ設定可能にするように構成することができる。グループ内の画像に共通する十分な特徴点が特定されたとき、プロセスは、判断ブロック1012から状態1014に進む。
状態1014では、プロセスは、状態1010で特定された共通の特徴点に対する3D局所基準座標系位置または変位を計算する。1つの実施形態では、3D局所基準座標系位置は、ロボットの視覚センサに対する特徴点の近似3D位置(x,y,z)に相当する。ロボットが移動する際に単一の視覚センサから複数の画像が撮影される場合、3D局所基準座標系位置は、グループ内の第1の画像などのグループ内の画像の1つをロボットが撮影するときのロボットの位置と比較することができる。1つの例では、3D位置の計算は、3焦点テンソル法を使用して構造およびモーション問題を解くことにより解決される。特徴点は、点よりも大きい空間を占有することができ、その結果、対応する3D位置は、比較的近似的である可能性があることが理解されよう。プロセスは、状態1014から判断ブロック1016に進む。
判断ブロック1016では、ランドマークを確実に認識するのに十分な、状態1014で解かれた特徴点に関する3D局所基準座標系位置が存在したかどうかを判定する。場合により、プロセスは、特定の特徴点に関する3D局所基準座標系位置の解を見出すことができず、その結果、対応する変位情報を有する3D特徴点の数が、そうした初期検出特徴点の数と異なる可能性があることが理解されよう。例えば、判断ブロック1016では、プロセスは、ランドマークの特徴点に関して解かれた3D局所基準座標系位置の数を所定の数と比較することができる。1つの実施形態では、SIFT特徴点が使用される場合、プロセスは、10個以上のそうした特徴点が解かれたとき、比較的信頼できる認識を行うために解かれた3D局所基準座標系位置を有する十分な数の特徴点をランドマークが有すると判定する。他の適当な値は、当業者により容易に決定される。ランドマークが確実に認識されるように特定されたとき、プロセスは、判断ブロック1016から状態1018に進む。そうでない場合、プロセスは、判断ブロック1016から状態1008に進み、ランドマークを「作成」しない。
状態1018では、プロセスは、特徴点、3D位置、および任意選択的に基準として使用する画像の特徴点に対応する近似2D画像位置を識別可能に記憶する。例えば、特徴点の3D位置および2D画像位置は、特徴点テーブル内の記録物に記憶することができる。作成される各ランドマークは、番号付きの固有識別子などの固有の参照値を有するべきであり、さらに、参照値を有する各特徴点は、例えば、ランドマークIDなどのランドマークの参照値と、特徴点IDなどの特徴点の参照値との組合せにより識別可能とすべきであることが理解されよう。プロセスは、状態1018から状態1020に進む。
状態1020では、プロセスは、VSLAMのSLAM部分に関するプロセスなどの他のプロセスに対して新しいランドマークが作成されたという表示を提供する。例えば、この表示は、ソフトウェア呼出し、ハードウェアまたはソフトウェアの中断などにおけるパラメータまたはフラグとして提供することができる。この表示には、新しく作成されたランドマークのランドマーク識別子が伴う可能性もある。
[様々な実施形態の概要]
本実施形態は、SLAMベースの移動型プラットホームナビゲーションシステムのフロントエンドおよびバックエンドに対する様々な改善を開示する。「フロントエンド」は、ランドマークを生成するか、またはグラフ内のランドマークを認識することに関わる演算を指すが、「バックエンド」は、SLAMグラフの維持および保守に関わる演算を指すことが容易に理解される。「フロントエンド」演算と「バックエンド」演算との間の区別は、概念上の利便性のためにすぎず、いくつかの演算は、この人工的な区別を越えて起こる可能性があることが容易に理解される。フロントエンドに関して、本実施形態は、グローバルデータベースが特徴点の局所データベースと併せて探索される、新規の特徴点整合方法を開示する。これらの実施形態は、特に図8と関連させて説明する。それに加えて、さらにフロントエンドに関して、いくつかの実施形態は、ロバストな整合推定ランドマーク作成プロセスを開示する。これらの実施形態は、特に図10と関連させて説明する。バックエンドに関して、いくつかの実施形態は、SLAMベースのシステムのメモリ使用量および演算効率を改善するために、SLAMグラフの最適化および管理の改善のための方法を企図する。これらの実施形態は、特に図15〜18と関連させて説明する。フロントエンドおよびバックエンドに対するこれら特定の改善を特定したが、改善されたSLAMベースのナビゲーションにつながる、本明細書に開示する多くの追加の概念も見出されよう。
以下の定義は、上述の用語集が以下の用語に関する一般的な意味の特定の例を提供するとき、用語集を考慮して考えるべきである。本開示では、「移動型システム」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、ロボット、携帯型電子装置、航行体の付属品などの、移動することができる任意の電子システムを含む。そうしたシステムは、ロボットの例のように、それ自体の制御のもとで移動することができるが、他のシステムは、携帯型装置の例などのようにユーザが移動させることができる。同様に、本開示では、「軌道」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、物体が走行すべき任意の経路を含む。例えば、ロボットは、地域全体にわたる2つの中間地点の間の経路として軌道を使用することができる。同様に、本開示では、「姿勢ノード」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、移動型システムの姿勢情報を記憶するのに十分な任意のデータ構造を含む。「ランドマークノード」は、ランドマークに関する情報を含む、内部識別子または外部識別子のいずれかにより指定される姿勢ノードとして理解される。同様に、本開示では、「ランドマーク」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、システムが続いて特定することができる、地域内で見出される任意の物体、特徴点、または態様を含む。同様に、本開示では、「閾値」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、演算を行うべきかどうかを判定するための基準として使用することができる任意の数値または条件を含む。同様に、本開示では、「姿勢ノードの特定」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、複数の姿勢ノードからある姿勢ノードを選択するのに使用される任意の演算を含む。同様に、本開示では、「姿勢ノードの除去」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、グラフがもはや姿勢ノードを参照しないようにグラフを修正するか、またはグラフがもはや姿勢ノードを参照しないように1つまたは複数の演算を開始させる任意の演算を含む。同様に、本開示では、「姿勢ノードの挿入」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、グラフが姿勢ノードを参照するようにグラフを修正するか、または姿勢ノードを参照するグラフをもたらす1つまたは複数の演算を開始させる任意の演算を含む。
同様に、本開示では、「カメラ」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、画像を取得することができる任意の装置を含む。同様に、本開示では、「ナビゲーションシステム」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、本明細書に開示する演算のいくつかを実行するように構成された、任意のソフトウェア、ハードウェア、またはファームウェアモジュールを含む。例えば、SLAMグラフを保持し、図16〜18に示す演算の1つまたは複数を実行するためのソフトウェア命令を含む、ラップトップまたは任意の移動型コンピュータシステムは、ナビゲーションシステムを含むであろう。同様に、本開示では、「プランナ」は、広義の用語であり、当業者にはその通常および通例の意味が与えられるべきであり(それは、特別または専用の意味に限定されるべきでない)、限定されないが、移動型電子システムを第1の位置から第2の位置に移動させるために、サーボ、モータ、またはピストンなどの様々なアクチュエータを動作させるように構成された、任意のソフトウェア、ハードウェア、またはファームウェアモジュールを含む。
[SLAMフロントエンド処理]
視覚的フロントエンド処理の改善に関する実施形態に関して、本実施形態のいくつかは、特徴点整合、構造、および移動推定の新規機能を有するランドマーク作成モジュールを企図する。このモジュールは、図6に関連させて上述したランドマーク作成プロセスを実行するための新規の基準値を含む。本実施形態は、同様に、図6のフローチャートの一部分またはすべてに従うことができる。
本実施形態のランドマーク作成プロセスでは、ランドマーク作成プロセスは、(以上のいくつかの実施形態に説明した3つの異なる画像とは対照的に)入力値1002として2つの異なる状態像のみを必要とする可能性がある。フレーム間整合手順1010は、デッドレコニングセンサが利用可能なとき、デッドレコニングセンサからの推定値により改善される、特徴点外観もエピポーラ幾何拘束(epipolar geometry constraints)も使用することができる。構造推定1014は、エピポーラ幾何拘束および視覚的測定のみを適用する最適化を使用して実行され、関連の共分散行列を有する相対姿勢推定値を得ることができる。妥当性チェック1016は、一定の数の解かれた特徴点だけでなく、構造推定演算の強度条件および/または数値的条件に関連している可能性がある、移動方向の推定における統計的確かさの程度も必要とする可能性がある。1016におけるこのより強いチェックは、前の実施形態において1006におけるベースラインチェックを緩和させ、ランドマーク作成に関するより広い範囲の存続可能な画像の対を許容する。これらのプロセスのそれぞれを以下により詳細に説明する。
図7は、新しいランドマークを作成するか、またはいくつかの実施形態で実装された過去のランドマークを特定するための視覚的フロントエンドプロセスの全体の概要を示す。本プロセスは、カメラからの画像などの画像を取り込むことにより状態2701で始まる可能性がある。状態2702では、システムは、ランドマークを整合させようとすることができる。1つの実施形態では、これは、取込画像から抽出した1組の視覚的特徴点を、すべての生成ランドマークからのデータベースの視覚的特徴点と整合することにより実行される。判断ブロック2703では、システムは、少なくとも1つのランドマークが取込画像と整合したかどうかを判定することができる。少なくとも1つの整合が存在すれば、システムは終了する可能性がある(2706)。整合が全くなければ、システムは、代わりに、状態2704に進み、画像をランドマーク作成に関する候補画像のリストに追加することができる。次いで、システムは、状態2705に進み、累積した画像のリストからランドマーク作成をしようとすることができる。
[ランドマーク認識]
図8は、いくつかの実施形態において実施されるランドマーク認識プロセスを表す。特に、図8のフローチャートは、図7のフローチャートの状態2702、すなわちいくつかの実施形態において実施されるランドマーク整合プロセスに関して詳細に説明する。このプロセスは、演算中に各取得画像に関して実行することができる。これらの実施形態では、特徴点は、粗密戦略を使用して整合することができる。これは、見出される整合特徴点の数を最大化しようとしながら処理労力を低減する。
プロセスは、システムが候補ランドマークを見出すためにグローバルデータベースからの問合せ画像内の特徴点を検索する、状態2002で始まる。以前特定されたすべてのランドマークの特徴点を含むデータベースを含むグローバルデータベースが理解されよう。そうしたデータベースは、説明される演算を実行する移動型装置上に記憶されるか、またはサーバ上など、離間させて配置される可能性がある。したがって、グローバルデータベース内の特徴点を検索することは、問合せ画像の特徴点と視覚的に類似する、グローバルデータベース内の特徴点を見出すことを意味する。視覚的類似性は、いくつかのよく知られた方法により判定することができる。例えば、SIFTディスクリプタを上述のように使用することができる。その際、これらの特徴点は、状態2004において視覚的類似性によりランキングを構築するために使用することができる。このランキングから、状態2006において、有望なランドマーク候補を選択することができる。
その際、局所データベースを使用して各候補ランドマーク内の特徴点の組に対して、より十分な粒子整合(granular matching)が実行される。ここで、現在のランドマークの特徴点のうちから検索するために参照すべき「局所」データベースが理解されよう。その際、システムは、すべての候補にわたって反復し、2008〜2014において各候補との局所整合を実行し、観測値を得る可能性がある。局所整合は、現在の候補ランドマークの特徴点のみを含むデータベース内の問合せ画像の特徴点を検索するステップを含むことができる。特に、それぞれの反復において、システムは、状態2008で特徴点を検索し、状態2010でロバストな姿勢推定を行い、状態2012でバンドル調整を行い、状態2014で姿勢観測値および共分散を得ることができる。画像特徴点位置およびそれらの特徴点の3D構造を与えられた姿勢を推定する多くの方法が存在することが認識されよう。これらのいくつかは、図2Cおよび2Dに関して上述した。バンドル調整の説明は、Bill Triggs、P. McLauchlan、Richard Hartley、およびA. Fitzgibbon、「Bundle adjustment - a modern synthesis」、B. Triggs、A. Zisserman、およびR. Szeliski編集、Vision Algorithms: Theory and Practice、volume 1883 of Lecture Notes in Computer Science、298〜372頁、Springer- Verlag、2000年に見出すことができる。
共分散は、相対姿勢の推定値の精度であることがさらに認識されよう。
うまく認識されたランドマークは、ランドマーク座標系と問合せ画像との間の相対カメラ姿勢の平均値および共分散からなる状態2014において観測を通して判定される。図8に示すように、システムは、いくつかのルートにより、この状態に到達できない可能性がある。例えば、状態2008では、データベース内に類似した特徴点がなければ、特徴点の検索はできないであろう。状態2010では、ロバストな姿勢推定は、姿勢を見出すことができない可能性がある。同様に、状態2012では、バンドル調整は、再投影誤差が極めて大きいとき、失敗する可能性がある。
[ロバストなフレーム間整合を介したランドマーク作成]
図9は、図7の状態2705、すなわちランドマーク作成プロセスの1つの実施形態に関して詳細に説明するフローチャートである。一般的に言えば、この手順は、最初に、推定上(候補)の対応点を構築し、次いで、幾何拘束を使用して、これらの対応点を正(正しい)対応点および異常(不正な)対応点に分割する。対応点には、ある画像内の特徴点および他の画像内の対応する特徴点からなる1対の整合用特徴点が含まれる。同様に、幾何拘束には、カメラ投影モデルの点の構造に関する拘束が含まれてもよい。プロセスは、一時的に局所的な画像の対を選択することにより、すなわち画像の対は近い時間でキャプチャされ、状態1602で始まりうる(1600)。単一のカメラがあれば、この対は、連続的な、またはほぼ連続的な画像を含むことができる。立体映像システムがあれば、これは、立体画像の対を含むことができる。この画像の対内のフレームは、本明細書では、それぞれフレームAおよびBと呼ぶ。
次いで、システムは、判断ブロック1604に進み、推定値差(differential estimate)が利用可能かどうかを特定することができる。推定値差には、オドメトリまたはジャイロにより提供されるモーション推定値などの、ある瞬間から次の瞬間までのモーションのモーション推定値が含まれる。判断ブロック1604において、特徴点ディスクリプタのみを使用するか、または他のセンサにより供給される任意のデッドレコニングロボットモーション推定値を利用することにより、推定上の対応点を生成することができる。本明細書に使用する用語「推定上の対応点」は、候補対応点の初期原案リストを指す。特徴点ディスクリプタのみが使用される場合、フレームB内の各特徴点は、最初に、特徴点ディスクリプタ空間1608内の距離に応じてフレームA内の特徴点と対になる可能性がある。近似最近傍探索(ANN)法は、状態1608において対応する対を相互に特定するために使用することができる。特徴点のどちらの組も十分小さい濃度を有するとき、正確な最近傍探索を決定することができる。多い組では、正確な最近傍探索の計算コストが高い可能性があるとき、近似最近傍探索を使用することができる。しかし、少ない組では、これは問題にならない可能性がある。1組の推定上の対応点を考慮すれば、外れ値を除去するためにエピポーラ幾何拘束を反復的に適用することができる。カメラモーションの先行値が提供されないとき、この手順の開始点は、1610においてランダムサンプルコンセンサス(RANSAC)および5点アルゴリズムを使用して計算することができる。カメラの相対姿勢および点の構造を初期化するために使用することができる代わりのアルゴリズムが容易に認識されよう。5点アルゴリズムは、David Nister、「An efficient solution to the five-point relative pose problem」、IEEE Transactions on Pattern Analysis and Machine Intelligence(PAMI)、26(6):756〜777頁、2004年6月により詳細に説明されている。これは、(縮尺のない)カメラモーションの推定値および1組の正対応点をもたらす。先行するデッドレコニング推定値が利用可能であるとき、上述の近似カメラモーションは、反復のために十分な開始点とすることができる。
その代わりに、判断ブロック1604においてデッドレコニングの形式として2つの画像間のモーション推定値が取得されるとき、モーション推定値は、推定上の対応点の探索を拘束する可能性があり、状態1606においてカメラモーションの推定値を提供する。モーション推定値は、最初に、既知の外在のカメラパラメータを使用してロボット座標系からカメラ座標系に変換することができる。その際、フレームA内の各特徴点は、カメラモーションの推定値を使用してフレームB内のその推定エピポーラ線に投影することができる。プラスの深度(depth)と一致する位置を有する、エピポーラ線近傍の特徴点のみをフレームA内の特徴点に対する候補対応点とみなす必要がある可能性がある。このエピポーラ拘束も満たすディスクリプタ空間内の最近傍の特徴点を推定上の対応点として取得する。
この時点で、システムは、状態1612に達し、以下のように最良整合特徴点を反復的に探索する。
1. 1612:誤差閾値因子
は、所望の最終許容閾値rの倍数として選択される。
2. 1614:現在のモーション推定値により与えられるエピポーラ線の閾値距離内でプラスの深度を有する、すべての推定上の対応点は、正対応点(inlier)と表示される。縮尺率sを有する特徴点の閾値距離sは、
により与えられ、より大きい縮尺率の特徴点と関連する、より大きい位置の不確かさを調整する。sは、特徴点の縮尺特性である。SIFTに使用されるガウス検出器(Gaussian detector)の差などの、異なる縮尺率で特徴点を検出する特徴点検出器では、特徴点は、どれくらいの大きさの画像をカバーするかを説明する縮尺率を有する。一般に、より大きい縮尺率の特徴点は、より大きい位置の不確かさを有する可能性がある。
3. 1616:モーション推定値は、正対応点の現在の組全体にわたる非線形最大尤度推定値により精細化される。
4. 1618:閾値よりも少ない正対応点が見出されるとき、プロセスは、エラーの信号を発する。
5. 1620:
が目標閾値rに達したとき、反復は、正常に完了した。
6. 1622:閾値因子
は、乗法的に低下し、プロセスは、ステップ2から
となるまで反復する。
この方法は、計算コストを低減するために標準的なM-estimator法(反復加重最小二乗法)の代わりに使用することができる。計算の予算が許せば、その代わりに、Tukey加重関数と共にM-estimator法を使用することができる。そうした場合、共分散において非ゼロ重みを有するそれらの対応点を正対応点として取得することができる。
システムは、最後に、終了する前に、ランドマークを形成するための構成要素としての状態1624で正対応点およびカメラモーションを戻すか、または状態1626でエラーを戻す。
[構造推定]
図10は、図9のプロセス1616、すなわちランドマーク生成のために3次元構造およびカメラモーションを推定するプロセスに関して詳細に説明するフローチャートである。プロセスは、状態1702で開始し(1701)、そのとき、ロバストなフレーム間整合からの特徴点対応点およびカメラモーションの入力値が入力値として取り込まれる。状態1704において、各特徴点は、推定カメラモーションを使用する三角測量によりフレームA内のその線に沿って深度を割り当てられる。深度は、いくつかの方法でパラメータ化することができるが、深度パラメータ化逆行列は、線形性を保つのに有利である。
次いで、システムは、状態1706に進み、バンドル調整を行うことにより、構造およびモーションを反復的に最適化することができる。バンドル調整は、構造およびカメラモーションに関する結合推定値をもたらすために再投影目的関数全体にわたって実行することができる。縮尺率は、特徴点対応点に拘束されない可能性があるので、一定の縮尺率の変位にわたり最適化が行われる(カメラ並進運動は、拘束されて単位ベクトルとなる)。通常、パラメータがその最大尤度値に収束する前に、標準的な最適化技法の2または3回の反復のみが必要である。
バンドル調整の後、判断ブロック1708で、三角形に分割されてマイナスの深度になる任意の特徴点に関して構造推定値をチェックする。そうした特徴点が存在するとき、そうした特徴点は、1710においてランドマークから除去され、バンドル調整が反復される。マイナスの深度を有する点がこれ以上存在しないとき、システムは、状態1712に進み、終了する前に推定に使用される2つの画像の間のデッドレコニングオドメトリに基づいてランドマークに縮尺率を割り当てる。
[統計的条件付け基準]
いくつかの実施形態では、推定の条件付けを評価するために、カメラモーションに関する共分散は、バンドル調整(図10の状態1706)中に計算され、検討される可能性がある。特に、移動方向に垂直な不確かさは、抽出され、所定の閾値と比較される可能性がある。不確かさが所定の閾値を超えれば、ランドマーク作成を中断することができる。このチェックは、図6の状態1016の解かれた特徴点に関する閾値を向上させることができる。
[SLAMバックエンド処理]
図11は、いくつかの実施形態において説明するバックエンド処理の概要を示すフローチャートである。特に、図11は、SLAMバックエンドがグラフィックモードで地図を記憶し、グラフ内に記憶されるロボット姿勢を推定する、全体的なプロセスフローを示す。プロセスは、フロントエンドの結果を受け取ることにより、状態2601で始まる。次いで、システムは、判断ブロック2603に進み、通常の姿勢ノードを状態2604で作成すべきか、またはランドマークノードを作成すべきかを判定する。その際、システムは、2605において、生成された姿勢ノードを移動エッジ付きの先行ノードに結合する。移動エッジは、変換情報がデッドレコニングタイプのセンサから得られるエッジと定義される。
次いで、この時点で、システムは、ランドマークが観測されるかどうかを判定することができる(2608)。ランドマークが観測されないとき、システムは、状態2607に直接進み、グラフの複雑性を低減することができる。複雑性が低減されると、システムは、終了する前に状態2610に進み、グラフを最適化することができる。
その代わりに、判断ブロック2608においてランドマークが観測されたとき、システムは、最初に状態2606において姿勢ノードを観測エッジ付きのランドマークノードに結合することができる。観測エッジは、変換情報がランドマークの観測から得られるエッジと定義される。次いで、判断ブロック2622において、システムは、先行ノードがランドマークノードであるかどうかを判定する。ノードがランドマークノードであれば、システムは、状態2623に進み、モーションと観測エッジとを結合する(2623)。ランドマークの追加(2602)、観測値の追加(2606)、およびグラフ最適化(2610)を以下により詳細に説明する。次いで、システムは、状態2607および2610に進み、上述のように、グラフの複雑性を低減し、グラフを最適化することができる。
[新しいランドマーク処理]
図12は、図11のフローチャートの状態2602に関して詳細に説明し、すなわちランドマークをグラフバックエンドに組み込むためのプロセスを説明するフローチャートである。プロセスは、状態1902において新しいランドマークの表示を受け取ることにより始まる。次いで、システムは、状態1904において新しいランドマーク姿勢に先行するノードを特定する。次いで、状態1906において、そのノードと新しいランドマークの姿勢との間の漸進的なモーション推定値を構築する。次いで、新しいランドマークノードは、状態1908において作成され、構築されたモーションおよび先行ノードと一致する姿勢により初期化される。次いで、ランドマークノードと現在のノードとの間のすべてのモーション推定値は、1910において構築することができる。最後に、状態1912において、構築されたモーション推定値を使用して、新しいランドマークノードと、先行および後続のノードとの間で、グラフエッジが作成される。
[ランドマーク認識処理]
図8のプロセスが1組の観測値をもたらすとき、観測値をエッジとしてSLAMグラフに追加することができる。図13は、図11のフローチャートの状態2606に関して詳細に説明し、すなわち観測値をSLAMグラフに組み込むためのプロセスを説明するフローチャートである。特に、システムが1組の観測値を受け取るとき、現在の姿勢のグラフ内に姿勢ノードを作成することができる。次いで、状態2104において、各観測値のグラフ内にエッジが作成され、観測されたランドマークに関連するランドマークノードを、新しく作成された姿勢ノードに結合する。各エッジによりエンコードされる変換推定値は、図8に示すように、対応する観測値の平均値および共分散からなる。
[SLAMグラフ低減の概要]
一般に、SLAMグラフは、ランドマークが作成されるか、または観測され、新しいノードおよびエッジがグラフに追加されるごとに増大する。これは、ロボットが境界のある空間内にあっても当てはまる。その空間を占有するランドマークが繰り返し継続的に観測されるとき、グラフは増大し続け、複雑性は時間と共に増大する。記憶装置の要求およびグラフ最適化コストがグラフの複雑性と共に増大するので、これらのコストを抑制するために、いくつかの実施形態は、グラフの複雑性を抑制するための方法を企図する。
いくつかの実施形態では、ランドマークノードの空間密度は、視覚的フロントエンドにより自動的に抑制することができ(既存のランドマークが姿勢の一定の半径内で認識されるとき)、その結果、一定の空間領域内の演算は、限定された数のランドマークノードを示す。他方、姿勢ノードは、他のノードに関する拘束条件をエンコードするためのデータ構造を除いて、後続の演算では直接には有用でない過去のロボット姿勢を表す。姿勢ノードの数は、ランドマークの数と共にではなく、観測値の数と共に増大する。グラフの複雑性は、姿勢ノードおよび選択されたエッジを除去することにより抑制され、ランドマークの数が線形である、したがって空間の量が線形であるグラフの複雑性を探索し続けることができる。
図14は、過小評価および低減手順の一例を示す。グラフ4800Aは、除去のために選択されたノードnrを含む元のグラフを表す。グラフ4800Bに示すように、ノードnrおよびそのすべてのインシデントエッジは、過小評価プロセスの一部分として削除のためにマークされる。点線で示す新しいエッジが導入され、削除のためにマークされたエッジからの情報は、残りのノードに結合する新しいエッジおよび既存のエッジに伝送される。グラフ4800Cでは、中央のノードは、そのインシデントエッジと共に除去され、システムは、除去プロセスの一部として削除されたエッジを埋め合わせるために新しいエッジを導入することによりグラフを再構築する。
[グラフ低減]
図15は、グラフの複雑性の低減の概要を示す。最初に、姿勢ノードの数は、ランドマークノードの数の線形関数により区分される(2801、2802)。ノードの選択および除去の詳細を図16に与える。次いで、平均値程度のノードが区分される(2803、2804、2805)。エッジの選択および除去の詳細を図18に与える。
図15のプロセスは、全体的に3つの段階を含む。第1に、ノードは、除去のために特定され、除去され(2801、2802)、第2に、除去されたノードに入るエッジにより以前表示された情報を保持するためにエッジが追加され(図示せず)、最後に、第2段階で生成された可能性があるエッジを含む、余分なエッジを除去するためにグラフ全体にわたってエッジを削減する(2803、2804、2805)。これら3つの段階のそれぞれを以下により詳細に説明する。
[グラフ低減-姿勢ノード過小評価]
グラフが、ロボットの過去の姿勢に関するガウスマルコフ確率場(GMRF)を表すとき、GMRF状態の対応する姿勢を過小評価することにより、統計的に一貫した形式で姿勢ノードを除去することができる。グラフは、システムのマルコフ性を直接エンコードし、ノードは、それが直接結合していないすべてのノードと条件付きで独立している。したがって、ノードの状態の過小評価は、マルコフブランケットのノード(グラフ内の1つのホップ、すなわちインシデントエッジ内のノードのすべて)のみを含む。さらに、ガウス関数の周辺分布もガウス関数であるので、除去した結果のグラフは、残りの変数全体にわたって修正ガウス分布を正確にエンコードする。
図16は、図15のフローチャートの状態2802、すなわちノード選択および除去に関して詳細に説明するフローチャートである。特に、図16は、SLAMグラフ内のノードの数を低減するための姿勢ノード過小評価手順を示す。一般的に言えば、プロセスは、状態2302で始まり、そのとき、システムは、グラフから除去すべき姿勢ノードを選択する。次いで、システムは、ノードにつながるインシデントエッジの対のそれぞれを通して反復することができる。インシデントエッジの各対に関して、システムは、状態2304でエッジ逆元(edge reversal)を使用してエッジ方向を揃えることができる。次いで、システムは、状態2306で端点ノードに接続すべきエッジを合成することができる。次いで、システムは、状態2308で新しいエッジをグラフに組み合わせることができる。インシデントエッジのすべての対を考慮した後、システムは、状態2310で選択されたノードおよびインシデントエッジを削除することができる。
過小評価によるノードの除去は、除去されたノードに結合したノードのすべての対の間で対どうしの拘束条件をもたらす。そうした対の間の拘束条件(エッジ)が既に存在するとき、新しい拘束条件は、そのガウス関数の乗算により既存の拘束条件と組み合わされる。ノード過小評価手順を規定するために、エッジに関するいくつかの演算が必要である。
[エッジ逆元]
エッジeは、それぞれ適当なリー群およびリー代数における平均値および共分散(μ,Σ)により与えられる、その2つの端点ノード間の未確定(uncertain)の剛体変換を表す。リー群の共役演算子は、リー代数の成分を変換の右接空間(tangent space)から左接空間に動かすことができる。したがって、グラフ内の反対方向を向くが、同じ変換拘束条件をエンコードする、エッジ逆元e-1は、以下の式により与えられる。
e-1=(μ-1,Adj[μ-1]・Σ・Adj[μ-1]T)
式1
[エッジ合成]
ノードaからノードbへのエッジe0=(μ00)、およびノードbからノードcへのエッジe1=(μ11)が与えられれば、2つのエッジは、カルマンフィルタモーション更新などの未確定の変換を合成することにより、aからcへの1つのエッジに合成することができる。
e1・e0=(μ1・μ01+Adj[μ1]・Σ0・Adj[μ1]T)
式2
[エッジ組合せ]
2つの同じノードを同じ方向に結合する2つのエッジe0=(μ00)およびe1=(μ11)が与えられれば、それらの拘束条件は、関連のガウス分布関数を乗算することにより組み合わされ、結果としてのガウス関数を得ることができる。接空間から変換多様体へ(リー代数からリー群)の指数関数マップが非線形であるので、平均をとるための組合せ手順は、反復的である。組合せ共分散Σcは、2つのエッジの情報行列を加えることにより計算される。
組合せ平均値の初期推定値を第1のエッジの平均値とする。
その際、組合せ変換は、2つの変換の間の情報加重平均をとり、リー群に対する補正量の指数をとることにより更新される。
この更新は、収束するまで反復し(通常、3または4回の反復)、k回の反復後、組合せエッジを得る。
インシデントエッジEr={e0,…,em}と共に、過小評価2302により除去されるべきノードnrを考慮する。そうしたエッジの各対(ei,ej)が合成される(2304)。
得られた合成エッジ(2306)は、nrでない2つのインシデントノード間のグラフに追加される。そうしたエッジが既に存在するとき、エッジは組み合わされる(新しく合成されたエッジは、それを既存のエッジと組み合わせる前に逆元をとる必要がある可能性がある)(2308)。
最後に、すべてのインシデントエッジErは、ノードnrと共にグラフから削除される(2310)。図16に戻れば、グラフ低減の目的は、グラフノードおよびエッジの濃度を制限することであるので、過小評価する姿勢ノードは、状態2302における姿勢ノードの除去により作成されるエッジの数に応じて選択される。この数は、マルコフブランケットノードの結合されていない対の数からノードの度数(インシデントエッジの数により定義される)を減算することにより決定することができる。グラフエッジの数の最小の増加を伴うノードが過小評価される。マルコフブランケットが既に十分結合しているノードでは、この増加量は、しばしばマイナスであり、グラフエッジの総数は、減少する。このプロセスは、図16のフローチャートの状態2302、すなわちSLAMグラフから除去すべき姿勢ノードの選択に関して詳細に説明するフローチャートである図17に説明される。2401では、既存のすべての姿勢ノード全体にわたる反復が行われる。2402では、各姿勢ノードに関して、そのノードの除去によりグラフに追加されたエッジの数が計算される。2403および2404において反復中、現在の最高の除去候補ノードが記憶される。最高の候補は、その除去によりエッジの数の増加が最小となるものである。反復の最後に2406において、全体の最高の候補が選択される。
[エッジ除去]
ノード過小評価手順は、常に、グラフノードの数を1つだけ減少させ、エッジの数をできる限り減少させようとするが、ノードの度数を抑制できない可能性がある。すべての姿勢ノードを過小評価することにより、ランドマークの数の二次的なエッジ濃度を有する、ランドマークノード全体にわたる完全に結合したグラフがもたらされる。
グラフのエッジの複雑性を制限するために、演算中にエッジを発見的に削減することができる。グラフからエッジを除去することは、観測または測定が全く行われなかったかのように、エッジにより表示された情報を棄却することと等しい。
1つの実施形態のエッジ削減手順は、一定の所定の限度を超える度数のノードのリストを保持する。このリストは、グラフにエッジが追加されるときにのみ変更する必要があり、ランドマーク観測中またはノード除去イベント中に生じる。次いで、ノードの度数が限度を超えなくなるまで、リスト内の各ノードからエッジが除去される。
図18は、図15のフローチャートの状態2804、すなわちエッジの選択および除去に関して詳細に説明するフローチャートである。このプロセスは、最も大きいエッジ度数(すなわち、インシデントエッジの最大数)を有する、SLAMグラフ内の姿勢ノードまたはその一部分が選択される、状態3402で始まることができる。次いで、これらのインシデントエッジのそれぞれに関して、プロセスは、インシデントエッジのどれが最高の除去候補であるかを特定するために複数の演算を実行することができる。システムは、状態3404でエッジの除去がグラフを切断するかどうかを判定する。除去がグラフを2つの結合していない構成要素に分割しないであろうとき、エッジが除去用とみなされるにすぎない。プロセスは、状態3406で検討中のエッジがこれまで検討された最も小さい残差を有するかどうか判定する。ここで、エッジの残差は、最適化プロセスからの残差を指す。これは、そのエッジが与えた拘束条件が現在の解にどれほど適合するかどうか(または、現在の解がエッジにどれほど適合するかどうか)を示す。残差に基づいて、グラフの現在の状態と最も一致し、したがって、除去がグラフ最適化に最も影響を与えそうにないエッジを特定することができる。状態3404または3406のいずれかの条件を満たさないとき、システムは、次のエッジで反復する。そうでない場合、エッジは、状態3408で最高の候補であると記録される。プロセスが完了すると、状態3410において最高の候補エッジが削除される。
[グラフ最適化]
図19は、図11のフローチャートの状態2610、すなわちグラフ最適化のための1つの方法に関して詳細に説明するフローチャートである。SLAMグラフは、SLAM推定問題に対応するGMRFを柔軟に表示する。プロセスは、状態2202において、(ノードによりエンコードされた)パラメータ推定値のマイナスの対数尤度を計算することにより始まる。この値は、以下の形式で説明されるエッジの残差全体にわたって合計することにより計算することができる。
[グラフのマイナス対数尤度計算]
E={ei}によりエッジの組が与えられる。エッジeに関して、s(e)およびd(e)により、それぞれソースノード姿勢およびデスティネーションノード姿勢が与えられる。エッジ拘束条件の平均値をμ(e)により示し、共分散をΣ(e)により示す。その際、グラフのマイナス対数尤度-L(一定のオフセットまで)は、以下の式により残差νiに関して与えられる。
ノード姿勢推定値がエッジ内にエンコードされた拘束条件をより十分に満たすとき、マイナス対数尤度-Lは、より低くなる。グラフ最適化は、ノードパラメータの関数としてマイナス対数尤度を最小化することによりGMRFパラメータの尤度を増加させる。
次いで、システムは、状態2204、2206、および2208において低減した残差を生成する最適化を反復的に求めることができる。それぞれのそうした更新の後、残差(またはその変化)は、状態2204において計算することができ、判断ブロック2206において残差が低下しなかったとき、状態2208において、ノード更新値が戻され、更新値発見法を調整することができる。残差チェックと並行したそうした漸進的な姿勢調整の反復適用は、グラフの誤差を最小化し、したがって、すべてのランドマーク観測値およびモーション推定値の尤度を最大化する。状態2204に関する適当なグラフ最適化実施形態の例には、共役勾配法、確率的緩和法、ガウス・シーデル緩和法、コレスキー分解法、剛体サブグラフ調整法(rigid subgraph adjustment)、多値緩和法(multi-level relaxation)、または他の様々な確立された方法のいずれかが含まれる。さらに、漸進的な非線形最適化のための任意の一般的方法をグラフに十分に適用することができることが容易に認識されよう。
本明細書に開示した実施形態と関連させて説明した方法またはアルゴリズムのステップは、ハードウェア、プロセッサにより実行されるソフトウェアモジュール、または両者の組合せにおいて直接具体化することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当分野で知られている他の任意の形式の記憶媒体内に存在する可能性がある。例示的な記憶媒体は、プロセッサに結合する可能性があり、その結果、プロセッサは、記憶媒体から情報を読み出し、記憶媒体に情報を書き込むことができる。別の方法では、記憶媒体は、プロセッサと統合することができる。プロセッサおよび記憶媒体は、ASIC内に存在する可能性がある。ASICは、ユーザ端末内に存在する可能性がある。別の方法では、プロセッサおよび記憶媒体は、ユーザ端末内の別個の構成要素として存在する可能性がある。
上述のプロセスのすべては、1つもしくは複数の汎用コンピュータまたは専用コンピュータ、あるいは1つもしくは複数の汎用プロセッサまたは専用プロセッサにより実行されるソフトウェアコードモジュール内で具体化され、このソフトウェアコードモジュールを介して十分に自動化される可能性がある。コードモジュールは、任意のタイプのコンピュータ読取可能媒体、または他のコンピュータ記憶装置、または記憶装置の集合に記憶される可能性がある。あるいは、本方法のいくつかまたはすべては、専用コンピュータハードウェア内に具体化することができる。
本明細書に説明した方法およびタスクのすべては、コンピュータシステムにより実行され、十分に自動化される可能性がある。いくつかの場合には、コンピュータシステムには、説明した機能を実行するためにネットワークを通して通信および相互運用する、複数の異なるコンピュータまたは計算装置(例えば、物理サーバ、ワークステーション、ストレージアレイなど)が含まれる可能性がある。そうした各計算装置は、通常、メモリまたは他の非一過性コンピュータ読取可能記憶媒体に記憶されたプログラム命令またはモジュールを実行する1つのプロセッサ(または複数のプロセッサ、または回路、または回路の集合、モジュールなど)を含む。本明細書に説明した様々な機能をそうしたプログラム命令内に具体化することができるが、代わりに、開示した機能のいくつかまたはすべてをコンピュータシステムの特定用途向回路(ASICまたはFPGAなど)内に実装することができる。コンピュータシステムが複数の計算装置を含む場合、これらの装置は、必須ではないが、同じ場所に配置される可能性がある。開示した方法およびタスクの結果は、固体メモリチップおよび/または磁気ディスクなどの物理記憶装置を異なる状態に変換することにより持続的に記憶することができる。
108 制御装置
110 モータ
112 モータ
504 物理的ランドマーク
506 特徴点
508 特徴点
510 特徴点
602 視覚的フロントエンド
606 ランドマークデータベース
608 SLAMデータベース
610 生姿勢
612 視覚データ
614 デッドレコニングセンサ
616 視覚センサ
618 デッドレコニングインターフェース
620 姿勢、地図
622 プレフィルタ
1802 姿勢ノード
1804 ランドマークノード
1806 エッジ
1808 ノード
1810 エッジ
1812 ノードID
1814 ランドマークID
1816 ロボット姿勢
1818 エッジ識別子
1820 エッジID
1822 ソースノードID
1824 デスティネーションノードID
1826 変換
1828 変換の共分散

Claims (14)

  1. 移動型システムをナビゲートするための方法であって、
    前記方法は、1つまたは複数のコンピュータシステム上に実装され、
    前記方法は、移動型装置内にランドマークを生成するステップを具備し、
    前記生成するステップは、
    カメラモーションおよびエピポーラ幾何学により正対応整合点を見出し、
    正対応整合点を使用してカメラモーションを改善し、
    十分な正対応点が存在するかどうかを判定し、
    許容量に達したかどうかを判定し、
    許容量に達したことの判定に基づいて許容量を調整し、
    新しいランドマークとして正対応点およびカメラモーションを返す
    ことにより、移動型装置内にランドマークを生成することを特徴とする方法。
  2. 前記カメラモーションおよびエピポーラ幾何学により正対応整合点を見出すことは、
    一時的なローカル画像の対を選択するステップと、
    候補の対応点を構築するステップと、
    をさらに具備し、
    対応点は、前記一時的なローカル画像の対の一方の画像内の特徴点および他方の画像内の対応する特徴点からなる1対の整合用特徴点を具備することを特徴とする請求項1に記載の方法。
  3. 一時的なローカル画像の対を選択する前記ステップは、連続的な、またはほぼ連続的な単一のカメラによりキャプチャされた画像を選択するステップを具備することを特徴とする請求項2に記載の方法。
  4. 前記カメラモーションおよびエピポーラ幾何学により正対応整合点を見出すことは、推定値差が利用可能かどうかを判定するステップをさらに具備し、推定値差は、ある瞬間から次の瞬間までのモーションのモーション推定値を具備し、
    候補の対応点を構築する前記ステップは、モーション推定値を利用するステップをさらに具備することを特徴とする請求項3に記載の方法。
  5. 一時的なローカル画像の対を選択する前記ステップは、立体画像の対をキャプチャするステップを具備することを特徴とする請求項2に記載の方法。
  6. 前記正対応整合点を使用してカメラモーションを改善することは、外れ値を除去するためにエピポーラ幾何拘束を反復的に利用するステップをさらに含むことを特徴とする請求項2に記載の方法。
  7. 外れ値を除去するためにエピポーラ幾何拘束を反復的に利用する前記ステップは、フレームA内の各特徴点を、カメラモーションの推定値を使用して、フレームB内のその推定エピポーラ線に投影するステップをさらに具備することを特徴とする請求項6に記載の方法。
  8. カメラモーションの推定値は、初期にデッドレコニングを使用して決定されることを特徴とする請求項7に記載の方法。
  9. カメラモーションの推定値は、初期にランダムサンプルコンセンサス(RANSAC)および5点アルゴリズムを使用して決定されることを特徴とする請求項7に記載の方法。
  10. 前記フレームB内の推定エピポーラ線のしきい値距離内の前記フレームA内の特徴点へのプラスの深度を有するすべての対応点は、正対応点と表示されることを特徴とする請求項7に記載の方法。
  11. フレームA内の各特徴点を、カメラモーションの推定値を使用して、フレームB内のその推定エピポーラ線に投影する前記ステップは、異なる縮尺率で特徴点を検出する特徴点検出器を使用して、フレームA及びフレームB内に特徴点を配置するステップをさらに具備することを特徴とする請求項7に記載の方法。
  12. 前記特徴点検出器は、SIFT 検出器、SURF検出器、及びBASIC検出器からなるグループから選択されることを特徴とする請求項11に記載の方法。
  13. 候補の対応点を構築する前記ステップは、近似最近傍探索(ANN)法を使用して、対応する特徴点の対を識別するステップをさらに具備することを特徴とする請求項2に記載の方法。
  14. 前記正対応整合点を使用してカメラモーションを改善することは、正対応整合点のセットにわたる非線形最大尤度推定を使用するステップをさらに具備することを特徴とする請求項1に記載の方法。
JP2014178852A 2010-09-24 2014-09-03 移動型システムをナビゲートするための方法 Expired - Fee Related JP5881790B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US40400110P 2010-09-24 2010-09-24
US61/404,001 2010-09-24

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013530375A Division JP5745067B2 (ja) 2010-09-24 2011-09-23 Vslam最適化のためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2014222551A true JP2014222551A (ja) 2014-11-27
JP5881790B2 JP5881790B2 (ja) 2016-03-09

Family

ID=45874194

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2013530375A Expired - Fee Related JP5745067B2 (ja) 2010-09-24 2011-09-23 Vslam最適化のためのシステムおよび方法
JP2014178852A Expired - Fee Related JP5881790B2 (ja) 2010-09-24 2014-09-03 移動型システムをナビゲートするための方法
JP2014178851A Active JP6410530B2 (ja) 2010-09-24 2014-09-03 Vslam最適化のための方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013530375A Expired - Fee Related JP5745067B2 (ja) 2010-09-24 2011-09-23 Vslam最適化のためのシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014178851A Active JP6410530B2 (ja) 2010-09-24 2014-09-03 Vslam最適化のための方法

Country Status (6)

Country Link
US (2) US9286810B2 (ja)
EP (2) EP3327697A1 (ja)
JP (3) JP5745067B2 (ja)
AU (1) AU2011305154B2 (ja)
CA (1) CA2812723C (ja)
WO (1) WO2012040644A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019159354A (ja) * 2018-03-07 2019-09-19 カシオ計算機株式会社 自律移動装置、メモリ整理方法及びプログラム
US10869595B2 (en) 2015-11-13 2020-12-22 Olympus Corporation Endoscope system, controller, and computer-readable storage medium
US11263774B2 (en) 2019-01-31 2022-03-01 Aisin Corporation Three-dimensional position estimation device and program

Families Citing this family (279)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008118875A1 (en) 2007-03-23 2008-10-02 Mojix, Inc. Rfid systems using distributed exciter network
US9766074B2 (en) 2008-03-28 2017-09-19 Regents Of The University Of Minnesota Vision-aided inertial navigation
EP2283474B1 (en) 2008-04-14 2016-12-14 Mojix, Inc. Radio frequency identification tag location estimation and tracking system and method
EP2559014A4 (en) 2010-04-14 2016-11-02 Mojix Inc SYSTEMS AND METHOD FOR DETECTING PATTERNS IN SPATIAL TIME DATA FILED WITH AN RFID SYSTEM
US8855406B2 (en) * 2010-09-10 2014-10-07 Honda Motor Co., Ltd. Egomotion using assorted features
CA2812723C (en) * 2010-09-24 2017-02-14 Evolution Robotics, Inc. Systems and methods for vslam optimization
KR101750340B1 (ko) * 2010-11-03 2017-06-26 엘지전자 주식회사 로봇 청소기 및 이의 제어 방법
EP2450667B1 (en) * 2010-11-09 2016-11-02 Harman Becker Automotive Systems GmbH Vision system and method of analyzing an image
US9602316B2 (en) 2011-03-07 2017-03-21 Mojix, Inc. Multiple symbol noncoherent soft output detector
US8868323B2 (en) 2011-03-22 2014-10-21 Honeywell International Inc. Collaborative navigation using conditional updates
US8588972B2 (en) * 2011-04-17 2013-11-19 Hei Tao Fung Method for creating low-cost interactive entertainment robots
WO2012166814A1 (en) * 2011-05-31 2012-12-06 Honda Motor Co., Ltd. Online environment mapping
US8981995B2 (en) 2011-06-03 2015-03-17 Microsoft Technology Licensing, Llc. Low accuracy positional data by detecting improbable samples
US9464903B2 (en) 2011-07-14 2016-10-11 Microsoft Technology Licensing, Llc Crowd sourcing based on dead reckoning
US9470529B2 (en) 2011-07-14 2016-10-18 Microsoft Technology Licensing, Llc Activating and deactivating sensors for dead reckoning
JP2013022705A (ja) 2011-07-25 2013-02-04 Sony Corp ロボット装置及びロボット装置の制御方法、コンピューター・プログラム、並びにロボット・システム
US10027952B2 (en) * 2011-08-04 2018-07-17 Trx Systems, Inc. Mapping and tracking system with features in three-dimensional space
US8798840B2 (en) * 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
US10184798B2 (en) * 2011-10-28 2019-01-22 Microsoft Technology Licensing, Llc Multi-stage dead reckoning for crowd sourcing
US9201133B2 (en) * 2011-11-11 2015-12-01 The Board Of Trustees Of The Leland Stanford Junior University Method and system for signal-based localization
US9429657B2 (en) 2011-12-14 2016-08-30 Microsoft Technology Licensing, Llc Power efficient activation of a device movement sensor module
US9702707B2 (en) 2011-12-22 2017-07-11 AppLabz, LLC Systems, methods, and apparatus for providing indoor navigation using optical floor sensors
US9243918B2 (en) 2011-12-22 2016-01-26 AppLabz, LLC Systems, methods, and apparatus for providing indoor navigation using magnetic sensors
US9513127B2 (en) * 2011-12-22 2016-12-06 AppLabz, LLC Systems, methods, and apparatus for providing indoor navigation
GB201202344D0 (en) * 2012-02-10 2012-03-28 Isis Innovation Method of locating a sensor and related apparatus
US8798372B1 (en) * 2012-03-07 2014-08-05 Hrl Laboratories, Llc Method for detecting bridges using lidar point cloud data
GB2501466A (en) 2012-04-02 2013-10-30 Univ Oxford Localising transportable apparatus
US8682933B2 (en) * 2012-04-05 2014-03-25 Fujitsu Limited Traversal based directed graph compaction
US9223312B2 (en) 2012-06-08 2015-12-29 Irobot Corporation Carpet drift estimation using differential sensors or visual measurements
US9518821B2 (en) * 2012-08-02 2016-12-13 Benjamin Malay Vehicle control system
US9147251B2 (en) * 2012-08-03 2015-09-29 Flyby Media, Inc. Systems and methods for efficient 3D tracking of weakly textured planar surfaces for augmented reality applications
CN103632606B (zh) * 2012-08-27 2016-03-30 联想(北京)有限公司 信息处理方法和装置
CN103631261B (zh) * 2012-08-27 2017-11-28 联想(北京)有限公司 信息处理方法和装置
US9817125B2 (en) 2012-09-07 2017-11-14 Microsoft Technology Licensing, Llc Estimating and predicting structures proximate to a mobile device
JP6055391B2 (ja) * 2012-11-05 2016-12-27 株式会社デンソーアイティーラボラトリ 関連性判定装置、関連性判定プログラム、及び関連性判定方法
US8442765B1 (en) 2012-11-08 2013-05-14 Honeywell International Inc. Shared state selection and data exchange for collaborative navigation using conditionally independent parallel filters
US9104752B2 (en) 2012-11-16 2015-08-11 Honeywell International Inc. Data sharing among conditionally independent parallel filters
CN103884330B (zh) * 2012-12-21 2016-08-10 联想(北京)有限公司 信息处理方法、可移动电子设备、引导设备和服务器
US10254118B2 (en) 2013-02-21 2019-04-09 Regents Of The University Of Minnesota Extrinsic parameter calibration of a vision-aided inertial navigation system
KR20140108821A (ko) * 2013-02-28 2014-09-15 삼성전자주식회사 이동 로봇 및 이동 로봇의 위치 추정 및 맵핑 방법
US9111156B2 (en) 2013-03-15 2015-08-18 Mojix, Inc. Systems and methods for compressive sensing ranging evaluation
US9495389B2 (en) 2013-03-15 2016-11-15 Qualcomm Incorporated Client-server based dynamic search
FR3004571B1 (fr) * 2013-04-11 2015-04-10 Vit Procede de correction d'une image tridimensionnelle d'un circuit electronique
US9674507B2 (en) 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
JP6136543B2 (ja) * 2013-05-01 2017-05-31 村田機械株式会社 自律移動体
US9607401B2 (en) * 2013-05-08 2017-03-28 Regents Of The University Of Minnesota Constrained key frame localization and mapping for vision-aided inertial navigation
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
JP6202559B2 (ja) * 2013-07-26 2017-09-27 積水化学工業株式会社 埋設管路の計測装置、及び、埋設管路の計測方法
US20150092048A1 (en) 2013-09-27 2015-04-02 Qualcomm Incorporated Off-Target Tracking Using Feature Aiding in the Context of Inertial Navigation
US10937187B2 (en) 2013-10-07 2021-03-02 Apple Inc. Method and system for providing position or movement information for controlling at least one function of an environment
WO2015051818A1 (en) * 2013-10-07 2015-04-16 Metaio Gmbh Method and system for providing position or movement information for controlling at least one function of a vehicle
CN107533801A (zh) 2013-11-01 2018-01-02 国际智能技术公司 使用测绘车辆的地图测绘技术
US10311595B2 (en) * 2013-11-19 2019-06-04 Canon Kabushiki Kaisha Image processing device and its control method, imaging apparatus, and storage medium
US10209080B2 (en) * 2013-12-19 2019-02-19 Aktiebolaget Electrolux Robotic cleaning device
US9390344B2 (en) * 2014-01-09 2016-07-12 Qualcomm Incorporated Sensor-based camera motion detection for unconstrained slam
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
US9886036B2 (en) * 2014-02-10 2018-02-06 John Bean Technologies Corporation Routing of automated guided vehicles
DE102014002821A1 (de) 2014-02-26 2015-08-27 Audi Ag Verfahren und ein System zum Lokalisieren einer mobilen Einrichtung
EP2916189B1 (en) 2014-03-06 2019-05-08 Hexagon Technology Center GmbH Quality assured manufacturing
US9659447B2 (en) 2014-04-08 2017-05-23 Bally Gaming, Inc. System and method for augmented wagering
US10242453B2 (en) * 2014-04-30 2019-03-26 Longsand Limited Simultaneous localization and mapping initialization
US10012504B2 (en) 2014-06-19 2018-07-03 Regents Of The University Of Minnesota Efficient vision-aided inertial navigation using a rolling-shutter camera with inaccurate timestamps
AU2015280776B2 (en) * 2014-06-27 2019-08-22 Crown Equipment Corporation Vehicle positioning or navigation utilizing associated feature pairs
DE102014212781A1 (de) * 2014-07-02 2016-01-07 Continental Automotive Gmbh Verfahren zum Ermitteln und Bereitstellen einer Landmarke zur Positionsbestimmung für ein Fahrzeug
US10289910B1 (en) 2014-07-10 2019-05-14 Hrl Laboratories, Llc System and method for performing real-time video object recognition utilizing convolutional neural networks
US10373335B1 (en) * 2014-07-10 2019-08-06 Hrl Laboratories, Llc System and method for location recognition and learning utilizing convolutional neural networks for robotic exploration
US10518879B1 (en) * 2014-07-10 2019-12-31 Hrl Laboratories, Llc System and method for drift-free global trajectory estimation of a mobile platform
US9658070B2 (en) 2014-07-11 2017-05-23 Regents Of The University Of Minnesota Inverse sliding-window filters for vision-aided inertial navigation systems
FR3025325B1 (fr) * 2014-09-01 2016-12-30 Valeo Schalter & Sensoren Gmbh Dispositif et procede de localisation et de cartographie
US10339389B2 (en) * 2014-09-03 2019-07-02 Sharp Laboratories Of America, Inc. Methods and systems for vision-based motion estimation
US9157757B1 (en) * 2014-09-03 2015-10-13 Sharp Laboratories Of America, Inc. Methods and systems for mobile-agent navigation
US9969337B2 (en) * 2014-09-03 2018-05-15 Sharp Laboratories Of America, Inc. Methods and systems for mobile-agent navigation
US9625912B2 (en) * 2014-09-03 2017-04-18 Sharp Laboratories Of America, Inc. Methods and systems for mobile-agent navigation
DE102014217847A1 (de) * 2014-09-08 2016-03-10 Conti Temic Microelectronic Gmbh Fahrerassistenzsystem, Verkehrstelematiksystem und Verfahren zum Aktualisieren einer digitalen Karte
CN105527968A (zh) * 2014-09-29 2016-04-27 联想(北京)有限公司 信息处理方法和信息处理装置
US9817103B2 (en) * 2014-10-09 2017-11-14 Telefonaktiebolaget Lm Ericsson (Publ) Position adjustment in mobile communications networks
US9478029B2 (en) 2014-10-23 2016-10-25 Qualcomm Incorporated Selection strategy for exchanging map information in collaborative multi-user SLAM systems
US20200409382A1 (en) * 2014-11-10 2020-12-31 Carnegie Mellon University Intelligent cleaning robot
US20160148136A1 (en) * 2014-11-24 2016-05-26 Boyi Ni Multiple sequential planning and allocation of time-divisible resources
US9519289B2 (en) 2014-11-26 2016-12-13 Irobot Corporation Systems and methods for performing simultaneous localization and mapping using machine vision systems
US9744670B2 (en) 2014-11-26 2017-08-29 Irobot Corporation Systems and methods for use of optical odometry sensors in a mobile robot
US9751210B2 (en) 2014-11-26 2017-09-05 Irobot Corporation Systems and methods for performing occlusion detection
US9465796B2 (en) 2014-12-01 2016-10-11 Symbol Technologies, Llc Apparatus and method for dynamically updating landmarks in a space during execution of natural language instructions
US9349285B1 (en) 2014-12-01 2016-05-24 Here Global B.V. Traffic classification based on spatial neighbor model
US10618174B2 (en) * 2014-12-09 2020-04-14 Aeolus Robotics, Inc. Robotic Touch Perception
US9678210B2 (en) * 2014-12-19 2017-06-13 Caterpillar Inc. Error estimation in real-time visual odometry system
US9519061B2 (en) * 2014-12-26 2016-12-13 Here Global B.V. Geometric fingerprinting for localization of a device
US9630319B2 (en) 2015-03-18 2017-04-25 Irobot Corporation Localization and mapping using physical features
WO2016154913A1 (zh) * 2015-03-31 2016-10-06 江玉结 充电器、基于地图构建寻找充电器的方法、装置及系统
EP3078935A1 (en) * 2015-04-10 2016-10-12 The European Atomic Energy Community (EURATOM), represented by the European Commission Method and device for real-time mapping and localization
US9709404B2 (en) 2015-04-17 2017-07-18 Regents Of The University Of Minnesota Iterative Kalman Smoother for robust 3D localization for vision-aided inertial navigation
US9883337B2 (en) 2015-04-24 2018-01-30 Mijix, Inc. Location based services for RFID and sensor networks
US9616773B2 (en) 2015-05-11 2017-04-11 Uber Technologies, Inc. Detecting objects within a vehicle in connection with a service
CN104881029B (zh) * 2015-05-15 2018-01-30 重庆邮电大学 基于一点ransac和fast算法的移动机器人导航方法
US10878278B1 (en) * 2015-05-16 2020-12-29 Sturfee, Inc. Geo-localization based on remotely sensed visual features
JP6445151B2 (ja) * 2015-05-22 2018-12-26 富士フイルム株式会社 ロボット装置及びロボット装置の移動制御方法
CN104848856B (zh) * 2015-05-29 2017-09-22 山东鲁能智能技术有限公司 一种基于轮间差速的变电站巡检机器人航迹推算方法与装置
US9558424B2 (en) * 2015-06-30 2017-01-31 Mitsubishi Electric Research Laboratories, Inc. On-road stereo visual odometry without explicit pose determinations
JP6594686B2 (ja) * 2015-07-14 2019-10-23 東急建設株式会社 三次元形状計測装置、三次元形状計測方法、及びプログラム
US10482705B2 (en) 2015-08-11 2019-11-19 Bally Gaming, Inc. Gaming machine and system for concurrent gaming player interface manipulation based on visual focus
US10360718B2 (en) * 2015-08-14 2019-07-23 Samsung Electronics Co., Ltd. Method and apparatus for constructing three dimensional model of object
GB2541884A (en) 2015-08-28 2017-03-08 Imp College Of Science Tech And Medicine Mapping a space using a multi-directional camera
US9681118B2 (en) * 2015-10-01 2017-06-13 Infinity Augmented Reality Israel Ltd. Method and system for recalibrating sensing devices without familiar targets
US10209063B2 (en) * 2015-10-03 2019-02-19 X Development Llc Using sensor-based observations of agents in an environment to estimate the pose of an object in the environment and to estimate an uncertainty measure for the pose
CN108139758A (zh) 2015-10-09 2018-06-08 深圳市大疆创新科技有限公司 基于显著性特征的载运工具定位
JP6659317B2 (ja) * 2015-11-17 2020-03-04 株式会社東芝 位置姿勢推定装置、位置姿勢推定プログラムおよび電気掃除機システム
US10712160B2 (en) 2015-12-10 2020-07-14 Uatc, Llc Vehicle traction map for autonomous vehicles
US9840256B1 (en) 2015-12-16 2017-12-12 Uber Technologies, Inc. Predictive sensor array configuration system for an autonomous vehicle
US9841763B1 (en) 2015-12-16 2017-12-12 Uber Technologies, Inc. Predictive sensor array configuration system for an autonomous vehicle
EP3182373B1 (en) 2015-12-17 2019-06-19 STMicroelectronics S.A. Improvements in determination of an ego-motion of a video apparatus in a slam type algorithm
EP3182370B1 (en) 2015-12-17 2020-07-29 STmicroelectronics SA Method and device for generating binary descriptors in video frames
EP3182371B1 (en) 2015-12-17 2018-09-26 Stmicroelectronics Sa Threshold determination in for example a type ransac algorithm
EP3185212B1 (en) * 2015-12-17 2019-07-03 STmicroelectronics SA Dynamic particle filter parameterization
US10421186B2 (en) * 2016-01-04 2019-09-24 Hangzhou Yameilijia Technology Co., Ltd. Method and apparatus for working-place backflow of robots
TW201727416A (zh) * 2016-01-27 2017-08-01 Hon Hai Prec Ind Co Ltd 人工標記組合以及進行電腦視覺定位的系統和方法
TW201727415A (zh) * 2016-01-27 2017-08-01 鴻海精密工業股份有限公司 結合人工標記和二維條碼進行電腦視覺定位的系統和方法
US10546385B2 (en) * 2016-02-25 2020-01-28 Technion Research & Development Foundation Limited System and method for image capture device pose estimation
US9990548B2 (en) 2016-03-09 2018-06-05 Uber Technologies, Inc. Traffic signal analysis system
JP6658863B2 (ja) * 2016-03-09 2020-03-04 富士通株式会社 製造プロセスの可視化プログラム、製造プロセスの可視化方法および製造プロセスの可視化システム
WO2017172778A1 (en) * 2016-03-28 2017-10-05 Sri International Collaborative navigation and mapping
US9927814B2 (en) * 2016-03-28 2018-03-27 Fetch Robotics, Inc. System and method for localization of robots
JP6552448B2 (ja) * 2016-03-31 2019-07-31 株式会社デンソーアイティーラボラトリ 車両位置検出装置、車両位置検出方法及び車両位置検出用コンピュータプログラム
US9996083B2 (en) 2016-04-28 2018-06-12 Sharp Laboratories Of America, Inc. System and method for navigation assistance
US9558265B1 (en) * 2016-05-12 2017-01-31 Quid, Inc. Facilitating targeted analysis via graph generation based on an influencing parameter
US10203209B2 (en) 2016-05-25 2019-02-12 Regents Of The University Of Minnesota Resource-aware large-scale cooperative 3D mapping using multiple mobile devices
US9965689B2 (en) * 2016-06-09 2018-05-08 Qualcomm Incorporated Geometric matching in visual navigation systems
US11429105B2 (en) * 2016-06-10 2022-08-30 Duke University Motion planning for autonomous vehicles and reconfigurable motion planning processors
JP6685847B2 (ja) * 2016-06-14 2020-04-22 株式会社東芝 情報処理装置、および、情報処理方法
CN107515006A (zh) * 2016-06-15 2017-12-26 华为终端(东莞)有限公司 一种地图更新方法和车载终端
KR102471301B1 (ko) * 2016-06-24 2022-11-29 로베르트 보쉬 게엠베하 Rgb-d 카메라 기반 추적 시스템 및 그 방법
US10628533B2 (en) * 2016-06-27 2020-04-21 Faro Technologies, Inc. Global optimization of networks of locally fitted objects
US10852744B2 (en) 2016-07-01 2020-12-01 Uatc, Llc Detecting deviations in driving behavior for autonomous vehicles
WO2018026544A1 (en) 2016-07-22 2018-02-08 Regents Of The University Of Minnesota Square-root multi-state constraint kalman filter for vision-aided inertial navigation system
EP3494447B1 (en) 2016-08-04 2021-05-19 Reification Inc. Methods for simultaneous localization and mapping (slam) and related apparatus and systems
EP3497405B1 (en) 2016-08-09 2022-06-15 Nauto, Inc. System and method for precision localization and mapping
US10453213B2 (en) 2016-08-29 2019-10-22 Trifo, Inc. Mapping optimization in autonomous and non-autonomous platforms
US10032276B1 (en) 2016-08-29 2018-07-24 PerceptIn, Inc. Visual-inertial positional awareness for autonomous and non-autonomous device
US10395117B1 (en) 2016-08-29 2019-08-27 Trifo, Inc. Visual-inertial positional awareness for autonomous and non-autonomous tracking
US10366508B1 (en) 2016-08-29 2019-07-30 Perceptin Shenzhen Limited Visual-inertial positional awareness for autonomous and non-autonomous device
US10390003B1 (en) 2016-08-29 2019-08-20 Perceptln Shenzhen Limited Visual-inertial positional awareness for autonomous and non-autonomous device
US10571925B1 (en) 2016-08-29 2020-02-25 Trifo, Inc. Autonomous platform guidance systems with auxiliary sensors and task planning
US10043076B1 (en) 2016-08-29 2018-08-07 PerceptIn, Inc. Visual-inertial positional awareness for autonomous and non-autonomous tracking
US10410328B1 (en) 2016-08-29 2019-09-10 Perceptin Shenzhen Limited Visual-inertial positional awareness for autonomous and non-autonomous device
US10571926B1 (en) 2016-08-29 2020-02-25 Trifo, Inc. Autonomous platform guidance systems with auxiliary sensors and obstacle avoidance
US10162362B2 (en) 2016-08-29 2018-12-25 PerceptIn, Inc. Fault tolerance to provide robust tracking for autonomous positional awareness
US11314262B2 (en) 2016-08-29 2022-04-26 Trifo, Inc. Autonomous platform guidance systems with task planning and obstacle avoidance
US10402663B1 (en) 2016-08-29 2019-09-03 Trifo, Inc. Visual-inertial positional awareness for autonomous and non-autonomous mapping
US10075818B2 (en) * 2016-09-13 2018-09-11 Google Llc Systems and methods for graph-based localization and mapping
US11085776B2 (en) * 2016-10-24 2021-08-10 Agco International Gmbh Land mapping and guidance system
US10274325B2 (en) * 2016-11-01 2019-04-30 Brain Corporation Systems and methods for robotic mapping
US10723018B2 (en) 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot
US10866102B2 (en) * 2016-12-23 2020-12-15 X Development Llc Localization of robotic vehicles
US10694325B2 (en) 2016-12-31 2020-06-23 Google Llc Determining position of a device in three-dimensional space and corresponding calibration techniques
JP6913339B2 (ja) * 2017-01-26 2021-08-04 学校法人千葉工業大学 移動軌跡算定システム、移動軌跡算定システムの制御方法及びプログラム
DE102017201669A1 (de) 2017-02-02 2018-08-02 Robert Bosch Gmbh Verfahren und Vorrichtung zur Aktualisierung einer digitalen Karte
WO2018143620A2 (en) 2017-02-03 2018-08-09 Samsung Electronics Co., Ltd. Robot cleaner and method of controlling the same
GB201706129D0 (en) 2017-04-18 2017-05-31 Blue Vision Labs Uk Ltd Distributed device mapping
US10397896B2 (en) 2017-04-19 2019-08-27 International Business Machines Corporation IP address geo-position detection based on landmark sequencing
US10222215B2 (en) * 2017-04-21 2019-03-05 X Development Llc Methods and systems for map generation and alignment
US11087181B2 (en) 2017-05-24 2021-08-10 Google Llc Bayesian methodology for geospatial object/characteristic detection
US10444761B2 (en) 2017-06-14 2019-10-15 Trifo, Inc. Monocular modes for autonomous platform guidance systems with auxiliary sensors
US10453150B2 (en) 2017-06-16 2019-10-22 Nauto, Inc. System and method for adverse vehicle event determination
US10496104B1 (en) 2017-07-05 2019-12-03 Perceptin Shenzhen Limited Positional awareness with quadocular sensor in autonomous platforms
EP3428760B1 (en) * 2017-07-12 2021-03-10 Trifo, Inc. Mapping optimization in autonomous and non-autonomous platforms
EP3447448B1 (en) * 2017-07-24 2021-01-06 Trifo, Inc. Fault-tolerance to provide robust tracking for autonomous and non-autonomous positional awareness
US10788830B2 (en) * 2017-07-28 2020-09-29 Qualcomm Incorporated Systems and methods for determining a vehicle position
CN111094893A (zh) * 2017-07-28 2020-05-01 高通股份有限公司 机器人式运载工具的图像传感器初始化
GB201718507D0 (en) * 2017-07-31 2017-12-27 Univ Oxford Innovation Ltd A method of constructing a model of the motion of a mobile device and related systems
US10832078B2 (en) * 2017-08-11 2020-11-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for concurrent reconstruction of dynamic and static objects
CN107727104B (zh) * 2017-08-16 2019-04-30 北京极智嘉科技有限公司 结合标识的同时定位和地图创建导航方法、装置及系统
WO2019045728A1 (en) * 2017-08-31 2019-03-07 Sony Mobile Communications Inc. ELECTRONIC DEVICES, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR CONTROLLING 3D MODELING OPERATIONS BASED ON POSITION MEASUREMENTS
US10437252B1 (en) 2017-09-08 2019-10-08 Perceptln Shenzhen Limited High-precision multi-layer visual and semantic map for autonomous driving
US10794710B1 (en) 2017-09-08 2020-10-06 Perceptin Shenzhen Limited High-precision multi-layer visual and semantic map by autonomous units
US10429847B2 (en) 2017-09-22 2019-10-01 Locus Robotics Corp. Dynamic window approach using optimal reciprocal collision avoidance cost-critic
US10386851B2 (en) 2017-09-22 2019-08-20 Locus Robotics Corp. Multi-resolution scan matching with exclusion zones
CN107526360B (zh) * 2017-09-26 2020-08-21 河南科技学院 一种未知环境下排爆机器人多阶自主导航探测系统及方法
CN107907124B (zh) * 2017-09-30 2020-05-15 杭州迦智科技有限公司 基于场景重识的定位方法、电子设备、存储介质、系统
US10612929B2 (en) * 2017-10-17 2020-04-07 AI Incorporated Discovering and plotting the boundary of an enclosure
EP3474230B1 (en) * 2017-10-18 2020-07-22 Tata Consultancy Services Limited Systems and methods for edge points based monocular visual slam
CN107806881A (zh) * 2017-10-25 2018-03-16 上海思岚科技有限公司 移动机器人构建结构地图的方法与设备
WO2019090417A1 (en) * 2017-11-10 2019-05-16 Clearpath Robotics Inc. Systems and methods for updating an electronic map
US10761539B2 (en) 2017-11-22 2020-09-01 Locus Robotics Corp. Robot charger docking control
US10365656B2 (en) 2017-11-22 2019-07-30 Locus Robotics Corp. Robot charger docking localization
CN108008409B (zh) * 2017-11-28 2019-12-10 深圳市杉川机器人有限公司 区域轮廓绘制方法及装置
US10907971B2 (en) 2017-12-08 2021-02-02 Regents Of The University Of Minnesota Square root inverse Schmidt-Kalman filters for vision-aided inertial navigation and mapping
CN108008728B (zh) * 2017-12-12 2020-01-17 深圳市银星智能科技股份有限公司 清洁机器人以及基于清洁机器人的最短路径规划方法
US10989538B2 (en) 2017-12-15 2021-04-27 Uatc, Llc IMU data offset compensation for an autonomous vehicle
US10513037B2 (en) * 2017-12-15 2019-12-24 Ankobot (Shanghai) Smart Technologies Co., Ltd. Control method and system, and mobile robot using the same
CN108170144A (zh) * 2017-12-27 2018-06-15 北斗七星(重庆)物联网技术有限公司 一种应用于安防机器人的控制系统及安防机器人
US10636205B2 (en) 2018-01-05 2020-04-28 Qualcomm Incorporated Systems and methods for outlier edge rejection
CN108332752B (zh) * 2018-01-09 2021-04-20 深圳市无限动力发展有限公司 机器人室内定位的方法及装置
US11926038B2 (en) * 2018-01-10 2024-03-12 Sony Corporation Information processing apparatus and information processing method
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
CN110044334B (zh) 2018-01-16 2020-04-21 京东方科技集团股份有限公司 基于维诺图的室内空间定位
CN108253958B (zh) * 2018-01-18 2020-08-11 亿嘉和科技股份有限公司 一种稀疏环境下的机器人实时定位方法
TWI822729B (zh) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
EP3759700B1 (en) 2018-02-27 2023-03-15 Nauto, Inc. Method for determining driving policy
ES2928250T3 (es) 2018-03-21 2022-11-16 Realtime Robotics Inc Planificación del movimiento de un robot para diversos entornos y tareas y mejora del funcionamiento del mismo
US11263549B2 (en) * 2018-03-22 2022-03-01 Here Global B.V. Method, apparatus, and system for in-vehicle data selection for feature detection model creation and maintenance
KR102508960B1 (ko) * 2018-03-28 2023-03-14 현대모비스 주식회사 실시간 3차원 지도 구축 장치 및 방법
US10521913B2 (en) * 2018-03-29 2019-12-31 Aurora Innovation, Inc. Relative atlas for autonomous vehicle and generation thereof
US10990101B2 (en) * 2018-04-18 2021-04-27 Baidu Usa Llc Method for drifting correction for planning a path for autonomous driving vehicles
CN112292582A (zh) * 2018-04-20 2021-01-29 文远知行有限公司 用于生成高清晰度地图的方法和系统
CN108564625B (zh) * 2018-04-27 2019-08-23 百度在线网络技术(北京)有限公司 图优化方法、装置、电子设备及存储介质
US10807236B2 (en) * 2018-04-30 2020-10-20 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for multimodal mapping and localization
WO2019218353A1 (en) * 2018-05-18 2019-11-21 Baidu.Com Times Technology (Beijing) Co., Ltd. Drifting correction between planning stage and controlling stage of operating autonomous driving vehicles
US10565714B2 (en) 2018-05-25 2020-02-18 Denso Corporation Feature tracking for visual odometry
US11940277B2 (en) 2018-05-29 2024-03-26 Regents Of The University Of Minnesota Vision-aided inertial navigation system for ground vehicle localization
DE102018114963A1 (de) 2018-06-21 2019-12-24 Connaught Electronics Ltd. Neulokalisierungsverfahren eines Fahrzeugs unter Verwendung von verschiedenen 3D-Wolken
US10778943B2 (en) 2018-07-17 2020-09-15 C-Tonomy, LLC Autonomous surveillance duo
CN109344687B (zh) * 2018-08-06 2021-04-16 深圳拓邦股份有限公司 基于视觉的障碍物检测方法、装置、移动设备
DE102018214694A1 (de) * 2018-08-30 2020-03-05 Continental Automotive Gmbh Lokalisierungsvorrichtung zur visuellen Lokalisierung eines Fahrzeugs
KR102147210B1 (ko) * 2018-10-22 2020-08-24 엘지전자 주식회사 인공지능 이동 로봇의 제어 방법
KR102084756B1 (ko) * 2018-10-30 2020-03-04 한동대학교 산학협력단 Slam 공간 지도의 완성도 판단 방법
US11287824B2 (en) * 2018-11-19 2022-03-29 Mobile Industrial Robots A/S Detecting a location of an autonomous device
CN109514529A (zh) * 2018-11-28 2019-03-26 贵州工程应用技术学院 一种用于工业机器人的基座及工业机器人
US11164326B2 (en) 2018-12-18 2021-11-02 Samsung Electronics Co., Ltd. Method and apparatus for calculating depth map
CN111354042B (zh) * 2018-12-24 2023-12-01 深圳市优必选科技有限公司 机器人视觉图像的特征提取方法、装置、机器人及介质
CN111435244B (zh) * 2018-12-26 2023-05-30 沈阳新松机器人自动化股份有限公司 一种回环闭合方法、装置及机器人
US11774983B1 (en) 2019-01-02 2023-10-03 Trifo, Inc. Autonomous platform guidance systems with unknown environment mapping
GB2580690B (en) * 2019-01-24 2023-03-29 Imperial College Innovations Ltd Mapping an environment using a state of a robotic device
CN109782768A (zh) * 2019-01-26 2019-05-21 哈尔滨玄智科技有限公司 一种适配于内行星式复合轮系搬运机器人的自主导航系统
US10782137B2 (en) 2019-01-28 2020-09-22 Qfeeltech (Beijing) Co., Ltd. Methods, apparatus, and systems for localization and mapping
JP2022523312A (ja) * 2019-01-28 2022-04-22 キューフィールテック (ベイジン) カンパニー,リミティド Vslam方法、コントローラ及び移動可能機器
CN111489393B (zh) * 2019-01-28 2023-06-02 速感科技(北京)有限公司 Vslam方法、控制器和可移动设备
US10885666B2 (en) 2019-02-06 2021-01-05 Ford Global Technologies, Llc Hybrid metric-topological camera-based localization
DE102019202702B3 (de) * 2019-02-28 2020-08-13 Kuka Deutschland Gmbh Abfahren einer vorgegebenen Anordnung von Wegen mit einem mobilen Roboter
CN110147095A (zh) * 2019-03-15 2019-08-20 广东工业大学 基于路标信息与多传感器数据融合的机器人重定位方法
US11526182B2 (en) * 2019-03-25 2022-12-13 Cbn Nano Technologies Inc. Sensing and operation of devices in viscous flow using derived parameters to reduce data-handling requirements
AU2019437767B2 (en) * 2019-03-28 2023-09-28 Lg Electronics Inc. Artificial intelligence cleaner and operation method thereof
KR102212825B1 (ko) * 2019-04-08 2021-02-08 네이버랩스 주식회사 이미지를 기반으로 포즈 계산을 위한 지도의 최신성을 유지하는 방법 및 시스템
WO2020247207A1 (en) 2019-06-03 2020-12-10 Realtime Robotics, Inc. Apparatus, methods and articles to facilitate motion planning in environments having dynamic obstacles
CN112116661A (zh) * 2019-06-20 2020-12-22 北京地平线机器人技术研发有限公司 一种高精地图的构建方法及装置
CN110320520B (zh) * 2019-06-26 2022-08-02 哈尔滨工程大学 一种测深信息同步定位与建图的鲁棒后端图优化方法
CN110261877A (zh) * 2019-06-26 2019-09-20 南京航空航天大学 一种基于改进图优化slam的地空协同视觉导航方法及装置
US11673265B2 (en) 2019-08-23 2023-06-13 Realtime Robotics, Inc. Motion planning for robots to optimize velocity while maintaining limits on acceleration and jerk
CN110307838B (zh) * 2019-08-26 2019-12-10 深圳市优必选科技股份有限公司 机器人重定位方法、装置、计算机可读存储介质及机器人
TWI736960B (zh) * 2019-08-28 2021-08-21 財團法人車輛研究測試中心 同步定位與建圖優化方法
CN110514198B (zh) * 2019-08-28 2021-05-04 电子科技大学 一种基于计算机视觉技术的前后端架构地图定位方法
KR20210029586A (ko) * 2019-09-06 2021-03-16 엘지전자 주식회사 이미지 내의 특징적 객체에 기반하여 슬램을 수행하는 방법 및 이를 구현하는 로봇과 클라우드 서버
CN110598783A (zh) * 2019-09-10 2019-12-20 中国科学技术大学 基于分布式移动机器人系统的视觉一致性方法
CN110610513B (zh) * 2019-09-18 2022-02-08 郑州轻工业学院 自主移动机器人视觉slam的不变性中心差分滤波器方法
US11127164B2 (en) * 2019-10-04 2021-09-21 Mitsubishi Electric Research Laboratories, Inc. Image processing system and method for landmark location estimation with uncertainty
US20240127576A1 (en) * 2019-10-16 2024-04-18 Verity Ag System and method for matching of image features with indistinguishable landmarks
CN110849380B (zh) * 2019-10-28 2022-04-22 北京影谱科技股份有限公司 一种基于协同vslam的地图对齐方法及系统
KR102322000B1 (ko) * 2019-11-12 2021-11-04 네이버랩스 주식회사 비주얼 로컬리제이션과 오도메트리를 기반으로 한 경로 추적 방법 및 시스템
JP2021081850A (ja) * 2019-11-15 2021-05-27 株式会社東芝 位置推定装置、位置推定方法およびプログラム
CN110851556B (zh) * 2019-11-20 2023-02-17 苏州博众智能机器人有限公司 移动机器人建图方法、装置、设备及存储介质
CN110825088B (zh) * 2019-11-29 2021-10-01 燕山大学 一种多目视觉导引船体清洁机器人系统及清洁方法
US11435756B2 (en) * 2019-12-01 2022-09-06 Nvidia Corporation Visual odometry in autonomous machine applications
CN111190191A (zh) * 2019-12-11 2020-05-22 杭州电子科技大学 一种基于激光slam的扫描匹配方法
CN111121789B (zh) * 2019-12-12 2022-02-22 上海航天控制技术研究所 一种基于图像的遥感卫星多模式自主定轨方法
JP7283665B2 (ja) * 2019-12-19 2023-05-30 株式会社豊田自動織機 自己位置推定装置、移動体、自己位置推定方法、及び自己位置推定プログラム
KR102232629B1 (ko) * 2019-12-26 2021-03-26 주식회사 케이티 통신 품질 정보에 기초하여 맵을 생성하는 서버 및 방법 그리고 맵에 따라 주행하는 이동 로봇
CN113091767B (zh) * 2020-01-09 2022-08-30 舜宇光学(浙江)研究院有限公司 滤波式后端回环校正方法及其系统和电子设备
EP3851870A1 (en) * 2020-01-14 2021-07-21 Aptiv Technologies Limited Method for determining position data and/or motion data of a vehicle
CN111174758B (zh) * 2020-01-18 2021-07-16 湖南工学院 一种机器人无信号地形探测的方法
TW202146189A (zh) 2020-01-22 2021-12-16 美商即時機器人股份有限公司 於多機器人操作環境中之機器人之建置
US11158066B2 (en) * 2020-01-24 2021-10-26 Ford Global Technologies, Llc Bearing only SLAM with cameras as landmarks
US11508016B1 (en) * 2020-02-04 2022-11-22 Avalara, Inc. Determining a resource for a place based on three-dimensional coordinates that define the place
CN111337943B (zh) * 2020-02-26 2022-04-05 同济大学 一种基于视觉引导激光重定位的移动机器人定位方法
JP7454965B2 (ja) 2020-03-11 2024-03-25 本田技研工業株式会社 情報処理装置、情報処理システムおよび情報処理方法
US11561102B1 (en) 2020-04-17 2023-01-24 AI Incorporated Discovering and plotting the boundary of an enclosure
CN111664842A (zh) * 2020-05-07 2020-09-15 苏州品坤智能科技有限公司 一种无人扫地机的即时定位与地图构建系统
WO2021235458A1 (ja) * 2020-05-21 2021-11-25 株式会社ソシオネクスト マップ情報更新方法、ランドマーク生成方法、及び特徴点分布調整方法
US11625857B1 (en) 2020-06-15 2023-04-11 Apple Inc. Enhanced content positioning
CN112016612A (zh) * 2020-08-26 2020-12-01 四川阿泰因机器人智能装备有限公司 一种基于单目深度估计的多传感器融合slam方法
US11835949B2 (en) 2020-11-24 2023-12-05 Mobile Industrial Robots A/S Autonomous device safety system
CN112197770B (zh) * 2020-12-02 2021-03-12 北京欣奕华数字科技有限公司 一种机器人的定位方法及其定位装置
CN112710312B (zh) * 2020-12-24 2023-12-01 长三角哈特机器人产业技术研究院 融合距离残差和概率残差的激光slam前端匹配方法
CN112883290B (zh) * 2021-01-12 2023-06-27 中山大学 一种基于分支定界法的自动切图方法
KR102339625B1 (ko) * 2021-01-29 2021-12-16 주식회사 맥스트 공간 지도 갱신 장치 및 방법
JP7301897B2 (ja) * 2021-03-09 2023-07-03 本田技研工業株式会社 地図生成装置
JP7362797B2 (ja) 2021-03-09 2023-10-17 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US11946749B2 (en) * 2021-03-12 2024-04-02 Motional Ad Llc Driving data guided spatial planning
KR20220155068A (ko) * 2021-05-14 2022-11-22 (주)로보티즈 실외 이동 로봇의 보도 주행을 위한 2차원 위상 지도
CN113670293A (zh) * 2021-08-11 2021-11-19 追觅创新科技(苏州)有限公司 地图构建方法及装置
CN114399547B (zh) * 2021-12-09 2024-01-02 中国人民解放军国防科技大学 一种基于多帧的单目slam鲁棒初始化方法
WO2023195982A1 (en) * 2022-04-06 2023-10-12 Innopeak Technology, Inc. Keyframe downsampling for memory usage reduction in slam

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004306249A (ja) * 2003-03-26 2004-11-04 Sony Corp ロボットに搭載されたステレオ・カメラの診断用装置、並びにロボット装置に搭載されたステレオ・カメラの診断方法
JP2006209770A (ja) * 2005-01-25 2006-08-10 Samsung Electronics Co Ltd 移動体の位置の推定及び地図の生成装置とその方法、並びにその装置を制御するコンピュータプログラムを保存するコンピュータで読み取り可能な記録媒体
JP2006234703A (ja) * 2005-02-28 2006-09-07 Univ Waseda 画像処理装置及び三次元計測装置並びに画像処理装置用プログラム
JP2010044740A (ja) * 2008-08-12 2010-02-25 Samsung Electronics Co Ltd 3次元格子地図作成方法及びこれを用いた自動走行装置の制御方法

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6084610A (ja) 1983-10-17 1985-05-14 Hitachi Ltd 誘導装置
US4846297A (en) 1987-09-28 1989-07-11 Tennant Company Automated guided vehicle
US4954962A (en) 1988-09-06 1990-09-04 Transitions Research Corporation Visual navigation and obstacle avoidance structured light system
US5040116A (en) 1988-09-06 1991-08-13 Transitions Research Corporation Visual navigation and obstacle avoidance structured light system
US5109425A (en) 1988-09-30 1992-04-28 The United States Of America As Represented By The United States National Aeronautics And Space Administration Method and apparatus for predicting the direction of movement in machine vision
US5155775A (en) 1988-10-13 1992-10-13 Brown C David Structured illumination autonomous machine vision system
US4942539A (en) 1988-12-21 1990-07-17 Gmf Robotics Corporation Method and system for automatically determining the position and orientation of an object in 3-D space
US5144685A (en) 1989-03-31 1992-09-01 Honeywell Inc. Landmark recognition for autonomous mobile robots
US5083257A (en) 1989-04-27 1992-01-21 Motorola, Inc. Bit plane partitioning for graphic displays
US5170352A (en) 1990-05-07 1992-12-08 Fmc Corporation Multi-purpose autonomous vehicle with path plotting
US5111401A (en) 1990-05-19 1992-05-05 The United States Of America As Represented By The Secretary Of The Navy Navigational control system for an autonomous vehicle
US5321614A (en) 1991-06-06 1994-06-14 Ashworth Guy T D Navigational control apparatus and method for autonomus vehicles
US5517419A (en) 1993-07-22 1996-05-14 Synectics Corporation Advanced terrain mapping system
US5638116A (en) 1993-09-08 1997-06-10 Sumitomo Electric Industries, Ltd. Object recognition apparatus and method
JP2501010B2 (ja) 1993-10-25 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 移動ロボットの誘導装置
DE4408328C2 (de) 1994-03-11 2002-09-26 Siemens Ag Verfahren zum Aufbau einer zellular strukturierten Umgebungskarte von einer selbstbeweglichen mobilen Einheit, welche sich mit Hilfe von auf Wellenreflexion basierenden Sensoren orientiert
EP0766846B1 (de) 1994-06-22 1998-03-04 Siemens Aktiengesellschaft Verfahren zur orientierung, fahrwegplanung und steuerung einer autonomen mobilen einheit
US5525883A (en) 1994-07-08 1996-06-11 Sara Avitzour Mobile robot location determination employing error-correcting distributed landmarks
DE59501731D1 (de) 1994-09-06 1998-04-30 Siemens Ag Verfahren zur bestimmung der position einer landmarke in der umgebungskarte einer selbstbeweglichen einheit, deren abstand zur einheit dynamisch von dieser ermittelt wird
IT1271241B (it) 1994-10-04 1997-05-27 Consorzio Telerobot Sistema di navigazione per robot mobile autonomo
US5961571A (en) 1994-12-27 1999-10-05 Siemens Corporated Research, Inc Method and apparatus for automatically tracking the location of vehicles
US5581629A (en) 1995-01-30 1996-12-03 David Sarnoff Research Center, Inc Method for estimating the location of an image target region from tracked multiple image landmark regions
ATE185006T1 (de) 1996-03-06 1999-10-15 Gmd Gmbh Autonomes mobiles robotersystem für sensor- und kartengestützte navigation in einem leitungsnetzwerk
US6009359A (en) 1996-09-18 1999-12-28 National Research Council Of Canada Mobile system for indoor 3-D mapping and creating virtual environments
US5999866A (en) 1996-11-05 1999-12-07 Carnegie Mellon University Infrastructure independent position determining system
US6047234A (en) 1997-10-16 2000-04-04 Navigation Technologies Corporation System and method for updating, enhancing or refining a geographic database using feedback
US6243657B1 (en) 1997-12-23 2001-06-05 Pii North America, Inc. Method and apparatus for determining location of characteristics of a pipeline
US6005610A (en) 1998-01-23 1999-12-21 Lucent Technologies Inc. Audio-visual object localization and tracking system and method therefor
US6269763B1 (en) 1998-02-20 2001-08-07 Richard Lawrence Ken Woodland Autonomous marine vehicle
US6266068B1 (en) 1998-03-13 2001-07-24 Compaq Computer Corporation Multi-layer image-based rendering for video synthesis
US6301370B1 (en) 1998-04-13 2001-10-09 Eyematic Interfaces, Inc. Face recognition from video images
US6163749A (en) 1998-06-05 2000-12-19 Navigation Technologies Corp. Method and system for scrolling a map display in a navigation application
JP3587691B2 (ja) 1998-07-30 2004-11-10 日本電信電話株式会社 ナビゲーション方法および装置およびこの方法を処理するプログラムを記録した記録媒体
US6552729B1 (en) 1999-01-08 2003-04-22 California Institute Of Technology Automatic generation of animation of synthetic characters
US6711293B1 (en) 1999-03-08 2004-03-23 The University Of British Columbia Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
US6288704B1 (en) 1999-06-08 2001-09-11 Vega, Vista, Inc. Motion detection and tracking system to control navigation and display of object viewers
JP2001116565A (ja) 1999-10-15 2001-04-27 Yazaki Corp 車載ナビゲーション装置及び車載ナビゲーション装置における処理プログラムを記録した記録媒体
WO2001037060A1 (en) 1999-11-18 2001-05-25 The Procter & Gamble Company Home cleaning robot
US6374155B1 (en) 1999-11-24 2002-04-16 Personal Robotics, Inc. Autonomous multi-platform robot system
JP4624594B2 (ja) 2000-06-28 2011-02-02 パナソニック株式会社 物体認識方法および物体認識装置
US6496754B2 (en) 2000-11-17 2002-12-17 Samsung Kwangju Electronics Co., Ltd. Mobile robot and course adjusting method thereof
SE0004466D0 (sv) 2000-12-04 2000-12-04 Abb Ab Mobile Robot
JP4302872B2 (ja) 2000-12-12 2009-07-29 パナソニック株式会社 ランドマーク更新システムおよびナビゲーション装置
US6915008B2 (en) 2001-03-08 2005-07-05 Point Grey Research Inc. Method and apparatus for multi-nodal, three-dimensional imaging
US6687571B1 (en) 2001-04-24 2004-02-03 Sandia Corporation Cooperating mobile robots
JP4159794B2 (ja) 2001-05-02 2008-10-01 本田技研工業株式会社 画像処理装置及び方法
ES2660836T3 (es) 2001-06-12 2018-03-26 Irobot Corporation Método y sistema de cobertura multicódigo para un robot autónomo
US6996254B2 (en) 2001-06-18 2006-02-07 Microsoft Corporation Incremental motion estimation through local bundle adjustment
US6667592B2 (en) 2001-08-13 2003-12-23 Intellibot, L.L.C. Mapped robot system
US6766245B2 (en) 2002-03-14 2004-07-20 Microsoft Corporation Landmark-based location of users
AU2003224396A1 (en) 2002-04-30 2003-11-17 Telmap Ltd. Navigation system using corridor maps
US6836701B2 (en) 2002-05-10 2004-12-28 Royal Appliance Mfg. Co. Autonomous multi-platform robotic system
JP3875988B2 (ja) 2002-05-10 2007-01-31 本田技研工業株式会社 未知の障害物の中の予測不可能な目標物の実時間追跡
US6771932B2 (en) 2002-05-24 2004-08-03 Omnilux, Inc. Method and system for automatically determining lines of sight between nodes
WO2004015369A2 (en) 2002-08-09 2004-02-19 Intersense, Inc. Motion tracking system and method
WO2004040390A1 (de) * 2002-10-23 2004-05-13 Siemens Aktiengesellschaft Verfahren und anordnung sowie computerprogramm mit programmcode-mitteln und computerprogramm-produkt zur bildung einer graphenstruktur zur beschreibung einer fläche mit einer freifläche und einer belegtfläche
US7135992B2 (en) * 2002-12-17 2006-11-14 Evolution Robotics, Inc. Systems and methods for using multiple hypotheses in a visual simultaneous localization and mapping system
US6856901B2 (en) 2003-06-02 2005-02-15 Alpine Electronics, Inc. Display method and apparatus for navigation system
US20050223176A1 (en) * 2003-12-30 2005-10-06 Peters Richard A Ii Sensory ego-sphere: a mediating interface between sensors and cognition
US7689321B2 (en) 2004-02-13 2010-03-30 Evolution Robotics, Inc. Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system
US20050234679A1 (en) * 2004-02-13 2005-10-20 Evolution Robotics, Inc. Sequential selective integration of sensor data
US7400108B2 (en) 2004-04-15 2008-07-15 University Of Utah Research Foundation System and method for controlling modular robots
US7831094B2 (en) * 2004-04-27 2010-11-09 Honda Motor Co., Ltd. Simultaneous localization and mapping using multiple view feature descriptors
US20050289510A1 (en) 2004-06-08 2005-12-29 Daniel Illowsky Method and system for interoperable device enabling hardware abstraction layer modification and engine porting
JP4189377B2 (ja) * 2004-12-24 2008-12-03 株式会社東芝 移動ロボット、移動ロボットの移動方法および移動プログラム
US8930023B2 (en) 2009-11-06 2015-01-06 Irobot Corporation Localization by learning of wave-signal distributions
WO2007025267A2 (en) 2005-08-25 2007-03-01 Gatekeeper Systems, Inc. Systems and methods for locating and controlling powered vehicles
US20070097832A1 (en) 2005-10-19 2007-05-03 Nokia Corporation Interoperation between virtual gaming environment and real-world environments
WO2007051972A1 (en) * 2005-10-31 2007-05-10 Qinetiq Limited Navigation system
US8160400B2 (en) * 2005-11-17 2012-04-17 Microsoft Corporation Navigating images using image based geometric alignment and object based controls
KR100748245B1 (ko) * 2005-12-09 2007-08-10 한국전자통신연구원 인공표식과 지역좌표계를 이용한 이동로봇의 환경지도 작성방법 및 이동 방법
US7587260B2 (en) 2006-07-05 2009-09-08 Battelle Energy Alliance, Llc Autonomous navigation system and method
US20080033645A1 (en) * 2006-08-03 2008-02-07 Jesse Sol Levinson Pobabilistic methods for mapping and localization in arbitrary outdoor environments
US7925049B2 (en) * 2006-08-15 2011-04-12 Sri International Stereo-based visual odometry method and system
KR100855469B1 (ko) * 2006-09-13 2008-09-01 삼성전자주식회사 이동 로봇의 자세 추정 장치 및 방법
US8095238B2 (en) 2006-11-29 2012-01-10 Irobot Corporation Robot development platform
KR100926783B1 (ko) * 2008-02-15 2009-11-13 한국과학기술연구원 물체인식 및 인식된 물체를 포함하는 주변 환경 정보를바탕으로 한 로봇의 자기 위치 추정 방법
KR100988568B1 (ko) * 2008-04-30 2010-10-18 삼성전자주식회사 로봇 및 그 지도작성방법
EP2199983A1 (en) * 2008-12-22 2010-06-23 Nederlandse Centrale Organisatie Voor Toegepast Natuurwetenschappelijk Onderzoek TNO A method of estimating a motion of a multiple camera system, a multiple camera system and a computer program product
US8340818B2 (en) * 2009-04-24 2012-12-25 Robert Bosch Gmbh Method of accurate mapping with mobile robots
US8649565B1 (en) * 2009-06-18 2014-02-11 Hrl Laboratories, Llc System for automatic object localization based on visual simultaneous localization and mapping (SLAM) and cognitive swarm recognition
JP5490911B2 (ja) * 2009-10-30 2014-05-14 ユージン ロボット シーオー., エルティーディー. 移動ロボットの位置認識のための地図生成および更新方法
US9031809B1 (en) * 2010-07-14 2015-05-12 Sri International Method and apparatus for generating three-dimensional pose using multi-modal sensor fusion
JP2012064131A (ja) 2010-09-17 2012-03-29 Tokyo Institute Of Technology 地図生成装置、地図生成方法、移動体の移動方法、及びロボット装置
CA2812723C (en) * 2010-09-24 2017-02-14 Evolution Robotics, Inc. Systems and methods for vslam optimization
KR101772977B1 (ko) * 2010-10-07 2017-08-31 삼성전자주식회사 이동 로봇 및 그 지도 작성 방법
US8798840B2 (en) * 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
US20140031980A1 (en) * 2011-11-11 2014-01-30 Jens-Steffen Gutmann Systems and methods for extending slam to multiple regions
US9992471B2 (en) * 2012-03-15 2018-06-05 Fuji Xerox Co., Ltd. Generating hi-res dewarped book images
CN104245244B (zh) * 2012-09-21 2016-01-20 艾罗伯特公司 移动机器人上的接近度感测
WO2014055966A1 (en) * 2012-10-05 2014-04-10 Irobot Corporation Robot management systems for determining docking station pose including mobile robots and methods using same
US9519289B2 (en) * 2014-11-26 2016-12-13 Irobot Corporation Systems and methods for performing simultaneous localization and mapping using machine vision systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004306249A (ja) * 2003-03-26 2004-11-04 Sony Corp ロボットに搭載されたステレオ・カメラの診断用装置、並びにロボット装置に搭載されたステレオ・カメラの診断方法
JP2006209770A (ja) * 2005-01-25 2006-08-10 Samsung Electronics Co Ltd 移動体の位置の推定及び地図の生成装置とその方法、並びにその装置を制御するコンピュータプログラムを保存するコンピュータで読み取り可能な記録媒体
JP2006234703A (ja) * 2005-02-28 2006-09-07 Univ Waseda 画像処理装置及び三次元計測装置並びに画像処理装置用プログラム
JP2010044740A (ja) * 2008-08-12 2010-02-25 Samsung Electronics Co Ltd 3次元格子地図作成方法及びこれを用いた自動走行装置の制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10869595B2 (en) 2015-11-13 2020-12-22 Olympus Corporation Endoscope system, controller, and computer-readable storage medium
JP2019159354A (ja) * 2018-03-07 2019-09-19 カシオ計算機株式会社 自律移動装置、メモリ整理方法及びプログラム
JP7067130B2 (ja) 2018-03-07 2022-05-16 カシオ計算機株式会社 自律移動装置、メモリ整理方法及びプログラム
US11263774B2 (en) 2019-01-31 2022-03-01 Aisin Corporation Three-dimensional position estimation device and program

Also Published As

Publication number Publication date
CA2812723C (en) 2017-02-14
JP2014222550A (ja) 2014-11-27
US9286810B2 (en) 2016-03-15
EP2619742A4 (en) 2016-10-26
WO2012040644A1 (en) 2012-03-29
JP2013537995A (ja) 2013-10-07
CA2812723A1 (en) 2012-03-29
AU2011305154B2 (en) 2015-02-05
EP3327697A1 (en) 2018-05-30
JP5745067B2 (ja) 2015-07-08
US9910444B2 (en) 2018-03-06
EP2619742A1 (en) 2013-07-31
US20160154408A1 (en) 2016-06-02
JP5881790B2 (ja) 2016-03-09
JP6410530B2 (ja) 2018-10-24
AU2011305154A1 (en) 2013-04-18
US20120121161A1 (en) 2012-05-17
EP2619742B1 (en) 2018-02-28

Similar Documents

Publication Publication Date Title
JP5881790B2 (ja) 移動型システムをナビゲートするための方法
US9886037B2 (en) Systems and methods for using multiple hypotheses in a visual simultaneous localization and mapping system
Agarwal et al. Metric localization using google street view
US20120243775A1 (en) Wide baseline feature matching using collobrative navigation and digital terrain elevation data constraints
AU2017201409B2 (en) Systems and methods for VSLAM optimization
Lui Autonomous robot navigation: appearance based topological SLAM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160202

R150 Certificate of patent or registration of utility model

Ref document number: 5881790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees