JP2020507072A - Laser scanner with real-time online self-motion estimation - Google Patents

Laser scanner with real-time online self-motion estimation Download PDF

Info

Publication number
JP2020507072A
JP2020507072A JP2019540661A JP2019540661A JP2020507072A JP 2020507072 A JP2020507072 A JP 2020507072A JP 2019540661 A JP2019540661 A JP 2019540661A JP 2019540661 A JP2019540661 A JP 2019540661A JP 2020507072 A JP2020507072 A JP 2020507072A
Authority
JP
Japan
Prior art keywords
data
imu
estimated position
map
scan
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
JP2019540661A
Other languages
Japanese (ja)
Other versions
JP7141403B2 (en
Inventor
ジー ジャン
ジー ジャン
ケヴィン ジョセフ ダウリング
ケヴィン ジョセフ ダウリング
サンジヴ シング
サンジヴ シング
Original Assignee
カールタ インコーポレイテッド
カールタ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/US2017/021120 external-priority patent/WO2017155970A1/en
Priority claimed from PCT/US2017/055938 external-priority patent/WO2018071416A1/en
Application filed by カールタ インコーポレイテッド, カールタ インコーポレイテッド filed Critical カールタ インコーポレイテッド
Publication of JP2020507072A publication Critical patent/JP2020507072A/en
Application granted granted Critical
Publication of JP7141403B2 publication Critical patent/JP7141403B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/02Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1656Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4811Constructional features, e.g. arrangements of optical elements common to transmitter and receiver
    • G01S7/4813Housing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Navigation (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Image Analysis (AREA)

Abstract

方法は、IMUデバイスからデータを第1の計算モジュールで第1の周波数で受信し、受信IMUデータに少なくとも部分的に基づいてモバイルマッピングシステムの第1の推定位置を計算する段階と、第1の推定位置及び視覚−慣性データを第2の計算モジュールで第2の周波数で受信し、第1の推定位置及び視覚−慣性データに少なくとも部分的に基づいてモバイルマッピングシステムの第2の推定位置を計算する段階と、第2の推定位置及びレーザ走査データを第3の計算モジュールで第3の周波数で受信し、第2の推定位置及びレーザ走査データに少なくとも部分的に基づいてモバイルマッピングシステムの第3の推定位置を計算する段階とを含む。【選択図】図21The method includes receiving data from an IMU device at a first calculation module at a first frequency, and calculating a first estimated position of the mobile mapping system based at least in part on the received IMU data; Estimated position and visual-inertial data are received at a second calculation module at a second frequency, and a second estimated position of the mobile mapping system is calculated based at least in part on the first estimated position and the visual-inertial data. Receiving the second estimated position and the laser scan data at a third frequency at a third calculation module, and determining a third position of the mobile mapping system based at least in part on the second estimated position and the laser scan data. Calculating the estimated position of [Selection diagram] FIG.

Description

本発明は、モバイルマッピングシステムに関する。   The present invention relates to a mobile mapping system.

(優先権の主張)
この出願は、2017年10月10日出願の「実時間オンライン自己運動推定を備えたレーザスキャナ(LASER SCANNER WITH REAL−TIME,ONLINE EGO−MOTION ESTIMATION)」という名称のPCT出願番号PCT/US2017/055938(代理人整理番号KRTA−0008−WO)に対する優先権を主張し、かつその一部継続出願である。
(Priority claim)
This application is PCT Application No. PCT / US2017 / 055938, filed October 10, 2017, entitled "LASER SCANNER WITH REAL-TIME, ONLINE EGO-MOTION ESTIMATION". (Attorney Docket No. KRTA-0008-WO) and is a continuation-in-part application.

PCT出願番号PCT/US2017/055938は、2017年3月7日出願の「実時間オンライン自己運動推定を備えたレーザスキャナ(LASER SCANNER WITH REAL−TIME,ONLINE EGO−MOTION ESTIMATION)」という名称のPCT出願番号PCT/US2017/021120(代理人整理番号KRTA−0005−WO)に対する優先権を主張し、かつその一部継続出願である。この出願は、同様に、PCT出願番号PCT/US2017/021120に対する優先権を主張するものである。PCT出願番号PCT/US2017/055938は、2016年10月11日出願の「実時間オンライン自己運動推定を備えたレーザスキャナ(LASER SCANNER WITH REAL−TIME,ONLINE EGO−MOTION ESTIMATION)」という名称の米国特許仮出願第62/406,910号(代理人整理番号KRTA−0002−P02)に対する優先権を更に主張するものである。   PCT Application No. PCT / US2017 / 055938 is a PCT application entitled "Laser Scanner WITH REAL-TIME, ONLINE EGO-MOTION ESTIMATION" filed March 7, 2017 filed on March 7, 2017. No. PCT / US2017 / 021120 (Attorney Docket No. KRTA-0005-WO) and a continuation-in-part application. This application also claims priority to PCT Application No. PCT / US2017 / 021120. PCT Application No. PCT / US2017 / 055938 is a U.S. patent filed October 11, 2016, entitled "LASER SCANNER WITH REAL-TIME, ONLINE EGO-MOTION ESTIMATION". It further claims priority to provisional application No. 62 / 406,910 (Attorney Docket No. KRTA-0002-P02).

PCT出願番号PCT/US2017/021120は、2016年3月11日出願の「実時間オンライン自己運動推定を備えたレーザスキャナ(LASER SCANNER WITH REAL−TIME,ONLINE EGO−MOTION ESTIMATION)」という名称の米国特許仮出願第62/307,061号(代理人整理番号KRTA−0001−P01)の利益を主張するものである。   PCT Application No. PCT / US2017 / 021120 is a U.S. patent filed March 11, 2016, entitled "LASER SCANNER WITH REAL-TIME, ONLINE EGO-MOTION Estimation". The benefit of provisional application No. 62 / 307,061 (Attorney Docket No. KRTA-0001-P01) is claimed.

この出願は、2017年1月27日出願の「ライダー及び視覚ベースの自己運動推定及びマッピング(LIDAR AND VISION−BASED EGO−MOTION ESTIMATION AND MAPPING)」という名称の米国特許仮出願第62/451,294号(代理人整理番号KRTA−0004−P01)に対する優先権を更に主張するものである。   This application is a provisional U.S. patent application Ser. No. 62 / 451,294 filed Jan. 27, 2017, entitled "LIDAR AND VISION-BASED EGO-MOTION ESTIMATION AND MAPPING." No. (Attorney Docket No. KRTA-0004-P01).

(関連出願の相互参照)
PCT/US2017/055938、PCT/US2017/021120、及び米国特許仮出願第62/406,910号明細書、第62/307,061号明細書、及び第62/451,294号明細書の開示は、それらの全体が全ての目的に対して引用によって本明細書に組み込まれている。
(Cross-reference of related applications)
The disclosures of PCT / US2017 / 055938, PCT / US2017 / 021120, and US Provisional Patent Applications Nos. 62 / 406,910, 62 / 307,061 and 62 / 451,294 are disclosed. , All of which are incorporated herein by reference for all purposes.

自律移動デバイスは、それがそこで作動する地形に関する情報を必要とする場合がある。そのようなデバイスは、地形を提示する予め定められたマップ及びそこに見出される場合があるあらゆる障害物のいずれかに依存する場合がある。これに代えて、デバイスは、実時間データを提供する1又は2以上のセンサを有するコンピュータベースのマッピングシステムを含む静止又は運動中である間にその地形をマッピングする機能を有する場合がある。モバイルコンピュータベースマッピングシステムは、その経時的な位置の変化を推定する(オドメータ)及び/又は3次元空間の点クラウドのような3次元マップ表現を発生させることができる。   An autonomous mobile device may need information about the terrain on which it operates. Such a device may rely on either a predefined map representing the terrain and any obstacles that may be found there. Alternatively, the device may have the ability to map its terrain while stationary or exercising, including a computer-based mapping system having one or more sensors that provide real-time data. The mobile computer-based mapping system can estimate the change in position over time (odometer) and / or generate a three-dimensional map representation, such as a point cloud in three-dimensional space.

例示的マッピングシステムは、マップをそこから構築することができるデータを提供する様々なセンサを含むことができる。一部のマッピングシステムは、1つのそのようなセンサとして立体カメラシステムを用いる場合がある。これらのシステムは、運動推定のスケールを決定するための基準としての2つのカメラ間のベースラインから利益を得ている。双眼システムは、単眼システムよりも好ましく、その理由は、単眼システムは、追加のセンサからデータを受信する又はデバイスの運動に関する仮定を行うことなしには画像のスケールを決定することができない場合があるからである。近年では、研究分野においてRGB−Dカメラが一般的になってきている。そのようなカメラは、個々のピクセルに関連付けられた深度情報を提供することができ、従って、スケールを決定するのを助けることができる。しかし、RGB−Dカメラを含む一部の方法は、深度情報のカバレージを有する画像区域のみを用いることができ、その結果、特に深度を疎に取得することのみができる開放空間では、大きい画像区域が無駄になる場合がある。   An exemplary mapping system can include various sensors that provide data from which a map can be constructed. Some mapping systems may use a stereo camera system as one such sensor. These systems benefit from a baseline between two cameras as a basis for determining the scale of motion estimation. Binocular systems are preferred over monocular systems because monocular systems may not be able to determine the scale of an image without receiving data from additional sensors or making assumptions about the motion of the device Because. In recent years, RGB-D cameras have become popular in the research field. Such a camera can provide depth information associated with individual pixels, and can thus help determine the scale. However, some methods, including RGB-D cameras, can only use image areas with coverage of depth information, resulting in large image areas, especially in open spaces where only sparse depth acquisition is possible. May be wasted.

マッピングシステムの他の例では、IMUは、スケール制約をIMU加速から与えることができるように1又は2以上のカメラに結合される場合がある。一部の例では、単眼カメラは、カルマンフィルタを用いてIMUに緊密に又は緩く結合することができる。他のマッピングシステムは、モバイルシステムの運動を解くために最適化方法を用いる場合がある。   In another example of a mapping system, an IMU may be coupled to one or more cameras such that scale constraints can be imposed from IMU acceleration. In some examples, the monocular camera may be tightly or loosely coupled to the IMU using a Kalman filter. Other mapping systems may use optimization methods to solve the motion of the mobile system.

マッピングシステムの代替例は、運動推定のためのレーザスキャナの使用を含むことができる。しかし、レーザの走査速度からそのようなデータの使用の難しさが生じる場合がある。システムが移動している間に、固定位置レーザスキャナとは異なり、レーザ点は、スキャナの相対移動による影響を受ける。従って、この移動の影響は、到達するレーザ点が異なる時間にシステムに到達する要因である場合がある。その結果、走査速度がマッピングシステムの運動に対して低速である時に、レーザの外部運動に起因して走査歪みが存在する場合がある。この運動の効果は、レーザ自体によって補償することができるが、この補償は、必要とされる補正を与えるために独立運動モデルを必要とする場合がある。一例として、運動は、一定速度として又はガウス過程としてモデル化することができる。一部の例では、IMUは、運動モデルを与えることができる。そのような方法は、センサ運動を推定するためにレーザ点クラウドによって形成された空間−時間パッチを整合させ、オフラインバッチ最適化でIMUバイアスを補正する。   Alternatives to the mapping system can include the use of a laser scanner for motion estimation. However, the scanning speed of the laser can make the use of such data difficult. While the system is moving, unlike a fixed position laser scanner, the laser point is affected by the relative movement of the scanner. Thus, the effect of this movement may be a factor in the arriving laser points reaching the system at different times. As a result, when the scan speed is slow relative to the movement of the mapping system, there may be scan distortion due to external movement of the laser. The effects of this motion can be compensated for by the laser itself, but this compensation may require an independent motion model to provide the required correction. As an example, motion can be modeled as a constant velocity or as a Gaussian process. In some examples, the IMU may provide a motion model. Such a method aligns the space-time patches formed by the laser point cloud to estimate sensor motion and corrects IMU bias with off-line batch optimization.

運動歪みの同様の問題は、ローリングシャッターカメラの使用時に見出される場合がある。特に、画像ピクセルは、経時的に連続的に受信される場合があり、カメラの外来的な運動によって引き起こされる画像歪みをもたらす。一部の例では、視覚オドメトリ方法は、ピクセル読み出し時間を所与として、IMUを用いてローリングシャッター効果を補償することができる。   A similar problem of motion distortion may be found when using a rolling shutter camera. In particular, image pixels may be received continuously over time, resulting in image distortion caused by extraneous movement of the camera. In some examples, the visual odometry method may use the IMU to compensate for rolling shutter effects given a pixel readout time.

一部の例では、モバイルマッピングデバイスの位置を決定するためにGPS/INS技術を用いることができる。しかし、高精度GPS/INSソリューションは、用途がGPS拒絶、軽量、又はコスト重視である時に実際的でない場合がある。正確なGPSマッピングは、GPS受信器と少なくとも4つのGPS衛星(5つが好ましいと考えられるが)間に見通し通信を必要とすることが認識されている。一部の環境では、例えば、高架道路及び他の障害物を含む場合ある都市環境では、4つの衛星から歪みのない信号を受信することが困難である場合がある。   In some examples, GPS / INS technology can be used to determine the location of a mobile mapping device. However, a precision GPS / INS solution may not be practical when the application is GPS rejected, lightweight, or cost sensitive. It has been recognized that accurate GPS mapping requires line-of-sight communication between a GPS receiver and at least four GPS satellites, although five would be preferred. In some environments, for example, in urban environments that may include elevated roads and other obstacles, it may be difficult to receive undistorted signals from four satellites.

すなわち、特にマッピングデバイスが運動中である間に自律マッピングデバイスを取り囲む地形のロバストマップを発生させるために光学デバイスからのデータを他の運動測定デバイスと融合することに関連付けられたいくつかの技術的課題が存在することが認められるであろう。以下で開示するのは、光学マッピング情報を取得し、かつ歪みが低減したロバストマップを生成することができるマッピングデバイスの方法及びシステムである。   That is, some of the technical issues associated with fusing data from optical devices with other motion measurement devices to generate a robust map of the terrain surrounding the autonomous mapping device, particularly while the mapping device is in motion. It will be appreciated that the challenge exists. Disclosed below is a method and system for a mapping device that can obtain optical mapping information and generate a robust map with reduced distortion.

例示的かつ非限定的実施形態により、方法は、IMUデバイスからデータを第1の計算モジュールで第1の周波数で受信して受信IMUデータに少なくとも部分的に基づいてモバイルマッピングシステムの第1の推定位置を計算する段階と、第1の推定位置及び視覚−慣性データを第2の計算モジュールで第2の周波数で受信して第1の推定位置及び視覚−慣性データに少なくとも部分的に基づいてモバイルマッピングシステムの第2の推定位置を計算する段階と、第2の推定位置及びレーザ走査データを第3の計算モジュールで第3の周波数で受信して第2の推定位置及びレーザ走査データに少なくとも部分的に基づいてモバイルマッピングシステムの第3の推定位置を計算する段階とを含む。   According to an exemplary and non-limiting embodiment, a method includes receiving data from an IMU device at a first frequency at a first frequency, and first estimating a mobile mapping system based at least in part on the received IMU data. Calculating a position and receiving the first estimated position and visual-inertial data at a second frequency at a second computation module and based at least in part on the first estimated position and visual-inertial data; Calculating a second estimated position of the mapping system; receiving the second estimated position and the laser scan data at a third frequency at a third calculation module and at least partially converting the second estimated position and the laser scan data; Calculating a third estimated position of the mobile mapping system based on the location.

別の例示的かつ非限定的実施形態により、モバイルマッピングシステムは、IMUデバイスから第1の周波数でデータを受信して受信IMUデータに少なくとも部分的に基づいてモバイルマッピングシステムの第1の推定位置を計算するようになった第1の計算モジュールと、第1の推定位置及び視覚−慣性データを第2の周波数で受信して第1の推定位置及び視覚−慣性データに少なくとも部分的に基づいてモバイルマッピングシステムの第2の推定位置を計算するようになった第2の計算モジュールと、第2の推定位置及びレーザ走査データを第3の周波数で受信して第2の推定位置及びレーザ走査データに少なくとも部分的に基づいてモバイルマッピングシステムの第3の推定位置を計算するようになった第3の計算モジュールとを含む。   According to another exemplary and non-limiting embodiment, a mobile mapping system receives data at a first frequency from an IMU device and determines a first estimated location of the mobile mapping system based at least in part on received IMU data. A first calculation module adapted to calculate, and receiving, at a second frequency, the first estimated position and the visual-inertial data and based on the mobile based at least in part on the first estimated position and the visual-inertial data. A second calculation module adapted to calculate a second estimated position of the mapping system; receiving the second estimated position and the laser scan data at a third frequency into a second estimated position and the laser scan data. A third calculation module adapted to calculate a third estimated position of the mobile mapping system based at least in part on: .

マッピングシステムの実施形態のブロック図である。FIG. 2 is a block diagram of an embodiment of a mapping system. 図1のマッピングシステムの3つの計算モジュール及びそのそれぞれのフィードバック特徴のブロック図の実施形態を示す図である。FIG. 2 illustrates an embodiment of a block diagram of three computation modules of the mapping system of FIG. 1 and their respective feedback features. 位置情報をマップに精緻化するためのカルマンフィルタモデルの実施形態を示す図である。FIG. 4 is a diagram illustrating an embodiment of a Kalman filter model for refining position information into a map. 位置情報をマップに精緻化するための因子グラフ最適化モデルの実施形態を示す図である。FIG. 4 is a diagram illustrating an embodiment of a factor graph optimization model for refining position information into a map. 視覚−慣性オドメトリサブシステムの実施形態を示す図である。FIG. 3 illustrates an embodiment of a visual-inertial odometry subsystem. 走査整合サブシステムの実施形態を示す図である。FIG. 2 illustrates an embodiment of a scan matching subsystem. 粗な詳細解像度を有する大域マップの実施形態を示す図である。FIG. 4 illustrates an embodiment of a global map with coarse detail resolution. 繊細詳細解像度を有する小域マップの実施形態を示す図である。FIG. 3 illustrates an embodiment of a sub-map with subtle detail resolution. マルチスレッド走査整合の実施形態を示す図である。FIG. 4 illustrates an embodiment of multi-thread scan matching. シングルスレッド走査整合の実施形態を示す図である。FIG. 4 illustrates an embodiment of single thread scan matching. 視覚−慣性オドメトリユニットからのフィードバックデータがデータ劣化に起因して抑制される3つの計算モジュールのブロック図の実施形態を示す図である。FIG. 7 illustrates an embodiment of a block diagram of three calculation modules in which feedback data from the visual-inertial odometry unit is suppressed due to data degradation. 走査整合ユニットからのフィードバックデータがデータ劣化に起因して抑制される3つの計算モジュールのブロック図の実施形態を示す図である。FIG. 4 illustrates an embodiment of a block diagram of three calculation modules where feedback data from a scan matching unit is suppressed due to data degradation. 視覚−慣性オドメトリユニット及び走査整合ユニットからのフィードバックデータがデータ劣化に起因して部分的に抑制される3つの計算モジュールのブロック図の実施形態を示す図である。FIG. 4 illustrates an embodiment of a block diagram of three computation modules where feedback data from the visual-inertial odometry unit and the scan matching unit is partially suppressed due to data degradation. モバイルマッピングデバイスの推定軌道の実施形態を示す図である。FIG. 4 illustrates an embodiment of an estimated trajectory of a mobile mapping device. 例示的かつ非限定的実施形態による双方向情報フローを示す図である。FIG. 4 illustrates an interactive information flow according to an exemplary and non-limiting embodiment. 例示的かつ非限定的実施形態による動的再構成可能システムを示す図である。FIG. 2 illustrates a dynamically reconfigurable system according to an exemplary and non-limiting embodiment. 例示的かつ非限定的実施形態による動的再構成可能システムを示す図である。FIG. 2 illustrates a dynamically reconfigurable system according to an exemplary and non-limiting embodiment. 例示的かつ非限定的実施形態によるIMUバイアス補正のための優先度フィードバックを示す図である。FIG. 4 illustrates priority feedback for IMU bias correction according to an exemplary and non-limiting embodiment. 例示的かつ非限定的実施形態によるマップの二層ボクセル表現を示す図である。FIG. 4 illustrates a two-layer voxel representation of a map according to an exemplary and non-limiting embodiment. 例示的かつ非限定的実施形態によるマップの二層ボクセル表現を示す図である。FIG. 4 illustrates a two-layer voxel representation of a map according to an exemplary and non-limiting embodiment. 例示的かつ非限定的実施形態による走査整合のマルチスレッド処理を示す図である。FIG. 4 illustrates a multi-threaded process of scan matching according to an exemplary and non-limiting embodiment. 例示的かつ非限定的実施形態による走査整合のマルチスレッド処理を示す図である。FIG. 4 illustrates a multi-threaded process of scan matching according to an exemplary and non-limiting embodiment. SLAMシステムの例示的かつ非限定的実施形態を示す図である。FIG. 2 illustrates an exemplary, non-limiting embodiment of a SLAM system. SLAMシステムの例示的かつ非限定的実施形態を示す図である。FIG. 2 illustrates an exemplary, non-limiting embodiment of a SLAM system. SLAMエンクロージャの例示的かつ非限定的実施形態を示す図である。FIG. 3 illustrates an exemplary, non-limiting embodiment of a SLAM enclosure. 信頼性レベルを示す点クラウドの例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of a point cloud indicating a level of trust. 信頼性レベルを示す点クラウドの例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of a point cloud indicating a level of trust. 信頼性レベルを示す点クラウドの例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of a point cloud indicating a level of trust. 異なる信頼性レベルメトリックの例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of different confidence level metrics. SLAMシステムの例示的かつ非限定的実施形態を示す図である。FIG. 2 illustrates an exemplary, non-limiting embodiment of a SLAM system. SLAMシステムに対するタイミング信号の例示的かつ非限定的実施形態を示す図である。FIG. 3 illustrates an exemplary, non-limiting embodiment of a timing signal for a SLAM system. SLAMシステムに対するタイミング信号の例示的かつ非限定的実施形態を示す図である。FIG. 3 illustrates an exemplary, non-limiting embodiment of a timing signal for a SLAM system. SLAMシステム信号同期の例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of SLAM system signal synchronization. 空中−地上協調マッピングの例示的かつ非限定的実施形態を示す図である。FIG. 3 illustrates an exemplary, non-limiting embodiment of air-ground coordinated mapping. センサパックの例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of a sensor pack. レーザ−視覚−慣性オドメトリ及びマッピングソフトウェアシステムのブロック図の例示的かつ非限定的実施形態を示す図である。FIG. 3 illustrates an exemplary, non-limiting embodiment of a block diagram of a laser-vision-inertial odometry and mapping software system. オドメトリ推定及び定位に関与する走査の比較の例示的かつ非限定的実施形態を示す図である。FIG. 3 illustrates an exemplary, non-limiting embodiment of a comparison of scans involved in odometry estimation and localization. 定位における走査整合精度の比較の例示的かつ非限定的実施形態を示す図である。FIG. 3 illustrates an exemplary, non-limiting embodiment of a comparison of scan matching accuracy in localization. 水平方位センサ試験の例示的かつ非限定的実施形態を示す図である。FIG. 3 illustrates an exemplary, non-limiting embodiment of a horizontal bearing sensor test. 垂直方位センサ試験の例示的かつ非限定的実施形態を示す図である。FIG. 3 illustrates an exemplary, non-limiting embodiment of a vertical bearing sensor test. 水平方位センサ試験と下方傾斜センサ試験間の精度比較の例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of an accuracy comparison between a horizontal orientation sensor test and a downward tilt sensor test. センサパックを有する航空機の例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of an aircraft having a sensor pack. センサ軌道の例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of a sensor trajectory. 自律飛行結果の例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of an autonomous flight result. 長期稼働にわたる自律飛行結果の例示的かつ非限定的実施形態を示す図である。FIG. 4 illustrates an exemplary, non-limiting embodiment of an autonomous flight result over long term operation.

一全般的態様では、本発明は、経時的な位置変化を推定する(オドメータ)及び/又は点クラウドのような3次元空間の3次元マップ表現を発生させるモバイルコンピュータベースのマッピングシステムに関する。マッピングシステムは、以下に限定されるものではないが、慣性測定ユニット(IMU)、カメラ、及び/又は3Dレーザスキャナを含む複数のセンサを含むことができる。マッピングシステムはまた、経時的なシステムの位置変化を推定するために及び/又は周囲環境のマップ表現を発生させるために複数のセンサと通信状態にあり、これらのセンサからの出力を処理するように構成された少なくとも1つのプロセッサを有するコンピュータシステムを含むことができる。マッピングシステムは、高周波数低待ち時間オンライン実時間自己運動推定を高密度で正確な3Dマップ位置合わせと共に可能にすることができる。本発明の開示の実施形態は、同時定位及びマッピング(SLAM)システムを含むことができる。SLAMシステムは、GPSに依存せず、実時間で同時の定位及びマッピングを可能にする多次元(例えば3D)レーザ走査及び距離測定システムを含むことができる。SLAMシステムは、環境内にある物体からのレーザ走査の反射から生じる非常に正確な点クラウドに関するデータを発生させて管理することができる。点クラウド内の点のうちのいずれの移動も、SLAMシステムが環境を通って進む時にシステムの場所及び方位の精確な理解を維持することができるように、点クラウド内の点を場所に対する基準点として用いて経時的に正確に追跡される。   In one general aspect, the present invention relates to a mobile computer-based mapping system that estimates position changes over time (odometer) and / or generates a three-dimensional map representation of a three-dimensional space, such as a point cloud. The mapping system can include a plurality of sensors including, but not limited to, an inertial measurement unit (IMU), a camera, and / or a 3D laser scanner. The mapping system is also in communication with the plurality of sensors to estimate changes in the position of the system over time and / or to generate a map representation of the surrounding environment and to process outputs from these sensors. A computer system having at least one processor configured may be included. The mapping system can enable high-frequency low-latency online real-time self-motion estimation with dense and accurate 3D map registration. Embodiments of the present disclosure may include a simultaneous localization and mapping (SLAM) system. SLAM systems can include a multi-dimensional (eg, 3D) laser scanning and ranging system that enables simultaneous localization and mapping in real time, independent of GPS. SLAM systems can generate and manage data about very accurate point clouds resulting from the reflection of laser scans from objects in the environment. Movement of any of the points in the point cloud will cause the points in the point cloud to be reference points to the location so that the SLAM system can maintain an accurate understanding of the location and orientation of the system as it moves through the environment. And is tracked accurately over time.

一実施形態では、モバイルマッピングシステムの位置及び運動の解像度は、一連の粗から細への更新において順番に精緻化することができる。非限定例では、モバイルマッピングシステムの位置及び運動を高速更新速度を有する粗な解像度からより低速の更新速度を有する微細解像度へと更新するために個別の計算モジュールを用いることができる。例えば、高い更新速度でマッピングシステムの運動又は位置を予測するためのデータをIMUデバイスが第1の計算モジュールに提供することができる。低い更新速度でマッピングシステムの運動又は位置の解像度を改善するためのデータを視覚−慣性オドメトリシステムが第2の計算モジュールに提供することができる。これに加えて、更に低い更新速度で運動推定値を更に精緻化し、マップを位置合わせするためのデータをレーザスキャナが第3の計算走査整合モジュールに提供することができる。一非限定例では、位置及び/又は運動の微細解像度データを処理するように構成された計算モジュールからのデータは、位置及び/又は運動の粗な解像度データを処理するように構成された計算モジュールにフィードバックすることができる。別の非限定例では、計算モジュールは、センサソーシング不良、不正データ、不完全データ、又は非存在データに関連付けられた計算モジュールを自動的に迂回することによってセンサ劣化問題に対処する耐故障性を組み込むことができる。従って、マッピングシステムは、非常に動的な運動の存在下で更に暗く凹凸及び構造のない環境内で作動することができる。   In one embodiment, the position and motion resolution of the mobile mapping system can be refined sequentially in a series of coarse to fine updates. In a non-limiting example, a separate computation module can be used to update the position and motion of the mobile mapping system from a coarse resolution with a fast update rate to a fine resolution with a slower update rate. For example, the IMU device may provide data to predict the movement or position of the mapping system at a high update rate to the first calculation module. The visual-inertial odometry system can provide data to the second computation module to improve the motion or position resolution of the mapping system at a low update rate. In addition, the laser scanner can provide data to the third computational scan matching module for further refining the motion estimate at a lower update rate and aligning the map. In one non-limiting example, data from a computation module configured to process position and / or motion fine resolution data comprises a computation module configured to process position and / or motion coarse resolution data. You can give feedback. In another non-limiting example, the computation module incorporates fault tolerance to address sensor degradation issues by automatically bypassing the computation module associated with bad sensor sourcing, bad data, incomplete data, or non-existent data. be able to. Thus, the mapping system can operate in an even darker, textured and unstructured environment in the presence of highly dynamic motion.

大部分がオフラインバッチシステムである既存のマップ発生技術とは対照的に、本明細書に開示するマッピングシステムは実時間で作動し、運動中である間にマップを発生させることができる。この機能は2つの実用的な利点をもたらす。第1に、ユーザは、三脚又は他の非定常マウント上に固定されるスキャナに限定されない。代わりに、本明細書に開示するマッピングシステムは、モバイルデバイスに関連付け、それによって実時間でマッピングすることができる環境範囲を拡大することができる。第2に、実時間特徴は、データが収集される間に現在のマップ区域に関するフィードバックをユーザに与えることができる。オンライン発生マップは、自律的なナビゲーション及び障害物回避のためのロボット又は他のデバイスを助けることもできる。一部の非限定的実施形態では、そのようなナビゲーション機能は、マッピングシステム自体の中に組み込むことができる。代替非限定的実施形態では、マップデータは、外部ソースマップを必要とする可能性があるナビゲーション機能を有する追加ロボットに提供することができる。   In contrast to existing map generation techniques, which are mostly off-line batch systems, the mapping systems disclosed herein operate in real time and can generate maps while on the move. This feature offers two practical advantages. First, the user is not limited to a scanner that is fixed on a tripod or other non-stationary mount. Instead, the mapping system disclosed herein can associate with a mobile device, thereby extending the range of environments that can be mapped in real time. Second, real-time features can provide feedback to the user regarding the current map area while data is being collected. Online generation maps may also assist robots or other devices for autonomous navigation and obstacle avoidance. In some non-limiting embodiments, such navigation features can be incorporated into the mapping system itself. In an alternative, non-limiting embodiment, the map data can be provided to additional robots with navigation capabilities that may require an external source map.

センサに対して、3Dモデル化、シーンマッピング、及び環境推測のようないくつかの潜在的な用途が存在する。マッピングシステムは、点クラウドを更に別の処理のための入力として取得する他のアルゴリズムに対して点クラウドマップを提供することができる。更に、マッピングシステムは、屋内と屋外の両方で機能することができる。そのような実施形態は、外部照明を必要とせず、暗所で作動することができる。カメラを有する実施形態は、外部照明が必要とされる可能性があるが、急激な運動に対処することができ、カメラからの画像でレーザ点クラウドを着色することができる。SLAMシステムは、ユーザが環境を通って移動する、例えば、歩く、サイクリングする、運転する、飛行する、更にこれらの組み合わせを行う時に点クラウドを実時間で構築して維持することができる。マップは、マッピング器が環境を通って進行する時に実時間で構築される。SLAMシステムは、数千個の特徴部を点として追跡することができる。マッピング器が移動する時に、運動の推定を可能にするためにこれらの点が追跡される。従って、SLAMシステムは、実時間でGPSのような外部定位技術に依存することなく作動する。実施形態では、物体のような複数の(ほとんどの場合、非常に多数の)環境特徴部が、三角測位のための点として用いられ、システムは、それが環境を通って移動する時に位置及び方位の正確な現在推定を維持するために数多くの場所及び方位計算を実施して更新する。実施形態では、固定特徴部を位置及び方位計算に用いることができるように、環境の内部にある特徴部の相対運動を用いて固定特徴部(壁、ドア、窓、家具、及び備品など)を移動特徴部(人々、車両、及び他の移動品目)から区別することができる。水中SLAMシステムは、減衰を低減するために青緑色レーザを用いることができる。   There are several potential uses for sensors, such as 3D modeling, scene mapping, and environment inference. The mapping system can provide the point cloud map to other algorithms that take the point cloud as input for further processing. Further, the mapping system can function both indoors and outdoors. Such an embodiment does not require external lighting and can operate in the dark. Embodiments with a camera may cope with sudden movements, although external lighting may be required, and may color the laser point cloud with images from the camera. The SLAM system can build and maintain a point cloud in real time as the user moves through the environment, eg, walks, cycles, drives, flies, and combinations thereof. The map is built in real time as the mapper progresses through the environment. SLAM systems can track thousands of features as points. As the mapper moves, these points are tracked to allow for motion estimation. Thus, the SLAM system operates in real time without relying on external localization techniques such as GPS. In embodiments, multiple (most often a large number) environmental features, such as objects, are used as points for triangulation, and the system determines the position and orientation as it moves through the environment. Numerous location and orientation calculations are performed and updated to maintain an accurate current estimate of. In embodiments, the fixed features (walls, doors, windows, furniture, fixtures, etc.) are used using the relative motion of the features inside the environment so that the fixed features can be used for position and orientation calculations. It can be distinguished from mobile features (people, vehicles, and other mobile items). Underwater SLAM systems can use blue-green lasers to reduce attenuation.

マッピングシステム設計は、自己運動推定におけるドリフトがモジュール自体の周波数よりも低い周波数を有するという考察に従う。従って、3つの計算モジュールが周波数の高い順に配列される。高周波数モジュールは、過激な運動に対処することに特化され、低周波数モジュールは、先行するモジュールに関するドリフトを相殺する。更にこの逐次処理は、前方にあるモジュールがそれ程計算を受け持たず、高周波数で実行し、完全な処理のための後方にあるモジュールに十分な時間を与えるという計算に有利に働く。従って、マッピングシステムは、実時間オンラインで稼働しながら高レベルの精度を得ることができる。   The mapping system design follows the consideration that the drift in the self-motion estimation has a lower frequency than the frequency of the module itself. Therefore, three calculation modules are arranged in descending order of frequency. High frequency modules are specialized in dealing with extreme movements, and low frequency modules offset drift with respect to preceding modules. In addition, this sequential processing favors the calculation that the module at the front is less responsible for the calculations, runs at a higher frequency, and gives the modules at the rear more time for full processing. Thus, the mapping system can obtain a high level of accuracy while operating in real time online.

更に、システムは、センサの劣化に対処するように構成することができる。カメラが機能しない場合(例えば、暗さ、劇的な照明変化、又は凹凸のない環境に起因して)、又はレーザが機能しない場合に(例えば構造のない環境に起因して)、対応するモジュールを迂回することができ、システムの残りの部分を確実に機能するように交番することができる。特に、一部の例示的実施形態では、本提案のパイプラインは、問題状態空間内で劣化した部分空間を自動的に決定し、十分に条件付けされた部分空間内で問題を部分的に解く。その結果、各モジュールからの「健全」な部分の組み合わせによって最終的な解が形成される。その結果、出力を発生させるために用いられるモジュールの結果的な結合は、単純にモジュール出力の線形結合でも非線形結合でもない。一部の例示的実施形態では、出力は、1又は2以上のモジュール全体の迂回を残りの機能モジュールの線形結合又は非線形結合との組み合わせで反映する。多数の実験を通してシステムを試験した結果は、システムが、数キロメートルのナビゲーションにわたる高い精度と、環境の劣化及び過激な運動に関するロバスト性とを生じることができることを示した。   Further, the system can be configured to address sensor degradation. If the camera does not work (for example, due to a dark, dramatic lighting change, or an environment without bumps) or the laser does not work (for example, due to an unstructured environment), the corresponding module Can be bypassed and can be alternated to ensure that the rest of the system functions. In particular, in some exemplary embodiments, the proposed pipeline automatically determines the degraded subspace in the problem state space and partially solves the problem in a well-conditioned subspace. As a result, the final solution is formed by the combination of the "healthy" parts from each module. As a result, the resulting combination of modules used to generate the output is not simply a linear or non-linear combination of the module outputs. In some exemplary embodiments, the output reflects the bypass of one or more entire modules in combination with a linear or non-linear combination of the remaining functional modules. Results of testing the system through a number of experiments have shown that the system can produce high accuracy over several kilometers of navigation and robustness against environmental degradation and extreme movement.

下記で開示するモジュール化されたマッピングシステムは、運動推定及びマッピングのための距離センサ、視覚センサ、及び慣性センサからのデータを多層最適化構造を用いることによって処理するように構成される。モジュール化されたマッピングシステムは、
・計算モジュールを動的に再構成する機能、
・計算モジュール内の失敗モードを完全又は部分的に迂回し、残りのモジュールからのデータをセンサ及び/又はセンサデータの劣化に対処する方式で組み合わせ、それによって環境によって誘起されるデータ劣化とモバイルマッピングシステムの過激な運動とに対処する機能、及び
・実時間性能を与えるために計算モジュールを協働的に統合する機能、
を含むことができる特徴を組み込むことによって高い精度、ロバスト性、及び低いドリフトを得ることができる。
The modular mapping system disclosed below is configured to process data from distance, vision, and inertial sensors for motion estimation and mapping by using a multi-layer optimization structure. The modular mapping system
A function to dynamically reconfigure the calculation module,
• Bypassing failure modes in the computation module completely or partially and combining data from the remaining modules in a manner that addresses degradation of the sensor and / or sensor data, thereby causing data degradation and mobile mapping induced by the environment. The ability to cope with extreme movements of the system, and the ability to cooperatively integrate computing modules to provide real-time performance,
High accuracy, robustness, and low drift can be obtained by incorporating features that can include:

本明細書では、3Dレーザ、カメラ、及びIMUを用いたオンライン自己運動推定のためのマッピングシステムを開示する。更に、推定運動は、移動環境のマップを構築するためにレーザ点を位置合わせする。多くの現実世界の用途では、自己運動及びマッピングを実時間で行わなければならない。自律ナビゲーションシステムでは、マップは、運動計画及び障害物回避にとって極めて重要である可能性があり、その一方で運動推定は、車両の制御及び操縦にとって重要である。   Disclosed herein is a mapping system for online self-motion estimation using a 3D laser, camera, and IMU. In addition, the estimated motion aligns the laser points to build a map of the mobile environment. In many real-world applications, self-motion and mapping must be performed in real time. In autonomous navigation systems, maps can be very important for motion planning and obstacle avoidance, while motion estimation is important for vehicle control and steering.

図1は、本発明の一実施形態によるマッピングシステム100の簡単なブロック図を描いている。特定の構成要素については下記で開示するが、そのような構成要素は単なる例として提示するものであり、他の均等又は同様な構成要素に関して限定的ではない。例示しているシステムは、Xsens(登録商標)MTi−30 IMUのようなIMUシステム102と、IDS(登録商標)UI−1220SE単色カメラのようなカメラシステム104と、Velodyne PUCK(商標)VLP−16レーザスキャナのようなレーザスキャナ106とを含む。IMU102は、x−y−z加速度計、ロール−ピッチ−ヨージャイロスコープ、及び磁力計のうちの1又は2以上から導出された慣性運動データと、慣性データとを第1の周波数で提供することができる。一部の非限定例では、第1の周波数は約200Hzとすることができる。カメラシステム104は、752×480ピクセルの解像度と、76°の水平視野(FOV)と、第2の周波数でのフレーム取り込み速度とを有することができる。一部の非限定例では、フレーム取り込み速度は、約50Hzの第2の周波数で作動することができる。レーザスキャナ106は、360°の水平FOVと、30°の垂直FOVとを有し、レーザ回転速度を表す第3の周波数で毎秒0.3百万点を受光することができる。一部の非限定例では、第3の周波数は、約5Hzとすることができる。図1に描いているように、レーザスキャナ106は、モータ回転角を測定するために符号器109を組み込むモータ108に接続することができる。一非限定例では、レーザモータ符号器109は、約0.250の解像度で作動することができる。 FIG. 1 depicts a simple block diagram of a mapping system 100 according to one embodiment of the present invention. Although specific components are disclosed below, such components are provided by way of example only and are not limiting with respect to other equivalent or similar components. Exemplary systems include an IMU system 102 such as an Xsens® MTi-30 IMU, a camera system 104 such as an IDS® UI-1220SE monochrome camera, and Velodyne PUCK® VLP-16. A laser scanner 106 such as a laser scanner. The IMU 102 provides inertial motion data and / or inertial data derived from one or more of an xyz accelerometer, a roll-pitch-yaw gyroscope, and a magnetometer at a first frequency. Can be. In some non-limiting examples, the first frequency can be about 200 Hz. The camera system 104 may have a resolution of 752 × 480 pixels, a horizontal field of view (FOV) of 76 °, and a frame capture rate at a second frequency. In some non-limiting examples, the frame capture rate can operate at a second frequency of about 50 Hz. The laser scanner 106 has a horizontal FOV of 360 ° and a vertical FOV of 30 °, and can receive 0.3 million points per second at a third frequency representing the laser rotation speed. In some non-limiting examples, the third frequency can be about 5 Hz. As depicted in FIG. 1, the laser scanner 106 can be connected to a motor 108 that incorporates an encoder 109 to measure the motor rotation angle. In one non-limiting example, the laser motor encoder 109 may operate at about 0.25 0 resolution.

IMU102、カメラ104、レーザスキャナ106、及びレーザスキャナモータ符号器109は、コンピュータシステム110とデータ通信状態にあるものとすることができ、コンピュータシステム110は、1又は2以上のプロセッサ134と、関連のメモリ103Aとを有し、所望のオドメトリ及び/又はマッピングを実施するのに十分な処理パワーとメモリとを有するいずれかのコンピュータデバイスとすることができる。例えば、2.6GHzのi7クワッドコアプロセッサ(各コア上に2つのスレッドで全体として8つのスレッド)と組み込みGPUメモリとを有するラップトップコンピュータを用いることができる。それに加えて、コンピュータシステムは、RAMのような1又は2以上のタイプの1次メモリ又は動的メモリ120と、ハードディスク又はフラッシュROMのような1又は2以上のタイプの2次メモリ又は保存メモリ160とを有することができる。上記では特定の計算モジュール(IMUモジュール122、視覚−慣性オドメトリモジュール126、及びレーザ走査モジュール132)を開示したが、そのようなモジュールは、上記で説明した機能を有する例示的モジュールに過ぎず、限定的ではないことを認識しなければならない。同様に、上記で開示したコンピュータデバイス110のタイプは、本明細書に開示する目的で上記のセンサと併用することができるコンピュータデバイスのタイプの例に過ぎず、決して限定的ではない。   IMU 102, camera 104, laser scanner 106, and laser scanner motor encoder 109 may be in data communication with computer system 110, which may include one or more processors 134 associated with it. It can be any computing device having memory 103A and having sufficient processing power and memory to perform the desired odometry and / or mapping. For example, a laptop computer having a 2.6 GHz i7 quad-core processor (two threads on each core, for a total of eight threads) and an embedded GPU memory can be used. In addition, the computer system may include one or more types of primary or dynamic memory 120, such as RAM, and one or more types of secondary or storage memory 160, such as a hard disk or flash ROM. Can be provided. Although specific computing modules (IMU module 122, visual-inertial odometry module 126, and laser scanning module 132) have been disclosed above, such modules are merely exemplary modules having the functions described above, and are not limiting. You have to recognize that it is not a target. Similarly, the types of computing device 110 disclosed above are merely examples of, and are in no way limiting, the types of computing devices that can be used with the sensors described above for the purposes disclosed herein.

図1に例示するように、マッピングシステム100は、粗から細の方式で運動を順番に復元する個別計算モジュールを含む計算モデルを組み込む(図2も参照されたい)。IMU102からの運動予測(IMU予測モジュール122)から始めて、視覚−慣性緊密結合方法(視覚−慣性オドメトリモジュール126)が運動を推定し、レーザ点を局所的に位置合わせする。続いて走査整合方法(走査整合精緻化モジュール132)が、推定運動を更に精緻化する。更に、走査整合精緻化モジュール132は、マップ(ボクセルマップ134)を構築するために点クラウドデータ165を位置合わせする。マップは、マッピングシステムが任意的なナビゲーションシステム136の一部として用いることもできる。ナビゲーションシステム136は、搭載コンピュータシステム内の計算モジュール、1次メモリとして含めることができ、又は完全に別個のシステムを含むことができることを認識することができる。   As illustrated in FIG. 1, the mapping system 100 incorporates a computation model that includes individual computation modules that sequentially restore motion in a coarse-to-fine manner (see also FIG. 2). Starting with motion prediction from the IMU 102 (IMU prediction module 122), a visual-inertial tight coupling method (visual-inertial odometry module 126) estimates motion and locally aligns laser points. Subsequently, the scan matching method (scan matching refinement module 132) further refines the estimated motion. Further, the scan matching refinement module 132 aligns the point cloud data 165 to build a map (voxel map 134). The map may also be used by the mapping system as part of an optional navigation system 136. It can be appreciated that the navigation system 136 can be included as a computing module within the on-board computer system, as primary memory, or can include a completely separate system.

各計算モジュールは、センサシステムの各々のうちの1つからのデータを処理することができることを認識することができる。従って、IMU予測モジュール122は、IMUシステム102から導出されたデータから粗なマップを生成し、視覚−慣性オドメトリモジュール126は、カメラシステム104からの更に精緻化されたデータを処理し、走査整合精緻化モジュール132は、レーザスキャナ106及びモータ符号器109からの最もきめの細かい解像度データを処理する。それに加えて、よりきめの細かい解像度モジュールの各々は、よりきめの粗いモジュールから与えられたデータを更に処理する。視覚−慣性オドメトリモジュール126は、IMU予測モジュール122が計算し、そこから受信したマッピングデータを精緻化する。同様に、走査整合精緻化モジュール132は、視覚−慣性オドメトリモジュール126によって与えられたデータを更に処理する。上記で開示したように、センサシステムの各々は、異なる速度でデータを取得する。一非限定例では、IMU102は、約200Hzの速度でデータ取得を更新することができ、カメラ104は、約50Hzの速度でデータ取得を更新することができ、レーザスキャナ106は、約5Hzの速度でデータ取得を更新することができる。これらの速度は非限定的であり、例えば、それぞれのセンサのデータ取得速度を反映することができる。よりきめの粗いデータは、よりきめの細かいデータよりも速い速度で取得することができ、更に、よりきめの細かいデータよりも速い速度で処理することもできることを認識することができる。上記で様々な計算モジュールによるデータ取得及び処理に対して特定の周波数値を開示したが、絶対周波数及びそれらの相対周波数のどちらもが限定的ではない。   It can be appreciated that each computing module can process data from one of each of the sensor systems. Accordingly, the IMU prediction module 122 generates a coarse map from the data derived from the IMU system 102, and the visual-inertial odometry module 126 processes the further refined data from the camera system 104 and performs scan matching refinement. The conversion module 132 processes the finest resolution data from the laser scanner 106 and the motor encoder 109. In addition, each of the finer resolution modules further processes the data provided by the coarser module. The visual-inertial odometry module 126 refines the mapping data calculated by and received from the IMU prediction module 122. Similarly, scan matching refinement module 132 further processes the data provided by visual-inertial odometry module 126. As disclosed above, each of the sensor systems acquires data at different rates. In one non-limiting example, IMU 102 can update data acquisition at a rate of about 200 Hz, camera 104 can update data acquisition at a rate of about 50 Hz, and laser scanner 106 can update data acquisition at a rate of about 5 Hz. Can update the data acquisition. These rates are non-limiting and can reflect, for example, the data acquisition rate of each sensor. It can be seen that coarser data can be obtained at a faster rate than finer grain data, and can also be processed at a faster rate than finer grain data. Although specific frequency values have been disclosed above for data acquisition and processing by various computing modules, neither absolute frequencies nor their relative frequencies are limiting.

マッピングデータ及び/又はナビゲーションデータは、粗レベルデータと微細レベルデータとを含むものと考えることもできる。従って、1次メモリ(動的メモリ120)内には、計算モジュール122、126、132のうちのいずれかがアクセス可能とすることができるボクセルマップ134内の粗な位置データを格納することができる。走査整合精緻化モジュール132が発生させることができる点クラウドデータ165としての詳細マップデータのファイルは、プロセッサ150を通じてハードディスク、フラッシュドライブ、又は他のより永続的なメモリのような2次メモリ160内に格納することができる。   The mapping data and / or navigation data may be considered to include coarse level data and fine level data. Therefore, in the primary memory (dynamic memory 120), coarse position data in the voxel map 134 that can be accessed by any of the calculation modules 122, 126, 132 can be stored. . A file of detailed map data as point cloud data 165 that the scan matching refinement module 132 can generate is stored in a secondary memory 160 such as a hard disk, flash drive, or other more permanent memory through the processor 150. Can be stored.

よりきめの細かい計算のための計算モジュールがよりきめの粗いデータを用いるだけではなく、視覚−慣性オドメトリモジュール126と走査整合精緻化モジュール132との両方(きめの細かい位置情報及びマッピング)は、そのより精緻化されたマッピングデータをIMU位置予測を更新するための土台としてそれぞれのフィードバック経路128及び138を通じてIMU予測モジュール122にフィードバックすることができる。この方式で、粗な位置データ及びマッピングデータを解像度において順番に精緻化することができ、精緻化された解像度のデータは、粗な解像度計算のためのフィードバックレファランスとしての役割を果たす。   Not only does the calculation module for finer grained calculations use coarser data, but also both the visual-inertial odometry module 126 and the scan matching refinement module 132 (fine grained location information and mapping) The more refined mapping data can be fed back to the IMU prediction module 122 through respective feedback paths 128 and 138 as a basis for updating the IMU location prediction. In this manner, coarse position data and mapping data can be refined in order in resolution, and the refined resolution data serves as a feedback reference for coarse resolution calculations.

図2は、3つの計算モジュール並びにそれぞれのデータ経路のブロック図である。IMU予測モジュール122は、IMU(図1の102)からIMU位置データ223を受信することができる。視覚−慣性オドメトリモジュール126は、モデルデータをIMU予測モジュール122から受信し、それに加えて1又は2以上の個別追跡視覚特徴部227a、227bからの視覚データをカメラ(図1の104)から受信することができる。レーザスキャナ(図1の106)は、視覚−慣性オドメトリモジュール126によって供給される位置データに加えて走査整合精緻化モジュール132に提供することができるレーザ決定ランドマーク233a、233bに関係するデータを発生させることができる。IMU予測モジュール122によって計算される位置モデルを精緻化するために、視覚−慣性オドメトリモジュール126からの位置推定モデルをフィードバックすることができる128。同様に、IMU予測モジュール122によって計算される位置モデルに追加の補正を施すために、走査整合精緻化モジュール132からの精緻化されたマップデータをフィードバックすることができる138。   FIG. 2 is a block diagram of the three calculation modules and their respective data paths. The IMU prediction module 122 may receive IMU location data 223 from the IMU (102 in FIG. 1). The visual-inertial odometry module 126 receives model data from the IMU prediction module 122, and additionally receives visual data from one or more individual tracking visual features 227a, 227b from the camera (104 in FIG. 1). be able to. The laser scanner (106 in FIG. 1) generates data relating to the laser decision landmarks 233a, 233b that can be provided to the scan matching refinement module 132 in addition to the position data provided by the visual-inertial odometry module 126. Can be done. The position estimation model from the visual-inertial odometry module 126 can be fed back 128 to refine the position model calculated by the IMU prediction module 122. Similarly, the refined map data from the scan matching refinement module 132 can be fed back 138 to make additional corrections to the position model calculated by the IMU prediction module 122.

図2に描いて上記で開示したように、モジュール化されたマッピングシステムは、運動関連データを粗から細の方式で順番に復元して精緻化することができる。上記に加えて、各モジュールのデータ処理は、データをモジュールに出力するデバイスの各々のデータ取得及び処理の速度によって決定される可能性がある。IMUからの運動予測から始めて、視覚−慣性緊密結合方法は、レーザ点を推定して局所的に位置合わせすることができる。続いて走査整合方法は、推定運動を更に精緻化する。走査整合精緻化モジュールは、マップを構築するために点クラウドを位置合わせすることもできる。その結果、マッピングシステムは、データが利用可能になるにつれて各精緻化過程を処理するように時間最適化される。   As disclosed above and depicted in FIG. 2, the modular mapping system can sequentially restore and refine motion related data in a coarse to fine manner. In addition to the above, the data processing of each module may be determined by the speed of data acquisition and processing of each of the devices that output data to the module. Starting from motion prediction from the IMU, the vision-inertial tight coupling method can estimate and locally align the laser points. Subsequently, the scan matching method further refines the estimated motion. The scan matching refinement module can also align the point cloud to build a map. As a result, the mapping system is time-optimized to process each refinement step as data becomes available.

図3は、図1に描いているものと同じタイプのセンサから導出されたデータに基づく標準カルマンフィルタモデルを例示している。図3に例示するように、カルマンフィルタモデルは、データの分解性能に関係なくセンサのうちのいずれかのものからのいずれかのデータの受信時に位置データ及び/又はマッピングデータを更新する。この場合、例えば、IMUデータに基づく位置情報推定の状態に関係なくそのようなデータが利用可能になる度に視覚−慣性オドメトリデータを用いて位置情報を更新することができる。従って、カルマンフィルタモデルは、各タイプの測定の相対解像度を利用しない。図3は、位置データを最適化するための標準カルマンフィルタベース方法のブロック図を描いている。カルマンフィルタは、データが与えられるにつれて位置モデル322a〜322nを順番に更新する。従って、初期位置予測モデル322aから始めて、カルマンフィルタは、後続の位置モデル322bを予測することができ324a、このモデルを受信IMU機械化データ323に基づいて精緻化することができる。位置予測モデルは、予測段階324aにおいてIMU機械化データ323に応じて更新することができ322b、この段階に個別視覚特徴部又はレーザランドマークがシードされる更新段階が続く。   FIG. 3 illustrates a standard Kalman filter model based on data derived from the same type of sensor depicted in FIG. As illustrated in FIG. 3, the Kalman filter model updates the position data and / or mapping data upon receipt of any data from any of the sensors, regardless of the resolution of the data. In this case, for example, the position information can be updated using the visual-inertial odometry data each time such data becomes available regardless of the state of the position information estimation based on the IMU data. Therefore, the Kalman filter model does not make use of the relative resolution of each type of measurement. FIG. 3 depicts a block diagram of a standard Kalman filter based method for optimizing position data. The Kalman filter sequentially updates the position models 322a to 322n as data is provided. Thus, starting from the initial position prediction model 322a, the Kalman filter can predict 324a a subsequent position model 322b, which can be refined based on the received IMU mechanized data 323. The position prediction model can be updated in response to the IMU mechanized data 323 in a prediction step 324a, 322b, followed by an update step in which individual visual features or laser landmarks are seeded.

図4は、因子グラフ方法に基づく位置最適化を描いている。この方法では、第1の時間410におけるモバイルマッピングシステムの姿勢は、データの受信後に第2の時間420における姿勢へと更新することができる。因子グラフ最適化モデルは、各精緻化計算中に全てのセンサからの制約を組み合わせる。この場合、IMUデータ323、特徴部データ327a、327b、及びカメラからの同様のもの、並びにレーザランドマークデータ333a、333bなどが全て各更新段階のために用いられる。そのような方法は、必要とされる大きいデータ量に起因して各位置精緻化段階に関する計算の複雑度を高めることが認められるであろう。更に、センサは桁で異なる可能性がある独立した速度でデータを提供する可能性があることから、全体の精緻化段階が、最も遅いセンサに対するデータ取得時間に時間的に拘束される。その結果、そのようなモデルは、高速な実時間マッピングには適さない可能性がある。図1及び図2に描いているモジュール化されたシステムは、粗から細の方式で運動を順番に復元する。この方式で、運動精緻化の度合いが、各タイプのデータの可用性によって決定される。   FIG. 4 depicts a location optimization based on the factor graph method. In this way, the attitude of the mobile mapping system at the first time 410 can be updated to the attitude at the second time 420 after receiving the data. The factor graph optimization model combines constraints from all sensors during each refinement calculation. In this case, the IMU data 323, feature data 327a, 327b, and similar from the camera, as well as laser landmark data 333a, 333b, etc., are all used for each update stage. It will be appreciated that such a method increases the computational complexity for each location refinement step due to the large amount of data required. Further, since the sensors may provide data at independent rates, which may vary by orders of magnitude, the entire refinement step is time-bound to the data acquisition time for the slowest sensor. As a result, such models may not be suitable for fast real-time mapping. The modularized system depicted in FIGS. 1 and 2 sequentially restores motion in a coarse-to-fine manner. In this way, the degree of motor refinement is determined by the availability of each type of data.

仮定、座標、及び問題
仮定及び座標系
Assumptions, coordinates, and problem assumptions and coordinate systems

上記で図1に描いたように、モバイルマッピングシステムのセンサシステムは、レーザ106とカメラ104とIMU102とを含むことができる。カメラは、内部パラメータが理解されているピンホールカメラモデルとしてモデル化することができる。3つのセンサの全ての間の外部パラメータを較正することができる。カメラとレーザとの間の相対姿勢及びレーザとIMUとの間の相対姿勢は、当業技術で公知の方法に従って決定することができる。カメラとレーザとに対して単一の座標系を用いることができる。一非限定例では、カメラ座標系を用いることができ、全てのレーザ点を予備処理においてカメラ座標系内に投影することができる。一非限定例では、IMU座標系をカメラ座標系と平行にすることができ、この場合IMU測定値を取得時に回転補正することができる。座標系は、以下のように定義することができる。
・カメラ座標系{C}はカメラの光学中心を原点とすることができ、この座標系ではx軸は左に向き、y軸は上に向き、z軸は、前を向いてカメラの主軸と一致し、
・IMU座標系{I}はIMU測定中心を原点とすることができ、この座標系ではx軸、y軸、及びz軸は{C}に対して平行であり、同じ方向に向き、かつ
・開始姿勢において世界座標系{W}は{C}と一致する座標系とすることができる。
As depicted above in FIG. 1, the sensor system of the mobile mapping system can include a laser 106, a camera 104, and an IMU 102. The camera can be modeled as a pinhole camera model whose internal parameters are understood. External parameters between all three sensors can be calibrated. The relative attitude between the camera and the laser and the relative attitude between the laser and the IMU can be determined according to methods known in the art. A single coordinate system can be used for the camera and laser. In one non-limiting example, a camera coordinate system can be used, and all laser points can be projected into the camera coordinate system in pre-processing. In one non-limiting example, the IMU coordinate system can be parallel to the camera coordinate system, where the IMU measurements can be rotationally corrected when acquired. The coordinate system can be defined as follows.
The camera coordinate system {C} can have the origin at the optical center of the camera. In this coordinate system, the x-axis points to the left, the y-axis points upward, and the z-axis points forward and Matches,
The IMU coordinate system {I} can have the origin at the IMU measurement center, in which the x-axis, y-axis, and z-axis are parallel to {C} and oriented in the same direction; In the starting posture, the world coordinate system {W} may be a coordinate system that matches {C}.

一部の例示的実施形態により、ランドマーク位置は必ずしも最適化されるとは限らない。その結果、状態空間において6つの未知数が残り、従って、計算強度が低く保たれる。本発明の開示の方法は、特徴部に精確な深度情報を与えて運動推定精度を保証し、その一方で特徴部の深度をまとめて更に最適化するためにレーザ距離測定を含む。ある一定の状況では更に別の最適化が戻り値の減少を生じる可能性があることからこれらの測定値の何らかの部分しか最適化する必要はない。   According to some exemplary embodiments, landmark locations are not always optimized. As a result, six unknowns remain in the state space, and thus the computational strength is kept low. The disclosed method of the present invention includes laser distance measurement to provide accurate depth information for features to ensure motion estimation accuracy, while collectively further optimizing feature depth. Only certain portions of these measurements need to be optimized, as in certain circumstances further optimizations may result in reduced return values.

例示的かつ非限定的実施形態により、本説明のシステムの較正は、少なくとも部分的にシステムの機械的な幾何学形状に基づくものとすることができる。特に、ライダーとモータシャフトとの間の幾何学的関係に関してシステムのCADモデルからの機械的測定値を用いてライダーをモータシャフトと相対的に較正することができる。CADモデルに関連して取得されるそのような較正は、高い精度と、追加の較正を実施する必要のないドリフトとを与えることが示されている。   According to exemplary and non-limiting embodiments, calibration of the described system can be based, at least in part, on the mechanical geometry of the system. In particular, the rider can be calibrated relative to the motor shaft using mechanical measurements from the CAD model of the system with respect to the geometric relationship between the rider and the motor shaft. Such calibrations obtained in connection with a CAD model have been shown to provide high accuracy and drift without having to perform additional calibrations.

MAP推定問題
状態推定問題を最大事後確率(MAP)推定問題として定式化することができる。システム状態セットとしてχ={xi}(i∈{1;2;…,m})を定義し、制御入力セットとしてU={ui}(i∈{1;2;…,m})を定義し、ランドマーク測定値セットとしてZ={zk}(k∈{1;2;…,n})を定義することができる。本提案のシステムが与えられる時に、Zは、視覚特徴部とレーザランドマークとの両方で構成することができる。システムの同時確率が次式のように定義される。
式(1)

Figure 2020507072
MAP Estimation Problem The state estimation problem can be formulated as a maximum posterior probability (MAP) estimation problem. Define} = {x i } ( iセ ッ ト 1; 2;..., M}) as a system state set, and U = {u i } (i∈ {1; 2;. , And Z = {z k } ( k {1; 2;..., N}) can be defined as a landmark measurement value set. Given the proposed system, Z can consist of both visual features and laser landmarks. The joint probability of the system is defined as:
Equation (1)
Figure 2020507072

前式中のP(x0)は第1のシステム状態の先行状態であり、P(xi|xi-1),ui)は運動モデルを表し、P(zk|xik)はランドマーク測定モデルを表す。式(1)として定式化された各問題に対して、当該問題の対応するベイズネットワーク表現が存在する。MAP推定は、式1を最大化することである。ゼロの平均ガウスノイズという仮定の下では、この問題は最小二乗問題と等価である。
式(2)

Figure 2020507072
Before P (x 0) in the formula is a preceding state of the first system state, P (x i | x i -1), u i) represents a motion model, P (z k | x ik ) is Represents a landmark measurement model. For each problem formulated as equation (1), there is a corresponding Bayesian network representation of the problem. MAP estimation is to maximize Equation 1. Under the assumption of zero mean Gaussian noise, this problem is equivalent to the least squares problem.
Equation (2)
Figure 2020507072

前式中のrxi及びrzkは、数学モデル及びランドマーク測定モデルそれぞれに関連付けられた残余誤差である。 R xi and r zk in the above equation are the residual errors associated with the mathematical model and the landmark measurement model, respectively.

式2を解く標準的な手法は、全てのセンサデータ、例えば、視覚特徴部、レーザランドマーク、及びIMU測定値を大きい因子グラフ最適化問題へと結合することである。それとは逆に、本提案のデータ処理パイプラインは、複数の小さい最適化問題を定式化し、これらの問題を粗から細の方式で解く。最適化問題は、以下のように言い換えることができる:
問題:レーザ、カメラ、及びIMUからのデータを所与として、{W}に対する{C}の姿勢を決定するために問題を式(2)として定式化して解き、続いて推定姿勢を用いてレーザ点を位置合わせし、移動環境のマップを{W}で構築する。
The standard approach to solving Equation 2 is to combine all sensor data, eg, visual features, laser landmarks, and IMU measurements, into a large factor graph optimization problem. Conversely, the proposed data processing pipeline formulates a number of small optimization problems and solves these problems in a coarse to fine manner. The optimization problem can be paraphrased as follows:
Problem: Given data from the laser, camera, and IMU, formulate and solve the problem as equation (2) to determine the attitude of {C} relative to {W}, and then use the estimated attitude to solve the laser. Align the points and build a map of the mobile environment with {W}.

IMU予測サブシステム
IMU機械化
この小節は、IMU予測サブシステムを説明する。システムは{C}を基本センサ座標系と見なすことから、IMUを{C}に対して特徴付けることができる。上記で「仮定及び座標系」という名称の小節で開示したように、{I}と{C}は平行な座標系である。ω(t)及びa(t)は、時間tにおける{C}の角速度及び加速度それぞれを示す2つの3×1ベクトルである。対応するバイアスをbω(t)及びba(t)と表記し、nω(t)及びna(t)を対応するノイズとすることができる。ベクトル、バイアス、及びノイズの項を{C}で定義する。それに加えて、gは、{W}における一定の重力ベクトルと表記することができる。IMU測定項は以下に続く式となる。
式(3)

Figure 2020507072

式(4)
Figure 2020507072

式中の
Figure 2020507072

は、{W}から{C}への回転行列であり、
Figure 2020507072

は、{C}と{I}との間の平行移動ベクトルである。 IMU Prediction Subsystem IMU Mechanization This subsection describes the IMU prediction subsystem. Since the system considers {C} as the basic sensor coordinate system, the IMU can be characterized for {C}. As disclosed above in the subsection entitled "Assumptions and Coordinate Systems", {I} and {C} are parallel coordinate systems. ω (t) and a (t) are two 3 × 1 vectors indicating the angular velocity and acceleration of {C} at time t, respectively. Expressed the corresponding bias b omega and (t) and b a (t), n ω (t) and n a (t) can be a corresponding noise. The terms of vector, bias, and noise are defined by {C}. In addition, g can be described as a constant gravity vector at {W}. The IMU measurement term is:
Equation (3)
Figure 2020507072

Equation (4)
Figure 2020507072

In the formula
Figure 2020507072

Is the rotation matrix from {W} to {C},
Figure 2020507072

Is the translation vector between {C} and {I}.

項:

Figure 2020507072

は、回転中心({C}の原点)が{I}の原点と異なることに起因する遠心力を表すことに注意されたい。視覚−慣性ナビゲーション方法の一部の例は、この遠心力項を排除するために運動を{I}においてモデル化する。深度情報が既知の視覚特徴部と未知の視覚特徴部との両方を用いる本明細書に開示する計算方法では、深度が未知の特徴部を{C}から{I}へと変換する段階は容易ではない(下記を参照されたい)。その結果、本明細書に開示するシステムは、代わりに運動の全てを{C}においてモデル化する。実際には、この項の効果を最大限に低減するためにカメラとIMUとが互いの近くに装着される。 Terms:
Figure 2020507072

Note that represents the centrifugal force due to the center of rotation (the origin of {C}) being different from the origin of {I}. Some examples of visual-inertial navigation methods model motion in {I} to eliminate this centrifugal term. In the calculation method disclosed herein using both known and unknown visual features with depth information, the step of converting unknown depth features from {C} to {I} is easy. Not (see below). As a result, the system disclosed herein instead models all of the motion in {C}. In practice, the camera and IMU are mounted close to each other to minimize the effect of this term.

IMUバイアスは、緩慢に変化する変量とすることができる。その結果、運動積分のための直近に更新されたバイアスが用いられる。最初に式3が時間積分される。続いて、結果として得られた方位を式4と共に時間積分のために2回用いて加速度データから平行移動が得られる。   The IMU bias can be a slowly changing variable. As a result, the most recently updated bias for the motion integral is used. First, Equation 3 is integrated over time. Subsequently, a translation is obtained from the acceleration data using the resulting orientation twice with time for the time integration with Equation 4.

バイアス補正
IMUバイアス補正は、カメラ又はレーザのいずれかからのフィードバック(図1及び図2の128、138をそれぞれ参照されたい)によって加えることができる。各フィードバック項は、短い時間量にわたる推定区分的運動を含む。これらのバイアスは、区分的運動中に一定であるようにモデル化することができる。式3から始めて、推定方位をIMU積分と比較することによってbω(t)を計算することができる。更新されたbω(t)を更に1回の積分において用いて平行移動を再計算し、それを推定平行移動と比較してba(t)が計算される。
Bias Correction IMU bias correction can be applied by feedback from either the camera or laser (see 128, 138 in FIGS. 1 and 2, respectively). Each feedback term includes estimated piecewise motion over a short amount of time. These biases can be modeled to be constant during piecewise movement. Starting from Equation 3, b ω (t) can be calculated by comparing the estimated orientation to the IMU integral. The updated b ω (t) is used in one more integration to recalculate the translation and compare it to the estimated translation to calculate b a (t).

高周波ノイズの効果を低減するために、既知のバイアス個数を保ちながらスライドウィンドウが用いられる。スライドウィンドウ内で用いられるバイアスの個数の非限定例は、200から1000を含むことができ、200HzのIMU速度に基づく推奨バイアス個数は400である。100HzのIMU速度の場合のスライドウィンドウ内のバイアスの個数の非限定例は、100から500であり、典型的なバイアスの個数値は200である。スライドウィンドウからの平均個数のバイアスが用いられる。この実施では、スライドウィンドウの長さが、バイアスの更新速度を決定するためのパラメータとして機能する。当業技術ではバイアスをモデル化する代替方法が公知であるが、IMU処理モジュールを別個の明確に異なるモジュールとして保つために本発明の開示の実施が用いられる。スライドウィンドウ方法は、システムの動的な再構成を可能にすることもできる。この方式で、IMUは、必要に応じてカメラ又はレーザのいずれか又はカメラとレーザの両方と結合することができる。例えば、カメラが機能しない時に、代わりにレーザのみによってIMUバイアスを補正することができる。   To reduce the effects of high frequency noise, a sliding window is used while maintaining a known number of biases. Non-limiting examples of the number of biases used in a sliding window can include 200 to 1000, with a recommended number of biases based on an IMU rate of 200 Hz being 400. A non-limiting example of the number of biases in the sliding window for an IMU rate of 100 Hz is 100 to 500, with a typical bias number value of 200. The average number of biases from the sliding window is used. In this implementation, the length of the sliding window functions as a parameter to determine the bias update rate. Although alternative methods of modeling bias are known in the art, implementations of the present disclosure are used to keep the IMU processing module as a separate and distinct module. The sliding window method may also allow for dynamic reconfiguration of the system. In this manner, the IMU can be coupled with either a camera or a laser or both a camera and a laser as needed. For example, when the camera does not function, the IMU bias can be corrected with the laser alone instead.

高周波ノイズの効果を低減するために、ある一定個数のバイアスを保ちながらスライドウィンドウを用いることができる。そのような事例では、スライドウィンドウからの平均個数のバイアスを用いることができる。そのような実施では、スライドウィンドウの長さが、バイアスの更新速度を決定するパラメータとして機能する。一部の事例では、バイアスは、ランダムウォークとしてモデル化し、最適化処理によってバイアスを更新することができる。しかし、IMU処理を別個のモジュール内に保つためには非標準的な実施が好ましい。この実施は、システムの動的な再構成に有利に働き、すなわち、IMUをカメラ又はレーザのどちらと結合することもできる。カメラが機能しない時に、代わりにレーザによってIMUバイアスを補正することができる。説明したように、IMUバイアスを固定するために、順次的モジュール化システム内のモジュール間通信が利用される。この通信は、IMUバイアスを補正することを可能にする。   To reduce the effects of high frequency noise, a sliding window can be used while maintaining a certain number of biases. In such cases, the average number of biases from the sliding window can be used. In such an implementation, the length of the sliding window functions as a parameter that determines the rate at which the bias is updated. In some cases, the bias can be modeled as a random walk and the bias updated by the optimization process. However, a non-standard implementation is preferred to keep the IMU processing in a separate module. This implementation favors dynamic reconfiguration of the system, ie, the IMU can be coupled to either a camera or a laser. When the camera does not function, the IMU bias can be corrected by the laser instead. As described, inter-module communication within a sequential modular system is used to fix the IMU bias. This communication allows to correct the IMU bias.

例示的かつ非限定的実施形態により、IMUバイアス補正は、カメラ又はレーザのいずれかからのフィードバックを利用することによって行うことができる。カメラ及びレーザの各々は、短い時間量にわたる推定区分的運動を含む。バイアスを計算する時に、本明細書で説明する方法及びシステムは、区分的運動中に構築すべきバイアスをモデル化する。更に式3から始めて、推定方位をIMU積分と比較することによって本明細書で説明する方法及びシステムはbω(t)を計算することができる。更新されたbω(t)を更に1回の積分において用いて平行移動を再計算し、それを推定平行移動と比較してba(t)が計算される。 According to exemplary and non-limiting embodiments, IMU bias correction can be performed by utilizing feedback from either a camera or a laser. Each of the camera and laser includes estimated piecewise motion over a short amount of time. When calculating the bias, the methods and systems described herein model the bias to build during a piecewise motion. Starting with Equation 3, the method and system described herein can calculate b ω (t) by comparing the estimated orientation to the IMU integral. The updated b ω (t) is used in one more integration to recalculate the translation and compare it to the estimated translation to calculate b a (t).

一部の実施形態では、IMU出力は、経時的に比較的定常的な誤差を有する角速度を含む。結果として生じるIMUバイアスは、IMUがグラウンド真実からの何らかの差を常に有することになるという事実に関連している。このバイアスは経時的に変化する可能性がある。このバイアスは比較的定常的であり、高周波のものではない。上記で説明したスライドウィンドウは、IMUデータを評価中の指定期間である。   In some embodiments, the IMU output includes an angular velocity that has a relatively constant error over time. The resulting IMU bias is related to the fact that the IMU will always have some difference from the ground truth. This bias can change over time. This bias is relatively stationary and not high frequency. The slide window described above is a designated period during which the IMU data is being evaluated.

図5を参照すると、視覚−慣性オドメトリサブシステムのシステム図が提示されている。本方法は、視覚をIMUと結合する。視覚とIMUの両方が、区分的運動を推定する最適化問題に制約を与える。それと同時に、本方法は、深度情報を視覚特徴部に関連付ける。特徴部が、レーザ距離測定値が取得可能な区域内に位置する時に、深度をレーザ点から取得することができる。そうでなければ、深度は、それまでの推定運動シーケンスを用いた三角測位から計算することができる。最後のオプションとして、本方法は、制約を異なる手法で定式化することによっていずれの深度も既知ではない特徴部を用いることもできる。このことは、必ずしもレーザ距離カバレージを有するとは限らない可能性がある特徴部、又は必ずしも十分に長く追跡されるとは限らない又はカメラ運動方向に位置していないことに起因して三角測位することができない特徴部に当て嵌まる。これら3つの代替形態は、位置合わせされた点クラウドを構築するために単独又は組み合わせで用いることができる。一部の実施形態では、情報は破棄される。点クラウド内の劣化を識別及び指定するために、固有値及び固有ベクトルを計算して用いることができる。状態空間内で特定の方向に劣化が存在する時に、この状態空間内のこの方向の解を破棄することができる。   Referring to FIG. 5, a system diagram of the visual-inertial odometry subsystem is presented. The method combines vision with an IMU. Both vision and the IMU constrain the optimization problem of estimating piecewise motion. At the same time, the method associates depth information with visual features. Depth can be obtained from the laser point when the feature is located in an area where laser distance measurements can be obtained. Otherwise, depth can be calculated from triangulation using the previous estimated motion sequence. As a final option, the method may use features for which no depth is known by formulating the constraints in a different manner. This may be due to features that may not always have laser distance coverage, or triangulation due to not always being tracked long enough or being located in the camera motion direction Fits features that cannot. These three alternatives can be used alone or in combination to construct an aligned point cloud. In some embodiments, the information is discarded. Eigenvalues and eigenvectors can be calculated and used to identify and specify degradation in the point cloud. When degradation exists in a particular direction in the state space, the solution in this direction in this state space can be discarded.

視覚−慣性オドメトリサブシステム
視覚−慣性オドメトリサブシステムのブロックシステム図を図5に描いている。最適化モジュール510は、IMU予測モジュール520からの姿勢制約512を運動推定550のための深度情報を有する又は欠く光学特徴部データに基づくカメラ制約515と共に用いる。深度マップ位置合わせモジュール545は、追跡されるカメラ特徴部530と、レーザ点540から取得された深度情報との位置合わせ及び深度関連付けを含むことができる。深度マップ位置合わせモジュール545は、前回の計算から取得された運動推定550を組み込むこともできる。本方法は、視覚をIMUと緊密に結合する。これらの各々は、区分的運動550を推定する最適化モジュール510に制約512、515をそれぞれ与える。それと同時に、本方法は、深度マップ位置合わせモジュール545の一部として深度情報を視覚特徴部に関連付ける。特徴部が、レーザ距離測定値が取得可能である区域内に位置している時に、深度はレーザ点から取得される。そうでなければ、深度は、それまでの推定運動シーケンスを用いた三角測位から計算される。最後のオプションとして、本方法は、制約を異なる手法で定式化することによっていずれの深度も既知ではない特徴部を用いることもできる。このことは、レーザ距離カバレージを持たない特徴部、又は十分に長く追跡されない又はカメラ運動方向に位置していないことに起因して三角測位することができない特徴部に当て嵌まる。
Visual-Inertial Odometry Subsystem A block system diagram of the visual-inertial odometry subsystem is depicted in FIG. The optimization module 510 uses the pose constraints 512 from the IMU prediction module 520 with camera constraints 515 based on optical feature data with or without depth information for motion estimation 550. Depth map alignment module 545 may include alignment and depth association of tracked camera features 530 with depth information obtained from laser points 540. The depth map alignment module 545 may also incorporate the motion estimation 550 obtained from previous calculations. The method couples vision closely with the IMU. Each of these places constraints 512, 515 on the optimization module 510 that estimates the piecewise motion 550, respectively. At the same time, the method associates depth information with visual features as part of depth map registration module 545. Depth is obtained from the laser point when the feature is located in an area where laser distance measurements can be obtained. Otherwise, the depth is calculated from triangulation using the previous estimated motion sequence. As a final option, the method may use features for which no depth is known by formulating the constraints in a different manner. This is the case for features that do not have laser range coverage or that cannot be tracked long enough or cannot be triangulated due to not being located in the direction of camera movement.

カメラ制約
視覚−慣性オドメトリはキー−フレームベースの方法である。ある一定の個数の特徴部を見失った場合又は画像重畳がある一定の比を下回った場合に、新しいキー−フレームが決定される535。この場合、右上付き文字l(l∈Z+)が最後のキー−フレームを示すことができ、c(c∈Z+)及びc>kが現在フレームを示すことができる。上記で開示したように、本方法は、深度が既知の特徴部と未知の特徴部とを組み合わせる。キー−フレームlにおける深度が関連付けられた特徴部は、{Cl}においてXl=[xl,yl,zlTと表記することができる。相応に、深度が未知の特徴部は、代わりに正規化座標を用いて

Figure 2020507072

と表記する。
Figure 2020507072

は、システム状態を表す式1内の
Figure 2020507072

及びxとは異なることに注意されたい。2つの理由、すなわち、1)深度関連付けがある程度の処理量を要し、深度関連付けをキー−フレームのみにおいて計算することによって計算強度を低減することができること、及び2)深度マップはフレームcにおいて取得可能ではない可能性があり、位置合わせは既存の深度マップに依存することからレーザ点を位置合わせすることができない可能性があることからキー−フレームにおける特徴部を深度に関連付けることができる。{Cc}における正規化特徴部は、
Figure 2020507072
と表記する。 Camera Constrained Vision-Inertial Odometry is a key-frame based method. A new key-frame is determined 535 if a certain number of features are missing or if the image overlap falls below a certain ratio. In this case, the upper right letter l (l∈Z + ) can indicate the last key-frame, and c (c∈Z + ) and c> k can indicate the current frame. As disclosed above, the method combines features with known depth and features with unknown depth. Depth-associated features in key-frame l can be denoted as Xl = [ xl , yl , zl ] T in { Cl }. Correspondingly, features with unknown depth can be replaced using normalized coordinates.
Figure 2020507072

Notation.
Figure 2020507072

Is the expression in the expression 1 representing the system state.
Figure 2020507072

And x. There are two reasons: 1) depth association requires a certain amount of processing and the computational intensity can be reduced by calculating the depth association only in key-frames, and 2) depth map is acquired in frame c The features in the key-frame may be associated with depth, as it may not be possible and the laser point may not be able to be aligned because the alignment depends on existing depth maps. The normalized feature in {C c } is
Figure 2020507072
Notation.

Figure 2020507072

及び
Figure 2020507072

は、3×3の回転行列及び3×1の平行移動ベクトルとし、この場合
Figure 2020507072

∈SO(3)及び
Figure 2020507072


Figure 2020507072

が成り立ち、
Figure 2020507072

及び
Figure 2020507072

はSE(3)変換を形成する。フレームlとcの間の運動関数を次式のように書くことができる。
式(5)
Figure 2020507072
Figure 2020507072

as well as
Figure 2020507072

Is a 3 × 3 rotation matrix and a 3 × 1 translation vector. In this case,
Figure 2020507072

∈SO (3) and
Figure 2020507072


Figure 2020507072

Holds,
Figure 2020507072

as well as
Figure 2020507072

Form the SE (3) transform. The motion function between frames l and c can be written as:
Equation (5)
Figure 2020507072

cは未知深度を有する。dcを深度とすると、

Figure 2020507072
が成り立つ。
Figure 2020507072
を代入し、式5内の1番目及び2番目の行を3番目の行と組み合わせてdcを排除すると以下に続く式を生じる。
式(6)
Figure 2020507072

式(7)
Figure 2020507072
Xc has an unknown depth. When a d c and depth,
Figure 2020507072
Holds.
Figure 2020507072
Substituting, it produces an expression that follows and to eliminate the d c in combination with the third row of the first and the second row in the equation 5.
Equation (6)
Figure 2020507072

Equation (7)
Figure 2020507072

R(h)及びt(h)(h∈{1,2,3})は、

Figure 2020507072

及び
Figure 2020507072

のh番目の行である。特徴部に対して深度が取得不能である時に、dlをキー−フレームlにおける未知深度とする。Xl及びXcにそれぞれdk
Figure 2020507072

及びdc
Figure 2020507072

を代入し、式5内の3つ全ての行を組み合わせてdk及びdcを排除し、別の制約を生じる。
式(8)
Figure 2020507072
R (h) and t (h) (h {1,2,3}) are
Figure 2020507072

as well as
Figure 2020507072

Is the h-th row. When the depth is impossible obtained for features, the d l keys - the unknown depth of the frame l. D k for X l and X c respectively
Figure 2020507072

And d c
Figure 2020507072

, And combining all three rows in Equation 5 eliminates d k and d c , creating another constraint.
Equation (8)
Figure 2020507072

運動推定
運動推定処理510には、1)式6〜7内にあるもののような既知の深度を有する特徴部からのもの、2)式8内にあるもののような未知深度を有する特徴部からのもの、及び3)IMU予測520からのものという3つの制約セットを組み合わせる最適化問題を解くことが必要とされる。

Figure 2020507072

をフレームaとbとの間の次式の4×4の変換行列として定義することができる。
式(9)
Figure 2020507072
The motion estimation motion estimation process 510 includes: 1) from features with a known depth, such as those in Equations 6-7, and 2) from features with an unknown depth, such as those in Equation 8. And 3) it is necessary to solve an optimization problem that combines three sets of constraints: those from IMU prediction 520.
Figure 2020507072

Can be defined as the 4 × 4 transformation matrix between frames a and b:
Equation (9)
Figure 2020507072


Figure 2020507072

及び
Figure 2020507072

は、対応する回転行列及び平行移動ベクトルである。更に
Figure 2020507072

は、指数マッピングを通じて
Figure 2020507072

に対応する3×1のベクトルとし、この場合、
Figure 2020507072

∈so(3)が成り立つ。正規化項θ/||θ||は、回転の方向を表し、||θ||は回転角である。各
Figure 2020507072

は、カメラの6DOF運動を含む
Figure 2020507072


Figure 2020507072

とのセットに対応する。
Figure 2020507072

as well as
Figure 2020507072

Is the corresponding rotation matrix and translation vector. Further
Figure 2020507072

Is through exponential mapping
Figure 2020507072

And a 3 × 1 vector corresponding to
Figure 2020507072

∈so (3) holds. The normalization term θ / || θ || represents the direction of rotation, and || θ || is the rotation angle. each
Figure 2020507072

Includes the 6DOF motion of the camera
Figure 2020507072

When
Figure 2020507072

Corresponding to the set.

求められたフレーム1とc−1との間の運動変換、すなわち、

Figure 2020507072

を用いてIMU姿勢制約を定式化することができる。
Figure 2020507072

で表記する最後の2つのフレームc−1とcの間の予測変換は、IMU機械化から取得することができる。フレームcにおける予測変換は次式のように計算される。
式(10)
Figure 2020507072
The motion transformation between the determined frame 1 and c-1;
Figure 2020507072

Can be used to formulate the IMU attitude constraint.
Figure 2020507072

The predictive transformation between the last two frames c-1 and c, denoted by, can be obtained from IMU mechanization. The predictive transform in frame c is calculated as follows.
Equation (10)
Figure 2020507072


Figure 2020507072

及び
Figure 2020507072


Figure 2020507072

に対応する6DOF運動とする。IMU予測平行移動
Figure 2020507072

は、方位に依存することが認められるであろう。例として、方位は、式(4)内の回転行列
Figure 2020507072

を通じての重力ベクトルの投影、従って、積分される加速度を決定することができる。
Figure 2020507072

は、
Figure 2020507072

の関数として定式化することができ、
Figure 2020507072

としてIMU予測モジュール122(図1及び図2)によって供給される200Hzの姿勢、並びに視覚−慣性オドメトリモジュール126(図1及び図2)によって供給される50Hzの姿勢は両方共に姿勢関数であることが認められるであろう。
Figure 2020507072

を計算する段階は、フレームcにおいて開始することができ、加速度は、時間に関して逆に積分することができる。
Figure 2020507072

は、式(5)内にある
Figure 2020507072

に対応する回転ベクトルとし、
Figure 2020507072

及び
Figure 2020507072

が求めるべき運動である。制約は、次式のように表すことができる。
式(11)
Figure 2020507072

式中の
Figure 2020507072

は、適切にカメラ制約に対して姿勢制約をスケール調整する相対共分散行列である。
Figure 2020507072

as well as
Figure 2020507072

To
Figure 2020507072

6DOF motion corresponding to. IMU prediction translation
Figure 2020507072

Will be dependent on the orientation. As an example, the bearing is the rotation matrix in equation (4)
Figure 2020507072

Of the gravitational vector through and thus the acceleration to be integrated can be determined.
Figure 2020507072

Is
Figure 2020507072

Can be formulated as a function of
Figure 2020507072

The 200 Hz pose provided by the IMU prediction module 122 (FIGS. 1 and 2) and the 50 Hz pose provided by the visual-inertial odometry module 126 (FIGS. 1 and 2) may both be pose functions. Will be recognized.
Figure 2020507072

Can start at frame c, and the acceleration can be integrated inversely with respect to time.
Figure 2020507072

Is in equation (5)
Figure 2020507072

And the rotation vector corresponding to
Figure 2020507072

as well as
Figure 2020507072

Is a movement that should be sought. The constraint can be expressed as:
Equation (11)
Figure 2020507072

In the formula
Figure 2020507072

Is a relative covariance matrix for appropriately scaling the pose constraint with respect to the camera constraint.

視覚−慣性オドメトリサブシステムの実施形態では、姿勢制約は運動モデルを満たし、カメラ制約は式(2)におけるランドマーク測定モデルを満たす。最適化問題は、外れ特徴部の除去のためのロバストな当て嵌めフレームワークに適応されたニュートン勾配降下法を用いることによって解くことができる。この問題では、状態空間は、

Figure 2020507072

及び
Figure 2020507072

を含む。従って、フルスケールMAP推定は実施されず、周囲問題を解くためにのみ用いられる。ランドマーク位置は最適化されず、従って、状態空間内では6つの未知数しか用いられず、それによって計算強度が低く保たれる。従って、本方法は、特徴部に精確な深度情報を与えて運動推定精度を保証するためのレーザ距離測定を含む。その結果、一括調節によって特徴部の深度の更に別の最適化を不要とすることができる。 In an embodiment of the visual-inertial odometry subsystem, the pose constraint satisfies the motion model and the camera constraint satisfies the landmark measurement model in equation (2). The optimization problem can be solved by using Newton's gradient descent method adapted to a robust fitting framework for the removal of outliers. In this problem, the state space is
Figure 2020507072

as well as
Figure 2020507072

including. Therefore, full-scale MAP estimation is not performed and is only used to solve the surrounding problem. The landmark positions are not optimized, so only six unknowns are used in the state space, thereby keeping the computational strength low. Accordingly, the method includes laser ranging to provide accurate depth information for the features to ensure motion estimation accuracy. As a result, further optimization of the depth of the feature can be made unnecessary by the collective adjustment.

深度関連付け
深度マップ位置合わせモジュール545は、前回推定された運動を用いてレーザ点を深度マップに対して位置合わせする。カメラ視野の内部にあるレーザ点540は、ある一定量の時間にわたって保たれる。深度マップは、一定の密度を保つようにダウンサンプリングされて高速指標付けのための2DのKD木内に格納される。KD木内では、全てのレーザ点は、カメラ中心の周囲の単位球面上に投影される。点は、2つの角座標によって表される。深度を特徴部に関連付ける時に特徴部をこの球面上に投影することができる。各特徴部に関して3つのレーザ点がこの球面上で求められる。この場合、これらの点の妥当性は、直交座標空間内でのこれら3つの点の間の距離を計算することによるものとすることができる。距離が閾値よりも大きい時に、点が異なる物体、例えば壁及びその手前にある物体からのものである可能性が高く、妥当性検査は失敗する。最後に、直交座標空間内における局所平面パッチを仮定して深度が3つの点から内挿される。
Depth-associated depth map alignment module 545 aligns the laser point with the depth map using previously estimated motion. The laser point 540 inside the camera field of view is kept for a certain amount of time. The depth map is downsampled to maintain a constant density and stored in a 2D KD tree for fast indexing. In the KD tree, all laser points are projected onto a unit sphere around the camera center. A point is represented by two corner coordinates. Features can be projected onto this sphere when associating depth with features. Three laser points are determined on this sphere for each feature. In this case, the validity of these points may be by calculating the distance between these three points in the Cartesian space. When the distance is greater than the threshold, the point is likely to be from a different object, for example, a wall and an object in front of it, and the validation fails. Finally, the depth is interpolated from the three points, assuming a local planar patch in Cartesian space.

レーザ距離カバレージを持たない特徴部は、それがある一定の距離にわたって追跡されてカメラ運動方向に位置していなかった時に、これらの特徴部が追跡される画像シーケンスを用いて三角測位することができる。そのような手順では、各フレームにおいてベイズ確率モードに基づいて深度を更新することができる。   Features without laser range coverage can be triangulated using the image sequence in which these features are tracked when they have been tracked over a certain distance and not located in the direction of camera movement. . In such a procedure, the depth can be updated in each frame based on the Bayesian probability mode.

走査整合サブシステム
このサブシステムは、レーザ走査整合によって先行モジュールからの運動推定を更に精緻化する。図6は、走査整合サブシステムのブロック図を描いている。サブシステムは、局所点クラウド内にあるレーザ点540を受信し、供給されたオドメトリ推定550を用いてこれらの点を位置合わせする。続いて点クラウドから幾何学的特徴部が検出され640、マップに対して整合される。走査整合は、当業技術で公知の多くの方法と同様に特徴部からマップまでの距離を最小化する。しかしオドメトリ推定550は、最適化610において更に姿勢制約612を与える。最適化は、求められた特徴部対応部615に対して姿勢制約を処理する段階を含み、この特徴部対応部615はレーザ制約617を用いて更に処理されてデバイス姿勢650が生成される。この姿勢650はマップ位置合わせ処理655によって処理され、それによって特徴部対応部615を求めるのが容易になる。この実施は、マップのボクセル表現を用いる。更にこの実施は、1個から複数個のCPUスレッド上で並列に実行されるように動的に構成することができる。
Scan Matching Subsystem This subsystem further refines motion estimation from previous modules by laser scan matching. FIG. 6 depicts a block diagram of the scan matching subsystem. The subsystem receives the laser points 540 that are in the local point cloud and aligns these points using the supplied odometry estimate 550. Subsequently, geometric features from the point cloud are detected 640 and matched to the map. Scan matching minimizes the distance from the feature to the map, as well as many methods known in the art. However, odometry estimation 550 also provides pose constraints 612 in optimization 610. The optimization includes processing a pose constraint on the determined feature correspondence 615, which is further processed using a laser constraint 617 to generate a device pose 650. This attitude 650 is processed by the map alignment processing 655, which makes it easier to find the feature corresponding part 615. This implementation uses a voxel representation of the map. Further, the implementation can be dynamically configured to execute in parallel on one or more CPU threads.

レーザ制約
レーザ走査を受信すると、本方法は、最初に走査620からの点を共通座標系内に位置合わせする。走査番号を示すためにm(m∈Z+)を用いることができる。カメラとレーザの両方に対してカメラ座標系を用いることができることを理解されたい。走査mは、{Cm}と表記する走査の始端のカメラ座標系に関連付けることができる。レーザ点540を局所的に位置合わせする620ために、視覚−慣性オドメトリからのオドメトリ推定550を主要点として採用することができ、IMU測定値を用いて主要点の間を内挿することができる。
Upon receiving a laser constrained laser scan, the method first aligns points from scan 620 in a common coordinate system. M (m∈Z + ) can be used to indicate the scan number. It should be understood that a camera coordinate system can be used for both the camera and the laser. Scan m can be associated with the camera coordinate system at the beginning of the scan, denoted as {C m }. To locally align 620 the laser points 540, odometry estimates 550 from visual-inertial odometry can be taken as key points and IMU measurements can be used to interpolate between key points. .

mを走査mからの局所位置合わせ点クラウドとする。Pmから2つの幾何学的特徴部セット、すなわち、鋭角縁部上にある一方のもの、言い換えればεmと表記する縁点と、局所平面上にあるもう一方のもの、言い換えればHmと表記する平面点とを抽出することができる。この抽出は、局所走査における曲率の計算によるものである。遮蔽領域の境界上にある点、及びレーザビームに対してほぼ平行な局所面を有する点のような既に選択済みの隣接点を有する点は採用されない。これらの点は、大きいノイズを含む又はセンサが移動する時に経時的に位置を変化させる可能性が高い。 Let P m be the local registration point cloud from scan m. From P m , two sets of geometric features, one on the sharp edge, in other words the edge denoted as ε m, and the other on the local plane, in other words H m The plane points to be described can be extracted. This extraction is based on the calculation of the curvature in the local scan. Points that have already selected neighbors, such as points that are on the boundary of the occluded area and that have local planes that are substantially parallel to the laser beam, are not employed. These points are likely to contain loud noise or change position over time as the sensor moves.

続いて幾何学的特徴部が構築済みの現在マップに対して整合される。Qm-1は、最後の走査を処理した後のマップ点クラウドとし、Qm-1を{W}で定義する。Qm-1内の点は、それぞれ縁点及び平面点を含む2つのセットへと分離される。センサの周囲のある一定の距離のところで切り取られたマップを格納するためにボクセルを用いることができる。各ボクセルに対して、一方が縁点に対し、もう一方が平面点に対する2つの3D KD木を構築することができる。個々のボクセルに対してKD木を用いることにより、照会点を所与として、単一のボクセルに関連付けられた特定のKD木しか検索する必要がない(下記を参照されたい)ことから点検索が高速化される。 Subsequently, the geometric features are registered against the constructed current map. Q m−1 is the map point cloud after processing the last scan, and Q m−1 is defined by {W}. The points in Q m-1 are separated into two sets, each containing an edge point and a plane point. Voxels can be used to store a map clipped at a certain distance around the sensor. For each voxel, two 3D KD trees can be constructed, one for edge points and the other for planar points. By using a KD tree for individual voxels, given a query point, point search can be performed because only the particular KD tree associated with a single voxel needs to be searched (see below). Speed up.

走査を整合させる時に、最初にεm及びHmが、{W}内に取得可能な最良の運動推測を用いて投影され、続いてεm及びHm内の各点に対して、最近接点の集合がマップ上の対応するセットから求められる。点集合の幾何学的分布を検証するために、関連の固有値及び固有ベクトルを吟味することができる。特に、1つの大きい固有値と2つの小さい固有値とが縁線セグメントを示し、2つの大きい固有値と1つの小さい固有値とが局所平面パッチを示す。整合が妥当である時に、点から対応する点集合までの距離に関する式が定式化される。
式(12)

Figure 2020507072
式中のXmは、εm又はHm内の点であり、θm(θm∈so(3))及びtm(tm
Figure 2020507072

)は、{W}における{Cm}の6DOF姿勢を示す。 When aligning the scans, first ε m and H m are projected with the best motion guess available in {W}, then for each point in ε m and H m From the corresponding set on the map. To verify the geometric distribution of the point set, the associated eigenvalues and eigenvectors can be examined. In particular, one large eigenvalue and two small eigenvalues indicate an edge segment, and two large eigenvalues and one small eigenvalue indicate a local planar patch. When the match is valid, an equation for the distance from the point to the corresponding point set is formulated.
Equation (12)
Figure 2020507072
Xm in formula is a point in the epsilon m or H m, θ m (θ m ∈so (3)) and t m (t m
Figure 2020507072

) Indicates a 6 DOF posture of {C m } in {W}.

運動推定
走査整合は、式(12)によって記述される全体の距離を最小化する最適化問題610へと定式化される。最適化は、前の運動からの姿勢制約612を更に含む。Tm-1は、{W}における{Cm−1}の姿勢に関する4×4の変換行列とし、Tm-1は最後の走査を処理することによって生成される。

Figure 2020507072

は、オドメトリ推定によって与えられる{Cm-1}から{Cm}への姿勢変換とする。式(10)と同様に、{W}における{Cm}の予測姿勢変換は次式で与えられる。
式(13)
Figure 2020507072
The motion estimation scan match is formulated into an optimization problem 610 that minimizes the overall distance described by equation (12). The optimization further includes the pose constraints 612 from the previous exercise. T m-1 is a 4 × 4 transformation matrix for the orientation of {Cm-1} in {W}, where T m-1 is generated by processing the last scan.
Figure 2020507072

Is the posture transformation from {C m -1 } given by odometry estimation to {C m }. Similarly to Expression (10), the predicted attitude conversion of {C m } in {W} is given by the following expression.
Equation (13)
Figure 2020507072

Figure 2020507072

及び
Figure 2020507072

は、
Figure 2020507072

に対応する6DOF姿勢とし、
Figure 2020507072

は、相対共分散行列とする。制約は次式で与えられる。
式(14)
Figure 2020507072
Figure 2020507072

as well as
Figure 2020507072

Is
Figure 2020507072

6DOF attitude corresponding to
Figure 2020507072

Is a relative covariance matrix. The constraint is given by:
Equation (14)
Figure 2020507072

式(14)は、カメラが機能状態にあると仮定して前の運動が視覚−慣性オドメトリからのものである場合を意味する。そうでなければ、制約はIMU予測からのものである。同じ項をIMU機械化によって表記するために

Figure 2020507072

及び
Figure 2020507072

を用いることができる。加速度の積分は、方位(式(11)における
Figure 2020507072

と同じ)に依存することから
Figure 2020507072

は、θmの関数である。IMU姿勢制約は次式で与えられる。
式(15)
Figure 2020507072

式中の
Figure 2020507072

は、対応する相対共分散行列である。最適化問題では、式(14)及び式(15)は、1つの制約セットへと線形結合される。この線形結合は、視覚−慣性オドメトリの作動モードによって決定される。ロバストな当て嵌めフレームワークに適応されたニュートン勾配降下法によって解かれる最適化問題は、θm及びtmを精緻化する。 Equation (14) implies the case where the previous motion is from visual-inertial odometry, assuming the camera is in a functional state. Otherwise, the constraint is from IMU prediction. To represent the same term by IMU mechanization
Figure 2020507072

as well as
Figure 2020507072

Can be used. The integral of the acceleration is the bearing (in equation (11)
Figure 2020507072

The same)
Figure 2020507072

Is a function of θ m . The IMU attitude constraint is given by the following equation.
Equation (15)
Figure 2020507072

In the formula
Figure 2020507072

Is the corresponding relative covariance matrix. In the optimization problem, equations (14) and (15) are linearly combined into one constraint set. This linear combination is determined by the mode of operation of the visual-inertial odometry. Optimization problem to be solved by the robust fitting Newton gradient descent which is adapted to the framework refine theta m and t m.

ボクセル内のマップ
マップ上の点はボクセル内に保たれる。2レベルボクセル実施を図7A及び図7Bに例示している。Μm-1は、最後の走査を処理した後の第1のレベルのマップ700上にあるボクセル702、704のセットを表す。センサ706を取り囲むボクセル704は、部分集合Μm-1を形成し、Sm-1と表記する。6DOFセンサ姿勢

Figure 2020507072

及び
Figure 2020507072

を所与として、マップ上でセンサと一緒に移動する対応するSm-1が存在する。センサがマップの境界に近づくと、境界の反対側にあるボクセル725がマップ境界730を拡張するように移動される。移動されたボクセル内の点は消去され、マップの切り取りが生じる。 Voxel Map Points on the map are kept in voxels. A two-level voxel implementation is illustrated in FIGS. 7A and 7B. Μ m-1 represents the set of voxels 702, 704 on the first level map 700 after processing the last scan. Voxel 704 surrounding the sensor 706 forms a subset Micromax m-1, denoted as S m-1. 6DOF sensor attitude
Figure 2020507072

as well as
Figure 2020507072

, There is a corresponding S m-1 that moves with the sensor on the map. As the sensor approaches the map boundary, voxels 725 on the other side of the boundary are moved to extend the map boundary 730. Points in the moved voxel are erased, resulting in clipping of the map.

図7Bに例示するように、第2のレベルのマップ750の各ボクセルj(jε∈Sm-1)は、第1のレベルのマップ700のものよりもマグニチュードが小さい

Figure 2020507072

と表記するボクセルセットによって形成される。走査を整合させる前に、最良の運動推測を用いてεm及びHm内の点がマップ上に投影され、
Figure 2020507072



Figure 2020507072

)内に埋められる。εm及びHmからの点で占有されたボクセル708は抽出されてQm-1が形成され、走査整合のための3D KD木内に格納される。ボクセル710は、εm及びHmからの点で占有されない。走査整合の完了時に、走査は、マップをなすボクセル708内に融合される。その後、マップ点は一定の密度を維持するようにダウンサイズされる。第1のレベルのマップ700の各ボクセルが第2のレベルのマップ750の部分ボクセルよりも大きい空間容積に対応することは認識することができる。従って、第1のレベルのマップ700の各ボクセルは、第2のレベルのマップ750内の複数の部分ボクセルを含み、第2のレベルのマップ750内の複数の部分ボクセル上にマッピングすることができる。 As illustrated in FIG. 7B, each voxel j (jε∈S m-1 ) of the second level map 750 has a smaller magnitude than that of the first level map 700.
Figure 2020507072

Is formed by a voxel set denoted by Before aligning the scans, the points in ε m and H m are projected onto the map using the best motion guess,
Figure 2020507072

(

Figure 2020507072

) Is buried inside. Voxels 708 occupied at points from ε m and H m are extracted to form Q m−1 and stored in a 3D KD tree for scan matching. Voxel 710 is not occupied in terms of ε m and H m . At the completion of the scan alignment, the scans are merged into the voxels 708 that make up the map. Thereafter, the map points are downsized to maintain a constant density. It can be appreciated that each voxel of the first level map 700 corresponds to a larger volume of space than the partial voxels of the second level map 750. Accordingly, each voxel of the first level map 700 includes multiple partial voxels in the second level map 750 and can be mapped onto multiple partial voxels in the second level map 750. .

図7A及び図7Bに関して上述したように、マップ情報を格納するために2つのボクセルレベル(第1のレベルのマップ700及び第2のレベルのマップ750)が用いられる。Mm-1に対応するボクセルは、第1のレベルのマップ700を維持するために用いられ、第2のレベルのマップ750内の

Figure 2020507072


Figure 2020507072

)に対応するボクセルは、走査整合のためのセンサの周囲のマップを取り出すために用いられる。マップは、センサがマップ境界に近づく時にのみ切り取られる。従って、センサがマップの内部を進む時に切り取りは必要ない。別の注目点は、一方が縁点に対し、もう一方が平面点に対する2つのKD木がSm-1内の各個別ボクセルに対して用いられる点である。上述したように、そのようなデータ構造は点検索を高速化することができる。この方式で、
Figure 2020507072


Figure 2020507072

)内の各個別ボクセルに対して2つのKD木を用いるのとは対照的に複数のKD木の間の検索が回避される。
Figure 2020507072


Figure 2020507072

)内の各個別ボクセルに対して2つのKD木を用いる場合は、KD木の構築及び保守のためにより多くのリソースを必要とする。 As described above with respect to FIGS. 7A and 7B, two voxel levels (first level map 700 and second level map 750) are used to store map information. The voxel corresponding to M m-1 is used to maintain the first level map 700 and in the second level map 750
Figure 2020507072

(
Figure 2020507072

The voxel corresponding to ()) is used to retrieve a map around the sensor for scan alignment. The map is clipped only when the sensor approaches the map boundary. Therefore, no clipping is required as the sensor moves through the map. Another point of interest is that two KD trees, one for edge points and one for planar points, are used for each individual voxel in S m-1 . As mentioned above, such a data structure can speed up point searches. In this way,
Figure 2020507072

(
Figure 2020507072

The search between multiple KD trees is avoided, as opposed to using two KD trees for each individual voxel in).
Figure 2020507072

(
Figure 2020507072

If two KD trees are used for each individual voxel in parentheses), more resources are required for KD tree construction and maintenance.

表1は、異なるボクセル及びKD木の構成を用いたCPU処理時間を比較している。時間は、閉鎖及び開放された構造化区域及び植物繁茂区域を網羅する様々なタイプの環境から収集した複数のデータセットから平均したものである。1つのボクセルレベルΜm-1のみを用いる時に、KD木の構築及び照会に約2倍の処理時間が生じることがわかる。このは、第2のボクセルレベル

Figure 2020507072


Figure 2020507072

)がマップを綿密に検索するのに役立つことに起因する。これらのボクセルなしでは、Qm-1内により多くの点が含まれてKD木内に組み込まれる。また、各ボクセルに対してKD木を用いることにより、処理時間は、Μm-1内の全てのボクセルに対してKD木を用いる場合と比較して若干短縮される。 Table 1 compares CPU processing times using different voxel and KD tree configurations. Times are averaged from multiple datasets collected from different types of environments covering closed and open structured and vegetation areas. It can be seen that when using only one voxel level Μ m-1 , the construction and query of the KD tree requires about twice as much processing time. This is the second voxel level
Figure 2020507072

(
Figure 2020507072

) Helps to search the map in depth. Without these voxels, more points would be included in Qm -1 and included in the KD tree. Further, by using the KD tree for each voxel, the processing time is slightly reduced as compared with the case where the KD tree is used for all the voxels within Μ m−1 .

(表1)
表1.KD木演算における平均CPU処理時間の比較

Figure 2020507072
(Table 1)
Table 1. Comparison of average CPU processing time in KD tree operation
Figure 2020507072

並行処理
走査整合は、KD木を構築する段階と、特徴部一致を反復的に求める段階とを含む。この処理は時間を要し、システム内の主な計算を占有する。1つのCPUスレッドは所望の更新周波数を保証することができないが、マルチスレッド実施は、複雑な処理の問題に対応することができる。図8Aは、2つの整合器プログラム812、815が並列で実行される場合を例示している。走査の受信時に、マネージャプログラム810は、走査を最新の利用可能マップと整合させるように配列する。複数の構造及び複数の視覚特徴部を有する集合的な環境で構成される一例では、整合は低速であり、次の走査の到着前に完了することができない可能性がある。2つの整合器812及び815は交互に呼び出される。一方の整合器812では、Pm813a、Pm-2813b、及び更に別のPm-k(k=偶数に関する)813nが、それぞれQm-2813a、Qm-4813a、及び更に別のQm-k(k=偶数に関する)813nと整合される。同様に、第2の整合器815では、Pm+1816a、Pm-1816b、及び更に別のPm-k(k=奇数に関する)816nが、Qm-1816a、Qm-3816a、及び更に別のQm-k(k=奇数に関する)816nと整合される。この交互処理の使用は、処理に対して2倍の時間量を与える可能性がある。構造及び視覚特徴部をほとんど持たないきれいな環境で構成される代替例では、計算は軽い。そのような例(図8B)では、単一の整合器820しか呼び出さなくてもよい。交互処理が必要とされないことから、Pm、Pm-1、が、それぞれQm-1,Qm-2,・・・(827a、827b、827nを参照されたい)と順番に整合される。一般的には2つのスレッドしか必要とされない可能性があるが、この実施は、最大で4つのスレッドを用いるように構成することができる。
Parallel scan matching involves building a KD tree and iteratively finding feature matches. This process takes time and occupies the main computation in the system. While one CPU thread cannot guarantee the desired update frequency, a multi-threaded implementation can address complex processing problems. FIG. 8A illustrates a case where the two matcher programs 812 and 815 are executed in parallel. Upon receipt of the scan, the manager program 810 arranges the scan to match the latest available map. In one example, consisting of a collective environment with multiple structures and multiple visual features, matching is slow and may not be completed before the arrival of the next scan. The two matchers 812 and 815 are called alternately. In one matching unit 812, P m 813a, P m-2 813b, and still another P mk (for k = even number) 813n are connected to Q m-2 813a, Q m-4 813a, and further Q mk (k = for even) 813n. Similarly, in the second matcher 815, P m + 1 816a, P m-1 816b, and yet another P mk (for k = odd) 816n are converted to Q m-1 816a, Q m-3 816a, And yet another Q mk (for k = odd) 816n. The use of this alternating process can provide twice the amount of time for the process. In an alternative consisting of a clean environment with few structural and visual features, the computation is light. In such an example (FIG. 8B), only a single matcher 820 may be called. Since the alternating process is not required, P m, P m-1 , but are aligned respectively Q m-1, Q m- 2, ··· (827a, 827b, see 827N) and in turn . In general, only two threads may be required, but this implementation can be configured to use up to four threads.

変換統合
最終的な運動推定は、図2に描いている3つのモジュールからの出力の統合である。5Hzの走査整合出力は最も正確なマップを生成し、その一方で50Hzの視覚−慣性オドメトリ出力及び200HzのIMU予測は高周波数運動推定のための統合される。
Transform Integration The final motion estimation is the integration of the outputs from the three modules depicted in FIG. The 5 Hz scan matched output produces the most accurate map, while the 50 Hz visual-inertial odometry output and the 200 Hz IMU prediction are integrated for high frequency motion estimation.

ロバスト性について
システムのロバスト性は、センサ劣化に対処する機能によって決定される。IMUは、システム内のバックボーンとして確実に機能しているものと常に仮定する。カメラは、劇的な照明変化に影響され、暗い/凹凸のない環境内で又は著しい運動ぼけが存在する時に(それによって視覚特徴部追跡の喪失が引き起こされる)失敗する可能性もある。レーザは、構造のない環境、例えば、単一の平面が大半を占めるシーンに対処することができない。これに代えて、過激な運動に起因するデータの希薄性によってレーザデータの劣化が引き起こされる恐れがある。そのような過激な運動は非常に動的な運動を含む。本明細書で用いる時に、「非常に動的な運動」は、システムの実質的に突然の回転変位又は直線変位又は実質的に大きいマグニチュードを有する連続的な回転運動又は平行移動運動を意味する。本発明の開示の自己運動決定システムは、非常に動的な運動の存在下並びに暗く凹凸及び構造のない環境内で作動することができる。一部の例示的実施形態では、本発明のシステムは、360度毎秒程度の高い回転角速度を受けながら作動することができる。他の実施形態では、システムは、100kphを含むそれ以下の線速度で作動することができる。それに加えて、これらの運動は、角運動と直線運動が結合されたものとすることができる。
Robustness The robustness of the system is determined by its ability to deal with sensor degradation. It is always assumed that the IMU is functioning reliably as the backbone in the system. Cameras are subject to dramatic lighting changes and can fail in dark / uneven environments or when there is significant motion blur (which causes loss of visual feature tracking). Lasers cannot handle unstructured environments, such as scenes occupied by a single plane. Alternatively, laser data may be degraded due to data sparseness due to extreme exercise. Such extreme exercise includes highly dynamic exercise. As used herein, "highly dynamic motion" means a substantially sudden rotational or linear displacement of the system or a continuous rotational or translational motion having a substantially large magnitude. The self-motion determination system of the present disclosure can operate in the presence of highly dynamic motion as well as in dark, uneven and unstructured environments. In some exemplary embodiments, the system of the present invention can operate while undergoing high rotational angular velocities, on the order of 360 degrees per second. In other embodiments, the system can operate at linear velocities less than or equal to 100 kph. In addition, these movements can be a combination of angular and linear movements.

視覚−慣性オドメトリモジュールと走査整合モジュールの両方は、式(2)に従って最適化問題を定式化してそれを解く。失敗が発生する時に、それは、劣化した最適化問題に対応し、すなわち、問題の一部の方向の制約が不良状態にあり、解を決定する上でノイズが優勢である。1つの非限定的方法では、問題に関連付けられたλ1,λ2,・・・,λ6と表記する固有値と、v1,v2,・・・,v6と表記する固有ベクトルとを計算することができる。センサの状態空間は6DOF(6つの自由度)を含むことから、6つの固有値/固有ベクトルが存在する。一般性を失うことなく、v1,v2,・・・,v6を大きい順に並べ換えることができる。各固有値は、解がその対応する固有ベクトルの方向にどの程度良好な状態にあるかを表す。固有値を閾値と比較することにより、状態空間内で良好な状態にある方向を劣化方向から分離することができる。h(h=0;1,…,6)を十分に条件付けされた方向の個数とする。2つの行列を次式のように定義することができる。
式(16)

Figure 2020507072
Both the visual-inertial odometry module and the scan matching module formulate and solve the optimization problem according to equation (2). When a failure occurs, it corresponds to a degraded optimization problem, ie, the constraints in some directions of the problem are in a bad state, and noise dominates in determining the solution. In one non-limiting method, .lambda.1 associated with the problem, λ2, ···, and eigenvalues denoted λ6, v 1, v 2, ···, be calculated and eigenvectors denoted as v 6 it can. Since the state space of the sensor includes 6 DOF (six degrees of freedom), there are six eigenvalues / eigenvectors. Without loss of generality, v 1, v 2, can be rearranged ..., and v 6 in descending order. Each eigenvalue describes how well the solution is in the direction of its corresponding eigenvector. By comparing the eigenvalue with the threshold, a direction in a good state in the state space can be separated from a deterioration direction. Let h (h = 0; 1,..., 6) be the number of sufficiently conditioned directions. Two matrices can be defined as:
Equation (16)
Figure 2020507072

最適化問題を解く時に、初期推測を用いて非線形反復を開始することができる。図2に描いている連続パイプラインを用いて、IMU予測は、視覚−慣性オドメトリのための初期推測を与え、視覚−慣性オドメトリの出力は、走査整合のための初期推測として採用される。追加の2つのモジュール(視覚−慣性オドメトリ及び走査整合モジュール)に対して、xを解とし、更に△xを非線形反復におけるxの更新とし、この場合、△xは、線形化したシステム方程式を解くことによって計算される。最適化処理中に、xを全方向に更新する代わりにxを十分に条件付けされた方向のみに更新し、劣化方向に初期推測を保つことができる。
式(17)

Figure 2020507072
When solving an optimization problem, a non-linear iteration can be started using initial guesses. Using the continuous pipeline depicted in FIG. 2, IMU prediction provides an initial guess for visual-inertial odometry, and the output of visual-inertial odometry is taken as an initial guess for scan matching. For two additional modules (visual-inertial odometry and scan matching modules), let x be a solution and let Δx be an update of x in a nonlinear iteration, where Δx solves the linearized system equation Is calculated by: During the optimization process, instead of updating x in all directions, x can be updated only in a well-conditioned direction, keeping the initial guess at the degradation direction.
Equation (17)
Figure 2020507072

式(17)において、システムは、IMU予測から始めて粗から細の順序で運動に関して求解し、追加の2つのモジュールは、運動を可能な限り求める/精緻化する。問題が良好な状態にある時に、精緻化は6DOFの全てを含むことができる。それとは別に問題が部分的にしか良好な状態にない時に、精緻化は0DOFから5DOFまでを含むことができる。問題が完全に劣化した時に、

Figure 2020507072

は、ゼロ行列になり、先行モジュールの出力が保たれる。 In equation (17), the system solves for motion in coarse to fine order starting from IMU prediction, and the additional two modules determine / refine motion as much as possible. Refinement can include all of the 6DOF when the problem is in good shape. Alternatively, the refinement can include from 0 DOF to 5 DOF, when the problem is only partially good. When the problem is completely degraded,
Figure 2020507072

Becomes a zero matrix, and the output of the preceding module is kept.

式(14)及び式(15)に記述されている姿勢制約に戻ると、これら2つの式が走査整合問題において線形結合されることが認められるであろう。式(16)に定義されているように、

Figure 2020507072

及び
Figure 2020507072

は、視覚−慣性オドメトリモジュールからの固有ベクトルを含む行列を表し、
Figure 2020507072

は、サブシステム内の十分に条件付けされた方向を表し、
Figure 2020507072

は、劣化方向を表す。組み合わせ制約は次式で与えられる。
式(18)
Figure 2020507072


Figure 2020507072
Returning to the pose constraints described in Equations (14) and (15), it will be appreciated that these two equations are linearly combined in the scan matching problem. As defined in equation (16),
Figure 2020507072

as well as
Figure 2020507072

Represents a matrix containing eigenvectors from the visual-inertial odometry module,
Figure 2020507072

Represents a well-conditioned direction within the subsystem,
Figure 2020507072

Indicates a deterioration direction. The combination constraint is given by the following equation.
Equation (18)
Figure 2020507072


Figure 2020507072

カメラが機能している正常な時に、

Figure 2020507072

が成り立ち、式(18)は、式(14)にあるもののような視覚−慣性オドメトリからの姿勢制約で構成される。しかし、カメラデータが完全に劣化した時に、
Figure 2020507072

はゼロ行列であり、式(18)は、式(15)によるIMU予測からの姿勢制約で構成される。 When the camera is functioning normally,
Figure 2020507072

Holds, and equation (18) consists of pose constraints from visual-inertial odometry such as in equation (14). However, when the camera data is completely degraded,
Figure 2020507072

Is a zero matrix, and equation (18) is composed of pose constraints from IMU prediction according to equation (15).

カメラ劣化の事例研究
図9Aに描いているように、視覚特徴部が視覚−慣性オドメトリに対して不十分にしか取得可能ではない時に、IMU予測122は、視覚−慣性オドメトリ問題における十分に条件付けされた方向の個数に依存して完全に又は部分的に点線で表記している視覚−慣性オドメトリモジュール126を迂回する924。続いて走査整合モジュール132は、走査整合のためのレーザ点を局所的に位置合わせすることができる。迂回するIMU予測はドリフトを受ける。レーザフィードバック138は、カメラフィードバック128を補償し、それが取得不能な方向にのみIMUの速度ドリフト及びバイアスを補正する。この場合、カメラデータが劣化していない時には、より高い周波数がカメラフィードバックをより適切なものにすることから、カメラフィードバックは高い優先度を有する。十分な視覚特徴部が見つかる時には、レーザフィードバックは用いられない。
Camera Degradation Case Study As depicted in FIG. 9A, the IMU prediction 122 is well conditioned in the visual-inertial odometry problem when visual features are poorly available for visual-inertial odometry. 924 bypassing the visual-inertial odometry module 126, which is completely or partially represented by a dotted line depending on the number of directions. Subsequently, the scan alignment module 132 can locally align the laser points for scan alignment. The bypassing IMU prediction is subject to drift. The laser feedback 138 compensates for the camera feedback 128 and corrects for IMU velocity drift and bias only in directions where it cannot be obtained. In this case, camera feedback has a higher priority when the camera data is not degraded, as higher frequencies make the camera feedback more appropriate. When enough visual features are found, no laser feedback is used.

レーザ劣化の事例研究
図9Bに示しているように、走査整合132が運動推定を精緻化するのに環境構造が不十分である時に、視覚−慣性オドメトリモジュール126出力は、レーザ点をマップ上に位置合わせするのに点線で注記しているように走査整合モジュールを完全又は部分的に迂回する930。走査整合問題において十分に条件付けされた方向が存在する時に、レーザフィードバックは、これらの方向に精緻化された運動推定を含む。そうでなければレーザフィードバックは空になる138。
Laser Degradation Case Study As shown in FIG. 9B, when the scan match 132 has insufficient environmental structure to refine the motion estimation, the output of the visual-inertial odometry module 126 maps the laser points onto a map. 930 bypassing the scan alignment module completely or partially as noted by the dotted line for alignment. When there are well conditioned directions in the scan matching problem, the laser feedback includes motion estimates refined in these directions. Otherwise, the laser feedback is empty 138.

カメラ及びレーザ劣化の事例研究
より複雑な例では、カメラとレーザの両方が少なくともある程度劣化する。図10はそのような例を描いている。6つの行を有する垂直バーは、各行が式(16)における固有ベクトルに対応するDOF(自由度)である6DOF姿勢を表す。この例では、視覚−慣性オドメトリ及び走査整合は、各々が運動の3DOFを更新し、他の3DOFにおいて運動を変化しないままに留める。IMU予測1022a〜1022fは、初期IMU予測値1002を含むことができる。視覚−慣性オドメトリは、一部の3DOF(1026c,1026e,1026f)を更新し1004、精緻化された予測1026a〜1026fを生じる。走査整合は、一部の3DOF(1032b,1032d、1032f)を更新し1006、更に精緻化された予測1032a〜1032fを生じる。それぞれ、カメラフィードバック128はカメラ更新1028a〜1028fを含み、レーザフィードバック138はレーザ更新1038a〜1038fを含む。図10を参照すると、網掛けを持たないセル(1028a、1028b、1028d、1038a、1038c、1038e)は、それぞれのモジュールからのいずれの更新情報も含まない。IMU予測モジュールへの全更新1080a〜1080fは、カメラフィードバック128からの更新1028a〜1028fとレーザフィードバック138からの更新1038a〜1038fとの組み合わせである。フィードバックがカメラ(例えば1028f)とレーザ(例えば1038f)の両方から取得可能である自由度のうちの1又は2以上において、カメラ更新(例えば1028f)は、レーザ更新(例えば1038f)よりも高い優先度を有することができる。
In a more complex example than the camera and laser degradation case study , both the camera and laser degrade at least to some extent. FIG. 10 depicts such an example. A vertical bar with six rows represents a 6DOF pose where each row is a DOF (degree of freedom) corresponding to the eigenvector in equation (16). In this example, visual-inertial odometry and scan matching each update the 3DOF of the motion, leaving the motion unchanged at the other 3DOF. IMU predictions 1022a-102f may include initial IMU prediction values 1002. The visual-inertial odometry updates 1004 some 3DOFs (1026c, 1026e, 1026f) to produce refined predictions 1026a-1026f. Scan matching updates 1006 some of the 3DOFs (1032b, 1032d, 1032f) to yield more refined predictions 1032a-1032f. Camera feedback 128 includes camera updates 1028a-1028f, respectively, and laser feedback 138 includes laser updates 1038a-1038f, respectively. Referring to FIG. 10, cells without shade (1028a, 1028b, 1028d, 1038a, 1038c, 1038e) do not include any update information from each module. All updates 1080a-1080f to the IMU prediction module are a combination of updates 1028a-1028f from camera feedback 128 and updates 1038a-1038f from laser feedback 138. In one or more of the degrees of freedom in which feedback can be obtained from both a camera (eg, 1028f) and a laser (eg, 1038f), a camera update (eg, 1028f) has a higher priority than a laser update (eg, 1038f). Can be provided.

しかし、実際には、視覚−慣性オドメトリモジュールと走査整合モジュールとは異なる周波数で実行する可能性があり、各々は独自の劣化方向を有する可能性がある。走査整合出力からの姿勢の間を内挿するためにIMUメッセージを用いることができる。この方式で、視覚−慣性オドメトリ出力と時間整合された区分的運動を作り出すことができる。

Figure 2020507072

及び
Figure 2020507072

をフレームc−1とcの間に視覚−慣性オドメトリによって推定された6DOF運動とし、この場合、
Figure 2020507072

及び
Figure 2020507072

が成り立つ。
Figure 2020507072

及び
Figure 2020507072

は、時間内挿後に走査整合によって推定された対応する項とする。
Figure 2020507072

及び
Figure 2020507072

は、視覚−慣性オドメトリモジュールからの固有ベクトルを含む式(16)に定義された行列とすることができ、この場合、
Figure 2020507072

は十分に条件付けされた方向を表し、
Figure 2020507072

は劣化方向を表す。
Figure 2020507072

及び
Figure 2020507072

を走査整合モジュールからの同じ行列とする。次式は、組み合わせフィードバックfCを計算する。
式(19)
Figure 2020507072

式中のfV及びfsは、カメラフィードバック及びレーザフィードバックを表し、以下に続く式で与えられる。
式(20)
Figure 2020507072

式(21)
Figure 2020507072
However, in practice, the visual-inertial odometry module and the scan matching module may run at different frequencies, and each may have its own degradation direction. The IMU message can be used to interpolate between poses from the scan match output. In this manner, a piecewise motion that is time aligned with the visual-inertial odometry output can be created.
Figure 2020507072

as well as
Figure 2020507072

Be the 6 DOF motion estimated by visual-inertial odometry between frames c-1 and c, where
Figure 2020507072

as well as
Figure 2020507072

Holds.
Figure 2020507072

as well as
Figure 2020507072

Is the corresponding term estimated by scan matching after time interpolation.
Figure 2020507072

as well as
Figure 2020507072

Can be the matrix defined in equation (16) containing the eigenvectors from the visual-inertial odometry module, where
Figure 2020507072

Represents a well-conditioned direction,
Figure 2020507072

Represents the direction of deterioration.
Figure 2020507072

as well as
Figure 2020507072

Is the same matrix from the scan matching module. The following equation calculates the combination feedback f C.
Equation (19)
Figure 2020507072

F V and f s in the equations represent camera feedback and laser feedback, and are given by the following equations.
Equation (20)
Figure 2020507072

Equation (21)
Figure 2020507072

Cは、状態空間の部分空間内で求められた運動しか含まないことに注意されたい。IMU予測からの運動、すなわち、

Figure 2020507072

及び
Figure 2020507072

は、次式のようにfCのヌル空間に投影することができる。
式(22)
Figure 2020507072
Note that f C only includes motions determined in subspaces of the state space. Exercise from IMU prediction, ie
Figure 2020507072

as well as
Figure 2020507072

Can be projected to the null space of f C as follows:
Equation (22)
Figure 2020507072

式(3)と式(4)の統合によってbω(t)及びba(t)の関数として定式化されたIMU予測運動を表すために

Figure 2020507072

及び
Figure 2020507072

を用いることができる。方位
Figure 2020507072

は、bω(t)にしか関連しないが、平行移動
Figure 2020507072

は、bω(t)とba(t)の両方に依存する。バイアスは、次式を解くことによって計算することができる。
式(23)
Figure 2020507072
To represent IMU prediction motion is formulated as a function of b omega (t) and b a (t) Equations (3) The integration of equation (4)
Figure 2020507072

as well as
Figure 2020507072

Can be used. Bearing
Figure 2020507072

Is only related to b ω (t), but the translation
Figure 2020507072

Depends on both b ω (t) and b a (t). The bias can be calculated by solving the following equation.
Equation (23)
Figure 2020507072

システムが正常に機能している時には、fCは状態空間を張り、式(22)における

Figure 2020507072

及び
Figure 2020507072

はゼロ行列である。相応に、bω(t)及びba(t)は、fCから計算される。劣化した時に、IMU予測運動
Figure 2020507072

及び
Figure 2020507072

は、運動を求めることができない(例えば、図10の組み合わせフィードバックの白色の行1080a)方向に用いられる。結果は、先に計算されたバイアスがこれらの方向に保たれることである。 When the system is functioning properly, f C spans the state space, and in equation (22)
Figure 2020507072

as well as
Figure 2020507072

Is a zero matrix. Correspondingly, b omega (t) and b a (t) is calculated from f C. IMU prediction movement when deteriorated
Figure 2020507072

as well as
Figure 2020507072

Is used in directions where motion cannot be determined (eg, white row 1080a of the combined feedback in FIG. 10). The result is that the previously calculated bias is kept in these directions.

実験
スキャナを用いた試験
2つのセンサ組に対してオドメトリ及びマッピング側壁システムを検証した。第1のセンサ組では、Velodyneライダー(商標)HDL−32EレーザスキャナをUI−1220SE単色カメラ及びXsens(登録商標)MTi−30 IMUに取り付けた。このレーザスキャナは、360°の水平FOV、40°の垂直FOVを有し、5Hzの回転速度で0.7百万点/秒を感受する。カメラは、752ピクセル×480ピクセルの解像度、76°の水平FOV及び50Hzのフレーム速度に構成した。IMU周波数を200Hzに設定した。第2のセンサ組では、Velodyneライダー(商標)VLP−16レーザスキャナを同じカメラ及びIMUに取り付けた。このレーザスキャナは360°の水平FOV、30°の垂直FOVを有し、5Hzの回転速度で0.3百万点/秒を感受する。各センサ組は、街路及び路外地それぞれの上で走らせたデータ収集車両に取り付けた。
Experiment
It was verified odometry and mapping sidewall system to the test two sensor sets using the scanner. In the first set of sensors, a Velodyne Rider ™ HDL-32E laser scanner was attached to a UI-1220SE monochrome camera and an Xsens® MTi-30 IMU. This laser scanner has a horizontal FOV of 360 ° and a vertical FOV of 40 ° and senses 0.7 million points / sec at a rotation speed of 5 Hz. The camera was configured for a resolution of 752 pixels by 480 pixels, a horizontal FOV of 76 ° and a frame rate of 50 Hz. The IMU frequency was set at 200Hz. In the second set of sensors, a Velodyne Rider ™ VLP-16 laser scanner was attached to the same camera and IMU. This laser scanner has a horizontal FOV of 360 ° and a vertical FOV of 30 ° and senses 0.3 million points / sec at a rotation speed of 5 Hz. Each sensor set was attached to a data collection vehicle running on each of the streets and off-road areas.

両方のセンサ組に関して、最大で300個のHarrisコーナを追跡した。視覚特徴部を均等に分散させるために、画像は、各々が最大で10個の特徴部を設ける5×6個の同一の部分領域へと分離した。各部分領域内の特徴部数を維持するために、追跡が特徴部を見失った時に新しい特徴部を生成した。   Up to 300 Harris corners were tracked for both sensor sets. To evenly distribute the visual features, the image was separated into 5 x 6 identical subregions, each providing up to 10 features. In order to maintain the number of features in each subregion, a new feature was created when tracking lost a feature.

このソフトウェアは、2.6GHzのクワッドコアプロセッサ(各コア上に2つのスレッドで全体として8つのスレッド)及び内蔵GPUを有するラップトップコンピュータ上でロボットオペレーティングシステム(ROS)を実行するLinux(登録商標)システムで稼働する。視覚特徴部追跡がGPU及びCPUそれぞれの上で稼働する2つのバージョンのソフトウェアを実施した。処理時間を表2に示している。視覚−慣性オドメトリ(図2の126)によって費やされる時間は、環境又はセンサ構成に関連してそれ程大きく変動することはない。GPUバージョンでは、視覚−慣性オドメトリは、50Hzで実行されるCPUスレッドの約25%を消費する。CPUバージョンでは、視覚−慣性オドメトリはスレッドの約75%を占有する。センサの第1の組は、第2のセンサ組よりも若干長めの処理時間を生じる。このことは、スキャナがより多くの点を感受し、プログラムが深度マップを維持して深度を視覚特徴部に関連付けるのにより多くの時間を必要とすることに起因する。   This software is a Linux (R) running a robot operating system (ROS) on a laptop computer with a 2.6 GHz quad-core processor (two threads on each core, for a total of eight threads) and a built-in GPU. Run on the system. Visual Feature Tracking implemented two versions of software running on each of the GPU and CPU. Table 2 shows the processing time. The time spent by visual-inertial odometry (126 in FIG. 2) does not vary much with environment or sensor configuration. In the GPU version, visual-inertial odometry consumes about 25% of CPU threads running at 50 Hz. In the CPU version, visual-inertial odometry occupies about 75% of the threads. The first set of sensors results in a slightly longer processing time than the second set of sensors. This is due to the scanner perceiving more points and the program requiring more time to maintain a depth map and associate depth with visual features.

走査整合(図2の132)は、より長く、更に環境及びセンサ構成に関連して変動する処理時間を消費する。第1のセンサ組では、走査整合は、構造化環境内で作動させた場合に5Hzで実行されるスレッドの約75%を占有する。しかし、植物繁茂環境内では、マップ上により多くの点が位置合わせされ、プログラムは、一般的にスレッドの約135%を消費する。第2のセンサ組では、スキャナはより少ない点しか感受しない。走査整合モジュール132は、環境に依存してスレッドの約50〜95%を用いる。IMU予測(図2の132)によって費やされる時間は、他の2つのモジュールと比較して無視することができる。   Scan matching (132 in FIG. 2) is longer and consumes varying processing time in relation to the environment and sensor configuration. In the first set of sensors, scan matching occupies about 75% of the threads running at 5 Hz when operated in a structured environment. However, in a vegetation-rich environment, more points are aligned on the map and programs typically consume about 135% of the threads. In the second set of sensors, the scanner perceives fewer points. Scan matching module 132 uses about 50-95% of the threads, depending on the environment. The time spent by the IMU prediction (132 in FIG. 2) can be ignored compared to the other two modules.

精度試験
本提案のシステムの精度を評価するための試験を実施した。これらの試験では、第1のセンサ組を用いた。センサは、大学キャンパスを巡って走る路外車両上に装着した。16分以内の2.7kmの走行の後に、キャンパスマップを構築した。試験にわたる平均速度は2.8m/sであった。
Accuracy test A test was performed to evaluate the accuracy of the proposed system. In these tests, a first set of sensors was used. The sensor was mounted on an off-road vehicle running around the university campus. After 2.7 km of driving within 16 minutes, a campus map was constructed. The average speed over the test was 2.8 m / s.

(表2)
表2.第1及び第2のセンサ組を用いた平均CPU処理時間

Figure 2020507072
(Table 2)
Table 2. Average CPU processing time using first and second sensor sets
Figure 2020507072

試験にわたる運動推定ドリフトを評価するために、推定軌道及び位置合わせしたレーザ点を衛星画像上に位置合わせされた。この場合、地上のレーザ点を手作業で除去した。軌道を衛星画像上の街路と整合させることにより、水平誤差の上限が<1:0mであることが判明した。また、建物を同じ階で比較することによって垂直誤差が<2:0mであることも判明した。それにより、終了時点で進行距離の<0:09%である総相対位置ドリフトが与えられる。測定値に対して精度を保証することができず、従って、位置ドリフトの上限のみを計算したことが認められるであろう。   Estimated trajectories and aligned laser points were registered on satellite images to evaluate motion estimation drift over the test. In this case, the laser spot on the ground was manually removed. By aligning the orbit with the street on the satellite image, it was found that the upper limit of horizontal error was <1: 0 m. Also, comparing the buildings on the same floor revealed that the vertical error was <2: 0 m. This gives a total relative position drift that is <0: 09% of the travel distance at the end. It will be appreciated that accuracy cannot be guaranteed for the measurements, and therefore only the upper limit of position drift has been calculated.

更に、同じセンサを乗用車の上に装着してより包括的な試験を実施した。乗用車を構造化道路上で9.3kmの行程にわたって走らせた。経路は、植物繁茂環境、橋、丘陵地、及び交通量の多い街路を通り、最終的に開始位置に戻るものであった。標高は経路に沿って70mにわたって変化した。信号機を待つことを除き、試験中の車両速度は9〜18m/sの間であった。経路の始点と終点の両方において見られる建物が2箇所に登録されることが判明した。2箇所の登録は、経路長にわたる運動推定ドリフトに起因して発生する。従って、第1の登録は試験の開始時における車両に対応し、第2の登録は試験の終了時における車両に対応する。隔たりの測定結果は<20mであり、終了時に進行距離の<0:22%の相対位置誤差が生じた。   In addition, a more comprehensive test was performed with the same sensor mounted on a car. The passenger car ran on a structured road for a distance of 9.3 km. The path was through vegetation, bridges, hilly terrain, and busy streets, and eventually returned to the starting location. Elevation varied over 70 m along the path. Except waiting for the traffic light, the vehicle speed during the test was between 9-18 m / s. It has been found that buildings found at both the start point and the end point of the route are registered in two places. The two registrations occur due to motion estimation drift over the path length. Thus, the first registration corresponds to the vehicle at the start of the test, and the second registration corresponds to the vehicle at the end of the test. The distance measurement was <20 m, resulting in a relative position error of <0: 22% of the travel distance at the end.

システム内の各モジュールは全体の精度に寄与する。図11は、精度試験における推定軌道を描いている。視覚−慣性オドメトリシステムによって生成されたモバイルセンサの軌道の第1の軌道プロット1102は、IMUモジュール122及び視覚−慣性オドメトリモジュール126(図2を参照されたい)を用いたものである。第1の軌道プロット1102において用いた構成は、図9Bに描いているものと同様である。第2の軌道プロット1104は、IMUモジュール122からのIMU予測を視覚−慣性オドメトリを迂回して走査整合モジュール132に直接転送することに基づくものである。この構成は、図9Aに描いているものと同様である。完全なパイプラインの第3の軌道プロット1108は、IMUモジュール122と視覚−慣性オドメトリモジュール126と走査整合モジュール132との組み合わせ(図2を参照されたい)に基づくものであり、最小量のドリフトしか持たない。最初の2つの構成、軌道プロット1102及び1104の位置誤差は、それぞれ約4倍及び2倍大きい。   Each module in the system contributes to the overall accuracy. FIG. 11 illustrates an estimated trajectory in the accuracy test. The first trajectory plot 1102 of the trajectory of the mobile sensor generated by the visual-inertial odometry system is using the IMU module 122 and the visual-inertial odometry module 126 (see FIG. 2). The configuration used in the first trajectory plot 1102 is similar to that depicted in FIG. 9B. The second trajectory plot 1104 is based on transferring IMU predictions from the IMU module 122 directly to the scan matching module 132, bypassing visual-inertial odometry. This configuration is similar to that depicted in FIG. 9A. The third trajectory plot 1108 for the complete pipeline is based on the combination of the IMU module 122, the visual-inertial odometry module 126, and the scan matching module 132 (see FIG. 2), with only a minimal amount of drift. do not have. The position errors of the first two configurations, the trajectory plots 1102 and 1104, are about four and two times larger, respectively.

第1の軌道プロット1102及び第2の軌道プロット1104は、個々のセンサの劣化に遭遇した時に予測されるシステム性能と見なすことができる。走査整合が劣化した場合(図9Bを参照されたい)には、システムは、第1の軌道プロット1102によって示されるモードに劣化する。視覚が劣化した場合(図9Aを参照されたい)には、システムは、第2の軌道プロット1104によって示されるモードに劣化する。センサのうちのいずれも劣化していない場合(図2を参照されたい)には、システムは、最適化機能の全てを組み込み、軌道プロット1108を生じる。別の例では、システムは、IMU予測を初期推測として採用するが、レーザ周波数(5Hz)で稼働することができる。システムは、第4の軌道プロット1106を発生させる。結果として得られる精度は、視覚−慣性オドメトリを通り越してレーザと直接結合されたIMUを用いた第2の軌道プロット1104と比較して僅かにしか良好ではない。この結果は、全ての制約を重ね合わせて問題を解く場合にカメラの機能性が十分に活用されないことを示している。   The first trajectory plot 1102 and the second trajectory plot 1104 can be considered as expected system performance when individual sensor degradation is encountered. If the scan match degrades (see FIG. 9B), the system degrades to the mode indicated by the first trajectory plot 1102. If the vision deteriorates (see FIG. 9A), the system degrades to the mode indicated by the second trajectory plot 1104. If none of the sensors has degraded (see FIG. 2), the system incorporates all of the optimization functions and produces a trajectory plot 1108. In another example, the system employs the IMU prediction as an initial guess, but can operate at the laser frequency (5 Hz). The system generates a fourth trajectory plot 1106. The resulting accuracy is only marginally better compared to the second trajectory plot 1104 using the IMU coupled directly to the laser past the visual-inertial odometry. This result shows that the functionality of the camera is not fully utilized when solving the problem with all constraints superimposed.

システムの別の精度試験は、元の1×速度及び加速した2×速度で進むモバイルセンサを含むものであった。2×速度で進む時に、3つ全てのセンサに関してデータフレームを1枚置きに省き、試験を通してより過激な運動が生じた。その結果を表3に記載している。各速度で3つの構成を評価した。2×速度では、1×速度での精度と比較して視覚−慣性オドメトリ構成及びIMU+走査整合構成の精度は、進行距離の0.54%及び0.38%という大幅な比率で低減する。しかし、完全なパイプラインは、僅か0.04%という非常に僅かな比率でしか精度を低減させない。この結果は、カメラとレーザとが互いに補償し合って全体的な精度を保つことを示している。このことは、特に運動が過激な時に確かである。   Another accuracy test of the system involved a mobile sensor traveling at the original 1 × speed and accelerated 2 × speed. As we proceeded at 2x speed, every other frame of data for all three sensors was omitted, resulting in more extreme movement throughout the test. Table 3 shows the results. Three configurations were evaluated at each speed. At 2 × speed, the accuracy of the visual-inertial odometry configuration and the IMU + scan matching configuration compared to the accuracy at 1 × speed is reduced by a significant ratio of 0.54% and 0.38% of the travel distance. However, a complete pipeline reduces accuracy by a very small percentage of only 0.04%. This result indicates that the camera and laser compensate each other to maintain overall accuracy. This is especially true during extreme exercise.

表3.進行距離の百分率としての相対位置誤差   Table 3. Relative position error as a percentage of travel distance

(表3)
(1×速度での誤差は、図11の軌道に対応する)

Figure 2020507072
(Table 3)
(The error at 1 × speed corresponds to the trajectory in FIG. 11)
Figure 2020507072

図12を参照すると、双方向情報フローの例示的かつ非限定的実施形態が示されている。例示するように、IMU予測モジュールと視覚−慣性オドメトリモジュールと走査整合精緻化モジュールとを含む3つのモジュールが、粗から細に段階的に問題を解く。データ処理フローは左から右へのものであり、3つのモジュールをそれぞれ通過し、それに対してフィードバックフローは右から左へのものであり、IMUのバイアスを補正する。   Referring to FIG. 12, an exemplary, non-limiting embodiment of an interactive information flow is shown. As illustrated, three modules, including an IMU prediction module, a visual-inertial odometry module, and a scan matching refinement module, solve the problem step by step from coarse to fine. The data processing flow is from left to right and goes through each of the three modules, whereas the feedback flow is from right to left and corrects for IMU bias.

図13a及び図13bを参照すると、動的再構成可能システムの例示的かつ非限定的実施形態が示されている。図13aに例示するように、視覚−慣性オドメトリにとって視覚特徴部が不十分である時に、IMU予測は視覚−慣性オドメトリモジュールを(部分的に)迂回してレーザ点を局所的に位置合わせする。それに対して、図13bに例示するように、走査整合にとって環境構造が不十分である時に、視覚−慣性オドメトリ出力が走査整合精緻化モジュールを(部分的に)迂回してレーザ点をマップ上に位置合わせする。   Referring to FIGS. 13a and 13b, an exemplary, non-limiting embodiment of a dynamically reconfigurable system is shown. As illustrated in FIG. 13a, when visual features are insufficient for visual-inertial odometry, IMU prediction bypasses (partially) the visual-inertial odometry module to locally align the laser points. In contrast, as illustrated in FIG. 13b, when the environmental structure is insufficient for scan matching, the visual-inertial odometry output (partially) bypasses the scan matching refinement module to map the laser points onto the map. Align.

図14を参照すると、IMUバイアス補正のための優先度フィードバックの例示的かつ非限定的実施形態が示されている。例示するように、垂直バーは6DOF姿勢を表し、各行は1つのDOFである。劣化した時に、表記された6つ全ての行が「IMU」である左のIMU予測から始めて、視覚−慣性オドメトリが3DOFにおいて行が「カメラ」と表記されることになる更新を行い、続いて走査整合が別の3DOFにおいて行が「レーザ」と表記されることになる更新を行う。カメラフィードバックとレーザフィードバックとは左にある垂直バーのように組み合わせられる。カメラフィードバックは高めの優先度を有し、レーザフィードバックからの「レーザ」行は、カメラフィードバックからの「カメラ」行が存在しない場合にのみ埋められる。   Referring to FIG. 14, an exemplary, non-limiting embodiment of priority feedback for IMU bias correction is shown. As illustrated, the vertical bar represents a 6 DOF pose, and each row is one DOF. When degraded, starting from the left IMU prediction with all six lines labeled "IMU", the visual-inertial odometry updates the 3DOF so that the line is labeled "camera", followed by The scan match makes an update that causes the row to be labeled "Laser" in another 3DOF. Camera feedback and laser feedback are combined like a vertical bar on the left. Camera feedback has a higher priority, and the "laser" row from laser feedback is only filled in if there is no "camera" row from camera feedback.

図15a及び図15bを参照すると、マップの二層ボクセル表現の例示的かつ非限定的実施形態が示されている。マップ上のボクセルMm-1(図15a内の全てのボクセル)及びセンサを取り囲むボクセルSm-1(点塗りつぶし表示ボクセル)が例示されている。Sm-1は、Mm-1の部分集合である。センサがマップの境界に近づいた時に、境界の反対側(最下行)にあるボクセルがマップ境界を拡張するように移動される。移動されたボクセル内の点はクリアされ、マップは切り取られる。図15bに例示するように、各ボクセルj(j∈Sm-1)(図15aの点塗りつぶし表示ボクセル)は、マグニチュードが小さいボクセルのセット

Figure 2020507072

((図15b)の全てのボクセル
Figure 2020507072

)によって形成される。走査整合の前に、レーザ走査は、最良の運動推測を用いてマップ上に投影することができる。走査からの点によって占有された
Figure 2020507072


Figure 2020507072

)内のボクセルをクロスハッチングで標記している。続いて走査整合のためのクロスハッチング表示ボクセル内のマップ点が抽出されて3D KD木内に格納される。 Referring to FIGS. 15a and 15b, exemplary and non-limiting embodiments of a two-layer voxel representation of a map are shown. A voxel M m-1 on the map (all voxels in FIG. 15a) and a voxel S m-1 surrounding the sensor (dot fill voxel) are illustrated. S m-1 is a subset of M m-1 . When the sensor approaches the map boundary, voxels on the other side (bottom row) of the boundary are moved to extend the map boundary. Points in the moved voxel are cleared and the map is clipped. As illustrated in FIG. 15b, each voxel j (j∈S m-1 ) (dot-filled voxel in FIG. 15a) is a set of voxels with a small magnitude.
Figure 2020507072

(All voxels in (FIG. 15b)
Figure 2020507072

). Prior to scan matching, the laser scan can be projected on a map with the best motion guess. Occupied by points from the scan
Figure 2020507072

(
Figure 2020507072

The voxels in parentheses are marked with cross-hatching. Subsequently, map points in the cross-hatched display voxels for scan matching are extracted and stored in the 3D KD tree.

図16を参照すると、走査整合のマルチスレッド処理の例示的かつ非限定的実施形態が示されている。例示するように、マネージャプログラムが、別個のCPUスレッド上で実行される複数の整合器プログラムを呼び出し、走査を利用可能な最新のマップに整合させる。図16aは2スレッドの場合を示している。走査Pm,Pm-1,・・・は、各整合器上でQm,Qm-1,・・・と整合され、処理に対して2倍の時間量が与えられる。それと比較して、図16bは、1スレッドの場合を示しており、この場合、Pm,Pm-1,・・・は、Qm,Qm-1,・・・と整合される。この実施は、最大で4つのスレッドを用いて動的に構成可能である。 Referring to FIG. 16, an exemplary, non-limiting embodiment of a multi-threaded scan matching process is shown. As illustrated, the manager program calls multiple matcher programs running on separate CPU threads to match the scan to the latest map available. FIG. 16A shows the case of two threads. Scanning P m, P m-1, ··· is, Q m on each matcher, Q m-1, is aligned with., The amount of time twice is given to processing. By comparison, FIG. 16b shows the case of one thread, where P m , P m−1 ,... Are matched with Q m , Q m−1 ,. This implementation is dynamically configurable with up to four threads.

実施形態では、実時間SLAMシステムを実時間ナビゲーションシステムとの組み合わせで用いることができる。実施形態では、SLAMシステムは、ライダー又はレーダベースの障害物検出システム、視覚ベースの障害物検出システム、熱ベースのシステム、又は同様のもののような障害物検出システムとの組み合わせで用いることができる。この障害物検出は、人々、ペット、又は同様のもののような活動障害物を運動検出、熱検出、電場又は磁場検出するか、又は他の機構等によって検出する段階を含むことができる。   In embodiments, a real-time SLAM system can be used in combination with a real-time navigation system. In embodiments, the SLAM system can be used in combination with an obstacle detection system such as a lidar or radar-based obstacle detection system, a vision-based obstacle detection system, a heat-based system, or the like. This obstacle detection may include detecting an active obstacle, such as people, pets, or the like, by motion detection, heat detection, electric or magnetic field detection, or other mechanisms.

実施形態では、SLAMシステムに近隣反射を与える物体のような近距離特徴部、並びに近距離特徴部の間にある空間又は近距離特徴部内の開口を通して走査することができる品目のような遠距離特徴部のマッピングを含むことができる空間のマッピングを示すために、環境の特徴部を走査することによって確立された点クラウドは、SLAMの一部を形成する画面のような上に表示することができる。例えば、室内の様々な点において異なる室外要素を窓又はドアを通して走査することができることから、マッピング器が室内を動き回る時に隣接する廊下にある品目をそのような空間又は開口を通して走査することができる。この場合、結果として得られる点クラウドは、直近の環境及びこの環境の外側にある遠距離要素の部分マッピングの包括的なマッピングデータを含むことができる。このように、SLAMシステムは、「杭柵」を通しての空間のマッピングを近距離内にある空間又は開口(すなわち柵内の間隙)を通して遠距離物の識別によって行う段階を含むことができる。遠距離データは、例えばマッピング器が網羅的にマッピングされた空間(点クラウドの密度に起因して十分に理解された方位及び位置を有する)から疎にのみマッピングされた空間(新しい部屋等)へと移動する時に一貫した場所推定を維持するようなマッピング器が空間から空間へと移動する時にシステムがSLAMの方位を定めることを補助するために用いることができる。ユーザが近距離の場所から遠距離の場所に移動する時に、SLAMシステムは、点クラウドの相対的な密度又は疎度を用いて、例えば、SLAMの一部を形成するユーザインターフェースを通じてマッピング器を誘導することができ、例えば、別の空間から開口を通して見ることができない遠距離部分へとマッピング器を導くことができる。   In embodiments, short-range features, such as objects that provide a near reflection to the SLAM system, as well as long-range features, such as items that can be scanned through the space between the short-range features or through openings in the short-range features. A point cloud established by scanning a feature of the environment to show a spatial mapping, which can include part mapping, can be displayed on a screen, such as a screen forming part of a SLAM. . For example, items in adjacent corridors can be scanned through such spaces or openings as the mapper moves around the room because different outdoor elements can be scanned through windows or doors at various points in the room. In this case, the resulting point cloud may include comprehensive mapping data of the immediate environment and the partial mapping of distant elements outside of the environment. Thus, a SLAM system can include mapping a space through a “pile fence” by identifying a distant object through a space or opening (ie, a gap in the fence) that is within close range. The long-range data may be converted, for example, from a comprehensively mapped space (having a well-understood orientation and position due to the density of the point cloud) to a sparsely mapped space (such as a new room). A mapper that maintains a consistent location estimate when moving from space to space can be used to help the system orient the SLAM as it moves from space to space. As a user moves from a near location to a far location, the SLAM system uses the relative density or sparseness of the point cloud to guide the mapper, for example, through a user interface that forms part of the SLAM. For example, the mapper can be directed from another space to a distant portion that cannot be seen through the aperture.

実施形態では、SLAMシステムからの点クラウドマップは、カメラ、及びセンサなどのような他の入力からのマッピングと組み合わせることができる。例えば、飛行又は宇宙船の例では、飛行機、ドローン、又は他の飛行モバイルプラットフォームは、SLAMシステムに対する基準データとして用いることができ(例えば、走査から生じる点クラウドをGPS基準の場所に結び付ける)、又は例えば他のシステムからの出力上へのオーバーレイとして更に別の走査データを表示するための基準データを走査から取得することができる他の距離測定機器及び地理的定位機器が既に装備されている可能性がある。例えば、従来のカメラ出力は、オーバーレイとして点クラウドデータと一緒に示すことができ、又はその逆も同様である。   In embodiments, point cloud maps from the SLAM system can be combined with mappings from other inputs, such as cameras and sensors. For example, in the case of a flight or spacecraft, an airplane, drone, or other flying mobile platform can be used as reference data for a SLAM system (eg, linking a point cloud resulting from a scan to a GPS reference location), or Possibly already equipped with other distance measuring and geographic localization devices that can obtain from the scan reference data to display further scan data, for example as an overlay on the output from other systems There is. For example, a conventional camera output can be shown along with the point cloud data as an overlay, or vice versa.

実施形態では、SLAMシステムは、各特徴部からの帰還信号の反射強度を示すデータを含む点クラウドを提供することができる。この反射強度は、システムに対する信号の有効性を決定すること、特徴部が互いにどの程度関係するかを決定すること、面IR反射率を決定すること、及び同様のことを補助するために用いることができる。実施形態では、この反射強度は、マップ内への点クラウド表示を操作するための基準として用いることができる。例えば、SLAMシステムは、所与の特徴部、材料、構造、又は同様のものに関する信号の反射率を強調表示するためにある程度の色対比を導入することができる(自動的に又はユーザ制御下で)。それに加えて、色及び反射係数の情報を拡張するためにSLAMシステムを他のシステムと結合することができる。実施形態では、点クラウド内の点のうちの1又は2以上は、強度パラメータ、密度パラメータ、時間パラメータ、及び地理空間的場所パラメータのような取得データのパラメータに対応する色を用いて表示することができる。点クラウドの着色は、SLAMシステムが内部で作動している環境の要素又は特徴部、及び/又は点クラウド自体の取得処理の特徴部の要素をユーザが理解して解析するのを補助することができる。例えば、地理空間的区域内で取得される点の個数を示す密度パラメータを用いて、多くのデータ点が取得される区域を表す色と、データが疎らであって、「実」データではなく偽像の存在を示唆する別の色とを決定することができる。色は、例えば、走査が行われる時に一連の色を通して推移する時間を示すこともでき、その結果、SLAM走査を実施する経路の明確な表示が生じる。着色は、様々な特徴部の間で区別するため(例えば、空間内の家具を壁と比較する)、美術的効果を与えるため、注目区域を強調表示するため(例えば、走査観察者の注目を求めて関連機器を強調表示する)のような表示目的で行うこともできる。   In an embodiment, the SLAM system can provide a point cloud that includes data indicating the reflection intensity of the return signal from each feature. This reflection intensity is used to determine the validity of the signal to the system, to determine how the features relate to each other, to determine the surface IR reflectance, and the like. Can be. In embodiments, this reflection intensity can be used as a reference for manipulating the point cloud display in the map. For example, a SLAM system can introduce some color contrast (automatically or under user control) to highlight the reflectivity of a signal for a given feature, material, structure, or the like. ). In addition, SLAM systems can be combined with other systems to extend color and reflection coefficient information. In embodiments, one or more of the points in the point cloud are displayed using colors corresponding to parameters of the acquired data, such as intensity parameters, density parameters, time parameters, and geospatial location parameters. Can be. The coloring of the point cloud may assist the user in understanding and analyzing elements or features of the environment in which the SLAM system operates and / or features of the acquisition process of the point cloud itself. it can. For example, using a density parameter to indicate the number of points acquired within a geospatial area, the color representing the area where many data points are acquired and the data being sparse and false instead of "real" data Another color can be determined to indicate the presence of the image. The color can also indicate, for example, the time that evolves through the sequence of colors as the scan is performed, resulting in a clear indication of the path through which the SLAM scan is performed. Coloring can be used to distinguish between various features (e.g., comparing furniture in a space to a wall), to provide an artistic effect, to highlight areas of interest (e.g., to focus the attention of a scanning observer). (For example, related devices are highlighted).

実施形態では、SLAMシステムは、「影」(点クラウドが、走査からの比較的少ないデータ点しか持たない区域)を識別することができ、追加の走査を必要とする区域を強調表示することができる(例えばユーザインターフェースを通じて)。例えば、そのような区域は、点クラウドを表示するSLAMシステムの視覚インターフェース内で影区域がレーザ走査によって十分に「塗色」又は網羅されるまで明滅する又は特定の色で描画することができる。そのようなインターフェースは、まだ走査されていない視野内の区域を強調表示するユーザに対するいずれかのインジケータ(視覚的、文字ベース、音声ベース、又は同様のもの)を含むことができ、いずれかのそのようなインジケータを用いて直接的に又は外部デバイス(ユーザのモバイル電話等)を通じてユーザの注目を得ることができる。他の例示的かつ非限定的実施形態により、本発明のシステムは、未走査領域を識別するために現在走査との比較のためのそれまでに構築された点クラウド及びマップなどのようなSLAM上に格納されたデータの外部データを参照することができる。   In embodiments, the SLAM system may identify “shadows” (areas where the point cloud has relatively few data points from the scan) and may highlight areas that require additional scans. Yes (eg, through a user interface). For example, such areas may be drawn or painted in a particular color within the visual interface of a SLAM system displaying a point cloud until the shadow areas are fully "painted" or covered by laser scanning. Such an interface can include any indicator (visual, text-based, audio-based, or the like) to the user that highlights an area in the field of view that has not yet been scanned. Such an indicator can be used to obtain the user's attention directly or through an external device (such as the user's mobile phone). According to other exemplary and non-limiting embodiments, the system of the present invention provides a method for identifying previously unscanned areas on SLAMs such as previously constructed point clouds and maps for comparison with the current scan. Can refer to external data of data stored in.

実施形態では、本明細書に開示する方法及びシステムは、正確な位置及び方位情報を決定するために、又はレーザ走査からの反射信号に基づいて環境特徴部を示す点クラウドデータで構成されるマップを発生させるために外部システムによる処理又は計算を必要とすることなく稼働点において実時間測位出力を提供するSLAMシステムを含む。実施形態では、本明細書に開示する方法及びシステムは、レーザ走査から収集されたデータの後処理を必要とすることなく実時間測位情報を提供するSLAMシステムを含むこともできる。   In embodiments, the methods and systems disclosed herein provide a map composed of point cloud data indicating environmental features to determine accurate position and orientation information or based on reflected signals from a laser scan. Include a SLAM system that provides real-time positioning output at operating points without requiring processing or calculations by an external system to generate the In embodiments, the methods and systems disclosed herein may also include a SLAM system that provides real-time positioning information without requiring post-processing of the data collected from the laser scan.

実施形態では、SLAMシステムは、車両ナビゲーションシステム(無人飛行体、ドローン、モバイルロボット、無人水中車両、自動運転車両、半自動車両、及び多くの他のもの等のためのもの)のような様々な外部システムと統合することができる。実施形態では、SLAMシステムは、車両がそれ自体の環境の範囲内でGPSのような外部システムに頼ることなく進むことを可能にするために用いることができる。   In embodiments, the SLAM system may be a variety of external systems such as vehicle navigation systems (for unmanned vehicles, drones, mobile robots, unmanned underwater vehicles, self-driving vehicles, semi-automatic vehicles, and many others). Can be integrated with the system. In embodiments, a SLAM system may be used to allow a vehicle to travel within its own environment without resorting to external systems such as GPS.

実施形態では、SLAMシステムは、位置、方位、又は同様のものの現在推定に関して信頼性レベルを決定することができる。信頼性レベルは、走査において取得可能な点の密度、走査において取得可能な点の直交度、環境の幾何学形状、又は他の因子、又はこれらの組み合わせに基づくものとすることができる。信頼性レベルは、走査のセグメントを低信頼性セグメント、高信頼性セグメント、又は同様のものと呼ぶことができるように走査のルートに沿う各点における位置及び方位の推定に帰するものとすることができる。低信頼性セグメントは、追加の走査、他の技術の使用(外部データに基づいて調節を加えること等)、又は同様のことのために強調表示することができる。例えば、走査が閉ループ(走査の終了点が、既知の最初の場所での開始点と同じである)で行われる場合に、計算された終了場所と開始場所の間のいずれかの差異は、開始場所と終了場所の一致を回復するようにある一定の走査セグメントに対する場所推定を優先的に調節することによって解決することができる。低信頼性セグメント内の場所及び位置の情報は、高信頼性セグメントと比較して優先的に調節することができる。このように、SLAMシステムは、閉ループ走査に対して信頼性ベースの誤差補正を用いることができる。   In an embodiment, the SLAM system may determine a confidence level with respect to a current estimate of position, heading, or the like. The confidence level may be based on the density of points obtainable in the scan, the orthogonality of points obtainable in the scan, the geometry of the environment, or other factors, or a combination thereof. The confidence level shall be attributable to an estimate of the position and orientation at each point along the scan route so that the segments of the scan can be referred to as low-reliability segments, high-reliability segments, or the like. Can be. Unreliable segments can be highlighted for additional scanning, use of other techniques (such as making adjustments based on external data), or the like. For example, if the scan is performed in a closed loop (the end point of the scan is the same as the start point at the known first location), any difference between the calculated end location and start location will be This can be solved by preferentially adjusting the location estimate for certain scan segments to restore location and end location coincidence. Location and location information within the unreliable segment can be adjusted preferentially compared to the unreliable segment. Thus, the SLAM system can use reliability-based error correction for closed-loop scanning.

この信頼性ベースの調節の例示的かつ非限定的実施形態では、最初にGeorgia TechのMichael Kaess及びFrank Dellaertによって開発された区分的平滑化及びマッピング(iSAM)アルゴリズムの導出(M.Kaess、A.Ranganathan、及びF.Dellaert著「iSAM:区分的平滑化及びマッピング(iSAM:Incremental Smoothing and Mapping)」、IEEE Trans.on Robotics(TRO)、第24巻、第6号、2008年12月、1365〜1378ページ、PDF)を用いることができる。このアルゴリズムは、マップデータを「セグメント」で処理し、セグメント間の整合の残余誤差を最適化するようにこれらのセグメントの相対位置を反復的に精緻化する。それにより、全てのデータを閉ループ内で調節することによってループを閉じることが可能になる。多くのセグメント化の点は、アルゴリズムがデータを大幅に移動させることを可能にし、それに対して少ないセグメント化の点は高い剛性を生じる。 In an exemplary and non-limiting embodiment of this reliability-based adjustment, a derivation of the piecewise smoothing and mapping (iSAM) algorithm (M. Kaess, A. A.) originally developed by Michael Kaess and Frank Delaert of Georgia Tech. Langanathan and F. Dellert, "iSAM: Incremental Smoothing and Mapping (iSAM)," IEEE Trans. On Robotics (TRO), Vol. 24, No. 6, December 2008, 1365 1378 page, PDF ). This algorithm processes the map data in "segments" and iteratively refines the relative positions of these segments to optimize the residual error of alignment between the segments. This allows the loop to be closed by adjusting all the data in a closed loop. Many segmentation points allow the algorithm to move data significantly, while less segmentation points result in higher stiffness.

セグメント化のための点が整合信頼性メトリックに基づいて選択される時に、これを利用してループ閉鎖処理が正確なマップセクションの方々に局所誤差を分散させないように低い信頼性を有する領域内でマップを柔軟にし、高い信頼性を有する区域内で剛性にすることができる。このことは、各点に「柔軟性」を割り当てるようにセグメント化の点に重み付けし、この因子に基づいて誤差を分散させることによって更に改良することができる。   When points for segmentation are selected based on the matching reliability metric, this can be used to reduce the likelihood that the loop closure process will not distribute local errors to the correct map sections in regions with low reliability. The map can be flexible and rigid in highly reliable areas. This can be further improved by weighting the segmentation points to assign "flexibility" to each point and dispersing the error based on this factor.

実施形態では、点クラウドの区域又はセグメントに関する信頼性尺度を用いて、例えば改善されたSLAM走査を実現するために追加の走査を行うようにユーザを導くことができる。実施形態では、信頼性尺度は、点の密度、及び点の直交度などの組み合わせに基づくものとすることができ、より的確な走査を可能にするようにユーザを導くことができる。点の密度及び点の直交度のような走査属性は、走査が進行するにつれて実時間で決定することができることに注意されたい。同様に、システムは、低信頼性尺度を生じる可能性が高い走査環境の幾何学形状を感知することができる。例えば、平滑な壁を有する長い廊下は、1つの走査セグメントを次のセグメントから区別するためのいずれの不規則性も示さない可能性がある。そのような事例では、システムは、そのような環境内で取得された走査データに対して低めの信頼性尺度を割り当てることができる。システムは、低減する信頼性を決定し、走査を通して指示(「減速」、「左に方向転換」、又は同様のもの等)によってユーザを誘導するためにライダー、カメラ、及び場合によっては他のセンサのような様々な入力を用いることができる。他の実施形態では、システムは、所望のものよりも低い信頼性の区域をユーザインターフェース等を通じてユーザに表示し、それと同時にユーザが低信頼性の区域、容積、又は領域を更に走査することを可能にするように補助を与えることができる。   In embodiments, a confidence measure for an area or segment of a point cloud may be used to guide a user to perform additional scans, for example, to achieve an improved SLAM scan. In embodiments, the confidence measure may be based on a combination of point density, point orthogonality, etc., and may guide the user to enable a more accurate scan. Note that scanning attributes, such as point density and point orthogonality, can be determined in real time as the scan proceeds. Similarly, the system can sense the geometry of the scanning environment that is likely to produce a low confidence measure. For example, long corridors with smooth walls may not show any irregularities to distinguish one scan segment from the next. In such cases, the system may assign a lower confidence measure to scan data acquired in such an environment. The system determines the reduced reliability and the rider, camera, and possibly other sensors to guide the user by instructions (such as "slow down", "turn left", or the like) through scanning. Various inputs such as can be used. In other embodiments, the system displays a less reliable area than desired to the user, such as through a user interface, while allowing the user to further scan the less reliable area, volume, or area. You can provide assistance to

実施形態では、SLAM出力は、カメラからの出力、及び他のマッピング技術からの出力などのような他のコンテンツと融合することができる。実施形態では、SLAM走査は、走査に対応する時間符号化されたオーディオ音を取り込む随伴用途(任意的にモバイル用途)等によるオーディオトラックの取り込みと併せて実施することができる。実施形態では、SLAMシステムは、マッピングシステムが、マッピング器がオーディオ及び/又は音をいつどこで取得したかを含む走査がいつどこで発生したかを正確に示すことができるように、走査中にデータ収集の時間符号化を施す。実施形態では、時間符号化は、オーディオが利用可能なマップ上にあるインジケータの上をクリックすること等によってユーザがアクセスすることができるデータをマップ又は走査の中に挿入すること等により、音が有意なマップ区域内で当該音を定位するために用いることができる。実施形態では、写真、HDビデオ、又は同様のもののような他のメディアフォーマットを取り込んで走査と同期させることができる。これらのメディアフォーマットは、時間情報に基づいて別個にアクセスすることができ、又は走査出力と他のメディアに関する時間情報との時間同期に基づいてマップ自体の中の適切な箇所に挿入することができる。実施形態では、ユーザは、時間データを用いて時間を遡り、異なる時間符号化データを有する複数の走査等に基づいて経時的に何が変化したかを確認することができる。走査は、日付スタンプ又は時間スタンプ付きの稼働記録データのような他の情報を用いて更に改良することができる。上記のことから、走査は、シーン又は空間の多次元データベースの一部とすることができ、この場合、点クラウドデータは、時間ベースのデータ又はメディアを含むこのシーンに関係する他のデータ又はメディアに関連付けられる。実施形態では、計算は、例えば、原点で始まる新しい走査を再開しなければならないのではなく走査中の所与の点に戻ってその点で再開するように、走査をバックアップすることを可能にする方式で段階又はセグメントのシーケンスを通して維持される。それにより、例えば、最初は良好な出力を生成していた走査において後の時点で問題が発生した時に、走査を続けるための開始点としての部分走査情報の使用が可能になる。この場合、ユーザは、走査をある点に戻るまで「破棄し」又は「巻き戻し」、続いてこの点から走査を再開することができる。システムは、点クラウド特徴部に基づいて正確な位置情報及び場所情報を維持することができ、更に他の時間ベースのデータとの時間的配列を可能にするために時間情報を維持することができる。時間ベースのデータは、例えば、ある時間間隔にわたって走査が完了し、異なる時間間隔にわたって取り込まれた他のメディアと同期させる必要がある場合に、走査又は他のメディアを同期させるようなこれらの編集を可能にすることもできる。点クラウド内のデータは、時間スタンプを用いてタグ付けすることができ、それによって走査が指定点から再開することができるように巻き戻し先の時点の後の時間スタンプ付きデータを消去することができる。実施形態では、巻き戻しは、ある時点まで及び/又はある地理空間座標まで巻き戻す等、ある物理的な場所まで行うことができる。   In embodiments, the SLAM output can be fused with other content, such as output from a camera and output from other mapping techniques. In an embodiment, the SLAM scan may be performed in conjunction with capturing an audio track, such as in an attendant application (optionally a mobile application) that captures the time-encoded audio sound corresponding to the scan. In an embodiment, the SLAM system is configured to collect data during the scan so that the mapping system can accurately indicate when and where the scan occurred, including when and where the mapper acquired the audio and / or sound. Is applied. In an embodiment, the temporal encoding is such that sound is generated by inserting data into the map or scan that can be accessed by the user, such as by clicking on an indicator on the map where audio is available. It can be used to localize the sound within a significant map area. In embodiments, other media formats, such as photos, HD video, or the like, may be captured and synchronized with the scan. These media formats can be accessed separately based on time information, or inserted at appropriate places in the map itself based on the time synchronization of scan output with time information on other media. . In an embodiment, a user can go back in time using time data and see what has changed over time based on multiple scans or the like with different time-encoded data. Scanning can be further refined using other information such as date stamps or time stamped activity records. From the above, the scan can be part of a multi-dimensional database of scenes or space, where the point cloud data is other data or media related to this scene, including time-based data or media. Is associated with In an embodiment, the calculation allows, for example, to back up the scan so that it returns to a given point in the scan and resumes at that point instead of having to restart a new scan starting at the origin In a manner maintained throughout the sequence of steps or segments. This allows the use of partial scan information as a starting point to continue scanning, for example, when problems occur later in the scan that initially produced good output. In this case, the user can "discard" or "rewind" the scan until it returns to a point, and then resume scanning from this point. The system can maintain accurate location and location information based on point cloud features, and can also maintain time information to allow for temporal alignment with other time-based data. . The time-based data may be used to compile these edits, such as scanning or synchronizing other media, if the scan is completed over one time interval and needs to be synchronized with other media captured over different time intervals. It can be possible. Data in the point cloud can be tagged with a time stamp, thereby erasing the time-stamped data after the point to which it was rewound so that the scan could resume from the specified point. it can. In embodiments, rewinding may be to a physical location, such as rewinding to a point in time and / or to certain geospatial coordinates.

実施形態では、点クラウドを着色し、それをオーバーレイとして用いることによる融合を含むSLAMベースのマップからの出力とHDビデオのような他のコンテンツとの融合を行うことができる。この融合は、SLAMシステムと他のメディア取り込みシステムとの間の時間同期を含むことができる。コンテンツは、ビデオ、空間の静止画像、空間のCADモデル、走査中に取り込まれたオーディオコンテンツ、場所に関連付けられたメタデータ、又は他のデータ又はメディアと融合することができる。   Embodiments can fuse the output from a SLAM-based map with other content, such as HD video, including coloring the point cloud and using it as an overlay. This fusion can include time synchronization between the SLAM system and other media capture systems. Content may be fused with video, spatial still images, spatial CAD models, audio content captured during scanning, metadata associated with locations, or other data or media.

実施形態では、SLAMシステムは、点クラウドを操作するために用いることができるツール(例えばCAD)のような他の技術及びプラットフォームと統合することができる。この統合は、走査をCADモデル化ツール、急速プロトタイピングシステム、3D印刷システム、及び点クラウド又は中実モデルデータを用いることができる他のシステム内でモデル化された特徴部と組み合わせる段階を含むことができる。走査は、着色ツールのような後処理ツールに入力として提供することができる。走査は、例えば、注目点、メタデータ、メディアコンテンツ、注釈、ナビゲーション情報、特定の形状を区別するため及び/又は物体を識別するための意味解析を追加するためにマッピングツールに提供することができる。   In embodiments, the SLAM system can integrate with other technologies and platforms, such as tools (eg, CAD) that can be used to manipulate point clouds. This integration involves combining scans with features modeled in CAD modeling tools, rapid prototyping systems, 3D printing systems, and other systems that can use point clouds or solid model data. Can be. The scan can be provided as input to a post-processing tool, such as a coloring tool. Scanning can be provided to a mapping tool, for example, to add points of interest, metadata, media content, annotations, navigation information, semantic analysis to distinguish particular shapes and / or identify objects. .

出力は、地中レーダ、X線撮像、磁気共鳴撮像、コンピュータ断層映像、赤外線撮像、写真、ビデオ、SONAR、レーダ、及びライダーなどのような他の走査システム及び画像取り込みシステムからの出力と組み合わせることができる。この組み合わせは、走査の出力を車載ナビゲーションシステム、手持ち式マッピングシステム、モバイル電話ナビゲーションシステム、及び他のもののようなナビゲーションシステム及びマッピングシステムと統合する段階を含むことができる。走査からのデータは、X、Y、及びZの位置情報、並びにピッチ、ロール、及びヨーの情報を含む位置及び方位のデータを他のシステムに提供するために用いることができる。   Output combined with output from other scanning and image capture systems such as underground radar, x-ray imaging, magnetic resonance imaging, computed tomography, infrared imaging, photography, video, SONAR, radar, lidar, etc. Can be. This combination may include integrating the output of the scan with a navigation and mapping system such as an on-board navigation system, a hand-held mapping system, a mobile phone navigation system, and others. The data from the scan can be used to provide other systems with position and orientation data, including X, Y, and Z position information, as well as pitch, roll, and yaw information.

実時間SLAMシステムから取得されるデータは、とりわけ、3D運動取り込みシステム、音響工学用途、バイオマス測定、航空機建造、考古学、建築及び土木、拡張現実(AR)、自動走行車、自律モバイルロボット用途、浄化及び処理、CAD/CAM用途、建設現場管理(例えば進捗確認)、娯楽、探査(宇宙、鉱山、及び水中など)、林業(材木切り出し及びカエデ糖のような他の林業製品の管理)、フランチャイズの管理及び規則遵守(例えば店舗及びレストラン)、確認及び規則遵守のための撮像用途、屋内定位、室内設計、在庫検査、景観設計、保守のための産業空間マッピング、トラック輸送ルートマッピング、軍事/諜報用途、モバイルマッピング、石油パイプライン監視及び掘削、土地建物の評価及び他の不動産用途、小売店屋内定位(例えば、実時間マップを在庫マップに結合すること等)、保安用途、備蓄品監視(鉱石、木材、物資等)、査定(より良い見積もりを行うために事前精査をする段階を含む)、UAV/ドローン、モバイルロボット、地下マッピング、3Dモデル作成用途、仮想現実(空間着色を含む)、倉庫管理、地区制/計画立案用途、自律遂行任務、検査用途、ドッキング用途(宇宙船及び船舶を含む)、洞窟探検、及びビデオゲーム/拡張現実用途を含む多くの異なる目的のための用いることができる。全ての使用シナリオにおいて、SLAMシステムは、言及した使用分野で本明細書で説明するように作動することができる。   Data acquired from real-time SLAM systems include, among others, 3D motion capture systems, acoustic engineering applications, biomass measurement, aircraft construction, archeology, architecture and civil engineering, augmented reality (AR), autonomous vehicles, autonomous mobile robot applications, Purification and treatment, CAD / CAM applications, construction site management (eg, progress monitoring), recreation, exploration (space, mining, underwater, etc.), forestry (logging and management of other forestry products such as maple sugar), franchises. Management and compliance (eg stores and restaurants), imaging applications for verification and compliance, indoor location, indoor design, inventory inspection, landscape design, industrial space mapping for maintenance, trucking route mapping, military / intelligence Applications, mobile mapping, oil pipeline monitoring and drilling, land and building assessment and other real estate applications, Store location (eg, combining real-time maps with inventory maps), security use, stock monitoring (ore, wood, supplies, etc.), assessment (including pre-scrutiny to make better estimates) ), UAV / drone, mobile robot, underground mapping, 3D model creation, virtual reality (including space coloring), warehouse management, district system / planning, autonomous mission, inspection, docking (spacecraft and ships) ), Cave exploration, and video game / augmented reality applications. In all usage scenarios, the SLAM system can operate as described herein in the fields of use mentioned.

例示的かつ非限定的実施形態により、ユニットは、IMUとカメラ(視覚)とLiDARセンサとのハードウェア同期を含む。ユニットは、暗所又は無構造環境内である期間にわたって作動させることができる。処理パイプラインはモジュールで構成することができる。暗所では、視覚モジュールを迂回することができる。無構造環境では、LiDARモジュールを迂回又は部分的に迂回することができる。例示的かつ非限定的実施形態では、IMU、ライダー、及びカメラのデータ全てに時間スタンプが付けられ、これらのデータを時間的に整合及び同期させることができる。その結果、システムは、画像データと点クラウドデータとを同期させるように自動方式で機能することができる。一部の事例では、同期されたカメラ画像からの色データを用いて塊データピクセルをユーザに表示するために着色することができる。   According to an exemplary and non-limiting embodiment, the unit includes hardware synchronization of the IMU, camera (vision) and LiDAR sensor. The unit can be operated for a period of time in a dark or unstructured environment. The processing pipeline can be composed of modules. In the dark, the visual module can be bypassed. In an unstructured environment, the LiDAR module can be bypassed or partially bypassed. In an exemplary, non-limiting embodiment, all IMU, rider, and camera data is time stamped and these data can be time aligned and synchronized. As a result, the system can function in an automated manner to synchronize the image data with the point cloud data. In some cases, the chunk data pixels may be colored for display to a user using color data from the synchronized camera image.

ユニットは、走査整合のための4つのCPUスレッドを含むことができ、例えば、Velodyneデータを用いて5Hzで稼働することができる。作動時のユニットの運動は、比較的高速のものとすることができる。例えば、ユニットは、約360度/秒の角速度と約30m/sの線速度とで作動することができる。   The unit may include four CPU threads for scan alignment, for example, running at 5 Hz with Velodyne data. The movement of the unit in operation can be relatively fast. For example, the unit can operate at an angular velocity of about 360 degrees / second and a linear velocity of about 30 m / s.

ユニットは、以前の発生マップに対して定位することができる。例えば、マップをゼロから構築する代わりに、ユニットのソフトウェアは、以前に構築されたマップを参照してこの古いマップのフレームワーク(例えば地理空間又は他の座標)の範囲内でセンサ姿勢及び新しいマップを発生させることができる。ユニットは、定位を用いてマップを更に拡張することができる。古いマップフレーム内で新しいマップを展開させることにより、新しいマップは、更に拡張して古いマップから飛び出すことができる。それにより、最初に初期「バックボーン」走査を生成し、場合によってドリフト及び/又は他の誤差を低減するように後処理し、その後、このマップから再開して建物内の脇部屋のような局所詳細を追加する又は注目領域内の点密度を高める分岐及び連鎖を含む様々な使用モードが可能になる。この方式を採用することにより、広域ドリフトを制限するように特別の注意を払ってバックボーンモデルを発生させることができ、それに続く走査は、局所詳細を取り込むことに集中して発生させることができる。また、より高速な大領域取り込みのための複数のデバイスが同じ基本マップから始めて詳細走査を実施することもできる。   The unit can be localized relative to the previous occurrence map. For example, instead of building a map from scratch, the unit's software may refer to a previously built map and use the sensor pose and new map within this old map framework (eg, geospatial or other coordinates). Can be generated. The unit can further extend the map using localization. By deploying the new map within the old map frame, the new map can be further expanded and popped out of the old map. Thereby, an initial "backbone" scan is first generated and post-processed in some cases to reduce drift and / or other errors, and then resumed from this map to resume local details such as side rooms in the building A variety of modes of use are possible, including branching and chaining, which add to or increase point density in the region of interest. By employing this scheme, the backbone model can be generated with special care to limit global drift, and subsequent scans can be concentrated on capturing local details. Also, multiple devices for faster large area capture can perform detailed scans starting from the same basic map.

更に、異なるタイプのデバイスによって生成されたモデルから始めて又はCAD図面から生成されたモデルであっても、そこから再開することもできる。例えば、高い広域精度の固定デバイスが基本マップを構築し、モバイルスキャナが、このマップから再開して詳細を埋めることができる。代替実施形態では、長距離デバイスが建物の外側区域及び大きい内側区域を走査することができ、短距離デバイスが、この走査から再開してより小さい廊下及び部屋並びにより細かい詳細を加えて入れることができる。CAD図面から再開することは、CADと施工完了時のものとの間の較差を迅速に検出することに関して多大な利点を有することができる。   In addition, it is possible to start with a model generated by a different type of device or to restart from a model generated from a CAD drawing. For example, a fixed device with high global accuracy can build a base map, and a mobile scanner can resume from this map and fill in details. In an alternative embodiment, a long-range device can scan outside and large interior areas of a building, and a short-range device can resume from this scan and add smaller hallways and rooms and more detailed details. it can. Resuming from a CAD drawing can have a great advantage in terms of quickly detecting the difference between the CAD and the one at the completion of the construction.

再開は、場所位置合わせ済みの時間データを提供することもできる。例えば、進捗を視覚的に確認するために複数の走査を構築現場から経時的に取得することができる。他の実施形態では、工場の複数の走査が資産管理のための追跡を補助することができる。   The restart may also provide location aligned time data. For example, multiple scans can be obtained over time from the construction site to visually confirm progress. In other embodiments, multiple scans of the factory may aid tracking for asset management.

再開は、これに代えて、単純に以前のマップの範囲内の定位データを提供するために用いることができる。これは、ロボット車両を誘導する上で、又は画像、熱マップ、音響のような新しいセンサデータを既存のマップの範囲内で定位する上で有用である可能性がある。   Resume can alternatively be used simply to provide localization data within the scope of the previous map. This can be useful in guiding a robotic vehicle or in localizing new sensor data, such as images, thermal maps, sounds, etc., within existing maps.

一部の実施形態では、ユニットは、マッピングモードで比較的高いCPU使用率を用い、かつ長期の定位/ナビゲーションに適する定位モードでは比較的低いCPU使用率を用いる。一部の実施形態では、ユニットは、時々に内部リセットを実行することによって長期作動をサポートする。この内部リセットは、内部処理中に生成される値のうちのいくつかが経時的に上昇することから有益である。長い作動期間(例えば数日)にわたって、これらの値は、コンピュータ内の値に対するストレージの論理的又は物理的な限界のような限界に達してリセットなしには場合によっては処理を失敗させる可能性がある。一部の事例では、システムは、性能を改善するためにRAMメモリを自動的にフラッシュすることができる。他の実施形態では、システムは、新しく取得したデータと古い及び/又は保管されたデータとの実時間比較を実施する時に必要である可能性があることから、古い走査データをダウンサンプリングすることができる。   In some embodiments, the unit uses a relatively high CPU usage in the mapping mode and a relatively low CPU usage in the localization mode suitable for long-term localization / navigation. In some embodiments, the unit supports long-term operation by performing an internal reset from time to time. This internal reset is beneficial because some of the values generated during internal processing increase over time. Over a long period of operation (e.g., several days), these values can reach limits, such as logical or physical limits on storage for the values in the computer, and possibly cause processing to fail without a reset. is there. In some cases, the system can automatically flush the RAM memory to improve performance. In other embodiments, the system may downsample old scan data, as may be necessary when performing a real-time comparison of newly acquired data with old and / or archived data. it can.

他の例示的実施形態では、ユニットは、飛行用途及び空中マップ−地上マップの融合をサポートすることができる。他の実施形態では、ユニットは、IMU周波数、例えば100Hzで姿勢出力を計算することができる。そのような事例では、ソフトウェアは、マップ並びにセンサ姿勢を発生させることができる。センサ姿勢は、展開中のマップに対するセンサの位置及び方位を伝える。高周波数の正確な姿勢出力は、車両運動制御がそのようなデータを必要とすることから自律移動に役立つ。ユニットは、共分散及び推定信頼性を更に用いてセンサが静止している時に姿勢を固定することができる。   In other example embodiments, the unit may support flight applications and aerial map-ground map fusion. In another embodiment, the unit may calculate the attitude output at the IMU frequency, for example, 100 Hz. In such cases, the software can generate the map as well as the sensor pose. The sensor pose conveys the position and orientation of the sensor with respect to the map being developed. High frequency, accurate attitude output is useful for autonomous movement as vehicle motion control requires such data. The unit can further use covariance and estimated reliability to fix the attitude when the sensor is stationary.

図17(a)〜図17(b)を参照すると、SLAMの例示的かつ非限定的実施形態が示されている。実質的に半球の走査を発生させるためにライダーが回転される。この回転は、平歯車アセンブリ1704によってライダーマウントに平歯車減速を駆動するDCモータを有する機構によって実施される。平歯車減速アセンブリ1704は、ライダーをモータ1708からオフセットすることを可能にする。動力を供給し、回転するライダーからデータを受信するためにライダーの回転に沿ってスリップリングが存在する。走査中のこの機構の方位を記録するための符号器1706が同様にライダーの回転に一致している。薄いセクション接触ベアリングがライダーの回転シャフトを支持する。ライダーの回転板上にある釣り合い重りが、回転軸の周囲の重量のバランスをとり、回転を平滑で一定のものにする。下記のライダーの駆動機構及び取り付けの図に描いているように、この機構は、走査点の場所の内挿のための定速の維持を可能にするために最小の揺れ及びがたつきしか持たないように設計される。モータシャフト1710が、ライダーコネクタ1712と物理的連通状態にあることに注意されたい。   Referring to FIGS. 17 (a)-(b), exemplary and non-limiting embodiments of a SLAM are shown. The rider is rotated to generate a substantially hemispherical scan. This rotation is performed by a mechanism having a DC motor that drives spur gear reduction to the rider mount by spur gear assembly 1704. Spur gear reduction assembly 1704 allows the rider to be offset from motor 1708. A slip ring exists along the rider's rotation to power and receive data from the spinning rider. An encoder 1706 for recording the orientation of this mechanism during scanning is also coincident with the rider's rotation. Thin section contact bearings support the rider's rotating shaft. A counterweight on the rider's rotating plate balances the weight around the axis of rotation and makes the rotation smooth and constant. As illustrated in the rider drive mechanism and mounting diagrams below, this mechanism has minimal sway and rattling to allow for maintaining a constant speed for interpolation of scan point locations. Not designed. Note that motor shaft 1710 is in physical communication with rider connector 1712.

図18を参照すると、SLAMエンクロージャ1802の例示的かつ非限定的実施形態が示されている。SLAMエンクロージャ1802は、様々な図及び斜視図で描かれている。寸法は、実施形態を表しており、ライダー、オドメトリカメラ、着色カメラ、及びユーザインターフェース画面などのような主要構成要素の一般的な特徴及び方位を維持しながらサイズは同様又は異なるものとすることができることから非限定的である。   Referring to FIG. 18, an exemplary, non-limiting embodiment of a SLAM enclosure 1802 is shown. SLAM enclosure 1802 is depicted in various figures and perspective views. Dimensions represent an embodiment and may be similar or different in size while maintaining the general features and orientation of key components such as riders, odometry cameras, tinted cameras, and user interface screens, etc. It is non-limiting because it can be done.

一部の実施形態では、ユニットは、例えば、個人が歩き回りながらユニットを保持するのを補助するために首装具、肩装具、キャリーバッグ、又は他の着用可能な要素又はデバイス(図示していない)を用いることができる。ユニット又は支持要素又は支持デバイスは、走査中に揺れ又は振動を低減するための1又は2以上の安定化要素を含むことができる。他の実施形態では、ユニットは、手持ち式ユニットの重量を低減するためにショルダーバッグ又は同様のものの中で携帯されるリモートバッテリを用いることができ、従って、走査デバイスは外部電源を有する。   In some embodiments, the unit may be, for example, a neck brace, a shoulder brace, a carry bag, or other wearable element or device (not shown) to assist an individual in holding the unit while walking around Can be used. The unit or support element or device may include one or more stabilizing elements to reduce wobble or vibration during scanning. In other embodiments, the unit can use a remote battery carried in a shoulder bag or the like to reduce the weight of the hand-held unit, so the scanning device has an external power supply.

他の実施形態では、カメラ及びライダーは、視野を最大化するように配列される。カメラ−レーザ配列は妥協を引き起こす。一方では、カメラがレーザのFOVを遮蔽し、もう一方ではレーザがカメラを遮蔽する。そのような配列では、これらの両方が若干の遮蔽を受けるが、この遮蔽は、マッピング品質を著しく犠牲にすることはない。一部の実施形態では、視覚処理がレーザデータによって支援されることから、カメラは、レーザと同じ方向を向く。レーザ距離測定は、処理において画像特徴部に深度情報を与える。   In other embodiments, the cameras and riders are arranged to maximize the field of view. The camera-laser arrangement creates a compromise. On the one hand, the camera blocks the laser FOV, and on the other hand the laser blocks the camera. In such an arrangement, both of these receive some occlusion, but this occlusion does not significantly compromise mapping quality. In some embodiments, the camera is pointed in the same direction as the laser because the visual processing is assisted by the laser data. Laser distance measurement provides depth information to image features during processing.

一部の実施形態では、空間データの信頼性を表す信頼性メトリックを用いることができる。そのような信頼性メトリック測定は、点の個数、点の分布、点の直交度、及び環境幾何学形状などを含むことができるがこれらに限定されない。レーザデータ処理(例えば走査整合)及び画像処理のための1又は2以上の信頼性メトリックを計算することができる。図19(a)〜図19(c)を参照すると、レーザ整合推定信頼性によって区別される点クラウドを示す例示的かつ非限定的な例が示されている。実際には、そのような画像は色分けすることができるが、例示するように、軌道と点の両方は、記録時の最後の信頼性値に基づいて群内で実線又は点線として描かれている。これらの例では、濃い灰色は不良であり、明るい灰色は良好である。値>10を有する全てのものが実線であるように値を閾値処理している。実験を通じて、Velodyne<1を有するものは信頼することができず、<10は信頼性が低く、>10は非常に良好であることが判明した。   In some embodiments, a reliability metric that represents the reliability of the spatial data may be used. Such reliability metric measurements can include, but are not limited to, the number of points, distribution of points, orthogonality of points, environmental geometry, and the like. One or more reliability metrics for laser data processing (eg, scan matching) and image processing can be calculated. Referring to FIGS. 19 (a) -19 (c), illustrative and non-limiting examples showing point clouds distinguished by laser match estimation reliability are shown. In practice, such images can be color coded, but as illustrated both trajectories and points are drawn as solid or dotted lines within the group based on the last reliability value at the time of recording. . In these examples, dark gray is bad and light gray is good. The values are thresholded so that everything with a value> 10 is a solid line. Experiments have shown that those with Velodyne <1 are not reliable, <10 is unreliable, and> 10 is very good.

これらのメトリックを用いることにより、例えば、本明細書の他の箇所で解説するループ閉鎖ツールを利用する時に、モデル問題及びオフラインモデル補正を解決するための自動試験が可能になる。更に、これらのメトリックの使用は、整合が不良である時にユーザに報知し、場合によっては自動一時停止し、低信頼性データを破棄し、更に走査時にユーザに報知することを可能にする。図19(a)は、比較的遅いペースで実施された建物階の走査を例示している。図19(b)は、比較的速いペースで実施された同じ建物階の走査を例示している。遅めの走査ペースから取得された走査と比較した時に、走査が実施される速度に部分的に起因して軽度のほころびの広がりが生じていることに注意されたい。図19(a)は、比較的低い信頼性の潜在的な不具合スポットにズームインした表示を例示している。   The use of these metrics allows for automated testing to solve model problems and off-line model corrections, for example, when utilizing the loop closure tool described elsewhere herein. In addition, the use of these metrics allows the user to be notified when a match is bad, possibly auto-pause, discarding unreliable data, and notifying the user when scanning. FIG. 19 (a) illustrates a scan of a building floor performed at a relatively slow pace. FIG. 19 (b) illustrates a scan of the same building floor performed at a relatively fast pace. Note that there is a slight spread of dust when compared to a scan taken from a slower scan pace, due in part to the speed at which the scan is performed. FIG. 19 (a) illustrates a display in which a potential defect spot having relatively low reliability is zoomed in.

図20を参照すると、走査対走査の整合信頼性メトリック処理の例示的かつ非限定的実施形態が例示されており、フルレーザ走査と以前のフルレーザ走査から構築されたマップとの間で追従する視覚特徴部の平均個数を計算して視覚的に提示することができる。このメトリックは、有用であるが異なる信頼性尺度を提示することができる。図20では、左の枠内にレーザ走査信頼性メトリック図が提示されており、右の枠内には同じデータに関する視覚特徴部メトリックの平均個数が提示されている。前と同様に、濃い灰色の線は、低い信頼性及び/又は視覚特徴部の少ない平均個数を示している。   Referring to FIG. 20, an exemplary, non-limiting embodiment of a scan-to-scan match reliability metric process is illustrated wherein a visual feature follows between a full laser scan and a map constructed from a previous full laser scan. The average number of copies can be calculated and presented visually. This metric can provide a useful but different measure of reliability. In FIG. 20, a laser scanning reliability metric diagram is presented in the left pane, and the average number of visual feature metrics for the same data is presented in the right pane. As before, the dark gray line indicates low reliability and / or low average number of visual features.

一部の実施形態では、ループ閉鎖を用いることができる。例えば、ユニットは、部屋、個室を歩き回り、オフィスを出入りし、開始点に戻る時に作動させることができる。理想的には、開始点及び終了点からのデータメッシュは、正確にメッシュ形成されなければならない。現実には、ある程度のドリフトが存在する可能性がある。本明細書で説明するアルゴリズムは、そのようなドリフトを大幅に矮小化する。典型的な低減は、従来方法に対して10×程度である(0.2%対2%)。この比は、開始点と終了点の間の距離における誤差をループ中に移動した総距離で除したものを反映する。一部の実施形態では、ソフトウェアは、開始点に戻ったことを認識し、原点に再固定することができる。完了すると、変動を取得してそれを収集データの全てにわたって分散させることができる。他の実施形態では、データ信頼性が不良であったことを信頼性メトリックが示すある一定の点クラウドデータを確定し、低い信頼性を有する区域に調節を加えることができる。   In some embodiments, loop closure can be used. For example, the unit can be activated when walking around a room, a private room, entering and exiting an office, and returning to a starting point. Ideally, the data mesh from the start and end points must be meshed accurately. In reality, there may be some drift. The algorithm described herein significantly reduces such drift. Typical reductions are of the order of 10 × over conventional methods (0.2% vs. 2%). This ratio reflects the error in the distance between the start and end points divided by the total distance traveled during the loop. In some embodiments, the software can recognize that it has returned to the starting point and re-fix to the origin. Once completed, the variability can be captured and spread over all of the collected data. In other embodiments, certain point cloud data may be determined where the reliability metric indicates that the data reliability was poor, and adjustments may be made to areas with low reliability.

一般的に、本発明のシステムは、明示的及び暗示的なループ閉鎖を用いることができる。一部の事例では、ユーザは、SLAMの一部を形成するユーザインターフェース等によってループを閉じるべきことを示すことができる。この明示的ループ閉鎖の結果として、SLAMは、始端で取得されたデータと終端で取得されたデータとを互いに一致させてループを閉じるために直近の走査データをループの始端で取得されたデータに整合させることができる。他の実施形態では、本発明のシステムは、暗示的ループ閉鎖を実施することができる。そのような事例では、本発明のシステムは、それ自体が、走査ループに対する原点又は原領域を含む場所を能動的に再走査することになることを認識している自動方式で作動することができる。   In general, the system of the present invention can use explicit and implicit loop closure. In some cases, the user may indicate that the loop should be closed, such as through a user interface that forms part of the SLAM. As a result of this explicit loop closure, the SLAM converts the most recent scan data to the data acquired at the beginning of the loop in order to close the loop with the data acquired at the beginning and the data acquired at the end. Can be matched. In other embodiments, the system of the present invention can implement implicit loop closure. In such cases, the system of the present invention can operate in an automated manner, recognizing that it will actively rescan the location including the origin or original area for the scan loop. .

一部の実施形態では、信頼性ベースのループ閉鎖を用いることができる。最初に、複数のセグメントを含む区域のループ走査の開始点と終了点を決定することができる。次に、複数のセグメントの信頼性を決定することができる。続いて、ループの始端と終端とを一致させるために高品質セグメントではなく低品質セグメントに調節を加えることができる。   In some embodiments, a reliability-based loop closure can be used. First, the starting and ending points of a loop scan of an area containing a plurality of segments can be determined. Next, the reliability of the plurality of segments can be determined. Subsequently, adjustments can be made to the lower quality segments rather than the higher quality segments to match the beginning and end of the loop.

他の例示的実施形態では、多ループの信頼性ベースのループ閉鎖を実施することができる。更に他の実施形態では、意味的に調節を加える信頼性ベースのループ閉鎖を用いることができる。例えば、走査対象要素の属性、すなわち、床が平坦であること、廊下が真直ぐであること等から構造情報を導出することができる。   In another exemplary embodiment, a multi-loop reliability-based loop closure can be implemented. In still other embodiments, a reliability-based loop closure that provides semantic adjustment may be used. For example, structural information can be derived from the attributes of the scanning target element, that is, the floor is flat, the corridor is straight, and the like.

一部の事例では、ライダー点クラウドデータの着色を用いることができる。一部の実施形態では、何が取り込まれたかを識別するのを補助するために、収集点への大まかな着色を実時間で用いることができる。他の実施形態では、オフラインの写実的着色を用いることができる。他の実施形態では、カメラ内の各ピクセルを固有ライダーピクセルにマッピングすることができる。例えば、点クラウド内のライダーデータに対応する着色カメラ内のピクセルから色データを取得してそれをライダーデータに付加することができる。   In some cases, coloring of the rider point cloud data can be used. In some embodiments, coarse coloring of collection points can be used in real time to help identify what has been captured. In other embodiments, off-line photorealistic coloring can be used. In other embodiments, each pixel in the camera can be mapped to a unique lidar pixel. For example, color data can be obtained from a pixel in a colored camera corresponding to the rider data in the point cloud and added to the rider data.

例示的かつ非限定的実施形態により、ユニットは、運動に関して粗から細へと求解する順次多層処理パイプラインを用いることができる。最適化の各層において、前の粗な結果が最適化問題への初期推測として用いられる。パイプライン内の段階は以下の通りである。   According to an exemplary and non-limiting embodiment, the unit can use a sequential multi-layer processing pipeline that solves for motion from coarse to fine. At each layer of the optimization, the previous coarse result is used as an initial guess for the optimization problem. The stages in the pipeline are as follows:

1.高周波数の更新(200Hz程度)を施すが高レベルのドリフトを受ける運動予測のためのIMU機構から始める。   1. Start with an IMU mechanism for motion prediction that performs high frequency updates (around 200 Hz) but experiences high levels of drift.

2.次に、カメラのフレーム速度(30〜40Hz)における視覚−慣性オドメトリ最適化によってこの推定を精緻化し、この最適化問題は、IMU運動推定を姿勢変化の初期推測として用い、現在のカメラフレームから追跡される一部の特徴部からキーフレームまでの間の運動における残余二乗誤差を最小化しようとする試みにおいてこの姿勢変化を調節する。   2. This estimate is then refined by visual-inertial odometry optimization at the camera frame rate (30-40 Hz), which uses the IMU motion estimation as an initial guess of pose changes and tracks from the current camera frame. This pose change is adjusted in an attempt to minimize the residual squared error in the movement between some features to the keyframe.

3.続いて、この推定は、「走査フレーム」速度によって決定される低めの速度でのレーザオドメトリ最適化によって更に精緻化される。走査データは連続的に到着し、ソフトウェアは、これらのデータを画像フレームと同様の複数のフレームへと定速で分割し、この時点ではこの速度は、ライダー回転機構の1回の回転が各走査フレームを完全なデータ半球にするのに要する時間である。これらのデータは、同じ走査フレーム内の点が収集されることから位置変化の視覚−慣性推定を用いて互いに貼り合わせられる。ライダーオドメトリ姿勢最適化段階において、視覚オドメトリ推定を初期推測として取得し、最適化は、前の走査フレームに整合される現在走査フレーム内で追跡される特徴部における残余誤差を低減しようと試みる。   3. Subsequently, this estimate is further refined by laser odometry optimization at a lower speed determined by the "scan frame" speed. The scan data arrives continuously and the software divides the data into a number of frames, similar to image frames, at a constant speed, at which point a single rotation of the rider rotation mechanism is used for each scan. This is the time it takes to make a frame into a complete data hemisphere. These data are glued together using visual-inertial estimation of position changes since points in the same scan frame are collected. In the lidar odometry pose optimization phase, the visual odometry estimate is taken as an initial guess, and the optimization attempts to reduce residual errors in features tracked in the current scan frame that are aligned with the previous scan frame.

4.最終段階において、現在走査フレームは、これまでのマップ全体に対して整合される。レーザオドメトリ推定を初期推測として取得し、最適化は、現在走査フレーム内の特徴部とこれまでのマップ内にある特徴部との間の残余二乗誤差を最小化する。   4. In the final stage, the current scan frame is aligned with the entire previous map. Taking the laser odometry estimate as an initial guess, the optimization minimizes the residual square error between features in the current scan frame and features in the previous map.

結果として得られるシステムは、高周波数低待ち時間自己運動推定を高密度の正確な3Dマップ位置合わせと併せて可能にする。更に、システムは、各段階が前の段階における誤差を補正することができることから、失敗モジュールを迂回する自動再構成によってセンサ劣化に対処することができる。従って、システムは、非常に動的な運動の存在下で、並びに暗い凹凸及び構造のない環境内で作動することができる。実験中に、システムは、9.3kmのナビゲーションにわたって0.22%の相対位置ドリフトを実証し、ランニング、ジャンプに関して、更には高速道路上での高速運転(最大で33m/s)に関してさえもロバスト性を実証した。   The resulting system allows for high frequency, low latency, self-motion estimation in conjunction with dense, accurate 3D map registration. Further, the system can address sensor degradation by automatic reconfiguration around failed modules, as each stage can correct for errors in previous stages. Thus, the system can operate in the presence of highly dynamic movements and in an environment without dark irregularities and structures. During the experiment, the system demonstrated 0.22% relative position drift over 9.3 km of navigation and was robust for running, jumping, and even for high speed driving on highways (up to 33 m / s). Demonstrated the nature.

そのようなシステムの他の主要特徴は、以下のものを含むことができる。   Other key features of such a system may include:

深度を用いる及び用いない視覚特徴部の最適化:ソフトウェアは、追跡される視覚特徴部の深度を最初にこれらの特徴部をレーザデータに関連付けようと試み、次にカメラフレーム間で深度を三角測位しようと試みることによって決定しようと試みることができる。続いて特徴部最適化ソフトウェアは、1つが深度が既知の特徴部に対する及び1つが深度が未知の特徴部に対する2つの異なる誤差計算において全ての特徴部を利用することができる。 Optimization of visual features with and without depth : The software first attempts to correlate the depth of the tracked visual features with the laser data and then triangulates the depth between camera frames. You can try to decide by trying. The feature optimization software can then utilize all features in two different error calculations, one for features with known depth and one for features with unknown depth.

レーザ特徴部決定:ソフトウェアは、全体の走査フレームではなく走査ラインデータが到着するにつれてレーザ走査特徴部を抽出することができる。この抽出は、はるかに簡単であり、各点とそのいずれかの側にあるK個の最も近い点との間の相対距離によって定義される当該点における平滑度を調べ、続いて最も平滑な点を平面特徴部と分類し、最も鋭角な点を縁部特徴部と分類することによって行われる。この抽出は、不良特徴部とすることができる一部の点の削除も可能にする。 Laser feature determination : The software can extract laser scan features as the scan line data arrives rather than the entire scan frame. This extraction is much simpler, examining the smoothness at that point, defined by the relative distance between each point and the K nearest points on either side, followed by the smoothest point Is classified as a plane feature, and the sharpest point is classified as an edge feature. This extraction also allows for the elimination of some points that can be bad features.

マップ整合及びボクセル化:レーザ整合が実時間でどの程度機能するかということの一部は、マップ及び特徴部データがどのように格納されるかである。正確な整合に必要とされるものを保持しながら格納されるデータを最小限に抑えるために、この格納データのプロセッサ負荷を追跡することは、長期走査及び3次元基本ユニットへの選択的ボクセル化又はダウンサンプリングにとって重要である。プロセッサ負荷に基づいてこのダウンサンプリングのボクセルサイズ又は基本ユニットの実行中の調節は、大きいマップにおいて実時間性能を維持する機能を改善することができる。 Map matching and voxelization : Part of how laser matching works in real time is how the map and feature data are stored. Tracking the processor load of this stored data to minimize the data stored while retaining what is required for accurate alignment is a long-term scan and selective voxelization to three-dimensional basic units. Or it is important for downsampling. This downsampling voxel size or on-the-fly adjustment of the base unit based on processor load can improve the ability to maintain real-time performance on large maps.

並列処理:ソフトウェアは、プロセッサがデータを処理することができる速度よりも速くデータが到着する場合に、実時間性能を維持するために並列処理を利用することができるように構成することができる。この並列処理は、velodyneのような高速な点/秒のライダーの時により有意である。 Parallel processing : The software can be configured such that when data arrives faster than the processor can process the data, parallel processing can be utilized to maintain real-time performance. This parallelism is more significant for fast point / second riders such as velodyne.

ロバスト性:本発明のシステムが前段階の推定を次の推定の一部として含めることなく(初期推測であることは別として)別個の最適化段階を用いる手法は、ある程度の内因的なロバスト性を生み出す。 Robustness : An approach in which the system of the present invention uses a separate optimization stage (apart from being an initial guess) without including the previous estimate as part of the next estimate is somewhat intrinsically robust. Produces.

信頼性メトリック:この処理における各最適化段階は、当該段階自体の結果における信頼性に関する情報を提供することができる。特に、各段階において、結果における信頼性尺度を与えるために最適化後に残っている残余二乗誤差及びフレーム間で追跡する特徴部の個数などを評価することができる。 Reliability metric : Each optimization step in this process can provide information about the reliability of the result of that step itself. In particular, at each stage, the residual square error remaining after optimization and the number of features tracked between frames can be evaluated to provide a measure of reliability in the results.

ユーザには、デバイスによって取得されているデータが与えられたマルチスペクトルモデルの縮小(例えば部分サンプリング)バージョンを提示することができる。一例では、各々が3cm×3cm×3cmの大きさの立方体のモデルデータは、ユーザインターフェース上に提示される縮小バージョン内に単一のピクセルとして表すことができる。表示のための選択されるピクセルは、立方体の中心に最も近いピクセルとすることができる。SLAMの作動中に生成される代表的な縮小表示を下記で示す。説明するように、容積内に単一のピクセルを表示するという決定は、点クラウド内で予め定められた寸法の空間立方体を占有する1又は2以上の点の存在又はあらゆるそのような点の不在のいずれかを示す2値結果を表す。他の例示的実施形態では、選択ピクセルには、例えば、それによって表される予め定められた立方体の内部にあるピクセルの個数を示す値を属性として付与することができる。この属性は、部分サンプリングされた点クラウドを表示する時に、例えば、この属性の値を反映する色及び/又は強度を利用して各選択ピクセルを表示することによって利用することができる。   The user can be presented with a reduced (eg, partially sampled) version of the multispectral model given the data being acquired by the device. In one example, cube model data, each measuring 3 cm × 3 cm × 3 cm, can be represented as a single pixel in a reduced version presented on a user interface. The pixel selected for display may be the pixel closest to the center of the cube. A representative reduced display generated during operation of the SLAM is shown below. As described, the decision to display a single pixel in a volume depends on the presence of one or more points or the absence of any such points occupying a spatial cube of predetermined dimensions in the point cloud. Represents a binary result indicating either of the following. In another exemplary embodiment, the selected pixel may be attributed with a value indicating, for example, the number of pixels within the predetermined cube represented by the selected pixel. This attribute can be used when displaying the partially sampled point cloud, for example, by displaying each selected pixel using a color and / or intensity that reflects the value of this attribute.

視覚フレームは、着色カメラからの単一の2D色画像を含む。ライダーセグメントは、ライダースキャナの360度フル回転を含む。視覚フレームとライダーセグメントは、これらを組み合わせてIMU及びオドメトリ(例えば高速白/黒)カメラのような関連のセンサから取り込まれた単位位置データに基づいて既存のモデルデータと整合させることができるように同期される。   The visual frame contains a single 2D color image from a tinted camera. The rider segment includes a full 360 degree rotation of the rider scanner. The visual frame and rider segments can be combined to match existing model data based on unit position data captured from IMUs and associated sensors such as odometry (eg, high speed white / black) cameras. Synchronized.

低い信頼性メトリックを引き起こす問題は、光沢壁、ガラス、透明ガラス、及び狭い廊下からの反射を含むがこれらに限定されない。一部の実施形態では、ユニットのユーザは、例えば、一時停止ボタンを押すこと、及び/又は事前決定された点まで又は過去の要求秒数の巻き戻しを要求すること等によって走査を一時停止し、かつ再開することができる。   Issues that cause low reliability metrics include, but are not limited to, glossy walls, glass, clear glass, and reflections from narrow hallways. In some embodiments, the user of the unit pauses scanning, for example, by pressing a pause button and / or requesting rewinding to a predetermined point or past requested seconds. , And can resume.

例示的かつ非限定的実施形態により、走査中の巻き戻しは以下の通りに進行することができる。最初に、システムのユーザが巻き戻しを望むことを示す。この表意は、SLAMの一部を形成するユーザインターフェースの操作によって果たすことができる。巻き戻しを望むことを示した結果として、システムは、走査済みデータ点のうちである時間幅に対応する部分を削除又は別途除去する。全ての走査済みデータ点には時間スタンプが付けられることから、システムは、事前決定時間の後のデータ点を効果的に除去し、従って、走査における過去の点に「巻き戻す」ことができる。本明細書で解説するように、各走査中にカメラからの画像が収集され、時間スタンプが付けられる。その結果、事前決定時点の後のデータ点を除去した後に、システムは、事前決定時点まで巻き戻された走査済み点クラウドを表示しながら事前決定点において記録された画像の表示をユーザに提示することができる。画像は、システムのユーザが、過去の事前決定時点におけるSLAMの方位及び姿勢に緊密に整合させる位置へとSLAMの方位を定めるのを補助するためのメトリックとしての役割を果たす。ユーザの方位が事前決定時点におけるSLAMの過去の方位に近い方位に定められると、ユーザは、SLAMのユーザインターフェース上の「実行」ボタンを押すこと等によって走査を再開したいという要望を示すことができる。走査を再開する指令に応答して、SLAMは、新しい走査データを利用してSLAMの位置及び方位の初期推定を形成する処理パイプラインを実行する段階を進めることができる。この処理の最中に、SLAMは、新しいデータを走査に追加しない可能性があるが、新しい走査データを用いてユーザの位置の瞬間信頼性レベル並びに新しく取得したデータが前の走査データに対応する度合いの視覚表現を決定して表示することができる。最後に、SLAMの場所及び方位が前の走査データに対して十分に決定されたことが確定されると、走査は続行することができる。   According to an exemplary and non-limiting embodiment, rewinding during a scan can proceed as follows. First, indicate that the user of the system wants to rewind. This ideology can be achieved by manipulating the user interface that forms part of the SLAM. As a result of indicating that rewind is desired, the system deletes or otherwise removes portions of the scanned data points that correspond to a certain time span. Since all scanned data points are time stamped, the system can effectively remove the data points after the predetermined time and thus "rewind" to a previous point in the scan. As described herein, images from the camera are collected and time stamped during each scan. As a result, after removing the data points after the predetermined point in time, the system presents to the user an indication of the image recorded at the predetermined point while displaying the scanned point cloud rewinded to the predetermined point in time. be able to. The image serves as a metric to assist the user of the system in orienting the SLAM to a position that closely matches the orientation and attitude of the SLAM at a previous predetermined point in time. Once the orientation of the user has been determined to be close to the past orientation of the SLAM at the predetermined point in time, the user may indicate a desire to resume scanning, such as by pressing an "execute" button on the SLAM user interface. . In response to a command to resume scanning, the SLAM may proceed with executing a processing pipeline utilizing the new scan data to form an initial estimate of the SLAM's position and orientation. During this process, the SLAM may not add new data to the scan, but with the new scan data the instantaneous confidence level of the user's location as well as the newly acquired data correspond to the previous scan data. A visual representation of the degree can be determined and displayed. Finally, once it is determined that the location and orientation of the SLAM has been determined sufficiently for the previous scan data, the scan can continue.

上記で説明したように、この巻き戻し機能は、データを格納することによって部分的に可能になる。1秒毎に何個の点が運び込まれるかを推定し、次にどれ程の量を「巻き戻す」かを推定することができる。ユニットは、x秒前にユーザがどこにいたかをユーザに知らせ、ユーザがその場所に移動し、自分が適切な場所にいることを確認するために一部の走査を取得することを可能にすることができる。例えば、行くべきおおよその場所をユーザに伝えることができる(又はユーザが再開したい場所を示す)。ユーザが十分に近い場合に、ユニットはユーザがいる場所を計算して十分な近くにいることをユーザに伝えることができる。   As explained above, this rewind function is partially enabled by storing the data. It is possible to estimate how many points are carried in every second and then estimate how much to "rewind". The unit informs the user where he was x seconds ago and allows the user to move to that location and take some scans to make sure he is in the right place be able to. For example, the approximate location to go can be communicated to the user (or indicate where the user wants to resume). If the user is close enough, the unit can calculate where the user is and tell the user that he is close enough.

他の例示的実施形態では、ユニットは、空間と空間との間の移行状態で作動することができる。例えば、ユーザが狭い戸口を素早く通り抜ける時に、新しい空間内におけるユーザの場所を決定するのに十分なデータ及び時間がない可能性がある。特に、この例では、ドアフレームの境界は、そこを通って進む前にライダーがユーザの場所を確定するのに十分なドアの向こうの環境の分量を撮像することを阻害する可能性がある。1つのオプションは、この信頼性メトリックの低下を検出し、オペレータが狭い通路に近づく時に減速するように自分の行動を修正するように、例えば、視覚インジケータを点滅させること、画面の色を変更すること、及び同様のことによってオペレータに合図を送ることである。   In another exemplary embodiment, the unit can operate in a transition between spaces. For example, when a user quickly passes through a narrow doorway, there may not be enough data and time to determine the user's location in the new space. In particular, in this example, the border of the door frame may prevent the rider from imaging an amount of the environment behind the door that is sufficient to determine the user's location before proceeding therethrough. One option is to detect this drop in the reliability metric and modify the behavior of the operator to slow down as he approaches a narrow passage, eg, flash a visual indicator, change the color of the screen And the like, to signal the operator.

図21を参照すると、SLAMユニット2100の概要の例示的かつ非限定的実施形態が示されている。SLAMユニット2100は、IMU2106のパルス毎秒(PPS)信号から導出される複数の信号を発生させるためのタイミングサーバを含むことができる。発生された信号は、ユニット内の様々なセンサから収集されたデータを同期させるために用いることができる。これらの信号を発生させてCPU2104と通信するためにマイクロコントローラ2102を用いることができる。このマイクロコントローラ内に又は外部IC上のいずれかに直交復号器2108を構築することができる。   Referring to FIG. 21, an exemplary, non-limiting embodiment of an overview of the SLAM unit 2100 is shown. SLAM unit 2100 may include a timing server for generating a plurality of signals derived from a pulse per second (PPS) signal of IMU 2106. The generated signal can be used to synchronize data collected from various sensors in the unit. A microcontroller 2102 can be used to generate these signals and communicate with the CPU 2104. The orthogonal decoder 2108 can be built either within this microcontroller or on an external IC.

一部の例示的実施形態では、IMU2206は、システムの他の部分に対するタイミングパルスを発生させるために用いられる立ち上がりエッジPPS信号を提供する。カメラは、IMU PPS信号から発生された上記で説明した立ち上がりエッジ信号を1つと、図22を参照しながら例示するGPIO1(持続的な1つのフレーム)及びGPIO2(持続的な2つのフレーム)という2つの立ち下がりエッジ信号とを含む3つの信号を受信することができる。   In some exemplary embodiments, IMU 2206 provides a rising edge PPS signal that is used to generate timing pulses for other parts of the system. The camera receives one rising edge signal, described above, generated from the IMU PPS signal and two GPIO1 (one continuous frame) and GPIO2 (two continuous frames) illustrated with reference to FIG. And three falling edge signals.

例示するように、各カメラは、約30Hz又は40Hzの高いフレーム速度と、約0.5Hz〜5Hzの高い解像度とを有するIMU PPSと同期されたトリガ信号を受信する。   As illustrated, each camera receives a trigger signal synchronized with the IMU PPS having a high frame rate of about 30 Hz or 40 Hz and a high resolution of about 0.5-5 Hz.

各IMS PPSは、マイクロコントローラ2202の内部カウンタをゼロにすることができる。ライダーの同期出力は、以下に続く事象をトリガすることができる。   Each IMS PPS can zero the internal counter of the microcontroller 2202. The rider's sync output can trigger the following events:

・直交復号器を通じた現在符号器値の読み出し。   Reading the current encoder value through an orthogonal decoder.

・現在カウンタ値の読み出し。   ・ Read the current counter value.

符号器値及びカウンタ値は、まとめて保存し、CPUに送ることができる。この段階は、図23を参照しながら例示するライダー同期出力によって規定された40Hz毎に発生することができる。   The encoder values and counter values can be stored together and sent to the CPU. This step can occur every 40 Hz defined by the lidar sync output illustrated with reference to FIG.

別の時間同期技術は、センサとコンピュータプロセッサとを同期させるのを容易にするIMUベースのパルス毎秒同期を含むことができる。この種の同期の例示的かつ非限定的実施形態は、図24を参照しながら示す。   Another time synchronization technique may include IMU-based pulse-per-second synchronization that facilitates synchronizing the sensor with the computer processor. An exemplary, non-limiting embodiment of this type of synchronization is shown with reference to FIG.

IMU2400は、パルス毎秒(PPS)信号2406をライダー2402に送るように構成することができる。PPSが送られる度に、コンピュータ2404は、IMUデータストリーム内のフラグを認識することによって通知を受ける。次にコンピュータ2404は、追従して時間文字列をライダー2402に送る。ライダー2402は、PPS2406に同期し、受信した時間文字列に基づいてライダーデータストリーム内に時間スタンプを符号化する。   IMU 2400 can be configured to send a pulse per second (PPS) signal 2406 to rider 2402. Each time a PPS is sent, the computer 2404 is notified by recognizing a flag in the IMU data stream. Next, the computer 2404 follows and sends a time character string to the rider 2402. Rider 2402 encodes a time stamp in the rider data stream based on the received time string in synchronization with PPS 2406.

第1のPPS2406を受信した時に、コンピュータ2404はそれ自体のシステム時間を記録する。第2のPPSから始めて、コンピュータ2404は、記録時間を1秒だけ増加し、結果として得られた時間文字列をライダー2402に送り、続いてPPS2506を追跡するように自体のシステム時間を補正する。   Upon receiving the first PPS 2406, the computer 2404 records its own system time. Starting from the second PPS, the computer 2404 increases the recording time by one second, sends the resulting time string to the rider 2402, and subsequently corrects its own system time to track the PPS 2506.

この時間同期スキームでは、IMU2400は時間サーバとして機能するが、初期時間はコンピュータシステム時間から取得される。IMU2400のデータストリームは、IMU自体のクロックに基づく時間スタンプに関連付けられ、第1のPPS2406が送られる時にコンピュータシステム時間で初期化される。従って、IMU2400、ライダー2402、及びコンピュータ2404は全て時間同期される。実施形態では、ライダー2402はVelodyneライダーとすることができる。   In this time synchronization scheme, the IMU 2400 functions as a time server, but the initial time is obtained from the computer system time. The data stream of the IMU 2400 is associated with a time stamp based on the clock of the IMU itself and is initialized with the computer system time when the first PPS 2406 is sent. Thus, IMU 2400, rider 2402, and computer 2404 are all time synchronized. In embodiments, the rider 2402 may be a Velodyne rider.

例示的かつ非限定的実施形態により、ユニットは、走査のためのCOM expressボードと1ボタンインターフェースとを含む。   According to an exemplary and non-limiting embodiment, the unit includes a COM express board for scanning and a one-button interface.

例示的かつ非限定的実施形態により、処理IMUと視覚データセンサとレーザデータセンサとは結合することができる。ユニットは、暗所又は無構造環境において長期間にわたって稼働することができる。一部の実施形態では、走査整合のための各々がVelodyneデータを用いて5Hzで実行される4つのCPUスレッドを用いることができる。上述したように、ユニットの運動は高速であってもよく、ユニットは、以前のマップに対して定位することができ、定位を用いてマップを拡張することができる。ユニットは、マッピングモードで比較的高いCPU使用率を示し、定位モードで比較的低いCPU使用率を示し、従って、長期に適するものになる。   According to exemplary and non-limiting embodiments, the processing IMU, the visual data sensor, and the laser data sensor can be combined. The unit can operate for long periods of time in a dark or unstructured environment. In some embodiments, four CPU threads, each running at 5 Hz with Velodyne data for scan matching, may be used. As mentioned above, the movement of the unit may be fast, the unit may be localized relative to the previous map, and the map may be expanded using the localization. The unit exhibits a relatively high CPU usage in the mapping mode and a relatively low CPU usage in the localization mode and is therefore suitable for long term.

例示的かつ非限定的実施形態により、本明細書で説明する方法及びシステムは、地上からのマッピングと空中からのマッピングとの間の各々の特性に従った協調を可能にする。地上ベースのマッピングは、必ずしも空間又は時間の制限を受けやすいとは限らない。一般的に、地上車によって運ばれるマッピングデバイスは、大規模なマッピングに適し、高速で移動することができる。それに対して込み入った区域は、手持ち式配備でマッピングすることができる。しかし、地上ベースのマッピングは、センサの高度による制限を受け、それによって上から見下ろす構成を実現するのが困難になる。図25に例示するように、地上ベースの実験は、建物の周囲の詳細マップを生成し、それに対して屋根は空中からマッピングしなければならない。小さい飛行体が用いられる時に、空中マッピングは、バッテリの短い寿命に起因して制限を受ける。同じく飛行体が安全に作動するために空間が十分に見通せることも必要である。   According to exemplary and non-limiting embodiments, the methods and systems described herein allow for coordination between mapping from the ground and mapping from the air according to respective characteristics. Terrestrial-based mappings are not always susceptible to space or time constraints. Generally, mapping devices carried by ground vehicles are suitable for large-scale mapping and can move at high speed. On the other hand, a complex area can be mapped in a hand-held deployment. However, ground-based mapping is limited by the altitude of the sensor, which makes it difficult to implement a top-down configuration. As illustrated in FIG. 25, a ground-based experiment produces a detailed map of the building perimeter, whereas the roof must be mapped from the air. When small aircraft are used, aerial mapping is limited due to the short life of the battery. It is also necessary for the spacecraft to have sufficient visibility to operate safely.

本明細書で説明する協調マッピングは、多層最適化によってデータを処理するためにレーザスキャナとカメラと低品質IMUとを利用することができる。結果として得られる運動推定は、低いドリフト(一般的に進行距離の<0.1%)しか持たない高速(〜200Hz)のものとすることができる。   The collaborative mapping described herein can utilize laser scanners and cameras and low quality IMUs to process data with multi-layer optimization. The resulting motion estimate can be fast (~ 200 Hz) with low drift (typically <0.1% of the travel distance).

本明細書で説明する高精度処理パイプラインを利用して、地上から発生されたマップと空中から発生されたマップとを実時間又は近実時間で融合することができる。この融合は、空中導出マップからの出力に対する地上導出マップからの1つの出力の定位によって部分的に果たされる。   Utilizing the high precision processing pipeline described herein, a map generated from the ground and a map generated from the air can be fused in real time or near real time. This fusion is achieved in part by the localization of one output from the ground derived map to the output from the aerial derived map.

本明細書で説明する方法は協調マッピングを完遂し、更に空中配備の複雑度を低減する。地上ベースのマップを用いて飛行経路が定義され、飛行体は、自律遂行任務を実施する。一部の実施形態では、飛行体は、困難な飛行タスクを自律的に遂行することができる。   The method described herein accomplishes collaborative mapping and further reduces the complexity of airborne deployment. A flight path is defined using a ground-based map, and the vehicle performs an autonomous mission. In some embodiments, the vehicle can autonomously perform difficult flight tasks.

図26を参照すると、協調マッピングを可能にするために利用することができるセンサ/コンピュータパックの例示的かつ非限定的実施形態が示されている。処理ソフトウェアは、特定のセンサ構成に必ずしも限定されない。図26(a)を参照すると、センサパック2601は、0.3百万点/秒を発生させるレーザスキャナ2603と、640×360ピクセルの解像度及び50Hzのフレーム速度のカメラ2605と、200Hzの低品質IMU2607とで構成される。搭載コンピュータが、センサからのデータを自己運動推定及びマッピングのための実時間で処理する。図26(b)及び図26(c)は、センサ視野を例示している。レーザとカメラとによって重複が共有され、それを用いて処理ソフトウェアは、下記で更に十分に説明するようにレーザからの深度情報を画像特徴部に関連付ける。   Referring to FIG. 26, there is shown an exemplary, non-limiting embodiment of a sensor / computer pack that can be utilized to enable collaborative mapping. Processing software is not necessarily limited to a particular sensor configuration. Referring to FIG. 26A, a sensor pack 2601 includes a laser scanner 2603 generating 0.3 million points / second, a camera 2605 having a resolution of 640 × 360 pixels and a frame rate of 50 Hz, and a low quality of 200 Hz. And the IMU 2607. An on-board computer processes the data from the sensors in real time for self-motion estimation and mapping. FIG. 26B and FIG. 26C illustrate the sensor field of view. The overlap is shared by the laser and the camera, with which the processing software associates depth information from the laser with the image features, as described more fully below.

例示的かつ非限定的実施形態により、ソフトウェアは、レーザスキャナ、カメラ、及び慣性センサのような距離センサからのデータを処理する。全てのセンサからのデータを大きい本格的な問題へと組み合わせる代わりに、本明細書で説明する方法及びシステムは、問題を複数の小さい問題として構文解析し、これらの問題を粗から細の方式で順番に解く。図27は、ソフトウェアシステムのブロック図を例示している。そのようなシステムでは、前方にあるモジュールが軽い処理を実施し、高周波数運動推定が過激な運動に対してロバストであることを確実にする。後方にあるモジュールは十分な処理を受け持ち、結果として得られる運動推定及びマップの精度を保証するために低周波数で実行される。   According to exemplary and non-limiting embodiments, the software processes data from distance sensors, such as laser scanners, cameras, and inertial sensors. Instead of combining data from all sensors into a large, full-scale problem, the methods and systems described herein parse the problem as multiple small problems, and map these problems in a coarse-to-fine fashion. Solve in order. FIG. 27 illustrates a block diagram of a software system. In such a system, the forward module performs light processing, ensuring that high frequency motion estimation is robust to extreme motion. The modules behind are responsible for sufficient processing and run at low frequency to ensure the accuracy of the resulting motion estimation and map.

ソフトウェアは、IMUデータ処理2701から始まる。このモジュールは、IMU機械化に基づいて運動を予測するようにIMU周波数で実行される。その結果は、視覚−慣性結合モジュール2703によって更に処理される。モジュール2703は、画像シーケンスを通して明確な画像特徴部を追跡し、最適化問題において運動に関して求解する。この場合、レーザ距離測定値が深度マップ上で位置合わせされ、それによって深度情報が追跡される画像特徴部に関連付けられる。センサパックは単一のカメラしか含まないことから、レーザからの深度は、運動推定中にスケール曖昧性を解消するのに役立つ。推定された運動は、レーザ走査を局所的に位置合わせするために用いられる。第3のモジュール2705では、運動推定を更に精緻化するためにこれらの走査が整合される。整合された走査は、走査がマップに対して整合されている間にマップ上で位置合わせされる。処理を高速化するために、走査整合は、複数のCPUスレッドを並列で利用する。走査整合中の点のクエリを高速化するために、マップはボクセルで格納される。運動は様々な周波数で推定されることから、システム内の第4のモジュール2707がこれらの運動推定を統合のために取得する。出力は、車両制御に有益な高精度と低待ち時間との両方を保持する。   The software starts with IMU data processing 2701. This module runs at the IMU frequency to predict motion based on IMU mechanization. The result is further processed by the visual-inertial coupling module 2703. Module 2703 tracks distinct image features through the image sequence and solves for motion in the optimization problem. In this case, the laser distance measurements are registered on the depth map, whereby the depth information is associated with the tracked image feature. Since the sensor pack contains only a single camera, depth from the laser helps to resolve scale ambiguity during motion estimation. The estimated motion is used to locally align the laser scan. In a third module 2705, these scans are aligned to further refine the motion estimation. The aligned scan is registered on the map while the scan is aligned with the map. To speed up processing, scan matching utilizes multiple CPU threads in parallel. The map is stored in voxels to speed up querying of points during scan matching. Since motion is estimated at various frequencies, a fourth module 2707 in the system obtains these motion estimates for integration. The output retains both high precision and low latency useful for vehicle control.

モジュール化されたシステムは、最終解を形成する時に「健全」なセンサモードを選択することによってセンサ劣化に関するロバスト性を更に確実にする。例えば、カメラが、低照明環境又は凹凸のない環境内にある時、例えば汚れのない白い壁に向いている時、又はレーザが、長く真直ぐな廊下のような対称又は押出形の環境内にある時には、一般的に処理は、妥当な運動推定を発生し損ねる。システムは、問題状態空間内で劣化した部分空間を自動的に決定することができる。劣化が発生した時には、システムは、各モジュールの十分に条件付けされた部分空間内で問題を部分的にしか解かない。その結果、「健全」な部分が組み合わせられて最終の妥当な運動推定が生成される。   The modularized system further ensures robustness with respect to sensor degradation by selecting "sound" sensor modes when forming the final solution. For example, when the camera is in a low-light or uneven environment, e.g., facing a clean white wall, or the laser is in a symmetrical or extruded environment, such as a long, straight corridor. Sometimes, processing generally fails to generate a valid motion estimate. The system can automatically determine the degraded subspace in the problem state space. When degradation occurs, the system only partially solves the problem in a well-conditioned subspace of each module. As a result, the "healthy" parts are combined to produce a final reasonable motion estimate.

マップが利用可能な時には、上記で説明した方法は、定位のためのこのマップを利用するように拡張することができる。この拡張は、走査整合方法を用いて果たされる。この方法は、2タイプの幾何学的特徴部、特に縁部及び平面上にある点を局所走査内の曲率に基づいて抽出する。特徴点はマップに対して整合される。縁点は、縁線セグメントに対して整合され、平面点は、局所平面パッチに対して整合される。縁線セグメント及び局所平面パッチは、マップ上で、局所点集合に関連付けられた固有値及び固有ベクトルを吟味することによって決定される。マップは、処理を高速化するためにボクセルで格納される。定位は、特徴点とその対応点との間の総距離を最小化する最適化問題を解く。高精度オドメトリ推定が定位に初期推測を与えるために用いられることに起因して、最適化は、通常は2〜3回の反復で収束する。   When a map is available, the method described above can be extended to utilize this map for localization. This extension is accomplished using a scan matching method. The method extracts two types of geometric features, particularly edges and points on a plane, based on the curvature in the local scan. The feature points are aligned with the map. Edge points are aligned to edge line segments and planar points are aligned to local planar patches. Edge segments and local plane patches are determined on the map by examining the eigenvalues and eigenvectors associated with the local point set. Maps are stored in voxels to speed up processing. Localization solves an optimization problem that minimizes the total distance between a feature point and its corresponding point. The optimization usually converges in a few iterations, due to the use of precision odometry estimation to provide an initial guess for localization.

定位は、必ずしも個々の走査を処理するとは限らず、バッチ処理のための一部の走査をスタックする。高精度のオドメトリ推定に起因して、走査は、局所座標フレーム内で綿密に位置合わせされ、ドリフトは、短い期間(例えば数秒)にわたって無視することができる。図28(8.4)を参照しながら比較を例示し、この図では、図28(a)は、前のセクションで整合された(走査整合は5Hzで実行された)単一の走査であり、図28(b)は、2秒にわたってスタックされ、定位中に整合された(走査整合は0.5Hzで実行された)走査を示している。スタックされた走査の方が著しく多くの構造詳細を含み、環境変化に対する定位の精度及びロバスト性に寄与することがわかる。それに加えて、低周波数の実行は、機上処理に関するCPU使用率を最小限に保つ(定位は約10%のCPUスレッドしか消費しない)。スタックされた走査は、著しく多くの構造詳細を含み、環境変化に対する定位の精度及びロバスト性に寄与する。大まかには、環境のうちの約25%が変化する又は動的である可能性があり、システムは、良好に作動し続けることになる。   Localization does not always process individual scans, but stacks some scans for batch processing. Due to the high accuracy odometry estimation, the scan is closely aligned in the local coordinate frame, and the drift can be ignored for a short period of time (eg a few seconds). The comparison is illustrated with reference to FIG. 28 (8.4), where FIG. 28 (a) is a single scan matched in the previous section (scan matching was performed at 5 Hz). , FIG. 28 (b) shows a scan stacked for 2 seconds and aligned during stereotaxy (scan alignment was performed at 0.5 Hz). It can be seen that the stacked scan contains significantly more structural detail and contributes to localization accuracy and robustness to environmental changes. In addition, low frequency execution keeps CPU utilization for on-board processing to a minimum (localization consumes only about 10% of CPU threads). Stacked scans contain significantly more structural detail and contribute to localization accuracy and robustness to environmental changes. Roughly, about 25% of the environment can change or be dynamic, and the system will continue to work well.

定位は、粒子フィルタベースの実施と比較される。オドメトリ推定は、運動モデルを粒子フィルタに提供する。粒子フィルタは、50個の粒子を用いる。各更新段階において、粒子は、低分散の再サンプリングに基づいて再サンプリングされる。比較結果を図29及び表8.1に示している。この場合、誤差は、定位された走査からマップまでの絶対距離として定義される。評価中に、本明細書で説明する方法及びシステムは、一部の平面を選び、定位された走査内の点からマップ上の対応する平面パッチまでの間の距離を用いる。図29は、誤差分布の例示的かつ非限定的実施形態を示している。粒子フィルタを本説明の方法と同じ周波数(0.5Hz)で実行する時には、結果として生じる誤差は5倍大きい。それに対して表8.1では、CPU処理時間は2倍を上回る。別の試験では、粒子フィルタを5Hzで実行することは、誤差を本発明の開示の方法よりも若干大きいところまで低減するのに役立つ。しかし、対応するCPU処理時間は、22倍過まで増大させる。これらの結果は、粒子フィルタベースの方法が必ずしも高精度オドメトリ推定を最大限に活用するとは限らないことを意味している。   The localization is compared to a particle filter based implementation. Odometry estimation provides a motion model to the particle filter. The particle filter uses 50 particles. At each update stage, the particles are resampled based on low variance resampling. The comparison results are shown in FIG. 29 and Table 8.1. In this case, the error is defined as the absolute distance from the localized scan to the map. During evaluation, the methods and systems described herein select some planes and use the distance from a point in the localized scan to the corresponding plane patch on the map. FIG. 29 illustrates an exemplary, non-limiting embodiment of the error distribution. When the particle filter is run at the same frequency (0.5 Hz) as the method described, the resulting error is five times greater. In contrast, in Table 8.1, the CPU processing time is more than doubled. In another test, running the particle filter at 5 Hz helps to reduce errors to slightly greater than the methods of the present disclosure. However, the corresponding CPU processing time is increased by a factor of 22. These results imply that particle filter based methods do not always take full advantage of high accuracy odometry estimation.

(表8)
表8.1 定位でのCPU処理時間の比較。粒子フィルタを5Hzで実行する時に、高密度データは、高いCPU要求に起因して実時間速度の25%で処理される。

Figure 2020507072
(Table 8)
Table 8.1 Comparison of CPU processing time in localization. When running a particle filter at 5 Hz, high density data is processed at 25% of real-time speed due to high CPU requirements.
Figure 2020507072

図30を参照すると、センサパックが車庫の中で水平に保持される場合のセンサ調査の例示的かつ非限定的実施形態が示されている。図30(a)は、構築されたマップとセンサ軌道とを示している。図30(b)は単一の走査である。このシナリオでは、走査は十分な構造情報を含む。カメラ処理モジュールを迂回する時に、システムは、フルパイプラインと同じ軌道を発生させる。その一方で、本明細書で説明する方法及びシステムは、地面に向かって垂直に下方傾斜センサパックを用いて別の試験を実行する。その結果を図31に示している。このシナリオでは、走査内の構造情報は、図31(b)に示しているようにかなり疎である。処理は、カメラの使用なしでは失敗し、フルパイプラインを用いて成功する。結果は、センサパックの傾斜が必要とされる高い高度の飛行にとって重要である。   Referring to FIG. 30, an exemplary, non-limiting embodiment of a sensor survey when the sensor pack is held horizontally in the garage is shown. FIG. 30A shows the constructed map and the sensor trajectory. FIG. 30B shows a single scan. In this scenario, the scan contains sufficient structural information. When bypassing the camera processing module, the system generates the same trajectory as the full pipeline. On the other hand, the methods and systems described herein perform another test with a downward tilt sensor pack perpendicular to the ground. The result is shown in FIG. In this scenario, the structural information in the scan is quite sparse, as shown in FIG. The process fails without the use of a camera and succeeds using a full pipeline. The result is important for high altitude flights where a tilt of the sensor pack is required.

図32を参照すると、センサパックが、1〜2m/sの速さで円を通り抜けるオペレータによって保持され、総進行距離が410mである例示的かつ非限定的実施形態が示されている。図32(a)は、水平方位センサ構成を用いた結果として得られるマップ及びセンサ軌道を示している。センサは同じ位置で開始及び停止される。この試験は、経路を通して0.18mのドリフトを生成し、進行距離と比較して0.04%の相対位置誤差を生じる。続いてオペレータは、それぞれ45°及び90°の角度で保持された2つのセンサパックを用いてこの経路を繰り返す。結果として得られるセンサ軌道を図32(b)に示している。明らかに、傾斜はより大きいドリフトを導入し、相対位置誤差は45°で0.6%であり(青色の破線の曲線)、90°で1.4%である(赤色の一点鎖線の曲線)。最終的に、図32(a)のマップ上における定位によってドリフトは相殺され、両方の構成が黒色の実線の曲線を生じる。   Referring to FIG. 32, there is shown an exemplary, non-limiting embodiment where the sensor pack is held by an operator passing through a circle at a speed of 1-2 m / s, for a total travel distance of 410 m. FIG. 32 (a) shows the resulting map and sensor trajectory using the horizontal orientation sensor configuration. The sensors are started and stopped at the same position. This test produces a drift of 0.18 m through the path, resulting in a 0.04% relative position error compared to the distance traveled. The operator then repeats this path using two sensor packs held at 45 ° and 90 ° angles, respectively. The resulting sensor trajectory is shown in FIG. Clearly, the slope introduces a larger drift, with a relative position error of 0.6% at 45 ° (dashed blue curve) and 1.4% at 90 ° (red dot-dash curve). . Finally, the drift is offset by the localization on the map of FIG. 32 (a), and both configurations result in a solid black curve.

ドローンプラットフォーム3301の例示的かつ非限定的実施形態を図33に示している。この航空機の重量は約6.8kg(バッテリを含む)であり、最大で4.2kgのペイロードを運ぶことができる。センサ/コンピュータパックは航空機の底部に装着され、1.7kgの重量がある。この図の右下にリモートコントローラが示されている。リモートコントローラは、自律遂行任務の最中に必要に応じて自律遂行を無効にするために安全パイロットによって操作される。この航空機は、GPS受信器を有する(航空機の上部に)ように構築されることに注意されたい。GPSデータは、必ずしもマッピング又は自律遂行において用いられるとは限らない。   An exemplary, non-limiting embodiment of the drone platform 3301 is shown in FIG. The aircraft weighs about 6.8 kg (including batteries) and can carry a maximum payload of 4.2 kg. The sensor / computer pack is mounted on the bottom of the aircraft and weighs 1.7 kg. The remote controller is shown at the lower right of this figure. The remote controller is operated by the safety pilot to override autonomy as needed during the autonomy mission. Note that the aircraft is constructed with a GPS receiver (on top of the aircraft). GPS data is not always used in mapping or autonomous performance.

第1の協調マッピング実験では、オペレータは、センサパックを保持して建物の方々を歩く。その結果を図25に示している。図25(a)では、地上ベースのマッピングが、914mの行程にわたって1〜2m/sで実施されて建物の周囲を詳細に網羅する。予測されるように、このマップ上では建物の屋根は空白である。次に、ドローンが建物の上方を飛行するように遠隔操作される。図25(b)では、この飛行が2〜3m/sで実施され、進行距離は269mである。この処理は、図25(a)のマップに関する定位を用いる。この手法で、空中マップが地上ベースのマップ(白色の点)と融合される。地上ベースのマップが構築された後に、ドローンの離陸位置がマップ上で決定される。空中マッピングのためのセンサ開始姿勢は既知であり、定位はそこから開始する。図34は、空中及び地上ベースのセンサ軌道を上面図及び側面図に提示している。   In the first collaborative mapping experiment, the operator walks around the building while holding the sensor pack. The result is shown in FIG. In FIG. 25 (a), ground-based mapping is performed at 1-2 m / s over a 914 m journey to cover the perimeter of the building in detail. As expected, the roof of the building is blank on this map. Next, the drone is remotely controlled to fly over the building. In FIG. 25 (b), this flight is performed at 2-3 m / s, and the traveling distance is 269 m. This process uses the localization of the map shown in FIG. In this manner, the aerial map is fused with the ground-based map (white points). After the ground-based map has been constructed, the take-off location of the drone is determined on the map. The sensor starting attitude for aerial mapping is known and localization starts there. FIG. 34 provides air and ground based sensor trajectories in top and side views.

更に、本明細書で説明する方法及びシステムは、空中マッピングを実現するために自律飛行を実施する。図35を参照すると、最初に、飛行区域の方々への1〜2m/sで672mの行程にわたる手持ち式マッピングによって地上ベースのマップが構築される。このマップ及びセンサ軌道を図35(a)に示している。続いてこのマップに基づいて経路点が定義され、ドローンは、これらの経路点を辿って空中マッピングを実施する。図35(b)に示しているように、曲線は飛行経路であり、曲線上の大きい点は経路点であり、点が空中マップを形成する。この実験では、ドローンは、図の左側にある格納庫から離陸し、現場を横断して飛行し、右側にある別の格納庫を通り抜け、その後、第1の格納庫に戻って着陸する。速度は、現場を横断する時に4m/sであり、格納庫を通り抜ける時に2m/sである。図35(c)及び図35(d)は、ドローンが右にある格納庫に向かって飛行している時及びこの格納庫に進入しようとしている時に搭載カメラによって撮影された2つの画像である。図35(e)は、任務中の推定速度を示している。   Further, the methods and systems described herein implement autonomous flight to achieve aerial mapping. Referring to FIG. 35, a ground-based map is first constructed by hand-held mapping over a 672 m journey at 1-2 m / s to the flight zones. This map and the sensor trajectory are shown in FIG. Subsequently, path points are defined based on this map, and the drone follows these path points to perform aerial mapping. As shown in FIG. 35 (b), the curve is a flight path, and a large point on the curve is a path point, and the points form an aerial map. In this experiment, the drone takes off from the hangar on the left side of the figure, flies across the site, passes through another hangar on the right side, and then returns to the first hangar to land. The speed is 4 m / s when crossing the scene and 2 m / s when passing through the hangar. FIG. 35 (c) and FIG. 35 (d) are two images taken by the onboard camera when the drone is flying towards the hangar to the right and when trying to enter this hangar. FIG. 35E shows the estimated speed during the mission.

最後に、本明細書で説明する方法及びシステムは、より長い距離にわたって別の実験を実施する。図36に示しているように、地上ベースのマッピングは、10m/sで左端から右端まで1463mの行程にわたって走らせた路外車両を含む。地上ベースのマップ及び経路点を用いて、自律飛行はこの現場を横断する。離陸後に、ドローンは地上の上方20mの高さまで15m/sで上昇する。その後、ドローンは地上の上方2mまで下降し、並木を10m/sで通り抜ける。飛行経路は、図36(b)に曲線3601で示しているように1118m長のものである。2つの画像が、ドローンが木々の上方で高く飛行している時(図36(c)を参照されたい)及び木々の下で低く飛行している時(図36(d)を参照されたい)に撮影される。   Finally, the methods and systems described herein perform another experiment over a longer distance. As shown in FIG. 36, the ground-based mapping includes an off-road vehicle driven at 10 m / s from the left to the right over a 1463 m journey. Using a ground-based map and path points, the autonomous flight traverses the scene. After takeoff, the drone climbs at 15m / s to a height of 20m above the ground. After that, the drone descends 2m above the ground and passes through the trees at 10m / s. The flight path is 1118 m long as shown by the curve 3601 in FIG. The two images are when the drone is flying high above the trees (see FIG. 36 (c)) and when it is flying low below the trees (see FIG. 36 (d)). Will be taken.

例示的かつ非限定的実施形態により、GPS等からの広域測位データを処理パイプライン内に組み込むことができる。広域測位データは、長い行程距離にわたる自己運動推定ドリフトを相殺し、広域座標フレーム内にマップを位置合わせするのに有用とすることができる。   Exemplary and non-limiting embodiments allow global positioning data, such as from GPS, to be incorporated into a processing pipeline. Global positioning data can offset self-motion estimation drift over long trip distances and can be useful for aligning maps within a global coordinate frame.

一部の実施形態では、GPSデータは、マッピング活動と同時に記録することができる。システムが移動するにつれて、距離に伴って誤差を成長させるある程度のレベルのドリフトが存在する。一般的には0.2%のドリフトしか受けないかもしれないが、それにも関わらず1000メートル進行する時には、ドリフトは1000メートルの行程毎に2メートルである。10kmではドリフトは20メートルまで成長し、以降同様に成長する。ループを閉じる(従来の意味では、ルートの始端に戻って来る)ことなしには、この誤差は補正することができない。GPS座標の形式で外部情報を提供することにより、システムは、それがどこに存在するかを理解し、現在位置推定を補正することができる。一般的にこの補正は後処理の取り組みにおいて行われるが、本発明のシステムは、そのような補正を実時間又は近実時間で遂行することができる。   In some embodiments, the GPS data can be recorded simultaneously with the mapping activity. As the system moves, there is some level of drift that causes the error to grow with distance. In general, you may only experience a 0.2% drift, but when traveling 1000 meters nonetheless, the drift is 2 meters for every 1000 meters of travel. At 10 km, the drift grows to 20 meters and so on. Without closing the loop (returning to the beginning of the route in the conventional sense), this error cannot be corrected. By providing the external information in the form of GPS coordinates, the system can understand where it is and correct the current position estimate. Typically, this correction is made in a post-processing effort, but the system of the present invention can perform such correction in real time or near real time.

従って、GPSを利用することにより、ループを閉じることを可能にする方法が与えられる。当然ながらGPSもある程度の量の誤差を有するが、所与の区域内で通常は一貫しており、今日の多くのGPSシステムは、表面上の位置X及びYにおいて30cmよりも高い精度を与えることができる。他のより高額で精巧なシステムは、cmレベルの測位を施すことができる。   Thus, the use of GPS provides a way to allow the loop to be closed. Of course, GPS also has some amount of error, but is usually consistent within a given area, and many GPS systems today provide greater than 30 cm accuracy at locations X and Y on the surface. Can be. Other more expensive and sophisticated systems can provide cm-level positioning.

このGPSの使用は、以下の重要な機能を与える。1.地球上における点クラウドの定位。2.自体の位置が理解されることからマップがより一層正確になるように、更に当該位置で取得されたあらゆるデータを同様に収集された一連のGPS点に関連付けることができるように、進路補正された情報を用いてマップを整合及び「固定」する機能。3.GPSが失われた時にシステムがIMUとしての役割を果たすための機能。   The use of this GPS provides the following important functions. 1. Point cloud localization on earth. 2. The course was corrected so that the map was more accurate because its location was understood, and that any data acquired at that location could be associated with a series of similarly collected GPS points. The ability to align and "fix" maps using information. 3. A function that allows the system to act as an IMU when GPS is lost.

例示的かつ非限定的実施形態により、過激な運動に関する推定ロバスト性を更に改善するために動的視覚センサを利用することができる。動的視覚センサは、照明変化を有するピクセルのみに関するデータを報告し、高い速度と低い待ち時間との両方を生み出す。   The exemplary and non-limiting embodiment allows the use of dynamic vision sensors to further improve the estimated robustness for extreme movements. Dynamic vision sensors report data only on pixels with lighting changes, producing both high speed and low latency.

この高い速度(一般的に約10Hzよりも高いものとして定義される)は、自己運動及び推定システムに高速な情報を素早く供給し、それによって定位、更に引き続いてマッピングに対する値を改善することができる。システムがより多くのデータをより少ない遅延しか伴わずに取り込むことができる時に、システムは、より正確でよりロバストになる。より多くの特徴部及びより高速な更新は、より正確な追跡及び運動推定を可能にすることから、動的視覚センサによって識別されて追跡される特徴部は、より的確な推定を可能にする。   This high speed (generally defined as higher than about 10 Hz) can quickly provide fast information to the self-motion and estimation system, thereby improving the localization and subsequently the value for the mapping. . When the system can capture more data with less delay, the system becomes more accurate and more robust. Features that are identified and tracked by the dynamic vision sensor allow for more accurate estimations because more features and faster updates allow for more accurate tracking and motion estimation.

自己運動推定のための動的視覚センサとの画像整合を実現するために、直接法を用いることができる。特に、直接法は、特徴部追跡のための連続画像を画像から画像へと整合させる。その一方で、本明細書に開示する特徴部追跡法は、直接法よりも優れている。   A direct method can be used to achieve image matching with a dynamic vision sensor for self-motion estimation. In particular, the direct method matches successive images for feature tracking from image to image. On the other hand, the feature tracking method disclosed herein is superior to the direct method.

例示的かつ非限定的実施形態により、汎用GPU又はFPGA上で実行される並列処理を実施することができ、従って、この並列処理は、より大きい量及びより高い周波数でのデータ処理を可能にする。   The illustrative and non-limiting embodiments allow for implementing parallel processing that runs on a general purpose GPU or FPGA, thus allowing for data processing at higher volumes and higher frequencies .

並列処理技術を用いて、一部の特徴部を同時に追跡することができ、又は予め定められた区域又は方向のデータを複数の小さい問題へと区切ることができる。並列アーキテクチャは、複数のコア、スレッド、プロセッサの形態をとり、又はグラフィック処理ユニット(GPU)のような特殊形態を取ることさえもできる。分割統治法を用いることにより、並列アーキテクチャ内の各ノードが同時に問題のうちの当該ノードの部分に専従することから、全体的な処理を著しく高速化することができる。一般的にそのような高速化は線形ではない。すなわち、問題を16個の部分及び処理へと分割することにより、各部分は、は必ずしも個別に16倍だけ処理を高速化すると限らない。分割、通信を行い、その後、結果を再編成する上でのオーバーヘッドがある。   Using parallel processing techniques, some features can be tracked simultaneously, or data in a predetermined area or direction can be partitioned into multiple smaller problems. A parallel architecture may take the form of multiple cores, threads, processors, or even special forms such as a graphics processing unit (GPU). By using the divide-and-conquer method, the overall processing can be significantly speeded up, since each node in the parallel architecture is simultaneously dedicated to that node's part of the problem. Generally, such speedups are not linear. In other words, by dividing the problem into 16 parts and processing, each part does not necessarily speed up processing individually 16 times. There is overhead in performing splits, communicating, and then reorganizing the results.

それとは対照的に、線形処理を用いる時に、各部分問題又は計算は1度処理され、データはメモリ、CPUに出し入れされ、その後、メモリ又はストレージに戻される。この処理は低速であるが、パイプラインアーキテクチャは、シストリックアレイ等で正しく構成された時に、パイプラインが充填状態に保たれる限り事態を改善することができる。   In contrast, when using linear processing, each subproblem or computation is processed once, data is moved into and out of memory, CPU, and then back to memory or storage. Although this process is slow, the pipeline architecture, when properly configured with a systolic array or the like, can improve the situation as long as the pipeline is kept filled.

例示的かつ非限定的実施形態により、自己運動推定のドリフトを広域平滑化によって除去するためにループ閉鎖を導入することができる。   Exemplary and non-limiting embodiments can introduce a loop closure to remove the drift of the self-motion estimation by global smoothing.

例えば、開始点に戻った時には、既にそこにいるわけであるから、位置推定を補正することができることがわかる。開始点は原点であり、移動の終端において明らかになる蓄積誤差が存在するはずである。原点(0,0,0)と始端に戻った時にいると考えられる位置(例えば(1,2,3))との間の差を取ることによって誤差値がわかることになる。しかし、この値は、移動にわたって場合によっては均等に蓄積されたものである。   For example, when returning to the starting point, since it is already there, it is understood that the position estimation can be corrected. The starting point is the origin and there should be accumulated errors that become apparent at the end of the movement. The error value can be determined by taking the difference between the origin (0,0,0) and the position (for example, (1,2,3)) considered to be at the time of returning to the starting end. However, this value is possibly evenly accumulated over travel.

例えば、100メートル移動して開始点に戻り、xyzに1メートルだけ外れていることが判明した時に、次に全体の距離の間のどこにこの誤差を適用するかを決定するという問題が生じる。1つの手法は、この誤差を全距離にわたって分散させることであり、この場合、経路上に留まり、更に重要な点として開始した場所に誤差なく戻るために各メートル増分において行程を1cmだけ補正することができる。この補正が広域平滑化である。   For example, if one moves 100 meters back to the starting point and finds that xyz is off by one meter, then the problem arises of determining where to apply this error during the entire distance. One approach is to spread this error over the entire distance, where it stays on the path and more importantly corrects the stroke by 1 cm at each meter increment in order to return to the starting point without error. Can be. This correction is wide area smoothing.

別の手法は、移動中にいずれかの他の誤差尺度を用いて、この誤差尺度が高い場所のみに対して補正を適用することである。例えば、共分散行列は、マップ品質に関する好適なメトリックを与え、この誤差を全移動にわたって先見的に分散させるために用いることができる。言い換えれば、共分散行列内に現れる低品質整合を有する場所を用いて、移動にわたる誤差の比率に従ってこの移動全体にわたって誤差を不均等に分散させることができる。この分散は、低品質値が特定の場所に関連付けられた詳細な区域内の誤差を補正するように作用することになる。   Another approach is to use any other error measure during the move and apply the correction only where this error measure is high. For example, the covariance matrix provides a good metric for map quality and can be used to spread this error a priori over the course of all movements. In other words, using locations with low quality matching that appear in the covariance matrix can be used to distribute the errors unequally throughout the movement according to the ratio of the errors over the movement. This variance will act to correct for errors in the detail area where the low quality values are associated with a particular location.

以下の条項は、本明細書に開示する実施形態に関する追加の陳述を提供するものである。   The following clauses provide additional statements regarding the embodiments disclosed herein.

条項1.各々に少なくとも地理空間座標とセグメントとが属性として付与された複数の点を含むライダー点クラウドを取得する段階と、各セグメントに同じセグメントが属性として付与された複数の点の計算精度を示す信頼性レベルを割り当てる段階と、同じセグメントが属性として付与された複数の点のうちの少なくとも一部分の各々の地理空間座標を信頼性レベルに少なくとも部分的に基づいて調節する段階とを含む方法。   Article 1. Obtaining a rider point cloud including a plurality of points each having at least geospatial coordinates and a segment as an attribute, and a reliability indicating a calculation accuracy of a plurality of points each having the same segment as an attribute; A method comprising: assigning a level; and adjusting a geospatial coordinate of each of at least a portion of the plurality of points to which the same segment has been attributed based at least in part on a confidence level.

条項2.信頼性レベルがループ閉鎖の信頼性レベルである条項1の方法。   Article 2. Clause 1 wherein the confidence level is the confidence level of the loop closure.

条項3.地理空間座標を調節する段階が決定されたループ閉鎖誤差に応答する条項1の方法。   Article 3. The method of Clause 1, wherein adjusting the geospatial coordinates is responsive to the determined loop closure error.

条項4.地理空間座標を調節する対象のセグメントが少なくとも1つの他のセグメントよりも低い信頼性レベルを有する条項1の方法。   Article 4. Clause 1. The method of Clause 1, wherein the segment for which the geospatial coordinates are adjusted has a lower confidence level than at least one other segment.

第5項.開始場所を有し、各々に少なくとも地理空間座標とセグメントとが属性として付与された複数の点を含むライダー点クラウドをSLAMを用いて取得する段階を開始する段階と、ライダー点クラウドを取得しながらループを移動する段階と、SLAMが開始場所に近接する時に走査終了点を決定する段階とを含む方法。   Section 5. Starting a step of using a SLAM to obtain a rider point cloud including a plurality of points each having a start location and at least geospatial coordinates and a segment as attributes, and acquiring the rider point cloud. A method comprising: moving a loop; and determining a scan end point when the SLAM approaches a start location.

条項6.走査終了点を決定する段階がループを移動し終えたという指示をSLAMのユーザから受信する段階を含む条項6の方法。   Article 6. 7. The method of clause 6, wherein determining the scan end point comprises receiving from the SLAM user an indication that the loop has been moved.

条項7.走査終了点を決定する段階が開始場所に対する近接性を示すセグメント内の点に基づく条項6の方法。   Article 7. Clause 6. The method of Clause 6, wherein determining the scan end point is based on a point in the segment indicating proximity to the start location.

条項8.開始場所を含むセグメント以外のセグメント内の点に開始場所に対して近位である地理空間座標が属性として付与される条項6の方法。   Article 8. Clause 6. The method of Clause 6, wherein geospatial coordinates that are proximal to the start location are assigned as attributes to points in the segment other than the segment that includes the start location.

条項9.各々に少なくとも地理空間座標と時間スタンプとが属性として付与された複数の点を含むライダー点クラウドを取得する段階と、各々に地理空間座標及び時間スタンプのうちの少なくとも一方が属性として付与された複数の画像を含む色画像データを取得する段階と、着色される各点の時間スタンプに時間的に近い時間スタンプを有し、更に着色される複数の点の地理空間座標の直近にある地理空間座標を有する画像から導出された色情報を用いて複数の点のうちの少なくとも一部分を着色する段階とを含む方法。   Article 9. Obtaining a rider point cloud including a plurality of points each having at least geospatial coordinates and a time stamp as attributes; and a plurality of points each having at least one of geospatial coordinates and a time stamp as attributes. Acquiring color image data including the image of the image, and a geospatial coordinate having a time stamp that is temporally close to the time stamp of each point to be colored, and further being closest to the geospatial coordinates of the plurality of points to be colored. Coloring at least a portion of the plurality of points using color information derived from the image having

条項10.着色が実時間及び近実時間のうちの一方で実施される条項9の方法。   Article 10. Clause 9. The method of clause 9, wherein the coloring is performed in real time or near real time.

条項11.SLAMシステムに関する運動推定をSLAMシステムの一部を形成するIMUを用いて導出する段階と、精緻化された推定を発生させるために運動推定を視覚−慣性オドメトリ最適化処理によって精緻化する段階と、レーザオドメトリ最適化処理によって現在走査内の少なくとも1つの特徴部と前に走査された少なくとも1つの特徴部との間の少なくとも1つ残余二乗誤差を最小化することによって精緻化された推定を精緻化する段階とを含む方法。   Article 11. Deriving a motion estimate for the SLAM system using an IMU forming part of the SLAM system, and refining the motion estimate by a visual-inertial odometry optimization process to generate a refined estimate; Refining the refined estimate by minimizing at least one residual square error between at least one feature in the current scan and at least one previously scanned feature by a laser odometry optimization process And a step.

条項12.運動推定を導出する段階がIMU更新を約200Hzの周波数で受信する段階を含む条項11の方法。   Article 12. 12. The method of clause 11, wherein deriving the motion estimate comprises receiving the IMU update at a frequency of about 200 Hz.

条項13.IMU更新の周波数が190Hzと210Hzの間にある条項12の方法。   Article 13. Clause 12. The method of Clause 12, wherein the frequency of the IMU update is between 190 Hz and 210 Hz.

条項14.運動推定を精緻化する段階が、SLAMシステムの一部を形成するカメラのフレーム速度に等しい速度で運動推定を精緻化する段階を含む条項11の方法。   Article 14. 12. The method of clause 11, wherein refining the motion estimation comprises refining the motion estimation at a rate equal to a frame rate of a camera forming part of the SLAM system.

条項15.フレーム速度が30Hzと40Hzの間にある条項14の方法。   Article 15. Clause 14 wherein the frame rate is between 30Hz and 40Hz.

条項16.レーザオドメトリ最適化処理が、SLAMの一部を形成するライダー回転機構が完全なデータ半球を走査する際の走査フレーム速度で実施される条項11の方法。   Article 16. Clause 11. The method of Clause 11, wherein the laser odometry optimization process is performed at a scan frame rate at which the lidar rotation mechanism forming part of the SLAM scans a complete data hemisphere.

条項17.SLAMシステムの一部を形成するカメラを用いて複数のカメラフレーム内にある複数の深度追跡視覚特徴部を取得する段階と、複数の視覚特徴部をSLAMの一部を形成するライダーから取得されたライダー導出点クラウドに関連付ける段階と、少なくとも2つのカメラフレーム間で少なくとも1つの視覚特徴部の深度を三角測位する段階とを含む方法。   Article 17. Obtaining a plurality of depth tracking visual features in a plurality of camera frames using a camera forming part of the SLAM system; and obtaining the plurality of visual features from a rider forming part of the SLAM. A method comprising associating with a lidar derived point cloud and triangulating a depth of at least one visual feature between at least two camera frames.

条項18.関連付け段階及び三角測位段階が、並列コンピュータを用いるプロセッサ上で実施される条項17の方法。   Article 18. Clause 17. The method of Clause 17, wherein the associating and triangulation steps are performed on a processor using a parallel computer.

条項19.マイクロコントローラと、複数のタイミング信号を生成するようになった慣性測定ユニット(IMU)と、複数のタイミング信号から導出された複数の同期信号を生成するようになったタイミングサーバとを含むSLAMデバイスであって、同期信号が、SLAMデバイスの一部を形成する少なくとも2つのセンサを同期させるように作動する条項SLAMデバイス。   Article 19. A SLAM device including a microcontroller, an inertial measurement unit (IMU) adapted to generate a plurality of timing signals, and a timing server adapted to generate a plurality of synchronization signals derived from the plurality of timing signals. Clause wherein the synchronization signal is operative to synchronize at least two sensors forming part of the SLAM device.

条項20.少なくとも2つのセンサがライダー、カメラ、及びIMUからなる群から選択される条項20のSLAMデバイス。   Article 20. Clause 20. The SLAM device of Clause 20, wherein the at least two sensors are selected from the group consisting of a rider, a camera, and an IMU.

条項21.各々に少なくとも地理空間座標と時間スタンプとが属性として付与された複数の点を含むライダー点クラウドを取得する段階と、各々に少なくとも地理空間座標と時間スタンプとが属性として付与された複数の画像を含む色画像データを取得する段階と、着色される各点の時間スタンプに時間的に近い時間スタンプ及び着色される各点の地理空間座標に距離的に近い地理空間座標のうちの少なくとも一方を有する画像から導出された色情報を用いて複数の点のうちの少なくとも一部分を着色する段階と、複数の点のうちの着色部分を表示する段階とを含む方法。   Article 21. Acquiring a rider point cloud including a plurality of points each having at least geospatial coordinates and a time stamp as attributes, and a plurality of images each having at least geospatial coordinates and a time stamp as attributes. Obtaining color image data including at least one of a time stamp temporally close to a time stamp of each point to be colored and a geospatial coordinate close to a geographical coordinate of each point to be colored. A method comprising: coloring at least a portion of a plurality of points using color information derived from an image; and displaying a colored portion of the plurality of points.

条項22.カメラからの出力を表示された複数の点の上へのオーバーレイとして表示する段階を更に含む条項21の方法。   Article 22. 22. The method of clause 21, further comprising displaying the output from the camera as an overlay on the displayed points.

条項23.各々に少なくとも地理空間座標と時間スタンプとが属性として付与された複数の点を含むライダー点クラウドを取得する段階と、複数の点のうちの少なくとも一部分を色情報を用いて着色する段階とを含み、複数の点の各々が、強度パラメータ、密度パラメータ、時間パラメータ、及び地理空間的場所パラメータからなる群から選択された取得ライダー点クラウドのパラメータに対応する色を用いて着色される方法。   Article 23. Obtaining a rider point cloud including a plurality of points each having at least geospatial coordinates and a time stamp as attributes, and coloring at least a portion of the plurality of points using color information. , Wherein each of the plurality of points is colored using a color corresponding to a parameter of the acquired lidar point cloud selected from the group consisting of an intensity parameter, a density parameter, a time parameter, and a geospatial location parameter.

条項24.対応する近環境から導出された複数の近距離点と、対応する遠距離環境から導出された複数の遠距離点とを含むライダー点クラウドをSLAMを用いて取得する段階を含み、遠距離点が、近環境内に位置する1又は2以上の要素の間の1又は2以上の空間を通して走査され、SLAMが近環境から遠環境へと移動する時に複数の遠距離点を利用してSLAMの方位が定められる方法。   Article 24. Acquiring, using SLAM, a rider point cloud including a plurality of near points derived from the corresponding near environment and a plurality of far points derived from the corresponding far environment, using the SLAM. Scanning through one or more spaces between one or more elements located in the near environment and utilizing the plurality of far points as the SLAM moves from the near environment to the far environment. The method by which is determined.

条項25.SLAMシステムにおいてカメラ及びレーザのうちの少なくとも一方から複数のフィードバック項を含むフィードバックを受信する段階と、各々が複数のフィードバック項に関連付けられた複数のバイアスをモデル化する段階とを含み、複数のバイアスが、バイアスのスライドウィンドウを形成する方法。   Article 25. Receiving, in a SLAM system, feedback including a plurality of feedback terms from at least one of a camera and a laser; and modeling a plurality of biases each associated with the plurality of feedback terms, the plurality of biases being included. There is a method of forming a sliding window for bias.

条項26.複数のフィードバック項の各々がSLAMシステムの推定区分的運動を含む条項25の方法。   Article 26. Clause 25. The method of Clause 25, wherein each of the plurality of feedback terms comprises an estimated piecewise motion of the SLAM system.

条項27.複数のバイアス項の各々が区分的運動中に一定であるようにモデル化される条項26の方法。   Article 27. Clause 26. The method of Clause 26, wherein each of the plurality of bias terms is modeled to be constant during the piecewise exercise.

条項28.スライドウィンドウが200個と1000個の間のバイアスを含む条項25の方法。   Article 28. Clause 25. The method of Clause 25, wherein the sliding window includes a bias between 200 and 1000.

条項29.スライドウィンドウが約400個のバイアスを含む条項28の方法。   Article 29. Clause 28. The method of Clause 28 wherein the sliding window includes about 400 biases.

条項30.スライドウィンドウが複数のバイアスの更新速度を決定するためのパラメータとして機能する条項25の方法。   Article 30. Clause 25. The method of Clause 25, wherein the sliding window serves as a parameter for determining a rate of update of the plurality of biases.

条項31.スライドウィンドウがSLAMシステムの動的再構成を可能にするようになっている条項25の方法。   Article 31. Clause 25. The method of Clause 25, wherein the sliding window is adapted to allow dynamic reconfiguration of the SLAM system.

条項32.複数のバイアスに対してIMUバイアス補正を実施する段階を更に含む条項25の方法。   Article 32. Clause 25. The method of Clause 25, further comprising performing an IMU bias correction for the plurality of biases.

条項33.IMUバイアス補正を実施する段階がレーザ及びカメラのうちの少なくとも一方からのデータを利用する段階を含む条項32の方法。   Article 33. 33. The method of clause 32, wherein performing IMU bias correction includes utilizing data from at least one of a laser and a camera.

条項34.レーザ及びカメラがSLAMシステムの一部を形成する条項33の方法。   Article 34. Clause 33. The method of Clause 33 wherein the laser and camera form part of a SLAM system.

条項35.レーザ及びカメラの各々が経時的な推定区分的運動を含む条項33の方法。   Article 35. Clause 33. The method of Clause 33 wherein each of the laser and the camera include estimated piecewise motion over time.

条項36.スライドウィンドウが事前決定個数のバイアスで形成されたアレイであり、バイアスが先入れ/先出し方式で追加及び削除される条項25の方法。   Article 36. Clause 25. The method of Clause 25 wherein the sliding window is an array formed with a predetermined number of biases, wherein the biases are added and deleted in a first-in / first-out manner.

条項37.カメラ及びIMUがSLAMシステムの一部を形成するカメラから視覚データを受信し、かつIMUから慣性データを受信する段階と、SLAMシステムの区分的運動を視覚データ及び慣性データを制約として用いて推定する段階と、視覚データから導出された1又は2以上の視覚特徴部に深度情報を関連付ける段階とを含む方法。   Article 37. The camera and the IMU receiving visual data from the camera forming part of the SLAM system and receiving inertial data from the IMU, and estimating the piecewise motion of the SLAM system using the visual data and the inertial data as constraints. A method comprising the steps of: associating depth information with one or more visual features derived from visual data.

条項38.深度情報がレーザデータから取得される条項37の方法。   Article 38. Clause 37 wherein the depth information is obtained from the laser data.

条項39.レーザデータが取得不能である場合に、深度情報を推定区分的運動を用いた三角測位から計算することができる条項38の方法。   Article 39. Clause 38. The method of Clause 38 wherein depth information can be calculated from triangulation using estimated piecewise motion when laser data is not available.

条項40.深度情報が位置合わせされた点クラウドを構築するために利用される条項37の方法。   Article 40. Clause 37. The method of Clause 37 used to construct a point cloud with depth information aligned.

条項41.点クラウドに関する1又は2以上の固有ベクトルを計算し、1又は2以上の固有ベクトルを用いて点クラウドの劣化を指定する段階を更に含む条項40の方法。   Article 41. 41. The method of clause 40, further comprising calculating one or more eigenvectors for the point cloud and using the one or more eigenvectors to specify degradation of the point cloud.

条項42.固有ベクトルのうちの少なくとも1つによって示される状態空間の方向の劣化がその方向の解を破棄するために利用される条項41の方法。   Article 42. Clause 41. The method of Clause 41 wherein a degradation in a direction of the state space indicated by at least one of the eigenvectors is used to discard a solution in that direction.

条項43.両方共にSLAMシステムの一部を形成するカメラ座標系を有するカメラとレーザ座標系を有するレーザとの間の相対姿勢をカメラとレーザとに対して単一の座標系を利用することによって決定する段階と、レーザとSLAMシステムの一部を形成し、IMU座標系を有するIMUとの間の相対姿勢を決定する段階とを含む方法。   Article 43. Determining the relative pose between a camera having a camera coordinate system and a laser having a laser coordinate system both forming part of a SLAM system by utilizing a single coordinate system for the camera and the laser Determining the relative attitude between the laser and an IMU that forms part of a SLAM system and has an IMU coordinate system.

条項44.単一の座標系を利用する段階が前処理中に複数のレーザ点をカメラ座標系内に投影する段階を含む条項43の方法。   Article 44. Clause 43. The method of Clause 43 wherein utilizing a single coordinate system comprises projecting a plurality of laser points into a camera coordinate system during preprocessing.

条項45.IMU座標系がカメラ座標系に対してほぼ平行である条項43の方法。   Article 45. Clause 43. The method of Clause 43 wherein the IMU coordinate system is substantially parallel to the camera coordinate system.

条項46.IMUからのIMUデータをその取得時に回転補正する段階を更に含む条項45の方法。   Article 46. Clause 45. The method of Clause 45 further comprising the step of rotationally correcting IMU data from the IMU upon its acquisition.

条項47.カメラ座標系が、x軸が左を指向し、y軸が上を指向し、z軸が前を指向してカメラの主軸と一致するカメラ光学中心を原点とする条項43の方法。   Article 47. Clause 43. The method of Clause 43 wherein the camera coordinate system has the x-axis pointing left, the y-axis pointing up, the z-axis pointing forward, and the origin being at the camera optical center coincident with the main axis of the camera.

条項48.IMU座標系が、x軸、y軸、及びz軸が同じ方向に対して平行であり、かつ同じ方向を指向するIMU測定中心を原点とする条項43のシステム。   Article 48. Clause 43. The system of Clause 43, wherein the IMU coordinate system is originated from an IMU measurement center in which the x-axis, y-axis, and z-axis are parallel to the same direction and point in the same direction.

条項49.世界座標系が、SLAMシステムの初期姿勢と一致する座標系である条項43のシステム。   Article 49. Clause 43. The system of Clause 43, wherein the world coordinate system is a coordinate system that matches the initial attitude of the SLAM system.

条項50.1又は2以上の姿勢制約を利用してモバイルマッピングシステムの運動モデルを確立する段階と、1又は2以上のカメラ制約を利用して1又は2以上のランドマーク位置を含むモバイルマッピングシステムのランドマーク測定モデルを確立する段階と、運動モデル及びランドマーク測定の各々に関して求解する段階とを含む方法。   Clause 50.1 Establishing a motion model of the mobile mapping system using one or more pose constraints, and a mobile mapping system including one or more landmark locations using one or more camera constraints. Establishing a landmark measurement model for each of the above, and solving for each of the motion model and the landmark measurements.

条項51.各モデルの求解段階がニュートン勾配降下法を利用する段階を含む条項50の方法。   Article 51. Clause 50. The method of Clause 50 wherein the step of solving for each model includes the step of utilizing Newton's gradient descent.

条項52.ニュートン勾配降下法が外れ特徴部の除去のためのロバストな当て嵌めフレームワークに適応される条項51の方法。   Article 52. Clause 51. The method of Clause 51 wherein Newton's gradient descent is applied to a robust fitting framework for removal of off-going features.

条項53.求解が複数のランドマーク位置を最適化することなく実施される条項50の方法。   Article 53. Clause 50. The method of Clause 50, wherein the solution is performed without optimizing the plurality of landmark locations.

条項54.複数の主要点を含むオドメトリ推定をモバイルマッピングシステムの視覚−慣性オドメトリモジュールから受信する段階と、モバイルマッピングシステムの一部を形成するIMUから複数のIMU測定値を受信する段階と、モバイルマッピングシステムの一部を形成するレーザから収集された複数のレーザ点をIMU測定値に少なくとも部分的に基づいて位置合わせする段階とを含む方法。   Article 54. Receiving an odometry estimate including a plurality of key points from a visual-inertial odometry module of the mobile mapping system; receiving a plurality of IMU measurements from an IMU forming part of the mobile mapping system; Aligning a plurality of laser points collected from the laser forming the part based at least in part on the IMU measurements.

条項55.位置合わせする段階が、複数の主要点間を内挿するためにIMU測定値を利用する段階を含む条項54の方法。   Article 55. Clause 54. The method of Clause 54 wherein the step of aligning comprises utilizing the IMU measurements to interpolate between the key points.

条項56.内挿段階が、主要点で形成された点クラウドから追跡に用いられる1又は2以上の幾何学特徴部を選択する段階を含む条項55の方法。   Article 56. Clause 55. The method of Clause 55, wherein the step of interpolating comprises selecting one or more geometric features to be used for tracking from the point cloud formed by the key points.

条項57.点クラウド内の不良点が幾何学形状に基づいて選択されない条項56の方法。   Article 57. Clause 56. The method of Clause 56 wherein the bad points in the point cloud are not selected based on the geometry.

条項58.点クラウド内の不良点が1又は2以上の点と点クラウド内の面との関係に基づいて選択されない条項56の方法。   Article 58. Clause 56. The method of Clause 56 wherein the bad points in the point cloud are not selected based on a relationship between one or more points and a surface in the point cloud.

条項59.各々が同一のサイズの第1の容積を占有する複数の第1のレベルのボクセル内に点クラウドを含むマップ情報を格納する段階と、各々が同一のサイズの第2の容積を占有する複数の第2のレベルのボクセル内にマップ情報を格納する段階であって、第1の容積が第2の容積よりも大きい条項格納する段階と、モバイルマッピングシステムのレーザスキャナに近接する第2のレベルのボクセルからマップ情報を取り出す段階と、取り出された第2のレベルのボクセルに対して走査整合を実施する段階と、第1のレベルのボクセルで構成されたマップ情報を第1のレベルのボクセルを用いて維持する段階とを含む方法。   Article 59. Storing map information including a point cloud in a plurality of first level voxels each occupying a first volume of the same size; and storing a plurality of map information each occupying a second volume of the same size. Storing map information in a second level voxel, wherein the first volume is greater than the second volume, and storing a map information in the second level voxel; Extracting map information from the voxels, performing scan matching on the extracted second-level voxels, and using the first-level voxels for map information composed of the first-level voxels. And maintaining.

条項60.各第1のレベルのボクセルが複数の第2のレベルのボクセルにマッピングされる条項59の方法。   Article 60. Clause 59. The method of clause 59, wherein each first level voxel is mapped to a plurality of second level voxels.

条項61.第2のレベルのボクセルが3D KD木内に格納される条項59の方法。   Article 61. Clause 59. The method of Clause 59 wherein the second level voxels are stored in a 3D KD tree.

条項62.ほぼ一定の点密度を維持するために点クラウドをダウンサイズする段階を更に含む条項59の方法。   Article 62. Clause 59. The method of Clause 59 further comprising downsizing the point cloud to maintain a substantially constant point density.

条項63.地上発生点クラウドマップを与える段階と、空中発生点クラウドマップを発生させる段階と、地上発生点クラウドマップと空中発生点クラウドマップとを実時間又は近実時間で融合する段階とを含む方法。   Article 63. A method comprising providing a ground origin cloud map, generating an aerial origin cloud map, and fusing the ground origin cloud map and the aerial origin cloud map in real time or near real time.

条項64.空中発生点クラウドマップが、モバイルマッピングシステムを含むドローンを利用して発生される条項63の方法。   Article 64. Clause 63. The method of Clause 63 wherein the aerial origin cloud map is generated utilizing a drone including a mobile mapping system.

条項65.ドローンがレーザスキャナ、カメラ、及び低品質IMUを含む条項63の方法。   Article 65. Clause 63. The method of clause 63 wherein the drone includes a laser scanner, a camera, and a low quality IMU.

条項66.レーザスキャナ、カメラ、及びIMUからのデータが多層最適化処理によって処理される条項65の方法。   Article 66. Clause 65. The method of Clause 65 wherein data from the laser scanner, camera, and IMU is processed by a multi-layer optimization process.

条項67.融合する段階が、地上導出マップからの少なくとも1つの出力を空中発生点クラウドマップに対して定位する段階を更に含む条項63の方法。   Article 67. Clause 63. The method of Clause 63 wherein the step of fusing further comprises the step of localizing at least one output from the ground derived map to an aerial origin cloud map.

条項68.空中発生点クラウドマップを発生させる段階が、ドローン飛行経路を定義する段階と、ドローン飛行経路に従ってドローンを自律飛行させる段階とを含む条項64の方法。   Article 68. The method of Clause 64, wherein generating the aerial origin cloud map comprises defining a drone flight path and autonomously flying the drone according to the drone flight path.

本発明の開示の少数の実施形態のみを図示して説明したが、以下に続く特許請求の範囲に記載する本発明の開示の精神及び範囲から逸脱することなくこれらの実施形態に多くの変更及び修正を加えることができることが当業者には明らかであろう。本明細書で引用する海外及び国内の両方の全ての特許出願及び特許、並びに全ての他の公開文献は、その全内容が、法律によって許可されている最大限度において本明細書に組み込まれている。   While only a few embodiments of the present disclosure have been shown and described, many changes and modifications may be made to these embodiments without departing from the spirit and scope of the present disclosure, which is set forth in the following claims. It will be apparent to those skilled in the art that modifications can be made. All patent applications and patents, both foreign and domestic, and all other publications cited herein are hereby incorporated by reference in their entirety to the fullest extent permitted by law. .

本明細書で説明する方法及びシステムは、プロセッサ上でコンピュータソフトウェア、プログラムコード、及び/又は命令を実行する機械によって部分的又は全体的に配備することができる。本発明の開示内容は、機械上の方法として、機械の一部としての又は機械に関連付けられたシステム又は装置として、又はコンピュータ読取可能媒体に具現化されて機械のうちの1又は2以上の上で実行されるコンピュータプログラム製品として実施することができる。実施形態では、プロセッサは、サーバ、クラウドサーバ、クライアント、ネットワークインフラストラクチャ、モバイルコンピュータプラットフォーム、固定コンピュータプラットフォーム、又は他のコンピュータプラットフォームの一部とすることができる。プロセッサは、プログラム命令、コード、及びバイナリ命令などを実行することができるあらゆるタイプの計算デバイス又は処理デバイスとすることができる。プロセッサは、信号プロセッサ、デジタルプロセッサ、内蔵プロセッサ、マイクロコントローラ、又は内部に格納されたプログラムコード又はプログラム命令の実行を直接的又は間接的に容易にするコプロセッサ(数値演算コプロセッサ、グラフィックコプロセッサ、及び通信コプロセッサなど)などのようなあらゆる変形とすることができる又はこれらを含むことができる。それに加えて、プロセッサは、複数のプログラム、スレッド、及びコードの実行を可能にすることができる。複数のスレッドは、プロセッサの性能を向上させるために又はアプリケーションの同時作動を容易にするために同時に実行することができる。実施により、本明細書で説明する方法、プログラムコード、及びプログラム命令などは、1又は2以上のスレッドに実施することができる。スレッドは、割り当て優先度をそれに関連付けることができる他のスレッドを生み出すことができ、プロセッサは、プログラムコード内で与えられる命令に基づく優先度又はいずれかの他の順序に基づいてこれらのスレッドを実行することができる。プロセッサ又はそれを利用するあらゆる機械は、本明細書及びいずれかの他の場所で説明する方法、コード、命令、及びプログラムを格納する非一時的メモリを含むことができる。プロセッサは、本明細書及びいずれかの他の場所で説明する方法、コード、及び命令を格納することができる非一時的格納媒体にインターフェースを通じてアクセスすることができる。方法、プログラム、コード、プログラム命令、又はコンピュータデバイス又は処理デバイスが実行することができる他のタイプの命令を格納するためにプロセッサに関連付けられた格納媒体は、CD−ROM、DVD、メモリ、ハードディスク、フラッシュデバイス、RAM、ROM、及びキャッシュなどのうちの1又は2以上を含むことができるが、これらに限定されない場合もある。   The methods and systems described herein may be partially or wholly deployed by machines that execute computer software, program code, and / or instructions on a processor. The present disclosure may be applied to one or more of the machines as a method on a machine, as part of a machine or as a system or device associated with a machine, or embodied in a computer-readable medium. And can be implemented as a computer program product executed on a computer. In embodiments, the processor may be part of a server, cloud server, client, network infrastructure, mobile computer platform, fixed computer platform, or other computer platform. A processor may be any type of computing or processing device capable of executing program instructions, code, binary instructions, and the like. The processor may be a signal processor, digital processor, embedded processor, microcontroller, or coprocessor that facilitates, directly or indirectly, the execution of internally stored program code or instructions. And communication co-processors) and the like. In addition, a processor may allow for execution of multiple programs, threads, and code. Multiple threads may execute concurrently to improve processor performance or to facilitate concurrent operation of applications. Depending on the implementation, the methods, program codes, program instructions, and the like described herein can be implemented in one or more threads. Threads can spawn other threads with which they can associate an allocation priority, and the processor executes these threads based on priority or any other order based on instructions given in the program code. can do. The processor or any machine utilizing the same may include non-transitory memory for storing the methods, codes, instructions, and programs described herein and elsewhere. The processor can access the non-transitory storage media through the interface, which can store the methods, codes, and instructions described herein and elsewhere. The storage media associated with the processor for storing the methods, programs, code, program instructions, or other types of instructions that can be executed by the computing device or the processing device include CD-ROM, DVD, memory, hard disk, It may include, but is not limited to, one or more of a flash device, RAM, ROM, cache, and the like.

プロセッサは、マルチプロセッサの速度及び性能を向上させることができる1又は2以上のコアを含むことができる。実施形態では、処理は、2又は3以上の独立したコア(ダイと呼ぶ)を組み合わせるデュアルコアプロセッサ、クワッドコアプロセッサ、及び他のチップレベルマルチプロセッサなどとすることができる。   A processor can include one or more cores that can increase the speed and performance of a multiprocessor. In embodiments, the processing may be a dual-core processor, a quad-core processor, and other chip-level multiprocessors that combine two or more independent cores (called dies).

本明細書で説明する方法及びシステムは、サーバ、クライアント、ファイアウォール、ゲートウェイ、ハブ、ルータ、又は他のそのようなコンピュータ及び/又はネットワーク接続ハードウェア上でコンピュータソフトウェアを実行する機械によって部分的又は全体的に配備することができる。ソフトウェアプログラムは、ファイルサーバ、プリントサーバ、ドメインサーバ、インターネットサーバ、イントラネットサーバ、クラウドサーバ、並びに2次サーバ、ホストサーバ、及び分散サーバなどのような他の変形を含むことができるサーバに関連付けることができる。サーバは、メモリ、プロセッサ、コンピュータ読取可能媒体、格納媒体、ポート(物理的及び仮想的)、通信デバイス、及び他のサーバ、クライアント、機械、及びデバイスに有線又は無線の媒体を通じてアクセスすることができるインターフェースなどのうちの1又は2以上を含むことができる。本明細書及びいずれかの他の場所で説明する方法、プログラム、又はコードは、サーバによって実行することができる。それに加えて、本出願で説明する方法の実行に必要とされる他のデバイスは、サーバに関連付けられたインフラストラクチャの一部と見なすことができる。   The methods and systems described herein may be partially or wholly implemented by servers, clients, firewalls, gateways, hubs, routers, or other such machines that execute computer software on computer and / or network connection hardware. Can be deployed dynamically. Software programs can be associated with servers that can include file servers, print servers, domain servers, Internet servers, intranet servers, cloud servers, and other variants such as secondary servers, host servers, distributed servers, and the like. it can. Servers can access memory, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and other servers, clients, machines, and devices through wired or wireless media. One or more of an interface or the like may be included. The methods, programs, or codes described herein and anywhere else may be executed by a server. In addition, other devices required to perform the methods described in this application can be considered as part of the infrastructure associated with the server.

サーバは、クライアント、他のサーバ、プリンタ、データベースサーバ、プリントサーバ、ファイルサーバ、通信サーバ、分散サーバ、及びソーシャルネットワークなどを制限なく含む他のデバイスへのインターフェースを提供することができる。それに加えて、この結合及び/又は接続は、ネットワークにわたるプログラムのリモート実行を容易にすることができる。これらのデバイスのうちの一部又は全てのもののネットワーク接続は、本発明の開示の範囲から逸脱することなく1又は2以上の場所でのプログラム又は方法の並列処理を容易にすることができる。それに加えて、インターフェースを通じてサーバに取り付けられたデバイスのうちのいずれも、方法、プログラム、コード、及び/又は命令を格納することができる少なくとも1つの格納媒体を含むことができる。中央リポジトリは、異なるデバイス上で実行されることになるプログラム命令を提供することができる。この実施では、リモートリポジトリは、プログラムコード、命令、及びプログラムに対する格納媒体としての役割を果たすことができる。   The server may provide an interface to clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers, and other devices, including without limitation social networks and the like. In addition, this coupling and / or connection can facilitate remote execution of programs across a network. The network connection of some or all of these devices may facilitate parallel processing of programs or methods at one or more locations without departing from the scope of the present disclosure. In addition, any of the devices attached to the server through the interface may include at least one storage medium capable of storing methods, programs, codes, and / or instructions. A central repository may provide program instructions that will be executed on different devices. In this implementation, the remote repository can serve as a storage medium for the program code, instructions, and programs.

ソフトウェアプログラムは、ファイルクライアント、プリントクライアント、ドメインクライアント、インターネットクライアント、イントラネットクライアント、並びに2次クライアント、ホストクライアント、及び分散クライアントなどのような他の変形を含むことができるクライアントに関連付けることができる。クライアントは、メモリ、プロセッサ、コンピュータ読取可能媒体、格納媒体、ポート(物理的及び仮想的)、通信デバイス、及び他のクライアント、サーバ、機械、及びデバイスに有線又は無線の媒体を通じてアクセスすることができるインターフェースなどのうちの1又は2以上を含むことができる。本明細書及びいずれかの他の場所で説明する方法、プログラム、又はコードは、クライアントによって実行することができる。それに加えて、本出願で説明する方法の実行に必要とされる他のデバイスは、クライアントに関連付けられたインフラストラクチャの一部と見なすことができる。   Software programs can be associated with clients that can include file clients, print clients, domain clients, Internet clients, intranet clients, and other variants such as secondary clients, host clients, distributed clients, and the like. Clients can access memory, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and other clients, servers, machines, and devices through wired or wireless media. One or more of an interface or the like may be included. The methods, programs, or codes described herein and anywhere else may be executed by a client. In addition, other devices required to perform the methods described in this application can be considered part of the infrastructure associated with the client.

クライアントは、サーバ、他のクライアント、プリンタ、データベースサーバ、プリントサーバ、ファイルサーバ、通信サーバ、及び分散サーバなどを制限なく含む他のデバイスへのインターフェースを提供することができる。それに加えて、この結合及び/又は接続は、ネットワークにわたるプログラムのリモート実行を容易にすることができる。これらのデバイスのうちの一部又は全てのもののネットワーク接続は、本発明の開示の範囲から逸脱することなく1又は2以上の場所でのプログラム又は方法の並列処理を容易にすることができる。それに加えて、インターフェースを通じてクライアントに取り付けられたデバイスのうちのいずれも、方法、プログラム、用途、コード、及び/又は命令を格納することができる少なくとも1つの格納媒体を含むことができる。中央リポジトリは、異なるデバイス上で実行されることになるプログラム命令を提供することができる。この実施では、リモートリポジトリは、プログラムコード、命令、及びプログラムに対する格納媒体としての役割を果たすことができる。   A client can provide an interface to other devices, including, without limitation, servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers, and the like. In addition, this coupling and / or connection can facilitate remote execution of programs across a network. The network connection of some or all of these devices may facilitate parallel processing of programs or methods at one or more locations without departing from the scope of the present disclosure. In addition, any of the devices attached to the client through the interface can include at least one storage medium that can store the methods, programs, applications, codes, and / or instructions. A central repository may provide program instructions that will be executed on different devices. In this implementation, the remote repository can serve as a storage medium for the program code, instructions, and programs.

本明細書で説明する方法及びシステムは、ネットワークインフラストラクチャによって部分的又は全体的に配備することができる。ネットワークインフラストラクチャは、コンピュータデバイス、サーバ、ルータ、ハブ、ファイアウォール、クライアント、パーソナルコンピュータ、通信デバイス、ルーティングデバイス、他の能動的又は受動的なデバイス、モジュール、及び/又は当業技術で公知の構成要素のような要素を含むことができる。ネットワークインフラストラクチャに関連付けられたコンピュータデバイス及び/又は非コンピュータデバイスは、他の構成要素はともかく、フラッシュメモリ、バッファ、スタック、RAM、及びROMなどのような格納媒体を含むことができる。本明細書及びいずれかの他の場所で説明する処理、方法、プログラムコード、命令は、ネットワークインフラストラクチャ要素のうちの1又は2以上によって実行することができる。本明細書で説明する方法及びシステムは、ソフトウェア・アズ・ア・サービス(SaaS)、プラットフォーム・アズ・ア・サービス(PaaS)、及び/又はインフラストラクチャ・アズ・ア・サービス(IaaS)の特徴を伴うものを含むいずれかのタイプのプライベート、コミュニティ、又はハイブリッドのクラウドコンピュータネットワーク又はクラウドコンピュータ環境との併用に対して適応させることができる。   The methods and systems described herein may be partially or wholly deployed by a network infrastructure. The network infrastructure is a computing device, server, router, hub, firewall, client, personal computer, communication device, routing device, other active or passive device, module, and / or component known in the art. Can be included. Computing devices and / or non-computer devices associated with a network infrastructure, apart from other components, can include storage media such as flash memory, buffers, stacks, RAM, ROM, and the like. The processes, methods, program codes, instructions described herein and elsewhere may be performed by one or more of the network infrastructure elements. The methods and systems described herein may characterize software as a service (SaaS), platform as a service (PaaS), and / or infrastructure as a service (IaaS). It can be adapted for use with any type of private, community, or hybrid cloud computer network or environment, including those involved.

本明細書及びいずれかの他の場所で説明する方法、プログラムコード、及び命令は、送信側制御式接触媒体コンテンツ項目複数セルを有するセルラーネットワーク上に実施することができる。セルラーネットワークは、周波数分割多重アクセス(FDMA)ネットワーク又はコード分割多重アクセス(CDMA)ネットワークのいずれかとすることができる。セルラーネットワークは、モバイルデバイス、セルサイト、基地局、リピータ、アンテナ、及び電波塔などを含むことができる。セルネットワークは、GSM(登録商標)、GPRS、3G、EVDO、メッシュ、又は他のネットワークタイプのものとすることができる。   The methods, program codes, and instructions described herein and elsewhere may be implemented on a cellular network having a source-controlled contact media content item multiple cells. A cellular network can be either a frequency division multiple access (FDMA) network or a code division multiple access (CDMA) network. A cellular network can include mobile devices, cell sites, base stations, repeaters, antennas, towers, and the like. The cell network may be of the GSM, GPRS, 3G, EVDO, mesh, or other network type.

本明細書及びいずれかの他の場所で説明する方法、プログラムコード、及び命令は、モバイルデバイス上で又はこのデバイスによって実施することができる。モバイルデバイスは、ナビゲーションデバイス、セル電話、モバイル電話、モバイル携帯情報端末、ラップトップ、パームトップ、ネットブック、ページャ、電子書籍読取器、及び音楽プレーヤなどを含むことができる。これらのデバイスは、他の構成要素はともかく、フラッシュメモリ、バッファ、RAM、ROM、及び1又は2以上のコンピュータデバイスのような格納媒体を含むことができる。モバイルデバイスに関連付けられたコンピュータデバイスは、その上に格納されたプログラムコード、方法、及び命令を実行するように作動させることができる。これに代えて、モバイルデバイスは、他のデバイスと協調して命令を実行するように構成することができる。モバイルデバイスは、サーバとインターフェース接続されてプログラムコードを実行するように構成された基地局と通信することができる。モバイルデバイスは、ピアツーピアネットワーク、メッシュネットワーク、又は他の通信ネットワーク上で通信を行うことができる。プログラムコードは、サーバに関連付けられた格納媒体上に格納することができ、サーバの内部に埋め込まれたコンピュータデバイスによって実行することができる。基地局は、コンピュータデバイスと格納デバイスとを含むことができる。格納デバイスは、基地局に関連付けられたコンピュータデバイスによって実行されるプログラムコード及び命令を格納することができる。   The methods, program codes, and instructions described herein and anywhere else can be implemented on or by a mobile device. Mobile devices can include navigation devices, cell phones, mobile phones, mobile personal digital assistants, laptops, palmtops, netbooks, pagers, e-book readers, music players, and the like. These devices, apart from other components, may include storage media such as flash memory, buffers, RAM, ROM, and one or more computing devices. A computing device associated with the mobile device can be operable to execute program codes, methods, and instructions stored thereon. Alternatively, the mobile device can be configured to execute instructions in cooperation with other devices. The mobile device can communicate with a base station that is configured to interface with the server and execute the program code. Mobile devices can communicate over peer-to-peer networks, mesh networks, or other communication networks. The program code can be stored on a storage medium associated with the server and can be executed by a computing device embedded inside the server. A base station can include a computing device and a storage device. The storage device can store program codes and instructions that are executed by a computing device associated with the base station.

コンピュータソフトウェア、プログラムコード、及び/又は命令は、コンピュータ構成要素、デバイス、及びある程度の時間間隔にわたってコンピュータに用いられるデジタルデータを保持する記録媒体と、ランダムアクセスメモリ(RAM)として公知の半導体ストレージと、光学ディスクなど、ハードディスク、テープ、ドラム、カード、及び他のタイプのもののような形態の磁気ストレージのようなより永久的な格納のための大容量ストレージと、プロセッサレジスタ、キャッシュメモリ、揮発性メモリ、不揮発性メモリと、CD、DVDのような光学ストレージと、フラッシュメモリ(例えばUSBスティック又はUSBキー)、フロッピーディスク、磁気テープ、紙テープ、パンチカード、独立型RAMディスク、Zipドライブ、着脱可能大容量ストレージ、及びオフラインなどのような着脱可能媒体と、動的メモリ、静的メモリ、読取/書込ストレージ、可変ストレージ、読取専用ストレージ、ランダムアクセスストレージ、順次アクセスストレージ、ロケーションアドレス指定可能ストレージ、ファイルアドレス指定可能ストレージ、コンテンツアドレス指定可能ストレージ、ネットワーク接続ストレージ、ストレージエリアネットワーク、バーコード、及び磁気インクなどのような他のコンピュータメモリとを含むことができる機械読取可能媒体上に格納される及び/又はそこにアクセスすることができる。   Computer software, program code, and / or instructions may include computer components, devices, and storage media for holding digital data used by the computer for some time interval; semiconductor storage, known as random access memory (RAM); Mass storage for more permanent storage, such as magnetic storage in the form of hard disks, tapes, drums, cards, and other types such as optical disks, and processor registers, cache memory, volatile memory, Non-volatile memory, optical storage such as CD and DVD, flash memory (for example, USB stick or USB key), floppy disk, magnetic tape, paper tape, punch card, stand-alone RAM disk, Zip drive Removable mass storage and removable media such as offline, dynamic memory, static memory, read / write storage, variable storage, read-only storage, random access storage, sequential access storage, location addressable Stored on machine readable media that can include storage, file addressable storage, content addressable storage, network attached storage, storage area networks, barcodes, and other computer memory such as magnetic ink, etc. And / or have access to it.

本明細書で説明する方法及びシステムは、物理的なもの及び/又は無形のものを1つの状態から別の状態へと変換することができる。更に本明細書で説明する方法及びシステムは、物理的なもの及び/又は無形のものを表すデータを1つの状態から別の状態へと変換することもできる。   The methods and systems described herein can convert physical and / or intangible from one state to another. Further, the methods and systems described herein may also convert data representing physical and / or intangible from one state to another.

図を通して流れ図及びブロック図のものを含む本明細書で説明して描いた要素は、要素間の論理境界を含意する。しかし、ソフトウェア工学又はハードウェア工学の慣例によると、描いた要素及びその機能は、モノリシックソフトウェア構造、独立型ソフトウェアモジュール、又は外部のルーチン、コード、及びサービスなどを用いるモジュールとして内部に格納されたプログラム命令を実行することができる送信側制御式接触媒体コンテンツ項目プロセッサを有する機械上にコンピュータ実行可能媒体を通じて実施することができ、全てのそのような実施は、本発明の開示の範囲内にあるものとすることができる。そのような機械の例は、携帯情報端末、ラップトップ、パーソナルコンピュータ、モバイル電話、他の手持ち式コンピュータデバイス、医療機器、有線又は無線の通信デバイス、トランスデューサ、チップ、計算機、衛星、タブレットPC、電子書籍、ガジェット、電子デバイス、送信側制御式接触媒体コンテンツ項目人工知能を有するデバイス、コンピュータデバイス、ネットワーク接続機器、サーバ、及びルータなどを含むことができるが、これらに限定されない場合もある。更に、流れ図及びブロック図に描いている要素又はいずれかの他の論理構成要素は、プログラム命令を実行することができる機械上に実施することができる。従って、明示的に述べない限り又は状況から別途明白でない限り、前述の図面及び説明は本発明の開示のシステムの機能態様を示しているが、これらの機能態様を実施するためのソフトウェアのいずれの特定の配列もこれらの説明から推断すべきではない。同様に、上記で図示して説明した様々な段階は変更することができ、段階の順序を本明細書に開示する技術の特定の用途に適応させることができることは認められるであろう。全てのそのような変更及び修正は、本発明の開示の範囲に収まることを意図している。従って、特定の用途によって必要とされない限り、明示的に述べない限り、又は状況から別途明白でない限り、様々な段階に関する順序の描写及び/又は説明は、これらの段階に対する特定の実行順序を必要とすると理解すべきではない。   Elements described and depicted herein, including those of flowcharts and block diagrams, imply logical boundaries between the elements. However, according to software or hardware engineering conventions, the depicted elements and their functions may be implemented in a monolithic software structure, a standalone software module, or a program stored internally as a module using external routines, code, and services. It can be implemented through a computer-executable medium on a machine having a sender-controlled contact media content item processor capable of executing instructions, all such implementations being within the scope of the present disclosure. It can be. Examples of such machines are personal digital assistants, laptops, personal computers, mobile phones, other handheld computing devices, medical equipment, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, electronic Books, gadgets, electronic devices, sender controlled contact media content items Artificial intelligence devices, computing devices, network connected devices, servers, routers, and the like may be included, but are not limited thereto. Further, the elements depicted in the flowcharts and block diagrams, or any other logical components, may be implemented on machines capable of executing program instructions. Thus, unless expressly stated or otherwise apparent from the context, the foregoing figures and descriptions show the functional aspects of the disclosed system of the present invention, but may include any of the software for implementing these functional aspects. No particular sequence should be inferred from these descriptions. Similarly, it will be appreciated that the various steps illustrated and described above can be varied, and that the order of the steps can be tailored to the particular application of the technology disclosed herein. All such changes and modifications are intended to be within the scope of the present disclosure. Thus, unless otherwise required by a particular application, unless explicitly stated or otherwise apparent from the context, the depiction and / or description of the steps with respect to the various steps requires a particular order of execution for those steps. That should not be understood.

上記で説明した方法及び/又は処理、並びに関連の段階は、ハードウェア、ソフトウェア、又は特定の用途に適するハードウェアとソフトウェアのいずれかの組み合わせで実現することができる。ハードウェアは、汎用コンピュータ及び/又は専用コンピュータデバイス、又は特定のコンピュータデバイス又はその特定の態様又は構成要素を含むことができる。処理は、1又は2以上のマイクロプロセッサ、マイクロコントローラ、埋め込みマイクロコントローラ、プログラミング可能デジタル信号プロセッサ、又は他のプログラミング可能デバイスに内部メモリ及び又は外部メモリを併せたものに実現することができる。処理は、同じく又は代わりに特定用途向け集積回路、プログラミング可能ゲートアレイ、プログラミング可能アレイ論理部、又はいずれかの他のデバイス、又は電子信号を処理するように構成することができるデバイスの組み合わせに具現化することができる。処理のうちの1又は2以上は、機械読取可能媒体上で実行することができるコンピュータ実行可能コードとして実現することができることは更に認められるであろう。   The methods and / or processes described above, and the associated steps, may be implemented in hardware, software, or any combination of hardware and software suitable for a particular application. The hardware may include a general-purpose computer and / or special-purpose computing device, or a particular computing device or particular aspects or components thereof. The processing may be implemented in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors, or other programmable devices, with internal and / or external memory. The processing may also or alternatively be embodied in an application specific integrated circuit, a programmable gate array, a programmable array logic, or any other device or combination of devices that can be configured to process electronic signals. Can be It will further be appreciated that one or more of the operations can be implemented as computer-executable code that can execute on a machine-readable medium.

コンピュータ実行可能コードは、Cのような構造化プログラミング言語、C++のようなオブジェクト指向プログラミング言語、又は上記のデバイスのうちの1つの上、並びにプロセッサ、プロセッサアーキテクチャの異種組み合わせの上、異なるハードウェアとソフトウェアの組み合わせの上、又はプログラム命令を実行することができるいずれかの他の機械上で実行されるように格納、コンパイル実行、又はインタープリタ実行することができるいずれかの他の高レベル又は低レベルのプログラミング言語(アッセンブリ言語、ハードウェア記述言語、並びにデータベースプログラミングの言語及び技術)を用いて作成することができる。   The computer-executable code may be on a structured programming language such as C, an object-oriented programming language such as C ++, or on one of the above devices, as well as on a heterogeneous combination of processors, processor architectures, and different hardware. Any other high or low level that can be stored, compiled, or interpreted to run on a combination of software or on any other machine that can execute program instructions (Assembly language, hardware description language, and database programming language and technology).

従って、一態様では、上記で説明した方法及びその組み合わせは、1又は2以上のコンピュータデバイス上で実行された時にこれらの方法の段階を実施するコンピュータ実行可能コードに具現化することができる。別の態様では、本方法は、その段階を実施するシステムに具現化することができ、一部の手法でデバイスにわたって分散させることができ、又は機能の全てを専用の独立型デバイス又は他のハードウェア内に統合することができる。別の態様では、上記で説明した処理に関連付けられた段階を実施するための手段は、上記で説明したハードウェア及び/又はソフトウェアのいずれかを含むことができる。全てのそのような組み替え及び組み合わせは、本発明の開示の範囲に収まることを意図している。   Thus, in one aspect, the above-described methods and combinations thereof may be embodied in computer-executable code that, when executed on one or more computing devices, implements the steps of these methods. In another aspect, the method may be embodied in a system that performs the steps, may be distributed across the devices in some manner, or may dedicate all of the functions to a dedicated stand-alone device or other hardware. It can be integrated in the ware. In another aspect, the means for performing the steps associated with the processes described above can include any of the hardware and / or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.

本発明の開示は、詳細に図示して説明した好ましい実施形態に関連して開示したが、当業者には、これらの実施形態に対する様々な修正及び改善が直ちに明らかになるであろう。従って、本発明の開示の精神及び範囲は、前述の例によって限定されるべきではなく、法律によって許容可能な最も広義の意味で理解されるべきである。   Although the present disclosure has been disclosed in connection with the preferred embodiments illustrated and described in detail, various modifications and improvements to these embodiments will be readily apparent to those skilled in the art. Therefore, the spirit and scope of the present disclosure should not be limited by the foregoing examples, but rather should be understood in the broadest sense permitted by law.

本発明の開示を説明する状況(特に以下に続く特許請求の範囲の状況)での用語「a」及び「an」及び「the」及び類似の指示物は、本明細書で別途示さない限り、又は状況が明らかに矛盾しない限り、単数と複数の両方の指示物を網羅するように解釈されるものとする。「備える」、「送信側制御式接触媒体コンテンツ項目を有する」、「含む」、及び「含有する」という用語は、別途特筆しない限り、非限定的な用語である(すなわち、「〜を含むがそれに限定されない」)と解釈されるものとする。本明細書における値範囲の具陳は、当該範囲内に収まる各別個の値を個々に記す上での略記法としての役割を果たすことしか意図しておらず、本明細書で別途示さない限り、各別個の値は、これらの値が本明細書において個々に具陳されているかのように本明細書に組み込まれている。本明細書に開示する全ての方法は、本明細書で別途示さない限り、他に状況が明らかに矛盾しない限り、あらゆる適切な順序で実施することができる。本明細書に提示するいずれかの及び全ての例又は例示的文言(例えば「〜等」)の使用は、本発明の開示をより明らかにすることしか意図しておらず、別途主張しない限り、本発明の開示の範囲に対して制限を課することはない。本明細書におけるいずれの文言も、本発明の開示の実施にとっていずれかの非請求要素が不可欠であることを示すものと解釈すべきではない。   The terms "a" and "an" and "the" and similar designations in the context of describing the disclosure of the present invention, particularly in the context of the claims which follow, are used unless otherwise indicated herein. Or should be construed to cover both the singular and the plural, unless the context clearly indicates otherwise. The terms "comprising," "having a sender-controlled contact media content item," "including," and "containing" are non-limiting terms, unless otherwise specified (i.e., "including But not limited to this). The specification of a range of values herein is intended only to serve as an abbreviation for individually writing each individual value that falls within the range, unless otherwise indicated herein. , Each separate value is incorporated herein as if these values were individually expressed herein. All methods disclosed herein can be performed in any suitable order, unless the context clearly indicates otherwise, unless otherwise indicated herein. The use of any and all examples or illustrative language provided herein (eg, “eg,” etc.) is intended only to clarify the disclosure of the invention and, unless otherwise stated, It places no restrictions on the scope of the present disclosure. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the disclosure.

前述の書面による説明は、当業者が現時点で最良のモードと考えられるものを作って用いることを可能にするが、当業者は、本明細書における特定の実施形態、方法、及び実施例の変更、組み合わせ、及び均等物の存在を理解及び認識するであろう。従って、本発明の開示は、上記で説明した実施形態、方法、及び実施例によってではなく、本発明の開示の範囲及び精神に入る全ての実施形態及び方法によって限定されるべきである。   While the foregoing written description will allow those skilled in the art to make and use what is considered to be the best mode at this time, those skilled in the art will recognize that certain embodiments, methods, and examples herein may be modified. , Combinations and equivalents will be understood and appreciated. Accordingly, the disclosure of the present invention should be limited not by the embodiments, methods, and examples described above, but by all embodiments and methods that fall within the scope and spirit of the present disclosure.

本明細書に引用する全ての文献は、これにより引用によって組み込まれる。   All documents cited herein are hereby incorporated by reference.

2100 SLAMユニット
2102 マイクロコントローラ
2104 CPU
2106 IMU
2108 直交復号器
2100 SLAM unit 2102 Microcontroller 2104 CPU
2106 IMU
2108 orthogonal decoder

Claims (30)

IMUデバイスからデータを第1の計算モジュールで第1の周波数で受信し、該受信IMUデータに少なくとも部分的に基づいてモバイルマッピングシステムの第1の推定位置を計算する段階と、
前記第1の推定位置及び視覚−慣性データを第2の計算モジュールで第2の周波数で受信し、該第1の推定位置及び視覚−慣性データに少なくとも部分的に基づいて前記モバイルマッピングシステムの第2の推定位置を計算する段階と、
前記第2の推定位置及びレーザ走査データを第3の計算モジュールで第3の周波数で受信し、該第2の推定位置及びレーザ走査データに少なくとも部分的に基づいて前記モバイルマッピングシステムの第3の推定位置を計算する段階と、
を含むことを特徴とする方法。
Receiving data from an IMU device at a first frequency at a first calculation module and calculating a first estimated position of the mobile mapping system based at least in part on the received IMU data;
The first estimated position and visual-inertial data are received at a second calculation module at a second frequency, and a second of the mobile mapping system is based at least in part on the first estimated position and visual-inertial data. Calculating an estimated position of 2;
The second estimated position and the laser scan data are received at a third frequency at a third calculation module, and a third of the mobile mapping system is based at least in part on the second estimated position and the laser scan data. Calculating an estimated position;
A method comprising:
前記第1の周波数、前記第2の周波数、及び前記第3の周波数の各々が、互いに異なっていることを特徴とする請求項1に記載の方法。   The method of claim 1, wherein each of the first frequency, the second frequency, and the third frequency are different from one another. 前記周波数は、前記第2の周波数よりも高く、該第2の周波数は、前記第3の周波数よりも高いことを特徴とする請求項2に記載の方法。   The method of claim 2, wherein the frequency is higher than the second frequency, and the second frequency is higher than the third frequency. 少なくとも1つの計算モジュールの作動が迂回されることを特徴とする請求項1に記載の方法。   The method of claim 1, wherein operation of at least one computing module is bypassed. 残りの迂回されないモジュールの各々によって計算された前記推定位置は、線形様式で組み合わされることを特徴とする請求項4に記載の方法。   The method of claim 4, wherein the estimated positions calculated by each of the remaining non-diverted modules are combined in a linear fashion. 残りの迂回されないモジュールの各々によって計算された前記推定位置は、非線形様式で組み合わされることを特徴とする請求項4に記載の方法。   5. The method of claim 4, wherein the estimated positions calculated by each of the remaining non-diverted modules are combined in a non-linear manner. 前記第1の計算モジュールが迂回される時に、前記第2の推定位置は、第1の推定位置を参照することなく前記視覚慣性データから計算されることを特徴とする請求項4に記載の方法。   The method of claim 4, wherein when the first calculation module is bypassed, the second estimated position is calculated from the visual inertial data without reference to the first estimated position. . 前記第2の計算モジュールが迂回される時に、前記第3の推定位置は、前記レーザ走査データ及び前記第1の推定位置から計算されることを特徴とする請求項4に記載の方法。   The method of claim 4, wherein the third estimated position is calculated from the laser scan data and the first estimated position when the second calculation module is bypassed. 問題状態空間内の劣化部分空間を決定し、該劣化部分空間内の推定位置を計算する段階を更に含むことを特徴とする請求項1に記載の方法。   The method of claim 1, further comprising determining a degraded subspace in the problem state space and calculating an estimated position in the degraded subspace. 前記部分空間は、十分に条件付けされた部分空間であることを特徴とする請求項9に記載の方法。   The method of claim 9, wherein the subspace is a well-conditioned subspace. 前記第2の計算モジュール又は前記第3の計算モジュールのうちの少なくとも一方によって計算された前記推定位置は、先行計算モジュールによって入力として受信されることを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the estimated position calculated by at least one of the second calculation module or the third calculation module is received as an input by a preceding calculation module. 前記システムは、高い角速度で作動するようになっていることを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the system operates at a high angular velocity. 前記高い角速度は、360度/秒ほども高い回転速度を含むことを特徴とする請求項12に記載の方法。   The method of claim 12, wherein the high angular velocity includes a rotational speed as high as 360 degrees / second. 前記システムは、高い線速度で作動するようになっていることを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the system is adapted to operate at a high linear velocity. 前記高い線速度は、100キロメートル/時ほども高い速度を含むことを特徴とする請求項12に記載の方法。   The method of claim 12, wherein the high linear velocity includes a velocity as high as 100 kilometers / hour. モバイルマッピングシステムであって、
IMUデバイスから第1の周波数でデータを受信し、該受信IMUデータに少なくとも部分的に基づいてモバイルマッピングシステムの第1の推定位置を計算するようになった第1の計算モジュールと、
前記第1の推定位置及び視覚−慣性データを第2の周波数で受信し、該第1の推定位置及び視覚−慣性データに少なくとも部分的に基づいてモバイルマッピングシステムの第2の推定位置を計算するようになった第2の計算モジュールと、
前記第2の推定位置及びレーザ走査データを第3の周波数で受信し、該第2の推定位置及びレーザ走査データに少なくとも部分的に基づいてモバイルマッピングシステムの第3の推定位置を計算するようになった第3の計算モジュールと、
を含むことを特徴とするモバイルマッピングシステム。
A mobile mapping system,
A first calculation module adapted to receive data at a first frequency from an IMU device and calculate a first estimated position of a mobile mapping system based at least in part on the received IMU data;
Receiving the first estimated position and visual-inertial data at a second frequency and calculating a second estimated position of a mobile mapping system based at least in part on the first estimated position and visual-inertial data. A second calculation module,
Receiving the second estimated position and the laser scan data at a third frequency, and calculating a third estimated position of a mobile mapping system based at least in part on the second estimated position and the laser scan data. A third calculation module,
A mobile mapping system comprising:
前記第1の周波数、前記第2の周波数、及び前記第3の周波数の各々が、互いに異なっていることを特徴とする請求項16に記載のシステム。   17. The system of claim 16, wherein each of the first frequency, the second frequency, and the third frequency are different from each other. 前記周波数は、前記第2の周波数よりも高く、該第2の周波数は、前記第3の周波数よりも高いことを特徴とする請求項17に記載のシステム。   The system of claim 17, wherein the frequency is higher than the second frequency, and wherein the second frequency is higher than the third frequency. 少なくとも1つの計算モジュールの作動が迂回されることを特徴とする請求項16に記載のシステム。   17. The system of claim 16, wherein operation of at least one computing module is bypassed. 残りの迂回されないモジュールの各々によって計算された前記推定位置は、線形様式で組み合わされることを特徴とする請求項19に記載のシステム。   20. The system of claim 19, wherein the estimated positions calculated by each of the remaining non-diverted modules are combined in a linear fashion. 残りの迂回されないモジュールの各々によって計算された前記推定位置は、非線形様式で組み合わされることを特徴とする請求項19に記載のシステム。   20. The system of claim 19, wherein the estimated positions calculated by each of the remaining non-diverted modules are combined in a non-linear fashion. 前記第1の計算モジュールが迂回される時に、前記第2の推定位置は、第1の推定位置を参照することなく前記視覚慣性データから計算されることを特徴とする請求項19に記載のシステム。   The system of claim 19, wherein when the first calculation module is bypassed, the second estimated position is calculated from the visual inertia data without reference to the first estimated position. . 前記第2の計算モジュールが迂回される時に、前記第3の推定位置は、前記レーザ走査データ及び前記第1の推定位置から計算されることを特徴とする請求項19に記載のシステム。   20. The system of claim 19, wherein the third estimated position is calculated from the laser scan data and the first estimated position when the second calculation module is bypassed. 問題状態空間内の劣化部分空間を決定し、該劣化部分空間内の推定位置を計算することを更に含むことを特徴とする請求項16に記載のシステム。   17. The system of claim 16, further comprising determining a degraded subspace in the problem state space and calculating an estimated position in the degraded subspace. 前記部分空間は、十分に条件付けされた部分空間であることを特徴とする請求項24に記載のシステム。   The system of claim 24, wherein the subspace is a well-conditioned subspace. 前記第2の計算モジュール又は前記第3の計算モジュールのうちの少なくとも一方によって計算された前記推定位置は、先行計算モジュールによって入力として受信されることを特徴とする請求項16に記載のシステム。   The system of claim 16, wherein the estimated position calculated by at least one of the second calculation module or the third calculation module is received as an input by a preceding calculation module. 高い角速度で作動するようになっていることを特徴とする請求項16に記載のシステム。   17. The system according to claim 16, adapted to operate at a high angular velocity. 前記高い角速度は、360度/秒ほども高い回転速度を含むことを特徴とする請求項27に記載のシステム。   The system of claim 27, wherein the high angular velocity includes a rotational speed as high as 360 degrees / second. 高い線速度で作動するようになっていることを特徴とする請求項16に記載のシステム。   17. The system according to claim 16, adapted to operate at a high linear velocity. 前記高い線速度は、100キロメートル/時ほども高い速度を含むことを特徴とする請求項27に記載のシステム。   The system of claim 27, wherein the high linear velocity includes a velocity as high as 100 kilometers / hour.
JP2019540661A 2017-01-27 2018-01-26 Laser scanner with real-time online self-motion estimation Active JP7141403B2 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762451294P 2017-01-27 2017-01-27
US62/451,294 2017-01-27
USPCT/US2017/021120 2017-03-07
PCT/US2017/021120 WO2017155970A1 (en) 2016-03-11 2017-03-07 Laser scanner with real-time, online ego-motion estimation
USPCT/US2017/055938 2017-10-10
PCT/US2017/055938 WO2018071416A1 (en) 2016-10-11 2017-10-10 Laser scanner with real-time, online ego-motion estimation
PCT/US2018/015403 WO2018140701A1 (en) 2017-01-27 2018-01-26 Laser scanner with real-time, online ego-motion estimation

Publications (2)

Publication Number Publication Date
JP2020507072A true JP2020507072A (en) 2020-03-05
JP7141403B2 JP7141403B2 (en) 2022-09-22

Family

ID=62979592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019540661A Active JP7141403B2 (en) 2017-01-27 2018-01-26 Laser scanner with real-time online self-motion estimation

Country Status (3)

Country Link
EP (1) EP3574285A4 (en)
JP (1) JP7141403B2 (en)
WO (1) WO2018140701A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10962370B2 (en) 2016-03-11 2021-03-30 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
US10989542B2 (en) 2016-03-11 2021-04-27 Kaarta, Inc. Aligning measured signal data with slam localization data and uses thereof
WO2022102577A1 (en) * 2020-11-13 2022-05-19 パイオニア株式会社 Information processing apparatus, control method, program, and storage medium
US11398075B2 (en) 2018-02-23 2022-07-26 Kaarta, Inc. Methods and systems for processing and colorizing point clouds and meshes
US11567201B2 (en) 2016-03-11 2023-01-31 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
US11573325B2 (en) 2016-03-11 2023-02-07 Kaarta, Inc. Systems and methods for improvements in scanning and mapping
US11815601B2 (en) 2017-11-17 2023-11-14 Carnegie Mellon University Methods and systems for geo-referencing mapping systems
JP7482291B2 (en) 2022-06-24 2024-05-13 コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼーション Clock Synchronization

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019006289A1 (en) * 2017-06-30 2019-01-03 Kaarta, Inc. Systems and methods for improvements in scanning and mapping
WO2019195270A1 (en) * 2018-04-03 2019-10-10 Kaarta, Inc. Methods and systems for real or near real-time point cloud map data confidence evaluation
WO2020009826A1 (en) 2018-07-05 2020-01-09 Kaarta, Inc. Methods and systems for auto-leveling of point clouds and 3d models
DE102018214694A1 (en) * 2018-08-30 2020-03-05 Continental Automotive Gmbh Localization device for the visual localization of a vehicle
JP2020042329A (en) * 2018-09-06 2020-03-19 株式会社ユニックス Building material preprocessing system and building material preprocessing method
US11023742B2 (en) * 2018-09-07 2021-06-01 Tusimple, Inc. Rear-facing perception system for vehicles
JP2021508095A (en) 2018-11-13 2021-02-25 ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド Methods and systems for color point cloud generation
CN109945890B (en) * 2018-11-21 2022-01-25 财团法人车辆研究测试中心 Multi-positioning system switching and fusion correction method and device
US10991117B2 (en) * 2018-12-23 2021-04-27 Samsung Electronics Co., Ltd. Performing a loop closure detection
CN111380515B (en) * 2018-12-29 2023-08-18 纳恩博(常州)科技有限公司 Positioning method and device, storage medium and electronic device
WO2020176838A1 (en) * 2019-02-28 2020-09-03 Brain Corporation Systems, and methods for merging disjointed map and route data with respect to a single origin for autonomous robots
DE102019206036A1 (en) 2019-04-26 2020-10-29 Volkswagen Aktiengesellschaft Method and device for determining the geographical position and orientation of a vehicle
CN110243358B (en) * 2019-04-29 2023-01-03 武汉理工大学 Multi-source fusion unmanned vehicle indoor and outdoor positioning method and system
CN110132302A (en) * 2019-05-20 2019-08-16 中国科学院自动化研究所 Merge binocular vision speedometer localization method, the system of IMU information
CN110132306B (en) * 2019-05-20 2021-02-19 广州小鹏汽车科技有限公司 Method and system for correcting vehicle positioning error
CN110298103A (en) * 2019-06-25 2019-10-01 中国电建集团成都勘测设计研究院有限公司 The steep Dangerous Rock Body investigation method of height based on unmanned aerial vehicle onboard three-dimensional laser scanner
CN110243375A (en) * 2019-06-26 2019-09-17 汕头大学 Method that is a kind of while constructing two-dimensional map and three-dimensional map
GB2587794A (en) * 2019-08-27 2021-04-14 Hybird Ltd Inspection apparatus and method
FR3103283B1 (en) * 2019-11-20 2022-07-29 Thales Sa ELECTRONIC DEVICE AND METHOD FOR ESTIMATING POSITION(S) OF AIR TRAFFIC ELEMENT(S), ASSOCIATED DISPLAY SYSTEM AND COMPUTER PROGRAM
CN111076724B (en) * 2019-12-06 2023-12-22 苏州艾吉威机器人有限公司 Three-dimensional laser positioning method and system
CN111009036B (en) * 2019-12-10 2023-11-21 北京歌尔泰克科技有限公司 Grid map correction method and device in synchronous positioning and map construction
CN111258313B (en) * 2020-01-20 2022-06-07 深圳市普渡科技有限公司 Multi-sensor fusion SLAM system and robot
US20210404814A1 (en) * 2020-06-30 2021-12-30 Lyft, Inc. Map Generation Using Two Sources of Sensor Data
DE102021117311A1 (en) 2021-07-05 2023-01-05 Spleenlab GmbH Control and navigation device for an autonomously moving system and autonomously moving system
GB202210178D0 (en) * 2022-07-11 2022-08-24 Cambridge Entpr Ltd 3d scene capture system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080033645A1 (en) * 2006-08-03 2008-02-07 Jesse Sol Levinson Pobabilistic methods for mapping and localization in arbitrary outdoor environments
WO2010004911A1 (en) * 2008-07-10 2010-01-14 三菱電機株式会社 Train-of-vehicle travel support device
JP2013517483A (en) * 2010-01-18 2013-05-16 クアルコム,インコーポレイテッド Alignment and calibration of inertial navigation systems using objects
US20140333741A1 (en) * 2013-05-08 2014-11-13 Regents Of The University Of Minnesota Constrained key frame localization and mapping for vision-aided inertial navigation
WO2017009923A1 (en) * 2015-07-13 2017-01-19 日産自動車株式会社 Own-position estimating device and own-position estimating method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112011100458B4 (en) * 2010-02-05 2024-02-01 Trimble Navigation Limited Systems and methods for processing mapping and modeling data
CA2931632C (en) 2013-11-27 2020-07-14 The Trustees Of The University Of Pennsylvania Multi-sensor fusion for robust autonomous flight in indoor and outdoor environments with a rotorcraft micro-aerial vehicle (mav)
EP3109589B1 (en) 2015-06-23 2019-01-30 Volvo Car Corporation A unit and method for improving positioning accuracy
EP3427008B1 (en) * 2016-03-11 2022-09-07 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
JP2019532433A (en) * 2016-10-11 2019-11-07 カールタ インコーポレイテッド Laser scanner with real-time online egomotion estimation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080033645A1 (en) * 2006-08-03 2008-02-07 Jesse Sol Levinson Pobabilistic methods for mapping and localization in arbitrary outdoor environments
WO2010004911A1 (en) * 2008-07-10 2010-01-14 三菱電機株式会社 Train-of-vehicle travel support device
JP2013517483A (en) * 2010-01-18 2013-05-16 クアルコム,インコーポレイテッド Alignment and calibration of inertial navigation systems using objects
US20140333741A1 (en) * 2013-05-08 2014-11-13 Regents Of The University Of Minnesota Constrained key frame localization and mapping for vision-aided inertial navigation
WO2017009923A1 (en) * 2015-07-13 2017-01-19 日産自動車株式会社 Own-position estimating device and own-position estimating method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10962370B2 (en) 2016-03-11 2021-03-30 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
US10989542B2 (en) 2016-03-11 2021-04-27 Kaarta, Inc. Aligning measured signal data with slam localization data and uses thereof
US11506500B2 (en) 2016-03-11 2022-11-22 Kaarta, Inc. Aligning measured signal data with SLAM localization data and uses thereof
US11567201B2 (en) 2016-03-11 2023-01-31 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
US11573325B2 (en) 2016-03-11 2023-02-07 Kaarta, Inc. Systems and methods for improvements in scanning and mapping
US11585662B2 (en) 2016-03-11 2023-02-21 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
US11815601B2 (en) 2017-11-17 2023-11-14 Carnegie Mellon University Methods and systems for geo-referencing mapping systems
US11398075B2 (en) 2018-02-23 2022-07-26 Kaarta, Inc. Methods and systems for processing and colorizing point clouds and meshes
WO2022102577A1 (en) * 2020-11-13 2022-05-19 パイオニア株式会社 Information processing apparatus, control method, program, and storage medium
JP7482291B2 (en) 2022-06-24 2024-05-13 コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼーション Clock Synchronization

Also Published As

Publication number Publication date
JP7141403B2 (en) 2022-09-22
EP3574285A4 (en) 2020-12-02
WO2018140701A1 (en) 2018-08-02
EP3574285A1 (en) 2019-12-04

Similar Documents

Publication Publication Date Title
JP7141403B2 (en) Laser scanner with real-time online self-motion estimation
US11506500B2 (en) Aligning measured signal data with SLAM localization data and uses thereof
US20230130320A1 (en) Laser scanner with real-time, online ego-motion estimation
US20190346271A1 (en) Laser scanner with real-time, online ego-motion estimation
US10962370B2 (en) Laser scanner with real-time, online ego-motion estimation
EP3656138A1 (en) Aligning measured signal data with slam localization data and uses thereof
JP2019532433A (en) Laser scanner with real-time online egomotion estimation
US10096129B2 (en) Three-dimensional mapping of an environment
US11328158B2 (en) Visual-inertial positional awareness for autonomous and non-autonomous tracking
US11175146B2 (en) Autonomously moving machine and method for operating an autonomously moving machine
CN102298070A (en) Method for assessing the horizontal speed of a drone, particularly of a drone capable of hovering on automatic pilot
Alliez et al. Indoor localization and mapping: Towards tracking resilience through a multi-slam approach
CN115355904A (en) Slam method for Lidar-IMU fusion of ground mobile robot
Ta et al. Monocular parallel tracking and mapping with odometry fusion for mav navigation in feature-lacking environments
George Analysis of Visual-Inertial Odometry Algorithms for Outdoor Drone Applications
Wendel Scalable visual navigation for micro aerial vehicles using geometric prior knowledge
Ji Robust visual SLAM for autonomous vehicles in challenging environments
Unger Integrated estimation of UAV image orientation with a generalised building model
Wei Enhancing the Accuracy and Robustness of LiDAR Based Simultaneous Localisation and Mapping
Mostofi 3D Indoor Mobile Mapping using Multi-Sensor Autonomous Robot
Li LIDAR BASED MULTI-SENSOR FUSION FOR LOCALIZATION, MAPPING, AND TRACKING

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220408

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220909

R150 Certificate of patent or registration of utility model

Ref document number: 7141403

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150