JP7358636B2 - Method and system for real-time localization of autonomous vehicles - Google Patents

Method and system for real-time localization of autonomous vehicles 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
Japanese (ja)
Other versions
JP2022553248A (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
Application filed by ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2022553248A publication Critical patent/JP2022553248A/en
Application granted granted Critical
Publication of JP7358636B2 publication Critical patent/JP7358636B2/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
    • 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)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (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

本開示は、乗り物の位置特定に関し、特に、自律的な乗り物のリアルタイムの位置特定のための方法およびシステムに関する。 TECHNICAL FIELD This disclosure relates to vehicle localization, and more particularly, to methods and systems for real-time localization of autonomous vehicles.

自律的な乗り物が非常に異なる領域において動作するときの自律的な乗り物の精密で堅牢な位置特定は、重要なタスクとなり得る。たとえば、自律的な乗り物が都市内で動作しているとき、陸橋が、乗り物がGPS衛星から信号を受信することを妨げる場合がある。幹線道路を走行するとき、自律的な乗り物のセンサーは、幹線道路の近くにある垂直な物体を十分に検出することができない場合がある。自律的な乗り物の軌道を決定するための経路計画を自律的な乗り物が実行するため、および計画された軌道に従うときの意思決定のために、自律的な乗り物の正確な位置特定が必要とされる。位置特定は、乗り物の場所の決定、すなわち、座標系における乗り物の位置および乗り物の向きの決定を含む。 Precise and robust localization of autonomous vehicles as they operate in very different areas can be a critical task. For example, when an autonomous vehicle is operating within a city, overpasses may prevent the vehicle from receiving signals from GPS satellites. When driving on a highway, an autonomous vehicle's sensors may not be able to sufficiently detect vertical objects near the highway. Precise localization of an autonomous vehicle is required for the autonomous vehicle to perform path planning to determine the autonomous vehicle's trajectory and for decision making when following the planned trajectory. Ru. Localization includes determining the location of the vehicle, i.e. the position of the vehicle in a coordinate system and the orientation of the vehicle.

自律的な乗り物の位置特定は、既存の参照地図内の縁石、車線マーカー、および建物の角などの静的な物体を、自律的な乗り物に取り付けられたセンサーから受信されたリアルタイムのセンサーデータから生成された自律的な乗り物の周囲の環境の観測結果の中の静的な物体とマッチングすることによるいくつかの知られている乗り物の位置特定方法によって決定され得る。規則的な形状を有する静的な物体(たとえば、縁石、車線マーカー、および建物の角)が、ランドマーカー(land marker)として手動で選択されることが多い。この方法は、役に立たない環境情報を取り除くことができるが、それだけでなく、乗り物の周辺環境に対する適応性を阻害する。たとえば、予め定義されたランドマーカーが自律的な乗り物の周囲の環境の現在の観測結果の中に存在しない場合、知られている乗り物の位置特定方法は、自律的な乗り物の場所を正確に決定することができない。 Autonomous vehicle localization locates static objects such as curbs, lane markers, and building corners in an existing reference map from real-time sensor data received from sensors mounted on the autonomous vehicle. It can be determined by several known vehicle localization methods by matching static objects in observations of the environment around the generated autonomous vehicle. Static objects with regular shapes (eg, curbs, lane markers, and building corners) are often manually selected as land markers. Although this method can remove useless environmental information, it also inhibits the vehicle's adaptability to its surrounding environment. For example, if no predefined land markers are present in the current observations of the autonomous vehicle's surrounding environment, known vehicle localization methods can accurately determine the autonomous vehicle's location. Can not do it.

さらに、動的な物体および一時的な物体が、乗り物の位置特定の精度に影響を与え得る。一部の既存の乗り物の位置特定方法は、自律的な乗り物に取り付けられたセンサーから受信されたリアルタイムのセンサーデータから生成された乗り物の周囲の環境のリアルタイムの観測結果の中の動的な物体を物体追跡または物体検出方法を使用して特定し、検出された動的な物体を現実の観測結果から削除する。しかし、これらの乗り物の位置特定方法は、多大な量の計算リソースを必要とし、その結果、自律的な乗り物の限られた計算リソースに対する多大な要求を生じ得る。たとえば、物体追跡および物体検出を実行する機械学習アルゴリズムを実行するために、多大な計算リソースが必要とされる。 Furthermore, dynamic and temporary objects can affect the accuracy of vehicle localization. Some existing vehicle localization methods detect dynamic objects in real-time observations of the environment around the vehicle, generated from real-time sensor data received from sensors mounted on autonomous vehicles. using object tracking or object detection methods and remove the detected dynamic objects from real-world observations. However, these vehicle localization methods require significant amounts of computational resources, which can result in heavy demands on the autonomous vehicle's limited computational resources. For example, significant computational resources are required to run machine learning algorithms that perform object tracking and object detection.

ほとんどの知られている乗り物の位置特定方法は、自律的な乗り物の2D位置特定のみを実行することができ、つまり、これらの方法は、自律的な乗り物の2D位置[x, y]およびヨー角Θを生成するだけである。自律的な乗り物の高度(elevation)[z]、ロール、およびピッチは、やはり未知である。自律運転では、乗り物の場所の正確な表現が、必要とされる。したがって、既存の方法は、効率的で堅牢な方法で自律運転の要件を完全に満たすことができない。 Most known vehicle localization methods are only able to perform 2D localization of the autonomous vehicle, i.e., these methods are capable of performing 2D position [x, y] and yaw of the autonomous vehicle. It only generates the angle Θ. The autonomous vehicle's elevation [z], roll, and pitch are also unknown. Autonomous driving requires accurate representation of the vehicle's location. Therefore, existing methods cannot fully meet the requirements of autonomous driving in an efficient and robust manner.

上述のおよびその他の理由で、乗り物の位置特定の改善が望ましい。 For these and other reasons, improved vehicle localization is desirable.

本開示の態様において、自律的な乗り物の位置特定のための方法が提供される。方法は、自律的な乗り物の光検出および測距(LIDAR: light detection and ranging)スキャンシステムによってキャプチャされた、自律的な乗り物の周囲の環境の三次元(3D)点群を受信するステップと、3D点群に基づいて環境の二次元(2D)画像を生成するステップであって、2D画像が、複数のピクセルを含み、複数のピクセルのそれぞれのピクセルが、ピクセルの垂直分布値を示す第1のチャネルおよびピクセルの強度値を示す第2のチャネルの少なくとも一方を有する、ステップと、2D画像に粒子フィルタリングプロセスを適用することによって乗り物の位置を推定するステップと、自律的な乗り物の車輪オドメトリユニット(wheel odometry)からオドメトリデータを取り出すステップであって、オドメトリデータが、自律的な乗り物の回転を示す回転データおよび自律的な乗り物の平行移動(translation)を示す平行移動データを含む、ステップと、自律的な乗り物の場所を生成するステップであって、自律的な乗り物の場所が、オドメトリデータおよび自律的な乗り物の推定された位置に基づいて決定された乗り物の最終的な位置、ならびに自律的な乗り物の最終的な位置および環境の2D参照地図に基づいて決定された乗り物の高度を含む、ステップとを含む。 In aspects of the present disclosure, a method for autonomous vehicle localization is provided. The method includes the steps of: receiving a three-dimensional (3D) point cloud of an environment around the autonomous vehicle captured by a light detection and ranging (LIDAR) scanning system of the autonomous vehicle; generating a two-dimensional (2D) image of an environment based on a 3D point cloud, the 2D image comprising a plurality of pixels, each pixel of the plurality of pixels indicating a vertical distribution value of the pixel; estimating the position of the vehicle by applying a particle filtering process to the 2D image, the autonomous vehicle wheel odometry unit having at least one of a channel and a second channel indicative of intensity values of the pixels; retrieving odometry data from a wheel odometry, the odometry data including rotation data indicative of rotation of the autonomous vehicle and translation data indicative of translation of the autonomous vehicle; generating an autonomous vehicle location, the autonomous vehicle location comprising: a final location of the vehicle determined based on odometry data and an estimated location of the autonomous vehicle; a final location of the vehicle and an altitude of the vehicle determined based on a 2D reference map of the environment;

本開示の別の態様において、方法は、2D画像に基づいて、自律的な乗り物のヨー角値を推定するステップ、オドメトリデータおよび乗り物の推定されたヨー角値に基づいて自律的な乗り物の最終的なヨー角を決定するステップを含み、自律的な乗り物の場所は、乗り物の最終的なヨー角をさらに含む。 In another aspect of the disclosure, a method includes the steps of estimating a yaw angle value of an autonomous vehicle based on a 2D image, a final the location of the autonomous vehicle further includes a final yaw angle of the vehicle.

本開示の別の態様において、方法は、自律的な乗り物の慣性測定ユニット(IMU)からさらなるオドメトリデータを取り出すステップであって、さらなるオドメトリデータが、自律的な乗り物の3軸角速度および自律的な乗り物の3軸加速度を含み、自律的な乗り物の最終的な位置が、IMUから取り出されたさらなるオドメトリデータに基づいてさらに決定される、ステップを含む。 In another aspect of the disclosure, a method includes retrieving additional odometry data from an inertial measurement unit (IMU) of an autonomous vehicle, the additional odometry data comprising: a triaxial angular velocity of the autonomous vehicle; A final position of the autonomous vehicle, including a three-axis acceleration of the vehicle, is further determined based on further odometry data retrieved from the IMU.

本開示の別の態様において、方法は、IMUから取り出されたデータに基づいて乗り物の最終的なロール値および最終的なピッチを決定するステップを含み、乗り物の場所は、乗り物の最終的なロール値および最終的なピッチ値をさらに含む。 In another aspect of the disclosure, a method includes determining a final roll value and a final pitch of a vehicle based on data retrieved from an IMU, wherein the location of the vehicle is determined by a final roll value of the vehicle. further including the value and final pitch value.

本開示の別の態様において、自律的な乗り物の最終的な位置は、拡張カルマンフィルタ(EKF)を使用して決定される。 In another aspect of the disclosure, the final location of the autonomous vehicle is determined using an Extended Kalman Filter (EKF).

本開示の別の態様において、自律的な乗り物の最終的なヨー角値は、拡張カルマンフィルタ(EKF)を使用して決定される。 In another aspect of the present disclosure, the final yaw angle value of the autonomous vehicle is determined using an Extended Kalman Filter (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画像を生成することを含む。 In another aspect of the disclosure, the 3D point cloud includes a plurality of data points, each data point having an intensity value and a set of coordinates, and a two-dimensional (2D) image of the environment based on the 3D point cloud. The steps to generate a The length T is defined by the upper and lower bounds parallel to the ground of the 3D point cloud, and each of the plurality of cells has a 2D position [x k L , y k L ] and yaw based on the coordinate system. dividing, for each cell of each tile, dividing the cell into a plurality of s blocks of equal height along a length T; a plurality of s blocks, with an angular value Θ L ; For each of the plurality of cells, an s-bit binary string is generated for each of the plurality of cells, and each binary digit of the s-bit binary string corresponds to the assigned value of the corresponding block among the plurality of s blocks of cells. Equally, assigning the value 1 when the block contains at least one data point from the 3D point cloud, and assigning the value 0 when the block does not contain any data points from the 3D point cloud, and the s bit 2 Converting a hexadecimal sequence to a corresponding decimal number and storing the corresponding decimal number in the first channel of the dataset representing the cell, and when the cell is determined to be flat, one or more determining an intensity value based on the maximum intensity value of a data point and storing the intensity value in a second channel of the dataset representing the cell, and when the cell is determined to be non-flat, It includes assigning a value of 0 to the second channel and, for each tile, generating a 2D image of the 3D point cloud based on the dataset representing each cell.

本開示の別の態様において、方法は、2D画像の各ピクセルの第1のチャネルの値に基づいて2D画像のピクセルをソートし、ソートされたピクセルから、最初のm百個のピクセルを2D画像の垂直分布に関する複数のキーポイント(key point)として選択するステップであって、各キーポイントが、キーポイントのそれぞれの第1のチャネルのそれぞれの値に等しい垂直分布値

Figure 0007358636000001
を有する、ステップと、複数のピクセルの各々のそれぞれの第2のチャネルのそれぞれの値に基づいて複数のピクセルを大きい方から小さい方に向かってソートし、ソートされたピクセルから、最初のl百個のピクセルを2D画像の強度に関する複数のキーポイントとして選択するステップであって、各キーポイントが、キーポイントのそれぞれの第2のチャネルのそれぞれの値に等しい強度値
Figure 0007358636000002
を有する、ステップと、2D画像内の垂直分布に関する各キーポイントに関して、垂直分布に関するキーポイントの重要度利得値(importance gain value)を計算し、記憶するステップと、垂直分布に関する少なくとも1つのキーポイントの重要度利得値に基づいて、2D画像の垂直分布重み値を計算し、記憶するステップと、強度に関する少なくとも1つのキーポイントに基づいて、2D画像の強度重み値を計算し、記憶するステップと、垂直分布重み値および強度重み値の一方または両方を、少なくとも、垂直分布重み値および強度重み値の一方または両方の情報エントロピー値に基づいて更新するステップとを含む。 In another aspect of the present disclosure, a method sorts pixels of a 2D image based on the value of a first channel of each pixel of the 2D image, and from the sorted pixels, the first m hundred pixels are extracted from the 2D image. selecting a plurality of key points with respect to a vertical distribution of vertical distribution values, each key point being equal to a respective value of a respective first channel of the key point;
Figure 0007358636000001
sorting the plurality of pixels from larger to smaller based on the respective values of the respective second channels of each of the plurality of pixels, and from the sorted pixels, the first l hundred selecting pixels as a plurality of key points for intensity of the 2D image, each key point having an intensity value equal to a respective value of a respective second channel of the key points;
Figure 0007358636000002
and calculating and storing, for each keypoint with respect to the vertical distribution in the 2D image, a keypoint importance gain value with respect to the vertical distribution, and at least one keypoint with respect to the vertical distribution. calculating and storing a vertical distribution weight value of the 2D image based on the importance gain value of the 2D image; and calculating and storing an intensity weight value of the 2D image based on the at least one key point regarding the intensity. , updating one or both of the vertical distribution weight value and the intensity weight value based on at least the information entropy value of one or both of the vertical distribution weight value and the intensity weight value.

本開示の別の態様において、2D画像内の各キーポイントに関して、垂直分布に関するキーポイントの重要度利得値は、次の式、aij = -Nij + Nmax + kによって決定される値aijによって表され、iは、2D画像内のキーポイントの行番号を示し、jは、2D画像内のキーポイントの列番号を示し、Nmaxは、2D画像内で最も高い点を有する2D画像内の点の総数を示し、Nminは、2D画像内で最も小さい非ゼロの点を有する2D画像内の点の総数を示し、kは、正の整数である。 In another aspect of the present disclosure, for each keypoint in a 2D image, the keypoint importance gain value with respect to the vertical distribution is a value a determined by the following formula: a ij = -N ij + N max + k Represented by ij , i indicates the row number of the keypoint in the 2D image, j indicates the column number of the keypoint in the 2D image, and N max is the 2D image with the highest point in the 2D image N min indicates the total number of points in the 2D image with the smallest non-zero point in the 2D image, and k is a positive integer.

本開示の別の態様において、垂直分布重み値は、

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参照地図からのキーポイントの対応する強度値である。 In another aspect of the disclosure, the vertically distributed weight values are:
Figure 0007358636000003
represented by the formula
Figure 0007358636000004
determined by, k is an integer from 1 to n, n is the total number of keypoints m for vertical distribution in each 2D image,
Figure 0007358636000005
is the vertical distribution value of the keypoint, a k is the importance gain value of the keypoint with respect to the vertical distribution,
Figure 0007358636000006
is the corresponding vertical distribution value of the keypoint from the 2D reference map, and for each keypoint in the 2D image, the intensity weight value is given by the formula,
Figure 0007358636000007
defined by
Figure 0007358636000008
where k is an integer from 1 to n, n is the total number of intensity-related keypoints in the 2D image, and
Figure 0007358636000009
is the intensity value of the keypoint,
Figure 0007358636000010
is the corresponding intensity value of the keypoint from the 2D reference map.

本開示の別の態様において、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
に基づいて定義される。 In another aspect of the disclosure, estimating the position of the autonomous vehicle by applying a particle filtering process to the 2D image comprises vertically distributed weight values.
Figure 0007358636000011
and intensity weight values
Figure 0007358636000012
at least one or both of the vertically distributed weight values
Figure 0007358636000013
and intensity weight values
Figure 0007358636000014
The information entropy value H vert of the vertical distribution weight value is determined by the following formula:
Figure 0007358636000015
determined by, i is an integer from 1 to N, N is the total number of particles in the particle filter,
Figure 0007358636000016
is the vertical distribution weight value of the i-th particle, and the information entropy value H inte of the intensity weight value is given by the following formula,
Figure 0007358636000017
determined by, i is an integer from 1 to N, N is the total number of particles in the particle filter,
Figure 0007358636000018
is the intensity weight value of the i-th particle, and when one or both of H vert and H inte is less than a given threshold, the corresponding vertical distribution weight value
Figure 0007358636000019
and the corresponding intensity weight value
Figure 0007358636000020
Updates of one or both of are skipped and the merged weights
Figure 0007358636000021
is used to resample all particles in the particle filter and the combined weights
Figure 0007358636000022
is the expression,
Figure 0007358636000023
Defined based on

本開示の別の態様において、粒子フィルタの粒子の総数は、予め決められた値を有する。 In another aspect of the disclosure, the total number of particles in the particle filter has a predetermined value.

本開示の別の態様において、2D参照地図からのキーポイントの対応する垂直分布値は、2D参照地図内のピクセルの地図座標に基づいて2D参照地図内の対応するピクセルの位置を突き止めることによって取得される。 In another aspect of the disclosure, the corresponding vertical distribution value of the keypoint from the 2D reference map is obtained by locating the corresponding pixel in the 2D reference map based on the map coordinates of the pixel in the 2D reference map. be done.

本開示の別の態様において、方法は、セルの最高高度hmaxおよびセルの最低高度hminを決定するステップ、hmaxとhminと間の差が所与の閾値hth未満であるとき、セルが平坦であると判定するステップをさらに含み、hmaxは、セル内のすべてのデータ点の中で地面からの最も高い高度を有するセル内のデータ点の高さに基づいて決定され、hminは、セル内のすべてのデータ点の中で地面からの最も低い高度を有するセル内のデータ点の高さに基づいて決定される。 In another aspect of the present disclosure, a method includes the step of determining a maximum altitude hmax of a cell and a minimum altitude hmin of a cell, when the difference between hmax and hmin is less than a given threshold hth ; further comprising determining that the cell is flat, h max is determined based on the height of the data point in the cell that has the highest altitude above the ground among all data points in the cell; min is determined based on the height of the data point within the cell that has the lowest altitude above the ground among all data points within the cell.

本開示の別の態様において、乗り物の場所は、さらなるオドメトリデータがIMUによって取得される周波数と同等の周波数で出力される。 In another aspect of the present disclosure, the vehicle location is output at a frequency comparable to the frequency at which additional odometry data is acquired by the IMU.

本開示の別の態様において、方法は、2D画像を生成する前に、3D点群を処理して3D点群のねじれを除去する(untwist)ステップをさらに含む。 In another aspect of the disclosure, the method further includes processing the 3D point cloud to untwist the 3D point cloud before generating the 2D image.

本開示の別の態様において、方法は、乗り物の初期位置に基づいて2D参照地図の1つ以上のタイルを動的にダウンロードするステップをさらに含む。 In another aspect of the disclosure, the method further includes dynamically downloading one or more tiles of the 2D reference map based on the initial location of the vehicle.

本開示の別の態様において、2D参照地図の1つ以上のタイルの各々は、20メートルから200メートルまでの間の辺の長さを有する正方形タイルである。 In another aspect of the disclosure, each of the one or more tiles of the 2D reference map is a square tile with a side length between 20 meters and 200 meters.

本開示の別の態様によれば、自律的な乗り物の位置特定のためのシステムが提供され、システムは、プロセッサと、プロセッサに結合されたメモリであって、プロセッサによって実行されるときにプロセッサに、自律的な乗り物の光検出および測距(LIDAR)スキャンシステムによってキャプチャされた、自律的な乗り物の周囲の環境の三次元(3D)点群を受信すること、3D点群に基づいて環境の二次元(2D)画像を生成することであって、2D画像が、複数のピクセルを含み、複数のピクセルのそれぞれのピクセルが、ピクセルの垂直分布値を示す第1のチャネルおよびピクセルの強度値を示す第2のチャネルの少なくとも一方を有する、生成すること、2D画像に粒子フィルタリングプロセスを適用することによって乗り物の位置を推定すること、自律的な乗り物の車輪オドメトリユニットからオドメトリデータを取り出すことであって、オドメトリデータが、自律的な乗り物の回転を示す回転データおよび自律的な乗り物の平行移動を示す平行移動データを含む、取り出すこと、自律的な乗り物の場所を生成することであって、自律的な乗り物の場所が、オドメトリデータおよび自律的な乗り物の推定された位置に基づいて決定された乗り物の最終的な位置、ならびに自律的な乗り物の最終的な位置および環境の2D参照地図に基づいて決定された乗り物の高度を含む、生成することを行わせる実行可能な命令を有形で記憶する、メモリとを含む。 According to another aspect of the disclosure, a system for autonomous vehicle localization is provided, the system comprising: a processor; and a memory coupled to the processor; , receiving a three-dimensional (3D) point cloud of the environment around the autonomous vehicle captured by the autonomous vehicle's light detection and ranging (LIDAR) scanning system; and determining the environment based on the 3D point cloud. generating a two-dimensional (2D) image, the 2D image including a plurality of pixels, each pixel of the plurality of pixels having a first channel indicative of a vertical distribution value of the pixel and an intensity value of the pixel; estimating the position of the vehicle by applying a particle filtering process to the 2D image; retrieving odometry data from a wheel odometry unit of the autonomous vehicle; retrieving the odometry data including rotation data indicative of rotation of the autonomous vehicle and translation data indicative of translation of the autonomous vehicle; The final location of the vehicle is determined based on odometry data and the estimated location of the autonomous vehicle, as well as the final location of the autonomous vehicle and a 2D reference map of the environment. and a memory for tangibly storing executable instructions for causing the generation of the vehicle's altitude as determined by the vehicle.

本開示のさらに別の態様によれば、上および本明細書に記載の方法を実行するための乗り物制御システムのプロセッサによる実行のための実行可能な命令を有形で記憶させた非一時的機械可読媒体が、提供される。 According to yet another aspect of the present disclosure, a non-transitory machine-readable device having tangibly stored executable instructions for execution by a processor of a vehicle control system to perform the methods described above and herein. A medium is provided.

本特許または出願ファイルは、カラーで作成された少なくとも1つの図面を含む。カラー図面をともなう本特許または特許出願公開のコピーは、請求と必要な手数料の支払いとに応じて特許庁によって提供される。 The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.

本開示の1つの例示的な実施形態による乗り物制御システムを含む乗り物のブロック図である。1 is a block diagram of a vehicle including a vehicle control system according to one example embodiment of the present disclosure. FIG. 本開示の1つの例示的な実施形態による図1の自律的な乗り物のLIDARスキャンシステムのブロック図である。FIG. 2 is a block diagram of the autonomous vehicle LIDAR scanning system of FIG. 1 according to one example embodiment of the present disclosure. 本開示の1つの例示的な実施形態による、自律的な乗り物の位置およびヨー角を生成するための粒子フィルタモジュールを示すブロック図である。FIG. 2 is a block diagram illustrating a particle filter module for generating autonomous vehicle position and yaw angle, according to one example embodiment of the present disclosure. 本開示の1つの例示的な実施形態による、粒子フィルタモジュールによって実行される更新プロセスを示すブロック図である。FIG. 2 is a block diagram illustrating an update process performed by a particle filter module, according to one example embodiment of the present disclosure. 本開示の1つの例示的な実施形態による、自律的な乗り物の位置特定のための方法を示すブロック図である。1 is a block diagram illustrating a method for autonomous vehicle localization, according to one example embodiment of the present disclosure. FIG. 本開示の1つの例示的な実施形態による、3D点群および3D点群の2D参照地図の正方形タイルを示す図である。FIG. 3 is a diagram illustrating a 3D point cloud and a square tile of a 2D reference map of the 3D point cloud, according to one exemplary embodiment of the present disclosure. 本開示の1つの例示的な実施形態による、3Dの地域規模の(region-scale)点群のタイルと、タイル内の3Dの地域規模の点群のデータ点とを示す図である。FIG. 3 is a diagram illustrating a 3D region-scale point cloud tile and 3D region-scale point cloud data points within the tile, according to one example embodiment of the present disclosure. 3Dの地域規模の点群のサンプルタイルと、2D参照地図の対応するタイルとを示す図である。FIG. 3 shows sample tiles of a 3D regional point cloud and corresponding tiles of a 2D reference map. 乗り物が点Aから点Bに移動するときの2D参照地図の2Dタイルの動的なロードを示す図である。FIG. 3 illustrates the dynamic loading of 2D tiles of a 2D reference map as a vehicle moves from point A to point B; 自律的な乗り物のLIDARスキャンシステムに固定された座標系からの2D画像のキーポイントの垂直分布を示す図である。FIG. 3 shows the vertical distribution of key points of a 2D image from a fixed coordinate system of an autonomous vehicle LIDAR scanning system. 図10Aの2D画像を含む2D参照地図を示す図である。FIG. 10A is a diagram showing a 2D reference map including the 2D image of FIG. 10A. 本開示の1つの例示的な実施形態による、自律的な乗り物の2D位置およびヨー角を決定する方法の流れ図である。1 is a flowchart of a method for determining 2D position and yaw angle of an autonomous vehicle, according to one example embodiment of the present disclosure. 本開示の1つの例示的な実施形態による、自律的な乗り物の6DOFの場所を決定する方法の流れ図である。2 is a flowchart of a method for determining a 6DOF location of an autonomous vehicle, according to one example embodiment of the present disclosure.

本開示は、実施形態が示される添付の図面を参照して行われる。しかし、多くの異なる実施形態が、使用されてよく、したがって、説明は、本明細書に記載された実施形態に限定されると解釈されるべきでない。むしろ、これらの実施形態は、本開示が徹底的で完全になるように提供される。同様の番号は、全体を通じて同様の要素を指し、プライム記号表記が、代替的な実施形態の同様の要素、動作、またはステップを示すために使用される。示されるシステムおよびデバイスの機能要素の別々の四角または図示される分割は、そのような要素の間の通信がいかなるそのような物理的な分割もせずにメッセージング、関数呼び出し、共有メモリ空間などによって行われてよいので、必ずしもそのような機能の物理的な分割を必要としない。したがって、機能は、物理的または論理的に分離されたプラットフォームに実装されるとは限らないが、本明細書においては説明を容易にするために別々に示される。一部のデバイスが一部の機能を機能の決められたハードウェアに実装するが、その他のデバイスは機械可読媒体から取得されたコードを用いるプログラミング可能なプロセッサにそのような機能を実装する場合があるように、異なるデバイスは、異なる設計を有してよい。 The present disclosure is made with reference to the accompanying drawings in which embodiments are shown. However, many different embodiments may be used, so the description should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete. Like numbers refer to like elements throughout, and prime notation is used to indicate like elements, acts, or steps of alternative embodiments. The separate squares or illustrated partitioning of the functional elements of the systems and devices shown does not imply that communication between such elements is conducted by messaging, function calls, shared memory space, etc. without any such physical partitioning. This does not necessarily require such physical division of functions. Accordingly, the functionality is not necessarily implemented on physically or logically separate platforms, but is shown separately herein for ease of explanation. Some devices implement some functionality in functionally defined hardware, while other devices may implement such functionality in a programmable processor using code obtained from a machine-readable medium. As such, different devices may have different designs.

便宜上、本開示は、自律的な乗り物の位置特定のための方法およびシステムの例示的な実施形態を説明する。自律的な乗り物は、自動車、トラック、バスなどのモータービークル(motor vehicle)、ボートまたは船、潜水艦、航空機、倉庫機器、建設機器、トラクターまたはその他の農業機器などの任意の種類の乗り物であってよい。本開示の教示は、乗り物または任意の特定の種類の乗り物に限定されず、現実のまたは仮想的なその他の物体、ならびに乗客を運ばない乗り物および乗客を運ぶ乗り物に適用されてよい。本開示の教示は、自律型掃除機、惑星探査機、芝刈り機、無人航空機(UAV)、およびその他の物体を含むがこれらに限定されない乗り物以外の移動ロボットに実装されてもよい。本明細書において説明される乗り物制御システムは、たとえ半自律運転または完全自律運転を容易にするために説明されたとしても、非自律運転モード中の乗り物にも使用され得る。 For convenience, this disclosure describes example embodiments of methods and systems for autonomous vehicle location. An autonomous vehicle can be any type of vehicle, such as a motor vehicle such as a car, truck, bus, boat or ship, submarine, aircraft, warehouse equipment, construction equipment, tractor or other agricultural equipment. good. The teachings of this disclosure are not limited to vehicles or any particular type of vehicle, but may be applied to other objects, real or virtual, as well as vehicles that do not carry passengers and vehicles that carry passengers. The teachings of the present disclosure may be implemented in mobile robots other than vehicles, including, but not limited to, autonomous vacuum cleaners, planetary probes, lawn mowers, unmanned aerial vehicles (UAVs), and other objects. The vehicle control systems described herein may also be used for vehicles during non-autonomous driving modes, even though they are described to facilitate semi-autonomous or fully autonomous driving.

図1は、本開示の例示的な実施形態による自律的な乗り物100の選択された構成要素を示す。乗り物100は、センサー110に接続される乗り物制御システム115と、駆動制御システム150と、機械システム190とを含む。乗り物100は、当技術分野で知られているが、本開示の教示を不明瞭にしないために本開示から省略された、フレーム、ドア、パネル、シート、窓、ミラーなどの様々な構造要素も含む。センサー110は、乗り物100の様々な場所で乗り物100の構造要素に取り付けられる。 FIG. 1 depicts selected components of an autonomous vehicle 100 according to an exemplary embodiment of the present disclosure. Vehicle 100 includes a vehicle control system 115 connected to sensors 110, a drive control system 150, and a mechanical system 190. Vehicle 100 also includes various structural elements such as frames, doors, panels, seats, windows, mirrors, etc. that are known in the art but have been omitted from this disclosure so as not to obscure the teachings of this disclosure. include. Sensors 110 are attached to structural elements of vehicle 100 at various locations on vehicle 100.

乗り物制御システム115は、通信バス(図示せず)を介して乗り物100の複数の内部構成要素に結合されるプロセッサ102を含む。プロセッサ102は、ランダムアクセスメモリ(RAM)122、読取り専用メモリ(ROM)124、フラッシュ消去可能プログラマブル読取り専用メモリ(EPROM)(フラッシュメモリ)などの永続的(不揮発性)メモリ126、ワイヤレスネットワークと無線周波数信号をやりとりするための1つ以上のワイヤレストランシーバ130、衛星ネットワークから衛星信号を受信するための衛星受信機132、リアルタイムクロック134に結合される。乗り物制御システム115は、センサー110、タッチスクリーン136、スピーカ138、マイクロフォン140、駆動制御システム150、および機械システム190を含む乗り物100のその他の構成要素にも結合される。 Vehicle control system 115 includes a processor 102 coupled to multiple internal components of vehicle 100 via a communication bus (not shown). Processor 102 includes random access memory (RAM) 122, read-only memory (ROM) 124, persistent (non-volatile) memory 126 such as flash erasable programmable read-only memory (EPROM) (flash memory), wireless networks and radio frequency Coupled to one or more wireless transceivers 130 for exchanging signals, a satellite receiver 132 for receiving satellite signals from a satellite network, and a real-time clock 134. Vehicle control system 115 is also coupled to other components of vehicle 100 including sensors 110, touch screen 136, speakers 138, microphone 140, drive control system 150, and mechanical system 190.

1つ以上のワイヤレストランシーバ130は、異なるワイヤレスデータ通信プロトコルおよび規格を使用して複数の異なる無線アクセスネットワーク(たとえば、セルラネットワーク)と通信するための1つ以上のセルラ(RF)トランシーバを含んでよい。乗り物制御システム115は、その地理的なカバーエリア内のワイヤレスWAN(たとえば、セルラネットワーク)の複数の固定トランシーバ基地局のうちのいずれか1つと通信してよい。1つ以上のワイヤレストランシーバ130は、ワイヤレスWANを介して信号を送受信してよい。1つ以上のワイヤレストランシーバ130は、複数の無線周波数帯をサポートするマルチバンドセルラトランシーバを含んでよい。 The one or more wireless transceivers 130 may include one or more cellular (RF) transceivers for communicating with multiple different radio access networks (e.g., cellular networks) using different wireless data communication protocols and standards. . Vehicle control system 115 may communicate with any one of a plurality of fixed transceiver base stations of a wireless WAN (eg, a cellular network) within its geographic coverage area. One or more wireless transceivers 130 may transmit and receive signals over a wireless WAN. One or more wireless transceivers 130 may include multi-band cellular transceivers that support multiple radio frequency bands.

1つ以上のワイヤレストランシーバ130は、ワイヤレスローカルエリアネットワーク(WLAN)アクセスポイント(AP)を介してWLAN(図示せず)と通信するためのWLANトランシーバも含んでよい。WLANは、IEEE 802.11x規格(Wi-Fi(登録商標)と呼ばれることもある)またはその他の通信プロトコルに準拠するWi-Fiワイヤレスネットワークを含んでよい。 One or more wireless transceivers 130 may also include a WLAN transceiver for communicating with a WLAN (not shown) via a wireless local area network (WLAN) access point (AP). A WLAN may include a Wi-Fi wireless network that complies with the IEEE 802.11x standard (sometimes referred to as Wi-Fi) or other communication protocols.

1つ以上のワイヤレストランシーバ130は、スマートフォンまたはタブレットなどのモバイルコンピューティングデバイスと通信するための、Bluetooth(登録商標)トランシーバなどの近距離ワイヤレストランシーバも含んでよい。1つ以上のワイヤレストランシーバ130は、近距離無線通信(NFC: Near field communication)、IEEE 802.15.3a(ウルトラワイドバンド(UWB)とも呼ばれる)、Z-Wave、ZigBee、ANT/ANT+、または赤外線(たとえば、赤外線データ協会(IrDA: Infrared Data Association)通信)を含むがこれらに限定されないその他の近距離ワイヤレストランシーバも含んでよい。 The one or more wireless transceivers 130 may also include short-range wireless transceivers, such as Bluetooth® transceivers, for communicating with mobile computing devices such as smartphones or tablets. The one or more wireless transceivers 130 can use Near field communication (NFC), IEEE 802.15.3a (also known as Ultra Wide Band (UWB)), Z-Wave, ZigBee, ANT/ANT+, or Infrared (e.g. Other short range wireless transceivers may also be included, including but not limited to Infrared Data Association (IrDA) communications.

リアルタイムクロック134は、Atmel Corporationによって供給される水晶発振器などの、正確なリアルタイム情報を提供する水晶発振器を含んでよい。 Real-time clock 134 may include a crystal oscillator that provides accurate real-time information, such as a crystal oscillator supplied by Atmel Corporation.

タッチスクリーン136は、電子コントローラに接続されたタッチ式入力面またはオーバーレイを有する、カラー液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、またはアクティブマトリックス有機発光ダイオード(AMOLED)ディスプレイなどのディスプレイを含む。ボタン、スイッチ、およびダイヤルを含む、プロセッサ102に結合された乗り物100の追加の入力デバイス(図示せず)が、提供される場合もある。 Touch screen 136 includes a display, such as a color liquid crystal display (LCD), light emitting diode (LED) display, or active matrix organic light emitting diode (AMOLED) display, with a touch-sensitive input surface or overlay connected to an electronic controller. Additional input devices (not shown) on vehicle 100 coupled to processor 102 may be provided, including buttons, switches, and dials.

乗り物制御システム115は、1つ以上のスピーカ138、1つ以上のマイクロフォン140、およびシリアルデータポート(たとえば、ユニバーサルシリアルバス(USB)データポート)などの1つ以上のデータポート142も含む。システムは、タイヤ空気圧センサー(TPS)、ドア接触スイッチ、光センサー、近接センサーなどのその他のセンサーも含んでよい。 Vehicle control system 115 also includes one or more speakers 138, one or more microphones 140, and one or more data ports 142, such as a serial data port (eg, a universal serial bus (USB) data port). The system may also include other sensors such as tire pressure sensors (TPS), door contact switches, light sensors, proximity sensors, etc.

駆動制御システム150は、乗り物105の動きを制御するように働く。駆動制御システム150は、ステアリングユニット152、ブレーキユニット154、およびスロットル(またはアクセル)ユニット156を含み、これらの各々は、駆動制御システム150内のソフトウェアモジュールまたは制御ブロックとして実装されてよい。ステアリングユニット152、ブレーキユニット154、およびスロットルユニット156は、完全または半自律運転モードのときに、乗り物制御システム115のメモリ126に記憶された経路計画システム174からの受信された経路情報を処理し、計画された経路を走行するために乗り物105のステアリング、ブレーキ、およびスロットルをそれぞれ制御する制御信号を生成する。駆動制御システム150は、たとえば、方向指示器およびブレーキライトの制御を含む乗り物105のその他の点を制御するための追加の構成要素を含んでよい。 Drive control system 150 serves to control the movement of vehicle 105. Drive control system 150 includes a steering unit 152, a brake unit 154, and a throttle (or accelerator) unit 156, each of which may be implemented as a software module or control block within drive control system 150. Steering unit 152, brake unit 154, and throttle unit 156 process received route information from route planning system 174 stored in memory 126 of vehicle control system 115 when in fully or semi-autonomous driving mode; Control signals are generated to respectively control the steering, brakes, and throttle of vehicle 105 to travel the planned route. Drive control system 150 may include additional components for controlling other aspects of vehicle 105, including, for example, control of turn signals and brake lights.

機械システム190は、乗り物105の機械構成要素を動作させるための制御信号を駆動制御システム150から受信する。機械システム190は、乗り物105の物理的な動作を実現する。機械システム190は、エンジン192、トランスミッション194、および車輪196を含む。エンジン192は、たとえば、ガソリンエンジン、バッテリ駆動エンジン、ハイブリッドエンジン、電気エンジンであってよい。たとえば、方向指示器、ブレーキライト、ファン、および窓を含むその他の構成要素が、機械システム190に含まれてよい。 Mechanical system 190 receives control signals from drive control system 150 for operating mechanical components of vehicle 105. Mechanical system 190 provides the physical movement of vehicle 105. Mechanical system 190 includes an engine 192, a transmission 194, and wheels 196. Engine 192 may be, for example, a gasoline engine, a battery-powered engine, a hybrid engine, or an electric engine. Other components may be included in mechanical system 190, including, for example, turn signals, brake lights, fans, and windows.

グラフィカルユーザインターフェース(GUI)が、プロセッサ102によってタッチスクリーン136上にレンダリングされ、表示されてよい。ユーザは、ナビゲーション情報、運転情報、駐車情報、メディアプレーヤー情報、温度調節情報などの関連情報を表示するために、タッチスクリーンおよび任意でその他の入力デバイス(たとえば、ボタン、ダイヤル)を使用してGUIとインタラクションしてよい。GUIは、一連のトラバース可能な(traversable)コンテンツに固有のメニューを含んでよい。 A graphical user interface (GUI) may be rendered and displayed on touch screen 136 by processor 102. Users can access the GUI using a touch screen and optionally other input devices (e.g., buttons, dials) to display related information such as navigation information, driving information, parking information, media player information, climate control information, etc. You can interact with. The GUI may include a set of traversable content-specific menus.

乗り物制御システム115のメモリ126は、プロセッサ102によって実行されるオペレーティングシステムソフトウェア160を記憶している。メモリ126は、GUIに加えて、自律運転システム162と総称されるいくつかのソフトウェアモジュールを記憶しており、自律運転システム162の各モジュールは、プロセッサ102によって実行可能な機械読取り可能な命令を含むソフトウェアである。自律運転システム162のモジュールは、乗り物位置特定164モジュール、駐車支援166モジュール、自律駐車168モジュール、半自律運転のための運転支援170モジュール、経路計画モジュール174、知覚モジュール176、およびその他のモジュール178を含む。その他のモジュール178は、たとえば、マッピングモジュール、ナビゲーションモジュール、温度調節モジュール、メディアプレーヤーモジュール、電話モジュール、およびメッセージングモジュールなどを含み、やはりメモリ126に記憶される。一部の実施形態において、乗り物位置特定モジュール164は、プロセッサ102によって実行されるとき、本明細書において説明される方法の動作を実行させる。 Memory 126 of vehicle control system 115 stores operating system software 160 executed by processor 102. In addition to the GUI, memory 126 stores several software modules, collectively referred to as an autonomous driving system 162, where each module of autonomous driving system 162 includes machine-readable instructions executable by processor 102. It's software. The modules of the autonomous driving system 162 include a vehicle localization 164 module, a parking assistance 166 module, an autonomous parking 168 module, a driver assistance 170 module for semi-autonomous driving, a path planning module 174, a perception module 176, and other modules 178. include. Other modules 178 are also stored in memory 126, including, for example, a mapping module, a navigation module, a temperature regulation module, a media player module, a telephone module, a messaging module, and the like. In some embodiments, vehicle location module 164, when executed by processor 102, causes operations of the methods described herein to be performed.

駐車支援モジュール166、自律駐車モジュール168、半自律運転のための運転支援モジュール170、自律運転モジュール172、または経路計画モジュール174によって使用される場合がある別個のモジュールとして示されているが、知覚モジュール176は、その他の実施形態においてはその他のソフトウェアモジュールのうちの1つ以上と組み合わされてよい。 Although shown as a separate module that may be used by the parking assistance module 166, the autonomous parking module 168, the driving assistance module 170 for semi-autonomous driving, the autonomous driving module 172, or the path planning module 174, the perception module 176 may be combined with one or more other software modules in other embodiments.

メモリ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軸加速度を含む。 Memory 126 also stores various data 180. Data 180 includes sensor data 182 sensed by one or more of sensors 110 and user preferences, settings, and optionally personal media files (e.g., music, videos, directions, etc.) It may include user data 184 and a download cache 186 containing data downloaded via wireless transceiver 130. For example, memory 126 may include image data received from camera 112, LIDAR data (i.e., three-dimensional point clouds) received from LIDAR scanning system 114, SAR data received from SAR unit 116, wheel odometry unit 117, and/or Alternatively, odometry data from an inertial measurement unit (IMU) 118 as well as data from other sensors 120 may be stored. The odometry data received from wheel odometry unit 117 includes rotation data indicative of rotation of vehicle 100 and translation data indicative of translation of vehicle 100. The odometry data received from IMU 118 includes three-axis angular velocity of vehicle 100 and three-axis acceleration of vehicle 100.

ダウンロードキャッシュ186は、たとえば、所定の量の時間後に定期的に削除されてよい。システムソフトウェア、ソフトウェアモジュール、特定のデバイスアプリケーション、またはそれらの一部は、ランタイムデータ変数およびその他の種類のデータまたは情報を記憶するために使用されるRAM 122などの揮発性ストアに一時的にロードされる場合がある。乗り物制御システム115によって受信されたデータも、RAM 122に記憶される場合がある。また、様々な種類のメモリに関して特定の機能が説明されるが、これは一例に過ぎず、メモリの種類への機能の異なる割り当てが使用されてもよい。 Download cache 186 may be periodically deleted, for example, after a predetermined amount of time. System software, software modules, certain device applications, or portions thereof are temporarily loaded into volatile stores, such as RAM 122, which are used to store runtime data variables and other types of data or information. There may be cases where Data received by vehicle control system 115 may also be stored in RAM 122. Also, although specific functionality is described with respect to various types of memory, this is only one example, and different assignments of functionality to memory types may be used.

乗り物制御システム115は、衛星ネットワーク内の複数の衛星から衛星受信機によって受信された信号を使用して自身の位置を決定してよい衛星受信機132を含む。衛星ネットワークは、通常、全地球的カバレッジで自律的な地理空間測位を提供する少なくとも1つの全地球航法衛星システム(GNSS)の一部である複数の衛星を含む。たとえば、衛星ネットワークは、GNSS衛星の集まりであってよい。例示的なGNSSは、米国のNAVSTAR Global Positioning System (GPS)またはロシアのGlobal NAvigation Satellite System (GLONASS)を含む。開発されたまたは開発中のその他の衛星ナビゲーションシステムは、欧州連合のGalileo測位システム、中国のBeiDou Navigation Satellite System (BDS)、インドの地域衛星ナビゲーションシステム、および日本の衛星ナビゲーションシステムを含む。 Vehicle control system 115 includes a satellite receiver 132 that may determine its position using signals received by the satellite receiver from multiple satellites in a satellite network. A satellite network typically includes multiple satellites that are part of at least one Global Navigation Satellite System (GNSS) that provides autonomous geospatial positioning with global coverage. For example, a satellite network may be a collection of GNSS satellites. Exemplary GNSS include the United States' NAVSTAR Global Positioning System (GPS) or the Russian Global NAvigation Satellite System (GLONASS). Other satellite navigation systems that have been developed or are in development include the European Union's Galileo positioning system, China's BeiDou Navigation Satellite System (BDS), India's regional satellite navigation system, and Japan's satellite navigation system.

図2は、本開示の1つの例示的な実施形態による乗り物100のLIDARスキャンシステム114の簡略化されたブロック図を示す。 FIG. 2 shows a simplified block diagram of a LIDAR scanning system 114 of a vehicle 100 according to one example embodiment of the present disclosure.

LIDARスキャンシステム114は、1つ以上のプロセッサ(たとえば、マイクロプロセッサ)を含むコントローラ113と、レーザ光源120と、レーザ光源120に光学的に結合された光スイッチ130と、1つ以上のアバランシェフォトダイオード(APD)、電荷結合素子(CCD)センサー、相補型金属酸化膜半導体(CMOS)センサー、または微小電気機械システム(MEMS)センサーなどの1つ以上の検出器を含む検出器サブシステム140とを含む。 LIDAR scanning system 114 includes a controller 113 including one or more processors (e.g., microprocessors), a laser light source 120, an optical switch 130 optically coupled to laser light source 120, and one or more avalanche photodiodes. a detector subsystem 140 including one or more detectors, such as a charge-coupled device (CCD) sensor, a complementary metal oxide semiconductor (CMOS) sensor, or a microelectromechanical system (MEMS) sensor. .

1つ以上のレーザを含むレーザ光源120は、レーザビームなどのレーザ光を生成し、送信するように構成される。レーザ光源120は、ガウシアンビームを生成してよい。レーザ光源120は、パルスレーザ光(たとえば、パルスビーム)を送信してよい。レーザ光源120は、概して、近赤外線(NIR)などの赤外線(IR)を放射するが、赤外線に加えてまたは赤外線の代わりに、1つ以上の種類の可視光および/または場合によっては紫外線(UV)を放射する場合がある。レーザ光源120は、複数のレーザを含んでよく、各レーザは、異なる種類の光を送信するように構成される。一例において、複数のレーザの各レーザは、赤外線または1つもしくは複数の種類の可視光のうちのそれぞれ1つを送信するように構成される。一例において、複数のレーザは、赤外線を送信するように構成された赤外線レーザ、青色光を送信するように構成された青色レーザ、赤色光を送信するように構成された赤色レーザ、および緑色光を送信するように構成された緑色レーザを含む。これらのレーザ光は、同時にまたは同時でなくレーザビームを送信するように制御されてよい。 Laser light source 120, which includes one or more lasers, is configured to generate and transmit laser light, such as a laser beam. Laser light source 120 may generate a Gaussian beam. Laser light source 120 may transmit pulsed laser light (eg, a pulsed beam). Laser light source 120 generally emits infrared (IR) radiation, such as near-infrared (NIR), but in addition to or instead of infrared radiation, it emits one or more types of visible light and/or in some cases ultraviolet (UV) radiation. ) may be emitted. Laser light source 120 may include multiple lasers, each laser configured to transmit a different type of light. In one example, each laser of the plurality of lasers is configured to transmit a respective one of infrared light or one or more types of visible light. In one example, the plurality of lasers includes an infrared laser configured to transmit infrared light, a blue laser configured to transmit blue light, a red laser configured to transmit red light, and a red laser configured to transmit green light. including a green laser configured to transmit. These laser lights may be controlled to transmit laser beams simultaneously or non-simultaneously.

当業者は、LEDなどのその他の光源が、レーザ光源を置き換えるために適応されてよいことを理解するであろう。ただし、そのような置き換えは、システム要件を考慮しなければならず、要件を満たすために追加修正、たとえば、コリメーションをともなう場合がある。 Those skilled in the art will appreciate that other light sources such as LEDs may be adapted to replace the laser light source. However, such replacement must take into account system requirements and may involve additional modifications, eg, collimation, to meet the requirements.

検出器サブシステム140は、反射されたレーザ光を1つ以上の検出器を使用して検出し、コントローラ113に送信される、受信されたレーザ光に対応するデータ信号を生成し、出力する。コントローラ113は、検出器サブシステム140からの出力を使用して、レーザ光のビーム(レーザビームとも呼ばれる)の送信とレーザ光のビームの反射の受信との間の時間に基づいて、LIDARスキャンシステム114から乗り物100の周囲の環境内の1つ以上の物体までの距離を決定するデジタル信号プロセッサ(DSP)を含んでよい。アナログデジタルコンバータ(ADC)が、検出器サブシステム140からのアナログ信号を、DSPによってさらに処理するためにデジタルデータに変換してよい。コントローラ113は、環境内の1つ以上の物体までの決定された距離に基づいて、乗り物100の周囲の環境の3D点群を生成してもよい。なお、説明された実施形態においてはDSPが使用されているが、その他の実施形態においては、フィールドプログラマブルゲートアレイ(FPGA)またはその他のプロセッサが使用されてよい。代替的に、検出器サブシステム140によって生成されたデータは、乗り物制御システム115のプロセッサ102に送信されてよく、DSPの機能が、乗り物制御システムのプロセッサ102によって実行されてよい。 Detector subsystem 140 detects the reflected laser light using one or more detectors and generates and outputs a data signal corresponding to the received laser light that is transmitted to controller 113. Controller 113 uses the output from detector subsystem 140 to scan the LIDAR scanning system based on the time between transmitting the beam of laser light (also referred to as a laser beam) and receiving the reflected beam of laser light. 114 may include a digital signal processor (DSP) that determines the distance from one or more objects in the environment around vehicle 100. An analog-to-digital converter (ADC) may convert the analog signal from the detector subsystem 140 to digital data for further processing by the DSP. Controller 113 may generate a 3D point cloud of the environment around vehicle 100 based on the determined distances to one or more objects in the environment. Note that although a DSP is used in the described embodiment, in other embodiments a field programmable gate array (FPGA) or other processor may be used. Alternatively, the data generated by the detector subsystem 140 may be sent to the processor 102 of the vehicle control system 115 and the DSP functions may be performed by the processor 102 of the vehicle control system.

コントローラ113は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせの1つまたは組み合わせを使用してLIDARスキャンシステム114を制御してよい。ソフトウェアは、コントローラ1130によって実行されてよい。本明細書において説明される機能を実行するためのソフトウェアのコーディングは、本開示を提供された当業者の範囲内である。説明される機能を実行するためにコントローラ113によって実行可能な機械可読コードが、LIDARスキャンシステム114の非一時的な機械可読媒体(図示せず)に記憶されてよい。代替的に、コントローラ113の機能は、乗り物制御システム115のプロセッサ102によって実行されてよい。 Controller 113 may control LIDAR scanning system 114 using one or more of software, firmware, hardware, or a combination thereof. The software may be executed by controller 1130. Coding software to perform the functions described herein is within the skill of those in the art given this disclosure. Machine-readable code executable by controller 113 to perform the functions described may be stored on a non-transitory machine-readable medium (not shown) of LIDAR scanning system 114. Alternatively, the functions of controller 113 may be performed by processor 102 of vehicle control system 115.

検出器サブシステム140は、レーザ光源120によって放射された光の種類に対応する光を受信するように構成される。レーザ光源120が2つ以上の種類の光を送信するとき、検出器サブシステム140は、レーザ光源120によって(たとえば、複数のレーザによって)放射される異なる種類の光の各々を受信するように構成される。たとえば、LIDARスキャンシステム114が、赤外線を送信するように構成された赤外線レーザと、青色光を送信するように構成された青色レーザと、赤色光を送信するように構成された赤色レーザと、緑色光を送信するように構成された緑色レーザとを含むとき、検出器サブシステム140は、環境内の物体から反射された赤外線を受信するように構成された1つ以上の赤外線検出器と、環境内の物体から反射された青色光を受信するように構成された1つ以上の青色検出器と、環境内の物体から反射された赤色光を受信するように構成された1つ以上の赤色検出器と、環境内の物体から反射された緑色光を受信するように構成された1つ以上の緑色検出器とを含む。受信光学系アセンブリ(図示せず)が、検出器サブシステム140の1つ以上の検出器の前に設けられてよい。検出器サブシステム140の1つ以上の検出器は、光ファイバケーブル(図示せず)を介してコントローラに接続されてよい。複数のレーザ光の検出のために使用されるメカニズムは、所望の詳細な実装および要件に依存し、コヒーレント(ヘテロダインおよびホモダイン)またはインコヒーレント(強度に基づく)方式の両方に基づく場合がある。 Detector subsystem 140 is configured to receive light corresponding to the type of light emitted by laser light source 120. When laser source 120 transmits more than one type of light, detector subsystem 140 is configured to receive each of the different types of light emitted by laser source 120 (e.g., by multiple lasers). be done. For example, LIDAR scanning system 114 may include an infrared laser configured to transmit infrared light, a blue laser configured to transmit blue light, a red laser configured to transmit red light, and a green laser configured to transmit red light. a green laser configured to transmit light; the detector subsystem 140 includes one or more infrared detectors configured to receive infrared radiation reflected from objects in the environment; one or more blue detectors configured to receive blue light reflected from objects in the environment and one or more red detectors configured to receive red light reflected from objects in the environment. and one or more green color detectors configured to receive green light reflected from objects in the environment. A receive optics assembly (not shown) may be provided in front of one or more detectors of detector subsystem 140. One or more detectors of detector subsystem 140 may be connected to a controller via a fiber optic cable (not shown). The mechanism used for detection of multiple laser beams depends on the desired detailed implementation and requirements and may be based on both coherent (heterodyne and homodyne) or incoherent (intensity-based) schemes.

光スイッチ130は、レーザ光源120からレーザ光を受信するように構成された1つの入力ポートおよび複数の出力ポートを有する1xn光スイッチである。1xn光スイッチ130は、コントローラ113の制御の下で、光ビームをn方向に向けるために使用されてよいプログラミング可能なビームを提供する。レーザ光源120は、光スイッチ130の入力ポートに光学的に直接結合されてよい。代替的に、レーザ光源120は、光ファイバーケーブルなど(図示せず)を介して光スイッチ130の入力ポートに光学的に結合されてよい。 Optical switch 130 is a 1xn optical switch with one input port and multiple output ports configured to receive laser light from laser light source 120. 1xn optical switch 130 provides a programmable beam that may be used to direct the light beam in n directions under the control of controller 113. Laser light source 120 may be directly optically coupled to an input port of optical switch 130. Alternatively, laser light source 120 may be optically coupled to an input port of optical switch 130 via a fiber optic cable or the like (not shown).

光スイッチ130は、MEMS、シリコン上液晶(LCoS: liquid crystal on silicon)、シリコンフォトニクス(SiPh)、またはその他の好適な構造を使用して構築されてよい。スイッチアーキテクチャは、LIDARスキャンシステム114の最良の性能のためにカスタマイズされてよい。光スイッチ130を製造するために使用される技術に応じて、サブヘルツ(sub-hertz)からメガヘルツ(MHz)までの様々な掃引速度(すなわち、スキャンレート)が達成される場合がある。SiPhは、その他のアーキテクチャおよび比較に比べて、性能を向上させる場合がある。 Optical switch 130 may be constructed using MEMS, liquid crystal on silicon (LCoS), silicon photonics (SiPh), or other suitable structures. The switch architecture may be customized for best performance of the LIDAR scanning system 114. Depending on the technology used to manufacture optical switch 130, various sweep speeds (ie, scan rates) from sub-hertz to megahertz (MHz) may be achieved. SiPh may improve performance compared to other architectures and comparisons.

自律的な乗り物の位置特定は、乗り物の測位、すなわち、何らかの座標系における乗り物の位置、たとえば、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による実行に適さないという問題を有する。 Autonomous vehicle localization involves vehicle positioning, i.e. determining the position of the vehicle in some coordinate system, e.g. [x, y] on a 2D map or [x, y, z] on a 3D map. It will be done. One way to represent the location of a vehicle in 3D space (i.e., the vehicle's position and orientation) is to define the vehicle's 3D position in a Cartesian coordinate system [x, y, z] and the vehicle's roll, yaw, and pitch. The idea is to use a 6 degrees of freedom (6DOF) representation that includes the orientation of the vehicle. Using LIDAR data obtained from the autonomous vehicle's LIDAR scanning unit 114 and a 3D reference map, a 6DOF representation of the vehicle's location may be determined. However, determining a 6DOF representation of an autonomous vehicle's location in real-time is difficult in real-world situations due to the following problems: 1) the city-scale 3D reference map is too large for the location of an autonomous vehicle; 2) it is not feasible to transmit the city-wide 3D reference map to an autonomous vehicle over a cellular data network; and 3) point cloud registration (i.e., it cannot be obtained from a LIDAR scanning unit). The process of rotating and translating a 3D point cloud generated from 3D LIDAR data onto a 3D city-scale 3D reference map is a very time-consuming operation that requires the vehicle control system 115 of the vehicle 105 to The problem is that it is not suitable for execution by the processor 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程度の高さである場合がある。 This disclosure, in some embodiments, describes systems and methods for autonomous vehicle 6DOF localization based on current 3D point clouds received from the vehicle's LIDAR scanning system. The method involves 1) retrieving a regional-scale 3D point cloud of a region, such as a city, state, or country; 2) converting the regional-scale 3D point cloud into a 2D reference map; and 3) converting the regional-scale 3D point cloud to a 2D reference map. 4) downloading the multiple 2D reference map tiles to the vehicle, and 5) downloading the current 3D point cloud from the vehicle's LIDAR scanning system. 6) mapping the 2D image to the downloaded 2D reference map tile based on the keypoint extraction method; and 7) converting the 2D image to the downloaded 2D image. 8) determining a 2D position and yaw angle of the vehicle based on the mapping to a reference map; and 8) generating a final 3D position and orientation of the vehicle based on the 2D position and yaw angle. may be included. The final 3D position and orientation can be in the form of high frequency. High frequencies herein may refer to frequency values higher than the lowest threshold, eg, frequencies of at least 50 Hz, and in some embodiments may be as high as 200 Hz.

開示される実施形態は、地域規模の2D参照地図を記憶し、通信ネットワークを介して乗り物に送信するのに好適なコンパクトなデータ形式を使用する。開示されるキーポイント抽出方法は、乗り物の位置の決定に対する動的な物体の影響を効果的に除去することができる。開示される実施形態は、乗り物がダウンロードされた2D参照地図を使用して6DOF位置特定を容易に生成することを可能にし、これは、都市規模の3D点群をリアルタイムで処理することを必要とするソリューションと比較して計算の複雑さを低減する。一部の実施形態において、2D参照地図は、2D参照地図である。一部の実施形態において、2D参照地図は、2Dの地域規模の画像地図(すなわち、画像フォーマットの地図)である。3Dの地域規模の点群地図から生成された2Dの地域規模の画像地図。3Dの地域規模の点群地図は、環境の以前にキャプチャされた観測結果を組み合わせることによって生成されてよく、各観測結果は、3D点群である。 The disclosed embodiments use a compact data format suitable for storing and transmitting regional-scale 2D reference maps to vehicles via communication networks. The disclosed keypoint extraction method can effectively remove the influence of dynamic objects on vehicle position determination. The disclosed embodiments enable vehicles to easily generate 6DOF localizations using downloaded 2D reference maps, which require real-time processing of city-scale 3D point clouds. reduce computational complexity compared to solutions that In some embodiments, the 2D reference map is a 2D reference map. In some embodiments, the 2D reference map is a 2D regional-scale image map (ie, a map in image format). A 2D regional-scale image map generated from a 3D regional-scale point cloud map. A 3D regional point cloud map may be generated by combining previously captured observations of the environment, each observation being a 3D point cloud.

地域規模の2D参照地図の生成
ここで、本開示の例示的な実施形態による地域規模の三次元(3D)点群600および地域規模の3D点群600内のタイル610を示す図6を参照する。地域規模の3D点群600は、土地の測量によって取得された地域規模(たとえば、都市、州、または国)の3D点群である。地域規模の3D点群600のサイズは、非常に大きく、乗り物のメモリ126への記憶または乗り物105のプロセッサ102によるリアルタイムの処理に適さない。したがって、乗り物100の位置特定に地域規模の3D点群600を使用するために、地域規模の3D点群600が、2D参照地図に変換される。2D参照地図は、以下でさらに詳細に説明されるように、複数の2D画像タイルに分割されてよい。
Generating a Regional-Scale 2D Reference Map Reference is now made to FIG. 6 illustrating a regional-scale three-dimensional (3D) point cloud 600 and tiles 610 within the regional-scale 3D point cloud 600 according to an exemplary embodiment of the present disclosure. . Regional scale 3D point cloud 600 is a regional scale (eg, city, state, or country) 3D point cloud obtained by a land survey. The size of the regional scale 3D point cloud 600 is very large and is not suitable for storage in the vehicle's memory 126 or for real-time processing by the vehicle's 105 processor 102. Therefore, in order to use the regional scale 3D point cloud 600 for locating the vehicle 100, the regional scale 3D point cloud 600 is converted to a 2D reference map. The 2D reference map may be divided into multiple 2D image tiles, as described in further detail below.

絶対座標系(たとえば、ユニバーサル横メルカトル座標系)における地域規模の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と呼ばれる場合がある。 A region-wide 3D point cloud 600 in an absolute coordinate system (eg, a universal transverse Mercator coordinate system) is divided into a plurality of square tiles 610 of equal size along the x-y plane of the coordinate system. The length of the side 625 of each square tile 610 can vary from 20m to 200m. In the exemplary embodiment shown in FIG. 6, the side length of each square tile 610 is 100 m. For each square tile 610, the side length of the square tile 610 and the absolute position of the square tile 610 may be saved in a data file. In some exemplary embodiments, the absolute position of each square tile 610 is determined by the coordinates of the tile's lower left corner in a UTM coordinate system (or another such as latitude/longitude or Military Grid Reference System). (in a preferred coordinate system). Each square tile 610 is further divided into multiple cells 620 of equal size. The side length of each cell 620 can range from 0.05m to 0.2m. For example, a 100m x 100m square tile 610 may have 1,000,000 (ie, 1000 x 1000) cells 620. In some example embodiments, the minimum absolute estimate of the 3D regional-scale point cloud data points within each square tile 610 is also saved in the data file. Square tile 610 may be referred to as tile 610 for ease of reference throughout this disclosure.

三次元空間において、各セル620は、正方形の底面を有する細い柱である。セル620は、3D領域空間点群600の0個、1つ、または複数のデータ点を含む場合がある。セル620に含まれるデータ点の特徴は、パラメータ化され、セル620を表すデータセットに保存されてよい。データセットは、各セル620に関して2つまたは3つのチャネルを含んでよい。たとえば、データセットは、以下に説明されるように、セル620に含まれるデータ点のパラメータを表すためにRGBカラーモデルを使用してよい。各セル620は、2D画像座標系におけるそれぞれの位置[xk M, yk M]を有する。 In three-dimensional space, each cell 620 is a thin pillar with a square base. Cell 620 may include zero, one, or more data points of 3D domain spatial point cloud 600. The characteristics of the data points contained in cell 620 may be parameterized and stored in a dataset representing cell 620. The data set may include two or three channels for each cell 620. For example, the dataset may use an RGB color model to represent the parameters of the data points contained in cell 620, as described below. Each cell 620 has a respective position [x k M , y k M ] in the 2D image coordinate system.

図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のその他の特性を表す値を記憶してよいことを理解されたい。 FIG. 7 shows a cross-sectional view of tile 610 and data points 720a, 720b, 720c, 720d, 720e within tile 610, according to one example embodiment of the present disclosure. In the example shown in FIG. 7, for purposes of illustrating how a 2D image map tile is generated from a tile 610 of a 3D regional point cloud 600, the tile 610 is shown as including four cells 620. It will be appreciated that the number of cells 620 included in tile 610 depends on the side length of tile 610 and the side length of each cell 620. In FIG. 7, four cells 620 of tile 610 are indicated using reference numbers 730, 732, 734, 736. The characteristics of the data points contained in cell 730 may be parameterized and stored in dataset 700a representing cell 730. Similarly, the characteristics of the data points contained in cell 732 may be parameterized and stored in dataset 700b representing cell 732, and the characteristics of the data points contained in cell 733 may be parameterized and stored in dataset 700b representing cell 733. The characteristics of the data points contained in cell 736 may be parameterized and saved in the dataset representing cell 736, which may be saved in dataset 700c. In some embodiments, data sets representing cells 730, 732, 734, 736 may be structured and stored based on RGB color mode. For example, dataset 700a representing cell 730 has a first channel (red R) 770a, a second channel (green G) 780a, and a third channel (blue B) May contain one or more channels of RGB color modes, which may include 790a. Similarly, data set 700b representing cell 732 may include a first channel 770b, a second channel 780b, and a third channel 790b. Data set 700c representing cell 734 may include a first channel 770c, a second channel 780c, and a third channel 790c. In this disclosure, the R/G/B channel represents other characteristics of each cell 620 of the tile 610, even though the R/G/B channel may typically store data representing color information of a pixel. Please understand that you may remember the value.

一部の実施形態においては、下で説明されるように、データセット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のそれぞれの高度値を記憶してよい。強度値は、一部の実施形態においては、地面の強度値であってよい。その他の実施形態において、強度値は、地面ではない物体の強度を指す場合がある。 In some embodiments, the first channels 770a, 770b, 770c included in the datasets 700a, 700b, 700c store the vertically distributed values of the respective cells 730, 732, 734, as described below. A second channel 780a, 780b, 780c included in the datasets 700a, 700b, 700c may store intensity values for each of the cells 730, 732, 734, and a third channel 790a for each of the data sets 700a, 700b, 700c. , 790b, 790c may store the respective altitude values of cells 730, 732, 734. The intensity value may be a ground intensity value in some embodiments. In other embodiments, the intensity value may refer to the intensity of an object that is not the ground.

各セル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であってもよい。 Each cell 730, 732, 734, 736 may be divided into a plurality of equally sized blocks 710 between an upper limit 740 and a lower limit 745 along a vertical axis (eg, the z-axis). An upper limit of 740 is used to include most of the common vertical objects. The upper limit 740 may be defined based on the number of laser beams of the LIDAR scanning system 114 and the vertical field of view of the LIDAR scanning system 114. Lower bound 745 is used to remove temporary objects. Many low objects, such as trash on the ground and grass near roads, usually change over time. For example, the upper limit 740 may be defined as 4.5 meters from the ground, and the lower limit 745 may be defined as 0.5 meters from the ground. A minimum altitude 755 within tile 610 may be defined based on the data point (from the ground) within cell 620 that has the lowest altitude above the ground among all data points within tile 610. In the embodiment shown in FIG. 7, the lowest altitude 755 is defined by the height of data point 720g because data point 720g has the lowest altitude from the ground of all the data points in tile 610. In this example, the lowest altitude 755 at tile 610 may be 0 because data point 720g touches the ground.

データ点の高度の高さは、3Dの地域規模のデータ点群600の座標系[x, y, z]のz軸に沿ったそのデータ点の位置に基づいて決定される場合がある。 The altitude height of a data point may be determined based on the location of that data point along the z-axis of the coordinate system [x, y, z] of the 3D regional-scale data point cloud 600.

図7に示されるように、各セル730、732、734、736は、上限740と下限745との間で8つのブロック710に分割されてよい。各ブロック710は、0個以上のデータ点720a、720b、720c、720d、720e、720f、720gを含んでよい。 As shown in FIG. 7, each cell 730, 732, 734, 736 may be divided into eight blocks 710 between an upper limit 740 and a lower limit 745. Each block 710 may include zero or more data points 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進数に変換するために、通常の変換方法が使用されてよい。 As mentioned above, first channels 770a, 770b, 770c included in data sets 700a, 700b, 700c may store vertically distributed values for cells 730, 732, 734, respectively. If tile 610 has n cells, the vertical distribution values of cells 730, 732, 734
Figure 0007358636000024
1) divides cells 730, 732, 734 into u blocks of equal height (e.g. 8 blocks) along length R 743, and 2) divides cells 730, 732, 734 into u blocks of equal height (e.g. 8 blocks); Assign a value 1 when blocks 710a, 710b, 710c, 710e contain at least one data point 720a, 720b, 720c, 720d of tile 610 of regional-scale 3D point cloud 600; 3) for each of the plurality of cells 730, 732, 734 in tile 610, u bits (e.g., 8 bits) 4) generating a binary sequence of , in which each binary digit of u bits is equal to the assigned value of a corresponding block among the plurality of u blocks of cells; Convert the u-bit binary string to the corresponding decimal number and the corresponding decimal number to the vertical distribution of the cell
Figure 0007358636000025
is calculated by storing it in the first channel of the cell as . Conventional conversion methods may be used to convert the u-bit binary string to a decimal number.

たとえば、セル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に保存される。 For example, cell 730 has eight blocks 710 bounded by upper bound 740 and lower bound 745. Data points 720f found outside the upper and lower bounds 740, 745 are excluded by block 710 because these data points 720f tend to have little significance to the vehicle 100 when traveling on the ground (e.g., trash or birds). Not captured. Even though cell 730 contains two data points 720f that are close to the lowest altitude 755 within tile 610, data points 720f that are outside the upper bound 740 and lower bound 745 are considered when calculating the vertical distribution value for cell 730. Not done. Therefore, the 8-bit binary string of cell 730 is 00000000 and the corresponding vertical distribution value of cell 730 is 0 and is stored in the first channel 770a included in dataset 700a representing cell 730.

別の例として、セル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に保存される。 As another example, cell 732 has eight blocks 710a, 710b, 710c bounded by upper bound 740 and lower bound 745. Similarly, data points found outside the upper and lower bounds 740, 745 are not captured by blocks 710a, 710b, 710c. Block 710a includes at least one data point 720a, block 710b includes at least one data point 720b, and block 710c includes at least one data point 720c. As shown, each block of cells 732 has at least one data point. Therefore, the 8-bit binary string for cell 732 is 11111111, and the corresponding vertical distribution value for cell 732 is 255, stored in the first channel 770b included in dataset 700b representing cell 732.

さらに別の例として、セル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に保存される。 As yet another example, cell 734 has eight blocks 710d, 710e bounded by upper bound 740 and lower bound 745. Similarly, data points found outside the upper and lower bounds 740, 745 are not captured by blocks 710d, 710e. Block 710d does not include any data points, block 710e includes at least one data point 720d, and two other blocks each include at least one data point. Therefore, the 8-bit binary string for cell 734 is 01110000 and the corresponding vertical distribution value for cell 730 is 112, stored in the first channel 770c included in dataset 700b representing cell 734.

上述のように、データセット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であるべきである。 As mentioned above, second channels 780a, 780b, 780c included in data sets 700a, 700b, 700c may store intensity values for cells 730, 732, 734, respectively. If tile 610 has n cells, the intensity values of cells 730, 732, 734
Figure 0007358636000026
may be calculated based on the height of the highest altitude and the height of the lowest altitude and stored in a second channel included in datasets 700a, 700b, 700c representing cells 730, 732, 734. For example, for cell 736, the intensity value
Figure 0007358636000027
1) Determine the maximum altitude h max_map 760 of cell 736 based on the height of data point 720h that has the highest altitude above the ground among all data points in cell 736; 2) determining a minimum altitude h min_map 765, where h min_map is determined based on the height of data point 720g having the lowest altitude above the ground among all data points in cell 736; 3) when the difference between h max_map and h min_map is less than a given threshold h th_map , determine the intensity value based on the maximum intensity value of the one or more data points in cell 736;
Figure 0007358636000028
Determine the intensity value
Figure 0007358636000029
is stored in a second channel of a dataset representing cell 736 (not shown), and when the difference between h max_map and h min_map is greater than or equal to a predetermined threshold h th_map , the data set representing cell 736 (not shown) is (not shown) may be generated by assigning the value 0 to the second channel included in the channel (not shown). A given threshold h th_map is used to determine whether the cell is sufficiently flat. Flat cells are typically associated with the presence of a road surface, and the intensity value is an indication of the road surface condition. Therefore, if the cell is not flat, the intensity value should be 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のチャネルに記憶することとによって生成され得る。 A third channel 790a, 790b, 790c may store altitude values for cells 730, 732, 734, respectively. If tile 610 has n cells, the height values for the elevations of cells 730, 732, and 734
Figure 0007358636000030
is calculated based on the highest elevation height h i 750a, 750b, 750c and the lowest elevation height 755 of tile 610 and the third channels 790a, 790b, 790c. The altitude height value is: 1) the height of the lowest altitude of a data point in tile 610 based on the height of data point 720g, which has the lowest altitude above the ground among all data points in tile 610; The altitude height value based on determining and storing h MapMinimum 755 and 2) calculating the difference between h MapMinimum and h max_map above.
Figure 0007358636000031
The purpose is to determine the
Figure 0007358636000032
and 3) the altitude value.
Figure 0007358636000033
in a third channel included in the data set representing the cell.

たとえば、セル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に設定され得る。 For example, cell 730 has an altitude height value h 3 750a stored in a third channel 790a contained in dataset 700a representing cell 730, and cell 732 has an altitude height value h 3 750a stored in a third channel 790a contained in dataset 700a representing cell 732. Cell 734 has an altitude height value h 2 750b stored in a third channel 790b included, and cell 734 has an altitude height value h 2 750b stored in a third channel 790c included in data set 700c representing cell 734. It has a value of h 1 750c. A transformation method may be applied before storing the altitude height value of each pixel 730, 732, 734 in the respective third channel 790a, 790b, 790c. An exemplary conversion method that may be applied is to convert the height value of each altitude in meters to
Figure 0007358636000034
If 750a, 750b, 750c are multiplied by a number (eg, 10) and the resulting integer value is obtained, and the resulting integer value is greater than 255, the resulting integer value may be set to 255.

データセット700a、700b、700cは、2D画像タイルを生成するために使用され、2D画像タイルの各ピクセルは、3Dの地域規模の点群のタイル610のセル620に対応する。2D画像タイルの各ピクセルは、ピクセルの垂直分布値を示す第1のチャネルと、ピクセルの強度値を示す第2のチャネルとを含む。ピクセルの垂直分布値は、セル620を表すデータセットに含まれる第1のチャネルから取得され、ピクセルの強度値は、セル620を表すデータセットに含まれる第2のチャネルから取得される。各2D画像タイルは、2Dの地域規模の画像地図(本明細書においては2D参照地図と呼ばれる)を形成するために組み合わされ得る。 Datasets 700a, 700b, 700c are used to generate 2D image tiles, where each pixel of the 2D image tile corresponds to a cell 620 of a 3D regional point cloud tile 610. Each pixel of the 2D image tile includes a first channel indicating the pixel's vertical distribution value and a second channel indicating the pixel's intensity value. Vertical distribution values for the pixel are obtained from a first channel included in the dataset representing cell 620, and intensity values for the pixel are obtained from a second channel included in the dataset representing cell 620. Each 2D image tile may be combined to form a 2D regional-scale image map (referred to herein as a 2D reference map).

図7に示された例は4つのセル620のみを含むが、タイル610が任意の数のセル620に分割されてよいことは、理解されるであろう。 Although the example shown in FIG. 7 includes only four cells 620, it will be appreciated that tile 610 may be divided into any number of cells 620.

2D参照地図タイルの動的ダウンロード
地域規模の3D点群600の各タイル610は、上で説明されたプロセスに基づいて、正方形毎に、20m x 20mのサイズから200m x 200mのサイズまでの間の2D画像タイルに変換され得る。図8は、上で説明された方法を使用して処理され、上で説明された方法に基づいて対応する2D参照地図タイル820に変換される地域規模の3D点群600のサンプルタイル610を示す。2D参照地図タイル820に示されるように、赤は、道路付近の蓋然性の高い障害物および物体を表す垂直分布値を示し、緑は、路面の強度を示し、青は、路面の高度値を示す。一部の実施形態においては、建物および木の高度が、青チャネルに保存され得る。
Dynamic Download of 2D Reference Map Tiles Each tile 610 of the regional-scale 3D point cloud 600 is downloaded square by square between a size of 20m x 20m and a size of 200m x 200m based on the process described above. Can be converted to 2D image tiles. FIG. 8 shows a sample tile 610 of a regional-scale 3D point cloud 600 that is processed using the method described above and converted to a corresponding 2D reference map tile 820 based on the method described above. . As shown in the 2D reference map tile 820, red indicates the vertical distribution value representing likely obstacles and objects near the road, green indicates the strength of the road surface, and blue indicates the elevation value of the road surface. . In some embodiments, building and tree elevations may be saved in the blue channel.

図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の更新された位置に基づいて動的にダウンロードされてよい。 FIG. 9 illustrates the dynamic downloading of 2D reference map tiles 820a, 820b, 820c by the processor 102 of the vehicle control system 115 of the vehicle 100 as the vehicle 100 moves through the environment from location A to location B. 2D reference map tiles 820a, 820b, 820c are dynamically downloaded based on the current location of vehicle 100. In one exemplary embodiment, at any given time, nine contiguous 2D reference tiles are stored in vehicle control system 115's memory, assuming that the position of vehicle 100 is kept within the central tile. 126. For example, when the vehicle 100 is at location A, the 2D image tiles 820a, 820b of the 2D reference map are downloaded from an external server (not shown) or storage device (not shown) and the loaded 2D reference map 350a is Form. When vehicle 100 moves from location A to location B, 2D image tile 820a of the loaded 2D reference map 350a is deleted and a new 2D image tile 820c of the 2D reference map is downloaded and loaded while retaining tile 820b. 2D reference map 350b is formed. In some embodiments, the exact location of the vehicle 100 may be updated in real time by the location method 500, and the 2D image tiles 820a, 820b, 820c of the 2D reference map are updated to the updated location of the vehicle 100. may be dynamically downloaded based on the

ここで、本開示の1つの例示的な実施形態による、乗り物105の位置およびヨー角360を生成するための乗り物位置特定モジュール164の粒子フィルタモジュール300を示すブロック図である図3を参照する。粒子フィルタモジュール300は、プロセッサ102によって実行されるときにプロセッサ102に、粒子の重みを連続的に計算することによって乗り物の位置およびヨーを推定させる機械可読命令を含むソフトウェアモジュールである。図3に示される例示的な実施形態における粒子フィルタモジュール300は、概して、予測モジュール310、更新モジュール320、再サンプリングモジュール340を含む。一部の実施形態において、粒子フィルタモジュール300は、マルコフ連鎖モンテカルロ法(MCMC)の原理に基づく方法を実施する。 Reference is now made to FIG. 3, which is a block diagram illustrating a particle filter module 300 of vehicle localization module 164 for generating position and yaw angle 360 of vehicle 105, according to one exemplary embodiment of the present disclosure. Particle filter module 300 is a software module containing machine-readable instructions that, when executed by processor 102, cause processor 102 to estimate the position and yaw of a vehicle by continuously calculating particle weights. Particle filter module 300 in the exemplary embodiment shown in FIG. 3 generally includes a prediction module 310, an update module 320, and a resampling module 340. In some embodiments, particle filter module 300 implements a method based on Markov Chain Monte Carlo (MCMC) principles.

予測モジュール310は、粒子フィルタの初期化プロセス中に、複数の粒子をランダムに生成し、乗り物105の位置[x', y']およびヨー角Θ'(集合的に姿勢と呼ばれる)を予測するように構成される。最初、予測は、プロセッサにGPS信号を送信してよい衛星受信機132からの初期入力に基づいて生成されてよい。GPS信号は、乗り物105の初期地図座標[xini, yini]を含んでよい。初期ヨー角Θiniが、乗り物100の車輪オドメトリユニット117およびIMU 118から取り出されたオドメトリデータから決定されてよい。一部の実施形態においては、初期ヨー角Θiniは、LIDARスキャンシステム114に固定された座標系を地図の座標系とマッチングすることによって取得されてよい。 Prediction module 310 randomly generates a plurality of particles to predict the position [x', y'] and yaw angle Θ' (collectively referred to as pose) of vehicle 105 during the particle filter initialization process. It is configured as follows. Initially, predictions may be generated based on initial input from satellite receiver 132, which may transmit GPS signals to the processor. The GPS signal may include the initial map coordinates of the vehicle 105 [x ini , y ini ]. An initial yaw angle Θ ini may be determined from odometry data retrieved from wheel odometry unit 117 and IMU 118 of vehicle 100. In some embodiments, the initial yaw angle Θ ini may be obtained by matching the coordinate system fixed to the LIDAR scanning system 114 with the coordinate system of the map.

乗り物100の初期姿勢に基づいて、更新モジュール320は、少なくとも、図4を参照して下で詳細に説明される、ダウンロードされた2D参照地図350、LIDARスキャンシステム114、車輪オドメトリユニット117、およびIMU 118からのデータに基づいて粒子のそれぞれの重み値を生成または更新するように構成される。 Based on the initial attitude of the vehicle 100, the update module 320 updates at least the downloaded 2D reference map 350, the LIDAR scanning system 114, the wheel odometry unit 117, and the IMU described in detail below with reference to FIG. configured to generate or update weight values for each of the particles based on data from 118;

粒子の重み値から計算された1つ以上の情報エントロピー値に基づいて、再サンプリングが必要とされる可能性があり、または必要とされない可能性がある(330)。再サンプリングが必要とされる場合、再サンプリングモジュール340が、更新モジュール320において取得された重み値に基づいて粒子を再サンプリングし、乗り物105の新しい姿勢を生成するように構成される。 Resampling may or may not be required based on one or more information entropy values calculated from the particle weight values (330). If resampling is required, a resampling module 340 is configured to resample the particles based on the weight values obtained in the update module 320 and generate a new pose of the vehicle 105.

更新モジュール320は、粒子の重み値を出力し、それらの重み値が、乗り物105の低周波数の姿勢[x', y', Θ'] 360を生成するために使用される。たとえば、これらの粒子の加重平均が、乗り物105の姿勢の推定値である。 The update module 320 outputs particle weight values that are used to generate the low frequency pose [x', y', Θ'] 360 of the vehicle 105. For example, a weighted average of these particles is an estimate of the attitude of the vehicle 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メートル以内)のフルスキャンを完了する場合がある。 FIG. 4 is a block diagram illustrating an update process 400 performed in part by update module 320, according to one example embodiment of the present disclosure. 3D point cloud 410 may be received from LIDAR scanning system 114 and odometry data 415 may be received from wheel odometry unit 117 and IMU 118. 3D point cloud 410 represents current (ie, real-time) observations of the environment captured at a particular scan frequency by LIDAR scanning system 114 mounted on vehicle 105. For example, LIDAR scanning system 114 may complete a full scan of the vehicle's immediate surroundings (eg, within 100 to 300 meters of vehicle 100) at a rotation rate of 5 to 20 Hz.

一部の実施形態において、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画像は、長方形の形状などの異なる形状であってよい。 In some embodiments, 3D point cloud 410 needs to be preprocessed using odometry data 415. At step 420, odometry data 415 may be used to remove distortions of 3D point cloud 410 caused by motion of vehicle 100. Process 420 is also known as detwisting. The untwisted 3D point cloud 430 has its origin [0, 0, 0] coincident with the midpoint of the vehicle rear axis (e.g., base link frame) of the vehicle 100. It has been converted as follows. After the detwisting process 420, the x, y, and z axes of the base link frame point toward the front, left, and top of the vehicle 100 body, respectively. The untwisted 3D point cloud 430 is then converted to a 2D image by the update module 320 in a process similar to that described above in connection with the regional-scale 3D point cloud 600, but below. There are several differences explained. For example, the height of the square elevation is not calculated here. That is, pixels in the 2D image transformed from the untwisted 3D point cloud 430 only have one or both of a vertical distribution channel and an intensity channel. As another example, a 2D image can be a square tile with a side length of 20 to 200 meters, for example a 100m x 100m square tile, so a 3D point cloud 410 or an untwisted 3D point cloud There is no need to split the 3D point cloud into multiple tiles before converting the 430 to 2D images. In other embodiments, the 2D image may be a different shape, such as a rectangular shape.

一部の実施形態において、乗り物105のLIDARスキャンシステム114は、Velodyne(商標)およびQuanergy(商標)ブランドのLIDARシステムであってよく、8から128個のレーザビームを有する場合がある。これは、1つのLIDARフレームの2D画像が、地域の調査から生成される3Dの地域規模の点群から生成される2D参照地図3501、350bよりも疎らであることを意味する。それでもなお、ねじれを除去された3D点群430に基づいて生成される2D画像1000は、生成するために多大な量の計算リソースを必要とし得る数千または数万の非ゼロのピクセルを含む場合がある。位置特定動作を高速化するために、以下で詳細に説明されるプロセスによって、キーポイントが定義され、2D画像1000内のこれらの非ゼロのピクセルから抽出される。垂直分布チャネルおよび強度チャネルのキーポイントは、別々に抽出される。各チャネルに関して、これらの非ゼロのピクセルの値がソートされ、大きな値を有する最初の数百ピクセルがキーポイントとして選択され得る。垂直分布値を記憶するチャネル(「垂直分布チャネル」とも呼ばれる)に関して、キーポイントは、通常、木、建物、信号機、街灯、および電柱などのこれらの高い物体に対応する。強度値を記憶するチャネル(「強度チャネル」とも呼ばれる)に関して、キーポイントは、通常、道路上のペイント標示に対応する。 In some embodiments, the LIDAR scanning system 114 of the vehicle 105 may be a Velodyne(TM) and Quanergy(TM) brand LIDAR system and may have from 8 to 128 laser beams. This means that the 2D image of one LIDAR frame is sparser than the 2D reference map 3501, 350b generated from the 3D regional-scale point cloud generated from the regional survey. Nevertheless, if the 2D image 1000 generated based on the untwisted 3D point cloud 430 contains thousands or tens of thousands of non-zero pixels, which can require significant amounts of computational resources to generate There is. To speed up the localization operation, keypoints are defined and extracted from these non-zero pixels in the 2D image 1000 by a process described in detail below. The keypoints of the vertical distribution channel and intensity channel are extracted separately. For each channel, the values of these non-zero pixels can be sorted and the first few hundred pixels with large values can be selected as keypoints. For channels that store vertical distribution values (also called "vertical distribution channels"), key points typically correspond to these tall objects such as trees, buildings, traffic lights, streetlights, and utility poles. For channels that store intensity values (also called "intensity channels"), key points typically correspond to painted markings on the road.

垂直分布チャネルに関して、キーポイントは、乗り物100を測位する際に異なる重要性を持つ。概して、高くて細い物体または建物の面に対応するキーポイントは、樹冠などの不定形の物体に対応するキーポイントよりも重要である。 Regarding the vertically distributed channels, key points have different importance in positioning the vehicle 100. Generally, keypoints that correspond to tall, thin objects or building surfaces are more important than keypoints that correspond to irregularly shaped objects, such as tree canopies.

いくつかの例示的な実施形態においては、図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である。 In some exemplary embodiments, as shown in FIG. 10A, a key point 1001 in the generated 2D image 1000 has coordinates [x k , y k ], where the x-axis along the direction of movement. In some embodiments, 2D image 1000 has a resolution of 1000 x 1000 pixels and encompasses a physical area of 100m x 100m. Then the size of each pixel is 10cm x 10cm. LIDAR scanning system 114 is at the center of 2D image 1000. Therefore, a keypoint at row m and column n has coordinates [x k , y k ], where x k =(n-499)x0.1 and y k =(500-m)x*0.1. be.

垂直分布および強度の重み値の更新
再び図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を割り当てるように構成される。
Updating Vertical Distribution and Intensity Weight Values Referring again to FIG. 4, the update module 320 is configured to convert the untwisted 3D point cloud 430 into a 2D image 1000 by a process 440 described in further detail below. It is composed of Untwisted 3D point cloud 430 is equivalent to tile 610 described above with reference to FIG. The untwisted 3D point cloud 430 is divided into multiple cells 620, each cell being a thin column with a square base in 3D space. Each cell 620 may include zero, one, or multiple data points from the untwisted 3D point cloud 430. Each of the plurality of cells 620 is represented through process 440 by a data set that includes at least a first channel and a second channel. Each cell 620 has a length T along the z-axis of the coordinate system. The length T is defined by the upper and lower bounds parallel to the ground of the untwisted 3D point cloud 430, and each 2D image has a position [x k L , y k L ] and a yaw angle value Θ L. For each pixel, update module 320 is configured to divide cell 620 along length T into a plurality of s blocks of equal height. Then, for each of the plurality of s blocks, the update module 320 generates an s-bit binary string for each of the plurality of cells 620, such that each binary digit of s bits corresponds to the plurality of s blocks of the cell 620. Assign the value 1 when a block contains at least one data point from the untwisted 3D point cloud 430 equal to the assigned value of the corresponding block in the untwisted 3D point cloud 430 It is configured to assign a value of 0 when it does not contain any data points from the 3D point cloud 430.

更新モジュール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のチャネルから取得される。 The update module 320 is configured to convert the s-bit binary string to a corresponding decimal number and store the corresponding decimal number in a first channel included in the dataset representing the cell, the first channel comprising: Represents the vertical distribution values of cell 620. For each cell 620 of each untwisted 3D point cloud 430, the cell 620 is determined to be flat using a process similar to that described above in connection with the generation of vertical distribution values for the 2D reference map 350. When updated, update module 320 determines an intensity value based on the maximum intensity value of one or more data points within cell 620 and stores the intensity value in a second channel included in the dataset representing cell 620. When configured to do so and the cell is determined to be non-flat, update module 320 is configured to assign a value of 0 to the second channel of the data set representing cell 620. The dataset representing the cells is used to generate a 2D image tile that corresponds to the untwisted 3D point cloud 430, with each pixel of the 2D image tile corresponding to a cell 620 of the tile 610 of the 3D point cloud. . Each pixel of the 2D image tile includes a first channel indicating the pixel's vertical distribution value and a second channel indicating the pixel's intensity value. Vertical distribution values for the pixel are obtained from a first channel included in the dataset representing cell 620, and intensity values for the pixel are obtained from a second channel included in the dataset representing cell 620.

次に、更新モジュール320は、垂直分布に基づくキーポイント抽出および重み計算プロセス465によって、垂直分布に関する1つ以上のキーポイントを決定し、垂直分布に関するキーポイントを使用して1つ以上の垂直分布重み値460を計算するように構成される。 Next, the update module 320 determines one or more keypoints for the vertical distribution by a vertical distribution-based keypoint extraction and weight calculation process 465 and uses the keypoints for the vertical distribution to calculate the one or more vertical distributions. The weight value 460 is configured to be calculated.

一部の実施形態において、垂直分布に基づくキーポイント抽出および重み計算プロセス465は、プロセッサ102によって実行されることが可能であり、複数のピクセルの各々のそれぞれの第1のチャネルのそれぞれの値に基づいて複数のピクセルを大きい方から小さい方に向かってソートし、ソートされたピクセルの中から、最初のm百個のピクセルを2D画像の垂直分布に関するキーポイントとして選択するステップであって、各キーポイントが、キーポイントのそれぞれの第1のチャネルのそれぞれの値に等しい垂直分布値

Figure 0007358636000035
を有する、ステップを含む。 In some embodiments, the vertical distribution-based keypoint extraction and weight calculation process 465 can be performed by the processor 102 and applied to each value of the respective first channel of each of the plurality of pixels. sorting a plurality of pixels from larger to smaller based on the number of pixels, and selecting the first m hundred pixels from among the sorted pixels as key points regarding the vertical distribution of the 2D image, Vertical distribution values where the keypoints are equal to the respective values of the first channel of each of the keypoints
Figure 0007358636000035
having, including steps.

次に、更新モジュール320は、2D画像内の垂直分布に関する各キーポイントに関して、垂直分布に関するキーポイントの重要度利得値を計算し、記憶するように構成される。重要度利得値は、各キーポイントの重要度を調整し、次の式、
aij = -Nij + Nmax + k
によって定義される値aijによって表され、iは、2D画像内のキーポイントの行番号を示し、jは、2D画像内のキーポイントの列番号を示し、Nmaxは、2D画像内で最も高い点を有する2D画像内の点の総数を示し、Nminは、2D画像内で最も小さい非ゼロの点を有する2D画像内の点の総数を示し、kは、正の整数である。
The update module 320 is then configured to calculate and store, for each keypoint with respect to the vertical distribution in the 2D image, a keypoint importance gain value with respect to the vertical distribution. The importance gain value adjusts the importance of each keypoint and is calculated by the following formula,
a ij = -N ij + N max + k
is represented by the value a ij defined by , where i indicates the row number of the keypoint in the 2D image, j indicates the column number of the keypoint in the 2D image, and N max is the most Denotes the total number of points in the 2D image with high points, N min designates the total number of points in the 2D image with the smallest non-zero point in the 2D image, and k is a positive integer.

精度と速度の間のトレードオフが存在することに留意されたい。たとえば、100 x 100mの2D画像1000が、サイズ10m x 10mから20m x 20mの複数のブロックに分割され得る。ブロック数が多すぎると、アルゴリズムは、リアルタイムの性能を実現することができない場合がある。 Note that there is a trade-off between accuracy and speed. For example, a 1000 x 100m 2D image 1000 may be divided into blocks of size 10m x 10m to 20m x 20m. If the number of blocks is too large, the algorithm may not be able to achieve real-time performance.

次に、更新モジュール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は、正規化される場合がある。 The update module 320 is then configured to calculate a vertical distribution weight value 460 for the 2D image based on at least the importance gain value of the key points with respect to the vertical distribution. The vertical distribution weight value 460 of a 2D image is given by the formula
Figure 0007358636000036
defined by
Figure 0007358636000037
where k is an integer from 1 to n, n is the total number m of keypoints with respect to the vertical distribution in each 2D image,
Figure 0007358636000038
is the vertical distribution value of the keypoint, a k is the importance gain value of the keypoint with respect to the vertical distribution,
Figure 0007358636000039
are the corresponding vertical distribution values of key points from the 2D reference map 350 that may be downloaded in real time based on the current location of the vehicle 100. calculated weight
Figure 0007358636000040
460 may be normalized.

一部の実施形態において、更新モジュール320は、強度に基づくキーポイント抽出および重み計算プロセス455によって、強度に関する1つ以上のキーポイントを決定し、強度に関するキーポイントを使用して1つ以上の強度重み値450を計算するように構成される。 In some embodiments, the update module 320 determines one or more keypoints for intensity through an intensity-based keypoint extraction and weight calculation process 455, and uses the intensity-related keypoints to determine one or more intensity-related keypoints. configured to calculate a weight value of 450.

一部の実施形態において、強度に基づくキーポイント抽出および重み計算プロセス455は、プロセッサ102によって実行されることが可能であり、複数のピクセルの各々のそれぞれの第2のチャネルのそれぞれの値に基づいて複数のピクセルを大きい方から小さい方に向かってソートし、ソートされたピクセルの中から、最初のl百個のピクセルを2D画像の強度に関するキーポイントとして選択するステップであって、各キーポイントが、キーポイントのそれぞれの第2のチャネルのそれぞれの値に等しい強度値

Figure 0007358636000041
を有する、ステップを含む。 In some embodiments, the intensity-based keypoint extraction and weight calculation process 455 may be performed by the processor 102 and based on the respective values of the respective second channels of each of the plurality of pixels. sorting a plurality of pixels from larger to smaller, and selecting the first l hundred pixels from the sorted pixels as key points regarding the intensity of the 2D image, each key point has an intensity value equal to the respective value of the second channel for each of the keypoints
Figure 0007358636000041
having, including steps.

更新モジュール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は、正規化される場合がある。 The update module 320 is configured to calculate an intensity weight value 450 for the 2D image based on at least one key point regarding intensity. The intensity weight value 450 is calculated using the formula
Figure 0007358636000042
defined by
Figure 0007358636000043
where k is an integer from 1 to n, n is the total number of intensity keypoints in the 2D image, and
Figure 0007358636000044
is the intensity value of the keypoint,
Figure 0007358636000045
are the corresponding intensity values of the key points from the loaded 2D reference maps 350a, 350b. calculated weight
Figure 0007358636000046
450 may be normalized.

それぞれ、ロードされた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からのキーポイントの座標である。 of each pixel from the loaded 2D reference map 350a, 350b, respectively.
Figure 0007358636000047
and
Figure 0007358636000048
is
Figure 0007358636000049
or
Figure 0007358636000050
A key point transformation is performed by the update module 320 to obtain from the loaded 2D reference maps 350a, 350b. The key point transformation is the following formula,
Figure 0007358636000051
can be done by where [x, y, Θ] is the pose given by the particle associated with the keypoint,
Figure 0007358636000052
are the coordinates of the key points from the 2D image 1000 in the LIDAR frame,
Figure 0007358636000053
are the coordinates of the key points from the loaded 2D reference maps 350a, 350b.

図10Bは、ロードされた2D参照地図上に図10Aの2D画像1000が重ね合わされた状態のロードされた2D参照地図350aを示す。キーポイント変換を使用して、2D画像1000は、2D参照地図350aにマッチングされ、重ね合わされた(またはその中に配置された)。 FIG. 10B shows the loaded 2D reference map 350a with the 2D image 1000 of FIG. 10A superimposed on the loaded 2D reference map. Using keypoint transformation, 2D image 1000 was matched and superimposed on (or placed within) 2D reference map 350a.

情報エントロピーによる垂直分布重み値と強度の重み値との合併
一部の実施形態において、垂直分布重み値および強度重み値は、粒子フィルタリングプロセス320を使用して更新モジュール320によって更新され得る。一部の実施形態において、測位は、垂直分布重み値または強度重み値のみを使用することによって行われ得る。本実施形態においては、垂直分布重み値460と強度重み値450とが、位置特定プロセスの堅牢性を高めるために更新モジュール320のサブモジュール470において合併される。更新モジュール320は、2D画像1000内の各キーポイントiに関して、垂直分布重み値

Figure 0007358636000054
460および強度重み値
Figure 0007358636000055
450の一方または両方を、少なくとも、垂直分布重み値
Figure 0007358636000056
460および強度重み値
Figure 0007358636000057
450の一方または両方の情報エントロピー値に基づいて更新するように構成される。 Merging Vertical Distribution Weight Values and Intensity Weight Values with Information Entropy In some embodiments, vertical distribution weight values and intensity weight values may be updated by update module 320 using particle filtering process 320. In some embodiments, positioning may be performed by using only vertically distributed weight values or intensity weight values. In this embodiment, vertical distribution weight values 460 and intensity weight values 450 are merged in submodule 470 of update module 320 to increase the robustness of the location process. For each key point i in the 2D image 1000, the update module 320 updates the vertical distribution weight value
Figure 0007358636000054
460 and intensity weight value
Figure 0007358636000055
At least one or both of the 450 vertical distribution weight values
Figure 0007358636000056
460 and intensity weight value
Figure 0007358636000057
450 is configured to update based on one or both of the information entropy values.

垂直分布重み値460の情報エントロピー値Hvertは、次の式、

Figure 0007358636000058
によって定義され、iは、1からNまでの整数であり、Nは、粒子フィルタの粒子の総数であり、
Figure 0007358636000059
は、第iの粒子の垂直分布重み値であり、
Figure 0007358636000060
は、キーポイントの垂直分布重み値460である。 The information entropy value H vert of the vertical distribution weight value 460 is calculated by the following formula,
Figure 0007358636000058
where i is an integer from 1 to N, N is the total number of particles in the particle filter,
Figure 0007358636000059
is the vertical distribution weight value of the i-th particle,
Figure 0007358636000060
is the vertical distribution weight value 460 of the keypoint.

強度重み値450の情報エントロピー値Hinteは、次の式、

Figure 0007358636000061
によって定義され、iは、1からNまでの整数であり、Nは、粒子フィルタの粒子の総数であり、
Figure 0007358636000062
は、第iの粒子の強度重み値であり、
Figure 0007358636000063
は、キーポイントの強度重み値460である。 The information entropy value H inte of the strength weight value 450 is calculated by the following formula,
Figure 0007358636000061
where i is an integer from 1 to N, N is the total number of particles in the particle filter,
Figure 0007358636000062
is the intensity weight value of the i-th particle,
Figure 0007358636000063
is the strength weight value 460 of the key point.

一部の実施形態において、粒子フィルタの粒子の総数Nは、予め決められた値を有する。たとえば、Nは、2000~5000の間の数であってよい。小さなNを用いる粒子フィルタリングプロセスは、高速である可能性があるが堅牢性に劣る可能性が高く、一方、大きなNを用いる粒子フィルタリングプロセスは、より低速であるが堅牢性により優れる可能性がある。 In some embodiments, the total number of particles N in the particle filter has a predetermined value. For example, N may be a number between 2000 and 5000. A particle filtering process with a small N is likely to be faster but less robust, whereas a particle filtering process with a larger N is likely to be slower but more robust. .

各粒子442は、可能な姿勢[x, y, Θ]を含み、N個の粒子は、N個の可能な姿勢につながる。粒子フィルタリング更新モジュール320は、N個の姿勢を使用して、キーポイントの座標を2D画像1000から2D参照地図350に移す。移されたキーポイントが2D参照地図350と非常によく一致している場合、この可能な姿勢(粒子)は高い重み値を受け取ってよく、そうでない場合、重み値は小さくなる。 Each particle 442 includes possible poses [x, y, Θ], and N particles lead to N possible poses. Particle filtering update module 320 uses N poses to transfer the coordinates of key points from 2D image 1000 to 2D reference map 350. If the transferred keypoint matches the 2D reference map 350 very well, this possible pose (particle) may receive a high weight value, otherwise the weight value will be small.

サブプロセス482によって、HvertおよびHinteの一方または両方が所与の閾値未満である(たとえば、0に非常に近い)とき、対応する垂直分布重み値

Figure 0007358636000064
460および対応する強度重み値
Figure 0007358636000065
450の一方または両方の更新は、スキップされることが可能であり、合併された重み
Figure 0007358636000066
が、粒子フィルタのすべての粒子を再サンプリングするために使用され、合併された重み
Figure 0007358636000067
は、式、
Figure 0007358636000068
に基づいて定義される。 Subprocess 482 determines the corresponding vertical distribution weight value when one or both of H vert and H inte is less than a given threshold (e.g., very close to 0).
Figure 0007358636000064
460 and the corresponding intensity weight value
Figure 0007358636000065
450 one or both updates can be skipped and the merged weight
Figure 0007358636000066
is used to resample all particles in the particle filter and the combined weights
Figure 0007358636000067
is the expression,
Figure 0007358636000068
Defined based on

それから、再サンプリングモジュール340が、合併された重みを用いて実行され得る。粒子フィルタ300における予測/更新/再サンプリングのサイクルを繰り返して、低周波数の2Dの姿勢が、更新された重み480を平均することに基づいて取得され得る。たとえば、これらの粒子の加重平均が、粒子フィルタモジュール300の出力である姿勢推定値[x', y', Θ'] 360である。出力周波数は、通常、10Hzなど、5~20Hzの間のLIDARスキャンシステム114の周波数と同じであってよい。これは、低周波数データと考えられる。 A resampling module 340 may then be performed using the combined weights. Repeating the prediction/update/resampling cycle in the particle filter 300, a low frequency 2D pose may be obtained based on averaging the updated weights 480. For example, the weighted average of these particles is the pose estimate [x', y', Θ'] 360 that is the output of the particle filter module 300. The output frequency may be the same as the frequency of the LIDAR scanning system 114, typically between 5 and 20 Hz, such as 10 Hz. This is considered low frequency data.

より詳細には、姿勢推定値[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の推定されたヨー角値Θ'を生成するように構成される。 More specifically, to generate the pose estimate [x', y', Θ'] 360, processor 102 calculates, for each keypoint in the 2D image, the position of the keypoint in 2D image 1000 [x k L , y k L ](on
Figure 0007358636000069
Based on the yaw angle value Θ L ), the corresponding map coordinates of the key points [x k M , y k M ] (
Figure 0007358636000070
It is configured to obtain the following: Processor 102 then determines the vehicle's position based on the corresponding map coordinates [x k M , y k M ] of the at least one keypoint and the corresponding one or both of vertical distribution weight value 460 and intensity weight value 450. configured to generate an estimated position [x', y']. Similarly, processor 102 calculates an estimated yaw angle value for vehicle 105 based on the yaw angle value Θ L of the at least one keypoint and the corresponding one or both of vertical distribution weight value 460 and intensity weight value 450. Θ'.

図11は、本開示の1つの例示的な実施形態による、乗り物の2D位置およびヨー角を決定する方法1100の流れ図である。方法1100は、たとえば、乗り物制御システム115のプロセッサ102によって実行されるソフトウェアにより実施されてよい。そのような方法1100を実施するためのソフトウェアのコーディングは、本開示を提供された当業者の範囲内である。方法1100は、追加のステップまたは図示されたおよび/もしくは説明されたよりも少ないステップを含む場合があり、異なる順序で実行される場合がある。方法1110を実行するためにプロセッサ102によって実行可能な機械可読コードが、乗り物制御システム115のメモリ126などの非一時的機械可読媒体に記憶されてよい。 FIG. 11 is a flowchart of a method 1100 for determining 2D position and yaw angle of a vehicle, according to one example embodiment of the present disclosure. Method 1100 may be implemented, for example, by software executed by processor 102 of vehicle control system 115. Coding software to implement such a method 1100 is within the scope of one of ordinary skill in the art given this disclosure. Method 1100 may include additional steps or fewer steps than illustrated and/or described and may be performed in a different order. Machine-readable code executable by processor 102 to perform method 1110 may be stored in a non-transitory machine-readable medium, such as memory 126 of vehicle control system 115.

方法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の推定された位置およびヨー角が、重み値に基づいて生成される。 Method 1100 begins at step 1101. At step 1100, an initial location of the vehicle 105 is received from a GPS unit, and the initial location may be represented by map coordinates [x ini , y ini ]. At step 1103, a 2D reference map 350 is downloaded based on the initial location of the vehicle 100, and in some embodiments, one or more image tiles of the 2D reference map are downloaded based on the location of the vehicle 100. Each image tile may be of a particular size with a side length of 2 to 5 meters, for example 3 meters. At step 1105, the 3D point cloud 410 from the LIDAR subsystem 114 may be received, and the 3D point cloud 410 may be processed to generate an untwisted 3D point cloud 430. In step 1107, the 3D point cloud (or untwisted 3D point cloud) 430 is converted into a 2D image containing a plurality of pixels. Step 1107 may include steps 1109 and 1111, and these steps may be performed simultaneously or sequentially. In step 1109, for each cell 620 of the 3D point cloud (or untwisted 3D point cloud) 430, a vertical distribution value is determined and stored in a first channel included in the dataset representing the cell 620. In step 1111, for each cell of the 3D point cloud (or untwisted 3D point cloud) 430, an intensity value is determined and stored in a second channel included in the dataset representing the cell 620. In step 1113, a plurality of vertical distribution keypoints and a plurality of intensity keypoints are generated for the 3D point cloud. At step 1115, vertical distribution weight values and intensity weight values for the data points are calculated and stored in memory 126. At step 1117, one or more weight values based on the information entropy value are updated, if appropriate. At step 1119, an estimated position and yaw angle of the vehicle 105 are generated based on the weight values.

6DOFの位置および向きの生成
図5は、本開示の1つの例示的な実施形態による、自律的な乗り物のリアルタイムの位置特定のための方法500を示すブロック図である。図12は、本開示の1つの例示的な実施形態による、自律的な乗り物のリアルタイムの位置特定のための方法1200の流れ図を示す。方法500、1200は、たとえば、乗り物制御システム115のプロセッサ102によって実行されるソフトウェアにより実施されてよい。そのような方法500、1200を実施するためのソフトウェアのコーディングは、本開示を提供された当業者の範囲内である。方法500、1200は、追加のステップまたは図示されたおよび/もしくは説明されたよりも少ないステップを含む場合があり、異なる順序で実行される場合がある。方法500、1200を実行するためにプロセッサ102によって実行可能な機械可読コードが、乗り物制御システム115のメモリ126などの非一時的機械可読媒体に記憶されてよい。
6DOF Position and Orientation Generation FIG. 5 is a block diagram illustrating a method 500 for real-time localization of autonomous vehicles, according to one example embodiment of the present disclosure. FIG. 12 shows a flowchart of a method 1200 for real-time localization of autonomous vehicles, according to one example embodiment of the present disclosure. Methods 500, 1200 may be implemented, for example, by software executed by processor 102 of vehicle control system 115. Coding software to implement such methods 500, 1200 is within the scope of those skilled in the art provided with this disclosure. Methods 500, 1200 may include additional steps or fewer steps than illustrated and/or described and may be performed in a different order. Machine readable code executable by processor 102 to perform methods 500, 1200 may be stored in a non-transitory machine readable medium, such as memory 126 of vehicle control system 115.

方法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の周波数値と同等の周波数値で取得される。
The method 500, 1200 begins at step 1210. In step 3103D, point cloud 410 is received from LIDAR scanning system 114 of vehicle 105 and odometry data 415 is received from wheel odometry unit 117 of vehicle 105. Optionally, additional odometry data may be received from IMU 118 of vehicle 105. As an optional step, the 3D point cloud 410 may be processed to generate a dewarped 3D point cloud 430. At step 1220, a series of 2D image tiles of the loaded 2D reference map 350a, 350b are downloaded from external storage (as described above) or from the memory 126 of the vehicle 100 based on the initial position of the vehicle 100. Retrieved from The initial position of vehicle 100 is obtained from GPS signals received from GPS satellites via satellite receiver 132. The initial position of vehicle 100 may include the coordinates of vehicle 100 [x ini , y ini ]. In some embodiments, the initial position of the vehicle 100 may further include an initial yaw angle value Θ ini of the vehicle 100. At step 1230, the particle filter process 300 generates a 2D image 1000 from the current 3D point cloud 410 acquired from the LIDAR scanning unit 114 or from the untwisted 3D point cloud 430 generated from the current 3D point cloud 410. to be executed. The 2D image 1000 may be rectangular or square (eg, 100m x 100m) with side lengths between 20 and 200m. At step 1230, a low frequency (eg, 5-20 Hz) attitude estimate [x', y', Θ'] 360 of the vehicle 100 is also output based on the process described above in connection with FIG. Ru. In step 1240, which can be parallel to steps 1210-1230, odometry data 415 from the IMU 118 and/or wheel odometry unit 117 of the vehicle 100 is obtained. Odometric data 415 may be acquired at a frequency of 50-200 Hz based on the operating frequency of IMU 118 or wheel odometry unit 117. In step 1250, the low frequency 2D pose estimate [x', y', Θ'] 360 is subjected to an Extended Kalman Filter (EKF) to obtain the final pose estimate [x f , y f , Θ f ] 530 ) 520 with the odometry data 415. This final pose estimate is obtained at a frequency value comparable to that of the IMU unit 118, which can be from 50 to 200 Hz.

ステップ1260において、座標[xf, yf, Θf] 530をロードされた2D参照地図350a、350bにマッピングし、ロードされた2D参照地図350a、350bの画像タイル820a、820b、820c内の対応する画素の第3の(B)チャネル790に記憶された高度の高さの値を調べることによって、高度値Zf 550が生成される。 In step 1260, coordinates [x f , y f , Θ f ] 530 are mapped to the loaded 2D reference maps 350a, 350b to correspond in image tiles 820a, 820b, 820c of the loaded 2D reference maps 350a, 350b. The altitude value Z f 550 is generated by examining the altitude height value stored in the third (B) channel 790 of the pixel.

ステップ1210から1260と並行して、オドメトリデータ5400が、IMU 118から受信され、乗り物105の最終的なロールRfおよび最終的なピッチPf 570が、姿勢決定アルゴリズム560に基づいて決定される。 In parallel with steps 1210 through 1260, odometry data 5400 is received from IMU 118 and the final roll R f and final pitch P f 570 of vehicle 105 are determined based on attitude determination algorithm 560.

ステップ1280において、乗り物105の最終的な6DOFの高周波数の姿勢580[xf, yf, zf]、ロールRf、ピッチPf、およびヨー角Θfが生成され、経路計画モジュール174などの乗り物100内の異なるユニットに出力される。 At step 1280, the final 6DOF high frequency attitude 580 [x f , y f , z f ], roll R f , pitch P f , and yaw angle Θ f of the vehicle 105 is generated, and the path planning module 174 , etc. Output to different units within 100 vehicles.

ステップ1290において、乗り物100が、乗り物100の高周波数の姿勢または場所580[Xf, Yf, Zf, Θf, Rf, Pf]に基づいて乗り物制御システム115によって制御されてよい。乗り物コントローラ115のプロセッサ102は、駆動制御システム150のためのコマンドまたは命令を生成する自律運転モジュール172の命令を実行してよい。駆動制御システム150は、乗り物100を乗り物100の軌道に従わせるようにステアリングユニット152、ブレーキユニット154、およびスロットルユニット156を制御する。 At step 1290, the vehicle 100 may be controlled by the vehicle control system 115 based on the high frequency attitude or location 580 of the vehicle 100 [X f , Y f , Z f , Θ f , R f , P f ]. Processor 102 of vehicle controller 115 may execute instructions of autonomous driving module 172 that generate commands or instructions for drive control system 150. Drive control system 150 controls steering unit 152, brake unit 154, and throttle unit 156 to cause vehicle 100 to follow the trajectory of vehicle 100.

本開示は、背景技術の節で説明された問題に対処するためのいくつかの技術的解決策を提案する。たとえば、情報エントロピーおよび合併された重みの使用は、垂直分布情報と強度との両方を利用して堅牢な位置特定プロセスを実現する。また、一部の実施形態の提案された解決策は、情報利得行列を利用して、各キーポイントの基礎となる形状的構造に基づいてキーポイントの重要度を示す。この方法によれば、提案された粒子フィルタアルゴリズムは、特定の種類のランドマーカーが欠落しているときにも依然として機能する。 This disclosure proposes several technical solutions to address the problems described in the background section. For example, the use of information entropy and combined weights utilizes both vertical distribution information and intensity to achieve a robust localization process. The proposed solution of some embodiments also utilizes an information gain matrix to indicate the importance of keypoints based on the underlying geometric structure of each keypoint. According to this method, the proposed particle filter algorithm still works when certain types of land markers are missing.

既存の2D位置特定方法とは異なり、提案された解決策は、2D位置特定アルゴリズムの計算の複雑さで高周波数の3D位置および向きを生成することができる。絶対高度Zfは、地域規模の3D点群地図から事前に取得された2D参照地図に埋め込まれた対応する高度の高さの情報と2D座標をマッチングすることによって計算される。 Unlike existing 2D localization methods, the proposed solution is able to generate high-frequency 3D position and orientation with the computational complexity of 2D localization algorithms. The absolute altitude Z f is calculated by matching the 2D coordinates with the corresponding altitude height information embedded in a 2D reference map previously obtained from a regional-scale 3D point cloud map.

Intel i7 CPUおよびLinuxオペレーティングシステムを備えたデスクトップPCにおいて、マッチング周波数は、乗り物100のLIDARスキャンシステム114の例示周波数である10Hzに達し得る。 On a desktop PC with an Intel i7 CPU and a Linux operating system, the matching frequency can reach 10 Hz, which is the exemplary frequency of the LIDAR scanning system 114 of the vehicle 100.

本開示において導入された2D参照地図は、サイズが小さく、小さなメモリ空間を占有する。たとえば、それぞれの100m x 100mの地図タイルは、約300KBであり、これは、セルラデータネットワークを介して複数の地図タイルをリアルタイムでダウンロードまたは転送することを容易にする。 The 2D reference map introduced in this disclosure is small in size and occupies small memory space. For example, each 100m x 100m map tile is approximately 300KB, which facilitates downloading or transferring multiple map tiles in real time over a cellular data network.

エントロピーに基づく融合方法は、測位の精度および堅牢性を向上させる。ロードテストの結果は、都市環境内で、位置の誤差が20cm未満であることを示す。姿勢誤差は、0.2度未満である(RTK-GPSの出力がグラウンドトゥルース(ground truth)として使用される)。さらに、アルゴリズムは、強度が検出され得ないときにうまく機能する。 Entropy-based fusion methods improve positioning accuracy and robustness. Road test results show that within an urban environment, the position error is less than 20cm. The attitude error is less than 0.2 degrees (RTK-GPS output is used as ground truth). Furthermore, the algorithm works well when no intensity can be detected.

一部の実施形態においては、2D画像1000を2D参照地図350にマッピングするために異なるアルゴリズムが使用される場合がある。たとえば、正規分布変換(NDT: Normal Distributions Transform)、反復最近接点(ICP: Iterative Closest Point)、または改良されたNDTもしくはICPアルゴリズムが、使用され得る。しかし、これらの方法で必要とされる地図サイズは、本発明に記載の提案された解決策によって必要とされる地図サイズよりもはるかに大きい傾向があり、NDT、ICPアルゴリズムを実行する計算の複雑さも、本発明に記載の提案された解決策を実行するために必要とされるよりも高い傾向がある。 In some embodiments, different algorithms may be used to map 2D image 1000 to 2D reference map 350. For example, a Normal Distributions Transform (NDT), Iterative Closest Point (ICP), or a modified NDT or ICP algorithm may be used. However, the map size required by these methods tends to be much larger than that required by the proposed solutions described in this invention, and the computational complexity of implementing the NDT, ICP algorithms Even this tends to be higher than is required to implement the proposed solution described in the present invention.

本開示において導入された位置特定方法は、屋内または屋外の移動ロボットまたはUAVにおいても使用され得る。 The localization method introduced in this disclosure can also be used in indoor or outdoor mobile robots or UAVs.

3D点群からの動的な物体のほとんどが、中に十分なレーザポイント(laser point)を持たないピクセルを排除することによって除去されたが、本開示において提案された特徴(たとえば、垂直分布および強度に基づくキーポイント)は、サイズが小さい。この解決策は、特徴のライフロングマッピング(lifelong mapping)に使用され得る。たとえば、特徴のサイズが比較的小さいので、乗り物は、セルラネットワークを通じて特徴データおよび位置特定結果を中央制御センターに送り返すことができる。中央制御センターは、これらの特徴データを使用して環境の変化を検出し、それに応じて地図を更新することができる。 Although most of the dynamic objects from the 3D point cloud were removed by eliminating pixels that do not have enough laser points in them, the features proposed in this disclosure (e.g., vertical distribution and Key points based on strength) are small in size. This solution can be used for lifelong mapping of features. For example, because the size of the features is relatively small, the vehicle can send feature data and location results back to a central control center through a cellular network. A central control center can use these feature data to detect changes in the environment and update the map accordingly.

説明された上述の方法を実施するためのソフトウェアおよびソフトウェアモジュールのコーディングは、本開示を考慮する当業者の範囲内である。上述の方法を実行するための1つ以上のそれぞれのデバイスの1つ以上のプロセッサによる実行のためのソフトウェアコードおよび/またはソフトウェアモジュールの実行可能な命令が、乗り物制御システムのメモリとしての機械可読媒体に記憶されてよい。本明細書において説明された流れ図および図面のステップおよび/または動作は、例示のみを目的とする。本開示の教示から逸脱しないこれらのステップおよび/または動作に対する多くの変更が存在する可能性がある。たとえば、ステップが、異なる順序で実行される場合があり、またはステップが、追加されるか、削除されるか、もしくは修正される場合がある。プロセッサ102は、方法1100または方法1200の動作の多くを実行するものとして説明されているが、1つ以上の専用のデジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、または画像プロセッサが、説明された動作の一部を実行するために使用されてよい。説明された動作を実行する特定の処理エンティティは、本開示を限定するように意図されていない。 The coding of software and software modules to implement the above-described methods is within the scope of those skilled in the art given this disclosure. Executable instructions of software code and/or software modules for execution by one or more processors of one or more respective devices for performing the methods described above are provided on a machine-readable medium, such as memory of a vehicle control system. may be stored in The flowchart and drawing steps and/or acts described herein are for illustrative purposes only. There may be many variations to these steps and/or operations that do not depart from the teachings of this disclosure. For example, steps may be performed in a different order, or steps may be added, deleted, or modified. Although processor 102 is described as performing many of the operations of method 1100 or method 1200, one or more dedicated digital signal processors (DSPs), graphics processing units (GPUs), or image processors may It may be used to perform some of the operations described. The particular processing entity that performs the described operations is not intended to limit this disclosure.

開示された範囲内のすべての値および部分的な範囲も、開示される。また、本明細書において開示され、示されたシステム、デバイス、およびプロセスは、特定の数の要素/構成要素を含む場合があるが、システム、デバイス、および組立体は、追加の要素/構成要素またはより少ないそのような要素/構成要素を含むように修正されてよい。たとえば、開示された要素/構成要素のいずれかが単数であるものとして参照される場合があるが、本明細書において開示された実施形態は、複数のそのような要素/構成要素を含むように修正されてよい。本明細書において説明された対象は、テクノロジーのすべての適切な変化を網羅し、包含することを意図している。 All values within the disclosed ranges and subranges are also disclosed. Additionally, although the systems, devices, and processes disclosed and illustrated herein may include a particular number of elements/components, the systems, devices, and assemblies may include additional elements/components. or may be modified to include fewer such elements/components. For example, although any of the disclosed elements/components may be referred to as singular, embodiments disclosed herein may include a plurality of such elements/components. May be corrected. The subject matter described herein is intended to cover and encompass all suitable variations in technology.

本開示が少なくとも部分的に方法の観点から説明されているが、当業者は、本開示が、ハードウェア(DSP、ASIC、またはFPGA)によるのか、ソフトウェアによるのか、またはそれらの組み合わせによるのかにかかわらず、説明された方法の態様および特徴の少なくとも一部を実行するための様々な構成要素も対象とすることを理解するであろう。したがって、本開示の技術的解決策は、処理デバイス(たとえば、乗り物制御システム)が本明細書において開示された方法の例を実行することを可能にする、その上に有形で記憶される実行可能な命令を記憶させた不揮発性または非一時的機械可読媒体(たとえば、光ディスク、フラッシュメモリなど)に具現化されてよい。 Although the present disclosure has been described at least in part in terms of methodologies, those skilled in the art will appreciate that the present disclosure may be implemented in hardware (DSP, ASIC, or FPGA), software, or a combination thereof. It will be appreciated that various components for carrying out at least some of the described method aspects and features are also covered. Accordingly, the technical solution of the present disclosure provides an executable tangibly stored thereon that enables a processing device (e.g., a vehicle control system) to perform the method examples disclosed herein. The instructions may be embodied in a non-volatile or non-transitory machine-readable medium (eg, an optical disk, flash memory, etc.) having instructions stored thereon.

本開示は、請求項の対象から逸脱することなしにその他の特定の形態で具現化される可能性がある。説明された例示的な実施形態は、すべての点において例示的とだけみなされるべきであり、限定的とみなされるべきではない。本開示は、テクノロジーのすべての適切な変化を網羅し、包含することを意図している。したがって、本開示の範囲は、上記の説明によってではなく添付の請求項によって示される。請求項の範囲は、例において説明された実施形態によって限定されるべきでなく、説明に合致する最も広い解釈をそのまますべて与えられるべきである。 The disclosure may be embodied in other specific forms without departing from the scope of the claims. The exemplary embodiments described are to be considered in all respects only as illustrative and not as restrictive. This disclosure is intended to cover and encompass all suitable changes in technology. The scope of the disclosure is, therefore, indicated by the appended claims rather than by the foregoing description. The scope of the claims should not be limited by the embodiments described in the examples, but should instead be given the broadest interpretation consistent with the description.

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 方法
100 autonomous vehicles
102 processor
110 sensors
112 camera
113 Controller
114 LIDAR scanning system
115 Vehicle control system, vehicle controller
116 SAR units
117 Wheel odometry unit
118 Inertial Measurement Unit (IMU)
120 Other sensors, laser light sources
122 Random Access Memory (RAM)
124 Read-only memory (ROM)
126 Persistent (non-volatile) memory
130 wireless transceiver, optical switch
132 satellite receiver
134 Real-time clock
136 touch screen
138 Speaker
140 Microphone, detector subsystem
142 Data Port
150 Drive control system
152 Steering unit
154 Brake unit
156 Throttle (or accelerator) unit
160 Operating System Software
162 Autonomous Driving System
164 Vehicle Location Module
166 Parking assistance module
168 Autonomous Parking Module
170 Driving support module
172 Autonomous Driving Module
174 Route Planning Module
176 Perception module
178 Other modules
180 data
182 sensor data
184 User data
186 Download cache
190 Mechanical Systems
192 engine
194 Transmission
196 Wheels
300 particle filter module
310 Prediction module
320 update module
340 Resampling Module
350 2D reference maps
350a 2D reference map
350b 2D reference map
3501 2D reference map
360 position and yaw angle, attitude [x', y', Θ']
400 update process
410 3D point cloud
415 Odometry data
430 Untwisted 3D point cloud
440 processes
442 particles
450 Intensity weight value
455 Intensity-based keypoint extraction and weight calculation process
460 Vertical distribution weight value
465 Keypoint extraction and weight calculation process based on vertical distribution
470 submodule
480 Updated weights
482 Subprocess
500 Location method
520 Extended Kalman Filter (EKF)
530 Final pose estimate [x f , y f , Θ f ]
550 Altitude value Z f
560 Attitude determination algorithm
570 Final roll R f and final pitch P f
580 High frequency pose or location [X f , Y f , Z f , Θ f , R f , P f ]
5400 Odometry data
600 three-dimensional (3D) point cloud
610 tiles
620 cells
625 sides
700a dataset
700b dataset
700c dataset
710 blocks
710a block
710b block
710c block
710d block
710e block
720a data point
720b data point
720c data point
720d data points
720e data points
720f data point
720g data point
720h data point
730 cells
732 cells
734 cells
736 cells
740 upper limit
743 Length R
745 lower limit
750a Maximum altitude height h i , altitude height value h 3
750b Maximum altitude height h i , altitude height value h 2
750c Maximum altitude height h i , altitude height value h 1
755 Minimum altitude height h MapMinimum
760 Maximum altitude h max_map
765 Minimum altitude h min_map
770a 1st channel
770b 1st channel
770c 1st channel
780a second channel
780b second channel
780c second channel
790 Third (B) Channel
790a 3rd channel
790b 3rd channel
790c 3rd channel
820 2D Reference Map Tiles
820a 2D reference map tile, 2D image tile
820b 2D reference map tile, 2D image tile
820c 2D reference map tiles, 2D image tiles
1000 2D images
1001 key points
1100 methods
1200 methods

Claims (19)

自律的な乗り物の位置特定のための方法であって、
前記自律的な乗り物の光検出および測距(LIDAR: light detection and ranging)スキャンシステムによってキャプチャされた、前記自律的な乗り物の周囲の環境の三次元(3D)点群を受信するステップと、
前記3D点群に基づいて前記環境の二次元(2D)画像を生成するステップであって、前記2D画像が、複数のピクセルを含み、前記複数のピクセルのそれぞれのピクセルが、前記ピクセルの垂直分布値を示す第1のチャネルおよび前記ピクセルの強度値を示す第2のチャネルの少なくとも一方を有する、ステップと、
前記2D画像に粒子フィルタリングプロセスを適用することによって前記乗り物の位置を推定するステップであって、前記第1のチャネルおよび第2のチャネルの少なくとも一方の値に基づいて粒子の重み値を生成または更新することを含むステップと、
前記自律的な乗り物の車輪オドメトリユニットからオドメトリデータを取り出すステップであって、前記オドメトリデータが、前記自律的な乗り物の回転を示す回転データおよび前記自律的な乗り物の平行移動を示す平行移動データを含む、ステップと、
前記自律的な乗り物の場所を生成するステップであって、前記自律的な乗り物の前記場所が、前記オドメトリデータおよび前記自律的な乗り物の推定された位置に基づいて決定された前記乗り物の最終的な位置、ならびに前記自律的な乗り物の前記最終的な位置および前記環境の2D参照地図に基づいて決定された前記乗り物の高度を含む、ステップとを含む、方法。
A method for autonomous vehicle localization, the method comprising:
receiving a three-dimensional (3D) point cloud of the environment around the autonomous vehicle captured by a light detection and ranging (LIDAR) scanning system of the autonomous vehicle;
generating a two-dimensional (2D) image of the environment based on the 3D point cloud, the 2D image including a plurality of pixels, each pixel of the plurality of pixels having a vertical distribution of the pixels; having at least one of a first channel indicative of a value and a second channel indicative of an intensity value of the pixel;
estimating the position of the vehicle by applying a particle filtering process to the 2D image, generating or updating particle weight values based on values of at least one of the first channel and the second channel; a step comprising :
retrieving odometry data from a wheel odometry unit of the autonomous vehicle, the odometry data comprising rotation data indicative of rotation of the autonomous vehicle and translation data indicative of translation of the autonomous vehicle; including, steps, and
generating a location of the autonomous vehicle, wherein the location of the autonomous vehicle is a final location of the vehicle determined based on the odometry data and the estimated location of the autonomous vehicle; and an altitude of the autonomous vehicle determined based on the final location of the autonomous vehicle and a 2D reference map of the environment.
前記2D画像に基づいて、前記自律的な乗り物のヨー角値を推定するステップ、
前記オドメトリデータおよび前記乗り物の推定されたヨー角値に基づいて前記自律的な乗り物の最終的なヨー角を決定するステップをさらに含み、
前記自律的な乗り物の前記場所が、前記乗り物の前記最終的なヨー角をさらに含む請求項1に記載の方法。
estimating a yaw angle value of the autonomous vehicle based on the 2D image;
further comprising determining a final yaw angle of the autonomous vehicle based on the odometry data and the estimated yaw angle value of the vehicle;
2. The method of claim 1, wherein the location of the autonomous vehicle further includes the final yaw angle of the vehicle.
前記自律的な乗り物の慣性測定ユニット(IMU)からさらなるオドメトリデータを取り出すステップであって、前記さらなるオドメトリデータが、前記自律的な乗り物の3軸角速度および前記自律的な乗り物の3軸加速度を含み、前記自律的な乗り物の前記最終的な位置が、前記IMUから取り出された前記さらなるオドメトリデータに基づいてさらに決定される、ステップをさらに含む請求項1または2に記載の方法。 retrieving further odometry data from an inertial measurement unit (IMU) of the autonomous vehicle, the further odometry data including a triaxial angular velocity of the autonomous vehicle and a triaxial acceleration of the autonomous vehicle; 3. A method according to claim 1 or 2, further comprising the step of: , the final position of the autonomous vehicle being further determined based on the further odometry data retrieved from the IMU. 前記IMUから取り出された前記さらなるオドメトリデータに基づいて前記乗り物の最終的なロール値および最終的なピッチを決定するステップをさらに含み、
前記乗り物の前記場所が、前記自律的な乗り物の前記最終的なロール値および前記最終的なピッチ値をさらに含む請求項3に記載の方法。
further comprising determining a final roll value and a final pitch of the vehicle based on the further odometry data retrieved from the IMU;
4. The method of claim 3, wherein the location of the vehicle further includes the final roll value and the final pitch value of the autonomous vehicle.
前記自律的な乗り物の前記最終的な位置が、拡張カルマンフィルタ(EKF)を使用して決定される請求項1から4のいずれか一項に記載の方法。 5. A method according to any preceding claim, wherein the final position of the autonomous vehicle is determined using an Extended Kalman Filter (EKF). 前記自律的な乗り物の最終的なヨー角値が、拡張カルマンフィルタ(EKF)を使用して決定される請求項2から5のいずれか一項に記載の方法。 6. A method according to any one of claims 2 to 5, wherein the final yaw angle value of the autonomous vehicle is determined using an Extended Kalman Filter (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のチャネルに保存すること、
前記セル内のすべてのデータ点の中で地面からの最も高い高度を有する前記セル内のデータ点の高さに基づいて前記セルの最高高度h max を決定すること、
前記セル内のすべてのデータ点の中で地面からの最も低い高度を有する前記セル内のデータ点の高さに基づいて前記セルの最低高度h min を決定すること、
h max とh min と間の差が所与の閾値h th 未満であると判定されるとき、前記セル内の1つ以上のデータ点の最大強度値に基づいて強度値を決定し、前記強度値を前記セルを表す前記データセットの前記第2のチャネルに保存すること、
h max とh min と間の差が前記閾値h th 以上であると判定されるとき、前記セルを表す前記データセットの前記第2のチャネルに値0を割り当てること、
各タイルに関して、各セルを表す前記データセットに基づいて、前記3D点群の2D画像を生成することを含む請求項1から6のいずれか一項に記載の方法。
the 3D point cloud includes a plurality of data points, each data point having an intensity value and a set of coordinates, and generating a two-dimensional (2D) image of the environment based on the 3D point cloud. ,
dividing the 3D point cloud into a plurality of tiles along a plane;
dividing each tile into a plurality of cells, each cell having a length T along the z-axis of the coordinate system, the length T having an upper limit parallel to the ground surface of the 3D point cloud; dividing, defined by a lower bound, each of the plurality of cells having a 2D position [x k L , y k L ] and a yaw angle value Θ L based on the coordinate system;
For each cell of each tile,
dividing the cell along the length T into a plurality of s blocks of equal height;
For each of the plurality of s blocks, an s-bit binary string is generated for each of the plurality of cells, and each binary digit of the s-bit binary string corresponds to one of the plurality of s blocks of the cell. assign a value 1 when said block contains at least one data point from said 3D point cloud, equal to the assigned value of the corresponding block in Assigning the value 0 when it does not contain
converting the s-bit binary string to a corresponding decimal number and storing the corresponding decimal number in the first channel of the data set representing the cell;
determining a maximum altitude h max of the cell based on the height of the data point in the cell that has the highest altitude above the ground among all data points in the cell;
determining a minimum altitude h min of the cell based on the height of the data point in the cell that has the lowest altitude above the ground among all data points in the cell;
When it is determined that the difference between h max and h min is less than a given threshold h th , determining an intensity value based on the maximum intensity value of one or more data points in said cell; storing a value in the second channel of the data set representing the cell;
assigning a value 0 to the second channel of the data set representing the cell when it is determined that the difference between h max and h min is greater than or equal to the threshold h th ;
7. A method according to any preceding claim, comprising, for each tile, generating a 2D image of the 3D point cloud based on the dataset representing each cell.
前記2D画像の各ピクセルの前記第1のチャネルの値に基づいて前記2D画像の前記ピクセルをソートし、ソートされたピクセルから、最初のm百個のピクセルを前記2D画像の垂直分布に関する複数のキーポイントとして選択するステップであって、各キーポイントが、前記キーポイントのそれぞれの第1のチャネルのそれぞれの値に等しい垂直分布値
を有する、ステップと、
前記複数のピクセルの各々のそれぞれの第2のチャネルのそれぞれの値に基づいて前記複数のピクセルを大きい方から小さい方に向かってソートし、ソートされたピクセルから、最初のl百個のピクセルを前記2D画像の強度に関する複数のキーポイントとして選択するステップであって、各キーポイントが、前記キーポイントのそれぞれの第2のチャネルのそれぞれの値に等しい強度値
を有する、ステップと、
前記2D画像内の垂直分布に関する各キーポイントに関して、垂直分布に関する前記キーポイントの重要度利得値を計算し、記憶するステップと、
垂直分布に関する少なくとも1つのキーポイントの前記重要度利得値に基づいて、前記2D画像の垂直分布重み値を計算し、記憶するステップと、
強度に関する少なくとも1つのキーポイントに基づいて、前記2D画像の強度重み値を計算し、記憶するステップと、
前記垂直分布重み値および前記強度重み値の一方または両方を、少なくとも、前記垂直分布重み値および前記強度重み値の一方または両方の情報エントロピー値に基づいて更新するステップとをさらに含む請求項7に記載の方法。
Sort the pixels of the 2D image based on the value of the first channel of each pixel of the 2D image, and from the sorted pixels, the first m hundred pixels are divided into multiple pixels with respect to the vertical distribution of the 2D image. selecting as key points, each key point having a vertically distributed value equal to a respective value of a respective first channel of said key point;
having a step;
sorting the plurality of pixels from larger to smaller based on the respective values of the respective second channels of each of the plurality of pixels, and from the sorted pixels, the first l hundred pixels selecting a plurality of key points for intensity of said 2D image, each key point having an intensity value equal to a respective value of a respective second channel of said key point;
having a step;
for each keypoint with respect to the vertical distribution in the 2D image, calculating and storing an importance gain value of the keypoint with respect to the vertical distribution;
calculating and storing a vertical distribution weight value of the 2D image based on the importance gain value of at least one key point with respect to the vertical distribution;
calculating and storing an intensity weight value of the 2D image based on at least one key point regarding intensity;
8. The method of claim 7, further comprising: updating one or both of the vertical distribution weight value and the intensity weight value based on at least an information entropy value of one or both of the vertical distribution weight value and the intensity weight value. Method described.
前記2D画像内の各キーポイントに関して、垂直分布に関する前記キーポイントの前記重要度利得値が、次の式、aij = -Nij + Nmax + kによって決定される値aijによって表され、iが、前記2D画像内の前記キーポイントの行番号を示し、jが、前記2D画像内の前記キーポイントの列番号を示し、Nmaxが、前記2D画像内で最も高い点を有する前記2D画像内の点の総数を示し、Nminが、前記2D画像内で最も小さい非ゼロの点を有する前記2D画像内の点の総数を示し、kが、正の整数である請求項8に記載の方法。 For each key point in the 2D image, the importance gain value of the key point with respect to the vertical distribution is represented by a value a ij determined by the following formula: a ij = -N ij + N max + k; i denotes the row number of the keypoint in the 2D image, j denotes the column number of the keypoint in the 2D image, and N max denotes the row number of the keypoint in the 2D image; 9. Denoting the total number of points in the image, N min designating the total number of points in the 2D image with the smallest non-zero point in the 2D image, and k is a positive integer. the method of. 前記垂直分布重み値が、
によって表され、式
によって決定され、kが、1からnまでの整数であり、nが、それぞれの2D画像内の垂直分布に関するキーポイントの総数mであり、
が、前記キーポイントの前記垂直分布値であり、akが、垂直分布に関する前記キーポイントの前記重要度利得値であり、
が、前記2D参照地図からの前記キーポイントの対応する垂直分布値であり、
前記2D画像内の各キーポイントに関して、前記強度重み値が、式、
によって定義される
によって表され、kが、1からnまでの整数であり、nが、前記2D画像内の強度に関するキーポイントの総数lであり、
が、前記キーポイントの前記強度値であり、
が、前記2D参照地図からの前記キーポイントの対応する強度値である請求項9に記載の方法。
The vertical distribution weight value is
represented by the formula
is determined by , k is an integer from 1 to n, n is the total number m of keypoints with respect to the vertical distribution in each 2D image, and
is the vertical distribution value of the keypoint, a k is the importance gain value of the keypoint with respect to the vertical distribution,
is the corresponding vertical distribution value of the keypoint from the 2D reference map,
For each keypoint in the 2D image, the intensity weight value is determined by the formula:
defined by
, k is an integer from 1 to n, n is the total number of intensity keypoints in the 2D image, and
is the intensity value of the key point,
10. The method of claim 9, wherein is the corresponding intensity value of the keypoint from the 2D reference map.
前記2D画像に粒子フィルタリングプロセスを適用することによって前記乗り物の位置を推定するステップが、
前記垂直分布重み値
および前記強度重み値
の一方または両方を、少なくとも、前記垂直分布重み値
および前記強度重み値
の一方または両方の前記情報エントロピー値に基づいて更新することを含み、
前記垂直分布重み値の前記情報エントロピー値Hvertが、次の式、
によって決定され、iが、1からNまでの整数であり、Nが、粒子フィルタの粒子の総数であり、
が、第iの粒子の前記垂直分布重み値であり、
前記強度重み値の前記情報エントロピー値Hinteが、次の式、
によって決定され、iが、1からNまでの整数であり、Nが、前記粒子フィルタの粒子の前記総数であり、
が、前記第iの粒子の前記強度重み値であり、
HvertおよびHinteの一方または両方が所与の閾値未満であるとき、対応する垂直分布重み値
および対応する強度重み値
の一方または両方の更新がスキップされ、合併された重み
が、前記粒子フィルタのすべての粒子を再サンプリングするために使用され、前記合併された重み
が、式、
に基づいて定義される請求項10に記載の方法。
estimating the position of the vehicle by applying a particle filtering process to the 2D image;
The vertical distribution weight value
and the intensity weight value
at least one or both of the vertically distributed weight values
and the intensity weight value
updating based on the information entropy value of one or both of;
The information entropy value H vert of the vertical distribution weight value is calculated by the following formula,
is determined by , where i is an integer from 1 to N, N is the total number of particles in the particle filter,
is the vertical distribution weight value of the i-th particle,
The information entropy value H inte of the intensity weight value is expressed by the following formula,
and i is an integer from 1 to N, and N is the total number of particles in the particle filter;
is the intensity weight value of the i-th particle,
When one or both of H vert and H inte is less than a given threshold, the corresponding vertical distribution weight value
and the corresponding intensity weight value
Updates of one or both of are skipped and the merged weights
is used to resample all particles in the particle filter and the combined weights
But the formula,
11. The method according to claim 10, defined based on.
前記粒子フィルタの粒子の前記総数が、予め決められた値を有する請求項11に記載の方法。 12. The method of claim 11, wherein the total number of particles in the particle filter has a predetermined value. 前記2D参照地図からの前記キーポイントの前記対応する垂直分布値が、前記2D参照地図内の前記ピクセルの地図座標に基づいて前記2D参照地図内の対応するピクセルの位置を突き止めることによって取得される請求項10から12のいずれか一項に記載の方法。 The corresponding vertical distribution values of the key points from the 2D reference map are obtained by locating the corresponding pixels in the 2D reference map based on map coordinates of the pixels in the 2D reference map. 13. A method according to any one of claims 10 to 12. 前記乗り物の前記場所が、前記さらなるオドメトリデータが前記IMUによって取得される周波数と同等の周波数で出力される請求項3または4に記載の方法。 5. A method according to claim 3 or 4 , wherein the location of the vehicle is output at a frequency comparable to the frequency at which the further odometry data is acquired by the IMU. 前記2D画像を生成する前に、前記3D点群を処理して前記3D点群のねじれを除去するステップをさらに含む請求項1から14のいずれか一項に記載の方法。 15. A method according to any preceding claim, further comprising processing the 3D point cloud to remove kinks in the 3D point cloud before generating the 2D image. 前記乗り物の初期位置に基づいて前記2D参照地図の1つ以上のタイルを動的にダウンロードするステップをさらに含む請求項1から15のいずれか一項に記載の方法。 16. The method of any preceding claim, further comprising dynamically downloading one or more tiles of the 2D reference map based on the initial position of the vehicle. 前記2D参照地図の1つ以上のタイルの各々が、20メートルから200メートルまでの間の辺の長さを有する正方形タイルである請求項1から16のいずれか一項に記載の方法。 17. A method according to any preceding claim, wherein each of the one or more tiles of the 2D reference map is a square tile with a side length between 20 meters and 200 meters. 自律的な乗り物の位置特定のためのシステムであって、
プロセッサと、
前記プロセッサに結合されたメモリであって、前記プロセッサによって実行されるときにシステムに請求項1から17のいずれか一項に記載の方法を実行させる実行可能な命令を有形で記憶する、メモリとを含む、システム。
A system for autonomous vehicle localization, the system comprising:
a processor;
18. A memory coupled to said processor for tangibly storing executable instructions which, when executed by said processor, cause a system to perform a method according to any one of claims 1 to 17 ; system, including.
乗り物制御システムのプロセッサによって実行されるときに前記乗り物制御システムに請求項1から17のいずれか一項に記載の方法を実行させる命令を含むコンピュータプログラム。 18. A computer program product comprising instructions that, when executed by a processor of a vehicle control system, cause said vehicle control system to perform the method of any one of claims 1 to 17 .
JP2022523024A 2019-10-16 2020-07-02 Method and system for real-time localization of autonomous vehicles Active JP7358636B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/655,132 2019-10-16
US16/655,132 US11262759B2 (en) 2019-10-16 2019-10-16 Method and system for localization of an autonomous vehicle in real time
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 (en) 2022-12-22
JP7358636B2 true JP7358636B2 (en) 2023-10-10

Family

ID=75490852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022523024A Active JP7358636B2 (en) 2019-10-16 2020-07-02 Method and system for real-time localization of autonomous vehicles

Country Status (4)

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

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021081125A1 (en) * 2019-10-21 2021-04-29 Piper Networks, Inc. Transit location systems and methods using lidar
DE102019216378A1 (en) * 2019-10-24 2021-04-29 Robert Bosch Gmbh Determination of a vehicle trajectory using limit cost functions
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 (en) * 2021-07-01 2021-10-01 清华四川能源互联网研究院 Relative positioning method and system for mobile robot
CN113609985B (en) * 2021-08-05 2024-02-23 诺亚机器人科技(上海)有限公司 Object pose detection method, detection device, robot and storable medium
CN113665591B (en) * 2021-09-28 2023-07-11 上海焱眼鑫睛智能科技有限公司 Unmanned control method, unmanned control device, unmanned control equipment and unmanned control medium
US11543246B1 (en) 2021-09-29 2023-01-03 Zimeno, Inc. Rear axle center locating
CN114911226B (en) * 2021-10-08 2023-06-30 广东利元亨智能装备股份有限公司 Carrier running control method and device and carrier
CN113946151A (en) * 2021-10-20 2022-01-18 北京百度网讯科技有限公司 Data processing method and device for automatic driving vehicle and automatic driving vehicle
US20230267640A1 (en) * 2022-02-21 2023-08-24 Ford Global Technologies, Llc Pose estimation
CN114510788B (en) * 2022-04-18 2022-08-16 北京中科慧眼科技有限公司 Time threshold model construction method and system based on vehicle automatic braking system
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 (en) * 2023-04-17 2023-06-13 禾多科技(北京)有限公司 Vehicle control method, apparatus, electronic device, and computer-readable medium
CN117237560B (en) * 2023-11-10 2024-02-23 腾讯科技(深圳)有限公司 Data processing method and related device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009544966A (en) 2006-07-27 2009-12-17 韓國電子通信研究院 Position calculation system and method using linkage between artificial sign and odometry
US20120030255A1 (en) 2009-04-20 2012-02-02 Xue Joel Q Systems and methods for modeling electrical activity of an anatomical structure
WO2012176249A1 (en) 2011-06-21 2012-12-27 国立大学法人奈良先端科学技術大学院大学 Self-position estimation device, self-position estimation method, self-position estimation program, and mobile object
JP2014123200A (en) 2012-12-20 2014-07-03 Toyota Motor Corp Moving body control apparatus, moving body control method, and control program
JP2016149090A (en) 2015-02-13 2016-08-18 株式会社リコー Autonomous mobile device, autonomous mobile system, autonomous mobile method and program
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 (en) * 2014-04-03 2015-10-08 Astrium Gmbh Position and orientation of objects
JP6335389B2 (en) 2015-05-20 2018-05-30 三菱電機株式会社 Point cloud image generation apparatus and display system
US10816654B2 (en) 2016-04-22 2020-10-27 Huawei Technologies Co., Ltd. Systems and methods for radar-based localization
WO2018063245A1 (en) * 2016-09-29 2018-04-05 The Charles Stark Draper Laboratory, Inc. Autonomous vehicle localization
US9971352B1 (en) * 2016-11-17 2018-05-15 GM Global Technology Operations LLC Automated co-pilot control for autonomous vehicles
US10837773B2 (en) 2016-12-30 2020-11-17 DeepMap Inc. Detection of vertical structures based on LiDAR scanner data for high-definition maps for autonomous vehicles
CN107194957B (en) 2017-04-17 2019-11-22 武汉光庭科技有限公司 The method that laser radar point cloud data is merged with information of vehicles in intelligent driving
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
EP3665507A4 (en) * 2017-09-13 2021-08-11 Velodyne Lidar USA, Inc. Multiple resolution, simultaneous localization and mapping based on 3-d lidar measurements
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 (en) 2019-04-22 2024-04-30 上海蔚来汽车有限公司 Method, apparatus and computer storage medium for generating high-definition map
CN110286387B (en) 2019-06-25 2021-09-24 深兰科技(上海)有限公司 Obstacle detection method and device applied to automatic driving system and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009544966A (en) 2006-07-27 2009-12-17 韓國電子通信研究院 Position calculation system and method using linkage between artificial sign and odometry
US20120030255A1 (en) 2009-04-20 2012-02-02 Xue Joel Q Systems and methods for modeling electrical activity of an anatomical structure
WO2012176249A1 (en) 2011-06-21 2012-12-27 国立大学法人奈良先端科学技術大学院大学 Self-position estimation device, self-position estimation method, self-position estimation program, and mobile object
JP2014123200A (en) 2012-12-20 2014-07-03 Toyota Motor Corp Moving body control apparatus, moving body control method, and control program
JP2016149090A (en) 2015-02-13 2016-08-18 株式会社リコー Autonomous mobile device, autonomous mobile system, autonomous mobile method and program
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
US20220144305A1 (en) 2022-05-12
JP2022553248A (en) 2022-12-22
WO2021073165A1 (en) 2021-04-22
US11262759B2 (en) 2022-03-01
EP4038416A1 (en) 2022-08-10
US20210116914A1 (en) 2021-04-22
EP4038416A4 (en) 2022-11-30

Similar Documents

Publication Publication Date Title
JP7358636B2 (en) Method and system for real-time localization of autonomous vehicles
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 (en) Methods and systems for object detection using laser point clouds
WO2019007263A1 (en) Method and device for calibrating external parameters of vehicle-mounted sensor
CN109307869B (en) Device and lighting arrangement for increasing the field of view of a lidar detector
US11275965B2 (en) Method for generation of an augmented point cloud with point features from aggregated temporal 3D coordinate data, and related device
CN116348739A (en) Map generation system and method based on ray casting and semantic image
JP7032062B2 (en) Point cloud data processing device, mobile robot, mobile robot system, and point cloud data processing method
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 (en) Method and system for scanning point cloud data of unmanned aerial vehicle in rainy environment
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 (en) Positioning method, positioning device, electronic equipment and storage medium
WO2024115493A1 (en) Electronic device and method
KR100910203B1 (en) Output device of geomorphic image for autonomous mobile platform, autonomous mobile platform having the same and output method of geomorphic image for autonomous mobile platform

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