KR20230029333A - Simulation system and the method for cloud robot control development - Google Patents

Simulation system and the method for cloud robot control development Download PDF

Info

Publication number
KR20230029333A
KR20230029333A KR1020210111696A KR20210111696A KR20230029333A KR 20230029333 A KR20230029333 A KR 20230029333A KR 1020210111696 A KR1020210111696 A KR 1020210111696A KR 20210111696 A KR20210111696 A KR 20210111696A KR 20230029333 A KR20230029333 A KR 20230029333A
Authority
KR
South Korea
Prior art keywords
simulation
cloud
unit
robot
environment
Prior art date
Application number
KR1020210111696A
Other languages
Korean (ko)
Inventor
백경석
오재철
Original Assignee
주식회사 아이온커뮤니케이션즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이온커뮤니케이션즈 filed Critical 주식회사 아이온커뮤니케이션즈
Priority to KR1020210111696A priority Critical patent/KR20230029333A/en
Priority to PCT/KR2022/004255 priority patent/WO2023027283A1/en
Publication of KR20230029333A publication Critical patent/KR20230029333A/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Abstract

The present invention relates to a simulation system and a method thereof. The simulation system comprises: a simulation environment editing unit which sets up a virtual field environment for simulation, a plurality of cloud robots, and a simulation work plan for a simulation subject; a simulation environment creation unit which, based on information about the virtual field environment and the plurality of cloud robots and information about the work plan set in the simulation environment editing unit, distributes a plurality of programs necessary for the configuration and operation of the simulation, to a cluster; a simulation operation unit which conducts simulation by linking the virtual field environment and the work plan set in the simulation environment editing part with the plurality of programs distributed from the simulation environment creation part; and a simulation result reporting unit which analyzes log data generated from the simulation operation part to create detailed reports and/or statistical dashboards on a key simulation indicator basis. The simulation system can be advantageous in developing work plans with improved productivity and efficiency.

Description

클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법{SIMULATION SYSTEM AND THE METHOD FOR CLOUD ROBOT CONTROL DEVELOPMENT}Simulation system and method for cloud robot control development {SIMULATION SYSTEM AND THE METHOD FOR CLOUD ROBOT CONTROL DEVELOPMENT}

본 발명은 클라우드 로봇 제어 개발를 위한 시뮬레이션 시스템 및 그 방법에 관한 것으로서, 특히 클라우드에서 작업 계획 설정 시 작업 계획에 대한 상세 프로파일을 개발하기 위한 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법에 관한 것이다. The present invention relates to a simulation system and method for developing a cloud robot control, and more particularly, to a simulation system and method for developing a cloud robot control for developing a detailed profile for a work plan when setting a work plan in the cloud.

클라우드 로봇은 웹 기반의 클라우드 환경을 활용한 로봇으로, 로봇의 몸체는 입력된 환경을 클라우드로 보내 이에 맞는 정보를 클라우드에서 명령 받아 실행하는 매개체로써의 역할을 담당하며, 클라우드는 로봇의 복잡한 모션 생성, 환경 인지, 지식 검색 등의 고차원적 수행을 담당하는 로봇의 뇌 역할을 할 수 있다.A cloud robot is a robot that utilizes a web-based cloud environment. The body of the robot sends the input environment to the cloud and receives and executes appropriate information from the cloud, and the cloud creates complex motions of the robot. It can serve as the robot's brain responsible for high-level performance such as environmental awareness and knowledge retrieval.

예를 들어, 클라우드 로봇 개념을 물류 로봇에 적용하면, 클라우드에서 복수의 물류 로봇의 작업 계획을 설정하고 복수의 물류 로봇에게 제어 명령을 지시할 수 있다. 또한, 새로운 작업 계획 반영이 필요한 경우 복수의 물류 로봇의 배치, 복수의 물류 로봇 각각의 새로운 임무 및 이동 결로 설정 등을 클라우드에서 설정할 수 있다.For example, if the concept of a cloud robot is applied to a logistics robot, a task plan for a plurality of logistics robots may be set in the cloud and a control command may be given to the plurality of logistics robots. In addition, when a new work plan needs to be reflected, arrangement of a plurality of logistics robots, new missions and movement paths of each of the plurality of logistics robots can be set in the cloud.

물류 현장에서 동작하는 물류 클라우드 로봇을 통제 관리하는 시스템이 연계 시스템을 통해 실제 로봇에게 전송하는 상세 작업 계획은 현장의 물류 환경 변화, 물품 변경, 로봇의 대수 변경, 물량 변경 등과 같은 요구 변화에 따라 변경되며, 클라우드 로봇의 상세 작업 계획에 오류나 예기치 못한 이벤트가 포함되어 있다면 고가의 로봇이 서로 충돌하거나 다른 물류 설비와 충돌함에 따른 파손, 생산성 및 효율성 저하 등의 문제가 발생할 수 있다.The detailed work plan transmitted to the actual robot by the system that controls and manages the logistics cloud robot operating in the logistics site is changed according to changes in demand such as changes in the logistics environment at the site, product change, change in the number of robots, and change in quantity. In addition, if errors or unexpected events are included in the detailed work plan of the cloud robot, problems such as damage, productivity and efficiency degradation due to collisions between expensive robots or other logistics facilities may occur.

따라서, 물류 클라우드에서 작업 계획 설정을 위해 작업 계획에 대한 상세 프로파일을 개발함에 있어, 상술한 오류 또는 이벤트를 미연에 방지하기 위한 방안이 필요한 실정이다.Therefore, in developing a detailed profile for a work plan for setting a work plan in the logistics cloud, a method for preventing the above-described error or event in advance is required.

본 발명이 해결하고자 하는 과제는 클라우드 로봇 제어에 의한 현장의 생산성 및 효율성을 높이고, 클라우드 로봇 제어 시 발생할 수 있는 에러가 미연에 방지된 작업 계획(또는 상세 프로파일) 개발을 지원하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법을 제공하고자 하는 것이다.The problem to be solved by the present invention is to develop a cloud robot control that supports the development of a work plan (or detailed profile) in which errors that may occur during control of a cloud robot are prevented in advance and increase the productivity and efficiency of the field by cloud robot control. It is intended to provide a simulation system and method for

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.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.

일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템은, 시뮬레이션을 위한 가상 현장 환경, 복수의 클라우드 로봇 및 시뮬레이션 대상 작업 계획을 설정하는 시뮬레이션 환경 편집부, 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경, 상기 복수의 클라우드 로봇에 관한 정보 및 상기 작업 계획에 대한 정보를 기반으로 해당 시뮬레이션 구성 및 동작에 필요한 복수의 프로그램을 클러스터에 배포하는 시뮬레이션 환경 생성부, 상기 시뮬레이션 환경 생성부로부터 배포된 복수의 프로그램 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경과 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 시뮬레이션 동작부 및 상기 시뮬레이션 동작부에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 시뮬레이션 결과 보고부를 포함할 수 있다.A simulation system for cloud robot control development according to an embodiment includes a virtual field environment for simulation, a simulation environment editing unit for setting a plurality of cloud robots and a simulation target work plan, the virtual field environment set in the simulation environment editing unit, the A simulation environment generating unit distributing a plurality of programs necessary for the configuration and operation of the simulation to the cluster based on the information on the plurality of cloud robots and the information on the work plan, the plurality of programs distributed from the simulation environment generating unit, and the above A simulation operation unit that performs simulation by linking the work plan with the virtual field environment set in the simulation environment editing unit and analyzes the log data generated by the simulation operation unit to generate detailed reports and/or statistical dashboards in units of key simulation indicators. It may include a generated simulation result reporting unit.

상기 시뮬레이션 환경 생성부는, 상기 시뮬레이션에 대응하는 캠페인 전용 클러스터를 생성하고, 상기 시뮬레이션 환경 편집부에서 설정된 정보를 기반으로 상기 캠페인 전용 클러스터에 적어도 하나의 서버, 메모리 및 디스크를 포함하는 리소스를 할당하는 클러스터 생성부를 포함할 수 있다.The simulation environment creation unit creates a cluster dedicated to the campaign corresponding to the simulation, and allocates resources including at least one server, memory, and disk to the dedicated campaign cluster based on the information set in the simulation environment editor. wealth may be included.

상기 시뮬레이션 환경 생성부는, 현장 지원 시스템 프로그램 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 복수의 클라우드 로봇에 관한 정보를 기반으로 상기 복수의 클라우드 로봇의 유형별 대수에 대응하여 복수의 로봇 시뮬레이터 프로그램을 상기 클러스터에 배포하는 프로그램 배포부를 더 포함할 수 있다.The simulation environment generating unit distributes a plurality of robot simulator programs to the cluster in response to the number of cloud robots for each type based on information about the plurality of cloud robots set in the field support system program and the simulation environment editing unit. A program distribution unit may be further included.

상기 시뮬레이션 환경 생성부는, 상기 현장 지원 시스템 프로그램 및 상기 복수의 로봇 시뮬레이터 프로그램 중 적어도 어느 하나를 생성하는 프로그램 생성부를 더 포함할 수 있다.The simulation environment generator may further include a program generator that generates at least one of the on-site support system program and the plurality of robot simulator programs.

상기 시뮬레이션 결과 보고부는, 상기 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고, 상기 복수의 로봇 시뮬레이터 별로 상기 로그 데이터를 분류하여 제공할 수 있다.The simulation result reporting unit may extract log data related to a history of an abnormal operation or a collision of each of the plurality of robot simulators, and classify and provide the log data for each of the plurality of robot simulators.

상기 시뮬레이션 동작부는, 상기 시뮬레이션 환경 생성부로부터 배포된 복수의 프로그램들 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경, 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 시뮬레이션부, 및 상기 가상 현장 환경을 모사한 사용자 인터페이스 화면을 제공하고, 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 상기 복수의 로봇 시뮬레이터 각각의 상태 값을 표시하는 모니터링부를 포함할 수 있다.The simulation operating unit is a simulation unit that performs a simulation by linking a plurality of programs distributed from the simulation environment generating unit, the virtual field environment set in the simulation environment editing unit, and the work plan, and a simulation unit that simulates the virtual field environment. It may include a monitoring unit that provides a user interface screen and displays state values of each of the plurality of robot simulators on the user interface screen by linking work execution situations of a plurality of robot simulators in real time.

상기 시뮬레이션 동작부는, 상기 시뮬레이션 실시 과정에서 로그 데이터를 생성하는 로그 생성부를 더 포함하되, 상기 로그 데이터는 상기 복수의 로봇 시뮬레이터 각각의 작업 수행 상황을 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성한 데이터일 수 있다.The simulation operation unit further includes a log generation unit that generates log data in the course of the simulation, wherein the log data detects the task performance status of each of the plurality of robot simulators according to a predetermined period and / or work progress It may be data you have created.

상기 시뮬레이션 핵심 지표는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 및 비정상 동작 중 적어도 어느 하나 및/또는 상기 시뮬레이션에 따른 목표 달성률, 생산성, 및 효율성 중 적어도 어느 하나를 포함할 수 있다.The simulation key index includes at least one of a moving state, speed, accuracy of object pickup or loading, and abnormal operation of each of a plurality of robot simulators, and/or at least one of a target achievement rate, productivity, and efficiency according to the simulation. can do.

어느 하나의 시뮬레이션 시작부터 종료까지 캠페인 단위로 관리할 수 있도록 캠페인 정보를 등록하는 시뮬레이션 관리부를 더 포함하고, 상기 상세 리포트 및/또는 상기 통계 대시보드는 상기 시뮬레이션의 상기 로그 데이터를 분석한 결과 및 상기 시뮬레이션과 다른 캠페인 식별 정보에 따라 생성된 다른 시뮬레이션의 로그 데이터와 비교 분석한 결과를 포함할 수 있다.A simulation management unit registering campaign information so that campaign information can be managed from the start to the end of any one simulation in units of campaigns, and the detailed report and/or the statistics dashboard displays results of analyzing the log data of the simulation and the log data of the simulation. It may include the results of comparative analysis with log data of other simulations generated according to campaign identification information different from the simulation.

일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법은, 복수의 클라우드 로봇 제어를 위한 작업 계획의 개발을 지원하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법으로서, 시뮬레이션을 캠페인 단위로 관리할 수 있는 캠페인 정보를 등록하는 단계, 상기 시뮬레이션을 위한 가상 현장 환경, 복수의 물류 클라우드 로봇 및 상기 작업 계획에 대한 정보를 설정하는 단계, 상기 가상 현장 환경, 상기 복수의 물류 클라우드 로봇 및 상기 작업 계획에 대한 정보를 기반으로 상기 시뮬레이션의 구성 및 동작에 필요한 복수의 프로그램을 배포하여 시뮬레이션 환경을 생성하는 단계, 상기 복수의 프로그램, 상기 가상 현장 환경 및 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 단계 및 상기 시뮬레이션 실시 단계에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 단계를 포함할 수 있다.A simulation method for developing cloud robot control according to an embodiment is a simulation method for developing cloud robot control that supports the development of a work plan for controlling a plurality of cloud robots, and includes campaign information capable of managing simulation in units of campaigns. Registering, setting information about the virtual field environment for the simulation, a plurality of logistics cloud robots, and the work plan, based on information about the virtual field environment, the plurality of logistics cloud robots, and the work plan. Creating a simulation environment by distributing a plurality of programs necessary for the configuration and operation of the simulation, performing a simulation by linking the plurality of programs, the virtual field environment, and the work plan, and generating in the simulation implementation step and generating detailed reports and/or statistical dashboards in units of simulation key indicators by analyzing the collected log data.

상기 복수의 프로그램은 실제 현장에서 적용되는 현장 지원 시스템 프로그램, 상기 복수의 물류 클라우드 로봇의 유형별 대수에 대응한 복수의 로봇 시뮬레이터 프로그램 및 가상 물리 엔진 프로그램을 포함할 수 있다.The plurality of programs may include a field support system program applied in an actual field, a plurality of robot simulator programs corresponding to the number of types of the plurality of logistics cloud robots, and a virtual physics engine program.

상기 로그 데이터는 상기 복수의 로봇 시뮬레이터 각각의 작업 수행 상황을 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성한 데이터일 수 있다.The log data may be data generated by detecting the task performance status of each of the plurality of robot simulators according to a preset period and/or a task progress process.

상기 시뮬레이션 핵심 지표는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 및 비정상 동작 중 적어도 어느 하나 및/또는 상기 시뮬레이션에 따른 목표 달성률, 생산성, 및 효율성 중 적어도 어느 하나를 포함할 수 있다.The simulation key index includes at least one of a moving state, speed, accuracy of object pickup or loading, and abnormal operation of each of a plurality of robot simulators, and/or at least one of a target achievement rate, productivity, and efficiency according to the simulation. can do.

상기 시뮬레이션을 실시하는 단계는, 상기 가상 현장 환경을 모사한 사용자 인터페이스 화면을 제공하고, 상기 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 상기 복수의 로봇 시뮬레이터 각각의 상태 값을 표시할 수 있다.In the step of performing the simulation, a user interface screen that simulates the virtual field environment is provided, and the state values of each of the plurality of robot simulators are displayed on the user interface screen by linking the task execution status of the plurality of robot simulators in real time. can be displayed.

상기 시뮬레이션 실시 과정에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 단계는, 상기 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고, 상기 복수의 로봇 시뮬레이터 별로 상기 로그 데이터를 분류하여 제공할 수 있다.The step of analyzing the log data generated in the course of the simulation to generate a detailed report and/or a statistical dashboard in units of key simulation indicators includes log data on the history of abnormal operations or crashes of each of the plurality of robot simulators. After extracting, the log data may be classified and provided for each of the plurality of robot simulators.

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

실시예들에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법에 의하면, 개발자가 개발한 작업 계획에 따라 시뮬레이션을 실시하고, 상기 시뮬레이션을 실시간 사용자 인터페이스 화면으로 제공하며, 상기 시뮬레이션에 대한 상세 리포트 및/또는 통계 대시보드를 제공함으로써, 개발자는 시뮬레이션 목표 달성 여부 및 수정을 요하는 사항이 있는지 여부를 미리 확인할 수 있다. 이에 따라, 생산성 및 효율성이 향상된 작업 계획(또는 상세 프로파일)을 개발하는 데 유리할 수 있다.According to the simulation system and method for developing cloud robot control according to embodiments, a simulation is performed according to a work plan developed by a developer, the simulation is provided as a real-time user interface screen, and detailed reports and /or By providing a statistics dashboard, developers can check in advance whether simulation goals have been met and whether any modifications are required. Accordingly, it may be advantageous to develop work plans (or detailed profiles) with improved productivity and efficiency.

또한, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법은 상기 시뮬레이션 과정에서 설정된 작업 계획(또는 상세 프로파일)에 따라 발생한 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력 정보를 제공하므로, 개발자는 작업 계획의 오류가 명확한 부분을 직관적으로 확인할 수 있다. 나아가, 작업 계획의 오류나 실제 복수의 클라우드 로봇 제어 시 발생할 수 있는 비정상 동작이나 충돌과 같은 에러를 미연에 방지할 수 있다.In addition, a simulation system and method for developing cloud robot control according to an embodiment provides history information such as abnormal operation or collision of each of a plurality of robot simulators generated according to a work plan (or detailed profile) set in the simulation process. Therefore, the developer can intuitively check the obvious error part of the work plan. Furthermore, errors in work plans or errors such as abnormal operations or collisions that may occur when controlling multiple cloud robots can be prevented in advance.

본 발명의 실시예들에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.Effects according to the embodiments of the present invention are not limited by the contents exemplified above, and more diverse effects are included in the present specification.

도 1은 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 네트워크 구성을 보여주는 개요도이다.
도 2는 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 구성을 개략적으로 보여주는 블록도이다.
도 3은 일 실시예에 따른 시뮬레이션 환경 편집부의 구성을 개략적으로 보여주는 블록도이다.
도 4는 일 실시예에 따른 시뮬레이션 환경 생성부의 구성을 개략적으로 보여주는 블록도이다.
도 5는 일 실시예에 따른 현장 지원 시스템 및 네트워크 구성을 개략적으로 보여주는 블록도이다.
도 6은 일 실시예에 따른 시뮬레이션 동작부의 구성을 개략적으로 보여주는 블록도이다.
도 7은 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법을 보여주는 흐름도이다.
1 is a schematic diagram showing a network configuration of a simulation system for cloud robot control development according to an embodiment.
2 is a block diagram schematically showing the configuration of a simulation system for cloud robot control development according to an embodiment.
3 is a block diagram schematically showing the configuration of a simulation environment editing unit according to an embodiment.
Figure 4 is a block diagram schematically showing the configuration of the simulation environment generating unit according to an embodiment.
5 is a block diagram schematically showing a field support system and network configuration according to an embodiment.
6 is a block diagram schematically showing the configuration of a simulation operation unit according to an exemplary embodiment.
7 is a flowchart illustrating a simulation method for developing cloud robot control according to an embodiment.

이하에서 본 발명의 기술적 사상을 명확화하기 위하여 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하도록 한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성요소에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 것이다. 도면들 중 실질적으로 동일한 기능 구성을 갖는 구성요소들에 대하여는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들을 부여하였다. 설명의 편의를 위하여 필요한 경우에는 장치와 방법을 함께 서술하도록 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to clarify the technical spirit of the present invention. In describing the present invention, if it is determined that a detailed description of a related known function or component may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. Components having substantially the same functional configuration in the drawings are given the same reference numerals and reference numerals as much as possible, even though they are displayed on different drawings. For convenience of description, the device and method are described together if necessary.

비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Although first, second, etc. are used to describe various components, these components are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first element mentioned below may also be the second element within the technical spirit of the present invention.

도 1은 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 네트워크 구성을 보여주는 개요도이다.1 is a schematic diagram showing a network configuration of a simulation system for cloud robot control development according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 네트워크 구성은 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100), 네트워크(200) 및 개발자 단말(300)을 포함할 수 있다.Referring to FIG. 1 , a network configuration of a simulation system for cloud robot control development according to an embodiment may include a simulation system 100 for cloud robot control development, a network 200, and a developer terminal 300. .

클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)은 시뮬레이션 대상 작업 계획 즉, 클라우드에서 복수의 클라우드 로봇 각각을 제어하기 위한 작업 계획을 입력 받고, 복수의 가상의 클라우드 로봇 및 상기 복수의 가상의 클라우드 로봇이 동작하는 가상의 현장 환경을 생성하여 가상 물리 엔진을 통해 가상의 클라우드 로봇 각각이 상기 작업 계획에 따라 정상적으로 작업을 수행하는지 시뮬레이션 할 수 있다. The simulation system 100 for cloud robot control development receives a simulation target work plan, that is, a work plan for controlling each of a plurality of cloud robots in the cloud, and a plurality of virtual cloud robots and the plurality of virtual cloud robots By creating a virtual field environment that operates, it is possible to simulate whether each virtual cloud robot normally performs a task according to the work plan through a virtual physics engine.

또한, 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)은 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 상기 시뮬레이션 과정을 실시간으로 제공하고, 상기 시뮬레이션 과정에서 상기 복수의 가상의 클라우드 로봇의 작업 내역, 이동 상태, 비정상 동작이나 충돌과 같은 에러 발생 등을 로그 데이터로 저장하여 통계 대시 보드 및 상세 리포트를 생성할 수 있다. In addition, the simulation system 100 for cloud robot control development provides the simulation process in real time through any one of an application program, an application, or a website, and in the simulation process, work details of the plurality of virtual cloud robots, You can create statistical dashboards and detailed reports by saving the movement status, abnormal operation, or occurrence of errors such as crashes as log data.

이에 따라, 개발자 단말(300)은 작업 계획에 대한 상세 프로파일을 개발함에 있어 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)을 이용함으로써, 개발한 상세 프로파일에 의해 가상의 복수의 클라우드 로봇이 정상 작동하는지 여부를 실시간으로 확인할 수 있다. 또한, 개발자 단말(300)은 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)에서 생성된 통계 대시보드 및 상세 리포트를 제공받아 목표 달성 여부 또는 수정 사항을 인지하고 시뮬레이션 과정에서 발생한 에러를 확인함으로써, 작업 계획의 오류나 실제 클라우드 로봇 제어 시 발생할 수 있는 에러를 미연에 방지하며 복수의 클라우드 로봇의 작업 생산성 및 효율성을 높이는 데 유리할 수 있다.Accordingly, the developer terminal 300 uses the simulation system 100 for cloud robot control development in developing a detailed profile for a work plan, thereby determining whether a plurality of virtual cloud robots operate normally according to the developed detailed profile. can be checked in real time. In addition, the developer terminal 300 receives a statistical dashboard and a detailed report generated by the simulation system 100 for cloud robot control development, recognizes whether a goal has been achieved or a correction, and checks an error occurred in the simulation process, thereby working It can be advantageous to prevent errors in planning or errors that may occur during actual control of cloud robots, and to increase work productivity and efficiency of multiple cloud robots.

클라우드 로봇은 스마트 공장 구현을 위한 제조 현장 및 물류 현장, 국방/사회안전을 위한 국방/재난 대응 현장, 건물이나 구조물을 짓기 위한 건축 현장, 원예 또는 농업 지원을 위한 농업 현장 등에 적용될 수 있다. 이하에서는 클라우드 로봇의 작업 현장으로서 물류 현장을 예로 하여 구체적인 실시예에 대해 설명하기로 한다. 그러나, 실시예들의 기술적 사상은 물류 현장에 제한되지 않고, 앞서 설명한 다양한 현장에 적용 가능하다. Cloud robots can be applied to manufacturing sites and logistics sites for implementing smart factories, defense/disaster response sites for national defense/social safety, construction sites for constructing buildings or structures, and agricultural sites for horticultural or agricultural support. Hereinafter, specific embodiments will be described by taking a logistics site as an example of a cloud robot work site. However, the technical idea of the embodiments is not limited to the logistics site, and can be applied to various sites described above.

클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)에 대한 상세한 설명은 도 2 내지 도 6을 참조하여 설명한다.A detailed description of the simulation system 100 for cloud robot control development will be described with reference to FIGS. 2 to 6 .

네트워크(200)는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)과 개발자 단말(300)이 서로 통신하는 통신망(Communication Network)으로 통신 양태를 특별하게 가리지 않고 구성될 수 있다. 예를 들어, 단거리 통신망(Personal Area Network, PAN), 근거리 통신망(Local Area Network, LAN), 도시권 통신망(Metropolitan Area Network, MAN), 광역 통신망(Wide Area Network, WAN) 등 다양한 통신망으로 구성될 수 있으나, 이에 제한되는 것은 아니다.The network 200 is a communication network in which the simulation system 100 for cloud robot control development and the developer terminal 300 communicate with each other, and may be configured without specifically selecting communication aspects. For example, it may be composed of various communication networks such as a personal area network (PAN), a local area network (LAN), a metropolitan area network (MAN), and a wide area network (WAN). However, it is not limited thereto.

개발자 단말(300)은 복수의 클라우드 로봇 각각의 작업 계획에 대한 상세 프로파일을 개발 또는 작성하는 개발자의 단말일 수 있다. 개발자 단말(300)은 인터넷 및/또는 인트라넷과 같은 유/무선 통신망을 통해 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)과 데이터 통신을 할 수 있는 장치로, 예를 들어 노트북, 핸드헬드 장치, 스마트폰, 태플릿 PC 등의 모바일 단말, 데스크탑 컴퓨터 또는 이러한 장치를 이용하거나 직간접적으로 이와 연결된 임의의 장치일 수 있다.The developer terminal 300 may be a terminal of a developer who develops or creates a detailed profile for a work plan of each of a plurality of cloud robots. The developer terminal 300 is a device capable of data communication with the simulation system 100 for cloud robot control development through a wired / wireless communication network such as the Internet and / or intranet, for example, a laptop computer, a handheld device, a smart It may be a mobile terminal such as a phone or tablet PC, a desktop computer, or any device using or directly or indirectly connected to such a device.

개발자 단말(300)은 복수의 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)에서 제공하는 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 작업 계획을 설정하거나 가상 작업 환경을 생성 및 편집하고, 시뮬레이션 과정을 실시간으로 확인하며, 시뮬레이션 과정이 기록된 로그 데이터, 통계 대시보드 및 상세 리포트를 확인할 수 있다. The developer terminal 300 sets a work plan or creates and edits a virtual work environment through any one of applications, applications, or websites provided by the simulation system 100 for developing control of a plurality of cloud robots, and the simulation process can be viewed in real time, log data recorded during the simulation process, statistical dashboards and detailed reports can be checked.

도 2는 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 구성을 개략적으로 보여주는 블록도이다.2 is a block diagram schematically showing the configuration of a simulation system for cloud robot control development according to an embodiment.

일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)은 통신부(110), 시뮬레이션 관리부(120), 시뮬레이션 환경 편집부(130), 시뮬레이션 환경 생성부(140), 시뮬레이션 동작부(150), 및 시뮬레이션 결과 보고부(160)를 포함할 수 있다.The simulation system 100 for cloud robot control development according to an embodiment includes a communication unit 110, a simulation management unit 120, a simulation environment editing unit 130, a simulation environment generation unit 140, a simulation operation unit 150, And it may include a simulation result reporting unit 160.

통신부(110)는 네트워크(200)를 통해 유선 또는 무선으로 개발자 단말(300)과 데이터 통신을 할 수 있다. 통신부(110)는 TCP/IP(Transmission Control Protocol/Internet Protocol) 등을 지원하는 유선 인터넷 통신 방법 또는 WCMDA(Wideband Code Division Multiple Access), LTE(Long Term Evolution), WiBro(Wireless Broadband Internet) 및 WiFi(Wireless Fidelity) 등과 같은 다양한 무선 통신 방법 중 적어도 어느 하나를 통해 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)과 개발자 단말(300) 간 데이터를 송수신할 수 있다.The communication unit 110 may perform data communication with the developer terminal 300 by wire or wirelessly through the network 200 . The communication unit 110 is a wired Internet communication method supporting TCP/IP (Transmission Control Protocol/Internet Protocol), etc. or WCMDA (Wideband Code Division Multiple Access), LTE (Long Term Evolution), WiBro (Wireless Broadband Internet) and WiFi ( Data may be transmitted and received between the simulation system 100 for cloud robot control development and the developer terminal 300 through at least one of various wireless communication methods such as Wireless Fidelity).

시뮬레이션 관리부(120)는 개발자 단말(300)이 어느 하나의 시뮬레이션 시작부터 종료까지 캠페인 단위로 관리할 수 있도록 캠페인 정보를 등록하는 기능을 제공할 수 있다. 여기서, 캠페인 정보는 캠페인 식별 정보, 및 시뮬레이션의 목표와 시뮬레이션의 세부 환경 등과 같은 해당 시뮬레이션에 관한 모든 정보를 포함하며, 캠페인은 시뮬레이션을 관리하는 최소 단위일 수 있다. 상기 캠페인 식별 정보는 개발자 단말(300)이 임의로 설정한 문자열 및/또는 숫자일 수 있으나, 이에 제한되는 것은 아니다.The simulation management unit 120 may provide a function of registering campaign information so that the developer terminal 300 can manage campaigns in units of campaigns from the start to the end of any one simulation. Here, the campaign information includes campaign identification information, and all information related to the corresponding simulation, such as a simulation goal and a detailed environment of the simulation, and the campaign may be a minimum unit for managing the simulation. The campaign identification information may be a character string and/or number arbitrarily set by the developer terminal 300, but is not limited thereto.

클라우트 로봇 제어 개발을 위한 시뮬레이션 시스템(100)이 복수의 시뮬레이션을 관리하는 경우, 시뮬레이션 관리부(120)는 캠페인 식별 정보에 따라 복수의 캠페인을 분류하여 관리할 수 있다. 이에 따라, 관리자 단말(300)은 복수의 시뮬레이션 각각을 식별 및 관리할 수 있다.When the simulation system 100 for cloud robot control development manages a plurality of simulations, the simulation management unit 120 may classify and manage a plurality of campaigns according to campaign identification information. Accordingly, the manager terminal 300 may identify and manage each of a plurality of simulations.

시뮬레이션 환경 편집부(130)는 시뮬레이션을 위한 물류 현장 환경, 물류 클라우드 로봇을 설정하며, 시뮬레이션 대상 작업 계획을 설정할 수 있다. The simulation environment editing unit 130 may set a logistics field environment and a logistics cloud robot for simulation, and may set a simulation target work plan.

도 3은 일 실시예에 따른 시뮬레이션 환경 편집부의 구성을 개략적으로 보여주는 블록도이다.3 is a block diagram schematically showing the configuration of a simulation environment editing unit according to an embodiment.

도 3을 참조하면, 시뮬레이션 환경 편집부(130)는 현장 구조 설정부(131), 현장 구조 편집부(132), 로봇 설정부(133) 및 작업 계획 등록부(134)를 포함할 수 있다.Referring to FIG. 3 , the simulation environment editing unit 130 may include a site structure setting unit 131 , a site structure editing unit 132 , a robot setting unit 133 and a work plan registration unit 134 .

현장 구조 설정부(131)는 통신부(110)를 통해 개발자 단말(300)로부터 물류 현장의 레이아웃 파일을 수신하여 가상 물류 현장의 구조를 설정(또는 생성)할 수 있다. 여기서, 물류 현장의 레이아웃 파일은 복수의 물류 클라우드 로봇이 동작하는 실제 물류 현장으로서 예를 들어, 선반 위치, 물건 픽업 공간, 물품 배치 구조, 물류 클라우드 로봇의 충전 스테이션의 위치, 생산라인 등의 현장 구조가 도시된 캐드(CAD) 파일일 수 있다. 다만, 이에 제한되는 것은 아니고, 예를 들어 물류 현장의 레이아웃 파일은 실제 물류 현장의 구조가 도시된 이미지 파일, pdf 파일 등을 포함할 수도 있다. The site structure setting unit 131 may receive a layout file of the logistics site from the developer terminal 300 through the communication unit 110 and set (or create) a structure of the virtual logistics site. Here, the layout file of the logistics site is an actual logistics site where a plurality of logistics cloud robots operate. may be a CAD (CAD) file shown. However, it is not limited thereto, and for example, a layout file of a logistics site may include an image file showing a structure of an actual logistics site, a pdf file, and the like.

또한, 현장 구조 설정부(131)는 개발자 단말(300)로부터 상기 레이아웃 파일에 포함되지 않은 물류 현장의 추가적인 환경 정보를 수신하여 가상 물류 현장의 구조를 설정할 수 있다. 예를 들어, 물류 현장의 추가적인 환경 정보는 엘리베이터의 위치, 출입문의 식별 및 복수의 클라우드 로봇 동작에 있어 식별이 필요한 구역 정보 등을 포함할 수 있다. 현장 구조 설정부(131)는 물류 현장의 추가적인 환경 정보를 수신함에 있어, 개발자 단말(300)에 상기 물류 현장의 레이아웃 파일에 의해 설정된 가상 물류 현장의 구조를 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 표시하는 기능을 제공할 수 있다. In addition, the site structure setting unit 131 may receive additional environmental information of the logistics site not included in the layout file from the developer terminal 300 to set the structure of the virtual logistics site. For example, the additional environmental information of the distribution site may include information on an area requiring identification in the location of an elevator, identification of a door, and operation of a plurality of cloud robots. In receiving additional environmental information of the logistics site, the site structure setting unit 131 transfers the structure of the virtual logistics site set by the layout file of the logistics site to the developer terminal 300 to any one of an application, an application, or a website. A display function can be provided through

현장 구조 설정부(131)는 물류 현장의 레이아웃 파일 및 물류 현장의 추가적인 환경 정보를 토대로 설정된 가상 물류 현장 파일을 현장 구조 편집부(132)에 전달 및/또는 공유할 수 있다. The site structure setting unit 131 may transfer and/or share a virtual logistics site file set based on the layout file of the logistics site and additional environment information of the logistics site to the site structure editing unit 132 .

현장 구조 편집부(132)는 현장 구조 설정부(131)에서 설정된 가상 물류 현장의 레이아웃 상 위치, 크기 및 배치 등을 편집하는 기능을 제공할 수 있다. 예를 들어, 개발자 단말(300)은 현장 구조 편집부(132)에 가상 물류 현장 내의 물품, 로봇, 선반 등과 같은 다양한 객체의 고정 위치 혹은 시작 위치, 높이나 폭과 같은 크기, 복수의 객체 및/또는 구조물 간의 배치 관계 등에 관한 정보를 수신하여 가상 물류 현장 편집을 위한 조건 정보로 활용할 수 있다.The site structure editing unit 132 may provide a function of editing the position, size, arrangement, etc. of the layout of the virtual logistics site set by the site structure setting unit 131 . For example, the developer terminal 300 provides the field structure editing unit 132 with fixed positions or starting positions of various objects such as items, robots, shelves, etc. in a virtual logistics site, sizes such as height or width, a plurality of objects and/or structures. Information on the arrangement relationship between the distribution channels and the like can be received and used as condition information for editing the virtual logistics site.

현장 구조 편집부(132)는 수신된 가상 물류 현장 편집을 위한 상기 조건 정보를 이용하여 현장 구조 설정부(131)로부터 전달받은 가상 물류 현장 파일을 편집하여 개발자 단말(300)에 제공할 수 있다. 또한, 현장 구조 편집부(132)는 상기 가상 물류 현장 파일을 시뮬레이션 환경 생성부(140)에 전달 및/또는 공유할 수 있다.The site structure editing unit 132 may edit the virtual distribution site file received from the site structure setting unit 131 using the condition information for editing the received virtual distribution site and provide it to the developer terminal 300 . In addition, the field structure editing unit 132 may transmit and/or share the virtual logistics field file to the simulation environment generating unit 140 .

로봇 설정부(133)는 시뮬레이션을 위한 시나리오에서 확인하고자 하는 클라우드 로봇의 유형 및 유형별 대수를 설정하는 기능을 제공할 수 있다. 로봇 설정부(133)는 개발자 단말(300)로부터 시뮬레이션을 위한 시나리오에서 확인하고자 하는 클라우드 로봇의 유형 및 유형별 대수에 관한 정보를 전송 받아 가상의 복수의 클라우드 로봇을 설정할 수 있다. The robot setting unit 133 may provide a function of setting the type and number of cloud robots to be checked in a scenario for simulation. The robot setting unit 133 may set a plurality of virtual cloud robots by receiving information about the type and number of cloud robots to be checked in a simulation scenario from the developer terminal 300 .

예를 들어, 클라우드 로봇의 유형은 운반물을 자동으로 운송하며, 바닥에 레일 없이 주행가능한 무인 운반차(Automated Guided Vehicle, AGV) 및 주행을 돕는 마커, 와이어 또는 마그넷 없이 라이더, 카메라 또는 GPS 등의 센서를 이용하여 주행가능한 자율 이동 로봇(Autonomous Mobile Robot, AMR)을 포함할 수 있다. 또한, 클라우드 로봇의 유형은 기능에 따라 분류되며, 물건을 잡고 옮기거나 물건을 조립할 수 있는 다관절 이중암과 그리퍼를 포함하는 구동부를 구비하는 조립용 이동 로봇, 물건을 적재할 수 있는 트레이를 구비하는 운반용 이동 로봇, 물건을 잡고 옮기거나 조작할 수 있는 다관절 암과 그리퍼를 포함하는 구동부를 구비하는 픽업용 이동 로봇, 물체의 인식과 분류가 가능한 물체 분류 인식 로봇, 물체가 적재된 공간을 인식할 수 있는 물체 적재 공간 인식 이동 로봇 등을 포함할 수 있다. 다만, 클라우드 로봇의 유형이 이에 제한되는 것은 아니다.For example, the types of cloud robots include automated guided vehicles (AGVs) that transport goods automatically and can run without rails on the floor, and sensors such as lidars, cameras, or GPS without markers, wires, or magnets that help driving. An autonomous mobile robot (AMR) capable of driving using may be included. In addition, the types of cloud robots are classified according to their functions, and are equipped with multi-joint dual arms capable of holding and moving objects or assembling objects and a mobile robot for assembly equipped with a driving unit including a gripper and a tray capable of loading objects. A mobile robot for pickup having a driving unit including an articulated arm and a gripper capable of holding, moving or manipulating objects, an object classification recognition robot capable of recognizing and classifying objects, recognizing a space where objects are loaded It may include a mobile robot capable of recognizing an object loading space. However, the type of cloud robot is not limited thereto.

또한, 몇몇 실시예에서, 복수의 클라우드 로봇은 적어도 어느 하나의 로봇을 포함하는 그룹으로 묶이고, 복수의 그룹 각각은 해당 그룹에 소속된 로봇에 세부 임무를 할당하고 제어할 수 있는 제어 권한이 부여된 리더 로봇을 포함할 수 있다. 이 경우, 리더 로봇은 엣지 컴퓨팅 성능의 HW 장치내에 기능을 내장하여 리더 로봇 역할을 수행할 수도 있다.In addition, in some embodiments, a plurality of cloud robots are grouped into groups including at least one robot, and each of the plurality of groups assigns detailed tasks to robots belonging to the corresponding group and is given control authority to control them. A leader robot may be included. In this case, the leader robot may serve as a leader robot by embedding a function in a HW device with edge computing capability.

로봇 설정부(133)는 설정된 가상의 복수의 클라우드 로봇에 관한 정보를 시뮬레이션 환경 생성부(140)에 전달 및/또는 공유할 수 있다.The robot setting unit 133 may transfer and/or share information about a plurality of set virtual cloud robots to the simulation environment generating unit 140 .

작업 계획 등록부(134)는 시뮬레이션 대상 작업 계획을 설정할 수 있다. 여기서, 작업 계획은 작업 목표, 해당 로봇의 담당 역할, 작업 규칙, 예외 상황 발생 시 예외 처리 규칙, 다른 로봇과 협업 역할, 이동 경로 등을 포함할 수 있다. 다만, 이에 제한되는 것은 아니다.Work plan registration unit 134 may set a simulation target work plan. Here, the work plan may include a work goal, a role in charge of the corresponding robot, a work rule, an exception handling rule when an exception occurs, a role for collaborating with other robots, a moving route, and the like. However, it is not limited thereto.

또한, 작업 계획은 복수의 클라우드 로봇 각각에 대해 설정될 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 작업 계획은 클라우드 로봇의 유형에 따라 설정될 수도 있고, 물류 현장의 구역 및 클라우드 로봇의 유형에 따라 설정될 수도 있다. 또한, 복수의 클라우드 로봇이 복수의 그룹으로 묶이고, 상기 리더 로봇을 포함하는 경우, 작업 계획 등록부(134)는 상기 리더 로봇 별로 작업 계획을 설정할 수도 있다.In addition, a work plan may be set for each of a plurality of cloud robots, but is not limited thereto. For example, the work plan may be set according to the type of the cloud robot, or may be set according to the area of the distribution site and the type of the cloud robot. In addition, when a plurality of cloud robots are grouped into a plurality of groups and include the leader robot, the work plan registration unit 134 may set a work plan for each leader robot.

작업 계획 등록부(134)는 개발자 단말(300)로부터 시뮬레이션 대상 작업 계획 정보를 전송 받아 작업 계획을 설정할 수 있다. 예를 들어, 개발자 단말(300)은 물류 클라우드 로봇이 작업 현장에 적용됨에 있어, 물품의 중량, 사이즈, 형태와 같은 대상 물건에 관한 정보, 엘리베이터의 이용 또는 장애물, 출입문 등을 고려한 작업 현장에서의 이동 경로에 관한 정보, 및 트레이, 팔레트, 견인 또는 관련 장비와의 연계와 같은 물류 운송 방법에 관한 정보를 파악하여 작업 계획 정보를 설정하고 작업 계획 등록부(134)에 설정된 작업 계획 정보를 전송할 수 있다. 또한, 개발자 단말(300)은 복수의 물류 클라우드 로봇 각각이 보유하는 기능, 예를 들어 자율 주행 기능, 물체 인식 기능, 회피 기능, 물품을 집고 내리는 기능 등에 맞추어 작업 계획을 설정할 수 있다. 다만, 이에 제한되는 것은 아니다.The work plan registration unit 134 may receive simulation target work plan information from the developer terminal 300 and set a work plan. For example, the developer terminal 300 is a logistics cloud robot is applied to the work site, information on the target object such as weight, size, shape of the item, use of an elevator, obstacles, doors, etc. at the work site in consideration. It is possible to set work plan information by grasping information about a moving route and information about a logistics transportation method such as tray, pallet, traction, or linkage with related equipment, and transmit the work plan information set in the work plan registration unit 134. . In addition, the developer terminal 300 may set a work plan according to functions possessed by each of the plurality of logistics cloud robots, for example, an autonomous driving function, an object recognition function, an avoidance function, a function to pick up and drop items, and the like. However, it is not limited thereto.

몇몇 실시예에서, 개발자 단말(300)은 작업 계획 정보를 설정하는 경우 현장 구조 편집부(132)로부터 가상 물류 현장 파일을 전송 받을 수 있으나, 이에 제한되는 것은 아니다.In some embodiments, the developer terminal 300 may receive a virtual logistics site file from the site structure editing unit 132 when setting work plan information, but is not limited thereto.

작업 계획 등록부(134)는 설정된 작업 계획에 관한 정보를 시뮬레이션 환경 생성부(140)에 전달 및/또는 공유할 수 있다.The work plan registration unit 134 may transmit and/or share information on the set work plan to the simulation environment generator 140 .

도 4는 일 실시예에 따른 시뮬레이션 환경 생성부의 구성을 개략적으로 보여주는 블록도이다.Figure 4 is a block diagram schematically showing the configuration of the simulation environment generating unit according to an embodiment.

시뮬레이션 환경 생성부(140)는 시뮬레이션 환경 편집부(130)로부터 전달 및/또는 공유 받은 가상 물류 현장 파일, 가상의 복수의 클라우드 로봇에 관한 정보, 및 작업 계획에 관한 정보를 기반으로 해당 시뮬레이션에 대응하는 캠페인 전용 클러스터를 생성하고, 시뮬레이션 동작에 필요한 복수의 프로그램을 배포 및 관리할 수 있다.The simulation environment generating unit 140 corresponds to the corresponding simulation based on the virtual logistics field file transmitted and/or shared from the simulation environment editing unit 130, information on a plurality of virtual cloud robots, and information on a work plan. A campaign-only cluster can be created, and multiple programs required for simulation operations can be distributed and managed.

도 4를 참조하면, 시뮬레이션 환경 생성부(140)는 클러스터 생성부(141), 프로그램 배포부(142)를 포함할 수 있다. 또한, 시뮬레이션 환경 생성부(140)는 프로그램 생성부(143)를 더 포함할 수 있다.Referring to FIG. 4 , the simulation environment generator 140 may include a cluster generator 141 and a program distribution unit 142 . In addition, the simulation environment generator 140 may further include a program generator 143 .

클러스터 생성부(141)는 시뮬레이션 관리부(120)에서 등록된 캠페인 정보에 대응하여 해당 캠페인 전용 클러스터를 생성할 수 있다. 또한, 클러스터 생성부(141)는 시뮬레이션 환경 편집부(130)로부터 전달 받은 가상 물류 현장 파일, 가상의 복수의 클라우드 로봇에 관한 정보 및 작업 계획에 관한 정보를 기반으로 해당 캠페인 전용 클러스터 내의 서버의 대수, 메모리 및 디스크와 같은 리소스를 할당할 수 있다. The cluster creation unit 141 may create a cluster dedicated to a corresponding campaign in response to campaign information registered in the simulation management unit 120 . In addition, the cluster creation unit 141 calculates the number of servers in the cluster dedicated to the corresponding campaign based on the virtual logistics site file received from the simulation environment editing unit 130, information about a plurality of virtual cloud robots, and information about a work plan. You can allocate resources such as memory and disk.

이와 같이 할당된 서버, 메모리 및 디스크와 같은 리소스는 해당 시뮬레이션이 종료할 때까지 해당 클러스터 내에서 동작하며, 해당 시뮬레이션이 종료된 경우 반납될 수 있다. 여기서 해당 시뮬레이션의 종료는 시뮬레이션 동작부(150)에서 개발자가 의도한 작업 계획이 종료됨에 따라 시뮬레이션이 완료된 경우를 의미할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 해당 시뮬레이션의 종료는 시뮬레이션 동작부(150)에서 시뮬레이션이 진행되는 도중에 개발자 단말(300)에 의해 해당 시뮬레이션이 강제적으로 종료된 경우를 포함할 수도 있다.Resources such as servers, memory, and disks allocated in this way operate within the corresponding cluster until the corresponding simulation ends, and can be returned when the corresponding simulation ends. Here, the end of the corresponding simulation may mean a case where the simulation is completed as the developer's intended work plan is ended in the simulation operation unit 150, but is not limited thereto. For example, the end of the corresponding simulation may include a case where the corresponding simulation is forcibly terminated by the developer terminal 300 while the simulation operation unit 150 is in progress.

프로그램 배포부(142)는 시뮬레이션을 구성하기 위해 필요한 프로그램 및 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 해당 시뮬레이션에 대응하는 클러스터에 배포할 수 있다. 예를 들어, 프로그램 배포부(142)는 기 저장되거나 개발자 단말(300)로부터 전송 받은 시뮬레이션을 구성하기 위해 필요한 프로그램 및 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 클러스터에 배포할 수 있다. 다만, 이에 제한되는 것은 아니다. 시뮬레이션 환경 생성부(140)가 프로그램 생성부(143)를 포함하는 경우, 상기 복수의 프로그램 중 적어도 어느 하나는 프로그램 생성부(143)에서 생성되고 프로그램 배포부(142)에 전달되어 클러스터에 배포될 수도 있다.The program distributing unit 142 may distribute a program necessary to construct a simulation and a virtual physics engine program necessary for a simulation operation to a cluster corresponding to the corresponding simulation. For example, the program distributing unit 142 may distribute a program required to configure a simulation previously stored or transmitted from the developer terminal 300 and a virtual physics engine program required for simulation operation to the cluster. However, it is not limited thereto. When the simulation environment generating unit 140 includes the program generating unit 143, at least one of the plurality of programs is generated by the program generating unit 143 and delivered to the program distributing unit 142 to be distributed to the cluster. may be

시뮬레이션을 구성하기 위해 필요한 프로그램은 실제 물류 현장에서 복수의 물류 클라우드 로봇을 제어하기 위한 현장 지원 시스템에 관한 프로그램으로 물류 클라우드 로봇 중앙 통합 관제 시스템 프로그램 및 로봇 연계 시스템 프로그램을 포함할 수 있다. 또한, 시뮬레이션을 구성하기 위해 필요한 프로그램은 가상 환경에서 로봇 역할을 수행할 로봇 시뮬레이터 프로그램(또는 소프트웨어)을 포함할 수 있다.The program required to configure the simulation is a program related to a field support system for controlling a plurality of logistics cloud robots in an actual logistics field, and may include a logistics cloud robot central integrated control system program and a robot linkage system program. In addition, programs necessary for constructing a simulation may include a robot simulator program (or software) to act as a robot in a virtual environment.

상기 현장 지원 시스템은 현장에서 복수의 클라우드 로봇을 제어 및 관리하기 위한 시스템으로, 본 기술 분야에서 알려진 현장 지원 시스템이 적용될 수 있다. 다만, 본 발명의 이해의 편의를 위해 도 5를 참조하여 일 실시예에 따른 현장 지원 시스템에 대해 간단히 설명한다.The field support system is a system for controlling and managing a plurality of cloud robots in the field, and a field support system known in the art may be applied. However, for convenience of understanding of the present invention, a field support system according to an embodiment will be briefly described with reference to FIG. 5 .

도 5는 일 실시예에 따른 현장 지원 시스템의 네트워크 구성을 개략적으로 보여주는 블록도이다. 5 is a block diagram schematically showing a network configuration of an on-site support system according to an embodiment.

도 5를 참조하면, 현장 지원 시스템의 네트워크 구성은 현장 지원 시스템(400). 네트워크(200) 및 복수의 물류 클라우드 로봇(500)을 포함할 수 있다. 현장 지원 시스템(400)과 복수의 로봇(500)은 네트워크(200)를 통해 연결되며, 복수의 물류 클라우드 로봇(500) 각각은 현장 지원 시스템(400)으로부터 작업 계획 및 제어 신호 등를 전송 받아 물류 현장에서 작동될 수 있다. 또한, 현장 지원 시스템(400)은 복수의 물류 클라우드 로봇(500) 각각으로부터 감지되거나 생성된 데이터를 수신할 수 있다.Referring to FIG. 5, the network configuration of the field support system is the field support system 400. A network 200 and a plurality of logistics cloud robots 500 may be included. The field support system 400 and the plurality of robots 500 are connected through the network 200, and each of the plurality of logistics cloud robots 500 receives work plans and control signals from the field support system 400, and the logistics field can work in In addition, the field support system 400 may receive data detected or generated from each of the plurality of logistics cloud robots 500 .

현장 지원 시스템(400)은 물류 클라우드 로봇 중앙 통제 관리 시스템(410) 및 물류 클라우드 로봇 연계 시스템(420)을 포함할 수 있다. The field support system 400 may include a logistics cloud robot central control management system 410 and a logistics cloud robot linkage system 420 .

물류 클라우드 로봇 중앙 통제 관리 시스템(410)은 복수의 물류 클라우드 로봇(500) 각각에 내장되어 있는 로봇 프로그램과 연동을 통해 해당 물류 클라우드 로봇에 맞는 작업 계획 정보(예를 들어, 작업 목표, 해당 로봇의 담당 역할, 작업 규칙, 예외 상황 발생 시 예외 처리 규칙, 다른 로봇과 협업 역할, 이동 경로 등)를 생성 및 저장하고, 복수의 물류 클라우드 로봇(500) 각각을 제어하기 위해 필요한 여러가지 연산을 수행할 수 있다.The logistics cloud robot central control management system 410 interlocks with the robot programs embedded in each of the plurality of logistics cloud robots 500 to work plan information (eg, work goals, the number of corresponding robots) suitable for the corresponding logistics cloud robot. It is possible to create and store roles in charge, work rules, exception handling rules in case of exceptions, roles to collaborate with other robots, movement routes, etc.), and to perform various calculations required to control each of the plurality of logistics cloud robots (500). there is.

또한, 물류 클라우드 로봇 중앙 통제 관리 시스템(410)은 복수의 물류 클라우드 로봇(500) 각각의 실시간 작업 현황, 배치, 예외 상황 발생 여부 등을 확인하는 관제 업무를 수행할 수도 있다. 여기서, 예외 상황은 복수의 물류 클라우드 로봇(500)간의 충돌 또는 다른 구조물과의 충돌이나, 작업 오류 발생 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.In addition, the logistics cloud robot central control management system 410 may perform a control task of checking the real-time work status of each of the plurality of logistics cloud robots 500, arrangement, and whether an exception occurs. Here, the exceptional situation may include, but is not limited to, a collision between a plurality of logistics cloud robots 500 or a collision with another structure or a work error.

물류 클라우드 로봇 연계 시스템(420)은 물류 클라우드 로봇 중앙 통제 관리 시스템(410)과 복수의 물류 클라우드 로봇(500) 각각을 연계하며, 네트워크(200)를 통해 물류 클라우드 로봇 중앙 통제 관리 시스템(410)에서 생성되거나 기 저장된 작업 계획 정보 및/또는 제어 신호를 복수의 물류 클라우드 로봇(500) 각각에 전송할 수 있다.The logistics cloud robot linkage system 420 links each of the logistics cloud robot central control management system 410 and a plurality of logistics cloud robots 500, and in the logistics cloud robot central control management system 410 through the network 200. Generated or pre-stored work plan information and/or control signals may be transmitted to each of the plurality of logistics cloud robots 500 .

도 5에서는 물류 클라우드 로봇 중앙 통제 관리 시스템(410)과 물류 클라우드 로봇 연계 시스템(420)이 각각 별도의 시스템인 것으로 예시하였으나, 이에 제한되는 것은 아니고, 하나의 시스템으로 구성될 수 있다.5 illustrates that the logistics cloud robot central control management system 410 and the logistics cloud robot linkage system 420 are separate systems, but are not limited thereto, and may be configured as one system.

이와 같은 실제 물류 현장에서 복수의 물류 클라우드 로봇(500)을 제어하기 위한 현장 지원 시스템(400)은 물류 현장, 개발자의 작업 계획, 복수의 물류 클라우드 로봇의 구성 등에 따라 달라질 수 있다. 따라서, 일 실시예에 따른 시뮬레이션 환경 생성부(140)는 해당 시뮬레이션을 구성함에 있어 그에 대응되는 현장 지원 시스템을 클러스터에 배포할 수 있다.The field support system 400 for controlling the plurality of logistics cloud robots 500 in such an actual logistics site may vary according to the logistics site, the developer's work plan, the configuration of the plurality of logistics cloud robots, and the like. Accordingly, the simulation environment generating unit 140 according to an embodiment may distribute a corresponding field support system to the cluster when configuring the corresponding simulation.

다시 도 4를 참조하면, 프로그램 배포부(142)는 해당 시뮬레이션에 대응하는 현장 지원 시스템 프로그램 즉, 물류 클라우드 로봇 중앙 통제 관리 시스템 프로그램 및 물류 클라우드 로봇 연계 시스템 프로그램을 해당 클러스터에 배포할 수 있다.Referring back to FIG. 4 , the program distribution unit 142 may distribute a field support system program corresponding to the corresponding simulation, that is, a logistics cloud robot central control management system program and a logistics cloud robot linkage system program to the corresponding cluster.

또한, 프로그램 배포부(142)는 시뮬레이션 환경 편집부(130)로부터 전달 받은 가상의 복수의 클라우드 로봇에 관한 정보를 토대로 시뮬레이션 구성에 필요한 적어도 하나의 로봇 시뮬레이터 프로그램을 해당 클러스터에 배포할 수 있다. 프로그램 배포부(142)는 시뮬레이션 환경 편집부(130)에서 설정된 복수의 클라우드 로봇의 유형별 대수에 대응하여 로봇 시뮬레이터 프로그램을 클러스터에 배포할 수 있다.In addition, the program distribution unit 142 may distribute at least one robot simulator program required for simulation configuration to a corresponding cluster based on information about a plurality of virtual cloud robots received from the simulation environment editing unit 130 . The program distribution unit 142 may distribute robot simulator programs to clusters corresponding to the number of cloud robots for each type set in the simulation environment editing unit 130 .

예를 들어, 시뮬레이션 환경 편집부(130)에서 제1 유형의 복수의 클라우드 로봇이 5대로 설정되고 제2 유형의 복수의 클라우드 로봇이 5대로 설정된 경우, 프로그램 배포부(142)는 제1 유형의 로봇 시뮬레이터 프로그램 5개 및 제2 유형의 로봇 시뮬레이터 프로그램 5개를 클러스터에 배포할 수 있다. 다만, 이에 제한되는 것은 아니다. 로봇 시뮬레이터 프로그램이 모든 유형의 클라우드 로봇의 기능을 포함하여 가상의 클라우드 로봇으로서 역할을 수행할 수 있는 경우, 시뮬레이션 환경 편집부(130)는 로봇 시뮬레이터 프로그램을 10개를 배포하되, 로봇 시뮬레이터 프로그램에 대해 유형별 기능을 제한하거나 설정된 유형에 맞는 역할을 하도록 제어할 수도 있다.For example, if the number of cloud robots of the first type is set to 5 and the number of cloud robots of the second type is set to 5 in the simulation environment editing unit 130, the program distributing unit 142 may set the number of cloud robots of the first type to 5 simulator programs and 5 robot simulator programs of the second type can be distributed to the cluster. However, it is not limited thereto. If the robot simulator program can play a role as a virtual cloud robot including the functions of all types of cloud robots, the simulation environment editing unit 130 distributes 10 robot simulator programs, but for each type of robot simulator program You can also restrict functions or control them to play a role suitable for the set type.

프로그램 배포부(142)는 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 클러스터에 배포할 수 있다. 가상 물리 엔진 프로그램은 현실에서 일어나는 물리법칙을 프로그램에서도 동일하게 적용시킬 수 있도록 하는 프로그램으로, 시뮬레이션 시 설정된 작업 계획을 실행하는 복수의 로봇 시뮬레이터가 가상의 물류 현장에서 동작하는데 필요한 물리적인 정보를 제공하는 엔진일 수 있다. 본 발명을 실시하기 위한 가상 물리 엔진 프로그램의 종류에 제한은 없으며, 본 발명의 기술분야에서 통상의 기술자에게 알려진 가상 물리 엔진 프로그램이 적용될 수 있다.The program distributing unit 142 may distribute virtual physics engine programs necessary for simulation operation to the cluster. The virtual physics engine program is a program that allows the same physical laws that occur in reality to be applied to the program. it could be an engine. The type of virtual physical engine program for implementing the present invention is not limited, and a virtual physical engine program known to those skilled in the art may be applied.

몇몇 실시예에서, 시뮬레이션 환경 생성부(140)는 프로그램 생성부(143)를 더 포함할 수 있다. 프로그램 생성부(143)는 시뮬레이션 구성 및 동작을 위한 프로그램을 생성하는 기능을 제공할 수 있다. 프로그램 생성부(143)는 생성된 프로그램을 프로그램 배포부(142)에 전달 및/또는 공유할 수 있다. 예를 들어, 개발자 단말(300)은 프로그램 생성부(143)를 통해 현장 지원 시스템 프로그램을 생성할 수 있다. 이 경우, 시뮬레이션 종료 후 실제 현장 제어를 위해 프로그램 생성부(143)에서 생성된 현장 지원 시스템 프로그램을 실제 현장 지원 시스템으로 사용할 수도 있다.In some embodiments, the simulation environment generator 140 may further include a program generator 143 . The program generator 143 may provide a function of generating a program for simulation configuration and operation. The program generating unit 143 may deliver and/or share the created program to the program distributing unit 142 . For example, the developer terminal 300 may generate a field support system program through the program generator 143 . In this case, the field support system program generated by the program generating unit 143 may be used as an actual field support system for actual field control after simulation.

또한, 프로그램 생성부(143)는 시뮬레이션 환경 편집부(130)에서 설정된 복수의 클라우드 로봇의 유형별 대수에 대응하여 로봇 시뮬레이터 프로그램을 생성하고, 생성된 로봇 시뮬레이터 프로그램을 프로그램 배포부(142)에 전달 및/또는 공유할 수 있다. 예를 들어, 시뮬레이션 환경 편집부(130)에서 제1 유형의 복수의 클라우드 로봇이 5대로 설정되고 제2 유형의 복수의 클라우드 로봇이 5대로 설정된 경우, 프로그램 생성부(143)는 제1 유형의 로봇 시뮬레이터 프로그램 5개 및 제2 유형의 로봇 시뮬레이터 프로그램 5개를 생성할 수 있다. 다만, 이에 제한되는 것은 아니다. 나아가, 몇몇 실시예에서 프로그램 생성부(143)와 프로그램 배포부(142)는 하나의 구성으로 이루어질 수 있다.In addition, the program generator 143 generates a robot simulator program corresponding to the number of cloud robots by type set in the simulation environment editor 130, and delivers the generated robot simulator program to the program distribution unit 142 and/or Or you can share. For example, when the number of cloud robots of the first type is set to 5 and the number of cloud robots of the second type is set to 5 in the simulation environment editing unit 130, the program generator 143 generates the first type of robot. 5 simulator programs and 5 robot simulator programs of the second type may be generated. However, it is not limited thereto. Furthermore, in some embodiments, the program generating unit 143 and the program distributing unit 142 may be configured as one component.

도 6은 일 실시예에 따른 시뮬레이션 동작부의 구성을 개략적으로 보여주는 블록도이다.6 is a block diagram schematically showing the configuration of a simulation operation unit according to an exemplary embodiment.

시뮬레이션 동작부(150)는 클러스터에 배포된 중앙 통제 관제 시스템 프로그램, 물류 클라우드 로봇 연계 시스템 프로그램, 복수의 로봇 시뮬레이터 프로그램 간의 작업 계획을 연계하면서 시뮬레이션을 실시할 수 있다The simulation operation unit 150 may perform a simulation while linking a work plan between a central control system program distributed in a cluster, a logistics cloud robot linkage system program, and a plurality of robot simulator programs.

도 6을 참조하면, 시뮬레이션 동작부(150)는 시뮬레이션부(151), 로그 생성부(152) 및 모니터링부(153)를 포함할 수 있다.Referring to FIG. 6 , the simulation operation unit 150 may include a simulation unit 151 , a log generation unit 152 and a monitoring unit 153 .

시뮬레이션부(151)는 시뮬레이션 환경 생성부(140)로부터 배포된 복수의 프로그램 및 시뮬레이션 환경 편집부(130)에서 설정된 가상 물류 현장과 작업 계획을 연계하여 시뮬레이션을 실시할 수 있다.The simulation unit 151 may perform a simulation by linking a plurality of programs distributed from the simulation environment generating unit 140 with a virtual logistics site set in the simulation environment editing unit 130 and a work plan.

즉, 시뮬레이션부(151)는 가상 물리 엔진을 기반으로 가상 물류 현장에서 복수의 로봇 시뮬레이터가 각각의 작업 계획에 따라 동작하는 시뮬레이션을 실시할 수 있다.That is, the simulation unit 151 may perform a simulation in which a plurality of robot simulators operate according to respective work plans in a virtual logistics field based on a virtual physics engine.

시뮬레이션부(151)는 복수의 로봇 시뮬레이터가 실제 현장에서의 작업 속도와 실질적으로 동일한 속도로 작업 계획에 따라 동작하는 시뮬레이션을 실시할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 시뮬레이션부(151)는 배속 조절 기능을 제공하고, 개발자 단말(300)에 의해 설정된 배속에 따라 복수의 로봇 시뮬레이터가 작업을 수행하는 시뮬레이션을 실시할 수도 있다.The simulation unit 151 may perform a simulation in which a plurality of robot simulators operate according to a work plan at substantially the same speed as a work speed in an actual field, but is not limited thereto. For example, the simulation unit 151 may provide a speed control function and perform a simulation in which a plurality of robot simulators perform tasks according to the speed set by the developer terminal 300 .

로그 생성부(152)는 시뮬레이션 실시 과정에서 로그 데이터를 생성 및 저장하고, 저장된 로그 데이터를 시뮬레이션 결과 보고부(160)에 전달 및/또는 공유할 수 있다.The log generation unit 152 may generate and store log data during the course of the simulation, and transfer and/or share the stored log data to the simulation result reporting unit 160 .

로그 데이터는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 여부 등과 같은 작업 수행 상황이 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성된 데이터일 수 있다. 여기서 기 설정된 기간은 시뮬레이션 동작부(150)에 의해 설정되거나 개발자 단말(300)에 의해 설정된 기간일 수 있다. 또한, 로그 데이터는 복수의 로봇 시뮬레이터 각각이 설정된 작업 계획을 벗어난 비정상 동작이나 다른 로봇 또는 구조물과의 충돌 등이 발생한 경우 이를 감지하여 생성된 데이터를 포함할 수 있다. The log data may be data generated by detecting a task performance situation, such as a moving state, speed, and object pickup of each of a plurality of robot simulators according to a predetermined period and/or task progress. Here, the preset period may be a period set by the simulation operation unit 150 or set by the developer terminal 300 . In addition, the log data may include data generated by detecting an abnormal operation or a collision with another robot or structure that deviate from a set work plan by each of a plurality of robot simulators.

모니터링부(153)는 시뮬레이션 환경(또는 가상 물류 현장)을 모사한 사용자 인터페이스 화면을 제공하고, 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 복수의 로봇 시뮬레이터(또는 가상의 물류 클라우드 로봇) 각각의 위치, 작업 처리 현황과 같은 상태 값을 표시할 수 있다. The monitoring unit 153 provides a user interface screen that simulates a simulation environment (or a virtual logistics site), and connects a plurality of robot simulators in real time with a plurality of robot simulators (or virtual logistics sites) on the user interface screen. Logistics Cloud Robot) Status values such as each location and job processing status can be displayed.

모니터링부(153)는 상기 사용자 인터페이스 화면 및 복수의 로봇 시뮬레이터 각각의 상태 값을 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 실시간으로 사용자 단말(300)에 제공할 수 있다. 또한, 몇몇 실시예에서, 모니터링부(153)는 사용자 단말(300)에 시뮬레이션 제어 기능을 제공할 수도 있다. 예를 들어, 모니터링부(153)는 실시중인 시뮬레이션을 일시 정지하거나 배속을 제어하는 등의 기능을 사용자 인터페이스로 제공할 수 있다.The monitoring unit 153 may provide the user terminal 300 with the user interface screen and state values of each of the plurality of robot simulators in real time through any one of an application program, an application, or a website. Also, in some embodiments, the monitoring unit 153 may provide a simulation control function to the user terminal 300 . For example, the monitoring unit 153 may provide a user interface such as temporarily stopping a simulation in progress or controlling a speed.

이에 따라, 사용자 단말(300)은 복수의 로봇 시뮬레이터 각각의 작업 과정을 포함하는 전체 시뮬레이션 과정을 실시간으로 확인하고, 시뮬레이션 과정을 제어하여 보다 상세하게 시뮬레이션 과정을 모니터링 할 수 있다.Accordingly, the user terminal 300 can check the entire simulation process including the work process of each of the plurality of robot simulators in real time, and monitor the simulation process in more detail by controlling the simulation process.

시뮬레이션 결과 보고부(170)는 캠페인 단위로 시뮬레이션 과정에서 발생하여 생성 및 저장된 로그 데이터를 분석하여 시뮬레이션 핵심 지표(Key Performance Indicator, KPI) 단위로 상세 리포트 및/또는 통계 대시보드를 생성할 수 있다. 다만, 이에 제한되는 것은 아니다.The simulation result reporting unit 170 may generate detailed reports and/or statistical dashboards in units of simulation key performance indicators (KPIs) by analyzing generated and stored log data generated during the simulation process in units of campaigns. However, it is not limited thereto.

예를 들어, 시뮬레이션 결과 보고부(170)는 캠페인 식별 정보에 대응하는 상세 페이지에서 상세 리포트 및/또는 통계 대시보드를 제공하거나, 캠페인 식별 정보에 대응하는 상세 리포트 파일 및/또는 통계 대시보드 파일을 생성하여 개발자 단말(300)에 제공할 수 있다.For example, the simulation result reporting unit 170 provides a detailed report and/or statistical dashboard on a detailed page corresponding to campaign identification information, or provides a detailed report file and/or statistical dashboard file corresponding to campaign identification information. It can be created and provided to the developer terminal 300 .

시뮬레이션 핵심 지표는 작업 계획에 따른 목표를 성공적으로 달성하기 위해 핵심적으로 관리해야 하는 요소들에 관한 것으로, 예를 들어 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 비정상 동작 등을 포함할 수 있다. 또한, 시뮬레이션 핵심 지표는 전체 시뮬레이션에 따른 목표 달성률, 생산성, 효율성 등을 포함할 수 있다.Simulation key indicators relate to elements that must be managed as key to successfully achieving goals according to work plans, for example, the movement status of each of multiple robot simulators, speed, accuracy of picking up or loading objects, abnormal operation, etc. can include In addition, simulation key indicators may include target achievement rate, productivity, efficiency, etc. according to the entire simulation.

몇몇 실시예에서, 상세 리포트 및/또는 통계 대시보드는 해당 시뮬레이션의 로그 데이터를 분석한 결과 및 다른 캠페인 식별 정보에 따라 생성된 다른 시뮬레이션의 로그 데이터와 비교 분석한 결과를 포함할 수도 있다. 이 경우, 핵심 지표 단위로 다른 시뮬레이션의 로그 데이터와 비교 분석될 수 있으나, 이에 제한되는 것은 아니다.In some embodiments, the detailed report and/or statistics dashboard may include a result of analyzing log data of the corresponding simulation and comparing and analyzing log data of other simulations generated according to other campaign identification information. In this case, the key indicator unit may be compared and analyzed with log data of other simulations, but is not limited thereto.

또한, 시뮬레이션 결과 보고부(170)는 시뮬레이션 과정에서 발생한 로봇 시뮬레이터의 비정상 동작이나 충돌 등의 이력 정보를 추출하여 개발자 단말(300)에 제공할 수 있다.In addition, the simulation result reporting unit 170 may extract and provide history information such as abnormal operation or collision of the robot simulator generated during the simulation process to the developer terminal 300 .

예를 들어, 시뮬레이션 결과 보고부(170)는 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고 복수의 로봇 시뮬레이터 별로 로그 데이터를 분류하여 개발자 단말(300)에게 제공할 수 있으나, 이에 제한되는 것은 아니다.For example, the simulation result reporting unit 170 extracts log data related to history of abnormal operations or collisions of each of a plurality of robot simulators, classifies the log data for each of a plurality of robot simulators, and provides the log data to the developer terminal 300. It may be, but is not limited thereto.

이와 같이, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템은 개발자가 작업 계획 설정을 위해 작업 계획에 대한 상세 프로파일을 개발함에 있어, 실제 현장의 물류 클라우드 로봇을 제어하기 전 가상의 물류 환경에서 복수의 로봇 시뮬레이터를 이용하여 개발한 작업 계획에 따라 시뮬레이션을 실시하고, 상기 시뮬레이션을 실시간 사용자 인터페이스 화면으로 제공하며, 상기 시뮬레이션에 대한 상세 리포트 및/또는 통계 대시보드를 제공함으로써, 개발자는 시뮬레이션 목표 달성 여부 및 수정을 요하는 사항이 있는지 여부를 미리 확인할 수 있다. 이에 따라, 생산성 및 효율성이 향상된 작업 계획(또는 상세 프로파일)을 개발하는 데 유리할 수 있다.In this way, the simulation system for cloud robot control development according to an embodiment is developed in a virtual logistics environment before controlling a logistics cloud robot in an actual field when a developer develops a detailed profile for a work plan to set a work plan. By conducting simulations according to the work plan developed using a plurality of robot simulators, providing the simulations as a real-time user interface screen, and providing detailed reports and/or statistical dashboards for the simulations, developers achieve simulation goals. It is possible to check in advance whether or not there are any matters requiring correction. Accordingly, it may be advantageous to develop work plans (or detailed profiles) with improved productivity and efficiency.

또한, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템은 상기 시뮬레이션 과정에서 설정된 작업 계획(또는 상세 프로파일)에 따라 발생한 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력 정보를 제공하므로, 개발자는 작업 계획의 오류가 명확한 부분을 직관적으로 확인할 수 있다. 또한, 작업 계획의 오류나 실제 복수의 클라우드 로봇 제어 시 발생할 수 있는 비정상 동작이나 충돌과 같은 에러를 미연에 방지할 수 있다.In addition, since the simulation system for cloud robot control development according to an embodiment provides history information such as abnormal operation or collision of each of a plurality of robot simulators generated according to the work plan (or detailed profile) set in the simulation process, the developer can intuitively check where the error in the work plan is obvious. In addition, errors in work plans or errors such as abnormal motions or collisions that may occur when controlling multiple cloud robots can be prevented in advance.

도 7은 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법을 보여주는 흐름도이다.7 is a flowchart illustrating a simulation method for developing cloud robot control according to an embodiment.

도 7을 참조하면, 먼저 개발자 단말(300)은 시뮬레이션 관리부(120)를 통해 캠페인 정보를 등록할 수 있다(S100).Referring to FIG. 7 , first, the developer terminal 300 may register campaign information through the simulation management unit 120 (S100).

시뮬레이션 관리부(120)는 개발자 단말(300)이 어느 하나의 시뮬레이션 시작부터 종료까지 캠페인 단위로 관리할 수 있도록 캠페인 정보를 등록하는 기능을 제공할 수 있다. 여기서, 캠페인 정보는 캠페인 식별 정보, 및 시뮬레이션의 목표와 시뮬레이션의 세부 환경 등과 같은 해당 시뮬레이션에 관한 모든 정보를 포함하며, 캠페인은 시뮬레이션을 관리하는 최소 단위일 수 있다. 상기 캠페인 식별 정보는 개발자 단말(300)이 임의로 설정한 문자열 및/또는 숫자일 수 있으나, 이에 제한되는 것은 아니다. The simulation management unit 120 may provide a function of registering campaign information so that the developer terminal 300 can manage campaigns in units of campaigns from the start to the end of any one simulation. Here, the campaign information includes campaign identification information, and all information related to the corresponding simulation, such as a simulation goal and a detailed environment of the simulation, and the campaign may be a minimum unit for managing the simulation. The campaign identification information may be a character string and/or number arbitrarily set by the developer terminal 300, but is not limited thereto.

클라우트 로봇 제어 개발을 위한 시뮬레이션 시스템(100)이 복수의 시뮬레이션을 관리하는 경우, 시뮬레이션 관리부(120)는 캠페인 식별 정보에 따라 복수의 캠페인을 분류하여 관리할 수 있다. 이에 따라, 관리자 단말(300)은 복수의 시뮬레이션 각각을 식별 및 관리할 수 있다.When the simulation system 100 for cloud robot control development manages a plurality of simulations, the simulation management unit 120 may classify and manage a plurality of campaigns according to campaign identification information. Accordingly, the manager terminal 300 may identify and manage each of a plurality of simulations.

그리고 나서, 시뮬레이션 환경 편집부(130)는 시뮬레이션 환경 및 시뮬레이션 대상 작업 계획을 설정할 수 있다(S200).Then, the simulation environment editing unit 130 may set a simulation environment and a simulation target work plan (S200).

여기서, 시뮬레이션 환경은 시뮬레이션을 위한 물류 현장 환경 및 물류 클라우드 로봇을 포함할 수 있다. 현장 구조 설정부(131)는 통신부(110)를 통해 개발자 단말(300)로부터 물류 현장의 레이아웃 파일을 수신하여 가상 물류 현장의 구조를 설정(또는 생성)할 수 있다. 여기서, 물류 현장의 레이아웃 파일은 복수의 물류 클라우드 로봇이 동작하는 실제 물류 현장으로서 예를 들어, 선반 위치, 물건 픽업 공간, 물품 배치 구조, 물류 클라우드 로봇의 충전 스테이션의 위치, 생산라인 등의 현장 구조가 도시된 캐드(CAD) 파일일 수 있다. 다만, 이에 제한되는 것은 아니고, 예를 들어 물류 현장의 레이아웃 파일은 실제 물류 현장의 구조가 도시된 이미지 파일, pdf 파일 등을 포함할 수도 있다. Here, the simulation environment may include a logistics field environment and a logistics cloud robot for simulation. The site structure setting unit 131 may receive a layout file of the logistics site from the developer terminal 300 through the communication unit 110 and set (or create) a structure of the virtual logistics site. Here, the layout file of the logistics site is an actual logistics site where a plurality of logistics cloud robots operate. may be a CAD (CAD) file shown. However, it is not limited thereto, and for example, a layout file of a logistics site may include an image file showing a structure of an actual logistics site, a pdf file, and the like.

현장 구조 설정부(131)는 개발자 단말(300)로부터 상기 레이아웃 파일에 포함되지 않은 물류 현장의 추가적인 환경 정보를 수신하여 가상 물류 현장의 구조를 설정할 수 있다. 예를 들어, 물류 현장의 추가적인 환경 정보는 엘리베이터의 위치, 출입문의 식별 및 복수의 클라우드 로봇 동작에 있어 식별이 필요한 구역 정보 등을 포함할 수 있다. 현장 구조 설정부(131)는 물류 현장의 추가적인 환경 정보를 수신함에 있어, 개발자 단말(300)에 상기 물류 현장의 레이아웃 파일에 의해 설정된 가상 물류 현장의 구조를 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 표시하는 기능을 제공할 수 있다. The site structure setting unit 131 may receive additional environmental information of the logistics site that is not included in the layout file from the developer terminal 300 to set the structure of the virtual logistics site. For example, the additional environmental information of the distribution site may include information on an area requiring identification in the location of an elevator, identification of a door, and operation of a plurality of cloud robots. In receiving additional environmental information of the logistics site, the site structure setting unit 131 transfers the structure of the virtual logistics site set by the layout file of the logistics site to the developer terminal 300 to any one of an application, an application, or a website. A display function can be provided through

현장 구조 설정부(131)는 물류 현장의 레이아웃 파일 및 물류 현장의 추가적인 환경 정보를 토대로 설정된 가상 물류 현장 파일을 현장 구조 편집부(132)에 전달 및/또는 공유할 수 있다. The site structure setting unit 131 may transfer and/or share a virtual logistics site file set based on the layout file of the logistics site and additional environment information of the logistics site to the site structure editing unit 132 .

현장 구조 편집부(132)는 현장 구고 설정부(131)에서 설정된 가상 물류 현장의 레이아웃 상 위치, 크기 및 배치 등을 편집하는 기능을 제공할 수 있다. 예를 들어, 개발자 단말(300)은 현장 구조 편집부(132)에 가상 물류 현장 내의 물품, 로봇, 선반 등과 같은 다양한 객체의 고정 위치 혹은 시작 위치, 높이나 폭과 같은 크기, 복수의 객체 및/또는 구조물 간의 배치 관계 등에 관한 정보를 수신하여 가상 물류 현장 편집을 위한 조건 정보로 활용할 수 있다.The site structure editing unit 132 may provide a function of editing the location, size, arrangement, etc. of the layout of the virtual logistics site set in the site construction setting unit 131 . For example, the developer terminal 300 provides the field structure editing unit 132 with fixed positions or starting positions of various objects such as items, robots, shelves, etc. in a virtual logistics site, sizes such as height or width, a plurality of objects and/or structures. Information on the arrangement relationship between the distribution channels and the like can be received and used as condition information for editing the virtual logistics site.

현장 구조 편집부(132)는 수신된 가상 물류 현장 편집을 위한 상기 조건 정보를 이용하여 현장 구조 설정부(131)로부터 전달받은 가상 물류 현장 파일을 편집하여 개발자 단말(300)에 제공할 수 있다. 로봇 설정부(133)는 시뮬레이션을 위한 시나리오에서 확인하고자 하는 클라우드 로봇의 유형 및 유형별 대수를 설정하는 기능을 제공할 수 있다. 로봇 설정부(133)는 개발자 단말(300)로부터 시뮬레이션을 위한 시나리오에서 확인하고자 하는 클라우드 로봇의 유형 및 유형별 대수에 관한 정보를 전송 받아 가상의 복수의 클라우드 로봇을 설정할 수 있다.The site structure editing unit 132 may edit the virtual distribution site file received from the site structure setting unit 131 using the condition information for editing the received virtual distribution site and provide it to the developer terminal 300 . The robot setting unit 133 may provide a function of setting the type and number of cloud robots to be checked in a scenario for simulation. The robot setting unit 133 may set a plurality of virtual cloud robots by receiving information about the type and number of cloud robots to be checked in a simulation scenario from the developer terminal 300 .

예를 들어, 클라우드 로봇의 유형은 운반물을 자동으로 운송하며, 바닥에 레일 없이 주행가능한 무인 운반차(Automated Guided Vehicle, AGV) 및 주행을 돕는 마커, 와이어 또는 마그넷 없이 라이더, 카메라 또는 GPS 등의 센서를 이용하여 주행가능한 자율 이동 로봇(Autonomous Mobile Robot, AMR)을 포함할 수 있다. 또한, 클라우드 로봇의 유형은 기능에 따라 분류되며, 물건을 잡고 옮기거나 물건을 조립할 수 있는 다관절 이중암과 그리퍼를 포함하는 구동부를 구비하는 조립용 이동 로봇, 물건을 적재할 수 있는 트레이를 구비하는 운반용 이동 로봇, 물건을 잡고 옮기거나 조작할 수 있는 다관절 암과 그리퍼를 포함하는 구동부를 구비하는 픽업용 이동 로봇, 물체의 인식과 분류가 가능한 물체 분류 인식 로봇, 물체가 적재된 공간을 인식할 수 있는 물체 적재 공간 인식 이동 로봇 등을 포함할 수 있다. 다만, 클라우드 로봇의 유형이 이에 제한되는 것은 아니다. For example, the types of cloud robots include automated guided vehicles (AGVs) that transport goods automatically and can run without rails on the floor, and sensors such as lidars, cameras, or GPS without markers, wires, or magnets that help driving. An autonomous mobile robot (AMR) capable of driving using may be included. In addition, the types of cloud robots are classified according to their functions, and are equipped with multi-joint dual arms capable of holding and moving objects or assembling objects and a mobile robot for assembly equipped with a driving unit including a gripper and a tray capable of loading objects. A mobile robot for pickup having a driving unit including an articulated arm and a gripper capable of holding, moving or manipulating objects, an object classification recognition robot capable of recognizing and classifying objects, recognizing a space where objects are loaded It may include a mobile robot capable of recognizing an object loading space. However, the type of cloud robot is not limited thereto.

또한, 몇몇 실시예에서, 복수의 클라우드 로봇은 적어도 어느 하나의 로봇을 포함하는 그룹으로 묶이고, 복수의 그룹 각각은 해당 그룹에 소속된 로봇에 세부 임무를 할당하고 제어할 수 있는 제어 권한이 부여된 리더 로봇을 포함할 수 있다. 이 경우, 리더 로봇은 엣지 컴퓨팅 성능의 HW 장치내에 기능을 내장하여 리더 로봇 역할을 수행할 수도 있다. In addition, in some embodiments, a plurality of cloud robots are grouped into groups including at least one robot, and each of the plurality of groups assigns detailed tasks to robots belonging to the corresponding group and is given control authority to control them. A leader robot may be included. In this case, the leader robot may serve as a leader robot by embedding a function in a HW device with edge computing capability.

작업 계획 등록부(134)는 개발자 단말(300)로부터 시뮬레이션 대상 작업 계획 정보를 전송 받아 작업 계획을 설정할 수 있다. 예를 들어, 개발자 단말(300)은 물류 클라우드 로봇이 작업 현장에 적용됨에 있어, 물품의 중량, 사이즈, 형태와 같은 대상 물건에 관한 정보, 엘리베이터의 이용 또는 장애물, 출입문 등을 고려한 작업 현장에서의 이동 경로에 관한 정보, 및 트레이, 팔레트, 견인 또는 관련 장비와의 연계와 같은 물류 운송 방법에 관한 정보를 파악하여 작업 계획 정보를 설정하고 작업 계획 등록부(134)에 설정된 작업 계획 정보를 전송할 수 있다. 또한, 개발자 단말(300)은 복수의 물류 클라우드 로봇 각각이 보유하는 기능, 예를 들어 자율 주행 기능, 물체 인식 기능, 회피 기능, 물품을 집고 내리는 기능 등에 맞추어 작업 계획을 설정할 수 있다. 다만, 이에 제한되는 것은 아니다. The work plan registration unit 134 may receive simulation target work plan information from the developer terminal 300 and set a work plan. For example, the developer terminal 300 is a logistics cloud robot is applied to the work site, information on the target object such as weight, size, shape of the item, use of an elevator, obstacles, doors, etc. at the work site in consideration. It is possible to set work plan information by grasping information about a moving route and information about a logistics transportation method such as tray, pallet, traction, or linkage with related equipment, and transmit the work plan information set in the work plan registration unit 134. . In addition, the developer terminal 300 may set a work plan according to functions possessed by each of the plurality of logistics cloud robots, for example, an autonomous driving function, an object recognition function, an avoidance function, a function to pick up and drop items, and the like. However, it is not limited thereto.

몇몇 실시예에서, 개발자 단말(300)은 작업 계획 정보를 설정하는 경우 현장 구조 편집부(132)로부터 가상 물류 현장 파일을 전송 받을 수 있으나, 이에 제한되는 것은 아니다.In some embodiments, the developer terminal 300 may receive a virtual logistics site file from the site structure editing unit 132 when setting work plan information, but is not limited thereto.

시뮬레이션 환경 편집부(130)는 설정된 시뮬레이션 환경에 관한 정보(또는 데이터), 및 시뮬레이션 대상 작업 계획에 관한 정보를 시뮬레이션 환경 생성부(140)에 전달 및/또는 공유할 수 있다.The simulation environment editor 130 may transmit and/or share information (or data) on the set simulation environment and information on a simulation target work plan to the simulation environment generator 140 .

이후, 시뮬레이션 환경 생성부(140)는 해당 시뮬레이션에 대응하는 캠페인 전용 클러스터를 생성할 수 있다(S300).Then, the simulation environment creation unit 140 may create a campaign dedicated cluster corresponding to the corresponding simulation (S300).

시뮬레이션 환경 생성부(140)는 시뮬레이션 환경 편집부(130)로부터 전달 및/또는 공유 받은 가상 물류 현장 파일, 가상의 복수의 클라우드 로봇에 관한 정보, 및 작업 계획에 관한 정보를 기반으로 해당 시뮬레이션에 대응하는 캠페인 전용 클러스터를 생성할 수 있다.The simulation environment generating unit 140 corresponds to the corresponding simulation based on the virtual logistics field file transmitted and/or shared from the simulation environment editing unit 130, information on a plurality of virtual cloud robots, and information on a work plan. You can create campaign-specific clusters.

클러스터 생성부(141)는 시뮬레이션 관리부(120)에서 등록된 캠페인 정보에 대응하여 해당 캠페인 전용 클러스터를 생성할 수 있다. 또한, 클러스터 생성부(141)는 시뮬레이션 환경 편집부(130)로부터 전달 받은 가상 물류 현장 파일, 가상의 복수의 클라우드 로봇에 관한 정보 및 작업 계획에 관한 정보를 기반으로 해당 캠페인 전용 클러스터 내의 서버의 대수, 메모리 및 디스크와 같은 리소스를 할당할 수 있다. The cluster creation unit 141 may create a cluster dedicated to a corresponding campaign in response to campaign information registered in the simulation management unit 120 . In addition, the cluster creation unit 141 calculates the number of servers in the cluster dedicated to the corresponding campaign based on the virtual logistics site file received from the simulation environment editing unit 130, information about a plurality of virtual cloud robots, and information about a work plan. You can allocate resources such as memory and disk.

이와 같이 할당된 서버, 메모리 및 디스크와 같은 리소스는 해당 시뮬레이션이 종료할 때까지 해당 클러스터 내에서 동작하며, 해당 시뮬레이션이 종료된 경우 반납될 수 있다. 여기서 해당 시뮬레이션의 종료는 시뮬레이션 동작부(150)에서 개발자가 의도한 작업 계획이 종료됨에 따라 시뮬레이션이 완료된 경우를 의미할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 해당 시뮬레이션의 종료는 시뮬레이션 동작부(150)에서 시뮬레이션이 진행되는 도중에 개발자 단말(300)에 의해 해당 시뮬레이션이 강제적으로 종료된 경우를 포함할 수도 있다.Resources such as servers, memory, and disks allocated in this way operate within the corresponding cluster until the corresponding simulation ends, and can be returned when the corresponding simulation ends. Here, the end of the corresponding simulation may mean a case where the simulation is completed as the developer's intended work plan is ended in the simulation operation unit 150, but is not limited thereto. For example, the end of the corresponding simulation may include a case where the corresponding simulation is forcibly terminated by the developer terminal 300 while the simulation operation unit 150 is in progress.

또한, 시뮬레이션 환경 생성부(140)는 해당 시뮬레이션 구성 및 동작에 필요한 프로그램을 배포할 수 있다(S400).In addition, the simulation environment generating unit 140 may distribute programs necessary for configuring and operating the simulation (S400).

프로그램 배포부(142)는 시뮬레이션을 구성하기 위해 필요한 프로그램 및 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 해당 시뮬레이션에 대응하는 클러스터에 배포할 수 있다. 예를 들어, 프로그램 배포부(142)는 기 저장되거나 개발자 단말(300)로부터 전송 받은 시뮬레이션을 구성하기 위해 필요한 프로그램 및 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 클러스터에 배포할 수 있다. 다만, 이에 제한되는 것은 아니다. 시뮬레이션 환경 생성부(140)가 프로그램 생성부(143)를 포함하는 경우, 상기 복수의 프로그램 중 적어도 어느 하나는 프로그램 생성부(143)에서 생성되고 프로그램 배포부(142)에 전달되어 클러스터에 배포될 수도 있다.The program distributing unit 142 may distribute a program necessary to construct a simulation and a virtual physics engine program necessary for a simulation operation to a cluster corresponding to the corresponding simulation. For example, the program distributing unit 142 may distribute a program required to configure a simulation previously stored or transmitted from the developer terminal 300 and a virtual physics engine program required for simulation operation to the cluster. However, it is not limited thereto. When the simulation environment generating unit 140 includes the program generating unit 143, at least one of the plurality of programs is generated by the program generating unit 143 and delivered to the program distributing unit 142 to be distributed to the cluster. may be

시뮬레이션을 구성하기 위해 필요한 프로그램은 실제 물류 현장에서 복수의 물류 클라우드 로봇을 제어하기 위한 현장 지원 시스템에 관한 프로그램으로 물류 클라우드 로봇 중앙 통합 관제 시스템 프로그램 및 로봇 연계 시스템 프로그램을 포함할 수 있다. The program required to configure the simulation is a program related to a field support system for controlling a plurality of logistics cloud robots in an actual logistics field, and may include a logistics cloud robot central integrated control system program and a robot linkage system program.

또한, 시뮬레이션을 구성하기 위해 필요한 프로그램은 가상 환경에서 로봇 역할을 수행할 로봇 시뮬레이터 프로그램(또는 소프트웨어)을 포함할 수 있다. 프로그램 배포부(142)는 시뮬레이션 환경 편집부(130)로부터 전달 받은 가상의 복수의 클라우드 로봇에 관한 정보를 토대로 시뮬레이션 구성에 필요한 적어도 하나의 로봇 시뮬레이터 프로그램을 해당 클러스터에 배포할 수 있다. 프로그램 배포부(142)는 시뮬레이션 환경 편집부(130)에서 설정된 복수의 클라우드 로봇의 유형별 대수에 대응하여 로봇 시뮬레이터 프로그램을 클러스터에 배포할 수 있다.In addition, programs necessary for constructing a simulation may include a robot simulator program (or software) to act as a robot in a virtual environment. The program distributing unit 142 may distribute at least one robot simulator program necessary for configuring a simulation to a corresponding cluster based on the information about the plurality of virtual cloud robots transmitted from the simulation environment editing unit 130 . The program distribution unit 142 may distribute robot simulator programs to clusters corresponding to the number of cloud robots for each type set in the simulation environment editing unit 130 .

예를 들어, 시뮬레이션 환경 편집부(130)에서 제1 유형의 복수의 클라우드 로봇이 5대로 설정되고 제2 유형의 복수의 클라우드 로봇이 5대로 설정된 경우, 프로그램 배포부(142)는 제1 유형의 로봇 시뮬레이터 프로그램을 5개 생성하고, 제2 유형의 로봇 시뮬레이터 프로그램을 5개 생성하여 클러스터에 배포할 수 있다. 다만, 이에 제한되는 것은 아니다. 로봇 시뮬레이터 프로그램이 모든 유형의 클라우드 로봇의 기능을 포함하여 가상의 클라우드 로봇으로서 역할을 수행할 수 있는 경우, 시뮬레이션 환경 편집부(130)는 로봇 시뮬레이터 프로그램을 10개를 배포하되, 로봇 시뮬레이터 프로그램에 대해 유형별 기능을 제한하거나 설정된 유형에 맞는 역할을 하도록 제어할 수도 있다. For example, if the number of cloud robots of the first type is set to 5 and the number of cloud robots of the second type is set to 5 in the simulation environment editing unit 130, the program distributing unit 142 may set the number of cloud robots of the first type to Five simulator programs may be generated, and five robot simulator programs of the second type may be generated and distributed to the cluster. However, it is not limited thereto. If the robot simulator program can play a role as a virtual cloud robot including the functions of all types of cloud robots, the simulation environment editing unit 130 distributes 10 robot simulator programs, but for each type of robot simulator program You can also restrict functions or control them to play a role suitable for the set type.

프로그램 배포부(142)는 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 클러스터에 배포할 수 있다. 가상 물리 엔진 프로그램은 현실에서 일어나는 물리법칙을 프로그램에서도 동일하게 적용시킬 수 있도록 하는 프로그램으로, 시뮬레이션 시 설정된 작업 계획을 실행하는 복수의 로봇 시뮬레이터가 가상의 물류 현장에서 동작하는데 필요한 물리적인 정보를 제공하는 엔진일 수 있다. 본 발명을 실시하기 위한 가상 물리 엔진 프로그램의 종류에 제한은 없으며, 본 발명의 기술분야에서 통상의 기술자에게 알려진 가상 물리 엔진 프로그램이 적용될 수 있다.The program distributing unit 142 may distribute virtual physics engine programs necessary for simulation operation to the cluster. The virtual physics engine program is a program that allows the same physical laws that occur in reality to be applied to the program. it could be an engine. The type of virtual physical engine program for implementing the present invention is not limited, and a virtual physical engine program known to those skilled in the art may be applied.

다른 예로, 시뮬레이션 환경 생성부(140)가 프로그램 생성부(143)를 더 포함하는 경우, 상기 단계 S400 이전에 해당 시뮬레이션 구성 및 동작에 필요한 프로그램을 생성하는 단계를 더 포함할 수 있다.As another example, when the simulation environment generating unit 140 further includes the program generating unit 143, generating a program required for the corresponding simulation configuration and operation may be further included before step S400.

프로그램 생성부(143)는 시뮬레이션 구성 및 동작을 위한 프로그램을 생성하는 기능을 제공할 수 있다. 프로그램 생성부(143)는 생성된 프로그램을 프로그램 배포부(142)에 전달 및/또는 공유할 수 있다. 예를 들어, 개발자 단말(300)은 프로그램 생성부(143)를 통해 현장 지원 시스템 프로그램을 생성할 수 있다. 이 경우, 시뮬레이션 종료 후 실제 현장 제어를 위해 프로그램 생성부(143)에서 생성된 현장 지원 시스템 프로그램을 실제 현장 지원 시스템으로 사용할 수도 있다. The program generator 143 may provide a function of generating a program for simulation configuration and operation. The program generating unit 143 may deliver and/or share the created program to the program distributing unit 142 . For example, the developer terminal 300 may generate a field support system program through the program generator 143 . In this case, the field support system program generated by the program generating unit 143 may be used as an actual field support system for actual field control after simulation.

또한, 프로그램 생성부(143)는 시뮬레이션 환경 편집부(130)에서 설정된 복수의 클라우드 로봇의 유형별 대수에 대응하여 로봇 시뮬레이터 프로그램을 생성하고, 생성된 로봇 시뮬레이터 프로그램을 프로그램 배포부(142)에 전달 및/또는 공유할 수 있다. 예를 들어, 시뮬레이션 환경 편집부(130)에서 제1 유형의 복수의 클라우드 로봇이 5대로 설정되고 제2 유형의 복수의 클라우드 로봇이 5대로 설정된 경우, 프로그램 생성부(143)는 제1 유형의 로봇 시뮬레이터 프로그램 5개 및 제2 유형의 로봇 시뮬레이터 프로그램 5개를 생성할 수 있다. 이 경우, 프로그램 배포부(142)는 프로그램 생성부(143)에서 생성된 복수의 로봇 시뮬레이터 프로그램을 전달 받아 배포할 수 있다.In addition, the program generator 143 generates a robot simulator program corresponding to the number of cloud robots by type set in the simulation environment editor 130, and delivers the generated robot simulator program to the program distribution unit 142 and/or Or you can share. For example, when the number of cloud robots of the first type is set to 5 and the number of cloud robots of the second type is set to 5 in the simulation environment editing unit 130, the program generator 143 generates the first type of robot. 5 simulator programs and 5 robot simulator programs of the second type may be generated. In this case, the program distribution unit 142 may receive and distribute a plurality of robot simulator programs generated by the program generation unit 143 .

다음으로, 시뮬레이션 동작부(150)는 시뮬레이션을 실시할 수 있다(S500).Next, the simulation operation unit 150 may perform a simulation (S500).

시뮬레이션부(151)는 시뮬레이션 환경 생성부(140)로부터 배포된 복수의 프로그램들 및 시뮬레이션 환경 편집부(130)에서 설정된 가상 물류 현장, 작업 계획을 연계하여 시뮬레이션을 실시할 수 있다. The simulation unit 151 may perform a simulation by linking a plurality of programs distributed from the simulation environment generating unit 140 with a virtual logistics site and work plan set in the simulation environment editing unit 130 .

즉, 시뮬레이션부(151)는 가상 물리 엔진을 기반으로 가상 물류 현장에서 복수의 로봇 시뮬레이터가 각각의 작업 계획에 따라 동작하는 시뮬레이션을 실시할 수 있다. That is, the simulation unit 151 may perform a simulation in which a plurality of robot simulators operate according to respective work plans in a virtual logistics field based on a virtual physics engine.

시뮬레이션부(151)는 복수의 로봇 시뮬레이터가 실제 현장에서의 작업 속도와 실질적으로 동일한 속도로 작업 계획에 따라 동작하는 시뮬레이션을 실시할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 시뮬레이션부(151)는 배속 조절 기능을 제공하고, 개발자 단말(300)에 의해 설정된 배속에 따라 복수의 로봇 시뮬레이터가 작업을 수행하는 시뮬레이션을 실시할 수도 있다.The simulation unit 151 may perform a simulation in which a plurality of robot simulators operate according to a work plan at substantially the same speed as a work speed in an actual field, but is not limited thereto. For example, the simulation unit 151 may provide a speed control function and perform a simulation in which a plurality of robot simulators perform tasks according to the speed set by the developer terminal 300 .

또한, 시뮬레이션 실시 과정에서 로그 생성부(152)는 로그 데이터를 생성 및 저장하고, 저장된 로그 데이터를 시뮬레이션 결과 보고부(160)에 전달 및/또는 공유할 수 있다. 로그 데이터는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 여부 등과 같은 작업 수행 상황을 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성된 데이터일 수 있다. 여기서 기 설정된 기간은 시뮬레이션 동작부(150)에 의해 설정되거나 개발자 단말(300)에 의해 설정된 기간일 수 있다. 또한, 로그 데이터는 복수의 로봇 시뮬레이터 각각이 설정된 작업 계획을 벗어난 비정상 동작이나 다른 로봇 또는 구조물과의 충돌 등이 발생한 경우 이를 감지하여 생성된 데이터를 포함할 수 있다. Also, during the course of the simulation, the log generator 152 may generate and store log data, and transfer and/or share the stored log data to the simulation result reporting unit 160 . The log data may be data generated by detecting a task performance situation such as a moving state, speed, and object pickup of each of a plurality of robot simulators according to a preset period and/or a task progress. Here, the preset period may be a period set by the simulation operation unit 150 or set by the developer terminal 300 . In addition, the log data may include data generated by detecting an abnormal operation or a collision with another robot or structure that deviate from a set work plan by each of a plurality of robot simulators.

그리고, 모니터링부(153)는 시뮬레이션 환경(또는 가상 물류 현장)을 모사한 사용자 인터페이스 화면을 제공하고, 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 복수의 로봇 시뮬레이터(또는 가상의 물류 클라우드 로봇) 각각의 위치, 작업 처리 현황과 같은 상태 값을 표시할 수 있다. In addition, the monitoring unit 153 provides a user interface screen that simulates a simulation environment (or a virtual logistics site), and connects a plurality of robot simulators in real time with a plurality of robot simulators (or virtual logistics sites) on the user interface screen. Virtual logistics cloud robots) can display status values such as each location and job processing status.

모니터링부(153)는 상기 사용자 인터페이스 화면 및 복수의 로봇 시뮬레이터 각각의 상태 값을 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 실시간으로 사용자 단말(300)에 제공할 수 있다. 또한, 몇몇 실시예에서, 모니터링부(153)는 사용자 단말(300)에 시뮬레이션 제어 기능을 제공할 수도 있다. 예를 들어, 모니터링부(153)는 실시중인 시뮬레이션을 일시 정지하거나 배속을 제어하는 등의 기능을 사용자 인터페이스로 제공할 수 있다.The monitoring unit 153 may provide the user terminal 300 with the user interface screen and state values of each of the plurality of robot simulators in real time through any one of an application program, an application, or a website. Also, in some embodiments, the monitoring unit 153 may provide a simulation control function to the user terminal 300 . For example, the monitoring unit 153 may provide a user interface such as temporarily stopping a simulation in progress or controlling a speed.

이에 따라, 사용자 단말(300)은 복수의 로봇 시뮬레이터 각각의 작업 과정을 포함하는 전체 시뮬레이션 과정을 실시간으로 확인하고, 시뮬레이션 과정을 제어하여 보다 상세하게 시뮬레이션 과정을 모니터링 할 수 있다.Accordingly, the user terminal 300 can check the entire simulation process including the work process of each of the plurality of robot simulators in real time, and monitor the simulation process in more detail by controlling the simulation process.

마지막으로, 시뮬레이션 결과 보고부(170)는 해당 시뮬레이션에 대한 상세 리포트 및/또는 통계 대시보드를 생성하고, 개발자 단말(300)에 제공할 수 있다(S600).Finally, the simulation result reporting unit 170 may generate a detailed report and/or a statistical dashboard for the corresponding simulation and provide it to the developer terminal 300 (S600).

시뮬레이션 결과 보고부(170)는 캠페인 단위로 시뮬레이션 과정에서 발생하여 생성 및 저장된 로그 데이터를 분석하여 시뮬레이션 핵심 지표(Key Performance Indicator, KPI) 단위로 상세 리포트 및/또는 통계 대시보드를 생성할 수 있다. 다만, 이에 제한되는 것은 아니다. The simulation result reporting unit 170 may generate detailed reports and/or statistical dashboards in units of simulation key performance indicators (KPIs) by analyzing generated and stored log data generated during the simulation process in units of campaigns. However, it is not limited thereto.

예를 들어, 시뮬레이션 결과 보고부(170)는 캠페인 식별 정보에 대응하는 상세 페이지에서 상세 리포트 및/또는 통계 대시보드를 제공하거나, 캠페인 식별 정보에 대응하는 상세 리포트 파일 및/또는 통계 대시보드 파일을 생성하여 개발자 단말(300)에 제공할 수 있다. For example, the simulation result reporting unit 170 provides a detailed report and/or statistical dashboard on a detailed page corresponding to campaign identification information, or provides a detailed report file and/or statistical dashboard file corresponding to campaign identification information. It can be created and provided to the developer terminal 300 .

시뮬레이션 핵심 지표는 작업 계획에 따른 목표를 성공적으로 달성하기 위해 핵심적으로 관리해야 하는 요소들에 관한 것으로, 예를 들어 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 비정상 동작 등을 포함할 수 있다. 또한, 시뮬레이션 핵심 지표는 전체 시뮬레이션에 따른 목표 달성률, 생산성, 효율성 등을 포함할 수 있다. Simulation key indicators relate to elements that must be managed as key to successfully achieving goals according to work plans, for example, the movement status of each of multiple robot simulators, speed, accuracy of picking up or loading objects, abnormal operation, etc. can include In addition, simulation key indicators may include target achievement rate, productivity, efficiency, etc. according to the entire simulation.

몇몇 실시예에서, 상세 리포트 및/또는 통계 대시보드는 해당 시뮬레이션의 로그 데이터를 분석한 결과 및 다른 캠페인 식별 정보에 따라 생성된 다른 시뮬레이션의 로그 데이터와 비교 분석한 결과를 포함할 수도 있다. 이 경우, 핵심 지표 단위로 다른 시뮬레이션의 로그 데이터와 비교 분석될 수 있으나, 이에 제한되는 것은 아니다. In some embodiments, the detailed report and/or statistics dashboard may include a result of analyzing log data of the corresponding simulation and comparing and analyzing log data of other simulations generated according to other campaign identification information. In this case, the key indicator unit may be compared and analyzed with log data of other simulations, but is not limited thereto.

또한, 시뮬레이션 결과 보고부(170)는 시뮬레이션 과정에서 발생한 로봇 시뮬레이터의 비정상 동작이나 충돌 등의 이력 정보를 추출하여 개발자 단말(300)에 제공할 수 있다. In addition, the simulation result reporting unit 170 may extract and provide history information such as abnormal operation or collision of the robot simulator generated during the simulation process to the developer terminal 300 .

예를 들어, 시뮬레이션 결과 보고부(170)는 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고 복수의 로봇 시뮬레이터 별로 로그 데이터를 분류하여 개발자 단말(300)에게 제공할 수 있으나, 이에 제한되는 것은 아니다.For example, the simulation result reporting unit 170 extracts log data related to history of abnormal operations or collisions of each of a plurality of robot simulators, classifies the log data for each of a plurality of robot simulators, and provides the log data to the developer terminal 300. It may be, but is not limited thereto.

이와 같이, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법은 개발자가 작업 계획 설정을 위해 작업 계획에 대한 상세 프로파일을 개발함에 있어, 실제 현장의 물류 클라우드 로봇을 제어하기 전 가상의 물류 환경에서 복수의 로봇 시뮬레이터를 이용하여 개발한 작업 계획에 따라 시뮬레이션을 실시하고, 상기 시뮬레이션을 실시간 사용자 인터페이스 화면으로 제공하며, 상기 시뮬레이션에 대한 상세 리포트 및/또는 통계 대시보드를 제공함으로써, 개발자는 시뮬레이션 목표 달성 여부 및 수정을 요하는 사항이 있는지 여부를 미리 확인할 수 있다. 이에 따라, 생산성 및 효율성이 향상된 작업 계획(또는 상세 프로파일)을 개발하는 데 유리할 수 있다. In this way, the simulation method for cloud robot control development according to an embodiment is in a virtual logistics environment before controlling a logistics cloud robot in an actual field when a developer develops a detailed profile for a work plan to set a work plan. By conducting simulations according to the work plan developed using a plurality of robot simulators, providing the simulations as a real-time user interface screen, and providing detailed reports and/or statistical dashboards for the simulations, developers achieve simulation goals. It is possible to check in advance whether or not there are any matters requiring correction. Accordingly, it may be advantageous to develop work plans (or detailed profiles) with improved productivity and efficiency.

또한, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법에 의하면, 상기 시뮬레이션 과정에서 설정된 작업 계획(또는 상세 프로파일)에 따라 발생한 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력 정보를 제공하므로, 개발자는 작업 계획의 오류가 명확한 부분을 직관적으로 확인할 수 있다. 또한, 작업 계획의 오류나 실제 복수의 클라우드 로봇 제어 시 발생할 수 있는 비정상 동작이나 충돌과 같은 에러를 미연에 방지할 수 있다.In addition, according to the simulation method for cloud robot control development according to an embodiment, history information such as abnormal operation or collision of each of a plurality of robot simulators generated according to the work plan (or detailed profile) set in the simulation process is provided. , the developer can intuitively check where the errors in the work plan are obvious. In addition, errors in work plans or errors such as abnormal motions or collisions that may occur when controlling multiple cloud robots can be prevented in advance.

지금까지 본 발명에 대하여 도면에 도시된 실시예들을 중심으로 상세히 살펴보았다. 이러한 실시예들은 이 발명을 한정하려는 것이 아니라 예시적인 것에 해당하며, 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 할 것이다. 본 발명의 진정한 기술적 보호범위는 전술한 설명이 아니라 첨부된 특허 청구범위의 기술적 사상에 의해서 정해져야 할 것이다. 비록 본 명세서에서 특정한 용어들이 사용되었으나, 이는 단지 본 발명의 개념을 설명하기 위한 목정에서 사용된 것이지 의미를 한정하거나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 본 발명의 각 단계는 반드시 기재된 순서대로 수행되어야 할 필요는 없고, 병렬적, 선택적 또는 개별적으로 수행될 수 있다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 특허 청구범위에서 청구하는 본 발명의 본질적인 기술 사상에서 벗어나지 않는 범위에서 다양한 변형 형태 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 균등물은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 득 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 구성요소를 포함하는 것으로 이해되어야 한다.So far, the present invention has been looked at in detail, focusing on the embodiments shown in the drawings. These embodiments are intended to be illustrative rather than limiting of this invention, and should be considered from an illustrative rather than a limiting point of view. The true technical scope of protection of the present invention should be determined by the technical spirit of the appended patent claims, not the foregoing description. Although specific terms are used in this specification, they are only used for the purpose of explaining the concept of the present invention and are not used to limit the meaning or limit the scope of the present invention described in the claims. Each step of the present invention need not necessarily be performed in the order described and may be performed in parallel, selectively or separately. Those skilled in the art to which the present invention belongs will understand that various modifications and other equivalent embodiments are possible without departing from the essential technical spirit of the present invention claimed in the claims. Equivalents should be understood to include all components invented to perform the same function, regardless of currently known equivalents as well as equivalent structures developed in the future.

100: 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템
200: 네트워크 300: 개발자 단말
110: 통신부 120: 시뮬레이션 관리부
130: 시뮬레이션 환경 편집부 140: 시뮬레이션 환경 생성부
150: 시뮬레이션 동작부 150: 시뮬레이션 결과 보고부
400: 현장 지원 시스템 500: 복수의 물류 클라우드 로봇
100: Simulation system for cloud robot control development
200: network 300: developer terminal
110: communication unit 120: simulation management unit
130: simulation environment editing unit 140: simulation environment generation unit
150: simulation operation unit 150: simulation result reporting unit
400: field support system 500: multiple logistics cloud robots

Claims (15)

시뮬레이션을 위한 가상 현장 환경, 복수의 클라우드 로봇 및 시뮬레이션 대상 작업 계획을 설정하는 시뮬레이션 환경 편집부;
상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경, 상기 복수의 클라우드 로봇에 관한 정보 및 상기 작업 계획에 대한 정보를 기반으로 해당 시뮬레이션 구성 및 동작에 필요한 복수의 프로그램을 클러스터에 배포하는 시뮬레이션 환경 생성부;
상기 시뮬레이션 환경 생성부로부터 배포된 복수의 프로그램 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경과 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 시뮬레이션 동작부; 및
상기 시뮬레이션 동작부에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 시뮬레이션 결과 보고부;를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템.
A simulation environment editing unit that sets a virtual field environment for simulation, a plurality of cloud robots, and a simulation target work plan;
a simulation environment generating unit distributing a plurality of programs required for corresponding simulation configuration and operation to a cluster based on the virtual field environment set by the simulation environment editing unit, the information on the plurality of cloud robots, and the information on the work plan;
a simulation operation unit that performs a simulation by linking the plurality of programs distributed from the simulation environment generating unit and the virtual field environment set in the simulation environment editing unit with the work plan; and
A simulation system for cloud robot control development comprising a simulation result reporting unit that analyzes the log data generated by the simulation operation unit and generates detailed reports and/or statistical dashboards in units of simulation key indicators.
제1 항에 있어서,
상기 시뮬레이션 환경 생성부는,
상기 시뮬레이션에 대응하는 캠페인 전용 클러스터를 생성하고, 상기 시뮬레이션 환경 편집부에서 설정된 정보를 기반으로 상기 캠페인 전용 클러스터에 적어도 하나의 서버, 메모리 및 디스크를 포함하는 리소스를 할당하는 클러스터 생성부를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템.
According to claim 1,
The simulation environment generating unit,
A cloud robot control including a cluster creation unit generating a campaign-only cluster corresponding to the simulation and allocating resources including at least one server, memory, and disk to the campaign-only cluster based on information set in the simulation environment editing unit. Simulation system for development.
제2 항에 있어서,
상기 시뮬레이션 환경 생성부는,
현장 지원 시스템 프로그램 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 복수의 클라우드 로봇에 관한 정보를 기반으로 상기 복수의 클라우드 로봇의 유형별 대수에 대응하여 복수의 로봇 시뮬레이터 프로그램을 상기 클러스터에 배포하는 프로그램 배포부를 더 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템.
According to claim 2,
The simulation environment generating unit,
A program distribution unit for distributing a plurality of robot simulator programs to the cluster in correspondence with the number of cloud robots for each type based on the field support system program and information about the plurality of cloud robots set in the simulation environment editing unit Further comprising A simulation system for cloud robot control development.
제3 항에 있어서,
상기 시뮬레이션 환경 생성부는,
상기 현장 지원 시스템 프로그램 및 상기 복수의 로봇 시뮬레이터 프로그램 중 적어도 어느 하나를 생성하는 프로그램 생성부를 더 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템.
According to claim 3,
The simulation environment generating unit,
A simulation system for cloud robot control development further comprising a program generator for generating at least one of the field support system program and the plurality of robot simulator programs.
제3 항에 있어서,
상기 시뮬레이션 결과 보고부는,
복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고, 상기 복수의 로봇 시뮬레이터 별로 상기 로그 데이터를 분류하여 제공하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템.
According to claim 3,
The simulation result reporting unit,
A simulation system for cloud robot control development that extracts log data on the history of abnormal operations or collisions of each of a plurality of robot simulators, and classifies and provides the log data for each of the plurality of robot simulators.
제3 항에 있어서,
상기 시뮬레이션 동작부는,
상기 시뮬레이션 환경 생성부로부터 배포된 복수의 프로그램들 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경, 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 시뮬레이션부, 및
상기 가상 현장 환경을 모사한 사용자 인터페이스 화면을 제공하고, 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 복수의 로봇 시뮬레이터 각각의 상태 값을 표시하는 모니터링부를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템.
According to claim 3,
The simulation operation unit,
A simulation unit that performs a simulation by linking the plurality of programs distributed from the simulation environment creation unit, the virtual field environment set in the simulation environment editing unit, and the work plan; and
A cloud robot control including a monitoring unit that provides a user interface screen that simulates the virtual field environment and displays status values of each of the plurality of robot simulators on the user interface screen by linking the task execution status of the plurality of robot simulators in real time. Simulation system for development.
제6 항에 있어서,
상기 시뮬레이션 동작부는,
상기 시뮬레이션 실시 과정에서 로그 데이터를 생성하는 로그 생성부를 더 포함하되,
상기 로그 데이터는 상기 복수의 로봇 시뮬레이터 각각의 작업 수행 상황을 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성한 데이터인 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템.
According to claim 6,
The simulation operation unit,
Further comprising a log generator for generating log data in the course of the simulation,
The log data is data generated by detecting the task performance status of each of the plurality of robot simulators according to a predetermined period and / or work progress simulation system for cloud robot control development.
제1 항에 있어서,
상기 시뮬레이션 핵심 지표는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 및 비정상 동작 중 적어도 어느 하나 및/또는 상기 시뮬레이션에 따른 목표 달성률, 생산성, 및 효율성 중 적어도 어느 하나를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템.
According to claim 1,
The simulation key index includes at least one of a moving state, speed, accuracy of object pickup or loading, and abnormal operation of each of a plurality of robot simulators, and/or at least one of a target achievement rate, productivity, and efficiency according to the simulation. A simulation system for the development of cloud robot control.
제1 항에 있어서,
어느 하나의 시뮬레이션 시작부터 종료까지 캠페인 단위로 관리할 수 있도록 캠페인 정보를 등록하는 시뮬레이션 관리부;를 더 포함하고,
상기 상세 리포트 및/또는 상기 통계 대시보드는 상기 시뮬레이션의 상기 로그 데이터를 분석한 결과 및 상기 시뮬레이션과 다른 캠페인 식별 정보에 따라 생성된 다른 시뮬레이션의 로그 데이터와 비교 분석한 결과를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템.
According to claim 1,
It further includes; a simulation management unit registering campaign information so that it can be managed in units of campaigns from the start to the end of any one simulation;
The detailed report and/or the statistical dashboard develop cloud robot control including a result of analyzing the log data of the simulation and a result of comparing and analyzing log data of other simulations generated according to campaign identification information different from the simulation. A simulation system for
복수의 클라우드 로봇 제어를 위한 작업 계획의 개발을 지원하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법에 있어서,
시뮬레이션을 캠페인 단위로 관리할 수 있는 캠페인 정보를 등록하는 단계;
상기 시뮬레이션을 위한 가상 현장 환경, 복수의 물류 클라우드 로봇 및 상기 작업 계획에 대한 정보를 설정하는 단계;
상기 가상 현장 환경, 상기 복수의 물류 클라우드 로봇 및 상기 작업 계획에 대한 정보를 기반으로 상기 시뮬레이션의 구성 및 동작에 필요한 복수의 프로그램을 배포하여 시뮬레이션 환경을 생성하는 단계;
상기 복수의 프로그램, 상기 가상 현장 환경 및 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 단계; 및
상기 시뮬레이션 실시 단계에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 단계;를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법.
In the simulation method for developing a cloud robot control that supports the development of a work plan for controlling a plurality of cloud robots,
registering campaign information capable of managing simulations in units of campaigns;
Setting information about a virtual field environment for the simulation, a plurality of logistics cloud robots, and the work plan;
Generating a simulation environment by distributing a plurality of programs necessary for the configuration and operation of the simulation based on information on the virtual field environment, the plurality of logistics cloud robots, and the work plan;
performing a simulation by linking the plurality of programs, the virtual field environment, and the work plan; and
A simulation method for cloud robot control development comprising: analyzing log data generated in the simulation implementation step to generate a detailed report and/or a statistical dashboard in units of simulation key indicators.
제10 항에 있어서,
상기 복수의 프로그램은 실제 현장에서 적용되는 현장 지원 시스템 프로그램, 상기 복수의 물류 클라우드 로봇의 유형별 대수에 대응한 복수의 로봇 시뮬레이터 프로그램 및 가상 물리 엔진 프로그램을 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법.
According to claim 10,
The plurality of programs include a field support system program applied in an actual field, a plurality of robot simulator programs corresponding to the number of types of the plurality of logistics cloud robots, and a virtual physics engine program. Simulation method for developing cloud robot control.
제11 항에 있어서,
상기 로그 데이터는 복수의 로봇 시뮬레이터 각각의 작업 수행 상황을 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성한 데이터인 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법.
According to claim 11,
The log data is data generated by detecting the task performance status of each of a plurality of robot simulators according to a preset period and / or task progress simulation method for developing cloud robot control.
제11 항에 있어서,
상기 시뮬레이션 핵심 지표는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 및 비정상 동작 중 적어도 어느 하나 및/또는 상기 시뮬레이션에 따른 목표 달성률, 생산성, 및 효율성 중 적어도 어느 하나를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법.
According to claim 11,
The simulation key index includes at least one of a moving state, speed, accuracy of object pickup or loading, and abnormal operation of each of a plurality of robot simulators, and/or at least one of a target achievement rate, productivity, and efficiency according to the simulation. A simulation method for the development of cloud robot control.
제11 항에 있어서,
상기 시뮬레이션을 실시하는 단계는,
상기 가상 현장 환경을 모사한 사용자 인터페이스 화면을 제공하고, 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 상기 복수의 로봇 시뮬레이터 각각의 상태 값을 표시하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법.
According to claim 11,
The step of conducting the simulation is,
For cloud robot control development that provides a user interface screen that simulates the virtual field environment and displays the status value of each of the plurality of robot simulators on the user interface screen by linking the task execution situation of a plurality of robot simulators in real time simulation method.
제11 항에 있어서,
상기 시뮬레이션 실시 과정에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 단계는,
복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고, 상기 복수의 로봇 시뮬레이터 별로 상기 로그 데이터를 분류하여 제공하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법.
According to claim 11,
The step of analyzing the log data generated during the simulation implementation process and generating a detailed report and / or statistical dashboard for each simulation key indicator,
A simulation method for developing cloud robot control, which extracts log data on the history of abnormal operations or collisions of each of a plurality of robot simulators, and classifies and provides the log data for each of the plurality of robot simulators.
KR1020210111696A 2021-08-24 2021-08-24 Simulation system and the method for cloud robot control development KR20230029333A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210111696A KR20230029333A (en) 2021-08-24 2021-08-24 Simulation system and the method for cloud robot control development
PCT/KR2022/004255 WO2023027283A1 (en) 2021-08-24 2022-03-25 Simulation system for cloud robot control development, and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210111696A KR20230029333A (en) 2021-08-24 2021-08-24 Simulation system and the method for cloud robot control development

Publications (1)

Publication Number Publication Date
KR20230029333A true KR20230029333A (en) 2023-03-03

Family

ID=85322998

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210111696A KR20230029333A (en) 2021-08-24 2021-08-24 Simulation system and the method for cloud robot control development

Country Status (2)

Country Link
KR (1) KR20230029333A (en)
WO (1) WO2023027283A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117647934B (en) * 2024-01-29 2024-04-23 西北工业大学 Unmanned cluster formation control algorithm intelligent generation method based on large model

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6219059B2 (en) * 2013-04-11 2017-10-25 株式会社東芝 Driving training simulator system and driving training simulation method
US9802309B2 (en) * 2014-07-24 2017-10-31 X Development Llc Methods and systems for generating instructions for a robotic system to carry out a task
JP7124509B2 (en) * 2018-07-19 2022-08-24 オムロン株式会社 SIMULATION DEVICE, SIMULATION PROGRAM AND SIMULATION METHOD
JP6925599B2 (en) * 2018-09-04 2021-08-25 株式会社ゆめいど Simulation method and simulation equipment
US11318616B2 (en) * 2019-11-11 2022-05-03 Rockwell Automation Technologies, Inc. Robotic digital twin control with industrial context simulation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117647934B (en) * 2024-01-29 2024-04-23 西北工业大学 Unmanned cluster formation control algorithm intelligent generation method based on large model

Also Published As

Publication number Publication date
WO2023027283A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
Lee et al. Smart robotic mobile fulfillment system with dynamic conflict-free strategies considering cyber-physical integration
Otto et al. Global views on modular design research: linking alternative methods to support modular product family concept development
US10241515B2 (en) Method, system and apparatus for handling operational constraints for control of unmanned vehicles
US9280757B2 (en) Automated inventory management
US20190080274A1 (en) Tracking and/or analyzing facility-related activities
Staczek Pizo n, J.; Danilczuk, W.; Gola
EP3955189A1 (en) Dynamically generating solutions for updating plans and task allocation strategies
WO2018194808A1 (en) Aisle-based roadmap generation
Traganos et al. The HORSE framework: A reference architecture for cyber-physical systems in hybrid smart manufacturing
US10860750B2 (en) Model driven layout design for robotics warehouse
Xie et al. From simulation to real-world robotic mobile fulfillment systems
Boeing et al. WAMbot: Team MAGICian's entry to the Multi Autonomous Ground‐robotic International Challenge 2010
Likhouzova et al. Robot path optimization in warehouse management system
KR20230029333A (en) Simulation system and the method for cloud robot control development
WO2023174096A1 (en) Method and system for dispatching autonomous mobile robots, and electronic device and storage medium
Gianni et al. ARE: Augmented reality environment for mobile robots
Geuna et al. Resilience and Digital Disruption: Regional Competition in the Age of Industry 4.0
Limeira et al. Augmented reality system for multi-robot experimentation in warehouse logistics
US11426871B1 (en) Automated robotic floor map generation
Kostylev et al. Development of the complex modelling system for intelligent control algorithms testing
Kern et al. Agent-based simulation for indoor manufacturing environments—Evaluating the effects of spatialization
Davies Deskilling Robots in Logistics Environments
Francis et al. MetaBot: Automated and dynamically schedulable robotic behaviors in retail environments
Prabhu et al. Interlinking industry 4.0 and academia through robotics and automation: an Indian perspective
CN112445220A (en) Control method and device for automatic guided vehicle, storage medium and electronic equipment

Legal Events

Date Code Title Description
J301 Trial decision

Free format text: TRIAL NUMBER: 2022101002100; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20221115

Effective date: 20230614