KR102033265B1 - 자율 주행 차량 제어를 위한 시스템 지연 추정 방법 - Google Patents
자율 주행 차량 제어를 위한 시스템 지연 추정 방법 Download PDFInfo
- Publication number
- KR102033265B1 KR102033265B1 KR1020187009783A KR20187009783A KR102033265B1 KR 102033265 B1 KR102033265 B1 KR 102033265B1 KR 1020187009783 A KR1020187009783 A KR 1020187009783A KR 20187009783 A KR20187009783 A KR 20187009783A KR 102033265 B1 KR102033265 B1 KR 102033265B1
- Authority
- KR
- South Korea
- Prior art keywords
- delay
- autonomous vehicle
- time
- steering control
- scenario
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 59
- 230000001934 delay Effects 0.000 claims abstract description 81
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 63
- 238000013507 mapping Methods 0.000 claims description 54
- 238000004891 communication Methods 0.000 claims description 43
- 230000001133 acceleration Effects 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 description 23
- 238000007405 data analysis Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000004622 sleep time Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000004568 cement Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction 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
- 230000010076 replication Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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
- B60W60/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/06—Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
-
- 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/10—Path keeping
-
- 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/14—Adaptive cruise control
- B60W30/143—Speed control
-
- 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/14—Adaptive cruise control
- B60W30/16—Control of distance between vehicles, e.g. keeping a distance to preceding vehicle
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
-
- 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/002—Integrating means
-
- 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/0022—Gains, weighting coefficients or weighting functions
-
- 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/0042—Transfer function lag; delays
-
- 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0062—Adapting control system settings
- B60W2050/0075—Automatic parameter input, automatic initialising or calibrating means
-
- B60W2550/40—
-
- 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
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
-
- 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
- B60W2720/00—Output or target parameters relating to overall vehicle dynamics
- B60W2720/10—Longitudinal speed
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
- Regulating Braking Force (AREA)
Abstract
일 실시예에서, 스티어링 제어 지연이 측정되는데, 여기서 스티어링 지연은 스티어링 제어 명령을 발행하는 시간과 자율 주행 차량의 하나 이상의 차륜으로부터 수신된 응답 시간 사이의 지연을 나타낸다. 속력 제어 지연은 속력 제어 명령을 발행한 시간과 자율 주행 차량의 하나 이상의 차륜으로부터 수신된 응답 시간 또는 가스 페달(pedal) 또는 브레이크 페달로의 압력을 공급하는 시간 사이에 측정된다. 차후 주어진 경로에 응답하여, 전체 시스템 지연은 미리 결정된 알고리즘을 사용하여 스티어링 제어 지연 및 속력 제어 지연에 기초하여 결정된다. 계획 및 제어 데이터는 자율 주행 차량을 운행시키기 위한 시스템 지연을 고려하여 생성된다.
Description
본 발명의 실시예들은 일반적으로 자율 주행 차량을 운행시키는 것에 관한 것이다. 특히, 본 발명의 실시예는 자율 주행 차량을 운행시키는 자율 주행 차량에 대한 시스템 지연을 추정하는 것에 관한 것이다.
자율 모드에서(예: 운전자 없이) 운행하는 차량은 탑승자, 특히 운전자의 운전 관련 일부 책무를 덜어줄 수 있다. 자율 주행 모드에서 운행할 때, 차량은 온보드 센서를 사용하여 다양한 위치들로 내비게이트할 수 있고, 그 결과 최소한의 인간과의 상호 작용으로 또는 일부의 경우 승객 없이 차량이 이동하는 것이 허용된다.
모션 계획 및 제어는 자율 주행에 있어서 중요한 동작들이다. 그러나, 시스템의 특정 구성 또는 설계로 인해, 제어 명령을 발행하는 것과 차량으로부터 응답 사이에 어떤 시스템 지연이 있을 수 있다. 이러한 시스템 지연으로 인해 특정 상황에서 차량을 계획 및 제어하는 데에 정확도와 같은 문제가 발생할 수 있다. 그러한 시스템 지연을 판정하거나 추정하는 것은 어렵다.
본 발명의 실시예들은 아래의 도면들에서 비제한적이며 예시적으로 도시되며, 유사한 참조 번호는 유사한 요소를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 네트워크 시스템을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 자율 주행 차량의 일례를 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 자율 주행 차량과 함께 사용되는 데이터 처리 시스템의 일례를 나타내는 블록도이다.
도 4는 시스템 지연의 유무에 관계없이 자율 주행 차량을 운행시키는 것을 설명하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 주행 시나리오-시스템 지연 매핑 테이블의 일례를 나타내는 블록도이다.
도 6a 및 6b는 본 발명의 일 실시예에 따른 시스템 지연의 유무에 관계없이 자율 주행 차량을 운행시키는 것을 설명하는 도면이다.
도 7a 및 7b는 본 발명의 또 다른 실시예에 따른 시스템 지연의 유무에 관계없이 자율 주행 차량을 운행시키는 것을 설명하는 도면이다.
도 8은 본 발명의 일 실시예에 따른 자율 주행 차량의 시스템 지연을 추정하는 과정을 나타내는 흐름도이다.
도 9은 본 발명의 일 실시예에 따른 자율 주행 차량의 시스템 지연을 추정하는 과정을 나타내는 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 시스템 지연의 보상에 관계없이 자율 주행 차량을 운행시키는 과정을 설명하는 도면이다.
도 11은 일 실시예에 따른 데이터 처리 시스템을 나타내는 블록도이다.
도 1은 본 발명의 일 실시예에 따른 네트워크 시스템을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 자율 주행 차량의 일례를 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 자율 주행 차량과 함께 사용되는 데이터 처리 시스템의 일례를 나타내는 블록도이다.
도 4는 시스템 지연의 유무에 관계없이 자율 주행 차량을 운행시키는 것을 설명하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 주행 시나리오-시스템 지연 매핑 테이블의 일례를 나타내는 블록도이다.
도 6a 및 6b는 본 발명의 일 실시예에 따른 시스템 지연의 유무에 관계없이 자율 주행 차량을 운행시키는 것을 설명하는 도면이다.
도 7a 및 7b는 본 발명의 또 다른 실시예에 따른 시스템 지연의 유무에 관계없이 자율 주행 차량을 운행시키는 것을 설명하는 도면이다.
도 8은 본 발명의 일 실시예에 따른 자율 주행 차량의 시스템 지연을 추정하는 과정을 나타내는 흐름도이다.
도 9은 본 발명의 일 실시예에 따른 자율 주행 차량의 시스템 지연을 추정하는 과정을 나타내는 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 시스템 지연의 보상에 관계없이 자율 주행 차량을 운행시키는 과정을 설명하는 도면이다.
도 11은 일 실시예에 따른 데이터 처리 시스템을 나타내는 블록도이다.
본 발명의 다양한 실시예들 및 양상들은 이하 세부 설명을 참조하여 설명되며, 첨부 도면들은 다양한 실시예들을 나타낸다. 아래의 설명 및 도면은 본 발명을 예시적으로 보여주며, 본 발명을 제한하는 것으로 해석되어서는 안 된다. 본 발명의 다양한 실시예들에 대한 완전한 이해를 제공하기 위해 다수의 구체적인 세부 사항들이 묘사된다. 그러나, 어떤 경우에는, 본 발명의 실시예들에 대한 간결한 설명을 제공하기 위해 잘 알려진 또는 종래의 세부 사항은 설명되지 않는다.
명세서에서의 "일 실시예" 또는 "실시예"는, 실시예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함될 수 있다는 것을 의미한다. 명세서의 다양한 곳에서 기재된 "일 실시예에서"라는 문구는 반드시 모두 동일한 실시예를 지칭하는 것은 아니다.
본 발명의 일 실시예에 따르면, 지연 추정 메커니즘은 상이한 주행 상황에서 자율 주행 차량에서 발생한 상이한 종류의 지연을 추정하기 위해 이용된다. 지연 추정 메커니즘은 이러한 지연을 활용(leverage)하여 지연 보정된 위치를 가장 잘 반영하는 최상의 차량 위치를 추론한다. 일 실시예에서, 시스템 지연은, 이에 한정되는 것은 아니지만, 자율 주행 차량 내의 스티어링 제어 지연, 속력 제어 지연, 연산(computational) 지연 및 통신 지연을 포함한 다양한 상이한 지연에 기초하여 결정될 수 있다. 스티어링 제어 지연 및 속력 제어 지연과 같은 이러한 일부 지연은 특정 센서를 사용하여 측정될 수 있다. 연산 지연 및 통신 지연과 같은 다른 지연은 시스템 아키텍처 또는 구성에 따라 추정될 수 있다. 그리고 나서, 시스템 지연은 미리 결정된 공식(예를 들어, 가중(weighted) 알고리즘)을 사용하여 이들 지연들 중 적어도 일부에 기초하여 결정된다. 시스템 지연은 자율 주행 차량을 주행하는데 있어서 제어 명령을 발행하는 타이밍을 조정하기 위해 차후 활용될 수 있다.
일 실시예에서, 스티어링 제어 지연이 측정되는데, 여기서 스티어링 지연은 스티어링 제어 명령을 내는 시간과 자율 주행 차량의 하나 이상의 차륜으로부터 수신된 응답 시간 사이의 지연을 나타낸다. 속력 제어 지연은 속력 제어 명령을 발행한 시간과 자율 주행 차량의 하나 이상의 차륜으로부터 수신된 응답 시간 또는 가스 페달(pedal) 또는 브레이크 페달로의 압력을 공급하는 시간 사이에 측정된다. 차후 주어진 경로에 응답하여, 전체 시스템 지연은 미리 결정된 알고리즘을 사용하여 스티어링 제어 지연 및 속력 제어 지연에 기초하여 결정된다. 계획 및 제어 데이터는 자율 주행 차량을 운행시키기 위한 시스템 지연을 고려하여 생성된다.
본 발명의 다른 실시예에 따르면, 상이한 차량의 특정 주행 파라미터가 상이한 주행 시나리오 하에서 기록된다. 주행 시나리오는 특정 속력(예: 일정한 속력, 가속 또는 감속 유지)로 특정 거리를 주행하는 것, 특정 속력으로 특정 선회 각도로 선회하거나, 특정 속력 및/또는 각도로 차선을 변경하는 것 등과 같은 특정 주행 패턴을 지칭한다. 가스 페달 및/또는 브레이크 페달에 적용되는 압력도 기록될 수 있다. 또한, 스티어링 제어 지연, 속력 제어 지연, 연산 지연 및/또는 통신 지연을 포함하여, 각 주행 시나리오 하에서 차량의 각각에 대한 관련 제어 명령을 발행하는 것과 관련된 시스템 지연이 결정되거나 추정된다. 시스템 지연(시나리오/지연) 매핑 테이블에 대한 데이터베이스 또는 주행 시나리오가 생성된다. 시나리오/지연 매핑 테이블은 다수의 매핑 엔트리를 포함한다. 각 매핑 엔트리는 특정 주행 시나리오를 시스템 지연으로 매핑한다. 시나리오/지연 매핑 테이블은 동일한 또는 유사한 주행 시나리오 또는 환경에서 자율 주행 차량을 계획 및 제어할 때 시스템 지연을 보상하기 위해 실시간 주행 동안에 차후 활용된다.
일 실시예에서, 주행 시나리오는 자율 주행 차량을 위한 다음 루트(route) 세그먼트(segment) 또는 루트에 대해 결정된다. 이에 응답하여, 룩업 동작은 시나리오/지연 매핑 테이블에서 수행되어 결정된 주행 시나리오와 일치하는 매핑 엔트리를 찾아낸다. 시나리오/지연 매핑 테이블은 다수의 매핑 엔트리를 포함한다. 각 매핑 엔트리는 특정 주행 시나리오를 특정 주행 시나리오에 대해 산출된 시스템 지연에 매핑한다. 그 후, 자율 주행 차량이 그 시점에서의 주행 시나리오에 대응하는 시스템 지연을 고려하여 제어되고 주행되는데, 상황 하에서 시스템 지연을 보상하는 타이밍에 따라 제어 명령을 발행하는 것을 포함한다.
도 1은 본 발명의 일 실시예에 따른 자율 주행 차량 네트워크 구성을 나타내는 블록도이다. 도 1을 참조하면, 네트워크 구성(100)은, 네트워크(102) 상에서 하나 이상의 서버(103-104)와 통신 가능하게 결합될 수 있는 자율 주행 차량(101)을 포함한다. 하나의 자율 주행 차량이 도시되어 있지만, 다수의 자율 주행 차량이 서로 결합될 수 있고/있거나 네트워크(102)를 통해 서버들(103-104)에 결합될 수 있다. 네트워크(102)는 근거리 통신망(LAN), 인터넷과 같은 광역 네트워크(WAN), 셀룰러 네트워크, 위성 네트워크 또는 이들의 조합과 같은 유선 또는 무선의 임의의 유형의 네트워크일 수 있다. 서버(들)(103-104)는 웹 또는 클라우드 서버, 애플리케이션 서버, 백엔드 서버 또는 이들의 조합과 같은 임의의 종류의 서버 또는 서버 클러스터일 수 있다. 서버(103-104)는 데이터 분석 서버, 콘텐츠 서버, 교통 정보 서버, 맵 및 관심 지점(POI: point of interest) 서버 또는 위치 서버 등일 수 있다.
자율 주행 차량은 차량이 운전자로부터의 입력이 거의 또는 전혀 없이 주변 환경을 내비게이트하는 자율 주행 모드로 구성될 수 있는 차량을 지칭한다. 이러한 자율 주행 차량은 차량이 운행되는 환경에 관한 정보를 검출하도록 구성된 하나 이상의 센서를 갖는 센서 시스템을 포함할 수 있다. 차량 및 관련 제어기(들)는 검출된 정보를 이용하여 주변 환경 사이로 내비게이트한다. 자율 주행 차량(101)은 수동 모드, 완전 자율 주행 모드 또는 부분 자율 주행 모드로 운행될 수 있다.
일 실시예에서, 자율 주행 차량(101)은 데이터 처리 시스템(110), 차량 제어 시스템(111), 무선 통신 시스템(112), 사용자 인터페이스 시스템(113), 인포테인먼트 시스템(114) 및 센서 시스템(115)을 포함하지만, 이에 한정되지 않는다. 자율 주행 차량(101)은, 예를 들어, 가속 신호 또는 명령, 감속 신호 또는 명령, 조향 신호 또는 명령, 제동 신호 또는 명령 등과 같은 다양한 통신 신호 및/또는 명령을 사용하여, 차량 제어 시스템(111) 및/또는 데이터 처리 시스템(110)에 의해 제어될 수 있는, 엔진, 차륜(wheel), 스티어링 휠, 변속기 등과 같은, 일반 차량에 포함되는 특정 공통 구성 요소를 더 포함할 수 있다.
구성요소(110-115)는 인터커넥트(interconnect), 버스, 네트워크 또는 이들의 조합을 통해 서로 통신 가능하게 결합될 수 있다. 예를 들어, 구성요소(110-115)는, 제어기 영역 네트워크(CAN) 버스를 통해 서로 통신 가능하게 결합될 수 있다. CAN 버스는 호스트 컴퓨터가 없는 어플리케이션들에서 마이크로 컨트롤러들과 장치들이 서로 통신할 수 있도록 설계된 차량 버스 표준이다. 그것은 메시지 기반 프로토콜로서, 원래는 자동차 내의 멀티플렉스(multiplex) 전기 배선을 위해 설계되었지만, 다른 많은 상황에서도 사용된다.
이제 도 2를 참조하면, 일 실시예에서, 센서 시스템(115)은, 하나 이상의 카메라(211), GPS(global positioning system) 유닛(212), 관성 측정 유닛(IMU)(213), 레이더 유닛(214) 및 광 검출 및 측정(LIDAR) 유닛(215)을 포함하지만, 이에 한정되지 않는다. GPS 유닛(212)은 자율 주행 차량의 위치에 관한 정보를 제공하도록 동작 가능한 송수신기(트랜시버)를 포함할 수 있다. IMU 유닛(213)은, 관성 가속도에 기초하여 자율 주행 차량의 위치 및 방향(orientation) 변화를 감지할 수 있다. 레이더 유닛(214)은, 무선 신호를 활용하여 자율 주행 차량의 로컬 환경 내의 물체들을 감지하는 시스템을 나타낼 수 있다. 일부 실시예들에서, 물체를 감지하는 것 외에, 레이더 유닛(214)은 물체의 속력 및/또는 진로(heading)을 추가로 감지할 수 있다. LIDAR 유닛(215)은, 레이저를 사용하여 자율 주행 차량이 위치한 환경 내의 물체들을 감지할 수 있다. LIDAR 유닛(215)은, 여러 시스템 구성 요소들 중에서, 하나 이상의 레이저 소스, 레이저 스캐너 및 하나 이상의 검출기를 포함할 수 있다. 카메라(211)는 자율 주행 차량을 둘러싸는 환경의 이미지를 캡쳐하기 위한 하나 이상의 장치를 포함할 수 있다. 카메라(211)는 정지 화상 카메라 및/또는 비디오 카메라일 수 있다. 카메라는, 예를 들어, 카메라를 회전 및/또는 틸팅 플랫폼에 장착함으로써, 기계적으로 이동 가능할 수 있다.
센서 시스템(115)은, 소나(sonar) 센서, 적외선 센서, 스티어링(조향) 센서, 스로틀 센서, 제동 센서 및 오디오 센서(예를 들어, 마이크로폰)와 같은 다른 센서들을 더 포함할 수 있다. 오디오 센서는 자율 주행 차량을 둘러싸는 환경에서 소리(sound)를 캡쳐하도록 구성될 수 있다. 스티어링 센서는, 스티어링 휠, 차량의 차륜 또는 이들의 조합의 스티어링 각도를 감지하도록 구성될 수 있다. 스로틀 센서 및 제동 센서는, 차량의 스로틀 위치 및 제동 위치를 각각 감지한다. 일부 상황에서는, 스로틀 센서와 제동 센서가 통합 스로틀/제동 센서로 통합될 수 있다.
일 실시예에서, 차량 제어 시스템(111)은, 스티어링 유닛(201), 스로틀 유닛(202)(가속 유닛으로도 지칭됨), 제동 유닛(203), 컴퓨터 비전 시스템(204), 내비게이션 유닛(205)(내비게이션 및 경로 또는 내비게이션/경로 시스템으로도 지칭됨) 및 충돌 회피 유닛(206)(장애물 회피 시스템으로도 지칭됨)을 포함하지만, 이에 한정되지 않는다. 스티어링 유닛(201)은, 차량의 방향 또는 진행 방향을 조정하기 위한 것이다. 스로틀 유닛(202)은 모터 또는 엔진의 속력을 제어하여 차량의 속력 및 가속을 차례로 제어하기 위한 것이다. 제동 유닛(203)은 차량의 차륜 또는 타이어를 감속시키도록 마찰을 제공함으로써 차량을 감속시키기 위한 것이다.
컴퓨터 비전 시스템(204)은 자율 주행 차량의 환경 내의 물체 및/또는 특징을 식별하기 위해 하나 이상의 카메라(211)에 의해 캡쳐된 이미지를 처리하고 분석하는 것이다. 물체는 교통 신호, 도로 경계, 다른 차량, 보행자 및/또는 장애물 등을 포함할 수 있다. 컴퓨터 비전 시스템(204)은 물체 인식 알고리즘, 비디오 트래킹(tracking) 및 다른 컴퓨터 비전 기술을 사용할 수 있다. 일부 실시예에서, 컴퓨터 비전 시스템(204)은, 환경을 매핑하고, 물체를 추적하고, 물체의 속력을 추정하는 것 등을 할 수 있다.
내비게이션 유닛 또는 시스템(205)은 자율 주행 차량의 주행 경로를 결정하는 것이다. 예를 들어, 네비게이션 시스템은, 일련의 속력 및 진행 방향(directional heading)을 결정하여, 인지된 장애물을 실질적으로 피하는 경로를 따라 자율 주행 차량의 이동을 수행하면서, 궁극적인 목적지에 이르는 도로 기반 경로를 따라 자율 주행 차량을 일반적으로 전진시킬 수 있다. 목적지는, 사용자 인터페이스를 통한 사용자 입력에 따라 설정될 수 있다. 내비게이션 시스템(205)은, 자율 주행 차량이 운행되는 동안 주행 경로를 동적으로 업데이트할 수 있다. 네비게이션 시스템(205)은, 자율 주행 차량을 위한 주행 경로를 결정하기 위해 GPS 시스템 및 하나 이상의 지도로부터의 데이터를 통합할 수 있다.
충돌 회피 유닛 또는 시스템(206)은 자율 주행 차량의 환경에서의 잠재적 장애물을 식별, 평가 및 회피하거나 협상(negotiate)하는 것이다. 예를 들어, 충돌 회피 시스템(206)은, 급회피 조작, 선회 조작, 제동 조작 등을 수행하기 위해, 제어 시스템의 하나 이상의 서브 시스템을 조작하여 자율 주행 차량의 네비게이션의 변화를 수행할 수 있다. 충돌 회피 시스템(206)은, 주변의 교통 패턴, 도로 조건 등에 기초하여, 실현 가능한 장애물 회피 조작을 자동으로 결정할 수 있다. 충돌 회피 시스템(206)은, 자율 주행 차량이 급회피하여 진입할 인접 영역에서, 차량, 건축 장애물 등을 다른 센서 시스템들이 검출할 때, 급회피 조작이 수행되지 않도록 구성될 수 있다. 충돌 회피 시스템(206)은, 사용 가능하면서 동시에 자율 주행 차량의 탑승자의 안전을 극대화하는 조작을 자동적으로 선택할 수 있다. 충돌 회피 시스템(206)은, 자율 주행 차량의 승객실에서 최소량의 가속을 일으킬 것으로 예상되는 회피 조작을 선택할 수 있다. 도 2에 도시된 구성 요소들은, 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다.
도 1을 다시 참조하면, 무선 통신 시스템(112)은, 자율 주행 차량(101)과, 장치들, 센서들, 다른 차량들 등과 같은 외부 시스템들 간의 통신을 가능하게 한다. 예를 들어, 무선 통신 시스템(112)은, 하나 이상의 장치들과 직접 또는 네트워크(102) 상의 서버들(103-104)과 같은 통신 네트워크를 통해 무선 통신할 수 있다. 무선 통신 시스템(112)은, 임의의 셀룰러 통신 네트워크 또는 무선 근거리 네트워크(WLAN)를 사용할 수 있으며, 예를 들어, 다른 구성 요소 또는 시스템과 통신하기 위해 WiFi를 사용할 수 있다. 무선 통신 시스템(112)은, 예를 들어, 적외선 링크, 블루투스 등을 사용하여, 장치(예를 들어, 승객의 모바일 장치, 디스플레이 장치, 차량(101) 내의 스피커)와 직접 통신할 수 있다. 사용자 인터페이스 시스템(113)은, 예를 들어, 키보드, 터치 스크린 디스플레이 장치, 마이크로폰 및 스피커 등을 포함하는 차량(101) 내에 구현되는 주변 장치들의 일부일 수 있다.
자율 주행 차량(101)의 모든 기능의 일부는, 특히 자율 주행 모드에서 운행될 때, 데이터 처리 시스템(110)에 의해 제어되거나 관리될 수 있다. 데이터 처리 시스템(110)은, 센서 시스템(115), 제어 시스템(111), 무선 통신 시스템(112) 및/또는 사용자 인터페이스 시스템(113)으로부터 정보를 수신하고, 수신된 정보를 처리하고, 출발점에서 목적지점까지의 루트(route) 또는 경로를 계획한 다음, 계획 및 제어 정보에 기초하여 차량(101)을 주행하기 위해, 필요한 하드웨어(예를 들어, 프로세서(들), 메모리, 저장 장치) 및 소프트웨어(예를 들어, 운영 체제, 계획 및 라우팅(routing) 프로그램)을 포함한다. 대안적으로, 데이터 처리 시스템(110)은 차량 제어 시스템(111)과 통합될 수 있다.
예를 들어, 승객인 사용자는, 예를 들어, 사용자 인터페이스를 통해 여행의 출발 위치 및 목적지를 지정할 수 있다. 데이터 처리 시스템(110)은 자율 주행 차량(101)의 다른 구성 요소와 통신하여 여행 관련 데이터를 얻는다. 예를 들어, 데이터 처리 시스템(110)은 서버(103-104)의 일부일 수 있는, 위치 서버 및 맵 및 POI(MPOI) 서버로부터 위치 및 경로 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하고, MPOI 서버는 맵 서비스와 특정 위치들의 POI들을 제공한다. 대안적으로, 이러한 위치 및 MPOI 정보는 데이터 처리 시스템(110)의 영구 저장 장치에 국부적으로 캐시될 수 있다.
경로를 따라 자율 주행 차량(101)을 이동하는 동안, 데이터 처리 시스템(110)은 교통 정보 시스템 또는 서버(TIS)로부터 실시간 교통 정보도 얻을 수 있다. 서버(103-104)는 제3자 엔티티에 의해 운영될 수 있다. 대안적으로, 서버들(103-104)의 기능들은 데이터 처리 시스템(110)과 통합될 수 있다. 데이터 처리 시스템(110)은, 실시간 교통 정보, MPOI 정보 및 위치 정보뿐만 아니라 센서 시스템(115)에 의해 검출 또는 감지된 실시간 로컬 환경 데이터(예를 들어, 장애물, 물체, 주변 차량)에 기초하여, 최적의 루트를 계획하고 예를 들어, 제어 시스템(111)을 통해, 지정된 목적지에 안전하고 효율적으로 도착하기 위해 계획된 루트에 따라 차량(101)을 주행할 수 있다.
일 실시예에 따르면, 자율 주행 차량(101)은 차량(101)의 승객에게 정보 및 엔터테인먼트(entertainment)를 제공하는 인포테인먼트 시스템(114)을 더 포함할 수 있다. 정보 및 엔터테인먼트 콘텐츠는 국부적으로 및/또는 원격으로 저장된 콘텐츠 정보(예컨대, 서버(103-104)에 의해 제공됨)에 기초하여 수신되고, 컴파일되고 렌더링될 수 있다. 예를 들어, 정보는 네트워크(102)를 통해 임의의 서버(103-104)로부터 실시간으로 스트리밍되고 차량(101)의 디스플레이 장치 상에 디스플레이될 수 있다. 정보는 예를 들어, 하나 이상의 카메라에 의해 실시간으로 캡쳐된 로컬 정보로 증강될(augmented) 수 있으며, 그 다음 증강된 콘텐츠는 가상 현실 방식으로 디스플레이될 수 있다.
일 실시예에서, 위치 및 루트 정보, MPOI 정보, 및/또는 실시간 교통 정보에 기초하여, 인포테인먼트 시스템(114) 및/또는 데이터 처리 시스템(110)은 현재의 교통 환경(예를 들어, MPOI)에 적절한 콘텐츠의 특정 유형을 결정한다. 시스템은, 예를 들어 실시간 여행(또는 이동) 정보에 기초하여, 컨텐츠 아이템 후보들로서 리스트 콘텐츠 아이템(예를 들어, 스폰서된 콘텐츠 또는 광고들)을 식별하기 위해 컨텐츠 인덱스(도시되지 않음)에서 룩업 동작을 수행한다.
일 실시예에서, 시스템은 다양한 랭킹 알고리즘을 사용하여 리스트 내의 콘텐츠 아이템의 순위를 결정한다. 콘텐츠 아이템들은, 사용자의 사용자 프로파일에 기초하여 순위가 정해질 수 있다. 예를 들어, 콘텐츠 아이템들은, 사용자 프로파일로부터 도출될 수 있는, 사용자 선호사항에 기초하여 순위가 정해질 수 있다. 사용자 프로파일은, 과거의 사용자 동작의 이력에 기초하여 컴파일될 수 있다. 일 실시예에서, 시스템은, 각각의 콘텐츠 아이템에 대한 랭킹 점수를 결정하기 위해 하나 이상의 콘텐츠 랭킹 모델을 콘텐츠 아이템의 각각에 적용한다. 소정의 임계 값을 초과하는 랭킹 점수를 갖는 콘텐츠 아이템이 선택될 수 있다. 콘텐츠 랭킹 모델은, 과거에 유사한 이동 환경 또는 교통 조건을 나타내는 알려진 특징 세트를 사용하여 트레이닝될 수 있다. 콘텐츠 랭킹 모델은, 유사한 사용자들의 사용자 프로파일에 기초하여 훈련될 수도 있다.
선택된 콘텐츠 아이템은, 그 후 자율 주행 차량 내의 디스플레이 장치 상에 랜더링되고 디스플레이된다. 일 실시예에서, 시스템은, 자율 주행 차량의 하나 이상의 카메라를 사용하여 특정 시점에 캡처된 이미지 상에 선택된 콘텐츠 아이템을 추가로 증강(augment)시킨다. 일 실시예에서, 이미지 인식은, 이미지에 대해 수행되고, 이미지에 의해 표현된 콘텐츠를 도출하거나 이해한다. 예를 들어, 이미지 또는 POI를 기술하기 위해, 하나 이상의 키워드가 도출될 수 있다. 콘텐츠 아이템들의 리스트는, 이미지에 의해 표현된 하나 이상의 키워드들 또는 POI에 기초하여 추가로 식별될 수 있다. 그 후, 시스템은, 선택된 콘텐츠 아이템을 이미지 상에 증강하여, 콘텐츠 아이템이 이미지 상에 중첩될 수 있는 증강 이미지를 생성한다. 증강 이미지는, 그 후 자율 주행 차량의 디스플레이 장치 상에 디스플레이된다. 인포테인먼트 시스템(114)은, 일부 실시예에 따라 데이터 처리 시스템(110)과 통합될 수 있다.
대안적으로, 사용자는, 네트워크(예를 들어, 클라우드 네트워크)를 통해 콘텐츠 제공자의 콘텐츠 서버로부터 주기적으로 업데이트될 수 있는, 콘텐츠 저장소 또는 데이터베이스로부터 사전 컴파일된 콘텐트(예를 들어, 비디오, 영화)의 리스트로부터 특정적으로 선택할 수 있다. 이에 따라, 사용자는 실시간으로 캡쳐된 실시간 현재(actual) 콘텐츠 또는 디스플레이 장치에 디스플레이되는 이전에 렌더링된(rendered) 콘텐츠(예를 들어, 데이터 스토어(125)로부터 검색됨)를 구체적으로 선택할 수 있다. 예를 들어, 자율 주행 차량(101)이 뉴욕시에서 눈이 많이 내리는 날에 이동하는 경우, 사용자는 자율 주행 차량(101)이 맑은 날에 주행하는 것처럼 하와이에서의 밝은 환경을 디스플레이하도록 디스플레이 장치를 스위칭할 수 있다. 콘텐츠는 협업 또는 조율된 방식으로(즉, 가상 현실 방식으로) 여러 디스플레이 장치(예: 다중 윈도우)에 표시될 수 있다.
도 1을 다시 참조하면, 일 실시예에 따르면, 다음 루트 또는 다음 루트 세그먼트를 계획하는 데 있어서, 데이터 처리 시스템(110)은 시스템 지연을 고려한다. 구체적으로, 다음 이동을 계획 할 때, 시스템은 그 시점의 주행 시나리오를 결정하고 주행 시나리오에 대응하는 시스템 지연을 획득한다. 시스템은 예를 들어 시스템 지연을 고려하여 제어 명령에 적절한 타이밍, 크기 및/또는 선회 각도를 발행함으로써, 연관된 시스템 지연을 기초로 계획 및 제어 데이터를 생성한다. 시스템 지연은 자율 주행 차량의 주행 동안에 온라인으로 결정될 수 있다. 대안적으로, 시스템 지연은 다양한 주행 상황 또는 조건 하에서 다수의 차량의 다량의 주행 통계에 기초하여 오프라인으로 결정될 수 있다.
일 실시예에 따르면, 시스템 지연은 다수의 상이한 차량의 다량의 주행 통계에 기초하여 서버(103)와 같은 분석 시스템에 의해 결정될 수 있다. 그리고 나서, 시스템 지연은 실시간 또는 온라인 주행 동안에 이용될 데이터베이스 또는 테이블과 같은 데이터 구조에서 자율 주행 차량(101) 상에 로딩된다. 일 실시예에서, 서버로서 동작하는 데이터 분석 시스템(103)은 데이터 수집기(151) 및 데이터 분석 모듈(152)을 포함하지만, 이에 한정되는 것은 아니다. 데이터 수집기(151)는 상이한 주행 시나리오 및/또는 조건 하에 다양한 차량으로부터 기록되고 캡처된 다양한 주행 통계(153)를 수집한다. 또한, 주행 통계(153)는 주행 동작 동안에 차량의 다양한 센서에 의해 측정 및/또는 추정된 특정 시스템 지연을 더 포함한다.
일 실시예에서, 시스템 지연은, 이에 한정되지 않으나, 자율 주행 차량 내의 스티어링 제어 지연, 속력 제어 지연, 연산 지연 및 통신 지연을 포함하는 다양한 상이한 지연에 기초하여 결정될 수 있다. 스티어링 제어 지연 및 속력 제어 지연과 같은 일부 지연은 특정 센서(예: 스티어링 센서, 휠 센서, 스로틀 센서 또는 브레이크 센서 등)를 사용하여 측정될 수 있다. 산출 지연 및 통신 지연과 같은 다른 지연이 추정될 수 있다. 그리고 나서, 시스템 지연은 미리 결정된 공식(예를 들어, 가중(weighted) 알고리즘)을 사용하여 이러한 지연에 기초하여 결정된다.
주행 통계(153)에 기초하여, 분석 모듈(152)은 상이한 주행 시나리오 또는 상황에 대응하는 시스템 지연을 결정하는 분석을 수행한다. 분석 모듈(152)은 상이한 주행 시나리오에 대응하는 시스템 지연을 저장하는 시나리오/지연 매핑 테이블(15)을 생성한다. 일 실시예에서, 시나리오/지연 매핑 테이블(150)은 다수의 매핑 엔트리를 포함한다. 각 매핑 엔트리는 특정 주행 시나리오를 시스템 지연으로 매핑한다. 시스템 지연은 스티어링 제어 지연, 속력 제어 지연, 연산 지연 및 통신 지연과 같은 다양한 유형의 지연에 기초하여 계산될 수 있다. 대안적으로, 각각의 매핑 엔트리는 특정 주행 시나리오를 개별 스티어링 제어 지연, 속력 제어 지연, 연산 지연 및 통신 지연의 세트로 매핑한다.
그리고 나서, 시나리오/지연 매핑 테이블(150)은 자율 주행 차량에 업로드되고, 여기서 시나리오/지연 매핑 테이블(150)은 자율 주행 차량을 제어하고 주행하기위한 제어 명령을 발행하는 시점을 결정하는 데에 있어서 시스템 지연을 보상하도록 활용될 수 있다. 대안적으로, 스티어링 제어 지연, 속력 제어 지연, 연산 지연 및 통신 지연과 같은 시스템 지연은 자율 주행 차량을 운행시키는 동안에 실시간으로 측정되거나 추정될 수 있다. 그것들은 특정 시점에 특정 주행 시나리오를 거치지 않고 제어 명령을 발행하는 것을 보완하는 데 활용될 수 있다. 시나리오/지연 매핑 테이블(150)은 데이터베이스 또는 다른 룩업 테이블과 같은 다양한 데이터 구조로 구현될 수 있다.
도 3은 본 발명의 일 실시예에 따른 자율 주행 차량과 함께 사용되는 데이터 처리 시스템의 일례를 나타내는 블록도이다. 시스템(300)은 도 1의 자율 주행 차량(101)의 일부로서 구현될 수 있다. 도 3을 참조하면, 데이터 처리 시스템(110)은 계획 모듈(301), 제어 모듈(302), 맵 및 루트 모듈(303) 및 시스템 지연 결정 모듈 또는 계산기(304)를 포함하나, 이에 한정되지 않는다. 모듈(301-304)은 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 임의의 모듈(301-304)은 영구 저장 장치(312)(예를 들어, 하드 디스크)에 설치되고, 메모리(311)에 로드되며, 하나 이상의 프로세서(미도시)에 의해 실행될 수 있다.
계획 모듈(301)은, 센서 시스템(115)으로부터 수신된 센서 데이터 및/또는 다양한 소스들로부터 수신된 실시간 정보(예를 들면, 위치, 맵, 맵의 일부로서 POI 및 POI 또는 맵 및 루트 모듈(303)에 의해 제공된 MPOI 데이터베이스)와 같은 다양한 정보에 기초하여, 자율 주행 차량을 위한 경로 또는 루트를 계획하는 것이다. 계획 및 제어 데이터는 계획 모듈(301)에 의해 생성된다. 계획 및 제어 데이터에 기초하여, 제어 모듈(302)은 계획 및 제어 데이터에 의해 정의된 루트 또는 경로에 따라, 차량 제어 시스템(111)에 적절한 명령 또는 신호를 전송함으로써 자율 주행 차량을 제어하는 것이다. 계획 및 제어 데이터에는, 경로 또는 루트 상의 시간에 따른 상이한 지점들에서 적절한 차량 설정 또는 주행 파라미터(예를 들어, 스로틀, 제동 및 선회 명령)를 사용하여 루트 또는 경로의 제1 지점에서 제2 지점까지 차량을 주행할 수 있는 충분한 정보가 포함되어 있다. 계획 모듈(301) 및 제어 모듈(302)은, 도 2의 차량 제어 시스템(111)의 내비게이션 유닛(205)에 통신 가능하게 연결되거나 통합될 수 있다.
일 실시예에 따르면, 시스템 지연 결정 모듈(304)(간단히 지연 산출기라고 칭함)은 자율 주행 차량(300)에 대한 전체 시스템 지연을 결정한다. 일 실시예에서, 이러한 시스템 지연은 특정 상황들 하에서 스티어링 제어 지연(321), 속력 제어 지연(322), 연산 지연(323), 통신 지연(324) 또는 다른 지연들(개별 지연들로 지칭됨) 중 적어도 하나에 기초하여 산출되거나 결정될 수 있다. 이러한 지연(321-324)은 다수의 상이한 주행 시나리오 또는 주행 조건에서 다수의 차량에 의한 다량의 주행 기록에 기초하여 측정되거나 추정될 수 있다. 이러한 지연(321-324)은 엄청난 양의 주행 통계치를 수집 및 분석함으로써, 오프라인 데이터 분석 시스템(103)과 같은 데이터 분석 시스템에 의해 결정될 수 있다. 예를 들어, 특정 유형의 지연은 동일하거나 유사한 유형의 다수의 차량에서 발생하는 동일한 유형의 평균 지연에 기초하여 결정될 수 있다.
대안적으로, 지연(321-324)은 지연 결정 모듈(304)에 의해 실시간으로 결정되거나 측정될 수 있다. 그러나 이러한 접근은 온라인 주행 동안에 성능이 저하되거나 산출되는 시간이 더 오래 걸릴 수 있다. 이에 반하여, 전용 데이터 분석 시스템에 의해 오프라인으로 지연(321-324)을 산출함으로써, 지연(321-324)은 온라인으로 사용할 준비가 되어 지연(321-324)을 결정하는 시간을 단축할 것이다. 일 실시예에서, 지연(321-324)은 자율 주행 차량(300) 내의 온라인 측정 및/또는 데이터 분석 시스템에 의한 다양한 차량들로부터의 오프라인 지연 계산에 의해 주기적으로 업데이트될 수 있다.
일 실시예에서, 시스템 지연 결정 모듈(304)은 스티어링 제어 지연(321)을 결정하기 위한 스티어링 제어 지연 결정 모듈(미도시)을 포함한다. 스티어링 제어 지연(321)은 스티어링 제어 명령을 발행하는 시간과 차량(300)의 하나 이상의 차륜으로부터 수신된 응답 시간 사이에 측정될 수 있다. 스티어링 제어 지연(321)은 스티어링 제어 명령을 발행하는 것과 차량의 바퀴가 스티어링 제어 명령에 의해 특정된 각도로 위치되는 것 사이의 시간에 기초하여 측정될 수 있으며, 이는 하나 이상의 스티어링 센서에 의해 감지될 수 있다.
시스템 지연 결정 모듈(304)은 가속, 감속 또는 동일한 속력을 유지하는데 있어서의 지연을 포함하는 속력 제어 지연(322)을 결정하기 위한 속력 제어 지연 결정 모듈(미도시)을 더 포함할 수 있다. 속력 제어 지연(322)은 속력 제어 명령(예를 들어, 가속, 감속 또는 제동)을 발행하는 시간과 차량이 속력의 변경을 시작함을 나타내는 차량의 차륜으로부터 수신된 응답하는 시간 사이에서 측정될 수 있다. 속력 제어 지연(322)은 가속 또는 스로틀 명령을 발행하는 시간과 차량이 가속을 시작하는 시간 사이의 차이를 나타내는 가속 지연을 포함한다. 속력 제어 지연(322)은 감속 또는 제동 명령을 발행하는 시간과 차량이 감속을 개시하는 시간 사이의 차이를 나타내는 감속 지연을 포함할 수 있다.
연산 지연(323)은 시스템(예를 들어, 계획 모듈(301), 제어 모듈(302), 제어 시스템(111) 및 CAN 버스와 같은 통신 버스)이 제어 명령을 생성하고 발행하는 데 소요되는 연산 시간을 지칭한다. 연산 지연은 슬립(sleep) 시간을 더 포함할 수 있다. 예를 들어, 연산이 10 헤르츠(Hz) 주파수에서 수행되는 경우(예: 주행 매개 변수를 0.1초 마다 연산), 평균 슬리프 시간은 50밀리초(ms)이다. 이러한 슬립 시간은 슬립 시간 동안 시스템이 어떤 명령이나 응답도 처리하지 않으므로 연산 지연의 일부로 고려된다. 통신 지연(324)은 제어 시스템, 통신 버스 및 차량으로부터의 응답 사이의 지연 또는 통신 비용을 지칭한다. 연산 지연(323) 및 통신 지연(324)은 차량 또는 동일 또는 유사한 유형의 차량의 이전 동작에 기초하여 추정될 수 있다.
일 실시예에서, 시스템 지연 결정 모듈(304)은 미리 결정된 지연 알고리즘을 사용하여, 하나 이상의 스티어링 제어 지연(321), 속력 제어 지연(322), 연산 지연(323) 또는 통신 지연(324) 중 하나 이상에 기초하여 전체 또는 최종 시스템 지연을 산출한다. 일 실시예에서, 소정의 알고리즘은 가중 알고리즘(weighted algorithm)이며, 산출에 관련된 스티어링 제어 지연(321), 속력 제어 지연(322), 연산 지연(323) 또는 통신 지연(324) 각각은 가중 인자 또는 계수가 할당된다. 특정 주행 시나리오 또는 환경에 따라, 가중 인자 또는 계수는 산출에 관련된 개별 지연의 각각에 대해 상이할 수 있다. 예를 들어, 차량이 선회하려고 하면, 스티어링 제어 지연(321)에 대응하는 가중 계수는 더 높게 조정될 수 있다. 차량이 직진하면, 속력 제어 지연(322)에 대응하는 가중 계수는, 특히 차량의 현재 속력과와 목표 속력 사이의 차이가 더 클 때(예를 들어, 미리 결정된 임계값보다 큰 경우) 더 높게 조정될 수 있다. 조정은 특정 상황에 따라 실시간으로 적용될 수 있다. 산출된 시스템 지연은 제어 명령을 발행하는 시점 및 차량으로부터의 지연된 응답의 시점을 보완하는 데에 사용될 수 있다.
예를 들어, 이제 도 4를 참조하면, 차량이 위치(401)에 있다고 가정한다. 시스템 지연이 주어지면, 제어 명령이 발행될 때, 차량은 위치(402)에서 제어 명령을 수신하고 응답할 수 있다. 이러한 지연은 승객에게 불편함을 야기할 수 있는 주행 파라미터(예: 스로틀, 브레이크 매개 변수)를 결정하는데 있어서 오류를 야기할 수 있다. 차량이 제어 명령을 수신할 때, 차량은 제어 명령이 결정되었던 원래 위치(401)에 있지 않을 수 있다. 오히려, 차량은 위치(402)에 있을 수 있다. 그 결과, 차량이 수신된 제어 명령을 실행할 때, 너무 늦을 수 있고, 제어 시스템은 또 다른 명령을 발행함으로써 이러한 상황을 보정해야만 할 수 있다. 시스템 지연을 산출하고 알게 됨으로써, 제어 명령과 관련된 시점 및 주행 파라미터가 시스템 지연을 보완하기 위해 시스템 지연을 고려하여 조정 및 계획될 수 있다. 예를 들어, 이 예에서, 제어 명령은 시스템 지연을 고려하여 더 일찍 발행될 수 있다.
도 3을 다시 참조하면, 일 실시예에서, 데이터 처리 시스템(110)은 도 1의 시스템(103)과 같은 데이터 분석 시스템에 의해 오프라인으로 생성될 수 있는 시나리오/지연 매핑 테이블(150)을 더 유지할 수 있다. 전술한 바와 같이, 상이한 주행 상황에서 스티어링, 스로틀 및 브레이크의 시간 지연은 다량의 주행 데이터에 기초하여 측정되고 기록된다. 예를 들어, 다양한 주행 상황에는 100m에서 시속 5 마일(mph)을 가속하는 것, 속력을 유지하고 100 미터를 주행하는 것, 100 미터에서 10mph를 감속시키는 것, 40mph로 100m에서 오른쪽 차로로 합류하는 것, 타맥으로 포장된(tarmacked) 도로 및 시멘트 도로에서 주행하는 것, 30℃ 또는 70℃ 온도 하에서 작동하는 보드 머신에서 고성능 컴퓨터 또는 저성능 컴퓨터에서 실행되는 알고리즘을 제어하는 것 등을 포함할 수 있지만, 이에 한정되지는 않는다. 스로틀 압력, 브레이크 압력, 휠 각도, 기어와 같은 자율 주행 명령이 기록될 수 있다. 현재 속력, 휠 각도 등을 포함한 상태가 기록될 수도 있다.
시나리오/지연 매핑 테이블(150)은 다수의 매핑 엔트리를 포함한다. 각 매핑 엔트리는 특정 주행 시나리오를 시스템 지연으로 매핑한다. 일 실시예에 따른 시나리오/지연 매핑 테이블의 예가 도 5에 도시되어 있다. 주행 시나리오는 특정 속력으로 특정 거리를 주행하는 것, 특정 속력으로 특정 회전 각도로 선회하는 것과 같은 특정 주행 패턴을 지칭한다. 가스 페달 및/또는 브레이크 페달에 적용되는 압력도 기록될 수 있다. 또한, 스티어링 제어 지연, 속력 제어 지연, 연산 지연 및/또는 통신 지연을 포함하여, 각 주행 시나리오 하에서 차량의 각각에 대한 관련 제어 명령을 발행하는 것과 관련된 시스템 지연이 결정되거나 추정된다. 시나리오/지연 매핑 테이블(150)은 유사한 주행 시나리오 또는 환경에서 자율 주행 차량을 계획 및 제어할 때 시스템 지연을 보상하기 위해 실시간 주행에서 차후 활용된다.
일 실시예에서, 다음 루트 또는 루트 세그먼트를 계획할 때, 계획 모듈(301)은 자율 주행 차량에 대한 다음 루트 세그먼트 또는 루트에 대응하는 주행 시나리오를 결정한다. 룩업 동작은 시나리오/지연 매핑 테이블에서 수행되어 결정된 주행 시나리오와 일치하는 매핑 엔트리를 찾아낸다. 그 후, 계획 모듈(301) 및/또는 제어 모듈(302)은 상황에 따른 시스템 지연을 보상하는 타이밍에 따라 제어 명령을 발행하는 것을 포함하여, 그 시점에서의 주행 시나리오에 대응하는 시스템 지연을 고려하여 자율 주행 차량을 제어한다.
이에 따라, 온라인 주행 중에 시스템은 먼저 상황 또는 주행 시나리오를 체크하고, 예를 들어, 시나리오/지연 매핑 테이블에서 검색함으로써 오프라인 데이터 및 실시간 기록에 기초하여 시스템의 시간 지연을 결정한다. 그리고 나서, 시스템은 실시간으로 계산되는 스티어링, 스로틀 및 브레이크 대신에 차후에 스티어링, 스로틀 및 브레이크를 계산하기 위해 시간 지연을 사용한다. 예를 들어, 이제 도 6a 및 도 6b를 참조하면, 현재의 주행 계획은 점선으로 표시된 바와 같이 30m에서 우측 차로로 차로를 변경하는 것으로 가정된다. 지연 보상없이 스티어링 각도(degree) 명령(이 예에서는 5도)이 발행되면, 차량은 0.1 초의 지연으로 응답하고 실제 경로는 도 6a에서 도시된 바와 같이 실선으로 표시된 대로 예상 또는 계획 경로에서 벗어난다. 위에서 전술한 기술을 사용하여 결정된 시스템 지연을 고려함으로써, (예: 시나리오/지연 매핑 테이블로부터의 매칭 주행 시나리오에 기초하여) 실제 조치를 취하기 위한 0.1 초의 시간 지연이 있기 때문에 명령은 0.9 초(정확히 1 초가 아님)로 보내져야 한다. 그 결과, 차량은 도 6b에 도시된 바와 같이 실제 경로 및 계획 경로가 실질적으로 일치하는 것으로 예상대로 응답할 수 있다.
유사하게, 이제 도 7a 및 도 7b를 참조하면, 차량이 선회할 때, 시스템 지연은 차량이 도 7a에 도시된 바와 같이 실선으로 표시된 대로 지연된 방식으로 반응하게 할 수 있다. 어떤 상황에서, 차량이 계획된 경로를 따르지 않는 것을 감지할 때까지 실선에서 보여지는 바와 같이 과도하게 반응할 수 있어 승객이 불편함을 야기할 수 있다. 경로를 계획할 때 시스템 지연을 고려함으로써, 명령은 다른 주행 파라미터(예: 속력, 선회 각도)뿐만 아니라 앞서 및/또는 상이한 선회 각도로 발행될 수 있으므로, 차량이 도 7b에서 도시된 바와 같이 계획된 경로를 밀접하게 따라갈 수 있다.
도 8은 본 발명의 일 실시예에 따른 자율 주행 차량의 시스템 지연을 추정하는 과정을 나타내는 흐름도이다. 프로세스(800)은 소프트웨어, 하드웨어, 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 예를 들어, 프로세스(800)는 도 3의 시스템 지연 결정 모듈(304)에 의해 수행될 수 있다. 대안적으로, 프로세스(800)는 다양한 차량으로부터 수집된 주행 통계에 기초하여 데이터 분석 시스템(103)에 의해 수행될 수 있다. 도 8를 참조하면, 블록(801)에서, 프로세싱 로직은 차량의 스티어링 제어 지연을 측정한다. 스티어링 제어 지연은 스티어링 제어 명령을 발행하는 시간과 차량의 스티어링 센서로부터 수신된 응답 시간 사이의 차이를 나타낸다. 블록(802)에서, 프로세싱 로직은 차량의 속력 제어 지연을 측정한다. 속력 제어 지연은 속력 제어 명령(예: 가속, 감속/제동, 일정 속력 유지)과 차량으로부터의 응답 시간(예: 가속, 감속을 시작하는 시간) 사이의 시간 차이를 나타낸다.
블록(803)에서, 프로세싱 로직은 차량의 연산 지연을 추정한다. 연산 지연은 차량의 제어 시스템이 제어 명령을 생성하고 발행하는데 걸리는 시간을 지칭한다. 블록(804)에서, 프로세싱 로직은 차량의 연산 지연을 추정한다. 통신 지연은 제어 시스템, 통신 버스(예: CAN 버스) 및 차량으로부터의 응답 사이의 지연을 나타낸다. 그리고 나서, 스티어링 제어 지연, 속력 제어 지연, 연산 지연 및/또는 통신 지연은 후속 제어 명령을 조정하고 그러한 명령을 발행하는 시점을 보상하는데 사용될 수 있는 데이터 구조에 저장된다.
도 9은 본 발명의 다른 실시예에 따른 자율 주행 차량의 시스템 지연을 결정하는 과정을 나타내는 흐름도이다. 프로세스(900)은 소프트웨어, 하드웨어, 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 예를 들어, 프로세스(900)는 도 3의 시스템 지연 결정 모듈(304)에 의해 수행될 수 있다. 대안적으로, 프로세스(900)는 다양한 차량으로부터 수집된 주행 통계에 기초하여 데이터 분석 시스템(103)에 의해 수행될 수 있다. 도 9를 참조하면, 블록(901)에서, 프로세싱 로직은 특정 형태의 자율 주행 차량에 대한 다수의 주행 시나리오를 결정한다. 각각의 주행 시나리오에 대해, 블록(902)에서, 처리 로직은 차량이 동일하거나 유사한 주행 시나리오 또는 주행 조건 하에서 주행하는 동안 스티어링 제어 지연을 측정하고 기록한다.
블록(903)에서, 처리 로직은 차량이 동일하거나 유사한 주행 시나리오 또는 주행 조건 하에서 주행하는 동안 스로틀 제어 지연(예컨대, 가속 지연)을 측정하고 기록한다. 블록(904)에서, 처리 로직은 차량이 동일하거나 유사한 주행 시나리오 또는 주행 조건 하에서 주행하는 동안 제동 제어 지연(예컨대, 감속 지연)을 측정하고 기록한다. 블록(905)에서, 스티어링 제어 지연, 스로틀 제어 지연 및 제동 제어 지연은 특정 유형의 자율 주행 차량에 대한 시나리오/지연 매핑 데이터 구조에 저장된다. 위 동작은 동일한 유형 또는 유사한 유형의 다수의 차량에 대해 반복적으로 수행될 수 있다. 그리고 나서, 지연은 다양한 차량의 평균 지연을 기초로 하여 계산될 수 있다.
도 10은 본 발명의 일 실시예에 따른 자율 주행 차량을 동작시키는 프로세스를 나타내는 흐름도이다. 프로세스(1000)는 소프트웨어, 하드웨어, 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 예를 들어, 프로세스(1000)는 도 1의 시스템(110)에 의해 수행될 수 있다. 도 10을 참조하면, 블록(1001)에서, 프로세싱 로직은 자율 주행 차량에 장착된 다양한 센서의 센서 데이터에 기초하여 결정된 주행 환경의 인식에 기초하여 주행 시나리오를 결정한다. 블록(1002)에서, 프로세싱 로직은 시나리오/지연 매핑 테이블에서 룩업 동작을 수행하여 주행 시나리오에 대응하는 매핑 엔트리를 찾아낸다. 시나리오/지연 매핑 테이블은 다수의 매핑 엔트리를 포함한다. 각 매핑 엔트리는 특정 주행 시나리오를 동일하거나 유사한 주행 상황 하에서 다양한 차량을 이용하여 측정된 하나 이상의 지연 세트에 매핑한다. 블록(1003)에서, 프로세싱 로직은 매핑 엔트리로부터 시스템 지연을 검색하고 결정한다. 시스템 지연은 전술한 바와 같은 스티어링 제어 지연, 속력 제어 지연, 연산 지연 및 통신 지연 중 적어도 하나에 기초하여 결정될 수 있다. 블록(1004)에서, 처리 로직은 시스템 지연을 고려하고 계획 및 제어 데이터를 생성함으로써 루트 또는 루트 세그먼트를 계획한다. 블록(1005)에서, 프로세싱 로직은 계획 및 제어 데이터에 기초하여 루트 또는 루트 세그먼트를 따라 자율 주행 차량을 주행시키고 제어한다.
상술되고 도시된 구성 요소의 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 이러한 구성 요소는, 본 출원 전반에 걸쳐 기술된 프로세스 또는 동작들을 실행하기 위해, 프로세서(미도시)에 의해 메모리에 로딩되어 실행될 수 있는, 영구 기억 장치에 설치되어 저장되는 소프트웨어로서 구현될 수 있다. 대안적으로, 이러한 구성 요소는, 집적 회로(예를 들어, 주문형 집적 회로 또는 ASIC), 디지털 신호 처리기(DSP) 또는 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array; FPGA)와 같은 전용 하드웨어에 프로그램되거나 내장된 실행 가능 코드로서 구현될 수 있으며, 이는 애플리케이션으로부터 대응하는 드라이버 및/또는 운영 체제를 통해 액세스될 수 있다. 또한, 이러한 구성 요소는 하나 이상의 특정 명령을 통해 소프트웨어 구성 요소에 의해 액세스 가능한 명령 세트의 일부로서 프로세서 또는 프로세서 코어에서 특정 하드웨어 로직으로서 구현될 수 있다.
도 11은 본 발명의 일 실시예와 함께 사용될 수 있는 데이터 처리 시스템의 일례를 나타내는 블록도이다. 예를 들어, 시스템(1500)은 예컨대 도 1의 데이터 처리 시스템(110) 또는 서버들(103, 104) 중 임의의 것과 같은, 상술한 프로세스들 또는 방법들 중 임의의 것을 수행하는 상술한 데이터 처리 시스템들 중 임의의 것을 나타낼 수 있다. 시스템(1500)은 다수의 상이한 구성 요소들을 포함할 수 있다. 이들 구성 요소는, 집적 회로(IC), 그 부분, 개별 전자 장치 또는 컴퓨터 시스템의 마더 보드 또는 애드-인 카드와 같은 회로 보드에 적용되는 다른 모듈로서 구현될 수 있거나, 컴퓨터 시스템의 샤시 내에 다른 방법으로 통합되는 구성 요소들로서 구현될 수 있다.
또한, 시스템(1500)은 컴퓨터 시스템의 많은 구성 요소들의 상위 레벨 뷰를 도시하기 위한 것이다. 그러나, 추가의 구성 요소가 특정 구현 예에 존재할 수 있고, 또한, 도시된 구성 요소의 상이한 배열이 다른 구현 예에서 나타날 수 있음을 이해해야 한다. 시스템(1500)은 데스크탑, 랩탑, 태블릿, 서버, 이동 전화, 미디어 플레이어, PDA(personal digital assistant), 스마트 워치, 개인용 통신기, 게임 장치, 네트워크 라우터 또는 허브, 무선 액세스 포인트(AP) 또는 중계기(repeater), 셋톱 박스 또는 이들의 조합일 수 있다. 또한, 단지 하나의 기계 또는 시스템이 도시되어 있지만, "기계" 또는 "시스템"이라는 용어는, 본 출원에서 기술하는 방법들의 하나 이상을 실행하기 위해, 개별적으로 또는 공동으로 명령어들의 세트(또는 다수의 세트)를 수행하는 임의의 기계 또는 시스템의 집합을 포함하도록 취급될 것이다.
일 실시예에서, 시스템(1500)은 버스 또는 인터커넥트(1510)을 통해 프로세서(1501), 메모리(1503) 및 디바이스들(1505-1508)을 포함한다. 프로세서(1501)는 단일 프로세서 코어 또는 그 안에 포함된 다중 프로세서 코어를 갖는 단일 프로세서 또는 다중 프로세서를 나타낼 수 있다. 프로세서(1501)는, 마이크로 프로세서, 중앙 처리 장치(CPU) 등과 같은 하나 이상의 범용 프로세서를 나타낼 수 있다. 구체적으로, 프로세서(1501)는 CISC(COMPLEX INSTRUCTION SET COMPUTING) 마이크로프로세서, RISC(REDUCED INSTRUCTION SET COMPUTING) 마이크로프로세서, VLIW(VERY LONG INSTRUCTION WORD) 마이크로프로세서, 또는 다른 명령어 세트를 구현하는 마이크로프로세서, 또는 명령어 세트의 조합을 구현하는 프로세서일 수 있다. 프로세서(1501)는 주문형 집적 회로(ASIC), 셀룰러 또는 베이스 밴드 프로세서, 필드 프로그래머블 게이트 어레이(FPGA), 디지털 신호 처리기(DSP), 네트워크 프로세서, 그래픽 프로세서, 통신 프로세서, 암호화 프로세서, 코-프로세서, 임베디드 프로세서, 또는 명령어를 처리할 수 있는 임의의 다른 유형의 로직 등과 같은 하나 이상의 특수 목적 프로세서일 수도 있다.
초 저전압 프로세서와 같은 저전력 멀티 코어 프로세서 소켓일 수 있는, 프로세서(1501)는, 메인 프로세싱 유닛 및 시스템의 다양한 구성요소와의 통신을 위한 중앙 허브로서 작동할 수 있다. 이러한 프로세서는 시스템 온 칩(SoC)으로서 구현될 수 있다. 프로세서(1501)는, 본 명세서에서 논의된 동작들 및 단계들을 수행하기 위한 명령어들을 실행하도록 구성된다. 시스템(1500)은, 디스플레이 제어기, 그래픽 프로세서 및/또는 디스플레이 장치를 포함할 수 있는, 선택적인 그래픽 서브 시스템(1504)과 통신하는 그래픽 인터페이스를 더 포함할 수 있다.
프로세서(1501)는, 일 실시예에서 주어진 양의 시스템 메모리를 제공하기 위해 다수의 메모리 장치를 통해 구현될 수 있는 메모리(1503)와 통신할 수 있다. 메모리(1503)는, 랜덤 액세스 메모리(RAM), 다이나믹 RAM(DRAM), 동기식 DRAM(SDRAM), 스태틱 RAM(SRAM)와 같은 하나 이상의 휘발성 저장(또는 메모리) 장치 또는 다른 유형의 저장 장치를 포함할 수 있다. 메모리(1503)는, 프로세서(1501) 또는 임의의 다른 장치에 의해 실행되는 명령어들의 시퀀스를 포함하는 정보를 저장할 수 있다. 예를 들어, 다양한 운영 체제, 장치 드라이버, 펌웨어(예를 들어, 입출력 기본 시스템 또는 BIOS), 및/또는 애플리케이션의 실행 가능 코드 및/또는 데이터는 메모리(1503)에 로드되고 프로세서(1501)에 의해 실행될 수 있다. 운영 체제는, 예를 들어, 로봇 운영 체제(ROS), 마이크로소프트® 사의 윈도우즈® 운영 체제, 애플의 맥 OS®/iOS®, 구글®의 안드로이드®, LINUX, UNIX, 또는 다른 실시간 또는 임베디드 운영 체제와 같은 임의의 유형의 운영 체제일 수 있다.
시스템(1500)은, 네트워크 인터페이스 장치(들)(1505), 선택적인 입력 장치(들)(1506) 및 다른 선택적인 I/O 장치(들)(1507)를 포함하는 장치들(1505-1508)과 같은 I/O 장치들을 더 포함할 수 있다. 네트워크 인터페이스 디바이스(1505)는 무선 트랜시버 및/또는 네트워크 인터페이스 카드(NIC)를 포함할 수 있다. 무선 트랜시버는, WiFi 트랜시버, 적외선 트랜시버, 블루투스 트랜시버, WiMax 트랜시버, 무선 셀룰러 전화 트랜시버, 위성 트랜시버(예를 들어, GPS(Global Positioning System) 송수신기) 또는 다른 무선 주파수(RF) 트랜시버일 수 있으며, 또는 이들의 조합일 수 있다. NIC는 이더넷 카드(Ethernet card)일 수 있다.
입력 장치(들)(1506)은, 마우스, 터치 패드, (디스플레이 장치(1504)와 통합될 수 있는) 터치 감지 스크린, 스타일러스와 같은 포인터 장치 및/또는 키보드(예를 들어, 물리적 키보드 또는 터치 감지 스크린의 일부로 표시되는 가상 키보드)를 포함할 수 있다. 예를 들어, 입력 장치(1506)는, 터치 스크린에 결합되는 터치 스크린 제어기를 포함할 수 있다. 터치 스크린 및 터치 스크린 제어기는, 예컨대 다수의 터치 감도 기술 중 임의의 것을 사용하여 접촉(CONTACT) 및 이동(MOVE) 또는 중지(BREAK)를 검출할 수 있다. 터치 감도 기술은 예를 들어, 용량성, 저항성, 적외선 및 표면 탄성파 기술뿐만 아니라, 터치 스크린과의 하나 이상의 접촉점을 결정하기 위한 그 외의 근접 센서 어레이 또는 다른 요소를 포함하며, 이에 제한되지 않는다.
I/O 장치들(1507)은 오디오 장치를 포함할 수 있다. 오디오 장치는 음성 인식, 음성 복제, 디지털 녹음 및/또는 전화 기능과 같은 음성 작동 기능을 용이하게 하기 위해 스피커 및/또는 마이크를 포함할 수 있다. 다른 장치들(1507)은, USB(universal serial bus) 포트(들), 병렬 포트(들), 직렬 포트(들), 프린터, 네트워크 인터페이스, 버스 브리지(예를 들어, PCI-PCI 브리지), 센서(들)(예를 들어, 가속도계, 자이로스코프, 자력계, 광 센서, 나침반, 근접 센서 등과 같은 모션 센서) 또는 이들의 조합을 포함할 수 있다. 디바이스들(1507)은 이미징 프로세싱 서브 시스템(예를 들어, 카메라)를 더 포함할 수 있다. 이미징 프로세싱 서브 시스템은, 사진 및 비디오 클립 녹화와 같은 카메라 기능들을 용이하게 하는데 이용되는, CCD(CHARGE COUPLED DEVICE) 또는 CMOS(COMPLEMENTARY METAL-OXIDE SEMICONDUCTOR) 광학 센서를 포함할 수 있다. 특정 센서는, 센서 허브(미도시)를 통해 인터커넥트(1510)에 연결될 수 있지만, 키보드 또는 열 센서와 같은 다른 장치는 시스템(1500)의 특정 구성 또는 설계에 따라 내장형 제어기(미도시)에 의해 제어될 수 있다.
데이터, 애플리케이션, 하나 이상의 운영 시스템 등과 같은 정보의 영구 저장을 제공하기 위해, 대용량 저장 장치(미도시)가 또한 프로세서(1501)에 연결될 수 있다. 다양한 실시예에서, 시스템 응답성을 향상시킬 뿐만 아니라 더 얇고 가벼운 시스템 설계를 가능하게 하기 위해, 이 대용량 저장 장치는 SSD(solid state device)를 통해 구현될 수 있다. 그러나, 다른 실시예들에서, 대용량 저장 장치는, 시스템 활동의 재시작 시에 빠른 파워 업이 일어날 수 있도록, 파워 다운 이벤트들 동안 컨텍스트 상태(context state) 및 다른 그러한 정보의 비 휘발성 저장을 가능하게 하기 위해 SSD 캐시로서 작용하는, 더 적은 양의 SSD 스토리지와 함께 하드 디스크 드라이브(HDD)를 사용하여 주로 구현될 수 있다. 또한, 플래시 장치는, 예를 들어, 직렬 주변 장치 인터페이스(SPI)를 통해 프로세서(1501)에 결합될 수 있다. 이 플래시 장치는, 시스템의 다른 펌웨어뿐만 아니라 BIOS를 포함하는, 시스템 소프트웨어의 비휘발성 저장 공간을 제공할 수 있다.
저장 장치(1508)는, 본 명세서에 기술된 방법들 또는 기능들의 하나 이상을 내장하는 하나 이상의 명령어 세트 또는 소프트웨어(예를 들어, 모듈, 유닛 및/또는 로직(1528))가 저장되는 컴퓨터 액세스 가능 저장 매체(1509)(기계 판독 가능 저장 매체 또는 컴퓨터 판독 가능 매체로도 알려짐)을 포함할 수 있다. 프로세싱 모듈/유닛/로직(1528)은, 예를 들어, 계획 모듈(301), 제어 모듈(302), 시스템 지연 결정 모듈(304), 데어터 수집기(151) 또는 분석 모듈(152)과 같은, 상술한 구성요소의 임의의 것을 나타낼 수 있다. 처리 모듈/유닛/로직(1528)은 또한 머신 액세스 가능 저장 매체를 또한 구성하는, 데이터 처리 시스템(1500), 메모리(1503) 및 프로세서(1501)에 의한 실행 중에 메모리(1503) 및/또는 프로세서(1501) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다. 프로세싱 모듈/유닛/로직(1528)은 네트워크 인터페이스 장치(1505)를 통해 네트워크를 통해 더 송신되거나 수신될 수 있다.
또한, 컴퓨터 판독 가능 저장 매체(1509)는 전술한 일부 소프트웨어 기능을 지속적으로 저장하는데 사용될 수 있다. 컴퓨터 판독 가능 저장 매체(1509)는 단일 매체로 예시적인 실시예로 도시되지만, "컴퓨터 판독 가능 저장 매체"라는 용어는 하나 이상의 명령어 세트들을 저장하는 단일 매체 또는 다중 매체(예를 들어, 중앙 집중식 또는 분산형 데이터베이스 및/또는 연관된 캐시들 및 서버들)를 포함하도록 취급되어야 한다. "컴퓨터 판독 가능 저장 매체"라는 용어는, 또한 기계에 의한 실행을 위한 명령 세트를 저장 또는 인코딩할 수 있고, 본 발명의 방법들 중 하나 이상을 기계가 수행하게 하는 임의의 매체를 포함하도록 취급될 것이다. 따라서, "컴퓨터 판독 가능 저장 매체"라는 용어는, 솔리드 스테이트 메모리, 광학 및 자기 매체, 또는 임의의 다른 비 일시적 기계 판독 가능 매체를 포함하도록 취급될 것이지만, 이에 한정되는 것은 아니다.
프로세싱 모듈/유닛/로직(1528), 본 명세서에서 설명된 구성 요소들 및 다른 특징들은, 개별 하드웨어 구성 요소들로서 구현되거나, ASIC, FPGA, DSP 또는 유사한 장치와 같은 하드웨어 구성 요소들의 기능성에 통합될 수 있다. 또한, 처리 모듈/유닛/로직(1528)은 하드웨어 장치 내의 펌웨어 또는 기능 회로로 구현될 수 있다. 또한, 처리 모듈/유닛/로직(1528)은 임의의 조합 하드웨어 장치 및 소프트웨어 구성 요소로 구현될 수 있다.
시스템(1500)은, 데이터 처리 시스템의 다양한 구성 요소로 도시되어 있지만, 구성 요소를 상호 접속시키는 임의의 특정 아키텍처 또는 방식을 나타내기 위한 것이 아니다. 이러한 세부 사항들은 본 발명의 실시예들과 관련되지 않다. 네트워크 컴퓨터들, 핸드 헬드 컴퓨터들, 이동 전화들, 서버들 및/또는 더 적은 구성 요소 또는 더 많은 구성 요소를 갖는 다른 데이터 처리 시스템들이 또한 본 발명의 실시예들과 함께 사용될 수 있다.
전술한 상세한 설명의 일부는, 컴퓨터 메모리 내의 데이터 비트에 대한 연산의 알고리즘 및 기호 표현과 관련하여 제시되었다. 이러한 알고리즘 설명 및 표현은, 데이터 처리 기술 분야의 당업자가 자신의 연구 내용을 다른 당업자에게 가장 효과적으로 전달하는데 사용되는 방법이다. 여기에서의 알고리즘은 일반적으로 원하는 결과를 이끌어내는 일관된 동작 순서로 인식된다. 이 동작들은 물리량의 물리적인 조작을 요구하는 것들이다.
그러나 이러한 모든 용어 및 그와 유사한 용어는 적절한 물리량과 관련되어 있으며 이러한 양에 적용되는 편리한 레이블이다. 상기 논의로부터 명백한 바와 같이 특별히 언급하지 않는 한, 명세서 전반에 걸쳐, 이하의 특허청구범위에 기재된 것과 같은 용어를 이용한 설명은 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 동작 및 프로세스를 참고하며, 동작 및 프로세스는 컴퓨터 시스템의 레지스터 및 메모리 내의 물리(전자) 양으로 표현된 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 기타 정보 저장 장치, 전송 또는 디스플레이 장치 내에서 물리량으로 유사하게 표현되는 다른 데이터로 조작 및 변형한다.
본 발명의 실시예는 또한 본 명세서의 동작을 수행하기 위한 장치에 관한 것이다. 이러한 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체에 저장된다. 기계 판독 가능 매체는, 기계(예를 들어, 컴퓨터) 판독 가능 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 기계 판독 가능(예를 들어, 컴퓨터 판독 가능) 매체는 기계(예를 들어, 컴퓨터) 판독 가능 저장 매체(예를 들어, 읽기 전용 메모리(ROM)), 랜덤 액세스 메모리(RAM), 자기 저장 매체, 광학 저장 매체, 플래시 메모리 장치)를 포함한다.
상기 도면들에 도시된 프로세스들 또는 방법들은, 하드웨어(예를 들어, 회로, 전용 로직 등), 소프트웨어(예를 들어, 비일시적인 컴퓨터 판독 가능 매체 상에 구현되는), 또는 이들의 조합을 포함하는 프로세싱 로직에 의해 수행될 수 있다. 프로세스들 또는 방법들이 몇몇 순차적인 동작들과 관련해서 위에서 설명되었지만, 기술된 동작들 중 일부는 다른 순서로 수행될 수 있다. 더욱이, 몇몇 동작들은 순차적이 아니라 병렬로 수행될 수 있다.
본 발명의 실시예는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 본 명세서에 설명된 본 발명의 실시예들의 교시를 구현하기 위해 다양한 프로그래밍 언어가 사용될 수 있다는 것을 이해할 것이다.
전술한 명세서에서, 본 발명의 실시예는 특정 실시예를 참조하여 설명되었다. 후술할 특허청구범위에 기재된 본 발명의 더 넓은 사상 및 범위를 벗어나지 않으면서도 다양한 변형이 가능하다는 것은 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 예시적인 의미로 간주되어야 한다.
Claims (24)
- 자율 주행 차량을 운행시키기 위한 컴퓨터로 구현된 방법에 있어서,
스티어링 제어 명령을 발행하는 시간과 자율 주행 차량의 하나 이상의 차륜으로부터의 제1 응답 시간 사이의 스티어링 제어 지연을 측정하는 단계;
속력 제어 명령을 발행하는 시간과 상기 자율 주행 차량의 하나 이상의 차륜으로부터의 제2 응답 시간 사이의 속력 제어 지연을 측정하는 단계;
주어진 루트(route)에 응답하여, 미리 결정된 알고리즘을 이용하여 상기 스티어링 제어 지연과 상기 속력 제어 지연에 기초하여 전체 시스템 지연을 추정하는 단계;
상기 주어진 루트에 대응하는 주행 시나리오를 결정하고, 시나리오/지연 매핑 테이블을 생성하여 상이한 주행 시나리오에 대응되는 시스템 지연을 저장하는 단계; 및
상기 주어진 루트에 따라 상기 자율 주행 차량을 운행시키기 위한 상기 시나리오/지연 매핑 테이블을 고려하여 계획 및 제어 데이터를 생성하는 단계를 포함하고,
상기 시나리오/지연 매핑 테이블은 다수의 매핑 엔트리를 포함하고, 각 매핑 엔트리는 특정 주행 시나리오를 시스템 지연으로 매핑하는
방법.
- 제1항에 있어서,
상기 스티어링 제어 지연은 상기 스티어링 제어 명령을 발행하는 것과 상기 스티어링 제어 명령에 의해 특정된 각도로 상기 하나 이상의 차륜을 위치시키는 것 사이의 시간에 기초하여 측정되는
방법.
- 제1항에 있어서,
상기 속력 제어 지연은 가속 명령을 발행하는 시간과 상기 자율 주행 차량이 가속하기 시작하는 시간 사이의 차이를 나타내는 가속 지연을 포함하는
방법.
- 제1항에 있어서,
상기 속력 제어 지연은 제동 명령을 발행하는 시간과 상기 자율 주행 차량이 감속하기 시작하는 시간 사이의 차이를 나타내는 감속 지연을 포함하는
방법.
- 제1항에 있어서,
상기 미리 결정된 알고리즘은 가중(weighted) 알고리즘이고, 상기 스티어링 제어 지연 및 상기 속력 제어 지연 각각은 특정 주행 시나리오에 대한 특정 가중 계수로 할당되는
방법.
- 제5항에 있어서,
상기 자율 주행 차량이 선회할 때, 상기 스티어링 제어 지연에 대한 가중(weight) 계수는 더 높게 조정되는
방법.
- 제5항에 있어서,
상기 자율 주행 차량의 현재 속력과 목표 속력의 차이가 커지게 되면, 상기 속력 제어 지연을 위한 가중 계수는 더 높게 조정되는
방법.
- 제1항에 있어서,
상기 자율 주행 차량의 제어 시스템이 제어 명령을 생성하여 발행하는 데 걸리는 시간을 나타내는 연산 지연을 결정하는 단계; 및
상기 자율 주행 차량의 통신 버스를 통해 제어 명령을 전송하는 시간 지연을 나타내는 통신 지연을 결정하는 단계 - 상기 시스템 지연은 상기 연산 지연 및 상기 통신 지연에 추가로 기초하여 추정됨 - 를 더 포함하는
방법.
- 명령어들을 저장하는 비일시적 기계 판독 가능 매체로서, 상기 명령어들은 프로세서에 의해 실행될 때 상기 프로세서로 하여금 자율 주행 차량의 시스템 지연을 결정하는 동작들을 수행하게 하고, 상기 동작들은,
스티어링 제어 명령을 발행하는 시간과 자율 주행 차량의 하나 이상의 차륜으로부터의 제1 응답 시간 사이의 스티어링 제어 지연을 측정하는 것;
속력 제어 명령을 발행하는 시간과 상기 자율 주행 차량의 하나 이상의 차륜으로부터의 제2 응답 시간 사이의 속력 제어 지연을 측정하는 것;
주어진 루트(route)에 응답하여, 미리 결정된 알고리즘을 이용하여 상기 스티어링 제어 지연과 상기 속력 제어 지연에 기초하여 전체 시스템 지연을 추정하는 것;
상기 주어진 루트에 대응하는 주행 시나리오를 결정하고, 시나리오/지연 매핑 테이블을 생성하여 상이한 주행 시나리오에 대응되는 시스템 지연을 저장하는 것; 및
상기 주어진 루트에 따라 상기 자율 주행 차량을 운행시키기 위한 상기 시나리오/지연 매핑 테이블을 고려하여 계획 및 제어 데이터를 생성하는 것을 포함하고,
상기 시나리오/지연 매핑 테이블은 다수의 매핑 엔트리를 포함하고, 각 매핑 엔트리는 특정 주행 시나리오를 시스템 지연으로 매핑하는
기계 판독 가능 매체.
- 제9항에 있어서,
상기 스티어링 제어 지연은 상기 스티어링 제어 명령을 발행하는 것과 상기 스티어링 제어 명령에 의해 특정된 각도로 상기 하나 이상의 차륜을 위치시키는 것 사이의 시간에 기초하여 측정되는
기계 판독 가능 매체.
- 제9항에 있어서,
상기 속력 제어 지연은 가속 명령을 발행하는 시간과 상기 자율 주행 차량이 가속하기 시작하는 시간 사이의 차이를 나타내는 가속 지연을 포함하는
기계 판독 가능 매체.
- 제9항에 있어서,
상기 속력 제어 지연은 제동 명령을 발행하는 시간과 상기 자율 주행 차량이 감속하기 시작하는 시간 사이의 차이를 나타내는 감속 지연을 포함하는
기계 판독 가능 매체.
- 제9항에 있어서,
상기 미리 결정된 알고리즘은 가중(weighted) 알고리즘이고, 상기 스티어링 제어 지연 및 상기 속력 제어 지연 각각은 특정 주행 시나리오에 대한 특정 가중 계수로 할당되는
기계 판독 가능 매체.
- 제13항에 있어서,
상기 자율 주행 차량이 선회할 때, 상기 스티어링 제어 지연에 대한 가중(weight) 계수는 더 높게 조정되는
기계 판독 가능 매체.
- 제13항에 있어서,
상기 자율 주행 차량의 현재 속력과 목표 속력의 차이가 커지게 되면, 상기 속력 제어 지연을 위한 가중 계수는 더 높게 조정되는
기계 판독 가능 매체.
- 제9항에 있어서,
상기 동작들은:
상기 자율 주행 차량의 제어 시스템이 제어 명령을 생성하여 발행하는 데 걸리는 시간을 나타내는 연산 지연을 결정하는 것; 및
상기 자율 주행 차량의 통신 버스를 통해 제어 명령을 전송하는 시간 지연을 나타내는 통신 지연을 결정하는 것 - 상기 시스템 지연은 상기 연산 지연 및 상기 통신 지연에 추가로 기초하여 추정됨 - 을 더 포함하는
기계 판독 가능 매체.
- 데이터 처리 시스템에 있어서,
프로세서; 및
상기 프로세서에 결합되어 명령어들을 저장하는 메모리를 포함하고,
상기 명령어들은 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금 자율 주행 차량의 시스템 지연을 결정하는 동작들을 수행하게 하며, 상기 동작들은,
스티어링 제어 명령을 발행하는 시간과 자율 주행 차량의 하나 이상의 차륜으로부터의 제1 응답 시간 사이의 스티어링 제어 지연을 측정하는 것,
속력 제어 명령을 발행하는 시간과 상기 자율 주행 차량의 하나 이상의 차륜으로부터의 제2 응답 시간 사이의 속력 제어 지연을 측정하는 것,
주어진 루트(route)에 응답하여, 미리 결정된 알고리즘을 이용하여 상기 스티어링 제어 지연과 상기 속력 제어 지연에 기초하여 전체 시스템 지연을 추정하는 것,
상기 주어진 루트에 대응하는 주행 시나리오를 결정하고, 시나리오/지연 매핑 테이블을 생성하여 상이한 주행 시나리오에 대응되는 시스템 지연을 저장하는 것, 및
상기 주어진 루트에 따라 상기 자율 주행 차량을 운행시키기 위한 상기 시나리오/지연 매핑 테이블을 고려하여 계획 및 제어 데이터를 생성하는 것을 포함하고,
상기 시나리오/지연 매핑 테이블은 다수의 매핑 엔트리를 포함하고, 각 매핑 엔트리는 특정 주행 시나리오를 시스템 지연으로 매핑하는
데이터 처리 시스템.
- 제17항에 있어서,
상기 스티어링 제어 지연은 상기 스티어링 제어 명령을 발행하는 것과 상기 스티어링 제어 명령에 의해 특정된 각도로 상기 하나 이상의 차륜을 위치시키는 것 사이의 시간에 기초하여 측정되는
데이터 처리 시스템.
- 제17항에 있어서,
상기 속력 제어 지연은 가속 명령을 발행하는 시간과 상기 자율 주행 차량이 가속하기 시작하는 시간 사이의 차이를 나타내는 가속 지연을 포함하는
데이터 처리 시스템.
- 제17항에 있어서,
상기 속력 제어 지연은 제동 명령을 발행하는 시간과 상기 자율 주행 차량이 감속하기 시작하는 시간 사이의 차이를 나타내는 감속 지연을 포함하는
데이터 처리 시스템.
- 제17항에 있어서,
상기 미리 결정된 알고리즘은 가중(weighted) 알고리즘이고, 상기 스티어링 제어 지연 및 상기 속력 제어 지연의 각각은 특정 주행 시나리오에 대한 특정 가중 계수로 할당되는
데이터 처리 시스템.
- 제21항에 있어서,
상기 자율 주행 차량이 선회할 때, 상기 스티어링 제어 지연에 대한 가중(weight) 계수는 더 높게 조정되는
데이터 처리 시스템.
- 제21항에 있어서,
상기 자율 주행 차량의 현재 속력과 목표 속력의 차이가 커지게 되면, 상기 속력 제어 지연을 위한 가중 계수는 더 높게 조정되는
데이터 처리 시스템.
- 제17항에 있어서,
상기 동작들은:
상기 자율 주행 차량의 제어 시스템이 제어 명령을 생성하여 발행하는 데 걸리는 시간을 나타내는 연산 지연을 결정하는 것; 및
상기 자율 주행 차량의 통신 버스를 통해 제어 명령을 전송하는 시간 지연을 나타내는 통신 지연을 결정하는 것 - 상기 시스템 지연은 상기 연산 지연 및 상기 통신 지연에 추가로 기초하여 추정됨 - 을 더 포함하는
데이터 처리 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/278,439 | 2016-09-28 | ||
US15/278,439 US10227075B2 (en) | 2016-09-28 | 2016-09-28 | System delay estimation method for autonomous vehicle control |
PCT/US2017/013959 WO2018063430A1 (en) | 2016-09-28 | 2017-01-18 | A system delay estimation method for autonomous vehicle control |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180052673A KR20180052673A (ko) | 2018-05-18 |
KR102033265B1 true KR102033265B1 (ko) | 2019-10-16 |
Family
ID=61688248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187009783A KR102033265B1 (ko) | 2016-09-28 | 2017-01-18 | 자율 주행 차량 제어를 위한 시스템 지연 추정 방법 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10227075B2 (ko) |
EP (1) | EP3341265B1 (ko) |
JP (1) | JP6630822B2 (ko) |
KR (1) | KR102033265B1 (ko) |
CN (1) | CN108137083B (ko) |
WO (1) | WO2018063430A1 (ko) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10227075B2 (en) * | 2016-09-28 | 2019-03-12 | Baidu Usa Llc | System delay estimation method for autonomous vehicle control |
US11124202B1 (en) * | 2017-09-27 | 2021-09-21 | Waymo Llc | Adjusting timing of actuation commands to account for fixed and variable delays in autonomous driving control of vehicles |
IL259292B2 (en) * | 2018-05-10 | 2023-05-01 | Israel Aerospace Ind Ltd | A method for controlling an autonomous vehicle with internal delays |
JP7194755B2 (ja) | 2018-05-31 | 2022-12-22 | ニッサン ノース アメリカ,インク | 軌道計画 |
JP7140849B2 (ja) | 2018-05-31 | 2022-09-21 | ニッサン ノース アメリカ,インク | 確率的オブジェクト追跡及び予測フレームワーク |
WO2020010489A1 (en) * | 2018-07-09 | 2020-01-16 | Baidu.Com Times Technology (Beijing) Co., Ltd. | A speed control command auto-calibration system for autonomous vehicles |
US10875540B2 (en) | 2018-07-19 | 2020-12-29 | Beijing Voyager Technology Co., Ltd. | Ballistic estimation of vehicle data |
CN109167703B (zh) * | 2018-08-29 | 2021-06-01 | 百度在线网络技术(北京)有限公司 | 无人车数据监控方法、装置、设备及存储介质 |
CN109189567B (zh) * | 2018-08-30 | 2021-10-08 | 百度在线网络技术(北京)有限公司 | 时延计算方法、装置、设备及计算机可读存储介质 |
US10800412B2 (en) * | 2018-10-12 | 2020-10-13 | GM Global Technology Operations LLC | System and method for autonomous control of a path of a vehicle |
US11553363B1 (en) | 2018-11-20 | 2023-01-10 | State Farm Mutual Automobile Insurance Company | Systems and methods for assessing vehicle data transmission capabilities |
CN111413958B (zh) * | 2018-12-18 | 2021-09-24 | 北京航迹科技有限公司 | 用于确定自动驾驶中的驾驶路径的系统和方法 |
CN109634120B (zh) * | 2018-12-26 | 2022-06-03 | 东软集团(北京)有限公司 | 一种车辆控制方法及装置 |
CN109815555B (zh) * | 2018-12-29 | 2023-04-18 | 百度在线网络技术(北京)有限公司 | 自动驾驶车辆的环境建模能力评估方法及系统 |
US20200225363A1 (en) * | 2019-01-16 | 2020-07-16 | GM Global Technology Operations LLC | Maintaining vehicle position accuracy |
CN113348120A (zh) * | 2019-01-21 | 2021-09-03 | 日立安斯泰莫株式会社 | 车辆控制装置、车辆控制方法以及车辆控制系统 |
JP7310397B2 (ja) * | 2019-07-19 | 2023-07-19 | 株式会社デンソー | 自動運転運行計画装置、自動運転運行計画方法、及び自動運転運行計画プログラム |
EP3772226B1 (en) * | 2019-07-30 | 2023-01-25 | Volkswagen AG | Methods, computer programs, and apparatuses for a command center and a vehicle |
US11383705B2 (en) * | 2019-08-29 | 2022-07-12 | Ford Global Technologies, Llc | Enhanced collision avoidance |
CN113366440A (zh) | 2019-12-20 | 2021-09-07 | 百度时代网络技术(北京)有限公司 | 具有致动延时的动态模型 |
US11167770B2 (en) * | 2020-02-13 | 2021-11-09 | Baidu Usa Llc | Autonomous vehicle actuation dynamics and latency identification |
US11440567B2 (en) * | 2020-03-06 | 2022-09-13 | Baidu Usa Llc | System to handle communication delays between an autonomous driving system and vehicle |
KR20210120384A (ko) * | 2020-03-26 | 2021-10-07 | 현대모비스 주식회사 | 충돌 거리 추정 장치 및 이를 이용한 주행 보조 시스템 |
JP7355696B2 (ja) * | 2020-04-02 | 2023-10-03 | トヨタ自動車株式会社 | 運行管理装置、運行管理方法、および、交通システム |
US11453409B2 (en) * | 2020-04-21 | 2022-09-27 | Baidu Usa Llc | Extended model reference adaptive control algorithm for the vehicle actuation time-latency |
CN112319610B (zh) * | 2020-10-14 | 2021-11-19 | 华南理工大学 | 一种智能汽车的人机共享转向控制方法 |
CN115348557A (zh) * | 2021-05-14 | 2022-11-15 | 中国移动通信集团设计院有限公司 | 时延测试方法、时延发送方法、时延接收方法及相关装置 |
CN113591015B (zh) * | 2021-07-30 | 2024-07-23 | 北京小狗吸尘器集团股份有限公司 | 时间延迟的计算方法、装置、存储介质及电子设备 |
US20230152796A1 (en) * | 2021-11-15 | 2023-05-18 | Motional Ad Llc | Vehicle control time delay compensation |
US20230347894A1 (en) * | 2022-04-28 | 2023-11-02 | Toyota Research Institute, Inc. | Systems and methods for determining vehicle control based on estimated realization delay |
CN116660650A (zh) * | 2023-05-17 | 2023-08-29 | 襄阳达安汽车检测中心有限公司 | 低速驾驶辅助系统检测延迟测试方法、装置、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010089698A (ja) * | 2008-10-09 | 2010-04-22 | Mitsubishi Heavy Ind Ltd | 自動運転システム及び自動運転方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2819102C2 (de) * | 1978-04-29 | 1987-05-07 | Wabco Westinghouse Fahrzeugbremsen GmbH, 3000 Hannover | Schaltungsanordnung zur Beeinflussung der Bremsdruckentlüftungs- und/oder Bremsdruckhaltephasen für blockiergeschützte Fahrzeugbremsanlagen |
JP2834808B2 (ja) * | 1989-12-08 | 1998-12-14 | 三菱電機株式会社 | 自動車用制御装置 |
US5838562A (en) * | 1990-02-05 | 1998-11-17 | Caterpillar Inc. | System and a method for enabling a vehicle to track a preset path |
US5414625A (en) * | 1991-04-01 | 1995-05-09 | Nissan Motor Co., Ltd. | System and method for providing steering control for autonomous vehicle |
JP3521249B2 (ja) * | 1995-11-24 | 2004-04-19 | 光洋精工株式会社 | 自動車の舵取り装置 |
JP3985712B2 (ja) * | 2003-03-31 | 2007-10-03 | 三菱自動車工業株式会社 | ハイブリッド自動車の制御装置 |
US7174153B2 (en) * | 2003-12-23 | 2007-02-06 | Gregory A Ehlers | System and method for providing information to an operator of an emergency response vehicle |
US20070138347A1 (en) * | 2004-12-16 | 2007-06-21 | Ehlers Gregory A | System and method for providing information to an operator of a vehicle |
JP4424387B2 (ja) * | 2007-08-09 | 2010-03-03 | トヨタ自動車株式会社 | 走行制御装置 |
US8676466B2 (en) * | 2009-04-06 | 2014-03-18 | GM Global Technology Operations LLC | Fail-safe speed profiles for cooperative autonomous vehicles |
PT104868A (pt) * | 2009-12-10 | 2011-06-14 | Univ Aveiro | Método e aparelho para captura determinística de um canal de comunicação partilhado entre tecnologias baseadas em contenção |
DE112010005405B4 (de) * | 2010-03-19 | 2013-11-14 | Mitsubishi Electric Corporation | Informationsbereitstellungsvorrichtung |
US8935071B2 (en) * | 2011-05-05 | 2015-01-13 | GM Global Technology Operations LLC | Optimal fusion of electric park brake and hydraulic brake sub-system functions to control vehicle direction |
US10737665B2 (en) * | 2012-08-28 | 2020-08-11 | Ford Global Technologies, Llc | Vehicle braking based on external object communications |
US9342074B2 (en) | 2013-04-05 | 2016-05-17 | Google Inc. | Systems and methods for transitioning control of an autonomous vehicle to a driver |
US20140309836A1 (en) * | 2013-04-16 | 2014-10-16 | Neya Systems, Llc | Position Estimation and Vehicle Control in Autonomous Multi-Vehicle Convoys |
US9150246B2 (en) * | 2013-12-06 | 2015-10-06 | GM Global Technology Operations LLC | Algorithm for steering angle command to torque command conversion |
JP2015114744A (ja) * | 2013-12-10 | 2015-06-22 | 日産自動車株式会社 | 運転支援装置 |
US9233692B2 (en) * | 2014-03-10 | 2016-01-12 | GM Global Technology Operations LLC | Method to control a vehicle path during autonomous braking |
CN105082910B (zh) * | 2014-05-07 | 2018-01-26 | 通用汽车环球科技运作有限责任公司 | 辅助将运载工具联接至拖车的系统和方法 |
JP6375754B2 (ja) * | 2014-07-25 | 2018-08-22 | アイシン・エィ・ダブリュ株式会社 | 自動運転支援システム、自動運転支援方法及びコンピュータプログラム |
JP6397934B2 (ja) * | 2014-12-19 | 2018-09-26 | 株式会社日立製作所 | 走行制御装置 |
JP6610448B2 (ja) * | 2016-06-23 | 2019-11-27 | 株式会社アドヴィックス | 走行制御装置 |
JP6852299B2 (ja) * | 2016-08-09 | 2021-03-31 | 株式会社デンソー | 運転支援システム |
US10227075B2 (en) * | 2016-09-28 | 2019-03-12 | Baidu Usa Llc | System delay estimation method for autonomous vehicle control |
US10435015B2 (en) * | 2016-09-28 | 2019-10-08 | Baidu Usa Llc | System delay corrected control method for autonomous vehicles |
KR101866068B1 (ko) * | 2016-10-14 | 2018-07-04 | 현대자동차주식회사 | 자율주행차량의 주행 제어 장치 및 방법 |
US10773721B2 (en) * | 2016-10-21 | 2020-09-15 | Ford Global Technologies, Llc | Control method using trailer yaw rate measurements for trailer backup assist |
-
2016
- 2016-09-28 US US15/278,439 patent/US10227075B2/en active Active
-
2017
- 2017-01-18 EP EP17847782.4A patent/EP3341265B1/en active Active
- 2017-01-18 CN CN201780003075.7A patent/CN108137083B/zh active Active
- 2017-01-18 JP JP2018517309A patent/JP6630822B2/ja active Active
- 2017-01-18 WO PCT/US2017/013959 patent/WO2018063430A1/en active Application Filing
- 2017-01-18 KR KR1020187009783A patent/KR102033265B1/ko active IP Right Grant
-
2019
- 2019-01-24 US US16/257,029 patent/US10683012B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010089698A (ja) * | 2008-10-09 | 2010-04-22 | Mitsubishi Heavy Ind Ltd | 自動運転システム及び自動運転方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6630822B2 (ja) | 2020-01-15 |
KR20180052673A (ko) | 2018-05-18 |
EP3341265A1 (en) | 2018-07-04 |
US10227075B2 (en) | 2019-03-12 |
CN108137083A (zh) | 2018-06-08 |
US20180086351A1 (en) | 2018-03-29 |
WO2018063430A1 (en) | 2018-04-05 |
EP3341265A4 (en) | 2018-10-03 |
EP3341265B1 (en) | 2020-03-11 |
US10683012B2 (en) | 2020-06-16 |
US20190168769A1 (en) | 2019-06-06 |
CN108137083B (zh) | 2021-04-27 |
JP2019503294A (ja) | 2019-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102033265B1 (ko) | 자율 주행 차량 제어를 위한 시스템 지연 추정 방법 | |
KR102126621B1 (ko) | 자율 주행 차량을 위한 시스템 지연 보정 제어 방법 | |
KR101975728B1 (ko) | 자율 주행 차량을 위한 사이드슬립 보상 제어 방법 | |
KR102048646B1 (ko) | 자율 주행 차량 이동을 시뮬레이트하기 위한 물리 모델 및 머신 러닝과 결합된 방법 | |
KR102042123B1 (ko) | 자율 주행 차량을 위한 속력 제어 파라미터 추정 방법 | |
US10289110B2 (en) | Method to dynamically adjusting steering rates of autonomous vehicles | |
EP3335006B1 (en) | Controlling error corrected planning methods for operating autonomous vehicles | |
KR101975725B1 (ko) | 학습 기반 모델 예측 제어를 이용한 자율 주행 차량의 노면 마찰 결정 방법 및 시스템 | |
KR102139426B1 (ko) | 자율 주행 차량을 위한 차량 위치점 전달 방법 | |
KR20190094095A (ko) | 자율 주행 차량의 제어 피드백에 기초한 맵 업데이트 방법 및 시스템 | |
KR20200143242A (ko) | 비전 기반 인식 시스템에 의한 대립적 샘플들 검출 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |