KR20210119865A - 피드백을 이용한 자율 주행 차량의 점진식 측면 제어 시스템 - Google Patents

피드백을 이용한 자율 주행 차량의 점진식 측면 제어 시스템 Download PDF

Info

Publication number
KR20210119865A
KR20210119865A KR1020200131877A KR20200131877A KR20210119865A KR 20210119865 A KR20210119865 A KR 20210119865A KR 1020200131877 A KR1020200131877 A KR 1020200131877A KR 20200131877 A KR20200131877 A KR 20200131877A KR 20210119865 A KR20210119865 A KR 20210119865A
Authority
KR
South Korea
Prior art keywords
steering
adv
planned
command
smoothing
Prior art date
Application number
KR1020200131877A
Other languages
English (en)
Other versions
KR102444991B1 (ko
Inventor
판 주
Original Assignee
바이두 유에스에이 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 바이두 유에스에이 엘엘씨 filed Critical 바이두 유에스에이 엘엘씨
Publication of KR20210119865A publication Critical patent/KR20210119865A/ko
Application granted granted Critical
Publication of KR102444991B1 publication Critical patent/KR102444991B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D15/00Steering not otherwise provided for
    • B62D15/02Steering position indicators ; Steering position determination; Steering aids
    • B62D15/025Active steering aids, e.g. helping the driver by actively influencing the steering system after environment evaluation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • B60W10/06Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes 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/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details 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/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W50/16Tactile feedback to the driver, e.g. vibration or force feedback to the driver on the steering wheel or the accelerator pedal
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0025Planning or execution of driving tasks specially adapted for specific operations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details 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/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details 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/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0008Feedback, closed loop systems or details of feedback error signal
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/06Combustion engines, Gas turbines
    • B60W2710/0605Throttle position
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/18Braking system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/20Steering systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D1/00Steering controls, i.e. means for initiating a change of direction of the vehicle
    • B62D1/24Steering controls, i.e. means for initiating a change of direction of the vehicle not vehicle-mounted
    • B62D1/28Steering controls, i.e. means for initiating a change of direction of the vehicle not vehicle-mounted non-mechanical, e.g. following a line or other known markers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D6/00Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits
    • B62D6/007Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits adjustable by the driver, e.g. sport mode
    • G05D2201/0213
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Human Computer Interaction (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Traffic Control Systems (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

실시예에서는 자율 주행 차량(ADV)을 위한 스무딩 스티어링 명령어를 생성하는 시스템 및 방법을 제공한다. 일 실시예에 따라, 시스템은 ADV의 주행 궤적에 기반하여 계획 스티어링 명령어를 결정한다. 시스템은 ADV의 센서로부터 현재 계획 주기에 대한 현재 스티어링 피드백을 수신한다. 시스템은 하나 또는 복수의 계획 주기에서의 계획 스티어링 명령어와 현재 스티어링 피드스백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성한다. 시스템은 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여 계획 주기 동안 ADV에 적용되는 스티어링 변화를 ADV의 기설정 스티어링 변화 임계값 내에 처하도록 ADV를 제어한다. 이를 통해, 시스템은 ADV의 스티어링에 대해 점진식 변화를 적용한다.

Description

피드백을 이용한 자율 주행 차량의 점진식 측면 제어 시스템{AN INCREMENTAL LATERAL CONTROL SYSTEM USING FEEDBACKS FOR AUTONOMOUS DRIVING VEHICLES}
본원의 실시예는 전체적으로 자율 주행 차량 동작에 관한 것이다. 보다 상세하게, 본원의 실시예는 피드백을 이용한 자율 주행 차량(ADV)의 점진식 측면 제어 시스템에 관한 것이다.
자율 주행 모드로 운행되는 차량(예컨대, 무인 운전)은 탑승자, 특히 운전자를 운전과 관련된 일부 역할로부터 해방시킬 수 있다. 자율 주행 모드로 운행 시, 차량은 차량용 센서를 이용하여 다양한 지점을 향해 내비게이션할 수 있으므로, 최소한의 인간-기계 상호 작용이 가능한 경우 또는 어떠한 탑승자도 없는 일부 경우에서도 운행이 가능하다.
차량의 스티어링 변화율은 차량이 얼마나 빨리 측면으로 방향 전환할 수 있는지를 제어한다. 스티어링 변화율이 크면 오버슛(overshoot)을 유발하여 조향 중 차량의 흔들림이 발생할 수 있다. 일부 차량은 스티어링 변화율 제어를 지원하고, 일부 차량은 스티어링 변화율 제어를 지원하지 않는다. 이로 인해 상이한 차량 간의 측면 제어 동작이 일치하지 않는 문제가 존재한다.
일 양태에 있어서, 본원은 자율 주행 차량(ADV)을 작동하기 위한 컴퓨터 구현 방법을 제공하고, 상기 방법은, ADV의 주행 궤적에 기반하여 계획 스티어링 명령어를 결정하는 단계; 상기 ADV의 센서로부터 현재 계획 주기에 대한 현재 스티어링 피드백을 수신하는 단계; 하나 또는 복수의 계획 주기에서의 상기 계획 스티어링 명령어 및 상기 현재 스티어링 피드백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성하는 단계; 및 상기 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여, 스무딩 스티어링을 유도하기 위해 임의의 계획 주기 동안 상기 ADV에 적용되는 스티어링 변화가 상기 ADV의 기설정 스티어링 변화 임계값 내에 처하도록 상기 ADV를 제어하는 단계;를 포함한다.
다른 일 양태에 있어서, 본원은 명령어가 저장된 비 일시적 기계 판독 가능한 저장 매체를 제공하고, 상기 명령어가 하나 또는 복수의 프로세서에 의해 실행될 경우 상기 하나 또는 복수의 프로세서가 상기 일 양태에 따른 컴퓨터 구현 방법을 수행하도록 한다.
또 다른 일 양태에 있어서, 본원은 데이터 처리 시스템을 제공하고, 상기 데이터 처리 시스템은 하나 또는 복수의 프로세서 및 명령어를 저장하며 상기 하나 또는 복수의 프로세서에 연결된 저장 장치를 포함하고, 상기 명령어가 상기 하나 또는 복수의 프로세서에 의해 실행될 경우, 상기 하나 또는 복수의 프로세서가 상기 일 양태에 따른 컴퓨터 구현 방법을 수행하도록 한다.
본원의 실시예는 첨부된 도면들 각각에서 제한적인 방식이 아닌 예시로써 제시되어 있으며, 도면 내의 동일한 참조 부호는 유사한 요소를 나타낸다.
도 1은 일 실시예에 따른 네트워크화 시스템의 블록도를 나타낸다.
도 2는 일 실시예에 따른 자율 주행 차량의 일 예의 블록도를 나타낸다.
도 3a 내지 도 3b는 일 실시예에 따른 자율 주행 차량과 함께 사용되는 감지 및 계획 시스템의 일 예의 블록도를 나타낸다.
도 4는 일 실시예에 따른 스무딩 스티어링 모듈의 블록도를 나타낸다.
도 5a 내지 도 5c는 일 실시예에 따른 ADV 스티어링 오버슛의 일 예를 나타낸다.
도 6a 내지 도 6f는 일 실시예에 따른 ADV의 스무딩 스티어링의 일 예를 나타낸다.
도 7은 일 실시예에 따른 ADV에 의해 수행되는 방법의 순서도를 나타낸다.
이하 설명되는 세부내용을 참고하여 본원의 다양한 실시예 및 측면에 대해 설명할 것이며, 상기 다양한 실시예는 도면에 도시된다. 이하 설명 및 도면은 본원에 대한 설명을 위한 것일 뿐, 본원을 제한하는 것으로 해석되어서는 안된다. 본원의 다양한 실시예에 대한 전반적인 이해를 돕기 위해 많은 특정 세부 사항에 대해 설명하였다. 그러나 일부 경우에 본원의 실시예에 대한 간결한 설명을 위해 잘 알려진 세부 사항이나 일반적인 세부 사항에 대한 설명은 생략하였다.
본 명세서에서 언급한 "일 실시예" 또는 "실시예"는 해당 실시예와 결합하여 설명한 특정 특징, 구조 또는 특성이 본원의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 본 명세서 각 부분에 나타나는 "일 실시예에서"라는 용어는 반드시 모두 동일한 실시예를 지칭하는 것은 아니다.
실시예에서는 자율 주행 차량(ADV)에 대해 스무딩(또는 원활한; smoothing) 스티어링 명령어를 생성하는 시스템 및 방법을 제공한다. 일 실시예에 따르면, 시스템은 ADV의 주행 궤적에 기반하여 계획 스티어링 명령어를 결정한다. 시스템은 ADV의 센서로부터 현재 계획 주기에 대한 현재 스티어링 피드백을 수신한다. 시스템은 하나 또는 복수의 계획 주기에서의 계획 스티어링 명령어 및 현재 스티어링 피드백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성한다. 시스템은 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여, 계획 주기 동안 ADV에 적용되는 스티어링 변화가 ADV의 기설정 스티어링 변화 임계값 내에 처하도록 ADV를 제어한다. 이를 통해 시스템은 ADV의 스티어링에 대해 점진식 변화를 적용한다.
도 1은 본원의 일 실시예에 따른 자율 주행 차량의 네트워크 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 네트워크 구성(100)은 네트워크(102)를 통해 하나 또는 복수의 서버(103 내지 104))와 통신하도록 연결된 자율 주행 차량(101)을 포함한다. 비록 하나의 자율 주행 차량을 표시하였으나, 네트워크(102)를 통해 복수의 자율 주행 차량들이 서로 연결되거나 및/또는 서버(103 내지 104))에 연결될 수 있다. 네트워크(102)는 유선 또는 무선 근거리 통신망(LAN), 인터넷 광역통신망(WAN), 셀룰러 네트워크, 위성 네트워크 또는 이들의 조합과 같은 모든 종류의 네트워크일 수 있다. 서버(103 내지 104)는 네트워크 또는 클라우드 서버, 애플리케이션 서버, 백엔드 서버 또는 이들의 조합과 같은 모든 유형의 서버 또는 서버 클러스터일 수 있다. 서버(103 내지 104)는 데이터 분석 서버, 콘텐츠 서버, 교통 정보 서버, 지도 및 관심 지점(MPOI) 서버 또는 위치 서버 등 일 수 있다.
자율 주행 차량은 운전자의 입력이 극히 적거나 없는 상태에서 주행하는 자율 주행 모드로 구성될 수 있는 차량을 의미한다. 이러한 자율 주행 차량에는 차량 운행 환경과 관련된 정보를 감지하도록 구성된 하나 또는 복수의 센서들을 구비한 센서 시스템이 포함될 수 있다. 상기 차량과 그에 연관된 컨트롤러는 감지된 정보를 사용하여 상기 환경에서 내비게이션한다. 자율 주행 차량(101)은 수동 모드, 완전 자율 주행 모드 또는 부분 자율 주행 모드에서 운행될 수 있다.
일 실시예에서, 자율 주행 차량(101)은 감지 및 계획 시스템(110), 차량 제어 시스템(111), 무선 통신 시스템(112), 사용자 인터페이스 시스템(113) 및 센서 시스템(115)을 포함하나 이에 제한되지 않는다. 자율 주행 차량(101)에 엔진, 바퀴, 스티어링 휠, 변속기 등과 같은 일반 차량에 포함되는 일부 상용 부재들도 더 포함될 수 있으며, 상기 부재들은 차량 제어 시스템(111) 및/또는 감지 및 계획 시스템(110)에 의해 다양한 통신 신호 및/또는 명령어로 제어될 수 있고, 상기 다양한 통신 신호 및/또는 명령어에는 예를 들어 가속 신호 또는 명령어, 감속 신호 또는 명령어, 조향 신호 또는 명령어, 제동 신호 또는 명령어 등이 있다.
부재들(110 내지 115)은 상호 연결 부재, 버스, 네트워크 또는 그 조합을 통해 서로 통신하도록 연결된다. 예를 들어, 부재들(110 내지 115)은 컨트롤러 영역 네트워크(CAN) 버스를 통해 서로 통신하도록 연결될 수 있다. CAN 버스는 마이크로 컨트롤러와 장치가 호스트가 없는 응용에서 서로 통신할 수 있도록 설계된 차량 버스 표준이다. 이는 원래 자동차 내의 전기 배선 재사용을 위해 설계된 메시지 기반 프로토콜이었으나 기타 다양한 환경에서도 사용된다.
도 2를 참조하면, 일 실시예에서 센서 시스템(115)은 하나 또는 복수의 카메라(211), 위성항법장치(GPS) 유닛(212), 관성측정장치(IMU) 유닛(213), 레이더 유닛(214) 및 광 검출 및 거리측정장치(LIDAR)(215)를 포함하나 이에 제한되지 않는다. GPS 유닛(212)은 자율 주행 차량의 위치에 대한 정보를 제공하도록 작동되는 트랜시버를 포함할 수 있다. IMU 유닛(213)은 관성 가속도에 기반하여 자율 주행 차량의 위치 및 방향 변화를 감지할 수 있다. 레이더 유닛(214)은 무선 신호를 이용하여 자율 주행 차량의 현지 환경 내 물체를 감지하는 시스템을 나타낼 수 있다. 일부 실시예에서, 레이더 유닛(214)은 감지 물체 외에 물체의 속도 및/또는 진행 방향을 별도로 감지할 수 있다. LIDAR 유닛(215)은 레이저를 사용하여 자율 주행 차량이 위치한 환경 내의 물체를 감지할 수 있다. 다른 시스템 부재들 외에, LIDAR 유닛(215)은 하나 또는 복수의 레이저원, 레이저 스캐너 및 하나 또는 복수의 디텍터를 더 포함할 수 있다. 카메라(211)는 자율 주행 차량 주변 환경의 이미지를 수집하는 하나 또는 복수의 장치를 포함할 수 있다. 카메라(211)는 정물 카메라 및/또는 비디오 카메라일 수 있다. 예를 들어 카메라를 회전 및/또는 기울어진 플랫폼에 장착하여 카메라를 기계적으로 움직일 수 있다.
센서 시스템(115)은 소나 센서, 적외선 센서, 스티어링 센서, 스로틀 센서, 브레이크 센서 및 오디오 센서(예컨대, 마이크)와 같은 다양한 센서를 더 포함할 수 있다. 오디오 센서는 자율 주행 차량 주변 환경으로부터 소리를 수집하도록 구성될 수 있다. 스티어링 센서는 핸들, 차량 바퀴 또는 이들의 조합의 스티어링 각도를 감지하도록 구성될 수 있다. 스로틀 센서와 브레이크 센서는 각각 차량의 스로틀 위치와 브레이크 위치를 감지한다. 일부 경우에 스로틀 센서와 브레이크 센서가 통합형 스로틀/브레이크 센서로 집적될 수 있다.
일 실시예에서, 차량 제어 시스템(111)은 스티어링 유닛(201), 스로틀 유닛(202)(가속 유닛이라고도 지칭함) 및 브레이크 유닛(203)을 포함하나 이에 제한되지 않는다. 스티어링 유닛(201)은 차량의 방향이나 진행 방향을 조정한다. 스로틀 유닛(202)은 전기모터 또는 엔진의 속도를 제어하며, 전기모터 또는 엔진의 속도는 나아가 차량의 속도와 가속도를 제어한다. 브레이크 유닛(203)은 마찰을 제공하여 차량 바퀴 또는 타이어의 속도를 줄임으로써 차량의 속도를 줄인다. 도 2에 나타낸 부재는 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있음을 이해할 것이다.
일 실시예에서, 차량 제어 시스템(111)은 스티어링 유닛(201), 스로틀 유닛(202)(가속 유닛이라고도 지칭함) 및 브레이크 유닛(203)을 포함하되 이에 국한되지 않는다. 스티어링 유닛(201)은 차량의 방향이나 진행 방향을 조정한다. 스로틀 유닛(202)은 전기모터 또는 엔진의 속도를 제어하며, 전기모터 또는 엔진의 속도는 나아가 차량의 속도와 가속도를 제어한다. 브레이크 유닛(203)은 마찰을 제공하여 차량 바퀴 또는 타이어의 속도를 줄임으로써 차량의 속도를 줄인다. 도 2에 나타낸 부재는 하드웨어, 소프트웨어 또는 그 조합으로 구현될 수 있다는 점을 주의하여야 한다.
다시 도 1을 참조하면, 무선 통신 시스템(112)은 자율 주행 차량(101)과 장치, 센서, 기타 차량 등과 같은 외부 시스템 간의 통신을 허용한다. 예를 들어, 무선 통신 시스템(112)은 하나 또는 복수의 장치와 직접적으로 무선 통신을 하거나, 네트워크(102)를 통해 서버(103 내지 104)와 통신하는 등, 통신 네트워크를 통해 무선 통신을 할 수 있다. 무선 통신 시스템(112)은 다양한 부재 또는 시스템과 통신하기 위해 WiFi를 사용하는 등, 셀룰러 네트워크 또는 무선 로컬 영역 네트워크(WLAN)를 사용할 수 있다. 무선 통신 시스템(112)은 예를 들어 적외선 링크, 블루투스 등을 이용하여 장치(예컨대, 승객의 이동 장치, 디스플레이 장치, 차량(101) 내 스피커)와 직접 통신할 수 있다. 사용자 인터페이스 시스템(113)은 예를 들어 키보드, 터치 스크린 디스플레이 장치, 마이크 및 스피커 등이 포함된 차량(101) 내에 구현된 주변 장치의 일부분일 수 있다.
자율 주행 차량(101)의 기능 중 일부 또는 전부는, 특히 자율 주행 모드에서 작동될 때, 감지 및 계획 시스템(110)에 의해 제어되거나 관리될 수 있다. 감지 및 계획 시스템(110)에는 필요한 하드웨어(예컨대, 프로세서, 메모리, 스토리지)와 소프트웨어(예컨대, 운영 체제, 계획 및 경로 배정 프로그램)가 포함되어 있으며, 센서 시스템(115), 제어 시스템(111), 무선 통신 시스템(112) 및/또는 사용자 인터페이스 시스템(113)으로부터 정보를 수신하고, 수신된 정보를 처리하며, 출발지부터 목적지까지의 노선이나 경로를 계획하고, 계획 및 제어 정보를 기반으로 차량(101)을 운전한다. 선택적으로, 감지 및 계획 시스템(110)은 차량 제어 시스템(111)과 집적될 수 있다.
예를 들어, 승객으로서 사용자는 사용자 인터페이스를 통해 여정의 출발지와 목적지를 지정할 수 있다. 감지 및 계획 시스템(110)은 여정에 관한 데이터를 획득한다. 예를 들어, 감지 및 계획 시스템(110)은 서버(103 내지 104)의 일부가 될 수 있는 MPOI 서버로부터 위치 및 경로 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하고, MPOI 서버는 지도 서비스와 일부 위치에 대한 POI를 제공한다. 선택적으로, 이러한 위치 및 MPOI 정보는 감지 및 계획 시스템(110)의 영구 스토리지에 로컬로 캐시될 수 있다.
자율 주행 차량(101)이 경로를 따라 이동할 때 감지 및 계획 시스템(110) 또한 교통 정보 시스템 또는 서버(TIS)로부터 실시간 교통 정보를 획득할 수 있다. 서버(103 내지 104)가 제3자 엔티티에 의해 작동될 수 있음을 이해할 것이다. 선택적으로 서버(103 내지 104)의 기능은 감지 및 계획 시스템(110)과 집적될 수 있다. 실시간 교통정보, MPOI 정보, 위치 정보 및 센서 시스템(115)에 의해 탐지되거나 감지된 실시간 현지 환경 데이터(예컨대, 장애물, 물체, 근처 차량)에 기반하여, 감지 및 계획 시스템(110)은 최적의 경로를 계획하고, 계획된 경로를 따라 예를 들어, 제어 시스템(111)을 통해 차량(101)을 운전함으로써 목적지에 안전하고 효율적으로 도달할 수 있다.
서버(103)는 데이터 분석 시스템일 수 있고, 이를 통해 다양한 고객에게 데이터 분석 서비스를 제공할 수 있다. 일 실시예에서, 데이터 분석 시스템(103)은 데이터 수집 장치(121)와 머신러닝 엔진(122)을 포함한다. 데이터 수집 장치(121)는 다양한 차량(자율 주행 차량 또는 인간 운전자가 운전하는 일반 차량)으로부터 주행 통계 데이터(123)를 수집한다. 주행 통계 데이터(123)는 주행 명령어(예컨대, 스로틀, 브레이크, 스티어링 명령어) 및 차량의 센서에 의해 각기 다른 시점에서 포착된 차량의 반응(예컨대, 속도, 가속, 감속, 방향)에 대한 정보를 포함한다. 또한 주행 통계 데이터(123)에는 노선(출발지 및 목적지 위치 포함), MPOI, 기상 상태 및 도로 상태(예컨대, 고속도로에서의 더딘 교통 흐름, 교통 체증 상황, 자동차 사고, 도로 공사, 임시 우회, 미지의 장애물 등)와 같은 다양한 시점의 주행 환경에 대한 정보가 더 포함될 수 있다.
주행 통계 데이터(123)에 기반하여, 머신러닝 엔진(122)은 다양한 목적을 위해 ADV를 위한 스무딩 측면 제어/스티어링 모델을 포함한 일 세트의 규칙, 알고리즘 및/또는 예측 모델(124)을 생성하거나 훈련시킨다. 다음, 알고리즘/모델(124)을 ADV에 업로드하여 자율 주행 중에 실시간으로 사용할 수 있다.
도 3a 및 도 3b는 일 실시예에 따른 자율 주행 차량과 함께 사용되는 감지 및 계획 시스템의 일 예의 블록도를 나타낸다. 시스템(300)은 도 1의 자율 주행 차량(101)의 일부로써 실행될 수 있으며, 감지 및 계획 시스템(110), 제어 시스템(111) 및 센서 시스템(115)을 포함하나 이에 제한되지 않는다. 도 3a 내지 도 3b를 참조하면, 감지 및 계획 시스템(110)은 위치 결정 모듈(301), 감지 모듈(302), 예측 모듈(303), 결정 모듈(304), 계획 모듈(305), 제어 모듈(306), 노선 배정 모듈(307) 및 시나리오 판단 모듈(308)을 포함하나 이에 제한되지 않는다.
모듈(301 내지 308) 중 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 이러한 모듈은 영구 스토리지(352)에 장착될 수 있고, 저장 장치(351)에 로딩될 수 있으며, 하나 또는 복수의 프로세서(미도시)에 의해 실행될 수 있다. 이러한 모듈 중 일부 또는 전부는 도 2의 차량 제어 시스템(111)의 일부 또는 모든 모듈에 통신하도록 연결되거나 이들과 함께 집적될 수 있음을 이해할 것이다. 모듈(301 내지 308) 중 일부는 통합 모듈로 함께 집적될 수 있다.
위치 결정 모듈(301)은 자율 주행 차량(300)의 현재 위치를 결정하고(예컨대, GPS 유닛(212)을 이용함) 사용자의 여정 또는 경로와 관련된 모든 데이터를 관리한다. 위치 결정 모듈(301)(지도 및 경로 모듈이라고도 지칭함)은 사용자의 여정 또는 경로와 관련된 모든 데이터를 관리한다. 예를 들어, 사용자는 사용자 인터페이스를 통해 로그인하여 여정의 출발지와 목적지를 지정할 수 있다. 위치 결정 모듈(301)은 여정 관련 정보를 획득하기 위해 자율 주행 차량(300)의 지도 및 경로 정보(311)와 같은 다양한 부재들과 통신한다. 예를 들어, 위치 결정 모듈(301)은 위치 서버, 지도 및 POI(MPOI) 서버로부터 위치 및 경로 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하며 MPOI 서버는 지도 서비스와 일부 위치에서의 POI를 제공함으로써, 지도 및 경로 정보(311)의 일부로써 캐시될 수 있다. 자율 주행 차량(300)이 경로를 따라 이동할 때 위치 결정 모듈(301)은 교통 정보 시스템 또는 서버로부터 실시간 교통 정보를 획득할 수도 있다.
센서 시스템(115)으로부터 제공되는 센서 데이터와 위치 결정 모듈(301)로부터 획득한 위치 결정 정보를 바탕으로, 감지 모듈(302)은 주변 환경에 대한 감지를 결정한다. 감지 정보는 일반 운전자가 운전하고 있는 차량 주변에서 감지하는 물체들을 나타낼 수 있다. 감지에 있어서, 물체 형태로 된 차도 구성, 신호등 신호, 또 다른 차량의 상대적 위치, 보행자, 건물, 횡단보도 또는 기타 교통 관련 표지(예컨대, 정지 표지, 양보 표지) 등이 포함될 수 있다. 차선 구성에는 차도 형상(예컨대, 직선 또는 곡선), 차도 폭, 도로의 차도 개수, 일방 또는 양방향 차도, 병합 또는 분리된 차도, 출구 차도 등과 같이 하나 또는 복수의 차도를 설명하는 정보가 포함될 수 있다.
감지 모듈(302)은 하나 또는 복수의 카메라에 의해 수집된 이미지를 처리하고 분석하여, 자율 주행 차량 환경에서의 물체 및/또는 특징을 식별하기 위해 컴퓨터 비전 시스템이나 컴퓨터 비전 시스템의 기능을 포함할 수 있다. 상기 물체에는 교통 신호, 도로 경계, 기타 차량, 보행자 및/또는 장애물 등이 포함될 수 있다. 컴퓨터 비전 시스템은 사물 인식 알고리즘, 영상 추적 및 기타 컴퓨터 비전 기술을 사용할 수 있다. 일부 실시예에서, 컴퓨터 비전 시스템은 환경 지도를 제작하고, 물체를 추적하고, 물체의 속도를 예측하는 등의 작업을 할 수 있다. 감지 모듈(302)은 레이더 및/또는 LIDAR와 같은 기타 센서에 의해 제공받은 기타 센서 데이터에 기반하여 물체를 감지할 수도 있다.
각각의 물체에 대해 예측 모듈(303)은 해당 경우에서 물체가 어떻게 움직일 것인 가를 예측한다. 예측은 일 세트의 지도/노선 정보(311)와 교통 규칙(312)을 고려하여, 일 시점에서 주행 환경을 감지하는 감지 데이터에 기반하여 수행된다. 예를 들어, 물체가 반대 방향의 차량이고 현재 주행 환경에 교차로가 포함되어 있는 경우, 예측 모듈(303)은 차량이 직진하거나 회전할 가능성이 있는지 여부를 예측한다. 만약 감지 데이터에서 교차로에 신호등이 없다고 나타날 경우, 예측 모듈(303)은 차량이 교차로에 진입하기 전에 완전히 정차해야 할 수도 있다고 예측할 수 있다. 만약 감지 데이터에서 차량이 현재 좌회전 전용 차선 또는 우회전 전용 차선에 있다고 나타날 경우, 예측 모듈(303)은 차량이 각각 좌회전하거나 우회전할 가능성이 더 높다고 예측할 수 있다.
결정 모듈(304)은 각각의 물체에 대해 그 물체를 어떻게 처리할 것인지에 대한 결정을 내린다. 예를 들어, 결정 모듈(304)은 특정 물체(예컨대, 교차로의 다른 차량)와 물체를 설명하는 메타데이터(예컨대, 속도, 방향, 회전 각도)에 대해, 상기 물체와 만나는 방법(예컨대, 추월, 양보, 정지, 지나가기)을 결정한다. 결정 모듈(304)은 영구 스토리지(352)에 저장될 수 있는 교통 규칙 또는 운전 규칙(312)과 같은 규칙 집합에 따라 이러한 결정을 내릴 수 있다.
노선 배정 모듈(307)은 출발지부터 목적지까지 하나 또는 복수의 노선 또는 경로를 제공하도록 구성된다. 사용자로부터 수신된 여정과 같이 출발지부터 목적지까지 주어진 여정에 대해, 노선 배정 모듈(307)은 노선 및 지도 정보(311)를 획득하고, 출발지부터 목적지에 이를 수 있는 모든 노선 또는 경로를 결정한다. 노선 배정 모듈(307)은 출발지에서 목적지에 이르는 각각의 노선을 결정하는 지형도 형태의 기준선을 생성할 수 있다. 기준선은 다른 차량, 장애물 또는 교통 상황 등의 영향을 받지 않는 이상적인 노선이나 경로를 가리킨다. 즉 도로에 다른 차량, 보행자 또는 장애물이 없을 경우, ADV는 정확하게 또는 밀접하게 기준선을 따라가야 한다. 다음, 지형도를 결정 모듈(304) 및/또는 계획 모듈(305)에 제공한다. 결정 모듈(304) 및/또는 계획 모듈(305)은가능한 모든 노선을 검토하여, 다른 모듈에서 제공하는 다른 데이터를 기반으로 최적의 노선 중 하나를 선택하고 변경하며, 여기서 다른 데이터는 위치 결정 모듈(301)의 교통 상황, 감지 모듈(302)에 의해 감지된 주행 환경, 예측 모듈(303)에 의해 예측된 교통 상황 등과 같다. 시점에서의 특정 주행 환경에 따라, ADV를 제어하기 위한 실제 경로나 노선은 노선 배정 모듈(307)에 의해 제공된 기준선과 근접하거나 상이할 수 있다.
계획 모듈(305)은 감지된 물체에 대한 각각의 결정에 기반하여, 노선 배정 모듈(307)에 의해 제공된 기준선을 기초로 자율 주행 차량의 경로 또는 노선 및 운전 파라미터(예컨대, 거리, 속도 및/또는 회전 각도)를 계획한다. 즉, 주어진 물체에 대해, 결정 모듈(304)은 해당 물체에 대해 어떤 동작을 할 것인지를 결정하고, 계획 모듈(305)은 어떻게 할 것인지를 결정한다. 예를 들어, 결정 모듈(304)은 주어진 물체에 대해 상기 물체를 추월할 것인지를 결정하고, 계획 모듈(305)은 상기 물체의 왼쪽으로 추월할 것인지 또는 오른쪽으로 추월할 것인지를 결정한다. 계획 및 제어 데이터는 계획 모듈(305)에 의해 생성되고, 여기에 차량(300)이 다음 이동 사이클(예컨대, 다음 노선/경로 구간)에서 어떻게 이동할 것인지를 설명하는 정보를 포함한다. 예를 들어, 계획 및 제어 데이터는 차량(300)에 시속 30마일(mph)의 속도로 10m를 이동한 후, 25mph의 속도로 우측 차선으로 이동하도록 지시할 수 있다.
계획 및 제어 데이터에 기반하여 제어 모듈(306)은 계획 및 제어 데이터에 의해 한정된 노선 또는 경로에 따라 적절한 명령어나 신호를 차량 제어 시스템(111)에 전송하여 자율 주행 차량을 제어하고 운전한다. 상기 계획 및 제어 데이터에는 경로 또는 노선을 따라 상이한 시점에서 적절한 차량 설정이나 운전 파라미터(예컨대, 스로틀, 브레이크, 스티어링 명령)를 사용하여, 차량이 노선 또는 경로의 제1 지점부터 제2 지점으로 주행하기 위한 충분한 정보가 포함되어 있다.
일 실시예에서, 계획 단계는 예를 들어 100 밀리초(ms)의 매시간 간격과 같은 복수의 계획 주기(주행 주기라고도 지칭함)로 수행된다. 계획 또는 주행 주기 중 각각에 대해, 계획 및 제어 데이터에 기반한 하나 또는 복수의 제어 명령어가 발송된다. 즉, 계획 모듈(305)은 100ms마다 다음 노선 또는 경로 구간을 계획하는데, 예를 들어, 목표 위치와 ADV가 목표 위치에 도달하는 데 걸리는 시간을 포함한다. 선택적으로 계획 모듈(305)은 구체적인 속도, 방향 및/또는 스티어링 각도 등을 정할 수도 있다. 일 실시예에서, 계획 모듈(305)은 다음 기정 구간(예컨대, 5초)에 대해 노선 또는 경로 구간을 계획한다. 각각의 계획 주기에 대해, 계획 모듈(305)은 이전의 일 주기에서 계획한 목표 위치에 기반하여 현재 주기(예컨대, 다음 5초)에 대한 목표 위치를 계획한다. 다음, 제어 모듈(306)은 현재 주기의 계획 및 제어 데이터에 기반하여 하나 또는 복수의 제어 명령어(예컨대, 스로틀, 브레이크, 스티어링 제어 명령어)를 생성한다.
결정 모듈(304)과 계획 모듈(305)은 통합 모듈로 집적될 수 있음을 주의하여야 한다. 결정 모듈(304)/계획 모듈(305)에는 자율 주행 차량의 주행 경로를 정하기 위한 내비게이션 시스템 또는 내비게이션 시스템의 기능이 포함될 수 있다. 예를 들어, 내비게이션 시스템은 자율 주행 차량이 최종 목적지로 가는 차도 기반의 경로를 따라 앞으로 이동하면서, 기본적으로 감지된 장애물을 피하도록 하는 경로를 따라 이동함에 있어서 영향을 주는 일련의 속도와 진행 방향을 결정할 수 있다. 목적지는 사용자 인터페이스 시스템(113)에 의해 진행되는 사용자 입력으로 설정될 수 있다. 내비게이션 시스템은 자율 주행 차량이 운행하는 동안 동적으로 운전 경로를 업데이트할 수 있다. 내비게이션 시스템은 자율 주행 차량의 운전 경로를 정하기 위해, GPS 시스템과 하나 또는 복수의 지도로부터 전달받은 데이터를 결합할 수 있다.
결정 모듈(304)/계획 모듈(305)에는 자율 주행 차량 환경의 잠재적 장애물을 식별, 평가 및 회피 또는 다른 방식으로 해결할 수 있는 충돌 방지 시스템 또는 충돌 방지 시스템의 기능이 더 포함될 수 있다. 예를 들어, 충돌 방지 시스템은 제어 시스템(111) 중 하나 또는 복수의 서브 시스템을 작동시켜 방향 전환 조종, 조향 조종, 제동 조종 등을 수행하는 것과 같은 다양한 방식으로, 자율 주행 차량의 네비게이션 변화를 구현할 수 있다. 충돌 방지 시스템은 주위 교통 패턴, 도로 상황 등에 기반하여 실행 가능한 장애물 회피 조종을 자동으로 결정한다. 충돌 방지 시스템은 다른 센서 시스템에 의해 자율 주행 차량이 방향을 바꿔 진입할 인접 지역에 위치한 차량, 건물 장애물 등이 감지될 경우 방향 전환 조종을 하지 않도록 구성될 수 있다. 충돌 방지 시스템은 사용 가능한 동시에 자율 주행 차량 탑승자의 안전을 최대화하는 조종을 자동으로 선택할 수 있다. 충돌 방지 시스템은 자율 주행 차량의 탑승자 좌석에서 최소한의 가속도가 발생할 것으로 예측되는 회피 조종을 선택할 수 있다.
도 4는 일 실시예에 따른 스무딩 스티어링 모듈의 일 예를 나타내는 블록도이다. 스무딩 스티어링 모듈(308)은 별도의 모듈 또는 제어 모듈(306)의 일부로 구현될 수 있다. 스무딩 스티어링 모듈(308)은 ADV의 하나 또는 복수의 계획 주기 동안 하나 또는 복수의 스무딩 스티어링 명령어를 생성할 수 있다. 도 4를 참조하면, 스무딩 스티어링 모듈(308)에는 스티어링 명령어 결정 장치(401), 스티어링 피드백 결정 장치(403), 차이 계산기(405), 스티어링 변화율 결정 장치(407), 스티어링 변화 임계값 결정 장치(409), 스무딩 스티어링 명령어 생성 장치(411) 및 스티어링 명령어 발송 장치(413)와 같은 서브 모듈들이 포함될 수 있다. 스티어링 명령어 결정 장치(401)는 ADV의 계획 궤적에 기반하여 ADV의 계획 스티어링 명령어를 결정할 수 있다. 스티어링 피드백 결정 장치(403)는 ADV의 현재 스티어링 피드백을 결정한다. 이러한 모듈들은 보다 적은 수의 모듈 또는 단일 모듈로 통합될 수 있다.
일반적으로, 스티어링 피드백은 자율 주행 시스템이 ADV의 차량 컨트롤러 영역 네트워크(CAN) 버스로부터 수신하는 피드백이다. 해당 피드백은 차량이 방향을 얼마나 전환하였는지를 나타낸다. 차량의 앞바퀴에 측면 제어를 가하여 차량을 측면으로 이동시키면 차량은 방향을 전환한다. 차이 계산기(405)는 계획 스티어링 명령어와 스티어링 피드백 사이의 차이 값을 산출할 수 있다. 스티어링 변화율 결정 장치(407)는 ADV의 스티어링 변화율을 결정할 수 있다.
일 실시예에서, 스티어링 변화율은 ADV에 대한 제조업체의 설정에 기반하여 결정된다. 스티어링 변화율은 차량 스티어링의 변화 속도를 제한하기 위한 ADV의 물리적인 제한일 수 있다. 스티어링 변화 임계값 결정 장치(409)는 ADV를 위한 스티어링 변화 임계값을 결정 및 구성할 수 있다. 스티어링 변화 임계값은 측면 제어/방향 전환이 얼마나 빨리 변화될 수 있는지에 대한 소프트웨어 유도 상한으로 사전에 구성될 수 있다. 스티어링 변화 임계값은 기본값(예컨대, 계획 주기당 5도)에 따라 설정될 수 있다. 스무딩 스티어링 명령어 생성 장치(411)는 ADV를 위한 스무딩 스티어링 명령어를 생성할 수 있다. 스무딩 스티어링 명령어는 현재 스티어링 피드백의 임계값 내에 있는 테이퍼(tapered)/제어된 스티어링 명령어일 수 있다. 스티어링 명령어 발송 장치(413)는 ADV의 스티어링을 제어하도록, ADV의 CAN 버스에 스티어링 명령어를 발송할 수 있다. 스무딩 스티어링 모듈(308)을 별도로 모듈로 표시하였으나, 스무딩 스티어링 모듈(308)과 제어 모듈(306)은 통합 모듈일 수도 있음을 이해할 것이다.
도 5a 내지 도 5c는 일 실시예에 따른 ADV 스티어링 오버슛의 일 예를 나타낸다. 도 5a를 참조하면, 초기 궤적(501)과 현재 스티어링 방향(510)을 구비한 ADV(101)는 계획 궤적(503)을 수신할 수 있다. ADV(101)의 전방 차량 따라가기, 노선/경로의 변경, 또는 장애물 회피 등을 위해, ADV(101)의 결정/계획 시스템에 의해 계획 궤적(503)을 계획할 수 있다. 이 경우 계획 궤적(503)을 따라가기 위해서 ADV(101)는 초기 궤적(501)의 오른쪽 측면으로 18도 방향을 전환해야 한다. 스티어링 제어에 어떠한 제한도 없이 ADV에 18도 스티어링 명령어를 발송하는 스티어링 시스템은 도 5b 내지 도 5c와 같이 ADV의 스티어링 오버슛과 흔들림을 야기할 수 있다. 이 경우 ADV(101)는 제1 계획 주기에서 23도 오버슛 되고(도 5b 참조), 제2 계획 주기에서 14도의 흔들림이 발생한다(도 5c 참조). 일부 경우에는, ADV의 제조업체 설정에 따라 23도 스티어링 명령어를 발송하는 스티어링 시스템을 제한할 수 있다. 발송된 스티어링 명령어는 ADV의 제조업체 설정에 따라 임의로 방향 전환을 할 수 있다. 임의의 방향 전환은 상이한 ADV에 대해 일관되지 않은 계획 결과를 야기할 수 있다.
도 6a 내지 도 6f는 일 실시예에 따른 ADV의 스무딩 스티어링의 일 예를 나타낸다. 도 6a를 참조하면, 초기 궤적(501)과 현재 방향(510)을 구비한 ADV(101)는 계획 궤적(503)을 수신할 수 있다. 일 실시예에서, ADV(101)는 스티어링 모듈(예컨대, 도4의 스무딩 스티어링 모듈(308))을 통해 ADV의 계획 스티어링 명령어를 결정한다. 예를 들어, 여기서 결정된 계획 스티어링 명령어는 현재 스티어링 방향(510)의 우측 18도의 측면 제어로서, ADV(101)가 계획 궤적(503) 경로에 위치하도록 한다.
이어서, ADV(101)는 ADV(101)의 컨트롤러 영역 네트워크(CAN) 버스로부터 수신한 신호에 의해 현재 스티어링 피드백을 결정한다. ADV(101)는 제조업체가 ADV에 설정한 스티어링 변화율에 기반하여 스티어링 변화 임계값(임계치)를 결정할 수도 있다. ADV(101)가 측면 제어를 수용할 수 있는 범위를 제한하도록 제조업체에 의해 스티어링 변화율이 설정되는 경우, 임계값은 각각의 계획 주기의 스티어링 변화율 보다 작게 구성된다. 일 실시예에서, ADV(101)는 초당 500도의 스티어링 변화율을 구비할 수 있다. 100Hz의 주기를 갖는 계획 시스템의 경우, 스티어링 변화 임계값은 각 주기당 500/100=5도가 될 수 있다. 다른 일 실시예에서, ADV(101)는 스티어링 변화율이 없거나 일부 큰 스티어링 변화율(예컨대, 초당 20000도)로 설정될 수 있으며, 스무딩 모듈은 ADV(101)의 스티어링 변화 임계값을 주기당 5도와 같은 기본값으로 미리 설정할 수 있다. 기본 차량의 크기나 유형에 따라 기본값이 달라질 수 있음을 이해할 것이다. 여기서 승용차는 트럭과 서로 다른 임계값을 가지도록 미리 구성된다. 예시로서, 도 6a 내지 도 6f에서 ADV(101)에 대해 5도의 기본 임계값이 사용되었음을 유의하여야 한다.
일 실시예에서, 계획 스티어링 명령어 및 현재 스티어링 피드백에 기반하여 ADV(101)는 현재 스티어링 명령어와 현재 스티어링 피드백 간 차이를 산출한다. 차이가 임계값(여기서는 5도)보다 작을 경우(또는 임계값 내인 경우), ADV(101)는 현재 스티어링 명령어를 CAN 버스에 직접 전송하여 실행하도록 한다. 해당 명령어가 임계값(여기서는 5도)보다 큰 경우, ADV(101)는 현재 명령어를 +/- 임계값(여기서는 +/- 5도)으로 절단 분할(truncating)하여 점증적 스무딩 스티어링 명령어를 생성하고, 절단된 명령어를 CAN 버스에 전송하여 실행하도록 한다.
목표 계획 스티어링 명령어를 완료하도록, 여러 계획 주기에 대해 스무딩 스티어링 명령어를 생성할 수 있다. 도시된 바와 같이, 도 6a에서 ADV(101)는 제1 계획 주기 동안 CAN 버스로부터 0도 스티어링 피드백을 수신한다. 18도 계획 스티어링 명령어가 5도 임계값과 0도 스티어링 피드백을 합산한 것보다 크므로, ADV(101)는 현재 명령어를 5도 임계값으로 절단 분할하고 테이퍼/스무딩 스티어링 명령(601)을 CAN 버스에 전송하여 실행하도록 한다.
도 6b를 참조하면, 제2 계획 주기 동안 스티어링 피드백은 4도로 변경될 수 있다. 목표 스티어링 명령어는 여전히 18도이기 때문에, ADV(101)는 (4+5)=9도 명령(602)을 생성하고 명령어를 CAN 버스에 전송하여 실행하도록 한다.
도 6c를 참조하면, 제2 계획 주기 동안 스티어링 피드백이 8도로 변경될 수 있다. 목표 스티어링 명령어는 여전히 18도이기 때문에, ADV(101)는 (8+5)=13도 명령(603)을 생성하고 명령어를 CAN 버스에 전송하여 실행하도록 한다.
도 6d를 참조하면, 제4 계획 주기 동안 스티어링 피드백이 12도로 변경될 수 있다. 목표 스티어링 명령어는 여전히 18도이기 때문에, ADV(101)는 (12+5)=17도 명령(604)을 생성하고 명령어를 CAN 버스에 전송하여 실행하도록 한다.
도 6e를 참조하면, 제5 계획 주기 동안 스티어링 피드백이 15도로 변경될 수 있다. 목표 스티어링 명령어는 여전히 18도이기 때문에, ADV(101)는 (15+3)=18도 명령(605)을 생성하고 명령어를 CAN 버스에 전송하여 실행하도록 한다.
도 6f를 참조하면, 제6 계획 주기 동안 스티어링 피드백이 18도로 변경될 수 있다. 목표 스티어링 명령어가 스티어링 피드백과 일치하므로, ADV(101)가 궤적(503)의 경로에 위치하는 것을 확인하고, ADV(101)는 CAN 버스에 실행을 위한 추가 스티어링 명령어를 발송하지 않는다. 여기서 스티어링의 최대 가능 변화는 오버슛 및 흔들림을 줄이기 위해, 스티어링 변화 임계값의 제한을 받는다. ADV(101)의 스무딩 모듈은 스티어링 변화 임계값을 미리 구성하여 ADV(101)가 스티어링 명령어를 예컨대, 오버슛 또는 흔들림이 없이 원활하게 실행하도록 안내한다.
도 7은 일 실시예에 따른 ADV에 의해 수행되는 방법의 순서도를 나타낸다. 프로세스(700)는 소프트웨어, 하드웨어 또는 이들의 조합을 포함하는 처리 로직에 의해 수행될 수 있다. 예를 들어, 프로세스(700)는 도 4의 스무딩 스티어링 모듈(308)에 의해 수행될 수 있다. 도 7을 참조하면, 블록(701)에서, 처리 로직은 ADV의 주행 궤적에 기반하여 계획 스티어링 명령어를 결정한다. 블록(702)에서, 처리 로직은 ADV의 센서로부터 현재 계획 주기를 위한 현재 스티어링 피드백을 수신한다. 블록(703)에서 처리 로직은 하나 또는 복수의 계획 주기에서의 계획 스티어링 명령어 및 현재 스티어링 피드백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성한다. 블록(704)에서, 처리 로직은 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여, 스무딩 스티어링을 유도하기 위해, 임의의 계획 주기 동안 ADV에 적용되는 스티어링 변경이 ADV의 기설정 스티어링 변화 임계값 내에 처하도록 ADV를 제어한다.
일 실시예에서, 하나 또는 복수의 계획 주기 동안의 계획 스티어링 명령어 및 현재 스티어링 피드백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성하는 것은, 각 계획 주기에 대해, 계획 스티어링 명령어와 현재 스티어링 피드백 간 차이를 산출하고, 상기 차이가 기설정 스티어링 변화 임계값 내인 경우 다음 스무딩 스티어링 명령어를 계획 스티어링 명령어로서 생성하고, 상기 차이가 기설정 스티어링 변화 임계값보다 큰 경우 다음 스무딩 스티어링 명령어를 현재 스티어링 피드백과 기설정 스티어링 변화 임계값의 합으로 생성한다. 일 실시예에서, 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여 ADV를 제어하는 것은, ADV가 다음 스무딩 스티어링 명령어를 실행하도록, 제어 영역 네트워크(CAN) 버스에 다음 현재 스티어링 명령어를 발송하는 것을 포함한다.
일 실시예에서, 처리 로직은 ADV의 제조업체 설정에 기반하여 ADV를 위한 스티어링 변화율을 더 결정하고, 여기서 ADV를 위한 스티어링 변화율에 기반하여 기설정 스티어링 변화 임계값이 설정된다. 일 실시예에서, 처리 로직은 기설정 스티어링 변화 임계값을 기본 스티어링 변화값 또는 ADV의 제조업체 설정에 기반하여 결정된 스티어링 변화율 중 최소값으로 설정할 수도 있다.
일 실시예에서, ADV의 제조업체 설정에 스티어링 변화율이 누락된 경우, 처리 로직은 기설정 스티어링 변화 임계값을 기본 스티어링 변화값으로 설정한다. 일 실시예에서, 기본 스티어링 변화값은 계획 주기당 약 5도이다.
상기 도시하여 설명한 부재 중 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있음을 이해할 것이다. 예를 들어, 이러한 부재는 영구 스토리지에 설치되고 저장되는 소프트웨어로 구현될 수 있고, 상기 소프트웨어는 본원에서 설명한 프로세스나 동작을 수행하기 위해 프로세서(미 도시)를 통해 저장 장치에 로딩되고 저장 장치로부터 실행될 수 있다. 선택적으로 이러한 부재는 전용 하드웨어(예컨대, 집적 회로(예를 들어, 전용 집적 회로 또는 ASIC), 디지털 신호 처리기(DSP) 또는 필드 프로그래머블 게이트 어레이(FPGA))의 실행 가능한 코드로 프로그래밍되거나 내장된 실행 가능한 코드로 구현될 수 있으며, 상기 실행 가능한 코드는 애플리케이션의 해당 드라이버 및/또는 운영 체제를 통해 액세스될 수 있다. 또한 이러한 부재는 하나 또는 복수의 특정 명령어를 통해 소프트웨어 부재에 의해 액세스될 수 있는 명령어 집합의 일부로써, 프로세서 또는 프로세서 코어의 특정 하드웨어 로직으로 구현될 수 있다.
상기 상세한 설명 중 일부는 이미 컴퓨터 저장 장치 내에서 데이터 비트에 대한 연산의 알고리즘과 부호로 제시하였다. 이러한 알고리즘의 설명과 표시는 데이터 처리 분야의 기술자들이 자신의 작업 본질을 해당 분야의 다른 기술자들에게 가장 효과적으로 전달하기 위해 사용하는 방식이다. 여기에서 알고리즘은 일반적으로 기대되는 결과로 이어지는 일관된 작업 시퀀스로 간주된다. 이러한 작업은 물리적 양에 대해 물리적 조작을 해야 하는 작업을 가리킨다.
그러나 이러한 모든 용어 및 이와 유사한 용어들은 모두 적절한 물리적 양과 관련되며, 단지 이러한 양에 적용되는 편리한 표시에 불과하다는 것을 명심해야 한다. 위의 설명에서 명백히 다르게 언급하지 않는 한, 전체 명세서에서, 용어(청구범위에 기재된 용어 등)를 사용한 설명은 컴퓨터 시스템 또는 이와 유사한 전자 컴퓨팅 장치의 동작 및 처리를 지칭하며, 상기 컴퓨터 시스템 또는 전자 컴퓨팅 장치는 컴퓨터 시스템의 레지스터와 저장 장치 내의 물리적(전자) 양으로 표시된 데이터를 조작하고, 상기 데이터를 컴퓨터 시스템 저장 장치 또는 레지스터 또는 이러한 스토리지, 전송 또는 디스플레이 장치 내에서 유사한 물리적 양으로 표시되는 기타 데이터로 변환한다.
본원의 실시예는 본 명세서의 동작을 수행하기 위한 기기에 관한 것이기도 하다. 이러한 컴퓨터 프로그램은 비 일시적 컴퓨터 판독 가능한 매체에 저장되어 있다. 컴퓨터 판독 가능한 매체에는 기계(예컨대, 컴퓨터) 판독 가능한 형태로 정보를 저장하기 위한 모든 구조물이 포함된다. 예를 들어, 기계 판독 가능한(예컨대, 컴퓨터가 판독 가능한) 매체에는 기계(예컨대, 컴퓨터)에 의해 판독 가능한 매체(예컨대, 읽기 전용 기억장치("ROM"), 랜덤 액세스 메모리("RAM"), 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치)등이 포함된다.
상기 도면에서 설명한 프로세스 또는 방법은 하드웨어(예컨대, 회로, 전용 로직 등), 소프트웨어(예컨대, 비 일시적 컴퓨터 판독 가능한 매체에 구현된) 또는 이들의 조합을 포함하는 처리 로직에 의해 수행될 수 있다. 비록 상기 프로세스 또는 방법은 상기 설명에서 순차적인 동작에 따라 설명되었으나, 상기 동작 중의 일부는 이와 다른 순서로 수행될 수 있음을 마땅히 이해하여야 한다. 또한 일부 동작들은 순차적으로 수행되지 않고 병행으로 수행될 수도 있다.
본원의 실시예는 어느 특정 프로그래밍 언어를 참조하여 설명된 것이 아니다. 본 명세서에 설명된 바와 같이 본원의 실시예의 사시를 구현하기 위해 다양한 프로그래밍 언어가 사용될 수 있음을 이해할 것이다.
상기한 바와 같이 본원의 구체적인 예시적 실시예를 참조하여 본원의 실시예를 설명하였다. 첨부된 청구범위에 기재된 본원의 더 넓은 사상 및 범위를 벗어나지 않는 한, 본원에 대해 다양한 변경을 진행할 수 있음은 명백할 것이다. 따라서 명세서 및 도면은 제한적인 의미가 아닌 예시적인 의미로 이해하여야 한다.

Claims (20)

  1. 자율 주행 차량(ADV)을 작동하기 위한 컴퓨터 구현 방법에 있어서,
    상기 방법은,
    ADV의 주행 궤적에 기반하여 계획 스티어링 명령어를 결정하는 단계;
    상기 ADV의 센서로부터 현재 계획 주기에 대한 현재 스티어링 피드백을 수신하는 단계;
    하나 또는 복수의 계획 주기에서의 상기 계획 스티어링 명령어 및 상기 현재 스티어링 피드백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성하는 단계; 및
    상기 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여, 스무딩 스티어링을 유도하기 위해 임의의 계획 주기 동안 상기 ADV에 적용되는 스티어링 변화가 상기 ADV의 기설정 스티어링 변화 임계값 내에 처하도록 상기 ADV를 제어하는 단계;를 포함하는 컴퓨터 구현 방법.
  2. 제1 항에 있어서,
    하나 또는 복수의 계획 주기에서의 상기 계획 스티어링 명령어 및 상기 현재 스티어링 피드백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성하는 단계는,
    상기 하나 또는 복수의 계획 주기 중 각각의 계획 주기에 대해, 상기 계획 스티어링 명령어와 상기 현재 스티어링 피드백 간 차이를 산출하는 단계;
    상기 차이가 상기 기설정 스티어링 변화 임계값 내인 경우, 다음 스무딩 스티어링 명령어를 상기 계획 스티어링 명령어로서 생성하는 단계; 및
    상기 차이가 상기 기설정 스티어링 변화 임계값보다 큰 경우, 상기 현재 스티어링 피드백 및 상기 기설정 스티어링 변화 임계값에 기반하여 상기 다음 스무딩 스티어링 명령어를 생성하는 단계;를 포함하는 컴퓨터 구현 방법.
  3. 제2 항에 있어서,
    상기 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여 상기 ADV를 제어하는 단계는,
    상기 다음 스무딩 스티어링 명령어를 실행하도록, 상기 ADV의 제어 구역 네트워크(CAN) 버스에 다음 현재 스티어링 명령어를 발송하는 단계;를 포함하는 컴퓨터 구현 방법.
  4. 제2 항에 있어서,
    상기 차이가 상기 기설정 스티어링 변화 임계값보다 큰 경우, 상기 다음 스무딩 스티어링 명령어를 상기 현재 스티어링 피드백과 상기 기설정 스티어링 변화 임계값의 합으로 계산하는 컴퓨터 구현 방법.
  5. 제1 항에 있어서,
    상기 ADV의 제조업체의 설정에 기반하여 상기 ADV를 위한 스티어링 변화율을 결정하는 단계를 더 포함하되,
    상기 기설정 스티어링 변화 임계값은 상기 ADV를 위한 상기 스티어링 변화율에 기반하여 설정되는 컴퓨터 구현 방법.
  6. 제5 항에 있어서,
    상기 기설정 스티어링 변화 임계값을 기본 스티어링 변화값 또는 상기 ADV의 상기 제조업체의 설정에 기반하여 결정된 상기 스티어링 변화율 중 최소값으로 설정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  7. 제6 항에 있어서,
    상기 ADV의 상기 제조업체 설정에 상기 스티어링 변화율이 누락된 경우, 상기 기설정 스티어링 변화 임계값을 상기 기본 스티어링 변화값으로 설정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  8. 제7 항에 있어서,
    상기 기본 스티어링 변화값은 계획 주기당 약 5도인 컴퓨터 구현 방법.
  9. 명령어가 저장된 비 일시적 기계 판독 가능한 저장 매체에 있어서,
    상기 명령어가 하나 또는 복수의 프로세서에 의해 실행될 경우 상기 하나 또는 복수의 프로세서가,
    ADV의 주행 궤적에 기반하여 계획 스티어링 명령어를 결정하는 동작;
    상기 ADV의 센서로부터 현재 계획 주기에 대한 현재 스티어링 피드백을 수신하는 동작;
    하나 또는 복수의 계획 주기에서의 상기 계획 스티어링 명령어 및 상기 현재 스티어링 피드백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성하는 동작; 및
    상기 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여, 스무딩 스티어링을 유도하기 위해 임의의 계획 주기 동안 상기 ADV에 적용되는 스티어링 변화가 상기 ADV의 기설정 스티어링 변화 임계값 내에 처하도록 상기 ADV를 제어하는 동작;을 수행하도록 하는 비 일시적 기계 판독 가능한 저장 매체.
  10. 제9 항에 있어서,
    하나 또는 복수의 계획 주기에서의 상기 계획 스티어링 명령어 및 상기 현재 스티어링 피드백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성하는 동작은,
    상기 하나 또는 복수의 계획 주기 중 각각의 계획 주기에 대해, 상기 계획 스티어링 명령어와 상기 현재 스티어링 피드백 간 차이를 산출하는 동작;
    상기 차이가 상기 기설정 스티어링 변화 임계값 내인 경우, 다음 스무딩 스티어링 명령어를 상기 계획 스티어링 명령어로서 생성하는 동작; 및
    상기 차이가 상기 기설정 스티어링 변화 임계값보다 큰 경우, 상기 현재 스티어링 피드백 및 상기 기설정 스티어링 변화 임계값에 기반하여 상기 다음 스무딩 스티어링 명령어를 생성하는 동작;을 포함하는 비 일시적 기계 판독 가능한 저장 매체.
  11. 제10 항에 있어서,
    상기 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여 상기 ADV를 제어하는 동작은,
    상기 다음 스무딩 스티어링 명령어를 실행하도록, 상기 ADV의 제어 구역 네트워크(CAN) 버스에 상기 다음 현재 스티어링 명령어를 발송하는 동작을 포함하는 비 일시적 기계 판독 가능한 저장 매체.
  12. 제10 항에 있어서,
    상기 차이가 상기 기설정 스티어링 변화 임계값보다 큰 경우, 상기 다음 스무딩 스티어링 명령어를 상기 현재 스티어링 피드백과 상기 기설정 스티어링 변화 임계값의 합으로 계산하는 비 일시적 기계 판독 가능한 저장 매체.
  13. 제9 항에 있어서,
    상기 프로세스는,
    상기 ADV의 제조업체의 설정에 기반하여 상기 ADV를 위한 스티어링 변화율을 결정하는 동작을 더 수행하되,
    상기 기설정 스티어링 변화 임계값은 상기 ADV를 위한 상기 스티어링 변화율에 기반하여 설정되는 비 일시적 기계 판독 가능한 저장 매체.
  14. 제13 항에 있어서,
    상기 프로세스는,
    상기 기설정 스티어링 변화 임계값을 기본 스티어링 변화값 또는 상기 ADV의 상기 제조업체의 설정에 기반하여 결정된 상기 스티어링 변화율 중 최소값으로 설정하는 동작을 더 수행하는 비 일시적 기계 판독 가능한 저장 매체.
  15. 제14 항에 있어서,
    상기 프로세스는,
    상기 ADV의 상기 제조업체 설정에 상기 스티어링 변화율이 누락된 경우, 상기 기설정 스티어링 변화 임계값을 상기 기본 스티어링 변화값으로 설정하는 동작을 더 수행하는 비 일시적 기계 판독 가능한 저장 매체.
  16. 제15 항에 있어서,
    상기 기본 스티어링 변화값은 계획 주기당 약 5도인 비 일시적 기계 판독 가능한 저장 매체.
  17. 데이터 처리 시스템에 있어서,
    하나 또는 복수의 프로세서; 및
    명령어를 저장하며 상기 하나 또는 복수의 프로세서에 연결된 저장 장치;를 포함하되, 상기 명령어가 상기 하나 또는 복수의 프로세서에 의해 실행될 경우, 상기 하나 또는 복수의 프로세서가,
    ADV의 주행 궤적에 기반하여 계획 스티어링 명령어를 결정하는 동작;
    상기 ADV의 센서로부터 현재 계획 주기에 대한 현재 스티어링 피드백을 수신하는 동작;
    하나 또는 복수의 계획 주기에서의 상기 계획 스티어링 명령어 및 상기 현재 스티어링 피드백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성하는 동작; 및
    상기 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여, 스무딩 스티어링을 유도하기 위해 임의의 계획 주기 동안 상기 ADV에 적용되는 스티어링 변화가 상기 ADV의 기설정 스티어링 변화 임계값 내에 처하도록 상기 ADV를 제어하는 동작;을 수행하도록 하는 데이터 처리 시스템.
  18. 제17 항에 있어서,
    하나 또는 복수의 계획 주기에서의 상기 계획 스티어링 명령어 및 상기 현재 스티어링 피드백에 기반하여 하나 또는 복수의 스무딩 스티어링 명령어를 생성하는 동작은,
    상기 하나 또는 복수의 계획 주기 중 각각의 계획 주기에 대해, 상기 계획 스티어링 명령어와 상기 현재 스티어링 피드백 간 차이를 산출하는 동작;
    상기 차이가 상기 기설정 스티어링 변화 임계값 내인 경우, 다음 스무딩 스티어링 명령어를 상기 계획 스티어링 명령어로서 생성하는 동작; 및
    상기 차이가 상기 기설정 스티어링 변화 임계값보다 큰 경우, 상기 현재 스티어링 피드백 및 상기 기설정 스티어링 변화 임계값에 기반하여 상기 다음 스무딩 스티어링 명령어를 생성하는 동작;을 포함하는 데이터 처리 시스템.
  19. 제18 항에 있어서,
    상기 하나 또는 복수의 스무딩 스티어링 명령어에 기반하여 상기 ADV를 제어하는 동작은,
    상기 다음 스무딩 스티어링 명령어를 실행하도록, 상기 ADV의 제어 구역 네트워크(CAN) 버스에 상기 다음 현재 스티어링 명령어를 발송하는 동작을 포함하는 데이터 처리 시스템.
  20. 제17 항에 있어서,
    상기 프로세스는,
    상기 ADV의 제조업체의 설정에 기반하여 상기 ADV를 위한 스티어링 변화율을 결정하는 동작을 더 수행하되,
    상기 기설정 스티어링 변화 임계값은 상기 ADV를 위한 상기 스티어링 변화율에 기반하여 설정되는 데이터 처리 시스템.
KR1020200131877A 2020-03-25 2020-10-13 피드백을 이용한 자율 주행 차량의 점진식 측면 제어 시스템 KR102444991B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/829,326 US11479265B2 (en) 2020-03-25 2020-03-25 Incremental lateral control system using feedbacks for autonomous driving vehicles
US16/829,326 2020-03-25

Publications (2)

Publication Number Publication Date
KR20210119865A true KR20210119865A (ko) 2021-10-06
KR102444991B1 KR102444991B1 (ko) 2022-09-19

Family

ID=72474235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200131877A KR102444991B1 (ko) 2020-03-25 2020-10-13 피드백을 이용한 자율 주행 차량의 점진식 측면 제어 시스템

Country Status (5)

Country Link
US (1) US11479265B2 (ko)
EP (1) EP3885238B1 (ko)
JP (1) JP6995176B2 (ko)
KR (1) KR102444991B1 (ko)
CN (1) CN113442945B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7259574B2 (ja) * 2019-06-17 2023-04-18 株式会社ジェイテクト 制御装置、および転舵装置
JP7480509B2 (ja) * 2020-01-13 2024-05-10 株式会社デンソー 操舵制御装置、操舵制御方法、操舵制御プログラム
CN114394113B (zh) * 2022-01-19 2023-08-25 广州小鹏自动驾驶科技有限公司 车辆轨迹重规划方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002333922A (ja) * 2001-05-10 2002-11-22 Isuzu Motors Ltd 自動操舵装置
US20130041557A1 (en) * 2010-06-04 2013-02-14 Mitsubishi Electric Corporation Automatic steering apparatus
JP2017024683A (ja) * 2015-07-28 2017-02-02 株式会社ジェイテクト 車両用操舵装置
KR20180074676A (ko) * 2016-11-21 2018-07-03 바이두 유에스에이 엘엘씨 자율 주행 차량의 조향률의 동적 조정
US20190039647A1 (en) * 2016-07-28 2019-02-07 Nsk Ltd. Electric power steering apparatus
JP2019034616A (ja) * 2017-08-14 2019-03-07 日本精工株式会社 電動パワーステアリング装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2605361B2 (ja) * 1988-07-01 1997-04-30 日産自動車株式会社 車両用実舵角制御装置
US5648901A (en) * 1990-02-05 1997-07-15 Caterpillar Inc. System and method for generating paths in an autonomous vehicle
JP4069886B2 (ja) * 2004-03-15 2008-04-02 トヨタ自動車株式会社 車輌の挙動制御装置
JP5218028B2 (ja) * 2008-12-25 2013-06-26 日産自動車株式会社 車両用操舵制御装置及び車両用操舵制御方法
NZ592381A (en) * 2011-04-20 2013-07-26 Dynamic Controls Steering control system for a manual wheelchair for maintaining straight line path of travel
US9751558B2 (en) * 2015-03-25 2017-09-05 Ford Global Technologies, Llc Handwheel obstruction detection and inertia compensation
US10118639B2 (en) * 2016-11-24 2018-11-06 Baidu Usa Llc Method and system for steering control of an autonomous vehicle using proportional, integral, and derivative (PID) controller
DE102016225971A1 (de) 2016-12-22 2018-06-28 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Steuereinheit zur Begrenzung der Fahrgeschwindigkeit
JP6489135B2 (ja) * 2017-01-13 2019-03-27 トヨタ自動車株式会社 車両の運転支援装置
DE102018105406B4 (de) * 2017-03-10 2022-11-03 Steering Solutions Ip Holding Corporation System und verfahren zur lenkungssteuerung für ein autonomes fahrzeug
CN106864459B (zh) * 2017-03-16 2018-12-14 北理慧动(常熟)车辆科技有限公司 一种无人驾驶车辆自动转向装置的转向控制方法
CN107329465B (zh) * 2017-06-19 2019-08-09 上海航天控制技术研究所 一种基于数据链的电动舵机工作状态监控方法
JP6439218B1 (ja) 2017-08-15 2018-12-19 東鉄工業株式会社 昇降装置
US10427716B2 (en) * 2017-09-12 2019-10-01 Ford Global Technologies, Llc Hitch assist system and method
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
CN110228524B (zh) * 2018-03-06 2021-09-14 重庆邮电大学 基于多层模糊控制的无人车辆自动转向控制方法
US10852737B2 (en) * 2018-03-22 2020-12-01 Micron Technology, Inc. Power management, dynamic routing and memory management for autonomous driving vehicles
CN108860293B (zh) * 2018-06-05 2020-06-26 北京智行者科技有限公司 一种转向控制方法及转向控制装置
US10551840B2 (en) * 2018-07-02 2020-02-04 Baidu Usa Llc Planning driven perception system for autonomous driving vehicles
US10739768B2 (en) * 2018-08-08 2020-08-11 Toyota Motor Engineering & Manufacturing North America, Inc. Smoothed and regularized Fischer-Burmeister solver for embedded real-time constrained optimal control problems in autonomous systems
US20200070888A1 (en) * 2018-08-31 2020-03-05 Steering Solutions Ip Holding Corporation Method and product for handling driver intervention in an autonomous steering system
US11697418B2 (en) * 2018-09-06 2023-07-11 Waymo Llc Road friction and wheel slippage assessment for autonomous vehicles
US20200159233A1 (en) * 2018-11-16 2020-05-21 Great Wall Motor Company Limited Memory-Based Optimal Motion Planning With Dynamic Model For Automated Vehicle
WO2020157683A1 (en) * 2019-01-29 2020-08-06 Aptiv Technologies Limited Electric power steering torque compensation
CN109866820B (zh) * 2019-03-20 2021-02-02 莫日华 一种基于图像识别的线控转向汽车自动驾驶方法
JP7215307B2 (ja) * 2019-04-10 2023-01-31 トヨタ自動車株式会社 車両制御インタフェースおよび車両システム
US11648980B2 (en) * 2019-04-30 2023-05-16 Steering Solutions Ip Holding Corporation Steering systems use and failure monitoring
KR102645060B1 (ko) * 2019-06-12 2024-03-11 현대자동차주식회사 차량 단말기 및 그의 조향 제어 방법
US11772557B2 (en) * 2019-11-05 2023-10-03 Ford Global Technologies, Llc Guided coaching for vehicle positioning to operate an automated hitching feature
US11447132B2 (en) * 2020-02-20 2022-09-20 Ford Global Technologies, Llc Trailer hitching assistance system with dynamic vehicle control processing
US11492008B2 (en) * 2020-02-21 2022-11-08 Baidu Usa Llc Model reference adaptive control algorithm to address the vehicle actuation dynamics

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002333922A (ja) * 2001-05-10 2002-11-22 Isuzu Motors Ltd 自動操舵装置
US20130041557A1 (en) * 2010-06-04 2013-02-14 Mitsubishi Electric Corporation Automatic steering apparatus
JP2017024683A (ja) * 2015-07-28 2017-02-02 株式会社ジェイテクト 車両用操舵装置
US20190039647A1 (en) * 2016-07-28 2019-02-07 Nsk Ltd. Electric power steering apparatus
KR20180074676A (ko) * 2016-11-21 2018-07-03 바이두 유에스에이 엘엘씨 자율 주행 차량의 조향률의 동적 조정
JP2019034616A (ja) * 2017-08-14 2019-03-07 日本精工株式会社 電動パワーステアリング装置

Also Published As

Publication number Publication date
JP6995176B2 (ja) 2022-02-04
EP3885238B1 (en) 2023-12-27
JP2021155017A (ja) 2021-10-07
US20210300411A1 (en) 2021-09-30
CN113442945B (zh) 2024-04-09
CN113442945A (zh) 2021-09-28
EP3885238A1 (en) 2021-09-29
US11479265B2 (en) 2022-10-25
KR102444991B1 (ko) 2022-09-19

Similar Documents

Publication Publication Date Title
US11442450B2 (en) Method for determining passable area in planning a path of autonomous driving vehicles
US10915766B2 (en) Method for detecting closest in-path object (CIPO) for autonomous driving
KR102444991B1 (ko) 피드백을 이용한 자율 주행 차량의 점진식 측면 제어 시스템
CN113448329B (zh) 减少用于规划自主驾驶车辆的路径的障碍物的方法及系统
US11880201B2 (en) Fastest lane determination algorithm under traffic jam
US11713057B2 (en) Feedback based real time steering calibration system
CN112985435B (zh) 用于操作自主驾驶车辆的方法及系统
CN113247017B (zh) 用于确保自动驾驶车辆的稳定绕行的双缓冲系统
US11787440B2 (en) Lane boundary and vehicle speed based nudge decision
US11904890B2 (en) Lane change system for lanes with different speed limits
US11518404B2 (en) Static-state curvature error compensation control logic for autonomous driving vehicles
US20210284195A1 (en) Obstacle prediction system for autonomous driving vehicles
US11608056B2 (en) Post collision damage reduction brake system incorporating front obstacle avoidance
CN113428174A (zh) 自动驾驶车辆规划中的嵌套情景
US11231501B2 (en) Front and side three-LIDAR design for autonomous driving vehicles
CN113753071A (zh) 预防减速规划
CN212515471U (zh) 用于自动驾驶车辆的光探测和测距装置
US11662219B2 (en) Routing based lane guidance system under traffic cone situation
US20230202516A1 (en) Planning under prediction with confidence region for an autonomous driving vehicle
US11577644B2 (en) L3-level auto-emergency light system for ego vehicle harsh brake
CN113508350B (zh) 基于反馈的实时转向校准系统
US20210155237A1 (en) Method for optimizing three-point turn of autonomous driving vehicles
CN113525510A (zh) 自动将自主驾驶车辆的转向返回至中心位置的系统和方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant