JP7358636B2 - Method and system for real-time localization of autonomous vehicles - Google Patents
Method and system for real-time localization of autonomous vehicles Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 115
- 230000004807 localization Effects 0.000 title claims description 32
- 238000009826 distribution Methods 0.000 claims description 92
- 239000002245 particle Substances 0.000 claims description 65
- 230000008569 process Effects 0.000 claims description 34
- 238000001914 filtration Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000013519 translation Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 4
- 230000001133 acceleration Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 10
- 238000000605 extraction Methods 0.000 description 8
- 238000012952 Resampling Methods 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000005855 radiation Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000010813 municipal solid waste Substances 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 108050005509 3D domains Proteins 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 244000025254 Cannabis sativa Species 0.000 description 1
- 241001634884 Cochlicopa lubricella Species 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
- G01S17/894—3D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/10—Estimation 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/114—Yaw movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4808—Evaluating distance, position or velocity data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/027—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0272—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/408—Radar; Laser, e.g. lidar
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to overall vehicle dynamics
- B60W2520/14—Yaw
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to overall vehicle dynamics
- B60W2520/16—Pitch
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to overall vehicle dynamics
- B60W2520/18—Roll
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
- B60W2530/18—Distance travelled
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4041—Position
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4049—Relationship among other objects, e.g. converging dynamic objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering 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
本開示の別の態様において、方法は、2D画像の各ピクセルの第1のチャネルの値に基づいて2D画像のピクセルをソートし、ソートされたピクセルから、最初のm百個のピクセルを2D画像の垂直分布に関する複数のキーポイント(key point)として選択するステップであって、各キーポイントが、キーポイントのそれぞれの第1のチャネルのそれぞれの値に等しい垂直分布値
本開示の別の態様において、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.
本開示の別の態様において、垂直分布重み値は、
本開示の別の態様において、2D画像に粒子フィルタリングプロセスを適用することによって自律的な乗り物の位置を推定するステップは、垂直分布重み値
本開示の別の態様において、粒子フィルタの粒子の総数は、予め決められた値を有する。 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.
本開示は、実施形態が示される添付の図面を参照して行われる。しかし、多くの異なる実施形態が、使用されてよく、したがって、説明は、本明細書に記載された実施形態に限定されると解釈されるべきでない。むしろ、これらの実施形態は、本開示が徹底的で完全になるように提供される。同様の番号は、全体を通じて同様の要素を指し、プライム記号表記が、代替的な実施形態の同様の要素、動作、またはステップを示すために使用される。示されるシステムおよびデバイスの機能要素の別々の四角または図示される分割は、そのような要素の間の通信がいかなるそのような物理的な分割もせずにメッセージング、関数呼び出し、共有メモリ空間などによって行われてよいので、必ずしもそのような機能の物理的な分割を必要としない。したがって、機能は、物理的または論理的に分離されたプラットフォームに実装されるとは限らないが、本明細書においては説明を容易にするために別々に示される。一部のデバイスが一部の機能を機能の決められたハードウェアに実装するが、その他のデバイスは機械可読媒体から取得されたコードを用いるプログラミング可能なプロセッサにそのような機能を実装する場合があるように、異なるデバイスは、異なる設計を有してよい。 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
乗り物制御システム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
1つ以上のワイヤレストランシーバ130は、異なるワイヤレスデータ通信プロトコルおよび規格を使用して複数の異なる無線アクセスネットワーク(たとえば、セルラネットワーク)と通信するための1つ以上のセルラ(RF)トランシーバを含んでよい。乗り物制御システム115は、その地理的なカバーエリア内のワイヤレスWAN(たとえば、セルラネットワーク)の複数の固定トランシーバ基地局のうちのいずれか1つと通信してよい。1つ以上のワイヤレストランシーバ130は、ワイヤレスWANを介して信号を送受信してよい。1つ以上のワイヤレストランシーバ130は、複数の無線周波数帯をサポートするマルチバンドセルラトランシーバを含んでよい。
The one or more
1つ以上のワイヤレストランシーバ130は、ワイヤレスローカルエリアネットワーク(WLAN)アクセスポイント(AP)を介してWLAN(図示せず)と通信するためのWLANトランシーバも含んでよい。WLANは、IEEE 802.11x規格(Wi-Fi(登録商標)と呼ばれることもある)またはその他の通信プロトコルに準拠するWi-Fiワイヤレスネットワークを含んでよい。
One or more
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
リアルタイムクロック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
乗り物制御システム115は、1つ以上のスピーカ138、1つ以上のマイクロフォン140、およびシリアルデータポート(たとえば、ユニバーサルシリアルバス(USB)データポート)などの1つ以上のデータポート142も含む。システムは、タイヤ空気圧センサー(TPS)、ドア接触スイッチ、光センサー、近接センサーなどのその他のセンサーも含んでよい。
Vehicle control system 115 also includes one or more speakers 138, one or
駆動制御システム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
駐車支援モジュール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
ダウンロードキャッシュ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
乗り物制御システム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
図2は、本開示の1つの例示的な実施形態による乗り物100のLIDARスキャンシステム114の簡略化されたブロック図を示す。
FIG. 2 shows a simplified block diagram of a
LIDARスキャンシステム114は、1つ以上のプロセッサ(たとえば、マイクロプロセッサ)を含むコントローラ113と、レーザ光源120と、レーザ光源120に光学的に結合された光スイッチ130と、1つ以上のアバランシェフォトダイオード(APD)、電荷結合素子(CCD)センサー、相補型金属酸化膜半導体(CMOS)センサー、または微小電気機械システム(MEMS)センサーなどの1つ以上の検出器を含む検出器サブシステム140とを含む。
1つ以上のレーザを含むレーザ光源120は、レーザビームなどのレーザ光を生成し、送信するように構成される。レーザ光源120は、ガウシアンビームを生成してよい。レーザ光源120は、パルスレーザ光(たとえば、パルスビーム)を送信してよい。レーザ光源120は、概して、近赤外線(NIR)などの赤外線(IR)を放射するが、赤外線に加えてまたは赤外線の代わりに、1つ以上の種類の可視光および/または場合によっては紫外線(UV)を放射する場合がある。レーザ光源120は、複数のレーザを含んでよく、各レーザは、異なる種類の光を送信するように構成される。一例において、複数のレーザの各レーザは、赤外線または1つもしくは複数の種類の可視光のうちのそれぞれ1つを送信するように構成される。一例において、複数のレーザは、赤外線を送信するように構成された赤外線レーザ、青色光を送信するように構成された青色レーザ、赤色光を送信するように構成された赤色レーザ、および緑色光を送信するように構成された緑色レーザを含む。これらのレーザ光は、同時にまたは同時でなくレーザビームを送信するように制御されてよい。 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によって実行されてよい。
コントローラ113は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせの1つまたは組み合わせを使用してLIDARスキャンシステム114を制御してよい。ソフトウェアは、コントローラ1130によって実行されてよい。本明細書において説明される機能を実行するためのソフトウェアのコーディングは、本開示を提供された当業者の範囲内である。説明される機能を実行するためにコントローラ113によって実行可能な機械可読コードが、LIDARスキャンシステム114の非一時的な機械可読媒体(図示せず)に記憶されてよい。代替的に、コントローラ113の機能は、乗り物制御システム115のプロセッサ102によって実行されてよい。
検出器サブシステム140は、レーザ光源120によって放射された光の種類に対応する光を受信するように構成される。レーザ光源120が2つ以上の種類の光を送信するとき、検出器サブシステム140は、レーザ光源120によって(たとえば、複数のレーザによって)放射される異なる種類の光の各々を受信するように構成される。たとえば、LIDARスキャンシステム114が、赤外線を送信するように構成された赤外線レーザと、青色光を送信するように構成された青色レーザと、赤色光を送信するように構成された赤色レーザと、緑色光を送信するように構成された緑色レーザとを含むとき、検出器サブシステム140は、環境内の物体から反射された赤外線を受信するように構成された1つ以上の赤外線検出器と、環境内の物体から反射された青色光を受信するように構成された1つ以上の青色検出器と、環境内の物体から反射された赤色光を受信するように構成された1つ以上の赤色検出器と、環境内の物体から反射された緑色光を受信するように構成された1つ以上の緑色検出器とを含む。受信光学系アセンブリ(図示せず)が、検出器サブシステム140の1つ以上の検出器の前に設けられてよい。検出器サブシステム140の1つ以上の検出器は、光ファイバケーブル(図示せず)を介してコントローラに接続されてよい。複数のレーザ光の検出のために使用されるメカニズムは、所望の詳細な実装および要件に依存し、コヒーレント(ヘテロダインおよびホモダイン)またはインコヒーレント(強度に基づく)方式の両方に基づく場合がある。
光スイッチ130は、レーザ光源120からレーザ光を受信するように構成された1つの入力ポートおよび複数の出力ポートを有する1xn光スイッチである。1xn光スイッチ130は、コントローラ113の制御の下で、光ビームをn方向に向けるために使用されてよいプログラミング可能なビームを提供する。レーザ光源120は、光スイッチ130の入力ポートに光学的に直接結合されてよい。代替的に、レーザ光源120は、光ファイバーケーブルなど(図示せず)を介して光スイッチ130の入力ポートに光学的に結合されてよい。
光スイッチ130は、MEMS、シリコン上液晶(LCoS: liquid crystal on silicon)、シリコンフォトニクス(SiPh)、またはその他の好適な構造を使用して構築されてよい。スイッチアーキテクチャは、LIDARスキャンシステム114の最良の性能のためにカスタマイズされてよい。光スイッチ130を製造するために使用される技術に応じて、サブヘルツ(sub-hertz)からメガヘルツ(MHz)までの様々な掃引速度(すなわち、スキャンレート)が達成される場合がある。SiPhは、その他のアーキテクチャおよび比較に比べて、性能を向上させる場合がある。
自律的な乗り物の位置特定は、乗り物の測位、すなわち、何らかの座標系における乗り物の位置、たとえば、2D地図上の[x, y]または3D地図上の[x, y, z]の決定が含まれる。3D空間内の乗り物の場所(すなわち、乗り物の位置および向き)を表現する1つの方法は、直交座標系における乗り物の3D位置[x, y, z]と、乗り物のロール、ヨー、およびピッチを含む乗り物の向きとを含む6自由度(6DOF)表現を使用することである。自律的な乗り物のLIDARスキャンユニット114から取得されたLIDARデータと、3D参照地図とを使用して、乗り物の場所の6DOF表現が決定され得る。しかし、リアルタイムで自律的な乗り物の場所の6DOF表現を決定することは、実世界の状況においては、以下の問題、すなわち、1)都市規模の3D参照地図が、大きすぎて自律的な乗り物のメモリに記憶され得ない、2)セルラデータネットワークを通じて都市規模の3D参照地図を自律的な乗り物に送信することが、実行不可能であり、3)点群登録(すなわち、LIDARスキャンユニットから取得されたLIDARデータから生成された3D点群を、3Dの都市規模の3D参照地図に重なるように回転および平行移動するプロセス)が、非常に時間のかかる動作であり、乗り物105の乗り物制御システム115のプロセッサ102による実行に適さないという問題を有する。
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スキャンシステムから受信された現在の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
絶対座標系(たとえば、ユニバーサル横メルカトル座標系)における地域規模の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
三次元空間において、各セル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
一部の実施形態においては、下で説明されるように、データセット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
各セル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
データ点の高度の高さは、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
上述のように、データセット700a、700b、700cに含まれる第1のチャネル770a、770b、770cは、セル730、732、734のそれぞれの垂直分布値を記憶する場合がある。タイル610がn個のセルを有する場合、セル730、732、734の垂直分布値
たとえば、セル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,
別の例として、セル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,
さらに別の例として、セル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,
上述のように、データセット700a、700b、700cに含まれる第2のチャネル780a、780b、780cは、セル730、732、734のそれぞれの強度値を記憶する場合がある。タイル610がn個のセルを有する場合、セル730、732、734の強度値
第3のチャネル790a、790b、790cは、セル730、732、734のそれぞれの高度値を記憶してよい。タイル610がn個のセルを有する場合、セル730、732、734の高度の高さの値
たとえば、セル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に記憶する前に、変換方法が適用されてよい。適用されてよい例示的な変換方法は、メートルで表されたそれぞれの高度の高さの値
データセット700a、700b、700cは、2D画像タイルを生成するために使用され、2D画像タイルの各ピクセルは、3Dの地域規模の点群のタイル610のセル620に対応する。2D画像タイルの各ピクセルは、ピクセルの垂直分布値を示す第1のチャネルと、ピクセルの強度値を示す第2のチャネルとを含む。ピクセルの垂直分布値は、セル620を表すデータセットに含まれる第1のチャネルから取得され、ピクセルの強度値は、セル620を表すデータセットに含まれる第2のチャネルから取得される。各2D画像タイルは、2Dの地域規模の画像地図(本明細書においては2D参照地図と呼ばれる)を形成するために組み合わされ得る。
図7に示された例は4つのセル620のみを含むが、タイル610が任意の数のセル620に分割されてよいことは、理解されるであろう。
Although the example shown in FIG. 7 includes only four cells 620, it will be appreciated that
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
図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
ここで、本開示の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
予測モジュール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
乗り物100の初期姿勢に基づいて、更新モジュール320は、少なくとも、図4を参照して下で詳細に説明される、ダウンロードされた2D参照地図350、LIDARスキャンシステム114、車輪オドメトリユニット117、およびIMU 118からのデータに基づいて粒子のそれぞれの重み値を生成または更新するように構成される。
Based on the initial attitude of the
粒子の重み値から計算された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
更新モジュール320は、粒子の重み値を出力し、それらの重み値が、乗り物105の低周波数の姿勢[x', y', Θ'] 360を生成するために使用される。たとえば、これらの粒子の加重平均が、乗り物105の姿勢の推定値である。
The
図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
一部の実施形態において、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,
一部の実施形態において、乗り物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
垂直分布チャネルに関して、キーポイントは、乗り物100を測位する際に異なる重要性を持つ。概して、高くて細い物体または建物の面に対応するキーポイントは、樹冠などの不定形の物体に対応するキーポイントよりも重要である。
Regarding the vertically distributed channels, key points have different importance in positioning the
いくつかの例示的な実施形態においては、図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
垂直分布および強度の重み値の更新
再び図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
更新モジュール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
次に、更新モジュール320は、垂直分布に基づくキーポイント抽出および重み計算プロセス465によって、垂直分布に関する1つ以上のキーポイントを決定し、垂直分布に関するキーポイントを使用して1つ以上の垂直分布重み値460を計算するように構成される。
Next, the
一部の実施形態において、垂直分布に基づくキーポイント抽出および重み計算プロセス465は、プロセッサ102によって実行されることが可能であり、複数のピクセルの各々のそれぞれの第1のチャネルのそれぞれの値に基づいて複数のピクセルを大きい方から小さい方に向かってソートし、ソートされたピクセルの中から、最初のm百個のピクセルを2D画像の垂直分布に関するキーポイントとして選択するステップであって、各キーポイントが、キーポイントのそれぞれの第1のチャネルのそれぞれの値に等しい垂直分布値
次に、更新モジュール320は、2D画像内の垂直分布に関する各キーポイントに関して、垂直分布に関するキーポイントの重要度利得値を計算し、記憶するように構成される。重要度利得値は、各キーポイントの重要度を調整し、次の式、
aij = -Nij + Nmax + k
によって定義される値aijによって表され、iは、2D画像内のキーポイントの行番号を示し、jは、2D画像内のキーポイントの列番号を示し、Nmaxは、2D画像内で最も高い点を有する2D画像内の点の総数を示し、Nminは、2D画像内で最も小さい非ゼロの点を有する2D画像内の点の総数を示し、kは、正の整数である。
The
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
次に、更新モジュール320は、少なくとも垂直分布に関するキーポイントの重要度利得値に基づいて、2D画像の垂直分布重み値460を計算するように構成される。2D画像の垂直分布重み値460は、式
一部の実施形態において、更新モジュール320は、強度に基づくキーポイント抽出および重み計算プロセス455によって、強度に関する1つ以上のキーポイントを決定し、強度に関するキーポイントを使用して1つ以上の強度重み値450を計算するように構成される。
In some embodiments, the
一部の実施形態において、強度に基づくキーポイント抽出および重み計算プロセス455は、プロセッサ102によって実行されることが可能であり、複数のピクセルの各々のそれぞれの第2のチャネルのそれぞれの値に基づいて複数のピクセルを大きい方から小さい方に向かってソートし、ソートされたピクセルの中から、最初のl百個のピクセルを2D画像の強度に関するキーポイントとして選択するステップであって、各キーポイントが、キーポイントのそれぞれの第2のチャネルのそれぞれの値に等しい強度値
更新モジュール320は、強度に関する少なくとも1つのキーポイントに基づいて、2D画像の強度重み値450を計算するように構成される。強度重み値450は、式
それぞれ、ロードされた2D参照地図350a、350bからの各ピクセルの
図10Bは、ロードされた2D参照地図上に図10Aの2D画像1000が重ね合わされた状態のロードされた2D参照地図350aを示す。キーポイント変換を使用して、2D画像1000は、2D参照地図350aにマッチングされ、重ね合わされた(またはその中に配置された)。
FIG. 10B shows the loaded
情報エントロピーによる垂直分布重み値と強度の重み値との合併
一部の実施形態において、垂直分布重み値および強度重み値は、粒子フィルタリングプロセス320を使用して更新モジュール320によって更新され得る。一部の実施形態において、測位は、垂直分布重み値または強度重み値のみを使用することによって行われ得る。本実施形態においては、垂直分布重み値460と強度重み値450とが、位置特定プロセスの堅牢性を高めるために更新モジュール320のサブモジュール470において合併される。更新モジュール320は、2D画像1000内の各キーポイントiに関して、垂直分布重み値
垂直分布重み値460の情報エントロピー値Hvertは、次の式、
強度重み値450の情報エントロピー値Hinteは、次の式、
一部の実施形態において、粒子フィルタの粒子の総数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
サブプロセス482によって、HvertおよびHinteの一方または両方が所与の閾値未満である(たとえば、0に非常に近い)とき、対応する垂直分布重み値
それから、再サンプリングモジュール340が、合併された重みを用いて実行され得る。粒子フィルタ300における予測/更新/再サンプリングのサイクルを繰り返して、低周波数の2Dの姿勢が、更新された重み480を平均することに基づいて取得され得る。たとえば、これらの粒子の加重平均が、粒子フィルタモジュール300の出力である姿勢推定値[x', y', Θ'] 360である。出力周波数は、通常、10Hzなど、5~20Hzの間のLIDARスキャンシステム114の周波数と同じであってよい。これは、低周波数データと考えられる。
A
より詳細には、姿勢推定値[x', y', Θ'] 360を生成するために、プロセッサ102は、2D画像内の各キーポイントに関して、2D画像1000内のキーポイントの位置[xk
L, yk
L](上で
図11は、本開示の1つの例示的な実施形態による、乗り物の2D位置およびヨー角を決定する方法1100の流れ図である。方法1100は、たとえば、乗り物制御システム115のプロセッサ102によって実行されるソフトウェアにより実施されてよい。そのような方法1100を実施するためのソフトウェアのコーディングは、本開示を提供された当業者の範囲内である。方法1100は、追加のステップまたは図示されたおよび/もしくは説明されたよりも少ないステップを含む場合があり、異なる順序で実行される場合がある。方法1110を実行するためにプロセッサ102によって実行可能な機械可読コードが、乗り物制御システム115のメモリ126などの非一時的機械可読媒体に記憶されてよい。
FIG. 11 is a flowchart of a
方法1100は、ステップ1101において始まる。ステップ1100において、乗り物105の初期位置が、GPSユニットから受信され、初期位置は、地図座標[xini, yini]によって表されてよい。ステップ1103において、2D参照地図350が、乗り物100の初期位置に基づいてダウンロードされ、一部の実施形態においては、2D参照地図の1つ以上の画像タイルが、乗り物100の位置に基づいてダウンロードされてよく、各画像タイルは、たとえば、3メートルなど、2~5メートルの辺の長さの特定のサイズであってよい。ステップ1105において、LIDARサブシステム114からの3D点群410が、受信され、3D点群410は、ねじれを除去された3D点群430を生成するために処理され得る。ステップ1107において、3D点群(またはねじれを除去された3D点群)430が、複数のピクセルを含む2D画像に変換される。ステップ1107は、ステップ1109および1111を含んでよく、これらのステップは、同時にまたは逐次的に実行されてよい。ステップ1109において、3D点群(またはねじれを除去された3D点群)430の各セル620に関して、垂直分布値が決定され、セル620を表すデータセットに含まれる第1のチャネルに記憶される。ステップ1111において、3D点群(またはねじれを除去された3D点群)430の各セルに関して、強度値が決定され、セル620を表すデータセットに含まれる第2のチャネルに記憶される。ステップ1113において、3D点群に関する複数の垂直分布のキーポイントおよび複数の強度のキーポイントが生成される。ステップ1115において、データ点の垂直分布重み値および強度重み値が計算され、メモリ126に記憶される。ステップ1117において、適切な場合、情報エントロピー値に基づく1つ以上の重み値が更新される。ステップ1119において、乗り物105の推定された位置およびヨー角が、重み値に基づいて生成される。
6DOFの位置および向きの生成
図5は、本開示の1つの例示的な実施形態による、自律的な乗り物のリアルタイムの位置特定のための方法500を示すブロック図である。図12は、本開示の1つの例示的な実施形態による、自律的な乗り物のリアルタイムの位置特定のための方法1200の流れ図を示す。方法500、1200は、たとえば、乗り物制御システム115のプロセッサ102によって実行されるソフトウェアにより実施されてよい。そのような方法500、1200を実施するためのソフトウェアのコーディングは、本開示を提供された当業者の範囲内である。方法500、1200は、追加のステップまたは図示されたおよび/もしくは説明されたよりも少ないステップを含む場合があり、異なる順序で実行される場合がある。方法500、1200を実行するためにプロセッサ102によって実行可能な機械可読コードが、乗り物制御システム115のメモリ126などの非一時的機械可読媒体に記憶されてよい。
6DOF Position and Orientation Generation FIG. 5 is a block diagram illustrating a
方法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
ステップ1260において、座標[xf, yf, Θf] 530をロードされた2D参照地図350a、350bにマッピングし、ロードされた2D参照地図350a、350bの画像タイル820a、820b、820c内の対応する画素の第3の(B)チャネル790に記憶された高度の高さの値を調べることによって、高度値Zf 550が生成される。
In
ステップ1210から1260と並行して、オドメトリデータ5400が、IMU 118から受信され、乗り物105の最終的なロールRfおよび最終的なピッチPf 570が、姿勢決定アルゴリズム560に基づいて決定される。
In parallel with
ステップ1280において、乗り物105の最終的な6DOFの高周波数の姿勢580[xf, yf, zf]、ロールRf、ピッチPf、およびヨー角Θfが生成され、経路計画モジュール174などの乗り物100内の異なるユニットに出力される。
At
ステップ1290において、乗り物100が、乗り物100の高周波数の姿勢または場所580[Xf, Yf, Zf, Θf, Rf, Pf]に基づいて乗り物制御システム115によって制御されてよい。乗り物コントローラ115のプロセッサ102は、駆動制御システム150のためのコマンドまたは命令を生成する自律運転モジュール172の命令を実行してよい。駆動制御システム150は、乗り物100を乗り物100の軌道に従わせるようにステアリングユニット152、ブレーキユニット154、およびスロットルユニット156を制御する。
At
本開示は、背景技術の節で説明された問題に対処するためのいくつかの技術的解決策を提案する。たとえば、情報エントロピーおよび合併された重みの使用は、垂直分布情報と強度との両方を利用して堅牢な位置特定プロセスを実現する。また、一部の実施形態の提案された解決策は、情報利得行列を利用して、各キーポイントの基礎となる形状的構造に基づいてキーポイントの重要度を示す。この方法によれば、提案された粒子フィルタアルゴリズムは、特定の種類のランドマーカーが欠落しているときにも依然として機能する。 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
本開示において導入された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
本開示において導入された位置特定方法は、屋内または屋外の移動ロボットまたは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
開示された範囲内のすべての値および部分的な範囲も、開示される。また、本明細書において開示され、示されたシステム、デバイス、およびプロセスは、特定の数の要素/構成要素を含む場合があるが、システム、デバイス、および組立体は、追加の要素/構成要素またはより少ないそのような要素/構成要素を含むように修正されてよい。たとえば、開示された要素/構成要素のいずれかが単数であるものとして参照される場合があるが、本明細書において開示された実施形態は、複数のそのような要素/構成要素を含むように修正されてよい。本明細書において説明された対象は、テクノロジーのすべての適切な変化を網羅し、包含することを意図している。 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.
前記オドメトリデータおよび前記乗り物の推定されたヨー角値に基づいて前記自律的な乗り物の最終的なヨー角を決定するステップをさらに含み、
前記自律的な乗り物の前記場所が、前記乗り物の前記最終的なヨー角をさらに含む請求項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.
前記乗り物の前記場所が、前記自律的な乗り物の前記最終的なロール値および前記最終的なピッチ値をさらに含む請求項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.
前記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.
前記複数のピクセルの各々のそれぞれの第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;
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;
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画像内の各キーポイントに関して、前記強度重み値が、式、
For each keypoint in the 2D image, the intensity weight value is determined by the formula:
前記垂直分布重み値
前記垂直分布重み値の前記情報エントロピー値Hvertが、次の式、
前記強度重み値の前記情報エントロピー値Hinteが、次の式、
HvertおよびHinteの一方または両方が所与の閾値未満であるとき、対応する垂直分布重み値
The vertical distribution weight value
The information entropy value H vert of the vertical distribution weight value is calculated by the following formula,
The information entropy value H inte of the intensity weight value is expressed by the following formula,
When one or both of H vert and H inte is less than a given threshold, the corresponding vertical distribution weight value
プロセッサと、
前記プロセッサに結合されたメモリであって、前記プロセッサによって実行されるときにシステムに請求項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.
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)
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)
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)
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 |
-
2019
- 2019-10-16 US US16/655,132 patent/US11262759B2/en active Active
-
2020
- 2020-07-02 JP JP2022523024A patent/JP7358636B2/en active Active
- 2020-07-02 WO PCT/CN2020/099860 patent/WO2021073165A1/en unknown
- 2020-07-02 EP EP20876756.6A patent/EP4038416A4/en active Pending
-
2022
- 2022-01-25 US US17/584,058 patent/US20220144305A1/en active Pending
Patent Citations (6)
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 |