KR102044703B1 - Autonomous vehicle and method of controlling the same - Google Patents

Autonomous vehicle and method of controlling the same Download PDF

Info

Publication number
KR102044703B1
KR102044703B1 KR1020180018324A KR20180018324A KR102044703B1 KR 102044703 B1 KR102044703 B1 KR 102044703B1 KR 1020180018324 A KR1020180018324 A KR 1020180018324A KR 20180018324 A KR20180018324 A KR 20180018324A KR 102044703 B1 KR102044703 B1 KR 102044703B1
Authority
KR
South Korea
Prior art keywords
vehicle
processor
camera
image
autonomous vehicle
Prior art date
Application number
KR1020180018324A
Other languages
Korean (ko)
Other versions
KR20190103527A (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 KR1020180018324A priority Critical patent/KR102044703B1/en
Publication of KR20190103527A publication Critical patent/KR20190103527A/en
Application granted granted Critical
Publication of KR102044703B1 publication Critical patent/KR102044703B1/en

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) 모션을 산출하는 프로세서를 포함한다.The present invention relates to an autonomous vehicle and a control method thereof. An autonomous vehicle according to an embodiment of the present invention is a translation of the autonomous vehicle based on the at least two image frames and the camera to obtain at least two image frames for the external environment of the autonomous vehicle Motion and rotational motion.

Description

자율주행 차량 및 그 제어 방법{Autonomous vehicle and method of controlling the same}Autonomous vehicle and method of controlling the same}

본 발명은 자율주행 차량 및 그 제어 방법에 관한 것이다. 보다 구체적으로, 본 발명은 자율주행 차량의 SLAM(Simultaneous Localization And Mapping) 알고리즘에 관한 것이다. The present invention relates to an autonomous vehicle and a control method thereof. More specifically, the present invention relates to a Simultaneous Localization And Mapping (SLAM) algorithm of an autonomous vehicle.

차량은 탑승하는 사용자가 원하는 방향으로 이동시키는 장치이다. 대표적으로 자동차를 예를 들 수 있다.The vehicle is a device for moving in the direction desired by the user on board. An example is a car.

한편, 차량을 이용하는 사용자의 편의를 위해, 각 종 센서와 전자 장치 등이 구비되고 있는 추세이다. 특히, 사용자의 운전 편의를 위해 차량 운전자 보조 시스템(Advanced Driver Assistance System, ADAS)에 대한 연구가 활발하게 이루어지고 있다. 나아가, 자율 주행 차량(Autonomous Vehicle)에 대한 개발이 활발하게 이루어지고 있다.On the other hand, for the convenience of the user using the vehicle, various types of sensors, electronic devices, etc. are provided. In particular, research on the Advanced Driver Assistance System (ADAS) has been actively conducted for the user's driving convenience. Furthermore, development of autonomous vehicles is being actively performed.

한편, 차량에 구비되는 센서를 이용하여 차량의 외부 환경에 대한 정밀 지도를 생성하는 기술 분야에 대한 개발이 활발하게 이루어지고 있다. 특히, lidar SLAM (Simultaneous Localization and Mapping) 또는 visual SLAM을 위한 카메라 자세 추정(pose estimation of camera)은 정밀 지도 생성에 있어 핵심적인 기술로 인식되고 있다. 카메라 자세 추정은 동적으로 위치가 변하는 카메라의 병진(translation) 모션 정보 및 회전(rotation) 모션 정보를 결정하는 것이다.On the other hand, the development of a technical field for generating a precise map of the external environment of the vehicle using the sensor provided in the vehicle is actively made. In particular, pose estimation of camera for lidar SLAM (Simultaneous Localization and Mapping) or visual SLAM is recognized as a core technology in generating a precise map. Camera pose estimation is to determine translation motion information and rotation motion information of a camera that is dynamically changing position.

한편, 자율주행 차량에 있어서 visual SLAM 시스템은 차량이 6-dof (6 degrees of freedom)에서 이동하면서 카메라를 통해 획득한 프레임들을 프로세싱하고 자율주행 차량의 주변환경을 3차원 모델링 하는 기술이다.In the autonomous vehicle, the visual SLAM system is a technology that processes frames acquired by a camera while the vehicle moves at 6-dof (6 degrees of freedom) and three-dimensional model the environment of the autonomous vehicle.

복수의 카메라를 이용하는 종래 기술에 따른 visual SLAM 알고리즘은 복수의 카메라 각각의 프레임에서 복수의 모델을 생성하거나, 복수의 카메라로부터 획득한 프레임들을 모두 통합한 뒤 하나의 모델을 생성하는 방법을 이용한다. 그에 따라, 종래 기술에 따른 visual SLAM 알고리즘은 프로세서가 처리해야 할 계산 량이 많고 계산 속도가 느린 문제점을 갖는다.The conventional visual SLAM algorithm using a plurality of cameras uses a method of generating a plurality of models in each frame of a plurality of cameras, or integrating the frames obtained from the plurality of cameras and then generating a model. Accordingly, the visual SLAM algorithm according to the prior art has a problem in that a large amount of computation is required to be processed by the processor and the computation speed is slow.

따라서, 자율주행 차량에 있어서 프로세서가 처리해야 할 계산 량을 줄이고, 빠른 처리 속도를 제공할 수 있는 visual SLAM 알고리즘이 요구된다.Therefore, in the autonomous vehicle, there is a need for a visual SLAM algorithm that can reduce the amount of computation required by the processor and provide fast processing speed.

본 발명의 실시예는 상기한 문제점을 해결하기 위하여, 특징점의 수가 상대적으로 많은 영상에서 생성한 모델을 다른 카메라 영상에 동일하게 적용하여 기하학적 확률적으로 최적의 움직임을 추정하는 자율주행 차량을 제공하는 데 목적이 있다.In order to solve the above problem, an embodiment of the present invention provides an autonomous vehicle that estimates optimal motion geometrically probabilistically by applying a model generated from an image having a relatively large number of feature points to another camera image in the same manner. There is a purpose.

본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.

상기 과제를 달성하기 위하여, 본 발명의 실시예는 자율주행 차량의 외부 환경에 대한 적어도 두 개의 영상 프레임을 획득하는 카메라; 및 상기 획득된 적어도 두 개의 영상 프레임에 기초하여 상기 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출하는 프로세서;를 포함하는 자율주행 차량을 제공한다.In order to achieve the above object, an embodiment of the present invention comprises a camera for obtaining at least two image frames for the external environment of the autonomous vehicle; And a processor configured to calculate a translation motion and a rotation motion of the autonomous vehicle based on the obtained at least two image frames.

또한, 본 발명의 실시예에서, 상기 카메라는 복수 개 구비되고, 상기 프로세서는, 상기 복수 개의 카메라에서 각각 획득된 영상 프레임을 샘플링하고, 상기 샘플링 결과에 기초하여 제1 카메라를 선택하는 것을 특징으로 한다.In an embodiment of the present invention, a plurality of cameras are provided, and the processor is configured to sample the image frames acquired by the plurality of cameras, and select a first camera based on the sampling result. do.

또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 선택된 제1 카메라의 영상 프레임으로부터 RANSAC(Random sample consensus) 모델을 생성하는 것을 특징으로 한다.In an embodiment of the present disclosure, the processor may generate a random sample consensus (RANSAC) model from the image frame of the selected first camera.

또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 생성된 RANSAC 모델을 상기 선택된 제1 카메라와 다른 제2 카메라의 영상 프레임에 적용하고, 상기 제2 카메라의 영상 프레임에 적용된 상기 RANSAC 모델의 비용을 계산하는 것을 특징으로 한다.Further, in an embodiment of the present invention, the processor applies the generated RANSAC model to an image frame of a second camera different from the selected first camera, and the cost of the RANSAC model applied to the image frame of the second camera. It is characterized by calculating.

또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 계산된 비용이 기설정된 값 이상인 것으로 판단하면, 상기 RANSAC 모델을 상기 제1 카메라 이외의 카메라의 영상 프레임에 적용하고, 상기 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출하는 것을 특징으로 한다.Further, in an embodiment of the present invention, if it is determined that the calculated cost is greater than or equal to a predetermined value, the processor applies the RANSAC model to an image frame of a camera other than the first camera, and translates the autonomous vehicle. A translation motion and a rotation motion are calculated.

또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 카메라를 통해 제1 이미지를 포함하는 제1 키 프레임 및 제2 이미지를 포함하는 제2 키 프레임을 획득하고, 상기 제1 이미지 및 제2 이미지에 포함된 특징점에 기초하여 3D 랜드마크를 생성하는 것을 특징으로 한다.Further, in an embodiment of the present invention, the processor acquires, via the camera, a first key frame including a first image and a second key frame including a second image, and the first image and the second image. The 3D landmark is generated based on the feature points included in the feature.

또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 카메라를 통해 제3 이미지를 포함하는 제3 키 프레임을 더 획득하고, 상기 생성된 3D 랜드마크를 상기 제3 키 프레임에 재투영(reprojection)하고, 상기 투영된 값과 상기 제3 이미지의 차이(error) 값을 계산하는 것을 특징으로 한다.Further, in an embodiment of the present invention, the processor further obtains a third key frame including a third image through the camera, and reprojection the generated 3D landmark to the third key frame. And calculating an error value between the projected value and the third image.

또한, 본 발명의 실시예에서, 상기 차이 값은 재투영 오차항(reprojection error) 및 크기 오차항(scale error)을 포함하고, 상기 프로세서는, 함수 최적화 기법을 이용하여 상기 재투영 오차항 및 크기 오차항을 보정하는 것을 특징으로 한다.Further, in an embodiment of the present invention, the difference value includes a reprojection error term and a scale error term, and the processor corrects the reprojection error term and the size error term using a function optimization technique. Characterized in that.

또한, 본 발명의 실시예에서, 상기 자율주행 차량은 휠 오도미터를 더 포함하고, 상기 프로세서는, 상기 휠 오도미터를 제어하여 상기 제1 키 프레임에서 상기 제2 키 프레임까지 상기 자율주행 차량의 이동량을 더 검출하는 것을 특징으로 한다.In another embodiment, the autonomous vehicle further includes a wheel odometer, and the processor controls the wheel odometer to control the autonomous vehicle from the first key frame to the second key frame. The amount of movement is further detected.

또한, 본 발명의 실시예에서, 상기 프로세서는, 상기 검출된 이동량을 상기 크기 오차항의 보정에 이용하는 것을 특징으로 한다.Further, in the embodiment of the present invention, the processor is characterized in that for using the detected amount of movement to correct the magnitude error term.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.

본 발명의 실시예에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.According to an embodiment of the present invention, there are one or more of the following effects.

첫 째, 본 발명의 실시예에 따르면, 특징점의 수가 상대적으로 많은 영상에서 생성한 모델을 다른 카메라 영상에 동일하게 적용하여 기하학적 확률적으로 최적의 움직임을 추정하므로 자율주행 차량의 프로세서가 처리해야 할 계산 량을 줄이고 빠른 처리 속도를 제공할 수 있는 효과가 있다.First, according to an embodiment of the present invention, since the optimal motion is estimated by applying a model generated from an image having a relatively large number of feature points to another camera image in the same way, the processor of the autonomous vehicle must process it. This has the effect of reducing the amount of computation and providing fast processing speed.

둘 째, 본 발명의 실시예에 따르면, LBA(Local Bundle Adjustment)에 있어서 휠 오도미터를 통해 검출된 자율주행 차량의 실제 이동 량을 오차 보정에 이용하기 때문에 보다 정확히 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출할 수 있는 효과가 있다.Second, according to an embodiment of the present invention, since the actual amount of movement of the autonomous vehicle detected through the wheel odometer in the local bundle adjustment (LBA) is used for error correction, the translation of the autonomous vehicle is more accurately translated. There is an effect that can calculate the motion and rotation motion.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

도 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 is a view showing the appearance of a vehicle according to an embodiment of the present invention.
2 is a view of the vehicle according to an embodiment of the present invention from various angles from the outside.
3 to 4 are views illustrating the interior of a vehicle according to an embodiment of the present invention.
5 to 6 are views referred to for describing an object according to an embodiment of the present invention.
7 is a block diagram referenced to describe a vehicle according to an embodiment of the present invention.
8 is a flowchart illustrating a SLAM algorithm of a vehicle according to an embodiment of the present invention.
9 is a flowchart illustrating a method of verifying a RANSAC model in a vehicle SLAM algorithm according to an embodiment of the present invention.
FIG. 10 is a diagram for describing a method in which a vehicle selects a camera using Probability Proportional to Size (PPS) sampling according to an exemplary embodiment of the present invention.
FIG. 11 illustrates a SLAM algorithm of a vehicle according to an embodiment of the present invention in pseudo-code.
12 is a flowchart illustrating a scale correcting Local Bundle Adjustment (scLBA) algorithm of a vehicle according to an embodiment of the present invention.
FIG. 13 is a conceptual diagram illustrating a scale correcting Local Bundle Adjustment (scLBA) algorithm of a vehicle according to an embodiment of the present invention. FIG.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings, and the same or similar components are denoted by the same reference numerals regardless of the reference numerals, and redundant description thereof will be omitted. The suffixes "module" and "unit" for components used in the following description are given or used in consideration of ease of specification, and do not have distinct meanings or roles from each other. In addition, in describing the embodiments disclosed herein, when it is determined that the detailed description of the related known technology may obscure the gist of the embodiments disclosed herein, the detailed description thereof will be omitted. In addition, the accompanying drawings are intended to facilitate understanding of the embodiments disclosed herein, but are not limited to the technical spirit disclosed herein by the accompanying drawings, all changes included in the spirit and scope of the present invention. It should be understood to include equivalents and substitutes.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprises" or "having" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

본 명세서에서 기술되는 차량은, 자동차, 오토바이를 포함하는 개념일 수 있다. 이하에서는, 차량에 대해 자동차를 위주로 기술한다. 본 명세서에서 기술되는 차량은, 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량 등을 모두 포함하는 개념일 수 있다. 이하의 설명에서 차량의 좌측은 차량의 주행 방향의 좌측을 의미하고, 차량의 우측은 차량의 주행 방향의 우측을 의미한다.The vehicle described herein may be a concept including an automobile and a motorcycle. In the following, a vehicle is mainly described for a vehicle. The vehicle described herein may be a concept including both an internal combustion engine vehicle having an engine as a power source, a hybrid vehicle having an engine and an electric motor as a power source, an electric vehicle having an electric motor as a power source, and the like. In the following description, the left side of the vehicle means the left side of the driving direction of the vehicle, and the right side of the vehicle means the right side of the driving direction of the vehicle.

도 1은 본 발명의 실시예에 따른 차량의 외관을 도시한 도면이다.1 is a view showing the appearance of a vehicle according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 차량을 외부의 다양한 각도에서 본 도면이다.2 is a view of the vehicle according to an embodiment of the present invention from various angles from the outside.

도 3 내지 도 4는 본 발명의 실시예에 따른 차량의 내부를 도시한 도면이다.3 to 4 are views illustrating the interior of a vehicle according to an embodiment of the present invention.

도 5 내지 도 6은 본 발명의 실시예에 따른 오브젝트를 설명하는데 참조되는 도면이다.5 to 6 are views referred to for describing an object according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 따른 차량을 설명하는데 참조되는 블록도이다.7 is a block diagram referenced to describe a vehicle according to an embodiment of the present invention.

도 1 내지 도 7을 참조하면, 차량(100)은 동력원에 의해 회전하는 바퀴, 차량(100)의 진행 방향을 조절하기 위한 조향 입력 장치(510)를 포함할 수 있다.1 to 7, the vehicle 100 may include a wheel that rotates by a power source and a steering input device 510 for adjusting a traveling direction of the vehicle 100.

차량(100)은 자율 주행 차량일 수 있다. 차량(100)은, 사용자 입력에 기초하여, 자율 주행 모드 또는 메뉴얼 모드로 전환될 수 있다. 예를 들면, 차량(100)은, 사용자 인터페이스 장치(200)를 통해, 수신되는 사용자 입력에 기초하여, 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다. The vehicle 100 may be an autonomous vehicle. The vehicle 100 may be switched to an autonomous driving mode or a manual mode based on a user input. For example, the vehicle 100 may be switched from the manual mode to the autonomous driving mode or from the autonomous driving mode to the manual mode based on the received user input through the user interface device 200.

차량(100)은, 주행 상황 정보에 기초하여, 자율 주행 모드 또는 메뉴얼 모드로 전환될 수 있다. 주행 상황 정보는, 차량 외부의 오브젝트 정보, 내비게이션 정보 및 차량 상태 정보 중 적어도 어느 하나를 포함할 수 있다. The vehicle 100 may be switched to the autonomous driving mode or the manual mode based on the driving situation information. The driving situation information may include at least one of object information, navigation information, and vehicle state information outside the vehicle.

예를 들면, 차량(100)은, 오브젝트 검출 장치(300)에서 생성되는 주행 상황 정보에 기초하여, 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다. 예를 들면, 차량(100)은, 통신 장치(400)를 통해 수신되는 주행 상황 정보에 기초하여, 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다.For example, the vehicle 100 may be switched from the manual mode to the autonomous driving mode or from the autonomous driving mode to the manual mode based on the driving situation information generated by the object detecting apparatus 300. For example, the vehicle 100 may be switched from the manual mode to the autonomous driving mode or from the autonomous driving mode to the manual mode based on the driving situation information received through the communication device 400.

차량(100)은, 외부 디바이스에서 제공되는 정보, 데이터, 신호에 기초하여 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다.The vehicle 100 may switch from the manual mode to the autonomous driving mode or from the autonomous driving mode to the manual mode based on information, data, and signals provided from an external device.

차량(100)이 자율 주행 모드로 운행되는 경우 자율 주행 차량(100)은 운행 시스템(700)에 기초하여 운행될 수 있다. 예를 들면, 자율 주행 차량(100)은, 주행 시스템(710), 출차 시스템(740), 주차 시스템(750)에서 생성되는 정보, 데이터 또는 신호에 기초하여 운행될 수 있다.When the vehicle 100 is driven in the autonomous driving mode, the autonomous vehicle 100 may be driven based on the driving system 700. For example, the autonomous vehicle 100 may be driven based on information, data, or signals generated by the driving system 710, the parking system 740, and the parking system 750.

차량(100)이 메뉴얼 모드로 운행되는 경우, 자율 주행 차량(100)은, 운전 조작 장치(500)를 통해 운전을 위한 사용자 입력을 수신할 수 있다. 운전 조작 장치(500)를 통해 수신되는 사용자 입력에 기초하여, 차량(100)은 운행될 수 있다.When the vehicle 100 is driven in the manual mode, the autonomous vehicle 100 may receive a user input for driving through the driving manipulation apparatus 500. Based on a user input received through the driving manipulation apparatus 500, the vehicle 100 may be driven.

전장(overall length)은 차량(100)의 앞부분에서 뒷부분까지의 길이, 전폭(width)은 차량(100)의 너비, 전고(height)는 바퀴 하부에서 루프까지의 길이를 의미한다. 이하의 설명에서, 전장 방향(L)은 차량(100)의 전장 측정의 기준이 되는 방향, 전폭 방향(W)은 차량(100)의 전폭 측정의 기준이 되는 방향, 전고 방향(H)은 차량(100)의 전고 측정의 기준이 되는 방향을 의미할 수 있다.The overall length is the length from the front to the rear of the vehicle 100, the width is the width of the vehicle 100, and the height is the length from the bottom of the wheel to the roof. In the following description, the full length direction L is a direction in which the full length measurement of the vehicle 100 is a reference, the full width direction W is a direction in which the full width measurement of the vehicle 100 is a reference, and the total height direction H is a vehicle. It may mean the direction which is the reference of the height measurement of (100).

도 7에 예시된 바와 같이, 차량(100)은, 사용자 인터페이스 장치(200), 오브젝트 검출 장치(300), 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 운행 시스템(700), 내비게이션 시스템(770), 센싱부(120), 인터페이스부(130), 메모리(140), 제어부(170) 및 전원 공급부(190)를 포함할 수 있다.As illustrated in FIG. 7, the vehicle 100 includes a user interface device 200, an object detecting device 300, a communication device 400, a driving manipulation device 500, a vehicle driving device 600, and a traveling system. 700, a navigation system 770, a sensing unit 120, an interface unit 130, a memory 140, a control unit 170, and a power supply unit 190 may be included.

실시예에 따라, 차량(100)은, 본 명세서에서 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.센싱부(120)는, 차량의 상태를 센싱할 수 있다. 센싱부(120)는, 자세 센서(예를 들면, 요 센서(yaw sensor), 롤 센서(roll sensor), 피치 센서(pitch sensor)), 충돌 센서, 휠 센서(wheel sensor), 속도 센서, 경사 센서, 중량 감지 센서, 헤딩 센서(heading sensor), 자이로 센서(gyro sensor), 포지션 모듈(position module), 차량 전진/후진 센서, 배터리 센서, 연료 센서, 타이어 센서, 핸들 회전에 의한 스티어링 센서, 차량 내부 온도 센서, 차량 내부 습도 센서, 초음파 센서, 조도 센서, 가속 페달 포지션 센서, 브레이크 페달 포지션 센서, 등을 포함할 수 있다.According to an exemplary embodiment, the vehicle 100 may further include other components in addition to the components described herein, or may not include some of the described components. The sensing unit 120 may include a state of the vehicle. Can sense. The sensing unit 120 may include an attitude sensor (for example, a yaw sensor, a roll sensor, a pitch sensor), a collision sensor, a wheel sensor, a speed sensor, and an inclination. Sensor, Weight Sensor, Heading Sensor, Gyro Sensor, Position Module, Vehicle Forward / Reverse Sensor, Battery Sensor, Fuel Sensor, Tire Sensor, Steering Sensor by Steering Wheel, Vehicle And an internal temperature sensor, an in-vehicle humidity sensor, an ultrasonic sensor, an illuminance sensor, an accelerator pedal position sensor, a brake pedal position sensor, and the like.

센싱부(120)는, 차량 자세 정보, 차량 충돌 정보, 차량 방향 정보, 차량 위치 정보(GPS 정보), 차량 각도 정보, 차량 속도 정보, 차량 가속도 정보, 차량 기울기 정보, 차량 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 차량 램프 정보, 차량 내부 온도 정보, 차량 내부 습도 정보, 스티어링 휠 회전 각도, 차량 외부 조도, 가속 페달에 가해지는 압력, 브레이크 페달에 가해지는 압력 등에 대한 센싱 신호를 획득할 수 있다.The sensing unit 120 includes vehicle attitude information, vehicle collision information, vehicle direction information, vehicle position information (GPS information), vehicle angle information, vehicle speed information, vehicle acceleration information, vehicle tilt information, vehicle forward / reverse information, battery Acquire sensing signals for information, fuel information, tire information, vehicle lamp information, vehicle internal temperature information, vehicle internal humidity information, steering wheel rotation angle, vehicle external illumination, pressure applied to the accelerator pedal, pressure applied to the brake pedal, and the like. can do.

센싱부(120)는, 그 외, 가속페달센서, 압력센서, 엔진 회전 속도 센서(engine speed sensor), 공기 유량 센서(AFS), 흡기 온도 센서(ATS), 수온 센서(WTS), 스로틀 위치 센서(TPS), TDC 센서, 크랭크각 센서(CAS), 등을 더 포함할 수 있다.The sensing unit 120 may further include an accelerator pedal sensor, a pressure sensor, an engine speed sensor, an air flow sensor (AFS), an intake temperature sensor (ATS), a water temperature sensor (WTS), and a throttle position sensor. (TPS), TDC sensor, crank angle sensor (CAS), and the like.

센싱부(120)는, 센싱 데이터를 기초로, 차량 상태 정보를 생성할 수 있다. 차량 상태 정보는, 차량 내부에 구비된 각종 센서에서 감지된 데이터를 기초로 생성된 정보일 수 있다.The sensing unit 120 may generate vehicle state information based on the sensing data. The vehicle state information may be information generated based on data sensed by various sensors provided in the vehicle.

예를 들면, 차량 상태 정보는, 차량의 자세 정보, 차량의 속도 정보, 차량의 기울기 정보, 차량의 중량 정보, 차량의 방향 정보, 차량의 배터리 정보, 차량의 연료 정보, 차량의 타이어 공기압 정보, 차량의 스티어링 정보, 차량 실내 온도 정보, 차량 실내 습도 정보, 페달 포지션 정보 및 차량 엔진 온도 정보 등을 포함할 수 있다.For example, the vehicle state information includes vehicle attitude information, vehicle speed information, vehicle tilt information, vehicle weight information, vehicle direction information, vehicle battery information, vehicle fuel information, vehicle tire pressure information, The vehicle may include steering information of the vehicle, vehicle indoor temperature information, vehicle indoor humidity information, pedal position information, vehicle engine temperature information, and the like.

인터페이스부(130)는, 차량(100)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행할 수 있다. 예를 들면, 인터페이스부(130)는 이동 단말기와 연결 가능한 포트를 구비할 수 있고, 상기 포트를 통해, 이동 단말기와 연결할 수 있다. 이 경우, 인터페이스부(130)는 이동 단말기와 데이터를 교환할 수 있다.The interface unit 130 may serve as a path to various types of external devices connected to the vehicle 100. For example, the interface unit 130 may include a port connectable with the mobile terminal, and may connect with the mobile terminal through the port. In this case, the interface unit 130 may exchange data with the mobile terminal.

한편, 인터페이스부(130)는 연결된 이동 단말기에 전기 에너지를 공급하는 통로 역할을 수행할 수 있다. 이동 단말기가 인터페이스부(130)에 전기적으로 연결되는 경우, 제어부(170)의 제어에 따라, 인터페이스부(130)는 전원 공급부(190)에서 공급되는 전기 에너지를 이동 단말기에 제공할 수 있다.Meanwhile, the interface unit 130 may serve as a path for supplying electrical energy to the connected mobile terminal. When the mobile terminal is electrically connected to the interface unit 130, under the control of the controller 170, the interface unit 130 may provide the mobile terminal with electrical energy supplied from the power supply unit 190.

메모리(140)는, 제어부(170)와 전기적으로 연결된다. 메모리(140)는 유닛에 대한 기본데이터, 유닛의 동작제어를 위한 제어데이터, 입출력되는 데이터를 저장할 수 있다. 메모리(140)는, 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있다. 메모리(140)는 제어부(170)의 처리 또는 제어를 위한 프로그램 등, 차량(100) 전반의 동작을 위한 다양한 데이터를 저장할 수 있다. 실시예에 따라, 메모리(140)는, 제어부(170)와 일체형으로 형성되거나, 제어부(170)의 하위 구성 요소로 구현될 수 있다.The memory 140 is electrically connected to the controller 170. The memory 140 may store basic data for the unit, control data for controlling the operation of the unit, and input / output data. The memory 140 may be various storage devices such as a ROM, a RAM, an EPROM, a flash drive, a hard drive, and the like, in hardware. The memory 140 may store various data for overall operation of the vehicle 100, such as a program for processing or controlling the controller 170. According to an embodiment, the memory 140 may be integrally formed with the controller 170 or may be implemented as a subcomponent of the controller 170.

제어부(170)는, 차량(100) 내의 각 유닛의 전반적인 동작을 제어할 수 있다. 제어부(170)는 ECU(Electronic Control Unit)로 명명될 수 있다. 전원 공급부(190)는, 제어부(170)의 제어에 따라, 각 구성요소들의 동작에 필요한 전원을 공급할 수 있다. 특히, 전원 공급부(190)는, 차량 내부의 배터리 등으로부터 전원을 공급받을 수 있다.The controller 170 may control the overall operation of each unit in the vehicle 100. The controller 170 may be referred to as an electronic control unit (ECU). The power supply unit 190 may supply power required for the operation of each component under the control of the controller 170. In particular, the power supply unit 190 may receive power from a battery inside the vehicle.

차량(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), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.One or more processors and controllers 170 included in vehicle 100 may include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and field programmable (FPGAs). Gate arrays, processors, controllers, micro-controllers, microprocessors, and other electrical units for performing other functions may be implemented.

또한, 센싱부(120), 인터페이스부(130), 메모리(140) 전원 공급부(190), 사용자 인터페이스 장치(200), 오브젝트 검출 장치(300), 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 운행 시스템(700) 및 내비게이션 시스템(770)은 개별적인 프로세서를 갖거나 제어부(170)에 통합될 수 있다.In addition, the sensing unit 120, the interface unit 130, the memory 140, the power supply unit 190, the user interface device 200, the object detection device 300, the communication device 400, and the driving operation device 500. The vehicle driving apparatus 600, the driving system 700, and the navigation system 770 may have separate processors or may be integrated into the controller 170.

사용자 인터페이스 장치(200)는, 차량(100)과 사용자와의 소통을 위한 장치이다. 사용자 인터페이스 장치(200)는, 사용자 입력을 수신하고, 사용자에게 차량(100)에서 생성된 정보를 제공할 수 있다. 차량(100)은, 사용자 인터페이스 장치(200)를 통해, UI(User Interfaces) 또는 UX(User Experience)를 구현할 수 있다.The user interface device 200 is a device for communicating with the vehicle 100 and a user. The user interface device 200 may receive a user input and provide the user with information generated in the vehicle 100. The vehicle 100 may implement user interfaces (UI) or user experience (UX) through the user interface device 200.

사용자 인터페이스 장치(200)는, 입력부(210), 내부 카메라(220), 생체 감지부(230), 출력부(250) 및 프로세서(270)를 포함할 수 있다. 사용자 인터페이스 장치(200)의 각 구성요소는 전술한 인터페이스부(130)와 구조적, 기능적으로 분리되거나 통합될 수 있다.The user interface device 200 may include an input unit 210, an internal camera 220, a biometric detector 230, an output unit 250, and a processor 270. Each component of the user interface device 200 may be structurally and functionally separated from or integrated with the interface unit 130 described above.

실시예에 따라, 사용자 인터페이스 장치(200)는, 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수도 있다.According to an embodiment, the user interface device 200 may further include other components in addition to the described components, or may not include some of the described components.

입력부(210)는, 사용자로부터 정보를 입력받기 위한 것으로, 입력부(210)에서 수집한 데이터는, 프로세서(270)에 의해 분석되어, 사용자의 제어 명령으로 처리될 수 있다.The input unit 210 is for receiving information from a user, and the data collected by the input unit 210 may be analyzed by the processor 270 and processed as a user's control command.

입력부(210)는, 차량 내부에 배치될 수 있다. 예를 들면, 입력부(210)는, 스티어링 휠(steering wheel)의 일 영역, 인스투루먼트 패널(instrument panel)의 일 영역, 시트(seat)의 일 영역, 각 필러(pillar)의 일 영역, 도어(door)의 일 영역, 센타 콘솔(center console)의 일 영역, 헤드 라이닝(head lining)의 일 영역, 썬바이저(sun visor)의 일 영역, 윈드 쉴드(windshield)의 일 영역 또는 윈도우(window)의 일 영역 등에 배치될 수 있다.The input unit 210 may be disposed in the vehicle. For example, the input unit 210 may include one area of a steering wheel, one area of an instrument panel, one area of a seat, one area of each pillar, and a door. one area of the door, one area of the center console, one area of the head lining, one area of the sun visor, one area of the windshield or of the window It may be disposed in one area or the like.

입력부(210)는, 음성 입력부(211), 제스쳐 입력부(212), 터치 입력부(213) 및 기계식 입력부(214)를 포함할 수 있다.The input unit 210 may include a voice input unit 211, a gesture input unit 212, a touch input unit 213, and a mechanical input unit 214.

음성 입력부(211)는, 사용자의 음성 입력을 전기적 신호로 전환할 수 있다. 전환된 전기적 신호는, 프로세서(270) 또는 제어부(170)에 제공될 수 있다. 음성 입력부(211)는, 하나 이상의 마이크로 폰을 포함할 수 있다.The voice input unit 211 may convert a user's voice input into an electrical signal. The converted electrical signal may be provided to the processor 270 or the controller 170. The voice input unit 211 may include one or more microphones.

제스쳐 입력부(212)는, 사용자의 제스쳐 입력을 전기적 신호로 전환할 수 있다. 전환된 전기적 신호는, 프로세서(270) 또는 제어부(170)에 제공될 수 있다. 제스쳐 입력부(212)는, 사용자의 제스쳐 입력을 감지하기 위한 적외선 센서 및 이미지 센서 중 적어도 어느 하나를 포함할 수 있다.The gesture input unit 212 may convert a user's gesture input into an electrical signal. The converted electrical signal may be provided to the processor 270 or the controller 170. The gesture input unit 212 may include at least one of an infrared sensor and an image sensor for detecting a user's gesture input.

실시예에 따라, 제스쳐 입력부(212)는, 사용자의 3차원 제스쳐 입력을 감지할 수 있다. 이를 위해, 제스쳐 입력부(212)는, 복수의 적외선 광을 출력하는 광출력부 또는 복수의 이미지 센서를 포함할 수 있다. 제스쳐 입력부(212)는, TOF(Time of Flight) 방식, 구조광(Structured light) 방식 또는 디스패러티(Disparity) 방식을 통해 사용자의 3차원 제스쳐 입력을 감지할 수 있다.According to an embodiment, the gesture input unit 212 may detect a 3D gesture input of the user. To this end, the gesture input unit 212 may include a light output unit or a plurality of image sensors for outputting a plurality of infrared light. The gesture input unit 212 may detect a user's 3D gesture input through a time of flight (TOF) method, a structured light method, or a disparity method.

터치 입력부(213)는, 사용자의 터치 입력을 전기적 신호로 전환할 수 있다. 전환된 전기적 신호는 프로세서(270) 또는 제어부(170)에 제공될 수 있다. 터치 입력부(213)는, 사용자의 터치 입력을 감지하기 위한 터치 센서를 포함할 수 있다. 실시예에 따라, 터치 입력부(213)는 디스플레이부(251)와 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한, 터치 스크린은, 차량(100)과 사용자 사이의 입력 인터페이스 및 출력 인터페이스를 함께 제공할 수 있다.The touch input unit 213 may convert a user's touch input into an electrical signal. The converted electrical signal may be provided to the processor 270 or the controller 170. The touch input unit 213 may include a touch sensor for detecting a user's touch input. According to an embodiment, the touch input unit 213 may be integrally formed with the display unit 251 to implement a touch screen. Such a touch screen may provide an input interface and an output interface between the vehicle 100 and the user.

기계식 입력부(214)는, 버튼, 돔 스위치(dome switch), 조그 휠 및 조그 스위치 중 적어도 어느 하나를 포함할 수 있다. 기계식 입력부(214)에 의해 생성된 전기적 신호는, 프로세서(270) 또는 제어부(170)에 제공될 수 있다. 기계식 입력부(214)는, 스티어링 휠(steering wheel), 센터페시아(center fascia), 센터 콘솔(center console), 콕핏 모듈(cockpit module), 도어 등에 배치될 수 있다.The mechanical input unit 214 may include at least one of a button, a dome switch, a jog wheel, and a jog switch. The electrical signal generated by the mechanical input unit 214 may be provided to the processor 270 or the controller 170. The mechanical input unit 214 may be disposed on a steering wheel, a center fascia, a center console, a cockpit module, a door, or the like.

프로세서(270)는 앞서 설명한 음성 입력부(211), 제스쳐 입력부(212), 터치 입력부(213) 및 기계식 입력부(214) 중 적어도 하나에 대한 사용자 입력에 반응하여, 차량(100)의 학습 모드를 개시할 수 있다. 학습 모드에서 차량(100)은 차량(100)의 주행 경로 학습 및 주변 환경 학습을 수행할 수 있다. 학습 모드에 관해서는 이하 오브젝트 검출 장치(300) 및 운행 시스템(700)과 관련된 부분에서 상세히 설명하도록 한다.The processor 270 starts a learning mode of the vehicle 100 in response to user inputs to at least one of the voice input unit 211, the gesture input unit 212, the touch input unit 213, and the mechanical input unit 214 described above. can do. In the learning mode, the vehicle 100 may perform driving path learning and surrounding environment learning of the vehicle 100. The learning mode will be described in detail later with reference to the object detecting apparatus 300 and the driving system 700.

내부 카메라(220)는, 차량 내부 영상을 획득할 수 있다. 프로세서(270)는, 차량 내부 영상을 기초로, 사용자의 상태를 감지할 수 있다. 프로세서(270)는, 차량 내부 영상에서 사용자의 시선 정보를 획득할 수 있다. 프로세서(270)는, 차량 내부 영상에서 사용자의 제스쳐를 감지할 수 있다.The internal camera 220 may acquire a vehicle interior image. The processor 270 may detect a state of the user based on the vehicle interior image. The processor 270 may acquire the gaze information of the user from the vehicle interior image. The processor 270 may detect a gesture of the user in the vehicle interior image.

생체 감지부(230)는, 사용자의 생체 정보를 획득할 수 있다. 생체 감지부(230)는, 사용자의 생체 정보를 획득할 수 있는 센서를 포함하고, 센서를 이용하여, 사용자의 지문 정보, 심박동 정보 등을 획득할 수 있다. 생체 정보는 사용자 인증을 위해 이용될 수 있다.The biometric detector 230 may acquire biometric information of the user. The biometric detector 230 may include a sensor for acquiring biometric information of the user, and may acquire fingerprint information, heartbeat information, etc. of the user using the sensor. Biometric information may be used for user authentication.

출력부(250)는, 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것이다. 출력부(250)는, 디스플레이부(251), 음향 출력부(252) 및 햅틱 출력부(253) 중 적어도 어느 하나를 포함할 수 있다.The output unit 250 is for generating output related to visual, auditory or tactile. The output unit 250 may include at least one of the display unit 251, the audio output unit 252, and the haptic output unit 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) 중에서 적어도 하나를 포함할 수 있다.The display unit 251 may display graphic objects corresponding to various pieces of information. The display unit 251 is a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), a flexible display (flexible) display, a 3D display, or an e-ink display.

디스플레이부(251)는 터치 입력부(213)와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 디스플레이부(251)는 HUD(Head Up Display)로 구현될 수 있다. 디스플레이부(251)가 HUD로 구현되는 경우, 디스플레이부(251)는 투사 모듈을 구비하여 윈드 쉴드 또는 윈도우에 투사되는 이미지를 통해 정보를 출력할 수 있다. 디스플레이부(251)는, 투명 디스플레이를 포함할 수 있다. 투명 디스플레이는 윈드 쉴드 또는 윈도우에 부착될 수 있다. The display unit 251 forms a layer structure or is integrally formed with the touch input unit 213 to implement a touch screen. The display unit 251 may be implemented as a head up display (HUD). When the display unit 251 is implemented as a HUD, the display unit 251 may include a projection module to output information through an image projected on a wind shield or a window. The display unit 251 may include a transparent display. The transparent display can be attached to the wind shield or window.

투명 디스플레이는 소정의 투명도를 가지면서, 소정의 화면을 표시할 수 있다. 투명 디스플레이는, 투명도를 가지기 위해, 투명 디스플레이는 투명 TFEL(Thin Film Electroluminescent), 투명 OLED(Organic Light-Emitting Diode), 투명 LCD(Liquid Crystal Display), 투과형 투명디스플레이, 투명 LED(Light Emitting Diode) 디스플레이 중 적어도 하나를 포함할 수 있다. 투명 디스플레이의 투명도는 조절될 수 있다.The transparent display may display a predetermined screen while having a predetermined transparency. In order to have transparency, transparent displays are transparent thin film electroluminescent (TFEL), transparent organic light-emitting diode (OLED), transparent liquid crystal (LCD), transparent transparent display, transparent LED (light emitting diode) display It may include at least one of. The transparency of the transparent display can be adjusted.

한편, 사용자 인터페이스 장치(200)는, 복수의 디스플레이부(251a 내지 251g)를 포함할 수 있다. The user interface device 200 may include a plurality of display units 251a to 251g.

디스플레이부(251)는, 스티어링 휠의 일 영역, 인스투루먼트 패널의 일 영역(251a, 251b, 251e), 시트의 일 영역(251d), 각 필러의 일 영역(251f), 도어의 일 영역(251g), 센타 콘솔의 일 영역, 헤드 라이닝의 일 영역, 썬바이저의 일 영역에 배치되거나, 윈드 쉴드의 일영역(251c), 윈도우의 일영역(251h)에 구현될 수 있다.The display unit 251 may include one region of the steering wheel, one region 251a, 251b, and 251e of the instrument panel, one region 251d of the seat, one region 251f of each pillar, and one region of the door ( 251g), one area of the center console, one area of the head lining, one area of the sun visor, or may be implemented in one area 251c of the windshield and one area 251h of the window.

음향 출력부(252)는, 프로세서(270) 또는 제어부(170)로부터 제공되는 전기 신호를 오디오 신호로 변환하여 출력한다. 이를 위해, 음향 출력부(252)는, 하나 이상의 스피커를 포함할 수 있다.The sound output unit 252 converts an electrical signal provided from the processor 270 or the controller 170 into an audio signal and outputs the audio signal. To this end, the sound output unit 252 may include one or more speakers.

햅틱 출력부(253)는, 촉각적인 출력을 발생시킨다. 예를 들면, 햅틱 출력부(253)는, 스티어링 휠, 안전 벨트, 시트(110FL, 110FR, 110RL, 110RR)를 진동시켜, 사용자가 출력을 인지할 수 있게 동작할 수 있다.The haptic output unit 253 generates a tactile output. For example, the haptic output unit 253 may vibrate the steering wheel, the seat belt, and the seats 110FL, 110FR, 110RL, and 110RR so that the user may recognize the output.

프로세서(270)는, 사용자 인터페이스 장치(200)의 각 유닛의 전반적인 동작을 제어할 수 있다. 실시예에 따라, 사용자 인터페이스 장치(200)는, 복수의 프로세서(270)를 포함하거나, 프로세서(270)를 포함하지 않을 수도 있다.The processor 270 may control the overall operation of each unit of the user interface device 200. According to an embodiment, the user interface device 200 may include a plurality of processors 270 or may not include the processor 270.

사용자 인터페이스 장치(200)에 프로세서(270)가 포함되지 않는 경우, 사용자 인터페이스 장치(200)는, 차량(100)내 다른 장치의 프로세서 또는 제어부(170)의 제어에 따라, 동작될 수 있다. 한편, 사용자 인터페이스 장치(200)는, 차량용 디스플레이 장치로 명명될 수 있다. 사용자 인터페이스 장치(200)는, 제어부(170)의 제어에 따라 동작될 수 있다.When the processor 270 is not included in the user interface device 200, the user interface device 200 may be operated under the control of the processor or the controller 170 of another device in the vehicle 100. The user interface device 200 may be referred to as a vehicle display device. The user interface device 200 may be operated under the control of the controller 170.

오브젝트 검출 장치(300)는, 차량(100) 외부에 위치하는 오브젝트를 검출하기 위한 장치이다. 오브젝트 검출 장치(300)는, 센싱 데이터에 기초하여, 오브젝트 정보를 생성할 수 있다. The object detecting apparatus 300 is a device for detecting an object located outside the vehicle 100. The object detecting apparatus 300 may generate object information based on the sensing data.

오브젝트 정보는, 오브젝트의 존재 유무에 대한 정보, 오브젝트의 위치 정보, 차량(100)과 오브젝트와의 거리 정보 및 차량(100)과 오브젝트와의 상대 속도 정보를 포함할 수 있다. 오브젝트는, 차량(100)의 운행과 관련된 다양한 물체들일 수 있다.The object information may include information about the presence or absence of the object, location information of the object, distance information between the vehicle 100 and the object, and relative speed information between the vehicle 100 and the object. The object may be various objects related to the driving of the vehicle 100.

도 5 내지 도 6을 참조하면, 오브젝트(O)는, 차선(OB10), 타 차량(OB11), 보행자(OB12), 이륜차(OB13), 교통 신호(OB14, OB15), 빛, 도로, 구조물, 과속 방지턱, 지형물, 동물 등을 포함할 수 있다.5 to 6, the object O includes a lane OB10, another vehicle OB11, a pedestrian OB12, a two-wheeled vehicle OB13, traffic signals OB14, OB15, light, a road, a structure, Speed bumps, features, animals and the like can be included.

차선(Lane)(OB10)은, 주행 차선, 주행 차선의 옆 차선, 대향되는 차량이 주행하는 차선일 수 있다. 차선(Lane)(OB10)은, 차선(Lane)을 형성하는 좌우측 선(Line)을 포함하는 개념일 수 있다.The lane OB10 may be a driving lane, a lane next to the driving lane, and a lane in which an opposite vehicle travels. The lane OB10 may be a concept including left and right lines forming a lane.

타 차량(OB11)은, 차량(100)의 주변에서 주행 중인 차량일 수 있다. 타 차량은, 차량(100)으로부터 소정 거리 이내에 위치하는 차량일 수 있다. 예를 들면, 타 차량(OB11)은, 차량(100)보다 선행 또는 후행하는 차량일 수 있다. The other vehicle OB11 may be a vehicle that is driving around the vehicle 100. The other vehicle may be a vehicle located within a predetermined distance from the vehicle 100. For example, the other vehicle OB11 may be a vehicle that precedes or follows the vehicle 100.

보행자(OB12)는, 차량(100)의 주변에 위치한 사람일 수 있다. 보행자(OB12)는, 차량(100)으로부터 소정 거리 이내에 위치하는 사람일 수 있다. 예를 들면, 보행자(OB12)는, 인도 또는 차도상에 위치하는 사람일 수 있다.The pedestrian OB12 may be a person located near the vehicle 100. The pedestrian OB12 may be a person located within a predetermined distance from the vehicle 100. For example, the pedestrian OB12 may be a person located on a sidewalk or a roadway.

이륜차(OB13)는, 차량(100)의 주변에 위치하고, 2개의 바퀴를 이용해 움직이는 탈것을 의미할 수 있다. 이륜차(OB13)는, 차량(100)으로부터 소정 거리 이내에 위치하는 2개의 바퀴를 가지는 탈 것일 수 있다. 예를 들면, 이륜차(OB13)는, 인도 또는 차도상에 위치하는 오토바이 또는 자전거일 수 있다.The two-wheeled vehicle OB13 may be a vehicle that is positioned around the vehicle 100 and moves using two wheels. The motorcycle OB13 may be a vehicle having two wheels located within a predetermined distance from the vehicle 100. For example, the motorcycle OB13 may be a motorcycle or a bicycle located on sidewalks or roadways.

교통 신호는, 교통 신호등(OB15), 교통 표지판(OB14), 도로 면에 그려진 문양 또는 텍스트를 포함할 수 있다. 빛은, 타 차량에 구비된 램프에서 생성된 빛일 수 있다. 빛은, 가로등에서 생성된 빛을 수 있다. 빛은 태양광일 수 있다. 도로는, 도로면, 커브, 오르막, 내리막 등의 경사 등을 포함할 수 있다. 구조물은, 도로 주변에 위치하고, 지면에 고정된 물체일 수 있다. 예를 들면, 구조물은, 가로등, 가로수, 건물, 전봇대, 신호등, 다리를 포함할 수 있다. 지형물은, 산, 언덕, 등을 포함할 수 있다.The traffic signal may include a traffic light OB15, a traffic sign OB14, and a pattern or text drawn on a road surface. The light may be light generated by a lamp provided in another vehicle. The light, can be light generated from the street light. The light may be sunlight. The road may include a road surface, a curve, an uphill slope, a slope downhill, or the like. The structure may be an object located around a road and fixed to the ground. For example, the structure may include a street lamp, a roadside tree, a building, a power pole, a traffic light, a bridge. The features may include mountains, hills, and the like.

한편, 오브젝트는, 이동 오브젝트와 고정 오브젝트로 분류될 수 있다. 예를 들면, 이동 오브젝트는, 타 차량, 보행자를 포함하는 개념일 수 있다. 예를 들면, 고정 오브젝트는, 교통 신호, 도로, 구조물을 포함하는 개념일 수 있다.On the other hand, the object may be classified into a moving object and a fixed object. For example, the moving object may be a concept including another vehicle and a pedestrian. For example, the fixed object may be a concept including a traffic signal, a road, and a structure.

오브젝트 검출 장치(300)는, 카메라(310), 레이다(320), 라이다(330), 초음파 센서(340), 적외선 센서(350) 및 프로세서(370)를 포함할 수 있다. 오브젝트 검출 장치(300)의 각 구성요소는 전술한 센싱부(120)와 구조적, 기능적으로 분리되거나 통합될 수 있다.The object detecting apparatus 300 may include a camera 310, a radar 320, a lidar 330, an ultrasonic sensor 340, an infrared sensor 350, and a processor 370. Each component of the object detecting apparatus 300 may be structurally and functionally separated or integrated with the sensing unit 120 described above.

실시예에 따라, 오브젝트 검출 장치(300)는, 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.According to an embodiment, the object detecting apparatus 300 may further include other components in addition to the described components, or may not include some of the described components.

카메라(310)는, 차량 외부 영상을 획득하기 위해, 차량의 외부의 적절한 곳에 위치할 수 있다. 카메라(310)는, 모노 카메라, 스테레오 카메라(310a), AVM(Around View Monitoring) 카메라(310b) 또는 360도 카메라일 수 있다.The camera 310 may be located at a suitable place outside the vehicle to acquire an image outside the vehicle. The camera 310 may be a mono camera, a stereo camera 310a, an around view monitoring (AVM) camera 310b, or a 360 degree camera.

카메라(310)는, 다양한 영상 처리 알고리즘을 이용하여, 오브젝트의 위치 정보, 오브젝트와의 거리 정보 또는 오브젝트와의 상대 속도 정보를 획득할 수 있다. The camera 310 may acquire location information of the object, distance information with respect to the object, or relative speed information with the object by using various image processing algorithms.

예를 들면, 카메라(310)는, 획득된 영상에서, 시간에 따른 오브젝트 크기의 변화를 기초로, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다. For example, the camera 310 may obtain distance information and relative speed information with respect to the object based on the change in the object size over time in the acquired image.

예를 들면, 카메라(310)는, 핀홀(pin hole) 모델, 노면 프로파일링 등을 통해, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.For example, the camera 310 may acquire distance information and relative velocity information with respect to an object through a pin hole model, road surface profiling, or the like.

예를 들면, 카메라(310)는, 스테레오 카메라(310a)에서 획득된 스테레오 영상에서 디스패러티(disparity) 정보를 기초로 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.For example, the camera 310 may obtain distance information and relative speed information with respect to the object based on the disparity information in the stereo image acquired by the stereo camera 310a.

예를 들면, 카메라(310)는, 차량 전방의 영상을 획득하기 위해, 차량의 실내에서, 프런트 윈드 쉴드에 근접하게 배치될 수 있다. 또는, 카메라(310)는, 프런트 범퍼 또는 라디에이터 그릴 주변에 배치될 수 있다.For example, the camera 310 may be disposed in close proximity to the front windshield in the interior of the vehicle in order to acquire an image in front of the vehicle. Alternatively, the camera 310 may be disposed around the front bumper or the radiator grille.

예를 들면, 카메라(310)는, 차량 후방의 영상을 획득하기 위해, 차량의 실내에서, 리어 글라스에 근접하게 배치될 수 있다. 또는, 카메라(310)는, 리어 범퍼, 트렁크 또는 테일 게이트 주변에 배치될 수 있다.For example, the camera 310 may be disposed in close proximity to the rear glass in the interior of the vehicle to acquire an image of the rear of the vehicle. Alternatively, the camera 310 may be disposed around the rear bumper, the trunk, or the tail gate.

예를 들면, 카메라(310)는, 차량 측방의 영상을 획득하기 위해, 차량의 실내에서 사이드 윈도우 중 적어도 어느 하나에 근접하게 배치될 수 있다. 또는, 카메라(310)는, 사이드 미러, 휀더 또는 도어 주변에 배치될 수 있다.For example, the camera 310 may be disposed in close proximity to at least one of the side windows in the interior of the vehicle to acquire an image of the vehicle side. Alternatively, the camera 310 may be arranged around the side mirror, fender or door.

카메라(310)는, 획득된 영상을 프로세서(370)에 제공할 수 있다. The camera 310 may provide the obtained image to the processor 370.

레이다(320)는, 전자파 송신부, 수신부를 포함할 수 있다. 레이다(320)는 전파 발사 원리상 펄스 레이다(Pulse Radar) 방식 또는 연속파 레이다(Continuous Wave Radar) 방식으로 구현될 수 있다. 레이다(320)는 연속파 레이다 방식 중에서 신호 파형에 따라 FMCW(Frequency Modulated Continuous Wave)방식 또는 FSK(Frequency Shift Keying) 방식으로 구현될 수 있다.The radar 320 may include an electromagnetic wave transmitter and a receiver. The radar 320 may be implemented in a pulse radar method or a continuous wave radar method in terms of radio wave firing principle. The radar 320 may be implemented by a frequency modulated continuous wave (FSCW) method or a frequency shift keying (FSK) method according to a signal waveform among continuous wave radar methods.

레이다(320)는 전자파를 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. The radar 320 detects an object based on a time of flight (TOF) method or a phase-shift method based on electromagnetic waves, and detects the position of the detected object, distance to the detected object, and relative velocity. Can be detected.

레이다(320)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다. The radar 320 may be disposed at an appropriate position outside the vehicle to detect an object located in front, rear, or side of the vehicle.

라이다(330)는, 레이저 송신부, 수신부를 포함할 수 있다. 라이다(330)는, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식으로 구현될 수 있다. The lidar 330 may include a laser transmitter and a receiver. The lidar 330 may be implemented in a time of flight (TOF) method or a phase-shift method.

라이다(330)는, 구동식 또는 비구동식으로 구현될 수 있다. 구동식으로 구현되는 경우, 라이다(330)는, 모터에 의해 회전되며, 차량(100) 주변의 오브젝트를 검출할 수 있다. 비구동식으로 구현되는 경우, 라이다(330)는, 광 스티어링에 의해, 차량(100)을 기준으로 소정 범위 내에 위치하는 오브젝트를 검출할 수 있다. 차량(100)은 복수의 비구동식 라이다(330)를 포함할 수 있다.The lidar 330 may be implemented as driven or non-driven. When implemented in a driving manner, the lidar 330 may be rotated by a motor and detect an object around the vehicle 100. When implemented in a non-driven manner, the lidar 330 may detect an object located within a predetermined range with respect to the vehicle 100 by optical steering. The vehicle 100 may include a plurality of non-driven lidars 330.

라이다(330)는, 레이저 광 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 라이다(330)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.The lidar 330 detects an object based on a time of flight (TOF) method or a phase-shift method using laser light, and detects an object, a position of the detected object, a distance from the detected object, and Relative speed can be detected. The lidar 330 may be disposed at an appropriate position outside the vehicle to detect an object located in front, rear, or side of the vehicle.

초음파 센서(340)는, 초음파 송신부, 수신부를 포함할 수 있다. 초음파 센서(340)은, 초음파를 기초로 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 초음파 센서(340)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.The ultrasonic sensor 340 may include an ultrasonic transmitter and a receiver. The ultrasonic sensor 340 may detect an object based on the ultrasonic wave, and detect a position of the detected object, a distance to the detected object, and a relative speed. The ultrasonic sensor 340 may be disposed at an appropriate position outside the vehicle to detect an object located in front, rear, or side of the vehicle.

적외선 센서(350)는, 적외선 송신부, 수신부를 포함할 수 있다. 적외선 센서(340)는, 적외선 광을 기초로 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 적외선 센서(350)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.The infrared sensor 350 may include an infrared transmitter and a receiver. The infrared sensor 340 may detect an object based on infrared light, and detect a position of the detected object, a distance to the detected object, and a relative speed. The infrared sensor 350 may be disposed at an appropriate position outside the vehicle to detect an object located in front, rear, or side of the vehicle.

프로세서(370)는, 오브젝트 검출 장치(300)의 각 유닛의 전반적인 동작을 제어할 수 있다. 프로세서(370)는, 카메라(310, 레이다(320), 라이다(330), 초음파 센서(340) 및 적외선 센서(350)에 의해 센싱된 데이터와 기 저장된 데이터를 비교하여, 오브젝트를 검출하거나 분류할 수 있다.The processor 370 may control overall operations of each unit of the object detecting apparatus 300. The processor 370 compares the data sensed by the camera 310, the radar 320, the lidar 330, the ultrasonic sensor 340, and the infrared sensor 350 with previously stored data to detect or classify an object. can do.

프로세서(370)는, 획득된 영상에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 영상 처리 알고리즘을 통해, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.The processor 370 may detect and track the object based on the obtained image. The processor 370 may perform operations such as calculating a distance to an object and calculating a relative speed with the object through an image processing algorithm.

예를 들면, 프로세서(370)는, 획득된 영상에서, 시간에 따른 오브젝트 크기의 변화를 기초로, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다. For example, the processor 370 may acquire distance information and relative speed information with respect to the object based on the change in the object size over time in the obtained image.

예를 들면, 프로세서(370)는, 핀홀(pin hole) 모델, 노면 프로파일링 등을 통해, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.For example, the processor 370 may acquire distance information and relative velocity information with respect to an object through a pin hole model, road surface profiling, or the like.

예를 들면, 프로세서(370)는, 스테레오 카메라(310a)에서 획득된 스테레오 영상에서 디스패러티(disparity) 정보를 기초로 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.For example, the processor 370 may obtain distance information and relative speed information with the object based on the disparity information in the stereo image acquired by the stereo camera 310a.

프로세서(370)는, 송신된 전자파가 오브젝트에 반사되어 되돌아오는 반사 전자파에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 전자파에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.The processor 370 may detect and track the object based on the reflected electromagnetic wave reflected by the transmitted electromagnetic wave to the object. The processor 370 may perform an operation such as calculating a distance from the object, calculating a relative speed with the object, and the like based on the electromagnetic waves.

프로세서(370)는, 송신된 레이저가 오브젝트에 반사되어 되돌아오는 반사 레이저 광에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 레이저 광에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.The processor 370 may detect and track the object based on the reflected laser light reflected by the transmitted laser back to the object. The processor 370 may perform an operation such as calculating a distance from the object, calculating a relative speed with the object, and the like based on the laser light.

프로세서(370)는, 송신된 초음파가 오브젝트에 반사되어 되돌아오는 반사 초음파에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 초음파에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.The processor 370 may detect and track the object based on the reflected ultrasound, in which the transmitted ultrasound is reflected by the object and returned. The processor 370 may perform an operation such as calculating a distance from the object, calculating a relative speed with the object, and the like based on the ultrasound.

프로세서(370)는, 송신된 적외선 광이 오브젝트에 반사되어 되돌아오는 반사 적외선 광에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 적외선 광에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.The processor 370 may detect and track the object based on the reflected infrared light from which the transmitted infrared light is reflected back to the object. The processor 370 may perform an operation such as calculating a distance to the object, calculating a relative speed with the object, and the like based on the infrared light.

앞서 설명한 바와 같이, 입력부(210)에 대한 사용자 입력에 반응하여 차량(100)의 학습 모드가 개시되면, 프로세서(370)는 카메라(310), 레이다(320), 라이다(330), 초음파 센서(340) 및 적외선 센서(350)에 의해 센싱된 데이터를 메모리(140)에 저장할 수 있다.As described above, when the learning mode of the vehicle 100 is initiated in response to a user input to the input unit 210, the processor 370 may include a camera 310, a radar 320, a lidar 330, and an ultrasonic sensor. The data sensed by the 340 and the infrared sensor 350 may be stored in the memory 140.

저장된 데이터의 분석을 기초로 한 학습 모드의 각 단계와 학습 모드에 후행하는 동작 모드에 대해서는 이하 운행 시스템(700)과 관련된 부분에서 상세히 설명하도록 한다.실시예에 따라, 오브젝트 검출 장치(300)는, 복수의 프로세서(370)를 포함하거나, 프로세서(370)를 포함하지 않을 수도 있다. 예를 들면, 카메라(310), 레이다(320), 라이다(330), 초음파 센서(340) 및 적외선 센서(350) 각각은 개별적으로 프로세서를 포함할 수 있다.Each step of the learning mode based on the analysis of the stored data and an operation mode following the learning mode will be described in detail with reference to the operation system 700. According to an embodiment, the object detecting apparatus 300 In addition, the processor 370 may or may not include the processor 370. For example, each of the camera 310, the radar 320, the lidar 330, the ultrasonic sensor 340, and the infrared sensor 350 may individually include a processor.

오브젝트 검출 장치(300)에 프로세서(370)가 포함되지 않는 경우, 오브젝트 검출 장치(300)는, 차량(100)내 장치의 프로세서 또는 제어부(170)의 제어에 따라, 동작될 수 있다. 오브젝트 검출 장치(300)는, 제어부(170)의 제어에 따라 동작될 수 있다.When the processor 370 is not included in the object detecting apparatus 300, the object detecting apparatus 300 may be operated under the control of the processor or the controller 170 of the apparatus in the vehicle 100. The object detecting apparatus 300 may be operated under the control of the controller 170.

통신 장치(400)는, 외부 디바이스와 통신을 수행하기 위한 장치이다. 여기서, 외부 디바이스는, 타 차량, 이동 단말기 또는 서버일 수 있다. 통신 장치(400)는, 통신을 수행하기 위해 송신 안테나, 수신 안테나, 각종 통신 프로토콜이 구현 가능한 RF(Radio Frequency) 회로 및 RF 소자 중 적어도 어느 하나를 포함할 수 있다.The communication device 400 is a device for performing communication with an external device. Here, the external device may be another vehicle, a mobile terminal or a server. The communication device 400 may include at least one of a transmit antenna, a receive antenna, a radio frequency (RF) circuit capable of implementing various communication protocols, and an RF element to perform communication.

통신 장치(400)는, 근거리 통신부(410), 위치 정보부(420), V2X 통신부(430), 광통신부(440), 방송 송수신부(450), ITS(Intelligent Transport Systems) 통신부(460) 및 프로세서(470)를 포함할 수 있다. 실시예에 따라, 통신 장치(400)는, 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.The communication device 400 includes a short range communication unit 410, a location information unit 420, a V2X communication unit 430, an optical communication unit 440, a broadcast transmission / reception unit 450, an ITS (Intelligent Transport Systems) communication unit 460, and a processor. 470 may include. According to an embodiment, the communication device 400 may further include other components in addition to the described components, or may not include some of the described components.

근거리 통신부(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)과 적어도 하나의 외부 디바이스 사이의 근거리 통신을 수행할 수 있다.The short range communication unit 410 is a unit for short range communication. The short range communication unit 410 may include Bluetooth®, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, Near Field Communication (NFC), and Wi-Fi (Wireless). Local area communication may be supported using at least one of Fidelity, Wi-Fi Direct, and Wireless Universal Serial Bus (USB) technologies. The short range communication unit 410 may form short range wireless networks to perform short range communication between the vehicle 100 and at least one external device.

위치 정보부(420)는, 차량(100)의 위치 정보를 획득하기 위한 유닛이다. 예를 들면, 위치 정보부(420)는, GPS(Global Positioning System) 모듈 또는 DGPS(Differential Global Positioning System) 모듈을 포함할 수 있다.The location information unit 420 is a unit for obtaining location information of the vehicle 100. For example, the location information unit 420 may include a global positioning system (GPS) module or a differential global positioning system (DGPS) module.

V2X 통신부(430)는, 서버(V2I : Vehicle to Infra), 타 차량(V2V : Vehicle to Vehicle) 또는 보행자(V2P : Vehicle to Pedestrian)와의 무선 통신 수행을 위한 유닛이다. V2X 통신부(430)는, 인프라와의 통신(V2I), 차량간 통신(V2V), 보행자와의 통신(V2P) 프로토콜이 구현 가능한 RF 회로를 포함할 수 있다.The V2X communication unit 430 is a unit for performing wireless communication with a server (V2I: Vehicle to Infra), another vehicle (V2V: Vehicle to Vehicle), or a pedestrian (V2P: Vehicle to Pedestrian). The V2X communication unit 430 may include an RF circuit that can implement a communication with the infrastructure (V2I), an inter-vehicle communication (V2V), and a communication with the pedestrian (V2P).

광통신부(440)는, 광을 매개로 외부 디바이스와 통신을 수행하기 위한 유닛이다. 광통신부(440)는, 전기 신호를 광 신호로 전환하여 외부에 발신하는 광발신부 및 수신된 광 신호를 전기 신호로 전환하는 광수신부를 포함할 수 있다. 실시예에 따라, 광발신부는, 차량(100)에 포함된 램프와 일체화되게 형성될 수 있다.The optical communication unit 440 is a unit for performing communication with an external device via light. The optical communication unit 440 may include an optical transmitter that converts an electrical signal into an optical signal and transmits the external signal to the outside, and an optical receiver that converts the received optical signal into an electrical signal. According to an embodiment, the light emitting unit may be formed to be integrated with the lamp included in the vehicle 100.

방송 송수신부(450)는, 방송 채널을 통해, 외부의 방송 관리 서버로부터 방송 신호를 수신하거나, 방송 관리 서버에 방송 신호를 송출하기 위한 유닛이다. 방송 채널은, 위성 채널, 지상파 채널을 포함할 수 있다. 방송 신호는, TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 수 있다.The broadcast transceiver 450 is a unit for receiving a broadcast signal from an external broadcast management server or transmitting a broadcast signal to a broadcast management server through a broadcast channel. The broadcast channel may include a satellite channel and a terrestrial channel. The broadcast signal may include a TV broadcast signal, a radio broadcast signal, and a data broadcast signal.

ITS 통신부(460)는, 교통 시스템과 정보, 데이터 또는 신호를 교환할 수 있다. ITS 통신부(460)는, 교통 시스템에 획득한 정보, 데이터를 제공할 수 있다. ITS 통신부(460)는, 교통 시스템으로부터, 정보, 데이터 또는 신호를 제공받을 수 있다. 예를 들면, ITS 통신부(460)는, 교통 시스템으로부터 도로 교통 정보를 수신하여, 제어부(170)에 제공할 수 있다. 예를 들면, ITS 통신부(460)는, 교통 시스템으로부터 제어 신호를 수신하여, 제어부(170) 또는 차량(100) 내부에 구비된 프로세서에 제공할 수 있다.The ITS communication unit 460 may exchange information, data, or signals with the traffic system. The ITS communication unit 460 may provide the obtained information and data to the transportation system. The ITS communication unit 460 may receive information, data, or a signal from a traffic system. For example, the ITS communication unit 460 may receive road traffic information from the traffic system and provide the road traffic information to the control unit 170. For example, the ITS communication unit 460 may receive a control signal from a traffic system and provide the control signal to a processor provided in the controller 170 or the vehicle 100.

프로세서(470)는, 통신 장치(400)의 각 유닛의 전반적인 동작을 제어할 수 있다. 실시예에 따라, 통신 장치(400)는, 복수의 프로세서(470)를 포함하거나, 프로세서(470)를 포함하지 않을 수도 있다. 통신 장치(400)에 프로세서(470)가 포함되지 않는 경우, 통신 장치(400)는, 차량(100)내 다른 장치의 프로세서 또는 제어부(170)의 제어에 따라, 동작될 수 있다.The processor 470 may control the overall operation of each unit of the communication device 400. According to an embodiment, the communication device 400 may include a plurality of processors 470 or may not include the processor 470. When the processor 470 is not included in the communication device 400, the communication device 400 may be operated under the control of the processor or the controller 170 of another device in the vehicle 100.

한편, 통신 장치(400)는, 사용자 인터페이스 장치(200)와 함께 차량용 디스플레이 장치를 구현할 수 있다. 이 경우, 차량용 디스플레이 장치는, 텔레 매틱스(telematics) 장치 또는 AVN(Audio Video Navigation) 장치로 명명될 수 있다. 통신 장치(400)는, 제어부(170)의 제어에 따라 동작될 수 있다.Meanwhile, the communication device 400 may implement a vehicle display device together with the user interface device 200. In this case, the vehicle display device may be called a telematics device or an audio video navigation (AVN) device. The communication device 400 may be operated under the control of the controller 170.

운전 조작 장치(500)는, 운전을 위한 사용자 입력을 수신하는 장치이다. 메뉴얼 모드인 경우, 차량(100)은, 운전 조작 장치(500)에 의해 제공되는 신호에 기초하여 운행될 수 있다. 운전 조작 장치(500)는, 조향 입력 장치(510), 가속 입력 장치(530) 및 브레이크 입력 장치(570)를 포함할 수 있다.The driving operation apparatus 500 is a device that receives a user input for driving. In the manual mode, the vehicle 100 may be driven based on a signal provided by the driving manipulation apparatus 500. The driving manipulation apparatus 500 may include a steering input apparatus 510, an acceleration input apparatus 530, and a brake input apparatus 570.

조향 입력 장치(510)는, 사용자로부터 차량(100)의 진행 방향 입력을 수신할 수 있다. 조향 입력 장치(510)는, 회전에 의해 조향 입력이 가능하도록 휠 형태로 형성되는 것이 바람직하다. 실시예에 따라, 조향 입력 장치는, 터치 스크린, 터치 패드 또는 버튼 형태로 형성될 수도 있다.The steering input device 510 may receive a driving direction input of the vehicle 100 from the user. The steering input device 510 is preferably formed in a wheel shape to enable steering input by rotation. According to an embodiment, the steering input device may be formed in the form of a touch screen, a touch pad, or a button.

가속 입력 장치(530)는, 사용자로부터 차량(100)의 가속을 위한 입력을 수신할 수 있다. 브레이크 입력 장치(570)는, 사용자로부터 차량(100)의 감속을 위한 입력을 수신할 수 있다. 가속 입력 장치(530) 및 브레이크 입력 장치(570)는, 페달 형태로 형성되는 것이 바람직하다. 실시예에 따라, 가속 입력 장치 또는 브레이크 입력 장치는, 터치 스크린, 터치 패드 또는 버튼 형태로 형성될 수도 있다.The acceleration input device 530 may receive an input for accelerating the vehicle 100 from a user. The brake input device 570 may receive an input for deceleration of the vehicle 100 from a user. The acceleration input device 530 and the brake input device 570 are preferably formed in the form of a pedal. According to an embodiment, the acceleration input device or the brake input device may be formed in the form of a touch screen, a touch pad, or a button.

운전 조작 장치(500)는, 제어부(170)의 제어에 따라 동작될 수 있다.The driving manipulation apparatus 500 may be operated under the control of the controller 170.

차량 구동 장치(600)는, 차량(100)내 각종 장치의 구동을 전기적으로 제어하는 장치이다. 차량 구동 장치(600)는, 파워 트레인 구동부(610), 샤시 구동부(620), 도어/윈도우 구동부(630), 안전 장치 구동부(640), 램프 구동부(650) 및 공조 구동부(660)를 포함할 수 있다. 실시예에 따라, 차량 구동 장치(600)는, 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다. 한편, 차량 구동 장치(600)는 프로세서를 포함할 수 있다. 차량 구동 장치(600)의 각 유닛은, 각각 개별적으로 프로세서를 포함할 수 있다. The vehicle drive device 600 is a device that electrically controls the driving of various devices in the vehicle 100. The vehicle driving apparatus 600 may include a power train driver 610, a chassis driver 620, a door / window driver 630, a safety device driver 640, a lamp driver 650, and an air conditioning driver 660. Can be. According to an embodiment, the vehicle driving apparatus 600 may further include other components in addition to the described components, or may not include some of the described components. On the other hand, the vehicle driving device 600 may include a processor. Each unit of the vehicle drive apparatus 600 may each include a processor individually.

파워 트레인 구동부(610)는, 파워 트레인 장치의 동작을 제어할 수 있다. 파워 트레인 구동부(610)는, 동력원 구동부(611) 및 변속기 구동부(612)를 포함할 수 있다.The power train driver 610 may control the operation of the power train device. The power train driver 610 may include a power source driver 611 and a transmission driver 612.

동력원 구동부(611)는, 차량(100)의 동력원에 대한 제어를 수행할 수 있다. 예를 들면, 화석 연료 기반의 엔진이 동력원인 경우, 동력원 구동부(610)는, 엔진에 대한 전자식 제어를 수행할 수 있다. 이에 의해, 엔진의 출력 토크 등을 제어할 수 있다. 동력원 구동부(611)는, 제어부(170)의 제어에 따라, 엔진 출력 토크를 조정할 수 있다.The power source driver 611 may control the power source of the vehicle 100. For example, when the fossil fuel-based engine is a power source, the power source driver 610 may perform electronic control of the engine. Thereby, the output torque of an engine, etc. can be controlled. The power source drive unit 611 can adjust the engine output torque under the control of the control unit 170.

예를 들면, 전기 에너지 기반의 모터가 동력원인 경우, 동력원 구동부(610)는, 모터에 대한 제어를 수행할 수 있다. 동력원 구동부(610)는, 제어부(170)의 제어에 따라, 모터의 회전 속도, 토크 등을 조정할 수 있다.For example, when the electric energy based motor is a power source, the power source driver 610 may control the motor. The power source driver 610 may adjust the rotational speed, torque, and the like of the motor under the control of the controller 170.

변속기 구동부(612)는, 변속기에 대한 제어를 수행할 수 있다. 변속기 구동부(612)는, 변속기의 상태를 조정할 수 있다. 변속기 구동부(612)는, 변속기의 상태를, 전진(D), 후진(R), 중립(N) 또는 주차(P)로 조정할 수 있다. 한편, 엔진이 동력원인 경우, 변속기 구동부(612)는, 전진(D) 상태에서, 기어의 물림 상태를 조정할 수 있다.The transmission driver 612 may control the transmission. The transmission driver 612 can adjust the state of the transmission. The transmission drive part 612 can adjust the state of a transmission to forward D, backward R, neutral N, or parking P. FIG. On the other hand, when the engine is a power source, the transmission drive unit 612 can adjust the bite state of the gear in the forward D state.

샤시 구동부(620)는, 샤시 장치의 동작을 제어할 수 있다. 샤시 구동부(620)는, 조향 구동부(621), 브레이크 구동부(622) 및 서스펜션 구동부(623)를 포함할 수 있다.The chassis driver 620 may control the operation of the chassis device. The chassis driver 620 may include a steering driver 621, a brake driver 622, and a suspension driver 623.

조향 구동부(621)는, 차량(100) 내의 조향 장치(steering apparatus)에 대한 전자식 제어를 수행할 수 있다. 조향 구동부(621)는, 차량의 진행 방향을 변경할 수 있다.The steering driver 621 may perform electronic control of a steering apparatus in the vehicle 100. The steering driver 621 may change the traveling direction of the vehicle.

브레이크 구동부(622)는, 차량(100) 내의 브레이크 장치(brake apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 바퀴에 배치되는 브레이크의 동작을 제어하여, 차량(100)의 속도를 줄일 수 있다. The brake driver 622 may perform electronic control of a brake apparatus in the vehicle 100. For example, the speed of the vehicle 100 may be reduced by controlling the operation of the brake disposed on the wheel.

한편, 브레이크 구동부(622)는, 복수의 브레이크 각각을 개별적으로 제어할 수 있다. 브레이크 구동부(622)는, 복수의 휠에 걸리는 제동력을 서로 다르게 제어할 수 있다.On the other hand, the brake drive unit 622 can individually control each of the plurality of brakes. The brake driver 622 may control the braking force applied to the plurality of wheels differently.

서스펜션 구동부(623)는, 차량(100) 내의 서스펜션 장치(suspension apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 서스펜션 구동부(623)는 도로 면에 굴곡이 있는 경우, 서스펜션 장치를 제어하여, 차량(100)의 진동이 저감되도록 제어할 수 있다. 한편, 서스펜션 구동부(623)는, 복수의 서스펜션 각각을 개별적으로 제어할 수 있다.The suspension driver 623 may perform electronic control of a suspension apparatus in the vehicle 100. For example, when there is a curvature on the road surface, the suspension driver 623 may control the suspension device to control the vibration of the vehicle 100 to be reduced. Meanwhile, the suspension driver 623 may individually control each of the plurality of suspensions.

도어/윈도우 구동부(630)는, 차량(100) 내의 도어 장치(door apparatus) 또는 윈도우 장치(window apparatus)에 대한 전자식 제어를 수행할 수 있다. 도어/윈도우 구동부(630)는, 도어 구동부(631) 및 윈도우 구동부(632)를 포함할 수 있다.The door / window driver 630 may perform electronic control of a door apparatus or a window apparatus in the vehicle 100. The door / window driver 630 may include a door driver 631 and a window driver 632.

도어 구동부(631)는, 도어 장치에 대한 제어를 수행할 수 있다. 도어 구동부(631)는, 차량(100)에 포함되는 복수의 도어의 개방, 폐쇄를 제어할 수 있다. 도어 구동부(631)는, 트렁크(trunk) 또는 테일 게이트(tail gate)의 개방 또는 폐쇄를 제어할 수 있다. 도어 구동부(631)는, 썬루프(sunroof)의 개방 또는 폐쇄를 제어할 수 있다.The door driver 631 may control the door apparatus. The door driver 631 may control opening and closing of the plurality of doors included in the vehicle 100. The door driver 631 may control the opening or closing of a trunk or a tail gate. The door driver 631 may control the opening or closing of the sunroof.

윈도우 구동부(632)는, 윈도우 장치(window apparatus)에 대한 전자식 제어를 수행할 수 있다. 차량(100)에 포함되는 복수의 윈도우의 개방 또는 폐쇄를 제어할 수 있다.The window driver 632 may perform electronic control of the window apparatus. The opening or closing of the plurality of windows included in the vehicle 100 may be controlled.

안전 장치 구동부(640)는, 차량(100) 내의 각종 안전 장치(safety apparatus)에 대한 전자식 제어를 수행할 수 있다. 안전 장치 구동부(640)는, 에어백 구동부(641), 시트벨트 구동부(642) 및 보행자 보호 장치 구동부(643)를 포함할 수 있다.The safety device driver 640 may perform electronic control of various safety apparatuses in the vehicle 100. The safety device driver 640 may include an airbag driver 641, a seat belt driver 642, and a pedestrian protection device driver 643.

에어백 구동부(641)는, 차량(100) 내의 에어백 장치(airbag apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 에어백 구동부(641)는, 위험 감지시, 에어백이 전개되도록 제어할 수 있다.The airbag driver 641 may perform electronic control of an airbag apparatus in the vehicle 100. For example, the airbag driver 641 may control the airbag to be deployed when the danger is detected.

시트벨트 구동부(642)는, 차량(100) 내의 시트벨트 장치(seatbelt apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 시트벨트 구동부(642)는, 위험 감지 시, 시트 벨트를 이용해 탑승객이 시트(110FL, 110FR, 110RL, 110RR)에 고정되도록 제어할 수 있다.The seat belt driver 642 may perform electronic control of a seatbelt apparatus in the vehicle 100. For example, the seat belt driver 642 may control the passenger to be fixed to the seats 110FL, 110FR, 110RL, and 110RR by using the seat belt when detecting a danger.

보행자 보호 장치 구동부(643)는, 후드 리프트 및 보행자 에어백에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 보행자 보호 장치 구동부(643)는, 보행자와의 충돌 감지 시, 후드 리프트 업 및 보행자 에어백 전개되도록 제어할 수 있다.The pedestrian protection device driver 643 may perform electronic control of the hood lift and the pedestrian airbag. For example, the pedestrian protection device driver 643 may control the hood lift up and the pedestrian air bag to be deployed when the collision with the pedestrian is detected.

램프 구동부(650)는, 차량(100) 내의 각종 램프 장치(lamp apparatus)에 대한 전자식 제어를 수행할 수 있다.The lamp driver 650 may perform electronic control of various lamp apparatuses in the vehicle 100.

공조 구동부(660)는, 차량(100) 내의 공조 장치(air conditioner)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 공조 구동부(660)는, 차량 내부의 온도가 높은 경우, 공조 장치가 동작하여, 냉기가 차량 내부로 공급되도록 제어할 수 있다.The air conditioning driver 660 may perform electronic control of an air conditioner in the vehicle 100. For example, when the temperature inside the vehicle is high, the air conditioning driver 660 may control the air conditioning apparatus to operate to supply cool air to the inside of the vehicle.

차량 구동 장치(600)는, 프로세서를 포함할 수 있다. 차량 구동 장치(600)의 각 유닛은, 각각 개별적으로 프로세서를 포함할 수 있다. 차량 구동 장치(600)는, 제어부(170)의 제어에 따라 동작될 수 있다.The vehicle driving apparatus 600 may include a processor. Each unit of the vehicle drive apparatus 600 may each include a processor individually. The vehicle driving apparatus 600 may be operated under the control of the controller 170.

운행 시스템(700)은, 차량(100)의 각종 운행을 제어하는 시스템이다. 운행 시스템(700)은, 자율 주행 모드에서 동작될 수 있다.The travel system 700 is a system for controlling various travels of the vehicle 100. The navigation system 700 can be operated in an autonomous driving mode.

운행 시스템(700)은, 주행 시스템(710), 출차 시스템(740) 및 주차 시스템(750)을 포함할 수 있다. 실시예에 따라, 운행 시스템(700)은, 설명되는 구성 요소 외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다. 한편, 운행 시스템(700)은, 프로세서를 포함할 수 있다. 운행 시스템(700)의 각 유닛은, 각각 개별적으로 프로세서를 포함할 수 있다.The travel system 700 can include a travel system 710, a parking system 740, and a parking system 750. In some embodiments, the navigation system 700 may further include other components in addition to the described components, or may not include some of the described components. Meanwhile, the driving system 700 may include a processor. Each unit of the navigation system 700 may each include a processor individually.

한편, 운행 시스템(700)은 학습에 기초한 자율 주행 모드의 운행을 제어할 수 있다. 이러한 경우에는 학습 모드 및 학습이 완료됨을 전제로 한 동작 모드가 수행될 수 있다. 운행 시스템(700)의 프로세서가 학습 모드(learning mode) 및 동작 모드(operating mode)를 수행하는 방법에 대하여 이하 설명하도록 한다.On the other hand, the driving system 700 may control the driving of the autonomous driving mode based on the learning. In this case, the learning mode and the operation mode on the premise that the learning is completed may be performed. A method of the processor of the driving system 700 to perform a learning mode and an operating mode will be described below.

학습 모드는 앞서 설명한 메뉴얼 모드에서 수행될 수 있다. 학습 모드에서 운행 시스템(700)의 프로세서는 차량(100)의 주행 경로 학습 및 주변 환경 학습을 수행할 수 있다. The learning mode may be performed in the manual mode described above. In the learning mode, the processor of the driving system 700 may perform driving path learning and surrounding environment learning of the vehicle 100.

주행 경로 학습은 차량(100)이 주행하는 경로에 대한 맵 데이터를 생성하는 단계를 포함할 수 있다. 특히, 운행 시스템(700)의 프로세서는 차량(100)이 출발지로부터 목적지까지 주행하는 동안 오브젝트 검출 장치(300)를 통해 검출된 정보에 기초하여 맵 데이터를 생성할 수 있다.The driving route learning may include generating map data on a route on which the vehicle 100 travels. In particular, the processor of the driving system 700 may generate map data based on information detected by the object detecting apparatus 300 while the vehicle 100 travels from the starting point to the destination.

주변 환경 학습은 차량(100)의 주행 과정 및 주차 과정에서 차량(100)의 주변 환경에 대한 정보를 저장하고 분석하는 단계를 포함할 수 있다. 특히, 운행 시스템(700)의 프로세서는 차량(100)의 주차 과정에서 오브젝트 검출 장치(300)를 통해 검출된 정보, 예를 들면 주차 공간의 위치 정보, 크기 정보, 고정된(또는 고정되지 않은) 장애물 정보 등과 같은 정보에 기초하여 차량(100)의 주변 환경에 대한 정보를 저장하고 분석할 수 있다.The surrounding environment learning may include storing and analyzing information about the surrounding environment of the vehicle 100 in the driving process and the parking process of the vehicle 100. In particular, the processor of the driving system 700 may detect information detected by the object detecting apparatus 300 during the parking process of the vehicle 100, for example, location information of the parking space, size information, fixed (or not fixed). Information about the surrounding environment of the vehicle 100 may be stored and analyzed based on information such as obstacle information.

동작 모드는 앞서 설명한 자율 주행 모드에서 수행될 수 있다. 학습 모드를 통하여 주행 경로 학습 또는 주변 환경 학습이 완료된 것을 전제로 동작 모드에 대하여 설명한다.The operation mode may be performed in the autonomous driving mode described above. The operation mode will be described on the premise that the driving route learning or the surrounding environment learning is completed through the learning mode.

동작 모드는 입력부(210)를 통한 사용자 입력에 반응하여 수행되거나, 학습이 완료된 주행 경로 및 주차 공간에 차량(100)이 도달하면 자동으로 수행될 수 있다.The operation mode may be performed in response to a user input through the input unit 210, or may be automatically performed when the vehicle 100 reaches a driving path and a parking space where learning is completed.

동작 모드는 운전 조작 장치(500)에 대한 사용자의 조작을 일부 요구하는 반-자율 동작 모드(semi autonomous operating mode) 및 운전 조작 장치(500)에 대한 사용자의 조작을 전혀 요구하지 않는 완전-자율 동작 모드(fully autonomous operating mode)를 포함할 수 있다.The operating mode is a semi autonomous operating mode that requires some user's manipulation of the drive manipulator 500 and a full-autonomous operation requiring no user's manipulation of the drive manipulator 500. May include a fully autonomous operating mode.

한편, 실시예에 따라 운행 시스템(700)의 프로세서는 동작 모드에서 주행 시스템(710)을 제어하여 학습이 완료된 주행 경로를 따라 차량(100)을 주행시킬 수 있다.Meanwhile, according to an exemplary embodiment, the processor of the driving system 700 may control the driving system 710 in the operation mode to drive the vehicle 100 along the driving path where learning is completed.

한편, 실시예에 따라 운행 시스템(700)의 프로세서는 동작 모드에서 출차 시스템(740)을 제어하여 학습이 완료된 주차 공간으로부터 주차된 차량(100)을 출차 시킬 수 있다.Meanwhile, according to an exemplary embodiment, the processor of the driving system 700 may control the parking system 740 in the operation mode to release the parked vehicle 100 from the parking space where the learning is completed.

한편, 실시예에 따라 운행 시스템(700)의 프로세서는 동작 모드에서 주차 시스템(750)을 제어하여 현재 위치로부터 학습이 완료된 주차 공간으로 차량(100)을 주차 시킬 수 있다.한편, 실시예에 따라, 운행 시스템(700)이 소프트웨어적으로 구현되는 경우, 제어부(170)의 하위 개념일 수도 있다.Meanwhile, according to an exemplary embodiment, the processor of the driving system 700 may control the parking system 750 in the operation mode to park the vehicle 100 from the current position to the parking space where the learning is completed. When the driving system 700 is implemented in software, the driving system 700 may be a lower concept of the controller 170.

한편, 실시예에 따라, 운행 시스템(700)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하는 개념일 수 있다.In some embodiments, the driving system 700 may include a user interface device 270, an object detecting device 300, a communication device 400, a driving manipulation device 500, a vehicle driving device 600, and a navigation system. 770, the sensing unit 120, and the control unit 170 may include a concept including at least one.

주행 시스템(710)은, 차량(100)의 주행을 수행할 수 있다. 주행 시스템(710)은, 내비게이션 시스템(770)으로부터 내비게이션 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주행을 수행할 수 있다.The traveling system 710 may perform driving of the vehicle 100. The driving system 710 may receive navigation information from the navigation system 770, provide a control signal to the vehicle driving apparatus 600, and perform driving of the vehicle 100.

주행 시스템(710)은, 오브젝트 검출 장치(300)로부터 오브젝트 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주행을 수행할 수 있다. 주행 시스템(710)은, 통신 장치(400)를 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주행을 수행할 수 있다.The driving system 710 may receive object information from the object detecting apparatus 300 and provide a control signal to the vehicle driving apparatus 600 to perform driving of the vehicle 100. The driving system 710 may receive a signal from an external device through the communication device 400, provide a control signal to the vehicle driving device 600, and perform driving of the vehicle 100.

주행 시스템(710)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하여, 차량(100)의 주행을 수행하는 시스템 개념일 수 있다. 이러한, 주행 시스템(710)은, 차량 주행 제어 장치로 명명될 수 있다.The driving system 710 may include a user interface device 270, an object detection device 300, a communication device 400, a driving manipulation device 500, a vehicle driving device 600, a navigation system 770, and a sensing unit ( At least one of the 120 and the controller 170 may be a system concept for driving the vehicle 100. The driving system 710 may be referred to as a vehicle driving control device.

출차 시스템(740)은, 차량(100)의 출차를 수행할 수 있다. 출차 시스템(740)은, 내비게이션 시스템(770)으로부터 내비게이션 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 출차를 수행할 수 있다.The taking-out system 740 may perform taking out of the vehicle 100. The taking-out system 740 may receive navigation information from the navigation system 770, provide a control signal to the vehicle driving apparatus 600, and perform take-out of the vehicle 100.

출차 시스템(740)은, 오브젝트 검출 장치(300)로부터 오브젝트 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 출차를 수행할 수 있다.The taking-out system 740 may receive the object information from the object detecting apparatus 300, provide a control signal to the vehicle driving apparatus 600, and perform take-out of the vehicle 100.

출차 시스템(740)은, 통신 장치(400)를 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 출차를 수행할 수 있다.The taking-off system 740 may receive a signal from an external device through the communication device 400, provide a control signal to the vehicle driving apparatus 600, and perform take-out of the vehicle 100.

출차 시스템(740)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하여, 차량(100)의 출차를 수행하는 시스템 개념일 수 있다.The car leaving system 740 includes a user interface device 270, an object detecting device 300 and a communication device 400, a driving control device 500, a vehicle driving device 600, a navigation system 770, and a sensing unit ( Including at least one of the controller 120 and the controller 170, the concept of a system that performs the taking out of the vehicle 100 may be performed.

이러한, 출차 시스템(740)은, 차량 출차 제어 장치로 명명될 수 있다.Such a car leaving system 740 may be referred to as a vehicle parking control device.

주차 시스템(750)은, 차량(100)의 주차를 수행할 수 있다. 주차 시스템(750)은, 내비게이션 시스템(770)으로부터 내비게이션 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주차를 수행할 수 있다.The parking system 750 may perform parking of the vehicle 100. The parking system 750 may receive navigation information from the navigation system 770, provide a control signal to the vehicle driving apparatus 600, and perform parking of the vehicle 100.

주차 시스템(750)은, 오브젝트 검출 장치(300)로부터 오브젝트 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주차를 수행할 수 있다.The parking system 750 may receive the object information from the object detecting apparatus 300, provide a control signal to the vehicle driving apparatus 600, and perform parking of the vehicle 100.

주차 시스템(750)은, 통신 장치(400)를 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주차를 수행할 수 있다.The parking system 750 may receive a signal from an external device through the communication device 400, provide a control signal to the vehicle driving device 600, and perform parking of the vehicle 100.

주차 시스템(750)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하여, 차량(100)의 주차를 수행하는 시스템 개념일 수 있다.The parking system 750 includes a user interface device 270, an object detection device 300 and a communication device 400, a driving operation device 500, a vehicle driving device 600, a navigation system 770, and a sensing unit ( At least one of the 120 and the controller 170 may be a system concept for parking the vehicle 100.

이러한, 주차 시스템(750)은, 차량 주차 제어 장치로 명명될 수 있다.Such a parking system 750 may be referred to as a vehicle parking control device.

내비게이션 시스템(770)은, 내비게이션 정보를 제공할 수 있다. 내비게이션 정보는, 맵(map) 정보, 설정된 목적지 정보, 상기 목적지 설정 따른 경로 정보, 경로 상의 다양한 오브젝트에 대한 정보, 차선 정보 및 차량의 현재 위치 정보 중 적어도 어느 하나를 포함할 수 있다.The navigation system 770 can provide navigation information. The navigation information may include at least one of map information, set destination information, route information according to the destination setting, information on various objects on the route, lane information, and current location information of the vehicle.

내비게이션 시스템(770)은, 메모리, 프로세서를 포함할 수 있다. 메모리는 내비게이션 정보를 저장할 수 있다. 프로세서는 내비게이션 시스템(770)의 동작을 제어할 수 있다.The navigation system 770 may include a memory and a processor. The memory may store navigation information. The processor may control the operation of the navigation system 770.

실시예에 따라, 내비게이션 시스템(770)은, 통신 장치(400)를 통해, 외부 디바이스로부터 정보를 수신하여, 기 저장된 정보를 업데이트 할 수 있다. 실시예에 따라, 내비게이션 시스템(770)은, 사용자 인터페이스 장치(200)의 하위 구성 요소로 분류될 수도 있다.According to an embodiment, the navigation system 770 may receive information from an external device through the communication device 400 and update the pre-stored information. According to an embodiment, the navigation system 770 may be classified as a subcomponent of the user interface device 200.

Visual SLAM을 위한 For Visual SLAM RANSACRANSAC 알고리즘 algorithm

도 8 내지 도 11은 본 발명의 실시예에 따른 SLAM 알고리즘을 설명하기 위한 도면이다. 도 8에 대한 설명에 앞서, SLAM(Simultaneous Localization and Mapping)과 RANSAC(Random sample consensus)에 대하여 먼저 설명하도록 한다. 이하에서 자율주행 차량의 프로세서(170)는 도 7에 도시된 제어부(170)와 동일한 구성요소로 이해될 수 있다.8 to 11 are diagrams for explaining the SLAM algorithm according to an embodiment of the present invention. Prior to the description of FIG. 8, first, Simultaneous Localization and Mapping (SLAM) and Random sample consensus (RANSAC) will be described. Hereinafter, the processor 170 of the autonomous vehicle may be understood as the same component as the controller 170 illustrated in FIG. 7.

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)이 충분히 검출될 수 있는 공간, 예를 들면 실내 공간 또는 도심에서 수행되기에 적합한 기술이다.SLAM detects a motion vector in image frames and estimates a posture of a moving object. The SLAM refers to a technology for generating an accurate map of an object's external environment. In general, lidar SLAM and visual SLAM are well known. The lidar SLAM uses a method of detecting a point cloud through a time of flight (TOF) sensor. On the other hand, visual SLAM uses the intensity of an image included in an image frame. lidar SLAM and visual SLAM are suitable techniques to be performed in a space where a corner point or a feature point can be sufficiently detected, for example, an indoor space or a city center.

RANSAC은 특이치를 포함하는 관측 데이터의 집합으로부터 수학적 모델의 파라미터들을 추정하는 반복법이다. RANSAC은 전술한 SLAM 기술을 구현하기 위해 사용되는 수학적 방법으로 이해될 수 있다.RANSAC is an iterative method of estimating the parameters of a mathematical model from a set of observation data including outliers. RANSAC can be understood as a mathematical method used to implement the SLAM technique described above.

한편, visual SLAM 시스템은 3D 모델과 관련하여 카메라의 포지션 및 배향(포즈)을 함께 추적할 수 있다. 키프레임-기반 visual SLAM 시스템들은 입력된 이미지 스트림이나 공급부로부터 별도로 선택된 프레임들을 프로세싱 할 수 있다. 키프레임-기반 visual SLAM 시스템은 일반적인 카메라 모션으로부터 3D 피쳐 맵을 생성한다.On the other hand, the visual SLAM system can track the position and orientation of the camera with respect to the 3D model. Keyframe-based visual SLAM systems can process frames selected separately from the input image stream or supply. Keyframe-based visual SLAM systems generate 3D feature maps from normal camera motion.

한편, 3차원 공간에서 이동하는 물체는 3-rotation 및 3-translation(6 degrees of freedom, 6-dof)으로 모델을 세울 수 있다. 3-rotation은 yaw, pitch, roll을 포함하는 회전 모션으로 정의될 수 있고, 3-translation은 x축, y축 및 z축 상의 병진 모션으로 정의될 수 있다.On the other hand, the moving object in the three-dimensional space can be modeled in 3-rotation and 3-translation (6 degrees of freedom, 6-dof). 3-rotation may be defined as a rotational motion including yaw, pitch, and roll, and 3-translation may be defined as translational motion on the x-axis, y-axis, and z-axis.

도 8 내지 도 11에 도시된 본 발명의 실시예는 자율주행 차량에 구비되는 복수 개(예를 들면, 4개)의 카메라로부터 복수 개의 영상 프레임을 이용하여 visual SLAM을 구현하는 방법을 제안한다. 특히, 본 발명의 실시예에 따른 자율주행 차량의 카메라는 외부 환경에 대한 적어도 두 개의 영상 프레임을 획득하고, 프로세서는 획득된 적어도 두 개의 영상 프레임에 기초하여 자율주행 차량의 병진 모션 및 회전 모션을 산출한다.8 to 11 proposes a method of implementing visual SLAM using a plurality of image frames from a plurality of cameras (for example, four) provided in an autonomous vehicle. In particular, the camera of the autonomous vehicle according to the embodiment of the present invention obtains at least two image frames for the external environment, and the processor is configured to perform the translational motion and rotational motion of the autonomous vehicle based on the obtained at least two image frames. Calculate.

한편, 카메라는 자율주행차량의 외부 영상을 획득하기 위해 자율주행 차량의 외부의 적절한 곳에 위치할 수 있다. 카메라는 모노 카메라, 스테레오 카메라, AVM(Around View Monitoring) 카메라 또는 360도 카메라일 수 있다.On the other hand, the camera may be located at a suitable place outside the autonomous vehicle in order to obtain an external image of the autonomous vehicle. The camera may be a mono camera, a stereo camera, an around view monitoring (AVM) camera, or a 360 degree camera.

카메라를 통해 획득되는 영상 프레임은 오브젝트의 경계면, 코너 포인트(corner point)와 같은 특징점(feature point)을 포함한다. 상술한 특징점을 검출하기 위한 다양한 종래 알고리즘들이 있다. The image frame obtained through the camera includes a feature point such as an interface of the object and a corner point. There are various conventional algorithms for detecting the aforementioned feature points.

종래 기술에 따른 SLAM 알고리즘은 먼저, 복수의 프레임(frame)을 비교하여 변화가 크지 않은 특징점(feature point)를 검출하고, 약 200-300 개의 매칭되는 특징점(feature point)들을 추출하는 방법을 이용한다. 또한, 복수의 카메라를 이용하는 종래 기술에 따른 SLAM 알고리즘은, 복수의 카메라 각각의 프레임에서 복수의 모델을 생성하거나, 복수의 카메라로부터 프레임들을 모두 통합한 뒤 모델을 생성하는 방법을 이용한다.The SLAM algorithm according to the prior art first uses a method of comparing a plurality of frames to detect feature points with little change, and extracting about 200-300 matching feature points. In addition, the SLAM algorithm according to the related art using a plurality of cameras uses a method of generating a plurality of models in a frame of each of the plurality of cameras or integrating the frames from the plurality of cameras and then generating a model.

반면, 본 발명의 실시예에 따른 SLAM 알고리즘은, 특징점의 수가 상대적으로 많은 영상에서 생성한 모델을 다른 카메라 영상에 동일하게 적용하여 기하학적 확률적으로 최적의 움직임을 추정하는 방법을 제공한다. On the other hand, the SLAM algorithm according to an embodiment of the present invention provides a method for estimating optimal motion in geometrical probability by applying a model generated from an image having a large number of feature points to another camera image in the same manner.

즉, 카메라의 위치 또는 기타 요인들로 인한 오차가 존재하기 때문에, 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 특징점이 가장 많이 검출될 것으로 추정되는 카메라의 프레임으로부터 베이스 모델을 생성하고, 나머지 카메라의 프레임을 이용하여 생성된 베이스 모델을 검증한다.That is, since there is an error due to the position of the camera or other factors, the processor 170 of the autonomous vehicle according to the embodiment of the present invention generates a base model from the frame of the camera where the feature points are most likely to be detected. Then, the generated base model is verified using the frames of the remaining cameras.

도 8을 참조하여 본 발명의 실시예에 따른 SLAM 알고리즘을 보다 구체적으로 설명하도록 한다. 도 8의 각 단계를 보다 구체적으로 설명하기 위하여 도 9 내지 도 11을 함께 설명하도록 한다.Referring to FIG. 8 to be described in more detail the SLAM algorithm according to an embodiment of the present invention. In order to describe each step of FIG. 8 in more detail, FIGS. 9 to 11 will be described together.

도 8의 단계 810에 따라 자율주행 차량의 프로세서(170)는 적어도 하나의 카메라에서 획득된 적어도 두 개의 영상 프레임의 샘플링을 통해 제1 카메라를 선택한다. 상기 샘플링은 예를 들면, PPS(Probability Proportional to Size) 샘플링일 수 있다. 이하에서는, 도 10과 함께 PPS 샘플링에 대하여 상세히 설명하도록 한다. According to step 810 of FIG. 8, the processor 170 of the autonomous vehicle selects the first camera through sampling of at least two image frames obtained from at least one camera. The sampling may be, for example, Probability Proportional to Size (PPS) sampling. Hereinafter, PPS sampling will be described in detail with reference to FIG. 10.

도 10을 참조하여, 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)가 PPS(Probability Proportional to Size) 샘플링을 이용하여 제1 카메라를 선택하는 방법을 설명하도록 한다.Referring to FIG. 10, the processor 170 of an autonomous vehicle according to an exemplary embodiment of the present invention describes a method of selecting a first camera using Probability Proportional to Size (PPS) sampling.

우선, 자율주행 차량이 A 내지 D 카메라를 각각 서로 다른 위치에 구비한다고 가정한다. 도 10에서 A 영역은 A 카메라의 샘플 사이즈를 의미하고, B 영역은 B 카메라의 샘플 사이즈를 의미하고, C 영역은 C 카메라의 샘플 사이즈를 의미하고, D 영역은 D 카메라의 샘플 사이즈를 의미한다.First, it is assumed that autonomous vehicles have A to D cameras at different positions. In FIG. 10, area A means sample size of camera A, area B means sample size of camera B, area C means sample size of camera C, and area D means sample size of camera D. .

자율주행 차량의 프로세서(170)는 PPS 샘플링을 이용하여, 0부터 1까지의 샘플 공간(sample space)에서 균일하게(uniformly) 변수 x를 샘플링 한다. PPS 샘플링은 샘플 사이즈가 큰 클러스터(cluster)에서 더 큰 확률로 x를 샘플링 하는 방법이다. 도 10을 참조하면, D 영역에서 x가 샘플링 될 확률이 큰 것을 알 수 있다. 다음으로, 자율주행 차량의 프로세서(170)는 x가 포함된 클러스터를 선택한다. 선택된 클러스터는 그에 대응하는 카메라를 의미한다. 도 10을 참조하면, D 카메라가 선택된 것을 알 수 있다.The processor 170 of the autonomous vehicle samples the variable x uniformly in a sample space from 0 to 1 using PPS sampling. PPS sampling is a method of sampling x with a greater probability in a cluster having a large sample size. Referring to FIG. 10, it can be seen that x has a high probability of sampling in the D region. Next, the processor 170 of the autonomous vehicle selects a cluster including x. The selected cluster means a camera corresponding thereto. Referring to FIG. 10, it can be seen that the D camera is selected.

한편, 도 10과 관련하여, 본 발명의 다른 실시예에 따른 자율주행 차량의 프로세서(170)는 자율주행 차량의 모션 속성에 기초하여 제1 카메라를 선택할 수 있다.Meanwhile, with reference to FIG. 10, the processor 170 of the autonomous vehicle according to another embodiment of the present invention may select the first camera based on the motion attribute of the autonomous vehicle.

자율주행 차량의 모션 속성이 병진(translation) 모션이면 전/후면에 장착되는 카메라보다는 측면에 장착되는 카메라를 통해 보다 많은 특징점을 갖는 프레임이 얻어진다. 즉, 병진 모션에는 측면에 장착되는 카메라가 유리하므로, 자율주행 차량의 프로세서는 자율주행 차량의 모션 속성이 병진 모션이면 측면에 장착되는 카메라를 제1 카메라로 선택한다.If the motion attribute of the autonomous vehicle is translation motion, a frame having more feature points is obtained through the camera mounted on the side rather than the camera mounted on the front / rear. That is, since the camera mounted on the side is advantageous for the translational motion, the processor of the autonomous vehicle selects the camera mounted on the side as the first camera if the motion attribute of the autonomous vehicle is the translational motion.

반면 코너 구간에서와 같이, 자율주행 차량의 모션 속성이 회전(rotation) 모션이면 측면에 장착되는 카메라를 통해서는 자율주행 차량의 모션이 병진 모션인지 회전 모션인지 구분하기 어렵다. 즉, 회전 모션에는 전/후면에 장착되는 카메라가 유리하므로, 자율주행 차량의 프로세서는 자율주행 차량의 모션 속성이 회전 모션이면 전/후면에 장착되는 카메라를 제1 카메라로 선택한다.On the other hand, as in the corner section, if the motion attribute of the autonomous vehicle is rotation (rotation) motion, it is difficult to distinguish whether the motion of the autonomous vehicle is a translational motion or a rotational motion through the camera mounted on the side. That is, since the camera mounted on the front / rear is advantageous for the rotational motion, the processor of the autonomous vehicle selects the camera mounted on the front / rear as the first camera when the motion attribute of the autonomous vehicle is the rotational motion.

한편, 일반적으로 자율주행 차량의 모션 속성은 일반적으로 병진 모션 및 회전 모션을 함께 포함한다. 따라서, 본 발명의 다른 실시예에 따른 자율주행 차량의 프로세서(170)는 자율주행 차량의 모션 속성에서 더 높은 비율을 차지하는 모션 속성에 대응하는 카메라에 큰 웨이트(weight)를 적용함으로써 제1 카메라로 선택할 수도 있다. 나아가, 본 발명의 다른 실시예에 따른 자율주행 차량의 프로세서는 휠 오도미터를 통하여 자율주행 차량의 모션 속성을 판단할 수도 있다.On the other hand, the motion properties of autonomous vehicles generally include both translational and rotational motions. Accordingly, the processor 170 of the autonomous vehicle according to another embodiment of the present invention applies a large weight to the camera corresponding to the motion attribute that occupies a higher ratio in the motion attribute of the autonomous vehicle to the first camera. You can also choose. Furthermore, the processor of the autonomous vehicle according to another embodiment of the present invention may determine the motion attribute of the autonomous vehicle through the wheel odometer.

다음으로, 도 8의 단계 820에 따라 자율주행 차량의 프로세서(170)는 적어도 하나의 이미지 벡터 및 랜드마크 페어(pair)를 샘플링 한다. 그리고, 도 8의 단계 830에 따라 자율주행 차량의 프로세서(170)는 RANSAC 알고리즘에 의해 산출된 RANSAC 모델을 생성한다. 예를 들면, 상기 RANSAC 알고리즘은 P3P-RANSAC 알고리즘일 수 있다.Next, according to step 820 of FIG. 8, the processor 170 of the autonomous vehicle samples at least one image vector and a landmark pair. In operation 830 of FIG. 8, the processor 170 of the autonomous vehicle generates a RANSAC model calculated by the RANSAC algorithm. For example, the RANSAC algorithm may be a P3P-RANSAC algorithm.

도 8의 단계 830을 참조하면, 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 프레임에서 R(θ) 모델에 가장 적합한 파라미터가 무엇인지 찾는 과정을 수행한다. 이를 수행함에 있어서, 프로세서(170)는 적어도 두 개의 영상 프레임을 이용한다. 예를 들면, 프로세서(170)는 제1 카메라를 통해 획득한 제1 영상 프레임에서 RANSAC 모델을 생성한 후, 제1 카메라를 통해 획득한 제2 영상 프레임을 기초로 병진(translation) 모션 및 회전(rotation) 모션을 산출한다. Referring to step 830 of FIG. 8, the processor 170 of the autonomous vehicle according to the embodiment of the present invention performs a process of searching for a parameter most suitable for the R (θ) model in the frame. In doing so, the processor 170 uses at least two image frames. For example, the processor 170 generates a RANSAC model from the first image frame acquired through the first camera, and then translates and translates the translation motion and rotation based on the second image frame acquired through the first camera. rotation) Calculate the motion.

프로세서(170)가 프레임으로부터 RANSAC 모델을 생성하는 방법은 아래 [수학식 1]로 표현될 수 있다. [수학식 1]에서 x, y는 제1 영상 프레임에서의 특징점의 좌표이고, x', y'은 제2 영상 프레임에서의 특징점의 좌표이고, R은 회전(Rotation) 모션을 나타내고, T는 병진(Translation) 모션을 나타낸다.How the processor 170 generates a RANSAC model from a frame may be represented by Equation 1 below. In Equation 1, x and y are coordinates of a feature point in the first image frame, x 'and y' are coordinates of a feature point in the second image frame, R represents rotation motion, and T is Represents a translation motion.

Figure 112018016225841-pat00001
Figure 112018016225841-pat00001

다음으로, 도 8의 단계 840에 따라 자율주행 차량의 프로세서(170)는 단계 830에서 생성된 RANSAC model을 검증한다. 도 8의 단계 840에 대해서는 이하 도 9에서 보다 상세히 후술하도록 한다.Next, according to step 840 of FIG. 8, the processor 170 of the autonomous vehicle verifies the RANSAC model generated in step 830. Step 840 of FIG. 8 will be described later in more detail with reference to FIG. 9.

도 9는 본 발명의 실시예에 따른 차량의 SLAM 알고리즘에서 RANSAC model을 검증하는 방법을 설명하기 위한 순서도이다. 먼저, 도 9의 단계 910에 따라 자율주행 차량의 프로세서(170)는 카메라에서 이미지 벡터 및 랜드마크 페어를 획득한다.9 is a flowchart illustrating a method of verifying a RANSAC model in a vehicle SLAM algorithm according to an embodiment of the present invention. First, according to step 910 of FIG. 9, the processor 170 of the autonomous vehicle acquires an image vector and a landmark pair from a camera.

도 9의 단계 920에 따라 자율주행 차량의 프로세서(170)는 도 8의 단계 830에서 생성된 RANSAC 모델을 다른 카메라의 프레임에 적용한다. 자율주행 차량에 장착되는 복수의 카메라는 각각의 위치가 모두 다르다. 따라서, 단계 920에서, 프로세서(170)는 복수 개의 카메라를 동일한 조건의 모션으로 조정(align)하는 단계를 수행한다.According to step 920 of FIG. 9, the processor 170 of the autonomous vehicle applies the RANSAC model generated in step 830 of FIG. 8 to a frame of another camera. The plurality of cameras mounted on the autonomous vehicle are different in their respective positions. Accordingly, in operation 920, the processor 170 performs an operation of aligning a plurality of cameras with motion of the same condition.

도 9의 단계 930에 따라 자율주행 차량의 프로세서(170)는 다른 카메라의 프레임에 적용된 RANSAC 모델의 비용을 계산한다.According to step 930 of FIG. 9, the processor 170 of the autonomous vehicle calculates a cost of a RANSAC model applied to a frame of another camera.

도 9의 단계 940에 따라 자율주행 차량의 프로세서(170)는 계산된 비용이 기설정된 값 이상을 만족하는지 판단한다. 비용이 기설정된 값 이상을 만족하면, 프로세서(170)는 도 8의 단계 830에서 생성된 RANSAC 모델을 최적의 모델로 설정한다. 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 기설정된 값 이상을 만족하는 비용이 산출될 때까지 도 9에 도시된 루프(loop)를 반복(iteration)하도록 설계된다.In operation 940 of FIG. 9, the processor 170 of the autonomous vehicle determines whether the calculated cost satisfies a predetermined value or more. If the cost satisfies the predetermined value or more, the processor 170 sets the RANSAC model generated in step 830 of FIG. 8 as an optimal model. The processor 170 of the self-driving vehicle according to the embodiment of the present invention is designed to iterate the loop illustrated in FIG. 9 until a cost that satisfies a predetermined value or more is calculated.

한편, 도 9의 단계 940에서 프로세서(170)는 비용이 기설정된 값 이상을 만족하는지 여부를 판단하고, 그에 따라 루프(loop)를 종료 하였으나, 본 발명의 다른 실시예에 따르면 프로세서(170)는 반복 루프(iteration loop)를 종료하는 다른 조건을 설정할 수도 있다. 예를 들면, 다른 카메라의 프레임에 적용된 RANSAC 모델의 인라이어(inlier)의 개수가 소정 개수 이하이거나 반복 루프의 최대 반복 횟수를 만족하는 경우에 반복 루프를 종료할 수 있다.Meanwhile, in step 940 of FIG. 9, the processor 170 determines whether the cost satisfies a predetermined value or more, and terminates the loop accordingly, but according to another embodiment of the present invention, the processor 170 You can also set other conditions for terminating an iteration loop. For example, the repetition loop may be terminated when the number of inliers of the RANSAC model applied to the frame of another camera is equal to or less than a predetermined number or satisfies the maximum number of repetitions of the repetition loop.

도 11은 본 발명의 실시예에 따른 차량의 SLAM 알고리즘을 슈도-코드(pseudocode)로 나타낸 것이다. FIG. 11 illustrates a SLAM algorithm of a vehicle according to an embodiment of the present invention in pseudo-code.

도 11의 부분 (a)는 도 8의 단계 810 내지 단계 830에 대응한다. 도 11의 부분 (b)는 도 8의 단계 840 및 도 9의 단계 910 내지 단계 930에 대응한다. 도 11의 부분 (c)는 도 9의 단계 940에 대응한다. 도 11에 도시된 코드는 예시적인 것으로, 본 발명의 실시예에 따른 SLAM 알고리즘의 권리범위가 이에 한정되는 것은 아니다.Part (a) of FIG. 11 corresponds to steps 810 to 830 of FIG. 8. Part (b) of FIG. 11 corresponds to step 840 of FIG. 8 and steps 910 to 930 of FIG. 9. Part (c) of FIG. 11 corresponds to step 940 of FIG. The code shown in FIG. 11 is exemplary, and the scope of rights of the SLAM algorithm according to the embodiment of the present invention is not limited thereto.

도 11에 도시된 코드로 구현될 수 있는 본 발명의 SLAM 알고리즘은 특징점의 수가 상대적으로 많은 프레임에서 생성한 모델을 다른 카메라 프레임에 동일하게 적용하여 기하학적 확률적으로 최적의 움직임을 추정할 수 있는 기술적 효과가 있다.The SLAM algorithm of the present invention, which can be implemented with the code shown in FIG. 11, is a technique capable of estimating optimal motion in geometric probabilities by applying the same model generated in a frame having a relatively large number of feature points to another camera frame. It works.

앞서 도 8 내지 도 11을 통해 설명한 본 발명의 실시예는 카메라가 복수 개 구비되는 경우 즉, 카메라 개수에 의존도(dependency)가 있는 경우의 프레임에 기초한 모션 검출과 관련된 것이다. 이하 도 12 내지 도 13에서는 본 발명의 실시예에 따라 카메라의 개수에 관계없이 즉, 카메라 개수에 의존도가 없는 경우의 단안 카메라에서 모션 검출을 수행하는 방법에 대하여 설명하도록 한다.The embodiments of the present invention described with reference to FIGS. 8 to 11 relate to motion detection based on frames when a plurality of cameras is provided, that is, when there is a dependency on the number of cameras. 12 to 13, a method of performing motion detection in a monocular camera regardless of the number of cameras, that is, when there is no dependency on the number of cameras according to an embodiment of the present invention will be described.

scale correcting Local Bundle Adjustment(scale correcting Local Bundle Adjustment scLBAscLBA ))

도 12 내지 도 13은 본 발명의 실시예에 따른 자율주행 차량의 SLAM 알고리즘을 설명하기 위한 도면이다. 보다 구체적으로, 도 12는 scale correcting Local Bundle Adjustment(scLBA) 알고리즘을 나타낸 순서도이고, 도 13은 도 12의 순서도를 설명하기 위한 개념도이다. 우선, 도 12에 대한 설명에 앞서 LBA(Local Bundle Adjustment)에 대하여 설명하도록 한다.12 to 13 are diagrams for explaining the SLAM algorithm of an autonomous vehicle according to an embodiment of the present invention. More specifically, FIG. 12 is a flowchart illustrating a scale correcting Local Bundle Adjustment (scLBA) algorithm, and FIG. 13 is a conceptual diagram illustrating the flowchart of FIG. 12. First, prior to the description of FIG. 12, a description will be given of LBA (Local Bundle Adjustment).

LBA(Local Bundle Adjustment)는 현재 자세와 시간적, 공간적으로 가까운 환경 지도상의 3차원 점들의 정보와 추정된 자세를 동시에 비선형 최적화하는 방법이다. 일반적으로 자세 측정(motion estimation) 과정에서 자세는 기하학적 오차를 포함하고 있는데, 이러한 오차는 시간이 지날수록 누적되어 자세 측정의 정확도를 저하시킨다. LBA는 이러한 문제를 해결하기 위하여 사용된다.Local Bundle Adjustment (LBA) is a method of nonlinear optimization of information and estimated posture of three-dimensional points on an environment map that is close to the current posture in time and space. In general, in the motion estimation process, the posture includes a geometric error, and the error accumulates over time, thereby degrading the accuracy of the posture measurement. LBA is used to solve this problem.

종래 기술에 따른 LBA 알고리즘은 단안 카메라를 통해 주변환경을 3D모델링 하기 위하여, 스테레오 카메라의 설치 위치를 고려하여 디스페리티 맵(disparity map)을 생성하는 방법을 이용한다. 다시 말해, 종래 기술에 따른 LBA 알고리즘은 연속된 프레임들 사이의 시차를 이용하는 방법이라고 할 수 있다.The LBA algorithm according to the prior art uses a method of generating a disparity map in consideration of the installation position of the stereo camera in order to 3D model the surrounding environment through the monocular camera. In other words, the LBA algorithm according to the related art may be referred to as a method of using parallax between successive frames.

그러나, 종래 기술에 따른 LBA 알고리즘은 추정 값 기반의 최적화가 진행되므로 이동 경로가 길어질 경우 드리프트(drift)가 발생하는 문제를 갖는다. 또한, 종래 기술에 따른 LBA 알고리즘은 경로에 대한 실제 크기 정보를 이용하지 않기 때문에 추정된 경로 및 환경 지도에 단위가 없는 근본적인 한계점을 갖는다.However, the LBA algorithm according to the prior art has a problem that drift occurs when the moving path becomes long because the optimization based on the estimated value is performed. In addition, since the LBA algorithm according to the prior art does not use the actual size information of the route, there is a fundamental limitation that there is no unit in the estimated route and the environment map.

이하, 도 12 내지 도 13을 참조하여 본 발명의 실시예에 따른 자율주행 차량의 프로세서가 수행하는 scLBA(scale correcting Local Bundle Adjustment) 알고리즘에 대하여 설명하도록 한다.Hereinafter, a scLBA (scale correcting local bundle adjustment) algorithm performed by a processor of an autonomous vehicle according to an embodiment of the present invention will be described with reference to FIGS. 12 to 13.

도 12를 참조하면, 본 발명의 실시예에 따른 scLBA 알고리즘이 적용된 자율주행 차량의 프로세서(170)는 도 12의 단계 1210이 수행되기 전에 자율주행 차량에 장착된 카메라를 통해 적어도 3개의 키 프레임(key frame)을 검출한다. Referring to FIG. 12, the processor 170 of the self-driving vehicle to which the scLBA algorithm is applied according to an embodiment of the present invention uses at least three key frames through a camera mounted on the autonomous vehicle before step 1210 of FIG. 12 is performed. key frame).

도 13을 참조하면, 검출된 프레임들은 제1 키 프레임(1301), 제2 키 프레임(1302) 및 제3 키 프레임(1303)이다. 제1 키 프레임(1301)은 적어도 하나의 제1 이미지(1310)을 포함하고, 제2 키 프레임(1302)는 적어도 하나의 제2 이미지(1320)를 포함하며, 제3 키 프레임(1303)은 적어도 하나의 제3 이미지(1330)를 포함한다.Referring to FIG. 13, the detected frames are a first key frame 1301, a second key frame 1302, and a third key frame 1303. The first key frame 1301 includes at least one first image 1310, the second key frame 1302 includes at least one second image 1320, and the third key frame 1303 is At least one third image 1330 is included.

도 12의 단계 1210 및 도 13을 참조하면, 자율주행 차량의 프로세서(170)는 제1 키 프레임(1301) 및 제2 키 프레임(1302)을 이용하여 3D 랜드마크(1350)를 생성한다.Referring to steps 1210 and 13 of FIG. 12, the processor 170 of the autonomous vehicle generates the 3D landmark 1350 using the first key frame 1301 and the second key frame 1302.

도 13에서, 제1 이미지(1310) 및 제2 이미지(1320)는 적어도 하나의 특징점(feature point)을 포함한다. 자율주행 차량의 프로세서(170)는 제1 이미지(1310) 및 제2 이미지(1320)에서 서로 대응하는 특징점(1340)을 추출하고, 추출된 특징점(1340)에 기초하여 3D 랜드마크(1350)를 생성한다.In FIG. 13, the first image 1310 and the second image 1320 include at least one feature point. The processor 170 of the autonomous vehicle extracts the feature points 1340 corresponding to each other from the first image 1310 and the second image 1320, and generates the 3D landmark 1350 based on the extracted feature points 1340. Create

다음으로, 도 12의 단계 1220 및 도 13을 참조하면, 자율주행 차량의 프로세서(170)는 도 12의 단계 1210에 따라 생성된 3D 랜드마크(1350)를 제3 키 프레임(1303)에 재투영(reprojection)한다. Next, referring to steps 1220 and 13 of FIG. 12, the processor 170 of the autonomous vehicle reprojects the 3D landmark 1350 generated according to step 1210 of FIG. 12 to the third key frame 1303. (reprojection)

다음으로, 도 12의 단계 1230 및 도 13을 참조하면, 자율주행 차량의 프로세서(170)는 도 12의 단계 1220에 따라 투영된 값과 제3 이미지(1330)의 차이(error) 값을 계산한다. 보다 구체적으로, 프로세서(170)는 3D 랜드마크가 제3 키 프레임(1303)에 투영된 점과 제3 이미지(1330)에서 검출된 특징점 사이의 오차를 계산한다.Next, referring to steps 1230 and 13 of FIG. 12, the processor 170 of the autonomous vehicle calculates an error value between the projected value and the third image 1330 according to step 1220 of FIG. 12. . More specifically, the processor 170 calculates an error between the point at which the 3D landmark is projected on the third key frame 1303 and the feature point detected in the third image 1330.

마지막으로, 도 12의 단계 1240 및 도 13을 참조하면, 자율주행 차량의 프로세서(170)는 도 12의 단계 1230에 따라 계산된 차이(error) 값을 최소화하는 과정을 수행한다.Finally, referring to steps 1240 and 13 of FIG. 12, the processor 170 of the autonomous vehicle performs a process of minimizing an error value calculated according to step 1230 of FIG. 12.

도 12의 단계 1240를 수행함에 있어서, 프로세서(170)는 차이(error) 값을 최소화하기 위하여 자율주행 차량의 휠 오도메트리(wheel odometry)를 이용한다. 휠 오도미터(wheel odometer)를 이용하여 자율주행 차량의 위치 변화량에 대응하는 스케일(scale) 값을 알 수 있기 때문에, 본 발명의 실시예에 따른 자율주행 차량은 차이(error) 값을 보다 정확히 계산할 수 있고, 차이(error) 값도 보다 정확히 보정할 수 있다.In performing step 1240 of FIG. 12, the processor 170 uses wheel odometry of the autonomous vehicle to minimize an error value. Since the wheel odometer can be used to know the scale value corresponding to the position change amount of the autonomous vehicle, the autonomous vehicle according to the embodiment of the present invention can calculate the error value more accurately. The error value can be corrected more accurately.

도 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 랜드마크의 개수를 나타낸다.Steps 1230 and 1240 of FIG. 12 may be understood by Equations 2 to 8 below. In Equations 2 to 4 below, R is a rotation vector set of at least one key frame 1301, 1302, and 1303 shown in FIG. 13, and t is at least one shown in FIG. A translation vector set of key frames 1301, 1302, 1303, X represents a set of positions of the 3D landmark 1350 shown in FIG. 13. N represents the number of key frames in the set, and M represents the number of 3D landmarks in the set.

Figure 112018016225841-pat00002
Figure 112018016225841-pat00002

Figure 112018016225841-pat00003
Figure 112018016225841-pat00003

Figure 112018016225841-pat00004
Figure 112018016225841-pat00004

[수학식 5]는 볼 발명의 실시예에 따른 LBA의 최소화 목적함수를 나타내고, [수학식 6]은 i 및 j 번째 키프레임 사이의 재투영 오차항(reprojection error)을 나타내고, [수학식 7]은 i 및 j 번째 키프레임 사이의 크기 오차항(scale error)을 나타낸다. [수학식 6]의 재투영 오차항과 [수학식 7]의 크기 오차항이 이상적으로 0의 값을 갖도록 하는 R, t, X의 해를 구하는 것이 [수학식 8]의 목적이다.Equation 5 shows the LBA minimization objective function according to the embodiment of the present invention, Equation 6 shows the reprojection error between the i and j th keyframe, Equation 7 Denotes a scale error term between the i and j th keyframes. The purpose of Equation 8 is to find a solution of R, t, and X so that the reprojection error term of Equation 6 and the magnitude error term of Equation 7 ideally have a value of zero.

Figure 112018016225841-pat00005
Figure 112018016225841-pat00005

Figure 112018016225841-pat00006
Figure 112018016225841-pat00006

Figure 112018016225841-pat00007
Figure 112018016225841-pat00007

Figure 112018016225841-pat00008
Figure 112018016225841-pat00008

[수학식 5] 에서 W는 임의의 로컬 윈도우(local window) 크기이고,

Figure 112018016225841-pat00009
는 지표 변수로서
Figure 112018016225841-pat00010
가 i 번째 키프레임에서 관측될 경우 1을 갖고 관측되지 않을 경우 0을 갖는다. [수학식 6] 에서
Figure 112018016225841-pat00011
Figure 112018016225841-pat00012
는 각각 i 번째 키 프레임에서의 회전벡터와 이동벡터이고,
Figure 112018016225841-pat00013
는 i 번째 키프레임에서 관측된
Figure 112018016225841-pat00014
와 매칭된 2차원 영상 좌표이다. 또한, [수학식 6] 에서
Figure 112018016225841-pat00015
는 3차원 점의 2차원 영상으로의 투영을 표현하는 함수이다. In Equation 5, W is an arbitrary local window size,
Figure 112018016225841-pat00009
Is an index variable
Figure 112018016225841-pat00010
Has 1 if it is observed in the i-th keyframe and 0 if it is not observed. In [Equation 6]
Figure 112018016225841-pat00011
Wow
Figure 112018016225841-pat00012
Are the rotation and movement vectors at the i-th key frame, respectively.
Figure 112018016225841-pat00013
Is observed at the i-th keyframe
Figure 112018016225841-pat00014
Is a two-dimensional image coordinate matched with. Also, in [Equation 6]
Figure 112018016225841-pat00015
Is a function representing the projection of a three-dimensional point to a two-dimensional image.

한편, [수학식 7]에서

Figure 112018016225841-pat00016
은 도 13에 도시된 본 발명의 실시예에 따른 휠 오도미터로 관측한 i 번째 키프레임(1301) 및 j 번째 키프레임(1302) 사이의 실제 이동 거리(1360)를 나타낸다. 즉, 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 휠 오도미터를 통해 검출된 실제 이동 거리(1360)를 크기 오차항(scale error)의 보정에 이용한다.On the other hand, in [Equation 7]
Figure 112018016225841-pat00016
Denotes the actual moving distance 1360 between the i th keyframe 1301 and the j th keyframe 1302 as viewed with the wheel odometer according to the embodiment of the present invention shown in FIG. 13. That is, the processor 170 of the autonomous vehicle according to the exemplary embodiment of the present invention uses the actual moving distance 1360 detected through the wheel odometer to correct the scale error term.

[수학식 7]의 크기 오차항은 키 프레임(1301, 1302, 1303)간의 휠 오도미터의 실측 거리(1360, 1370)에 맞게 추정된 자세를 보정한다. 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 크기 오차항을 이용하여 [수학식 6]을 최적화할 수 있으므로, 3D 랜드마크(1350)의 실제 크기 및 이동 경로를 보다 정확히 추정할 수 있는 기술적 효과를 갖는다.The magnitude error term of Equation 7 corrects the estimated posture to fit the measured distances 1360 and 1370 of the wheel odometer between the key frames 1301, 1302, and 1303. Since the processor 170 of the autonomous vehicle according to the embodiment of the present invention can optimize Equation 6 using the size error term, the actual size and the moving path of the 3D landmark 1350 can be more accurately estimated. That has a technical effect.

마지막으로, 본 발명의 실시예에 따른 자율주행 차량의 프로세서(170)는 적어도 하나의 함수 최적화 기법을 이용하여 [수학식 8]을 계산하여 최적의 R, t, X를 산출한다. 상기 함수 최적화 기법은 예를 들면 Levenberg-Marquardt 방식이다.Finally, the processor 170 of the autonomous vehicle according to the embodiment of the present invention calculates the optimal R, t, and X by calculating [Equation 8] using at least one function optimization technique. The function optimization technique is, for example, the Levenberg-Marquardt method.

정리하면, 본 발명의 실시예에 따른 자율주행 차량의 프로세서가 수행하는 scLBA 알고리즘에 따르면, 휠 오도미터에서 획득한 실측 값을 목적함수에서 사용하기 때문에, 키 프레임 간의 이동 경로에 대한 실제 크기 정보를 표현하는 항과 특징점의 재투영 항을 함께 비선형 최적화할 수 있다. 그에 따라 본 발명의 실시예에 따른 자율주행 차량의 프로세서가 수행하는 scLBA 알고리즘은 종래 기술에 따른 LBA 알고리즘이 내포하는 드리프트가 발생하는 문제와 추정된 경로/환경 지도에 단위가 없다는 문제를 효과적으로 해결할 수 있다.In summary, according to the scLBA algorithm performed by the processor of the autonomous vehicle according to the embodiment of the present invention, since the measured value obtained from the wheel odometer is used in the objective function, the actual size information of the movement path between key frames is obtained. You can nonlinearly optimize the terms you represent and the reprojection terms of the feature points. Accordingly, the scLBA algorithm performed by the processor of the autonomous vehicle according to the embodiment of the present invention can effectively solve the problem of drift caused by the LBA algorithm according to the prior art and the problem that there is no unit in the estimated path / environment map. have.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 프로세서 또는 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The present invention described above can be embodied as computer readable codes on a medium in which a program is recorded. The computer-readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include hard disk drives (HDDs), solid state disks (SSDs), silicon disk drives (SDDs), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and the like. This also includes implementations in the form of carrier waves (eg, transmission over the Internet). The computer may also include a processor or a controller. Accordingly, the above detailed description should not be construed as limiting in all aspects and should be considered as illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

100 : 자율주행 차량100: autonomous vehicle

Claims (10)

자율주행 차량에 있어서,
상기 자율주행 차량의 외부 환경에 대한 적어도 두 개의 영상 프레임을 획득하는 카메라; 및
상기 획득된 적어도 두 개의 영상 프레임에 기초하여 상기 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출하는 프로세서;를 포함하고,
상기 프로세서는,
상기 카메라를 통해 제1 이미지를 포함하는 제1 키 프레임 및 제2 이미지를 포함하는 제2 키 프레임을 획득하고, 상기 제1 이미지 및 제2 이미지에 포함된 특징점에 기초하여 3D 랜드마크를 생성하고,
상기 카메라를 통해 제3 이미지를 포함하는 제3 키 프레임을 더 획득하고, 상기 생성된 3D 랜드마크를 상기 제3 키 프레임에 재투영(reprojection)하고, 상기 재투영된 값과 상기 제3 이미지의 차이(error) 값을 계산하는 자율주행 차량.
In autonomous vehicles,
A camera for obtaining at least two image frames of the external environment of the autonomous vehicle; And
And a processor configured to calculate a translation motion and a rotation motion of the autonomous vehicle based on the obtained at least two image frames.
The processor,
Obtain a first key frame including a first image and a second key frame including a second image through the camera, generate a 3D landmark based on feature points included in the first image and the second image, and ,
Further obtaining a third key frame including a third image through the camera, reprojecting the generated 3D landmark to the third key frame, and reconstructing the reprojected value and the third image Autonomous vehicles that calculate an error value.
제1항에 있어서,
상기 카메라는 복수 개 구비되고,
상기 프로세서는,
상기 복수 개의 카메라에서 각각 획득된 영상 프레임을 샘플링하고, 상기 샘플링 결과에 기초하여 제1 카메라를 선택하는 것을 특징으로 하는 자율주행 차량.
The method of claim 1,
The camera is provided with a plurality,
The processor,
And an image frame obtained by each of the plurality of cameras, and selecting a first camera based on the sampling result.
제2항에 있어서,
상기 프로세서는,
상기 선택된 제1 카메라의 영상 프레임으로부터 RANSAC(Random sample consensus) 모델을 생성하는 것을 특징으로 하는 자율주행 차량.
The method of claim 2,
The processor,
Autonomous vehicle, characterized in that for generating a random sample consensus (RANSAC) model from the image frame of the selected first camera.
제3항에 있어서,
상기 프로세서는,
상기 생성된 RANSAC 모델을 상기 선택된 제1 카메라와 다른 제2 카메라의 영상 프레임에 적용하고,
상기 제2 카메라의 영상 프레임에 적용된 상기 RANSAC 모델의 비용을 계산하는 것을 특징으로 하는 자율주행 차량.
The method of claim 3,
The processor,
Apply the generated RANSAC model to an image frame of a second camera different from the selected first camera,
And calculating a cost of the RANSAC model applied to the image frame of the second camera.
제4항에 있어서,
상기 프로세서는,
상기 계산된 비용이 기설정된 값 이상인 것으로 판단하면, 상기 RANSAC 모델을 상기 제1 카메라 이외의 카메라의 영상 프레임에 적용하고, 상기 자율주행 차량의 병진(translation) 모션 및 회전(rotation) 모션을 산출하는 것을 특징으로 하는 자율주행 차량.
The method of claim 4, wherein
The processor,
If it is determined that the calculated cost is greater than or equal to a predetermined value, the RANSAC model is applied to an image frame of a camera other than the first camera, and the translation motion and rotation motion of the autonomous vehicle are calculated. Autonomous vehicle, characterized in that.
삭제delete 삭제delete 제1항에 있어서,
상기 차이 값은 재투영 오차항(reprojection error) 및 크기 오차항(scale error)을 포함하고,
상기 프로세서는,
함수 최적화 기법을 이용하여 상기 재투영 오차항 및 크기 오차항을 보정하는 것을 특징으로 하는 자율주행 차량.
The method of claim 1,
The difference value includes a reprojection error term and a scale error term,
The processor,
Autonomous vehicle, characterized in that for correcting the reprojection error term and the size error term using a function optimization technique.
제8항에 있어서,
상기 자율주행 차량은 휠 오도미터를 더 포함하고,
상기 프로세서는,
상기 휠 오도미터를 제어하여 상기 제1 키 프레임에서 상기 제2 키 프레임까지 상기 자율주행 차량의 이동량을 더 검출하는 것을 특징으로 하는 자율주행 차량.
The method of claim 8,
The autonomous vehicle further includes a wheel odometer,
The processor,
And controlling the wheel odometer to further detect the amount of movement of the autonomous vehicle from the first key frame to the second key frame.
제9항에 있어서,
상기 프로세서는,
상기 검출된 이동량을 상기 크기 오차항의 보정에 이용하는 것을 특징으로 하는 자율주행 차량.
The method of claim 9,
The processor,
And the detected movement amount is used to correct the magnitude error term.
KR1020180018324A 2018-02-14 2018-02-14 Autonomous vehicle and method of controlling the same KR102044703B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180018324A KR102044703B1 (en) 2018-02-14 2018-02-14 Autonomous vehicle and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180018324A KR102044703B1 (en) 2018-02-14 2018-02-14 Autonomous vehicle and method of controlling the same

Publications (2)

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

Family

ID=67949684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180018324A KR102044703B1 (en) 2018-02-14 2018-02-14 Autonomous vehicle and method of controlling the same

Country Status (1)

Country Link
KR (1) KR102044703B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210076635A (en) 2019-12-16 2021-06-24 에스엘 주식회사 Automotive transmission
KR102562617B1 (en) * 2021-09-15 2023-08-03 김배훈 Array camera system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009008591A (en) * 2007-06-29 2009-01-15 Aisin Aw Co Ltd Device and program for recognizing one's own vehicle position

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101167099B1 (en) * 2010-02-27 2012-07-20 한양대학교 산학협력단 Autonomous mobile robot's recognition of structural landmark using vision-based vanishing points
KR20150058679A (en) * 2013-11-20 2015-05-29 한국전자통신연구원 Apparatus and method for localization of autonomous vehicle in a complex
EP3159126A4 (en) * 2014-06-17 2018-05-30 Yujin Robot Co., Ltd. Device and method for recognizing location of mobile robot by means of edge-based readjustment
KR102288399B1 (en) * 2014-10-30 2021-08-10 현대모비스 주식회사 Apparatus for vehicle alarm

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009008591A (en) * 2007-06-29 2009-01-15 Aisin Aw Co Ltd Device and program for recognizing one's own vehicle position

Also Published As

Publication number Publication date
KR20190103527A (en) 2019-09-05

Similar Documents

Publication Publication Date Title
KR102581359B1 (en) User interface apparatus for vehicle and Vehicle
US11086335B2 (en) Driving assistance system and vehicle comprising the same
KR102077573B1 (en) Autonomous parking system and vehicle
US10705522B2 (en) Method for controlling operation system of a vehicle
KR102001917B1 (en) Parking system for vehicle and Vehicle
KR102120108B1 (en) Autonomous vehicle and method of controlling the same
US20200070827A1 (en) Autonomous vehicle and operating method for autonomous vehicle
CN109664887A (en) Autonomous driving vehicle and its control method
KR102025809B1 (en) Vehicle driving control apparatus and vehicle driving method
US20230304821A1 (en) Digital signage platform providing device, operating method thereof, and system including digital signage platform providing device
KR20190099165A (en) Apparatus and method for virtual home service
KR102035135B1 (en) vehicle accident information providing system
US20190186941A1 (en) Vehicle control device mounted on vehicle and method for controlling the vehicle
KR102044703B1 (en) Autonomous vehicle and method of controlling the same
US20230012932A1 (en) Vehicle control device and control method therefor
KR102533246B1 (en) Navigation Apparutaus and Driver Assistance Apparatus Having The Same
KR102043954B1 (en) Robot for vehicle mounted on the vehcile and method for controlling the robot for vehicle
KR102030693B1 (en) Vehicle control method
KR102181651B1 (en) Path providing device and vehicle provide system comprising therefor
KR102041964B1 (en) Vehicle control device mounted on vehicle
KR102024093B1 (en) Driving system for vehicle
US20210357667A1 (en) Methods and Systems for Measuring and Mapping Traffic Signals
KR102014144B1 (en) Method for controlling the driving system of a vehicle
US20210323469A1 (en) Vehicular around view image providing apparatus and vehicle
KR102011832B1 (en) Communication device for vehicle and vehicle

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