KR102354594B1 - Electronic device and method for performing control software verification applied to autonomous thing - Google Patents
Electronic device and method for performing control software verification applied to autonomous thing Download PDFInfo
- Publication number
- KR102354594B1 KR102354594B1 KR1020200122187A KR20200122187A KR102354594B1 KR 102354594 B1 KR102354594 B1 KR 102354594B1 KR 1020200122187 A KR1020200122187 A KR 1020200122187A KR 20200122187 A KR20200122187 A KR 20200122187A KR 102354594 B1 KR102354594 B1 KR 102354594B1
- Authority
- KR
- South Korea
- Prior art keywords
- control software
- software
- prototype
- autonomous
- artificial intelligence
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Geometry (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 자율형 사물에 적용되는 제어 소프트웨어 검증을 수행하는 전자 장치 및 이의 구동 방법에 관한 것으로, 더욱 상세하게는 사용자 요구 조건을 만족하는지 여부를 판단하기 위한 시뮬레이션을 자율형 사물에 대한 디지털 트윈에 대해 수행함으로써 신뢰성이 향상된 자율제어 소프트웨어를 제공하는 전자 장치에 관한 것이다.The present invention relates to an electronic device for verifying control software applied to an autonomous thing and a driving method thereof, and more particularly, to a digital twin for an autonomous thing, a simulation for determining whether a user requirement is satisfied. The present invention relates to an electronic device that provides autonomous control software with improved reliability by performing it.
자율형 사물(Autonomous Thing)은 인공지능 기술을 활용하여 수집된 환경 데이터를 바탕으로 스스로 상황을 인지하고, 의사결정을 내린 후 물리 시스템을 제어하여 주어진 동작을 수행하는 자율성(Autonomy)을 갖출 사물을 의미한다. Autonomous Thing uses artificial intelligence technology to recognize situations on its own based on collected environmental data, make decisions, and then control the physical system to create objects with autonomy to perform given actions. it means.
자율형 사물의 핵심 구성요소인 인공지능 기반의 물리 시스템 제어 소프트웨어는 물리 시스템 또는 외부에 대한 정보를 수집하고, 수집된 정보로부터 상황을 인식하고, 판단하고, 물리 시스템에 제어 명령을 내리는 구성을 포함한다.Artificial intelligence-based physical system control software, a core component of autonomous things, includes a configuration that collects information about the physical system or the outside, recognizes the situation from the collected information, makes a judgment, and gives control commands to the physical system do.
현재 자율형 사물에 적용되는 제어 소프트웨어는 이론적인 데이터 및 가상의 테스트만을 수행하여 물리 시스템에 적용되고, 이러한 경우 실제 적용되었을 때 오류가 빈번하게 발생하는 문제점이 존재한다.Currently, control software applied to autonomous objects is applied to a physical system by performing only theoretical data and virtual tests, and in this case, there is a problem in that errors frequently occur when applied in practice.
본 발명이 해결하고자 하는 기술적 과제는 물리 시스템에 대한 디지털 트윈을 생성하고, 디지털 트윈을 이용해 제어 소프트웨어에 대한 검증을 수행함으로써 신뢰성이 향상된 전자 장치 및 방법을 제공하는 것이다.The technical problem to be solved by the present invention is to provide an electronic device and method with improved reliability by creating a digital twin for a physical system and performing verification on control software using the digital twin.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 해당 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 자율형 사물에 적용되는 제어 소프트웨어 검증을 수행하는 전자 장치는, 자율형 사물에 대한 디지털 트윈 모델을 생성하고, 디지털 트윈 모델에 대한 시뮬레이션 동작을 관리하는 디지털 트윈 관리 모듈, 사용자 요구 조건에 대응하는 적어도 하나의 소프트웨어를 포함하는 소프트웨어 그룹을 결정하고, 소프트웨어 그룹을 연동하는 프로토타입 제어 소프트웨어를 생성하는 제어 소프트웨어 생성 모듈 및 프로토타입 제어 소프트웨어를 디지털 트윈 관리 모듈로 전송하고, 디지털 트윈 모델에 프로토타입 제어 소프트웨어를 적용한 시뮬레이션 결과를 디지털 트윈 관리 모듈로부터 수신하고, 시뮬레이션 결과를 분석하여 자율형 사물에 적용될 최종 제어 소프트웨어를 결정하는 제어 소프트웨어 검증 모듈을 포함할 수 있다.An electronic device that performs control software verification applied to an autonomous thing according to some embodiments of the present invention for achieving the above technical problem generates a digital twin model for the autonomous thing, and performs a simulation operation on the digital twin model A digital twin management module that manages the software, a control software generation module that determines a software group including at least one software corresponding to a user requirement, and creates a prototype control software linking the software group, and a prototype control software Includes a control software validation module that transmits to the twin management module, receives the simulation results of applying the prototype control software to the digital twin model from the digital twin management module, and analyzes the simulation results to determine the final control software to be applied to the autonomous thing can do.
몇몇 실시예에 따라, 제어 소프트웨어 생성 모듈은, 객체를 분석하는 인공지능 모델 및 자율형 사물을 구동시키는 구동 소프트웨어를 포함하는 소프트웨어 그룹을 결정하고, 결정된 인공지능 모델 및 결정된 인공지능 모델에 적용되는 파라미터 값을 획득하고, 결정된 인공지능 모델 및 구동 소프트웨어를 연동하는 상기 프로토타입 제어 소프트웨어를 생성할 수 있다.According to some embodiments, the control software generating module determines a software group including an artificial intelligence model for analyzing an object and driving software for driving an autonomous thing, and a parameter applied to the determined artificial intelligence model and the determined artificial intelligence model. It is possible to obtain a value and generate the prototype control software that links the determined artificial intelligence model and the driving software.
몇몇 실시예에 따라, 인공지능 모델은 CNN(Convolutional Neural Network) 기반의 모델을 포함하되, 제어 소프트웨어 생성 모듈은, 인공지능 모델에 대한 AI 실행 코드를 생성하고, 구동 소프트웨어에 대한 SW 실행 코드를 생성하고, ROS(Robot Operating System)를 이용하여 AI 실행 코드 및 SW 실행 코드를 연동하는 프로토타입 제어 소프트웨어를 생성할 수 있다.According to some embodiments, the artificial intelligence model includes a Convolutional Neural Network (CNN)-based model, wherein the control software generation module generates an AI executable code for the artificial intelligence model, and generates a SW executable code for the driving software And, it is possible to create prototype control software that interlocks AI execution code and SW execution code using ROS (Robot Operating System).
몇몇 실시예에 따라, 제어 소프트웨어 검증 모듈은, 시뮬레이션 결과가 기정의된 기준 조건을 만족하는 경우 프로토타입 제어 소프트웨어를 최종 제어 소프트웨어로 결정하고, 시뮬레이션 결과가 기준 조건을 만족하지 않는 경우 프로토타입 제어 소프트웨어에 적용되는 파라미터 값을 변경하고, 변경된 프로토타입 제어 소프트웨어를 디지털 트윈 관리 모듈로 전송하고, 변경된 프로토타입 제어 소프트웨어를 적용한 시뮬레이션 결과를 분석하여 최종 제어 소프트웨어를 결정할 수 있다.According to some embodiments, the control software verification module determines that the prototype control software is the final control software when the simulation result satisfies a predefined reference condition, and when the simulation result does not satisfy the reference condition, the prototype control software The final control software can be determined by changing the parameter values applied to the , sending the changed prototype control software to the digital twin management module, and analyzing the simulation results applying the changed prototype control software.
몇몇 실시예에 따라, 제어 소프트웨어 생성 모듈은, 시뮬레이션 결과가 기준 조건을 만족하지 못하는 횟수가 기준값에 도달하는 경우, 프로토타입 제어 소프트웨어를 재생성할 수 있다.According to some embodiments, the control software generation module may regenerate the prototype control software when the number of times the simulation result does not satisfy the reference condition reaches the reference value.
또한, 본 발명의 몇몇 실시예에 따른 자율형 사물에 적용되는 제어 소프트웨어를 검증하는 방법은, 사용자 요구 조건을 수신하는 단계, 사용자 요구 조건에 대응하는 적어도 하나의 소프트웨어를 포함하는 소프트웨어 그룹을 결정하는 단계, 소프트웨어 그룹을 연동하는 프로토타입 제어 소프트웨어를 생성하는 단계, 프로토타입 제어 소프트웨어를 자율형 사물에 대응하는 디지털 트윈 모델에 적용하여 시뮬레이션 결과를 생성하는 단계 및 시뮬레이션 결과를 분석하여 자율형 사물에 적용될 최종 제어 소프트웨어를 결정하는 단계를 포함할 수 있다.In addition, a method for verifying control software applied to an autonomous thing according to some embodiments of the present invention includes receiving a user requirement, and determining a software group including at least one software corresponding to the user requirement. Step, creating a prototype control software linking software groups, applying the prototype control software to a digital twin model corresponding to an autonomous object to generate simulation results, and analyzing the simulation results to be applied to autonomous objects determining the final control software.
몇몇 실시예에 따라, 소프트웨어 그룹을 결정하는 단계는, 객체를 분석하는 인공지능 모델 및 자율형 사물을 구동시키는 구동 소프트웨어를 포함하는 소프트웨어 그룹을 결정하는 단계를 포함할 수 있고, 프로토타입 제어 소프트웨어를 생성하는 단계는, 결정된 인공지능 모델 및 결정된 인공지능 모델에 적용되는 파라미터 값을 획득하는 단계 및 결정된 인공지능 모델 및 구동 소프트웨어를 연동하는 프로토타입 제어 소프트웨어를 생성하는 단계를 포함할 수 있다.According to some embodiments, the determining of the software group may include determining the software group including the artificial intelligence model analyzing the object and driving software for driving the autonomous thing, and using the prototype control software. The generating may include obtaining the determined artificial intelligence model and parameter values applied to the determined artificial intelligence model, and generating a prototype control software that interlocks the determined artificial intelligence model and driving software.
몇몇 실시예에 따라, 인공지능 모델은 CNN 기반의 모델을 포함하되, 프로토타입 제어 소프트웨어를 생성하는 단계는, 인공지능 모델에 대한 AI 실행 코드를 생성하는 단계, 구동 소프트웨어에 대한 SW 실행 코드를 생성하는 단계 및 ROS를 이용하여 AI 실행 코드 및 SW 실행 코드를 연동하는 프로토타입 제어 소프트웨어를 생성하는 단계를 포함할 수 있다.According to some embodiments, the artificial intelligence model includes a CNN-based model, wherein the generating of the prototype control software includes: generating an AI executable code for the artificial intelligence model; generating a SW execution code for the driving software and generating prototype control software that interlocks AI executable code and SW executable code using ROS.
몇몇 실시예에 따라, 최종 제어 소프트웨어를 결정하는 단계는, 시뮬레이션 결과가 기정의된 기준 조건을 만족하는 경우 프로토타입 제어 소프트웨어를 최종 제어 소프트웨어로 결정하는 단계, 시뮬레이션 결과가 기준 조건을 만족하지 않는 경우 프로토타입 제어 소프트웨어에 적용되는 파라미터 값을 변경하는 단계, 변경된 프로토타입 제어 소프트웨어를 디지털 트윈 모델에 적용하여 변경된 시뮬레이션 결과를 생성하는 단계 및 변경된 시뮬레이션 결과를 분석하여 최종 제어 소프트웨어를 결정하는 단계를 포함할 수 있다.According to some embodiments, the determining of the final control software may include determining the prototype control software as the final control software when the simulation result satisfies a predefined reference condition, when the simulation result does not satisfy the reference condition changing the parameter values applied to the prototype control software; applying the changed prototype control software to the digital twin model to generate changed simulation results; and analyzing the changed simulation results to determine the final control software. can
몇몇 실시예에 따라, 시뮬레이션 결과 또는 변경된 시뮬레이션 결과가 기준 조건을 만족하지 못하는 횟수를 카운팅하는 단계 및 카운팅된 횟수가 기준값에 도달하는 경우 프로토타입 제어 소프트웨어를 재생성하는 단계를 포함할 수 있다.According to some embodiments, the method may include counting the number of times the simulation result or the changed simulation result does not satisfy a reference condition, and regenerating the prototype control software when the counted number reaches the reference value.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.
도 1은 본 발명의 몇몇 실시예에 따른 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 몇몇 실시예에 따른 전자 장치를 설명하기 위한 도면이다.
도 3은 본 발명의 몇몇 실시예에 따른 프로세서의 구성을 설명하기 위한 도면이다.
도 4 내지 도 8은 본 발명의 몇몇 실시예에 따른 자율형 사물에 적용되는 제어 소프트웨어를 검증하는 방법을 설명하기 위한 순서도이다.1 is a diagram for explaining a system according to some embodiments of the present invention.
2 is a view for explaining an electronic device according to some embodiments of the present invention.
3 is a diagram for explaining the configuration of a processor according to some embodiments of the present invention.
4 to 8 are flowcharts for explaining a method of verifying control software applied to an autonomous thing according to some embodiments of the present invention.
이하, 본 발명의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings. However, it is not intended to limit the present invention to specific embodiments, and it should be understood that various modifications, equivalents, and/or alternatives of the embodiments of the present invention are included.
이하에서, 도 1 내지 도 8을 참조하여 본 발명의 몇몇 실시예에 따른 자율형 사물에 적용되는 제어 소프트웨어 검증을 수행하는 전자 장치 및 이의 구동 방법을 설명한다.Hereinafter, an electronic device for performing control software verification applied to an autonomous thing according to some embodiments of the present invention and a driving method thereof will be described with reference to FIGS. 1 to 8 .
도 1은 본 발명의 몇몇 실시예에 따른 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a system according to some embodiments of the present invention.
도 1을 참조하면, 본 발명의 몇몇 실시예에 따른 시스템(100)은 전자 장치(1000), 사용자 단말(2000), AI 모델 데이터베이스(3000) 및 자율형 사물(4000)을 포함할 수 있다.Referring to FIG. 1 , a
전자 장치(1000)는 사용자 단말(2000)로부터 사용자 요구 조건을 수신하고, 사용자 요구 조건을 충족시키는 소프트웨어를 생성하는 장치일 수 있다. 즉, 소프트웨어 개발 프레임워크를 포함하는 장치일 수 있다.The
사용자 단말(2000)은 자율형 사물(4000)에 적용되는 요구 조건을 전자 장치(1000)로 제공하는 단말일 수 있다. 사용자 단말(2000)은 특정 종류의 단말을 의미하지 않고, 전자 장치(1000)와의 통신을 수행할 수 있는 모든 종류의 단말로 구현될 수 있다. 몇몇 실시예에 따라, 사용자 단말(2000)은 개발 또는 적용하고자 하는 기능, 성능 등의 요구사항과 센서 데이터의 유형, 액추에이터 스펙과 같은 자율형 사물(4000)(또는 물리 시스템)의 사양 정보를 사용자 요구 조건으로서 전자 장치(1000)로 전달할 수 있다.The
AI 모델 데이터베이스(3000)는 인공지능 모델을 저장하는 저장 장치일 수 있다. 몇몇 실시예에 따라, AI 모델 데이터베이스(3000)는 클라우드의 형태로 구현될 수 있다. AI 모델 데이터베이스(3000)는 전자 장치(1000)로부터 특정 인공지능 모델에 대한 요청을 수신하고, 이에 대응되는 인공지능 모델을 특정하여 전자 장치(1000)로 제공할 수 있다.The
자율형 사물(4000)은 본 발명의 몇몇 실시예에 따라 생성되는 제어 소프트웨어가 적용되는 물리 시스템일 수 있다. 자율형 사물(4000)은 인공지능을 통해 주변 환경 및 사람들과 자연스럽게 상호작용하는 고차원적인 행동을 수행하는 로봇, 드론, 자율주행차 등일 수 있으나, 이에 한정되지는 않고 다양한 종류의 자율형 사물(4000)에 본 발명이 적용될 수 있음은 물론이다.The
도 2는 본 발명의 몇몇 실시예에 따른 전자 장치를 설명하기 위한 도면이다.2 is a view for explaining an electronic device according to some embodiments of the present invention.
도 2를 참조하면, 본 발명의 몇몇 실시예에 따른 전자 장치(1000)는 통신 모듈(1100), 프로세서(1300), 메모리(1500) 및 디지털 트윈 모듈(1700)을 포함할 수 있다.Referring to FIG. 2 , an
통신 모듈(1100)은 전자 장치(1000)와 다른 전자 장치(예를 들어, 사용자 단말(2000), 자율형 사물(4000), AI 모델 데이터베이스(3000) 등) 또는 서버와의 통신을 연결할 수 있다. 통신 모듈(1100)은 소정의 근거리 통신 프로토콜(예: Wi-Fi(wireless fidelity), BT(Bluetooth), NFC(near field communication), 소정의 네트워크 통신(예: Internet, LAN(local area network), WAN(wire area network), telecommunication network, cellular network, satellite network 또는 POTS(plain old telephone service) 등) 또는 유선 통신 프로토콜(예: USB(universal serial bus), HDMI(high definition multimedia interface) 등)을 지원할 수 있다. The
프로세서(1300)는 데이터 버스를 통해 전자 장치(1000)의 다른 구성요소들로부터 명령을 수신하고, 수신된 명령을 해석하고, 해석된 명령에 따른 연산이나 데이터 처리를 수행할 수 있다.The
메모리(1500)는 프로세서(1300) 또는 전자 장치(1000)의 다른 구성요소들로부터 수신되거나 프로세서(1300) 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 몇몇 실시예에 따라, 메모리(1500)는 프로그램 메모리 및 데이터 메모리들로 구성될 수 있으며, 프로그램 메모리에는 휴대단말기의 일반적인 동작을 제어하기 위한 프로그램이 저장된다. 몇몇 실시예에 따라, 메모리(1500)는 CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(Extreme Digital) 및 Memory Stick 등의 외장형 메모리를 더 포함할 수도 있다. 또한, 메모리(1500)는 HDD(Hard Disk Drive) 및 SSD(Solid State Disk) 등과 같은 디스크 저장 장치를 포함할 수도 있다.The
디지털 트윈 모듈(1700)은 자율형 사물(4000)에 대한 디지털 트윈 모델을 생성하고, 디지털 트윈 모델에 대한 시뮬레이션 동작을 수행할 수 있다. 본 명세서에서, "디지털 트윈 모듈(1700)"은 "디지털 트윈 관리 모듈(1700)"로도 표현될 수 있다.The
도 3은 본 발명의 몇몇 실시예에 따른 프로세서의 구성을 설명하기 위한 도면이다.3 is a diagram for explaining the configuration of a processor according to some embodiments of the present invention.
도 3을 참조하면, 본 발명의 몇몇 실시예에 따른 프로세서(1300)는 자율형 사물(4000)에 적용되는 소프트웨어라는 결과물을 생성하는 프레임워크(Framework)로서의 기능을 수행할 수 있다. 도시된 바와 같이, 프로세서(1300)는 제어 소프트웨어 생성 모듈(1311) 및 제어 소프트웨어 검증 모듈(1313)을 포함할 수 있다.Referring to FIG. 3 , a
제어 소프트웨어 생성 모듈(1311)은 사용자 단말(2000)로부터 수신된 사용자 요구 조건에 대응하는 적어도 하나의 소프트웨어를 포함하는 소프트웨어 그룹을 결정하고, 소프트웨어 그룹을 연동하는 프로토타입 제어 소프트웨어를 생성할 수 있다. 제어 소프트웨어 생성 모듈(1311)은 사용자 요구 조건을 파싱하여 필요한 인공지능 모델 및 하드웨어 제어 로직을 도출하고, AI 모델 데이터베이스(3000)로부터 인공지능 모델을 획득하여 프로토타입 제어 소프트웨어를 생성할 수 있다.The control
제어 소프트웨어 검증 모듈(1313)은 프로토타입 제어 소프트웨어를 디지털 트윈 관리 모듈(1700)로 전송하고, 디지털 트윈 모델에 프로토타입 제어 소프트웨어를 적용한 시뮬레이션 결과를 획득하고, 이에 기초하여 자율형 사물(4000)에 적용될 최종 제어 소프트웨어를 결정할 수 있다.The control
사용자 요구 조건에 부합하는 프로토타입 제어 소프트웨어를 생성하고, 디지털 트윈 모델에 대한 시뮬레이션 결과를 이용하여 최종 제어 소프트웨어를 생성하는 구체적인 설명은 도 4 내지 도 8을 참조하여 상세히 설명한다.A detailed description of generating the prototype control software that meets the user requirements and generating the final control software using the simulation results for the digital twin model will be described in detail with reference to FIGS. 4 to 8 .
도 4 내지 도 8은 본 발명의 몇몇 실시예에 따른 자율형 사물에 적용되는 제어 소프트웨어를 검증하는 방법을 설명하기 위한 순서도이다.4 to 8 are flowcharts for explaining a method of verifying control software applied to an autonomous thing according to some embodiments of the present invention.
도 4를 참조하면, 본 발명의 몇몇 실시예에 따른 방법은, 사용자 단말(2000)로부터 수신된 사용자 요구 조건(REQ_USER)에 부합하는 최종 제어 소프트웨어(SW_Final)를 결정하여 자율형 사물(4000)에 적용시킬 수 있다. 이하에서, 배꽃 수분을 자율적으로 수행하는 드론에 본 발명을 적용하는 경우의 실시예를 설명하나, 본 발명이 이제 제한되지는 않고 다양한 종류의 자율형 사물에 적용되고, 사용자 요구 조건 역시 이에 제한되지는 않고 자율형 사물에 적용될 수 있는 다양한 조건이 적용될 수 있다.Referring to FIG. 4 , the method according to some embodiments of the present invention determines the final control software SW_Final that meets the user requirement condition REQ_USER received from the
S100 단계에서, 전자 장치(1000)는 사용자 단말(2000)로부터 사용자 요구 조건(REQ_USER)을 수신할 수 있다. 예를 들어, 사용자 요구 조건(REQ_USER)은 꽃봉오리가 전체 크기 대비 70% 이상 개화된 경우 수분의 대상으로 분류하는 조건과, 수분 대상으로 판단되는 경우 꽃과의 거리가 10cm를 유지하여 이동하고, 드론과 배꽃과의 거리가 20cm 이하일 경우 드론을 시속 10km/h 이하의 속도로 이동하도록 한 후 노즐을 통해 수술을 분사하는 조건이 사용자 요구 조건(REQ_USER)으로 요구될 수 있다.In step S100 , the
S200 단계에서, 전자 장치(1000)는 사용자 요구 조건(REQ_USER)에 대응하는 적어도 하나의 소프트웨어를 포함하는 소프트웨어 그룹을 결정할 수 있다. 몇몇 실시예에 따라, 소프트웨어 그룹은 객체를 분석하는 인공지능 모델 및 자율형 사물(4000)을 구동시키는 구동 소프트웨어를 포함할 수 있다. 예를 들어, 배꽃의 분류를 수행하는 CNN(Convolutional Neural Network) 기반의 인공지능 모델 및 개화 정도를 분석하기 위한 이미지 처리 인공지능 모델을 소프트웨어 그룹의 인공지능 모델로서 결정하고, 배꽃을 인식하는 소프트웨어, 개화 정도를 분석하는 소프트웨어, 드론의 이동을 제어하는 소프트웨어 및 노즐을 제어하는 소프트웨어를 소프트웨어 그룹의 구동 소프트웨어로서 포함할 수 있다.In operation S200 , the
S300 단계에서, 전자 장치는 AI 모델 데이터베이스(3000)로 필요한 인공지능 모델(AI)을 요청하고, S400 단계에서, 필요한 인공지능 모델에 대응되는 인공지능 모델 및 파라미터 값을 AI 모델 데이터베이스(3000)로부터 획득할 수 있다.In step S300, the electronic device requests a necessary artificial intelligence model (AI) to the
S500 단계에서, 전자 장치(1000)는 획득한 구동 소프트웨어 및 인공지능 모델에 기초하여 프로토타입 제어 소프트웨어(SW_Prototype)를 생성할 수 있다. 예를 들어, 인공지능 기반 소프트웨어 라이브러리를 활용하여 인공지능 실행 코드를 자동 생성하고, 드론 제어 소프트웨어 API를 활용하여 구동 소프트웨어에 대한 실행 코드를 자동 생성한 후, ROS(Robot Operating System)와 같은 제어 통신 미들웨어를 통해 각각의 소프트웨어들 간의 연동하여 프로토타입 제어 소프트웨어(SW_Prototype)를 생성할 수 있다.In operation S500 , the
S600 단계에서, 전자 장치(1000)는 디지털 트윈 모델에 프로토타입 제어 소프트웨어(SW_Prototype)를 적용하여 시뮬레이션을 수행하고, 이에 기초하여 S700 단계에서, 최종 제어 소프트웨어(SW_Final)를 결정한 후, S800 단계에서, 결정된 최종 제어 소프트웨어(SW_Final)를 자율형 사물(4000)에 적용시킬 수 있다.In step S600, the
도 5 및 도 6를 참조하면, 전자 장치(1000)의 제어 소프트웨어 생성 모듈(1311), 제어 소프트웨어 검증 모듈(1313) 및 디지털 트윈 관리 모듈(1700)을 통해 최종 제어 소프트웨어(SW_Final)를 결정할 수 있다.5 and 6 , the final control software SW_Final may be determined through the control
디지털 트윈 관리 모듈(1700)은 자율형 사물(4000)에 대응되는 디지털 트윈 모델을 생성할 수 있다.The digital
제어 소프트웨어 생성 모듈(1311)에 의해 생성된 프로토타입 제어 소프트웨어(SW_Prototype)를 제어 소프트웨어 검증 모듈(1313)이 획득하고(S2000, S3000), 프로토타입 제어 소프트웨어(SW_Prototype)를 디지털 트윈 관리 모듈(1700)로 전송할 수 있다(S4000). 구체적으로, 제어 소프트웨어 생성 모듈(1311)은 인공지능 모델 및 구동 소프트웨어를 포함하는 소프트웨어 그룹을 결정하고(S2100), 인공지능 모델 및 파라미터 값을 AI 모델 데이터베이스(3000)로부터 획득하고(S2300), 인공지능 모델 및 구동 소프트웨어를 연동하는 프로토타입 제어 소프트웨어(SW_Prototype)를 생성할 수 있다(S2500).The control
S5000 단계에서, 디지털 트윈 관리 모듈(1700)은 디지털 트윈 모델에 프로토타입 제어 소프트웨어(SW_Prototype)를 적용한 시뮬레이션을 수행하고, S6000 단계에서, 시뮬레이션 결과(DATA_Simulation)를 제어 소프트웨어 검증 모듈(1313)로 전송할 수 있다. 예를 들어, 배꽃 수술 시나리오에서의 드론 자율제어 소프트웨어를 프로토타입 제어 소프트웨어(SW_Prototype)로서 적용한 시뮬레이션 결과일 수 있다. 이 때, 시뮬레이션 결과(DATA_Simulation)는 드론의 위치, 드론의 모터 입력으로 사용되는 PWM 제어값, 모터의 회전 속도, 드론의 이동 속도, 배꽃과의 거리 정보 등에 대한 데이터를 시뮬레이션 결과(DATA_Simulation)로서 제어 소프트웨어 검증 모듈(1313)로 전송할 수 있다.In step S5000, the digital
S7000 단계에서, 제어 소프트웨어 검증 모듈(1313)은 획득한 시뮬레이션 결과(DATA_Simulation)에 기초하여 최종 제어 소프트웨어(SW_Final)를 결정할 수 있다. 제어 소프트웨어 검증 모듈(1313)에서 수행되는 동작에 대하여는 도 7 및 도 8을 참조하여 상세히 후술한다.In step S7000 , the control
도 7을 참조하면, 제어 소프트웨어 검증 모듈(1313)은 시뮬레이션 결과(DATA_Simulation)가 기준 조건(CONDITION_REF)을 만족하는지에 기초하여 최종 제어 소프트웨어(SW_Final)를 결정할 수 있다.Referring to FIG. 7 , the control
S7100 단계에서, 제어 소프트웨어 검증 모듈(1313)은 시뮬레이션 결과(DATA_Simulation)가 기준 조건(CONDITION_REF)을 만족하는지 여부를 판단할 수 있다. 시뮬레이션 결과(DATA_Simulation)가 기준 조건(CONDITION_REF)을 만족하는 경우 프로토타입 제어 소프트웨어(SW_Prototype)를 최종 제어 소프트웨어로 결정하고(S7200), 이를 자율형 사물에 적용시킬 수 있다.In step S7100 , the control
시뮬레이션 결과(DATA_Simulation) 기준 조건(CONDITION_REF)을 만족하지 못하는 경우, S7300 단계에서, 프로토타입 제어 소프트웨어(SW_Prototype)의 파라미터를 변경한 소프트웨어(SW'_Prototype)를 생성하고, 변경된 소프트웨어(SW'_Prototype)를 디지털 트윈 모델에 적용하여 시뮬레이션 동작을 반복적으로 수행할 수 있다. 예를 들어, 변경되는 파라미터 값은 드론의 이동 제어 소프트웨어의 PWM 제어 수식의 계수 등일 수 있다.If the simulation result (DATA_Simulation) does not satisfy the reference condition (CONDITION_REF), in step S7300, software (SW'_Prototype) in which the parameters of the prototype control software (SW_Prototype) are changed is created, and the changed software (SW'_Prototype) is created By applying it to the digital twin model, the simulation operation can be repeatedly performed. For example, the parameter value to be changed may be a coefficient of a PWM control equation of the drone movement control software.
도 8을 참조하면, 본 발명의 몇몇 실시예에 따른 전자 장치(1000)는 시뮬레이션 결과(DATA_Simulation)가 기준 조건(CONDITION_REF)을 만족하지 못하는 횟수가 기준값(VALUE_REF)에 도달하는 경우, 프로토타입 제어 소프트웨어(SW_Prototype)를 재생성할 수 있다.Referring to FIG. 8 , when the number of times the simulation result DATA_Simulation does not satisfy the reference condition CONDITION_REF reaches the reference value VALUE_REF, the prototype control software (SW_Prototype) can be regenerated.
시뮬레이션 결과(DATA_Simulation)가 기준 조건(CONDITION_REF)을 만족하지 못하는 경우, S7400 단계에서, 시뮬레이션 결과(DATA_Simulation)가 기준 조건(CONDITION_REF)을 만족하지 못한 횟수를 카운팅하고, 횟수가 기준값(VALUE_REF)에 도달하는 경우 프로토타입 제어 소프트웨어(SW_Prototype)의 파라미터를 변경하지 않고 프로토타입 제어 소프트웨어(SW_Prototype)를 재생성할 수 있다. 즉, 시뮬레이션 결과(DATA_Simulation)가 반복적으로 기준 조건(CONDITION_REF)을 만족하지 못하는 경우 프로토타입 제어 소프트웨어(SW_Prototype)가 적절하게 생성되지 않았을 가능성이 높고, 이에 따라 소정의 횟수를 초과하여 기준 조건(CONDITION_REF)을 만족하지 못하는 경우 프로토타입 제어 소프트웨어(SW_Prototype)를 재생산함으로써 효율적인 소프트웨어의 검증이 가능하게 된다.If the simulation result (DATA_Simulation) does not satisfy the reference condition (CONDITION_REF), in step S7400, the number of times the simulation result (DATA_Simulation) does not satisfy the reference condition (CONDITION_REF) is counted, and the number of times reaches the reference value (VALUE_REF) In this case, the prototype control software (SW_Prototype) can be regenerated without changing the parameters of the prototype control software (SW_Prototype). That is, if the simulation result (DATA_Simulation) repeatedly does not satisfy the reference condition (CONDITION_REF), it is highly likely that the prototype control software (SW_Prototype) was not properly generated, and accordingly, the reference condition (CONDITION_REF) exceeds a predetermined number of times. If not satisfied, efficient software verification is possible by reproducing the prototype control software (SW_Prototype).
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of the embodiments. In connection with the description of the drawings, like reference numerals may be used for similar or related components. The singular form of the noun corresponding to the item may include one or more of the item, unless the relevant context clearly dictates otherwise. As used herein, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "A; Each of the phrases such as "at least one of B, or C" may include any one of, or all possible combinations of, items listed together in the corresponding one of the phrases. Terms such as “first” and “second” may simply be used to distinguish a corresponding component from other corresponding components, and do not limit the corresponding components in other aspects (eg, importance or order).
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. As used herein, the term “module” may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit. A module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions. For example, according to an embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시 예들은 기기(machine)(예: 전자 장치(1000)) 의해 읽을 수 있는 저장 매체(storage medium에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기(예를 들어, 전자 장치(1000))의 프로세서(예: 프로세서(1300))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present document may be implemented as software including one or more instructions stored in a storage medium readable by a machine (eg, the electronic device 1000). For example, the device ( For example, the processor (eg, the processor 1300 ) of the
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to an embodiment, the method according to various embodiments disclosed in this document may be provided by being included in a computer program product. Computer program products may be traded between sellers and buyers as commodities. The computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store or between two user devices (eg smartphones). It can be distributed directly or online (eg, downloaded or uploaded). In the case of online distribution, at least a part of the computer program product may be temporarily stored or temporarily created in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (eg, a module or a program) of the above-described components may include a singular or a plurality of entities. According to various embodiments, one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg, a module or a program) may be integrated into one component. In this case, the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. . According to various embodiments, operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.
100: 시스템 1000: 전자 장치
1100: 통신 모듈 1300: 프로세서
1310: 프레임워크 1311: 제어 소프트웨어 생성 모듈
1313: 제어 소프트웨어 검증 모듈 1500: 메모리
1700: 디지털 트윈 모듈 2000: 사용자 단말
3000: AI 모델 데이터베이스 4000: 자율형 사물100: system 1000: electronic device
1100: communication module 1300: processor
1310: framework 1311: control software generation module
1313: control software verification module 1500: memory
1700: digital twin module 2000: user terminal
3000: AI Model Database 4000: Autonomous Things
Claims (10)
상기 자율형 사물에 대한 디지털 트윈 모델을 생성하고, 상기 디지털 트윈 모델에 대한 시뮬레이션 동작을 관리하는 디지털 트윈 관리 모듈;
사용자 요구 조건에 대응하는 적어도 하나의 소프트웨어를 포함하는 소프트웨어 그룹을 결정하고, 상기 소프트웨어 그룹을 연동하는 프로토타입 제어 소프트웨어를 생성하는 제어 소프트웨어 생성 모듈; 및
상기 프로토타입 제어 소프트웨어를 상기 디지털 트윈 관리 모듈로 전송하고, 상기 디지털 트윈 모델에 상기 프로토타입 제어 소프트웨어를 적용한 시뮬레이션 결과를 상기 디지털 트윈 관리 모듈로부터 수신하고, 상기 시뮬레이션 결과를 분석하여 상기 자율형 사물에 적용될 최종 제어 소프트웨어를 결정하는 제어 소프트웨어 검증 모듈을 포함하는, 전자 장치.An electronic device that performs control software verification applied to autonomous things, the electronic device comprising:
a digital twin management module for generating a digital twin model for the autonomous thing and managing a simulation operation for the digital twin model;
a control software generation module that determines a software group including at least one software corresponding to a user requirement and generates a prototype control software interworking with the software group; and
The prototype control software is transmitted to the digital twin management module, a simulation result obtained by applying the prototype control software to the digital twin model is received from the digital twin management module, and the simulation result is analyzed to be applied to the autonomous thing. An electronic device comprising a control software validation module that determines the final control software to be applied.
상기 제어 소프트웨어 생성 모듈은,
객체를 분석하는 인공지능 모델 및 상기 자율형 사물을 구동시키는 구동 소프트웨어를 포함하는 상기 소프트웨어 그룹을 결정하고,
결정된 인공지능 모델 및 상기 결정된 인공지능 모델에 적용되는 파라미터 값을 획득하고,
상기 결정된 인공지능 모델 및 상기 구동 소프트웨어를 연동하는 상기 프로토타입 제어 소프트웨어를 생성하는, 전자 장치.The method according to claim 1,
The control software generation module,
Determining the software group including an artificial intelligence model for analyzing an object and driving software for driving the autonomous thing,
Obtaining the determined artificial intelligence model and parameter values applied to the determined artificial intelligence model,
An electronic device that generates the prototype control software that links the determined artificial intelligence model and the driving software.
상기 인공지능 모델은 CNN(Convolutional Neural Network) 기반의 모델을 포함하되,
상기 제어 소프트웨어 생성 모듈은,
상기 인공지능 모델에 대한 AI 실행 코드를 생성하고,
상기 구동 소프트웨어에 대한 SW 실행 코드를 생성하고,
ROS(Robot Operating System)를 이용하여 상기 AI 실행 코드 및 상기 SW 실행 코드를 연동하는 상기 프로토타입 제어 소프트웨어를 생성하는, 전자 장치.3. The method according to claim 2,
The artificial intelligence model includes a Convolutional Neural Network (CNN)-based model,
The control software generation module,
generate AI executable code for the artificial intelligence model;
generating a SW executable code for the driving software;
An electronic device for generating the prototype control software that interworks the AI execution code and the SW execution code using a Robot Operating System (ROS).
상기 제어 소프트웨어 검증 모듈은,
상기 시뮬레이션 결과가 기정의된 기준 조건을 만족하는 경우, 상기 프로토타입 제어 소프트웨어를 상기 최종 제어 소프트웨어로 결정하고,
상기 시뮬레이션 결과가 상기 기준 조건을 만족하지 않는 경우, 상기 프로토타입 제어 소프트웨어에 적용되는 파라미터 값을 변경하고, 상기 변경된 프로토타입 제어 소프트웨어를 상기 디지털 트윈 관리 모듈로 전송하고, 상기 변경된 프로토타입 제어 소프트웨어를 적용한 시뮬레이션 결과를 분석하여 상기 최종 제어 소프트웨어를 결정하는, 전자 장치.The method according to claim 1,
The control software verification module,
When the simulation result satisfies a predefined reference condition, determining the prototype control software as the final control software;
When the simulation result does not satisfy the reference condition, the parameter value applied to the prototype control software is changed, the changed prototype control software is transmitted to the digital twin management module, and the changed prototype control software is executed. An electronic device for determining the final control software by analyzing the applied simulation result.
상기 제어 소프트웨어 생성 모듈은,
상기 시뮬레이션 결과가 상기 기준 조건을 만족하지 못하는 횟수가 기준값에 도달하는 경우, 상기 프로토타입 제어 소프트웨어를 재생성하는, 전자 장치.5. The method according to claim 4,
The control software generation module,
and regenerating the prototype control software when the number of times the simulation result does not satisfy the reference condition reaches a reference value.
사용자 요구 조건을 수신하는 단계;
상기 사용자 요구 조건에 대응하는 적어도 하나의 소프트웨어를 포함하는 소프트웨어 그룹을 결정하는 단계;
상기 소프트웨어 그룹을 연동하는 프로토타입 제어 소프트웨어를 생성하는 단계;
상기 프로토타입 제어 소프트웨어를 상기 자율형 사물에 대응하는 디지털 트윈 모델에 적용하여 시뮬레이션 결과를 생성하는 단계; 및
상기 시뮬레이션 결과를 분석하여 상기 자율형 사물에 적용될 최종 제어 소프트웨어를 결정하는 단계를 포함하는, 방법.As a method of verifying control software applied to autonomous things,
receiving user requirements;
determining a software group including at least one software corresponding to the user requirement;
generating a prototype control software linking the software group;
generating a simulation result by applying the prototype control software to a digital twin model corresponding to the autonomous object; and
and analyzing the simulation result to determine final control software to be applied to the autonomous thing.
상기 소프트웨어 그룹을 결정하는 단계는, 객체를 분석하는 인공지능 모델 및 상기 자율형 사물을 구동시키는 구동 소프트웨어를 포함하는 상기 소프트웨어 그룹을 결정하는 단계를 포함하고,
상기 프로토타입 제어 소프트웨어를 생성하는 단계는,
결정된 인공지능 모델 및 상기 결정된 인공지능 모델에 적용되는 파라미터 값을 획득하는 단계; 및
상기 결정된 인공지능 모델 및 상기 구동 소프트웨어를 연동하는 상기 프로토타입 제어 소프트웨어를 생성하는 단계를 포함하는, 방법.7. The method of claim 6,
The determining of the software group includes determining the software group including an artificial intelligence model for analyzing an object and driving software for driving the autonomous thing,
The step of generating the prototype control software comprises:
obtaining the determined artificial intelligence model and parameter values applied to the determined artificial intelligence model; and
and generating the prototype control software linking the determined artificial intelligence model and the driving software.
상기 인공지능 모델은 CNN 기반의 모델을 포함하되,
상기 프로토타입 제어 소프트웨어를 생성하는 단계는,
상기 인공지능 모델에 대한 AI 실행 코드를 생성하는 단계;
상기 구동 소프트웨어에 대한 SW 실행 코드를 생성하는 단계; 및
ROS를 이용하여 상기 AI 실행 코드 및 상기 SW 실행 코드를 연동하는 상기 프로토타입 제어 소프트웨어를 생성하는 단계를 포함하는, 방법.8. The method of claim 7,
The artificial intelligence model includes a CNN-based model,
The step of generating the prototype control software comprises:
generating an AI executable code for the artificial intelligence model;
generating SW executable code for the driving software; and
and generating the prototype control software that interworks the AI executable code and the SW executable code using ROS.
상기 최종 제어 소프트웨어를 결정하는 단계는,
상기 시뮬레이션 결과가 기정의된 기준 조건을 만족하는 경우, 상기 프로토타입 제어 소프트웨어를 상기 최종 제어 소프트웨어로 결정하는 단계;
상기 시뮬레이션 결과가 상기 기준 조건을 만족하지 않는 경우, 상기 프로토타입 제어 소프트웨어에 적용되는 파라미터 값을 변경하는 단계;
상기 변경된 프로토타입 제어 소프트웨어를 상기 디지털 트윈 모델에 적용하여 변경된 시뮬레이션 결과를 생성하는 단계; 및
상기 변경된 시뮬레이션 결과를 분석하여 상기 최종 제어 소프트웨어를 결정하는 단계를 포함하는, 방법.7. The method of claim 6,
Determining the final control software comprises:
determining the prototype control software as the final control software when the simulation result satisfies a predefined reference condition;
changing a parameter value applied to the prototype control software when the simulation result does not satisfy the reference condition;
generating a modified simulation result by applying the modified prototype control software to the digital twin model; and
analyzing the modified simulation result to determine the final control software.
상기 시뮬레이션 결과 또는 상기 변경된 시뮬레이션 결과가 상기 기준 조건을 만족하지 못하는 횟수를 카운팅하는 단계; 및
상기 카운팅된 횟수가 기준값에 도달하는 경우, 상기 프로토타입 제어 소프트웨어를 재생성하는 단계를 포함하는, 방법.
10. The method of claim 9,
counting the number of times the simulation result or the changed simulation result does not satisfy the reference condition; and
when the counted number reaches a reference value, regenerating the prototype control software.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200122187A KR102354594B1 (en) | 2020-09-22 | 2020-09-22 | Electronic device and method for performing control software verification applied to autonomous thing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200122187A KR102354594B1 (en) | 2020-09-22 | 2020-09-22 | Electronic device and method for performing control software verification applied to autonomous thing |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102354594B1 true KR102354594B1 (en) | 2022-01-21 |
Family
ID=80050427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200122187A KR102354594B1 (en) | 2020-09-22 | 2020-09-22 | Electronic device and method for performing control software verification applied to autonomous thing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102354594B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114578712A (en) * | 2022-03-08 | 2022-06-03 | 北京航空航天大学 | Multifunctional underwater autonomous vehicle cluster simulation system |
WO2023249185A1 (en) * | 2022-06-23 | 2023-12-28 | 현대자동차주식회사 | Vehicle production management system and method thereof |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9671777B1 (en) * | 2016-06-21 | 2017-06-06 | TruPhysics GmbH | Training robots to execute actions in physics-based virtual environment |
KR20200076323A (en) * | 2018-12-19 | 2020-06-29 | 한국전자통신연구원 | Apparatus and method for multi-model parallel execution automation and verification on digital twin |
KR20200081066A (en) * | 2018-12-27 | 2020-07-07 | 부산대학교 산학협력단 | Digital-twin system and method for optimizes the driving scenarios of a mechanical equipment |
-
2020
- 2020-09-22 KR KR1020200122187A patent/KR102354594B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9671777B1 (en) * | 2016-06-21 | 2017-06-06 | TruPhysics GmbH | Training robots to execute actions in physics-based virtual environment |
KR20200076323A (en) * | 2018-12-19 | 2020-06-29 | 한국전자통신연구원 | Apparatus and method for multi-model parallel execution automation and verification on digital twin |
KR20200081066A (en) * | 2018-12-27 | 2020-07-07 | 부산대학교 산학협력단 | Digital-twin system and method for optimizes the driving scenarios of a mechanical equipment |
Non-Patent Citations (4)
Title |
---|
Data-centric Middleware based Digital Twin Platform for Dependable Cyber-Physical Systems"" seongjin Yun extrinsic 2 people" 2017 Ninth International Conference on Ubiquitous and Future Networks (ICUFN)" 2017.07. 07. * |
The waste paper control of the robot and the object recognition using the different kind CNN algorithm"" ** * gloss extrinsic 2 people" controlling robot system learned society treatise twenty fifth Keown ninth call" 2019.09.30. * |
논문1(2017.07.07) |
논문2(2019.09.30) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114578712A (en) * | 2022-03-08 | 2022-06-03 | 北京航空航天大学 | Multifunctional underwater autonomous vehicle cluster simulation system |
CN114578712B (en) * | 2022-03-08 | 2023-09-26 | 北京航空航天大学 | Multifunctional underwater autonomous vehicle cluster simulation system |
WO2023249185A1 (en) * | 2022-06-23 | 2023-12-28 | 현대자동차주식회사 | Vehicle production management system and method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102354594B1 (en) | Electronic device and method for performing control software verification applied to autonomous thing | |
US20200320344A1 (en) | Method for training neural network model and apparatus | |
US20190146062A1 (en) | Laser point cloud positioning method and system | |
CN108769109B (en) | Unified processing method and system for data of Internet of things heterogeneous equipment | |
CN111108737B (en) | Providing software applications on edge devices in an internet of things environment | |
US20190283255A1 (en) | Robot cooperation method and device, robot, robot system, and computer program product | |
JP6753200B2 (en) | Methods, systems and computer programs for cloud-based computing clusters for simulated operator training systems | |
US20200349473A1 (en) | Method for generating universal learned model | |
EP3886043A1 (en) | Point cloud based 3d semantic segmentation | |
KR20190043419A (en) | Method of controlling computing operations based on early-stop in deep neural network | |
CN109865292B (en) | Game resource construction method and device based on game engine | |
CN112249035B (en) | Automatic driving method, device and equipment based on general data flow architecture | |
CN105252533A (en) | Robot interactive system, cloud computing platform, user terminal and robot | |
KR101653878B1 (en) | Block and user terminal for modeling 3d shape and the method for modeling 3d shape using the same | |
CN110039574A (en) | A kind of robot braking circuit, robot, robot braking method and device | |
US20220413458A1 (en) | Edge computing device for controlling electromechanical system or electronic device with local and remote task distribution control | |
CN115777088A (en) | Vehicle operation safety model test system | |
CN110060658A (en) | A kind of vehicle launch guide device | |
JP6904287B2 (en) | Control device, control method, and control program | |
KR20190094317A (en) | An artificial intelligence apparatus for predicting performance of speech recognition model in user environment and method for the same | |
US11947350B2 (en) | Devices, systems, and methods for operating intelligent vehicles using separate devices | |
JP2023541264A (en) | Automated machine learning method and device | |
Bachuwar et al. | Integration of autonomous vehicle frameworks for software-in-the-loop testing | |
CN113255161B (en) | Simulation method, device, medium and equipment for intermodal yard equipment | |
JPWO2018008391A1 (en) | Linear parameter variation model estimation system, method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |