KR20240018048A - Method and apparatus for optimizing vehicle trajectory - Google Patents

Method and apparatus for optimizing vehicle trajectory Download PDF

Info

Publication number
KR20240018048A
KR20240018048A KR1020220095813A KR20220095813A KR20240018048A KR 20240018048 A KR20240018048 A KR 20240018048A KR 1020220095813 A KR1020220095813 A KR 1020220095813A KR 20220095813 A KR20220095813 A KR 20220095813A KR 20240018048 A KR20240018048 A KR 20240018048A
Authority
KR
South Korea
Prior art keywords
cost
control
trajectory
vehicle
time point
Prior art date
Application number
KR1020220095813A
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 KR1020220095813A priority Critical patent/KR20240018048A/en
Priority to JP2023125664A priority patent/JP2024021071A/en
Priority to US18/363,054 priority patent/US20240043006A1/en
Priority to DE102023120479.3A priority patent/DE102023120479A1/en
Publication of KR20240018048A publication Critical patent/KR20240018048A/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
    • 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/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0013Optimal controllers

Abstract

본 개시는 차량의 궤적을 최적화하는 방법 및 장치에 관한 것이다. 본 개시의 일 실시예는, 기준궤적을 획득하는 단계; 하나 이상의 제어입력에 따른 복수의 예상궤적을 산출하는 단계; 상기 기준궤적, 상기 복수의 예상궤적 및 상기 하나 이상의 제어입력 중 적어도 하나에 기초하여 비용함수를 계산하는 단계; 및 상기 하나 이상의 제어입력 중 상기 비용함수가 최소가 되는 최적 제어입력을 선택하는 단계;를 포함하는 차량의 궤적을 최적화하는 방법을 제공할 수 있다.The present disclosure relates to a method and apparatus for optimizing the trajectory of a vehicle. One embodiment of the present disclosure includes obtaining a reference trajectory; Calculating a plurality of expected trajectories according to one or more control inputs; calculating a cost function based on at least one of the reference trajectory, the plurality of expected trajectories, and the one or more control inputs; and selecting an optimal control input that minimizes the cost function among the one or more control inputs.

Description

차량의 궤적을 최적화하는 방법 및 장치{METHOD AND APPARATUS FOR OPTIMIZING VEHICLE TRAJECTORY}Method and apparatus for optimizing the trajectory of a vehicle {METHOD AND APPARATUS FOR OPTIMIZING VEHICLE TRAJECTORY}

본 개시는 차량의 궤적을 최적화하는 방법 및 장치를 제공한다.The present disclosure provides a method and apparatus for optimizing the trajectory of a vehicle.

정보통신 기술과 차량 산업의 융합으로 인해 빠르게 차량의 스마트화가 진행되고 있다. 스마트화로 인해, 차량은 단순한 기계적 장치에서 스마트카로 진화하고 있으며, 특히 스마트카의 핵심기술로 자율 주행이 주목받고 있다. 자율 주행이란 운전자가 핸들과 가속페달, 브레이크 등을 조작하지 않아도 차량 스스로 목적지까지 찾아가는 기술이다. Smartization of vehicles is rapidly progressing due to the convergence of information and communication technology and the vehicle industry. Due to smartization, vehicles are evolving from simple mechanical devices to smart cars, and in particular, autonomous driving is attracting attention as a core technology for smart cars. Autonomous driving is a technology that allows a vehicle to reach its destination on its own without the driver having to operate the steering wheel, accelerator pedal, or brakes.

자율 주행과 관련된 다양한 부가 기능들이 지속적으로 개발되고 있으며, 각종 데이터를 이용하여 주행 환경을 인지하고 판단하여 자동차를 제어함으로써 탑승자 및 보행자 모두에게 안전한 자율 주행 경험을 제공할 수 있는 방법 및 자율 주행 차량이 타 차량을 인식한 경우에 차량을 제어하는 방법에 대한 연구가 지속적으로 요구되고 있다.Various additional functions related to autonomous driving are continuously being developed, and ways to provide a safe autonomous driving experience to both passengers and pedestrians by controlling the car by recognizing and judging the driving environment using various data and self-driving vehicles Research on how to control a vehicle when other vehicles are recognized is continuously required.

전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.The above-mentioned background technology is technical information that the inventor possessed for deriving the present invention or acquired in the process of deriving the present invention, and cannot necessarily be said to be known art disclosed to the general public before filing the application for the present invention.

본 개시의 목적은 차량의 궤적을 최적화하는 방법 및 장치를 제공하는 데 있다. 본 개시가 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 개시의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 개시의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 개시가 해결하고자 하는 과제 및 장점들은 특허 청구범위에 나타난 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.The purpose of the present disclosure is to provide a method and device for optimizing the trajectory of a vehicle. The problem that the present disclosure aims to solve is not limited to the problems mentioned above, and other problems and advantages of the present disclosure that are not mentioned can be understood through the following description and can be understood more clearly by the examples of the present disclosure. It will be. In addition, it will be appreciated that the problems and advantages to be solved by the present disclosure can be realized by the means and combinations thereof indicated in the patent claims.

본 개시의 제 1 측면은, 기준궤적을 획득하는 단계; 하나 이상의 제어입력에 따른 복수의 예상궤적을 산출하는 단계; 상기 기준궤적, 상기 복수의 예상궤적 및 상기 하나 이상의 제어입력 중 적어도 하나에 기초하여 비용함수를 계산하는 단계; 및 상기 하나 이상의 제어입력 중 상기 비용함수가 최소가 되는 최적 제어입력을 선택하는 단계;를 포함하는 차량을 제어하는 방법을 제공할 수 있다.A first aspect of the present disclosure includes obtaining a reference trajectory; Calculating a plurality of expected trajectories according to one or more control inputs; calculating a cost function based on at least one of the reference trajectory, the plurality of expected trajectories, and the one or more control inputs; and selecting an optimal control input that minimizes the cost function among the one or more control inputs.

본 개시의 제 2 측면은, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 동작하는 프로세서;를 포함하되, 상기 프로세서는, 기준궤적을 획득하고, 하나 이상의 제어입력에 따른 복수의 예상궤적을 산출하고, 상기 기준궤적, 상기 복수의 예상궤적 및 상기 하나 이상의 제어입력 중 적어도 하나에 기초하여 비용함수를 계산하고, 상기 하나 이상의 제어입력 중 상기 비용함수가 최소가 되는 최적 제어입력을 선택하는, 장치를 제공할 수 있다.A second aspect of the present disclosure includes a memory storing at least one program; and a processor operating by executing the at least one program, wherein the processor acquires a reference trajectory, calculates a plurality of expected trajectories according to one or more control inputs, and determines the reference trajectory and the plurality of expected trajectories. and calculating a cost function based on at least one of the one or more control inputs, and selecting an optimal control input that minimizes the cost function among the one or more control inputs.

본 개시의 제 3 측면은, 제 1 측면의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다. A third aspect of the present disclosure may provide a computer-readable recording medium recording a program for executing the method of the first aspect on a computer.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 장치 및 상기 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another device, and a computer-readable recording medium recording a program for executing the method may be further provided.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features and advantages in addition to those described above will become apparent from the following drawings, claims and detailed description of the invention.

전술한 본 개시의 과제 해결 수단에 의하면, 미래의 주행경로를 계획함에 따라 다양한 상황에서도 주행의 안전을 보장할 수 있다.According to the problem-solving means of the present disclosure described above, driving safety can be guaranteed even in various situations by planning a future driving route.

또한, 본 개시의 과제 해결 수단에 의하면, 승차감까지 고려한 핸들 제어입력을 선택하여 차량의 궤적을 최적화할 수 있다.In addition, according to the problem solving means of the present disclosure, the trajectory of the vehicle can be optimized by selecting a steering control input that takes riding comfort into consideration.

도 1 내지 도 3은 일 실시예에 따른 자율 주행 방식을 설명하기 위한 도면들이다.
도 4는 일 실시예에 따른 차량의 궤적을 최적화하는 과정을 개략적으로 도시한 예시도이다.
도 5는 일 실시예에 따른 차량 궤적 최적화 장치가 기준궤적을 획득하는 과정을 설명하기 위한 도면이다.
도 6a 및 도 6b는 일 실시예에 따른 차량 궤적 최적화 장치가 최적 제어입력을 선택하기 위한 예측모델을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 차량 궤적 최적화 장치가 제어주기를 균일하지 않게 설정하는 과정을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 차량의 궤적을 최적화하는 방법의 흐름도이다.
도 9는 일 실시예에 따른 차량의 궤적을 최적화하는 장치의 블록도이다.
1 to 3 are diagrams for explaining an autonomous driving method according to an embodiment.
Figure 4 is an example diagram schematically showing a process for optimizing the trajectory of a vehicle according to an embodiment.
FIG. 5 is a diagram illustrating a process in which a vehicle trajectory optimization device acquires a reference trajectory according to an embodiment.
6A and 6B are diagrams for explaining a prediction model for selecting an optimal control input by a vehicle trajectory optimization device according to an embodiment.
FIG. 7 is a diagram illustrating a process in which a vehicle trajectory optimization apparatus according to an embodiment sets a control cycle non-uniformly.
Figure 8 is a flowchart of a method for optimizing the trajectory of a vehicle according to one embodiment.
Figure 9 is a block diagram of an apparatus for optimizing the trajectory of a vehicle according to an embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments presented below, but can be implemented in various different forms, and should be understood to include all transformations, equivalents, and substitutes included in the spirit and technical scope of the present invention. do. The examples presented below are provided to make the disclosure of the present invention complete and to fully inform those skilled in the art of the scope of the invention. In describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 “가지다” 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. The terms used in this application are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented in various numbers of hardware and/or software configurations that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors, or may be implemented by circuit configurations for certain functions. Additionally, for example, functional blocks of the present disclosure may be implemented in various programming or scripting languages. Functional blocks may be implemented as algorithms running on one or more processors. Additionally, the present disclosure may employ conventional technologies for electronic environment setup, signal processing, and/or data processing. Terms such as “mechanism,” “element,” “means,” and “configuration” may be used broadly and are not limited to mechanical and physical configurations.

또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.Additionally, connection lines or connection members between components shown in the drawings merely exemplify functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various replaceable or additional functional connections, physical connections, or circuit connections.

이하에서, '차량'은 자동차, 버스, 오토바이, 킥보드 또는 트럭과 같이 기관을 가지고 사람이나 물건을 이동시키기 위해 이용되는 모든 종류의 운송 수단을 의미할 수 있다.Hereinafter, 'vehicle' may refer to any type of transportation used to move people or objects with engine, such as a car, bus, motorcycle, kickboard, or truck.

이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the attached drawings.

도 1을 참조하면, 본 발명의 일 실시예에 따른 자율 주행 장치는, 차량에 장착되어 자율 주행 차량(10)을 구현할 수 있다. 자율 주행 차량(10)에 장착되는 자율 주행 장치는, 주변의 상황 정보를 수집하기 위한 다양한 센서(카메라를 포함함)들을 포함할 수 있다. 일례로, 자율 주행 장치는 자율 주행 차량(10)의 전면에 장착된 이미지 센서 및/또는 이벤트 센서를 통해, 전방에서 운행 중인 선행 차량(20)의 움직임을 감지할 수 있다. 자율 주행 장치는 자율 주행 차량(10)의 전면은 물론, 옆 차로에서 운행중인 다른 주행 차량(30)과, 자율 주행 차량(10) 주변의 보행자 등을 감지하기 위한 센서들을 더 포함할 수 있다.Referring to FIG. 1, the autonomous driving device according to an embodiment of the present invention can be mounted on a vehicle to implement an autonomous vehicle 10. The autonomous driving device mounted on the autonomous vehicle 10 may include various sensors (including cameras) to collect surrounding situation information. For example, the autonomous driving device may detect the movement of the preceding vehicle 20 running in front through an image sensor and/or an event sensor mounted on the front of the autonomous vehicle 10. The self-driving device may further include sensors for detecting not only the front of the self-driving vehicle 10, but also other driving vehicles 30 running in the lane next to the self-driving vehicle 10 and pedestrians around the self-driving vehicle 10.

자율 주행 차량 주변의 상황 정보를 수집하기 위한 센서들 중 적어도 하나는, 도 1에 도시한 바와 같이 소정의 화각(FoV)을 가질 수 있다. 일례로, 자율 주행 차량(10)의 전면에 장착된 센서가 도 1에 도시한 바와 같은 화각(FoV)을 갖는 경우에, 센서의 중앙에서 검출되는 정보가 상대적으로 높은 중요도를 가질 수 있다. 이는, 센서의 중앙에서 검출되는 정보에, 선행 차량(20)의 움직임에 대응하는 정보가 대부분 포함되어 있기 때문일 수 있다.At least one of the sensors for collecting situational information around the autonomous vehicle may have a predetermined field of view (FoV), as shown in FIG. 1 . For example, when a sensor mounted on the front of the autonomous vehicle 10 has a field of view (FoV) as shown in FIG. 1, information detected at the center of the sensor may have relatively high importance. This may be because the information detected at the center of the sensor includes most of the information corresponding to the movement of the preceding vehicle 20.

자율 주행 장치는, 자율 주행 차량(10)의 센서들이 수집한 정보를 실시간으로 처리하여 자율 주행 차량(10)의 움직임을 제어하는 한편, 센서들이 수집한 정보 중에 적어도 일부는 메모리 장치에 저장할 수 있다.The self-driving device processes information collected by the sensors of the self-driving vehicle 10 in real time to control the movement of the self-driving vehicle 10, while storing at least some of the information collected by the sensors in a memory device. .

도 2를 참조하면, 자율 주행 장치(40)는 센서부(41), 프로세서(46), 메모리 시스템(47), 및 차체 제어 모듈(48) 등을 포함할 수 있다. 센서부(41)는 복수의 센서(카메라를 포함함)(42-45)를 포함하며, 복수의 센서들(42-45)은 이미지 센서, 이벤트 센서, 조도 센서, GPS 장치, 가속도 센서 등을 포함할 수 있다. Referring to FIG. 2, the autonomous driving device 40 may include a sensor unit 41, a processor 46, a memory system 47, and a vehicle body control module 48. The sensor unit 41 includes a plurality of sensors (including cameras) 42-45, and the plurality of sensors 42-45 include an image sensor, an event sensor, an illumination sensor, a GPS device, an acceleration sensor, etc. It can be included.

센서들(42-45)이 수집한 데이터는 프로세서(46)로 전달될 수 있다. 프로세서(46)는 센서들(42-45)이 수집한 데이터를 메모리 시스템(47)에 저장하고, 센서들(42-45)이 수집한 데이터에 기초하여 차체 제어 모듈(48)을 제어하여 차량의 움직임을 결정할 수 있다. 메모리 시스템(47)은 둘 이상의 메모리 장치들과, 메모리 장치들을 제어하기 위한 시스템 컨트롤러를 포함할 수 있다. 메모리 장치들 각각은 하나의 반도체 칩으로 제공될 수 있다.Data collected by sensors 42-45 may be transmitted to processor 46. The processor 46 stores the data collected by the sensors 42-45 in the memory system 47 and controls the vehicle body control module 48 based on the data collected by the sensors 42-45 to control the vehicle body control module 48. movement can be determined. The memory system 47 may include two or more memory devices and a system controller for controlling the memory devices. Each of the memory devices may be provided as one semiconductor chip.

메모리 시스템(47)의 시스템 컨트롤러 외에, 메모리 시스템(47)에 포함되는 메모리 장치들 각각은 메모리 컨트롤러를 포함할 수 있으며, 메모리 컨트롤러는 신경망과 같은 인공지능(AI) 연산 회로를 포함할 수 있다. 메모리 컨트롤러는 센서들(42-45) 또는 프로세서(46)로부터 수신한 데이터에 소정의 가중치를 부여하여 연산 데이터를 생성하고, 연산 데이터를 메모리 칩에 저장할 수 있다.In addition to the system controller of the memory system 47, each of the memory devices included in the memory system 47 may include a memory controller, and the memory controller may include an artificial intelligence (AI) operation circuit such as a neural network. The memory controller may generate calculation data by assigning a predetermined weight to data received from the sensors 42 - 45 or the processor 46 and store the calculation data in a memory chip.

도 3은 자율 주행 장치가 탑재된 자율 주행 차량의 센서(카메라를 포함함)가 획득한 영상 데이터의 예시를 나타낸 도면이다. 도 3을 참조하면, 영상 데이터(50)는 자율 주행 차량의 전면에 장착된 센서가 획득한 데이터일 수 있다. 따라서 영상 데이터(50)에는 자율 주행 차량의 전면부(51), 자율 주행 차량과 같은 차로의 선행 차량(52), 자율 주행 차량 주변의 주행 차량(53) 및 배경(54) 등이 포함될 수 있다.Figure 3 is a diagram showing an example of image data acquired by sensors (including cameras) of an autonomous vehicle equipped with an autonomous driving device. Referring to FIG. 3, image data 50 may be data acquired by a sensor mounted on the front of an autonomous vehicle. Therefore, the image data 50 may include the front part 51 of the autonomous vehicle, the preceding vehicle 52 in the same lane as the autonomous vehicle, the vehicles 53 and the background 54 around the autonomous vehicle. .

도 3에 도시한 실시예에 따른 영상 데이터(50)에서, 자율 주행 차량의 전면부(51)와 배경(54)이 나타나는 영역의 데이터는 자율 주행 차량의 운행에 영향을 미칠 가능성이 거의 없는 데이터일 수 있다. 다시 말해, 자율 주행 차량의 전면부(51)와 배경(54)은 상대적으로 낮은 중요도를 갖는 데이터로 간주될 수 있다.In the image data 50 according to the embodiment shown in FIG. 3, the data in the area where the front part 51 and the background 54 of the autonomous vehicle appear are data that are unlikely to affect the operation of the autonomous vehicle. It can be. In other words, the front 51 and background 54 of the autonomous vehicle can be considered data with relatively low importance.

반면, 선행 차량(52)과의 거리, 및 주행 차량(53)의 차로 변경 움직임 등은 자율 주행 차량의 안전한 운행에 있어서 매우 중요한 요소일 수 있다. 따라서, 영상 데이터(50)에서 선행 차량(52) 및 주행 차량(53) 등이 포함되는 영역의 데이터는 자율 주행 차량의 운행에 있어서 상대적으로 높은 중요도를 가질 수 있다.On the other hand, the distance to the preceding vehicle 52 and the lane change movement of the driving vehicle 53 may be very important factors in the safe operation of an autonomous vehicle. Accordingly, in the image data 50, data in an area including the preceding vehicle 52 and the driving vehicle 53 may have relatively high importance in the operation of the autonomous vehicle.

자율 주행 장치의 메모리 장치는, 센서로부터 수신한 영상 데이터(50)의 영역별로 가중치를 다르게 부여하여 저장할 수 있다. 일례로, 선행 차량(52)과 주행 차량(53) 등이 포함되는 영역의 데이터에는 높은 가중치를 부여하고, 자율 주행 차량의 전면부(51)와 배경(54)이 나타나는 영역의 데이터에는 낮은 가중치를 부여할 수 있다.The memory device of the autonomous driving device may store the image data 50 received from the sensor by assigning different weights to each region. For example, a high weight is given to data in an area that includes the preceding vehicle 52 and the driving vehicle 53, and a low weight is given to data in an area where the front 51 and background 54 of an autonomous vehicle appear. can be given.

이하에서, 다양한 실시예에 따른 동작들은 자율 주행 장치 또는 자율 주행 장치에 포함된 프로세서에 의해 수행되는 것으로 이해될 수 있다.Hereinafter, operations according to various embodiments may be understood as being performed by the autonomous driving device or a processor included in the autonomous driving device.

도 4는 일 실시예에 따른 차량의 궤적을 최적화하는 과정을 개략적으로 도시한 예시도이다.Figure 4 is an example diagram schematically showing a process for optimizing the trajectory of a vehicle according to an embodiment.

도 4를 참조하면, 본 발명에 따른 차량의 궤적을 최적화하는 환경은 기준궤적(410), 주행정보(420), MPC(Model Predictive Control) 모듈(430), 제어입력(440) 및 차량(450)을 포함할 수 있다.Referring to FIG. 4, the environment for optimizing the trajectory of the vehicle according to the present invention includes a reference trajectory 410, driving information 420, MPC (Model Predictive Control) module 430, control input 440, and vehicle 450. ) may include.

기준궤적(410)은, 차량(450)이 주행해야 할 경로를 의미할 수 있다. 일 실시예에서, 기준궤적(410)은 차량(450)의 출발지에서 목적지까지의 경로에 해당하는 전역경로 및 예상하지 못한 비고정적 장애물을 회피하기 위한 소정의 전방 경로에 해당하는 로컬(local)경로를 포함할 수 있다.The reference trajectory 410 may mean the path along which the vehicle 450 should travel. In one embodiment, the reference trajectory 410 is a global path corresponding to the path from the origin to the destination of the vehicle 450 and a local path corresponding to a predetermined forward path to avoid unexpected non-fixed obstacles. may include.

다른 실시예에서, 기준궤적(410)은 획득한 전역경로 및 로컬경로 중 로컬경로를 속도 프로파일로 보간하여 생성하는 것일 수 있다.In another embodiment, the reference trajectory 410 may be generated by interpolating a local path among the obtained global path and local path with a velocity profile.

후술하는 최적의 제어입력(440) 또는 최적의 궤적이란, 차량(450)이 상기 기준궤적(410)을 벗어남이 없이 주행하기 위한 제어입력 또는 궤적을 의미할 수 있다.The optimal control input 440 or optimal trajectory, which will be described later, may mean a control input or trajectory for the vehicle 450 to drive without deviating from the reference trajectory 410.

일 실시예에서, 기준궤적(410)은 로컬경로를 의미할 수 있다.In one embodiment, the reference trajectory 410 may mean a local path.

주행정보(420)는 차량(450)의 현위치, 현 제어상태, 현재 속도, 수신한 제어입력(440) 등 차량의 주행상태와 관련된 모든 정보를 포함할 수 있다. 주행정보(420)는 차량(450)의 현재의 상태변수를 의미할 수 있다.Driving information 420 may include all information related to the driving state of the vehicle, such as the current location of the vehicle 450, current control status, current speed, and received control input 440. Driving information 420 may mean the current state variable of the vehicle 450.

제어입력(440)은 핸들 조향각을 제어하는 입력을 의미한다. 차량(450)에 제어입력(440)이 입력되면, 핸들을 회전시키기 위한 DC모터와 핸들 조향각을 읽어내기 위한 엔코더(Encoder)가 기어로 연결될 수 있다.Control input 440 refers to an input that controls the steering angle. When the control input 440 is input to the vehicle 450, a DC motor for rotating the steering wheel and an encoder for reading the steering angle may be connected through gears.

MPC 모듈(430)은 차량(450)에 대한 최적의 제어입력(440)을 결정하기 위한 모듈을 의미한다. MPC란 물체의 움직임과 주변 환경 조건을 비용함수에 입력하여 최적화된 제어 명령을 생성하는 최적 제어(Optimal Control)의 한 방법이다. MPC 모듈(430)은 하나 이상의 제어입력에 따른 복수의 예상궤적을 산출하고 비용함수를 계산하여 최적의 제어입력(440)을 선택할 수 있다. MPC 모듈(430)은 최적의 제어입력(440)을 선택함에 있어 iLQR알고리즘(iterative Linear Quadratic Regulator)을 이용할 수 있다.The MPC module 430 refers to a module for determining the optimal control input 440 for the vehicle 450. MPC is a method of optimal control that generates optimized control commands by inputting the movement of an object and surrounding environmental conditions into a cost function. The MPC module 430 can select the optimal control input 440 by calculating a plurality of expected trajectories according to one or more control inputs and calculating a cost function. The MPC module 430 can use the iLQR algorithm (iterative Linear Quadratic Regulator) to select the optimal control input 440.

iLQR 알고리즘은 테일러 근사를 통해 선형 함수가 아닌 것을 선형 함수로, 2차 함수가 아닌 것을 2차 함수로 근사하는 알고리즘으로, 효율적으로 비용 함수를 최적화하여 초기 상태에서 목표 상태까지 최적의 궤적을 계산할 수 있다.The iLQR algorithm is an algorithm that approximates non-linear functions as linear functions and non-quadratic functions as quadratic functions through Taylor approximation. It can calculate the optimal trajectory from the initial state to the target state by efficiently optimizing the cost function. there is.

본 발명에서 차량의 궤적을 최적화하는 장치(이하, '장치')는 차량(450)의 기준궤적(410) 및 주행정보(420)를 획득하여 MPC 모듈(430)을 통해 결정한 제어입력(440)을 차량(450)에 입력할 수 있다. 이하 도 5 내지 도 7에서 장치가 차량의 궤적을 최적화하는 방법을 상세히 설명한다.In the present invention, a device for optimizing the trajectory of a vehicle (hereinafter referred to as 'device') obtains the reference trajectory 410 and driving information 420 of the vehicle 450 and uses a control input 440 determined through the MPC module 430. can be input into the vehicle 450. Hereinafter, the method by which the device optimizes the trajectory of the vehicle will be described in detail in FIGS. 5 to 7.

도 5는 일 실시예에 따른 차량 궤적 최적화 장치가 예상궤적을 산출하는 과정을 설명하기 위한 도면이다.FIG. 5 is a diagram illustrating a process by which a vehicle trajectory optimization device calculates an expected trajectory according to an embodiment.

도 5를 참조하면, 장치는 하나 이상의 제어입력(510)에 따른 복수의 예상궤적(501, 502, 503, 504)을 산출하여 하나 이상의 제어입력(510) 중 최적 제어입력을 선택할 수 있다.Referring to FIG. 5, the device can calculate a plurality of expected trajectories (501, 502, 503, 504) according to one or more control inputs (510) and select the optimal control input among one or more control inputs (510).

일 실시예에서, 장치는 예측 기준수평선(prediction horizon)(520) 및 제어주기(530)를 이용하여 현재 시점을 포함하는 복수의 모델예측 시점을 결정할 수 있다.In one embodiment, the device may determine a plurality of model prediction time points including the current time point using the prediction horizon 520 and the control cycle 530.

예측 기준수평선(520)은 예측하고자 하는 미래 출력 수를 의미하며, 모델이 예측할 수 있는 미래 기간이다. 예측하고자 하는 미래 제어 입력수(Control horizon)에 대응된다.The prediction reference horizon 520 refers to the number of future outputs to be predicted and is the future period that the model can predict. It corresponds to the number of future control inputs (Control horizon) to be predicted.

일 실시예에서, 장치는 제어주기(530)에 기초하여 현재 시점에 해당하는 제0 시점 내지 예측 기준수평선(520)의 마지막 시점에 해당하는 제N 시점을 결정할 수 있다. N은 2 이상의 자연수이며, 제어주기(530)는 각 시점간 간격을 의미한다. 즉, 장치는 현재 시점에 해당하는 제0 시점 내지 예측 기준수평선(520)의 마지막 시점에 해당하는 제N 시점을 제어주기(530)를 간격으로 결정할 수 있다. 이 때, N은 예측 기준수평선(520)을 제어주기(530)로 나눈 자연수에 해당할 수 있다.In one embodiment, the device may determine the 0th time point corresponding to the current time point to the Nth time point corresponding to the last time point of the prediction reference horizon 520 based on the control cycle 530. N is a natural number greater than or equal to 2, and the control cycle 530 refers to the interval between each time point. That is, the device can determine the 0th time point corresponding to the current time point to the Nth time point corresponding to the last time point of the prediction reference horizon 520 at intervals of the control period 530. At this time, N may correspond to a natural number divided by the prediction reference horizon 520 by the control period 530.

장치는 복수의 모델예측 시점에 기초하여 복수의 예상궤적(501, 502, 503, 504)을 산출할 수 있다.The device can calculate a plurality of expected trajectories (501, 502, 503, 504) based on a plurality of model prediction points.

복수의 모델예측 시점에서의 제어입력에 따라 예상궤적이 달라지므로, 장치는 복수의 모델예측 시점 각각에서의 하나 이상의 제어입력(510)을 생성하고, 하나 이상의 제어입력(510)에 따른 복수의 예상궤적(501, 502, 503, 504)을 산출할 수 있다.Since the expected trajectory varies depending on the control input at a plurality of model prediction time points, the device generates one or more control inputs 510 at each of the plurality of model prediction time points, and generates a plurality of predictions according to one or more control inputs 510. Trajectories (501, 502, 503, 504) can be calculated.

일 실시예에서, 장치는 하나 이상의 제어입력(510)을 예측모델에 입력하여 복수의 예상궤적(501, 502, 503, 504)을 생성할 수 있다. 일 실시예에서, iLQR 기반의 MPC 모듈은 반복적인(iterative) 최적화 계산을 통해 비용함수가 최소가 되는 최적 제어입력을 선택할 수 있으며 이 때, 차량의 미래 움직임은 예측모델을 이용하여 파악할 수 있다. 따라서, 이하 도 6a 및 도 6b를 참조하여 일 실시예에 따른 예측모델에 관하여 상세히 설명한다.In one embodiment, the device may generate a plurality of predicted trajectories (501, 502, 503, and 504) by inputting one or more control inputs (510) into a prediction model. In one embodiment, the iLQR-based MPC module can select the optimal control input that minimizes the cost function through iterative optimization calculations, and at this time, the future movement of the vehicle can be identified using a prediction model. Accordingly, the prediction model according to one embodiment will be described in detail below with reference to FIGS. 6A and 6B.

도 6a 및 도 6b는 일 실시예에 따른 차량 궤적 최적화 장치가 최적 제어입력을 선택하기 위한 예측모델을 설명하기 위한 도면이다.6A and 6B are diagrams for explaining a prediction model for selecting an optimal control input by a vehicle trajectory optimization device according to an embodiment.

도 6a는 뒷바퀴 차축에 제어점이 있는 운동학적 자전거 모델(Kinematic Bicycle Model)이고, 도 6b는 앞바퀴 차축에 제어점이 있는 운동학적 자전거 모델이다. 대부분의 차량 주행 속도에서 회전 반지름이 차량의 바퀴보다 훨씬 크기 때문에 자전거 모델을 사용할 수 있다.Figure 6a is a Kinematic Bicycle Model with control points on the rear wheel axle, and Figure 6b is a Kinematic Bicycle Model with control points on the front wheel axle. A bicycle model can be used because at most vehicle speeds the turning radius is much larger than that of the vehicle's wheels.

도 6a를 참조하면, 제어점이 뒷바퀴 차축에 있는 경우, 장치는 순간 회전 중심(ICR, Instantaneous Center of Rotation)을 적용하고, 제어점에 대하여 상태 변화율을 계산할 수 있다. 구체적으로, 장치는 모델 자전거의 회전율, 회전 반지름, 길이 등을 통해 핸들 각도(Steering angle)를 도출하고, 이를 통해 제어점에 대하여 상태 변화율을 계산할 수 있다.Referring to FIG. 6A, when the control point is at the rear axle, the device can apply the Instantaneous Center of Rotation (ICR) and calculate the state change rate with respect to the control point. Specifically, the device can derive the steering angle through the rotation rate, rotation radius, length, etc. of the model bicycle, and calculate the state change rate for the control point through this.

마찬가지로, 도 6b를 참조하면, 제어점이 앞바퀴 차축에 있는 경우에도, 장치는 제어점에 대하여 상태 변화율을 계산할 수 있다. 이때 도 6a에서와 달리 제어점의 차이로 인해 상태 변화율은 달라질 수 있다.Likewise, referring to Figure 6B, the device can calculate the rate of change of state for the control point, even if the control point is on the front axle. At this time, unlike in FIG. 6A, the state change rate may vary due to differences in control points.

이외에도, 예측모델은 제어점이 무게중심에 있는 경우의 운동학적 자전거 모델에 해당할 수 있고, 예측모델은 운동학적 자전거 모델에 제한되지 않는다.In addition, the prediction model may correspond to a kinematic bicycle model when the control point is at the center of gravity, and the prediction model is not limited to the kinematic bicycle model.

도 7은 일 실시예에 따른 차량 궤적 최적화 장치가 제어주기(710, 720)를 균일하지 않게 설정하는 과정을 설명하기 위한 도면이다.FIG. 7 is a diagram illustrating a process in which a vehicle trajectory optimization apparatus according to an embodiment sets the control cycles 710 and 720 non-uniformly.

일 실시예에서, 장치는 제어주기(710, 720)가 균일하지 않게 설정하여, 복수의 모델예측 시점을 결정할 수 있다. 예를 들어, 장치는 기준시간(750)을 결정하고, 기준시간(750)에 기초하여 제어주기(710, 720)를 균일하지 않게 설정할 수 있다.In one embodiment, the device may determine a plurality of model prediction points by setting the control cycles 710 and 720 to be non-uniform. For example, the device may determine the reference time 750 and set the control cycles 710 and 720 non-uniformly based on the reference time 750.

일반적으로 로컬경로(730)의 예측 기준수평선 중 근접한 전방에 대하여는 주행의 안정성을 위하여 더 높은 제어성능이 요구된다. 그러나, 제어주기(710, 720)가 짧아질수록 연산량이 많아지기 때문에 비교적 원거리에 대하여는 제어주기(710, 720)를 짧게 설정하는 것이 효율적이지 않을 수 있다. 따라서 본 실시예에 따르면 초근접 전방에 대해서는 짧은 제어주기(710)로, 이후의 예측 기준수평선에 대하여는 긴 제어주기(720)로 설정하여 합리적인 궤적 최적화를 달성할 수 있다.In general, higher control performance is required for driving stability for the front, which is close to the predicted reference horizon of the local route 730. However, as the control period (710, 720) becomes shorter, the amount of calculation increases, so setting the control period (710, 720) to be short may not be efficient for relatively long distances. Therefore, according to this embodiment, reasonable trajectory optimization can be achieved by setting a short control cycle (710) for the very close ahead and a long control cycle (720) for the future prediction reference horizon.

기준시간(750)은 제어주기(710, 720)가 변경되는 시점을 의미한다. 기준시간(750)은 요구되는 제어성능 및 연상량에 따른 효율성에 기초하여 설정될 수 있다.The reference time 750 refers to the time when the control cycles 710 and 720 are changed. The reference time 750 can be set based on the required control performance and efficiency according to the amount of association.

일 실시예에서, 장치는 비균일 제어주기(710, 720)에 있어서, 기준궤적(730)을 속도 프로파일을 이용하여 재생성할 필요가 있으므로, 기준궤적(730)은, 로컬경로를 속도 프로파일로 보간하여 생성되는 궤적일 수 있다. 예를 들어, 장치는 제 시점에 대한 시간 정보를 계산하고, 제 시점에서 차량이 계산한 시간 정보에 따라 이동할 거리를 계산하고, 해당 거리를 이용하여 기준궤적을 생성할 수 있다. 따라서 기준궤적은 차량의 속도 프로파일이 반영된 궤적일 수 있다.In one embodiment, the device needs to regenerate the reference trajectory 730 using the velocity profile in the non-uniform control cycles 710 and 720, so the reference trajectory 730 interpolates the local path with the velocity profile. It may be a trajectory created by doing so. For example, the device Calculate time information about a point in time, and The distance to be moved can be calculated according to the time information calculated by the vehicle at the starting point, and a reference trajectory can be created using the distance. Therefore, the reference trajectory may be a trajectory that reflects the vehicle's speed profile.

일 실시예에서, 장치는 제어성능이 임계값 이상 요구되는 환경에 진입한 것으로 결정한 것에 응답하여, 기준시간(750)을 조정할 수 있다. 예를 들어, 장치는 차량이 비포장도로와 같이 예상하지 못한 장애물이 많거나, 험한 지형에 진입한 것으로 결정하면, 기준시간(750)을 더 길게 조정할 수 있다. 다른 예를 들어, 장치는 교통량이 매우 많고 혼잡한 도로에 진입한 것으로 결정하면, 기준시간(750)을 더 길게 조정할 수 있다. 이에 따라, 예측 기준수평선 상의 더 먼 시점까지 높은 제어성능을 적용하여 예기치 못한 사고를 예방할 수 있다.In one embodiment, the device may adjust the reference time 750 in response to determining that it has entered an environment where control performance is required above a threshold. For example, if the device determines that the vehicle has many unexpected obstacles, such as a dirt road, or has entered rough terrain, it can adjust the reference time 750 to be longer. As another example, if the device determines that the device has entered a very congested road with very heavy traffic, it may adjust the reference time 750 to be longer. Accordingly, unexpected accidents can be prevented by applying high control performance to a more distant point on the forecast reference horizon.

다른 실시예에서, 장치는 전역경로를 분석하여 제어성능이 임계값 이상 요구되는 전역경로를 주행하는 것으로 판단한 것에 응답하여, 기준시간(750)을 조정할 수 있다. 예를 들어, 장치는 출발지에 출발지에서 목적지까지의 경로에 해당하는 전역경로 분석 시 경로에 비포장도로 또는 험한 지형이 있어, 높은 제어성능이 요구되는 것으로 판단되면, 주행 전에 기준시간(750)을 더 길게 조정할 수 있다.In another embodiment, the device may analyze the global path and adjust the reference time 750 in response to determining that the device is driving a global path requiring control performance above a threshold value. For example, when analyzing the global path corresponding to the route from the departure point to the destination, if the device determines that high control performance is required due to unpaved roads or rough terrain on the route, it adds an additional reference time (750) before driving. It can be adjusted for a long time.

장치는 제0 시점으로부터 기준시간(750)까지는 짧은 제어주기(710)로, 기준시간(750) 이후로부터 제N 시점까지는 긴 제어주기(720)로 설정할 수 있다. 예를 들어, 도 7을 참조하면, 예측 기준수평선의 한 시점인 기준시간(750) 을 기준으로 제어주기(710, 720)가 으로 균일하지 않게 설정된 것을 확인할 수 있다. 따라서 현재 시점인 제0 시점부터 (750)까지는 짧은 제어주기(710)인 간격의 제어입력에 따른 복수의 예상궤적(740)을, (750)부터 제N 시점까지는 긴 제어주기(720)인 간격의 제어입력에 따른 복수의 예상궤적(740)을 산출할 수 있다.The device can be set to a short control cycle (710) from the 0th time point to the reference time (750), and a long control cycle (720) from the reference time (750) to the Nth time point. For example, referring to FIG. 7, reference time 750 is a point in the prediction reference horizon. Based on the control cycle (710, 720) and You can see that it is set unevenly. Therefore, from point 0, which is the current point, Up to (750), the short control cycle (710) is A plurality of expected trajectories (740) according to the control input of the interval, From (750) to the Nth time, there is a long control cycle (720). A plurality of expected trajectories 740 can be calculated according to the control input of the interval.

일 실시예에서, 장치는 제어성능이 임계값 이상 요구되는 환경에 진입하거나, 제어성능이 임계값 이상 요구되는 전역경로를 주행하는 것으로 결정한 것에 응답하여, 상기 제어주기(710, 720)를 조정할 수 있다. 예를 들어, 전술한 바와 같이, 장치는 전역경로가 장애물이 많거나 험한 지형, 또는 혼잡한 도로에 해당하거나, 해당 환경에 진입한 것으로 결정하면, 제어주기(710, 720)를 더 짧게 조정할 수 있다.In one embodiment, the device may adjust the control period 710, 720 in response to entering an environment where control performance is required above a threshold or determining that the device is traveling on a global path where control performance is required above a threshold. there is. For example, as described above, if the device determines that the global path corresponds to a lot of obstacles, rough terrain, or a congested road, or has entered the corresponding environment, the control period 710, 720 can be adjusted to be shorter. there is.

다시 도 5로 돌아와서, 장치는 기준궤적(503), 복수의 예상궤적(501, 502, 503, 504), 하나 이상의 제어입력(510) 중 적어도 하나에 기초하여 비용함수를 계산할 수 있다.Returning to Figure 5, the device may calculate the cost function based on at least one of the reference trajectory 503, a plurality of expected trajectories 501, 502, 503, and 504, and one or more control inputs 510.

하나 이상의 제어입력(510) 중, 비용함수가 최소의 값을 가질 때의 제어 입력을 최적 제어입력으로 결정하므로 비용함수는 차량 궤적을 최적화하는 과정에 있어 어떻게 설정하는지가 매우 중요하다. 따라서 승차감 및 안전성을 모두 보장할 수 있는 비용함수를 설정해야 할 필요가 있다.Among one or more control inputs 510, the control input when the cost function has the minimum value is determined as the optimal control input, so it is very important how the cost function is set in the process of optimizing the vehicle trajectory. Therefore, there is a need to set a cost function that can guarantee both riding comfort and safety.

일 실시예에서, 비용함수는 에러 비용, 입력 비용 및 변화량 비용을 포함할 수 있다.In one embodiment, the cost function may include error cost, input cost, and change cost.

구체적으로, 장치는 에러 비용을 기준궤적(503)에 기초하여 계산할 수 있다. 에러 비용은 차량이 주행해야 하는 기준궤적(503)과 비교하여 실제 주행할 궤적과의 차이에 따른 비용에 해당할 수 있다. 기준궤적(503)과 주행할 궤적이 차이가 많이 나면 운전자 및 보행자 안전에 영향이 있으므로, 안전을 위해서는 기준궤적(503)과의 차이를 최소화하는 방향이 바람직하다. 예를 들어, 장치는 기준궤적(503)과 예상궤적과의 차이에 기초하여 에러 비용을 계산할 수 있다.Specifically, the device may calculate the error cost based on the reference trajectory 503. The error cost may correspond to a cost depending on the difference between the actual trajectory to be driven compared to the reference trajectory 503 along which the vehicle should drive. If there is a large difference between the reference trajectory 503 and the driving trajectory, driver and pedestrian safety is affected, so for safety, it is desirable to minimize the difference with the reference trajectory 503. For example, the device may calculate the error cost based on the difference between the reference trajectory 503 and the expected trajectory.

또한, 장치는 입력 비용을 제어입력에 기초하여 계산할 수 있다. 입력 비용은 제어 입력을 입력함에 따른 비용에 해당할 수 있다. 주행 중 핸들의 조향각을 제어하면 승차감에 영향이 있으므로, 승차감을 위해서는 제어입력을 최소화하는 방향이 바람직하다. 예를 들어, 장치는 제어입력 자체에 기초하여 입력 비용을 계산할 수 있다.Additionally, the device can calculate the input cost based on the control input. The input cost may correspond to the cost of inputting a control input. Since controlling the steering angle of the steering wheel while driving affects ride comfort, it is desirable to minimize control input for ride comfort. For example, the device may calculate the input cost based on the control input itself.

또한, 장치는 변화량 비용을 제어입력의 변화량에 기초하여 계산할 수 있다. 변화량 비용은 핸들의 조향각에 따른 비용에 해당할 수 있다. 핸들의 조향각이 클수록 승차감에 영향이 있으므로, 승차감을 위해서는 제어입력의 변화량을 최소화하는 방향이 바람직하다.Additionally, the device can calculate the change cost based on the change amount of the control input. The change cost may correspond to a cost depending on the steering angle of the steering wheel. Since the larger the steering angle of the steering wheel, the greater the impact on ride comfort, it is desirable to minimize the amount of change in control input for ride comfort.

일 실시예에서, 장치는 상기 에러 비용, 입력 비용 및 변화량 비용 각각의 가중치를 고려하여 비용함수를 계산할 수 있다. 가중치는 주행 안전성 및 승차감 중 어디에 더 큰 비중을 둘 것인가를 고려하여 설정할 수 있다.In one embodiment, the device may calculate the cost function by considering the weights of each of the error cost, input cost, and change cost. The weight can be set by considering which of driving safety and ride comfort to give greater weight to.

일 실시예에서, 에러 비용, 입력 비용 및 변화량 비용의 가중치는 차량의 거동에 따라 적응적으로 변화할 수 있다. 예를 들어, 차량의 속도가 느린 경우와 빠른 경우에 제어입력(510)에 따른 예상궤적(501, 502, 503, 504), 안전성 및 승차감이 달라지므로, 상기 가중치는 상수가 아닌 차량의 속도 등 차량의 거동에 따라 실시간으로 및/또는 적응적으로 변화 가능한 함수일 수 있다.In one embodiment, the weights of the error cost, input cost, and variation cost may adaptively change depending on the vehicle's behavior. For example, the expected trajectory (501, 502, 503, 504) according to the control input 510, safety, and ride comfort are different when the vehicle speed is slow and high, so the weight is not a constant but the vehicle speed, etc. It may be a function that can change in real time and/or adaptively depending on the vehicle's behavior.

일 실시예에서, 비용함수는 제어입력 및/또는 제어입력의 변화량에 관한 제약조건을 더 포함할 수 있다.In one embodiment, the cost function may further include constraints regarding the control input and/or the amount of change in the control input.

일 실시예에서, 장치는 하나 이상의 제어입력(510) 중 최적 제어입력을 선택할 수 있다. 예를 들어, 장치는 예측모델을 통해 복수의 예상궤적을 산출하고, 복수의 예상궤적 각각의 비용함수를 계산하여, 상기 비용함수가 최소가 되는 예상궤적을 최적 예상궤적(501)으로 선택할 수 있다. 이 때, 최적 예상궤적(501)이 산출되는 제어입력이 최적 제어입력에 해당할 수 있다.In one embodiment, the device may select an optimal control input from one or more control inputs 510. For example, the device can calculate a plurality of expected trajectories through a prediction model, calculate a cost function for each of the plurality of expected trajectories, and select the expected trajectory with the minimum cost function as the optimal expected trajectory 501. . At this time, the control input from which the optimal expected trajectory 501 is calculated may correspond to the optimal control input.

한편, 도 4에서 설명한 바와 같이, 장치는 상기 예측모델 및 비용함수를 통해 최적 제어입력을 선택함에 있어 iLQR 알고리즘을 사용할 수 있다.Meanwhile, as described in FIG. 4, the device can use the iLQR algorithm to select the optimal control input through the prediction model and cost function.

일 실시예에서, 장치는 차량의 궤적을 최적화하기 위하여 전술한 단계들을 매 제어주기(530)마다 반복할 수 있다. 예를 들어, 장치는 제M 시점(M은 1 이상 N-1 이하의 자연수)에서 최적 제어입력을 선택한 것에 응답하여, 제(M+1) 시점 내지 제N 시점에서의 제어입력을 삭제할 수 있다. 이에 따라, 장치는 매 시점마다 새로운 최적 제어입력을 선택할 수 있게 되어 뛰어난 제어성능을 발휘할 수 있다.In one embodiment, the device may repeat the steps described above every control cycle 530 to optimize the vehicle's trajectory. For example, in response to selecting the optimal control input at the Mth time point (M is a natural number between 1 and N-1), the device may delete the control input at the (M+1)th to Nth time points. . Accordingly, the device can select a new optimal control input at every time, thereby demonstrating excellent control performance.

도 8은 일 실시예에 따른 차량의 궤적을 최적화하는 방법의 흐름도이다.Figure 8 is a flowchart of a method for optimizing the trajectory of a vehicle according to one embodiment.

도 8에 도시된, 가상 정지선을 생성하는 방법은, 앞서 설명된 실시예들에 관련되므로, 이하 생략된 내용이라 할지라도, 앞서 설명된 내용들은 도 8의 방법에도 적용될 수 있다. The method for generating a virtual stop line shown in FIG. 8 is related to the previously described embodiments, so even if the content is omitted below, the content described above can also be applied to the method of FIG. 8.

도 8에 도시된 동작들은 전술한 자율 주행 장치에 의하여 실행될 수 있다. 구체적으로, 도 8에 도시된 동작들은 전술한 자율 주행 장치에 포함된 프로세서에 의하여 실행될 수 있다. The operations shown in FIG. 8 can be executed by the above-described autonomous driving device. Specifically, the operations shown in FIG. 8 may be executed by a processor included in the above-described autonomous driving device.

단계 810에서, 장치는 기준 궤적을 획득할 수 있다.At step 810, the device may obtain a reference trajectory.

단계 820에서, 장치는 하나 이상의 제어입력에 따른 복수의 예상궤적을 산출할 수 있다.In step 820, the device may calculate a plurality of expected trajectories according to one or more control inputs.

일 실시예에서, 장치는 예측 기준수평선 및 제어주기를 이용하여 현재 시점을 포함하는 복수의 모델예측 시점을 결정할 수 있다.In one embodiment, the device may determine a plurality of model prediction time points, including the current time point, using a prediction reference horizon and a control cycle.

일 실시예에서, 장치는 예측 기준수평선의 현재 시점에 해당하는 제0 시점 내지 예측 기준수평선의 마지막 시점에 해당하는 제N 시점(N은 예측 기준수평선을 제어주기로 나눈 자연수)을 결정할 수 있다.In one embodiment, the device may determine the 0th time point corresponding to the current time point of the prediction reference horizon to the Nth time point corresponding to the last time point of the prediction reference horizon (N is a natural number divided by the prediction reference horizon divided by the control period).

제어입력은 제1 시점 내지 제N 시점 각각에서의 하나 이상의 제어입력일 수 있고, 복수의 예상궤적은, 하나 이상의 제어입력을 예측모델에 입력함에 따라 생성되는 것일 수 있다.The control input may be one or more control inputs at each of the first to Nth time points, and a plurality of predicted trajectories may be generated by inputting one or more control inputs into the prediction model.

일 실시예에서, 장치는 복수의 모델예측 시점에 기초하여 복수의 예상궤적을 산출할 수 있다.In one embodiment, the device may calculate a plurality of expected trajectories based on a plurality of model prediction time points.

단계 830에서, 장치는 기준궤적, 복수의 예상궤적 및 하나 이상의 제어입력 중 적어도 하나에 기초하여 비용함수를 계산할 수 있다.In step 830, the device may calculate a cost function based on at least one of a reference trajectory, a plurality of expected trajectories, and one or more control inputs.

일 실시예에서, 비용함수는 에러 비용, 입력 비용, 변화량 비용을 포함할 수 있다.In one embodiment, the cost function may include error cost, input cost, and change cost.

일 실시예에서, 장치는 기준궤적에 기초하여 에러 비용을 계산하고, 제어입력에 기초하여 입력 비용 및 변화량 비용을 계산하고, 에러 비용, 입력 비용 및 변화량 비용 중 적어도 하나에 기초하여 비용함수를 계산할 수 있다.In one embodiment, the device calculates an error cost based on a reference trajectory, calculates an input cost and a change cost based on a control input, and calculates a cost function based on at least one of the error cost, the input cost, and the change cost. You can.

일 실시예에서, 에러 비용은 기준궤적과 예상궤적과의 차이에 기초하여 계산되고, 변화량 비용은 제어입력의 변화량에 기초하여 계산될 수 있다.In one embodiment, the error cost may be calculated based on the difference between the reference trajectory and the expected trajectory, and the change cost may be calculated based on the change amount of the control input.

일 실시예에서, 비용함수는 에러 비용, 입력 비용 및 변화량 비용 각각의 가중치를 부여하여 계산될 수 있다.In one embodiment, the cost function may be calculated by giving weights to each of the error cost, input cost, and change cost.

단계 840에서, 장치는 하나 이상의 제어입력 중 비용함수가 최소가 되는 최적 제어입력을 선택할 수 있다.In step 840, the device may select the optimal control input with the minimum cost function among one or more control inputs.

일 실시예에서, 장치는 상기 단계 820 내지 단계 840를 매 제어주기마다 반복할 수 있다.In one embodiment, the device may repeat steps 820 to 840 every control cycle.

일 실시예에서, 장치는 제M 시점(M은 1 이상 N-1 이하의 자연수)에서 최적 제어입력을 선택한 것에 응답하여, 제(M+1) 시점 내지 제N 시점에서의 제어입력은 삭제할 수 있다.In one embodiment, in response to selecting the optimal control input at the Mth time point (M is a natural number between 1 and N-1), the control input at the (M+1)th to Nth time points may be deleted. there is.

도 9는 일 실시예에 따른 차량의 궤적을 최적화하는 장치의 블록도이다.Figure 9 is a block diagram of an apparatus for optimizing the trajectory of a vehicle according to an embodiment.

도 9를 참조하면, 장치(900)는 통신부(910), 프로세서(920) 및 DB(1030)를 포함할 수 있다. 도 9의 장치(900)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 9에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다. Referring to FIG. 9, the device 900 may include a communication unit 910, a processor 920, and a DB 1030. In the device 900 of FIG. 9, only components related to the embodiment are shown. Accordingly, those skilled in the art can understand that other general-purpose components may be included in addition to the components shown in FIG. 9.

통신부(910)는 외부 서버 또는 외부 장치와 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(910)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 통신부(910)는 교통정보를 수신하여 주행경로 상의 횡단보도를 인식하는 데에 이용할 수 있다.The communication unit 910 may include one or more components that enable wired/wireless communication with an external server or external device. For example, the communication unit 910 may include at least one of a short-range communication unit (not shown), a mobile communication unit (not shown), and a broadcast receiver (not shown). In one embodiment, the communication unit 910 may receive traffic information and use it to recognize crosswalks on the driving route.

DB(1030)는 장치(900) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(920)의 처리 및 제어를 위한 프로그램을 저장할 수 있다.The DB 1030 is hardware that stores various data processed within the device 900, and can store programs for processing and control of the processor 920.

DB(1030)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.The DB 1030 is a random access memory (RAM) such as dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.

프로세서(920)는 장치(900)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(920)는 DB(1030)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(910), DB(1030) 등을 전반적으로 제어할 수 있다. 프로세서(920)는, DB(1030)에 저장된 프로그램들을 실행함으로써, 장치(900)의 동작을 제어할 수 있다.The processor 920 controls the overall operation of the device 900. For example, the processor 920 can generally control the input unit (not shown), display (not shown), communication unit 910, DB 1030, etc. by executing programs stored in the DB 1030. The processor 920 can control the operation of the device 900 by executing programs stored in the DB 1030.

프로세서(920)는 도 1 내지 도 8에서 상술한 자율 주행 장치의 동작 중 적어도 일부를 제어할 수 있다.The processor 920 may control at least some of the operations of the autonomous driving device described above with reference to FIGS. 1 to 8 .

프로세서(920)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.The processor 920 includes application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, and microcontrollers. It may be implemented using at least one of micro-controllers, microprocessors, and other electrical units for performing functions.

일 실시예로, 장치(900)는 이동성을 가지는 전자 장치일 수 있다. 예를 들어, 장치(900)는 스마트폰, 태블릿 PC, PC, 스마트 TV, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 네비게이션, 카메라가 탑재된 디바이스 및 기타 모바일 전자 장치로 구현될 수 있다. 또한, 장치(900)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 장치로 구현될 수 있다.In one embodiment, device 900 may be a mobile electronic device. For example, the device 900 may be implemented as a smartphone, tablet PC, PC, smart TV, personal digital assistant (PDA), laptop, media player, navigation, device equipped with a camera, and other mobile electronic devices. Additionally, the device 900 may be implemented as a wearable device such as a watch, glasses, hair band, or ring equipped with communication functions and data processing functions.

다른 실시예로, 장치(900)는 차량 내에 임베디드되는 전자 장치일 수 있다. 예를 들어, 장치(900)는 생산 과정 이후 튜닝(tuning)을 통해 차량 내에 삽입되는 전자 장치일 수 있다. 이 경우, 장치(900) 및 상술한 차량(또는 자율 주행 차량)의 위치는 동일할 수 있다.In another embodiment, device 900 may be an electronic device embedded in a vehicle. For example, the device 900 may be an electronic device inserted into a vehicle through tuning after the production process. In this case, the locations of the device 900 and the above-described vehicle (or autonomous vehicle) may be the same.

또 다른 실시예로, 장치(900)는 차량 외부에 위치하는 서버일 수 있다. 서버는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 서버는 차량에 탑재된 장치들로부터 차량의 궤적을 최적화하기 위해 필요한 데이터를 수신하고, 수신한 데이터에 기초하여 차량의 궤적을 최적화할 수 있다.In another embodiment, the device 900 may be a server located outside the vehicle. A server may be implemented as a computer device or a plurality of computer devices that communicate over a network to provide commands, codes, files, content, services, etc. The server may receive data necessary to optimize the trajectory of the vehicle from devices mounted on the vehicle, and optimize the trajectory of the vehicle based on the received data.

또 다른 실시예로, 장치(900)에서 수행되는 프로세스는 이동성을 가지는 전자 장치, 차량 내에 임베디드 되는 전자 장치 및 차량 외부에 위치하는 서버 중 적어도 일부에 의해 수행될 수 있다.In another embodiment, the process performed in the device 900 may be performed by at least some of a mobile electronic device, an electronic device embedded in the vehicle, and a server located outside the vehicle.

본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.Embodiments according to the present invention may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded on a computer-readable medium. At this time, the media includes magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and ROM. , RAM, flash memory, etc., may include hardware devices specifically configured to store and execute program instructions.

한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be designed and configured specifically for the present invention, or may be known and available to those skilled in the art of computer software. Examples of computer programs may include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

일 실시예에 따르면, 본 개시의 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, methods according to various embodiments of the present disclosure may be included and provided in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or between two user devices. It may be distributed in person or online (e.g., downloaded or uploaded). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.Unless there is an explicit order or statement to the contrary regarding the steps constituting the method according to the invention, the steps may be performed in any suitable order. The present invention is not necessarily limited by the order of description of the above steps. The use of any examples or illustrative terms (e.g., etc.) in the present invention is merely to describe the present invention in detail, and unless limited by the claims, the scope of the present invention is limited by the examples or illustrative terms. It doesn't work. Additionally, those skilled in the art will recognize that various modifications, combinations and changes may be made depending on design conditions and factors within the scope of the appended claims or their equivalents.

따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and the scope of the patent claims described below as well as all scopes equivalent to or equivalently changed from the scope of the claims are within the scope of the spirit of the present invention. It will be said to belong to

Claims (11)

차량의 궤적을 최적화하는 방법에 있어서,
(a) 기준궤적을 획득하는 단계;
(b) 하나 이상의 제어입력에 따른 복수의 예상궤적을 산출하는 단계;
(c) 상기 기준궤적, 상기 복수의 예상궤적 및 상기 하나 이상의 제어입력 중 적어도 하나에 기초하여 비용함수를 계산하는 단계; 및
(d) 상기 하나 이상의 제어입력 중 상기 비용함수가 최소가 되는 최적 제어입력을 선택하는 단계;를 포함하는, 방법.
In a method of optimizing the trajectory of a vehicle,
(a) acquiring a reference trajectory;
(b) calculating a plurality of expected trajectories according to one or more control inputs;
(c) calculating a cost function based on at least one of the reference trajectory, the plurality of expected trajectories, and the one or more control inputs; and
(d) selecting an optimal control input that minimizes the cost function among the one or more control inputs.
제 1 항에 있어서,
상기 (b) 단계는,
예측 기준수평선 및 제어주기를 이용하여 현재 시점을 포함하는 복수의 모델예측 시점을 결정하는 단계; 및
상기 복수의 모델예측 시점에 기초하여 상기 복수의 예상궤적을 산출하는 단계;를 더 포함하는, 방법.
According to claim 1,
In step (b),
Determining a plurality of model prediction time points including the current time point using a prediction reference horizon and a control cycle; and
The method further comprising calculating the plurality of expected trajectories based on the plurality of model prediction time points.
제 2 항에 있어서,
상기 복수의 모델예측 시점을 결정하는 단계는,
상기 예측 기준수평선의 현재 시점에 해당하는 제0 시점 내지 상기 예측 기준수평선의 마지막 시점에 해당하는 제N 시점 - 상기 N은 예측 기준수평선을 제어주기로 나눈 2보다 큰 자연수에 해당함 - 을 결정하는 단계;를 포함하되,
상기 하나 이상의 제어입력은, 상기 제0 시점 내지 상기 제N 시점 각각에서의 하나 이상의 제어입력에 해당하고,
상기 복수의 예상궤적은, 상기 하나 이상의 제어입력을 예측모델에 입력함에 따라 생성되는 것인, 방법.
According to claim 2,
The step of determining the plurality of model prediction points is,
determining a 0th time point corresponding to the current time point of the prediction reference horizon to an Nth time point corresponding to the last time point of the prediction reference horizon - where N corresponds to a natural number greater than 2 obtained by dividing the prediction reference horizon by the control period; Including,
The one or more control inputs correspond to one or more control inputs at each of the 0th time point to the Nth time point,
The method wherein the plurality of predicted trajectories are generated by inputting the one or more control inputs into a prediction model.
제 1 항에 있어서,
상기 비용함수를 계산하는 단계는,
상기 기준궤적에 기초하여 에러 비용을 계산하는 단계;
상기 제어입력에 기초하여 입력 비용 및 변화량 비용을 계산하는 단계; 및
상기 에러 비용, 상기 입력 비용 및 상기 변화량 비용 중 적어도 하나에 기초하여 상기 비용함수를 계산하는 단계;를 포함하는, 방법.
According to claim 1,
The step of calculating the cost function is,
calculating an error cost based on the reference trajectory;
calculating an input cost and a change cost based on the control input; and
Comprising the cost function based on at least one of the error cost, the input cost, and the change cost.
제 4 항에 있어서,
상기 에러 비용은,
상기 기준궤적과 상기 예상궤적과의 차이에 기초하여 계산되고,
상기 변화량 비용은,
상기 제어입력의 변화량에 기초하여 계산되는 것인, 방법.
According to claim 4,
The error cost is,
Calculated based on the difference between the reference trajectory and the expected trajectory,
The change cost is,
A method calculated based on the amount of change in the control input.
제 4 항에 있어서,
상기 비용함수는,
상기 에러 비용, 상기 입력 비용 및 상기 변화량 비용 각각의 가중치를 부여하여 계산되는 것인, 방법.
According to claim 4,
The cost function is,
A method that is calculated by giving weights to each of the error cost, the input cost, and the change cost.
제 1 항에 있어서,
상기 복수의 예상궤적을 산출하는 단계는,
상기 하나 이상의 제어입력을 상기 예측모델에 입력하여 상기 복수의 예상궤적을 산출하는 단계;를 더 포함하는, 방법.
According to claim 1,
The step of calculating the plurality of expected trajectories is,
The method further comprising calculating the plurality of expected trajectories by inputting the one or more control inputs into the prediction model.
제 3 항에 있어서,
상기 방법은,
(e) 상기 (b)단계 내지 (d)단계를 매 제어주기마다 반복하는 단계;를 더 포함하는, 방법.
According to claim 3,
The above method is,
(e) repeating steps (b) to (d) at every control cycle.
제 8 항에 있어서,
상기 (d)단계는,
제M 시점에서 최적 제어입력을 선택한 것에 응답하여, 제(M+1) 시점 내지 제N 시점에서의 제어입력은 삭제하는 단계;를 더 포함하되,
상기 M은 1 이상 N-1 이하의 자연수에 해당하는, 방법.
According to claim 8,
In step (d),
In response to selecting the optimal control input at the M-th time point, deleting the control input at the (M+1)-th time point to the N-th time point,
The method wherein M corresponds to a natural number greater than or equal to 1 and less than or equal to N-1.
차량의 궤적을 최적화하는 장치에 있어서,
적어도 하나의 프로그램이 저장된 메모리; 및
상기 적어도 하나의 프로그램을 실행함으로써 동작하는 프로세서;를 포함하되,
상기 프로세서는,
기준궤적을 획득하고,
하나 이상의 제어입력에 따른 복수의 예상궤적을 산출하고,
상기 기준궤적, 상기 복수의 예상궤적 및 상기 하나 이상의 제어입력 중 적어도 하나에 기초하여 비용함수를 계산하고,
상기 하나 이상의 제어입력 중 상기 비용함수가 최소가 되는 최적 제어입력을 선택하는, 장치.
In a device for optimizing the trajectory of a vehicle,
a memory in which at least one program is stored; and
A processor that operates by executing the at least one program;
The processor,
Obtain a reference trajectory,
Calculate multiple expected trajectories according to one or more control inputs,
Calculating a cost function based on at least one of the reference trajectory, the plurality of expected trajectories, and the one or more control inputs,
A device for selecting an optimal control input that minimizes the cost function among the one or more control inputs.
제 1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording a program for executing the method of claim 1 on a computer.
KR1020220095813A 2022-08-02 2022-08-02 Method and apparatus for optimizing vehicle trajectory KR20240018048A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020220095813A KR20240018048A (en) 2022-08-02 2022-08-02 Method and apparatus for optimizing vehicle trajectory
JP2023125664A JP2024021071A (en) 2022-08-02 2023-08-01 Method and device for generating virtual stop line
US18/363,054 US20240043006A1 (en) 2022-08-02 2023-08-01 Method and apparatus for generating virtual stop line
DE102023120479.3A DE102023120479A1 (en) 2022-08-02 2023-08-02 METHOD AND DEVICE FOR GENERATING A VIRTUAL STOP LINE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220095813A KR20240018048A (en) 2022-08-02 2022-08-02 Method and apparatus for optimizing vehicle trajectory

Publications (1)

Publication Number Publication Date
KR20240018048A true KR20240018048A (en) 2024-02-13

Family

ID=89899547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220095813A KR20240018048A (en) 2022-08-02 2022-08-02 Method and apparatus for optimizing vehicle trajectory

Country Status (1)

Country Link
KR (1) KR20240018048A (en)

Similar Documents

Publication Publication Date Title
US10996679B2 (en) Method to evaluate trajectory candidates for autonomous driving vehicles (ADVs)
US10824153B2 (en) Cost design for path selection in autonomous driving technology
US9868393B2 (en) Vehicle accident avoidance system
US11927957B2 (en) Speed behavior planning for vehicles
EP3321757A1 (en) Planning feedback based decision improvement system for autonomous driving vehicle
US10272778B2 (en) Method and system for determining unit gain of speed control for autonomous driving vehicles
KR20190013689A (en) Evaluation Framework for Trajectory Predicted in Autonomous Vehicle Traffic Forecasting
CN111824139A (en) Method for predicting the movement of a moving object associated with an autonomous vehicle
WO2020081565A2 (en) Responsive vehicle control
US10909377B2 (en) Tracking objects with multiple cues
JP2022517428A (en) Vehicle control
CN111857118A (en) Segmenting parking trajectory to control autonomous vehicle parking
US20210181749A1 (en) Method for predicting exiting intersection of moving obstacles for autonomous driving vehicles
CN113494923A (en) Path trajectory planning method and system based on differential dynamic planning
US11634133B1 (en) Adaptive automatic preventative braking (APB) distance
WO2022159261A1 (en) Systems and methods for scenario dependent trajectory scoring
CN113525406A (en) Bayesian global optimization based parameter tuning for vehicle motion controllers
EP4113393A2 (en) Learning-based critic for tuning a motion planner of autonomous driving vehicle
US11618460B1 (en) Predictive planning
EP4198804A1 (en) Simulation obstacle vehicles with driving styles
KR20240018048A (en) Method and apparatus for optimizing vehicle trajectory
KR20240018112A (en) Method and apparatus for optimizing vehicle trajectory
JP7256812B2 (en) How to Realize a Dynamic Cost Function for Autonomous Vehicles
US20240043006A1 (en) Method and apparatus for generating virtual stop line
US20230316910A1 (en) Method and apparatus for controlling vehicle