JP7358636B2 - 自律的な乗り物のリアルタイムの位置特定のための方法およびシステム - Google Patents

自律的な乗り物のリアルタイムの位置特定のための方法およびシステム Download PDF

Info

Publication number
JP7358636B2
JP7358636B2 JP2022523024A JP2022523024A JP7358636B2 JP 7358636 B2 JP7358636 B2 JP 7358636B2 JP 2022523024 A JP2022523024 A JP 2022523024A JP 2022523024 A JP2022523024 A JP 2022523024A JP 7358636 B2 JP7358636 B2 JP 7358636B2
Authority
JP
Japan
Prior art keywords
value
image
vehicle
data
cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022523024A
Other languages
English (en)
Other versions
JP2022553248A (ja
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
Application filed by ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2022553248A publication Critical patent/JP2022553248A/ja
Application granted granted Critical
Publication of JP7358636B2 publication Critical patent/JP7358636B2/ja
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
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/114Yaw movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • 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/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • 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
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/14Yaw
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/16Pitch
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/18Roll
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2530/00Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
    • B60W2530/18Distance travelled
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4041Position
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4049Relationship among other objects, e.g. converging dynamic objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Description

本開示は、乗り物の位置特定に関し、特に、自律的な乗り物のリアルタイムの位置特定のための方法およびシステムに関する。
自律的な乗り物が非常に異なる領域において動作するときの自律的な乗り物の精密で堅牢な位置特定は、重要なタスクとなり得る。たとえば、自律的な乗り物が都市内で動作しているとき、陸橋が、乗り物がGPS衛星から信号を受信することを妨げる場合がある。幹線道路を走行するとき、自律的な乗り物のセンサーは、幹線道路の近くにある垂直な物体を十分に検出することができない場合がある。自律的な乗り物の軌道を決定するための経路計画を自律的な乗り物が実行するため、および計画された軌道に従うときの意思決定のために、自律的な乗り物の正確な位置特定が必要とされる。位置特定は、乗り物の場所の決定、すなわち、座標系における乗り物の位置および乗り物の向きの決定を含む。
自律的な乗り物の位置特定は、既存の参照地図内の縁石、車線マーカー、および建物の角などの静的な物体を、自律的な乗り物に取り付けられたセンサーから受信されたリアルタイムのセンサーデータから生成された自律的な乗り物の周囲の環境の観測結果の中の静的な物体とマッチングすることによるいくつかの知られている乗り物の位置特定方法によって決定され得る。規則的な形状を有する静的な物体(たとえば、縁石、車線マーカー、および建物の角)が、ランドマーカー(land marker)として手動で選択されることが多い。この方法は、役に立たない環境情報を取り除くことができるが、それだけでなく、乗り物の周辺環境に対する適応性を阻害する。たとえば、予め定義されたランドマーカーが自律的な乗り物の周囲の環境の現在の観測結果の中に存在しない場合、知られている乗り物の位置特定方法は、自律的な乗り物の場所を正確に決定することができない。
さらに、動的な物体および一時的な物体が、乗り物の位置特定の精度に影響を与え得る。一部の既存の乗り物の位置特定方法は、自律的な乗り物に取り付けられたセンサーから受信されたリアルタイムのセンサーデータから生成された乗り物の周囲の環境のリアルタイムの観測結果の中の動的な物体を物体追跡または物体検出方法を使用して特定し、検出された動的な物体を現実の観測結果から削除する。しかし、これらの乗り物の位置特定方法は、多大な量の計算リソースを必要とし、その結果、自律的な乗り物の限られた計算リソースに対する多大な要求を生じ得る。たとえば、物体追跡および物体検出を実行する機械学習アルゴリズムを実行するために、多大な計算リソースが必要とされる。
ほとんどの知られている乗り物の位置特定方法は、自律的な乗り物の2D位置特定のみを実行することができ、つまり、これらの方法は、自律的な乗り物の2D位置[x, y]およびヨー角Θを生成するだけである。自律的な乗り物の高度(elevation)[z]、ロール、およびピッチは、やはり未知である。自律運転では、乗り物の場所の正確な表現が、必要とされる。したがって、既存の方法は、効率的で堅牢な方法で自律運転の要件を完全に満たすことができない。
上述のおよびその他の理由で、乗り物の位置特定の改善が望ましい。
本開示の態様において、自律的な乗り物の位置特定のための方法が提供される。方法は、自律的な乗り物の光検出および測距(LIDAR: light detection and ranging)スキャンシステムによってキャプチャされた、自律的な乗り物の周囲の環境の三次元(3D)点群を受信するステップと、3D点群に基づいて環境の二次元(2D)画像を生成するステップであって、2D画像が、複数のピクセルを含み、複数のピクセルのそれぞれのピクセルが、ピクセルの垂直分布値を示す第1のチャネルおよびピクセルの強度値を示す第2のチャネルの少なくとも一方を有する、ステップと、2D画像に粒子フィルタリングプロセスを適用することによって乗り物の位置を推定するステップと、自律的な乗り物の車輪オドメトリユニット(wheel odometry)からオドメトリデータを取り出すステップであって、オドメトリデータが、自律的な乗り物の回転を示す回転データおよび自律的な乗り物の平行移動(translation)を示す平行移動データを含む、ステップと、自律的な乗り物の場所を生成するステップであって、自律的な乗り物の場所が、オドメトリデータおよび自律的な乗り物の推定された位置に基づいて決定された乗り物の最終的な位置、ならびに自律的な乗り物の最終的な位置および環境の2D参照地図に基づいて決定された乗り物の高度を含む、ステップとを含む。
本開示の別の態様において、方法は、2D画像に基づいて、自律的な乗り物のヨー角値を推定するステップ、オドメトリデータおよび乗り物の推定されたヨー角値に基づいて自律的な乗り物の最終的なヨー角を決定するステップを含み、自律的な乗り物の場所は、乗り物の最終的なヨー角をさらに含む。
本開示の別の態様において、方法は、自律的な乗り物の慣性測定ユニット(IMU)からさらなるオドメトリデータを取り出すステップであって、さらなるオドメトリデータが、自律的な乗り物の3軸角速度および自律的な乗り物の3軸加速度を含み、自律的な乗り物の最終的な位置が、IMUから取り出されたさらなるオドメトリデータに基づいてさらに決定される、ステップを含む。
本開示の別の態様において、方法は、IMUから取り出されたデータに基づいて乗り物の最終的なロール値および最終的なピッチを決定するステップを含み、乗り物の場所は、乗り物の最終的なロール値および最終的なピッチ値をさらに含む。
本開示の別の態様において、自律的な乗り物の最終的な位置は、拡張カルマンフィルタ(EKF)を使用して決定される。
本開示の別の態様において、自律的な乗り物の最終的なヨー角値は、拡張カルマンフィルタ(EKF)を使用して決定される。
本開示の別の態様において、3D点群は、複数のデータ点を含み、各データ点は、強度値および1組の座標を有し、3D点群に基づいて環境の二次元(2D)画像を生成するステップは、3D点群を平面に沿って複数のタイルに分割することと、各タイルを複数のセルに分割することであって、各セルが、座標系のz軸に沿った長さTを有し、長さTが、3D点群の地表と平行に上限および下限によって定義され、複数のセルの各々が、座標系に基づく2D位置[xk L, yk L]およびヨー角値ΘLを有する、分割することと、各タイルの各セルに関して、セルを長さTに沿って、等しい高さの複数のs個のブロックに分割することと、複数のs個のブロックの各々に関して、sビット2進数列が複数のセルの各々に関して生成され、sビット2進数列の各2進桁がセルの複数のs個のブロックの中の対応するブロックの割り当てられた値に等しいように、ブロックが3D点群からの少なくとも1つのデータ点を含むときに値1を割り当て、ブロックが3D点群からのいかなるデータ点も含まないときに値0を割り当てることと、sビット2進数列を対応する10進数に変換し、対応する10進数をセルを表すデータセットの第1のチャネルに保存することと、セルが平坦であると判定されるとき、セル内の1つ以上のデータ点の最大強度値に基づいて強度値を決定し、強度値をセルを表すデータセットの第2のチャネルに保存することと、セルが平坦でないと判定されるとき、セルを表すデータセットの第2のチャネルに値0を割り当てることと、各タイルに関して、各セルを表すデータセットに基づいて、3D点群の2D画像を生成することを含む。
本開示の別の態様において、方法は、2D画像の各ピクセルの第1のチャネルの値に基づいて2D画像のピクセルをソートし、ソートされたピクセルから、最初のm百個のピクセルを2D画像の垂直分布に関する複数のキーポイント(key point)として選択するステップであって、各キーポイントが、キーポイントのそれぞれの第1のチャネルのそれぞれの値に等しい垂直分布値
Figure 0007358636000001
を有する、ステップと、複数のピクセルの各々のそれぞれの第2のチャネルのそれぞれの値に基づいて複数のピクセルを大きい方から小さい方に向かってソートし、ソートされたピクセルから、最初のl百個のピクセルを2D画像の強度に関する複数のキーポイントとして選択するステップであって、各キーポイントが、キーポイントのそれぞれの第2のチャネルのそれぞれの値に等しい強度値
Figure 0007358636000002
を有する、ステップと、2D画像内の垂直分布に関する各キーポイントに関して、垂直分布に関するキーポイントの重要度利得値(importance gain value)を計算し、記憶するステップと、垂直分布に関する少なくとも1つのキーポイントの重要度利得値に基づいて、2D画像の垂直分布重み値を計算し、記憶するステップと、強度に関する少なくとも1つのキーポイントに基づいて、2D画像の強度重み値を計算し、記憶するステップと、垂直分布重み値および強度重み値の一方または両方を、少なくとも、垂直分布重み値および強度重み値の一方または両方の情報エントロピー値に基づいて更新するステップとを含む。
本開示の別の態様において、2D画像内の各キーポイントに関して、垂直分布に関するキーポイントの重要度利得値は、次の式、aij = -Nij + Nmax + kによって決定される値aijによって表され、iは、2D画像内のキーポイントの行番号を示し、jは、2D画像内のキーポイントの列番号を示し、Nmaxは、2D画像内で最も高い点を有する2D画像内の点の総数を示し、Nminは、2D画像内で最も小さい非ゼロの点を有する2D画像内の点の総数を示し、kは、正の整数である。
本開示の別の態様において、垂直分布重み値は、
Figure 0007358636000003
によって表され、式
Figure 0007358636000004
によって決定され、kは、1からnまでの整数であり、nは、それぞれの2D画像内の垂直分布に関するキーポイントの総数mであり、
Figure 0007358636000005
は、キーポイントの垂直分布値であり、akは、垂直分布に関するキーポイントの重要度利得値であり、
Figure 0007358636000006
は、2D参照地図からのキーポイントの対応する垂直分布値であり、2D画像内の各キーポイントに関して、強度重み値は、式、
Figure 0007358636000007
によって定義される
Figure 0007358636000008
によって表され、kは、1からnまでの整数であり、nは、2D画像内の強度に関するキーポイントの総数lであり、
Figure 0007358636000009
は、キーポイントの強度値であり、
Figure 0007358636000010
は、2D参照地図からのキーポイントの対応する強度値である。
本開示の別の態様において、2D画像に粒子フィルタリングプロセスを適用することによって自律的な乗り物の位置を推定するステップは、垂直分布重み値
Figure 0007358636000011
および強度重み値
Figure 0007358636000012
の一方または両方を、少なくとも、垂直分布重み値
Figure 0007358636000013
および強度重み値
Figure 0007358636000014
の一方または両方の情報エントロピー値に基づいて更新することを含み、垂直分布重み値の情報エントロピー値Hvertは、次の式、
Figure 0007358636000015
によって決定され、iは、1からNまでの整数であり、Nは、粒子フィルタの粒子の総数であり、
Figure 0007358636000016
は、第iの粒子の垂直分布重み値であり、強度重み値の情報エントロピー値Hinteは、次の式、
Figure 0007358636000017
によって決定され、iは、1からNまでの整数であり、Nは、粒子フィルタの粒子の総数であり、
Figure 0007358636000018
は、第iの粒子の強度重み値であり、HvertおよびHinteの一方または両方が所与の閾値未満であるとき、対応する垂直分布重み値
Figure 0007358636000019
および対応する強度重み値
Figure 0007358636000020
の一方または両方の更新がスキップされ、合併された重み
Figure 0007358636000021
が、粒子フィルタのすべての粒子を再サンプリングするために使用され、合併された重み
Figure 0007358636000022
は、式、
Figure 0007358636000023
に基づいて定義される。
本開示の別の態様において、粒子フィルタの粒子の総数は、予め決められた値を有する。
本開示の別の態様において、2D参照地図からのキーポイントの対応する垂直分布値は、2D参照地図内のピクセルの地図座標に基づいて2D参照地図内の対応するピクセルの位置を突き止めることによって取得される。
本開示の別の態様において、方法は、セルの最高高度hmaxおよびセルの最低高度hminを決定するステップ、hmaxとhminと間の差が所与の閾値hth未満であるとき、セルが平坦であると判定するステップをさらに含み、hmaxは、セル内のすべてのデータ点の中で地面からの最も高い高度を有するセル内のデータ点の高さに基づいて決定され、hminは、セル内のすべてのデータ点の中で地面からの最も低い高度を有するセル内のデータ点の高さに基づいて決定される。
本開示の別の態様において、乗り物の場所は、さらなるオドメトリデータがIMUによって取得される周波数と同等の周波数で出力される。
本開示の別の態様において、方法は、2D画像を生成する前に、3D点群を処理して3D点群のねじれを除去する(untwist)ステップをさらに含む。
本開示の別の態様において、方法は、乗り物の初期位置に基づいて2D参照地図の1つ以上のタイルを動的にダウンロードするステップをさらに含む。
本開示の別の態様において、2D参照地図の1つ以上のタイルの各々は、20メートルから200メートルまでの間の辺の長さを有する正方形タイルである。
本開示の別の態様によれば、自律的な乗り物の位置特定のためのシステムが提供され、システムは、プロセッサと、プロセッサに結合されたメモリであって、プロセッサによって実行されるときにプロセッサに、自律的な乗り物の光検出および測距(LIDAR)スキャンシステムによってキャプチャされた、自律的な乗り物の周囲の環境の三次元(3D)点群を受信すること、3D点群に基づいて環境の二次元(2D)画像を生成することであって、2D画像が、複数のピクセルを含み、複数のピクセルのそれぞれのピクセルが、ピクセルの垂直分布値を示す第1のチャネルおよびピクセルの強度値を示す第2のチャネルの少なくとも一方を有する、生成すること、2D画像に粒子フィルタリングプロセスを適用することによって乗り物の位置を推定すること、自律的な乗り物の車輪オドメトリユニットからオドメトリデータを取り出すことであって、オドメトリデータが、自律的な乗り物の回転を示す回転データおよび自律的な乗り物の平行移動を示す平行移動データを含む、取り出すこと、自律的な乗り物の場所を生成することであって、自律的な乗り物の場所が、オドメトリデータおよび自律的な乗り物の推定された位置に基づいて決定された乗り物の最終的な位置、ならびに自律的な乗り物の最終的な位置および環境の2D参照地図に基づいて決定された乗り物の高度を含む、生成することを行わせる実行可能な命令を有形で記憶する、メモリとを含む。
本開示のさらに別の態様によれば、上および本明細書に記載の方法を実行するための乗り物制御システムのプロセッサによる実行のための実行可能な命令を有形で記憶させた非一時的機械可読媒体が、提供される。
本特許または出願ファイルは、カラーで作成された少なくとも1つの図面を含む。カラー図面をともなう本特許または特許出願公開のコピーは、請求と必要な手数料の支払いとに応じて特許庁によって提供される。
本開示の1つの例示的な実施形態による乗り物制御システムを含む乗り物のブロック図である。 本開示の1つの例示的な実施形態による図1の自律的な乗り物のLIDARスキャンシステムのブロック図である。 本開示の1つの例示的な実施形態による、自律的な乗り物の位置およびヨー角を生成するための粒子フィルタモジュールを示すブロック図である。 本開示の1つの例示的な実施形態による、粒子フィルタモジュールによって実行される更新プロセスを示すブロック図である。 本開示の1つの例示的な実施形態による、自律的な乗り物の位置特定のための方法を示すブロック図である。 本開示の1つの例示的な実施形態による、3D点群および3D点群の2D参照地図の正方形タイルを示す図である。 本開示の1つの例示的な実施形態による、3Dの地域規模の(region-scale)点群のタイルと、タイル内の3Dの地域規模の点群のデータ点とを示す図である。 3Dの地域規模の点群のサンプルタイルと、2D参照地図の対応するタイルとを示す図である。 乗り物が点Aから点Bに移動するときの2D参照地図の2Dタイルの動的なロードを示す図である。 自律的な乗り物のLIDARスキャンシステムに固定された座標系からの2D画像のキーポイントの垂直分布を示す図である。 図10Aの2D画像を含む2D参照地図を示す図である。 本開示の1つの例示的な実施形態による、自律的な乗り物の2D位置およびヨー角を決定する方法の流れ図である。 本開示の1つの例示的な実施形態による、自律的な乗り物の6DOFの場所を決定する方法の流れ図である。
本開示は、実施形態が示される添付の図面を参照して行われる。しかし、多くの異なる実施形態が、使用されてよく、したがって、説明は、本明細書に記載された実施形態に限定されると解釈されるべきでない。むしろ、これらの実施形態は、本開示が徹底的で完全になるように提供される。同様の番号は、全体を通じて同様の要素を指し、プライム記号表記が、代替的な実施形態の同様の要素、動作、またはステップを示すために使用される。示されるシステムおよびデバイスの機能要素の別々の四角または図示される分割は、そのような要素の間の通信がいかなるそのような物理的な分割もせずにメッセージング、関数呼び出し、共有メモリ空間などによって行われてよいので、必ずしもそのような機能の物理的な分割を必要としない。したがって、機能は、物理的または論理的に分離されたプラットフォームに実装されるとは限らないが、本明細書においては説明を容易にするために別々に示される。一部のデバイスが一部の機能を機能の決められたハードウェアに実装するが、その他のデバイスは機械可読媒体から取得されたコードを用いるプログラミング可能なプロセッサにそのような機能を実装する場合があるように、異なるデバイスは、異なる設計を有してよい。
便宜上、本開示は、自律的な乗り物の位置特定のための方法およびシステムの例示的な実施形態を説明する。自律的な乗り物は、自動車、トラック、バスなどのモータービークル(motor vehicle)、ボートまたは船、潜水艦、航空機、倉庫機器、建設機器、トラクターまたはその他の農業機器などの任意の種類の乗り物であってよい。本開示の教示は、乗り物または任意の特定の種類の乗り物に限定されず、現実のまたは仮想的なその他の物体、ならびに乗客を運ばない乗り物および乗客を運ぶ乗り物に適用されてよい。本開示の教示は、自律型掃除機、惑星探査機、芝刈り機、無人航空機(UAV)、およびその他の物体を含むがこれらに限定されない乗り物以外の移動ロボットに実装されてもよい。本明細書において説明される乗り物制御システムは、たとえ半自律運転または完全自律運転を容易にするために説明されたとしても、非自律運転モード中の乗り物にも使用され得る。
図1は、本開示の例示的な実施形態による自律的な乗り物100の選択された構成要素を示す。乗り物100は、センサー110に接続される乗り物制御システム115と、駆動制御システム150と、機械システム190とを含む。乗り物100は、当技術分野で知られているが、本開示の教示を不明瞭にしないために本開示から省略された、フレーム、ドア、パネル、シート、窓、ミラーなどの様々な構造要素も含む。センサー110は、乗り物100の様々な場所で乗り物100の構造要素に取り付けられる。
乗り物制御システム115は、通信バス(図示せず)を介して乗り物100の複数の内部構成要素に結合されるプロセッサ102を含む。プロセッサ102は、ランダムアクセスメモリ(RAM)122、読取り専用メモリ(ROM)124、フラッシュ消去可能プログラマブル読取り専用メモリ(EPROM)(フラッシュメモリ)などの永続的(不揮発性)メモリ126、ワイヤレスネットワークと無線周波数信号をやりとりするための1つ以上のワイヤレストランシーバ130、衛星ネットワークから衛星信号を受信するための衛星受信機132、リアルタイムクロック134に結合される。乗り物制御システム115は、センサー110、タッチスクリーン136、スピーカ138、マイクロフォン140、駆動制御システム150、および機械システム190を含む乗り物100のその他の構成要素にも結合される。
1つ以上のワイヤレストランシーバ130は、異なるワイヤレスデータ通信プロトコルおよび規格を使用して複数の異なる無線アクセスネットワーク(たとえば、セルラネットワーク)と通信するための1つ以上のセルラ(RF)トランシーバを含んでよい。乗り物制御システム115は、その地理的なカバーエリア内のワイヤレスWAN(たとえば、セルラネットワーク)の複数の固定トランシーバ基地局のうちのいずれか1つと通信してよい。1つ以上のワイヤレストランシーバ130は、ワイヤレスWANを介して信号を送受信してよい。1つ以上のワイヤレストランシーバ130は、複数の無線周波数帯をサポートするマルチバンドセルラトランシーバを含んでよい。
1つ以上のワイヤレストランシーバ130は、ワイヤレスローカルエリアネットワーク(WLAN)アクセスポイント(AP)を介してWLAN(図示せず)と通信するためのWLANトランシーバも含んでよい。WLANは、IEEE 802.11x規格(Wi-Fi(登録商標)と呼ばれることもある)またはその他の通信プロトコルに準拠するWi-Fiワイヤレスネットワークを含んでよい。
1つ以上のワイヤレストランシーバ130は、スマートフォンまたはタブレットなどのモバイルコンピューティングデバイスと通信するための、Bluetooth(登録商標)トランシーバなどの近距離ワイヤレストランシーバも含んでよい。1つ以上のワイヤレストランシーバ130は、近距離無線通信(NFC: Near field communication)、IEEE 802.15.3a(ウルトラワイドバンド(UWB)とも呼ばれる)、Z-Wave、ZigBee、ANT/ANT+、または赤外線(たとえば、赤外線データ協会(IrDA: Infrared Data Association)通信)を含むがこれらに限定されないその他の近距離ワイヤレストランシーバも含んでよい。
リアルタイムクロック134は、Atmel Corporationによって供給される水晶発振器などの、正確なリアルタイム情報を提供する水晶発振器を含んでよい。
タッチスクリーン136は、電子コントローラに接続されたタッチ式入力面またはオーバーレイを有する、カラー液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、またはアクティブマトリックス有機発光ダイオード(AMOLED)ディスプレイなどのディスプレイを含む。ボタン、スイッチ、およびダイヤルを含む、プロセッサ102に結合された乗り物100の追加の入力デバイス(図示せず)が、提供される場合もある。
乗り物制御システム115は、1つ以上のスピーカ138、1つ以上のマイクロフォン140、およびシリアルデータポート(たとえば、ユニバーサルシリアルバス(USB)データポート)などの1つ以上のデータポート142も含む。システムは、タイヤ空気圧センサー(TPS)、ドア接触スイッチ、光センサー、近接センサーなどのその他のセンサーも含んでよい。
駆動制御システム150は、乗り物105の動きを制御するように働く。駆動制御システム150は、ステアリングユニット152、ブレーキユニット154、およびスロットル(またはアクセル)ユニット156を含み、これらの各々は、駆動制御システム150内のソフトウェアモジュールまたは制御ブロックとして実装されてよい。ステアリングユニット152、ブレーキユニット154、およびスロットルユニット156は、完全または半自律運転モードのときに、乗り物制御システム115のメモリ126に記憶された経路計画システム174からの受信された経路情報を処理し、計画された経路を走行するために乗り物105のステアリング、ブレーキ、およびスロットルをそれぞれ制御する制御信号を生成する。駆動制御システム150は、たとえば、方向指示器およびブレーキライトの制御を含む乗り物105のその他の点を制御するための追加の構成要素を含んでよい。
機械システム190は、乗り物105の機械構成要素を動作させるための制御信号を駆動制御システム150から受信する。機械システム190は、乗り物105の物理的な動作を実現する。機械システム190は、エンジン192、トランスミッション194、および車輪196を含む。エンジン192は、たとえば、ガソリンエンジン、バッテリ駆動エンジン、ハイブリッドエンジン、電気エンジンであってよい。たとえば、方向指示器、ブレーキライト、ファン、および窓を含むその他の構成要素が、機械システム190に含まれてよい。
グラフィカルユーザインターフェース(GUI)が、プロセッサ102によってタッチスクリーン136上にレンダリングされ、表示されてよい。ユーザは、ナビゲーション情報、運転情報、駐車情報、メディアプレーヤー情報、温度調節情報などの関連情報を表示するために、タッチスクリーンおよび任意でその他の入力デバイス(たとえば、ボタン、ダイヤル)を使用してGUIとインタラクションしてよい。GUIは、一連のトラバース可能な(traversable)コンテンツに固有のメニューを含んでよい。
乗り物制御システム115のメモリ126は、プロセッサ102によって実行されるオペレーティングシステムソフトウェア160を記憶している。メモリ126は、GUIに加えて、自律運転システム162と総称されるいくつかのソフトウェアモジュールを記憶しており、自律運転システム162の各モジュールは、プロセッサ102によって実行可能な機械読取り可能な命令を含むソフトウェアである。自律運転システム162のモジュールは、乗り物位置特定164モジュール、駐車支援166モジュール、自律駐車168モジュール、半自律運転のための運転支援170モジュール、経路計画モジュール174、知覚モジュール176、およびその他のモジュール178を含む。その他のモジュール178は、たとえば、マッピングモジュール、ナビゲーションモジュール、温度調節モジュール、メディアプレーヤーモジュール、電話モジュール、およびメッセージングモジュールなどを含み、やはりメモリ126に記憶される。一部の実施形態において、乗り物位置特定モジュール164は、プロセッサ102によって実行されるとき、本明細書において説明される方法の動作を実行させる。
駐車支援モジュール166、自律駐車モジュール168、半自律運転のための運転支援モジュール170、自律運転モジュール172、または経路計画モジュール174によって使用される場合がある別個のモジュールとして示されているが、知覚モジュール176は、その他の実施形態においてはその他のソフトウェアモジュールのうちの1つ以上と組み合わされてよい。
メモリ126は、様々なデータ180も記憶する。データ180は、センサー110のうちの1つ以上によって感知されたセンサーデータ182と、ユーザの好み、設定、および任意で個人的なメディアファイル(たとえば、音楽、ビデオ、指示(direction)など)を含むユーザデータ184と、ワイヤレストランシーバ130を介してダウンロードされたデータを含むダウンロードキャッシュ186とを含んでよい。たとえば、メモリ126は、カメラ112から受信された画像データ、LIDARスキャンシステム114から受信されたLIDARデータ(すなわち、三次元点群)、SARユニット116から受信されたSARデータ、車輪オドメトリユニット117および/または慣性計測装置(IMU)118からのオドメトリデータ、ならびにその他のセンサー120からのデータを記憶してよい。車輪オドメトリユニット117から受信されたオドメトリデータは、乗り物100の回転を示す回転データと、乗り物100の平行移動を示す平行移動データとを含む。IMU 118から受信されたオドメトリデータは、乗り物100の3軸角速度および乗り物100の3軸加速度を含む。
ダウンロードキャッシュ186は、たとえば、所定の量の時間後に定期的に削除されてよい。システムソフトウェア、ソフトウェアモジュール、特定のデバイスアプリケーション、またはそれらの一部は、ランタイムデータ変数およびその他の種類のデータまたは情報を記憶するために使用されるRAM 122などの揮発性ストアに一時的にロードされる場合がある。乗り物制御システム115によって受信されたデータも、RAM 122に記憶される場合がある。また、様々な種類のメモリに関して特定の機能が説明されるが、これは一例に過ぎず、メモリの種類への機能の異なる割り当てが使用されてもよい。
乗り物制御システム115は、衛星ネットワーク内の複数の衛星から衛星受信機によって受信された信号を使用して自身の位置を決定してよい衛星受信機132を含む。衛星ネットワークは、通常、全地球的カバレッジで自律的な地理空間測位を提供する少なくとも1つの全地球航法衛星システム(GNSS)の一部である複数の衛星を含む。たとえば、衛星ネットワークは、GNSS衛星の集まりであってよい。例示的なGNSSは、米国のNAVSTAR Global Positioning System (GPS)またはロシアのGlobal NAvigation Satellite System (GLONASS)を含む。開発されたまたは開発中のその他の衛星ナビゲーションシステムは、欧州連合のGalileo測位システム、中国のBeiDou Navigation Satellite System (BDS)、インドの地域衛星ナビゲーションシステム、および日本の衛星ナビゲーションシステムを含む。
図2は、本開示の1つの例示的な実施形態による乗り物100のLIDARスキャンシステム114の簡略化されたブロック図を示す。
LIDARスキャンシステム114は、1つ以上のプロセッサ(たとえば、マイクロプロセッサ)を含むコントローラ113と、レーザ光源120と、レーザ光源120に光学的に結合された光スイッチ130と、1つ以上のアバランシェフォトダイオード(APD)、電荷結合素子(CCD)センサー、相補型金属酸化膜半導体(CMOS)センサー、または微小電気機械システム(MEMS)センサーなどの1つ以上の検出器を含む検出器サブシステム140とを含む。
1つ以上のレーザを含むレーザ光源120は、レーザビームなどのレーザ光を生成し、送信するように構成される。レーザ光源120は、ガウシアンビームを生成してよい。レーザ光源120は、パルスレーザ光(たとえば、パルスビーム)を送信してよい。レーザ光源120は、概して、近赤外線(NIR)などの赤外線(IR)を放射するが、赤外線に加えてまたは赤外線の代わりに、1つ以上の種類の可視光および/または場合によっては紫外線(UV)を放射する場合がある。レーザ光源120は、複数のレーザを含んでよく、各レーザは、異なる種類の光を送信するように構成される。一例において、複数のレーザの各レーザは、赤外線または1つもしくは複数の種類の可視光のうちのそれぞれ1つを送信するように構成される。一例において、複数のレーザは、赤外線を送信するように構成された赤外線レーザ、青色光を送信するように構成された青色レーザ、赤色光を送信するように構成された赤色レーザ、および緑色光を送信するように構成された緑色レーザを含む。これらのレーザ光は、同時にまたは同時でなくレーザビームを送信するように制御されてよい。
当業者は、LEDなどのその他の光源が、レーザ光源を置き換えるために適応されてよいことを理解するであろう。ただし、そのような置き換えは、システム要件を考慮しなければならず、要件を満たすために追加修正、たとえば、コリメーションをともなう場合がある。
検出器サブシステム140は、反射されたレーザ光を1つ以上の検出器を使用して検出し、コントローラ113に送信される、受信されたレーザ光に対応するデータ信号を生成し、出力する。コントローラ113は、検出器サブシステム140からの出力を使用して、レーザ光のビーム(レーザビームとも呼ばれる)の送信とレーザ光のビームの反射の受信との間の時間に基づいて、LIDARスキャンシステム114から乗り物100の周囲の環境内の1つ以上の物体までの距離を決定するデジタル信号プロセッサ(DSP)を含んでよい。アナログデジタルコンバータ(ADC)が、検出器サブシステム140からのアナログ信号を、DSPによってさらに処理するためにデジタルデータに変換してよい。コントローラ113は、環境内の1つ以上の物体までの決定された距離に基づいて、乗り物100の周囲の環境の3D点群を生成してもよい。なお、説明された実施形態においてはDSPが使用されているが、その他の実施形態においては、フィールドプログラマブルゲートアレイ(FPGA)またはその他のプロセッサが使用されてよい。代替的に、検出器サブシステム140によって生成されたデータは、乗り物制御システム115のプロセッサ102に送信されてよく、DSPの機能が、乗り物制御システムのプロセッサ102によって実行されてよい。
コントローラ113は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせの1つまたは組み合わせを使用してLIDARスキャンシステム114を制御してよい。ソフトウェアは、コントローラ1130によって実行されてよい。本明細書において説明される機能を実行するためのソフトウェアのコーディングは、本開示を提供された当業者の範囲内である。説明される機能を実行するためにコントローラ113によって実行可能な機械可読コードが、LIDARスキャンシステム114の非一時的な機械可読媒体(図示せず)に記憶されてよい。代替的に、コントローラ113の機能は、乗り物制御システム115のプロセッサ102によって実行されてよい。
検出器サブシステム140は、レーザ光源120によって放射された光の種類に対応する光を受信するように構成される。レーザ光源120が2つ以上の種類の光を送信するとき、検出器サブシステム140は、レーザ光源120によって(たとえば、複数のレーザによって)放射される異なる種類の光の各々を受信するように構成される。たとえば、LIDARスキャンシステム114が、赤外線を送信するように構成された赤外線レーザと、青色光を送信するように構成された青色レーザと、赤色光を送信するように構成された赤色レーザと、緑色光を送信するように構成された緑色レーザとを含むとき、検出器サブシステム140は、環境内の物体から反射された赤外線を受信するように構成された1つ以上の赤外線検出器と、環境内の物体から反射された青色光を受信するように構成された1つ以上の青色検出器と、環境内の物体から反射された赤色光を受信するように構成された1つ以上の赤色検出器と、環境内の物体から反射された緑色光を受信するように構成された1つ以上の緑色検出器とを含む。受信光学系アセンブリ(図示せず)が、検出器サブシステム140の1つ以上の検出器の前に設けられてよい。検出器サブシステム140の1つ以上の検出器は、光ファイバケーブル(図示せず)を介してコントローラに接続されてよい。複数のレーザ光の検出のために使用されるメカニズムは、所望の詳細な実装および要件に依存し、コヒーレント(ヘテロダインおよびホモダイン)またはインコヒーレント(強度に基づく)方式の両方に基づく場合がある。
光スイッチ130は、レーザ光源120からレーザ光を受信するように構成された1つの入力ポートおよび複数の出力ポートを有する1xn光スイッチである。1xn光スイッチ130は、コントローラ113の制御の下で、光ビームをn方向に向けるために使用されてよいプログラミング可能なビームを提供する。レーザ光源120は、光スイッチ130の入力ポートに光学的に直接結合されてよい。代替的に、レーザ光源120は、光ファイバーケーブルなど(図示せず)を介して光スイッチ130の入力ポートに光学的に結合されてよい。
光スイッチ130は、MEMS、シリコン上液晶(LCoS: liquid crystal on silicon)、シリコンフォトニクス(SiPh)、またはその他の好適な構造を使用して構築されてよい。スイッチアーキテクチャは、LIDARスキャンシステム114の最良の性能のためにカスタマイズされてよい。光スイッチ130を製造するために使用される技術に応じて、サブヘルツ(sub-hertz)からメガヘルツ(MHz)までの様々な掃引速度(すなわち、スキャンレート)が達成される場合がある。SiPhは、その他のアーキテクチャおよび比較に比べて、性能を向上させる場合がある。
自律的な乗り物の位置特定は、乗り物の測位、すなわち、何らかの座標系における乗り物の位置、たとえば、2D地図上の[x, y]または3D地図上の[x, y, z]の決定が含まれる。3D空間内の乗り物の場所(すなわち、乗り物の位置および向き)を表現する1つの方法は、直交座標系における乗り物の3D位置[x, y, z]と、乗り物のロール、ヨー、およびピッチを含む乗り物の向きとを含む6自由度(6DOF)表現を使用することである。自律的な乗り物のLIDARスキャンユニット114から取得されたLIDARデータと、3D参照地図とを使用して、乗り物の場所の6DOF表現が決定され得る。しかし、リアルタイムで自律的な乗り物の場所の6DOF表現を決定することは、実世界の状況においては、以下の問題、すなわち、1)都市規模の3D参照地図が、大きすぎて自律的な乗り物のメモリに記憶され得ない、2)セルラデータネットワークを通じて都市規模の3D参照地図を自律的な乗り物に送信することが、実行不可能であり、3)点群登録(すなわち、LIDARスキャンユニットから取得されたLIDARデータから生成された3D点群を、3Dの都市規模の3D参照地図に重なるように回転および平行移動するプロセス)が、非常に時間のかかる動作であり、乗り物105の乗り物制御システム115のプロセッサ102による実行に適さないという問題を有する。
本開示は、一部の実施形態において、乗り物のLIDARスキャンシステムから受信された現在の3D点群に基づく自律的な乗り物の6DOF位置特定のためのシステムおよび方法を説明する。方法は、1)都市、州、または国などの地域の地域規模の3D点群を取り出すステップと、2)地域規模の3D点群を2D参照地図に変換するステップと、3)特定の地図フォーマットに基づいて、2D参照地図を複数の2D参照地図タイルに分割するステップと、4)複数の2D参照地図タイルを乗り物にダウンロードするステップと、5)乗り物のLIDARスキャンシステムから現在の3D点群を取得し、3D点群を2D画像に変換するステップと、6)キーポイント抽出方法に基づいて、ダウンロードされた2D参照地図タイルに2D画像をマッピングするステップと、7)2D画像とダウンロードされた2D参照地図との間のマッピングに基づいて、乗り物の2D位置およびヨー角を決定するステップと、8)2D位置およびヨー角に基づいて、乗り物の最終的な3D位置および向きを生成するステップとを含んでよい。最終的な3D位置および向きは、高周波数の形態であることが可能である。本明細書における高周波数は、最低閾値よりも高い周波数値、たとえば、少なくとも50Hzの周波数を指す場合があり、一部の実施形態においては200Hz程度の高さである場合がある。
開示される実施形態は、地域規模の2D参照地図を記憶し、通信ネットワークを介して乗り物に送信するのに好適なコンパクトなデータ形式を使用する。開示されるキーポイント抽出方法は、乗り物の位置の決定に対する動的な物体の影響を効果的に除去することができる。開示される実施形態は、乗り物がダウンロードされた2D参照地図を使用して6DOF位置特定を容易に生成することを可能にし、これは、都市規模の3D点群をリアルタイムで処理することを必要とするソリューションと比較して計算の複雑さを低減する。一部の実施形態において、2D参照地図は、2D参照地図である。一部の実施形態において、2D参照地図は、2Dの地域規模の画像地図(すなわち、画像フォーマットの地図)である。3Dの地域規模の点群地図から生成された2Dの地域規模の画像地図。3Dの地域規模の点群地図は、環境の以前にキャプチャされた観測結果を組み合わせることによって生成されてよく、各観測結果は、3D点群である。
地域規模の2D参照地図の生成
ここで、本開示の例示的な実施形態による地域規模の三次元(3D)点群600および地域規模の3D点群600内のタイル610を示す図6を参照する。地域規模の3D点群600は、土地の測量によって取得された地域規模(たとえば、都市、州、または国)の3D点群である。地域規模の3D点群600のサイズは、非常に大きく、乗り物のメモリ126への記憶または乗り物105のプロセッサ102によるリアルタイムの処理に適さない。したがって、乗り物100の位置特定に地域規模の3D点群600を使用するために、地域規模の3D点群600が、2D参照地図に変換される。2D参照地図は、以下でさらに詳細に説明されるように、複数の2D画像タイルに分割されてよい。
絶対座標系(たとえば、ユニバーサル横メルカトル座標系)における地域規模の3D点群600は、座標系のx-y平面に沿って、同一サイズの複数の正方形タイル610に分割される。各正方形タイル610の辺625の長さは、20mから200mまで変わり得る。図6に示される例示的な実施形態において、各正方形タイル610の辺の長さは、100mである。各正方形タイル610に関して、正方形タイル610の辺の長さおよび正方形タイル610の絶対位置が、データファイルに保存され得る。いくつかの例示的な実施形態において、正方形タイル610のそれぞれの絶対位置は、UTM座標系におけるタイルの左下の角の座標(または緯度/経度もしくは軍事グリッド参照系(Military Grid Reference System)などの別の好適な座標系における座標)である。各正方形タイル610は、同一サイズの複数のセル620にさらに分割される。各セル620の辺の長さは、0.05mから0.2mまでの範囲であることが可能である。たとえば、100m x 100mの正方形のタイル610は、1,000,000(すなわち、1000 x 1000)個のセル620を有する場合がある。いくつかの例示的な実施形態においては、各正方形タイル610内の3Dの地域規模の点群のデータ点の最小の絶対評価も、データファイルに保存される。正方形タイル610は、本開示全体を通じて参照を容易にするために、タイル610と呼ばれる場合がある。
三次元空間において、各セル620は、正方形の底面を有する細い柱である。セル620は、3D領域空間点群600の0個、1つ、または複数のデータ点を含む場合がある。セル620に含まれるデータ点の特徴は、パラメータ化され、セル620を表すデータセットに保存されてよい。データセットは、各セル620に関して2つまたは3つのチャネルを含んでよい。たとえば、データセットは、以下に説明されるように、セル620に含まれるデータ点のパラメータを表すためにRGBカラーモデルを使用してよい。各セル620は、2D画像座標系におけるそれぞれの位置[xk M, yk M]を有する。
図7は、本開示の1つの例示的な実施形態による、タイル610およびタイル610内にあるデータ点720a、720b、720c、720d、720eの断面図を示す。図7に示される例においては、3Dの地域規模の点群600のタイル610から2D画像地図タイルを生成する方法を説明する目的で、タイル610は4つのセル620を含むものとして示される。タイル610に含まれるセル620の数がタイル610の辺の長さおよび各セル620の辺の長さに依存することは、理解されるであろう。図7において、タイル610の4つのセル620は、参照番号730、732、734、736を用いて示される。セル730に含まれるデータ点の特徴は、パラメータ化され、セル730を表すデータセット700aに保存されてよい。同様に、セル732に含まれるデータ点の特徴は、パラメータ化され、セル732を表すデータセット700bに保存されてよく、セル733に含まれるデータ点の特徴は、パラメータ化され、セル733を表すデータセット700cに保存されてよく、セル736に含まれるデータ点の特徴は、パラメータ化され、セル736を表すデータセットに保存されてよい。一部の実施形態において、セル730、732、734、736を表すデータセットは、RGBカラーモードに基づいて構造化され、記憶される場合がある。たとえば、セル730を表すデータセット700aは、第1のチャネル(赤(red)のR)770a、第2のチャネル(緑(green)のG)780a、および第3のチャネル(青(blue)のB)790aを含んでよいRGBカラーモードの1つ以上のチャネルを含む場合がある。同様に、セル732を表すデータセット700bは、第1のチャネル770b、第2のチャネル780b、および第3のチャネル790bを含む場合がある。セル734を表すデータセット700cは、第1のチャネル770c、第2のチャネル780c、および第3のチャネル790cを含む場合がある。たとえR/G/Bチャネルが通常はピクセルの色情報を表すデータを記憶する場合があるとしても、本開示において、R/G/Bチャネルは、タイル610の各セル620のその他の特性を表す値を記憶してよいことを理解されたい。
一部の実施形態においては、下で説明されるように、データセット700a、700b、700cに含まれる第1のチャネル770a、770b、770cが、セル730、732、734のそれぞれの垂直分布値を記憶してよく、データセット700a、700b、700cに含まれる第2のチャネル780a、780b、780cが、セル730、732、734のそれぞれの強度値を記憶してよく、それぞれの第3のチャネル790a、790b、790cが、セル730、732、734のそれぞれの高度値を記憶してよい。強度値は、一部の実施形態においては、地面の強度値であってよい。その他の実施形態において、強度値は、地面ではない物体の強度を指す場合がある。
各セル730、732、734、736は、垂直軸(たとえば、z軸)に沿って、上限740と下限745との間で複数の等しいサイズのブロック710に分割されてよい。上限740は、よくある垂直な物体のほとんどを含むように使用される。上限740は、LIDARスキャンシステム114のレーザビームの数およびLIDARスキャンシステム114の垂直視野に基づいて定義されてよい。下限745は、一時的な物体を除去するために使用される。地面に落ちているゴミおよび道路付近の草などの多くの低い物体は、通常、時間とともに変化する。たとえば、上限740は地面から4.5メートルであり、下限745は地面から0.5メートルであるとそれぞれ定義されてよい。タイル610内の最低高度755が、タイル610内のすべてのデータ点の中で地面からの最も低い高度を有するセル620内の(地面からの)データ点に基づいて定義されてよい。図7に示される実施形態において、最低高度755は、データ点720gがタイル610内のすべてのデータ点の中で地面からの最も低い高度を有するので、データ点720gの高さによって定義される。この例では、データ点720gが地面に接しているため、タイル610における最低高度755は0であってもよい。
データ点の高度の高さは、3Dの地域規模のデータ点群600の座標系[x, y, z]のz軸に沿ったそのデータ点の位置に基づいて決定される場合がある。
図7に示されるように、各セル730、732、734、736は、上限740と下限745との間で8つのブロック710に分割されてよい。各ブロック710は、0個以上のデータ点720a、720b、720c、720d、720e、720f、720gを含んでよい。
上述のように、データセット700a、700b、700cに含まれる第1のチャネル770a、770b、770cは、セル730、732、734のそれぞれの垂直分布値を記憶する場合がある。タイル610がn個のセルを有する場合、セル730、732、734の垂直分布値
Figure 0007358636000024
は、1)セル730、732、734を長さR 743に沿って、等しい高さの複数のu個のブロック(たとえば8個のブロック)に分割することと、2)複数のu個のブロックの各々に関して、ブロック710a、710b、710c、710eが地域規模の3D点群600のタイル610の少なくとも1つのデータ点720a、720b、720c、720dを含むときに値1を割り当て、ブロック710が地域規模の3D点群のタイル610からのいかなるデータ点も含まないときに値0を割り当てることと、3)タイル610内の複数のセル730、732、734の各々に関して、uビット(たとえば、8ビット)の2進数列を生成することであって、uビットの各2進桁は、セルの複数のu個のブロックの中の対応するブロックの割り当てられた値に等しい、生成することと、4)uビット2進数列を対応する10進数に変換し、対応する10進数をセルの垂直分布
Figure 0007358636000025
としてセルの第1のチャネルに記憶することとによって計算される。uビット2進数列を10進数に変換するために、通常の変換方法が使用されてよい。
たとえば、セル730は、上限740および下限745によって範囲を定められた8個のブロック710を有する。上限および下限740、745の外で見つかったデータ点720fは、これらのデータ点720fが地上を走行するときに乗り物100にとってほとんど意義がない傾向がある(たとえば、ゴミまたは鳥)ので、ブロック710によってキャプチャされない。たとえセル730がタイル610内の最低高度755に近い2つのデータ点720fを含んでいても、上限740および下限745の外にあるデータ点720fは、セル730の垂直分布値を計算するときに考慮されない。したがって、セル730の8ビット2進数列は、00000000であり、セル730の対応する垂直分布値は、0であり、セル730を表すデータセット700aに含まれる第1のチャネル770aに保存される。
別の例として、セル732は、上限740および下限745によって範囲を定められた8個のブロック710a、710b、710cを有する。同様に、上限および下限740、745の外で見つかったデータ点は、ブロック710a、710b、710cによってキャプチャされない。ブロック710aは、少なくとも1つのデータ点720aを含み、ブロック710bは、少なくとも1つのデータ点720bを含み、ブロック710cは、少なくとも1つのデータ点720cを含む。示されるように、セル732の各ブロックは、少なくとも1つのデータ点を有する。したがって、セル732の8ビット2進数列は、11111111であり、セル732の対応する垂直分布値は、255であり、セル732を表すデータセット700bに含まれる第1のチャネル770bに保存される。
さらに別の例として、セル734は、上限740および下限745によって範囲を定められた8個のブロック710d、710eを有する。同様に、上限および下限740、745の外で見つかったデータ点は、ブロック710d、710eによってキャプチャされない。ブロック710dは、いかなるデータ点も含まず、ブロック710eは、少なくとも1つのデータ点720dを含み、もう2つのブロックが、それぞれ、少なくとも1つのデータ点を含む。したがって、セル734の8ビット2進数列は、01110000であり、セル730の対応する垂直分布値は、112であり、セル734を表すデータセット700bに含まれる第1のチャネル770cに保存される。
上述のように、データセット700a、700b、700cに含まれる第2のチャネル780a、780b、780cは、セル730、732、734のそれぞれの強度値を記憶する場合がある。タイル610がn個のセルを有する場合、セル730、732、734の強度値
Figure 0007358636000026
は、最高高度の高さおよび最低高度の高さに基づいて計算され、セル730、732、734を表すデータセット700a、700b、700cに含まれる第2のチャネルに記憶され得る。たとえば、セル736に関して、強度値
Figure 0007358636000027
は、1)セル736内のすべてのデータ点の中で地面からの最も高い高度を有するデータ点720hの高さに基づいてセル736の最高高度hmax_map 760を決定すること、2)セル736の最低高度hmin_map 765を決定することであって、hmin_mapが、セル736内のすべてのデータ点の中で地面からの最も低い高度を有するデータ点720gの高さに基づいて決定される、決定すること、3)hmax_mapとhmin_mapとの間の差が所与の閾値hth_map未満であるとき、セル736内の1つ以上のデータ点の最大強度値に基づいて強度値
Figure 0007358636000028
を決定し、強度値
Figure 0007358636000029
をセル736を表すデータセット(図示せず)の第2のチャネルに保存し、hmax_mapとhmin_mapとの間の差が所定の閾値hth_map以上であるとき、セル736を表すデータセット(図示せず)に含まれる第2のチャネルに値0を割り当てることによって生成されてよい。所与の閾値hth_mapは、セルが十分に平坦であるかどうかを判定するために使用される。平坦なセルは、通常、路面の存在に関連付けられ、強度値は、路面状態のインジケーションである。したがって、セルが平坦でない場合、強度値は0であるべきである。
第3のチャネル790a、790b、790cは、セル730、732、734のそれぞれの高度値を記憶してよい。タイル610がn個のセルを有する場合、セル730、732、734の高度の高さの値
Figure 0007358636000030
は、タイル610の最高高度の高さhi 750a、750b、750cおよび最低高度の高さ755に基づいて計算され、セル730、732、734を表すデータセット700a、700b、700cに含まれる第3のチャネル790a、790b、790cに記憶され得る。高度の高さの値は、1)タイル610内のすべてのデータ点の中で地面からの最も低い高度を有するデータ点720gの高さに基づいてタイル610内のデータ点の最低高度の高さhMapMinimum 755を決定し、保存することと、2)hMapMinimumと上述のhmax_mapとの間の差を計算することに基づいて、高度の高さの値
Figure 0007358636000031
を決定することであって、
Figure 0007358636000032
である、決定することと、3)高度値
Figure 0007358636000033
を、セルを表すデータセットに含まれる第3のチャネルに記憶することとによって生成され得る。
たとえば、セル730は、セル730を表すデータセット700aに含まれる第3のチャネル790aに記憶された高度の高さの値h3 750aを有し、セル732は、セル732を表すデータセット700bに含まれる第3のチャネル790bに記憶された高度の高さの値h2 750bを有し、セル734は、セル734を表すデータセット700cに含まれる第3のチャネル790cに記憶された高度の高さの値h1 750cを有する。各ピクセル730、732、734の高度の高さの値をそれぞれの第3のチャネル790a、790b、790cに記憶する前に、変換方法が適用されてよい。適用されてよい例示的な変換方法は、メートルで表されたそれぞれの高度の高さの値
Figure 0007358636000034
750a、750b、750cに数値(たとえば、10)を乗じ、それから、結果の整数値を取得し、結果の整数値が255より大きい場合、結果の整数値は、255に設定され得る。
データセット700a、700b、700cは、2D画像タイルを生成するために使用され、2D画像タイルの各ピクセルは、3Dの地域規模の点群のタイル610のセル620に対応する。2D画像タイルの各ピクセルは、ピクセルの垂直分布値を示す第1のチャネルと、ピクセルの強度値を示す第2のチャネルとを含む。ピクセルの垂直分布値は、セル620を表すデータセットに含まれる第1のチャネルから取得され、ピクセルの強度値は、セル620を表すデータセットに含まれる第2のチャネルから取得される。各2D画像タイルは、2Dの地域規模の画像地図(本明細書においては2D参照地図と呼ばれる)を形成するために組み合わされ得る。
図7に示された例は4つのセル620のみを含むが、タイル610が任意の数のセル620に分割されてよいことは、理解されるであろう。
2D参照地図タイルの動的ダウンロード
地域規模の3D点群600の各タイル610は、上で説明されたプロセスに基づいて、正方形毎に、20m x 20mのサイズから200m x 200mのサイズまでの間の2D画像タイルに変換され得る。図8は、上で説明された方法を使用して処理され、上で説明された方法に基づいて対応する2D参照地図タイル820に変換される地域規模の3D点群600のサンプルタイル610を示す。2D参照地図タイル820に示されるように、赤は、道路付近の蓋然性の高い障害物および物体を表す垂直分布値を示し、緑は、路面の強度を示し、青は、路面の高度値を示す。一部の実施形態においては、建物および木の高度が、青チャネルに保存され得る。
図9は、乗り物100が環境内を位置Aから位置Bに移動するときの、乗り物100の乗り物制御システム115のプロセッサ102による2D参照地図タイル820a、820b、820cの動的ダウンロードを示す。2D参照地図タイル820a、820b、820cは、乗り物100の現在位置に基づいて動的にダウンロードされる。1つの例示的な実施形態においては、任意の所与の時間に、乗り物100の位置が中央のタイル内に保たれると仮定して、9つの隣接する2D参照タイルが乗り物制御システム115のメモリ126にロードされる。たとえば、乗り物100が位置Aにあるとき、2D参照地図の2D画像タイル820a、820bが外部サーバ(図示せず)またはストレージデバイス(図示せず)からダウンロードされて、ロードされた2D参照地図350aを形成する。乗り物100が位置Aから位置Bに移動するとき、ロードされた2D参照地図350aの2D画像タイル820aが削除され、タイル820bを維持しながら2D参照地図の新しい2D画像タイル820cがダウンロードされて、ロードされた2D参照地図350bを形成する。一部の実施形態においては、乗り物100の厳密な位置が、位置特定方法500によってリアルタイムで更新されてよく、2D参照地図の2D画像タイル820a、820b、820cは、乗り物100の更新された位置に基づいて動的にダウンロードされてよい。
ここで、本開示の1つの例示的な実施形態による、乗り物105の位置およびヨー角360を生成するための乗り物位置特定モジュール164の粒子フィルタモジュール300を示すブロック図である図3を参照する。粒子フィルタモジュール300は、プロセッサ102によって実行されるときにプロセッサ102に、粒子の重みを連続的に計算することによって乗り物の位置およびヨーを推定させる機械可読命令を含むソフトウェアモジュールである。図3に示される例示的な実施形態における粒子フィルタモジュール300は、概して、予測モジュール310、更新モジュール320、再サンプリングモジュール340を含む。一部の実施形態において、粒子フィルタモジュール300は、マルコフ連鎖モンテカルロ法(MCMC)の原理に基づく方法を実施する。
予測モジュール310は、粒子フィルタの初期化プロセス中に、複数の粒子をランダムに生成し、乗り物105の位置[x', y']およびヨー角Θ'(集合的に姿勢と呼ばれる)を予測するように構成される。最初、予測は、プロセッサにGPS信号を送信してよい衛星受信機132からの初期入力に基づいて生成されてよい。GPS信号は、乗り物105の初期地図座標[xini, yini]を含んでよい。初期ヨー角Θiniが、乗り物100の車輪オドメトリユニット117およびIMU 118から取り出されたオドメトリデータから決定されてよい。一部の実施形態においては、初期ヨー角Θiniは、LIDARスキャンシステム114に固定された座標系を地図の座標系とマッチングすることによって取得されてよい。
乗り物100の初期姿勢に基づいて、更新モジュール320は、少なくとも、図4を参照して下で詳細に説明される、ダウンロードされた2D参照地図350、LIDARスキャンシステム114、車輪オドメトリユニット117、およびIMU 118からのデータに基づいて粒子のそれぞれの重み値を生成または更新するように構成される。
粒子の重み値から計算された1つ以上の情報エントロピー値に基づいて、再サンプリングが必要とされる可能性があり、または必要とされない可能性がある(330)。再サンプリングが必要とされる場合、再サンプリングモジュール340が、更新モジュール320において取得された重み値に基づいて粒子を再サンプリングし、乗り物105の新しい姿勢を生成するように構成される。
更新モジュール320は、粒子の重み値を出力し、それらの重み値が、乗り物105の低周波数の姿勢[x', y', Θ'] 360を生成するために使用される。たとえば、これらの粒子の加重平均が、乗り物105の姿勢の推定値である。
図4は、本開示の1つの例示的な実施形態による、更新モジュール320によって部分的に実行される更新プロセス400を示すブロック図である。3D点群410は、LIDARスキャンシステム114から受信されてよく、オドメトリデータ415は、車輪オドメトリユニット117およびIMU 118から受信されてよい。3D点群410は、乗り物105に取り付けられたLIDARスキャンシステム114によって特定のスキャン周波数でキャプチャされた環境の現在の(すなわち、リアルタイムの)観測結果を表している。たとえば、LIDARスキャンシステム114は、5~20Hzの回転速度で乗り物の直近の周囲(たとえば、乗り物100の100~300メートル以内)のフルスキャンを完了する場合がある。
一部の実施形態において、3D点群410は、オドメトリデータ415を使用して前処理される必要がある。ステップ420において、オドメトリデータ415は、乗り物100の運動によって引き起こされる3D点群410の変形を除去するために使用され得る。プロセス420は、ねじれ除去としても知られる。ねじれを除去された3D点群430は、その原点[0, 0, 0]が乗り物100の乗り物の後軸(rear axis)(たとえば、ベースリンクフレーム(base link frame))の中点と一致するように変換されている。ねじれ除去プロセス420の後、ベースリンクフレームのx軸、y軸、およびz軸は、それぞれ、乗り物100の車体の前、左、および上を指す。それから、ねじれを除去された3D点群430は、更新モジュール320によって、地域規模の3D点群600に関連して上で説明されたのと同様のプロセスで2D画像に変換されるが、以下で説明されるいくつかの違いがある。たとえば、正方形の高度の高さがここで計算されない。すなわち、ねじれを除去された3D点群430から変換された2D画像内のピクセルは、垂直分布チャネルと強度チャネルの一方または両方を有するだけである。別の例として、2D画像は一辺の長さが20~200メートルの正方形タイル、たとえば100m x 100mの正方形タイルであることが可能であるので、3D点群410またはねじれを除去された3D点群430を2D画像に変換する前に3D点群を複数のタイルに分割する必要はない。その他の実施形態において、2D画像は、長方形の形状などの異なる形状であってよい。
一部の実施形態において、乗り物105のLIDARスキャンシステム114は、Velodyne(商標)およびQuanergy(商標)ブランドのLIDARシステムであってよく、8から128個のレーザビームを有する場合がある。これは、1つのLIDARフレームの2D画像が、地域の調査から生成される3Dの地域規模の点群から生成される2D参照地図3501、350bよりも疎らであることを意味する。それでもなお、ねじれを除去された3D点群430に基づいて生成される2D画像1000は、生成するために多大な量の計算リソースを必要とし得る数千または数万の非ゼロのピクセルを含む場合がある。位置特定動作を高速化するために、以下で詳細に説明されるプロセスによって、キーポイントが定義され、2D画像1000内のこれらの非ゼロのピクセルから抽出される。垂直分布チャネルおよび強度チャネルのキーポイントは、別々に抽出される。各チャネルに関して、これらの非ゼロのピクセルの値がソートされ、大きな値を有する最初の数百ピクセルがキーポイントとして選択され得る。垂直分布値を記憶するチャネル(「垂直分布チャネル」とも呼ばれる)に関して、キーポイントは、通常、木、建物、信号機、街灯、および電柱などのこれらの高い物体に対応する。強度値を記憶するチャネル(「強度チャネル」とも呼ばれる)に関して、キーポイントは、通常、道路上のペイント標示に対応する。
垂直分布チャネルに関して、キーポイントは、乗り物100を測位する際に異なる重要性を持つ。概して、高くて細い物体または建物の面に対応するキーポイントは、樹冠などの不定形の物体に対応するキーポイントよりも重要である。
いくつかの例示的な実施形態においては、図10Aに示されるように、生成された2D画像1000内のキーポイント1001が、座標[xk, yk]を有し、x軸が、乗り物100の移動方向に沿っている。一部の実施形態において、2D画像1000は、1000 x 1000ピクセルの解像度を有し、100m x 100mの物理的エリアを包含する。それから、各ピクセルのサイズは、10cm x 10cmである。LIDARスキャンシステム114は、2D画像1000の中心にある。したがって、m行n列にあるキーポイントは、座標[xk, yk]を有し、xk =(n-499)x0.1であり、yk =(500-m)x*0.1である。
垂直分布および強度の重み値の更新
再び図4を参照すると、更新モジュール320は、以下でさらに詳細に説明されるプロセス440によって、ねじれを除去された3D点群430を2D画像1000に変換するように構成される。ねじれを除去された3D点群430は、図6を参照して上で説明されたタイル610と同等である。ねじれを除去された3D点群430は、複数のセル620に分割され、各セルは、3D空間において正方形の底面を持つ細い柱である。各セル620は、ねじれを除去された3D点群430からの0個、1つ、または複数のデータ点を含む場合がある。複数のセル620の各々は、プロセス440を通じて、少なくとも第1のチャネルおよび第2のチャネルを含むデータセットによって表される。各セル620は、座標系のz軸に沿った長さTを有する。長さTは、ねじれを除去された3D点群430の地面と平行に上限および下限によって定義され、各2D画像は、もともと衛星受信機132を介してGPSシステムから取得された位置[xk L, yk L]およびヨー角値ΘLを有する。各ピクセルに関して、更新モジュール320は、長さTに沿ってセル620を、等しい高さの複数のs個のブロックに分割するように構成される。そして、複数のs個のブロックの各々に関して、更新モジュール320は、sビット2進数列が複数のセル620の各々に関して生成され、sビットの各2進桁がセル620の複数のs個のブロックの中の対応するブロックの割り当てられた値に等しいように、ブロックがねじれを除去された3D点群430からの少なくとも1つのデータ点を含むときに値1を割り当て、ブロックがねじれを除去された3D点群430からのいかなるデータ点も含まないときに値0を割り当てるように構成される。
更新モジュール320は、sビット2進数列を対応する10進数に変換し、対応する10進数をセルを表すデータセットに含まれる第1のチャネルに保存するように構成され、第1のチャネルは、セル620の垂直分布値を表す。それぞれのねじれを除去された3D点群430の各セル620に関して、2D参照地図350の垂直分布値の生成に関連して上で説明されたのと同様のプロセスでセル620が平坦であると判定されるとき、更新モジュール320は、セル620内の1つ以上のデータ点の最大強度値に基づいて強度値を決定し、セル620を表すデータセットに含まれる第2のチャネルに強度値を保存するように構成され、セルが平坦ではないと判定されるとき、更新モジュール320は、セル620を表すデータセットの第2のチャネルに値0を割り当てるように構成される。セルを表すデータセットは、ねじれを除去された3D点群430に対応する2D画像タイルを生成するために使用され、2D画像タイルの各ピクセルは、3D点群のタイル610のセル620に対応する。2D画像タイルの各ピクセルは、ピクセルの垂直分布値を示す第1のチャネルと、ピクセルの強度値を示す第2のチャネルとを含む。ピクセルの垂直分布値は、セル620を表すデータセットに含まれる第1のチャネルから取得され、ピクセルの強度値は、セル620を表すデータセットに含まれる第2のチャネルから取得される。
次に、更新モジュール320は、垂直分布に基づくキーポイント抽出および重み計算プロセス465によって、垂直分布に関する1つ以上のキーポイントを決定し、垂直分布に関するキーポイントを使用して1つ以上の垂直分布重み値460を計算するように構成される。
一部の実施形態において、垂直分布に基づくキーポイント抽出および重み計算プロセス465は、プロセッサ102によって実行されることが可能であり、複数のピクセルの各々のそれぞれの第1のチャネルのそれぞれの値に基づいて複数のピクセルを大きい方から小さい方に向かってソートし、ソートされたピクセルの中から、最初のm百個のピクセルを2D画像の垂直分布に関するキーポイントとして選択するステップであって、各キーポイントが、キーポイントのそれぞれの第1のチャネルのそれぞれの値に等しい垂直分布値
Figure 0007358636000035
を有する、ステップを含む。
次に、更新モジュール320は、2D画像内の垂直分布に関する各キーポイントに関して、垂直分布に関するキーポイントの重要度利得値を計算し、記憶するように構成される。重要度利得値は、各キーポイントの重要度を調整し、次の式、
aij = -Nij + Nmax + k
によって定義される値aijによって表され、iは、2D画像内のキーポイントの行番号を示し、jは、2D画像内のキーポイントの列番号を示し、Nmaxは、2D画像内で最も高い点を有する2D画像内の点の総数を示し、Nminは、2D画像内で最も小さい非ゼロの点を有する2D画像内の点の総数を示し、kは、正の整数である。
精度と速度の間のトレードオフが存在することに留意されたい。たとえば、100 x 100mの2D画像1000が、サイズ10m x 10mから20m x 20mの複数のブロックに分割され得る。ブロック数が多すぎると、アルゴリズムは、リアルタイムの性能を実現することができない場合がある。
次に、更新モジュール320は、少なくとも垂直分布に関するキーポイントの重要度利得値に基づいて、2D画像の垂直分布重み値460を計算するように構成される。2D画像の垂直分布重み値460は、式
Figure 0007358636000036
によって定義される
Figure 0007358636000037
により表され、kは、1からnまでの整数であり、nは、それぞれの2D画像内の垂直分布に関するキーポイントの総数mであり、
Figure 0007358636000038
は、キーポイントの垂直分布値であり、akは、垂直分布に関するキーポイントの重要度利得値であり、
Figure 0007358636000039
は、乗り物100の現在位置に基づいてリアルタイムでダウンロードされ得る2D参照地図350からのキーポイントの対応する垂直分布値である。計算された重み
Figure 0007358636000040
460は、正規化される場合がある。
一部の実施形態において、更新モジュール320は、強度に基づくキーポイント抽出および重み計算プロセス455によって、強度に関する1つ以上のキーポイントを決定し、強度に関するキーポイントを使用して1つ以上の強度重み値450を計算するように構成される。
一部の実施形態において、強度に基づくキーポイント抽出および重み計算プロセス455は、プロセッサ102によって実行されることが可能であり、複数のピクセルの各々のそれぞれの第2のチャネルのそれぞれの値に基づいて複数のピクセルを大きい方から小さい方に向かってソートし、ソートされたピクセルの中から、最初のl百個のピクセルを2D画像の強度に関するキーポイントとして選択するステップであって、各キーポイントが、キーポイントのそれぞれの第2のチャネルのそれぞれの値に等しい強度値
Figure 0007358636000041
を有する、ステップを含む。
更新モジュール320は、強度に関する少なくとも1つのキーポイントに基づいて、2D画像の強度重み値450を計算するように構成される。強度重み値450は、式
Figure 0007358636000042
によって定義される
Figure 0007358636000043
により表され、kは、1からnまでの整数であり、nは、2D画像内の強度に関するキーポイントの総数lであり、
Figure 0007358636000044
は、キーポイントの強度値であり、
Figure 0007358636000045
は、ロードされた2D参照地図350a、350bからのキーポイントの対応する強度値である。計算された重み
Figure 0007358636000046
450は、正規化される場合がある。
それぞれ、ロードされた2D参照地図350a、350bからの各ピクセルの
Figure 0007358636000047
および
Figure 0007358636000048
である
Figure 0007358636000049
または
Figure 0007358636000050
をロードされた2D参照地図350a、350bから取得するために、キーポイント変換が、更新モジュール320によって実行される。キーポイント変換は、次の式、
Figure 0007358636000051
によって行われることが可能であり、[x, y, Θ]は、キーポイントに関連する粒子によって与えられる姿勢であり、
Figure 0007358636000052
は、LIDARフレーム内の2D画像1000からのキーポイントの座標であり、
Figure 0007358636000053
は、ロードされた2D参照地図350a、350bからのキーポイントの座標である。
図10Bは、ロードされた2D参照地図上に図10Aの2D画像1000が重ね合わされた状態のロードされた2D参照地図350aを示す。キーポイント変換を使用して、2D画像1000は、2D参照地図350aにマッチングされ、重ね合わされた(またはその中に配置された)。
情報エントロピーによる垂直分布重み値と強度の重み値との合併
一部の実施形態において、垂直分布重み値および強度重み値は、粒子フィルタリングプロセス320を使用して更新モジュール320によって更新され得る。一部の実施形態において、測位は、垂直分布重み値または強度重み値のみを使用することによって行われ得る。本実施形態においては、垂直分布重み値460と強度重み値450とが、位置特定プロセスの堅牢性を高めるために更新モジュール320のサブモジュール470において合併される。更新モジュール320は、2D画像1000内の各キーポイントiに関して、垂直分布重み値
Figure 0007358636000054
460および強度重み値
Figure 0007358636000055
450の一方または両方を、少なくとも、垂直分布重み値
Figure 0007358636000056
460および強度重み値
Figure 0007358636000057
450の一方または両方の情報エントロピー値に基づいて更新するように構成される。
垂直分布重み値460の情報エントロピー値Hvertは、次の式、
Figure 0007358636000058
によって定義され、iは、1からNまでの整数であり、Nは、粒子フィルタの粒子の総数であり、
Figure 0007358636000059
は、第iの粒子の垂直分布重み値であり、
Figure 0007358636000060
は、キーポイントの垂直分布重み値460である。
強度重み値450の情報エントロピー値Hinteは、次の式、
Figure 0007358636000061
によって定義され、iは、1からNまでの整数であり、Nは、粒子フィルタの粒子の総数であり、
Figure 0007358636000062
は、第iの粒子の強度重み値であり、
Figure 0007358636000063
は、キーポイントの強度重み値460である。
一部の実施形態において、粒子フィルタの粒子の総数Nは、予め決められた値を有する。たとえば、Nは、2000~5000の間の数であってよい。小さなNを用いる粒子フィルタリングプロセスは、高速である可能性があるが堅牢性に劣る可能性が高く、一方、大きなNを用いる粒子フィルタリングプロセスは、より低速であるが堅牢性により優れる可能性がある。
各粒子442は、可能な姿勢[x, y, Θ]を含み、N個の粒子は、N個の可能な姿勢につながる。粒子フィルタリング更新モジュール320は、N個の姿勢を使用して、キーポイントの座標を2D画像1000から2D参照地図350に移す。移されたキーポイントが2D参照地図350と非常によく一致している場合、この可能な姿勢(粒子)は高い重み値を受け取ってよく、そうでない場合、重み値は小さくなる。
サブプロセス482によって、HvertおよびHinteの一方または両方が所与の閾値未満である(たとえば、0に非常に近い)とき、対応する垂直分布重み値
Figure 0007358636000064
460および対応する強度重み値
Figure 0007358636000065
450の一方または両方の更新は、スキップされることが可能であり、合併された重み
Figure 0007358636000066
が、粒子フィルタのすべての粒子を再サンプリングするために使用され、合併された重み
Figure 0007358636000067
は、式、
Figure 0007358636000068
に基づいて定義される。
それから、再サンプリングモジュール340が、合併された重みを用いて実行され得る。粒子フィルタ300における予測/更新/再サンプリングのサイクルを繰り返して、低周波数の2Dの姿勢が、更新された重み480を平均することに基づいて取得され得る。たとえば、これらの粒子の加重平均が、粒子フィルタモジュール300の出力である姿勢推定値[x', y', Θ'] 360である。出力周波数は、通常、10Hzなど、5~20Hzの間のLIDARスキャンシステム114の周波数と同じであってよい。これは、低周波数データと考えられる。
より詳細には、姿勢推定値[x', y', Θ'] 360を生成するために、プロセッサ102は、2D画像内の各キーポイントに関して、2D画像1000内のキーポイントの位置[xk L, yk L](上で
Figure 0007358636000069
とも記述された)およびヨー角値ΘLに基づいて、ロードされた2D参照地図350a、350bからキーポイントの対応する地図座標[xk M, yk M](上で
Figure 0007358636000070
とも記述された)を取得するように構成される。それから、プロセッサ102は、少なくとも1つのキーポイントの対応する地図座標[xk M, yk M]と、対応する垂直分布重み値460および強度重み値450の一方または両方とに基づいて、乗り物の推定された位置[x', y']を生成するように構成される。同様に、プロセッサ102は、少なくとも1つのキーポイントのヨー角値ΘLと、対応する垂直分布重み値460および強度重み値450の一方または両方とに基づいて、乗り物105の推定されたヨー角値Θ'を生成するように構成される。
図11は、本開示の1つの例示的な実施形態による、乗り物の2D位置およびヨー角を決定する方法1100の流れ図である。方法1100は、たとえば、乗り物制御システム115のプロセッサ102によって実行されるソフトウェアにより実施されてよい。そのような方法1100を実施するためのソフトウェアのコーディングは、本開示を提供された当業者の範囲内である。方法1100は、追加のステップまたは図示されたおよび/もしくは説明されたよりも少ないステップを含む場合があり、異なる順序で実行される場合がある。方法1110を実行するためにプロセッサ102によって実行可能な機械可読コードが、乗り物制御システム115のメモリ126などの非一時的機械可読媒体に記憶されてよい。
方法1100は、ステップ1101において始まる。ステップ1100において、乗り物105の初期位置が、GPSユニットから受信され、初期位置は、地図座標[xini, yini]によって表されてよい。ステップ1103において、2D参照地図350が、乗り物100の初期位置に基づいてダウンロードされ、一部の実施形態においては、2D参照地図の1つ以上の画像タイルが、乗り物100の位置に基づいてダウンロードされてよく、各画像タイルは、たとえば、3メートルなど、2~5メートルの辺の長さの特定のサイズであってよい。ステップ1105において、LIDARサブシステム114からの3D点群410が、受信され、3D点群410は、ねじれを除去された3D点群430を生成するために処理され得る。ステップ1107において、3D点群(またはねじれを除去された3D点群)430が、複数のピクセルを含む2D画像に変換される。ステップ1107は、ステップ1109および1111を含んでよく、これらのステップは、同時にまたは逐次的に実行されてよい。ステップ1109において、3D点群(またはねじれを除去された3D点群)430の各セル620に関して、垂直分布値が決定され、セル620を表すデータセットに含まれる第1のチャネルに記憶される。ステップ1111において、3D点群(またはねじれを除去された3D点群)430の各セルに関して、強度値が決定され、セル620を表すデータセットに含まれる第2のチャネルに記憶される。ステップ1113において、3D点群に関する複数の垂直分布のキーポイントおよび複数の強度のキーポイントが生成される。ステップ1115において、データ点の垂直分布重み値および強度重み値が計算され、メモリ126に記憶される。ステップ1117において、適切な場合、情報エントロピー値に基づく1つ以上の重み値が更新される。ステップ1119において、乗り物105の推定された位置およびヨー角が、重み値に基づいて生成される。
6DOFの位置および向きの生成
図5は、本開示の1つの例示的な実施形態による、自律的な乗り物のリアルタイムの位置特定のための方法500を示すブロック図である。図12は、本開示の1つの例示的な実施形態による、自律的な乗り物のリアルタイムの位置特定のための方法1200の流れ図を示す。方法500、1200は、たとえば、乗り物制御システム115のプロセッサ102によって実行されるソフトウェアにより実施されてよい。そのような方法500、1200を実施するためのソフトウェアのコーディングは、本開示を提供された当業者の範囲内である。方法500、1200は、追加のステップまたは図示されたおよび/もしくは説明されたよりも少ないステップを含む場合があり、異なる順序で実行される場合がある。方法500、1200を実行するためにプロセッサ102によって実行可能な機械可読コードが、乗り物制御システム115のメモリ126などの非一時的機械可読媒体に記憶されてよい。
方法500、1200は、ステップ1210において始まる。ステップ3103Dにおいて、点群410が、乗り物105のLIDARスキャンシステム114から受信され、オドメトリデータ415が、乗り物105の車輪オドメトリユニット117から受信される。任意で、さらなるオドメトリデータが、乗り物105のIMU 118から受信されてよい。任意のステップとして、3D点群410は、ねじれを除去された3D点群430を生成するために処理されてよい。ステップ1220において、ロードされた2D参照地図350a、350bの一連の2D画像タイルが、乗り物100の初期位置に基づいて、(上述のように)外部ストレージからダウンロードされるか、または乗り物100のメモリ126から取得される。乗り物100の初期位置は、衛星受信機132を介してGPS衛星から受信されたGPS信号から取得される。乗り物100の初期位置は、乗り物100の座標[xini, yini]を含んでよい。一部の実施形態において、乗り物100の初期位置は、乗り物100の初期ヨー角値Θiniをさらに含んでよい。ステップ1230において、粒子フィルタプロセス300が、LIDARスキャンユニット114から取得された現在の3D点群410または現在の3D点群410から生成されたねじれを除去された3D点群430から2D画像1000を生成するために実行される。2D画像1000は、一辺の長さが20から200mの間の長方形または正方形(たとえば、100m x 100m)であってよい。ステップ1230において、乗り物100の低周波数(たとえば5~20Hz)の姿勢推定値[x', y', Θ'] 360が、上で図4に関連して説明されたプロセスに基づいてやはり出力される。ステップ1210から1230と並列的であることが可能であるステップ1240において、乗り物100のIMU 118および/または車輪オドメトリユニット117からのオドメトリデータ415が、取得される。オドメトリデータ415は、IMU 118または車輪オドメトリユニット117の動作周波数に基づいて、50~200Hzの周波数で取得され得る。ステップ1250において、低周波数の2D姿勢推定値[x', y', Θ'] 360が、最終的な姿勢推定値[xf, yf, Θf] 530を取得するために拡張カルマンフ
ィルタ(EKF)520によってオドメトリデータ415と統合される。この最終的な姿勢推定値は、50から200Hzまでであることが可能であるIMUユニット118の周波数値と同等の周波数値で取得される。
ステップ1260において、座標[xf, yf, Θf] 530をロードされた2D参照地図350a、350bにマッピングし、ロードされた2D参照地図350a、350bの画像タイル820a、820b、820c内の対応する画素の第3の(B)チャネル790に記憶された高度の高さの値を調べることによって、高度値Zf 550が生成される。
ステップ1210から1260と並行して、オドメトリデータ5400が、IMU 118から受信され、乗り物105の最終的なロールRfおよび最終的なピッチPf 570が、姿勢決定アルゴリズム560に基づいて決定される。
ステップ1280において、乗り物105の最終的な6DOFの高周波数の姿勢580[xf, yf, zf]、ロールRf、ピッチPf、およびヨー角Θfが生成され、経路計画モジュール174などの乗り物100内の異なるユニットに出力される。
ステップ1290において、乗り物100が、乗り物100の高周波数の姿勢または場所580[Xf, Yf, Zf, Θf, Rf, Pf]に基づいて乗り物制御システム115によって制御されてよい。乗り物コントローラ115のプロセッサ102は、駆動制御システム150のためのコマンドまたは命令を生成する自律運転モジュール172の命令を実行してよい。駆動制御システム150は、乗り物100を乗り物100の軌道に従わせるようにステアリングユニット152、ブレーキユニット154、およびスロットルユニット156を制御する。
本開示は、背景技術の節で説明された問題に対処するためのいくつかの技術的解決策を提案する。たとえば、情報エントロピーおよび合併された重みの使用は、垂直分布情報と強度との両方を利用して堅牢な位置特定プロセスを実現する。また、一部の実施形態の提案された解決策は、情報利得行列を利用して、各キーポイントの基礎となる形状的構造に基づいてキーポイントの重要度を示す。この方法によれば、提案された粒子フィルタアルゴリズムは、特定の種類のランドマーカーが欠落しているときにも依然として機能する。
既存の2D位置特定方法とは異なり、提案された解決策は、2D位置特定アルゴリズムの計算の複雑さで高周波数の3D位置および向きを生成することができる。絶対高度Zfは、地域規模の3D点群地図から事前に取得された2D参照地図に埋め込まれた対応する高度の高さの情報と2D座標をマッチングすることによって計算される。
Intel i7 CPUおよびLinuxオペレーティングシステムを備えたデスクトップPCにおいて、マッチング周波数は、乗り物100のLIDARスキャンシステム114の例示周波数である10Hzに達し得る。
本開示において導入された2D参照地図は、サイズが小さく、小さなメモリ空間を占有する。たとえば、それぞれの100m x 100mの地図タイルは、約300KBであり、これは、セルラデータネットワークを介して複数の地図タイルをリアルタイムでダウンロードまたは転送することを容易にする。
エントロピーに基づく融合方法は、測位の精度および堅牢性を向上させる。ロードテストの結果は、都市環境内で、位置の誤差が20cm未満であることを示す。姿勢誤差は、0.2度未満である(RTK-GPSの出力がグラウンドトゥルース(ground truth)として使用される)。さらに、アルゴリズムは、強度が検出され得ないときにうまく機能する。
一部の実施形態においては、2D画像1000を2D参照地図350にマッピングするために異なるアルゴリズムが使用される場合がある。たとえば、正規分布変換(NDT: Normal Distributions Transform)、反復最近接点(ICP: Iterative Closest Point)、または改良されたNDTもしくはICPアルゴリズムが、使用され得る。しかし、これらの方法で必要とされる地図サイズは、本発明に記載の提案された解決策によって必要とされる地図サイズよりもはるかに大きい傾向があり、NDT、ICPアルゴリズムを実行する計算の複雑さも、本発明に記載の提案された解決策を実行するために必要とされるよりも高い傾向がある。
本開示において導入された位置特定方法は、屋内または屋外の移動ロボットまたはUAVにおいても使用され得る。
3D点群からの動的な物体のほとんどが、中に十分なレーザポイント(laser point)を持たないピクセルを排除することによって除去されたが、本開示において提案された特徴(たとえば、垂直分布および強度に基づくキーポイント)は、サイズが小さい。この解決策は、特徴のライフロングマッピング(lifelong mapping)に使用され得る。たとえば、特徴のサイズが比較的小さいので、乗り物は、セルラネットワークを通じて特徴データおよび位置特定結果を中央制御センターに送り返すことができる。中央制御センターは、これらの特徴データを使用して環境の変化を検出し、それに応じて地図を更新することができる。
説明された上述の方法を実施するためのソフトウェアおよびソフトウェアモジュールのコーディングは、本開示を考慮する当業者の範囲内である。上述の方法を実行するための1つ以上のそれぞれのデバイスの1つ以上のプロセッサによる実行のためのソフトウェアコードおよび/またはソフトウェアモジュールの実行可能な命令が、乗り物制御システムのメモリとしての機械可読媒体に記憶されてよい。本明細書において説明された流れ図および図面のステップおよび/または動作は、例示のみを目的とする。本開示の教示から逸脱しないこれらのステップおよび/または動作に対する多くの変更が存在する可能性がある。たとえば、ステップが、異なる順序で実行される場合があり、またはステップが、追加されるか、削除されるか、もしくは修正される場合がある。プロセッサ102は、方法1100または方法1200の動作の多くを実行するものとして説明されているが、1つ以上の専用のデジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、または画像プロセッサが、説明された動作の一部を実行するために使用されてよい。説明された動作を実行する特定の処理エンティティは、本開示を限定するように意図されていない。
開示された範囲内のすべての値および部分的な範囲も、開示される。また、本明細書において開示され、示されたシステム、デバイス、およびプロセスは、特定の数の要素/構成要素を含む場合があるが、システム、デバイス、および組立体は、追加の要素/構成要素またはより少ないそのような要素/構成要素を含むように修正されてよい。たとえば、開示された要素/構成要素のいずれかが単数であるものとして参照される場合があるが、本明細書において開示された実施形態は、複数のそのような要素/構成要素を含むように修正されてよい。本明細書において説明された対象は、テクノロジーのすべての適切な変化を網羅し、包含することを意図している。
本開示が少なくとも部分的に方法の観点から説明されているが、当業者は、本開示が、ハードウェア(DSP、ASIC、またはFPGA)によるのか、ソフトウェアによるのか、またはそれらの組み合わせによるのかにかかわらず、説明された方法の態様および特徴の少なくとも一部を実行するための様々な構成要素も対象とすることを理解するであろう。したがって、本開示の技術的解決策は、処理デバイス(たとえば、乗り物制御システム)が本明細書において開示された方法の例を実行することを可能にする、その上に有形で記憶される実行可能な命令を記憶させた不揮発性または非一時的機械可読媒体(たとえば、光ディスク、フラッシュメモリなど)に具現化されてよい。
本開示は、請求項の対象から逸脱することなしにその他の特定の形態で具現化される可能性がある。説明された例示的な実施形態は、すべての点において例示的とだけみなされるべきであり、限定的とみなされるべきではない。本開示は、テクノロジーのすべての適切な変化を網羅し、包含することを意図している。したがって、本開示の範囲は、上記の説明によってではなく添付の請求項によって示される。請求項の範囲は、例において説明された実施形態によって限定されるべきでなく、説明に合致する最も広い解釈をそのまますべて与えられるべきである。
100 自律的な乗り物
102 プロセッサ
110 センサー
112 カメラ
113 コントローラ
114 LIDARスキャンシステム
115 乗り物制御システム、乗り物コントローラ
116 SARユニット
117 車輪オドメトリユニット
118 慣性計測装置(IMU)
120 その他のセンサー、レーザ光源
122 ランダムアクセスメモリ(RAM)
124 読み出し専用メモリ(ROM)
126 永続的(不揮発性)メモリ
130 ワイヤレストランシーバ、光スイッチ
132 衛星受信機
134 リアルタイムクロック
136 タッチスクリーン
138 スピーカ
140 マイクロフォン、検出器サブシステム
142 データポート
150 駆動制御システム
152 ステアリングユニット
154 ブレーキユニット
156 スロットル(またはアクセル)ユニット
160 オペレーティングシステムソフトウェア
162 自律運転システム
164 乗り物位置特定モジュール
166 駐車支援モジュール
168 自律駐車モジュール
170 運転支援モジュール
172 自律運転モジュール
174 経路計画モジュール
176 知覚モジュール
178 その他のモジュール
180 データ
182 センサーデータ
184 ユーザデータ
186 ダウンロードキャッシュ
190 機械システム
192 エンジン
194 トランスミッション
196 車輪
300 粒子フィルタモジュール
310 予測モジュール
320 更新モジュール
340 再サンプリングモジュール
350 2D参照地図
350a 2D参照地図
350b 2D参照地図
3501 2D参照地図
360 位置およびヨー角、姿勢[x', y', Θ']
400 更新プロセス
410 3D点群
415 オドメトリデータ
430 ねじれを除去された3D点群
440 プロセス
442 粒子
450 強度重み値
455 強度に基づくキーポイント抽出および重み計算プロセス
460 垂直分布重み値
465 垂直分布に基づくキーポイント抽出および重み計算プロセス
470 サブモジュール
480 更新された重み
482 サブプロセス
500 位置特定方法
520 拡張カルマンフィルタ(EKF)
530 最終的な姿勢推定値[xf, yf, Θf]
550 高度値Zf
560 姿勢決定アルゴリズム
570 最終的なロールRfおよび最終的なピッチPf
580 高周波数の姿勢または場所[Xf, Yf, Zf, Θf, Rf, Pf]
5400 オドメトリデータ
600 三次元(3D)点群
610 タイル
620 セル
625 辺
700a データセット
700b データセット
700c データセット
710 ブロック
710a ブロック
710b ブロック
710c ブロック
710d ブロック
710e ブロック
720a データ点
720b データ点
720c データ点
720d データ点
720e データ点
720f データ点
720g データ点
720h データ点
730 セル
732 セル
734 セル
736 セル
740 上限
743 長さR
745 下限
750a 最高高度の高さhi、高度の高さの値h3
750b 最高高度の高さhi、高度の高さの値h2
750c 最高高度の高さhi、高度の高さの値h1
755 最低高度の高さhMapMinimum
760 最高高度hmax_map
765 最低高度hmin_map
770a 第1のチャネル
770b 第1のチャネル
770c 第1のチャネル
780a 第2のチャネル
780b 第2のチャネル
780c 第2のチャネル
790 第3の(B)チャネル
790a 第3のチャネル
790b 第3のチャネル
790c 第3のチャネル
820 2D参照地図タイル
820a 2D参照地図タイル、2D画像タイル
820b 2D参照地図タイル、2D画像タイル
820c 2D参照地図タイル、2D画像タイル
1000 2D画像
1001 キーポイント
1100 方法
1200 方法

Claims (19)

  1. 自律的な乗り物の位置特定のための方法であって、
    前記自律的な乗り物の光検出および測距(LIDAR: light detection and ranging)スキャンシステムによってキャプチャされた、前記自律的な乗り物の周囲の環境の三次元(3D)点群を受信するステップと、
    前記3D点群に基づいて前記環境の二次元(2D)画像を生成するステップであって、前記2D画像が、複数のピクセルを含み、前記複数のピクセルのそれぞれのピクセルが、前記ピクセルの垂直分布値を示す第1のチャネルおよび前記ピクセルの強度値を示す第2のチャネルの少なくとも一方を有する、ステップと、
    前記2D画像に粒子フィルタリングプロセスを適用することによって前記乗り物の位置を推定するステップであって、前記第1のチャネルおよび第2のチャネルの少なくとも一方の値に基づいて粒子の重み値を生成または更新することを含むステップと、
    前記自律的な乗り物の車輪オドメトリユニットからオドメトリデータを取り出すステップであって、前記オドメトリデータが、前記自律的な乗り物の回転を示す回転データおよび前記自律的な乗り物の平行移動を示す平行移動データを含む、ステップと、
    前記自律的な乗り物の場所を生成するステップであって、前記自律的な乗り物の前記場所が、前記オドメトリデータおよび前記自律的な乗り物の推定された位置に基づいて決定された前記乗り物の最終的な位置、ならびに前記自律的な乗り物の前記最終的な位置および前記環境の2D参照地図に基づいて決定された前記乗り物の高度を含む、ステップとを含む、方法。
  2. 前記2D画像に基づいて、前記自律的な乗り物のヨー角値を推定するステップ、
    前記オドメトリデータおよび前記乗り物の推定されたヨー角値に基づいて前記自律的な乗り物の最終的なヨー角を決定するステップをさらに含み、
    前記自律的な乗り物の前記場所が、前記乗り物の前記最終的なヨー角をさらに含む請求項1に記載の方法。
  3. 前記自律的な乗り物の慣性測定ユニット(IMU)からさらなるオドメトリデータを取り出すステップであって、前記さらなるオドメトリデータが、前記自律的な乗り物の3軸角速度および前記自律的な乗り物の3軸加速度を含み、前記自律的な乗り物の前記最終的な位置が、前記IMUから取り出された前記さらなるオドメトリデータに基づいてさらに決定される、ステップをさらに含む請求項1または2に記載の方法。
  4. 前記IMUから取り出された前記さらなるオドメトリデータに基づいて前記乗り物の最終的なロール値および最終的なピッチを決定するステップをさらに含み、
    前記乗り物の前記場所が、前記自律的な乗り物の前記最終的なロール値および前記最終的なピッチ値をさらに含む請求項3に記載の方法。
  5. 前記自律的な乗り物の前記最終的な位置が、拡張カルマンフィルタ(EKF)を使用して決定される請求項1から4のいずれか一項に記載の方法。
  6. 前記自律的な乗り物の最終的なヨー角値が、拡張カルマンフィルタ(EKF)を使用して決定される請求項2から5のいずれか一項に記載の方法。
  7. 前記3D点群が、複数のデータ点を含み、各データ点が、強度値および1組の座標を有し、前記3D点群に基づいて前記環境の二次元(2D)画像を生成するステップが、
    前記3D点群を平面に沿って複数のタイルに分割すること、
    各タイルを複数のセルに分割することであって、各セルが、座標系のz軸に沿った長さTを有し、前記長さTが、前記3D点群の地表と平行に上限および下限によって定義され、前記複数のセルの各々が、前記座標系に基づく2D位置[xk L, yk L]およびヨー角値ΘLを有する、分割することと、
    各タイルの各セルに関して、
    前記セルを前記長さTに沿って、等しい高さの複数のs個のブロックに分割すること、
    前記複数のs個のブロックの各々に関して、sビット2進数列が前記複数のセルの各々に関して生成され、前記sビット2進数列の各2進桁が前記セルの前記複数のs個のブロックの中の対応するブロックの割り当てられた値に等しいように、前記ブロックが前記3D点群からの少なくとも1つのデータ点を含むときに値1を割り当て、前記ブロックが前記3D点群からのいかなるデータ点も含まないときに値0を割り当てること、
    前記sビット2進数列を対応する10進数に変換し、前記対応する10進数を前記セルを表すデータセットの前記第1のチャネルに保存すること、
    前記セル内のすべてのデータ点の中で地面からの最も高い高度を有する前記セル内のデータ点の高さに基づいて前記セルの最高高度h max を決定すること、
    前記セル内のすべてのデータ点の中で地面からの最も低い高度を有する前記セル内のデータ点の高さに基づいて前記セルの最低高度h min を決定すること、
    h max とh min と間の差が所与の閾値h th 未満であると判定されるとき、前記セル内の1つ以上のデータ点の最大強度値に基づいて強度値を決定し、前記強度値を前記セルを表す前記データセットの前記第2のチャネルに保存すること、
    h max とh min と間の差が前記閾値h th 以上であると判定されるとき、前記セルを表す前記データセットの前記第2のチャネルに値0を割り当てること、
    各タイルに関して、各セルを表す前記データセットに基づいて、前記3D点群の2D画像を生成することを含む請求項1から6のいずれか一項に記載の方法。
  8. 前記2D画像の各ピクセルの前記第1のチャネルの値に基づいて前記2D画像の前記ピクセルをソートし、ソートされたピクセルから、最初のm百個のピクセルを前記2D画像の垂直分布に関する複数のキーポイントとして選択するステップであって、各キーポイントが、前記キーポイントのそれぞれの第1のチャネルのそれぞれの値に等しい垂直分布値
    を有する、ステップと、
    前記複数のピクセルの各々のそれぞれの第2のチャネルのそれぞれの値に基づいて前記複数のピクセルを大きい方から小さい方に向かってソートし、ソートされたピクセルから、最初のl百個のピクセルを前記2D画像の強度に関する複数のキーポイントとして選択するステップであって、各キーポイントが、前記キーポイントのそれぞれの第2のチャネルのそれぞれの値に等しい強度値
    を有する、ステップと、
    前記2D画像内の垂直分布に関する各キーポイントに関して、垂直分布に関する前記キーポイントの重要度利得値を計算し、記憶するステップと、
    垂直分布に関する少なくとも1つのキーポイントの前記重要度利得値に基づいて、前記2D画像の垂直分布重み値を計算し、記憶するステップと、
    強度に関する少なくとも1つのキーポイントに基づいて、前記2D画像の強度重み値を計算し、記憶するステップと、
    前記垂直分布重み値および前記強度重み値の一方または両方を、少なくとも、前記垂直分布重み値および前記強度重み値の一方または両方の情報エントロピー値に基づいて更新するステップとをさらに含む請求項7に記載の方法。
  9. 前記2D画像内の各キーポイントに関して、垂直分布に関する前記キーポイントの前記重要度利得値が、次の式、aij = -Nij + Nmax + kによって決定される値aijによって表され、iが、前記2D画像内の前記キーポイントの行番号を示し、jが、前記2D画像内の前記キーポイントの列番号を示し、Nmaxが、前記2D画像内で最も高い点を有する前記2D画像内の点の総数を示し、Nminが、前記2D画像内で最も小さい非ゼロの点を有する前記2D画像内の点の総数を示し、kが、正の整数である請求項8に記載の方法。
  10. 前記垂直分布重み値が、
    によって表され、式
    によって決定され、kが、1からnまでの整数であり、nが、それぞれの2D画像内の垂直分布に関するキーポイントの総数mであり、
    が、前記キーポイントの前記垂直分布値であり、akが、垂直分布に関する前記キーポイントの前記重要度利得値であり、
    が、前記2D参照地図からの前記キーポイントの対応する垂直分布値であり、
    前記2D画像内の各キーポイントに関して、前記強度重み値が、式、
    によって定義される
    によって表され、kが、1からnまでの整数であり、nが、前記2D画像内の強度に関するキーポイントの総数lであり、
    が、前記キーポイントの前記強度値であり、
    が、前記2D参照地図からの前記キーポイントの対応する強度値である請求項9に記載の方法。
  11. 前記2D画像に粒子フィルタリングプロセスを適用することによって前記乗り物の位置を推定するステップが、
    前記垂直分布重み値
    および前記強度重み値
    の一方または両方を、少なくとも、前記垂直分布重み値
    および前記強度重み値
    の一方または両方の前記情報エントロピー値に基づいて更新することを含み、
    前記垂直分布重み値の前記情報エントロピー値Hvertが、次の式、
    によって決定され、iが、1からNまでの整数であり、Nが、粒子フィルタの粒子の総数であり、
    が、第iの粒子の前記垂直分布重み値であり、
    前記強度重み値の前記情報エントロピー値Hinteが、次の式、
    によって決定され、iが、1からNまでの整数であり、Nが、前記粒子フィルタの粒子の前記総数であり、
    が、前記第iの粒子の前記強度重み値であり、
    HvertおよびHinteの一方または両方が所与の閾値未満であるとき、対応する垂直分布重み値
    および対応する強度重み値
    の一方または両方の更新がスキップされ、合併された重み
    が、前記粒子フィルタのすべての粒子を再サンプリングするために使用され、前記合併された重み
    が、式、
    に基づいて定義される請求項10に記載の方法。
  12. 前記粒子フィルタの粒子の前記総数が、予め決められた値を有する請求項11に記載の方法。
  13. 前記2D参照地図からの前記キーポイントの前記対応する垂直分布値が、前記2D参照地図内の前記ピクセルの地図座標に基づいて前記2D参照地図内の対応するピクセルの位置を突き止めることによって取得される請求項10から12のいずれか一項に記載の方法。
  14. 前記乗り物の前記場所が、前記さらなるオドメトリデータが前記IMUによって取得される周波数と同等の周波数で出力される請求項3または4に記載の方法。
  15. 前記2D画像を生成する前に、前記3D点群を処理して前記3D点群のねじれを除去するステップをさらに含む請求項1から14のいずれか一項に記載の方法。
  16. 前記乗り物の初期位置に基づいて前記2D参照地図の1つ以上のタイルを動的にダウンロードするステップをさらに含む請求項1から15のいずれか一項に記載の方法。
  17. 前記2D参照地図の1つ以上のタイルの各々が、20メートルから200メートルまでの間の辺の長さを有する正方形タイルである請求項1から16のいずれか一項に記載の方法。
  18. 自律的な乗り物の位置特定のためのシステムであって、
    プロセッサと、
    前記プロセッサに結合されたメモリであって、前記プロセッサによって実行されるときにシステムに請求項1から17のいずれか一項に記載の方法を実行させる実行可能な命令を有形で記憶する、メモリとを含む、システム。
  19. 乗り物制御システムのプロセッサによって実行されるときに前記乗り物制御システムに請求項1から17のいずれか一項に記載の方法を実行させる命令を含むコンピュータプログラム。
JP2022523024A 2019-10-16 2020-07-02 自律的な乗り物のリアルタイムの位置特定のための方法およびシステム Active JP7358636B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/655,132 US11262759B2 (en) 2019-10-16 2019-10-16 Method and system for localization of an autonomous vehicle in real time
US16/655,132 2019-10-16
PCT/CN2020/099860 WO2021073165A1 (en) 2019-10-16 2020-07-02 Method and system for localization of an autonomous vehicle in real time

Publications (2)

Publication Number Publication Date
JP2022553248A JP2022553248A (ja) 2022-12-22
JP7358636B2 true JP7358636B2 (ja) 2023-10-10

Family

ID=75490852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022523024A Active JP7358636B2 (ja) 2019-10-16 2020-07-02 自律的な乗り物のリアルタイムの位置特定のための方法およびシステム

Country Status (4)

Country Link
US (2) US11262759B2 (ja)
EP (1) EP4038416A4 (ja)
JP (1) JP7358636B2 (ja)
WO (1) WO2021073165A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4049060A4 (en) * 2019-10-21 2023-11-22 Piper Networks, Inc. LIDAR TRANSIT LOCALIZATION SYSTEMS AND METHODS
DE102019216378A1 (de) * 2019-10-24 2021-04-29 Robert Bosch Gmbh Bestimmung einer Fahrzeugtrajektorie unter Verwendung von Begrenzungskostenfunktionen
US11521329B2 (en) * 2019-11-22 2022-12-06 Baidu Usa Llc Updated point cloud registration pipeline based on ADMM algorithm for autonomous vehicles
EP3832262B1 (en) * 2019-12-05 2022-09-14 Aptiv Technologies Limited Methods and systems for determining an initial ego-pose for initialization of self-localization
US20230334711A1 (en) * 2020-06-29 2023-10-19 Lg Electronics Inc. Point cloud data transmission device, transmission method, processing device, and processing method
US11619950B2 (en) * 2020-06-30 2023-04-04 Tusimple, Inc. Systems and methods for projecting a three-dimensional (3D) surface to a two-dimensional (2D) surface for use in autonomous driving
US20220269281A1 (en) * 2021-02-23 2022-08-25 Ran Cheng Method and system for generating a topological graph map
CN113465591A (zh) * 2021-07-01 2021-10-01 清华四川能源互联网研究院 移动机器人相对定位方法和系统
CN113609985B (zh) * 2021-08-05 2024-02-23 诺亚机器人科技(上海)有限公司 物体位姿检测方法、检测设备、机器人及可存储介质
CN113665591B (zh) * 2021-09-28 2023-07-11 上海焱眼鑫睛智能科技有限公司 无人驾驶控制方法、装置、设备及介质
US12018945B2 (en) 2021-09-29 2024-06-25 Zimeno Inc. Tractor parameter calibration
US11543246B1 (en) 2021-09-29 2023-01-03 Zimeno, Inc. Rear axle center locating
CN114911226B (zh) * 2021-10-08 2023-06-30 广东利元亨智能装备股份有限公司 搬运车行驶控制方法、装置及搬运车
CN113946151A (zh) * 2021-10-20 2022-01-18 北京百度网讯科技有限公司 针对自动驾驶车辆的数据处理方法、装置和自动驾驶车辆
US20230267640A1 (en) * 2022-02-21 2023-08-24 Ford Global Technologies, Llc Pose estimation
CN114510788B (zh) * 2022-04-18 2022-08-16 北京中科慧眼科技有限公司 基于车辆自动制动系统的时间阈值模型构建方法和系统
US11934430B2 (en) * 2022-07-14 2024-03-19 T-Mobile Innovations Llc Visualization of elevation between geographic locations using segmented vectors based on ground and clutter elevation data
SE545879C2 (en) * 2022-09-03 2024-03-05 Spacemetric Ab Method and arrangement for determining a pose of an aerial vehicle
CN116118784B (zh) * 2023-04-17 2023-06-13 禾多科技(北京)有限公司 车辆控制方法、装置、电子设备和计算机可读介质
CN117237560B (zh) * 2023-11-10 2024-02-23 腾讯科技(深圳)有限公司 一种数据处理方法和相关装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009544966A (ja) 2006-07-27 2009-12-17 韓國電子通信研究院 人工標識とオデメトリとの連動を利用する位置算出システム及び方法
US20120030255A1 (en) 2009-04-20 2012-02-02 Xue Joel Q Systems and methods for modeling electrical activity of an anatomical structure
WO2012176249A1 (ja) 2011-06-21 2012-12-27 国立大学法人奈良先端科学技術大学院大学 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、及び移動体
JP2014123200A (ja) 2012-12-20 2014-07-03 Toyota Motor Corp 移動体制御装置、移動体制御方法及び制御プログラム
JP2016149090A (ja) 2015-02-13 2016-08-18 株式会社リコー 自律移動装置、自律移動システム、自律移動方法、およびプログラム
WO2018140748A1 (en) 2017-01-26 2018-08-02 The Regents Of The University Of Michigan Localization using 2d maps which capture vertical structures in 3d point data

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933864A (en) * 1988-10-04 1990-06-12 Transitions Research Corporation Mobile robot navigation employing ceiling light fixtures
US5638116A (en) * 1993-09-08 1997-06-10 Sumitomo Electric Industries, Ltd. Object recognition apparatus and method
US8655588B2 (en) * 2011-05-26 2014-02-18 Crown Equipment Limited Method and apparatus for providing accurate localization for an industrial vehicle
US9113077B2 (en) * 2013-01-17 2015-08-18 Qualcomm Incorporated Orientation determination based on vanishing point computation
US9852512B2 (en) * 2013-03-13 2017-12-26 Electronic Scripting Products, Inc. Reduced homography based on structural redundancy of conditioned motion
US9330435B2 (en) 2014-03-19 2016-05-03 Raytheon Company Bare earth finding and feature extraction for 3D point clouds
DE102014005181A1 (de) * 2014-04-03 2015-10-08 Astrium Gmbh Positions- und Lagebestimmung von Objekten
KR101928689B1 (ko) 2015-05-20 2018-12-12 미쓰비시덴키 가부시키가이샤 점군 화상 생성 장치 및 표시 시스템
US10816654B2 (en) 2016-04-22 2020-10-27 Huawei Technologies Co., Ltd. Systems and methods for radar-based localization
JP2019532292A (ja) * 2016-09-29 2019-11-07 ザ・チャールズ・スターク・ドレイパー・ラボラトリー・インコーポレイテッド 車両位置特定の自律走行車両
US9971352B1 (en) * 2016-11-17 2018-05-15 GM Global Technology Operations LLC Automated co-pilot control for autonomous vehicles
CN111108342B (zh) 2016-12-30 2023-08-15 辉达公司 用于高清地图创建的视觉测程法和成对对准
CN107194957B (zh) 2017-04-17 2019-11-22 武汉光庭科技有限公司 智能驾驶中激光雷达点云数据与车辆信息融合的方法
US20180356831A1 (en) 2017-06-13 2018-12-13 TuSimple Sparse image point correspondences generation and correspondences refinement method for ground truth static scene sparse flow generation
US10670725B2 (en) 2017-07-25 2020-06-02 Waymo Llc Determining yaw error from map data, lasers, and cameras
US11676296B2 (en) * 2017-08-11 2023-06-13 Sri International Augmenting reality using semantic segmentation
JP7361682B2 (ja) * 2017-09-13 2023-10-16 ベロダイン ライダー ユーエスエー,インコーポレイテッド 3d・lidar測定に基づく、多重解像度、同時位置特定、及びマッピング
US11144057B1 (en) * 2018-05-16 2021-10-12 AI Incorporated Autonomous versatile vehicle system
US20200217667A1 (en) * 2019-01-08 2020-07-09 Qualcomm Incorporated Robust association of traffic signs with a map
CN109991984B (zh) 2019-04-22 2024-04-30 上海蔚来汽车有限公司 用于生成高精细地图的方法、装置和计算机存储介质
CN110286387B (zh) 2019-06-25 2021-09-24 深兰科技(上海)有限公司 应用于自动驾驶系统的障碍物检测方法、装置及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009544966A (ja) 2006-07-27 2009-12-17 韓國電子通信研究院 人工標識とオデメトリとの連動を利用する位置算出システム及び方法
US20120030255A1 (en) 2009-04-20 2012-02-02 Xue Joel Q Systems and methods for modeling electrical activity of an anatomical structure
WO2012176249A1 (ja) 2011-06-21 2012-12-27 国立大学法人奈良先端科学技術大学院大学 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、及び移動体
JP2014123200A (ja) 2012-12-20 2014-07-03 Toyota Motor Corp 移動体制御装置、移動体制御方法及び制御プログラム
JP2016149090A (ja) 2015-02-13 2016-08-18 株式会社リコー 自律移動装置、自律移動システム、自律移動方法、およびプログラム
WO2018140748A1 (en) 2017-01-26 2018-08-02 The Regents Of The University Of Michigan Localization using 2d maps which capture vertical structures in 3d point data

Also Published As

Publication number Publication date
WO2021073165A1 (en) 2021-04-22
US20210116914A1 (en) 2021-04-22
JP2022553248A (ja) 2022-12-22
US11262759B2 (en) 2022-03-01
EP4038416A1 (en) 2022-08-10
US20220144305A1 (en) 2022-05-12
EP4038416A4 (en) 2022-11-30

Similar Documents

Publication Publication Date Title
JP7358636B2 (ja) 自律的な乗り物のリアルタイムの位置特定のための方法およびシステム
US11346950B2 (en) System, device and method of generating a high resolution and high accuracy point cloud
US11527084B2 (en) Method and system for generating a bird's eye view bounding box associated with an object
US20200026720A1 (en) Construction and update of elevation maps
JP2019050035A (ja) レーザー点クラウドを用いる物体検出のための方法及びシステム
WO2019007263A1 (zh) 车载传感器的外部参数标定的方法和设备
CN109307869B (zh) 用于增加激光雷达探测器的视场的设备和照明装置
US11275965B2 (en) Method for generation of an augmented point cloud with point features from aggregated temporal 3D coordinate data, and related device
US20220122324A1 (en) Systems and methods for map generation based on ray-casting and semantic class images
JP7032062B2 (ja) 点群データ処理装置、移動ロボット、移動ロボットシステム、および点群データ処理方法
US11460302B2 (en) Terrestrial observation device having location determination functionality
WO2022068033A1 (en) Method and system for real-time landmark extraction from a sparse three-dimensional point cloud
WO2022178738A1 (en) Method and system for generating a topological graph map
EP4155759A1 (en) Systems and method for lidar grid velocity estimation
CN115825982A (zh) 一种下雨环境下无人机点云数据扫描实现方法和系统
US11807271B2 (en) Method, system, and computer program product for resolving level ambiguity for radar systems of autonomous vehicles
US11834065B2 (en) System, method, and computer program product for detecting road marking points from LiDAR data
US11698270B2 (en) Method, system, and computer program product for iterative warping of maps for autonomous vehicles and simulators
WO2023148729A1 (en) Geolocation system and method
CN117518079A (zh) 定位方法、装置、电子设备及存储介质
WO2024115493A1 (en) Electronic device and method
KR100910203B1 (ko) 자율이동플랫폼 장치의 지형영상 출력장치, 이를 구비하는 자율이동플랫폼 장치 및 자율이동플랫폼 장치의 지형영상 출력방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220527

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230731

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230927

R150 Certificate of patent or registration of utility model

Ref document number: 7358636

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150