KR20190103527A - 자율주행 차량 및 그 제어 방법 - Google Patents

자율주행 차량 및 그 제어 방법 Download PDF

Info

Publication number
KR20190103527A
KR20190103527A KR1020180018324A KR20180018324A KR20190103527A KR 20190103527 A KR20190103527 A KR 20190103527A KR 1020180018324 A KR1020180018324 A KR 1020180018324A KR 20180018324 A KR20180018324 A KR 20180018324A KR 20190103527 A KR20190103527 A KR 20190103527A
Authority
KR
South Korea
Prior art keywords
vehicle
processor
camera
image
autonomous vehicle
Prior art date
Application number
KR1020180018324A
Other languages
English (en)
Other versions
KR102044703B1 (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 엘지전자 주식회사
Priority to KR1020180018324A priority Critical patent/KR102044703B1/ko
Publication of KR20190103527A publication Critical patent/KR20190103527A/ko
Application granted granted Critical
Publication of KR102044703B1 publication Critical patent/KR102044703B1/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
    • 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
    • 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, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/14Adaptive cruise control
    • 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/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • 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 or light 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/42Image 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
    • B60W2530/00Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
    • B60W2530/18Distance travelled
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/14Cruise control

Abstract

본 발명은 자율주행 차량 및 그 제어 방법에 관한 것이다. 본 발명의 실시예에 따른 자율주행 차량은 상기 자율주행 차량의 외부 환경에 대한 적어도 두 개의 영상 프레임을 획득하는 카메라 및 상기 획득된 적어도 두 개의 영상 프레임에 기초하여 상기 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출하는 프로세서를 포함한다.

Description

자율주행 차량 및 그 제어 방법{Autonomous vehicle and method of controlling the same}
본 발명은 자율주행 차량 및 그 제어 방법에 관한 것이다. 보다 구체적으로, 본 발명은 자율주행 차량의 SLAM(Simultaneous Localization And Mapping) 알고리즘에 관한 것이다.
차량은 탑승하는 사용자가 원하는 방향으로 이동시키는 장치이다. 대표적으로 자동차를 예를 들 수 있다.
한편, 차량을 이용하는 사용자의 편의를 위해, 각 종 센서와 전자 장치 등이 구비되고 있는 추세이다. 특히, 사용자의 운전 편의를 위해 차량 운전자 보조 시스템(Advanced Driver Assistance System, ADAS)에 대한 연구가 활발하게 이루어지고 있다. 나아가, 자율 주행 차량(Autonomous Vehicle)에 대한 개발이 활발하게 이루어지고 있다.
한편, 차량에 구비되는 센서를 이용하여 차량의 외부 환경에 대한 정밀 지도를 생성하는 기술 분야에 대한 개발이 활발하게 이루어지고 있다. 특히, lidar SLAM (Simultaneous Localization and Mapping) 또는 visual SLAM을 위한 카메라 자세 추정(pose estimation of camera)은 정밀 지도 생성에 있어 핵심적인 기술로 인식되고 있다. 카메라 자세 추정은 동적으로 위치가 변하는 카메라의 병진(translation) 모션 정보 및 회전(rotation) 모션 정보를 결정하는 것이다.
한편, 자율주행 차량에 있어서 visual SLAM 시스템은 차량이 6-dof (6 degrees of freedom)에서 이동하면서 카메라를 통해 획득한 프레임들을 프로세싱하고 자율주행 차량의 주변환경을 3차원 모델링 하는 기술이다.
복수의 카메라를 이용하는 종래 기술에 따른 visual SLAM 알고리즘은 복수의 카메라 각각의 프레임에서 복수의 모델을 생성하거나, 복수의 카메라로부터 획득한 프레임들을 모두 통합한 뒤 하나의 모델을 생성하는 방법을 이용한다. 그에 따라, 종래 기술에 따른 visual SLAM 알고리즘은 프로세서가 처리해야 할 계산 량이 많고 계산 속도가 느린 문제점을 갖는다.
따라서, 자율주행 차량에 있어서 프로세서가 처리해야 할 계산 량을 줄이고, 빠른 처리 속도를 제공할 수 있는 visual SLAM 알고리즘이 요구된다.
본 발명의 실시예는 상기한 문제점을 해결하기 위하여, 특징점의 수가 상대적으로 많은 영상에서 생성한 모델을 다른 카메라 영상에 동일하게 적용하여 기하학적 확률적으로 최적의 움직임을 추정하는 자율주행 차량을 제공하는 데 목적이 있다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 본 발명의 실시예는 자율주행 차량의 외부 환경에 대한 적어도 두 개의 영상 프레임을 획득하는 카메라; 및 상기 획득된 적어도 두 개의 영상 프레임에 기초하여 상기 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출하는 프로세서;를 포함하는 자율주행 차량을 제공한다.
또한, 본 발명의 실시예에서, 상기 카메라는 복수 개 구비되고, 상기 프로세서는, 상기 복수 개의 카메라에서 각각 획득된 영상 프레임을 샘플링하고, 상기 샘플링 결과에 기초하여 제1 카메라를 선택하는 것을 특징으로 한다.
또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 선택된 제1 카메라의 영상 프레임으로부터 RANSAC(Random sample consensus) 모델을 생성하는 것을 특징으로 한다.
또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 생성된 RANSAC 모델을 상기 선택된 제1 카메라와 다른 제2 카메라의 영상 프레임에 적용하고, 상기 제2 카메라의 영상 프레임에 적용된 상기 RANSAC 모델의 비용을 계산하는 것을 특징으로 한다.
또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 계산된 비용이 기설정된 값 이상인 것으로 판단하면, 상기 RANSAC 모델을 상기 제1 카메라 이외의 카메라의 영상 프레임에 적용하고, 상기 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출하는 것을 특징으로 한다.
또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 카메라를 통해 제1 이미지를 포함하는 제1 키 프레임 및 제2 이미지를 포함하는 제2 키 프레임을 획득하고, 상기 제1 이미지 및 제2 이미지에 포함된 특징점에 기초하여 3D 랜드마크를 생성하는 것을 특징으로 한다.
또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 카메라를 통해 제3 이미지를 포함하는 제3 키 프레임을 더 획득하고, 상기 생성된 3D 랜드마크를 상기 제3 키 프레임에 재투영(reprojection)하고, 상기 투영된 값과 상기 제3 이미지의 차이(error) 값을 계산하는 것을 특징으로 한다.
또한, 본 발명의 실시예에서, 상기 차이 값은 재투영 오차항(reprojection error) 및 크기 오차항(scale error)을 포함하고, 상기 프로세서는, 함수 최적화 기법을 이용하여 상기 재투영 오차항 및 크기 오차항을 보정하는 것을 특징으로 한다.
또한, 본 발명의 실시예에서, 상기 자율주행 차량은 휠 오도미터를 더 포함하고, 상기 프로세서는, 상기 휠 오도미터를 제어하여 상기 제1 키 프레임에서 상기 제2 키 프레임까지 상기 자율주행 차량의 이동량을 더 검출하는 것을 특징으로 한다.
또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 검출된 이동량을 상기 크기 오차항의 보정에 이용하는 것을 특징으로 한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫 째, 본 발명의 실시예에 따르면, 특징점의 수가 상대적으로 많은 영상에서 생성한 모델을 다른 카메라 영상에 동일하게 적용하여 기하학적 확률적으로 최적의 움직임을 추정하므로 자율주행 차량의 프로세서가 처리해야 할 계산 량을 줄이고 빠른 처리 속도를 제공할 수 있는 효과가 있다.
둘 째, 본 발명의 실시예에 따르면, LBA(Local Bundle Adjustment)에 있어서 휠 오도미터를 통해 검출된 자율주행 차량의 실제 이동 량을 오차 보정에 이용하기 때문에 보다 정확히 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출할 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 차량의 외관을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 차량을 외부의 다양한 각도에서 본 도면이다.
도 3 내지 도 4는 본 발명의 실시예에 따른 차량의 내부를 도시한 도면이다.
도 5 내지 도 6은 본 발명의 실시예에 따른 오브젝트를 설명하는데 참조되는 도면이다.
도 7은 본 발명의 실시예에 따른 차량을 설명하는데 참조되는 블록도이다.
도 8은 본 발명의 실시예에 따른 차량의 SLAM 알고리즘을 설명하기 위한 순서도이다.
도 9는 본 발명의 실시예에 따른 차량의 SLAM 알고리즘에서 RANSAC model을 검증하는 방법을 설명하기 위한 순서도이다.
도 10은 본 발명의 실시예에 따른 차량이 PPS(Probability Proportional to Size) 샘플링을 이용하여 카메라를 선택하는 방법을 설명하기 위한 도면이다.
도 11은 본 발명의 실시예에 따른 차량의 SLAM 알고리즘을 슈도-코드(pseudocode)로 나타낸 것이다.
도 12는 본 발명의 실시예에 따른 차량의 scale correcting Local Bundle Adjustment(scLBA) 알고리즘을 나타낸 순서도이다.
도 13은 본 발명의 실시예에 따른 차량의 scale correcting Local Bundle Adjustment(scLBA) 알고리즘을 설명하기 위한 개념도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서 기술되는 차량은, 자동차, 오토바이를 포함하는 개념일 수 있다. 이하에서는, 차량에 대해 자동차를 위주로 기술한다. 본 명세서에서 기술되는 차량은, 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량 등을 모두 포함하는 개념일 수 있다. 이하의 설명에서 차량의 좌측은 차량의 주행 방향의 좌측을 의미하고, 차량의 우측은 차량의 주행 방향의 우측을 의미한다.
도 1은 본 발명의 실시예에 따른 차량의 외관을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 차량을 외부의 다양한 각도에서 본 도면이다.
도 3 내지 도 4는 본 발명의 실시예에 따른 차량의 내부를 도시한 도면이다.
도 5 내지 도 6은 본 발명의 실시예에 따른 오브젝트를 설명하는데 참조되는 도면이다.
도 7은 본 발명의 실시예에 따른 차량을 설명하는데 참조되는 블록도이다.
도 1 내지 도 7을 참조하면, 차량(100)은 동력원에 의해 회전하는 바퀴, 차량(100)의 진행 방향을 조절하기 위한 조향 입력 장치(510)를 포함할 수 있다.
차량(100)은 자율 주행 차량일 수 있다. 차량(100)은, 사용자 입력에 기초하여, 자율 주행 모드 또는 메뉴얼 모드로 전환될 수 있다. 예를 들면, 차량(100)은, 사용자 인터페이스 장치(200)를 통해, 수신되는 사용자 입력에 기초하여, 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다.
차량(100)은, 주행 상황 정보에 기초하여, 자율 주행 모드 또는 메뉴얼 모드로 전환될 수 있다. 주행 상황 정보는, 차량 외부의 오브젝트 정보, 내비게이션 정보 및 차량 상태 정보 중 적어도 어느 하나를 포함할 수 있다.
예를 들면, 차량(100)은, 오브젝트 검출 장치(300)에서 생성되는 주행 상황 정보에 기초하여, 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다. 예를 들면, 차량(100)은, 통신 장치(400)를 통해 수신되는 주행 상황 정보에 기초하여, 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다.
차량(100)은, 외부 디바이스에서 제공되는 정보, 데이터, 신호에 기초하여 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다.
차량(100)이 자율 주행 모드로 운행되는 경우 자율 주행 차량(100)은 운행 시스템(700)에 기초하여 운행될 수 있다. 예를 들면, 자율 주행 차량(100)은, 주행 시스템(710), 출차 시스템(740), 주차 시스템(750)에서 생성되는 정보, 데이터 또는 신호에 기초하여 운행될 수 있다.
차량(100)이 메뉴얼 모드로 운행되는 경우, 자율 주행 차량(100)은, 운전 조작 장치(500)를 통해 운전을 위한 사용자 입력을 수신할 수 있다. 운전 조작 장치(500)를 통해 수신되는 사용자 입력에 기초하여, 차량(100)은 운행될 수 있다.
전장(overall length)은 차량(100)의 앞부분에서 뒷부분까지의 길이, 전폭(width)은 차량(100)의 너비, 전고(height)는 바퀴 하부에서 루프까지의 길이를 의미한다. 이하의 설명에서, 전장 방향(L)은 차량(100)의 전장 측정의 기준이 되는 방향, 전폭 방향(W)은 차량(100)의 전폭 측정의 기준이 되는 방향, 전고 방향(H)은 차량(100)의 전고 측정의 기준이 되는 방향을 의미할 수 있다.
도 7에 예시된 바와 같이, 차량(100)은, 사용자 인터페이스 장치(200), 오브젝트 검출 장치(300), 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 운행 시스템(700), 내비게이션 시스템(770), 센싱부(120), 인터페이스부(130), 메모리(140), 제어부(170) 및 전원 공급부(190)를 포함할 수 있다.
실시예에 따라, 차량(100)은, 본 명세서에서 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.센싱부(120)는, 차량의 상태를 센싱할 수 있다. 센싱부(120)는, 자세 센서(예를 들면, 요 센서(yaw sensor), 롤 센서(roll sensor), 피치 센서(pitch sensor)), 충돌 센서, 휠 센서(wheel sensor), 속도 센서, 경사 센서, 중량 감지 센서, 헤딩 센서(heading sensor), 자이로 센서(gyro sensor), 포지션 모듈(position module), 차량 전진/후진 센서, 배터리 센서, 연료 센서, 타이어 센서, 핸들 회전에 의한 스티어링 센서, 차량 내부 온도 센서, 차량 내부 습도 센서, 초음파 센서, 조도 센서, 가속 페달 포지션 센서, 브레이크 페달 포지션 센서, 등을 포함할 수 있다.
센싱부(120)는, 차량 자세 정보, 차량 충돌 정보, 차량 방향 정보, 차량 위치 정보(GPS 정보), 차량 각도 정보, 차량 속도 정보, 차량 가속도 정보, 차량 기울기 정보, 차량 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 차량 램프 정보, 차량 내부 온도 정보, 차량 내부 습도 정보, 스티어링 휠 회전 각도, 차량 외부 조도, 가속 페달에 가해지는 압력, 브레이크 페달에 가해지는 압력 등에 대한 센싱 신호를 획득할 수 있다.
센싱부(120)는, 그 외, 가속페달센서, 압력센서, 엔진 회전 속도 센서(engine speed sensor), 공기 유량 센서(AFS), 흡기 온도 센서(ATS), 수온 센서(WTS), 스로틀 위치 센서(TPS), TDC 센서, 크랭크각 센서(CAS), 등을 더 포함할 수 있다.
센싱부(120)는, 센싱 데이터를 기초로, 차량 상태 정보를 생성할 수 있다. 차량 상태 정보는, 차량 내부에 구비된 각종 센서에서 감지된 데이터를 기초로 생성된 정보일 수 있다.
예를 들면, 차량 상태 정보는, 차량의 자세 정보, 차량의 속도 정보, 차량의 기울기 정보, 차량의 중량 정보, 차량의 방향 정보, 차량의 배터리 정보, 차량의 연료 정보, 차량의 타이어 공기압 정보, 차량의 스티어링 정보, 차량 실내 온도 정보, 차량 실내 습도 정보, 페달 포지션 정보 및 차량 엔진 온도 정보 등을 포함할 수 있다.
인터페이스부(130)는, 차량(100)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행할 수 있다. 예를 들면, 인터페이스부(130)는 이동 단말기와 연결 가능한 포트를 구비할 수 있고, 상기 포트를 통해, 이동 단말기와 연결할 수 있다. 이 경우, 인터페이스부(130)는 이동 단말기와 데이터를 교환할 수 있다.
한편, 인터페이스부(130)는 연결된 이동 단말기에 전기 에너지를 공급하는 통로 역할을 수행할 수 있다. 이동 단말기가 인터페이스부(130)에 전기적으로 연결되는 경우, 제어부(170)의 제어에 따라, 인터페이스부(130)는 전원 공급부(190)에서 공급되는 전기 에너지를 이동 단말기에 제공할 수 있다.
메모리(140)는, 제어부(170)와 전기적으로 연결된다. 메모리(140)는 유닛에 대한 기본데이터, 유닛의 동작제어를 위한 제어데이터, 입출력되는 데이터를 저장할 수 있다. 메모리(140)는, 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있다. 메모리(140)는 제어부(170)의 처리 또는 제어를 위한 프로그램 등, 차량(100) 전반의 동작을 위한 다양한 데이터를 저장할 수 있다. 실시예에 따라, 메모리(140)는, 제어부(170)와 일체형으로 형성되거나, 제어부(170)의 하위 구성 요소로 구현될 수 있다.
제어부(170)는, 차량(100) 내의 각 유닛의 전반적인 동작을 제어할 수 있다. 제어부(170)는 ECU(Electronic Control Unit)로 명명될 수 있다. 전원 공급부(190)는, 제어부(170)의 제어에 따라, 각 구성요소들의 동작에 필요한 전원을 공급할 수 있다. 특히, 전원 공급부(190)는, 차량 내부의 배터리 등으로부터 전원을 공급받을 수 있다.
차량(100)에 포함되는 하나 이상의 프로세서 및 제어부(170)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
또한, 센싱부(120), 인터페이스부(130), 메모리(140) 전원 공급부(190), 사용자 인터페이스 장치(200), 오브젝트 검출 장치(300), 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 운행 시스템(700) 및 내비게이션 시스템(770)은 개별적인 프로세서를 갖거나 제어부(170)에 통합될 수 있다.
사용자 인터페이스 장치(200)는, 차량(100)과 사용자와의 소통을 위한 장치이다. 사용자 인터페이스 장치(200)는, 사용자 입력을 수신하고, 사용자에게 차량(100)에서 생성된 정보를 제공할 수 있다. 차량(100)은, 사용자 인터페이스 장치(200)를 통해, UI(User Interfaces) 또는 UX(User Experience)를 구현할 수 있다.
사용자 인터페이스 장치(200)는, 입력부(210), 내부 카메라(220), 생체 감지부(230), 출력부(250) 및 프로세서(270)를 포함할 수 있다. 사용자 인터페이스 장치(200)의 각 구성요소는 전술한 인터페이스부(130)와 구조적, 기능적으로 분리되거나 통합될 수 있다.
실시예에 따라, 사용자 인터페이스 장치(200)는, 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수도 있다.
입력부(210)는, 사용자로부터 정보를 입력받기 위한 것으로, 입력부(210)에서 수집한 데이터는, 프로세서(270)에 의해 분석되어, 사용자의 제어 명령으로 처리될 수 있다.
입력부(210)는, 차량 내부에 배치될 수 있다. 예를 들면, 입력부(210)는, 스티어링 휠(steering wheel)의 일 영역, 인스투루먼트 패널(instrument panel)의 일 영역, 시트(seat)의 일 영역, 각 필러(pillar)의 일 영역, 도어(door)의 일 영역, 센타 콘솔(center console)의 일 영역, 헤드 라이닝(head lining)의 일 영역, 썬바이저(sun visor)의 일 영역, 윈드 쉴드(windshield)의 일 영역 또는 윈도우(window)의 일 영역 등에 배치될 수 있다.
입력부(210)는, 음성 입력부(211), 제스쳐 입력부(212), 터치 입력부(213) 및 기계식 입력부(214)를 포함할 수 있다.
음성 입력부(211)는, 사용자의 음성 입력을 전기적 신호로 전환할 수 있다. 전환된 전기적 신호는, 프로세서(270) 또는 제어부(170)에 제공될 수 있다. 음성 입력부(211)는, 하나 이상의 마이크로 폰을 포함할 수 있다.
제스쳐 입력부(212)는, 사용자의 제스쳐 입력을 전기적 신호로 전환할 수 있다. 전환된 전기적 신호는, 프로세서(270) 또는 제어부(170)에 제공될 수 있다. 제스쳐 입력부(212)는, 사용자의 제스쳐 입력을 감지하기 위한 적외선 센서 및 이미지 센서 중 적어도 어느 하나를 포함할 수 있다.
실시예에 따라, 제스쳐 입력부(212)는, 사용자의 3차원 제스쳐 입력을 감지할 수 있다. 이를 위해, 제스쳐 입력부(212)는, 복수의 적외선 광을 출력하는 광출력부 또는 복수의 이미지 센서를 포함할 수 있다. 제스쳐 입력부(212)는, TOF(Time of Flight) 방식, 구조광(Structured light) 방식 또는 디스패러티(Disparity) 방식을 통해 사용자의 3차원 제스쳐 입력을 감지할 수 있다.
터치 입력부(213)는, 사용자의 터치 입력을 전기적 신호로 전환할 수 있다. 전환된 전기적 신호는 프로세서(270) 또는 제어부(170)에 제공될 수 있다. 터치 입력부(213)는, 사용자의 터치 입력을 감지하기 위한 터치 센서를 포함할 수 있다. 실시예에 따라, 터치 입력부(213)는 디스플레이부(251)와 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한, 터치 스크린은, 차량(100)과 사용자 사이의 입력 인터페이스 및 출력 인터페이스를 함께 제공할 수 있다.
기계식 입력부(214)는, 버튼, 돔 스위치(dome switch), 조그 휠 및 조그 스위치 중 적어도 어느 하나를 포함할 수 있다. 기계식 입력부(214)에 의해 생성된 전기적 신호는, 프로세서(270) 또는 제어부(170)에 제공될 수 있다. 기계식 입력부(214)는, 스티어링 휠(steering wheel), 센터페시아(center fascia), 센터 콘솔(center console), 콕핏 모듈(cockpit module), 도어 등에 배치될 수 있다.
프로세서(270)는 앞서 설명한 음성 입력부(211), 제스쳐 입력부(212), 터치 입력부(213) 및 기계식 입력부(214) 중 적어도 하나에 대한 사용자 입력에 반응하여, 차량(100)의 학습 모드를 개시할 수 있다. 학습 모드에서 차량(100)은 차량(100)의 주행 경로 학습 및 주변 환경 학습을 수행할 수 있다. 학습 모드에 관해서는 이하 오브젝트 검출 장치(300) 및 운행 시스템(700)과 관련된 부분에서 상세히 설명하도록 한다.
내부 카메라(220)는, 차량 내부 영상을 획득할 수 있다. 프로세서(270)는, 차량 내부 영상을 기초로, 사용자의 상태를 감지할 수 있다. 프로세서(270)는, 차량 내부 영상에서 사용자의 시선 정보를 획득할 수 있다. 프로세서(270)는, 차량 내부 영상에서 사용자의 제스쳐를 감지할 수 있다.
생체 감지부(230)는, 사용자의 생체 정보를 획득할 수 있다. 생체 감지부(230)는, 사용자의 생체 정보를 획득할 수 있는 센서를 포함하고, 센서를 이용하여, 사용자의 지문 정보, 심박동 정보 등을 획득할 수 있다. 생체 정보는 사용자 인증을 위해 이용될 수 있다.
출력부(250)는, 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것이다. 출력부(250)는, 디스플레이부(251), 음향 출력부(252) 및 햅틱 출력부(253) 중 적어도 어느 하나를 포함할 수 있다.
디스플레이부(251)는, 다양한 정보에 대응되는 그래픽 객체를 표시할 수 있다. 디스플레이부(251)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.
디스플레이부(251)는 터치 입력부(213)와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 디스플레이부(251)는 HUD(Head Up Display)로 구현될 수 있다. 디스플레이부(251)가 HUD로 구현되는 경우, 디스플레이부(251)는 투사 모듈을 구비하여 윈드 쉴드 또는 윈도우에 투사되는 이미지를 통해 정보를 출력할 수 있다. 디스플레이부(251)는, 투명 디스플레이를 포함할 수 있다. 투명 디스플레이는 윈드 쉴드 또는 윈도우에 부착될 수 있다.
투명 디스플레이는 소정의 투명도를 가지면서, 소정의 화면을 표시할 수 있다. 투명 디스플레이는, 투명도를 가지기 위해, 투명 디스플레이는 투명 TFEL(Thin Film Electroluminescent), 투명 OLED(Organic Light-Emitting Diode), 투명 LCD(Liquid Crystal Display), 투과형 투명디스플레이, 투명 LED(Light Emitting Diode) 디스플레이 중 적어도 하나를 포함할 수 있다. 투명 디스플레이의 투명도는 조절될 수 있다.
한편, 사용자 인터페이스 장치(200)는, 복수의 디스플레이부(251a 내지 251g)를 포함할 수 있다.
디스플레이부(251)는, 스티어링 휠의 일 영역, 인스투루먼트 패널의 일 영역(251a, 251b, 251e), 시트의 일 영역(251d), 각 필러의 일 영역(251f), 도어의 일 영역(251g), 센타 콘솔의 일 영역, 헤드 라이닝의 일 영역, 썬바이저의 일 영역에 배치되거나, 윈드 쉴드의 일영역(251c), 윈도우의 일영역(251h)에 구현될 수 있다.
음향 출력부(252)는, 프로세서(270) 또는 제어부(170)로부터 제공되는 전기 신호를 오디오 신호로 변환하여 출력한다. 이를 위해, 음향 출력부(252)는, 하나 이상의 스피커를 포함할 수 있다.
햅틱 출력부(253)는, 촉각적인 출력을 발생시킨다. 예를 들면, 햅틱 출력부(253)는, 스티어링 휠, 안전 벨트, 시트(110FL, 110FR, 110RL, 110RR)를 진동시켜, 사용자가 출력을 인지할 수 있게 동작할 수 있다.
프로세서(270)는, 사용자 인터페이스 장치(200)의 각 유닛의 전반적인 동작을 제어할 수 있다. 실시예에 따라, 사용자 인터페이스 장치(200)는, 복수의 프로세서(270)를 포함하거나, 프로세서(270)를 포함하지 않을 수도 있다.
사용자 인터페이스 장치(200)에 프로세서(270)가 포함되지 않는 경우, 사용자 인터페이스 장치(200)는, 차량(100)내 다른 장치의 프로세서 또는 제어부(170)의 제어에 따라, 동작될 수 있다. 한편, 사용자 인터페이스 장치(200)는, 차량용 디스플레이 장치로 명명될 수 있다. 사용자 인터페이스 장치(200)는, 제어부(170)의 제어에 따라 동작될 수 있다.
오브젝트 검출 장치(300)는, 차량(100) 외부에 위치하는 오브젝트를 검출하기 위한 장치이다. 오브젝트 검출 장치(300)는, 센싱 데이터에 기초하여, 오브젝트 정보를 생성할 수 있다.
오브젝트 정보는, 오브젝트의 존재 유무에 대한 정보, 오브젝트의 위치 정보, 차량(100)과 오브젝트와의 거리 정보 및 차량(100)과 오브젝트와의 상대 속도 정보를 포함할 수 있다. 오브젝트는, 차량(100)의 운행과 관련된 다양한 물체들일 수 있다.
도 5 내지 도 6을 참조하면, 오브젝트(O)는, 차선(OB10), 타 차량(OB11), 보행자(OB12), 이륜차(OB13), 교통 신호(OB14, OB15), 빛, 도로, 구조물, 과속 방지턱, 지형물, 동물 등을 포함할 수 있다.
차선(Lane)(OB10)은, 주행 차선, 주행 차선의 옆 차선, 대향되는 차량이 주행하는 차선일 수 있다. 차선(Lane)(OB10)은, 차선(Lane)을 형성하는 좌우측 선(Line)을 포함하는 개념일 수 있다.
타 차량(OB11)은, 차량(100)의 주변에서 주행 중인 차량일 수 있다. 타 차량은, 차량(100)으로부터 소정 거리 이내에 위치하는 차량일 수 있다. 예를 들면, 타 차량(OB11)은, 차량(100)보다 선행 또는 후행하는 차량일 수 있다.
보행자(OB12)는, 차량(100)의 주변에 위치한 사람일 수 있다. 보행자(OB12)는, 차량(100)으로부터 소정 거리 이내에 위치하는 사람일 수 있다. 예를 들면, 보행자(OB12)는, 인도 또는 차도상에 위치하는 사람일 수 있다.
이륜차(OB13)는, 차량(100)의 주변에 위치하고, 2개의 바퀴를 이용해 움직이는 탈것을 의미할 수 있다. 이륜차(OB13)는, 차량(100)으로부터 소정 거리 이내에 위치하는 2개의 바퀴를 가지는 탈 것일 수 있다. 예를 들면, 이륜차(OB13)는, 인도 또는 차도상에 위치하는 오토바이 또는 자전거일 수 있다.
교통 신호는, 교통 신호등(OB15), 교통 표지판(OB14), 도로 면에 그려진 문양 또는 텍스트를 포함할 수 있다. 빛은, 타 차량에 구비된 램프에서 생성된 빛일 수 있다. 빛은, 가로등에서 생성된 빛을 수 있다. 빛은 태양광일 수 있다. 도로는, 도로면, 커브, 오르막, 내리막 등의 경사 등을 포함할 수 있다. 구조물은, 도로 주변에 위치하고, 지면에 고정된 물체일 수 있다. 예를 들면, 구조물은, 가로등, 가로수, 건물, 전봇대, 신호등, 다리를 포함할 수 있다. 지형물은, 산, 언덕, 등을 포함할 수 있다.
한편, 오브젝트는, 이동 오브젝트와 고정 오브젝트로 분류될 수 있다. 예를 들면, 이동 오브젝트는, 타 차량, 보행자를 포함하는 개념일 수 있다. 예를 들면, 고정 오브젝트는, 교통 신호, 도로, 구조물을 포함하는 개념일 수 있다.
오브젝트 검출 장치(300)는, 카메라(310), 레이다(320), 라이다(330), 초음파 센서(340), 적외선 센서(350) 및 프로세서(370)를 포함할 수 있다. 오브젝트 검출 장치(300)의 각 구성요소는 전술한 센싱부(120)와 구조적, 기능적으로 분리되거나 통합될 수 있다.
실시예에 따라, 오브젝트 검출 장치(300)는, 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.
카메라(310)는, 차량 외부 영상을 획득하기 위해, 차량의 외부의 적절한 곳에 위치할 수 있다. 카메라(310)는, 모노 카메라, 스테레오 카메라(310a), AVM(Around View Monitoring) 카메라(310b) 또는 360도 카메라일 수 있다.
카메라(310)는, 다양한 영상 처리 알고리즘을 이용하여, 오브젝트의 위치 정보, 오브젝트와의 거리 정보 또는 오브젝트와의 상대 속도 정보를 획득할 수 있다.
예를 들면, 카메라(310)는, 획득된 영상에서, 시간에 따른 오브젝트 크기의 변화를 기초로, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
예를 들면, 카메라(310)는, 핀홀(pin hole) 모델, 노면 프로파일링 등을 통해, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
예를 들면, 카메라(310)는, 스테레오 카메라(310a)에서 획득된 스테레오 영상에서 디스패러티(disparity) 정보를 기초로 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
예를 들면, 카메라(310)는, 차량 전방의 영상을 획득하기 위해, 차량의 실내에서, 프런트 윈드 쉴드에 근접하게 배치될 수 있다. 또는, 카메라(310)는, 프런트 범퍼 또는 라디에이터 그릴 주변에 배치될 수 있다.
예를 들면, 카메라(310)는, 차량 후방의 영상을 획득하기 위해, 차량의 실내에서, 리어 글라스에 근접하게 배치될 수 있다. 또는, 카메라(310)는, 리어 범퍼, 트렁크 또는 테일 게이트 주변에 배치될 수 있다.
예를 들면, 카메라(310)는, 차량 측방의 영상을 획득하기 위해, 차량의 실내에서 사이드 윈도우 중 적어도 어느 하나에 근접하게 배치될 수 있다. 또는, 카메라(310)는, 사이드 미러, 휀더 또는 도어 주변에 배치될 수 있다.
카메라(310)는, 획득된 영상을 프로세서(370)에 제공할 수 있다.
레이다(320)는, 전자파 송신부, 수신부를 포함할 수 있다. 레이다(320)는 전파 발사 원리상 펄스 레이다(Pulse Radar) 방식 또는 연속파 레이다(Continuous Wave Radar) 방식으로 구현될 수 있다. 레이다(320)는 연속파 레이다 방식 중에서 신호 파형에 따라 FMCW(Frequency Modulated Continuous Wave)방식 또는 FSK(Frequency Shift Keying) 방식으로 구현될 수 있다.
레이다(320)는 전자파를 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다.
레이다(320)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
라이다(330)는, 레이저 송신부, 수신부를 포함할 수 있다. 라이다(330)는, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식으로 구현될 수 있다.
라이다(330)는, 구동식 또는 비구동식으로 구현될 수 있다. 구동식으로 구현되는 경우, 라이다(330)는, 모터에 의해 회전되며, 차량(100) 주변의 오브젝트를 검출할 수 있다. 비구동식으로 구현되는 경우, 라이다(330)는, 광 스티어링에 의해, 차량(100)을 기준으로 소정 범위 내에 위치하는 오브젝트를 검출할 수 있다. 차량(100)은 복수의 비구동식 라이다(330)를 포함할 수 있다.
라이다(330)는, 레이저 광 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 라이다(330)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
초음파 센서(340)는, 초음파 송신부, 수신부를 포함할 수 있다. 초음파 센서(340)은, 초음파를 기초로 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 초음파 센서(340)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
적외선 센서(350)는, 적외선 송신부, 수신부를 포함할 수 있다. 적외선 센서(340)는, 적외선 광을 기초로 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 적외선 센서(350)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
프로세서(370)는, 오브젝트 검출 장치(300)의 각 유닛의 전반적인 동작을 제어할 수 있다. 프로세서(370)는, 카메라(310, 레이다(320), 라이다(330), 초음파 센서(340) 및 적외선 센서(350)에 의해 센싱된 데이터와 기 저장된 데이터를 비교하여, 오브젝트를 검출하거나 분류할 수 있다.
프로세서(370)는, 획득된 영상에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 영상 처리 알고리즘을 통해, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.
예를 들면, 프로세서(370)는, 획득된 영상에서, 시간에 따른 오브젝트 크기의 변화를 기초로, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
예를 들면, 프로세서(370)는, 핀홀(pin hole) 모델, 노면 프로파일링 등을 통해, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
예를 들면, 프로세서(370)는, 스테레오 카메라(310a)에서 획득된 스테레오 영상에서 디스패러티(disparity) 정보를 기초로 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
프로세서(370)는, 송신된 전자파가 오브젝트에 반사되어 되돌아오는 반사 전자파에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 전자파에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.
프로세서(370)는, 송신된 레이저가 오브젝트에 반사되어 되돌아오는 반사 레이저 광에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 레이저 광에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.
프로세서(370)는, 송신된 초음파가 오브젝트에 반사되어 되돌아오는 반사 초음파에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 초음파에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.
프로세서(370)는, 송신된 적외선 광이 오브젝트에 반사되어 되돌아오는 반사 적외선 광에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 적외선 광에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.
앞서 설명한 바와 같이, 입력부(210)에 대한 사용자 입력에 반응하여 차량(100)의 학습 모드가 개시되면, 프로세서(370)는 카메라(310), 레이다(320), 라이다(330), 초음파 센서(340) 및 적외선 센서(350)에 의해 센싱된 데이터를 메모리(140)에 저장할 수 있다.
저장된 데이터의 분석을 기초로 한 학습 모드의 각 단계와 학습 모드에 후행하는 동작 모드에 대해서는 이하 운행 시스템(700)과 관련된 부분에서 상세히 설명하도록 한다.실시예에 따라, 오브젝트 검출 장치(300)는, 복수의 프로세서(370)를 포함하거나, 프로세서(370)를 포함하지 않을 수도 있다. 예를 들면, 카메라(310), 레이다(320), 라이다(330), 초음파 센서(340) 및 적외선 센서(350) 각각은 개별적으로 프로세서를 포함할 수 있다.
오브젝트 검출 장치(300)에 프로세서(370)가 포함되지 않는 경우, 오브젝트 검출 장치(300)는, 차량(100)내 장치의 프로세서 또는 제어부(170)의 제어에 따라, 동작될 수 있다. 오브젝트 검출 장치(300)는, 제어부(170)의 제어에 따라 동작될 수 있다.
통신 장치(400)는, 외부 디바이스와 통신을 수행하기 위한 장치이다. 여기서, 외부 디바이스는, 타 차량, 이동 단말기 또는 서버일 수 있다. 통신 장치(400)는, 통신을 수행하기 위해 송신 안테나, 수신 안테나, 각종 통신 프로토콜이 구현 가능한 RF(Radio Frequency) 회로 및 RF 소자 중 적어도 어느 하나를 포함할 수 있다.
통신 장치(400)는, 근거리 통신부(410), 위치 정보부(420), V2X 통신부(430), 광통신부(440), 방송 송수신부(450), ITS(Intelligent Transport Systems) 통신부(460) 및 프로세서(470)를 포함할 수 있다. 실시예에 따라, 통신 장치(400)는, 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.
근거리 통신부(410)는, 근거리 통신(Short range communication)을 위한 유닛이다. 근거리 통신부(410)는, 블루투스(Bluetooth?), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다. 근거리 통신부(410)는, 근거리 무선 통신망(Wireless Area Networks)을 형성하여, 차량(100)과 적어도 하나의 외부 디바이스 사이의 근거리 통신을 수행할 수 있다.
위치 정보부(420)는, 차량(100)의 위치 정보를 획득하기 위한 유닛이다. 예를 들면, 위치 정보부(420)는, GPS(Global Positioning System) 모듈 또는 DGPS(Differential Global Positioning System) 모듈을 포함할 수 있다.
V2X 통신부(430)는, 서버(V2I : Vehicle to Infra), 타 차량(V2V : Vehicle to Vehicle) 또는 보행자(V2P : Vehicle to Pedestrian)와의 무선 통신 수행을 위한 유닛이다. V2X 통신부(430)는, 인프라와의 통신(V2I), 차량간 통신(V2V), 보행자와의 통신(V2P) 프로토콜이 구현 가능한 RF 회로를 포함할 수 있다.
광통신부(440)는, 광을 매개로 외부 디바이스와 통신을 수행하기 위한 유닛이다. 광통신부(440)는, 전기 신호를 광 신호로 전환하여 외부에 발신하는 광발신부 및 수신된 광 신호를 전기 신호로 전환하는 광수신부를 포함할 수 있다. 실시예에 따라, 광발신부는, 차량(100)에 포함된 램프와 일체화되게 형성될 수 있다.
방송 송수신부(450)는, 방송 채널을 통해, 외부의 방송 관리 서버로부터 방송 신호를 수신하거나, 방송 관리 서버에 방송 신호를 송출하기 위한 유닛이다. 방송 채널은, 위성 채널, 지상파 채널을 포함할 수 있다. 방송 신호는, TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 수 있다.
ITS 통신부(460)는, 교통 시스템과 정보, 데이터 또는 신호를 교환할 수 있다. ITS 통신부(460)는, 교통 시스템에 획득한 정보, 데이터를 제공할 수 있다. ITS 통신부(460)는, 교통 시스템으로부터, 정보, 데이터 또는 신호를 제공받을 수 있다. 예를 들면, ITS 통신부(460)는, 교통 시스템으로부터 도로 교통 정보를 수신하여, 제어부(170)에 제공할 수 있다. 예를 들면, ITS 통신부(460)는, 교통 시스템으로부터 제어 신호를 수신하여, 제어부(170) 또는 차량(100) 내부에 구비된 프로세서에 제공할 수 있다.
프로세서(470)는, 통신 장치(400)의 각 유닛의 전반적인 동작을 제어할 수 있다. 실시예에 따라, 통신 장치(400)는, 복수의 프로세서(470)를 포함하거나, 프로세서(470)를 포함하지 않을 수도 있다. 통신 장치(400)에 프로세서(470)가 포함되지 않는 경우, 통신 장치(400)는, 차량(100)내 다른 장치의 프로세서 또는 제어부(170)의 제어에 따라, 동작될 수 있다.
한편, 통신 장치(400)는, 사용자 인터페이스 장치(200)와 함께 차량용 디스플레이 장치를 구현할 수 있다. 이 경우, 차량용 디스플레이 장치는, 텔레 매틱스(telematics) 장치 또는 AVN(Audio Video Navigation) 장치로 명명될 수 있다. 통신 장치(400)는, 제어부(170)의 제어에 따라 동작될 수 있다.
운전 조작 장치(500)는, 운전을 위한 사용자 입력을 수신하는 장치이다. 메뉴얼 모드인 경우, 차량(100)은, 운전 조작 장치(500)에 의해 제공되는 신호에 기초하여 운행될 수 있다. 운전 조작 장치(500)는, 조향 입력 장치(510), 가속 입력 장치(530) 및 브레이크 입력 장치(570)를 포함할 수 있다.
조향 입력 장치(510)는, 사용자로부터 차량(100)의 진행 방향 입력을 수신할 수 있다. 조향 입력 장치(510)는, 회전에 의해 조향 입력이 가능하도록 휠 형태로 형성되는 것이 바람직하다. 실시예에 따라, 조향 입력 장치는, 터치 스크린, 터치 패드 또는 버튼 형태로 형성될 수도 있다.
가속 입력 장치(530)는, 사용자로부터 차량(100)의 가속을 위한 입력을 수신할 수 있다. 브레이크 입력 장치(570)는, 사용자로부터 차량(100)의 감속을 위한 입력을 수신할 수 있다. 가속 입력 장치(530) 및 브레이크 입력 장치(570)는, 페달 형태로 형성되는 것이 바람직하다. 실시예에 따라, 가속 입력 장치 또는 브레이크 입력 장치는, 터치 스크린, 터치 패드 또는 버튼 형태로 형성될 수도 있다.
운전 조작 장치(500)는, 제어부(170)의 제어에 따라 동작될 수 있다.
차량 구동 장치(600)는, 차량(100)내 각종 장치의 구동을 전기적으로 제어하는 장치이다. 차량 구동 장치(600)는, 파워 트레인 구동부(610), 샤시 구동부(620), 도어/윈도우 구동부(630), 안전 장치 구동부(640), 램프 구동부(650) 및 공조 구동부(660)를 포함할 수 있다. 실시예에 따라, 차량 구동 장치(600)는, 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다. 한편, 차량 구동 장치(600)는 프로세서를 포함할 수 있다. 차량 구동 장치(600)의 각 유닛은, 각각 개별적으로 프로세서를 포함할 수 있다.
파워 트레인 구동부(610)는, 파워 트레인 장치의 동작을 제어할 수 있다. 파워 트레인 구동부(610)는, 동력원 구동부(611) 및 변속기 구동부(612)를 포함할 수 있다.
동력원 구동부(611)는, 차량(100)의 동력원에 대한 제어를 수행할 수 있다. 예를 들면, 화석 연료 기반의 엔진이 동력원인 경우, 동력원 구동부(610)는, 엔진에 대한 전자식 제어를 수행할 수 있다. 이에 의해, 엔진의 출력 토크 등을 제어할 수 있다. 동력원 구동부(611)는, 제어부(170)의 제어에 따라, 엔진 출력 토크를 조정할 수 있다.
예를 들면, 전기 에너지 기반의 모터가 동력원인 경우, 동력원 구동부(610)는, 모터에 대한 제어를 수행할 수 있다. 동력원 구동부(610)는, 제어부(170)의 제어에 따라, 모터의 회전 속도, 토크 등을 조정할 수 있다.
변속기 구동부(612)는, 변속기에 대한 제어를 수행할 수 있다. 변속기 구동부(612)는, 변속기의 상태를 조정할 수 있다. 변속기 구동부(612)는, 변속기의 상태를, 전진(D), 후진(R), 중립(N) 또는 주차(P)로 조정할 수 있다. 한편, 엔진이 동력원인 경우, 변속기 구동부(612)는, 전진(D) 상태에서, 기어의 물림 상태를 조정할 수 있다.
샤시 구동부(620)는, 샤시 장치의 동작을 제어할 수 있다. 샤시 구동부(620)는, 조향 구동부(621), 브레이크 구동부(622) 및 서스펜션 구동부(623)를 포함할 수 있다.
조향 구동부(621)는, 차량(100) 내의 조향 장치(steering apparatus)에 대한 전자식 제어를 수행할 수 있다. 조향 구동부(621)는, 차량의 진행 방향을 변경할 수 있다.
브레이크 구동부(622)는, 차량(100) 내의 브레이크 장치(brake apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 바퀴에 배치되는 브레이크의 동작을 제어하여, 차량(100)의 속도를 줄일 수 있다.
한편, 브레이크 구동부(622)는, 복수의 브레이크 각각을 개별적으로 제어할 수 있다. 브레이크 구동부(622)는, 복수의 휠에 걸리는 제동력을 서로 다르게 제어할 수 있다.
서스펜션 구동부(623)는, 차량(100) 내의 서스펜션 장치(suspension apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 서스펜션 구동부(623)는 도로 면에 굴곡이 있는 경우, 서스펜션 장치를 제어하여, 차량(100)의 진동이 저감되도록 제어할 수 있다. 한편, 서스펜션 구동부(623)는, 복수의 서스펜션 각각을 개별적으로 제어할 수 있다.
도어/윈도우 구동부(630)는, 차량(100) 내의 도어 장치(door apparatus) 또는 윈도우 장치(window apparatus)에 대한 전자식 제어를 수행할 수 있다. 도어/윈도우 구동부(630)는, 도어 구동부(631) 및 윈도우 구동부(632)를 포함할 수 있다.
도어 구동부(631)는, 도어 장치에 대한 제어를 수행할 수 있다. 도어 구동부(631)는, 차량(100)에 포함되는 복수의 도어의 개방, 폐쇄를 제어할 수 있다. 도어 구동부(631)는, 트렁크(trunk) 또는 테일 게이트(tail gate)의 개방 또는 폐쇄를 제어할 수 있다. 도어 구동부(631)는, 썬루프(sunroof)의 개방 또는 폐쇄를 제어할 수 있다.
윈도우 구동부(632)는, 윈도우 장치(window apparatus)에 대한 전자식 제어를 수행할 수 있다. 차량(100)에 포함되는 복수의 윈도우의 개방 또는 폐쇄를 제어할 수 있다.
안전 장치 구동부(640)는, 차량(100) 내의 각종 안전 장치(safety apparatus)에 대한 전자식 제어를 수행할 수 있다. 안전 장치 구동부(640)는, 에어백 구동부(641), 시트벨트 구동부(642) 및 보행자 보호 장치 구동부(643)를 포함할 수 있다.
에어백 구동부(641)는, 차량(100) 내의 에어백 장치(airbag apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 에어백 구동부(641)는, 위험 감지시, 에어백이 전개되도록 제어할 수 있다.
시트벨트 구동부(642)는, 차량(100) 내의 시트벨트 장치(seatbelt apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 시트벨트 구동부(642)는, 위험 감지 시, 시트 벨트를 이용해 탑승객이 시트(110FL, 110FR, 110RL, 110RR)에 고정되도록 제어할 수 있다.
보행자 보호 장치 구동부(643)는, 후드 리프트 및 보행자 에어백에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 보행자 보호 장치 구동부(643)는, 보행자와의 충돌 감지 시, 후드 리프트 업 및 보행자 에어백 전개되도록 제어할 수 있다.
램프 구동부(650)는, 차량(100) 내의 각종 램프 장치(lamp apparatus)에 대한 전자식 제어를 수행할 수 있다.
공조 구동부(660)는, 차량(100) 내의 공조 장치(air conditioner)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 공조 구동부(660)는, 차량 내부의 온도가 높은 경우, 공조 장치가 동작하여, 냉기가 차량 내부로 공급되도록 제어할 수 있다.
차량 구동 장치(600)는, 프로세서를 포함할 수 있다. 차량 구동 장치(600)의 각 유닛은, 각각 개별적으로 프로세서를 포함할 수 있다. 차량 구동 장치(600)는, 제어부(170)의 제어에 따라 동작될 수 있다.
운행 시스템(700)은, 차량(100)의 각종 운행을 제어하는 시스템이다. 운행 시스템(700)은, 자율 주행 모드에서 동작될 수 있다.
운행 시스템(700)은, 주행 시스템(710), 출차 시스템(740) 및 주차 시스템(750)을 포함할 수 있다. 실시예에 따라, 운행 시스템(700)은, 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다. 한편, 운행 시스템(700)은, 프로세서를 포함할 수 있다. 운행 시스템(700)의 각 유닛은, 각각 개별적으로 프로세서를 포함할 수 있다.
한편, 운행 시스템(700)은 학습에 기초한 자율 주행 모드의 운행을 제어할 수 있다. 이러한 경우에는 학습 모드 및 학습이 완료됨을 전제로 한 동작 모드가 수행될 수 있다. 운행 시스템(700)의 프로세서가 학습 모드(learning mode) 및 동작 모드(operating mode)를 수행하는 방법에 대하여 이하 설명하도록 한다.
학습 모드는 앞서 설명한 메뉴얼 모드에서 수행될 수 있다. 학습 모드에서 운행 시스템(700)의 프로세서는 차량(100)의 주행 경로 학습 및 주변 환경 학습을 수행할 수 있다.
주행 경로 학습은 차량(100)이 주행하는 경로에 대한 맵 데이터를 생성하는 단계를 포함할 수 있다. 특히, 운행 시스템(700)의 프로세서는 차량(100)이 출발지로부터 목적지까지 주행하는 동안 오브젝트 검출 장치(300)를 통해 검출된 정보에 기초하여 맵 데이터를 생성할 수 있다.
주변 환경 학습은 차량(100)의 주행 과정 및 주차 과정에서 차량(100)의 주변 환경에 대한 정보를 저장하고 분석하는 단계를 포함할 수 있다. 특히, 운행 시스템(700)의 프로세서는 차량(100)의 주차 과정에서 오브젝트 검출 장치(300)를 통해 검출된 정보, 예를 들면 주차 공간의 위치 정보, 크기 정보, 고정된(또는 고정되지 않은) 장애물 정보 등과 같은 정보에 기초하여 차량(100)의 주변 환경에 대한 정보를 저장하고 분석할 수 있다.
동작 모드는 앞서 설명한 자율 주행 모드에서 수행될 수 있다. 학습 모드를 통하여 주행 경로 학습 또는 주변 환경 학습이 완료된 것을 전제로 동작 모드에 대하여 설명한다.
동작 모드는 입력부(210)를 통한 사용자 입력에 반응하여 수행되거나, 학습이 완료된 주행 경로 및 주차 공간에 차량(100)이 도달하면 자동으로 수행될 수 있다.
동작 모드는 운전 조작 장치(500)에 대한 사용자의 조작을 일부 요구하는 반-자율 동작 모드(semi autonomous operating mode) 및 운전 조작 장치(500)에 대한 사용자의 조작을 전혀 요구하지 않는 완전-자율 동작 모드(fully autonomous operating mode)를 포함할 수 있다.
한편, 실시예에 따라 운행 시스템(700)의 프로세서는 동작 모드에서 주행 시스템(710)을 제어하여 학습이 완료된 주행 경로를 따라 차량(100)을 주행시킬 수 있다.
한편, 실시예에 따라 운행 시스템(700)의 프로세서는 동작 모드에서 출차 시스템(740)을 제어하여 학습이 완료된 주차 공간으로부터 주차된 차량(100)을 출차 시킬 수 있다.
한편, 실시예에 따라 운행 시스템(700)의 프로세서는 동작 모드에서 주차 시스템(750)을 제어하여 현재 위치로부터 학습이 완료된 주차 공간으로 차량(100)을 주차 시킬 수 있다.한편, 실시예에 따라, 운행 시스템(700)이 소프트웨어적으로 구현되는 경우, 제어부(170)의 하위 개념일 수도 있다.
한편, 실시예에 따라, 운행 시스템(700)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하는 개념일 수 있다.
주행 시스템(710)은, 차량(100)의 주행을 수행할 수 있다. 주행 시스템(710)은, 내비게이션 시스템(770)으로부터 내비게이션 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주행을 수행할 수 있다.
주행 시스템(710)은, 오브젝트 검출 장치(300)로부터 오브젝트 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주행을 수행할 수 있다. 주행 시스템(710)은, 통신 장치(400)를 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주행을 수행할 수 있다.
주행 시스템(710)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하여, 차량(100)의 주행을 수행하는 시스템 개념일 수 있다. 이러한, 주행 시스템(710)은, 차량 주행 제어 장치로 명명될 수 있다.
출차 시스템(740)은, 차량(100)의 출차를 수행할 수 있다. 출차 시스템(740)은, 내비게이션 시스템(770)으로부터 내비게이션 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 출차를 수행할 수 있다.
출차 시스템(740)은, 오브젝트 검출 장치(300)로부터 오브젝트 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 출차를 수행할 수 있다.
출차 시스템(740)은, 통신 장치(400)를 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 출차를 수행할 수 있다.
출차 시스템(740)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하여, 차량(100)의 출차를 수행하는 시스템 개념일 수 있다.
이러한, 출차 시스템(740)은, 차량 출차 제어 장치로 명명될 수 있다.
주차 시스템(750)은, 차량(100)의 주차를 수행할 수 있다. 주차 시스템(750)은, 내비게이션 시스템(770)으로부터 내비게이션 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주차를 수행할 수 있다.
주차 시스템(750)은, 오브젝트 검출 장치(300)로부터 오브젝트 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주차를 수행할 수 있다.
주차 시스템(750)은, 통신 장치(400)를 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주차를 수행할 수 있다.
주차 시스템(750)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하여, 차량(100)의 주차를 수행하는 시스템 개념일 수 있다.
이러한, 주차 시스템(750)은, 차량 주차 제어 장치로 명명될 수 있다.
내비게이션 시스템(770)은, 내비게이션 정보를 제공할 수 있다. 내비게이션 정보는, 맵(map) 정보, 설정된 목적지 정보, 상기 목적지 설정 따른 경로 정보, 경로 상의 다양한 오브젝트에 대한 정보, 차선 정보 및 차량의 현재 위치 정보 중 적어도 어느 하나를 포함할 수 있다.
내비게이션 시스템(770)은, 메모리, 프로세서를 포함할 수 있다. 메모리는 내비게이션 정보를 저장할 수 있다. 프로세서는 내비게이션 시스템(770)의 동작을 제어할 수 있다.
실시예에 따라, 내비게이션 시스템(770)은, 통신 장치(400)를 통해, 외부 디바이스로부터 정보를 수신하여, 기 저장된 정보를 업데이트 할 수 있다. 실시예에 따라, 내비게이션 시스템(770)은, 사용자 인터페이스 장치(200)의 하위 구성 요소로 분류될 수도 있다.
Visual SLAM을 위한 RANSAC 알고리즘
도 8 내지 도 11은 본 발명의 실시예에 따른 SLAM 알고리즘을 설명하기 위한 도면이다. 도 8에 대한 설명에 앞서, SLAM(Simultaneous Localization and Mapping)과 RANSAC(Random sample consensus)에 대하여 먼저 설명하도록 한다. 이하에서 자율주행 차량의 프로세서(170)는 도 7에 도시된 제어부(170)와 동일한 구성요소로 이해될 수 있다.
SLAM은 영상 프레임들에서 모션벡터(motion vector)를 검출하여 이동하는 물체의 자세를 추정하는 것으로, 물체의 외부 환경에 대한 정확한 지도를 생성하는 기술을 의미한다. 일반적으로 lidar SLAM과 visual SLAM이 잘 알려져 있다. lidar SLAM은 TOF(Time of Flight) 센서를 통해 포인트 클라우드(point cloud)를 검출하는 방법을 이용한다. 한편, visual SLAM은 영상 프레임에 포함된 이미지의 인텐시티(intensity)를 이용한다. lidar SLAM 및 visual SLAM은 코너 포인트(corner point)나 특징점(feature point)이 충분히 검출될 수 있는 공간, 예를 들면 실내 공간 또는 도심에서 수행되기에 적합한 기술이다.
RANSAC은 특이치를 포함하는 관측 데이터의 집합으로부터 수학적 모델의 파라미터들을 추정하는 반복법이다. RANSAC은 전술한 SLAM 기술을 구현하기 위해 사용되는 수학적 방법으로 이해될 수 있다.
한편, visual SLAM 시스템은 3D 모델과 관련하여 카메라의 포지션 및 배향(포즈)을 함께 추적할 수 있다. 키프레임-기반 visual SLAM 시스템들은 입력된 이미지 스트림이나 공급부로부터 별도로 선택된 프레임들을 프로세싱 할 수 있다. 키프레임-기반 visual SLAM 시스템은 일반적인 카메라 모션으로부터 3D 피쳐 맵을 생성한다.
한편, 3차원 공간에서 이동하는 물체는 3-rotation 및 3-translation(6 degrees of freedom, 6-dof)으로 모델을 세울 수 있다. 3-rotation은 yaw, pitch, roll을 포함하는 회전 모션으로 정의될 수 있고, 3-translation은 x축, y축 및 z축 상의 병진 모션으로 정의될 수 있다.
도 8 내지 도 11에 도시된 본 발명의 실시예는 자율주행 차량에 구비되는 복수 개(예를 들면, 4개)의 카메라로부터 복수 개의 영상 프레임을 이용하여 visual SLAM을 구현하는 방법을 제안한다. 특히, 본 발명의 실시예에 따른 자율주행 차량의 카메라는 외부 환경에 대한 적어도 두 개의 영상 프레임을 획득하고, 프로세서는 획득된 적어도 두 개의 영상 프레임에 기초하여 자율주행 차량의 병진 모션 및 회전 모션을 산출한다.
한편, 카메라는 자율주행차량의 외부 영상을 획득하기 위해 자율주행 차량의 외부의 적절한 곳에 위치할 수 있다. 카메라는 모노 카메라, 스테레오 카메라, AVM(Around View Monitoring) 카메라 또는 360도 카메라일 수 있다.
카메라를 통해 획득되는 영상 프레임은 오브젝트의 경계면, 코너 포인트(corner point)와 같은 특징점(feature point)을 포함한다. 상술한 특징점을 검출하기 위한 다양한 종래 알고리즘들이 있다.
종래 기술에 따른 SLAM 알고리즘은 먼저, 복수의 프레임(frame)을 비교하여 변화가 크지 않은 특징점(feature point)를 검출하고, 약 200-300 개의 매칭되는 특징점(feature point)들을 추출하는 방법을 이용한다. 또한, 복수의 카메라를 이용하는 종래 기술에 따른 SLAM 알고리즘은, 복수의 카메라 각각의 프레임에서 복수의 모델을 생성하거나, 복수의 카메라로부터 프레임들을 모두 통합한 뒤 모델을 생성하는 방법을 이용한다.
반면, 본 발명의 실시예에 따른 SLAM 알고리즘은, 특징점의 수가 상대적으로 많은 영상에서 생성한 모델을 다른 카메라 영상에 동일하게 적용하여 기하학적 확률적으로 최적의 움직임을 추정하는 방법을 제공한다.
즉, 카메라의 위치 또는 기타 요인들로 인한 오차가 존재하기 때문에, 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 특징점이 가장 많이 검출될 것으로 추정되는 카메라의 프레임으로부터 베이스 모델을 생성하고, 나머지 카메라의 프레임을 이용하여 생성된 베이스 모델을 검증한다.
도 8을 참조하여 본 발명의 실시예에 따른 SLAM 알고리즘을 보다 구체적으로 설명하도록 한다. 도 8의 각 단계를 보다 구체적으로 설명하기 위하여 도 9 내지 도 11을 함께 설명하도록 한다.
도 8의 단계 810에 따라 자율주행 차량의 프로세서(170)는 적어도 하나의 카메라에서 획득된 적어도 두 개의 영상 프레임의 샘플링을 통해 제1 카메라를 선택한다. 상기 샘플링은 예를 들면, PPS(Probability Proportional to Size) 샘플링일 수 있다. 이하에서는, 도 10과 함께 PPS 샘플링에 대하여 상세히 설명하도록 한다.
도 10을 참조하여, 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)가 PPS(Probability Proportional to Size) 샘플링을 이용하여 제1 카메라를 선택하는 방법을 설명하도록 한다.
우선, 자율주행 차량이 A 내지 D 카메라를 각각 서로 다른 위치에 구비한다고 가정한다. 도 10에서 A 영역은 A 카메라의 샘플 사이즈를 의미하고, B 영역은 B 카메라의 샘플 사이즈를 의미하고, C 영역은 C 카메라의 샘플 사이즈를 의미하고, D 영역은 D 카메라의 샘플 사이즈를 의미한다.
자율주행 차량의 프로세서(170)는 PPS 샘플링을 이용하여, 0부터 1까지의 샘플 공간(sample space)에서 균일하게(uniformly) 변수 x를 샘플링 한다. PPS 샘플링은 샘플 사이즈가 큰 클러스터(cluster)에서 더 큰 확률로 x를 샘플링 하는 방법이다. 도 10을 참조하면, D 영역에서 x가 샘플링 될 확률이 큰 것을 알 수 있다. 다음으로, 자율주행 차량의 프로세서(170)는 x가 포함된 클러스터를 선택한다. 선택된 클러스터는 그에 대응하는 카메라를 의미한다. 도 10을 참조하면, D 카메라가 선택된 것을 알 수 있다.
한편, 도 10과 관련하여, 본 발명의 다른 실시예에 따른 자율주행 차량의 프로세서(170)는 자율주행 차량의 모션 속성에 기초하여 제1 카메라를 선택할 수 있다.
자율주행 차량의 모션 속성이 병진(translation) 모션이면 전/후면에 장착되는 카메라보다는 측면에 장착되는 카메라를 통해 보다 많은 특징점을 갖는 프레임이 얻어진다. 즉, 병진 모션에는 측면에 장착되는 카메라가 유리하므로, 자율주행 차량의 프로세서는 자율주행 차량의 모션 속성이 병진 모션이면 측면에 장착되는 카메라를 제1 카메라로 선택한다.
반면 코너 구간에서와 같이, 자율주행 차량의 모션 속성이 회전(rotation) 모션이면 측면에 장착되는 카메라를 통해서는 자율주행 차량의 모션이 병진 모션인지 회전 모션인지 구분하기 어렵다. 즉, 회전 모션에는 전/후면에 장착되는 카메라가 유리하므로, 자율주행 차량의 프로세서는 자율주행 차량의 모션 속성이 회전 모션이면 전/후면에 장착되는 카메라를 제1 카메라로 선택한다.
한편, 일반적으로 자율주행 차량의 모션 속성은 일반적으로 병진 모션 및 회전 모션을 함께 포함한다. 따라서, 본 발명의 다른 실시예에 따른 자율주행 차량의 프로세서(170)는 자율주행 차량의 모션 속성에서 더 높은 비율을 차지하는 모션 속성에 대응하는 카메라에 큰 웨이트(weight)를 적용함으로써 제1 카메라로 선택할 수도 있다. 나아가, 본 발명의 다른 실시예에 따른 자율주행 차량의 프로세서는 휠 오도미터를 통하여 자율주행 차량의 모션 속성을 판단할 수도 있다.
다음으로, 도 8의 단계 820에 따라 자율주행 차량의 프로세서(170)는 적어도 하나의 이미지 벡터 및 랜드마크 페어(pair)를 샘플링 한다. 그리고, 도 8의 단계 830에 따라 자율주행 차량의 프로세서(170)는 RANSAC 알고리즘에 의해 산출된 RANSAC 모델을 생성한다. 예를 들면, 상기 RANSAC 알고리즘은 P3P-RANSAC 알고리즘일 수 있다.
도 8의 단계 830을 참조하면, 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 프레임에서 R(θ) 모델에 가장 적합한 파라미터가 무엇인지 찾는 과정을 수행한다. 이를 수행함에 있어서, 프로세서(170)는 적어도 두 개의 영상 프레임을 이용한다. 예를 들면, 프로세서(170)는 제1 카메라를 통해 획득한 제1 영상 프레임에서 RANSAC 모델을 생성한 후, 제1 카메라를 통해 획득한 제2 영상 프레임을 기초로 병진(translation) 모션 및 회전(rotation) 모션을 산출한다.
프로세서(170)가 프레임으로부터 RANSAC 모델을 생성하는 방법은 아래 [수학식 1]로 표현될 수 있다. [수학식 1]에서 x, y는 제1 영상 프레임에서의 특징점의 좌표이고, x', y'은 제2 영상 프레임에서의 특징점의 좌표이고, R은 회전(Rotation) 모션을 나타내고, T는 병진(Translation) 모션을 나타낸다.
Figure pat00001
다음으로, 도 8의 단계 840에 따라 자율주행 차량의 프로세서(170)는 단계 830에서 생성된 RANSAC model을 검증한다. 도 8의 단계 840에 대해서는 이하 도 9에서 보다 상세히 후술하도록 한다.
도 9는 본 발명의 실시예에 따른 차량의 SLAM 알고리즘에서 RANSAC model을 검증하는 방법을 설명하기 위한 순서도이다. 먼저, 도 9의 단계 910에 따라 자율주행 차량의 프로세서(170)는 카메라에서 이미지 벡터 및 랜드마크 페어를 획득한다.
도 9의 단계 920에 따라 자율주행 차량의 프로세서(170)는 도 8의 단계 830에서 생성된 RANSAC 모델을 다른 카메라의 프레임에 적용한다. 자율주행 차량에 장착되는 복수의 카메라는 각각의 위치가 모두 다르다. 따라서, 단계 920에서, 프로세서(170)는 복수 개의 카메라를 동일한 조건의 모션으로 조정(align)하는 단계를 수행한다.
도 9의 단계 930에 따라 자율주행 차량의 프로세서(170)는 다른 카메라의 프레임에 적용된 RANSAC 모델의 비용을 계산한다.
도 9의 단계 940에 따라 자율주행 차량의 프로세서(170)는 계산된 비용이 기설정된 값 이상을 만족하는지 판단한다. 비용이 기설정된 값 이상을 만족하면, 프로세서(170)는 도 8의 단계 830에서 생성된 RANSAC 모델을 최적의 모델로 설정한다. 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 기설정된 값 이상을 만족하는 비용이 산출될 때까지 도 9에 도시된 루프(loop)를 반복(iteration)하도록 설계된다.
한편, 도 9의 단계 940에서 프로세서(170)는 비용이 기설정된 값 이상을 만족하는지 여부를 판단하고, 그에 따라 루프(loop)를 종료 하였으나, 본 발명의 다른 실시예에 따르면 프로세서(170)는 반복 루프(iteration loop)를 종료하는 다른 조건을 설정할 수도 있다. 예를 들면, 다른 카메라의 프레임에 적용된 RANSAC 모델의 인라이어(inlier)의 개수가 소정 개수 이하이거나 반복 루프의 최대 반복 횟수를 만족하는 경우에 반복 루프를 종료할 수 있다.
도 11은 본 발명의 실시예에 따른 차량의 SLAM 알고리즘을 슈도-코드(pseudocode)로 나타낸 것이다.
도 11의 부분 (a)는 도 8의 단계 810 내지 단계 830에 대응한다. 도 11의 부분 (b)는 도 8의 단계 840 및 도 9의 단계 910 내지 단계 930에 대응한다. 도 11의 부분 (c)는 도 9의 단계 940에 대응한다. 도 11에 도시된 코드는 예시적인 것으로, 본 발명의 실시예에 따른 SLAM 알고리즘의 권리범위가 이에 한정되는 것은 아니다.
도 11에 도시된 코드로 구현될 수 있는 본 발명의 SLAM 알고리즘은 특징점의 수가 상대적으로 많은 프레임에서 생성한 모델을 다른 카메라 프레임에 동일하게 적용하여 기하학적 확률적으로 최적의 움직임을 추정할 수 있는 기술적 효과가 있다.
앞서 도 8 내지 도 11을 통해 설명한 본 발명의 실시예는 카메라가 복수 개 구비되는 경우 즉, 카메라 개수에 의존도(dependency)가 있는 경우의 프레임에 기초한 모션 검출과 관련된 것이다. 이하 도 12 내지 도 13에서는 본 발명의 실시예에 따라 카메라의 개수에 관계없이 즉, 카메라 개수에 의존도가 없는 경우의 단안 카메라에서 모션 검출을 수행하는 방법에 대하여 설명하도록 한다.
scale correcting Local Bundle Adjustment( scLBA )
도 12 내지 도 13은 본 발명의 실시예에 따른 자율주행 차량의 SLAM 알고리즘을 설명하기 위한 도면이다. 보다 구체적으로, 도 12는 scale correcting Local Bundle Adjustment(scLBA) 알고리즘을 나타낸 순서도이고, 도 13은 도 12의 순서도를 설명하기 위한 개념도이다. 우선, 도 12에 대한 설명에 앞서 LBA(Local Bundle Adjustment)에 대하여 설명하도록 한다.
LBA(Local Bundle Adjustment)는 현재 자세와 시간적, 공간적으로 가까운 환경 지도상의 3차원 점들의 정보와 추정된 자세를 동시에 비선형 최적화하는 방법이다. 일반적으로 자세 측정(motion estimation) 과정에서 자세는 기하학적 오차를 포함하고 있는데, 이러한 오차는 시간이 지날수록 누적되어 자세 측정의 정확도를 저하시킨다. LBA는 이러한 문제를 해결하기 위하여 사용된다.
종래 기술에 따른 LBA 알고리즘은 단안 카메라를 통해 주변환경을 3D모델링 하기 위하여, 스테레오 카메라의 설치 위치를 고려하여 디스페리티 맵(disparity map)을 생성하는 방법을 이용한다. 다시 말해, 종래 기술에 따른 LBA 알고리즘은 연속된 프레임들 사이의 시차를 이용하는 방법이라고 할 수 있다.
그러나, 종래 기술에 따른 LBA 알고리즘은 추정 값 기반의 최적화가 진행되므로 이동 경로가 길어질 경우 드리프트(drift)가 발생하는 문제를 갖는다. 또한, 종래 기술에 따른 LBA 알고리즘은 경로에 대한 실제 크기 정보를 이용하지 않기 때문에 추정된 경로 및 환경 지도에 단위가 없는 근본적인 한계점을 갖는다.
이하, 도 12 내지 도 13을 참조하여 본 발명의 실시예에 따른 자율주행 차량의 프로세서가 수행하는 scLBA(scale correcting Local Bundle Adjustment) 알고리즘에 대하여 설명하도록 한다.
도 12를 참조하면, 본 발명의 실시예에 따른 scLBA 알고리즘이 적용된 자율주행 차량의 프로세서(170)는 도 12의 단계 1210이 수행되기 전에 자율주행 차량에 장착된 카메라를 통해 적어도 3개의 키 프레임(key frame)을 검출한다.
도 13을 참조하면, 검출된 프레임들은 제1 키 프레임(1301), 제2 키 프레임(1302) 및 제3 키 프레임(1303)이다. 제1 키 프레임(1301)은 적어도 하나의 제1 이미지(1310)을 포함하고, 제2 키 프레임(1302)는 적어도 하나의 제2 이미지(1320)를 포함하며, 제3 키 프레임(1303)은 적어도 하나의 제3 이미지(1330)를 포함한다.
도 12의 단계 1210 및 도 13을 참조하면, 자율주행 차량의 프로세서(170)는 제1 키 프레임(1301) 및 제2 키 프레임(1302)을 이용하여 3D 랜드마크(1350)를 생성한다.
도 13에서, 제1 이미지(1310) 및 제2 이미지(1320)는 적어도 하나의 특징점(feature point)을 포함한다. 자율주행 차량의 프로세서(170)는 제1 이미지(1310) 및 제2 이미지(1320)에서 서로 대응하는 특징점(1340)을 추출하고, 추출된 특징점(1340)에 기초하여 3D 랜드마크(1350)를 생성한다.
다음으로, 도 12의 단계 1220 및 도 13을 참조하면, 자율주행 차량의 프로세서(170)는 도 12의 단계 1210에 따라 생성된 3D 랜드마크(1350)를 제3 키 프레임(1303)에 재투영(reprojection)한다.
다음으로, 도 12의 단계 1230 및 도 13을 참조하면, 자율주행 차량의 프로세서(170)는 도 12의 단계 1220에 따라 투영된 값과 제3 이미지(1330)의 차이(error) 값을 계산한다. 보다 구체적으로, 프로세서(170)는 3D 랜드마크가 제3 키 프레임(1303)에 투영된 점과 제3 이미지(1330)에서 검출된 특징점 사이의 오차를 계산한다.
마지막으로, 도 12의 단계 1240 및 도 13을 참조하면, 자율주행 차량의 프로세서(170)는 도 12의 단계 1230에 따라 계산된 차이(error) 값을 최소화하는 과정을 수행한다.
도 12의 단계 1240를 수행함에 있어서, 프로세서(170)는 차이(error) 값을 최소화하기 위하여 자율주행 차량의 휠 오도메트리(wheel odometry)를 이용한다. 휠 오도미터(wheel odometer)를 이용하여 자율주행 차량의 위치 변화량에 대응하는 스케일(scale) 값을 알 수 있기 때문에, 본 발명의 실시예에 따른 자율주행 차량은 차이(error) 값을 보다 정확히 계산할 수 있고, 차이(error) 값도 보다 정확히 보정할 수 있다.
도 12의 단계 1230 및 단계 1240 단계는 아래 [수학식 2] 내지 [수학식 8]에 의해 이해될 수 있다. 아래 [수학식 2] 내지 [수학식 4]에서 R은 도 13에 도시된 적어도 하나의 키 프레임(1301, 1302, 1303)의 회전(rotation) 벡터 집합, t는 도 13에 도시된 적어도 하나의 키 프레임(1301, 1302, 1303)의 병진(translation) 벡터 집합, X는 도 13에 도시된 3D 랜드마크(1350)의 위치 집합을 나타낸다. N은 집합 내 키 프레임의 개수를 나타내고, M은 집합 내 3D 랜드마크의 개수를 나타낸다.
Figure pat00002
Figure pat00003
Figure pat00004
[수학식 5]는 볼 발명의 실시예에 따른 LBA의 최소화 목적함수를 나타내고, [수학식 6]은 i 및 j 번째 키프레임 사이의 재투영 오차항(reprojection error)을 나타내고, [수학식 7]은 i 및 j 번째 키프레임 사이의 크기 오차항(scale error)을 나타낸다. [수학식 6]의 재투영 오차항과 [수학식 7]의 크기 오차항이 이상적으로 0의 값을 갖도록 하는 R, t, X의 해를 구하는 것이 [수학식 8]의 목적이다.
Figure pat00005
Figure pat00006
Figure pat00007
Figure pat00008
[수학식 5] 에서 W는 임의의 로컬 윈도우(local window) 크기이고,
Figure pat00009
는 지표 변수로서
Figure pat00010
가 i 번째 키프레임에서 관측될 경우 1을 갖고 관측되지 않을 경우 0을 갖는다. [수학식 6] 에서
Figure pat00011
Figure pat00012
는 각각 i 번째 키 프레임에서의 회전벡터와 이동벡터이고,
Figure pat00013
는 i 번째 키프레임에서 관측된
Figure pat00014
와 매칭된 2차원 영상 좌표이다. 또한, [수학식 6] 에서
Figure pat00015
는 3차원 점의 2차원 영상으로의 투영을 표현하는 함수이다.
한편, [수학식 7]에서
Figure pat00016
은 도 13에 도시된 본 발명의 실시예에 따른 휠 오도미터로 관측한 i 번째 키프레임(1301) 및 j 번째 키프레임(1302) 사이의 실제 이동 거리(1360)를 나타낸다. 즉, 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 휠 오도미터를 통해 검출된 실제 이동 거리(1360)를 크기 오차항(scale error)의 보정에 이용한다.
[수학식 7]의 크기 오차항은 키 프레임(1301, 1302, 1303)간의 휠 오도미터의 실측 거리(1360, 1370)에 맞게 추정된 자세를 보정한다. 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 크기 오차항을 이용하여 [수학식 6]을 최적화할 수 있으므로, 3D 랜드마크(1350)의 실제 크기 및 이동 경로를 보다 정확히 추정할 수 있는 기술적 효과를 갖는다.
마지막으로, 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 적어도 하나의 함수 최적화 기법을 이용하여 [수학식 8]을 계산하여 최적의 R, t, X를 산출한다. 상기 함수 최적화 기법은 예를 들면 Levenberg-Marquardt 방식이다.
정리하면, 본 발명의 실시예에 따른 자율주행 차량의 프로세서가 수행하는 scLBA 알고리즘에 따르면, 휠 오도미터에서 획득한 실측 값을 목적함수에서 사용하기 때문에, 키 프레임 간의 이동 경로에 대한 실제 크기 정보를 표현하는 항과 특징점의 재투영 항을 함께 비선형 최적화할 수 있다. 그에 따라 본 발명의 실시예에 따른 자율주행 차량의 프로세서가 수행하는 scLBA 알고리즘은 종래 기술에 따른 LBA 알고리즘이 내포하는 드리프트가 발생하는 문제와 추정된 경로/환경 지도에 단위가 없다는 문제를 효과적으로 해결할 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 프로세서 또는 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100 : 자율주행 차량

Claims (10)

  1. 자율주행 차량에 있어서,
    상기 자율주행 차량의 외부 환경에 대한 적어도 두 개의 영상 프레임을 획득하는 카메라; 및
    상기 획득된 적어도 두 개의 영상 프레임에 기초하여 상기 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출하는 프로세서;를 포함하는 자율주행 차량.
  2. 제1항에 있어서,
    상기 카메라는 복수 개 구비되고,
    상기 프로세서는,
    상기 복수 개의 카메라에서 각각 획득된 영상 프레임을 샘플링하고, 상기 샘플링 결과에 기초하여 제1 카메라를 선택하는 것을 특징으로 하는 자율주행 차량.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 선택된 제1 카메라의 영상 프레임으로부터 RANSAC(Random sample consensus) 모델을 생성하는 것을 특징으로 하는 자율주행 차량.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 생성된 RANSAC 모델을 상기 선택된 제1 카메라와 다른 제2 카메라의 영상 프레임에 적용하고,
    상기 제2 카메라의 영상 프레임에 적용된 상기 RANSAC 모델의 비용을 계산하는 것을 특징으로 하는 자율주행 차량.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 계산된 비용이 기설정된 값 이상인 것으로 판단하면, 상기 RANSAC 모델을 상기 제1 카메라 이외의 카메라의 영상 프레임에 적용하고, 상기 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출하는 것을 특징으로 하는 자율주행 차량.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 카메라를 통해 제1 이미지를 포함하는 제1 키 프레임 및 제2 이미지를 포함하는 제2 키 프레임을 획득하고,
    상기 제1 이미지 및 제2 이미지에 포함된 특징점에 기초하여 3D 랜드마크를 생성하는 것을 특징으로 하는 자율주행 차량.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 카메라를 통해 제3 이미지를 포함하는 제3 키 프레임을 더 획득하고, 상기 생성된 3D 랜드마크를 상기 제3 키 프레임에 재투영(reprojection)하고, 상기 투영된 값과 상기 제3 이미지의 차이(error) 값을 계산하는 것을 특징으로 하는 자율주행 차량.
  8. 제7항에 있어서,
    상기 차이 값은 재투영 오차항(reprojection error) 및 크기 오차항(scale error)을 포함하고,
    상기 프로세서는,
    함수 최적화 기법을 이용하여 상기 재투영 오차항 및 크기 오차항을 보정하는 것을 특징으로 하는 자율주행 차량.
  9. 제8항에 있어서,
    상기 자율주행 차량은 휠 오도미터를 더 포함하고,
    상기 프로세서는,
    상기 휠 오도미터를 제어하여 상기 제1 키 프레임에서 상기 제2 키 프레임까지 상기 자율주행 차량의 이동량을 더 검출하는 것을 특징으로 하는 자율주행 차량.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 검출된 이동량을 상기 크기 오차항의 보정에 이용하는 것을 특징으로 하는 자율주행 차량.
KR1020180018324A 2018-02-14 2018-02-14 자율주행 차량 및 그 제어 방법 KR102044703B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180018324A KR102044703B1 (ko) 2018-02-14 2018-02-14 자율주행 차량 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180018324A KR102044703B1 (ko) 2018-02-14 2018-02-14 자율주행 차량 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20190103527A true KR20190103527A (ko) 2019-09-05
KR102044703B1 KR102044703B1 (ko) 2019-12-02

Family

ID=67949684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180018324A KR102044703B1 (ko) 2018-02-14 2018-02-14 자율주행 차량 및 그 제어 방법

Country Status (1)

Country Link
KR (1) KR102044703B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210076635A (ko) 2019-12-16 2021-06-24 에스엘 주식회사 차량용 변속 장치
KR20230040431A (ko) * 2021-09-15 2023-03-23 김배훈 어레이 카메라 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009008591A (ja) * 2007-06-29 2009-01-15 Aisin Aw Co Ltd 自車位置認識装置及び自車位置認識プログラム
KR20110098871A (ko) * 2010-02-27 2011-09-02 한양대학교 산학협력단 비전기반의 소실점을 이용한 자율 주행로봇의 구조적 랜드마크 인식 방법
KR20150058679A (ko) * 2013-11-20 2015-05-29 한국전자통신연구원 단지내 도로에서 자율주행차량의 위치 및 해딩 정보 제공 장치 및 방법
KR20150144727A (ko) * 2014-06-17 2015-12-28 주식회사 유진로봇 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR20160050741A (ko) * 2014-10-30 2016-05-11 현대모비스 주식회사 차량 경보 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009008591A (ja) * 2007-06-29 2009-01-15 Aisin Aw Co Ltd 自車位置認識装置及び自車位置認識プログラム
KR20110098871A (ko) * 2010-02-27 2011-09-02 한양대학교 산학협력단 비전기반의 소실점을 이용한 자율 주행로봇의 구조적 랜드마크 인식 방법
KR20150058679A (ko) * 2013-11-20 2015-05-29 한국전자통신연구원 단지내 도로에서 자율주행차량의 위치 및 해딩 정보 제공 장치 및 방법
KR20150144727A (ko) * 2014-06-17 2015-12-28 주식회사 유진로봇 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR20160050741A (ko) * 2014-10-30 2016-05-11 현대모비스 주식회사 차량 경보 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210076635A (ko) 2019-12-16 2021-06-24 에스엘 주식회사 차량용 변속 장치
KR20230040431A (ko) * 2021-09-15 2023-03-23 김배훈 어레이 카메라 시스템

Also Published As

Publication number Publication date
KR102044703B1 (ko) 2019-12-02

Similar Documents

Publication Publication Date Title
KR102581359B1 (ko) 차량용 사용자 인터페이스 장치 및 차량
KR102077573B1 (ko) 자동 주차 시스템 및 차량
US11086335B2 (en) Driving assistance system and vehicle comprising the same
US10705522B2 (en) Method for controlling operation system of a vehicle
KR102001917B1 (ko) 차량용 주차 시스템 및 차량
US20200070827A1 (en) Autonomous vehicle and operating method for autonomous vehicle
KR102120108B1 (ko) 자율주행 차량 및 그 제어 방법
CN109664887A (zh) 自主行驶车辆及其控制方法
KR102025809B1 (ko) 차량 주행 제어 장치 및 차량 주행 방법
KR20190099165A (ko) 가상 홈 서비스 장치 및 방법
US20230304821A1 (en) Digital signage platform providing device, operating method thereof, and system including digital signage platform providing device
KR102035135B1 (ko) 차량 사고 정보 제공 시스템
US20190186941A1 (en) Vehicle control device mounted on vehicle and method for controlling the vehicle
KR102044703B1 (ko) 자율주행 차량 및 그 제어 방법
US20230012932A1 (en) Vehicle control device and control method therefor
KR102533246B1 (ko) 항법 장치 및 이를 포함하는 차량 운전 보조장치
KR102030693B1 (ko) 차량 제어 방법
KR102043954B1 (ko) 차량에 구비된 차량용 로봇 및 차량용 로봇의 제어방법
KR102181651B1 (ko) 경로 제공 장치 및 그것을 포함하는 차량 제어 시스템
KR102041964B1 (ko) 차량에 구비된 차량 제어 장치
KR102024093B1 (ko) 차량의 운행 시스템
US20210357667A1 (en) Methods and Systems for Measuring and Mapping Traffic Signals
EP3460403B1 (en) Method for controlling operation system of a vehicle
US20210323469A1 (en) Vehicular around view image providing apparatus and vehicle
KR102011832B1 (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