KR20210103911A - Method, apparatus and computer program for generating vehicle path to avoid collision - Google Patents

Method, apparatus and computer program for generating vehicle path to avoid collision Download PDF

Info

Publication number
KR20210103911A
KR20210103911A KR1020200093173A KR20200093173A KR20210103911A KR 20210103911 A KR20210103911 A KR 20210103911A KR 1020200093173 A KR1020200093173 A KR 1020200093173A KR 20200093173 A KR20200093173 A KR 20200093173A KR 20210103911 A KR20210103911 A KR 20210103911A
Authority
KR
South Korea
Prior art keywords
vehicles
vehicle
collision avoidance
calculating
avoidance path
Prior art date
Application number
KR1020200093173A
Other languages
Korean (ko)
Inventor
박세희
김영수
이승찬
Original Assignee
브이아이씨테크 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브이아이씨테크 주식회사 filed Critical 브이아이씨테크 주식회사
Priority to KR1020200093173A priority Critical patent/KR20210103911A/en
Publication of KR20210103911A publication Critical patent/KR20210103911A/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision

Abstract

Provided are a method for generating a collision avoidance path of a vehicle, which designs collision avoidance paths in each of a plurality of vehicles, and an apparatus and a computer program thereof. According to various embodiments of the present invention, a method for generating a collision avoidance path of a vehicle is executed by a computing device. The method comprises the following steps: acquiring location information on a plurality of vehicles for a predetermined period in the future with respect to a current time point on the basis of a driving route preset for each of the plurality of vehicles; calculating a loss value for the plurality of vehicles by using the location information on the plurality of vehicles; performing a process of optimizing the loss value to acquire a variable for optimizing the loss value; and generating a collision avoidance path for each of the plurality of vehicles by using the obtained variable.

Description

차량의 충돌 회피 경로 생성 방법, 장치 및 컴퓨터 프로그램{METHOD, APPARATUS AND COMPUTER PROGRAM FOR GENERATING VEHICLE PATH TO AVOID COLLISION}METHOD, APPARATUS AND COMPUTER PROGRAM FOR GENERATING VEHICLE PATH TO AVOID COLLISION

본 발명의 다양한 실시예는 복수의 차량 간의 충돌을 방지하기 위한 차량의 충돌 회피 경로 생성 방법, 장치 및 컴퓨터 프로그램에 관한 것이다.Various embodiments of the present invention relate to a method, an apparatus, and a computer program for generating a collision avoidance path of a vehicle for preventing a collision between a plurality of vehicles.

차량을 운전하는 사용자들의 편의를 위하여, 각종 센서와 전자 장치 등(예: 차량 운전자 보조 시스템(ADAS: Advanced Driver Assistance System)이 구비되고 있는 추세이며, 특히, 운전자의 개입 없이 주변 환경을 인식하고, 인식된 주변 환경에 따라 스스로 주어진 목적지까지 자동으로 주행하는 차량의 자율 주행 시스템(Autonomous driving System)에 대한 기술 개발이 활발하게 이루어지고 있다.For the convenience of users driving a vehicle, various sensors and electronic devices (eg, an Advanced Driver Assistance System (ADAS)) are being provided, and in particular, to recognize the surrounding environment without driver intervention, Technological development for an autonomous driving system of a vehicle that automatically drives to a given destination according to a recognized surrounding environment is being actively developed.

한편, 자율 주행 시스템은 운전자의 개입 없이 시스템 자체적으로 판단하여 자동적으로 주행하는 것이기 때문에, 자율주행 차량과 인접한 대상(예: 차량, 사람 및 기타 구조물)들 간의 충돌 사고가 발생할 가능성이 높다는 문제가 있다.On the other hand, since the autonomous driving system automatically drives by judging by the system itself without the intervention of the driver, there is a problem in that there is a high possibility of a collision between the autonomous vehicle and adjacent objects (eg, vehicles, people, and other structures). .

종래에는 이와 같은 충돌 사고를 방지하기 위해서는 충돌을 방지하기 위한 공간적, 시간적인 충돌 회피 경로를 설계하고, 설계된 충돌 회피 경로에 따라 차량이 주행하도록 하였다.In the related art, in order to prevent such a collision accident, a spatial and temporal collision avoidance path for preventing a collision is designed, and the vehicle is driven according to the designed collision avoidance path.

그러나, 종래의 충돌 회피 경로 생성 방법은 충돌 회피 경로를 생성해야 하는 차량이 많아지는 경우, 많은 수의 차량에 대하여 각각 시간적, 공간적 충돌 회피 경로를 설계를 수행해야 하기 때문에, 연산량이 많아져 충돌 회피 경로를 생성하는데 많은 시간이 소요될 수 있으며, 연산량이 많아짐에 따라 오류 발생 확률이 많아져서 잘못된 충돌 회피 경로를 생성할 수 있다는 문제가 있다.However, in the conventional collision avoidance path generation method, when the number of vehicles that need to generate collision avoidance paths increases, temporal and spatial collision avoidance paths must be designed for a large number of vehicles, respectively, so the amount of computation increases and collision avoidance increases. It may take a lot of time to generate the path, and as the amount of computation increases, the probability of error occurrence increases, so that an incorrect collision avoidance path may be generated.

또한, 종래의 충돌 회피 경로 생성 방법은 공간적인 충돌 회피 경로만을 생성하기 때문에, 충돌을 회피하기 위하여 먼 길을 돌아가도록 하는 등 다소 비효율적으로 주행하게 한다는 문제가 있다.In addition, since the conventional collision avoidance path generation method generates only a spatial collision avoidance path, there is a problem in that the vehicle travels somewhat inefficiently, such as a long way to avoid a collision.

한국등록특허 제10-1304625호(2013.08.30)Korea Patent No. 10-1304625 (2013.08.30)

본 발명이 해결하고자 하는 과제는 복수의 차량간의 충돌을 방지하기 위하여 복수의 차량 각각에 충돌 회피 경로를 설계할 수 있는 차량의 충돌 회피 경로 생성 방법, 장치 및 컴퓨터 프로그램을 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to provide a method, an apparatus and a computer program for generating a collision avoidance path of a vehicle capable of designing a collision avoidance path for each of a plurality of vehicles in order to prevent a collision between a plurality of vehicles.

본 발명이 해결하고자 하는 다른 과제는 경사 하강법을 이용하여 충돌 회피 경로를 생성함에 있어서 다양한 변수를 이용함으로써, 공간적 회피 경로뿐만 아니라 시간적인 회피 경로도 생성할 수 있는 차량의 충돌 회피 경로 생성 방법, 장치 및 컴퓨터 프로그램을 제공하는 것이다.Another problem to be solved by the present invention is a method of generating a collision avoidance path for a vehicle that can generate not only a spatial avoidance path but also a temporal avoidance path by using various variables in generating a collision avoidance path using the gradient descent method, To provide devices and computer programs.

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

상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 차량의 충돌 회피 경로 생성 방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 복수의 차량 각각에 기 설정된 주행 경로에 기초하여, 현재 시점을 기준으로 미래의 소정 기간 동안의 상기 복수의 차량에 대한 위치 정보를 얻는 단계, 상기 복수의 차량에 대한 위치 정보를 이용하여 상기 복수의 차량에 대한 손실 값을 산출하는 단계, 상기 손실 값의 최적화 과정을 수행하여 상기 손실 값을 최적화하는 변수를 획득하는 단계 및 상기 획득된 변수를 이용하여 상기 복수의 차량 각각에 대한 충돌 회피 경로를 생성하는 단계를 포함할 수 있다.In the method for generating a collision avoidance path of a vehicle according to an embodiment of the present invention for solving the above-mentioned problems, in a method performed by a computing device, a current time point is determined based on a driving path preset for each of a plurality of vehicles. Obtaining location information on the plurality of vehicles for a predetermined period in the future as a reference, calculating loss values for the plurality of vehicles using the location information on the plurality of vehicles, optimizing the loss values and obtaining a variable for optimizing the loss value by performing , and generating a collision avoidance path for each of the plurality of vehicles by using the obtained variable.

다양한 실시예에서, 상기 최적화 과정을 수행하는 단계는, 경사 하강법(Gradient Descent)을 이용하여 상기 손실 값을 최적화하는 변수를 획득하는 단계를 포함할 수 있다.In various embodiments, performing the optimization process may include obtaining a variable for optimizing the loss value using a gradient descent method.

다양한 실시예에서, 상기 복수의 차량에 대한 위치 정보를 얻는 단계는, 상기 복수의 차량 각각의 현재 위치를 가리키는 기준 좌표를 얻는 단계 및 상기 미래의 소정 기간을 복수의 단위 시간으로 분할하고, 단위 시간별 상기 복수의 차량의 위치 간의 편차를 가리키는 복수의 오프셋(offset) 좌표를 얻는 단계를 포함할 수 있다.In various embodiments, the obtaining of the location information for the plurality of vehicles includes obtaining reference coordinates indicating the current location of each of the plurality of vehicles, dividing the predetermined period in the future into a plurality of unit times, and each unit time The method may include obtaining a plurality of offset coordinates indicating deviations between the positions of the plurality of vehicles.

다양한 실시예에서, 상기 손실 값을 산출하는 단계는, 상기 복수의 차량에 대한 복수의 비용 값을 산출하고, 상기 산출된 복수의 비용 값을 이용하여 상기 손실 값을 산출하되, 상기 산출된 복수의 비용 값 각각에 기 설정된 가중치가 설정되는, 단계를 포함하며, 상기 복수의 비용 값은, 상기 복수의 차량 간의 거리에 기반하여 산출되는 비용 값 및 상기 복수의 차량의 기존 경로와의 차이에 기반하여 산출되는 비용 값을 포함할 수 있다.In various embodiments, the calculating of the loss value includes calculating a plurality of cost values for the plurality of vehicles and calculating the loss value using the plurality of calculated cost values, and setting a preset weight to each of the cost values, wherein the plurality of cost values are calculated based on a distance between the plurality of vehicles and a difference from the existing routes of the plurality of vehicles. The calculated cost value may be included.

다양한 실시예에서, 상기 산출된 복수의 비용 값을 이용하여 상기 손실 값을 산출하는 단계는, 단위 시간별 상기 복수의 차량 각각의 속력 및 시간을 산출하는 단계, 단위 시간별 상기 복수의 차량 각각의 위치를 산출하는 단계, 상기 단위 시간별 복수의 차량 각각의 위치에 기초하여, 단위 시간별 상기 복수의 차량 간의 거리를 산출하는 단계 및 상기 단위 시간별 복수의 차량 간의 거리에 반비례하도록 상기 복수의 차량에 대한 충돌 비용 값을 산출하는 단계를 포함할 수 있다.In various embodiments, the calculating of the loss value using the plurality of calculated cost values includes calculating the speed and time of each of the plurality of vehicles per unit time, and determining the location of each of the plurality of vehicles per unit time. Calculating, based on the respective positions of the plurality of vehicles per unit time, calculating the distance between the plurality of vehicles per unit time, and a collision cost value for the plurality of vehicles in inverse proportion to the distance between the plurality of vehicles per unit time It may include the step of calculating

다양한 실시예에서, 상기 충돌 비용 값을 산출하는 단계는 상기 복수의 차량 간의 거리를 기준 크기로 분할하여 정규분포화 하는 단계 및 상기 산출된 충돌 비용 값에 기 설정된 가중치를 부여하는 단계를 포함하며, 상기 가중치는 상기 충돌 비용 값을 산출하는 대상이 되는 제1 차량의 속력을 상기 제1 차량과 인접한 제2 차량의 속력과 상기 제1 차량의 속력의 합으로 나눈 값일 수 있다.In various embodiments, calculating the collision cost value includes dividing the distance between the plurality of vehicles by a reference size to normalize the distribution, and assigning a preset weight to the calculated collision cost value, The weight may be a value obtained by dividing a speed of a first vehicle that is a target for calculating the collision cost value by a sum of a speed of a second vehicle adjacent to the first vehicle and a speed of the first vehicle.

다양한 실시예에서, 상기 산출된 복수의 비용 값을 이용하여 상기 손실 값을 산출하는 단계는, 기준 시간 대비 각각의 단위 시간의 변화량에 기초하여 상기 복수의 차량에 대한 시간 비용 값을 산출하는 단계, 단위 시간별 상기 오프셋 좌표 크기의 합에 기초하여 상기 복수의 차량에 대한 오프셋 비용 값을 산출하는 단계 및 단위 시간별로 각 시점 간의 오프셋 좌표 크기의 차분 값에 기초하여 상기 복수의 차량에 대한 오프셋 차분 비용 값을 산출하는 단계를 포함할 수 있다.In various embodiments, the calculating of the loss value by using the plurality of calculated cost values may include calculating time cost values for the plurality of vehicles based on a change amount of each unit time compared to a reference time; calculating an offset cost value for the plurality of vehicles based on the sum of the offset coordinate sizes for each unit time, and an offset difference cost value for the plurality of vehicles based on a difference value of the offset coordinate sizes between each time point for each unit time It may include the step of calculating

다양한 실시예에서, 상기 복수의 차량 각각에 대한 충돌 회피 경로를 생성하는 단계는, 상기 손실 값을 최적화하여 충돌 회피를 위한 차량의 오프셋 좌표 및 속력을 산출하는 단계, 상기 충돌 회피를 위한 차량의 오프셋 좌표 및 상기 차량의 속력을 이용하여 단위 시간별 복수의 차량 각각의 충돌 회피 위치 좌표를 생성하는 단계 및 선형 보간법(linear interpolation) 및 상기 충돌 회피 위치 좌표를 이용하여 상기 복수의 차량 각각에 대한 상기 충돌 회피 경로를 생성하는 단계를 포함할 수 있다.In various embodiments, the generating of the collision avoidance path for each of the plurality of vehicles may include calculating the offset coordinates and speed of the vehicle for collision avoidance by optimizing the loss value, the offset of the vehicle for collision avoidance Generating the collision avoidance position coordinates of each of a plurality of vehicles for each unit time using the coordinates and the speed of the vehicle, and the collision avoidance for each of the plurality of vehicles using linear interpolation and the collision avoidance position coordinates It may include creating a route.

상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 차량의 충돌 회피 경로 생성 장치는, 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 본 발명의 일 실시예에 따른 차량의 충돌 회피 경로 생성 방법을 수행할 수 있다.An apparatus for generating a collision avoidance path for a vehicle according to another embodiment of the present invention for solving the above-described problems includes a memory storing one or more instructions and a processor executing the one or more instructions stored in the memory, the processor may perform the method of generating a collision avoidance path of a vehicle according to an embodiment of the present invention by executing the one or more instructions.

상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터프로그램은, 하드웨어인 컴퓨터와 결합되어, 본 발명의 일 실시예에 따른 차량의 충돌 회피 경로 생성 방법의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장될 수 있다. A computer program according to another embodiment of the present invention for solving the above-described problems is combined with a computer that is hardware, so that the computer can perform the method of generating a collision avoidance path of a vehicle according to an embodiment of the present invention may be stored in a readable recording medium.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

본 발명의 다양한 실시예에 따르면, 복수의 차량간의 충돌을 방지하기 위하여 복수의 차량 각각에 대한 충돌 회피 경로를 설계할 수 있다는 이점이 있다.According to various embodiments of the present disclosure, there is an advantage in that a collision avoidance path for each of a plurality of vehicles can be designed in order to prevent a collision between the plurality of vehicles.

또한, 충돌 회피 경로를 설계함에 있어서, 차량 간의 거리뿐만 아니라 기존 경로와의 차이를 함께 고려하여 시간적 또는 공간적 충돌 회피 경로를 생성함으로써, 복수의 차량 각각에 최적화된 충돌 회피 경로를 제공할 수 있다는 이점이 있다.In addition, in designing the collision avoidance path, it is possible to provide a collision avoidance path optimized for each of a plurality of vehicles by generating a temporal or spatial collision avoidance path by considering not only the distance between vehicles but also the difference from the existing path. There is this.

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

도 1은 본 발명의 일 실시예에 따른 차량의 충돌 회피 경로 생성 시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 차량의 충돌 회피 경로 생성 장치의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 차량의 충돌 회피 경로 생성 방법의 순서도이다.
도 4는 다양한 실시예에서, 차량의 충돌 회피 경로 생성 장치가 차량의 주행 경로에 기초하여 단위 시간별 위치 정보를 생성한 형태를 도시한 도면이다.
도 5 내지 7은 다양한 실시예에서, 차량의 충돌 회피 경로 생성 장치가 경사 하강법을 이용하여 차량의 공간적 및 시간적 충돌 회피 경로를 생성하는 형태를 도시한 도면이다.
도 8 내지 10은 다양한 실시예에서, 차량의 충돌 회피 경로 생성 장치가 생성한 차량의 충돌 회피 경로와 기 설정된 주행 경로를 도시한 도면이다.
1 is a diagram illustrating a system for generating a collision avoidance path of a vehicle according to an embodiment of the present invention.
2 is a hardware configuration diagram of an apparatus for generating a collision avoidance path for a vehicle according to another embodiment of the present invention.
3 is a flowchart of a method for generating a collision avoidance path of a vehicle according to another embodiment of the present invention.
4 is a diagram illustrating a form in which an apparatus for generating a collision avoidance path of a vehicle generates location information for each unit time based on a driving path of a vehicle, according to various embodiments of the present disclosure;
5 to 7 are diagrams illustrating a form in which an apparatus for generating a collision avoidance path of a vehicle generates a spatial and temporal collision avoidance path of a vehicle using a gradient descent method, according to various embodiments of the present disclosure;
8 to 10 are diagrams illustrating a collision avoidance path of a vehicle and a preset driving path generated by an apparatus for generating a collision avoidance path of a vehicle, according to various embodiments of the present disclosure;

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and those of ordinary skill in the art to which the present invention pertains. It is provided to fully understand the scope of the present invention to those skilled in the art, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. As used herein, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein will have the meaning commonly understood by those of ordinary skill in the art to which this invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless specifically defined explicitly.

명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.As used herein, the term “unit” or “module” refers to a hardware component such as software, FPGA, or ASIC, and “unit” or “module” performs certain roles. However, “part” or “module” is not meant to be limited to software or hardware. A “unit” or “module” may be configured to reside on an addressable storage medium or to reproduce one or more processors. Thus, by way of example, “part” or “module” refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, Includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. Components and functionality provided within “parts” or “modules” may be combined into a smaller number of components and “parts” or “modules” or as additional components and “parts” or “modules”. can be further separated.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.Spatially relative terms "below", "beneath", "lower", "above", "upper", etc. It can be used to easily describe the correlation between a component and other components. A spatially relative term should be understood as a term that includes different directions of components during use or operation in addition to the directions shown in the drawings. For example, when a component shown in the drawing is turned over, a component described as “beneath” or “beneath” of another component may be placed “above” of the other component. can Accordingly, the exemplary term “below” may include both directions below and above. Components may also be oriented in other orientations, and thus spatially relative terms may be interpreted according to orientation.

본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In this specification, a computer means all types of hardware devices including at least one processor, and may be understood as encompassing software configurations operating in the corresponding hardware device according to embodiments. For example, a computer may be understood to include, but is not limited to, smart phones, tablet PCs, desktops, notebooks, and user clients and applications running on each device.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Each step described in this specification is described as being performed by a computer, but the subject of each step is not limited thereto, and at least a portion of each step may be performed in different devices according to embodiments.

또한, 본 명세서에서는 기 설정된 주행 경로에 따라 자율적으로 주행하는 자율 주행 차량을 기준으로 설명하고 있으나, 이에 한정되지 않고, 다양한 분야에서 적용이 가능하다. 예를 들어, 자율 주행 기능을 사용하지 않는 차량이나 자율 주행 기능이 없는 차량에도 적용될 수 있다. 또한, 복수의 RC(Radio control)카 또는 무인항공기(예: 드론)의 군집 주행을 제어하는 분야에 있어서, 복수의 RC카 또는 드론 간의 충돌을 회피하기 위한 충돌 회피 경로를 생성하는 과정에서도 적용이 가능하다.In addition, although the description is based on an autonomous driving vehicle that autonomously travels according to a preset driving route, the present specification is not limited thereto, and may be applied in various fields. For example, it may be applied to a vehicle that does not use an autonomous driving function or a vehicle that does not have an autonomous driving function. In addition, in the field of controlling group driving of a plurality of RC (Radio control) cars or unmanned aerial vehicles (eg drones), it is also applicable in the process of creating a collision avoidance path to avoid collisions between a plurality of RC cars or drones. possible.

도 1은 본 발명의 일 실시예에 따른 차량의 충돌 회피 경로 생성 시스템을 도시한 도면이다.1 is a diagram illustrating a system for generating a collision avoidance path of a vehicle according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 차량의 충돌 회피 경로 생성 시스템은 차량의 충돌 회피 경로 생성 장치(100), 사용자 단말(200) 및 외부 서버(300)를 포함할 수 있다.Referring to FIG. 1 , a system for generating a collision avoidance path for a vehicle according to an embodiment of the present invention may include an apparatus 100 for generating a collision avoidance path for a vehicle, a user terminal 200 , and an external server 300 .

여기서, 도 1에 도시된 차량의 충돌 회피 경로 생성 시스템은 일 실시예에 따른 것이고, 그 구성요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.Here, the system for generating a collision avoidance path for a vehicle shown in FIG. 1 is according to an embodiment, and its components are not limited to the embodiment shown in FIG. 1 , and may be added, changed, or deleted as necessary. .

일 실시예에서, 차량의 충돌 회피 경로 생성 장치(100)는 복수의 차량 각각에 기 설정된 주행 경로에 기초하여 복수의 차량 각각의 위치 정보를 얻을 수 있고, 이를 이용하여 복수의 차량 각각에 대한 충돌 회피 경로를 생성할 수 있다. In an embodiment, the apparatus 100 for generating a collision avoidance path of a vehicle may obtain location information of each of a plurality of vehicles based on a driving path preset for each of the plurality of vehicles, and using the obtained location information for each of the plurality of vehicles You can create an escape route.

다양한 실시예에서, 차량의 충돌 회피 경로 생성 장치(100)는 복수의 차량 각각의 주행 경로 및 위치 정보를 이용하여 하나의 벡터(high dimensional vector)를 생성(예: 도 5)할 수 있다. 이후, 차량의 충돌 회피 경로 생성 장치(100)는 생성된 하나의 벡터를 이용하여 복수의 차량에 대한 손실 값을 산출하고, 경사 하강법(Gradient Descent)을 이용하여 손실 값을 최적화하는 변수를 획득할 수 있다(예: 도 6). 이후, 차량의 충돌 회피 경로 생성 장치(100)는 획득한 변수를 이용하여 복수의 차량 각각에 대한 시간적 및 공간적 충돌 회피 경로를 생성할 수 있다(예: 도 7). 그러나, 이에 한정되지 않는다.In various embodiments, the apparatus 100 for generating a collision avoidance path of a vehicle may generate a high dimensional vector (eg, FIG. 5 ) using driving paths and location information of each of a plurality of vehicles. Thereafter, the apparatus 100 for generating a collision avoidance path of a vehicle calculates a loss value for a plurality of vehicles using the generated one vector, and obtains a variable for optimizing the loss value using a gradient descent method can (eg, Figure 6). Thereafter, the apparatus 100 for generating a collision avoidance path of a vehicle may generate a temporal and spatial collision avoidance path for each of a plurality of vehicles by using the obtained variable (eg, FIG. 7 ). However, the present invention is not limited thereto.

다양한 실시예에서, 차량의 충돌 회피 경로 생성 장치(100)는 복수의 차량 각각에 대하여 생성된 시간적 및 공간적 충돌 회피 경로에 기초하여 복수의 차량 각각에 대하여 생성된 시간적 및 공간적 충돌 회피 경로에 따라 동작할 것을 명령하는 제어신호를 송신할 수 있다. 예를 들어, 차량의 충돌 회피 경로 생성 장치(100)는 내부에 구비된 마스터 소프트웨어를 이용하여 시간적 및 공간적 충돌 회피 경로에 따라 동작할 것을 명령하는 제어 신호를 계산(예: 스로틀링 및 스티어링 제어 값 계산)할 수 있으며, 차량 내에 구비되며 차량의 동작을 제어하는 제어 모듈과 연결되어 해당 제어 신호를 차량의 제어 모듈에 송신함으로써, 차량이 해당 제어 신호를 받아 동작을 제어(예: 스로틀링 제어 및 스티어링 제어)하도록 유도할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the apparatus 100 for generating a collision avoidance path for a vehicle operates according to a temporal and spatial collision avoidance path generated for each of a plurality of vehicles based on a temporal and spatial collision avoidance path generated for each of the plurality of vehicles It can transmit a control signal instructing what to do. For example, the collision avoidance path generating apparatus 100 of the vehicle calculates a control signal instructing to operate according to the temporal and spatial collision avoidance path using the master software provided therein (eg, throttling and steering control values). calculation), which is provided in the vehicle and is connected to a control module that controls the operation of the vehicle and transmits the control signal to the control module of the vehicle, so that the vehicle receives the control signal and controls the operation (eg, throttling control and steering control). However, the present invention is not limited thereto.

일 실시예에서, 사용자 단말(200)은 네트워크(400)를 통해 차량의 충돌 회피 경로 생성 장치(100)와 연결될 수 있으며, 네트워크(400)를 통해 차량의 위치 정보를 차량의 충돌 회피 경로 생성 장치(100)로 제공할 수 있다. 예를 들어, 사용자 단말(200)은 위치 정보를 획득할 수 있는 센서(예: GPS 센서)를 탑재한 스마트폰, 태블릿 PC, 노트북, 데스크탑 및 차량의 인포테인먼트 시스템(Infortainment system) 중 적어도 하나를 포함할 수 있다. 그러나, 이에 한정되지 않는다.In an embodiment, the user terminal 200 may be connected to the apparatus 100 for generating a collision avoidance path of a vehicle through the network 400 , and the device for generating a vehicle collision avoidance path through the network 400 provides location information of the vehicle. (100) can be provided. For example, the user terminal 200 includes at least one of a smart phone, a tablet PC, a laptop computer, a desktop, and an infotainment system of a vehicle equipped with a sensor (eg, a GPS sensor) capable of acquiring location information. can do. However, the present invention is not limited thereto.

다양한 실시예에서, 사용자 단말(200)은 사용자 단말(200)의 적어도 일부분에 디스플레이를 포함할 수 있으며, 디스플레이를 통해 차량의 충돌 회피 경로 생성 장치(100)로부터 제공되는 각종 사용자 인터페이스(User interface, UI)를 출력할 수 있다. 예를 들어, 사용자 단말(200)은 디스플레이가 구비된 차량의 인포테인먼트 시스템일 수 있으며, 차량의 충돌 회피 경로 생성 장치(100)로부터 현재 차량의 주행 경로 및 충돌 회피 경로를 출력하는 UI를 제공받아 인포테인먼트 시스템 내의 디스플레이를 통해 해당 UI를 출력할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the user terminal 200 may include a display in at least a portion of the user terminal 200, and various user interfaces provided from the apparatus 100 for generating a vehicle collision avoidance path through the display. UI) can be printed. For example, the user terminal 200 may be an infotainment system of a vehicle equipped with a display, and receive a UI for outputting the current driving path and collision avoidance path of the vehicle from the vehicle collision avoidance path generating apparatus 100 to receive infotainment A corresponding UI can be output through a display in the system. However, the present invention is not limited thereto.

일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 차량의 충돌 회피 경로 생성 장치(100)와 연결될 수 있으며, 네트워크(400)를 통해 차량의 충돌 회피 경로 생성 장치(100)로부터 각종 데이터를 전달받아 저장할 수 있다. 예를 들어, 외부 서버(300)는 차량의 충돌 회피 경로 생성 장치(100)로부터 복수의 차량의 위치 정보, 기 설정된 주행 경로 및 충돌 회피 경로를 가리키는 데이터를 전달받아 저장할 수 있다.In an embodiment, the external server 300 may be connected to the apparatus 100 for generating a collision avoidance path for a vehicle through the network 400 , and various kinds of information from the apparatus 100 for generating a collision avoidance path for a vehicle through the network 400 . Data can be received and stored. For example, the external server 300 may receive and store location information of a plurality of vehicles from the apparatus 100 for generating a collision avoidance path of a vehicle, and data indicating a preset driving path and a collision avoidance path.

여기서, 도 1에 도시된 차량의 충돌 회피 경로 생성 시스템에서는 차량의 충돌 회피 경로 생성 장치(100)가 생성한 각종 데이터를 외부 서버(300)로 전달하여 저장하는 형태로 도시되어 있으나, 이에 한정되지 않고, 차량의 충돌 회피 경로 생성 장치(100) 내에 별도로 구비되는 저장 장치(미도시)에 차량의 충돌 회피 경로 생성 장치(100)가 생성하는 각종 데이터를 저장할 수 있다. 이하, 도 2를 참조하여, 차량의 충돌 회피 경로 생성 장치(100)의 하드웨어 구성에 대하여 설명하도록 한다.Here, in the system for generating a collision avoidance path for a vehicle shown in FIG. 1 , various data generated by the device for generating a collision avoidance path for a vehicle 100 are transmitted and stored to the external server 300, but is not limited thereto. Instead, various data generated by the apparatus 100 for generating a collision avoidance path for a vehicle may be stored in a storage device (not shown) separately provided in the apparatus 100 for generating a collision avoidance path for a vehicle. Hereinafter, a hardware configuration of the apparatus 100 for generating a vehicle collision avoidance path will be described with reference to FIG. 2 .

도 2는 본 발명의 다른 실시예에 따른 차량의 충돌 회피 경로 생성 장치의 하드웨어 구성도이다.2 is a hardware configuration diagram of an apparatus for generating a collision avoidance path for a vehicle according to another embodiment of the present invention.

도 2를 참조하면, 본 발명의 다른 실시예에 따른 차량의 충돌 회피 경로 생성 장치(100)(이하, "컴퓨팅 장치(100)")는 프로세서(110) 및 메모리(120)를 포함할 수 있다. 다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크 인터페이스(또는 통신 인터페이스)(미도시), 스토리지(미도시), 버스(bus)(미도시)를 더 포함할 수 있다.Referring to FIG. 2 , an apparatus 100 for generating a collision avoidance path for a vehicle (hereinafter, referred to as “computing device 100”) according to another embodiment of the present invention may include a processor 110 and a memory 120 . . In various embodiments, the computing device 100 may further include a network interface (or communication interface) (not shown), storage (not shown), and a bus (not shown).

일 실시예에서, 프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.In an embodiment, the processor 110 may control the overall operation of each component of the computing device 100 . The processor 110 may include a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), or any type of processor well known in the art.

다양한 실시예에서, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 다양한 실시예에서, 프로세서(110)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예: 버스(bus) 등)를 포함할 수 있다.In various embodiments, the processor 110 may perform an operation on at least one application or program for executing the method according to the embodiments of the present invention. In various embodiments, the processor 110 includes one or more cores (not shown) and a graphic processing unit (not shown) and/or a connection path (eg, a bus, etc.) for transmitting and receiving signals to and from other components. can do.

다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.In various embodiments, the processor 110 temporarily and/or permanently stores a signal (or data) processed inside the processor 110 , a random access memory (RAM) and a read access memory (ROM). -Only Memory, not shown) may be further included. In addition, the processor 110 may be implemented in the form of a system on chip (SoC) including at least one of a graphic processing unit, a RAM, and a ROM.

일 실시예에서, 프로세서(110)는 메모리(120)에 저장된 하나 이상의 인스트럭션(instruction)을 실행함으로써, 도 3 내지 10과 관련하여 설명될 방법(예: 차량의 충돌 회피 경로 생성 방법)을 수행할 수 있다. 예를 들어, 프로세서(110)는 메모리(120)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 복수의 차량 각각에 기 설정된 주행 경로에 기초하여, 현재 시점을 기준으로 미래의 소정 기간 동안의 복수의 차량에 대한 위치 정보를 얻는 단계, 복수의 차량에 대한 위치 정보를 이용하여 복수의 차량에 대한 손실 값을 산출하는 단계, 손실 값의 최적화 과정을 수행하여 손실 값을 최적화하는 변수를 획득하는 단계 및 획득된 변수를 이용하여 복수의 차량 각각에 대한 충돌 회피 경로를 생성하는 단계를 포함하는 차량의 충돌 회피 경로 생성 방법을 수행할 수 있다.In one embodiment, the processor 110 executes one or more instructions stored in the memory 120 to perform a method (eg, a method for generating a collision avoidance path of a vehicle) to be described with reference to FIGS. 3 to 10 . can For example, the processor 110 executes one or more instructions stored in the memory 120, so that the plurality of vehicles for a predetermined period in the future based on the current time point based on the driving route preset for each of the plurality of vehicles. obtaining location information for the vehicle, calculating loss values for a plurality of vehicles by using the location information for the plurality of vehicles, performing a loss value optimization process to obtain a variable for optimizing the loss value, and A method of generating a collision avoidance path for a vehicle including generating a collision avoidance path for each of a plurality of vehicles by using a variable may be performed.

일 실시예에서, 메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(120)에는 프로세서(110)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(120)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.In one embodiment, memory 120 may store various data, commands, and/or information. The memory 120 may store programs (one or more instructions) for processing and controlling the processor 110 . Programs stored in the memory 120 may be divided into a plurality of modules according to functions.

다양한 실시예에서, 본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수 있다. In various embodiments, steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, as a software module executed by hardware, or by a combination thereof. A software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 3을 참조하여, 컴퓨팅 장치(100)가 수행하는 차량의 충돌 회피 경로 생성 방법에 대하여 설명하도록 한다.The components of the present invention may be implemented as a program (or application) to be executed in combination with a computer, which is hardware, and stored in a medium. Components of the present invention may be implemented as software programming or software components, and similarly, embodiments may include various algorithms implemented as data structures, processes, routines, or combinations of other programming constructs, including C, C++ , Java, assembler, etc. may be implemented in a programming or scripting language. Functional aspects may be implemented in an algorithm running on one or more processors. Hereinafter, a method of generating a vehicle collision avoidance path performed by the computing device 100 will be described with reference to FIG. 3 .

도 3은 본 발명의 또 다른 실시예에 따른 차량의 충돌 회피 경로 생성 방법의 순서도이다.3 is a flowchart of a method for generating a collision avoidance path of a vehicle according to another embodiment of the present invention.

도 3을 참조하면, S110 단계에서, 컴퓨팅 장치(100)는 복수의 차량 각각으로부터 위치 정보를 획득할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 복수의 차량이 실제 운전자가 탑승하여 운전이 가능한 자율 주행 차량인 경우, 복수의 차량 내의 인포테인먼트 시스템으로부터 차량의 위치 정보를 수집하거나 차량 내의 운전자의 스마트폰에 구비된 GPS 센서로부터 차량의 위치 정보를 수집할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)가 차량의 위치 정보를 수집하는 어떠한 방법이든 적용이 가능하다.Referring to FIG. 3 , in step S110 , the computing device 100 may obtain location information from each of a plurality of vehicles. For example, when the plurality of vehicles is an autonomous driving vehicle capable of being driven by an actual driver, the computing device 100 collects vehicle location information from an infotainment system in the plurality of vehicles or is provided in the driver's smartphone in the vehicle. It is possible to collect vehicle location information from the GPS sensor. However, the present invention is not limited thereto, and any method by which the computing device 100 collects vehicle location information may be applied.

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 차량이 외부에서 사람에 의해 제어되는 RC카이고, 복수의 차량이 주행하는 공간이 GPS 센서가 정확하게 인식되기 어려운 실내 공간인 경우, 실내에 설치된(예: 천장에 설치) 적어도 하나의 카메라로부터 촬영된 영상에 기반하여 복수의 차량 각각에 대한 위치 좌표를 포함하는 위치 정보를 얻을 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 is an RC car in which a plurality of vehicles are externally controlled by a person, and when the space in which the plurality of vehicles travel is an indoor space in which a GPS sensor is difficult to accurately recognize, the computing device 100 is installed indoors ( For example: installation on a ceiling) It is possible to obtain location information including location coordinates for each of a plurality of vehicles based on an image captured by at least one camera. However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 차량 각각의 현재 위치 정보와 기 설정된 주행 경로에 기초하여, 현재 시점을 기준으로 미래의 소정 기간 동안의 복수의 차량에 대한 위치 정보를 얻을 수 있다. In various embodiments, the computing device 100 may obtain location information on a plurality of vehicles for a predetermined period in the future based on a current time point based on current location information of each of the plurality of vehicles and a preset driving route. .

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 차량 각각의 현재 위치 정보와 기 설정된 주행 경로에 기초하여, 현재 시점을 기준으로 미래의 소정 기간 동안의 복수의 차량에 대한 위치 및 경로를 하나의 벡터(예: 도 5)로 표현할 수 있다. 도 4를 참조하여 설명하도록 한다.In various embodiments, the computing device 100 sets the locations and routes of the plurality of vehicles for a predetermined period in the future based on the current time point based on the current location information of each of the plurality of vehicles and the preset driving route as one It can be expressed as a vector (eg, FIG. 5 ). It will be described with reference to FIG. 4 .

도 4는 다양한 실시예에서, 차량의 충돌 회피 경로 생성 장치가 차량의 주행 경로에 기초하여 단위 시간별 위치 정보를 생성한 형태를 도시한 도면이다.4 is a diagram illustrating a form in which an apparatus for generating a collision avoidance path of a vehicle generates location information for each unit time based on a driving path of a vehicle, according to various embodiments of the present disclosure;

도 4를 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 차량 각각의 현재 위치 정보와 기 설정된 주행 경로에 기초하여 미래의 소정 기간 동안의 복수의 차량에 대한 위치 정보를 얻을 수 있다.Referring to FIG. 4 , in various embodiments, the computing device 100 may obtain location information for a plurality of vehicles for a predetermined period in the future based on current location information of each of the plurality of vehicles and a preset driving route. .

먼저, 컴퓨팅 장치(100)는 S110 단계를 거쳐 얻은 차량(10)의 현재 위치 정보에 기초하여, 차량(10)의 현재 위치를 가리키는 좌표(예: (X, Y))를 얻을 수 있으며, 차량(10)의 현재 위치를 가리키는 좌표를 기준 좌표로 설정할 수 있다.First, the computing device 100 may obtain coordinates (eg, (X, Y)) indicating the current location of the vehicle 10 based on the current location information of the vehicle 10 obtained through step S110, The coordinates indicating the current location of (10) can be set as the reference coordinates.

이후, 컴퓨팅 장치(100)는 미래의 소정 기간을 복수의 단위 시간으로 분할할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 현재 시점을 기준으로 미래의 2초 동안을 기 설정된 단위 시간인 25ms으로 분할할 수 있다. 그러나, 이에 한정되지 않고, 미래의 소정의 기간 및 단위 시간은 다양하게 설정될 수 있다. Thereafter, the computing device 100 may divide a predetermined future period into a plurality of unit times. For example, the computing device 100 may divide the future 2 seconds based on the current time into 25 ms, which is a preset unit time. However, the present invention is not limited thereto, and the predetermined period and unit time in the future may be variously set.

이후, 컴퓨팅 장치(100)는 단위 시간(T1, T2, T3, T4)별 복수의 차량의 위치 간의 편차를 가리키는 복수의 오프셋(offset) 좌표를 얻을 수 있다. 예를 들어, 컴퓨팅 장치(100)는 차량(10)이 T1인 시점에서의 위치가 (X+Xoffset1, Y+Yoffset1)인 경우, T1에서의 차량(10)의 위치와 현재의 위치의 편차인 (Xoffset1, Yoffset1) 좌표를 얻을 수 있다. 또한, 컴퓨팅 장치(100)는 T2인 시점에서의 위치가 (X+Xoffset1+Xoffset2, Y+Yoffset1+Yoffset2)인 경우, T1인 시점에서의 차량(10)의 위치(X+Xoffset1, Y+Yoffset1)와 T2인 시점에서의 차량(10)의 위치의 편차인 (Xoffset2, Yoffset2) 좌표를 얻을 수 있다. 또한, 컴퓨팅 장치(100)는 T3인 시점에서의 위치가 (X+Xoffset1+Xoffset2+Xoffset3, Y+Yoffset1+Yoffset2+Yoffset3)인 경우, T2인 시점에서의 차량(10)의 위치(X+Xoffset1+Xoffset2, Y+Yoffset1+Yoffset2)와 T3인 시점에서의 차량(10)의 위치의 편차인 (Xoffset3, Yoffset3) 좌표를 얻을 수 있다. Thereafter, the computing device 100 may obtain a plurality of offset coordinates indicating a deviation between positions of a plurality of vehicles for each unit time (T 1 , T 2 , T 3 , T 4 ). For example, when the location of the vehicle 10 at the time point T 1 is (X+X offset1 , Y+Y offset1 ), the computing device 100 determines the location of the vehicle 10 and the current location of the vehicle 10 at T 1 . You can get the (X offset1 , Y offset1 ) coordinates that are the deviation of the position. In addition, when the position at the time point T 2 is (X+X offset1 +X offset2 , Y+Y offset1 +Y offset2 ), the computing device 100 is the position (X) of the vehicle 10 at the time point T 1 . +X offset1 , Y+Y offset1 ) and (X offset2 , Y offset2 ) coordinates that are the deviation of the position of the vehicle 10 at the time point T 2 may be obtained. In addition, computing device 100 is T 3 in the case of the position of the point (X + X offset1 + X offset2 + X offset3, Y + Y offset1 + Y offset2 + Y offset3), T 2 of the vehicle at the time ( 10) (X+X offset1 +X offset2 , Y+Y offset1 +Y offset2 ) and (X offset3 , Y offset3 ) coordinates that are the deviation of the position of the vehicle 10 at the time point T 3 can be obtained.

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 차량 각각의 현재 위치(기준 좌표)와 단위 시간(T1, T2, T3, T4)별 복수의 차량의 위치 간의 편차를 가리키는 복수의 오프셋 좌표를 얻을 수 있다. 예를 들어, 컴퓨팅 장치(100)는 차량(10)이 T1인 시점에서의 위치가 (X+Xoffset1, Y+Yoffset1)인 경우, T1에서의 차량(10)의 위치와 현재의 위치의 편차인 (Xoffset1, Yoffset1) 좌표를 얻을 수 있다. 또한, 컴퓨팅 장치(100)는 T2인 시점에서의 위치가 (X+Xoffset1+Xoffset2, Y+Yoffset1+Yoffset2)인 경우, T2에서의 차량(10)의 위치와 현재의 위치의 편차인 (Xoffset1+Xoffset2, Yoffset1+Yoffset2) 좌표를 얻을 수 있다. In various embodiments, the computing device 100 provides a plurality of devices indicating a deviation between the current position (reference coordinate) of each of the plurality of vehicles and the positions of the plurality of vehicles per unit time (T 1 , T 2 , T 3 , T 4 ). You can get the offset coordinates. For example, when the location of the vehicle 10 at the time point T 1 is (X+X offset1 , Y+Y offset1 ), the computing device 100 determines the location of the vehicle 10 and the current location of the vehicle 10 at T 1 . You can get the (X offset1 , Y offset1 ) coordinates that are the deviation of the position. In addition, when the location at the time point T 2 is (X+X offset1 +X offset2 , Y+Y offset1 +Y offset2 ), the computing device 100 is the location and the current location of the vehicle 10 in T 2 . (X offset1 +X offset2 , Y offset1 +Y offset2 ) coordinates can be obtained.

다양한 실시예에서, 컴퓨팅 장치(100)는 단위 시간(T1, T2, T3, T4)별 복수의 차량의 위치를 가리키는 좌표 자체를 얻을 수 있다. 그러나, 이에 한정되지 않고, 단위 시간별 차량의 위치 좌표를 산출하는 다양한 방법이 적용될 수 있다.In various embodiments, the computing device 100 may obtain the coordinates themselves indicating the positions of the plurality of vehicles per unit time (T 1 , T 2 , T 3 , T 4 ). However, the present invention is not limited thereto, and various methods for calculating the position coordinates of the vehicle per unit time may be applied.

다양한 실시예에서, 컴퓨팅 장치(100)는 상기의 방법을 거쳐 얻은 단위 시간별 차량(10)의 위치 좌표(오프셋 좌표)를 하나의 벡터로 나타낼 수 있다. 예를 들어, 컴퓨팅 장치(100)는 상기의 방법으로 얻은 오프셋 좌표가 각각 (0.0, 0.5), (0.5, 0.6), (1.0, 0.7) 인 경우, 해당 좌표를 (0.0, 0.5, 0.5, 0.6, 1.0, 0.7) 형태로 연결하여 하나의 경로 벡터를 생성할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 may represent the position coordinates (offset coordinates) of the vehicle 10 for each unit time obtained through the above method as one vector. For example, when the offset coordinates obtained by the above method are (0.0, 0.5), (0.5, 0.6), and (1.0, 0.7), the computing device 100 sets the coordinates to (0.0, 0.5, 0.5, 0.6). , 1.0, 0.7) to create one path vector. However, the present invention is not limited thereto.

다시, 도 3을 참조하면, S120 단계에서, 컴퓨팅 장치(100)는 복수의 차량에 대한 위치 정보를 이용하여 복수의 차량에 대한 손실 값(loss)을 산출할 수 있다.Referring again to FIG. 3 , in operation S120 , the computing device 100 may calculate a loss value for the plurality of vehicles by using location information on the plurality of vehicles.

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 차량에 대한 복수의 비용 값(cost)를 산출할 수 있고, 산출된 복수의 비용 값을 이용하여 손실 값을 산출할 수 있다. In various embodiments, the computing device 100 may calculate a plurality of cost values for a plurality of vehicles, and may calculate a loss value using the plurality of calculated cost values.

여기서, 복수의 비용 값은 복수의 차량 간의 거리에 기반하여 산출되는 비용 값 및 복수의 차량의 기존 경로와의 차이에 기반하여 산출되는 비용 값을 포함할 수 있다. 예를 들어, 복수의 비용 값은 충돌 비용 값, 시간 비용 값, 오프셋 비용 값 및 오프셋 차분 비용 값을 포함할 수 있다. 그러나, 이에 한정되지 않는다.Here, the plurality of cost values may include a cost value calculated based on a distance between the plurality of vehicles and a cost value calculated based on a difference between the plurality of vehicles and an existing route. For example, the plurality of cost values may include a collision cost value, a time cost value, an offset cost value, and an offset differential cost value. However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 비용 값을 모두 합산하여 손실 값을 산출할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 복수의 비용 값 충돌 비용 값, 시간 비용 값, 오프셋 비용 값 및 오프셋 차분 비용 값인 경우, 충돌 비용 값, 시간 비용 값, 오프셋 비용 값 및 오프셋 차분 비용 값을 합산하여 손실 값을 산출할 수 있다.In various embodiments, the computing device 100 may calculate a loss value by summing all of a plurality of cost values. For example, the computing device 100 sums the collision cost value, the time cost value, the offset cost value, and the offset difference cost value if a plurality of cost values are a collision cost value, a time cost value, an offset cost value, and an offset difference cost value. Thus, the loss value can be calculated.

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 비용 값을 이용하여 손실 값을 산출하되, 산출된 복수의 비용 값 각각에 기 설정된 가중치를 설정할 수 있다.In various embodiments, the computing device 100 may calculate a loss value using a plurality of cost values, but may set a preset weight to each of the plurality of calculated cost values.

다양한 실시예에서, 컴퓨팅 장치(100)는 충돌 비용 값, 시간 비용 값, 오프셋 비용 값 및 오프셋 차분 비용 값 각각에 대하여 가중치를 설정하되, 오프셋 차분 비용 값, 충돌 비용 값, 시간 비용 값 및 오프셋 비용 값 순으로 높은 가중치를 설정할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 오프셋 차분 비용 값의 가중치를 64, 충돌 비용 값의 가중치를 32, 시간 비용 값의 가중치를 4 및 오프셋 비용 값의 가중치를 0.1로 설정할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, computing device 100 sets weights for each of a collision cost value, a time cost value, an offset cost value, and an offset difference cost value, with an offset difference cost value, a collision cost value, a time cost value, and an offset cost. You can set higher weights in the order of values. For example, the computing device 100 may set the weight of the offset differential cost value to 64, the weight of the collision cost value to 32, the weight to the time cost value to 4, and the weight to the offset cost value to 0.1. However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 차량의 손실 값을 산출하기 위하여 손실 함수를 생성할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 충돌 비용 값을 산출하는 충돌 비용 산출 함수, 시간 비용 값을 산출하는 시간 비용 산출 함수, 오프셋 비용 값을 산출하는 오프셋 비용 산출 함수 및 오프셋 차분 비용 값을 산출하는 오프셋 차분 비용 산출 함수를 각각 생성하고, 생성된 충돌 비용 산출 함수, 시간 비용 산출 함수, 오프셋 비용 산출 함수 및 오프셋 차분 비용 산출 함수를 결합하여 손실함수를 생성할 수 있다.In various embodiments, the computing device 100 may generate a loss function to calculate a loss value of the vehicle. For example, the computing device 100 is configured to calculate a collision cost calculation function for calculating a collision cost value, a time cost calculation function for calculating a time cost value, an offset cost calculation function for calculating an offset cost value, and a method for calculating an offset difference cost value The offset difference cost calculation function may be generated, respectively, and the loss function may be generated by combining the generated collision cost calculation function, the time cost calculation function, the offset cost calculation function, and the offset difference cost calculation function.

다양한 실시예에서, 컴퓨팅 장치(100)는 충돌 비용 산출 함수를 생성하여 단위 시간별 차량의 충돌 비용 값을 산출할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 단위 시간별 복수의 차량 각각의 속력 및 시간을 산출하고, 산출된 속력 및 시간에 기초하여 단위 시간별 복수의 차량 각각의 위치를 산출할 수 있다. In various embodiments, the computing device 100 may calculate a collision cost value of a vehicle per unit time by generating a collision cost calculation function. For example, the computing device 100 may calculate the speed and time of each of the plurality of vehicles per unit time, and calculate the position of each of the plurality of vehicles per unit time based on the calculated speed and time.

이후, 컴퓨팅 장치(100)는 단위 시간별 복수의 차량 각각의 위치에 기초하여 단위 시간별 복수의 차량 간의 거리를 산출할 수 있다.Thereafter, the computing device 100 may calculate a distance between the plurality of vehicles per unit time based on the respective positions of the plurality of vehicles per unit time.

이후, 컴퓨팅 장치(100)는 단위 시간별 복수의 차량 간의 거리에 따라 충돌 비용 값을 산출하는 충돌 비용 산출 함수를 생성할 수 있으며, 생성된 충돌 비용 산출 함수를 이용하여 충돌 비용 값을 산출할 수 있다.Thereafter, the computing device 100 may generate a collision cost calculation function that calculates a collision cost value according to the distance between a plurality of vehicles per unit time, and may calculate a collision cost value using the generated collision cost calculation function. .

다양한 실시예에서, 컴퓨팅 장치(100)는 단위 시간별 복수의 차량 간의 거리에 반비례한 크기로 충돌 비용 값을 산출하도록 충돌 비용 산출 함수를 설계할 수 있다.In various embodiments, the computing device 100 may design a collision cost calculation function to calculate a collision cost value with a magnitude inversely proportional to a distance between a plurality of vehicles per unit time.

다양한 실시예에서, 컴퓨팅 장치(100)는 정지 또는 주차되어 있는 차량에게 빠르게 접근하여 충돌하는 경우를 고려하기 위하여, 가중치를 설정할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 복수의 차량 간의 거리를 기준 크기로 분할하여 정규분포화(예: exp(-x) 형태로 정규분포의 그래프 형태와 유사하도록 수치를 계산함)하고, 산출된 충돌 비용 값에 기 설정된 가중치를 부여할 수 있다. 이때, 컴퓨팅 장치(100)는 충돌 비용 값을 산출하는 대상이 되는 제1 차량의 속력을 제1 차량과 인접한 제2 차량의 속력과 제1 차량의 속력의 합으로 나눈 값을 가중치로 설정함으로써, 또는 주차되어 있는 차량에게 빠르게 접근하여 충돌하는 경우의 가중치를 높여줄 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 may set a weight in order to consider a case in which a vehicle collides by rapidly approaching a stopped or parked vehicle. For example, the computing device 100 divides the distance between a plurality of vehicles into a reference size and normalizes the distribution (eg, calculates a numerical value to be similar to the graph form of the normal distribution in the form of exp(-x 2 )), A preset weight may be assigned to the calculated collision cost value. In this case, the computing device 100 sets a value obtained by dividing the speed of the first vehicle, which is the target for calculating the collision cost value, by the sum of the speed of the second vehicle adjacent to the first vehicle and the speed of the first vehicle as a weight, Alternatively, a weight in case of a collision by rapidly approaching a parked vehicle may be increased. However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 시간 비용 산출 함수를 생성하여 차량에 대한 시간 비용 값을 산출할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 기준 시간(예: 실수 1의 값) 대비 각각의 단위 시간의 변화량에 기초하여 시간 비용 값을 산출 시간 비용 산출 함수를 생성할 수 있고, 생성된 시간 비용 산출 함수를 이용하여 복수의 차량에 대한 시간 비용 값을 산출할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 may generate a time cost calculation function to calculate a time cost value for the vehicle. For example, the computing device 100 may generate a time cost calculation function that calculates a time cost value based on a change amount of each unit time compared to a reference time (eg, a value of real number 1), and calculates the generated time cost The function can be used to calculate time cost values for a plurality of vehicles. However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 오프셋 비용 산출 함수를 생성하여 차량에 대한 오프셋 비용 값을 산출할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 단위 시간별 오프셋 좌표 크기의 합(오프셋 좌표 자체의 크기의 합)에 기초하여 오프셋 비용 값을 산출하는 오프셋 비용 산출 함수를 생성할 수 있고, 생성된 오프셋 비용 산출 함수를 이용하여 복수의 차량에 대한 오프셋 비용 값을 산출할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 may calculate an offset cost value for a vehicle by generating an offset cost calculation function. For example, the computing device 100 may generate an offset cost calculation function that calculates an offset cost value based on the sum of the sizes of the offset coordinates per unit time (the sum of the sizes of the offset coordinates themselves), and calculates the generated offset cost. The function may be used to calculate offset cost values for a plurality of vehicles. However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 오프셋 차분 비용 산출 함수를 생성하여 차량에 대한 오프셋 차분 비용 값을 산출할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 단위 시간별로 각 시점 간의 오프셋 좌표 크기의 차분 값에 기초하여 오프셋 차분 비용 값을 산출하는 오프셋 차분 비용 산출 함수를 생성할 수 있고, 생성한 오프셋 차분 비용 산출 함수를 이용하여 복수의 차량에 대한 오프셋 차분 비용 값을 산출할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 may calculate an offset difference cost value for a vehicle by generating an offset difference cost calculation function. For example, the computing device 100 may generate an offset difference cost calculation function that calculates an offset difference cost value based on a difference value of the offset coordinate size between each time point for each unit time, and the generated offset difference cost calculation function can be used to calculate offset difference cost values for a plurality of vehicles. However, the present invention is not limited thereto.

S130 단계에서, 컴퓨팅 장치(100)는 손실 값의 최적화 과정을 수행하여 손실 값을 최적화하는 변수를 획득할 수 있다. In step S130 , the computing device 100 may obtain a variable for optimizing the loss value by performing the process of optimizing the loss value.

다양한 실시예에서, 컴퓨팅 장치(100)는 경사 하강법을 이용하여 손실 값을 최적화하는 변수를 획득할 수 있다.In various embodiments, the computing device 100 may obtain a variable for optimizing a loss value using gradient descent.

여기서, 손실 값을 최적화하는 변수는 S120 단계에서 생성한 손실 함수를 경사 하강법을 이용하여 최적화함으로써 산출되는 값일 수 있으며, 도 6에 도시된 바와 같이 가장 작은 값(예: 충돌 비용 값, 시간 비용 값, 오프셋 비용 값 및 오프셋 차분 비용 값의 합이 가장 작은 값)을 의미할 수 있다. 그러나, 이에 한정되지 않고, 손실 값을 최적화하는 변수를 획득하기 위한 어떠한 방법이든 적용이 가능하다.Here, the variable for optimizing the loss value may be a value calculated by optimizing the loss function generated in step S120 using gradient descent, and as shown in FIG. 6 , the smallest value (eg, collision cost value, time cost) a value in which the sum of the value, the offset cost value, and the offset difference cost value is the smallest). However, the present invention is not limited thereto, and any method for obtaining a variable optimizing the loss value may be applied.

여기서, 경사 하강법과 관련해서는 "An overview of gradient descent optimization algorithms", Sebastian Ruder, 2017, 등 다양한 문헌이 참조될 수 있다. Here, various literatures such as "An overview of gradient descent optimization algorithms", Sebastian Ruder, 2017, etc. may be referred to with respect to gradient descent.

다양한 실시예에서, 컴퓨팅 장치(100)는 경사 하강법을 이용하여 손실 값을 최적화하는 변수를 획득하되, 기 설정된 횟수만큼 손실 값을 최적화하는 변수를 획득하는 과정을 반복 수행하고, 반복 수행하여 획득한 복수의 변수 중 가장 낮은 값을 가지는 변수를 선택할 수 있다.In various embodiments, the computing device 100 obtains a variable for optimizing the loss value using gradient descent, but repeatedly performs the process of obtaining the variable for optimizing the loss value by a preset number of times, and repeatedly performs the acquisition A variable having the lowest value among a plurality of variables may be selected.

S140 단계에서, 컴퓨팅 장치(100)는 S130 단계에서 획득한 변수를 이용하여 복수의 차량 각각에 대한 충돌 회피 경로(예: 도 8 내지 10)를 생성할 수 있다.In operation S140 , the computing device 100 may generate collision avoidance paths (eg, FIGS. 8 to 10 ) for each of the plurality of vehicles by using the variables obtained in operation S130 .

여기서, 충돌 회피 경로는 도 7에 도시된 바와 같이 차량의 속도를 조절하여 기 설정된 주행 경로를 통과하는 시간을 변경하는 시간적(temporal) 회피 경로와 기 설정된 주행 경로를 이탈하여 재 생성된 충돌 회피 경로를 통과하는 공간적(spatial) 회피 경로를 포함할 수 있다.Here, the collision avoidance path includes a temporal avoidance path that changes the time passing through the preset driving path by controlling the speed of the vehicle as shown in FIG. 7 and a collision avoidance path regenerated by deviating from the preset driving path It may include a spatial avoidance path through

다양한 실시예에서, 컴퓨팅 장치(100)는 손실 값을 최적화하여 획득한 변수를 이용하여 충돌 회피를 위한 차량의 오프셋 좌표 및 속력을 산출하고, 충돌 회피를 위한 차량의 오프셋 좌표 및 상기 차량의 속력을 이용하여 단위 시간별 복수의 차량 각각의 충돌 회피 위치 좌표를 생성할 수 있다. 이후, 컴퓨팅 장치(100)는 선형 보간법(linear interpolation) 및 충돌 회피 위치 좌표를 이용하여 복수의 차량 각각에 대한 충돌 회피 경로를 생성할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 calculates the offset coordinates and speed of the vehicle for collision avoidance by using the variables obtained by optimizing the loss value, and calculates the offset coordinates and the speed of the vehicle for collision avoidance. It is possible to generate the collision avoidance position coordinates of each of the plurality of vehicles for each unit time by using the . Thereafter, the computing device 100 may generate a collision avoidance path for each of the plurality of vehicles using linear interpolation and collision avoidance position coordinates. However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 변수를 구성하는 복수의 비용 값(예: 충돌 비용 값, 시간 비용 값, 오프셋 비용 값 및 오프셋 차분 비용 값) 각각의 크기에 기초하여 시간적 충돌 회피 경로 또는 공간적 회피 경로 중 적어도 하나의 충돌 회피 경로를 생성할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 변수를 구성하는 복수의 비용 값 중 시간 비용 값의 크기가 가장 큰 경우, 해당 차량의 충돌 회피 경로를 시간적 충돌 회피 경로로 생성할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 configures a temporal collision avoidance path or At least one collision avoidance path among spatial avoidance paths may be generated. For example, the computing device 100 may generate a collision avoidance path of the corresponding vehicle as a temporal collision avoidance path when a time cost value is the largest among a plurality of cost values constituting a variable. However, the present invention is not limited thereto.

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 차량에 대하여 기 설정된 주행 경로 및 충돌 회피 경로를 출력하는 UI(20)를 사용자 단말(200)(예: 각 차량의 운전자 또는 복수의 차량의 충돌 여부를 모니터링하는 관리자의 단말)로 제공할 수 있다. 예를 들어, 도 9 및 10에 도시된 바와 같이, 컴퓨팅 장치(100)는 복수의 차량 각각에 대하여 기 설정된 주행 경로와 상기의 S110 단계 내지 S140 단계를 거쳐 생성된 충돌 회피 경로를 함께 나타내는 UI(20)를 통해 차량이 기 설정된 경로에 따라 움직이는지, 충돌 가능성에 따라 충돌 회피 경로가 어떤 방향으로 생성되는 지 등의 정보를 제공함으로써, 사용자가 복수의 차량의 움직임을 쉽게 파악하도록 안내할 수 있다.In various embodiments, the computing device 100 displays a UI 20 that outputs preset driving paths and collision avoidance paths for a plurality of vehicles to the user terminal 200 (eg, a driver of each vehicle or collision of a plurality of vehicles). It can be provided to the terminal of the administrator who monitors whether or not. For example, as shown in FIGS. 9 and 10 , the computing device 100 may display a driving path preset for each of a plurality of vehicles and a UI ( 20), by providing information such as whether the vehicle moves according to a preset path and in which direction the collision avoidance path is generated according to the possibility of collision, the user can be guided to easily grasp the movement of a plurality of vehicles. .

다양한 실시예에서, 컴퓨팅 장치(100)는 도 9 및 10에 도시된 바와 같이 차량의 기 설정된 주행 경로와 충돌 회피 경로를 함께 출력할 수 있으며, 이때, 기 설정된 주행 경로와 충돌 회피 경로를 구분하기 용이하도록 서로 다른 색상으로 표시할 수 있다(예: 기 설정된 주행 경로를 흰색으로 표시하고 충돌 회피 경로를 주황색으로 표시할 수 있다).In various embodiments, the computing device 100 may output a preset driving path and a collision avoidance path of the vehicle together as shown in FIGS. 9 and 10 , and in this case, to distinguish the preset driving path from the collision avoidance path It can be displayed in different colors for ease of use (eg, a preset driving route can be displayed in white and a collision avoidance route can be displayed in orange).

전술한 차량의 충돌 회피 경로 생성 방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 차량의 충돌 회피 경로 생성 방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.The above-described method for generating a collision avoidance path of a vehicle has been described with reference to the flowchart shown in the drawings. For the sake of simplicity, the method for generating a collision avoidance path of a vehicle has been described by showing a series of blocks, but the present invention is not limited to the order of the blocks, and some blocks may be performed in an order different from that shown and operated in this specification, or or simultaneously. In addition, new blocks not described in this specification and drawings may be added, or some blocks may be deleted or changed.

또한, 전술한 차량의 충돌 회피 경로 생성 방법은 사람이 직접 탑승하여 운행가능한 자율 주행 차량이나 외부에서 사람에 의해 제어 가능한 RC카와 같이 2차원 움직임을 가지는 차량을 대상을 기준으로 하여 충돌 회피 경로를 생성하는 방법을 서술하고 있으나, 이에 한정되지 않고, 드론과 같이 3차원 움직임을 가지는 객체에도 전술한 차량의 충돌 회피 경로 생성 방법이 적용 가능하며, 드론의 3차원 움직임을 가리키는 3차원 좌표를 이용하여 충돌 회피 경로를 생성할 수 있다.In addition, the above-described method for generating a collision avoidance path for a vehicle generates a collision avoidance path based on a vehicle having two-dimensional motion, such as an autonomous driving vehicle that can be operated by a person directly or an RC car that can be controlled by a human from the outside. However, the method is not limited thereto, and the above-described method for generating a collision avoidance path of a vehicle can be applied to an object having a three-dimensional movement such as a drone, and a collision using three-dimensional coordinates indicating the three-dimensional movement of the drone is used. You can create an escape route.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. As mentioned above, although embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

100 : 차량의 충돌 회피 경로 생성 장치(컴퓨팅 장치)
200 : 사용자 단말
300 : 외부 서버
400 : 네트워크
100: collision avoidance path generation device of the vehicle (computing device)
200: user terminal
300 : external server
400: network

Claims (10)

컴퓨팅 장치에 의해 수행되는 방법에 있어서,
복수의 차량 각각에 기 설정된 주행 경로에 기초하여, 현재 시점을 기준으로 미래의 소정 기간 동안의 상기 복수의 차량에 대한 위치 정보를 얻는 단계;
상기 복수의 차량에 대한 위치 정보를 이용하여 상기 복수의 차량에 대한 손실 값을 산출하는 단계;
상기 손실 값의 최적화 과정을 수행하여 상기 손실 값을 최적화하는 변수를 획득하는 단계; 및
상기 획득된 변수를 이용하여 상기 복수의 차량 각각에 대한 충돌 회피 경로를 생성하는 단계를 포함하는,
차량의 충돌 회피 경로 생성 방법.
A method performed by a computing device, comprising:
obtaining location information on the plurality of vehicles for a predetermined period in the future based on a current time point based on a driving route preset for each of the plurality of vehicles;
calculating a loss value for the plurality of vehicles by using the location information on the plurality of vehicles;
obtaining a variable for optimizing the loss value by performing an optimization process for the loss value; and
generating a collision avoidance path for each of the plurality of vehicles by using the obtained variable;
How to create a collision avoidance path for a vehicle.
제1 항에 있어서,
상기 최적화 과정을 수행하는 단계는,
경사 하강법(Gradient Descent)을 이용하여 상기 손실 값을 최적화하는 변수를 획득하는 단계를 포함하는,
차량의 충돌 회피 경로 생성 방법.
According to claim 1,
The step of performing the optimization process is,
using gradient descent to obtain a variable that optimizes the loss value,
How to create a collision avoidance path for a vehicle.
제1항에 있어서,
상기 복수의 차량에 대한 위치 정보를 얻는 단계는,
상기 복수의 차량 각각의 현재 위치를 가리키는 기준 좌표를 얻는 단계; 및
상기 미래의 소정 기간을 복수의 단위 시간으로 분할하고, 단위 시간별 상기 복수의 차량의 위치 간의 편차를 가리키는 복수의 오프셋(offset) 좌표를 얻는 단계를 포함하는,
차량의 충돌 회피 경로 생성 방법.
According to claim 1,
The step of obtaining location information for the plurality of vehicles includes:
obtaining reference coordinates indicating a current location of each of the plurality of vehicles; and
dividing the predetermined period in the future into a plurality of unit times, and obtaining a plurality of offset coordinates indicating deviations between positions of the plurality of vehicles per unit time,
How to create a collision avoidance path for a vehicle.
제3항에 있어서,
상기 손실 값을 산출하는 단계는,
상기 복수의 차량에 대한 복수의 비용 값을 산출하고, 상기 산출된 복수의 비용 값을 이용하여 상기 손실 값을 산출하되, 상기 산출된 복수의 비용 값 각각에 기 설정된 가중치가 설정되는, 단계를 포함하며,
상기 복수의 비용 값은,
상기 복수의 차량 간의 거리에 기반하여 산출되는 비용 값 및 상기 복수의 차량의 기존 경로와의 차이에 기반하여 산출되는 비용 값을 포함하는,
차량의 충돌 회피 경로 생성 방법.
4. The method of claim 3,
Calculating the loss value comprises:
calculating a plurality of cost values for the plurality of vehicles, calculating the loss value using the plurality of calculated cost values, and setting a preset weight to each of the plurality of calculated cost values; and
The plurality of cost values are
including a cost value calculated based on the distance between the plurality of vehicles and a cost value calculated based on a difference between the plurality of vehicles and an existing route,
How to create a collision avoidance path for a vehicle.
제4항에 있어서,
상기 산출된 복수의 비용 값을 이용하여 상기 손실 값을 산출하는 단계는,
단위 시간별 상기 복수의 차량 각각의 속력 및 시간을 산출하는 단계;
단위 시간별 상기 복수의 차량 각각의 위치를 산출하는 단계;
상기 단위 시간별 복수의 차량 각각의 위치에 기초하여, 단위 시간별 상기 복수의 차량 간의 거리를 산출하는 단계; 및
상기 단위 시간별 복수의 차량 간의 거리에 반비례하도록 상기 복수의 차량에 대한 충돌 비용 값을 산출하는 단계를 포함하는,
차량의 충돌 회피 경로 생성 방법.
5. The method of claim 4,
Calculating the loss value using the plurality of calculated cost values includes:
calculating the speed and time of each of the plurality of vehicles for each unit time;
calculating a location of each of the plurality of vehicles per unit time;
calculating a distance between the plurality of vehicles per unit time based on the positions of the plurality of vehicles per unit time; and
Comprising the step of calculating a collision cost value for the plurality of vehicles to be in inverse proportion to the distance between the plurality of vehicles per unit time,
How to create a collision avoidance path for a vehicle.
제5항에 있어서,
상기 충돌 비용 값을 산출하는 단계는,
상기 복수의 차량 간의 거리를 기준 크기로 분할하여 정규분포화 하는 단계; 및
상기 산출된 충돌 비용 값에 기 설정된 가중치를 부여하는 단계를 포함하며,
상기 가중치는 상기 충돌 비용 값을 산출하는 대상이 되는 제1 차량의 속력을 상기 제1 차량과 인접한 제2 차량의 속력과 상기 제1 차량의 속력의 합으로 나눈 값인,
차량의 충돌 회피 경로 생성 방법.
6. The method of claim 5,
Calculating the collision cost value comprises:
dividing the distance between the plurality of vehicles by a reference size to normalize the distribution; and
Comprising the step of giving a preset weight to the calculated collision cost value,
The weight is a value obtained by dividing the speed of the first vehicle, which is a target for calculating the collision cost value, by the sum of the speed of the second vehicle adjacent to the first vehicle and the speed of the first vehicle,
How to create a collision avoidance path for a vehicle.
제4항에 있어서,
상기 산출된 복수의 비용 값을 이용하여 상기 손실 값을 산출하는 단계는,
기준 시간 대비 각각의 단위 시간의 변화량에 기초하여 상기 복수의 차량에 대한 시간 비용 값을 산출하는 단계;
단위 시간별 상기 오프셋 좌표 크기의 합에 기초하여 상기 복수의 차량에 대한 오프셋 비용 값을 산출하는 단계; 및
단위 시간별로 각 시점 간의 오프셋 좌표 크기의 차분 값에 기초하여 상기 복수의 차량에 대한 오프셋 차분 비용 값을 산출하는 단계를 포함하는,
차량의 충돌 회피 경로 생성 방법.
5. The method of claim 4,
Calculating the loss value using the plurality of calculated cost values includes:
calculating time cost values for the plurality of vehicles based on a change amount of each unit time compared to a reference time;
calculating offset cost values for the plurality of vehicles based on the sum of the offset coordinate sizes for each unit time; and
Comprising the step of calculating the offset difference cost value for the plurality of vehicles based on the difference value of the offset coordinate size between each time point for each unit time,
How to create a collision avoidance path for a vehicle.
제3항에 있어서,
상기 복수의 차량 각각에 대한 충돌 회피 경로를 생성하는 단계는,
상기 손실 값을 최적화하여 충돌 회피를 위한 차량의 오프셋 좌표 및 속력을 산출하는 단계;
상기 충돌 회피를 위한 차량의 오프셋 좌표 및 상기 차량의 속력을 이용하여 단위 시간별 복수의 차량 각각의 충돌 회피 위치 좌표를 생성하는 단계; 및
선형 보간법(linear interpolation) 및 상기 충돌 회피 위치 좌표를 이용하여 상기 복수의 차량 각각에 대한 상기 충돌 회피 경로를 생성하는 단계를 포함하는,
차량의 충돌 회피 경로 생성 방법.
4. The method of claim 3,
The step of generating a collision avoidance path for each of the plurality of vehicles comprises:
calculating offset coordinates and speed of the vehicle for collision avoidance by optimizing the loss value;
generating collision avoidance position coordinates of each of a plurality of vehicles per unit time by using the vehicle's offset coordinates for collision avoidance and the speed of the vehicle; and
generating the collision avoidance path for each of the plurality of vehicles using linear interpolation and the collision avoidance location coordinates;
How to create a collision avoidance path for a vehicle.
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
제1 항의 방법을 수행하는, 장치.
a memory storing one or more instructions; and
a processor executing the one or more instructions stored in the memory;
The processor by executing the one or more instructions,
An apparatus for performing the method of claim 1 .
하드웨어인 컴퓨터와 결합되어, 제1 항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터프로그램.
A computer program stored in a computer-readable recording medium in combination with a computer, which is hardware, to perform the method of claim 1.
KR1020200093173A 2020-01-20 2020-07-27 Method, apparatus and computer program for generating vehicle path to avoid collision KR20210103911A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200093173A KR20210103911A (en) 2020-01-20 2020-07-27 Method, apparatus and computer program for generating vehicle path to avoid collision

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20200007412 2020-01-20
KR1020200018060A KR102140336B1 (en) 2020-01-20 2020-02-14 Method, apparatus and computer program for generating vehicle path to avoid collision
KR1020200093173A KR20210103911A (en) 2020-01-20 2020-07-27 Method, apparatus and computer program for generating vehicle path to avoid collision

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200018060A Division KR102140336B1 (en) 2020-01-20 2020-02-14 Method, apparatus and computer program for generating vehicle path to avoid collision

Publications (1)

Publication Number Publication Date
KR20210103911A true KR20210103911A (en) 2021-08-24

Family

ID=71835003

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200018060A KR102140336B1 (en) 2020-01-20 2020-02-14 Method, apparatus and computer program for generating vehicle path to avoid collision
KR1020200093173A KR20210103911A (en) 2020-01-20 2020-07-27 Method, apparatus and computer program for generating vehicle path to avoid collision

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200018060A KR102140336B1 (en) 2020-01-20 2020-02-14 Method, apparatus and computer program for generating vehicle path to avoid collision

Country Status (1)

Country Link
KR (2) KR102140336B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101304625B1 (en) 2012-06-08 2013-09-05 영남대학교 산학협력단 Apparatus and method for preventing collision of vehicles

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160132789A (en) * 2016-10-31 2016-11-21 도영민 Social Autonomous Driving Apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101304625B1 (en) 2012-06-08 2013-09-05 영남대학교 산학협력단 Apparatus and method for preventing collision of vehicles

Also Published As

Publication number Publication date
KR102140336B1 (en) 2020-07-31

Similar Documents

Publication Publication Date Title
KR102042046B1 (en) An Autonomous System and Method based on Distributed Cloud Environment
US11511422B2 (en) Artificial intelligence server for determining route of robot and method for the same
CN111108343A (en) Information processing apparatus, portable apparatus, information processing method, portable apparatus control method, and program
KR20170071443A (en) Behavior-based distributed control system and method of multi-robot
US20200001173A1 (en) Method and apparatus for driving an application
EP3780578A1 (en) Exposure control device, exposure control method, program, imaging device, and moving body
KR20210057886A (en) Apparatus and method for preventing vehicle collision
KR20190104264A (en) An artificial intelligence apparatus and method for the same
US20220326042A1 (en) Pedestrian trajectory prediction apparatus
US11500386B2 (en) Control apparatus, control method, program, and mobile object
KR20190094313A (en) Robot providing guide service using artificial intelligence and operating method thereof
KR20190098102A (en) Artificial intelligence device for controlling external device
KR20190096854A (en) Artificial intelligence server for controlling a plurality of robots using artificial intelligence
KR102140336B1 (en) Method, apparatus and computer program for generating vehicle path to avoid collision
US11947350B2 (en) Devices, systems, and methods for operating intelligent vehicles using separate devices
KR20190094312A (en) Control system for controlling a plurality of robots using artificial intelligence
Le et al. Artificial potential field for remotely operated vehicle haptic control in dynamic environments
Wopereis et al. Bilateral human-robot control for semi-autonomous UAV navigation
Larkin et al. ATAK Integration through ROS for Autonomous Air-ground Team
US11288840B2 (en) Artificial intelligence apparatus for estimating pose of head and method for the same
Chen et al. Person identification system for UAV
US20240061431A1 (en) Robot system, control device of robot, and control method of robot
JP7271028B2 (en) Monitoring system using monitoring device, monitoring program and flying object
EP4130663A1 (en) Positioning apparatus and method
US20220011856A1 (en) Strapless autonomous extended reality viewer