KR20230029333A - 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법 - Google Patents
클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법 Download PDFInfo
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 386
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000011161 development Methods 0.000 title claims description 38
- 230000002159 abnormal effect Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 7
- 230000006870 function Effects 0.000 description 34
- 238000007726 management method Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000033001 locomotion Effects 0.000 description 8
- 230000007613 environmental effect Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005293 physical law Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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] or computer integrated manufacturing [CIM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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] or computer integrated manufacturing [CIM]
- G05B19/41865—Total 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] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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] or computer integrated manufacturing [CIM]
- G05B19/41885—Total 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] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Computer Hardware Design (AREA)
- Human Resources & Organizations (AREA)
- Manufacturing & Machinery (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Operations Research (AREA)
- Educational Administration (AREA)
- General Business, Economics & Management (AREA)
- Manipulator (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
Abstract
본 발명은 시스템 및 그 방법에 관한 것으로, 시뮬레이션을 위한 가상 현장 환경, 복수의 클라우드 로봇 및 시뮬레이션 대상 작업 계획을 설정하는 시뮬레이션 환경 편집부, 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경, 상기 복수의 클라우드 로봇에 관한 정보 및 상기 작업 계획에 대한 정보를 기반으로 해당 시뮬레이션 구성 및 동작에 필요한 복수의 프로그램을 클러스터에 배포하는 시뮬레이션 환경 생성부, 상기 시뮬레이션 환경 생성부로부터 배포된 복수의 프로그램 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경과 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 시뮬레이션 동작부 및 상기 시뮬레이션 동작부에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 시뮬레이션 결과 보고부를 포함한다.
Description
본 발명은 클라우드 로봇 제어 개발를 위한 시뮬레이션 시스템 및 그 방법에 관한 것으로서, 특히 클라우드에서 작업 계획 설정 시 작업 계획에 대한 상세 프로파일을 개발하기 위한 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법에 관한 것이다.
클라우드 로봇은 웹 기반의 클라우드 환경을 활용한 로봇으로, 로봇의 몸체는 입력된 환경을 클라우드로 보내 이에 맞는 정보를 클라우드에서 명령 받아 실행하는 매개체로써의 역할을 담당하며, 클라우드는 로봇의 복잡한 모션 생성, 환경 인지, 지식 검색 등의 고차원적 수행을 담당하는 로봇의 뇌 역할을 할 수 있다.
예를 들어, 클라우드 로봇 개념을 물류 로봇에 적용하면, 클라우드에서 복수의 물류 로봇의 작업 계획을 설정하고 복수의 물류 로봇에게 제어 명령을 지시할 수 있다. 또한, 새로운 작업 계획 반영이 필요한 경우 복수의 물류 로봇의 배치, 복수의 물류 로봇 각각의 새로운 임무 및 이동 결로 설정 등을 클라우드에서 설정할 수 있다.
물류 현장에서 동작하는 물류 클라우드 로봇을 통제 관리하는 시스템이 연계 시스템을 통해 실제 로봇에게 전송하는 상세 작업 계획은 현장의 물류 환경 변화, 물품 변경, 로봇의 대수 변경, 물량 변경 등과 같은 요구 변화에 따라 변경되며, 클라우드 로봇의 상세 작업 계획에 오류나 예기치 못한 이벤트가 포함되어 있다면 고가의 로봇이 서로 충돌하거나 다른 물류 설비와 충돌함에 따른 파손, 생산성 및 효율성 저하 등의 문제가 발생할 수 있다.
따라서, 물류 클라우드에서 작업 계획 설정을 위해 작업 계획에 대한 상세 프로파일을 개발함에 있어, 상술한 오류 또는 이벤트를 미연에 방지하기 위한 방안이 필요한 실정이다.
본 발명이 해결하고자 하는 과제는 클라우드 로봇 제어에 의한 현장의 생산성 및 효율성을 높이고, 클라우드 로봇 제어 시 발생할 수 있는 에러가 미연에 방지된 작업 계획(또는 상세 프로파일) 개발을 지원하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법을 제공하고자 하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템은, 시뮬레이션을 위한 가상 현장 환경, 복수의 클라우드 로봇 및 시뮬레이션 대상 작업 계획을 설정하는 시뮬레이션 환경 편집부, 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경, 상기 복수의 클라우드 로봇에 관한 정보 및 상기 작업 계획에 대한 정보를 기반으로 해당 시뮬레이션 구성 및 동작에 필요한 복수의 프로그램을 클러스터에 배포하는 시뮬레이션 환경 생성부, 상기 시뮬레이션 환경 생성부로부터 배포된 복수의 프로그램 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경과 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 시뮬레이션 동작부 및 상기 시뮬레이션 동작부에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 시뮬레이션 결과 보고부를 포함할 수 있다.
상기 시뮬레이션 환경 생성부는, 상기 시뮬레이션에 대응하는 캠페인 전용 클러스터를 생성하고, 상기 시뮬레이션 환경 편집부에서 설정된 정보를 기반으로 상기 캠페인 전용 클러스터에 적어도 하나의 서버, 메모리 및 디스크를 포함하는 리소스를 할당하는 클러스터 생성부를 포함할 수 있다.
상기 시뮬레이션 환경 생성부는, 현장 지원 시스템 프로그램 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 복수의 클라우드 로봇에 관한 정보를 기반으로 상기 복수의 클라우드 로봇의 유형별 대수에 대응하여 복수의 로봇 시뮬레이터 프로그램을 상기 클러스터에 배포하는 프로그램 배포부를 더 포함할 수 있다.
상기 시뮬레이션 환경 생성부는, 상기 현장 지원 시스템 프로그램 및 상기 복수의 로봇 시뮬레이터 프로그램 중 적어도 어느 하나를 생성하는 프로그램 생성부를 더 포함할 수 있다.
상기 시뮬레이션 결과 보고부는, 상기 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고, 상기 복수의 로봇 시뮬레이터 별로 상기 로그 데이터를 분류하여 제공할 수 있다.
상기 시뮬레이션 동작부는, 상기 시뮬레이션 환경 생성부로부터 배포된 복수의 프로그램들 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경, 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 시뮬레이션부, 및 상기 가상 현장 환경을 모사한 사용자 인터페이스 화면을 제공하고, 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 상기 복수의 로봇 시뮬레이터 각각의 상태 값을 표시하는 모니터링부를 포함할 수 있다.
상기 시뮬레이션 동작부는, 상기 시뮬레이션 실시 과정에서 로그 데이터를 생성하는 로그 생성부를 더 포함하되, 상기 로그 데이터는 상기 복수의 로봇 시뮬레이터 각각의 작업 수행 상황을 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성한 데이터일 수 있다.
상기 시뮬레이션 핵심 지표는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 및 비정상 동작 중 적어도 어느 하나 및/또는 상기 시뮬레이션에 따른 목표 달성률, 생산성, 및 효율성 중 적어도 어느 하나를 포함할 수 있다.
어느 하나의 시뮬레이션 시작부터 종료까지 캠페인 단위로 관리할 수 있도록 캠페인 정보를 등록하는 시뮬레이션 관리부를 더 포함하고, 상기 상세 리포트 및/또는 상기 통계 대시보드는 상기 시뮬레이션의 상기 로그 데이터를 분석한 결과 및 상기 시뮬레이션과 다른 캠페인 식별 정보에 따라 생성된 다른 시뮬레이션의 로그 데이터와 비교 분석한 결과를 포함할 수 있다.
일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법은, 복수의 클라우드 로봇 제어를 위한 작업 계획의 개발을 지원하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법으로서, 시뮬레이션을 캠페인 단위로 관리할 수 있는 캠페인 정보를 등록하는 단계, 상기 시뮬레이션을 위한 가상 현장 환경, 복수의 물류 클라우드 로봇 및 상기 작업 계획에 대한 정보를 설정하는 단계, 상기 가상 현장 환경, 상기 복수의 물류 클라우드 로봇 및 상기 작업 계획에 대한 정보를 기반으로 상기 시뮬레이션의 구성 및 동작에 필요한 복수의 프로그램을 배포하여 시뮬레이션 환경을 생성하는 단계, 상기 복수의 프로그램, 상기 가상 현장 환경 및 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 단계 및 상기 시뮬레이션 실시 단계에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 단계를 포함할 수 있다.
상기 복수의 프로그램은 실제 현장에서 적용되는 현장 지원 시스템 프로그램, 상기 복수의 물류 클라우드 로봇의 유형별 대수에 대응한 복수의 로봇 시뮬레이터 프로그램 및 가상 물리 엔진 프로그램을 포함할 수 있다.
상기 로그 데이터는 상기 복수의 로봇 시뮬레이터 각각의 작업 수행 상황을 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성한 데이터일 수 있다.
상기 시뮬레이션 핵심 지표는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 및 비정상 동작 중 적어도 어느 하나 및/또는 상기 시뮬레이션에 따른 목표 달성률, 생산성, 및 효율성 중 적어도 어느 하나를 포함할 수 있다.
상기 시뮬레이션을 실시하는 단계는, 상기 가상 현장 환경을 모사한 사용자 인터페이스 화면을 제공하고, 상기 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 상기 복수의 로봇 시뮬레이터 각각의 상태 값을 표시할 수 있다.
상기 시뮬레이션 실시 과정에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 단계는, 상기 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고, 상기 복수의 로봇 시뮬레이터 별로 상기 로그 데이터를 분류하여 제공할 수 있다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
실시예들에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법에 의하면, 개발자가 개발한 작업 계획에 따라 시뮬레이션을 실시하고, 상기 시뮬레이션을 실시간 사용자 인터페이스 화면으로 제공하며, 상기 시뮬레이션에 대한 상세 리포트 및/또는 통계 대시보드를 제공함으로써, 개발자는 시뮬레이션 목표 달성 여부 및 수정을 요하는 사항이 있는지 여부를 미리 확인할 수 있다. 이에 따라, 생산성 및 효율성이 향상된 작업 계획(또는 상세 프로파일)을 개발하는 데 유리할 수 있다.
또한, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법은 상기 시뮬레이션 과정에서 설정된 작업 계획(또는 상세 프로파일)에 따라 발생한 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력 정보를 제공하므로, 개발자는 작업 계획의 오류가 명확한 부분을 직관적으로 확인할 수 있다. 나아가, 작업 계획의 오류나 실제 복수의 클라우드 로봇 제어 시 발생할 수 있는 비정상 동작이나 충돌과 같은 에러를 미연에 방지할 수 있다.
본 발명의 실시예들에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 네트워크 구성을 보여주는 개요도이다.
도 2는 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 구성을 개략적으로 보여주는 블록도이다.
도 3은 일 실시예에 따른 시뮬레이션 환경 편집부의 구성을 개략적으로 보여주는 블록도이다.
도 4는 일 실시예에 따른 시뮬레이션 환경 생성부의 구성을 개략적으로 보여주는 블록도이다.
도 5는 일 실시예에 따른 현장 지원 시스템 및 네트워크 구성을 개략적으로 보여주는 블록도이다.
도 6은 일 실시예에 따른 시뮬레이션 동작부의 구성을 개략적으로 보여주는 블록도이다.
도 7은 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법을 보여주는 흐름도이다.
도 2는 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 구성을 개략적으로 보여주는 블록도이다.
도 3은 일 실시예에 따른 시뮬레이션 환경 편집부의 구성을 개략적으로 보여주는 블록도이다.
도 4는 일 실시예에 따른 시뮬레이션 환경 생성부의 구성을 개략적으로 보여주는 블록도이다.
도 5는 일 실시예에 따른 현장 지원 시스템 및 네트워크 구성을 개략적으로 보여주는 블록도이다.
도 6은 일 실시예에 따른 시뮬레이션 동작부의 구성을 개략적으로 보여주는 블록도이다.
도 7은 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법을 보여주는 흐름도이다.
이하에서 본 발명의 기술적 사상을 명확화하기 위하여 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하도록 한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성요소에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 것이다. 도면들 중 실질적으로 동일한 기능 구성을 갖는 구성요소들에 대하여는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들을 부여하였다. 설명의 편의를 위하여 필요한 경우에는 장치와 방법을 함께 서술하도록 한다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
도 1은 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 네트워크 구성을 보여주는 개요도이다.
도 1을 참조하면, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 네트워크 구성은 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100), 네트워크(200) 및 개발자 단말(300)을 포함할 수 있다.
클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)은 시뮬레이션 대상 작업 계획 즉, 클라우드에서 복수의 클라우드 로봇 각각을 제어하기 위한 작업 계획을 입력 받고, 복수의 가상의 클라우드 로봇 및 상기 복수의 가상의 클라우드 로봇이 동작하는 가상의 현장 환경을 생성하여 가상 물리 엔진을 통해 가상의 클라우드 로봇 각각이 상기 작업 계획에 따라 정상적으로 작업을 수행하는지 시뮬레이션 할 수 있다.
또한, 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)은 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 상기 시뮬레이션 과정을 실시간으로 제공하고, 상기 시뮬레이션 과정에서 상기 복수의 가상의 클라우드 로봇의 작업 내역, 이동 상태, 비정상 동작이나 충돌과 같은 에러 발생 등을 로그 데이터로 저장하여 통계 대시 보드 및 상세 리포트를 생성할 수 있다.
이에 따라, 개발자 단말(300)은 작업 계획에 대한 상세 프로파일을 개발함에 있어 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)을 이용함으로써, 개발한 상세 프로파일에 의해 가상의 복수의 클라우드 로봇이 정상 작동하는지 여부를 실시간으로 확인할 수 있다. 또한, 개발자 단말(300)은 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)에서 생성된 통계 대시보드 및 상세 리포트를 제공받아 목표 달성 여부 또는 수정 사항을 인지하고 시뮬레이션 과정에서 발생한 에러를 확인함으로써, 작업 계획의 오류나 실제 클라우드 로봇 제어 시 발생할 수 있는 에러를 미연에 방지하며 복수의 클라우드 로봇의 작업 생산성 및 효율성을 높이는 데 유리할 수 있다.
클라우드 로봇은 스마트 공장 구현을 위한 제조 현장 및 물류 현장, 국방/사회안전을 위한 국방/재난 대응 현장, 건물이나 구조물을 짓기 위한 건축 현장, 원예 또는 농업 지원을 위한 농업 현장 등에 적용될 수 있다. 이하에서는 클라우드 로봇의 작업 현장으로서 물류 현장을 예로 하여 구체적인 실시예에 대해 설명하기로 한다. 그러나, 실시예들의 기술적 사상은 물류 현장에 제한되지 않고, 앞서 설명한 다양한 현장에 적용 가능하다.
클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)에 대한 상세한 설명은 도 2 내지 도 6을 참조하여 설명한다.
네트워크(200)는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)과 개발자 단말(300)이 서로 통신하는 통신망(Communication Network)으로 통신 양태를 특별하게 가리지 않고 구성될 수 있다. 예를 들어, 단거리 통신망(Personal Area Network, PAN), 근거리 통신망(Local Area Network, LAN), 도시권 통신망(Metropolitan Area Network, MAN), 광역 통신망(Wide Area Network, WAN) 등 다양한 통신망으로 구성될 수 있으나, 이에 제한되는 것은 아니다.
개발자 단말(300)은 복수의 클라우드 로봇 각각의 작업 계획에 대한 상세 프로파일을 개발 또는 작성하는 개발자의 단말일 수 있다. 개발자 단말(300)은 인터넷 및/또는 인트라넷과 같은 유/무선 통신망을 통해 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)과 데이터 통신을 할 수 있는 장치로, 예를 들어 노트북, 핸드헬드 장치, 스마트폰, 태플릿 PC 등의 모바일 단말, 데스크탑 컴퓨터 또는 이러한 장치를 이용하거나 직간접적으로 이와 연결된 임의의 장치일 수 있다.
개발자 단말(300)은 복수의 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)에서 제공하는 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 작업 계획을 설정하거나 가상 작업 환경을 생성 및 편집하고, 시뮬레이션 과정을 실시간으로 확인하며, 시뮬레이션 과정이 기록된 로그 데이터, 통계 대시보드 및 상세 리포트를 확인할 수 있다.
도 2는 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템의 구성을 개략적으로 보여주는 블록도이다.
일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템(100)은 통신부(110), 시뮬레이션 관리부(120), 시뮬레이션 환경 편집부(130), 시뮬레이션 환경 생성부(140), 시뮬레이션 동작부(150), 및 시뮬레이션 결과 보고부(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) 간 데이터를 송수신할 수 있다.
시뮬레이션 관리부(120)는 개발자 단말(300)이 어느 하나의 시뮬레이션 시작부터 종료까지 캠페인 단위로 관리할 수 있도록 캠페인 정보를 등록하는 기능을 제공할 수 있다. 여기서, 캠페인 정보는 캠페인 식별 정보, 및 시뮬레이션의 목표와 시뮬레이션의 세부 환경 등과 같은 해당 시뮬레이션에 관한 모든 정보를 포함하며, 캠페인은 시뮬레이션을 관리하는 최소 단위일 수 있다. 상기 캠페인 식별 정보는 개발자 단말(300)이 임의로 설정한 문자열 및/또는 숫자일 수 있으나, 이에 제한되는 것은 아니다.
클라우트 로봇 제어 개발을 위한 시뮬레이션 시스템(100)이 복수의 시뮬레이션을 관리하는 경우, 시뮬레이션 관리부(120)는 캠페인 식별 정보에 따라 복수의 캠페인을 분류하여 관리할 수 있다. 이에 따라, 관리자 단말(300)은 복수의 시뮬레이션 각각을 식별 및 관리할 수 있다.
시뮬레이션 환경 편집부(130)는 시뮬레이션을 위한 물류 현장 환경, 물류 클라우드 로봇을 설정하며, 시뮬레이션 대상 작업 계획을 설정할 수 있다.
도 3은 일 실시예에 따른 시뮬레이션 환경 편집부의 구성을 개략적으로 보여주는 블록도이다.
도 3을 참조하면, 시뮬레이션 환경 편집부(130)는 현장 구조 설정부(131), 현장 구조 편집부(132), 로봇 설정부(133) 및 작업 계획 등록부(134)를 포함할 수 있다.
현장 구조 설정부(131)는 통신부(110)를 통해 개발자 단말(300)로부터 물류 현장의 레이아웃 파일을 수신하여 가상 물류 현장의 구조를 설정(또는 생성)할 수 있다. 여기서, 물류 현장의 레이아웃 파일은 복수의 물류 클라우드 로봇이 동작하는 실제 물류 현장으로서 예를 들어, 선반 위치, 물건 픽업 공간, 물품 배치 구조, 물류 클라우드 로봇의 충전 스테이션의 위치, 생산라인 등의 현장 구조가 도시된 캐드(CAD) 파일일 수 있다. 다만, 이에 제한되는 것은 아니고, 예를 들어 물류 현장의 레이아웃 파일은 실제 물류 현장의 구조가 도시된 이미지 파일, pdf 파일 등을 포함할 수도 있다.
또한, 현장 구조 설정부(131)는 개발자 단말(300)로부터 상기 레이아웃 파일에 포함되지 않은 물류 현장의 추가적인 환경 정보를 수신하여 가상 물류 현장의 구조를 설정할 수 있다. 예를 들어, 물류 현장의 추가적인 환경 정보는 엘리베이터의 위치, 출입문의 식별 및 복수의 클라우드 로봇 동작에 있어 식별이 필요한 구역 정보 등을 포함할 수 있다. 현장 구조 설정부(131)는 물류 현장의 추가적인 환경 정보를 수신함에 있어, 개발자 단말(300)에 상기 물류 현장의 레이아웃 파일에 의해 설정된 가상 물류 현장의 구조를 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 표시하는 기능을 제공할 수 있다.
현장 구조 설정부(131)는 물류 현장의 레이아웃 파일 및 물류 현장의 추가적인 환경 정보를 토대로 설정된 가상 물류 현장 파일을 현장 구조 편집부(132)에 전달 및/또는 공유할 수 있다.
현장 구조 편집부(132)는 현장 구조 설정부(131)에서 설정된 가상 물류 현장의 레이아웃 상 위치, 크기 및 배치 등을 편집하는 기능을 제공할 수 있다. 예를 들어, 개발자 단말(300)은 현장 구조 편집부(132)에 가상 물류 현장 내의 물품, 로봇, 선반 등과 같은 다양한 객체의 고정 위치 혹은 시작 위치, 높이나 폭과 같은 크기, 복수의 객체 및/또는 구조물 간의 배치 관계 등에 관한 정보를 수신하여 가상 물류 현장 편집을 위한 조건 정보로 활용할 수 있다.
현장 구조 편집부(132)는 수신된 가상 물류 현장 편집을 위한 상기 조건 정보를 이용하여 현장 구조 설정부(131)로부터 전달받은 가상 물류 현장 파일을 편집하여 개발자 단말(300)에 제공할 수 있다. 또한, 현장 구조 편집부(132)는 상기 가상 물류 현장 파일을 시뮬레이션 환경 생성부(140)에 전달 및/또는 공유할 수 있다.
로봇 설정부(133)는 시뮬레이션을 위한 시나리오에서 확인하고자 하는 클라우드 로봇의 유형 및 유형별 대수를 설정하는 기능을 제공할 수 있다. 로봇 설정부(133)는 개발자 단말(300)로부터 시뮬레이션을 위한 시나리오에서 확인하고자 하는 클라우드 로봇의 유형 및 유형별 대수에 관한 정보를 전송 받아 가상의 복수의 클라우드 로봇을 설정할 수 있다.
예를 들어, 클라우드 로봇의 유형은 운반물을 자동으로 운송하며, 바닥에 레일 없이 주행가능한 무인 운반차(Automated Guided Vehicle, AGV) 및 주행을 돕는 마커, 와이어 또는 마그넷 없이 라이더, 카메라 또는 GPS 등의 센서를 이용하여 주행가능한 자율 이동 로봇(Autonomous Mobile Robot, AMR)을 포함할 수 있다. 또한, 클라우드 로봇의 유형은 기능에 따라 분류되며, 물건을 잡고 옮기거나 물건을 조립할 수 있는 다관절 이중암과 그리퍼를 포함하는 구동부를 구비하는 조립용 이동 로봇, 물건을 적재할 수 있는 트레이를 구비하는 운반용 이동 로봇, 물건을 잡고 옮기거나 조작할 수 있는 다관절 암과 그리퍼를 포함하는 구동부를 구비하는 픽업용 이동 로봇, 물체의 인식과 분류가 가능한 물체 분류 인식 로봇, 물체가 적재된 공간을 인식할 수 있는 물체 적재 공간 인식 이동 로봇 등을 포함할 수 있다. 다만, 클라우드 로봇의 유형이 이에 제한되는 것은 아니다.
또한, 몇몇 실시예에서, 복수의 클라우드 로봇은 적어도 어느 하나의 로봇을 포함하는 그룹으로 묶이고, 복수의 그룹 각각은 해당 그룹에 소속된 로봇에 세부 임무를 할당하고 제어할 수 있는 제어 권한이 부여된 리더 로봇을 포함할 수 있다. 이 경우, 리더 로봇은 엣지 컴퓨팅 성능의 HW 장치내에 기능을 내장하여 리더 로봇 역할을 수행할 수도 있다.
로봇 설정부(133)는 설정된 가상의 복수의 클라우드 로봇에 관한 정보를 시뮬레이션 환경 생성부(140)에 전달 및/또는 공유할 수 있다.
작업 계획 등록부(134)는 시뮬레이션 대상 작업 계획을 설정할 수 있다. 여기서, 작업 계획은 작업 목표, 해당 로봇의 담당 역할, 작업 규칙, 예외 상황 발생 시 예외 처리 규칙, 다른 로봇과 협업 역할, 이동 경로 등을 포함할 수 있다. 다만, 이에 제한되는 것은 아니다.
또한, 작업 계획은 복수의 클라우드 로봇 각각에 대해 설정될 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 작업 계획은 클라우드 로봇의 유형에 따라 설정될 수도 있고, 물류 현장의 구역 및 클라우드 로봇의 유형에 따라 설정될 수도 있다. 또한, 복수의 클라우드 로봇이 복수의 그룹으로 묶이고, 상기 리더 로봇을 포함하는 경우, 작업 계획 등록부(134)는 상기 리더 로봇 별로 작업 계획을 설정할 수도 있다.
작업 계획 등록부(134)는 개발자 단말(300)로부터 시뮬레이션 대상 작업 계획 정보를 전송 받아 작업 계획을 설정할 수 있다. 예를 들어, 개발자 단말(300)은 물류 클라우드 로봇이 작업 현장에 적용됨에 있어, 물품의 중량, 사이즈, 형태와 같은 대상 물건에 관한 정보, 엘리베이터의 이용 또는 장애물, 출입문 등을 고려한 작업 현장에서의 이동 경로에 관한 정보, 및 트레이, 팔레트, 견인 또는 관련 장비와의 연계와 같은 물류 운송 방법에 관한 정보를 파악하여 작업 계획 정보를 설정하고 작업 계획 등록부(134)에 설정된 작업 계획 정보를 전송할 수 있다. 또한, 개발자 단말(300)은 복수의 물류 클라우드 로봇 각각이 보유하는 기능, 예를 들어 자율 주행 기능, 물체 인식 기능, 회피 기능, 물품을 집고 내리는 기능 등에 맞추어 작업 계획을 설정할 수 있다. 다만, 이에 제한되는 것은 아니다.
몇몇 실시예에서, 개발자 단말(300)은 작업 계획 정보를 설정하는 경우 현장 구조 편집부(132)로부터 가상 물류 현장 파일을 전송 받을 수 있으나, 이에 제한되는 것은 아니다.
작업 계획 등록부(134)는 설정된 작업 계획에 관한 정보를 시뮬레이션 환경 생성부(140)에 전달 및/또는 공유할 수 있다.
도 4는 일 실시예에 따른 시뮬레이션 환경 생성부의 구성을 개략적으로 보여주는 블록도이다.
시뮬레이션 환경 생성부(140)는 시뮬레이션 환경 편집부(130)로부터 전달 및/또는 공유 받은 가상 물류 현장 파일, 가상의 복수의 클라우드 로봇에 관한 정보, 및 작업 계획에 관한 정보를 기반으로 해당 시뮬레이션에 대응하는 캠페인 전용 클러스터를 생성하고, 시뮬레이션 동작에 필요한 복수의 프로그램을 배포 및 관리할 수 있다.
도 4를 참조하면, 시뮬레이션 환경 생성부(140)는 클러스터 생성부(141), 프로그램 배포부(142)를 포함할 수 있다. 또한, 시뮬레이션 환경 생성부(140)는 프로그램 생성부(143)를 더 포함할 수 있다.
클러스터 생성부(141)는 시뮬레이션 관리부(120)에서 등록된 캠페인 정보에 대응하여 해당 캠페인 전용 클러스터를 생성할 수 있다. 또한, 클러스터 생성부(141)는 시뮬레이션 환경 편집부(130)로부터 전달 받은 가상 물류 현장 파일, 가상의 복수의 클라우드 로봇에 관한 정보 및 작업 계획에 관한 정보를 기반으로 해당 캠페인 전용 클러스터 내의 서버의 대수, 메모리 및 디스크와 같은 리소스를 할당할 수 있다.
이와 같이 할당된 서버, 메모리 및 디스크와 같은 리소스는 해당 시뮬레이션이 종료할 때까지 해당 클러스터 내에서 동작하며, 해당 시뮬레이션이 종료된 경우 반납될 수 있다. 여기서 해당 시뮬레이션의 종료는 시뮬레이션 동작부(150)에서 개발자가 의도한 작업 계획이 종료됨에 따라 시뮬레이션이 완료된 경우를 의미할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 해당 시뮬레이션의 종료는 시뮬레이션 동작부(150)에서 시뮬레이션이 진행되는 도중에 개발자 단말(300)에 의해 해당 시뮬레이션이 강제적으로 종료된 경우를 포함할 수도 있다.
프로그램 배포부(142)는 시뮬레이션을 구성하기 위해 필요한 프로그램 및 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 해당 시뮬레이션에 대응하는 클러스터에 배포할 수 있다. 예를 들어, 프로그램 배포부(142)는 기 저장되거나 개발자 단말(300)로부터 전송 받은 시뮬레이션을 구성하기 위해 필요한 프로그램 및 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 클러스터에 배포할 수 있다. 다만, 이에 제한되는 것은 아니다. 시뮬레이션 환경 생성부(140)가 프로그램 생성부(143)를 포함하는 경우, 상기 복수의 프로그램 중 적어도 어느 하나는 프로그램 생성부(143)에서 생성되고 프로그램 배포부(142)에 전달되어 클러스터에 배포될 수도 있다.
시뮬레이션을 구성하기 위해 필요한 프로그램은 실제 물류 현장에서 복수의 물류 클라우드 로봇을 제어하기 위한 현장 지원 시스템에 관한 프로그램으로 물류 클라우드 로봇 중앙 통합 관제 시스템 프로그램 및 로봇 연계 시스템 프로그램을 포함할 수 있다. 또한, 시뮬레이션을 구성하기 위해 필요한 프로그램은 가상 환경에서 로봇 역할을 수행할 로봇 시뮬레이터 프로그램(또는 소프트웨어)을 포함할 수 있다.
상기 현장 지원 시스템은 현장에서 복수의 클라우드 로봇을 제어 및 관리하기 위한 시스템으로, 본 기술 분야에서 알려진 현장 지원 시스템이 적용될 수 있다. 다만, 본 발명의 이해의 편의를 위해 도 5를 참조하여 일 실시예에 따른 현장 지원 시스템에 대해 간단히 설명한다.
도 5는 일 실시예에 따른 현장 지원 시스템의 네트워크 구성을 개략적으로 보여주는 블록도이다.
도 5를 참조하면, 현장 지원 시스템의 네트워크 구성은 현장 지원 시스템(400). 네트워크(200) 및 복수의 물류 클라우드 로봇(500)을 포함할 수 있다. 현장 지원 시스템(400)과 복수의 로봇(500)은 네트워크(200)를 통해 연결되며, 복수의 물류 클라우드 로봇(500) 각각은 현장 지원 시스템(400)으로부터 작업 계획 및 제어 신호 등를 전송 받아 물류 현장에서 작동될 수 있다. 또한, 현장 지원 시스템(400)은 복수의 물류 클라우드 로봇(500) 각각으로부터 감지되거나 생성된 데이터를 수신할 수 있다.
현장 지원 시스템(400)은 물류 클라우드 로봇 중앙 통제 관리 시스템(410) 및 물류 클라우드 로봇 연계 시스템(420)을 포함할 수 있다.
물류 클라우드 로봇 중앙 통제 관리 시스템(410)은 복수의 물류 클라우드 로봇(500) 각각에 내장되어 있는 로봇 프로그램과 연동을 통해 해당 물류 클라우드 로봇에 맞는 작업 계획 정보(예를 들어, 작업 목표, 해당 로봇의 담당 역할, 작업 규칙, 예외 상황 발생 시 예외 처리 규칙, 다른 로봇과 협업 역할, 이동 경로 등)를 생성 및 저장하고, 복수의 물류 클라우드 로봇(500) 각각을 제어하기 위해 필요한 여러가지 연산을 수행할 수 있다.
또한, 물류 클라우드 로봇 중앙 통제 관리 시스템(410)은 복수의 물류 클라우드 로봇(500) 각각의 실시간 작업 현황, 배치, 예외 상황 발생 여부 등을 확인하는 관제 업무를 수행할 수도 있다. 여기서, 예외 상황은 복수의 물류 클라우드 로봇(500)간의 충돌 또는 다른 구조물과의 충돌이나, 작업 오류 발생 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.
물류 클라우드 로봇 연계 시스템(420)은 물류 클라우드 로봇 중앙 통제 관리 시스템(410)과 복수의 물류 클라우드 로봇(500) 각각을 연계하며, 네트워크(200)를 통해 물류 클라우드 로봇 중앙 통제 관리 시스템(410)에서 생성되거나 기 저장된 작업 계획 정보 및/또는 제어 신호를 복수의 물류 클라우드 로봇(500) 각각에 전송할 수 있다.
도 5에서는 물류 클라우드 로봇 중앙 통제 관리 시스템(410)과 물류 클라우드 로봇 연계 시스템(420)이 각각 별도의 시스템인 것으로 예시하였으나, 이에 제한되는 것은 아니고, 하나의 시스템으로 구성될 수 있다.
이와 같은 실제 물류 현장에서 복수의 물류 클라우드 로봇(500)을 제어하기 위한 현장 지원 시스템(400)은 물류 현장, 개발자의 작업 계획, 복수의 물류 클라우드 로봇의 구성 등에 따라 달라질 수 있다. 따라서, 일 실시예에 따른 시뮬레이션 환경 생성부(140)는 해당 시뮬레이션을 구성함에 있어 그에 대응되는 현장 지원 시스템을 클러스터에 배포할 수 있다.
다시 도 4를 참조하면, 프로그램 배포부(142)는 해당 시뮬레이션에 대응하는 현장 지원 시스템 프로그램 즉, 물류 클라우드 로봇 중앙 통제 관리 시스템 프로그램 및 물류 클라우드 로봇 연계 시스템 프로그램을 해당 클러스터에 배포할 수 있다.
또한, 프로그램 배포부(142)는 시뮬레이션 환경 편집부(130)로부터 전달 받은 가상의 복수의 클라우드 로봇에 관한 정보를 토대로 시뮬레이션 구성에 필요한 적어도 하나의 로봇 시뮬레이터 프로그램을 해당 클러스터에 배포할 수 있다. 프로그램 배포부(142)는 시뮬레이션 환경 편집부(130)에서 설정된 복수의 클라우드 로봇의 유형별 대수에 대응하여 로봇 시뮬레이터 프로그램을 클러스터에 배포할 수 있다.
예를 들어, 시뮬레이션 환경 편집부(130)에서 제1 유형의 복수의 클라우드 로봇이 5대로 설정되고 제2 유형의 복수의 클라우드 로봇이 5대로 설정된 경우, 프로그램 배포부(142)는 제1 유형의 로봇 시뮬레이터 프로그램 5개 및 제2 유형의 로봇 시뮬레이터 프로그램 5개를 클러스터에 배포할 수 있다. 다만, 이에 제한되는 것은 아니다. 로봇 시뮬레이터 프로그램이 모든 유형의 클라우드 로봇의 기능을 포함하여 가상의 클라우드 로봇으로서 역할을 수행할 수 있는 경우, 시뮬레이션 환경 편집부(130)는 로봇 시뮬레이터 프로그램을 10개를 배포하되, 로봇 시뮬레이터 프로그램에 대해 유형별 기능을 제한하거나 설정된 유형에 맞는 역할을 하도록 제어할 수도 있다.
프로그램 배포부(142)는 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 클러스터에 배포할 수 있다. 가상 물리 엔진 프로그램은 현실에서 일어나는 물리법칙을 프로그램에서도 동일하게 적용시킬 수 있도록 하는 프로그램으로, 시뮬레이션 시 설정된 작업 계획을 실행하는 복수의 로봇 시뮬레이터가 가상의 물류 현장에서 동작하는데 필요한 물리적인 정보를 제공하는 엔진일 수 있다. 본 발명을 실시하기 위한 가상 물리 엔진 프로그램의 종류에 제한은 없으며, 본 발명의 기술분야에서 통상의 기술자에게 알려진 가상 물리 엔진 프로그램이 적용될 수 있다.
몇몇 실시예에서, 시뮬레이션 환경 생성부(140)는 프로그램 생성부(143)를 더 포함할 수 있다. 프로그램 생성부(143)는 시뮬레이션 구성 및 동작을 위한 프로그램을 생성하는 기능을 제공할 수 있다. 프로그램 생성부(143)는 생성된 프로그램을 프로그램 배포부(142)에 전달 및/또는 공유할 수 있다. 예를 들어, 개발자 단말(300)은 프로그램 생성부(143)를 통해 현장 지원 시스템 프로그램을 생성할 수 있다. 이 경우, 시뮬레이션 종료 후 실제 현장 제어를 위해 프로그램 생성부(143)에서 생성된 현장 지원 시스템 프로그램을 실제 현장 지원 시스템으로 사용할 수도 있다.
또한, 프로그램 생성부(143)는 시뮬레이션 환경 편집부(130)에서 설정된 복수의 클라우드 로봇의 유형별 대수에 대응하여 로봇 시뮬레이터 프로그램을 생성하고, 생성된 로봇 시뮬레이터 프로그램을 프로그램 배포부(142)에 전달 및/또는 공유할 수 있다. 예를 들어, 시뮬레이션 환경 편집부(130)에서 제1 유형의 복수의 클라우드 로봇이 5대로 설정되고 제2 유형의 복수의 클라우드 로봇이 5대로 설정된 경우, 프로그램 생성부(143)는 제1 유형의 로봇 시뮬레이터 프로그램 5개 및 제2 유형의 로봇 시뮬레이터 프로그램 5개를 생성할 수 있다. 다만, 이에 제한되는 것은 아니다. 나아가, 몇몇 실시예에서 프로그램 생성부(143)와 프로그램 배포부(142)는 하나의 구성으로 이루어질 수 있다.
도 6은 일 실시예에 따른 시뮬레이션 동작부의 구성을 개략적으로 보여주는 블록도이다.
시뮬레이션 동작부(150)는 클러스터에 배포된 중앙 통제 관제 시스템 프로그램, 물류 클라우드 로봇 연계 시스템 프로그램, 복수의 로봇 시뮬레이터 프로그램 간의 작업 계획을 연계하면서 시뮬레이션을 실시할 수 있다
도 6을 참조하면, 시뮬레이션 동작부(150)는 시뮬레이션부(151), 로그 생성부(152) 및 모니터링부(153)를 포함할 수 있다.
시뮬레이션부(151)는 시뮬레이션 환경 생성부(140)로부터 배포된 복수의 프로그램 및 시뮬레이션 환경 편집부(130)에서 설정된 가상 물류 현장과 작업 계획을 연계하여 시뮬레이션을 실시할 수 있다.
즉, 시뮬레이션부(151)는 가상 물리 엔진을 기반으로 가상 물류 현장에서 복수의 로봇 시뮬레이터가 각각의 작업 계획에 따라 동작하는 시뮬레이션을 실시할 수 있다.
시뮬레이션부(151)는 복수의 로봇 시뮬레이터가 실제 현장에서의 작업 속도와 실질적으로 동일한 속도로 작업 계획에 따라 동작하는 시뮬레이션을 실시할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 시뮬레이션부(151)는 배속 조절 기능을 제공하고, 개발자 단말(300)에 의해 설정된 배속에 따라 복수의 로봇 시뮬레이터가 작업을 수행하는 시뮬레이션을 실시할 수도 있다.
로그 생성부(152)는 시뮬레이션 실시 과정에서 로그 데이터를 생성 및 저장하고, 저장된 로그 데이터를 시뮬레이션 결과 보고부(160)에 전달 및/또는 공유할 수 있다.
로그 데이터는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 여부 등과 같은 작업 수행 상황이 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성된 데이터일 수 있다. 여기서 기 설정된 기간은 시뮬레이션 동작부(150)에 의해 설정되거나 개발자 단말(300)에 의해 설정된 기간일 수 있다. 또한, 로그 데이터는 복수의 로봇 시뮬레이터 각각이 설정된 작업 계획을 벗어난 비정상 동작이나 다른 로봇 또는 구조물과의 충돌 등이 발생한 경우 이를 감지하여 생성된 데이터를 포함할 수 있다.
모니터링부(153)는 시뮬레이션 환경(또는 가상 물류 현장)을 모사한 사용자 인터페이스 화면을 제공하고, 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 복수의 로봇 시뮬레이터(또는 가상의 물류 클라우드 로봇) 각각의 위치, 작업 처리 현황과 같은 상태 값을 표시할 수 있다.
모니터링부(153)는 상기 사용자 인터페이스 화면 및 복수의 로봇 시뮬레이터 각각의 상태 값을 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 실시간으로 사용자 단말(300)에 제공할 수 있다. 또한, 몇몇 실시예에서, 모니터링부(153)는 사용자 단말(300)에 시뮬레이션 제어 기능을 제공할 수도 있다. 예를 들어, 모니터링부(153)는 실시중인 시뮬레이션을 일시 정지하거나 배속을 제어하는 등의 기능을 사용자 인터페이스로 제공할 수 있다.
이에 따라, 사용자 단말(300)은 복수의 로봇 시뮬레이터 각각의 작업 과정을 포함하는 전체 시뮬레이션 과정을 실시간으로 확인하고, 시뮬레이션 과정을 제어하여 보다 상세하게 시뮬레이션 과정을 모니터링 할 수 있다.
시뮬레이션 결과 보고부(170)는 캠페인 단위로 시뮬레이션 과정에서 발생하여 생성 및 저장된 로그 데이터를 분석하여 시뮬레이션 핵심 지표(Key Performance Indicator, KPI) 단위로 상세 리포트 및/또는 통계 대시보드를 생성할 수 있다. 다만, 이에 제한되는 것은 아니다.
예를 들어, 시뮬레이션 결과 보고부(170)는 캠페인 식별 정보에 대응하는 상세 페이지에서 상세 리포트 및/또는 통계 대시보드를 제공하거나, 캠페인 식별 정보에 대응하는 상세 리포트 파일 및/또는 통계 대시보드 파일을 생성하여 개발자 단말(300)에 제공할 수 있다.
시뮬레이션 핵심 지표는 작업 계획에 따른 목표를 성공적으로 달성하기 위해 핵심적으로 관리해야 하는 요소들에 관한 것으로, 예를 들어 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 비정상 동작 등을 포함할 수 있다. 또한, 시뮬레이션 핵심 지표는 전체 시뮬레이션에 따른 목표 달성률, 생산성, 효율성 등을 포함할 수 있다.
몇몇 실시예에서, 상세 리포트 및/또는 통계 대시보드는 해당 시뮬레이션의 로그 데이터를 분석한 결과 및 다른 캠페인 식별 정보에 따라 생성된 다른 시뮬레이션의 로그 데이터와 비교 분석한 결과를 포함할 수도 있다. 이 경우, 핵심 지표 단위로 다른 시뮬레이션의 로그 데이터와 비교 분석될 수 있으나, 이에 제한되는 것은 아니다.
또한, 시뮬레이션 결과 보고부(170)는 시뮬레이션 과정에서 발생한 로봇 시뮬레이터의 비정상 동작이나 충돌 등의 이력 정보를 추출하여 개발자 단말(300)에 제공할 수 있다.
예를 들어, 시뮬레이션 결과 보고부(170)는 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고 복수의 로봇 시뮬레이터 별로 로그 데이터를 분류하여 개발자 단말(300)에게 제공할 수 있으나, 이에 제한되는 것은 아니다.
이와 같이, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템은 개발자가 작업 계획 설정을 위해 작업 계획에 대한 상세 프로파일을 개발함에 있어, 실제 현장의 물류 클라우드 로봇을 제어하기 전 가상의 물류 환경에서 복수의 로봇 시뮬레이터를 이용하여 개발한 작업 계획에 따라 시뮬레이션을 실시하고, 상기 시뮬레이션을 실시간 사용자 인터페이스 화면으로 제공하며, 상기 시뮬레이션에 대한 상세 리포트 및/또는 통계 대시보드를 제공함으로써, 개발자는 시뮬레이션 목표 달성 여부 및 수정을 요하는 사항이 있는지 여부를 미리 확인할 수 있다. 이에 따라, 생산성 및 효율성이 향상된 작업 계획(또는 상세 프로파일)을 개발하는 데 유리할 수 있다.
또한, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템은 상기 시뮬레이션 과정에서 설정된 작업 계획(또는 상세 프로파일)에 따라 발생한 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력 정보를 제공하므로, 개발자는 작업 계획의 오류가 명확한 부분을 직관적으로 확인할 수 있다. 또한, 작업 계획의 오류나 실제 복수의 클라우드 로봇 제어 시 발생할 수 있는 비정상 동작이나 충돌과 같은 에러를 미연에 방지할 수 있다.
도 7은 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법을 보여주는 흐름도이다.
도 7을 참조하면, 먼저 개발자 단말(300)은 시뮬레이션 관리부(120)를 통해 캠페인 정보를 등록할 수 있다(S100).
시뮬레이션 관리부(120)는 개발자 단말(300)이 어느 하나의 시뮬레이션 시작부터 종료까지 캠페인 단위로 관리할 수 있도록 캠페인 정보를 등록하는 기능을 제공할 수 있다. 여기서, 캠페인 정보는 캠페인 식별 정보, 및 시뮬레이션의 목표와 시뮬레이션의 세부 환경 등과 같은 해당 시뮬레이션에 관한 모든 정보를 포함하며, 캠페인은 시뮬레이션을 관리하는 최소 단위일 수 있다. 상기 캠페인 식별 정보는 개발자 단말(300)이 임의로 설정한 문자열 및/또는 숫자일 수 있으나, 이에 제한되는 것은 아니다.
클라우트 로봇 제어 개발을 위한 시뮬레이션 시스템(100)이 복수의 시뮬레이션을 관리하는 경우, 시뮬레이션 관리부(120)는 캠페인 식별 정보에 따라 복수의 캠페인을 분류하여 관리할 수 있다. 이에 따라, 관리자 단말(300)은 복수의 시뮬레이션 각각을 식별 및 관리할 수 있다.
그리고 나서, 시뮬레이션 환경 편집부(130)는 시뮬레이션 환경 및 시뮬레이션 대상 작업 계획을 설정할 수 있다(S200).
여기서, 시뮬레이션 환경은 시뮬레이션을 위한 물류 현장 환경 및 물류 클라우드 로봇을 포함할 수 있다. 현장 구조 설정부(131)는 통신부(110)를 통해 개발자 단말(300)로부터 물류 현장의 레이아웃 파일을 수신하여 가상 물류 현장의 구조를 설정(또는 생성)할 수 있다. 여기서, 물류 현장의 레이아웃 파일은 복수의 물류 클라우드 로봇이 동작하는 실제 물류 현장으로서 예를 들어, 선반 위치, 물건 픽업 공간, 물품 배치 구조, 물류 클라우드 로봇의 충전 스테이션의 위치, 생산라인 등의 현장 구조가 도시된 캐드(CAD) 파일일 수 있다. 다만, 이에 제한되는 것은 아니고, 예를 들어 물류 현장의 레이아웃 파일은 실제 물류 현장의 구조가 도시된 이미지 파일, pdf 파일 등을 포함할 수도 있다.
현장 구조 설정부(131)는 개발자 단말(300)로부터 상기 레이아웃 파일에 포함되지 않은 물류 현장의 추가적인 환경 정보를 수신하여 가상 물류 현장의 구조를 설정할 수 있다. 예를 들어, 물류 현장의 추가적인 환경 정보는 엘리베이터의 위치, 출입문의 식별 및 복수의 클라우드 로봇 동작에 있어 식별이 필요한 구역 정보 등을 포함할 수 있다. 현장 구조 설정부(131)는 물류 현장의 추가적인 환경 정보를 수신함에 있어, 개발자 단말(300)에 상기 물류 현장의 레이아웃 파일에 의해 설정된 가상 물류 현장의 구조를 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 표시하는 기능을 제공할 수 있다.
현장 구조 설정부(131)는 물류 현장의 레이아웃 파일 및 물류 현장의 추가적인 환경 정보를 토대로 설정된 가상 물류 현장 파일을 현장 구조 편집부(132)에 전달 및/또는 공유할 수 있다.
현장 구조 편집부(132)는 현장 구고 설정부(131)에서 설정된 가상 물류 현장의 레이아웃 상 위치, 크기 및 배치 등을 편집하는 기능을 제공할 수 있다. 예를 들어, 개발자 단말(300)은 현장 구조 편집부(132)에 가상 물류 현장 내의 물품, 로봇, 선반 등과 같은 다양한 객체의 고정 위치 혹은 시작 위치, 높이나 폭과 같은 크기, 복수의 객체 및/또는 구조물 간의 배치 관계 등에 관한 정보를 수신하여 가상 물류 현장 편집을 위한 조건 정보로 활용할 수 있다.
현장 구조 편집부(132)는 수신된 가상 물류 현장 편집을 위한 상기 조건 정보를 이용하여 현장 구조 설정부(131)로부터 전달받은 가상 물류 현장 파일을 편집하여 개발자 단말(300)에 제공할 수 있다. 로봇 설정부(133)는 시뮬레이션을 위한 시나리오에서 확인하고자 하는 클라우드 로봇의 유형 및 유형별 대수를 설정하는 기능을 제공할 수 있다. 로봇 설정부(133)는 개발자 단말(300)로부터 시뮬레이션을 위한 시나리오에서 확인하고자 하는 클라우드 로봇의 유형 및 유형별 대수에 관한 정보를 전송 받아 가상의 복수의 클라우드 로봇을 설정할 수 있다.
예를 들어, 클라우드 로봇의 유형은 운반물을 자동으로 운송하며, 바닥에 레일 없이 주행가능한 무인 운반차(Automated Guided Vehicle, AGV) 및 주행을 돕는 마커, 와이어 또는 마그넷 없이 라이더, 카메라 또는 GPS 등의 센서를 이용하여 주행가능한 자율 이동 로봇(Autonomous Mobile Robot, AMR)을 포함할 수 있다. 또한, 클라우드 로봇의 유형은 기능에 따라 분류되며, 물건을 잡고 옮기거나 물건을 조립할 수 있는 다관절 이중암과 그리퍼를 포함하는 구동부를 구비하는 조립용 이동 로봇, 물건을 적재할 수 있는 트레이를 구비하는 운반용 이동 로봇, 물건을 잡고 옮기거나 조작할 수 있는 다관절 암과 그리퍼를 포함하는 구동부를 구비하는 픽업용 이동 로봇, 물체의 인식과 분류가 가능한 물체 분류 인식 로봇, 물체가 적재된 공간을 인식할 수 있는 물체 적재 공간 인식 이동 로봇 등을 포함할 수 있다. 다만, 클라우드 로봇의 유형이 이에 제한되는 것은 아니다.
또한, 몇몇 실시예에서, 복수의 클라우드 로봇은 적어도 어느 하나의 로봇을 포함하는 그룹으로 묶이고, 복수의 그룹 각각은 해당 그룹에 소속된 로봇에 세부 임무를 할당하고 제어할 수 있는 제어 권한이 부여된 리더 로봇을 포함할 수 있다. 이 경우, 리더 로봇은 엣지 컴퓨팅 성능의 HW 장치내에 기능을 내장하여 리더 로봇 역할을 수행할 수도 있다.
작업 계획 등록부(134)는 개발자 단말(300)로부터 시뮬레이션 대상 작업 계획 정보를 전송 받아 작업 계획을 설정할 수 있다. 예를 들어, 개발자 단말(300)은 물류 클라우드 로봇이 작업 현장에 적용됨에 있어, 물품의 중량, 사이즈, 형태와 같은 대상 물건에 관한 정보, 엘리베이터의 이용 또는 장애물, 출입문 등을 고려한 작업 현장에서의 이동 경로에 관한 정보, 및 트레이, 팔레트, 견인 또는 관련 장비와의 연계와 같은 물류 운송 방법에 관한 정보를 파악하여 작업 계획 정보를 설정하고 작업 계획 등록부(134)에 설정된 작업 계획 정보를 전송할 수 있다. 또한, 개발자 단말(300)은 복수의 물류 클라우드 로봇 각각이 보유하는 기능, 예를 들어 자율 주행 기능, 물체 인식 기능, 회피 기능, 물품을 집고 내리는 기능 등에 맞추어 작업 계획을 설정할 수 있다. 다만, 이에 제한되는 것은 아니다.
몇몇 실시예에서, 개발자 단말(300)은 작업 계획 정보를 설정하는 경우 현장 구조 편집부(132)로부터 가상 물류 현장 파일을 전송 받을 수 있으나, 이에 제한되는 것은 아니다.
시뮬레이션 환경 편집부(130)는 설정된 시뮬레이션 환경에 관한 정보(또는 데이터), 및 시뮬레이션 대상 작업 계획에 관한 정보를 시뮬레이션 환경 생성부(140)에 전달 및/또는 공유할 수 있다.
이후, 시뮬레이션 환경 생성부(140)는 해당 시뮬레이션에 대응하는 캠페인 전용 클러스터를 생성할 수 있다(S300).
시뮬레이션 환경 생성부(140)는 시뮬레이션 환경 편집부(130)로부터 전달 및/또는 공유 받은 가상 물류 현장 파일, 가상의 복수의 클라우드 로봇에 관한 정보, 및 작업 계획에 관한 정보를 기반으로 해당 시뮬레이션에 대응하는 캠페인 전용 클러스터를 생성할 수 있다.
클러스터 생성부(141)는 시뮬레이션 관리부(120)에서 등록된 캠페인 정보에 대응하여 해당 캠페인 전용 클러스터를 생성할 수 있다. 또한, 클러스터 생성부(141)는 시뮬레이션 환경 편집부(130)로부터 전달 받은 가상 물류 현장 파일, 가상의 복수의 클라우드 로봇에 관한 정보 및 작업 계획에 관한 정보를 기반으로 해당 캠페인 전용 클러스터 내의 서버의 대수, 메모리 및 디스크와 같은 리소스를 할당할 수 있다.
이와 같이 할당된 서버, 메모리 및 디스크와 같은 리소스는 해당 시뮬레이션이 종료할 때까지 해당 클러스터 내에서 동작하며, 해당 시뮬레이션이 종료된 경우 반납될 수 있다. 여기서 해당 시뮬레이션의 종료는 시뮬레이션 동작부(150)에서 개발자가 의도한 작업 계획이 종료됨에 따라 시뮬레이션이 완료된 경우를 의미할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 해당 시뮬레이션의 종료는 시뮬레이션 동작부(150)에서 시뮬레이션이 진행되는 도중에 개발자 단말(300)에 의해 해당 시뮬레이션이 강제적으로 종료된 경우를 포함할 수도 있다.
또한, 시뮬레이션 환경 생성부(140)는 해당 시뮬레이션 구성 및 동작에 필요한 프로그램을 배포할 수 있다(S400).
프로그램 배포부(142)는 시뮬레이션을 구성하기 위해 필요한 프로그램 및 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 해당 시뮬레이션에 대응하는 클러스터에 배포할 수 있다. 예를 들어, 프로그램 배포부(142)는 기 저장되거나 개발자 단말(300)로부터 전송 받은 시뮬레이션을 구성하기 위해 필요한 프로그램 및 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 클러스터에 배포할 수 있다. 다만, 이에 제한되는 것은 아니다. 시뮬레이션 환경 생성부(140)가 프로그램 생성부(143)를 포함하는 경우, 상기 복수의 프로그램 중 적어도 어느 하나는 프로그램 생성부(143)에서 생성되고 프로그램 배포부(142)에 전달되어 클러스터에 배포될 수도 있다.
시뮬레이션을 구성하기 위해 필요한 프로그램은 실제 물류 현장에서 복수의 물류 클라우드 로봇을 제어하기 위한 현장 지원 시스템에 관한 프로그램으로 물류 클라우드 로봇 중앙 통합 관제 시스템 프로그램 및 로봇 연계 시스템 프로그램을 포함할 수 있다.
또한, 시뮬레이션을 구성하기 위해 필요한 프로그램은 가상 환경에서 로봇 역할을 수행할 로봇 시뮬레이터 프로그램(또는 소프트웨어)을 포함할 수 있다. 프로그램 배포부(142)는 시뮬레이션 환경 편집부(130)로부터 전달 받은 가상의 복수의 클라우드 로봇에 관한 정보를 토대로 시뮬레이션 구성에 필요한 적어도 하나의 로봇 시뮬레이터 프로그램을 해당 클러스터에 배포할 수 있다. 프로그램 배포부(142)는 시뮬레이션 환경 편집부(130)에서 설정된 복수의 클라우드 로봇의 유형별 대수에 대응하여 로봇 시뮬레이터 프로그램을 클러스터에 배포할 수 있다.
예를 들어, 시뮬레이션 환경 편집부(130)에서 제1 유형의 복수의 클라우드 로봇이 5대로 설정되고 제2 유형의 복수의 클라우드 로봇이 5대로 설정된 경우, 프로그램 배포부(142)는 제1 유형의 로봇 시뮬레이터 프로그램을 5개 생성하고, 제2 유형의 로봇 시뮬레이터 프로그램을 5개 생성하여 클러스터에 배포할 수 있다. 다만, 이에 제한되는 것은 아니다. 로봇 시뮬레이터 프로그램이 모든 유형의 클라우드 로봇의 기능을 포함하여 가상의 클라우드 로봇으로서 역할을 수행할 수 있는 경우, 시뮬레이션 환경 편집부(130)는 로봇 시뮬레이터 프로그램을 10개를 배포하되, 로봇 시뮬레이터 프로그램에 대해 유형별 기능을 제한하거나 설정된 유형에 맞는 역할을 하도록 제어할 수도 있다.
프로그램 배포부(142)는 시뮬레이션 동작에 필요한 가상 물리 엔진 프로그램을 클러스터에 배포할 수 있다. 가상 물리 엔진 프로그램은 현실에서 일어나는 물리법칙을 프로그램에서도 동일하게 적용시킬 수 있도록 하는 프로그램으로, 시뮬레이션 시 설정된 작업 계획을 실행하는 복수의 로봇 시뮬레이터가 가상의 물류 현장에서 동작하는데 필요한 물리적인 정보를 제공하는 엔진일 수 있다. 본 발명을 실시하기 위한 가상 물리 엔진 프로그램의 종류에 제한은 없으며, 본 발명의 기술분야에서 통상의 기술자에게 알려진 가상 물리 엔진 프로그램이 적용될 수 있다.
다른 예로, 시뮬레이션 환경 생성부(140)가 프로그램 생성부(143)를 더 포함하는 경우, 상기 단계 S400 이전에 해당 시뮬레이션 구성 및 동작에 필요한 프로그램을 생성하는 단계를 더 포함할 수 있다.
프로그램 생성부(143)는 시뮬레이션 구성 및 동작을 위한 프로그램을 생성하는 기능을 제공할 수 있다. 프로그램 생성부(143)는 생성된 프로그램을 프로그램 배포부(142)에 전달 및/또는 공유할 수 있다. 예를 들어, 개발자 단말(300)은 프로그램 생성부(143)를 통해 현장 지원 시스템 프로그램을 생성할 수 있다. 이 경우, 시뮬레이션 종료 후 실제 현장 제어를 위해 프로그램 생성부(143)에서 생성된 현장 지원 시스템 프로그램을 실제 현장 지원 시스템으로 사용할 수도 있다.
또한, 프로그램 생성부(143)는 시뮬레이션 환경 편집부(130)에서 설정된 복수의 클라우드 로봇의 유형별 대수에 대응하여 로봇 시뮬레이터 프로그램을 생성하고, 생성된 로봇 시뮬레이터 프로그램을 프로그램 배포부(142)에 전달 및/또는 공유할 수 있다. 예를 들어, 시뮬레이션 환경 편집부(130)에서 제1 유형의 복수의 클라우드 로봇이 5대로 설정되고 제2 유형의 복수의 클라우드 로봇이 5대로 설정된 경우, 프로그램 생성부(143)는 제1 유형의 로봇 시뮬레이터 프로그램 5개 및 제2 유형의 로봇 시뮬레이터 프로그램 5개를 생성할 수 있다. 이 경우, 프로그램 배포부(142)는 프로그램 생성부(143)에서 생성된 복수의 로봇 시뮬레이터 프로그램을 전달 받아 배포할 수 있다.
다음으로, 시뮬레이션 동작부(150)는 시뮬레이션을 실시할 수 있다(S500).
시뮬레이션부(151)는 시뮬레이션 환경 생성부(140)로부터 배포된 복수의 프로그램들 및 시뮬레이션 환경 편집부(130)에서 설정된 가상 물류 현장, 작업 계획을 연계하여 시뮬레이션을 실시할 수 있다.
즉, 시뮬레이션부(151)는 가상 물리 엔진을 기반으로 가상 물류 현장에서 복수의 로봇 시뮬레이터가 각각의 작업 계획에 따라 동작하는 시뮬레이션을 실시할 수 있다.
시뮬레이션부(151)는 복수의 로봇 시뮬레이터가 실제 현장에서의 작업 속도와 실질적으로 동일한 속도로 작업 계획에 따라 동작하는 시뮬레이션을 실시할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 시뮬레이션부(151)는 배속 조절 기능을 제공하고, 개발자 단말(300)에 의해 설정된 배속에 따라 복수의 로봇 시뮬레이터가 작업을 수행하는 시뮬레이션을 실시할 수도 있다.
또한, 시뮬레이션 실시 과정에서 로그 생성부(152)는 로그 데이터를 생성 및 저장하고, 저장된 로그 데이터를 시뮬레이션 결과 보고부(160)에 전달 및/또는 공유할 수 있다. 로그 데이터는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 여부 등과 같은 작업 수행 상황을 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성된 데이터일 수 있다. 여기서 기 설정된 기간은 시뮬레이션 동작부(150)에 의해 설정되거나 개발자 단말(300)에 의해 설정된 기간일 수 있다. 또한, 로그 데이터는 복수의 로봇 시뮬레이터 각각이 설정된 작업 계획을 벗어난 비정상 동작이나 다른 로봇 또는 구조물과의 충돌 등이 발생한 경우 이를 감지하여 생성된 데이터를 포함할 수 있다.
그리고, 모니터링부(153)는 시뮬레이션 환경(또는 가상 물류 현장)을 모사한 사용자 인터페이스 화면을 제공하고, 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 복수의 로봇 시뮬레이터(또는 가상의 물류 클라우드 로봇) 각각의 위치, 작업 처리 현황과 같은 상태 값을 표시할 수 있다.
모니터링부(153)는 상기 사용자 인터페이스 화면 및 복수의 로봇 시뮬레이터 각각의 상태 값을 응용 프로그램, 어플리케이션 또는 웹 사이트 중 어느 하나를 통해 실시간으로 사용자 단말(300)에 제공할 수 있다. 또한, 몇몇 실시예에서, 모니터링부(153)는 사용자 단말(300)에 시뮬레이션 제어 기능을 제공할 수도 있다. 예를 들어, 모니터링부(153)는 실시중인 시뮬레이션을 일시 정지하거나 배속을 제어하는 등의 기능을 사용자 인터페이스로 제공할 수 있다.
이에 따라, 사용자 단말(300)은 복수의 로봇 시뮬레이터 각각의 작업 과정을 포함하는 전체 시뮬레이션 과정을 실시간으로 확인하고, 시뮬레이션 과정을 제어하여 보다 상세하게 시뮬레이션 과정을 모니터링 할 수 있다.
마지막으로, 시뮬레이션 결과 보고부(170)는 해당 시뮬레이션에 대한 상세 리포트 및/또는 통계 대시보드를 생성하고, 개발자 단말(300)에 제공할 수 있다(S600).
시뮬레이션 결과 보고부(170)는 캠페인 단위로 시뮬레이션 과정에서 발생하여 생성 및 저장된 로그 데이터를 분석하여 시뮬레이션 핵심 지표(Key Performance Indicator, KPI) 단위로 상세 리포트 및/또는 통계 대시보드를 생성할 수 있다. 다만, 이에 제한되는 것은 아니다.
예를 들어, 시뮬레이션 결과 보고부(170)는 캠페인 식별 정보에 대응하는 상세 페이지에서 상세 리포트 및/또는 통계 대시보드를 제공하거나, 캠페인 식별 정보에 대응하는 상세 리포트 파일 및/또는 통계 대시보드 파일을 생성하여 개발자 단말(300)에 제공할 수 있다.
시뮬레이션 핵심 지표는 작업 계획에 따른 목표를 성공적으로 달성하기 위해 핵심적으로 관리해야 하는 요소들에 관한 것으로, 예를 들어 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 비정상 동작 등을 포함할 수 있다. 또한, 시뮬레이션 핵심 지표는 전체 시뮬레이션에 따른 목표 달성률, 생산성, 효율성 등을 포함할 수 있다.
몇몇 실시예에서, 상세 리포트 및/또는 통계 대시보드는 해당 시뮬레이션의 로그 데이터를 분석한 결과 및 다른 캠페인 식별 정보에 따라 생성된 다른 시뮬레이션의 로그 데이터와 비교 분석한 결과를 포함할 수도 있다. 이 경우, 핵심 지표 단위로 다른 시뮬레이션의 로그 데이터와 비교 분석될 수 있으나, 이에 제한되는 것은 아니다.
또한, 시뮬레이션 결과 보고부(170)는 시뮬레이션 과정에서 발생한 로봇 시뮬레이터의 비정상 동작이나 충돌 등의 이력 정보를 추출하여 개발자 단말(300)에 제공할 수 있다.
예를 들어, 시뮬레이션 결과 보고부(170)는 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고 복수의 로봇 시뮬레이터 별로 로그 데이터를 분류하여 개발자 단말(300)에게 제공할 수 있으나, 이에 제한되는 것은 아니다.
이와 같이, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법은 개발자가 작업 계획 설정을 위해 작업 계획에 대한 상세 프로파일을 개발함에 있어, 실제 현장의 물류 클라우드 로봇을 제어하기 전 가상의 물류 환경에서 복수의 로봇 시뮬레이터를 이용하여 개발한 작업 계획에 따라 시뮬레이션을 실시하고, 상기 시뮬레이션을 실시간 사용자 인터페이스 화면으로 제공하며, 상기 시뮬레이션에 대한 상세 리포트 및/또는 통계 대시보드를 제공함으로써, 개발자는 시뮬레이션 목표 달성 여부 및 수정을 요하는 사항이 있는지 여부를 미리 확인할 수 있다. 이에 따라, 생산성 및 효율성이 향상된 작업 계획(또는 상세 프로파일)을 개발하는 데 유리할 수 있다.
또한, 일 실시예에 따른 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법에 의하면, 상기 시뮬레이션 과정에서 설정된 작업 계획(또는 상세 프로파일)에 따라 발생한 복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력 정보를 제공하므로, 개발자는 작업 계획의 오류가 명확한 부분을 직관적으로 확인할 수 있다. 또한, 작업 계획의 오류나 실제 복수의 클라우드 로봇 제어 시 발생할 수 있는 비정상 동작이나 충돌과 같은 에러를 미연에 방지할 수 있다.
지금까지 본 발명에 대하여 도면에 도시된 실시예들을 중심으로 상세히 살펴보았다. 이러한 실시예들은 이 발명을 한정하려는 것이 아니라 예시적인 것에 해당하며, 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 할 것이다. 본 발명의 진정한 기술적 보호범위는 전술한 설명이 아니라 첨부된 특허 청구범위의 기술적 사상에 의해서 정해져야 할 것이다. 비록 본 명세서에서 특정한 용어들이 사용되었으나, 이는 단지 본 발명의 개념을 설명하기 위한 목정에서 사용된 것이지 의미를 한정하거나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 본 발명의 각 단계는 반드시 기재된 순서대로 수행되어야 할 필요는 없고, 병렬적, 선택적 또는 개별적으로 수행될 수 있다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 특허 청구범위에서 청구하는 본 발명의 본질적인 기술 사상에서 벗어나지 않는 범위에서 다양한 변형 형태 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 균등물은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 득 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 구성요소를 포함하는 것으로 이해되어야 한다.
100: 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템
200: 네트워크 300: 개발자 단말
110: 통신부 120: 시뮬레이션 관리부
130: 시뮬레이션 환경 편집부 140: 시뮬레이션 환경 생성부
150: 시뮬레이션 동작부 150: 시뮬레이션 결과 보고부
400: 현장 지원 시스템 500: 복수의 물류 클라우드 로봇
200: 네트워크 300: 개발자 단말
110: 통신부 120: 시뮬레이션 관리부
130: 시뮬레이션 환경 편집부 140: 시뮬레이션 환경 생성부
150: 시뮬레이션 동작부 150: 시뮬레이션 결과 보고부
400: 현장 지원 시스템 500: 복수의 물류 클라우드 로봇
Claims (15)
- 시뮬레이션을 위한 가상 현장 환경, 복수의 클라우드 로봇 및 시뮬레이션 대상 작업 계획을 설정하는 시뮬레이션 환경 편집부;
상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경, 상기 복수의 클라우드 로봇에 관한 정보 및 상기 작업 계획에 대한 정보를 기반으로 해당 시뮬레이션 구성 및 동작에 필요한 복수의 프로그램을 클러스터에 배포하는 시뮬레이션 환경 생성부;
상기 시뮬레이션 환경 생성부로부터 배포된 복수의 프로그램 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경과 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 시뮬레이션 동작부; 및
상기 시뮬레이션 동작부에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 시뮬레이션 결과 보고부;를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템. - 제1 항에 있어서,
상기 시뮬레이션 환경 생성부는,
상기 시뮬레이션에 대응하는 캠페인 전용 클러스터를 생성하고, 상기 시뮬레이션 환경 편집부에서 설정된 정보를 기반으로 상기 캠페인 전용 클러스터에 적어도 하나의 서버, 메모리 및 디스크를 포함하는 리소스를 할당하는 클러스터 생성부를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템. - 제2 항에 있어서,
상기 시뮬레이션 환경 생성부는,
현장 지원 시스템 프로그램 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 복수의 클라우드 로봇에 관한 정보를 기반으로 상기 복수의 클라우드 로봇의 유형별 대수에 대응하여 복수의 로봇 시뮬레이터 프로그램을 상기 클러스터에 배포하는 프로그램 배포부를 더 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템. - 제3 항에 있어서,
상기 시뮬레이션 환경 생성부는,
상기 현장 지원 시스템 프로그램 및 상기 복수의 로봇 시뮬레이터 프로그램 중 적어도 어느 하나를 생성하는 프로그램 생성부를 더 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템. - 제3 항에 있어서,
상기 시뮬레이션 결과 보고부는,
복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고, 상기 복수의 로봇 시뮬레이터 별로 상기 로그 데이터를 분류하여 제공하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템. - 제3 항에 있어서,
상기 시뮬레이션 동작부는,
상기 시뮬레이션 환경 생성부로부터 배포된 복수의 프로그램들 및 상기 시뮬레이션 환경 편집부에서 설정된 상기 가상 현장 환경, 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 시뮬레이션부, 및
상기 가상 현장 환경을 모사한 사용자 인터페이스 화면을 제공하고, 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 복수의 로봇 시뮬레이터 각각의 상태 값을 표시하는 모니터링부를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템. - 제6 항에 있어서,
상기 시뮬레이션 동작부는,
상기 시뮬레이션 실시 과정에서 로그 데이터를 생성하는 로그 생성부를 더 포함하되,
상기 로그 데이터는 상기 복수의 로봇 시뮬레이터 각각의 작업 수행 상황을 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성한 데이터인 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템. - 제1 항에 있어서,
상기 시뮬레이션 핵심 지표는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 및 비정상 동작 중 적어도 어느 하나 및/또는 상기 시뮬레이션에 따른 목표 달성률, 생산성, 및 효율성 중 적어도 어느 하나를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템. - 제1 항에 있어서,
어느 하나의 시뮬레이션 시작부터 종료까지 캠페인 단위로 관리할 수 있도록 캠페인 정보를 등록하는 시뮬레이션 관리부;를 더 포함하고,
상기 상세 리포트 및/또는 상기 통계 대시보드는 상기 시뮬레이션의 상기 로그 데이터를 분석한 결과 및 상기 시뮬레이션과 다른 캠페인 식별 정보에 따라 생성된 다른 시뮬레이션의 로그 데이터와 비교 분석한 결과를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템. - 복수의 클라우드 로봇 제어를 위한 작업 계획의 개발을 지원하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법에 있어서,
시뮬레이션을 캠페인 단위로 관리할 수 있는 캠페인 정보를 등록하는 단계;
상기 시뮬레이션을 위한 가상 현장 환경, 복수의 물류 클라우드 로봇 및 상기 작업 계획에 대한 정보를 설정하는 단계;
상기 가상 현장 환경, 상기 복수의 물류 클라우드 로봇 및 상기 작업 계획에 대한 정보를 기반으로 상기 시뮬레이션의 구성 및 동작에 필요한 복수의 프로그램을 배포하여 시뮬레이션 환경을 생성하는 단계;
상기 복수의 프로그램, 상기 가상 현장 환경 및 상기 작업 계획을 연계하여 시뮬레이션을 실시하는 단계; 및
상기 시뮬레이션 실시 단계에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 단계;를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법. - 제10 항에 있어서,
상기 복수의 프로그램은 실제 현장에서 적용되는 현장 지원 시스템 프로그램, 상기 복수의 물류 클라우드 로봇의 유형별 대수에 대응한 복수의 로봇 시뮬레이터 프로그램 및 가상 물리 엔진 프로그램을 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법. - 제11 항에 있어서,
상기 로그 데이터는 복수의 로봇 시뮬레이터 각각의 작업 수행 상황을 기 설정된 기간 및/또는 작업 진행 과정에 따라 감지하여 생성한 데이터인 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법. - 제11 항에 있어서,
상기 시뮬레이션 핵심 지표는 복수의 로봇 시뮬레이터 각각의 이동 상태, 속도, 물건 픽업 또는 적재의 정확도, 및 비정상 동작 중 적어도 어느 하나 및/또는 상기 시뮬레이션에 따른 목표 달성률, 생산성, 및 효율성 중 적어도 어느 하나를 포함하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법. - 제11 항에 있어서,
상기 시뮬레이션을 실시하는 단계는,
상기 가상 현장 환경을 모사한 사용자 인터페이스 화면을 제공하고, 복수의 로봇 시뮬레이터의 작업 수행 상황을 실시간으로 연계하여 상기 사용자 인터페이스 화면에 상기 복수의 로봇 시뮬레이터 각각의 상태 값을 표시하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법. - 제11 항에 있어서,
상기 시뮬레이션 실시 과정에서 생성된 로그 데이터를 분석하여 시뮬레이션 핵심 지표 단위로 상세 리포트 및/또는 통계 대시보드를 생성하는 단계는,
복수의 로봇 시뮬레이터 각각의 비정상 동작이나 충돌 등의 이력에 관한 로그 데이터를 추출하고, 상기 복수의 로봇 시뮬레이터 별로 상기 로그 데이터를 분류하여 제공하는 클라우드 로봇 제어 개발을 위한 시뮬레이션 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210111696A KR20230029333A (ko) | 2021-08-24 | 2021-08-24 | 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법 |
PCT/KR2022/004255 WO2023027283A1 (ko) | 2021-08-24 | 2022-03-25 | 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210111696A KR20230029333A (ko) | 2021-08-24 | 2021-08-24 | 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230029333A true KR20230029333A (ko) | 2023-03-03 |
Family
ID=85322998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210111696A KR20230029333A (ko) | 2021-08-24 | 2021-08-24 | 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20230029333A (ko) |
WO (1) | WO2023027283A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117647934A (zh) * | 2024-01-29 | 2024-03-05 | 西北工业大学 | 一种基于大模型的无人集群编队控制算法智能生成方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6219059B2 (ja) * | 2013-04-11 | 2017-10-25 | 株式会社東芝 | 運転訓練シミュレータシステムおよび運転訓練シミュレーション方法 |
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 (ja) * | 2018-07-19 | 2022-08-24 | オムロン株式会社 | シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法 |
JP6925599B2 (ja) * | 2018-09-04 | 2021-08-25 | 株式会社ゆめいど | シミュレーション方法及びシミュレーション装置 |
US11318616B2 (en) * | 2019-11-11 | 2022-05-03 | Rockwell Automation Technologies, Inc. | Robotic digital twin control with industrial context simulation |
-
2021
- 2021-08-24 KR KR1020210111696A patent/KR20230029333A/ko unknown
-
2022
- 2022-03-25 WO PCT/KR2022/004255 patent/WO2023027283A1/ko active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117647934A (zh) * | 2024-01-29 | 2024-03-05 | 西北工业大学 | 一种基于大模型的无人集群编队控制算法智能生成方法 |
CN117647934B (zh) * | 2024-01-29 | 2024-04-23 | 西北工业大学 | 一种基于大模型的无人集群编队控制算法智能生成方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2023027283A1 (ko) | 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 | |
US9280757B2 (en) | Automated inventory management | |
US10241515B2 (en) | Method, system and apparatus for handling operational constraints for control of unmanned vehicles | |
US20220048186A1 (en) | Dynamically generating solutions for updating plans and task allocation strategies | |
Traganos et al. | The HORSE framework: A reference architecture for cyber-physical systems in hybrid smart manufacturing | |
Keung et al. | Edge intelligence and agnostic robotic paradigm in resource synchronisation and sharing in flexible robotic and facility control system | |
Humann et al. | Human factors in the scalability of multirobot operation: A review and simulation | |
KR20230029333A (ko) | 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법 | |
Likhouzova et al. | Robot path optimization in warehouse management system | |
Xie et al. | From simulation to real-world robotic mobile fulfillment systems | |
JP7554988B2 (ja) | 設計支援システム、設計支援方法、及びプログラム | |
Boeing et al. | WAMbot: Team MAGICian's entry to the Multi Autonomous Ground‐robotic International Challenge 2010 | |
CN111611175B (zh) | 自动驾驶软件开发方法、服务器端及客户端 | |
US20240182282A1 (en) | Hybrid autonomous system and human integration system and method | |
Gianni et al. | ARE: Augmented reality environment for mobile robots | |
De Pellegrin et al. | PDSim: Planning Domain Simulation and Animation with the Unity Game Engine | |
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 | |
CN115115165A (zh) | 具有至少一个设施系统的系统 | |
Davies | Deskilling Robots in Logistics Environments | |
JP7544089B2 (ja) | 物流エリアの管理方法及び管理システム、並びにプログラム | |
Öztürk et al. | Building a Generic Simulation Model for Analyzing the Feasibility of Multi-Robot Task Allocation (MRTA) Problems | |
Prabhu et al. | Interlinking industry 4.0 and academia through robotics and automation: an Indian perspective | |
WO2024085160A1 (ja) | シミュレーションシステム及びプログラム | |
Montoya Zapata et al. | Simulation of a Kitting System for the Replenishment of an Automotive Assembly Line |
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 |