KR102600515B1 - Method, apparatus, computer-readable storage medium and computer program for generating driving control data - Google Patents
Method, apparatus, computer-readable storage medium and computer program for generating driving control data Download PDFInfo
- Publication number
- KR102600515B1 KR102600515B1 KR1020210086471A KR20210086471A KR102600515B1 KR 102600515 B1 KR102600515 B1 KR 102600515B1 KR 1020210086471 A KR1020210086471 A KR 1020210086471A KR 20210086471 A KR20210086471 A KR 20210086471A KR 102600515 B1 KR102600515 B1 KR 102600515B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- driving
- edge
- learning
- driving control
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 28
- 238000004590 computer program Methods 0.000 title claims description 13
- 230000006870 function Effects 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 10
- 230000002787 reinforcement Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/02—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/408—Radar; Laser, e.g. lidar
-
- B60W2420/42—
-
- B60W2420/52—
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
일 실시예에 따른 엣지 노드와 통신하며, 주행 제어 데이터를 생성하는 장치에 있어서, 상기 장치 주변의 주행 데이터를 획득하는 데이터 획득부; 및 상기 엣지 노드로부터 획득된 엣지 데이터에 기초하여 생성된 제어 신호에 따라, 상기 주행 데이터를 이용하거나 상기 주행 데이터 및 상기 엣지 데이터를 이용하여 주행 제어 데이터를 생성하는 주행 제어 데이터 생성부를 포함할 수 있다.According to an embodiment, a device that communicates with an edge node and generates driving control data includes: a data acquisition unit that acquires driving data around the device; and a driving control data generator that generates driving control data using the driving data or using the driving data and the edge data, according to a control signal generated based on edge data obtained from the edge node. .
Description
본 발명은 주행 제어 데이터 생성 방법, 장치, 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to a method and device for generating driving control data, a computer-readable recording medium, and a computer program.
기계학습 기반 자율 주행 기술은 센서로부터 획득한 데이터를 실시간으로 처리하여 제어를 수행하고 있다.Machine learning-based autonomous driving technology performs control by processing data obtained from sensors in real time.
구체적으로, 엣지 컴퓨팅 환경에서 디바이스(예를 들어, 자율주행 장치)는 엣지 노드에 포함된 센서에서 획득되는 엣지 데이터(또는 연산 자원 데이터)를 수신하여 주행 제어 데이터를 생성할 수 있다.Specifically, in an edge computing environment, a device (eg, autonomous driving device) may generate driving control data by receiving edge data (or computational resource data) obtained from a sensor included in an edge node.
그러나, 엣지 컴퓨팅 환경에서 엣지 노드와 디바이스간의 데이터 동기화는 제한된다. 따라서, 엣지와 디바이스간의 통신이 불안정하거나 네트워크를 포함한 연산 자원의 제약으로 인해, 엣지 노드에 포함된 센서에서 획득되는 엣지 데이터(또는 연산 자원 데이터)는 실시간으로 디바이스(또는 제어 주체)에 전달되지 못하는 경우가 발생될 수 있으며, 이러한 경우에 디바이스(또는 제어 주체)는 업데이트되지 않은 이전 데이터를 기반으로 제어 결정을 내려야만 하였다.However, in an edge computing environment, data synchronization between edge nodes and devices is limited. Therefore, due to unstable communication between the edge and the device or limitations in computational resources, including the network, edge data (or computational resource data) obtained from sensors included in the edge node cannot be delivered to the device (or control subject) in real time. A case may occur, in which case the device (or control subject) had to make a control decision based on previous data that was not updated.
하지만, 디바이스(제어 주체)에서 엣지 노드로부터 엣지 데이터(또는 연산 자원 데이터)를 전달받지 못하여, 업데이트되지 않은 이전 데이터를 기반으로 제어 결정을 수행하는 경우, 디바이스의 제어 성능이 하향되는 문제점이 존재하였다.However, when the device (control subject) does not receive edge data (or computational resource data) from the edge node and makes control decisions based on previous data that has not been updated, there is a problem that the control performance of the device is lowered. .
본 발명의 해결하고자 하는 과제는, 주행 제어 데이터 생성 방법, 장치, 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램을 제공하는 것이다.The problem to be solved by the present invention is to provide a method and device for generating driving control data, a computer-readable recording medium, and a computer program.
또한, 이러한 주행 제어 데이터 생성 방법, 장치, 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램을 통해, 엣지 노드와 디바이스(장치)간의 통신환경이 불안정한 상황에서도 강화학습으로 기 학습된 오케스트레이터를 통해 생성된 제어 신호에 따라 주행 제어 데이터를 생성할 수 있는 것 등이 본 발명의 해결하고자 하는 과제에 포함될 수 있다.In addition, through these driving control data generation methods, devices, computer-readable recording media, and computer programs, control signals are generated through an orchestrator previously learned through reinforcement learning even in situations where the communication environment between the edge node and the device is unstable. Accordingly, the ability to generate driving control data may be included in the problem to be solved by the present invention.
다만, 본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the problems to be solved by the present invention are not limited to those mentioned above, and other problems to be solved that are not mentioned can be clearly understood by those skilled in the art to which the present invention pertains from the description below. will be.
본 발명의 일 실시예에 따른 장치는, 엣지 노드와 통신하며, 주행 제어 데이터를 생성하는 장치에 있어서, 상기 장치 주변의 주행 데이터를 획득하는 데이터 획득부; 및 상기 엣지 노드로부터 획득된 엣지 데이터에 기초하여 생성된 제어 신호에 따라, 상기 주행 데이터를 이용하거나 상기 주행 데이터 및 상기 엣지 데이터를 이용하여 주행 제어 데이터를 생성하는 주행 제어 데이터 생성부를 포함할 수 있다.A device according to an embodiment of the present invention is a device that communicates with an edge node and generates driving control data, comprising: a data acquisition unit that acquires driving data around the device; and a driving control data generator that generates driving control data using the driving data or using the driving data and the edge data, according to a control signal generated based on edge data obtained from the edge node. .
또한, 상기 제어 신호는 상기 엣지 노드에 의해 생성될 수 있다.Additionally, the control signal may be generated by the edge node.
또한, 상기 주행 데이터를 이용하여 제 1 주행 제어 데이터를 생성하는 제 1 오토 인코더; 및 상기 주행 데이터 및 상기 엣지 데이터를 이용하여 제 2 주행 제어 데이터를 생성하는 제 2 오토 인코더를 더 포함하고, 상기 주행 제어 데이터 생성부는, 상기 제어 신호에 따라, 상기 제 1 오토 인코더 및 상기 제 2 오토 인코더 중에서 어느 하나를 이용하여 상기 주행 제어 데이터를 생성할 수 있다.Additionally, a first auto-encoder that generates first driving control data using the driving data; and a second auto-encoder that generates second driving control data using the driving data and the edge data, wherein the driving control data generator generates the first auto-encoder and the second driving control data according to the control signal. The driving control data can be generated using any one of the auto encoders.
또한, 상기 주행 제어 데이터 생성부는, 상기 제어 신호가 상기 제 1 오토 인코더를 이용하여 상기 주행 제어 데이터를 생성한 것을 지시하는 경우, 상기 제 1 오토 인코더를 이용하여 상기 제 1 주행 제어 데이터를 생성하고, 상기 제어 신호가 상기 제 2 오토 인코더를 이용하여 상기 주행 제어 데이터를 생성한 것을 지시하는 경우, 상기 제 2 오토 인코더를 이용하여 상기 제 2 주행 제어 데이터를 생성할 수 있다.In addition, when the control signal indicates that the driving control data is generated using the first auto encoder, the driving control data generator generates the first driving control data using the first auto encoder, and , when the control signal indicates that the driving control data is generated using the second auto encoder, the second driving control data may be generated using the second auto encoder.
또한, 상기 제 1 오토 인코더는, 학습용 주행 데이터와, 상기 학습용 주행 데이터에 대한 레이블 데이터로서, 제 1 정답 주행 제어 데이터를 입력 받으면, 상기 학습용 주행 데이터를 인코딩하여 상기 제 1 정답 주행 제어 데이터를 출력하도록 기 학습되어 있고, 상기 제 2 오토 인코더는, 학습용 엣지 데이터 및 학습용 주행 데이터와, 상기 학습용 엣지 데이터 및 상기 학습용 주행 데이터에 대한 레이블 데이터로서, 제 2 정답 주행 제어 데이터를 입력 받으면, 상기 학습용 엣지 데이터 및 상기 학습용 주행 데이터를 인코딩하여 상기 제 2 정답 주행 제어 데이터를 출력하도록 기 학습되어 있을 수 있다.In addition, when the first autoencoder receives driving data for learning and first correct driving control data as label data for the driving data for learning, it encodes the driving data for learning and outputs the first correct driving control data. It is already trained to do so, and when the second auto encoder receives learning edge data, learning driving data, and second correct driving control data as label data for the learning edge data and learning driving data, the learning edge data It may be previously learned to output the second correct driving control data by encoding data and the learning driving data.
또한, 상기 엣지 노드로부터 상기 엣지 데이터를 수신하여 상기 제어 신호를 생성하는 오케스트레이터를 더 포함할 수 있다.In addition, it may further include an orchestrator that receives the edge data from the edge node and generates the control signal.
또한, 상기 오케스트레이터는, 학습용 엣지 데이터를 입력 받으면, 상기 제 1 오토 인코더 및 상기 제 2 오토 인코더 중 어느 하나를 선택하는 학습용 제어신호가 출력되도록 기 학습되고, 상기 학습용 제어신호와 정답 제어신호와의 차이에 대한 손실함수를 이용하여, 상기 학습용 엣지 데이터를 입력 받으면, 상기 학습용 제어신호가 출력되도록 더 학습될 수 있다.In addition, the orchestrator is pre-trained to output a learning control signal for selecting one of the first auto encoder and the second auto encoder when receiving edge data for learning, and the learning control signal and the correct answer control signal By using a loss function for the difference, when the learning edge data is input, it can be further learned to output the learning control signal.
또한, 상기 데이터 획득부는, 카메라 및 라이다 센서 중 적어도 하나를 이용하여 상기 주행 데이터를 획득할 수 있다.Additionally, the data acquisition unit may acquire the driving data using at least one of a camera and a lidar sensor.
본 발명의 일 실시예에 따른 주행 제어 데이터 생성 방법은, 엣지 노드와 통신하며, 주행 제어 데이터를 생성하는 장치에 의해 수행되는 주행 제어 데이터 생성 방법에 있어서, 상기 장치 주변의 주행 데이터를 획득하는 단계와, 상기 엣지 노드로부터 획득된 엣지 데이터에 기초하여 생성된 제어 신호에 따라, 상기 주행 데이터를 이용하거나, 상기 주행 데이터 및 상기 엣지 데이터를 이용하여 주행 제어 데이터를 생성하는 단계를 포함할 수 있다.A method of generating driving control data according to an embodiment of the present invention is performed by a device that communicates with an edge node and generates driving control data, comprising: acquiring driving data around the device; and generating driving control data using the driving data or using the driving data and the edge data according to a control signal generated based on edge data obtained from the edge node.
또한, 상기 제어 신호는 상기 엣지 노드에 의해 생성될 수 있다.Additionally, the control signal may be generated by the edge node.
또한, 상기 주행 제어 데이터를 생성하는 단계는, 상기 제어 신호에 따라, 상기 주행 데이터를 이용하여 제 1 주행 제어 데이터를 생성하는 제 1 오토 인코더 및 상기 주행 데이터 및 상기 엣지 데이터를 이용하여 제 2 주행 제어 데이터를 생성하는 제 2 오토 인코더 중에서 어느 하나를 이용하여 상기 주행 제어 데이터를 생성할 수 있다.In addition, the step of generating the driving control data includes a first autoencoder that generates first driving control data using the driving data according to the control signal, and a second driving control data using the driving data and the edge data. The driving control data can be generated using any one of the second auto encoders that generate control data.
또한, 상기 제어 신호가 상기 제 1 오토 인코더를 이용하여 상기 주행 제어 데이터를 생성한 것을 지시하는 경우, 상기 제 1 오토 인코더를 이용하여 상기 제 1 주행 제어 데이터를 생성하고, 상기 제어 신호가 상기 제 2 오토 인코더를 이용하여 상기 주행 제어 데이터를 생성한 것을 지시하는 경우, 상기 제 2 오토 인코더를 이용하여 상기 제 2 주행 제어 데이터를 생성할 수 있다.Additionally, when the control signal indicates that the driving control data is generated using the first auto encoder, the first driving control data is generated using the first auto encoder, and the control signal is used to generate the driving control data using the first auto encoder. 2 When indicating that the driving control data is generated using an auto encoder, the second driving control data can be generated using the second auto encoder.
또한, 상기 제 1 오토 인코더는, 학습용 주행 데이터와, 상기 학습용 주행 데이터에 대한 레이블 데이터로서, 제 1 정답 주행 제어 데이터를 입력 받으면, 상기 학습용 주행 데이터를 인코딩하여 상기 제 1 정답 주행 제어 데이터를 출력하도록 기 학습되어 있고, 상기 제 2 오토 인코더는, 학습용 엣지 데이터 및 학습용 주행 데이터와, 상기 학습용 엣지 데이터 및 상기 학습용 주행 데이터에 대한 레이블 데이터로서, 제 2 정답 주행 제어 데이터를 입력 받으면, 상기 학습용 엣지 데이터 및 상기 학습용 주행 데이터를 인코딩하여 상기 제 2 정답 주행 제어 데이터를 출력하도록 기 학습되어 있을 수 있다.In addition, when the first autoencoder receives driving data for learning and first correct driving control data as label data for the driving data for learning, it encodes the driving data for learning and outputs the first correct driving control data. It is already trained to do so, and when the second auto encoder receives learning edge data, learning driving data, and second correct driving control data as label data for the learning edge data and learning driving data, the learning edge data It may be previously learned to output the second correct driving control data by encoding data and the learning driving data.
또한, 상기 상기 엣지 노드로부터 엣지 데이터를 수신하여 상기 제어 신호를 생성하는 단계를 더 포함할 수 있다.Additionally, the method may further include receiving edge data from the edge node and generating the control signal.
또한, 상기 제어 신호를 생성하는 단계는, 학습용 엣지 데이터를 입력 받으면, 상기 제 1 오토 인코더 및 상기 제 2 오토 인코더 중 어느 하나를 선택하는 학습용 제어신호가 출력되도록 기 학습되고, 상기 학습용 제어신호와 정답 제어신호와의 차이에 대한 손실함수를 이용하여, 상기 학습용 엣지 데이터를 입력 받으면, 상기 학습용 제어신호가 출력되도록 더 학습되는 오케스트레이터를 이용하여 상기 제어 신호를 생성할 수 있다.In addition, the step of generating the control signal is pre-trained so that when learning edge data is input, a learning control signal for selecting one of the first auto encoder and the second auto encoder is output, and the learning control signal and By using a loss function for the difference from the correct answer control signal, when the learning edge data is input, the control signal can be generated using an orchestrator that is further trained to output the learning control signal.
또한, 상기 주행 데이터를 획득하는 단계는, 카메라 및 라이다 센서 중 적어도 하나를 이용하여 상기 주행 데이터를 획득할 수 있다.Additionally, in the step of acquiring the driving data, the driving data may be acquired using at least one of a camera and a LiDAR sensor.
본 발명의 실시예에 따른 장치에 의하면, 엣지 노드와 장치간의 통신이 원활하지 않거나 제한된 환경에서도 적합한 제어 신호가 생성되어, 생성된 제어 신호에 따라 장치에서 획득한 주행 데이터를 이용하거나, 주행 데이터 및 엣지 노드로부터 획득된 엣지 데이터를 이용하여 주행 제어 데이터를 생성할 수 있다.According to the device according to an embodiment of the present invention, a suitable control signal is generated even in an environment where communication between an edge node and the device is not smooth or limited, and the driving data obtained from the device is used according to the generated control signal, or the driving data and Driving control data can be generated using edge data obtained from edge nodes.
또한, 본 발명의 실시예에 따른 장치는, 엣지 컴퓨팅을 기반으로 작동하는 로봇, 자율 주행 드론 및 스마트 팩토리 등에 사용될 수 있다.Additionally, devices according to embodiments of the present invention can be used in robots, autonomous drones, and smart factories that operate based on edge computing.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the effects that can be obtained from 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 description below. You will be able to.
도 1은 엣지 노드와 장치간의 통신환경을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 장치의 구성도이다.
도 3은 본 발명의 다른 실시에에 따른 장치를 나타낸 구성도이다.
도 4는 본 발명의 실시예에 따른 오케스트레이터를 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 오케스트레이터의 강화학습을 설명하기 위한 도면이다
도 6a 및 도 6b는 본 발명의 실시예에 따른 장치에 의해 주행 제어 데이터가 생성되는 것을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 주행 제어 데이터 생성 방법의 절차에 대한 예시적인 순서도이다.Figure 1 is a diagram to explain the communication environment between an edge node and a device.
Figure 2 is a configuration diagram of a device according to an embodiment of the present invention.
Figure 3 is a configuration diagram showing a device according to another embodiment of the present invention.
Figure 4 is a diagram for explaining an orchestrator according to an embodiment of the present invention.
Figure 5 is a diagram for explaining reinforcement learning of an orchestrator according to an embodiment of the present invention.
FIGS. 6A and 6B are diagrams to explain how driving control data is generated by a device according to an embodiment of the present invention.
7 is an exemplary flowchart of the procedure of a method for generating driving control data according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to be understood by those skilled in the art. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing embodiments of the present invention, if a detailed description of a known function or configuration is judged to unnecessarily obscure the gist of the present invention, the detailed description will be omitted. The terms described below are terms defined in consideration of functions in the embodiments of the present invention, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification.
도 1은 엣지 노드와 장치간의 통신환경을 설명하기 위한 도면이다.Figure 1 is a diagram to explain the communication environment between an edge node and a device.
도 1을 참조하면, 엣지 노드(10)는 센서(미도시)를 포함하며, 센서를 통해 엣지 데이터를 획득하고, 획득된 엣지 데이터를 장치(또는 디바이스)(100)에 전송할 수 있다.Referring to FIG. 1, the
예를 들어, 엣지 노드(10)는 레이더를 포함하고, 레이더를 이용하여 엣지 데이터를 획득하고, 레이더를 이용하여 획득된 엣지 데이터를 장치(100)에 전송할 수 있다.For example, the
장치(또는 디바이스)(100)는 센서(미도시)를 포함하며, 센서를 통해 장치(100) 주변의(또는 장치와 소정거리 이내의) 주행 데이터를 획득할 수 있다. 예를 들어, 장치(100)는 카메라 또는 라이다 센서를 포함하고, 카메라 또는 라이다를 이용하여 장치와 소정거리 이내의 주행 데이터를 획득할 수 있다. 예를 들어, 장치(100)는 자율 주행 장치로서, 예컨대, 자율 주행 드론 또는 자율 주행 자동차를 포함할 수 있다.The apparatus (or device) 100 includes a sensor (not shown), and can obtain driving data around the apparatus 100 (or within a predetermined distance from the apparatus) through the sensor. For example, the
여기서, 주행 데이터는 장치(100)와 소정 거리 이내의 장애물에 관한 라이다 데이터 및 영상 데이터 중 적어도 하나일 수 있다.Here, the driving data may be at least one of LiDAR data and image data regarding obstacles within a predetermined distance from the
장치(100)는 엣지 노드(10)에서 획득된 엣지 데이터를 전달받을 수 있다. 여기서, 장치(100)가 엣지 노드(10)로부터 전달받는 엣지 데이터는 장치의 주행 제어 데이터 생성에 사용되는 연산 자원 데이터일 수 있으며, 장치(100)는 엣지 노드(10)로부터 전달받는 엣지 데이터를 이용하여 주행 제어 데이터를 생성할 수 있다. 여기서, 주행 제어 데이터는 장치(100)를 자율 주행하기 위한 제어 데이터일 수 있다.The
하지만, 엣지 노드(10)와 장치(100)간의 통신이 불안정한 경우(또는 통신 네트워크가 불안정한 경우), 장치(100)는 엣지 노드(10)에서 획득된 엣지 데이터를 전달받지 못하고, 이에 따라 주행 제어 데이터를 생성하는데 문제가 발생할 수 있다.However, when the communication between the
이에 따라, 본 발명의 일 실시예에 따른 장치(100)는 엣지 노드(10)와 장치(100)간의 통신이 원활하지 않거나 제한된 환경에서도 적합한 제어 신호가 생성되어, 생성된 제어 신호에 따라 장치(100)에서 획득한 주행 데이터를 이용하거나, 주행 데이터 및 엣지 노드(10)로부터 획득된 엣지 데이터를 이용하여 주행 제어 데이터를 생성할 수 있다. 이하, 본 발명의 일 실시에에 따른 장치(100)을 도 2를 통해 상세히 설명하도록 한다. Accordingly, the
도 2는 본 발명의 일 실시예에 따른 장치의 구성도이다.Figure 2 is a configuration diagram of a device according to an embodiment of the present invention.
도 2를 참조하면, 일 실시예에 따른 장치(100)는 데이터 획득부(110), 제 1 오토 인코더(120), 제 2 오토 인코더(130), 주행 제어 데이터 생성부(140) 및 오케스트레이터(150)를 포함할 수 있다.Referring to FIG. 2, the
데이터 획득부(110)는, 장치(100) 주변의 주행 데이터를 획득할 수 있다. 예를 들어, 데이터 획득부(110)는 카메라 및 라이다 센서 중 적어도 하나를 이용하여 주행 데이터를 획득할 수 있다.The
여기서, 주행 데이터는 장치(100)와 소정 거리 이내의 장애물에 관한 라이다 데이터 및 영상 데이터 중 적어도 하나일 수 있다.Here, the driving data may be at least one of LiDAR data and image data regarding obstacles within a predetermined distance from the
제 1 오토 인코더(120)는 주행 데이터를 이용하여 제 1 주행 제어 데이터를 생성할 수 있다. 보다 상세히, 제 1 오토 인코더(120)는 학습용 주행 데이터와, 학습용 주행 데이터에 대한 레이블 데이터로서, 제 1 정답 주행 제어 데이터를 입력 받으면, 학습용 주행 데이터를 인코딩하여 제 1 정답 주행 제어 데이터를 출력하도록 기 학습되어 있을 수 있다.The
제 2 오토 인코더(130)는 주행 데이터 및 엣지 데이터를 이용하여 제 2 주행 데이터를 생성할 수 있다. 보다 상세히, 제 2 오토 인코더(130)는 학습용 엣지 데이터 및 학습용 주행 데이터와, 학습용 엣지 데이터 및 학습용 주행 데이터에 대한 레이블 데이터로서, 학습용 엣지 데이터 및 학습용 주행 데이터를 인코딩하여 제 2 정답 주행 제어 데이터를 출력하도록 기 학습되어 있을 수 있다.The
주행 제어 데이터 생성부(140)는 엣지 노드로부터 획득된 엣지 데이터에 기초하여 생성된 제어 신호에 따라, 주행 데이터를 이용하거나 주행 데이터 및 엣지 데이터를 이용하여 주행 제어 데이터를 생성할 수 있다.The driving
보다 상세히, 주행 제어 데이터 생성부(140)는 생성된 제어 신호에 따라 제 1 오토 인코더(120) 및 제 2 오토 인코더(130) 중에서 어느 하나를 이용하여 주행 제어 데이터를 생성할 수 있다. In more detail, the driving
예를 들어, 주행 제어 데이터 생성부(140)는 생성된 제어 신호가 제 1 오토 인코더(120)를 이용하여 주행 제어 데이터를 생성한 것을 지시하는 경우, 제 1 오토 인코더(120)를 이용하여 제 1 주행 제어 데이터를 생성하고, 생성된 제어 신호가 제 2 오토 인코더(130)를 이용하여 주행 제어 데이터를 생성한 것을 지시하는 경우, 제 2 오토 인코더(130)를 이용하여 제 2 주행 제어 데이터를 생성할 수 있다.For example, when the generated control signal indicates that the driving control data is generated using the
오케스트레이터(150)는 엣지 노드(10)로부터 엣지 데이터를 수신하여 제어 신호를 생성할 수 있다.The
일 실시예로서, 오케스트레이터(150)는 학습용 엣지를 입력 받으면, 제 1 오토 인코더 및 제 2 오토 인코더 중 어느 하나를 선택하는 학습용 제어신호가 출력되도록 기 학습되고, 학습용 제어신호와 정답 제어신호와의 차이에 대한 손실함수를 이용하여, 학습용 엣지 데이터를 입력 받으면, 학습용 제어신호가 출력되도록 더 학습되어 있을 수 있다.As an embodiment, the
도 3은 본 발명의 다른 실시에에 따른 장치(100)를 나타낸 구성도이다. Figure 3 is a configuration diagram showing a
도 3을 참조하면, 본 발명의 다른 실시예에 따른 장치(100)는 오케스트레이터(150)를 포함하지 않을 수도 있으며, 이 경우, 다른 실시예에 따른 장치(100)는 통신부(미도시)에서 엣지 노드(10)에 포함된 오케스트레이터(30)에서 생성된 제어 신호를 수신할 수 있다.Referring to FIG. 3, the
이하, 오케스트레이터에 대하여 도 4 및 도 5를 참조하여 보다 상세히 설명하도록 한다. 여기서, 도 4 및 도 5를 참조한 설명에 기재되는 오케스트레이터는 장치(100)에 포함되는 오케스트레이터(150) 및 엣지 노드(10)에 포함되는 오케스트레이터(30) 중 어느 하나일 수 있다.Hereinafter, the orchestrator will be described in more detail with reference to FIGS. 4 and 5. Here, the orchestrator described in the description with reference to FIGS. 4 and 5 may be either the orchestrator 150 included in the
도 4는 본 발명의 실시예에 따른 오케스트레이터를 설명하기 위한 도면이다.Figure 4 is a diagram for explaining an orchestrator according to an embodiment of the present invention.
도 4를 참조하면, 오케스트레이터는 엣지 노드(10)로부터 획득된 엣지 데이터에 기초하여 제어 신호를 생성할 수 있다. 여기서, 제어 신호는 장치(100)에서 주행 제어 데이터를 생성하는 방법을 칭한다.Referring to FIG. 4, the orchestrator may generate a control signal based on edge data obtained from the
이러한, 오케스트레이터는 엣지 노드(10)로부터 수신한 엣지 데이터의 활용여부가 다수의 제어 신호 중 가장 최적화된 제어 신호를 선택하도록 강화학습 기반으로 기 학습될 수 있다.The orchestrator may be pre-trained based on reinforcement learning to select the most optimized control signal among a plurality of control signals to determine whether to utilize the edge data received from the
보다 상세히, 일 실시예에 따른 오케스트레이터에서 제어 신호를 생성하도록 강화학습 하는 방법에 대하여 설명하도록 한다.In more detail, a method of reinforcement learning to generate a control signal in an orchestrator according to an embodiment will be described.
먼저, (1) 오케스트레이터(Orchestrator)는 MDP(Markov Decision Process)를 수행하는 하위 제어신호(control policy) 를 생성한다. First, (1) the orchestrator is a low-level control signal (control policy) that performs MDP (Markov Decision Process) creates .
(2) 하위 제어신호 를 통해, 최적 상태 분포를 따르는 상태 s의 샘플 를 수집한다.(2) Lower control signal Through, samples of state s follow the optimal state distribution Collect.
(3) 샘플 로 오토 인코더(제 1 오토 인코더 또는 제 2 오토 인코더) 를 학습하여, 잠재 변수 z와 s의 사상(map) 를 획득한다.(3) Sample Raw autoencoder (first autoencoder or second autoencoder) By learning, the map of latent variables z and s obtain.
(4) 각 업데이트 주기에 대응하는 사영함수(projection map) 를 통해 t시간 상태 에 대응하는 임의의 관측 값 를 생성하고, 신경망 를 에 대응하도록 오토 인코더(제 1 오토 인코더 또는 제 2 오토 인코더)를 지도 학습(supervised learning)한다. (4) Projection map corresponding to each update cycle t through time state A random observation corresponding to and create a neural network cast Supervised learning is performed on the autoencoder (first autoencoder or second autoencoder) to respond to .
(5) 잠재 변수 z를 관측하여, 액션 a를 취하는 제어 신호 를 생성한다. (5) Control signal to observe latent variable z and take action a creates .
(6) 최종적으로 제어 신호 를 획득 수 있다.(6) Finally, control signal can be obtained.
다른 실시예에 따른 오케스트레이터에서 제어 신호를 생성하도록 강화학습 하는 방법에 대하여 설명하도록 한다.A method of reinforcement learning to generate a control signal in an orchestrator according to another embodiment will be described.
먼저, (1) 오케스트레이터(Orchestrator)는 엣지 데이터와 장치(100)에서 획득된 주행 데이터를 이용하여 생성된 제어 신호를 학습한다.First, (1) the orchestrator learns the control signal generated using edge data and driving data acquired from the
(2) 이후, 학습된 제어 신호를 통해 관측된 데이터(엣지 데이터 및 주행 데이터)의 샘플()을 획득한다.(2) Afterwards, samples of data (edge data and driving data) observed through the learned control signal ( ) to obtain.
(3) 관측된 샘플()을 통해 오토 인코더(제 1 오토 인코더 또는 제 2 오토 인코더)를 학습한다. (3) observed samples ( ) to learn the auto encoder (first auto encoder or second auto encoder).
(4) (3) 단계에서 학습된 오토 인코더를 이용하여 엣지 데이터의 일부(혹은 전부)를 제거한 데이터()와, 관측의 인코딩 결과(관측된 샘플을 오토 인코더에 입력하여 인코딩된 출력값, )을 레이블로 하여 오토 인코더를 지도 학습(supervised learning)한다.(4) Data from which part (or all) of the edge data was removed using the auto encoder learned in step (3) ( ), and the encoding result of the observation (output value encoded by inputting the observed sample into the autoencoder, ) is used as a label to perform supervised learning on the autoencoder.
(5) (4)지도 학습 결과로서, 오토 인코더 학습 모델()을 획득한다.(5) (4) As a supervised learning result, an autoencoder learning model ( ) to obtain.
(6) 엣지 데이터를 수신하는데 지연되지 않는 환경에서 학습모델을 이용하여 인코딩한 결과인를 관찰 결과 정책 를 강화학습으로 학습한다. 즉, 는 인코딩 결과 를 입력 받아, 행동 를 추론할 수 있다.( )(6) Learning model in an environment with no delay in receiving edge data The result of encoding using Observe Result Policy Learn with reinforcement learning. in other words, is the encoding result Take input and act can be inferred.( )
마지막으로, (7) (5)단계에서 획득한 지도 학습 결과 와, 를 학습하여 제어 정책을 획득하는 방식으로 학습할 수 있다. 이때, 오토 인코더의 인코딩 결과를 에 전달하여 행동을 추론할 수 있다. 또한, 주행 데이터만을 이용하여 인코딩을 수행하여 행동 를 추론할 수 있다.Finally, (7) the supervised learning results obtained in step (5) and, It can be learned by learning to obtain a control policy. At this time, the encoding result of the auto encoder is You can infer behavior by passing it to . In addition, encoding is performed using only driving data to take action. can be inferred.
도 5는 본 발명의 실시예에 따른 오케스트레이터의 강화학습을 설명하기 위한 도면이다Figure 5 is a diagram for explaining reinforcement learning of an orchestrator according to an embodiment of the present invention.
도 5를 참조하면, 오케스트레이터(Orchestrator)는 엣지 노드와 연결될 때만, 제어 정책을 선택할 수 있기 때문에 샘플 효율성이 떨어지므로 모델 환경과 시뮬레이터 환경에서 각각 학습을 수행할 수 있다.Referring to FIG. 5, the orchestrator can select a control policy only when connected to an edge node, which reduces sample efficiency, so learning can be performed in a model environment and a simulator environment, respectively.
이때, 오케스트레이터의 학습은 엣지 노드(10)로부터 엣지 데이터를 수신하는데 지연(delay)이 없는 환경에서 학습을 수행해야 하는데, 이러한 이유는 엣지 데이터를 수신하는데 지연이 있는 상태로 학습을 수행하게 되면, 강화학습 환경의 수학적 모델인 MDP(Markov Decision Process) 혹은 POMDP(Partial Observability MDP)를 만족하지 않으므로 학습이 제대로 수행되지 못하기 때문이다.At this time, the learning of the orchestrator must be performed in an environment where there is no delay in receiving edge data from the
또한, 엣지 노드(10)로부터 엣지 데이터를 수신하는데 지연(delay)이 없는 환경에서 오케스트레이터의 학습이 수행될 경우, SAC(Soft Actor Critic)와 PPO(Proximal Policy Optimization) 등 여러 강화학습 알고리즘을 효과적으로 사용할 수 있다.In addition, when learning of the orchestrator is performed in an environment where there is no delay in receiving edge data from the
한편, 오케스트레이터의 시간이 업데이트에만 이루어지므로, 오케스트레이터의 학습은 평균 지연시간만큼 늦어지는 문제가 있다. 이를 위해 데이터 효율성을 위한 모델 기반 학습을 도입한다. 일반적인 모델기반 학습은 모델 편향 문제가 있으므로, 연합학습(Federated Learning)의 기법을 차용한 집계 정책(Aggregated policy) 기술을 도입한다. 이러한 집계 정책은, 모델기반 학습으로부터 얻어진 정책의 파라미터와 모델 자유(model free) 학습으로 붙어 얻어진 파라미터의 가중 평균으로 획득될 수 있다.On the other hand, since the orchestrator's time is limited to updates, there is a problem that the orchestrator's learning is delayed by the average delay time. To this end, model-based learning is introduced for data efficiency. Since general model-based learning has a model bias problem, aggregated policy technology borrowed from federated learning techniques is introduced. This aggregate policy can be obtained as a weighted average of the policy parameters obtained from model-based learning and the parameters obtained by attaching model free learning.
보다 상세히, 오케스트레이터는 시뮬레이터에서 학습을 수행한 후(파라미터 ), 모델 환경에서 학습을 수행한 후(파라미터 ), 연합 학습의 기법으로 기 설정된 가중치()를 통해 각각의 학습과정에서의 파라미터(, )를 하기 수학식 1과 같이 가중 평균화하여 사용할 수 있다.More specifically, the orchestrator performs training on the simulator (parameters ), after performing learning in the model environment (parameters ), weights preset by the federated learning technique ( ), the parameters in each learning process ( , ) can be used by weighted averaging as shown in
한편, 오케스트레이터는 시뮬레이터 학습 및 모델 환경에서의 학습과정 각각의 파라미터(, )는 하기 수학식 2와 같이 업데이트될 수 있다.Meanwhile, the orchestrator sets parameters for each simulator learning and learning process in the model environment ( , ) can be updated as shown in
이때, 오케스트레이터에 의해 선택된 제어 정책은, 이후 제어 정책이 선택될 때까지 유지될 수 있다.At this time, the control policy selected by the orchestrator may be maintained until a later control policy is selected.
도 6a 및 도 6b는 본 발명의 실시예에 따른 장치에 의해 주행 제어 데이터가 생성되는 것을 설명하기 위한 도면이다. 보다 상세히, 도 6a는 엣지 노드(10)에 오케스트레이터(30)가 포함된 도면이고, 도 6b는 본 발명의 실시예에 따른 장치(100)에 오케스트레이터(150)가 포함된 도면이다.FIGS. 6A and 6B are diagrams to explain how driving control data is generated by a device according to an embodiment of the present invention. In more detail, FIG. 6A is a diagram showing the
도 6a 및 도 6b를 참조하면, 먼저 (1) 엣지 노드(10)는 센서(예를 들어, 레이더)를 이용하여 엣지 데이터를 획득할 수 있다. Referring to FIGS. 6A and 6B , first (1) the
이후, (2) 오케스트레이터(Orchestrator)는 엣지 데이터를 수신하고, 수신된 엣지 데이터에 기초하여 복수의 제어 신호 중, 장치(100)에서 사용할 제어 신호를 선택할 수 있다. 여기서, 제어 신호는 장치(100)에서 수행될 제어 방법으로, 주행 제어 데이터를 생성하도록 제어하는 신호일 수 있다. 예를 들어, 제어 신호는 제 1 오토 인코더(120)를 이용하여 주행 제어 데이터를 생성하는 것을 지시하는 신호 또는 제 2 오코 인코더(130)를 이용하여 주행 제어 데이터를 생성하는 것을 지시하는 신호일 수 있다.Thereafter, (2) the orchestrator may receive the edge data and select a control signal to be used in the
한편, 오케스트레이터가 엣지 데이터를 수신하지 못할 경우에도, 오케스트레이터는 복수의 제어 신호 중, 장치(100)에서 사용할 제어 신호를 선택할 수도 있다.Meanwhile, even when the orchestrator does not receive edge data, the orchestrator may select a control signal to be used in the
이후, (3) 장치(100)는 오케스트레이터에서 생성한 제어 신호를 이용할 수 있다. 이때, 도 6a에 도시된 바와 같이, 엣지 노드(10)에 오케스트레이터(30)가 포함될 경우, 장치(100)는 엣지 노드(10)에 포함된 오케스트레이터(30)로부터 생성된 제어 신호를 전달받을 수 있다.Afterwards, (3) the
이후, (4) 장치(100)는 오케스트레이터에서 생성한 제어 신호에 따라 주행 제어 데이터를 생성하는데 사용될 데이터(주행 데이터 또는 주행 데이터 및 엣지 데이터)와 제 1 오토 인코더(120) 또는 제 2 오토 인코더(130)를 설정할 수 있다.Thereafter, (4) the
이후, (5) 장치(100)는 오케스트레이터에서 전달받은 제어 신호에 따라 주행 제어 데이터를 생성하는데 사용할 데이터(주행 데이터 또는 주행 데이터 및 엣지 데이터)를 최종 결정할 수 있다.Thereafter, (5) the
이후, (6) 장치(100)에 포함된 오토 인코더(제 1 오토 인코더(120) 또는 제 2 오토 인코더(130))는 결정된 데이터를 제어 정책에 따라 변환할 수 있다.Thereafter, (6) the auto encoder (
마지막으로, (7) 오케스트레이터에서 생성된 제어 신호에 따라 선택된 오토 인코더(제 1 오토 인코더 또는 제 2 오토 인코더)의 출력값에 기초하여 장치(100)의 주행 제어 데이터가 생성될 수 있다.Finally, (7) driving control data of the
보다 상세히, 장치(100)는 오케스트레이터에서 생성된 제어 신호가 제 1 오토 인코더(120)를 이용하여 주행 제어 데이터를 생성한 것을 지시하는 경우, 제 1 오토 인코더(120)를 이용하여 제 1 주행 제어 데이터를 생성하고, 생성된 제어 신호가 제 2 오토 인코더(130)를 이용하여 주행 제어 데이터를 생성한 것을 지시하는 경우, 제 2 오토 인코더(130)를 이용하여 제 2 주행 제어 데이터를 생성할 수 있다.In more detail, when the control signal generated by the orchestrator indicates that driving control data is generated using the
도 7은 본 발명의 일 실시예에 따른 주행 제어 데이터 생성 방법의 절차에 대한 예시적인 순서도이다. 도 7의 주행 제어 데이터 생성 방법은 도 2에 도시된 장치(100) 또는 도 3에 도시된 장치(100)에 의해 수행 가능하다. 아울러, 도 7에 도시된 주행 제어 데이터 생성 방법은 예시적인 것에 불과하다.7 is an exemplary flowchart of the procedure of a method for generating driving control data according to an embodiment of the present invention. The driving control data generation method of FIG. 7 can be performed by the
도 7을 참조하면, 데이터 획득부(110)는 장치(100) 주변의 주행 데이터를 획득할 수 있다(단계 S10).Referring to FIG. 7, the
예를 들어, 데이터 획득부(110)는 카메라 및 라이다 센서 중 적어도 하나를 이용하여 장치(100)와 소정 거리 이내의 장애물에 관한 라이다 데이터 및 영상 데이터 중 적어도 하나를 획득할 수 있다.For example, the
이후, 주행 제어 데이터 생성부(140)는 엣지 노드로부터 획득된 엣지 데이터에 기초하여 생성된 제어 신호에 따라, 주행 데이터를 이용하거나 주행 데이터 및 엣지 데이터를 이용하여 주행 제어 데이터를 생성할 수 있다(단계 S20).Thereafter, the driving
보다 상세히, 주행 제어 데이터 생성부(140)는 생성된 제어 신호에 따라 제 1 오토 인코더(120) 및 제 2 오토 인코더(130) 중에서 어느 하나를 이용하여 주행 제어 데이터를 생성할 수 있다. In more detail, the driving
예를 들어, 주행 제어 데이터 생성부(140)는 생성된 제어 신호가 제 1 오토 인코더(120)를 이용하여 주행 제어 데이터를 생성한 것을 지시하는 경우, 제 1 오토 인코더(120)를 이용하여 제 1 주행 제어 데이터를 생성하고, 생성된 제어 신호가 제 2 오토 인코더(130)를 이용하여 주행 제어 데이터를 생성한 것을 지시하는 경우, 제 2 오토 인코더(130)를 이용하여 제 2 주행 제어 데이터를 생성할 수 있다.For example, when the generated control signal indicates that the driving control data is generated using the
이상에서 살펴본 바와 같이, 본 발명의 실시예에 따른 장치에 의하면, 엣지 노드와 장치간의 통신이 원활하지 않거나 제한된 환경에서도 적합한 제어 신호가 생성되어, 생성된 제어 신호에 따라 장치에서 획득한 주행 데이터를 이용하거나, 주행 데이터 및 엣지 노드로부터 획득된 엣지 데이터를 이용하여 주행 제어 데이터를 생성할 수 있다.As discussed above, according to the device according to the embodiment of the present invention, an appropriate control signal is generated even in an environment where communication between the edge node and the device is not smooth or is limited, and the driving data obtained from the device is transmitted according to the generated control signal. Alternatively, driving control data can be generated using driving data and edge data obtained from an edge node.
또한, 본 발명의 실시예에 따른 장치는, 엣지 컴퓨팅을 기반으로 작동하는 로봇, 자율 주행 드론 및 스마트 팩토리 등에 사용될 수 있다.Additionally, devices according to embodiments of the present invention can be used in robots, autonomous drones, and smart factories that operate based on edge computing.
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each block of the block diagram and each step of the flow diagram attached to the present invention may be performed by computer program instructions. Since these computer program instructions can be mounted on the encoding processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, the instructions performed through the encoding processor of the computer or other programmable data processing equipment are included in each block or block of the block diagram. Each step of the flowchart creates a means to perform the functions described. These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular way, so that the computer-usable or computer-readable memory The instructions stored in can also produce manufactured items containing instruction means that perform the functions described in each block of the block diagram or each step of the flow diagram. Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing functions described in each block of the block diagram and each step of the flow diagram.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative embodiments it is possible for the functions mentioned in the blocks or steps to occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially simultaneously, or the blocks or steps may sometimes be performed in reverse order depending on the corresponding function.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an illustrative explanation of the technical idea of the present invention, and those skilled in the art will be able to make various modifications and variations without departing from the essential quality of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but are for illustrative purposes, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention shall be interpreted in accordance with the claims below, and all technical ideas within the scope equivalent thereto shall be construed as being included in the scope of rights of the present invention.
10: 엣지 노드
100: 장치
110: 데이터 획득부
120: 제 1 오토 인코더
130: 제 2 오토 인코더
140: 주행 제어 데이터 생성부10: Edge node
100: device
110: Data acquisition unit
120: first autoencoder
130: second auto encoder
140: Driving control data generation unit
Claims (18)
상기 장치의 주변의 주행 데이터를 획득하는 데이터 획득부; 및
상기 엣지 노드로부터 획득된 엣지 데이터에 기초하여 생성된 제어 신호에 따라, 상기 주행 데이터를 이용하거나 상기 주행 데이터 및 상기 엣지 데이터를 이용할지를 선택하여 상기 장치의 자율 주행을 위한 주행 제어 데이터를 생성하는 주행 제어 데이터 생성부를 포함하되,
상기 엣지 데이터는 상기 엣지 노드에 포함된 레이더를 이용하여 측정된 데이터이고,
상기 주행 데이터는 상기 장치의 주변 장애물에 대한 데이터인,
장치.In an edge computing environment, a device that communicates with an edge node and generates driving control data,
a data acquisition unit that acquires driving data around the device; and
Driving to generate driving control data for autonomous driving of the device by selecting whether to use the driving data or using the driving data and the edge data according to a control signal generated based on edge data obtained from the edge node. Includes a control data generation unit,
The edge data is data measured using a radar included in the edge node,
The driving data is data about obstacles around the device,
Device.
상기 제어 신호는 상기 엣지 노드에 의해 생성되는
장치.According to claim 1,
The control signal is generated by the edge node
Device.
상기 주행 데이터를 이용하여 제 1 주행 제어 데이터를 생성하는 제 1 오토 인코더; 및
상기 주행 데이터 및 상기 엣지 데이터를 이용하여 제 2 주행 제어 데이터를 생성하는 제 2 오토 인코더를 더 포함하고,
상기 주행 제어 데이터 생성부는,
상기 제어 신호에 따라, 상기 제 1 오토 인코더 및 상기 제 2 오토 인코더 중에서 어느 하나를 이용하여 상기 주행 제어 데이터를 생성하는
장치.According to claim 1,
a first auto-encoder that generates first driving control data using the driving data; and
Further comprising a second auto encoder that generates second driving control data using the driving data and the edge data,
The driving control data generator,
According to the control signal, the driving control data is generated using any one of the first auto encoder and the second auto encoder.
Device.
상기 주행 제어 데이터 생성부는,
상기 제어 신호가 상기 제 1 오토 인코더를 이용하여 상기 주행 제어 데이터를 생성한 것을 지시하는 경우, 상기 제 1 오토 인코더를 이용하여 상기 제 1 주행 제어 데이터를 생성하고,
상기 제어 신호가 상기 제 2 오토 인코더를 이용하여 상기 주행 제어 데이터를 생성한 것을 지시하는 경우, 상기 제 2 오토 인코더를 이용하여 상기 제 2 주행 제어 데이터를 생성하는
장치.According to claim 3,
The driving control data generator,
When the control signal indicates that the driving control data is generated using the first auto encoder, the first driving control data is generated using the first auto encoder,
When the control signal indicates that the driving control data is generated using the second auto encoder, generating the second driving control data using the second auto encoder
Device.
상기 제 1 오토 인코더는,
학습용 주행 데이터와, 상기 학습용 주행 데이터에 대한 레이블 데이터로서, 제 1 정답 주행 제어 데이터를 입력 받으면, 상기 학습용 주행 데이터를 인코딩하여 상기 제 1 정답 주행 제어 데이터를 출력하도록 기 학습되어 있고,
상기 제 2 오토 인코더는,
학습용 엣지 데이터 및 학습용 주행 데이터와, 상기 학습용 엣지 데이터 및 상기 학습용 주행 데이터에 대한 레이블 데이터로서, 제 2 정답 주행 제어 데이터를 입력 받으면, 상기 학습용 엣지 데이터 및 상기 학습용 주행 데이터를 인코딩하여 상기 제 2 정답 주행 제어 데이터를 출력하도록 기 학습되어 있는
장치.According to claim 3,
The first auto encoder is,
Driving data for learning, and label data for the driving data for learning, are pre-trained to encode the driving data for learning and output the first driving control data when the first correct driving control data is input,
The second auto encoder is,
Upon receiving edge data for learning, driving data for learning, and label data for the edge data for learning and driving data for learning, and driving control data for a second correct answer, the edge data for learning and driving data for learning are encoded to provide the second correct answer. Pre-trained to output driving control data
Device.
상기 엣지 노드로부터 상기 엣지 데이터를 수신하여 상기 제어 신호를 생성하는 오케스트레이터를 더 포함하는
장치.According to claim 3,
Further comprising an orchestrator that receives the edge data from the edge node and generates the control signal.
Device.
상기 오케스트레이터는,
학습용 엣지 데이터를 입력 받으면, 상기 제 1 오토 인코더 및 상기 제 2 오토 인코더 중 어느 하나를 선택하는 학습용 제어신호가 출력되도록 기 학습되고,
상기 학습용 제어신호와 정답 제어신호와의 차이에 대한 손실함수를 이용하여, 상기 학습용 엣지 데이터를 입력 받으면, 상기 학습용 제어신호가 출력되도록 더 학습되는
장치.According to claim 6,
The orchestrator is,
When learning edge data is input, it is pre-trained to output a learning control signal for selecting one of the first auto encoder and the second auto encoder,
By using a loss function for the difference between the learning control signal and the correct answer control signal, when the learning edge data is input, the learning control signal is further learned to be output.
Device.
상기 데이터 획득부는,
카메라 및 라이다 센서 중 적어도 하나를 이용하여 상기 주행 데이터를 획득하는
장치.According to claim 1,
The data acquisition unit,
Obtaining the driving data using at least one of a camera and a lidar sensor
Device.
상기 장치의 주변의 주행 데이터를 획득하는 단계와,
상기 엣지 노드로부터 획득된 엣지 데이터에 기초하여 생성된 제어 신호에 따라, 상기 주행 데이터를 이용하거나 상기 주행 데이터 및 상기 엣지 데이터를 이용할지를 선택하여 상기 장치의 자율 주행을 위한 주행 제어 데이터를 생성하는 단계를 포함하되,
상기 엣지 데이터는 상기 엣지 노드에 포함된 레이더를 이용하여 측정된 데이터이고,
상기 주행 데이터는 상기 장치의 주변 장애물에 대한 데이터인,
주행 제어 데이터 생성 방법.In an edge computing environment, a method of generating driving control data performed by a device that communicates with an edge node and generates driving control data, comprising:
acquiring driving data around the device;
Generating driving control data for autonomous driving of the device by selecting whether to use the driving data or using the driving data and the edge data according to a control signal generated based on edge data obtained from the edge node. Including,
The edge data is data measured using a radar included in the edge node,
The driving data is data about obstacles around the device,
How to generate driving control data.
상기 제어 신호는 상기 엣지 노드에 의해 생성되는
주행 제어 데이터 생성 방법.According to clause 9,
The control signal is generated by the edge node
How to generate driving control data.
상기 주행 제어 데이터를 생성하는 단계는,
상기 제어 신호에 따라, 상기 주행 데이터를 이용하여 제 1 주행 제어 데이터를 생성하는 제 1 오토 인코더 및 상기 주행 데이터 및 상기 엣지 데이터를 이용하여 제 2 주행 제어 데이터를 생성하는 제 2 오토 인코더 중에서 어느 하나를 이용하여 상기 주행 제어 데이터를 생성하는
주행 제어 데이터 생성 방법.According to clause 9,
The step of generating the driving control data is,
According to the control signal, either a first autoencoder that generates first travel control data using the driving data and a second autoencoder that generates second driving control data using the driving data and the edge data. Generating the driving control data using
How to generate driving control data.
상기 제어 신호가 상기 제 1 오토 인코더를 이용하여 상기 주행 제어 데이터를 생성한 것을 지시하는 경우, 상기 제 1 오토 인코더를 이용하여 상기 제 1 주행 제어 데이터를 생성하고,
상기 제어 신호가 상기 제 2 오토 인코더를 이용하여 상기 주행 제어 데이터를 생성한 것을 지시하는 경우, 상기 제 2 오토 인코더를 이용하여 상기 제 2 주행 제어 데이터를 생성하는
주행 제어 데이터 생성 방법.According to claim 11,
When the control signal indicates that the driving control data is generated using the first auto encoder, the first driving control data is generated using the first auto encoder,
When the control signal indicates that the driving control data is generated using the second auto encoder, generating the second driving control data using the second auto encoder
How to generate driving control data.
상기 제 1 오토 인코더는,
학습용 주행 데이터와, 상기 학습용 주행 데이터에 대한 레이블 데이터로서, 제 1 정답 주행 제어 데이터를 입력 받으면, 상기 학습용 주행 데이터를 인코딩하여 상기 제 1 정답 주행 제어 데이터를 출력하도록 기 학습되어 있고,
상기 제 2 오토 인코더는,
학습용 엣지 데이터 및 학습용 주행 데이터와, 상기 학습용 엣지 데이터 및 상기 학습용 주행 데이터에 대한 레이블 데이터로서, 제 2 정답 주행 제어 데이터를 입력 받으면, 상기 학습용 엣지 데이터 및 상기 학습용 주행 데이터를 인코딩하여 상기 제 2 정답 주행 제어 데이터를 출력하도록 기 학습되어 있는
주행 제어 데이터 생성 방법.According to claim 11,
The first auto encoder is,
Driving data for learning, and label data for the driving data for learning, are pre-trained to encode the driving data for learning and output the first driving control data when the first correct driving control data is input,
The second auto encoder is,
Upon receiving edge data for learning, driving data for learning, and label data for the edge data for learning and driving data for learning, and driving control data for a second correct answer, the edge data for learning and driving data for learning are encoded to provide the second correct answer. Pre-trained to output driving control data
How to generate driving control data.
상기 상기 엣지 노드로부터 엣지 데이터를 수신하여 상기 제어 신호를 생성하는 단계를 더 포함하는
주행 제어 데이터 생성 방법.According to claim 11,
Further comprising receiving edge data from the edge node and generating the control signal.
How to generate driving control data.
상기 제어 신호를 생성하는 단계는,
학습용 엣지 데이터를 입력 받으면, 상기 제 1 오토 인코더 및 상기 제 2 오토 인코더 중 어느 하나를 선택하는 학습용 제어신호가 출력되도록 기 학습되고,
상기 학습용 제어신호와 정답 제어신호와의 차이에 대한 손실함수를 이용하여, 상기 학습용 엣지 데이터를 입력 받으면, 상기 학습용 제어신호가 출력되도록 더 학습되는 오케스트레이터를 이용하여 상기 제어 신호를 생성하는
주행 제어 데이터 생성 방법.According to claim 14,
The step of generating the control signal is,
When learning edge data is input, it is pre-trained to output a learning control signal for selecting one of the first auto encoder and the second auto encoder,
Using a loss function for the difference between the learning control signal and the correct answer control signal, when receiving the learning edge data, the control signal is generated using an orchestrator that is further learned to output the learning control signal.
How to generate driving control data.
상기 주행 데이터를 획득하는 단계는,
카메라 및 라이다 센서 중 적어도 하나를 이용하여 상기 주행 데이터를 획득하는
주행 제어 데이터 생성 방법.According to clause 9,
The step of acquiring the driving data is,
Obtaining the driving data using at least one of a camera and a lidar sensor
How to generate driving control data.
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
엣지 컴퓨팅 환경에서, 엣지 노드와 통신하며, 주행 제어 데이터를 생성하는 장치의 주변의 주행 데이터를 획득하는 단계와,
상기 엣지 노드로부터 획득된 엣지 데이터에 기초하여 생성된 제어 신호에 따라, 상기 주행 데이터를 이용하거나, 상기 주행 데이터 및 상기 엣지 데이터를 이용할지를 선택하여 상기 장치의 자율 주행을 위한 주행 제어 데이터를 생성하는 단계를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되,
상기 엣지 데이터는 상기 엣지 노드에 포함된 레이더를 이용하여 측정된 데이터이고,
상기 주행 데이터는 상기 장치의 주변 장애물에 대한 데이터인,
컴퓨터 판독 가능한 기록매체.A computer-readable recording medium storing a computer program,
When the computer program is executed by a processor,
In an edge computing environment, acquiring driving data surrounding a device that communicates with an edge node and generates driving control data;
According to a control signal generated based on edge data obtained from the edge node, using the driving data or selecting whether to use the driving data and the edge data to generate driving control data for autonomous driving of the device Includes instructions for causing the processor to perform a method including the steps,
The edge data is data measured using a radar included in the edge node,
The driving data is data about obstacles around the device,
A computer-readable recording medium.
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
엣지 컴퓨팅 환경에서, 엣지 노드와 통신하며, 주행 제어 데이터를 생성하는 장치의 주변의 주행 데이터를 획득하는 단계와,
상기 엣지 노드로부터 획득된 엣지 데이터에 기초하여 생성된 제어 신호에 따라, 상기 주행 데이터를 이용하거나, 상기 주행 데이터 및 상기 엣지 데이터를 이용할지를 선택하여 상기 장치의 자율 주행을 위한 주행 제어 데이터를 생성하는 단계를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하되,
상기 엣지 데이터는 상기 엣지 노드에 포함된 레이더를 이용하여 측정된 데이터이고,
상기 주행 데이터는 상기 장치의 주변 장애물에 대한 데이터인,
컴퓨터 프로그램.A computer program stored on a computer-readable recording medium,
When the computer program is executed by a processor,
In an edge computing environment, acquiring driving data surrounding a device that communicates with an edge node and generates driving control data;
According to a control signal generated based on edge data obtained from the edge node, using the driving data or selecting whether to use the driving data and the edge data to generate driving control data for autonomous driving of the device Includes instructions for causing the processor to perform a method including the steps,
The edge data is data measured using a radar included in the edge node,
The driving data is data about obstacles around the device,
computer program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210086471A KR102600515B1 (en) | 2021-07-01 | 2021-07-01 | Method, apparatus, computer-readable storage medium and computer program for generating driving control data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210086471A KR102600515B1 (en) | 2021-07-01 | 2021-07-01 | Method, apparatus, computer-readable storage medium and computer program for generating driving control data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230005583A KR20230005583A (en) | 2023-01-10 |
KR102600515B1 true KR102600515B1 (en) | 2023-11-08 |
Family
ID=84893488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210086471A KR102600515B1 (en) | 2021-07-01 | 2021-07-01 | Method, apparatus, computer-readable storage medium and computer program for generating driving control data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102600515B1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160049962A (en) | 2014-10-28 | 2016-05-10 | 한국전자통신연구원 | System for controlling carrier virtual networks |
KR102419789B1 (en) * | 2019-07-22 | 2022-07-13 | 한국전자통신연구원 | Method and apparatus for determining driving priority of self-driving vehicles |
KR102223135B1 (en) * | 2019-08-26 | 2021-03-08 | 엘지전자 주식회사 | Method and apparatus for determining an error of a vehicle in autonomous driving system |
-
2021
- 2021-07-01 KR KR1020210086471A patent/KR102600515B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20230005583A (en) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tai et al. | Socially compliant navigation through raw depth inputs with generative adversarial imitation learning | |
US20220363259A1 (en) | Method for generating lane changing decision-making model, method for lane changing decision-making of unmanned vehicle and electronic device | |
CN111587408B (en) | Robot navigation and object tracking | |
CN113176776B (en) | Unmanned ship weather self-adaptive obstacle avoidance method based on deep reinforcement learning | |
CN109299732B (en) | Unmanned driving behavior decision and model training method and device and electronic equipment | |
Castaneda et al. | Gaussian process-based min-norm stabilizing controller for control-affine systems with uncertain input effects and dynamics | |
KR102200212B1 (en) | Apparatus and Method for Generating Sampling Model for Uncertainty Prediction, Apparatus for Predicting Uncertainty | |
CN112884131A (en) | Deep reinforcement learning strategy optimization defense method and device based on simulation learning | |
US20220204020A1 (en) | Toward simulation of driver behavior in driving automation | |
Bharadhwaj et al. | A data-efficient framework for training and sim-to-real transfer of navigation policies | |
KR102239186B1 (en) | System and method for automatic control of robot manipulator based on artificial intelligence | |
US11586203B2 (en) | Method for training a central artificial intelligence module | |
Yang et al. | Norml: No-reward meta learning | |
JP7110884B2 (en) | LEARNING DEVICE, CONTROL DEVICE, LEARNING METHOD, AND LEARNING PROGRAM | |
CN110281949A (en) | A kind of automatic Pilot unifies hierarchical decision making method | |
KR20210033809A (en) | Control server and method for controlling robot using artificial neural network, and the robot implementing the same | |
WO2020252926A1 (en) | Method and device for prediction of automatic driving behaviors, computer device and storage medium | |
CN116776751A (en) | Intelligent decision algorithm model design development auxiliary system | |
Zhao et al. | Stable and safe reinforcement learning via a barrier-lyapunov actor-critic approach | |
KR102600515B1 (en) | Method, apparatus, computer-readable storage medium and computer program for generating driving control data | |
KR102455003B1 (en) | Simulation method and apparatus for reinforcement learning of unmanned systems | |
CN113923099B (en) | Root cause positioning method for communication network fault and related equipment | |
Bharadhwaj et al. | Manga: Method agnostic neural-policy generalization and adaptation | |
Lekkala et al. | Meta adaptation using importance weighted demonstrations | |
CN118410875B (en) | Automatic driving behavior model generation method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |