KR20230074694A - Radar를 사용한 확장 대상체 추적 - Google Patents
Radar를 사용한 확장 대상체 추적 Download PDFInfo
- Publication number
- KR20230074694A KR20230074694A KR1020230066234A KR20230066234A KR20230074694A KR 20230074694 A KR20230074694 A KR 20230074694A KR 1020230066234 A KR1020230066234 A KR 1020230066234A KR 20230066234 A KR20230066234 A KR 20230066234A KR 20230074694 A KR20230074694 A KR 20230074694A
- Authority
- KR
- South Korea
- Prior art keywords
- cluster
- clusters
- velocity
- points
- track
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 46
- 230000033001 locomotion Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 10
- 230000001186 cumulative effect Effects 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 10
- 238000004891 communication Methods 0.000 description 35
- 238000013439 planning Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000013459 approach Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000005259 measurement Methods 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 230000004807 localization Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000004927 fusion Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000001149 cognitive effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013488 ordinary least square regression Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000001429 visible spectrum 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/66—Radar-tracking systems; Analogous systems
- G01S13/72—Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar
- G01S13/723—Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar by using numerical data
-
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/66—Radar-tracking systems; Analogous systems
- G01S13/72—Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar
- G01S13/723—Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar by using numerical data
- G01S13/726—Multiple target tracking
-
- 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/02—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 ambient conditions
-
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/06—Systems determining position data of a target
- G01S13/42—Simultaneous measurement of distance and other co-ordinates
-
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/50—Systems of measurement based on relative movement of target
- G01S13/52—Discriminating between fixed and moving objects or between objects moving at different speeds
-
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/50—Systems of measurement based on relative movement of target
- G01S13/58—Velocity or trajectory determination systems; Sense-of-movement determination systems
- G01S13/581—Velocity or trajectory determination systems; Sense-of-movement determination systems using transmission of interrupted pulse modulated waves and based upon the Doppler effect resulting from movement of targets
- G01S13/582—Velocity or trajectory determination systems; Sense-of-movement determination systems using transmission of interrupted pulse modulated waves and based upon the Doppler effect resulting from movement of targets adapted for simultaneous range and velocity measurements
-
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/50—Systems of measurement based on relative movement of target
- G01S13/58—Velocity or trajectory determination systems; Sense-of-movement determination systems
- G01S13/589—Velocity or trajectory determination systems; Sense-of-movement determination systems measuring the velocity vector
-
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/66—Radar-tracking systems; Analogous systems
-
- 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
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous 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
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/66—Tracking systems using electromagnetic waves other than radio waves
-
- 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/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
- G01S7/41—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
- G01S7/415—Identification of targets based on measurements of movement associated with the target
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Traffic Control Systems (AREA)
Abstract
RADAR 리턴 포인트만을 사용한 확장 대상체 추적을 위한 기술이 제공된다. 이 기술은 차량의 적어도 하나의 RADAR 센서로부터 리턴 포인트를 수신하는 것을 포함한다. 리턴 포인트에 기초하여 또는 리턴 포인트로부터 하나 이상의 클러스터가 생성된다. 하나 이상의 클러스터의 각각의 클러스터의 추정된 위치 및 속도가 계산된다. 정확한 트랙-클러스터 연관을 가능하게 하고, 계산적으로 비용이 많이 드는 비선형 상태 업데이트를 수행할 필요를 없애주며, 많은 양의 복잡함을 갖는 프레임에서도 실제 속도의 추정을 가능하게 하는, 클러스터의 순간 속도를 실시간으로 추정하는 RLS(Recursive Least Squares) 기반 알고리즘이 제안된다. 하나 이상의 클러스터가 기존의 대상체 트랙과 연관되어 있다고 결정되면, 기존의 대상체 트랙은 기존의 대상체 트랙과 연관된 하나 이상의 클러스터의 적어도 각자의 위치를 사용하여 업데이트된다.
Description
본 설명은 일반적으로 차량의 동작, 구체적으로는 대상체 추적에 관한 것이다.
확장 대상체 추적(Extended Object Tracking; EOT)은 대상체당 하나 초과의 리턴 포인트(return point)가 있을 때 실세계 대상체를 추적하는 것을 지칭한다. 대상체를 검출하기 위해 자동차 응용 분야에서의 고 분해능 센서의 등장 및 사용으로, 대상체당 다수의 리턴 포인트가 통상적이다. 대상체당 다수의 리턴 포인트는 대상체의 형상과 크기 및 그의 움직임 상태(예를 들어, 위치, 속도 및 헤딩(heading))에 관해 추론할 수 있게 한다. EOT는 다수의 리턴 포인트를 함께 그룹화하여, 그룹화된 리턴 포인트 주위에 경계 박스를 그리고 시간 경과에 따라 리턴 포인트 또는 리턴 포인트의 덩어리(mass)를 추적한다. 기존의 EOT 솔루션의 일부 도전과제는: 1) 동일한 대상체로부터의 리턴 포인트를 함께 그룹화하고 상이한 대상체에 속하는 리턴 포인트를 그룹화하지 않는 것; 2) 새로운 리턴 포인트를 기존의 트랙과 연관시키는 것; 3) 새로운 리턴 포인트 세트에 기초하여 기존의 트랙(들)을 업데이트하는 것; 및 4) 노이즈인 리턴 포인트를 검출하고 거부하는 것을 포함하지만 이에 제한되지는 않는다.
RADAR 리턴 포인트만을 사용한 확장 대상체 추적을 위한 기술이 제공된다. 이러한 기술은: 차량의 하나 이상의 프로세서를 사용하여, 차량의 적어도 하나의 RADAR 센서로부터 리턴 포인트를 수신하는 것; 하나 이상의 프로세서를 사용하여, 리턴 포인트의 하나 이상의 클러스터를 생성하는 것; 하나 이상의 프로세서를 사용하여, 하나 이상의 클러스터의 각각의 클러스터의 추정된 위치 및 속도를 계산하는 것; 하나 이상의 프로세서를 사용하여, 하나 이상의 클러스터가 기존의 대상체 트랙과 연관되는지를 결정하는 것; 및 하나 이상의 클러스터가 기존의 대상체 트랙과 연관되는 것에 따라, 적어도 기존의 대상체 트랙과 연관된 하나 이상의 클러스터의 각자의 위치를 사용하여 기존의 대상체 트랙을 업데이트하는 것을 포함한다.
일 실시예에서, 도로 경계와 같은, 선행 맵(prior map) 특징부로부터 임계 범위 초과 떨어져 있는 리턴 포인트는 필터링 제거된다.
일 실시예에서, 임계 범위 레이트(threshold range rate)보다 작은 에르고 움직임 보상된(ergo-motion compensated) 범위 레이트를 갖는 리턴 포인트는 필터링 제거된다.
일 실시예에서, 하나 이상의 클러스터를 생성하기 전에, RADAR 포인트 클라우드의 포인트 밀도를 증가시키기 위해 다수의 RADAR 시간 스텝 또는 프레임에 대한 리턴 포인트가 누적된다.
일 실시예에서, 리턴 포인트의 하나 이상의 클러스터를 생성하는 것은, DBSCAN과 같은, 밀도 기반 공간 클러스터링을 사용하여 리턴 포인트를 클러스터링하는 것을 포함한다.
일 실시예에서, 밀도 기반 공간 클러스터링은 하나 이상의 클러스터를 확장시키기 위해 리턴 포인트 주위의 타원형 영역을 사용하고, 타원형 영역은 교통 흐름에 평행한 장축을 갖는다.
일 실시예에서, 하나 이상의 클러스터를 생성한 후에, 각각의 클러스터의 길이, 폭 및 중심이 계산되며, 여기서 중심은 클러스터의 대표 위치이고 클러스터에 속하는 모든 리턴 포인트는 중심에 집중된 것으로 가정된다.
일 실시예에서, 중심은 클러스터의 극단 포인트(extreme point)를 사용하여 클러스터 주위에 맞는 경계 박스를 사용하여 결정된다.
일 실시예에서, 하나 이상의 클러스터의 각각의 클러스터에 대한 헤딩은 하나 이상의 클러스터의 각각의 클러스터의 각자의 속도를 사용하여 계산된다.
일 실시예에서, 길이는 헤딩의 방향에서 리턴 포인트들 사이의 최대 거리로서 정의된다.
일 실시예에서, 폭은 헤딩에 수직인 리턴 포인트들 사이의 최대 거리로서 정의된다.
일 실시예에서, 리턴 포인트는 길이, 폭 및 중심을 계산하기 전에 글로벌 기준 프레임(global reference frame)의 축에 정렬된다.
일 실시예에서, 하나 이상의 클러스터의 각자의 추정된 위치 및 속도와 기존의 대상체 트랙의 예측된 위치 및 속도 사이의 차이를 계산하고, 차이가 위치 및 속도에 대한 각자의 임계 값 미만인지를 결정하는 것에 의해 하나 이상의 클러스터의 각각의 클러스터가 기존의 대상체 트랙과 연관되는지를 결정한다.
일 실시예에서, 하나 이상의 클러스터의 각각의 클러스터의 추정된 속도를 계산하는 것은 하나 이상의 RLS(recursive least squares) 필터를 사용하여 클러스터의 속도를 추정하는 것을 추가로 포함한다.
일 실시예에서, 하나 이상의 클러스터의 각각의 클러스터의 업데이트된 추정된 속도를 임계 속도와 비교하고, 업데이트된 추정된 속도가 임계 속도를 초과하는 경우, 업데이트된 추정된 속도가 임계 속도를 초과하게 한 리턴 포인트를 필터링한다.
일 실시예에서, RLS 필터의 앙상블이 클러스터 속도를 추정하는 데 사용되며, 여기서 각각의 RLS 필터의 속도는, 리턴 포인트가 얼마나 이동했는지를 시간 스텝들 또는 프레임들 사이의 시간 차이로 나눈 값을 추정함으로써 획득되는, 클러스터 누적 이력으로부터 계산되는 속도를 사용하여 초기화된다. 또한, 클러스터 내의 리턴 포인트는 RLS 필터의 앙상블을 업데이트하기 위해 상이한 랜덤한 순서로 있도록 셔플링된다.
일 실시예에서, 2개 이상의 클러스터가 기존의 대상체 트랙과 연관되어 있는 경우, 2개 이상의 클러스터로부터의 리턴 포인트가 단일의 더 큰 클러스터에 동화되고 단일의 더 큰 클러스터의 추정된 위치 및 속도가 계산된다.
일 실시예에서, 하나 이상의 클러스터가 기존의 대상체 트랙과 연관되지 않은 경우, 새로운 대상체 트랙이 클러스터의 위치, 속도로 초기화되고, 그 트랙의 길이와 폭이 미리 정의된 값에 할당된다.
일 실시예에서, 기존의 대상체 트랙의 상태는 칼만 필터(Kalman Filter)를 사용하여 유지 및 업데이트되고, 그 상태는 추적되는 대상체의 추정된 위치, 속도, 길이 및 폭을 포함한다.
일 실시예에서, 칼만 필터는 모델 예측을 위해 등속 운동 모델(constant velocity motion model)을 이용하는 선형 칼만 필터이다.
일 실시예에서, 클러스터의 추정된 속도는 칼만 필터의 속도 상태를 업데이트하는 데 사용된다.
일 실시예에서, 기존의 대상체 트랙이 N회 반복에 대해 클러스터와 연관되지 않는 경우, 기존의 대상체 트랙이 종료된다(예를 들어, 메모리로부터 소거됨).
개시된 실시예들 중 하나 이상은 이하의 이점들 중 하나 이상을 제공한다. EOT 실시예: 1) 대상체의 위치 및 속도 외에도 대상체의 크기(extent)(길이와 폭)에 대한 정확한 계산을 제공한다; 2) 다수의 클러스터와 연관될 수 있는 트럭 및 버스와 같은 긴 대상체에 대한 더 나은 추적을 달성한다; 3) 회전하는 대상체의 더 나은 추적을 달성한다; 4) 클러스터링 알고리즘의 정확도에 대한 감소된 의존성을 갖는다; 및 5) LKF가 그의 비선형 대응물 대신에 사용되기 때문에 트랙 관리를 위한 계산을 감소시키는 정확한 순간 속도 추정치를 제공한다.
이들 및 다른 양태, 특징, 및 구현예는 기능을 수행하기 위한 방법, 장치, 시스템, 컴포넌트, 프로그램 제품, 수단 또는 단계로서, 및 다른 방식으로 표현될 수 있다.
이들 및 다른 양태, 특징, 및 구현은, 청구항을 포함하여, 이하의 설명으로부터 명백해질 것이다.
도 1은 하나 이상의 실시예에 따른, 자율 주행 능력을 갖는 자율 주행 차량(autonomous vehicle)의 예를 도시한다.
도 2는 하나 이상의 실시예에 따른, 예시적인 "클라우드" 컴퓨팅 환경을 예시한다.
도 3은 하나 이상의 실시예에 따른, 컴퓨터 시스템을 예시한다.
도 4는 하나 이상의 실시예에 따른, AV에 대한 예시적인 아키텍처를 도시한다.
도 5는 하나 이상의 실시예에 따른, 인지 모듈에 의해 사용될 수 있는 입력 및 출력의 일 예를 도시한다.
도 6은 하나 이상의 실시예에 따른, LiDAR 시스템의 일 예를 도시한다.
도 7은 하나 이상의 실시예에 따른, 동작 중인 LiDAR 시스템을 도시한다.
도 8은 하나 이상의 실시예에 따른, LiDAR 시스템의 동작을 추가적으로 상세하게 도시한다.
도 9는 하나 이상의 실시예에 따른, 계획 모듈의 입력과 출력 사이의 관계의 블록 다이어그램을 도시한다.
도 10은 하나 이상의 실시예에 따른, 경로 계획에서 사용되는 방향 그래프를 도시한다.
도 11은 하나 이상의 실시예에 따른, 제어 모듈의 입력 및 출력의 블록 다이어그램을 도시한다.
도 12는 하나 이상의 실시예에 따른, 제어기의 입력, 출력, 및 컴포넌트의 블록 다이어그램을 도시한다.
도 13a는 하나 이상의 실시예에 따른, RADAR을 사용한 확장 대상체 추적을 위한 프로세스의 흐름 다이어그램이다.
도 13b는 일 실시예에 따른, 클러스터의 중심을 추정하는 데 관여된 단계를 예시한다.
도 14는 하나 이상의 실시예에 따른, 리턴 포인트의 속도 및 방위가 글로벌 프레임에서 어떻게 정의되는지를 예시한다.
도 15는 하나 이상의 실시예에 따른, RLS(Recursive Least Squares) 필터의 앙상블을 사용한 클러스터 속도 추정을 예시하는 블록 다이어그램이다.
도 16a 내지 도 16c는 하나 이상의 실시예에 따른, RADAR를 사용한 확장 대상체 추적을 사용하여 생성되는 경계 박스를 예시한다.
도 17은 하나 이상의 실시예에 따른, RADAR 리턴 포인트만을 사용한 확장 대상체 추적을 위한 프로세스의 흐름 다이어그램이다.
도 18은 하나 이상의 실시예에 따른, 클러스터의 순간 속도를 계산하는 프로세스의 흐름 다이어그램이다.
도 2는 하나 이상의 실시예에 따른, 예시적인 "클라우드" 컴퓨팅 환경을 예시한다.
도 3은 하나 이상의 실시예에 따른, 컴퓨터 시스템을 예시한다.
도 4는 하나 이상의 실시예에 따른, AV에 대한 예시적인 아키텍처를 도시한다.
도 5는 하나 이상의 실시예에 따른, 인지 모듈에 의해 사용될 수 있는 입력 및 출력의 일 예를 도시한다.
도 6은 하나 이상의 실시예에 따른, LiDAR 시스템의 일 예를 도시한다.
도 7은 하나 이상의 실시예에 따른, 동작 중인 LiDAR 시스템을 도시한다.
도 8은 하나 이상의 실시예에 따른, LiDAR 시스템의 동작을 추가적으로 상세하게 도시한다.
도 9는 하나 이상의 실시예에 따른, 계획 모듈의 입력과 출력 사이의 관계의 블록 다이어그램을 도시한다.
도 10은 하나 이상의 실시예에 따른, 경로 계획에서 사용되는 방향 그래프를 도시한다.
도 11은 하나 이상의 실시예에 따른, 제어 모듈의 입력 및 출력의 블록 다이어그램을 도시한다.
도 12는 하나 이상의 실시예에 따른, 제어기의 입력, 출력, 및 컴포넌트의 블록 다이어그램을 도시한다.
도 13a는 하나 이상의 실시예에 따른, RADAR을 사용한 확장 대상체 추적을 위한 프로세스의 흐름 다이어그램이다.
도 13b는 일 실시예에 따른, 클러스터의 중심을 추정하는 데 관여된 단계를 예시한다.
도 14는 하나 이상의 실시예에 따른, 리턴 포인트의 속도 및 방위가 글로벌 프레임에서 어떻게 정의되는지를 예시한다.
도 15는 하나 이상의 실시예에 따른, RLS(Recursive Least Squares) 필터의 앙상블을 사용한 클러스터 속도 추정을 예시하는 블록 다이어그램이다.
도 16a 내지 도 16c는 하나 이상의 실시예에 따른, RADAR를 사용한 확장 대상체 추적을 사용하여 생성되는 경계 박스를 예시한다.
도 17은 하나 이상의 실시예에 따른, RADAR 리턴 포인트만을 사용한 확장 대상체 추적을 위한 프로세스의 흐름 다이어그램이다.
도 18은 하나 이상의 실시예에 따른, 클러스터의 순간 속도를 계산하는 프로세스의 흐름 다이어그램이다.
설명을 위한 이하의 기술에서는, 본 발명에 대한 완전한 이해를 제공하기 위해 다수의 특정 세부사항이 기재된다. 그렇지만, 본 발명이 이 특정 세부사항 없이 실시될 수 있음이 명백할 것이다. 다른 예에서, 공지된 구조 및 디바이스는 본 발명을 불필요하게 모호하게 하는 것을 피하기 위하여 블록 다이어그램 형태로 도시된다.
도면에서, 설명을 용이하게 하기 위해, 디바이스, 모듈, 명령 블록 및 데이터 요소를 나타내는 것과 같은, 개략적 요소의 특정 배열 또는 순서가 도시된다. 그렇지만, 본 기술 분야의 통상의 기술자라면, 도면에서의 개략적 요소의 특정 순서 또는 배열이 프로세싱의 특정한 순서 또는 시퀀스, 또는 프로세스의 분리가 요구된다는 것을 암시하는 것을 의미하지는 않는다는 점을 이해할 것이다. 게다가, 도면에 개략적 요소를 포함시키는 것은, 그러한 요소가 모든 실시예에서 요구된다는 것을 암시하는 것을 의미하지 않거나, 또는 그러한 요소에 의해 표현된 특징이 일부 실시예에서 포함되지 않거나 또는 다른 요소와 조합되지 않을 수 있다는 점을 암시하는 것을 의미하지 않는다.
게다가, 도면에서, 2개 이상의 다른 개략적 요소 사이의 연결, 관계 또는 연관을 예시하기 위해 실선 또는 파선 또는 화살표와 같은 연결 요소가 사용되는 경우에, 임의의 그러한 연결 요소의 부재는 연결, 관계 또는 연관이 존재할 수 없다는 점을 암시하는 것을 의미하지 않는다. 환언하면, 요소들 사이의 일부 연결, 관계, 또는 연관은 본 개시를 모호하게 하지 않기 위해 도면에 도시되지 않는다. 그에 부가하여, 예시를 용이하게 하기 위해, 요소들 사이의 다수의 연결, 관계 또는 연관을 표현하기 위해 단일의 연결 요소가 사용된다. 예를 들어, 연결 요소가 신호, 데이터 또는 명령의 통신을 표현하는 경우, 본 기술 분야의 통상의 기술자라면, 그러한 요소가, 통신을 수행하기 위해 필요할 수 있는, 하나 또는 다수의 신호 경로(예를 들어, 버스)를 표현한다는 것을 이해할 것이다.
그 예가 첨부 도면에 예시되어 있는, 실시예가 이제 상세하게 언급될 것이다. 이하의 상세한 설명에서, 다양한 기술된 실시예에 대한 완전한 이해를 제공하기 위해 많은 특정 세부 사항이 기재된다. 그렇지만, 다양한 기술된 실시예가 이 특정 세부 사항 없이 실시될 수 있다는 것이 본 기술 분야의 통상의 기술자에게 명백할 것이다. 다른 예에서, 실시예의 양태를 불필요하게 모호하게 하지 않기 위해 공지된 방법, 절차, 컴포넌트, 회로, 및 네트워크는 상세하게 기술되지 않았다.
서로 독립적으로 또는 다른 특징들의 임의의 조합과 함께 각각 사용될 수 있는 여러 특징이 이하에서 기술된다. 그렇지만, 임의의 개별 특징은 위에서 논의된 문제들 중 임의의 것을 해결할 수 없거나 또는 위에서 논의된 문제들 중 단지 하나만을 해결할 수 있다. 위에서 논의된 문제들 중 일부는 본원에 기술된 특징들 중 임의의 것에 의해 완전히 해결되지는 않을 수 있다. 비록 여러 표제가 제공되어 있더라도, 특정 표제에 관련되지만 해당 표제를 갖는 섹션에서 발견되지 않은 정보가 본 설명의 다른 곳에서 발견될 수도 있다. 실시예는 이하의 개요에 따라 본원에 기술된다.
1. 일반적 개관
2. 시스템 개관
3. 자율 주행 차량 아키텍처
4. 자율 주행 차량 입력
5. 자율 주행 차량 계획
6. 자율 주행 차량 제어
7. RADAR만을 사용한 확장 대상체 추적
일반적 개관
자율 주행 차량(AV)은 대상체와의 충돌을 피하기 위해 그의 동작 환경에서 대상체 및 대상체로부터의 거리를 검출 및 추적하기 위해서만 RADAR 센서를 사용한다. 본원에서 개시된 확장 대상체 추적(EOT) 기술은 대상체의 위치 및 속도 외에도 대상체의 길이 및 폭를 추정한다. EOT는 크게 4개의 부분: 1) 프리-프로세싱, 2) 클러스터링, 3) 클러스터 속도 추정 및 4) 클러스터-트랙 연관 및 트랙 관리로 분류되는 프로세싱 파이프라인을 사용하여 구현된다.
프리-프로세싱 부분은 2개의 서브 부분: 정적 포인트 제거 및 포인트 클라우드 누적을 포함한다. 전자의 단계에서, 이동하는 RADAR 리턴 포인트(이하 간단히 "포인트"라고도 지칭됨)만이 유지되고 나머지 포인트는 폐기된다. 이것은 RADAR 포인트 클라우드로부터 노이즈 포인트 및 다른 분간하기 어려운 포인트를 필터링 제거하기 위해 수행된다. 그렇지만, 이러한 필터링이 미리 정의된 범위 레이트 임계치보다 작은 보상된 범위 레이트를 갖는 비-노이즈 포인트도 제거하지만, 비-포인트의 이러한 누락이 추적기의 성능에 영향을 주지 않는다. 게다가, RADAR 포인트 클라우드가 극도로 희소하기 때문에, 하나의 시간 스텝 또는 RADAR 프레임으로부터의 대상체의 검출 및 추적은 어려운 일이다. 희소 검출을 피하기 위해, 다수의 시간 스텝/프레임(예를 들어, 3개의 시간 스텝/프레임)에 걸쳐 포인트를 누적함으로써 RADAR 포인트 클라우드의 밀도가 증가된다. 다수의 시간 스텝/프레임에 걸쳐 포인트를 누적하는 것은 대상체의 검출 및 추적을 보다 쉽게 만들고 대상체의 순간 속도를 추정하기 위한 좋은 사전 정보(prior)를 제공한다.
파이프라인의 두 번째 부분에서, 누적된 RADAR 포인트 클라우드로부터의 포인트가 클러스터링 알고리즘을 사용하여 클러스터링된다. 일 실시예에서, 클러스터링 알고리즘은 거리 메트릭(예를 들어, 유클리드 거리 메트릭)에 기초하여 서로 가까운 포인트를 함께 그룹화하고 저밀도 영역에 있는 포인트를 이상치(outlier)로서 마킹하는 밀도 기반 클러스터링 알고리즘이다. 예시적인 밀도 기반 클러스터링 알고리즘은 다양한 클러스터 형상에 적응하고 이상치 및 다른 노이즈 포인트를 효율적으로 핸들링하는 DBSCAN 클러스터링 알고리즘이다. 일 실시예에서, 장축이 교통 흐름과 정렬되는 타원형 영역 내에 있는 포인트가 함께 그룹화되도록 DBSCAN이 수정된다. 교통 흐름은 주석이 달린 선행 맵으로부터 획득될 수 있다. 교통 흐름이 명확하지 않을 때(예를 들어, 교차로에서), 포인트를 함께 그룹화하기 위해 원형 영역이 사용된다.
파이프라인의 세 번째 부분에서, 각각의 클러스터의 중심 및 속도가 결정된다. 클러스터의 중심은 클러스터 내의 모든 포인트의 기하학적 중심으로 간주된다. 기하학적 중심은 클러스터 내의 모든 포인트 주위의 가능한 가장 협소한 직사각형 경계 박스의 중심을 계산하는 것에 의해 획득된다. 위치 혁신은 트랙의 예측된 위치와 클러스터의 계산된 위치 사이의 제곱 거리이다.
RADAR 센서로부터 직접적으로 획득되는 위치와 달리, 클러스터의 속도가 센서의 다른 출력을 사용하여 명시적으로 계산된다. 예를 들어, 전형적인 RADAR 센서는 그의 위치 외에도 센서에 대한 포인트의 범위 레이트 및 방위를 제공한다. 범위 레이트는 포인트가 센서를 향해 오거나 센서로부터 멀어지게 이동하는 레이트를 정의하고, 방위는 센서로부터 수직으로 바깥쪽으로 연장되는 광선과 타깃을 직접적으로 가리키는 라인 사이의 각도를 지칭한다. 대상체 상의 모든 포인트가 동일한 속도 벡터를 갖는다고 가정하면, 즉, 세상의 모든 대상체가 강체라고 가정하면, 클러스터의 속도는 선형 방정식의 시스템을 푸는 것에 의해 계산될 수 있다. 클러스터 내에 2개 초과의 구별되는 포인트가 있을 때 선형 방정식의 시스템의 해가 구해진다.
일 실시예에서, RLS(Recursive Least Squares) 필터가 클러스터의 속도를 추정하는 데 사용된다. RLS 필터는 가중 최소 제곱 비용 함수를 최소화하기 위해 파라미터를 재귀적으로 업데이트하는 적응 필터 알고리즘이다. RLS 알고리즘은 클러스터 누적 이력을 사용하여 추정된 클러스터 속도를 초기화하는 것으로 시작된다. 이 알고리즘은, 상태 벡터와 새로운 데이터 포인트만을 사용하여 파라미터를 업데이트하기 때문에, 매우 빠른 수렴을 나타내고 계산적으로 매우 빠르다. 일 실시예에서, 초기 속도 추정치는 클러스터 누적 이력으로부터 계산된다. RADAR 센서로부터의 위치 추정치가 정확하기 때문에, 위치 변화를 계산하고 이를 2개의 프레임 사이의 시간으로 나눔으로써 초기 속도가 추정될 수 있다.
RLS 알고리즘의 업데이트 단계는 포인트가 이상치인지 여부와 그의 필터 업데이트가 사용되어야 하는지 여부를 결정하는 데 사용된다. 포인트의 업데이트가 미리 정의된 임계치보다 큰 속도 변화를 초래하는 경우 포인트는 이상치로 간주된다. 초기화에서의 일부 부정확성을 고려하기 위해, 이 체크는 필터를 여러 번 업데이트한 후에 수행된다. 이상치가 여러 번의 업데이트의 결과 모든 올바른 측정치를 이상치로 분류되게 하는 경우를 고려하기 위해, RLS 필터(예를 들어, 10개의 RLS 필터)의 앙상블이 초기화되며 각각의 필터는 입력으로서 랜덤화된 순서의 포인트를 제공받는다. 가장 작은 재투영 범위 레이트 에러를 초래하는 속도 성분 값을 갖는 필터가 "낙점(win)"되고 그의 속도가 클러스터의 속도로 간주된다.
일단 클러스터의 중심과 속도가 계산되면, 파이프라인의 네 번째 부분은 새로 계산된 클러스터들 중 임의의 것이 대상체 추적기에 의해 이미 추적되고 있는 대상체로부터의 리턴 포인트인지 여부를 확인한다. 이 네 번째 부분은 간단하지가 않은데 그 이유는 어느 리턴 포인트가 어느 대상체(들)로부터 온 것인지가 알 수 없고 그 반대의 경우도 마찬가지이기 때문이다. 일 실시예에서, 2개의 파라미터(예를 들어, 위치 및 속도)가 클러스터와 트랙 사이의 연관성을 계산하는 데 사용된다. 일 실시예에서, 트랙의 예측된 파라미터와 클러스터의 추정된 위치(중심) 및 속도 사이의 혁신이 미리 정의된 임계치보다 작고 2개의 파라미터 사이의 혁신의 합이 모든 잠재적인 트랙 중에서 가장 작은 경우 클러스터는 트랙과 연관되어 있다.
일 실시예에서, 적어도 위치, 속도 및 범위(그러나 이에 제한되지 않음)를 추적하는 6차원 상태 벡터를 사용하여 트랙 상태가 유지된다. 예를 들어, 헤딩, 속력 및 방위각(bearing angle)을 포함하는, 등속 운동 모델 또는 CTRV(Constant Turn Rate and Velocity) 모델과 같은, 임의의 바람직한 움직임 모델을 사용하는 예측 단계에서 LKF(Linear Kalman Filter) 또는 UKF(Unscented Kalman Filter)를 사용하여 트랙이 유지된다. 모든 상태 파라미터가 원시 또는 파생된 RADAR 측정치로부터 직접적으로 선형 방식으로 업데이트될 수 있기 때문에 LKF가 선호된다. 일부 실시예에서, 센서 바이어스 또는 드리프트와 같은 부가 상태가 추정된다.
클러스터가 어떤 트랙과도 연관되지 않을 때, 클러스터의 대응하는 값을 사용하여 초기화된 상태 파라미터로 새로운 트랙이 생성된다. 도로 상의 움직이는 대상체의 대부분이 차량이기 때문에, 상태 파라미터는 미리 결정된 데이터로 초기화된다. 노이즈 및 다른 랜덤한 반사가 트랙 리스트를 방해하는 것을 방지하기 위해, 새로운 트랙은 초기에 INVALID 상태로 설정되며, 새로운 트랙은 트랙이 최소 N회 반복(예를 들어, 3회 반복)에 대해 클러스터에 연관될 때 유효(valid)하게 된다.
위치와 속도 둘 모두의 혁신이 미리 정의된 임계치 아래로 떨어지고 해당 트랙에 대한 혁신의 합이 가장 작을 때 클러스터는 트랙과 연관된다. 2개 이상의 클러스터가 동일한 트랙에 연관될 수 있기 때문에, 첫 번째 단계는 하나의 트랙에 속하는 모든 포인트를 단일 클러스터로 동화시키고 더 큰 단일 클러스터의 모든 파라미터를 재계산하는 것이다. 이 업데이트된 더 큰 클러스터의 파라미터를 사용하여 상태 업데이트 단계가 이어서 수행된다.
기존의 트랙이 어떤 클러스터와도 연관되지 않을 때, 그 트랙은 움직임 모델을 사용하여 전파되고 그 트랙이 아무런 연관도 갖지 않음을 표시하기 위해 플래깅된다. 그 트랙이 다수의 시간 스텝/프레임(예를 들어, 6개의 시간 스텝/프레임)에 대해 연속적으로 플래깅되는 경우, 그 트랙은 오래된 것으로 간주되고 종료된다(예를 들어, 메모리로부터 삭제됨).
시스템 개관
도 1은 자율 주행 능력을 갖는 자율 주행 차량(100)의 일 예를 도시한다.
본원에서 사용되는 바와 같이, 용어 "자율 주행 능력"은, 완전한 자율 주행 차량, 고도의 자율 주행 차량, 및 조건부 자율 주행 차량을 제한 없이 포함하는, 실시간 인간 개입 없이 차량이 부분적으로 또는 완전하게 동작될 수 있게 하는 기능, 특징, 또는 설비를 지칭한다.
본원에서 사용되는 바와 같이, 자율 주행 차량(AV)은 자율 주행 능력을 갖는 차량이다.
본원에서 사용되는 바와 같이, "차량"은 상품 또는 사람의 운송 수단을 포함한다. 예를 들어, 자동차, 버스, 기차, 비행기, 드론, 트럭, 보트, 선박, 잠수함, 비행선 등. 무인 자동차는 차량의 일 예이다.
본원에서 사용되는 바와 같이, "궤적"은 AV를 제1 시공간적 위치로부터 제2 시공간적 위치로 운행시키는 경로 또는 루트를 지칭한다. 일 실시예에서, 제1 시공간적 위치는 초기 또는 시작 위치라고 지칭되고 제2 시공간적 위치는 목적지, 최종 위치, 목표, 목표 위치, 또는 목표 장소라고 지칭된다. 일부 예에서, 궤적은 하나 이상의 세그먼트(예를 들어, 도로의 섹션)로 구성되고, 각각의 세그먼트는 하나 이상의 블록(예를 들어, 차선 또는 교차로의 부분)으로 구성된다. 일 실시예에서, 시공간적 위치는 현실 세계 위치에 대응한다. 예를 들어, 시공간적 위치는 사람을 태우거나 내려주고 또는 상품을 싣거나 내리는 픽업(pick up) 또는 드롭-오프(drop-off) 위치이다.
본원에서 사용되는 바와 같이, "센서(들)"는 센서를 둘러싼 환경에 관한 정보를 검출하는 하나 이상의 하드웨어 컴포넌트를 포함한다. 하드웨어 컴포넌트 중 일부는 감지 컴포넌트(예를 들어, 이미지 센서, 생체측정 센서), 송신 및/또는 수신 컴포넌트(예를 들어, 레이저 또는 라디오 주파수 파 송신기 및 수신기), 아날로그 대 디지털 변환기와 같은 전자 컴포넌트, 데이터 저장 디바이스(예컨대, RAM 및/또는 비휘발성 스토리지), 소프트웨어 또는 펌웨어 컴포넌트, 및 ASIC(application-specific integrated circuit), 마이크로프로세서 및/또는 마이크로컨트롤러와 같은 데이터 프로세싱 컴포넌트를 포함할 수 있다.
본원에서 사용되는 바와 같이, "장면 묘사(scene description)"는 AV 차량 상의 하나 이상의 센서에 의해 검출되거나 AV 외부의 소스에 의해 제공되는 하나 이상의 분류된 또는 라벨링된 대상체를 포함하는 데이터 구조(예를 들어, 리스트) 또는 데이터 스트림이다.
본원에서 사용되는 바와 같이, "도로"는 차량에 의해 횡단될 수 있는 물리적 영역이고, 명명된 주요 도로(예를 들어, 도시 거리, 주간 고속도로 등)에 대응할 수 있거나, 또는 명명되지 않은 주요 도로(예를 들어, 주택 또는 사무실 건물 내의 사유 도로, 주차장 섹션, 공터 섹션, 시골 지역의 비포장 경로 등)에 대응할 수 있다. 일부 차량(예를 들어, 4륜 구동 픽업 트럭, 스포츠 유틸리티 차량 등)은 차량 진행에 대해 특히 적합하지 않은 다양한 물리적 영역을 횡단할 수 있기 때문에, "도로"는 임의의 지자체 또는 다른 정부 또는 행정처에 의해 주요 도로로 공식적으로 규정되지 않은 물리적 영역일 수 있다.
본원에서 사용되는 바와 같이, "차선"은 차량에 의해 횡단될 수 있는 도로의 한 부분이고, 차선 마킹들 사이의 공간의 대부분 또는 전부에 대응할 수 있거나, 또는 차선 마킹들 사이의 공간의 단지 일부(예를 들어, 50% 미만)에 대응할 수 있다. 예를 들어, 멀리 이격된 차선 마킹을 갖는 도로는 차선 마킹 사이에 둘 이상의 차량을 수용할 수 있어서, 하나의 차량이 차선 마킹을 횡단하지 않고 다른 차량을 추월할 수 있고, 따라서 차선 마킹 사이의 공간보다 협소한 차선을 갖거나 차선 마킹 사이에 2개의 차선을 갖는 것으로 해석될 수 있다. 차선은 차선 마킹의 부재 시에도 해석될 수 있다. 예를 들어, 차선은 환경의 물리적 특징부, 예를 들어, 시골 지역에서의 주요 도로를 따라 있는 바위 및 나무에 기초하여 규정될 수 있다.
"하나 이상"은 기능이 하나의 요소에 의해 수행되는 것, 기능이 하나보다 많은 요소에 의해, 예를 들어, 분산 방식으로, 수행되는 것, 여러 기능이 하나의 요소에 의해 수행되는 것, 여러 기능이 여러 요소에 의해 수행되는 것, 또는 이들의 임의의 조합을 포함한다.
또한, 용어, 제1, 제2 등이, 일부 예에서, 다양한 요소를 기술하기 위해 본원에 사용되었지만, 이러한 요소는 이러한 용어에 의해 제한되지 않아야 한다는 것이 이해될 것이다. 이들 용어는 하나의 요소를 다른 요소와 구별하는 데만 사용된다. 예를 들어, 기술된 다양한 실시예의 범위를 벗어나지 않으면서, 제1 접촉은 제2 접촉이라 지칭될 수 있고, 유사하게 제2 접촉은 제1 접촉이라 지칭될 수 있다. 제1 접촉과 제2 접촉 둘 모두가 접촉이지만, 동일한 접촉은 아니다.
본원에 기술된 다양한 실시예의 설명에 사용된 용어는 단지 특정한 실시예를 기술하기 위한 것이며, 제한하려는 것은 아니다. 기술된 다양한 실시예 및 첨부된 청구항의 설명에서 사용되는 바와 같이, 단수형은 문맥이 달리 명확히 표시하지 않는 한, 복수형을 포함하도록 의도되었다. 또한, 용어 "및/또는"은 본원에서 사용되는 바와 같이 열거된 연관 항목 중 하나 이상의 항목의 임의의 그리고 모든 가능한 조합을 지칭하고 포함한다는 것이 이해될 것이다. 게다가, 용어 "포함한다" 및/또는 "포함하는"은 본 설명에서 사용될 때, 언급된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트의 존재를 명기하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 그의 그룹의 존재 또는 추가를 배제하지 않는다는 것도 이해될 것이다.
본원에서 사용되는 바와 같이, 용어 "~ 경우"는, 선택적으로, 문맥에 따라 "~할 때", 또는 "~시에" 또는 "결정에 응답하여" 또는 "검출에 응답하여"를 의미하는 것으로 해석된다. 마찬가지로, 구문 "~라고 결정된다면" 또는 "[언급된 조건 또는 이벤트]가 검출되는 경우"는, 선택적으로, 문맥에 따라, "결정할 시에" 또는 "결정에 응답하여" 또는 "[언급된 조건 또는 이벤트]의 검출 시에" 또는 "[언급된 조건 또는 이벤트]의 검출에 응답하여"를 의미하는 것으로 해석된다.
본원에서 사용되는 바와 같이, AV 시스템은 AV의 동작을 지원하는, 하드웨어, 소프트웨어, 저장된 데이터, 및 실시간으로 생성된 데이터의 어레이와 함께 AV를 지칭한다. 일 실시예에서, AV 시스템은 AV 내에 포함된다. 일 실시예에서, AV 시스템은 여러 위치에 걸쳐 확산되어 있다. 예를 들어, AV 시스템의 소프트웨어 중 일부는 도 3와 관련하여 아래에서 기술되는 클라우드 컴퓨팅 환경(300)과 유사한 클라우드 컴퓨팅 환경 상에 구현된다.
일반적으로, 본원은 완전한 자율 주행 차량, 고도의 자율 주행 차량, 및 조건부 자율 주행 차량, 예컨대, 제각기 소위 레벨 5 차량, 레벨 4 차량 및 레벨 3 차량을 포함하는 하나 이상의 자율 주행 능력을 갖는 임의의 차량에 적용 가능한 기술을 개시한다(차량의 자율성 레벨의 분류에 대한 세부사항은 참조에 의해 그 전체가 포함된, SAE 국제 표준 J3016: 온로드 자동차 자동 운전 시스템에 관한 용어의 분류 및 정의(Taxonomy and Definitions for Terms Related to On-128-172020-02-28 Road Motor Vehicle Automated Driving Systems) 참조). 또한, 본원에서 개시된 기술은 부분적 자율 주행 차량 및 운전자 보조 차량, 예를 들어, 소위 레벨 2 및 레벨 1 차량에도 적용 가능하다(SAE 국제 표준 J3016: 온로드 자동차 자동 운전 시스템에 관한 용어의 분류 및 정의 참조). 일 실시예에서, 레벨 1, 레벨 2, 레벨 3, 레벨 4 및 레벨 5 차량 시스템 중 하나 이상은 센서 입력의 프로세싱에 기초하여 특정의 동작 조건 하에서 특정의 차량 동작(예를 들어, 조향, 제동, 및 맵 사용)을 자동화할 수 있다. 본원에서 개시된 기술은, 완전한 자율 주행 차량으로부터 인간-운전 차량에 이르는, 임의의 레벨에 있는 차량에 혜택을 줄 수 있다.
도 1을 참조하면, AV 시스템(120)은, 대상체(예를 들어, 자연 장애물(191), 차량(193), 보행자(192), 자전거 운전자, 및 다른 장애물)을 피하고 도로 법규(예를 들어, 동작 규칙 또는 운전 선호도)를 준수하면서, 환경(190)을 통과하여 궤적(198)을 따라 AV(100)를 목적지(199)(때때로 최종 위치라고 지칭됨)로 동작시킨다.
일 실시예에서, AV 시스템(120)은 컴퓨터 프로세서(146)로부터의 동작 커맨드를 수신하고 이에 따라 동작하도록 설비된 디바이스(101)를 포함한다. 일 실시예에서, 컴퓨팅 프로세서(146)는 도 3을 참조하여 아래에서 기술되는 프로세서(304)와 유사하다. 디바이스(101)의 예는 조향 제어(102), 브레이크(103), 기어, 가속기 페달 또는 다른 가속 제어 메커니즘, 앞유리 와이퍼, 사이드-도어 락, 윈도 제어, 및 방향 지시등을 포함한다.
일 실시예에서, AV 시스템(120)은, AV의 위치, 선형 속도 및 선형 가속도, 각속도 및 각가속도, 및 헤딩(예를 들어, AV(100)의 선단의 배향)과 같은, AV(100)의 상태 또는 조건의 특성을 측정 또는 추론하기 위한 센서(121)를 포함한다. 센서(121)의 예는 GNSS, 차량 선가속도 및 각속도(angular rate) 둘 모두를 측정하는 IMU(inertial measurement unit), 휠 슬립 비(wheel slip ratio)를 측정 또는 추산하기 위한 휠 속력 센서, 휠 브레이크 압력 또는 제동 토크 센서, 엔진 토크 또는 휠 토크 센서, 및 조향각(steering angle) 및 각속도 센서이다.
일 실시예에서, 센서(121)는 AV의 환경의 특성을 감지 또는 측정하기 위한 센서를 또한 포함한다. 예를 들어, 가시광, 적외선 또는 열(또는 둘 모두) 스펙트럼식 단안 또는 스테레오 비디오 카메라(122), LiDAR(123), RADAR, 초음파 센서, TOF(time-of-flight) 심도 센서, 속력 센서, 온도 센서, 습도 센서, 및 강우 센서.
일 실시예에서, AV 시스템(120)은 컴퓨터 프로세서(146)와 연관된 머신 명령 또는 센서(121)에 의해 수집된 데이터를 저장하기 위한 데이터 저장 유닛(142) 및 메모리(144)를 포함한다. 일 실시예에서, 데이터 저장 유닛(142)은 도 3과 관련하여 아래에서 기술되는 ROM(308) 또는 저장 디바이스(310)와 유사하다. 일 실시예에서, 메모리(144)는 아래에서 기술되는 메인 메모리(306)와 유사하다. 일 실시예에서, 데이터 저장 유닛(142) 및 메모리(144)는 환경(190)에 관한 이력, 실시간, 및/또는 예측 정보를 저장한다. 일 실시예에서, 저장된 정보는 맵, 운전 성능, 교통 정체 업데이트 또는 날씨 상태를 포함한다. 일 실시예에서, 환경(190)에 관한 데이터는 원격에 위치된 데이터베이스(134)로부터 통신 채널을 통해 AV(100)에 송신된다.
일 실시예에서, AV 시스템(120)은 다른 차량의 상태 및 조건, 예컨대, 위치, 선속도 및 각속도, 선가속도 및 각가속도, 및 AV(100)를 향한 선형 헤딩 및 각도 헤딩의 측정된 또는 추론된 특성을 통신하기 위한 통신 디바이스(140)를 포함한다. 이 디바이스는 V2V(Vehicle-to-Vehicle) 및 V2I(Vehicle-to-Infrastructure) 통신 디바이스 및 포인트-투-포인트(point-to-point) 또는 애드혹(ad hoc) 네트워크 또는 둘 모두를 통한 무선 통신을 위한 디바이스를 포함한다. 일 실시예에서, 통신 디바이스(140)는 (라디오 및 광학적 통신을 포함하는) 전자기 스펙트럼 또는 다른 매체(예를 들어, 공기 및 음향 매체)를 통해 통신한다. V2V(Vehicle-to-Vehicle), V2I(Vehicle-to-Infrastructure) 통신(및 일부 실시예에서 하나 이상의 다른 타입의 통신)의 조합이 때때로 V2X(Vehicle-to-Everything) 통신이라고 지칭된다. V2X 통신은 전형적으로, 자율 주행 차량과의 통신 및 자율 주행 차량들 간의 통신을 위한 하나 이상의 통신 표준에 따른다.
일 실시예에서, 통신 디바이스(140)는 통신 인터페이스를 포함한다. 예를 들어, 유선, 무선, WiMAX, Wi-Fi, 블루투스, 위성, 셀룰러, 광학, 근거리, 적외선, 또는 라디오 인터페이스. 통신 인터페이스는 원격에 위치된 데이터베이스(134)로부터 AV 시스템(120)으로 데이터를 송신한다. 일 실시예에서, 원격에 위치된 데이터베이스(134)는 도 2에 기술된 바와 같은 클라우드 컴퓨팅 환경(200)에 내장된다. 통신 인터페이스(140)는 센서(121)로부터 수집된 데이터 또는 AV(100)의 동작에 관련된 다른 데이터를 원격에 위치된 데이터베이스(134)에 송신한다. 일 실시예에서, 통신 인터페이스(140)는 원격 조작(teleoperation)에 관련되는 정보를 AV(100)에 송신한다. 일부 실시예에서, AV(100)는 다른 원격(예를 들어, "클라우드") 서버(136)와 통신한다.
일 실시예에서, 원격에 위치된 데이터베이스(134)는 또한 디지털 데이터를 저장 및 송신한다(예를 들어, 도로 및 거리 위치와 같은 데이터를 저장함). 그러한 데이터는 AV(100) 상의 메모리(144)에 저장되거나, 원격에 위치된 데이터베이스(134)로부터 통신 채널을 통해 AV(100)에 송신된다.
일 실시예에서, 원격에 위치된 데이터베이스(134)는 유사한 시각(time of day)에 궤적(198)을 따라 이전에 진행된 차량의 운전 특성(예를 들어, 속력 및 가속도 프로파일)에 관한 이력 정보를 저장 및 송신한다. 일 구현예에서, 그러한 데이터는 AV(100) 상의 메모리(144)에 저장될 수 있거나, 원격에 위치된 데이터베이스(134)로부터 통신 채널을 통해 AV(100)에 송신될 수 있다.
AV(100) 상에 위치된 컴퓨팅 디바이스(146)는 실시간 센서 데이터 및 이전 정보 둘 모두에 기초한 제어 액션을 알고리즘적으로 생성하여, AV 시스템(120)이 자율 주행 능력을 실행할 수 있게 한다.
일 실시예에서, AV 시스템(120)은 AV(100)의 사용자(예를 들어, 탑승자 또는 원격 사용자)에게 정보 및 경보를 제공하고 그로부터 입력을 수신하기 위해 컴퓨팅 디바이스(146)에 결합된 컴퓨터 주변기기(132)를 포함한다. 일 실시예에서, 주변기기(132)는 도 3을 참조하여 아래에서 논의되는 디스플레이(312), 입력 디바이스(314), 및 커서 제어기(316)와 유사하다. 결합은 무선 또는 유선이다. 인터페이스 디바이스들 중 임의의 둘 이상이 단일 디바이스에 통합될 수 있다.
예시적인 클라우드 컴퓨팅 환경
도 2는 예시적인 "클라우드" 컴퓨팅 환경을 예시한다. 클라우드 컴퓨팅은 구성 가능한 컴퓨팅 리소스(예를 들어, 네트워크, 네트워크 대역폭, 서버, 프로세싱, 메모리, 스토리지, 애플리케이션, 가상 머신, 및 서비스)의 공유 풀에 대한 간편한 온-디맨드 네트워크 액세스를 가능하게 하기 위한 서비스 전달(service delivery)의 일 모델이다. 전형적인 클라우드 컴퓨팅 시스템에서는, 하나 이상의 대형 클라우드 데이터 센터가 클라우드에 의해 제공되는 서비스를 전달하는 데 사용되는 머신을 수용한다. 이제 도 2를 참조하면, 클라우드 컴퓨팅 환경(200)은 클라우드(202)를 통해 상호연결되는 클라우드 데이터 센터(204a, 204b, 및 204c)를 포함한다. 데이터 센터(204a, 204b, 및 204c)는 클라우드 컴퓨팅 서비스를 클라우드(202)에 연결된 컴퓨터 시스템(206a, 206b, 206c, 206d, 206e, 및 206f)에 제공한다.
클라우드 컴퓨팅 환경(200)은 하나 이상의 클라우드 데이터 센터를 포함한다. 일반적으로, 클라우드 데이터 센터, 예를 들어, 도 2에 도시된 클라우드 데이터 센터(204a)는 클라우드, 예를 들어, 도 2에 도시된 클라우드(202) 또는 클라우드의 특정한 부분을 구성하는 서버의 물리적 배열체를 지칭한다. 예를 들어, 서버는 클라우드 데이터 센터 내에 룸, 그룹, 로우(row), 및 랙(rack)으로 물리적으로 배열된다. 클라우드 데이터 센터는 하나 이상의 서버 룸을 포함하는 하나 이상의 구역을 갖는다. 각각의 룸은 하나 이상의 서버 로우를 가지며, 각각의 로우는 하나 이상의 랙을 포함한다. 각각의 랙은 하나 이상의 개별 서버 노드를 포함한다. 일부 구현예에서, 구역, 룸, 랙, 및/또는 로우 내의 서버는, 전력 요건, 에너지 요건, 열적 요건, 가열 요건, 및/또는 다른 요건을 포함하는, 데이터 센터 설비의 물리적 인프라스트럭처 요건에 기초하여 그룹으로 배열된다. 일 실시예에서, 서버 노드는 도 3에서 기술된 컴퓨터 시스템과 유사하다. 데이터 센터(204a)는 다수의 랙을 통해 분산된 다수의 컴퓨팅 시스템을 갖는다.
클라우드(202)는 클라우드 데이터 센터(204a, 204b, 및 204c)를 상호연결시키고 클라우드 컴퓨팅 서비스에 대한 컴퓨팅 시스템(206a 내지 206f)의 액세스를 용이하게 하는 것을 돕는 네트워크 및 네트워킹 리소스(예를 들어, 네트워킹 장비, 노드, 라우터, 스위치 및 네트워킹 케이블)와 함께 클라우드 데이터 센터(204a, 204b, 및 204c)를 포함한다. 일 실시예에서, 네트워크는 지상 또는 위성 연결을 사용하여 배치된 유선 또는 무선 링크를 사용하여 결합된 하나 이상의 로컬 네트워크, 광역 네트워크, 또는 인터네트워크의 임의의 조합을 나타낸다. 네트워크를 거쳐 교환되는 데이터는 IP(Internet Protocol), MPLS(Multiprotocol Label Switching), ATM(Asynchronous Transfer Mode), 및 프레임 릴레이 등과 같은 임의의 개수의 네트워크 계층 프로토콜을 사용하여 송신된다. 또한, 네트워크가 다수의 서브 네트워크의 조합을 나타내는 실시예에서, 상이한 네트워크 계층 프로토콜은 기저 서브 네트워크(underlying sub-network) 각각에서 사용된다. 일부 실시예에서, 네트워크는, 공중 인터넷과 같은, 하나 이상의 상호연결된 인터네트워크를 나타낸다.
컴퓨팅 시스템(206a 내지 206f) 또는 클라우드 컴퓨팅 서비스 소비자는 네트워크 링크 및 네트워크 어댑터를 통해 클라우드(202)에 연결된다. 일 실시예에서, 컴퓨팅 시스템(206a 내지 206f)은 다양한 컴퓨팅 디바이스, 예를 들어, 서버, 데스크톱, 랩톱, 태블릿, 스마트폰, IoT(Internet of Things) 디바이스, 자율 주행 차량(자동차, 드론, 셔틀, 기차, 버스 등을 포함함) 및 소비자 전자기기로서 구현된다. 일 실시예에서, 컴퓨팅 시스템(206a 내지 206f)은 다른 시스템 내에 또는 그 일부로서 구현된다.
컴퓨터 시스템
도 3은 컴퓨터 시스템(300)을 도시한다. 일 구현예에서, 컴퓨터 시스템(300)은 특수 목적 컴퓨팅 디바이스이다. 특수 목적 컴퓨팅 디바이스는 기술을 수행하도록 고정-배선(hard-wired)되거나, 기술을 수행하도록 지속적으로 프로그래밍되는 하나 이상의 ASIC(application-specific integrated circuit) 또는 FPGA(field programmable gate array)와 같은 디지털 전자 디바이스를 포함하거나, 펌웨어, 메모리, 다른 스토리지, 또는 조합에서 프로그램 명령에 따라 기술을 수행하도록 프로그래밍되는 하나 이상의 범용 하드웨어 프로세서를 포함할 수 있다. 또한, 그러한 특수-목적 컴퓨팅 디바이스는 커스텀 고정-배선 로직, ASIC, 또는 FPGA를 커스텀 프로그래밍과 조합하여 기술을 실현할 수 있다. 다양한 실시예에서, 특수-목적 컴퓨팅 디바이스는 기술을 구현하기 위한 고정-배선 및/또는 프로그램 로직을 포함하는 데스크톱 컴퓨터 시스템, 포터블 컴퓨터 시스템, 휴대용 디바이스, 네트워크 디바이스, 또는 임의의 다른 디바이스이다.
일 실시예에서, 컴퓨터 시스템(300)은 정보를 통신하기 위한 버스(302) 또는 다른 통신 메커니즘, 및 정보를 프로세싱하기 위해 버스(302)와 결합된 하드웨어 프로세서(304)를 포함한다. 하드웨어 프로세서(304)는, 예를 들어, 범용 마이크로프로세서이다. 컴퓨터 시스템(300)은 버스(302)에 결합된, 프로세서(304)에 의해 실행될 명령 및 정보를 저장하기 위한, RAM(random access memory) 또는 다른 동적 저장 디바이스와 같은, 메인 메모리(306)를 또한 포함한다. 일 구현예에서, 메인 메모리(306)는 프로세서(304)에 의해 실행될 명령의 실행 동안 임시 변수 또는 다른 중간 정보를 저장하는 데 사용된다. 그러한 명령은, 프로세서(304)에 의해 액세스 가능한 비-일시적 저장 매체에 저장될 때, 컴퓨터 시스템(300)을 명령에서 특정된 동작을 수행하도록 커스터마이징된 특수-목적 머신으로 렌더링한다.
일 실시예에서, 컴퓨터 시스템(300)은, 프로세서(304)를 위한 정적 정보 및 명령을 저장하기 위해 버스(302)와 결합된 ROM(read only memory)(308) 또는 다른 정적 저장 디바이스를 추가로 포함한다. 자기 디스크, 광학 디스크, 솔리드-스테이트 드라이브, 또는 3차원 크로스 포인트 메모리와 같은, 저장 디바이스(310)가 제공되고 정보 및 명령을 저장하기 위해 버스(302)에 결합된다.
일 실시예에서, 컴퓨터 시스템(300)은 버스(302)를 통해, 정보를 컴퓨터 사용자에게 디스플레이하기 위한 CRT(cathode ray tube), LCD(liquid crystal display), 플라스마 디스플레이, LED(light emitting diode) 디스플레이, 또는 OLED(organic light emitting diode) 디스플레이와 같은 디스플레이(312)에 결합된다. 문자 숫자식 및 다른 키를 포함하는 입력 디바이스(314)는 정보 및 커맨드 선택을 프로세서(304)에 통신하기 위해 버스(302)에 결합된다. 다른 타입의 사용자 입력 디바이스는, 디스플레이(312) 상에서 커서 움직임을 제어하고 방향 정보 및 커맨드 선택을 프로세서(304)에 통신하기 위한, 마우스, 트랙볼, 터치식 디스플레이, 또는 커서 방향 키와 같은, 커서 제어기(316)이다. 이 입력 디바이스는 전형적으로, 디바이스가 평면에서 위치를 특정할 수 있게 하는 2개의 축, 즉 제1 축(예를 들어, x-축) 및 제2 축(예를 들어, y-축)에서의 2 자유도를 갖는다.
일 실시예에 따르면, 본원에서의 기술은 프로세서(304)가 메인 메모리(306)에 포함된 하나 이상의 명령의 하나 이상의 시퀀스를 실행하는 것에 응답하여 컴퓨터 시스템(300)에 의해 수행된다. 그러한 명령은, 저장 디바이스(310)와 같은, 다른 저장 매체로부터 메인 메모리(306) 내로 판독된다. 메인 메모리(306)에 포함된 명령의 시퀀스의 실행은 프로세서(304)로 하여금 본원에서 기술된 프로세스 단계를 수행하게 한다. 대안적인 실시예에서는, 소프트웨어 명령 대신에 또는 소프트웨어 명령과 조합하여 고정-배선 회로가 사용된다.
본원에서 사용되는 바와 같은 용어 "저장 매체"는 머신이 특정 방식으로 동작하게 하는 데이터 및/또는 명령을 저장하는 임의의 비-일시적 매체를 지칭한다. 그러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함한다. 비휘발성 매체는, 예를 들어, 광학 디스크, 자기 디스크, 솔리드-스테이트 드라이브, 또는 3차원 크로스 포인트 메모리, 예컨대, 저장 디바이스(310)를 포함한다. 휘발성 매체는 동적 메모리, 예컨대, 메인 메모리(306)를 포함한다. 저장 매체의 일반적인 형태는, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 솔리드-스테이트 드라이브, 자기 테이프, 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광학 데이터 저장 매체, 홀 패턴을 갖는 임의의 물리적 매체, RAM, PROM, 및 EPROM, FLASH-EPROM, NV-RAM, 또는 임의의 다른 메모리 칩, 또는 카트리지를 포함한다.
저장 매체는 송신 매체와 별개이지만 송신 매체와 함께 사용될 수 있다. 송신 매체는 저장 매체들 간에 정보를 전달하는 데 참여한다. 예를 들어, 송신 매체는 버스(302)를 포함하는 와이어를 포함하여, 동축 케이블, 구리 와이어 및 광섬유를 포함한다. 또한, 송신 매체는 라디오 파 및 적외선 데이터 통신 동안 생성되는 것과 같은, 광파 또는 음향파의 형태를 취할 수 있다.
일 실시예에서, 실행을 위해 하나 이상의 명령의 하나 이상의 시퀀스를 프로세서(304)에 반송하는 데 다양한 형태의 매체가 수반된다. 예를 들어, 명령은 초기에 원격 컴퓨터의 자기 디스크 또는 솔리드-스테이트 드라이브에 보유된다. 원격 컴퓨터는 동적 메모리에 명령을 로딩하고 모뎀을 사용하여 전화선을 통해 명령을 전송한다. 컴퓨터 시스템(300)에 로컬인 모뎀은 전화선 상으로 데이터를 수신하고 적외선 송신기를 사용하여 데이터를 적외선 신호로 변환한다. 적외선 검출기는 적외선 신호로 반송되는 데이터를 수신하고 적절한 회로는 데이터를 버스(302)에 배치한다. 버스(302)는 데이터를 메인 메모리(306)로 반송하고, 프로세서(304)는 메인 메모리로부터 명령을 검색 및 실행한다. 메인 메모리(306)에 의해 수신된 명령은 프로세서(304)에 의해 실행되기 전이나 실행된 후에 선택적으로 저장 디바이스(310)에 저장될 수 있다.
컴퓨터 시스템(300)은 버스(302)와 결합된 통신 인터페이스(318)도 포함한다. 통신 인터페이스(318)는 로컬 네트워크(322)에 연결된 네트워크 링크(320)에 대한 2-웨이 데이터 통신(two-way data communication) 결합을 제공한다. 예를 들어, 통신 인터페이스(318)는 ISDN(integrated service digital network) 카드, 케이블 모뎀, 위성 모뎀, 또는 대응하는 타입의 전화선에 데이터 통신 연결을 제공하기 위한 모뎀이다. 다른 예로서, 통신 인터페이스(318)는 호환 가능한 LAN(local area network)에 데이터 통신 연결을 제공하기 위한 LAN 카드이다. 일부 구현예에서는, 무선 링크도 구현된다. 임의의 그러한 구현예에서, 통신 인터페이스(318)는 다양한 타입의 정보를 나타내는 디지털 데이터 스트림을 반송하는 전기 신호, 전자기 신호, 또는 광학 신호를 전송 및 수신한다.
네트워크 링크(320)는 전형적으로 하나 이상의 네트워크를 통한 다른 데이터 디바이스로의 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(320)는 로컬 네트워크(322)를 통해 호스트 컴퓨터(324)로의 연결 또는 ISP(Internet Service Provider)(326)에 의해 운영되는 클라우드 데이터 센터 또는 장비로의 연결을 제공할 수 있다. ISP(326)는 차례로 지금은 "인터넷(328)"이라고 통칭되는 월드-와이드 패킷 데이터 통신 네트워크(world-wide packet data communication network)를 통해 데이터 통신 서비스를 제공한다. 로컬 네트워크(322) 및 인터넷(328) 양자 모두는 디지털 데이터 스트림을 반송하는 전기 신호, 전자기 신호, 또는 광학 신호를 사용한다. 다양한 네트워크를 통한 신호 및 컴퓨터 시스템(300)으로 그리고 컴퓨터 시스템(300)으로부터 디지털 데이터를 반송하는 통신 인터페이스(318)를 통한 네트워크 링크(320) 상의 신호는 송신 매체의 예시적인 형태이다. 일 실시예에서, 네트워크(320)는 위에서 기술된 클라우드(202) 또는 클라우드(202)의 일부를 포함한다.
컴퓨터 시스템(300)은 네트워크(들), 네트워크 링크(320) 및 통신 인터페이스(318)를 통해 프로그램 코드를 포함하는 메시지 및 데이터를 전송 및 수신한다. 일 실시예에서, 컴퓨터 시스템(300)은 프로세싱하기 위한 코드를 수신한다. 수신된 코드는 수신될 때 프로세서(304)에 의해 실행되고 및/또는, 추후의 실행을 위해 저장 디바이스(310) 또는 다른 비휘발성 스토리지에 저장된다.
자율 주행 차량 아키텍처
도 4는 자율 주행 차량(예를 들어, 도 1에 도시된 AV(100))에 대한 예시적인 아키텍처(400)를 도시한다. 아키텍처(400)는 인지 모듈(402)(때때로 인지 회로라고 지칭됨), 계획 모듈(planning module)(404)(때때로 계획 회로라고 지칭됨), 제어 모듈(406)(때때로 제어 회로라고 지칭됨), 로컬화 모듈(localization module)(408)(때때로 로컬화 회로라고 지칭됨), 및 데이터베이스 모듈(410)(때때로 데이터베이스 회로라고 지칭됨)을 포함한다. 각각의 모듈은 AV(100)의 동작에서 소정의 역할을 한다. 다함께, 모듈(402, 404, 406, 408 및 410)은 도 1에 도시된 AV 시스템(120)의 일부일 수 있다. 일부 실시예에서, 모듈(402, 404, 406, 408, 및 410) 중 임의의 모듈은 컴퓨터 소프트웨어(예를 들어, 컴퓨터 판독 가능 매체 상에 저장된 실행 가능한 코드) 및 컴퓨터 하드웨어(예를 들어, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, ASIC(application-specific integrated circuit), 하드웨어 메모리 디바이스, 다른 타입의 집적 회로, 다른 타입의 컴퓨터 하드웨어, 또는 이러한 것 중 임의의 것 또는 모든 것의 조합)의 조합이다.
사용 중에, 계획 모듈(404)은 목적지(412)를 나타내는 데이터를 수신하고 목적지(412)에 도달하기 위해(예를 들어, 도착하기 위해) AV(100)가 진행할 수 있는 궤적(414)(때때로 루트라고 지칭됨)을 나타내는 데이터를 결정한다. 계획 모듈(404)이 궤적(414)을 나타내는 데이터를 결정하기 위해, 계획 모듈(404)은 인지 모듈(402), 로컬화 모듈(408), 및 데이터베이스 모듈(410)로부터 데이터를 수신한다.
인지 모듈(402)은, 예를 들어, 도 1에도 도시된 바와 같이, 하나 이상의 센서(121)를 사용하여 인근의 물리적 대상체를 식별한다. 대상체는 분류되고(예를 들어, 보행자, 자전거, 자동차, 교통 표지판 등과 같은 타입으로 그룹화되고), 분류된 대상체(416)를 포함하는 장면 묘사는 계획 모듈(404)에 제공된다.
또한, 계획 모듈(404)은 로컬화 모듈(408)로부터 AV 위치(418)를 나타내는 데이터를 수신한다. 로컬화 모듈(408)은 위치를 계산하기 위해 센서(121)로부터의 데이터 및 데이터베이스 모듈(410)로부터의 데이터(예를 들어, 지리적 데이터)를 사용하여 AV 위치를 결정한다. 예를 들어, 로컬화 모듈(408)은 GNSS(Global Operation Satellite System) 센서로부터의 데이터 및 지리적 데이터를 사용하여 AV의 경도 및 위도를 계산한다. 일 실시예에서, 로컬화 모듈(408)에 의해 사용되는 데이터는 도로 기하학적 특성의 고-정밀 맵, 도로망 연결 특성을 기술하는 맵, 도로 물리적 특성(예를 들어, 교통 속력, 교통량, 차량 및 자전거 운전자 교통 차선의 개수, 차선 폭, 차선 교통 방향, 또는 차선 마커 타입 및 위치, 또는 그 조합)을 기술하는 맵, 및 도로 특징부, 예를 들어, 횡단보도, 교통 표지판 또는 다양한 타입의 다른 진행 신호(travel signal)의 공간적 위치를 기술하는 맵을 포함한다.
제어 모듈(406)은 궤적(414)을 나타내는 데이터 및 AV 위치(418)를 나타내는 데이터를 수신하고, AV(100)로 하여금 목적지(412)를 향해 궤적(414)을 진행하게 할 방식으로 AV의 제어 기능(420a 내지 420c)(예를 들어, 조향, 스로틀링, 제동, 점화)을 동작시킨다. 예를 들어, 궤적(414)이 좌회전을 포함하는 경우, 제어 모듈(406)은, 조향 기능의 조향각이 AV(100)로 하여금 좌측으로 회전하게 하고 스로틀링 및 제동이 AV(100)로 하여금 이러한 회전이 이루어지기 전에 통과하는 보행자 또는 차량을 위해 일시정지 및 대기하게 하는 방식으로 제어 기능(420a 내지 420c)을 동작시킬 것이다.
자율 주행 차량 입력
도 5는 인지 모듈(402)(도 4)에 의해 사용되는 입력(502a 내지 502d)(예를 들어, 도 1에 도시된 센서(121)) 및 출력(504a 내지 504d)(예를 들어, 센서 데이터)의 일 예를 도시한다. 하나의 입력(502a)은 LiDAR(Light Detection and Ranging) 시스템(예를 들어, 도 1에 도시된 LiDAR(123))이다. LiDAR는 그의 시선에 있는 물리적 대상체에 관한 데이터를 획득하기 위해 광(예를 들어, 적외선 광과 같은 광의 버스트)을 사용하는 기술이다. LiDAR 시스템은 출력(504a)으로서 LiDAR 데이터를 생성한다. 예를 들어, LiDAR 데이터는 환경(190)의 표현을 구성하는 데 사용되는 3D 또는 2D 포인트(포인트 클라우드라고도 알려져 있음)의 집합체이다.
다른 입력(502b)은 RADAR 시스템이다. RADAR는 인근의 물리적 대상체에 관한 데이터를 획득하기 위해 라디오 파를 사용하는 기술이다. RADAR는 LiDAR 시스템의 시선 내에 있지 않은 대상체에 관한 데이터를 획득할 수 있다. RADAR 시스템(502b)은 출력(504b)으로서 RADAR 데이터를 생성한다. 예를 들어, RADAR 데이터는 환경(190)의 표현을 구성하는 데 사용되는 하나 이상의 라디오 주파수 전자기 신호이다.
다른 입력(502c)은 카메라 시스템이다. 카메라 시스템은 인근의 물리적 대상체에 관한 정보를 획득하기 위해 하나 이상의 카메라(예를 들어, CCD(charge-coupled device)와 같은 광 센서를 사용하는 디지털 카메라)를 사용한다. 카메라 시스템은 출력(504c)으로서 카메라 데이터를 생성한다. 카메라 데이터는 종종 이미지 데이터(예를 들어, RAW, JPEG, PNG 등과 같은 이미지 데이터 형식의 데이터)의 형태를 취한다. 일부 예에서, 카메라 시스템은, 카메라 시스템이 심도를 인지할 수 있게 하는, 예를 들어, 입체시(stereopsis)(스테레오 비전)를 위한, 다수의 독립적인 카메라를 갖는다. 카메라 시스템에 의해 인지되는 대상체가 본원에서 "인근"으로 기술되지만, 이것은 AV에 상대적인 것이다. 사용 중에, 카메라 시스템은 멀리 있는, 예를 들어, AV 전방으로 최대 1 킬로미터 이상에 있는 대상체를 "보도록" 구성될 수 있다. 따라서, 카메라 시스템은 멀리 떨어져 있는 대상체를 인지하기 위해 최적화되는 센서 및 렌즈와 같은 특징부를 가질 수 있다.
다른 입력(502d)은 TLD(traffic light detection) 시스템이다. TLD 시스템은 하나 이상의 카메라를 사용하여, 시각적 운행 정보를 제공하는 신호등, 거리 표지판, 및 다른 물리적 대상체에 관한 정보를 획득한다. TLD 시스템은 출력(504d)으로서 TLD 데이터를 생성한다. TLD 데이터는 종종 이미지 데이터(예를 들어, RAW, JPEG, PNG 등과 같은 이미지 데이터 형식의 데이터)의 형태를 취한다. TLD 시스템은, 시각적 운행 정보를 제공하는 가능한 한 많은 물리적 대상체에 관한 정보를 획득하기 위해 TLD 시스템이 넓은 시계를 갖는 카메라(예를 들어, 광각 렌즈 또는 어안 렌즈를 사용함)를 사용하여, AV(100)가 이러한 대상체에 의해 제공되는 모든 관련 운행 정보에 액세스한다는 점에서, 카메라를 포함하는 시스템과 상이하다. 예를 들어, TLD 시스템의 시야각은 약 120도 이상일 수 있다.
일부 실시예에서, 출력(504a 내지 504d)은 센서 융합 기술을 사용하여 조합된다. 따라서, 개별 출력(504a 내지 504d) 중 어느 하나가 AV(100)의 다른 시스템에 제공되거나(예를 들어, 도 4에 도시된 바와 같은 계획 모듈(404)에 제공되거나), 또는 조합된 출력이 동일한 타입(동일한 조합 기술을 사용하는 것 또는 동일한 출력을 조합하는 것 또는 둘 모두)의 단일 조합 출력 또는 다중 조합 출력의 형태 또는 상이한 타입(예를 들어, 상이한 각자의 조합 기술을 사용하는 것 또는 상이한 각자의 출력을 조합하는 것 또는 둘 모두)의 단일 조합 출력 또는 다중 조합 출력의 형태 중 어느 하나로 다른 시스템에 제공될 수 있다. 일부 실시예에서, 조기 융합(early fusion) 기술이 사용된다. 조기 융합 기술은 하나 이상의 데이터 프로세싱 단계가 조합 출력에 적용되기 전에 출력을 조합하는 것을 특징으로 한다. 일부 실시예에서, 늦은 융합(late fusion) 기술이 사용된다. 늦은 융합 기술은 하나 이상의 데이터 프로세싱 단계가 개별 출력에 적용된 후에 출력을 조합하는 것을 특징으로 한다.
도 6은 LiDAR 시스템(602)(예를 들어, 도 5에 도시된 입력(502a))의 일 예를 도시한다. LiDAR 시스템(602)은 광 이미터(606)(예를 들어, 레이저 송신기)로부터 광(604a 내지 604c)을 방출한다. LiDAR 시스템에 의해 방출되는 광은 전형적으로 가시 스펙트럼에 있지 않으며, 예를 들어, 적외선 광이 종종 사용된다. 방출되는 광(604b)의 일부는 물리적 대상체(608)(예를 들어, 차량)와 조우하고, LiDAR 시스템(602)으로 다시 반사된다. (LiDAR 시스템으로부터 방출되는 광은 전형적으로 물리적 대상체, 예를 들어, 고체 형태의 물리적 대상체를 관통하지 않는다). 또한, LiDAR 시스템(602)은 반사된 광을 검출하는 하나 이상의 광 검출기(610)를 갖는다. 일 실시예에서, LiDAR 시스템과 연관된 하나 이상의 데이터 프로세싱 시스템은 LiDAR 시스템의 시계(614)를 나타내는 이미지(612)를 생성한다. 이미지(612)는 물리적 대상체(608)의 경계(616)를 나타내는 정보를 포함한다. 이러한 방식으로, 이미지(612)는 AV 인근의 하나 이상의 물리적 대상체의 경계(616)를 결정하는 데 사용된다.
도 7은 동작 중인 LiDAR 시스템(602)을 도시한다. 이 도면에 도시된 시나리오에서, AV(100)는 이미지(702) 형태의 카메라 시스템 출력(504c) 및 LiDAR 데이터 포인트(704) 형태의 LiDAR 시스템 출력(504a) 둘 모두를 수신한다. 사용 중에, AV(100)의 데이터 프로세싱 시스템은 이미지(702)를 데이터 포인트(704)와 비교한다. 특히, 이미지(702)에서 식별된 물리적 대상체(706)가 데이터 포인트(704) 중에서도 식별된다. 이러한 방식으로, AV(100)는 데이터 포인트(704)의 윤곽 및 밀도에 기초하여 물리적 대상체의 경계를 인지한다.
도 8은 LiDAR 시스템(602)의 동작을 추가적으로 상세하게 도시한다. 위에서 기술된 바와 같이, AV(100)는 LiDAR 시스템(602)에 의해 검출되는 데이터 포인트의 특성에 기초하여 물리적 대상체의 경계를 검출한다. 도 8에 도시된 바와 같이, 지면(802)과 같은 평평한 대상체는 LiDAR 시스템(602)으로부터 방출되는 광(804a 내지 804d)을 일관된 방식으로 반사할 것이다. 달리 말하면, LiDAR 시스템(602)이 일관된 간격을 사용하여 광을 방출하기 때문에, 지면(802)은 광을 동일한 일관된 간격으로 다시 LiDAR 시스템(602)으로 반사할 것이다. AV(100)가 지면(802) 위에서 진행함에 따라, LiDAR 시스템(602)은 도로를 방해하는 것이 없는 경우 다음 유효 지면 포인트(806)에 의해 반사되는 광을 계속 검출할 것이다. 그렇지만, 대상체(808)가 도로를 방해하는 경우, LiDAR 시스템(602)에 의해 방출되는 광(804e 내지 804f)은 예상되는 일관된 방식과 불일치하는 방식으로 포인트(810a 내지 810b)로부터 반사될 것이다. 이 정보로부터, AV(100)는 대상체(808)가 존재한다고 결정할 수 있다.
경로 계획
도 9는 (예를 들어, 도 4에 도시된 바와 같은) 계획 모듈(404)의 입력과 출력 사이의 관계의 블록 다이어그램(900)을 도시한다. 일반적으로, 계획 모듈(404)의 출력은 시작 포인트(904)(예를 들어, 소스 위치 또는 초기 위치)로부터 종료 포인트(906)(예를 들어, 목적지 또는 최종 위치)까지의 루트(902)이다. 루트(902)는 전형적으로 하나 이상의 세그먼트에 의해 규정된다. 예를 들어, 세그먼트는 거리, 도로, 공도, 사유 도로, 또는 자동차 진행에 적절한 다른 물리적 영역의 적어도 일 부분에 걸쳐 진행되는 거리이다. 일부 예에서, 예를 들어, AV(100)가 4륜 구동(4WD) 또는 상시 4륜구동(AWD) 자동차, SUV, 픽업 트럭 등과 같은 오프-로드 주행 가능 차량인 경우, 루트(902)는 비포장 경로 또는 탁트인 들판과 같은 "오프-로드" 세그먼트를 포함한다.
루트(902)에 추가하여, 계획 모듈은 차선-레벨 루트 계획 데이터(908)도 출력한다. 차선-레벨 루트 계획 데이터(908)는 특정한 시간에서의 세그먼트의 조건에 기초하여 루트(902)의 세그먼트를 횡단하는 데 사용된다. 예를 들어, 루트(902)가 다중 차선 공도를 포함하는 경우, 차선-레벨 루트 계획 데이터(908)는, 예를 들어, 출구가 다가오고 있는지, 차선 중 하나 이상이 다른 차량을 갖는지, 또는 수 분 이하 동안에 걸쳐 변화되는 다른 인자에 기초하여, AV(100)가 다중 차선 중 한 차선을 선택하는 데 사용할 수 있는 궤적 계획 데이터(910)를 포함한다. 유사하게, 일부 구현예에서, 차선-레벨 루트 계획 데이터(908)는 루트(902)의 세그먼트에 특정적인 속력 제약(912)을 포함한다. 예를 들어, 세그먼트가 보행자 또는 예상치 않은 교통상황(traffic)을 포함하는 경우, 속력 제약(912)은 AV(100)를 예상된 속력보다 더 느린 진행 속력, 예를 들어, 세그먼트에 대한 속력 제한 데이터에 기초한 속력으로 제한할 수 있다.
일 실시예에서, 계획 모듈(404)로의 입력은 (예를 들어, 도 4에 도시된 데이터베이스 모듈(410)로부터의) 데이터베이스 데이터(914), 현재 위치 데이터(916)(예를 들어, 도 4에 도시된 AV 위치(418)), (예를 들어, 도 4에 도시된 목적지(412)에 대한) 목적지 데이터(918), 및 대상체 데이터(920)(예를 들어, 도 4에 도시된 인지 모듈(402)에 의해 인지되는 분류된 대상체(416))를 포함한다. 일 실시예에서, 데이터베이스 데이터(914)는 계획에 사용되는 규칙을 포함한다. 규칙은 형식 언어를 사용하여, 예를 들어, 불리언 로직을 사용하여 특정된다. AV(100)와 조우하는 임의의 주어진 상황에서, 규칙 중 적어도 일부는 해당 상황에 적용될 것이다. 규칙이 AV(100)에 이용 가능한 정보, 예를 들어, 주위 환경에 관한 정보에 기초하여 충족되는 조건을 갖는 경우, 규칙이 주어진 상황에 적용된다. 규칙은 우선순위를 가질 수 있다. 예를 들어, "도로가 공도인 경우, 최좌측 차선으로 이동하라"라고 되어 있는 규칙은, 출구가 1마일 내에서 다가오고 있는 경우, 최우측 차선으로 이동하라"는 것보다 더 낮은 우선순위를 가질 수 있다.
도 10은, 예를 들어, 계획 모듈(404)(도 4)에 의해 경로 계획에 사용되는 방향 그래프(1000)를 도시한다. 일반적으로, 도 10에 도시된 것과 같은 방향 그래프(1000)는 임의의 시작 포인트(1002)와 종료 포인트(1004) 사이의 경로를 결정하는 데 사용된다. 현실 세계에서는, 시작 포인트(1002)와 종료 포인트(1004)를 분리하는 거리는 상대적으로 클 수 있거나(예를 들어, 2개의 상이한 대도시 지역 내) 또는 상대적으로 작을 수 있다(예를 들어, 도시 블록과 맞닿아 있는 2개의 교차로 또는 다중 차선 도로의 2개의 차선).
일 실시예에서, 방향 그래프(1000)는 AV(100)에 의해 점유될 수 있는 시작 포인트(1002)와 종료 포인트(1004) 사이의 상이한 위치를 나타내는 노드(1006a 내지 1006d)를 갖는다. 일부 예에서, 예를 들어, 시작 포인트(1002) 및 종료 포인트(1004)가 상이한 대도시 지역을 나타낼 때, 노드(1006a 내지 1006d)는 도로의 세그먼트를 나타낸다. 일부 예에서, 예를 들어, 시작 포인트(1002) 및 종료 포인트(1004)가 동일한 도로 상의 상이한 위치를 나타낼 때, 노드(1006a 내지 1006d)는 해당 도로 상의 상이한 위치를 나타낸다. 이러한 방식으로, 방향 그래프(1000)는 다양한 레벨의 입도(granularity)로 정보를 포함한다. 또한, 일 실시예에서, 높은 입도를 갖는 방향 그래프는 또한 더 큰 스케일을 갖는 다른 방향 그래프의 하위그래프이다. 예를 들어, 시작 포인트(1002) 및 종료 포인트(1004)가 멀리 떨어져 있는(예를 들어, 수 마일(many miles) 떨어져 있는) 방향 그래프는 그의 정보 대부분이 낮은 입도이고 저장된 데이터에 기초하지만, AV(100)의 시계 내의 물리적 위치를 나타내는 그래프의 부분에 대한 일부 높은 입도 정보도 포함한다.
노드(1006a 내지 1006d)는 노드와 중첩할 수 없는 대상체(1008a 내지 1008b)와 별개이다. 일 실시예에서, 입도가 낮을 때, 대상체(1008a 내지 1008b)는 자동차에 의해 횡단될 수 없는 구역, 예를 들어, 거리 또는 도로가 없는 영역을 나타낸다. 입도가 높을 때, 대상체(1008a 내지 1008b)는 AV(100)의 시계 내의 물리적 대상체, 예를 들어, 다른 자동차, 보행자, 또는 AV(100)가 물리적 공간을 공유할 수 없는 다른 엔티티를 나타낸다. 일 실시예에서, 대상체(1008a 내지 1008b)의 일부 또는 전부는 정적 대상체(예를 들어, 가로등 또는 전신주와 같은 위치를 변경하지 않는 대상체) 또는 동적 대상체(예를 들어, 보행자 또는 다른 자동차와 같은 위치를 변경할 수 있는 대상체)이다.
노드(1006a 내지 1006d)는 에지(1010a 내지 1010c)에 의해 연결된다. 2개의 노드(1006a 내지 1006b)가 에지(1010a)에 의해 연결되는 경우, AV(100)가, 예를 들어, 다른 노드(1006b)에 도착하기 전에 중간 노드로 진행할 필요 없이, 하나의 노드(1006a)와 다른 노드(1006b) 사이에서 진행하는 것이 가능하다. (노드 사이에서 진행하는 AV(100)를 언급할 때, AV(100)가 각자의 노드에 의해 표현되는 2개의 물리적 위치 사이에서 진행한다는 것을 의미한다.) 에지(1010a 내지 1010c)는, AV(100)가 제1 노드로부터 제2 노드로, 또는 제2 노드로부터 제1 노드로 진행한다는 의미에서 종종 양방향성이다. 일 실시예에서, 에지(1010a 내지 1010c)는, AV(100)가 제1 노드로부터 제2 노드로 진행할 수 있지만, AV(100)가 제2 노드로부터 제1 노드로 진행할 수 없다는 의미에서 단방향성이다. 에지(1010a 내지 1010c)는, 예를 들어, 일방통행로, 거리, 도로, 또는 공도의 개별 차선, 또는 법적 또는 물리적 제약으로 인해 일 방향으로만 횡단될 수 있는 다른 특징부를 나타낼 때 단방향성이다.
일 실시예에서, 계획 모듈(404)은 방향 그래프(1000)를 사용하여 시작 포인트(1002)와 종료 포인트(1004) 사이의 노드 및 에지로 이루어진 경로(1012)를 식별한다.
에지(1010a 내지 1010c)는 연관된 비용(1014a 내지 1014b)을 갖는다. 비용(1014a 내지 1014b)은 AV(100)가 해당 에지를 선택하는 경우 소비될 리소스를 나타내는 값이다. 전형적인 리소스는 시간이다. 예를 들어, 하나의 에지(1010a)가 다른 에지(1010b)의 물리적 거리의 2배인 물리적 거리를 나타내면, 제1 에지(1010a)의 연관된 비용(1014a)은 제2 에지(1010b)의 연관된 비용(1014b)의 2배일 수 있다. 시간에 영향을 미치는 다른 인자는 예상된 교통상황, 교차로의 개수, 속력 제한 등을 포함한다. 다른 전형적인 리소스는 연비이다. 2개의 에지(1010a 및 1010b)는 동일한 물리적 거리를 나타낼 수 있지만, 예를 들어, 도로 조건, 예상된 날씨 등으로 인해, 하나의 에지(1010a)는 다른 에지(1010b)보다 더 많은 연료를 요구할 수 있다.
계획 모듈(404)이 시작 포인트(1002)와 종료 포인트(1004) 사이의 경로(1012)를 식별할 때, 계획 모듈(404)은 전형적으로, 비용에 최적화된 경로, 예를 들어, 에지의 개별 비용이 함께 가산될 때 가장 적은 전체 비용을 갖는 경로를 선택한다.
자율 주행 차량 제어
도 11은 (예를 들어, 도 4에 도시된 바와 같은) 제어 모듈(406)의 입력 및 출력의 블록 다이어그램(1100)을 도시한다. 제어 모듈은, 예를 들어, 프로세서(304)와 유사한 하나 이상의 프로세서(예를 들어, 마이크로프로세서 또는 마이크로컨트롤러 또는 둘 모두와 같은 하나 이상의 컴퓨터 프로세서), 메인 메모리(306)와 유사한 단기 및/또는 장기 데이터 스토리지(예를 들어, 메모리 랜덤-액세스 메모리 또는 플래시 메모리 또는 둘 모두), ROM(1308), 및 저장 디바이스(210)를 포함하는 제어기(1102), 및 메모리 내에 저장된 명령에 따라 동작하는데, 상기 명령은 명령이 (예를 들어, 하나 이상의 프로세서에 의해) 실행될 때 제어기(1102)의 동작을 수행한다.
일 실시예에서, 제어기(1102)는 원하는 출력(1104)을 나타내는 데이터를 수신한다. 원하는 출력(1104)은 전형적으로 속도, 예를 들어, 속력 및 헤딩을 포함한다. 원하는 출력(1104)은, 예를 들어, (예를 들어, 도 4에 도시된 바와 같은) 계획 모듈(404)로부터 수신되는 데이터에 기초할 수 있다. 원하는 출력(1104)에 따라, 제어기(1102)는 스로틀 입력(1106) 및 조향 입력(1108)으로서 사용 가능한 데이터를 생성한다. 스로틀 입력(1106)은 원하는 출력(1104)을 달성하기 위해 조향 페달에 관여하거나 또는 다른 스로틀 제어에 관여함으로써, AV(100)의 스로틀(예를 들어, 가속도 제어)에 관여하는 정도를 나타낸다. 일부 예에서, 스로틀 입력(1106)은 AV(100)의 브레이크(예를 들어, 감속 제어)에 관여하는 데 사용 가능한 데이터를 또한 포함한다. 조향 입력(1108)은 조향각, 예를 들어, AV의 조향 제어(예를 들어, 조향 휠, 조향각 액추에이터, 또는 조향각을 제어하기 위한 다른 기능성)가 원하는 출력(1104)을 달성하도록 위치설정되어야 하는 각도를 나타낸다.
일 실시예에서, 제어기(1102)는 스로틀 및 조향에 제공되는 입력을 조정하는 데 사용되는 피드백을 수신한다. 예를 들어, AV(100)가 언덕과 같은 방해물(1110)과 조우하면, AV(100)의 측정된 속력(1112)은 원하는 출력 속력 아래로 낮아진다. 일 실시예에서, 임의의 측정된 출력(1114)은, 예를 들어, 측정된 속력과 원하는 출력 사이의 차분(1113)에 기초하여, 필요한 조정이 수행되도록 제어기(1102)에 제공된다. 측정된 출력(1114)은 측정된 위치(1116), 측정된 속도(1118)(속력 및 헤딩을 포함), 측정된 가속도(1120), 및 AV(100)의 센서에 의해 측정 가능한 다른 출력을 포함한다.
일 실시예에서, 방해물(1110)에 관한 정보는, 예를 들어, 카메라 또는 LiDAR 센서와 같은 센서에 의해 미리 검출되고, 예측 피드백 모듈(1122)에 제공된다. 이후, 예측 피드백 모듈(1122)은 정보를 제어기(1102)에 제공하며, 제어기(1102)는 이 정보를 사용하여 그에 따라 조정할 수 있다. 예를 들어, AV(100)의 센서가 언덕을 검출한("본") 경우, 이 정보는 상당한 감속을 회피하기 위해 적절한 시간에 스로틀에 관여할 준비를 하도록 제어기(1102)에 의해 사용될 수 있다.
도 12는 제어기(1102)의 입력, 출력, 및 컴포넌트의 블록 다이어그램(1200)을 도시한다. 제어기(1102)는 스로틀/브레이크 제어기(1204)의 동작에 영향을 미치는 속력 프로파일러(1202)를 갖는다. 예를 들어, 속력 프로파일러(1202)는, 예를 들어, 제어기(1102)에 의해 수신되고 속력 프로파일러(1202)에 의해 프로세싱되는 피드백에 따라 스로틀/브레이크(1206)를 사용하여 가속에 관여하거나 감속에 관여하도록 스로틀/브레이크 제어기(1204)에 명령한다.
또한, 제어기(1102)는 조향 제어기(1210)의 동작에 영향을 미치는 측방향 추적 제어기(1208)를 갖는다. 예를 들어, 측방향 추적 제어기(1208)는, 예를 들어, 제어기(1102)에 의해 수신되고 측방향 추적 제어기(1208)에 의해 프로세싱되는 피드백에 따라 조향각 액추에이터(1212)의 위치를 조정하도록 조향 제어기(1210)에 명령한다.
제어기(1102)는 스로틀/브레이크(1206) 및 조향각 액추에이터(1212)를 제어하는 방법을 결정하는 데 사용되는 여러 입력을 수신한다. 계획 모듈(404)은, 예를 들어, AV(100)가 동작을 시작할 때 헤딩을 선택하고 AV(100)가 교차로에 도달할 때 어느 도로 세그먼트를 횡단할지를 결정하기 위해, 제어기(1102)에 의해 사용되는 정보를 제공한다. 로컬화 모듈(408)은, 예를 들어, 스로틀/브레이크(1206) 및 조향각 액추에이터(1212)가 제어되고 있는 방식에 기초하여 예상되는 위치에 AV(100)가 있는지를 제어기(1102)가 결정할 수 있도록, AV(100)의 현재 위치를 기술하는 정보를 제어기(1102)에 제공한다. 일 실시예에서, 제어기(1102)는 다른 입력(1214)으로부터의 정보, 예를 들어, 데이터베이스, 컴퓨터 네트워크 등으로부터 수신된 정보를 수신한다.
RADAR를 사용한 확장 대상체 추적
I.
프리-프로세싱
도 13a는 하나 이상의 실시예에 따른, RADAR을 사용한 확장 대상체 추적을 위한 프로세스(1300)의 흐름 다이어그램이다. 프로세스는 원시 RADAR 리턴 포인트(이하 간단히 "포인트"라고도 지칭됨)를 프리-프로세싱하는 것(1301)으로 시작된다. 이 단계에서, 선행 맵 특징부(예를 들어, 도로 경계)로부터 임계 범위보다 멀리 있는 입력 원시 RADAR 포인트 클라우드 내의 모든 포인트, 및 Y 미터/초(예를 들어, 1 m/s) 미만의 보상된 범위 레이트를 갖는 해당 포인트가 필터링 제거되고 추적에서의 사용으로부터 제외된다.
프로세스(1300)는 다수의 시간 스텝 또는 프레임에 걸쳐 포인트를 누적하는 것(1303)에 의해 계속된다. 예를 들어, 일 실시예에서, 필터링된 포인트는 롤링 버퍼 또는 다른 적합한 데이터 구조를 사용하여 N개의 RADAR 시간 스텝/프레임에 대해 누적되며, 여기서 N은 1보다 큰 양의 정수이다. 이 단계는 새로운 시간 스텝/프레임으로부터의 포인트가 RADAR 센서에 의해 제공될 때마다, 가장 오래된 시간 스텝/프레임으로부터의 포인트 세트가 현재의 또는 최신의 시간 스텝/프레임에 대한 새로운 포인트 세트로 대체된다는 것을 의미한다. N개의 시간 스텝/프레임에 대한 포인트를 누적하는 것은 RADAR 포인트 클라우드의 밀도를 N 배만큼 증가시키고, 아래에서 더욱 상세히 기술되는 바와 같이, 클러스터 속도 추정 단계를 더 쉽게 만든다. 필터링되고 누적된 포인트는 이어서 추가 프로세싱을 위해 추적 알고리즘에 보내진다.
II.
클러스터링
프로세스(1300)는 밀도 기반 클러스터링 알고리즘을 사용하여 포인트를 대상체로 그룹화하는 추적 알고리즘(1304)에 의해 계속된다. 일 실시예에서, 프리-프로세싱된 포인트는, 포인트들 사이의 유클리드 거리에 기초하여 포인트를 그룹화하는, 잘 알려진 DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 알고리즘을 사용하여 클러스터링된다. DBSCAN 알고리즘은 인근에 포인트가 있을 때 크기가 커지는 단일 포인트 클러스터로 시작된다. DBSCAN이 사용된 이유는 대상체(클러스터 중심)의 개수 또는 클러스터당 포인트의 개수 중 어느 것도 미리 알 수 없기 때문이다. 클러스터가 커지는 것 및 포인트를 노이즈 있는 것으로 분류하는 것 둘 모두는 2개의 파라미터, 즉 eps 및 min_elts에 의해 통제된다. 새로운 포인트가 클러스터 내의 임의의 포인트로부터 eps 거리 내에 있는 경우, 새로운 포인트는 기존의 클러스터의 일부가 되며, 클러스터가 그 내에 min_elts개 미만의 포인트를 갖는 경우, 클러스터는 이상치로서 분류된다.
새로운 포인트가 eps 반경을 갖는 원 내부에 있는 경우, DBSCAN은 클러스터를 확장시킨다(클러스터를 커지게 하기 위해 포인트 주위의 원형 영역을 사용함). 도로 상의 대부분의 AV가 교통 흐름 방향으로 진행하고 길지만 넓지는 않기 때문에, 일 실시예에서, 원은 교통 흐름 방향과 평행한 주축을 갖는 타원으로 대체된다. 타원을 사용하는 것은 AV에 속하는 포인트가 함께 그룹화될 수 있게 하고 서로 인접한 AV들이 함께 그룹화되는 것을 방지할 수 있다.
일단 모든 포인트가 클러스터링되면, 클러스터의 속도 및 헤딩을 계산하는 것(1305) 및 클러스터의 중심과 크기(예를 들어, 길이, 폭)를 계산하는 것(1307)을 포함하여, 클러스터들 각각에 대해 클러스터 레벨 메트릭이 계산된다. 클러스터의 중심은 클러스터의 대표 위치이고 클러스터에 속하는 모든 리턴 포인트는 중심에 집중된 것으로 가정된다.
일 실시예에서, 수학식 1에 따라 클러스터의 헤딩 θ는 그의 속도 추정치를 사용하여 계산된다:
속도 성분 vx 및 vy가 글로벌 기준 프레임(global reference coordinate frame)에서 계산되기 때문에, 클러스터가 글로벌 프레임의 X-축과 이루는 각도(즉, 클러스터의 헤딩)은 수학식 1을 사용하여 추정될 수 있다. 포인트가 축-정렬될 때 길이와 폭을 계산하는 것이 더 쉽기 때문에, 클러스터 내의 모든 포인트는 포인트들 각각을 -θ만큼 회전시키는 것에 의해 특정 축(예를 들어, X-축)에 정렬된다. X-축과 Y-축을 따라 가장 큰 값과 가장 작은 값을 갖는 포인트가 이어서 계산되고 클러스터의 길이와 폭이 계산된다. 길이는 헤딩의 방향(X-축을 따르는 것 암시함)에 있는 포인트들 사이의 최대 거리로 정의되고, 폭은 헤딩에 수직인 포인트들 사이의 최대 거리이다.
도 13b를 참조하면, 원시 포인트 클러스터(1317)로부터의 극단 포인트(1308a ... 1308d)가 결정되고, 직사각형 경계 박스(1309)가 극단 포인트(1308a ... 1308d)를 통과하게 그려진다. 클러스터의 중심은 직사각형 경계 박스(1319)의 기하학적 중심이다. 일 실시예에서, 중심점 좌표는 수학식 2 및 수학식 3에 따라 계산되며:
여기서 cx와 cy는 회전된 클러스터의 중심의 좌표이다. 클러스터의 중심이 이어서 각도 θ만큼 회전되고, 이 새로운 회전된 좌표가 클러스터의 중심을 나타낸다.
프로세스(1300)는 등속 운동 모델을 사용하여 기존의 대상체 트랙을 전파하는 것(1302) 및 클러스터를 기존의 대상체 트랙과 연관시키는 것(1306)에 의해 계속된다. 새로운 클러스터를 기존의 대상체 트랙과 연관시키는 것은 간단하지가 않은데, 그 이유는 어느 포인트가 어느 대상체에 속하는지가 알 수 없고 그 반대의 경우도 마찬가지이기 때문이다. RADAR의 경우에, 위치와 속도는 현재의 반복에서 계산된 클러스터를 기존의 대상체 트랙과 연관시키는 데 사용된다. 예측된 추정된 트랙과 클러스터 사이의 혁신이 가장 작고 파라미터들 각각의 혁신이 미리 정의된 임계치 미만인 경우 클러스터가 트랙과 연관된다. 위치 추정치에 대한 혁신 Ipos를 계산하는 것은, 수학식 4에 나타낸 바와 같이, 클러스터의 중심과 트랙의 위치 사이의 제곱 거리를 계산하는 것을 포함하며:
여기서 xtrack과 ytrack은 트랙의 중심의 추정된 위치를 나타내고, xcluster와 ycluster는 클러스터의 중심의 좌표를 나타낸다.
속도 추정치에 대한 혁신 Ivel을 계산하는 것은, 수학식 5에 나타낸 바와 같이, 클러스터 속도와 트랙의 속도 사이의 제곱 거리를 계산하는 것을 포함하며:
III.
클러스터 속도 추정
RADAR 센서는 RADAR 센서에 대한 포인트의 위치, 반경 방향 속도(범위 레이트) 및 방위를 제공한다. 대상체로부터 반사하는 모든 포인트가 동일한 속도로 움직인다는 가정(즉, 세상의 모든 대상체가 강체라는 가정)이 주어지면, 클러스터의 속도는 선형 방정식의 시스템인 수학식 6을 푸는 것에 의해 계산된다:
수학식 6에서, vrn은 클러스터 내의 제n 포인트의 보상된 범위 레이트를 지칭하고, vx, vy는 글로벌 기준 프레임에서 클러스터의 X-축 및 Y-축을 따른 속도 성분에 대응하며, 은, 도 14에 예시된 바와 같이, 글로벌 기준 프레임에서 클러스터 내의 제n 포인트의 방위를 지칭한다. 방위 값은 RADAR 센서에 의해 제공되고 로컬 RADAR 센서 기준 프레임(local RADAR sensor reference frame)으로 되어 있으며, 이는 글로벌 기준 프레임에서 센서의 포즈(pose)를 쿼리하는 것 및 수직축을 중심으로 한 RADAR 센서와 글로벌 기준 프레임 사이의 회전을 방위에 가산하는 것에 의해 글로벌 기준 프레임로 변환될 수 있다. 수학적으로, 이 관계식은 수학식 7에 나타내어져 있으며:
일 실시예에서, 클러스터 속도를 추정하는 데 필요한 보상된 범위 레이트는 먼저 RADAR 센서가 경험한 에고 차량(ego-vehicle)의 범위 레이트를 계산하는 것 및 이어서 수학식에 나타낸 바와 같이 측정된 범위 레이트를 가산하는 것에 의해 계산된다. 에고 차량의 범위 레이트는, 수학식 8 및 수학식 9에 기술된 바와 같이, 먼저 에고 차량의 알려진 속도를 사용하여 RADAR 센서에서 움직임을 계산하는 것, 및 이어서 알려진 속도를 RADAR 센서와 반사 포인트를 연결하는 라인 상에 투영하는 것에 의해 차례로 추정된다:
여기서 와 는 RADAR 센서가 경험한 계산된 움직임을 나타내고, 와 는, 제각기, 에고 차량의 위치를 나타내며, 와 는 에고 차량의 알려진 움직임을 나타내고, 와 는, 제각기, 에고 차량의 범위 레이트, 측정된 범위 레이트 및 보상된 범위 레이트를 나타내며, 와 는, 제각기, RADAR 센서에 대한 리턴 포인트의 방위와 차량에 대한 RADAR 센서의 각도를 나타낸다.
클러스터 내에 2개 초과의 구별되는 포인트가 있을 때 선형 방정식의 시스템(수학식 6)이 풀어질 수 있다. 그렇지만, 레이더 측정치가 매우 노이즈가 많고 수학식 6 및 수학식 7을 사용하는 것이 잘못된 속도 추정치를 초래한다는 사실로부터 문제가 발생한다. 일 실시예에서, 클러스터의 속도는 최소 제곱 접근법을 사용하여 계산된다. 이 접근법은 가장 최적의 해를 계산하도록 제곱 오차를 최소화한다. 그렇지만, 이 접근법은 포인트 클라우드 내의 이상치 및 노이즈에 민감하며, 단일 이상치의 존재 시에도 잘못된 결과를 제공할 수 있다. 입력 데이터가 매우 노이즈가 많고 (예를 들어, AV의 휠 웰(wheel-well) 및 다른 임의의 위치로부터의) 많은 반사를 갖기 때문에, 이 접근법은 부정확한 클러스터 속도 추정치를 제공할 수 있다. 그렇지만, 좋은 측면은, 최소 제곱 접근법이 빠르고, 모든 포인트를 한 번에 소비하며 동일한 포인트 세트가 입력으로서 제공될 때마다 동일한 출력을 보장한다는 점이다.
클러스터로부터 이상치 포인트를 제거하기 위해, 일 실시예에서, RANSAC 기반 접근법이 사용될 수 있다. RANSAC 알고리즘은 클러스터로부터 2개의 포인트를 랜덤하게 선택하고 2개의 포인트를 사용하여 선형 방정식의 시스템(수학식 4)을 푸는 것에 의해 작동한다. 클러스터 내의 모든 포인트에 대한 투영 에러가 이어서 계산되고 포인트가 정상치(inlier) 또는 이상치로서 분류된다. 투영 에러는, 수학식 11 및 수학식 12에 의해 수학적으로 표현되는, vx와 vy가 주어진 경우 포인트의 추정된 범위 레이트를 계산하는 것 및 이어서 추정된 범위 레이트와 실제 범위 레이트 사이의 차이를 계산하는 것에 의해 결정된다.
여기서 은 추정된 범위 레이트이고, 와 는 클러스터의 추정된 속도 성분이며, 는 RADAR 센서에 의해 측정된 글로벌 기준 프레임에서의 포인트의 방위이고, 은 RADAR 센서에 의해 측정된 포인트의 범위 레이트이다. 포인트의 에러가 미리 정의된 임계치보다 작은 경우 포인트는 정상치로 간주된다. 이 전체 프로세스가 여러 번 반복되고, 가장 많은 수의 정상치를 갖는 반복이 최종적인 추정된 속도를 계산하는 데 사용된다. 최종적인 추정된 속도는 이어서 정상치 세트에 대해 최소 제곱 접근법을 사용하여 계산된다.
RANSAC 알고리즘은 이상치를 정상치 세트와 구별하는 데만 사용되고, 이어서 클러스터의 실제 속도를 계산하기 위한 최소 제곱 알고리즘이 뒤따른다. RANSAC은 일반적으로 많은 포인트가 있고 그 대부분이 정상치일 때는 잘 작동하지만, 우리의 경우에, 클러스터당 포인트의 개수가 매우 적고 이상치의 개수가 정상치의 개수와 비슷할 때가 많다. 게다가, 최소 제곱 알고리즘이 여러 번(각각의 반복마다 한 번씩) 실행되기 때문에, RANSAC 알고리즘은 수행하는 데 계산적으로 비용이 많이 든다.
일 실시예에서, RLS 필터는 클러스터 속도를 추정하는 데 사용된다. RLS 필터는 평균 최소 제곱 해를 구하는 OLS(ordinary least squares)와 비교하여 가중 최소 제곱 비용 함수를 최소화하기 위해 파라미터를 재귀적으로 업데이트하는 적응 필터이다. RLS 알고리즘은 속도 및 연관된 공분산의 초기 추정치로 시작하며, 이 초기 추정치는 클러스터로부터의 새로운 포인트가 필터에 들어갈 때마다 업데이트된다. RLS 필터가 재귀적이고 매 반복마다 클러스터 내의 모든 포인트를 사용하여 속도를 재계산할 필요가 없기 때문에(상태 벡터가 그때까지 보인 모든 포인트로부터 정보를 캡처함), RLS 필터는 신속하게 수렴하고 빠르다. RLS 업데이트 수학식 13 및 수학식 14는 다음과 같이 주어진다:
수학식 13 및 수학식 14에서, 는 클러스터의 추정된 속도 vx와 vy를 포함하는 벡터이고, n은 1 ... N의 범위에 있는 클러스터 내의 포인트의 인덱스이며, P는 파라미터 업데이트를 위한 스케일링 인자로 생각될 수 있는 양의 정부호 행렬(positive definite matrix)이고, 은 클러스터 내의 제n 포인트에 대한 값 및 값을 포함하는 벡터이며, y(n)은 클러스터 내의 제n 포인트에 대한 측정된 범위 레이트 값이다. RLS 필터는 세 가지 방법: 제로 초기화, 클러스터 내의 2개의 랜덤한 포인트로부터의 초기화 및 클러스터 누적 이력으로부터의 초기화 중 하나를 사용하여 초기화된다.
제로 초기화
일 실시예에서, 은 0으로 초기화되고 은 스케일링 인자와 곱해진 단위 행렬(identity matrix)로 초기화된다. 이 초기화는 데이터 포인트의 개수가 많아(일반적으로 시간 기반 데이터 스트림임) RLS 필터가 실제 값으로 수렴하기에 충분한 반복을 제공할 때 잘 작동한다. 그렇지만, 포인트의 개수가 너무 적은 경우에 RLS 필터가 실제 값으로 수렴되지 않았고, 하나의 속도 성분이 다른 속도 성분을 지배하였으며, 데이터 내의 큰 이상치가 필터를 실제 값으로부터 멀어지게 하는 것이 관찰되었다.
제로 초기화에 특정적이지 않은, 다른 주요 에러 원인은 클러스터 내의 큰 이상치이다. 이상치는 차량 자체에 비해 훨씬 더 느리게/더 빠르게 움직이는 차량의 타이어, 휠 웰 및 다른 부분으로부터 반사되는 포인트이다. 고려되지 않는 경우, 그러한 포인트는 필터가 잘못된 값으로 수렴하게 할 수 있다. 어느 포인트가 이상치 측정치이고 어느 포인트가 이상치 측정치가 아닌지를 직접적으로 결정하는 것이 가능하지 않기 때문에, 일 실시예에서, RLS 필터 업데이트 단계는 포인트를 분류하고 분류된 이상치를 추가 프로세싱으로부터 제외시키기 위해 사용된다.
처음 N개의(예를 들어, 3개의) 단계(필터가 충분히 안정된 추정치로 수렴하는 데 필요한 포인트의 개수인 것으로 경험적으로 관찰됨) 이후에, 업데이트 단계가 vx 또는 vy의 속도 성분을 미리 정의된 임계치보다 큰 양만큼 변경하는 경우, 업데이트를 수행한 포인트는 이상치로서 분류되고 추가 프로세싱으로부터 제외된다. 이상치가 처음 세 번의 업데이트의 결과 모든 다른 올바른 측정치를 이상치로 분류되게 하는 경우를 핸들링하기 위해, 도 15를 참조하여 더욱 상세히 기술되는 바와 같이, RLS 필터(예를 들어, 10개의 RLS 필터)의 앙상블이 초기화되며 각각의 필터는 랜덤화된 순서의 데이터 포인트를 수신한다. 입력 순서를 랜덤화하는 것은 모든 필터가 잘못된 값으로 수렴되지는 않도록 보장한다. 최소 재투영 에러를 초래하는 vx와 vy 추정치를 갖는 필터가 선택되고 그의 속도 추정치가 클러스터의 속도로 간주된다.
2개의 랜덤한 포인트로부터의 초기화
제로 초기화에서의 문제를 해결하기 위해, RLS 필터를 0으로 시작하여 RLS 필터가 그의 실제 값에 이르기까지 반복하게 하는 대신에, 필터가 그의 최종 값에 가깝게 초기화되어 필터가 최종 값을 실제 추정값으로 미세조정할 수 있게 한다. 속도 추정치를 그의 최종 값에 가깝게 초기화하는 하나의 접근법은 클러스터로부터 2개의 포인트를 랜덤하게 선택하고 2개의 포인트를 사용하여 선형 방정식의 시스템을 푸는 것이다. 이상치가 선택되고 초기 속도 추정치가 실제 값으로부터 멀리 떨어져 있는 일이 때때로 발생할 수 있지만, 이것은 상이한 데이터 포인트 쌍을 사용하여 N개의 RLS 필터를 초기화하는 것 또는 초기 속도 추정치의 노름(norm)이 일부 미리 정의된 임계치 내에 있을 때에만 초기 값을 수락하는 것(이상치는 일반적으로 매우 큰 속도 추정치 노름을 초래함) 중 어느 하나에 의해 대체로 완화된다.
그러한 접근법은 속도 추정치의 성능을 향상시키지만 이 접근법은 어려움을 겪는데 그 이유는 이 접근법이 클러스터로부터의 정보를 재사용하고 프로세스에서 새로운 정보가 학습되지 않기 때문이다(초기화 및 필터가 동일한 포인트 세트를 사용함). 게다가, 클러스터 내의 포인트의 개수가 적을 때, 필터는 자연히 충분한 포인트가 남아 있지 않아 결국 초기 값에서 정체될 수 있다.
클러스터 누적 이력으로부터의 초기화
일 실시예에서, 클러스터 이력으로부터의 정보가 RLS 필터를 초기화하는 데 사용된다. 이전에 언급된 바와 같이, RADAR 포인트 클라우드의 밀도를 증가시키기 위해 다수의 시간 스텝/프레임으로부터의 포인트가 누적된다. 이러한 포인트 클라우드 누적이 활용될 수 있으며 필터에 대한 초기 속도가 누적 내의 포인트를 갖는 가장 이른 시간 스텝/프레임과 가장 늦은 시간 스텝/프레임 사이의 클러스터 중심의 위치 변화를 시간 스텝들/프레임들 사이에 경과된 시간으로 나눈 값을 계산하는 것에 의해 추정될 수 있다. 주어진 시간 스텝/프레임에서의 클러스터 중심은 해당 시간 스텝/프레임에서 해당 클러스터에 존재하는 모든 포인트의 평균으로 간주된다.
이 접근법의 한 가지 주요 장점은 포인트의 에러가 발생하기 쉬운(error-prone) 범위 레이트 측정치를 사용하지 않고 그 대신에 RADAR 센서로부터의 더 신뢰성 있는 위치 추정치만 사용한다는 것이다. 이것은 RADAR 센서의 범위 레이트 측정치에서만 주로 존재하는 이상치에 의해 야기되는 문제의 대부분을 완화시킨다. 그렇지만, 초기 속도 추정치를 과대추정하거나 또는 과소추정할 수 있는 모든 시간 스텝/프레임에서 대상체 상의 동일한 위치로부터의 리턴이 획득되지 않기 때문에 초기화에서의 문제가 여전히 존재할 수 있다. 예를 들어, 첫 번째 시간 스텝/프레임이 대상체의 전면 좌측으로부터 오는 단지 하나의 리턴을 갖고 마지막 시간 스텝/프레임이 대상체의 전면 우측으로부터의 리턴만을 갖는 경우, 초기 속도 추정치는 대상체 상의 상이한 포인트를 사용하는 것으로 인해 유발되는 에러로 인해 대상체의 실제 헤딩에 수직인 방향의 성분을 갖는다. 그렇지만, 초기 측정치에서의 이 에러가 최종 속도 추정치에 영향을 미치지 않았으며 대부분의 필터가 실제 속도 추정치로 수렴되었다는 것을 알았다.
일단 클러스터의 속도가 추정되었으면, 클러스터의 속도와 트랙의 예측된 속도 사이의 혁신이 계산된다. 이 혁신은 위치 추정치와 트랙의 예측된 위치 사이의 혁신과 함께 클러스터가 트랙에 속하는지 여부를 결정하는 데 사용된다.
IV.
클러스터-트랙 연관 및 트랙 관리
일단 클러스터-트랙 연관이 완료되면, 클러스터가 트랙과 연관되어 있는지, 트랙과 연관되어 있지 않은지 또는 트랙이 클러스터와 연관되어 있지 않은지에 따라 트랙과 클러스터가 세 가지 개별적인 방식으로 핸들링된다.
트랙과 연관된 클러스터 및 트랙 업데이트
클러스터의 위치의 혁신과 속도의 혁신 둘 모두가 미리 정의된 임계치 아래로 떨어질 때, 클러스터는 최소 혁신 합계를 갖는 트랙과 연관된다. 2개 이상의 클러스터가 동일한 트랙과 연관될 수 있으며, 따라서 첫 번째 단계가 동일한 트랙과 연관된 모든 클러스터로부터의 포인트를 동화시키는 것(1308)이다. 포인트의 동화는 모든 포인트를 함께 그룹화하는 것 및 더 큰 클러스터의 위치, 속도 및 크기와 같은 파라미터를 재계산하는 것을 포함한다.
일 실시예에서, 트랙의 상태는 그의 위치, 속도 및 치수를 추적하는 6-D 벡터를 사용하여 유지된다. 수학적으로, 상태는 [x, y, vx, vy, l, w]로서 표현될 수 있고, 여기서 x와 y는 X-Y 평면에서의 위치를 나타내고, vx와 vy는 속도 성분을 나타내며 l과 w는 트랙의 길이와 폭를 나타낸다. 트랙은 칼만 필터를 사용하여 유지된다. 일 실시예에서, 선형 칼만 필터(LKF)가 사용된다. 등속 운동 모델이 사용되지 않는 다른 실시예에서, UKF(Unscented Kalman Filter) 또는 EKF(extended Kalman Filter)가 시스템에서의 비선형성을 핸들링하는 데 사용된다. 바람직한 실시예에서, LKF는 예측을 위해 등속 운동 모델을 이용한다. 속도 추정치가 시스템에 임의의 비선형성을 도입하지 않고 상태를 직접 업데이트하기에 충분히 정확하기 때문에, LKF가 사용될 수 있다. 시스템에 비선형성이 없기 때문에 LKF를 사용하는 것에 의해, 속도 추정치는 시스템에 어떠한 비선형성도 도입할 필요 없이 상태를 직접적으로 업데이트하기에 충분히 정확하다. 새로운 측정치가 트랙과 연관될 때, LKF 업데이트 단계(1311)를 사용하여 트랙의 상태가 업데이트된다. LKF의 업데이트 방정식은 잘 알려져 있으며 본원에서 기술될 필요가 없다. 트랙이 클러스터와 여러 번 연관되는 경우(1314), 트랙 상태는 UPDATED로 설정된다. 그렇지 않으면, 트랙 상태(1313)에 대한 변경이 없다.
일 실시예에서, LFK의 상태 벡터는, 센서 바이어스 및 드리프트 에러를 포함하지만 이에 제한되지 않는, 추정될 부가 상태 파라미터를 포함할 수 있다.
어떤 트랙과도 연관되지 않은 클러스터
클러스터가 어떤 트랙과도 연관되지 않을 때, 클러스터의 대응하는 파라미터를 사용하여 초기화된 모든 상태 파라미터로 새로운 트랙이 생성된다(1309). 관찰된 대상체의 대부분이 AV이기 때문에, 트랙의 길이와 폭은, 제각기, 4 미터와 2 미터로 인스턴스화된다. 이러한 새로운 트랙은 NEW(1312)로 설정된 트랙 상태로 초기화되며 트랙이 여러 번 반복하여(예를 들어, 3회 반복하여) 클러스터와 연관될 때까지 유효하지 않다. 이것은 노이즈 및 다른 랜덤한 반사가 RADAR 추적기의 최종 출력에 영향을 줄 수 있는 트랙을 생성하는 것을 방지하기 위한 것이다.
어떤 클러스터와도 연관되지 않은 트랙
기존의 트랙이 어떤 클러스터와도 연관되지 않을 때, 트랙 상태는 NEW 또는 UPDATED 중 어느 하나로부터 COASTING(1310)으로 변경된다. 트랙이 클러스터-트랙 연관 단계 이전에 이미 전파되었으며, 따라서 부가 계산이 수행될 필요가 없다. 동일한 트랙이 여러 번의 연속적인 반복(예를 들어, 6회 반복)에 대해 어떤 클러스터와도 연관되지 않을 때, 트랙은 오래된 것으로 간주되고, 그의 상태는 INVALID로 변경되며, 트랙이 종료된다(예를 들어, 메모리로부터 삭제됨).
도 15는 하나 이상의 실시예에 따른, 클러스터 속도 추정 프로세스(1500)의 흐름 다이어그램이다. 이전에 언급된 바와 같이, 이상치가 처음 세 번의 업데이트의 결과 다른 모든 정확한 측정치를 이상치로 분류되게 하는 경우를 핸들링하기 위해, RLS 필터 1 ... N(예를 들어, 10개의 RLS 필터)의 앙상블이 사용된다.
프로세스(1500)는 RLS 필터 1 ... N의 앙상블의 파라미터(예를 들어, )를 초기화하는 것(1501)으로 시작된다. 일 실시예에서, 각각의 RLS 필터의 속도는, 리턴 포인트가 얼마나 이동했는지를 시간 스텝들 또는 프레임들 사이의 시간 차이로 나눈 값을 추정함으로써 획득되는, 클러스터 누적 이력으로부터 계산되는 속도를 사용하여 초기화된다. 또한, 클러스터 내의 리턴 포인트는 RLS 필터의 앙상블을 업데이트하기 위해 상이한 랜덤한 순서로 있도록 셔플링된다.
각각의 RLS 필터에 대해, 포인트 순서가 셔플링되고(1502-1, 1502-2 ... 1502-N), 각각의 포인트에 대한 파라미터 값이 업데이트되며(1503-1, 1503-2 ... 1503-N), 업데이트 이후의 파라미터에 대한 변경이 너무 크면 각각의 포인트에 대한 업데이트가 거부된다(1504-1, 1504-2 ... 1504-N). 최소 재투영 에러를 초래하는 vx와 vy 추정치를 갖는 필터가 선택되고 그의 속도 추정치가 클러스터의 속도로 간주된다(1505).
도 16a 내지 도 16c는 하나 이상의 실시예에 따른, RADAR를 사용한 확장 대상체 추적을 사용하여 생성되는 경계 박스를 예시한다. 도 16a 및 도 16b를 참조하면, 대상체를 똑바로 진행하는 것으로 잘못 추적하고 있는 비-EOT 경계 박스(1602)와 대조적으로, EOT 경계 박스(1601)는 회전 대상체(예를 들어, 차선을 변경하는 차량)의 포인트(1602)를 올바르게 추적하고 있다. 또한, EOT 경계 박스(1601)는 비-EOT 경계 박스(1602)보다 대상체의 길이와 폭을 더 정확하게 측정한다는 점에 유의한다. 도 16c를 참조하면, 동일한 2개의 클러스터를 상이한 대상체로서 잘못 추적하는 비-EOT 경계 박스(1602a, 1602b)와 대조적으로, EOT 경계 박스(1601)는 2개의 클러스터를 조합함으로써 단일 확장 대상체(예를 들어, 긴 트럭 또는 버스)를 올바르게 추적하고 있다.
따라서, 도 16a 내지 도 16c에 도시된 바와 같이, 개시된 EOT 실시예는 대상체의 위치 및 속도 외에도 대상체의 크기(길이 및 폭)의 정확한 계산을 제공하고, 다수의 클러스터와 연관될 수 있는 트럭 및 버스와 같은 긴 대상체에 대한 더 나은 추적을 달성하며, 회전하고 있는 대상체의 더 나은 추적을 달성하고, 클러스터링 알고리즘의 정확도에 대한 감소된 의존성을 갖는다.
도 17은 하나 이상의 실시예에 따른, RADAR 리턴 포인트만을 사용한 확장 대상체 추적을 위한 프로세스(1700)의 흐름 다이어그램이다.
프로세스(1700)는, 차량의 하나 이상의 컴퓨터 프로세서를 사용하여, 차량의 적어도 하나의 RADAR 센서의 RADAR 송신으로부터 리턴 포인트를 수신하는 것(1701), 및 하나 이상의 컴퓨터 프로세서를 사용하여, 리턴 포인트의 하나 이상의 클러스터를 생성하는 것(1702)으로 시작된다. 예를 들어, 클러스터를 커지게 하기 위해 교통 흐름 방향의 주축을 갖는 타원형 영역을 사용하도록 수정되는 DBSCAN과 같은, 밀도 기반 클러스터링 알고리즘을 사용하여 클러스터가 생성될 수 있다.
프로세스(1700)는, 하나 이상의 컴퓨터 프로세서를 사용하여, 하나 이상의 클러스터의 각각의 클러스터의 추정된 위치 및 속도를 계산하는 것(1703)에 의해 계속된다. 예를 들어, 도 15 및 도 18을 참조하여 상세히 기술된 바와 같이, RLS 필터의 앙상블이 클러스터 속도를 추정하는 데 사용될 수 있다. 필터는 도 15 및 도 18을 참조하여 기술된 바와 같이 초기화될 수 있다.
프로세스(1700)는, 하나 이상의 프로세서를 사용하여, 하나 이상의 클러스터가 기존의 대상체 트랙과 연관되는지를 결정하는 것(1704)에 의해 계속된다. 예를 들어, 클러스터는, 도 13a를 참조하여 기술된 바와 같이, 위치의 혁신 및 속도의 혁신을 사용하여 기존의 대상체 트랙과 연관될 수 있다.
프로세스(1700)는, 하나 이상의 클러스터가 기존의 대상체 트랙에 연관되는 경우, 기존의 대상체 트랙과 연관된 하나 이상의 클러스터의 각자의 위치 및 추정된 속도를 사용하여 기존의 대상체 트랙을 업데이트하는 것에 의해 계속된다. 예를 들어, 클러스터 위치와 추정된 클러스터 속도를 사용하여 기존의 대상체 트랙을 유지 및 업데이트하기 위해 LKF가 사용된다.
도 18은 하나 이상의 실시예에 따른, 클러스터의 순간 속도를 계산하는 프로세스(1800)의 흐름 다이어그램이다. 프로세스(1800)는 3개의 스테이지: 초기화(1801), 파라미터 업데이트(1802) 및 필터 선택(1803)을 포함한다. 초기화 스테이지(1801)에서, RLS 필터 파라미터가 트랙 이력을 사용하여 초기화된다(1804).
파라미터 업데이트 스테이지(1802)에서, 포인트 순서가 셔플링되고(1804) 잠재적 업데이트 파라미터가 계산된다(1806). 포인트 인덱스가 N(예를 들어, 3)보다 크고(1807) 파라미터 변경이 미리 정의된 임계 값보다 크면(1808), 리턴 포인트는 이상치로 간주되고 추가 프로세싱으로부터 거부된다(1810). 포인트 인덱스가 N보다 작거나 같으면(1807), 필터 파라미터가 업데이트된다(1809).
필터 선택 스테이지(1803)에서, 각각의 필터에 대한 재투영 에러가 계산되고(1811), 가장 작은 재투영 에러를 갖는 필터가 결정한다(1812). 가장 작은 재투영 에러를 갖는 필터의 추정된 속도가 후속 프로세싱에서 클러스터에 대한 추정된 속도로서 사용된다.
상기 설명에서, 본 발명의 실시예는 구현마다 달라질 수 있는 다수의 특정 세부 사항을 참조하여 기술되었다. 따라서, 상세한 설명 및 도면은 제한적인 관점보다는 예시적인 관점에서 보아야 한다. 본 발명의 범위의 유일한 독점적인 지표, 및 출원인이 본 발명의 범위가 되도록 의도한 것은, 본 출원에서 특정 형태로 나오는 청구항 세트의 문언적 등가 범위이며, 그러한 청구항이 나오는 특정 형태는 임의의 후속 보정을 포함한다. 그러한 청구항에 포함된 용어에 대한 본원에서 명시적으로 기재된 임의의 정의는 청구항에서 사용되는 그러한 용어의 의미를 결정한다. 그에 부가하여, 전술한 설명 및 이하의 청구항에서 용어 "추가로 포함하는"이 사용될 때, 이 문구에 뒤따르는 것은 추가적인 단계 또는 엔티티, 또는 이전에 언급된 단계 또는 엔티티의 서브-단계/서브-엔티티일 수 있다.
Claims (22)
- 방법으로서,
차량의 하나 이상의 프로세서를 사용하여, 상기 차량의 적어도 하나의 RADAR 센서로부터 리턴 포인트(return point)를 수신하는 단계;
상기 하나 이상의 프로세서를 사용하여, 상기 리턴 포인트에 기초하여 또는 상기 리턴 포인트로부터 하나 이상의 클러스터를 생성하는 단계;
상기 하나 이상의 프로세서를 사용하여, 상기 하나 이상의 클러스터의 각각의 클러스터의 추정된 위치 및 속도를 계산하는 단계;
상기 하나 이상의 프로세서를 사용하여, 상기 하나 이상의 클러스터가 기존의 대상체 트랙과 연관되는지를 결정하는 단계; 및
상기 하나 이상의 클러스터가 상기 기존의 대상체 트랙과 연관되는 것에 따라, 적어도 상기 기존의 대상체 트랙과 연관된 상기 하나 이상의 클러스터의 각각의 위치를 사용하여 상기 기존의 대상체 트랙을 업데이트하는 단계
를 포함하고,
상기 하나 이상의 클러스터의 상기 각각의 클러스터가 상기 기존의 대상체 트랙과 연관되는지를 결정하는 단계는,
상기 하나 이상의 클러스터의 상기 각각의 추정된 위치 및 속도와 상기 기존의 대상체 트랙의 예측된 위치 및 속도 사이의 차이를 계산하는 단계; 및
상기 차이가 각각의 임계 값 미만인지를 결정하는 단계
를 포함하고,
상기 하나 이상의 클러스터를 생성하는 단계는, 밀도 기반 공간 클러스터링을 사용하여 상기 리턴 포인트를 클러스터링하는 단계를 포함하며,
상기 밀도 기반 공간 클러스터링은 상기 하나 이상의 클러스터를 확장시키기 위해 상기 리턴 포인트 주위의 타원형 영역을 사용하고, 상기 타원형 영역은 교통 흐름에 평행한 장축(major axis)을 포함하는 것인, 방법. - 제1항에 있어서,
상기 하나 이상의 클러스터를 생성하는 단계는: 임계 범위 레이트(threshold range rate)보다 작은 범위 레이트를 갖는 리턴 포인트를 제거하기 위해, 상기 하나 이상의 프로세서를 사용하여, 리턴 포인트를 필터링하는 단계를 추가로 포함하는 것인, 방법. - 제2항에 있어서,
상기 하나 이상의 프로세서를 사용하여, 다수의 RADAR 시간 스텝 또는 프레임에 대해 상기 필터링된 리턴 포인트를 누적하는 단계를 추가로 포함하는, 방법. - 제1항에 있어서,
상기 하나 이상의 클러스터를 생성한 후에, 상기 하나 이상의 프로세서를 사용하여, 각각의 클러스터의 길이, 폭, 및 중심을 계산하는 단계 - 상기 중심은 상기 클러스터의 대표 위치이고 상기 클러스터에 속하는 모든 리턴 포인트는 상기 중심에 집중된 것으로 가정됨 - 를 추가로 포함하는, 방법. - 제4항에 있어서,
상기 중심은 상기 클러스터 내의 극단 리턴 포인트(extreme return point)를 통과하는 직사각형 경계 박스를 그리는 것에 의해 결정되고, 상기 중심은 상기 직사각형 경계 박스의 기하학적 중심인 것인, 방법. - 제4항에 있어서,
상기 하나 이상의 프로세서를 사용하여, 상기 하나 이상의 클러스터의 각각의 클러스터에 대한 헤딩(heading)을 상기 하나 이상의 클러스터의 상기 각각의 클러스터의 각각의 속도를 사용하여 계산하는 단계를 추가로 포함하는, 방법. - 제6항에 있어서,
상기 길이는 상기 헤딩의 방향에서 상기 리턴 포인트 사이의 최대 거리로서 정의되는 것인, 방법. - 제6항에 있어서,
상기 폭은 상기 헤딩에 수직인 상기 리턴 포인트 사이의 최대 거리로서 정의되는 것인, 방법. - 제4에 있어서,
상기 리턴 포인트는 상기 길이, 상기 폭, 및 상기 중심을 계산하기 전에 글로벌 기준 프레임(global reference frame)의 축에 정렬되는 것인, 방법. - 제1항에 있어서,
상기 하나 이상의 클러스터의 상기 각각의 클러스터의 추정된 속도를 계산하는 단계는, 하나 이상의 RLS(recursive least squares) 필터를 사용하여 상기 하나 이상의 클러스터의 상기 각각의 클러스터의 상기 속도를 추정하는 단계를 추가로 포함하는 것인, 방법. - 제10항에 있어서,
상기 하나 이상의 클러스터의 상기 각각의 클러스터의 추정된 속도를 계산하는 단계는,
상기 하나 이상의 클러스터의 상기 각각의 클러스터의 상기 업데이트된 추정된 속도를 임계 속도에 비교하는 단계, 및
상기 업데이트된 추정된 속도에서의 변화가 상기 임계 속도를 초과하는 경우, 상기 업데이트된 추정된 속도가 상기 임계 속도를 초과하도록 야기하는 상기 리턴 포인트를 필터링하는 단계
를 추가로 포함하는 것인, 방법. - 제10항에 있어서,
상기 RLS 필터의 초기 속도는 상기 클러스터의 누적 이력을 사용하여 추정되는 것인, 방법. - 제10항에 있어서,
상기 RLS 필터의 초기 속도는 임의의 값으로 설정되는 것인, 방법. - 제10항에 있어서,
상기 RLS 필터의 초기 속도는, 상기 클러스터 내의 랜덤한 리턴 포인트의 속도를 선택하는 것, 및 상기 랜덤한 리턴 포인트의 상기 속도를 사용하여 상기 클러스터의 속도에 대한 선형 방정식의 시스템(system of linear equation)을 푸는 것에 의해 결정되는 것인, 방법. - 제1항에 있어서,
2개 이상의 클러스터가 상기 기존의 대상체 트랙과 연관되고,
상기 방법은:
상기 2개 이상의 클러스터로부터의 리턴 포인트를 단일의 더 큰 클러스터로 동화시키고(assimilating) 상기 단일의 더 큰 클러스터의 추정된 위치, 속도, 크기(extents), 및 중심을 계산하는 단계
를 추가로 포함하는, 방법. - 제1항에 있어서,
상기 하나 이상의 클러스터가 기존의 대상체 트랙과 연관되지 않은 것에 따라, 상기 클러스터의 상기 추정된 위치 및 속도로 초기화되는 새로운 대상체 트랙의 상태를 갖는 상기 새로운 대상체 트랙을 생성하는 것인, 방법. - 제1항에 있어서,
상기 기존의 대상체 트랙의 상태는 칼만 필터(Kalman Filter)를 사용하여 유지 및 업데이트되고, 상기 상태는 추적되는 대상체의 추정된 위치, 속도, 길이, 및 폭을 포함하는 것인, 방법. - 제17항에 있어서,
상기 칼만 필터는 모델 예측을 위해 등속 운동 모델(constant velocity motion model)을 이용하는 선형 칼만 필터인 것인, 방법. - 제18항에 있어서,
상기 클러스터의 상기 추정된 속도는 상기 칼만 필터의 속도 상태를 업데이트하는 데 사용되는 것인, 방법. - 제1항에 있어서,
N번의 반복에 대해 상기 기존의 대상체 트랙이 클러스터와 연관되지 않는 것에 따라, 상기 기존의 대상체 트랙을 종료하는 - N은 1보다 큰 양의 정수임 - 것인, 방법. - 장치로서,
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제1항 내지 제20항 중 어느 한 항의 방법을 수행하게 하는 명령어가 저장된 메모리
를 포함하는, 장치. - 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 제1항 내지 제20항 중 어느 한 항의 방법을 수행하게 하는 명령어가 저장된 비-일시적 컴퓨터 판독 가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962900358P | 2019-09-13 | 2019-09-13 | |
US62/900,358 | 2019-09-13 | ||
KR1020200117015A KR102537412B1 (ko) | 2019-09-13 | 2020-09-11 | Radar를 사용한 확장 대상체 추적 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200117015A Division KR102537412B1 (ko) | 2019-09-13 | 2020-09-11 | Radar를 사용한 확장 대상체 추적 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230074694A true KR20230074694A (ko) | 2023-05-31 |
KR102624371B1 KR102624371B1 (ko) | 2024-01-12 |
Family
ID=73149570
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200117015A KR102537412B1 (ko) | 2019-09-13 | 2020-09-11 | Radar를 사용한 확장 대상체 추적 |
KR1020230066234A KR102624371B1 (ko) | 2019-09-13 | 2023-05-23 | Radar를 사용한 확장 대상체 추적 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200117015A KR102537412B1 (ko) | 2019-09-13 | 2020-09-11 | Radar를 사용한 확장 대상체 추적 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11774575B2 (ko) |
KR (2) | KR102537412B1 (ko) |
CN (1) | CN112505680A (ko) |
DE (1) | DE102020123585A1 (ko) |
GB (2) | GB2590115B (ko) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2590115B (en) | 2019-09-13 | 2023-12-06 | Motional Ad Llc | Extended object tracking using radar |
CN112763995B (zh) * | 2020-12-24 | 2023-09-01 | 阿波罗智联(北京)科技有限公司 | 雷达标定方法、装置、电子设备和路侧设备 |
US11846701B1 (en) * | 2021-03-08 | 2023-12-19 | GM Global Technology Operations LLC | Long signal integration of multiple velocity hypotheses |
CN113048884B (zh) * | 2021-03-17 | 2022-12-27 | 西安工业大学 | 一种扩展目标跟踪实验平台及其试验方法 |
EP4060614A1 (en) * | 2021-03-19 | 2022-09-21 | Aptiv Technologies Limited | Method for determining noise statistics of object sensors |
CN113189578B (zh) * | 2021-04-20 | 2022-09-16 | 浙江大学 | 一种扩展目标跟踪方法 |
EP4350382A4 (en) * | 2021-05-25 | 2024-10-16 | Panasonic Ip Man Co Ltd | DETECTION SYSTEM, SENSOR SYSTEM, DETECTION METHOD AND PROGRAM |
US20230003871A1 (en) * | 2021-06-30 | 2023-01-05 | Zoox, Inc. | Associating radar data with tracked objects |
US20230003872A1 (en) * | 2021-06-30 | 2023-01-05 | Zoox, Inc. | Tracking objects with radar data |
KR102655213B1 (ko) * | 2021-07-08 | 2024-04-05 | 한국과학기술원 | 4차원 레이더의 포인트 클라우드 필터링 방법 및 데이터 처리 장치 |
CN113671481B (zh) * | 2021-07-21 | 2024-04-09 | 西安电子科技大学 | 一种基于毫米波雷达的3d多目标跟踪处理方法 |
EP4377253A1 (en) * | 2021-07-27 | 2024-06-05 | Symeo GmbH | Apparatus and method for particle deposition distribution estimation |
CN113592005B (zh) * | 2021-08-04 | 2024-03-08 | 中冶赛迪信息技术(重庆)有限公司 | 一种转炉出钢参数推荐方法、系统、介质和终端 |
CN113848545B (zh) * | 2021-09-01 | 2023-04-14 | 电子科技大学 | 一种基于视觉和毫米波雷达的融合目标检测和跟踪方法 |
DE102021209772A1 (de) * | 2021-09-06 | 2023-03-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Betreiben von Radarsensoren |
US11858529B1 (en) * | 2021-09-30 | 2024-01-02 | Zoox, Inc. | Predicting articulated object states |
US12039784B1 (en) | 2021-09-30 | 2024-07-16 | Zoox, Inc. | Articulated object determination |
CN114116687A (zh) * | 2021-10-13 | 2022-03-01 | 国网江西省电力有限公司检修分公司 | 一种车辆轨迹数据清洗与校准方法 |
DE102021126527A1 (de) | 2021-10-13 | 2023-04-13 | Valeo Schalter Und Sensoren Gmbh | Radarbasierte Objektverfolgung |
CN113933012B (zh) * | 2021-10-14 | 2024-01-30 | 西安现代控制技术研究所 | 基于K-means聚类的螺旋桨转速测量方法 |
EP4174520A1 (en) * | 2021-10-26 | 2023-05-03 | Robert Bosch GmbH | Method and device for tracking objects and driver assistance system |
JP7271638B1 (ja) * | 2021-11-09 | 2023-05-11 | 三菱電機株式会社 | 通信装置及び通信方法 |
US12072451B2 (en) | 2021-11-17 | 2024-08-27 | Waymo Llc | Methods for detecting LIDAR aperture fouling |
CN114118243B (zh) * | 2021-11-18 | 2023-07-07 | 中交疏浚技术装备国家工程研究中心有限公司 | 一种基于航迹数据的耙吸挖泥船施工轨迹识别方法 |
CN114137509B (zh) * | 2021-11-30 | 2023-10-13 | 南京慧尔视智能科技有限公司 | 一种基于毫米波雷达点云聚类方法及装置 |
EP4202837A1 (en) * | 2021-12-22 | 2023-06-28 | Aptiv Technologies Limited | A feature describing the shape of spatially distributed data set |
EP4220224A1 (en) * | 2022-01-26 | 2023-08-02 | Robert Bosch GmbH | Method and device for detecting and tracking objects and driver assistance system |
CN114779230B (zh) * | 2022-03-22 | 2024-03-08 | 福瑞泰克智能系统有限公司 | 一种对象跟踪方法、装置、电子设备及车辆 |
EP4441530A1 (en) * | 2022-03-22 | 2024-10-09 | Huawei Technologies Co., Ltd. | Apparatus and method for tracking of extended objects |
CN115033835B (zh) * | 2022-03-31 | 2024-05-31 | 北京航天控制仪器研究所 | 基于多台交互最小二乘估计的弹道参数解算方法和系统 |
CN114638319B (zh) * | 2022-04-02 | 2024-09-17 | 合肥保航汽车科技有限公司 | 一种雷达点迹的聚类方法、聚类装置、聚类设备及计算机可读存储介质 |
US11625909B1 (en) * | 2022-05-04 | 2023-04-11 | Motional Ad Llc | Track segment cleaning of tracked objects |
CN114814820A (zh) * | 2022-05-12 | 2022-07-29 | 重庆交通职业学院 | 一种基于毫米波雷达的多扩展目标跟踪方法及其设备 |
KR102505867B1 (ko) * | 2022-09-13 | 2023-03-02 | 신현찬 | 라이다 센서를 이용한 다중 차량 데이터 분석 및 교통 신호 제어 방법 및 시스템 |
DE102022125695A1 (de) | 2022-10-05 | 2024-04-11 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und Einrichtung zur effizienten Objektnachverfolgung und entsprechend eingerichtetes Kraftfahrzeug |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2690458A1 (en) * | 2011-03-24 | 2014-01-29 | Furukawa Electric Co., Ltd. | Radar device |
US20170248693A1 (en) * | 2016-02-26 | 2017-08-31 | Hyundai Motor Company | Vehicle and controlling method thereof integrating radar and lidar |
US20180120429A1 (en) * | 2016-10-27 | 2018-05-03 | GM Global Technology Operations LLC | Object detection in multiple radars |
US20190107615A1 (en) * | 2017-10-05 | 2019-04-11 | GM Global Technology Operations LLC | Method of tracking an object |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638281A (en) * | 1991-01-31 | 1997-06-10 | Ail Systems, Inc. | Target prediction and collision warning system |
JP4593468B2 (ja) * | 2003-09-11 | 2010-12-08 | 三菱電機株式会社 | レーダ装置 |
US7991550B2 (en) * | 2006-02-03 | 2011-08-02 | GM Global Technology Operations LLC | Method and apparatus for on-vehicle calibration and orientation of object-tracking systems |
GB2510877A (en) * | 2013-02-17 | 2014-08-20 | Graham William Pulford | Method for cluster management in multiple target tracking |
JP6650344B2 (ja) * | 2015-10-02 | 2020-02-19 | パナソニック株式会社 | 物体検出装置及び物体検出方法 |
US10274593B2 (en) * | 2015-10-02 | 2019-04-30 | Panasonic Corporation | Object detection device and object detection method |
JP6645254B2 (ja) * | 2016-02-23 | 2020-02-14 | 株式会社デンソー | 物体認識装置 |
US11300663B2 (en) * | 2016-03-31 | 2022-04-12 | Nec Corporation | Method for predicting a motion of an object |
US20180113209A1 (en) * | 2016-10-21 | 2018-04-26 | Waymo Llc | Radar generated occupancy grid for autonomous vehicle perception and planning |
EP3376249A1 (en) * | 2017-03-17 | 2018-09-19 | Veoneer Sweden AB | Enhanced object position detection |
CN107341819B (zh) * | 2017-05-09 | 2020-04-28 | 深圳市速腾聚创科技有限公司 | 目标跟踪方法及存储介质 |
JP6953084B2 (ja) * | 2017-10-06 | 2021-10-27 | 日本無線株式会社 | レーダ信号処理装置およびレーダ信号処理プログラム |
US20190146081A1 (en) * | 2017-11-16 | 2019-05-16 | GM Global Technology Operations LLC | Vehicle radar control |
JP6930394B2 (ja) * | 2017-11-24 | 2021-09-01 | トヨタ自動車株式会社 | 物体認識装置 |
EP3499265B1 (en) * | 2017-12-12 | 2020-08-19 | Veoneer Sweden AB | Determining object motion and acceleration vector in a vehicle radar system |
EP3525000B1 (en) * | 2018-02-09 | 2021-07-21 | Bayerische Motoren Werke Aktiengesellschaft | Methods and apparatuses for object detection in a scene based on lidar data and radar data of the scene |
CN111133447B (zh) * | 2018-02-18 | 2024-03-19 | 辉达公司 | 适于自主驾驶的对象检测和检测置信度的方法和系统 |
CN112119330B (zh) * | 2018-05-14 | 2024-07-02 | 三菱电机株式会社 | 物体检测装置及物体检测方法 |
JP2019200083A (ja) * | 2018-05-15 | 2019-11-21 | 株式会社デンソーテン | レーダ装置及び信号処理方法 |
US10935652B2 (en) | 2018-06-26 | 2021-03-02 | GM Global Technology Operations LLC | Systems and methods for using road understanding to constrain radar tracks |
CN109849930B (zh) * | 2018-12-29 | 2020-08-04 | 百度在线网络技术(北京)有限公司 | 自动驾驶汽车的相邻车辆的速度计算方法和装置 |
CN110361727A (zh) * | 2019-07-22 | 2019-10-22 | 浙江大学 | 一种毫米波雷达多目标跟踪方法 |
GB2590115B (en) | 2019-09-13 | 2023-12-06 | Motional Ad Llc | Extended object tracking using radar |
-
2020
- 2020-09-10 GB GB2014246.9A patent/GB2590115B/en active Active
- 2020-09-10 GB GBGB2311797.1A patent/GB202311797D0/en not_active Ceased
- 2020-09-10 DE DE102020123585.2A patent/DE102020123585A1/de active Pending
- 2020-09-11 US US17/019,157 patent/US11774575B2/en active Active
- 2020-09-11 KR KR1020200117015A patent/KR102537412B1/ko active IP Right Grant
- 2020-09-14 CN CN202010961944.0A patent/CN112505680A/zh active Pending
-
2023
- 2023-05-23 KR KR1020230066234A patent/KR102624371B1/ko active IP Right Grant
- 2023-08-23 US US18/454,455 patent/US12050259B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2690458A1 (en) * | 2011-03-24 | 2014-01-29 | Furukawa Electric Co., Ltd. | Radar device |
US20170248693A1 (en) * | 2016-02-26 | 2017-08-31 | Hyundai Motor Company | Vehicle and controlling method thereof integrating radar and lidar |
US20180120429A1 (en) * | 2016-10-27 | 2018-05-03 | GM Global Technology Operations LLC | Object detection in multiple radars |
US20190107615A1 (en) * | 2017-10-05 | 2019-04-11 | GM Global Technology Operations LLC | Method of tracking an object |
Also Published As
Publication number | Publication date |
---|---|
US12050259B2 (en) | 2024-07-30 |
KR20210032283A (ko) | 2021-03-24 |
DE102020123585A1 (de) | 2021-08-19 |
CN112505680A (zh) | 2021-03-16 |
KR102537412B1 (ko) | 2023-05-25 |
US11774575B2 (en) | 2023-10-03 |
GB2590115B (en) | 2023-12-06 |
KR102624371B1 (ko) | 2024-01-12 |
GB202311797D0 (en) | 2023-09-13 |
GB2590115A (en) | 2021-06-23 |
US20230400567A1 (en) | 2023-12-14 |
GB202014246D0 (en) | 2020-10-28 |
US20210080558A1 (en) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102537412B1 (ko) | Radar를 사용한 확장 대상체 추적 | |
CN113012187B (zh) | 用于运载工具的方法和前景提取系统以及存储介质 | |
KR102593948B1 (ko) | 주석 달기를 위한 데이터 샘플의 자동 선택 | |
CN111121776B (zh) | 用于对运载工具进行导航的最佳轨迹的生成 | |
US20200216064A1 (en) | Classifying perceived objects based on activity | |
US11967106B2 (en) | Object tracking supporting autonomous vehicle navigation | |
US11803184B2 (en) | Methods for generating maps using hyper-graph data structures | |
KR20200141477A (ko) | 다수의 lidar 디바이스로부터의 데이터의 병합 | |
KR20210077617A (ko) | 융합된 카메라/LiDAR 데이터 포인트를 사용한 자동화된 대상체 주석 달기 | |
WO2020146447A1 (en) | Field theory based perception for autonomous vehicles | |
KR102549258B1 (ko) | 이미지 시맨틱스 네트워크로부터의 단안 3d 대상체 검출 | |
KR102410182B1 (ko) | 환경의 미리 정의된 특징부에 기초한 로컬화 | |
EP3648021A1 (en) | Generation of optimal trajectories for navigation of vehicles | |
KR102699396B1 (ko) | 자율 주행 차량을 위한 적응형 포인트 클라우드 생성 | |
KR102419526B1 (ko) | 자율 주행 차량에 대한 필드 이론 기반 인지 | |
KR102719202B1 (ko) | 기동 생성을 사용한 차량 작동 | |
US20220258761A1 (en) | Controlling an autonomous vehicle using variable time periods | |
KR20220144296A (ko) | 인지된 위험에 기초하여 자율 주행 차량을 운행하기 위한 기술 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |