KR20220060404A - 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치 - Google Patents

자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치 Download PDF

Info

Publication number
KR20220060404A
KR20220060404A KR1020200146361A KR20200146361A KR20220060404A KR 20220060404 A KR20220060404 A KR 20220060404A KR 1020200146361 A KR1020200146361 A KR 1020200146361A KR 20200146361 A KR20200146361 A KR 20200146361A KR 20220060404 A KR20220060404 A KR 20220060404A
Authority
KR
South Korea
Prior art keywords
test case
generating
input signal
temporary
output signal
Prior art date
Application number
KR1020200146361A
Other languages
English (en)
Inventor
임홍열
김봉주
Original Assignee
현대자동차주식회사
기아 주식회사
현대오토에버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사, 현대오토에버 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020200146361A priority Critical patent/KR20220060404A/ko
Priority to US17/387,339 priority patent/US11878705B2/en
Priority to CN202110911934.0A priority patent/CN114443462A/zh
Publication of KR20220060404A publication Critical patent/KR20220060404A/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
    • 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/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • 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/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • 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/0019Control system elements or transfer functions
    • B60W2050/0022Gains, weighting coefficients or weighting functions
    • 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/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/005Sampling
    • 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/403Image sensing, e.g. optical camera
    • 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
    • B60W2420/42
    • B60W2420/52
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • G05D2201/0213
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Traffic Control Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)

Abstract

본 발명은 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치에 관한 것으로서, 본 발명의 일 실시 예에 따른 자율 주행 시스템의 동적 검증을 위한 테스트 케이스(Test Case, TC) 생성 방법은 입력 신호를 수신하는 단계와 상기 입력 신호에 기반하여 임시 TC를 생성하는 단계와 상기 입력 신호에 상응하는 제1 출력 신호와 상기 임시 TC에 상응하는 제2 출력 신호에 기반하여 확정 TC를 결정하는 단계와 상기 확정 TC를 재정렬하여 최종 TC를 결정하는 단계와 상기 최종 TC를 외부 장치로 전송하는 단계를 포함할 수 있다.

Description

자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING TEST CASE FOR DYNAMIC VERIFICATION OF AUTONOMOUS DRIVING SYSTEM}
본 발명은 자율 주행에 관한 것으로, 보다 상세하게는 자율 주행 시스템에 탑재되는 소프트웨어의 동적 검증을 위한 신뢰성 있는 테스트 케이스를 생성하는 기술에 관한 것이다.
자율 주행 차량은 주행 중 실시간 변화하는 주변 상황에 따라 적응적으로 대처할 수 있는 능력이 요구된다.
자율 주행 차량의 양산 및 활성화를 위해서는 무엇보다 신뢰할 수 있는 판단 제어 기능이 요구된다.
최근 출시되고 있는 자율 주행 차량은 기본적으로 구동, 제동 및 조향을 운전자 대신 수행하여 운전자의 피로도를 감소시켜 준다.
최근 자율 주행 차량에는 HDA(Highway Driving Assist) 기능, 졸음 운전, 시선 이탈 등의 운전자 부주의 및 상태 이상을 판단하여 클러스터 등을 통해 경고 알람을 출력하는 DSW(Driver Status Warning) 기능, 전방 카메라를 통해 차량이 차선을 넘나들며 불안한 주행을 하는지 등을 확인하는 DAW(Driver Awareness Warning) 기능, 전방 추돌 감지 시 급제동을 수행하는 FCA(Forward Collision-Avoidance Assist) 또는 AEBS(Active Emergency Brake System) 기능 등이 장착되어 판매되고 있다.
자율 주행 제어기에 탑재되는 소프트웨어는 자이로 센서 및 가속도 센서 등의 차량 동역학적 센서들과 GPS(Global Positioning System), 라이다(Lidar), 레이다(Radar), 카메라, 정밀 지도맵 등과 같은 주변 인식 센서들에 의해 인식된 정보를 입력 받은 후 이를 재처리하여 각종 제어 명령을 생성한다.
자율 주행 제어기에 탑재되는 소프트웨어는 측위/인지/판단/제어를 위한 각종 세부 모듈들이 서로 종속적인 관계를 갖는 복잡한 구조를 가지며, 이로 인해 오동작의 위험도를 증가시킨다.
따라서, 자율 주행 제어기에 탑재되는 소프트웨어의 신뢰성 및 안전성을 검증하기 위한 방법이 요구된다.
자율 주행 소프트웨어는 크게 코드 기반 검증과 타겟 보드 기반 검증으로 구분될 수 있다.
코드 기반 검증은 일반적으로 정적 검증과 동적 검증이 있다.
소프트웨어(이하 SW, 소스 코드와 동일 의미)의 검증 분야에 있어서, 동적 검증은 시스템의 입력에 대해 SW의 출력이 시스템 설계 명세서와 SW 설계 명세서를 만족하는지를 확인하기 위한 것으로서, 단위 테스트, 통합 테스트 및 시스템 테스트를 포함한다.
정적 검증은 타겟 보드에서 실시간으로 오류를 검출할 수 없는 단점이 있다.
기존 동적 검증의 경우, 툴에 의해 자동으로 생성된 테스트 케이스를 사용하므로 실제 주행 환경을 정확히 반영하기 어려우며, 이에 따라 기존 동적 검증을 통해 얻어진 결론은 신뢰성을 보장하기 힘든 단점이 있었다.
타겟 보드 기반 검증은 동적 검증에서 생성된 테스트 케이스들을 사용하여 검증하는 방법이다. 자율 주행 제어기에는 다양한 칩이 장착될 수 있으며, 칩 제조사에는 제공하는 프로세스 관리 유닛이 있는 경우 하드웨어적인 프로파일링 기법을 통해 실제 동작 중 발생되는 오류가 검출될 수 있다.
따라서, 타겟 보드에 탑재되는 제어 모듈을 정확하게 검증하기 위해서는 신뢰성 있는 테스트 케이스 생성이 중요하다.
본 발명의 실시 예는 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치를 제공하고자 한다.
본 발명의 다른 실시 예는 자율 주행 소프트웨어의 동적 검증을 위해 실차에서 측정된 데이터를 기반으로 신뢰성 있는 테스트 케이스를 생성하는 것이 가능한 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치를 제공하고자 한다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시 예에 따른 자율 주행 시스템의 동적 검증을 위한 테스트 케이스(Test Case, TC) 생성 방법은 입력 신호를 수신하는 단계와 상기 입력 신호에 기반하여 임시 TC를 생성하는 단계와 상기 입력 신호에 상응하는 제1 출력 신호와 상기 임시 TC에 상응하는 제2 출력 신호에 기반하여 확정 TC를 결정하는 단계와 상기 확정 TC를 재정렬하여 최종 TC를 결정하는 단계와 상기 최종 TC를 외부 장치로 전송하는 단계를 포함할 수 있다.
실시 예로, 상기 입력 신호는 외부 센서 및 신호 게이트웨이로부터 수신될 수 있다.
실시 예로, 상기 외부 센서는 GNSS(Global Navigation Satellite System), 카메라, 라이다 및 레이다 중 적어도 하나를 포함할 수 있다.
실시 예로, 상기 입력 신호에 기반하여 임시 TC를 생성하는 단계는 상기 입력 신호를 리샘플링하는 단계와 상기 리샘플링된 입력 신호를 랜덤 시간 배열로 재조합하는 단계를 포함할 수 있다.
실시 예로, 상기 입력 신호는 특정 주기로 리샘플링되고, 상기 특정 주기는 상기 입력 신호 중 가장 빠른 신호를 기준으로 결정될 수 있다.
실시 예로, 상기 방법은 상기 임시 TC를 인버스 리샘플링하여 부제어기로 전송하는 단계와 상기 입력 신호를 주제어기로 전송하는 단계를 포함하고, 상기 제1 출력 신호는 상기 주제어기에 의해 생성되어 상기 부제어기로 전송되고, 상기 제2 출력 신호는 부제어기에 의해 생성될 수 있다.
실시 예로, 상기 방법은 상기 제1 출력 신호와 상기 제2 출력 신호의 차이 값을 소정 임계치와 비교하는 단계를 더 포함하고, 상기 차이 값이 상기 임계치보다 작은 임시 TC가 상기 확정 TC로 결정되고, 상기 차이 값이 상기 임계치 이상인 임시 TC가 폐기될 수 있다.
실시 예로, 상기 방법은 상기 차이 값에 반비례하도록 상기 확정 TC 별 가중치를 적용하는 단계와 상기 가중치에 기반하여 상기 확정 TC를 재정렬하는 단계를 더 포함할 수 있다.
실시 예로, 상기 재정렬된 확정 TC와 상기 폐기된 임시 TC를 대체하는 입력 신호를 조합하여 상기 최종 TC가 결정될 수 있다.
실시 예로, 상기 방법은 이동 재조합 기법에 따라 더블 버퍼를 실시간 갱신 및 스왑(Swap)한 후 상기 더블 버퍼 내 신호 전체를 PC로 전송하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시 예에 따른 자율 주행 시스템의 동적 검증을 위한 테스트 케이스(Test Case, TC) 생성 장치는 입력 신호를 출력하는 센서와 상기 센서로부터 수신된 상기 입력 신호에 기반하여 임시 테스트 케이스(Test Case, TC)를 생성하는 TC 생성기와 상기 TC 생성기로부터 수신된 상기 입력 신호에 기반하여 제1 출력 신호를 생성하는 주제어기와 상기 TC 생성기로부터 상기 임시 TC를 수신하여 제2 출력 신호를 생성하는 부제어기를 포함하고, 상기 TC 생성기가 상기 제1 출력 신호와 상기 제2 출력 신호의 차이 값에 기반하여 결정된 확정 TC를 재정렬한 후 최종 TC를 외부 장치로 전송할 수 있다.
실시 예로, 상기 입력 신호는 외부 센서 및 신호 게이트웨이로부터 수신될 수 있다.
실시 예로, 상기 외부 센서는 GNSS(Global Navigation Satellite System), 카메라, 라이다 및 레이다 중 적어도 하나를 포함할 수 있다.
실시 예로, 상기 TC 생성기가 상기 입력 신호를 리샘플링한 후 랜덤 시간 배열로 재조합하여 상기 임시 TC를 생성할 수 있다.
실시 예로, 상기 입력 신호는 특정 주기로 리샘플링되고, 상기 특정 주기는 상기 입력 신호 중 가장 빠른 신호를 기준으로 결정될 수 있다.
실시 예로, 상기 TC 생성기는 상기 임시 TC를 인버스 리샘플링하여 부제어기로 전송하고, 상기 제1 출력 신호는 상기 부제어기로 전송되고, 상기 부제어기가 상기 제1 출력 신호와 상기 제2 출력 신호의 차이 값을 산출하여 상기 TC 생성기로 전송할 수 있다.
실시 예로, 상기 TC 생성기는 상기 제1 출력 신호와 상기 제2 출력 신호의 차이 값이 소정 임계치보다 작은 임시 TC를 상기 확정 TC로 결정하고, 상기 차이 값이 상기 임계치 이상인 임시 TC를 폐기할 수 있다.
실시 예로, 상기 TC 생성기는 상기 차이 값에 반비례하도록 상기 확정 TC 별 가중치를 적용하고, 상기 가중치에 기반하여 상기 확정 TC를 재정렬할 수 있다.
실시 예로, 상기 재정렬된 확정 TC와 상기 폐기된 임시 TC를 대체하는 입력 신호를 조합하여 상기 최종 TC가 결정될 수 있다.
실시 예로, 상기 TC 생성기는 이동 재조합 기법에 따라 더블 버퍼를 실시간 갱신 및 스왑하여 상기 더블 버퍼 내 신호 전체를 PC로 전송할 수 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명은 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치를 제공하는 장점이 있다.
또한, 본 발명은 자율 주행 소프트웨어의 동적 검증을 위해 실차에서 측정된 데이터를 기반으로 신뢰성 있는 테스트 케이스를 생성하는 것이 가능한 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치를 제공하는 장점이 있다.
또한, 본 발명은 자율 주행 제어기의 동작이 완료되는 시점에 동적 검증 자동 결과서 자동 출력되어 별도의 엔지니어링 공수가 들지 않는 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치를 제공하는 장점이 있다.
또한 본 발명에 따라 생성된 테스트 케이스는 자율 주행 제어기가 동작하는 실제 환경 특성을 반영하므로 동적 검증 결과에 대한 신뢰성을 향상시킬 뿐만 아니라 동적 검증 결과들은 자율 주행 시스템의 한계를 결정하는데 효과적으로 사용될 수 있는 장점이 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 자율 주행 차량의 자동화 레벨이 정의된 테이블이다.
도 2는 본 발명의 실시 예에 따른 자율 주행 시스템의 구조를 설명하기 위한 블록도이다.
도 3은 실시 예에 따른 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법을 설명하기 위한 순서도이다.
도 4는 실시 예에 따른 확정 TC 재정렬 절차를 설명하기 위한 도면이다.
도 5는 실시 예에 따른 이동 재조합 기법을 사용하여 더블 버퍼를 갱신하는 절차를 설명하기 위한 도면이다.
도 6은 본 발명의 다른 실시 예에 따른 자율 주행 제어 장치의 구조를 설명하기 위한 블록도이다.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시 예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 도 1 내지 도 6을 참조하여, 본 발명의 실시 예들을 구체적으로 설명하기로 한다.
소프트웨어(Software, 이하, SW라 명함) 동적 검증은 크게 블랙 박스 테스트와 화이트 박스 테스트로 구분될 수 있다.
블랙 박스 테스트는 시스템 실행 관점에서 테스트를 수행하는 방법으로서, 테스트 케이스(Test Case, 이하, TC라 명함)를 생성하고, TC 별 기대하는 출력 값을 정의한 후 해당 시스템에 TC를 인가하여 해당 TC에 상응하는 기대 값이 출력되는지를 확인하여 SW를 검증하는 방법이다. 따라서, 블랙 박스 테스트는 해당 SW에 대한 동작의 유효성을 검증하는 것이 목적이다.
화이트 박스 테스트는 SW 실행 관점에서 테스트를 수행하는 방법으로서, 해당 SW 코드가 어떤 경로로 실행되는지를 확인하여 불필요한 코드 또는 데드라인(실행되지 않는 구간)이 존재하는지 여부를 검사할 수 있다.
블랙 박스 테스트와 화이트 박스 테스트 모두 시스템 또는 SW를 검증하기 위해 TC가 필요하다. 따라서, 검증 결과의 신뢰성을 높이기 위해서는 TC 선정이 중요하다.
블랙 박스 테스트는 올바른 입력과 올바르지 않은 입력을 모두 조합하기 때문에 시스템의 한계와 SW 세부 사양-즉, SW 명세서 또는 SW 세부 사양-가 정해지지 않은 개발 초기 단계에는 검사 결과의 신뢰성을 보장하기 힘든 단점이 있다.
화이트 박스 테스트는 코드 레벨에서 실행 경로와 커버리지를 분석하므로 자동화 툴을 사용할 수 있는 장점은 있으나 블랙 박스 테스트의 경우와 동일하게 개발 초기에는 SW 세부 사양 기반으로 검증 툴을 동작 시킬 수 없으므로, 비현실적 입력 값에 의한 불필요한 검증 결과가 생성될 수 있는 단점이 있다.
상술한 블랙 박스 테스트와 화이트 박스 테스트 모두 시스템의 한계와 SW 세부 사양이 정해지지 않은 개발 초기에는 SW 개발자나 시스템 사양 개발자 모두에게 신뢰성 있는 검증 결과를 제공하기 힘든 문제점이 있다.
상술한 동적 검증의 문제점을 해결하기 위한 본 발명의 목적은 개발 초기에 해당 SW에 대한 신뢰성 있는 동적 검증 결과서를 제공하는 것이다. 이를 위해 본 발명의 실시 예에 따른 자율 주행 제어기는 TC 생성기가 구비되며, 구동 중 모든 입력 데이터를 일정 주기로 재조합한 후 동적 검증 툴이 운영되는 PC에 인가하여 일정 시간 마다 동적 검증 결과서가 출력되도록 제어할 수 있다.
도 1은 자율 주행 차량의 자동화 레벨이 정의된 테이블이다.
자율 주행 차량은 자동차 스스로 주행 환경을 인지하여 위험을 판단하고 주행 경로를 제어하면서 운전자의 주행조작을 최소화하며 차량 스스로 운전하는 차량을 의미한다.
궁극적으로, 자율 주행 차량은 사람의 영향 없이 주행, 조종 및 주차가 가능한 차량을 의미하며, 자율 주행 자량의 핵심 토대인 자율 주행 기술-즉, 운전자의 능동적인 제어나 모니터링 없이도 차량을 운행할 수 있는 능력-이 최고도로 발전된 상태에 있는 차량에 초점을 맞춘 것이다.
도 1을 참조하면, 자동화 단계 LEVEL 0 내지 2는 운전자에 의해 주행 환경이 모니터링된다. 반면 자동화 단계 LEVEL 3 내지 5는 자동화된 주행 시스템에 의해 주행 환경이 모니터링된다.
하지만, 현재 출시되고 있는 자율 주행 차량의 개념은 완전한 의미의 자율 주행 차량으로 가는 중간 단계의 자동화 단계를 포함할 수 있으며, 완전 자율 주행 차량의 양산 및 상용화를 전제로 하는 목표지향적 개념에 해당한다.
본 발명에 따른 자율 주행 제어 방법은 상기 도 1에 도시된 자율 주행의 자동화 단계 중 LEVEL 2(부분 자율 주행) 및 LEVEL 3(조건부 자율 주행)에 해당되는 자율 주행 차량에 적용될 수 있으나, 반드시 이에 한정되지 않으며, 복수의 다양한 자동화 단계를 지원하는 자율 주행 차량에 적용될 수 있다.
미국 자동차 기술자 협회인 SAE(Society of Automotive Engineers) 기준 자율 주행 차량의 자동화 레벨은 상기 도 1의 표와 같이 분류될 수 있다.
도 2는 본 발명의 실시 예에 따른 자율 주행 시스템의 구조를 설명하기 위한 블록도이다.
도 2를 참조하면, 자율 주행 시스템(200)은 센서(210), 테스트 케이스 생성기(Test Case Builder, 220), 주제어기(Main Controller, 230), 부제어기(Sub-Controller, 240), PC(Personal Computer, 250) 및 신호 게이트웨이(260, 270) 및 제1 내지 제3 이더넷 스위치 및 물리 계층(281, 282, 283)을 포함하여 구성될 수 있다. 실시 예에 따른 자율 주행 시스템(200)은 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 장치일 수 있다.
실시 예에 따른 자율 주행 시스템(200)은 종래 자율 주행 시스템을 구성의 센서(210) 및 주제어기(230)에 실시간으로 TC를 생성하는 테스트 케이스 생성기(220), 동적 검증 툴이 탑재되어 백그라운드로 실행되는 PC(250) 및 TC의 신뢰성 향상을 위해 사용되는 부제어기(240)를 더 포함하여 구성될 수 있다.
실시 예로, 테스트 케이스 생성기(220)와 부제어기(240)는 CAN(Controller Area Network)을 통해 상호 정보를 교환할 수 있다.
센서(210)는 GNSS(Global Navigation Satellite System, 211), 라이다(Lidar, 212), 카메라(Camera, 213) 및 레이다(Rader, 214) 등을 포함할 수 있으나, 이에 한정되지는 않는다.
제1 이더넷 스위치 및 물리 계층(281) 및 제2 이더넷 스위치 물리 계층(281)은 테스트 케이스 생성기(220)에 구비될 수 있다.
테스트 케이스 생성기(220)는 제1 이더넷 스위치 및 물리 계층(281)을 통해 센서(210)로부터 각종 입력 신호를 수신할 수 있다.
테스트 케이스 생성기(220)는 신호 게이트웨이(260, 270)를 통해 외부 장치로부터 각종 입력 신호를 수신할 수 있다. 일 예로, 외부 장치는 후술할 도 6의 경고 알람부(621), HMI(Human Machine Interface, 622), 방향 지시기(623), 비상 점멸 표시기(624), 제동 시스템(625), 자세 제어 시스템(626), 조향 시스템(627), 변속 시스템(628), 구동 시스템(629), 생체 센서(607) 및 자율 주행을 위한 각종 운전자 보조 시스템(미도시) 중 적어도 하나를 포함할 수 있다.
테스트 케이스 생성기(220)는 제2 이더넷 스위치 및 물리 계층(282) 및 제3 이더넷 스위치 및 물리 계층(283)을 통해 수신된 입력 신호를 주제어기(230)로 전송할 수 있다.
주제어기(230)는 테스트 케이스 생성기(220)로부터 수신된 입력 신호에 기반하여 제1 출력 신호를 생성할 수 있다. 이때, 생성된 제1 출력 신호는 부제어기(240)로 전송될 수 있다.
테스트 케이스 생성기(220)에 인가되는 모든 입력 신호는 특정 시간 간격으로 리샘플링(Re-sampling)될 수 있다. 테스트 케이스 생성기(220)는 리샘플링된 입력 신호들을 랜덤 시간 배열로 재조합(Re-arrange)하여 임시 TC을 생성할 수 있다.
테스트 케이스 생성기(220)는 재조합된 개별 입력 신호-즉, 임시 TC-를 원래의 샘플 레이트로 변경-즉, Inverse Re-sampling을 수행-한 후 부제어기(240)에 전송할 수 있다.
실시 예로, 테스트 케이스 생성기(220)는 이동 재정렬 기법(Moving Re-arrange Method)를 이용하여 리샘플링된 입력 신호들을 재조합할 수 있다.
부제어기(240)는 임시 TC에 기반하여 제2 출력 신호를 생성할 수 있다.
부제어기(240)는 주제어기(230)로부터 수신된 1 출력 신호와 제2 출력 신호의 차이 값-이하, 출력 신호 차이 값-을 산출할 수 있다.
부제어기(240)는 출력 신호 차이 값을 테스트 케이스 생성기(220)로 전송할 수 있다.
테스트 케이스 생성기(220)는 출력 신호 차이 값에 기반하여 확정 TC를 결정할 수 있다.
여기서, 확정 TC는 출력 신호 차이 값이 소정 기준치 이하인 임시 TC로 결정될 수 있다.
테스트 케이스 생성기(220)는 출력 신호 차이 값이 소정 기준치를 초과하는 임시 TC를 폐기할 수 있다.
테스트 케이스 생성기(220)는 출력 신호 차이 값이 작은 순으로 확정 TC를 정렬할 수 있다.
테스트 케이스 생성기(220)는 정렬 순서에 기반하여 확정 TC 별 가중치를 할당할 수 있다.
테스트 케이스 생성기(220)는 임시 TC를 대신하는 입력 신호(들)과 가중치가 할당된 해당 확정 TC의 조합으로 생성된 신호 그룹인 최종 TC를 생성할 수 있다.
테스트 케이스 생성기(220)는 최종 TC를 해당 개별 입력 신호에 상응하는 샘플 레이트로 변경된 후 PC(250)로 전송할 수 있다.
상기한 도2의 실시 예에 있어서, 임시 TC를 생성하기 위한 모든 입력 신호를 리샘플링하는 이유는 하나의 for loop을 통해 모든 입력 신호들을 재조합 할 수 있기 때문에 다수의 for loop를 사용하는 방식에 비해 연산 시간을 절감할 수 있는 장점이 있다.
본 실시 예에 따른 테스트 케이스 생성기(220)는 아래의 두 단계를 통해 리샘블링과 인버스리샘플링(Inverse Re-sampling)을 수행할 수 있다.
1) 입력 신호 중 가장 빠른 신호를 기준으로 태스트(Task) 또는 쓰레드(Thread)를 생성한 후 입력되는 모든 신호들을 해당 태스크 또는 쓰레드에 저장
2) 저장된 모든 신호들에 대한 임시 TC를 생성한 후 부제어기(240)로 전송할 때 원래 신호들의 주기를 갖는 개별 테스크 또는 쓰레드에 의해 처리되도록 제어
따라서, 실시 예에 따른 테스트 케이스 생성기(220)는 비주기적인 입력 신호를 TC 생성 대상에서 제외시킬 수 있다.
테스트 케이스 생성기(220)는 제2 이더넷 스위치 및 물리 계층(282) 및 제3 이더넷 스위치 및 물리 계층(283)을 통해 최종 TC를 PC(250)에 전송할 수 있다.
도 3은 실시 예에 따른 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법을 설명하기 위한 순서도이다.
도 3에 따른 테스트 케이스 생성 방법은 자율 주행 시스템(200)의 테스트 케이스 생성기(220)에 의해 수행되는 일력의 동작을 포함할 수 있다. 이하, 설명의 편의를 위해, 테스트 케이스 생성기(220)를 TC 생성기(220)으로 명하여 설명하기로 한다.
도 2 및 도 3을 참조하면, TC 생성기(220)는 입력 신호를 특정 시간 간격으로 리샘플링할 수 있다(S301). 여기서, 리샘플링 주기는 입력 신호 중 가장 빠른 신호를 기준으로 결정될 수 있다.
TC 생성기(220)는 리샘플링된 입력 신호를 랜덤 시간 배열로 재조합하여 임시 TC를 생성할 수 있다(S302).
이때, TC 생성기(220)는 임시 TC를 원래의 샘플 레이트로 변경한 후 부제어기(240)로 전송하고, 임시 TC에 상응하는 입력 신호를 주제어기(230)로 전송할 수 있다. 주제어기(230)는 입력 신호에 기반하여 제1 출력 신호(Output 1)를 생성하여 부제어기(240)로 전송하고, 부제어기(230)는 임시 TC에 기반하여 제2 출력 신호(Output 2)를 생성할 수 있다. 부제어기(240)는 제1 출력 신호와 제2 출력 신호에 기반하여 출력 신호 차이 값(Diff = Output2 - Output1)을 생성한 후 TC 생성기(220)로 전송할 수 있다.
TC 생성기(220)는 출력 신호 차이 값과 소정 임계치를 비교할 수 있다(S304).
비교 결과, 출력 신호 차이 값이 임계치보다 작거나 같은 경우, TC 생성기(220)는 해당 임시 TC를 확정 TC로 결정할 수 있다. 반면, 비교 결과, 출력 신호 차이 값이 임계치보다 큰 경우, 해당 임시 TC를 폐기할 수 있다.
TC 생성기(220)는 확정 TC에 상응하는 출력 신호 차이 값에 반비례하도록 가중치를 적용한 후 적용된 가중치에 따라 확정 TC를 재정렬할 수 있다(S305).
반면, TC 생성기(220)는 폐기된 임시 TC의 메모리 공간에 입력 신호를 적용할 수 있다(S306).
TC 생성기(220)는 재정렬된 확정 TC와 폐기된 임시 TC에 상응하는 입력 신호를 조합하여 최종 TC를 결정할 수 있다(S307).
TC 생성기(220)는 더블 버퍼 갱신 및 스왑(Swap) 동작을 수행할 수 있다(S308).
TC 생성기(220)는 갱신 완료된 더블 버퍼 내 신호 전체를 PC(230)로 전송할 수 있다(S309).
도 4는 실시 예에 따른 확정 TC 재정렬 절차를 설명하기 위한 도면이다.
도 2 및 4를 참조하면, TC 생성기(220)는 특정 시구간(Ts) 동안 생성된 확정 TC들 각각의 출력 신호 차이 값에 따라 가중치가 적용할 수 있다.
TC 생성기(220)는 확정 TC 별 적용된 가중치 크기에 따라 확정 TC를 재정렬할 수 있다.
도 5는 실시 예에 따른 이동 재조합 기법을 사용하여 더블 버퍼를 갱신하는 절차를 설명하기 위한 도면이다.
도 5를 참조하여, 리샘플링된 입력 신호는 도면 번호 510에 도시된 바와 같이 랜덤 시간 배열로 이동 재조합(Moving Re-arrange) 기법을 통해 재조합될 수 있다. 여기서, 재조합된 입력 신호(임시 TC)와 리샘플링되기 이전의 원래 입력 신호는 도면 번호 520에 도시된 바와 같이, 더블 버퍼에 기록될 수 있다.
실시 예에 따른 더블 버퍼는 업데이트를 위한 영역인 제1 더블 버퍼와 전송을 위한 영역인 제2 더블 버퍼로 구성될 수 있다.
이동 재조합 기법에 따라 더블 버퍼는 실시간 업데이트되어 PC(250)으로 전송될 수 있다.
본 발명은 이동 재조합 기법을 사용한 더블 버퍼 업데이트를 수행함으로써 테스트 케이스에 대한 실시간성과 정합성을 보장할 수 있는 장점이 있다.
도 6은 본 발명의 다른 실시 예에 따른 자율 주행 제어 장치의 구조를 설명하기 위한 블록도이다.
도 6에 따른 자율 주행 제어 장치(600)는 레벨 2 이상의 자동화 레벨을 지원하는 자율 주행 차량에 장착될 수 있다.
이하 설명의 편의를 위해, 자율 주행 제어 장치(600)을 간단히 장치(600)라 명하여 설명하기로 한다.
도 6을 참조하면, 장치(600)는 GSP(Global Positioning System) 수신기(601), 차량 외부 정보 수집부(602), 차량 내부 정보 수집부(605), 정밀 지도 제공부(608), 자율 주행 제어기(610), 경고 알람부(621), HMI(Human Machine Interface, 622), 방향 지시기(623), 비상 점멸 표시기(624), 제동 시스템(625), 자세 제어 시스템(626), 조향 시스템(627), 변속 시스템(628), 구동 시스템(629) 및 기타 시스템(630)을 포함하여 구성될 수 있다.
상기 자율 주행 제어기(610)와 연동되는 시스템들은 각각 제어기가 구비되어 시스템의 고장 여부를 모니터링하고, 모니터링 결과를 자율 주행 제어기(610)의 고장 안전 모듈(618)로 전송할 수 있다.
GPS 수신기(601)는 측위 위성으로부터 측위 신호를 수신할 수 있다. 이때, 측위 신호는 차량의 지리적인 위치 정보를 생성하기 위해 사용될 수 있다.
차량 외부 정보 수집부(602)는 차량 주변 환경 정보 및 주행 상태 정보를 수집할 수 있다. 차량 외부 정보 수집부(602)는 레이다 및 라이다(603), 외부 카메라(604)를 포함하여 구성될 수 있다.
레이다/라이다(603)는 차량 주변의 물체를 감지할 수 있다.
레이다/라이다(603)는 차량의 전방, 측방 및 후방의 물체를 감지하고, 감지된 물체까지의 거리를 산출할 수 있다.
또한, 레이다/라이다(603)는 감지된 물체가 정적 객체인지 동적 객체인지를 구별하고, 감지된 동적 객체의 이동 속도가 얼마인지 측정하고, 감지된 동적 객체가 보행자인지 차량인지 구별할 수 있다.
또한, 레이다/레이다(603)는 고해상도 지형 스캔을 통해 주행 도로 및 시설물의 상태를 확인하기 위한 용도 등으로 사용될 수 있다.
외부 카메라(604)는 차량 외부에 장착되어 차량의 전방, 측방 및 후방의 영상을 촬영할 수 있다. 이를 위해, 차량에는 복수의 외부 카메라가 구비될 수 있다.
외부 카메라(604)에 의해 촬영된 영상은 차선 구별, 차량 주변 물체 식별, 증강 현실 구현 등의 용도로 사용될 수 있다.
차량 내부 정보 수집부(605)는 차량 내부의 각종 상태 정보를 수집할 수 있다.
차량 내부 정보 수집부(605)는 실내 카메라(606) 및 생체 센서(606)를 포함할 수 있다.
실내 카메라(606)는 차량 실내 일측에 장착되어 운전자 및 탑승자를 촬영할 수 있다.
실내 카메라(606)에 의해 촬영된 영상은 운전자의 시선 방향, 운전자의 상태-예를 들면, 운전자 주의 분산, 피곤도, 졸음 운전 등-를 모니터링하기 위한 용도로 사용될 수 있다.
생체 센서(606)는 차량의 일측에 장착되어 운전자의 각종 생체 정보를 수집할 수 있다.
생체 센서(606)는 운전자의 웨어러블 기기와 연동하여 운전자의 각종 생체 정보를 수집할 수도 있다.
일 예로, 생체 정보는 맥박 정보, 심박 모니터링 정보, 체온 정보, 혈중 알코올 농도 정보, 뇌파 정보, 지문 인식 정보, 홍체 인식 정보 등을 포함할 수 있으나 이에 한정되지는 않는다.
생체 정보는 운전 불능 상태, 음주 운전 상태, 졸음 운전 상태 등을 판별하기 위한 용도로 사용될 수 있다.
정밀 지도 제공부(608)는 자율 주행 제어기(610)의 요청에 따라 정밀 지도 정보를 제공할 수 있다.
자율 주행 제어기(610)는 정밀 측위부(611), 인지부(612), 제어 명령부(613), 운전자 상태 판단부(614), 사용자 입력부(615), 제어권 이양 판단부(616), 점등 제어부(617) 및 고장 안전 모듈(618)을 포함하여 구성될 수 있다.
정밀 측위부(611)는 GPS 수신기(601)로부터 수신된 측위 신호 정보 및 정밀 지도 제공부(608)로부터 획득한 정밀 지도 정보를 이용하여 자차의 현재 위치를 결정하고, 결정된 자차의 현재 위치를 정밀 지도상에 매핑할 수 있다.
또한, 정밀 측위부(611)는 자차 주행 도로의 상태 정보-예를 들면, 구배, 도로 타입, 차선 수, 제한 속도 등-를 식별할 수 있다.
인지부(312)는 레이다/라이다(603)로부터의 센싱 정보 및 외부 카메라(604)에 의해 촬영된 영상 정보에 기초하여 차선, 차량 주변 차량, 차량 주변 장애물 및 보행자 등을 인지할 수 있다.
인지부(612)는 제동 시스템(625), 자세 제어 시스템(626), 조향 시스템(627), 변속 시스템(628) 및 구동 시스템(629) 등과 연동하여 차속, 차속 거동 상태(예를 들면, 종/횡가속도) 등의 차량 주행 상태를 인식할 수 있다.
인지부(612)는 고장 안전 모듈(618) 등과 연동하여 차량에 구비된 각종 센서 및 엑츄에이터의 작동 상태를 인식할 수도 있다.
제어 명령부(613)는 인지부(612)의 인지 결과에 기초하여 요구 명령 값을 산출하고, 산출된 요구 명령 값을 해당 자율 주행 시스템으로 전송하여 주행 제어 및 자율 주행 레벨 제어를 수행할 수 있다.
운전자 상태 판단부(614)는 차량 내부 정보 수집부(605)로부터 획득한 차량 내부 상태 정보에 기초하여 운전자 상태를 판단할 수 있다.
여기서, 운전자 상태는 주의 분산 상태, 운전 불능 상태, 음주 운전 상태, 졸음 운전 상태, 피로도 등을 포함할 수 있으나, 이에 한정되지는 않는다.
사용자 입력부(615)는 HMI(622)로부터 수신되는 제어 신호에 기초하여 사용자 입력을 감지할 수 있다.
여기서, 사용자 입력은 시스템에서 운전자로의 제어권 이양을 수락하기 위한 소정 버튼 입력 신호, 소정 제스쳐 입력 신호 등을 포함할 수 있다.
또한, 사용자 입력은 자율 주행 레벨 변경 확인 요청에 대한 사용자 응답을 포함할 수 있다.
제어권 이양 판단부(314)는 인지부(312)로부터 획득한 각종 인지 정보, 차량 내부 정보 수집부(605)로부터 획득한 차량 내부 상태 정보 및 사용자 입력부(315)로부터 획득한 운전자 입력 정보 중 적어도 하나에 기반하여 시스템에서 운전자로의 제어권 이양이 필요한지 여부를 판단할 수 있다.
판단 결과, 제어권 이양이 필요한 경우, 제어권 이양 판단부(616)는 경고 알람부(621)에 소정 제어 신호를 송출하여 운전자로의 제어권 이양을 요청하는 소정 경고 알람 메시지가 출력되도록 제어할 수 있다.
점등 제어부(617)는 방향 지시기(623) 및 비상 점멸 표시기(624)의 점등을 제어할 수 있다.
고장 안전 모듈(618)은 자율 주행 중 감지된 고장 타입 및 차량 주변 주행 상황에 따라 최적의 고장 안전 전략을 결정할 수 있다.
고장 안전 모듈(618)은 결정된 고장 안전 전력에 따라 차량 제어를 수행하도록 제어 명령부(313)에 요청할 수 있다.
고장 안전 모듈(618)의 세부 구성 및 세부 동작은 후술할 도면의 설명을 통해 보다 명확해질 것이다.
제동 시스템(625)은 제동 관련 엑츄에이터의 동작을 제어하고, 상태를 모니터링할 수 있다.
일 예로, 제동 시스템(625)은 사람의 물리적인 힘이 아닌 전자 방식으로 제동력을 만드는 전자식 파킹 브레이크(EPB: Electric Parking Brake)를 포함할 수 있다.
자세 제어 시스템(626)은 차체의 자세를 안정적으로 유지하기 위한 엑츄에이터의 동작을 제어할 수 있다.
일 예로, 자세 제어 시스템(626)은 첨단 전자식 제동 장치인 ESC(Electronic Stability Control)를 포함할 수 있다.
ESC는 차량의 제동력과 구동력의 공조 제어를 통해 차량의 자세를 제어하는 장치이다. ESC는 ABS(Antii-lock Brake System)와 TCS(Tracibility Control System) 기능을 함께 제공할 수 있다.
ESC(Electronic Stability Control)는 조향각, 횡가속도, 요 레이트(Yaw-rate), 휠 스피드 센서 등에서 계측한 정보를 종합해 차체의 자세가 안정적으로 유지되고 있는지 판단하고, 이러한 정보를 바탕으로 네 바퀴의 제동력을 각각 제어하는 방식으로 작동할 수 있다.
조향 시스템(627)은 차량의 횡방향 거동을 제어하는 엑츄에이터의 동작을 제어할 수 있다.
일 예로, 조향 시스템(627)은 전동 파워 스티어링(MDPS: Motor Driven Power Steering)을 포함할 수 있다. MDPS는 유압이 아닌 전자 모터를 이용해 운전자 핸들링을 보조하는 장치로서, 안정적이 전원 공급 및 신호 송수신을 위해 이중화된 전원 입력 구조 및 다수의 신호 채널이 구비될 수 있다.
변속 시스템(628)은 자동 변속을 위한 엑츄에이터의 동작을 제어할 수 있다.
일 예로, 변속 시스템(623)은 자동 변속기 제어 유닛(TCU: Transmission Control Unit)을 포함할 수 있다.
TCU(Transmission Control Unit)는 TPS, 차량 속도, 엔진 회전수, 브레이크 스위치 입력 등에 기초하여 변속 단수 및 타이밍을 결정하여 자동 변속기를 제어할 수 있다.
구동 시스템(629)은 차량의 종방향 거동-즉, 주행 속도-를 제어하는 엑츄에이터의 동작을 제어할 수 있다. 예를 들면, 종방향 거동을 제어하기 위한 엑츄에이터는 쓰로틀(Throttle), 엑셀레이터 등을 포함할 수 있다.
일 예로, 구동 시스템(629)은 엔진 관리 시스템(EMS: Engine Management System)을 포함할 수 있다.
EMS는 전자 스로들 컨트롤(Electronic Throttle Control), 가솔린 다이렉트 인젝션(Gasoline Direct injection), 아이들스탑앤고(Idle Stop and Go) 기능을 수행할 수 있다.
기타 시스템(630)은 TPMS(Tire Pressure Monitoring System)와 같은 타이어 공기압을 측정하는 타이어 압력 측정 시스템, 연료 탱크 감지 시스템, 하이브리드 차량 및 전기차에 구비되는 배터리 관리 시스템 등을 포함할 수 있으나, 이에 한정되지는 않는다.
본 명세서에 개시된 실시 예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리 및/또는 스토리지)에 상주할 수도 있다.
예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 자율 주행 시스템의 동적 검증을 위한 테스트 케이스(Test Case, TC) 생성 방법에 있어서,
    입력 신호를 수신하는 단계;
    상기 입력 신호에 기반하여 임시 TC를 생성하는 단계;
    상기 입력 신호에 상응하는 제1 출력 신호와 상기 임시 TC에 상응하는 제2 출력 신호에 기반하여 확정 TC를 결정하는 단계;
    상기 확정 TC를 재정렬하여 최종 TC를 결정하는 단계; 및
    상기 최종 TC를 외부 장치로 전송하는 단계
    를 포함하는, 테스트 케이스 생성 방법.
  2. 상기 입력 신호는 외부 센서 및 신호 게이트웨이로부터 수신되는 것을 특징으로 하는, 테스트 케이스 생성 방법.
  3. 제1항에 있어서,
    상기 외부 센서는 GNSS(Global Navigation Satellite System), 카메라, 라이다 및 레이다 중 적어도 하나를 포함하는, 테스트 케이스 생성 방법.
  4. 제1항에 있어서,
    상기 입력 신호에 기반하여 임시 TC를 생성하는 단계는,
    상기 입력 신호를 리샘플링하는 단계; 및
    상기 리샘플링된 입력 신호를 랜덤 시간 배열로 재조합하는 단계
    를 포함하는 것을 특징으로 하는, 테스트 케이스 생성 방법.
  5. 제4항에 있어서,
    상기 입력 신호는 특정 주기로 리샘플링되고, 상기 특정 주기는 상기 입력 신호 중 가장 빠른 신호를 기준으로 결정되는 것을 특징으로 하는, 테스트 케이스 생성 방법.
  6. 제5항에 있어서,
    상기 임시 TC를 인버스 리샘플링하여 부제어기로 전송하는 단계; 및
    상기 입력 신호를 주제어기로 전송하는 단계
    를 포함하고, 상기 제1 출력 신호는 상기 주제어기에 의해 생성되어 상기 부제어기로 전송되고, 상기 제2 출력 신호는 부제어기에 의해 생성되는 것을 특징으로 하는, 테스트 케이스 생성 방법.
  7. 제1항에 있어서,
    상기 제1 출력 신호와 상기 제2 출력 신호의 차이 값을 소정 임계치와 비교하는 단계를 더 포함하고,
    상기 차이 값이 상기 임계치보다 작은 임시 TC가 상기 확정 TC로 결정되고, 상기 차이 값이 상기 임계치 이상인 임시 TC를 폐기하는 것을 특징으로 하는, 테스트 케이스 생성 방법.
  8. 제7항에 있어서,
    상기 차이 값에 반비례하도록 상기 확정 TC 별 가중치를 적용하는 단계; 및
    상기 가중치에 기반하여 상기 확정 TC를 재정렬하는 단계
    를 더 포함하는 것을 특징으로 하는, 테스트 케이스 생성 방법.
  9. 제8항에 있어서,
    상기 재정렬된 확정 TC와 상기 폐기된 임시 TC를 대체하는 입력 신호를 조합하여 상기 최종 TC가 결정되는 것을 특징으로 하는, 테스트 케이스 생성 방법.
  10. 제9항에 있어서,
    이동 재조합 기법에 따라 더블 버퍼를 실시간 갱신 및 스왑 동작을 수행하여 상기 더블 버퍼 내 신호 전체를 PC로 전송하는 것을 특징으로 하는, 테스트 케이스 생성 방법.
  11. 자율 주행 시스템의 동적 검증을 위한 테스트 케이스(Test Case, TC) 생성 장치에 있어서,
    입력 신호를 출력하는 센서;
    상기 센서로부터 수신된 상기 입력 신호에 기반하여 임시 테스트 케이스(Test Case, TC)를 생성하는 TC 생성기;
    상기 TC 생성기로부터 수신된 상기 입력 신호에 기반하여 제1 출력 신호를 생성하는 주제어기; 및
    상기 TC 생성기로부터 상기 임시 TC를 수신하여 제2 출력 신호를 생성하는 부제어기
    를 포함하고,
    상기 TC 생성기가 상기 제1 출력 신호와 상기 제2 출력 신호의 차이 값에 기반하여 결정된 확정 TC를 재정렬한 후 최종 TC를 외부 장치로 전송하는 것을 특징으로 하는, 테스트 케이스 생성 장치.
  12. 제11항에 있어서,
    상기 입력 신호는 외부 센서 및 신호 게이트웨이로부터 수신되는 것을 특징으로 하는, 테스트 케이스 생성 장치.
  13. 제11항에 있어서,
    상기 외부 센서는 GNSS(Global Navigation Satellite System), 카메라, 라이다 및 레이다 중 적어도 하나를 포함하는, 테스트 케이스 생성 장치.
  14. 제11항에 있어서,
    상기 TC 생성기가 상기 입력 신호를 리샘플링한 후 랜덤 시간 배열로 재조합하여 상기 임시 TC를 생성하는 것을 특징으로 하는, 테스트 케이스 생성 장치.
  15. 제14항에 있어서,
    상기 입력 신호는 특정 주기로 리샘플링되고, 상기 특정 주기는 상기 입력 신호 중 가장 빠른 신호를 기준으로 결정되는 것을 특징으로 하는, 테스트 케이스 생성 장치.
  16. 제15항에 있어서,
    상기 TC 생성기는 상기 임시 TC를 인버스 리샘플링하여 부제어기로 전송하고, 상기 제1 출력 신호는 상기 부제어기로 전송되고, 상기 부제어기가 상기 제1 출력 신호와 상기 제2 출력 신호의 차이 값을 산출하여 상기 TC 생성기로 전송하는 것을 특징으로 하는, 테스트 케이스 생성 장치.
  17. 제11항에 있어서,
    상기 TC 생성기는 상기 제1 출력 신호와 상기 제2 출력 신호의 차이 값이 소정 임계치보다 작은 임시 TC를 상기 확정 TC로 결정하고, 상기 차이 값이 상기 임계치 이상인 임시 TC를 폐기하는 것을 특징으로 하는, 테스트 케이스 생성 장치.
  18. 제17항에 있어서,
    상기 TC 생성기는 상기 차이 값에 반비례하도록 상기 확정 TC 별 가중치를 적용하고, 상기 가중치에 기반하여 상기 확정 TC를 재정렬하는 것을 특징으로 하는, 테스트 케이스 생성 장치.
  19. 제18항에 있어서,
    상기 재정렬된 확정 TC와 상기 폐기된 임시 TC를 대체하는 입력 신호를 조합하여 상기 최종 TC가 결정되는 것을 특징으로 하는, 테스트 케이스 생성 장치.
  20. 제19항에 있어서,
    상기 TC 생성기는 이동 재조합 기법에 따라 더블 버퍼를 실시간 갱신 및 스왑하여 상기 더블 버퍼 내 신호 전체를 PC로 전송하는 것을 특징으로 하는, 테스트 케이스 생성 장치.
KR1020200146361A 2020-11-04 2020-11-04 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치 KR20220060404A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200146361A KR20220060404A (ko) 2020-11-04 2020-11-04 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치
US17/387,339 US11878705B2 (en) 2020-11-04 2021-07-28 Method and apparatus for generating test case for dynamic verification of autonomous driving system
CN202110911934.0A CN114443462A (zh) 2020-11-04 2021-08-10 生成用于动态验证自动驾驶***的测试用例的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200146361A KR20220060404A (ko) 2020-11-04 2020-11-04 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220060404A true KR20220060404A (ko) 2022-05-11

Family

ID=81362499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200146361A KR20220060404A (ko) 2020-11-04 2020-11-04 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치

Country Status (3)

Country Link
US (1) US11878705B2 (ko)
KR (1) KR20220060404A (ko)
CN (1) CN114443462A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11768748B2 (en) * 2021-11-24 2023-09-26 Intel Corporation Detection of degradation or an anomalous state across heterogenous internet-of-things devices using synthesized sensors

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421321B2 (en) * 1995-06-07 2008-09-02 Automotive Technologies International, Inc. System for obtaining vehicular information
US20050192727A1 (en) * 1994-05-09 2005-09-01 Automotive Technologies International Inc. Sensor Assemblies
US6662141B2 (en) * 1995-01-13 2003-12-09 Alan R. Kaub Traffic safety prediction model
US6405132B1 (en) * 1997-10-22 2002-06-11 Intelligent Technologies International, Inc. Accident avoidance system
US6370475B1 (en) * 1997-10-22 2002-04-09 Intelligent Technologies International Inc. Accident avoidance system
US7899616B2 (en) * 1997-10-22 2011-03-01 Intelligent Technologies International, Inc. Method for obtaining information about objects outside of a vehicle
US7840777B2 (en) * 2001-05-04 2010-11-23 Ascenium Corporation Method and apparatus for directing a computational array to execute a plurality of successive computational array instructions at runtime
US7102496B1 (en) * 2002-07-30 2006-09-05 Yazaki North America, Inc. Multi-sensor integration for a vehicle
US7089099B2 (en) * 2004-07-30 2006-08-08 Automotive Technologies International, Inc. Sensor assemblies
WO2006070865A1 (ja) * 2004-12-28 2006-07-06 Kabushiki Kaisha Toyota Chuo Kenkyusho 車両運動制御装置
JP4816248B2 (ja) * 2006-05-23 2011-11-16 日産自動車株式会社 車両用運転操作補助装置
US20100179731A1 (en) * 2009-01-15 2010-07-15 Ford Global Technologies, Llc System and method for performing vehicle side impact sensing with unit area impulse technique
WO2010101749A1 (en) * 2009-03-05 2010-09-10 Massachusetts Institute Of Technology Predictive semi-autonomous vehicle navigation system
US20110106442A1 (en) * 2009-10-30 2011-05-05 Indian Institute Of Technology Bombay Collision avoidance system and method
US8639437B2 (en) * 2010-06-09 2014-01-28 Toyota Motor Engineering & Manufacturing North America, Inc. Computationally efficient intersection collision avoidance system
US9087362B2 (en) * 2010-11-08 2015-07-21 International Business Machines Corporation Traffic collision incident visualization with location context
JP5786941B2 (ja) * 2011-08-25 2015-09-30 日産自動車株式会社 車両用自律走行制御システム
US8825350B1 (en) * 2011-11-22 2014-09-02 Kurt B. Robinson Systems and methods involving features of adaptive and/or autonomous traffic control
US9669828B2 (en) * 2012-06-01 2017-06-06 Toyota Motor Engineering & Manufacturing North America, Inc. Cooperative driving and collision avoidance by distributed receding horizon control
US8849515B2 (en) * 2012-07-24 2014-09-30 GM Global Technology Operations LLC Steering assist in driver initiated collision avoidance maneuver
JP5944781B2 (ja) * 2012-07-31 2016-07-05 株式会社デンソーアイティーラボラトリ 移動体認識システム、移動体認識プログラム、及び移動体認識方法
KR101545722B1 (ko) * 2013-11-26 2015-08-19 현대모비스 주식회사 차량 위치 보정 제어 장치와 이를 구비하는 차량 위치 보정 시스템 및 방법
US9619375B2 (en) * 2014-05-23 2017-04-11 Carnegie Mellon University Methods and systems for automatically testing software
US10635761B2 (en) * 2015-04-29 2020-04-28 Energid Technologies Corporation System and method for evaluation of object autonomy
DE102016220913A1 (de) * 2015-11-06 2017-05-11 Ford Global Technologies, Llc Verfahren und Vorrichtung zur Generierung von Testfällen für autonome Fahrzeuge
US10552573B2 (en) * 2016-03-18 2020-02-04 Toyota Jidosha Kabushiki Kaisha Vehicle simulation device for crowd-sourced vehicle simulation data
WO2018019354A1 (en) * 2016-07-25 2018-02-01 Swiss Reinsurance Company Ltd. An apparatus for a dynamic, score-based, telematics connection search engine and aggregator and corresponding method thereof
US20180060219A1 (en) * 2016-09-01 2018-03-01 GM Global Technology Operations LLC Apparatus and methodology for symbolic execution-based analysis of unintended interactions in a computing system
US20190155291A1 (en) * 2016-12-23 2019-05-23 Faraday&Future Inc. Methods and systems for automated driving system simulation, validation, and implementation
US20170274908A1 (en) * 2017-06-12 2017-09-28 Xiaoning Huai Personalize self-driving cars
JP7043785B2 (ja) * 2017-10-25 2022-03-30 株式会社Ihi 情報生成装置
US10345811B2 (en) * 2017-11-14 2019-07-09 GM Global Technology Operations LLC Method and apparatus for scenario generation and parametric sweeps for the development and evaluation of autonomous driving systems
JP6857598B2 (ja) * 2017-12-26 2021-04-14 株式会社日立製作所 カバレッジテスト支援装置およびカバレッジテスト支援方法
US10824543B2 (en) * 2018-03-08 2020-11-03 Mayank Mohan Sharma System and method for automated software test case designing based on machine learning (ML)
US11169536B2 (en) * 2018-04-09 2021-11-09 SafeAI, Inc. Analysis of scenarios for controlling vehicle operations
US11467590B2 (en) * 2018-04-09 2022-10-11 SafeAI, Inc. Techniques for considering uncertainty in use of artificial intelligence models
US10956310B2 (en) * 2018-08-30 2021-03-23 International Business Machines Corporation Automated test case generation for deep neural networks and other model-based artificial intelligence systems
US20200074233A1 (en) * 2018-09-04 2020-03-05 Luminar Technologies, Inc. Automatically generating training data for a lidar using simulated vehicles in virtual space
US10408406B1 (en) * 2018-10-03 2019-09-10 Osram Sylvania Inc. Partially coated vehicle halogen lamp capsule for projector headlight
US11829275B2 (en) * 2018-10-17 2023-11-28 Toyota Research Institute, Inc. Systems and methods for automatic test generation
US11772663B2 (en) * 2018-12-10 2023-10-03 Perceptive Automata, Inc. Neural network based modeling and simulation of non-stationary traffic objects for testing and development of autonomous vehicle systems
US11940790B2 (en) * 2018-12-12 2024-03-26 Allstate Insurance Company Safe hand-off between human driver and autonomous driving system
KR20200073417A (ko) * 2018-12-14 2020-06-24 에스케이하이닉스 주식회사 스마트 카 시스템
JP2023528077A (ja) * 2020-06-05 2023-07-03 ガティック エーアイ インコーポレイテッド 自律エージェントのコンテキスト認識型意思決定を行うための方法およびシステム

Also Published As

Publication number Publication date
US20220135059A1 (en) 2022-05-05
US11878705B2 (en) 2024-01-23
CN114443462A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
CN109421630B (zh) 用于监测自主车辆的健康的控制器架构
CN109421739B (zh) 用于监控自主车辆的方法和设备
CN109421743B (zh) 用于监控自主车辆的方法和设备
CN113508069B (zh) 汽车用运算***
US10521974B2 (en) Method and apparatus for monitoring an autonomous vehicle
WO2019116459A1 (ja) 車両並びにその制御システム及び制御方法
CN113557189B (zh) 汽车用运算***
CN111858202B (zh) 诊断自主驾驶车辆的传感器处理单元的方法、装置和***、及计算机可读介质
US11396301B2 (en) Vehicle control apparatus, vehicle control method, and non-transitory computer-readable storage medium storing program
US20210237751A1 (en) Vehicle control apparatus and vehicle control method
KR20220001922A (ko) 자율 주행 제어 방법 및 장치
WO2021010396A1 (ja) 走行記憶システム、潜在事故責任決定装置、走行記憶方法、潜在事故責任決定方法、映像記録システム、自動運転システム、および映像記録方法
KR20220060404A (ko) 자율 주행 시스템의 동적 검증을 위한 테스트 케이스 생성 방법 및 장치
CN114454897A (zh) 用于控制自动驾驶的方法和装置
CN114184218A (zh) 用于测试机动车的传感器***的方法、设备和存储介质
JP7459560B2 (ja) 物体検知装置
JP6944510B2 (ja) 車両制御装置、車両及び車両制御方法
US20230020415A1 (en) Vehicle control system, vehicle integrated control device, electronic control device, network communication device, vehicle control method and computer readable medium
US12039787B2 (en) Recognition device, moving object, recognition method, and storage medium
JP7363574B2 (ja) 物体検知装置
KR20220061341A (ko) 자율 주행 제어 방법 및 장치
CN115817076A (zh) 胎压检测***、方法、存储介质及车辆