KR20230135438A - Method and robot for controlling motion of robot - Google Patents

Method and robot for controlling motion of robot Download PDF

Info

Publication number
KR20230135438A
KR20230135438A KR1020220032942A KR20220032942A KR20230135438A KR 20230135438 A KR20230135438 A KR 20230135438A KR 1020220032942 A KR1020220032942 A KR 1020220032942A KR 20220032942 A KR20220032942 A KR 20220032942A KR 20230135438 A KR20230135438 A KR 20230135438A
Authority
KR
South Korea
Prior art keywords
robot
information
control conditions
configuration information
configuration
Prior art date
Application number
KR1020220032942A
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 KR1020220032942A priority Critical patent/KR20230135438A/en
Publication of KR20230135438A publication Critical patent/KR20230135438A/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

로봇의 동작을 제어하는 방법 및 그 로봇을 제공한다. 본 개시의 일 실시예에 의한 방법은 다른 로봇의 구성 정보 및 제어 조건에 기초하여, 로봇의 제어 조건을 생성하고, 로봇의 동작 상태에 관한 정보 또는 로봇에 의하여 획득된 센싱 값 중 적어도 하나가 생성된 제어 조건을 만족하는지 여부를 식별하고, 제어 조건을 만족하는 경우에 로봇의 동작을 제어할 수 있다.Provides a method for controlling the movements of a robot and the robot. A method according to an embodiment of the present disclosure generates control conditions for a robot based on configuration information and control conditions of another robot, and generates at least one of information about the operating state of the robot or a sensing value acquired by the robot. It is possible to identify whether the specified control conditions are satisfied and control the robot's operation if the control conditions are satisfied.

Figure P1020220032942
Figure P1020220032942

Description

로봇의 동작을 제어하는 방법 및 그 로봇 {METHOD AND ROBOT FOR CONTROLLING MOTION OF ROBOT}Method for controlling the motion of a robot and its robot {METHOD AND ROBOT FOR CONTROLLING MOTION OF ROBOT}

본 개시는 로봇의 동작을 제어하는 방법 및 그 로봇에 관한 것이다. 구체적으로, 본 개시는 다른 로봇의 구성 정보 및 제어 조건에 기초하여, 로봇의 제어 조건을 생성하고, 로봇의 동작 상태에 관한 정보 또는 로봇에 의하여 획득된 센싱 값 중 적어도 하나가 생성된 제어 조건을 만족하는지 여부를 식별하고, 제어 조건을 만족하는 경우에 로봇의 동작을 제어하는 방법 및 그 전자 장치에 관한 것이다.This disclosure relates to a method for controlling the operation of a robot and the robot. Specifically, the present disclosure generates control conditions for a robot based on configuration information and control conditions of another robot, and generates a control condition in which at least one of information about the operating state of the robot or a sensing value acquired by the robot is generated. It relates to a method and electronic device for identifying whether a control condition is satisfied and controlling the operation of a robot when the control condition is satisfied.

현재의 개인 지원 로봇(Personal Care Robot)은 산업용 로봇과 달리 안전에 취약한 로봇이 많다. 예를 들면, 서빙 로봇, 안내 로봇, 착용형 로봇 등과 같은 개인 지원 로봇은 안전 기능을 탑재하는 것이 법률이나 규제로 강제되지 않으므로, 안전 기능을 탑재하지 않고 출시되는 경우도 많다. Unlike industrial robots, current personal care robots have many safety vulnerabilities. For example, personal support robots such as serving robots, guide robots, wearable robots, etc. are often released without safety functions because they are not required by law or regulation to be equipped with safety functions.

현재 로봇들은 안전 기능이 탑재되어 있는 로봇과 안전 기능이 탑재되어 있지 않은 로봇으로 나누어 질 수 있다. 또한, 안전 기능이 탑재되어 있는 로봇들 중에서 일부는 최소한의 안전을 보장하기 위하여만 설계되어 있을 수 있다. 따라서, 최소한의 안전을 보장하기 위한 안전 기능만으로는 다수의 로봇이 동작하는 구역의 안전을 담보 할 수는 없다.Currently, robots can be divided into robots equipped with safety functions and robots without safety functions. Additionally, among robots equipped with safety functions, some may be designed only to ensure minimal safety. Therefore, safety functions to ensure minimum safety cannot ensure the safety of areas where multiple robots operate.

본 개시의 다양한 실시예는 로봇의 동작을 제어하는 방법 및 그 로봇을 제공하는 것을 목적으로 한다. 본 개시의 일 실시예에 의하면, 다른 로봇의 구성 정보 및 제어 조건에 기초하여, 로봇의 제어 조건을 생성하고, 로봇의 동작 상태에 관한 정보 또는 로봇에 의하여 획득된 센싱 값 중 적어도 하나가 생성된 제어 조건을 만족하는지 여부를 식별하고, 제어 조건을 만족하는 경우에 로봇의 동작을 제어하는 방법 및 그 전자 장치가 제공된다.The purpose of various embodiments of the present disclosure is to provide a method for controlling the operation of a robot and the robot. According to an embodiment of the present disclosure, control conditions for a robot are generated based on configuration information and control conditions of another robot, and at least one of information about the operating state of the robot or a sensing value acquired by the robot is generated. A method and electronic device for identifying whether control conditions are satisfied and controlling the operation of a robot when the control conditions are satisfied are provided.

상술한 기술적 과제를 해결하기 위하여 본 개시의 일 실시예는 로봇의 동작을 제어하는 방법을 제공한다. 본 개시의 일 실시예에 따르면, 상기 방법은 제1 로봇의 운영 구역 중 적어도 일부가 중복되는 운영 구역이 할당된 제2 로봇의 구성 정보 및 상기 제2 로봇의 제어 조건 을 외부 서버로부터 획득하되, 상기 제2 로봇의 구성 정보 및 상기 제2 로봇의 제어 조건은 상기 제2 로봇으로부터 상기 외부 서버로 전송되는 것인 단계; 상기 제2 로봇의 구성 정보, 상기 제2 로봇의 제어 조건 및 상기 제1 로봇의 구성 정보에 기초하여, 상기 제1 로봇의 제어 조건을 생성하는 단계; 상기 제1 로봇의 구동부의 동작 상태에 관한 상태 정보 또는 상기 제1 로봇이 주변 환경을 측정함으로써 획득한 센싱 값 중 적어도 하나가 상기 제1 로봇의 제어 조건을 만족하는지 여부를 식별하는 단계; 및 상기 제1 로봇의 제어 조건을 만족하는 것에 기초하여, 상기 제1 로봇의 동작을 제어하는 단계를 포함할 수 있다.In order to solve the above-described technical problem, an embodiment of the present disclosure provides a method for controlling the operation of a robot. According to an embodiment of the present disclosure, the method obtains configuration information and control conditions of the second robot from an external server to which an operating area where at least a portion of the operating area of the first robot overlaps is assigned, Configuration information of the second robot and control conditions of the second robot are transmitted from the second robot to the external server; generating control conditions of the first robot based on configuration information of the second robot, control conditions of the second robot, and configuration information of the first robot; Identifying whether at least one of status information regarding the operating state of the driving unit of the first robot or a sensing value obtained by the first robot by measuring the surrounding environment satisfies a control condition of the first robot; And it may include controlling the operation of the first robot based on satisfying the control conditions of the first robot.

본 개시의 일 실시예에서, 상기 방법은 상기 외부 서버로부터 상기 제2 로봇이 측정한 운영 구역 정보를 획득하는 단계를 포함하고, 상기 제1 로봇의 제어 조건을 결정하는 단계는, 상기 제2 로봇의 구성 정보, 상기 제2 로봇의 제어 조건, 상기 제1 로봇의 구성 정보 및 상기 제2 로봇이 측정한 운영 구역 정보에 기초하여, 상기 제1 로봇의 제어 조건을 결정하는 단계를 포함할 수 있다.In one embodiment of the present disclosure, the method includes obtaining operating area information measured by the second robot from the external server, and determining control conditions of the first robot includes: It may include determining control conditions of the first robot based on configuration information, control conditions of the second robot, configuration information of the first robot, and operating area information measured by the second robot. .

본 개시의 일 실시예에서, 상기 운영 구역 정보는, 상기 제2 로봇의 운영 구역 중 안전 구역에 관한 정보, 상기 제2 로봇의 운영 구역 중 위험 구역에 관한 정보 또는 상기 운영 구역 내에 존재하는 장애물에 관한 정보 중 적어도 하나를 포함할 수 있다.In one embodiment of the present disclosure, the operating area information includes information about a safe area among the operating areas of the second robot, information about a dangerous area among the operating areas of the second robot, or information about obstacles existing within the operating area. It may contain at least one of the related information.

본 개시의 일 실시예에서, 상기 제1 로봇의 제어 조건을 결정하는 단계는, 상기 제1 로봇의 구성과 상기 제2 로봇의 구성에 포함된 공통 구성을 식별하는 단계; 및 상기 제2 로봇의 구성 정보 중에서 상기 공통 구성에 관한 정보와 상기 제1 로봇의 구성 정보 중에서 상기 공통 구성에 관한 정보에 기초하여, 상기 제2 로봇의 제어 조건을 이용함으로써 상기 제1 로봇의 제어 조건을 결정하는 단계를 포함할 수 있다.In one embodiment of the present disclosure, determining a control condition of the first robot includes identifying a common configuration included in the configuration of the first robot and the configuration of the second robot; And controlling the first robot by using the control conditions of the second robot based on the information about the common configuration among the configuration information of the second robot and the information about the common configuration among the configuration information of the first robot. It may include the step of determining conditions.

본 개시의 일 실시예에서, 상기 제1 로봇의 구성 정보는, 라이다 센서, 비전 센서, 초음파 센서 또는 오디오 센서 중 적어도 하나에서 상기 제1 로봇에 포함된 적어도 하나의 센서의 사양에 관한 정보를 포함할 수 있다.In one embodiment of the present disclosure, the configuration information of the first robot includes information about the specifications of at least one sensor included in the first robot in at least one of a lidar sensor, a vision sensor, an ultrasonic sensor, or an audio sensor. It can be included.

본 개시의 일 실시예에서, 상기 방법은 상기 제1 로봇의 동작을 제어하는 단계는, 상기 제1 로봇이 정지하도록 제어하는 단계, 상기 제1 로봇이 안전 구역으로 이동하도록 제어하는 단계 또는 상기 제1 로봇에 관한 상태 정보를 외부 디바이스로 전송하도록 제어하는 단계를 포함할 수 있다.In one embodiment of the present disclosure, the method includes controlling the operation of the first robot, controlling the first robot to stop, controlling the first robot to move to a safe zone, or controlling the first robot to move to a safe zone. 1 It may include controlling to transmit status information about the robot to an external device.

본 개시의 일 실시예에서, 상기 방법은 상기 제1 로봇의 제어 조건을 만족하는 것에 기초하여, 상기 센싱 값, 상기 구동부의 상태 정보 또는 상기 제1 로봇의 제어 조건 중 적어도 하나를 포함하는 제1 로봇의 위험 정보를 상기 외부 서버로 전송하는 단계; 상기 제1 로봇의 위험 정보에 기초하여 변경된 제2 로봇의 제어 조건을 외부 서버로부터 수신하는 단계; 및 상기 변경된 제2 로봇의 제어 조건에 기초하여, 제1 로봇의 제어 조건을 변경하는 단계를 포함할 수 있다. In one embodiment of the present disclosure, the method includes at least one of the sensing value, state information of the driving unit, or control conditions of the first robot, based on satisfying the control conditions of the first robot. Transmitting robot risk information to the external server; Receiving control conditions of the second robot changed based on the risk information of the first robot from an external server; And it may include changing the control conditions of the first robot based on the changed control conditions of the second robot.

상술한 기술적 과제를 해결하기 위하여 본 개시의 다른 실시예는 동작을 제어하는 제1 로봇을 제공한다. 상기 제1 로봇은 적어도 하나의 명령어가 포함된 메모리; 센서부; 구동부; 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써, 상기 제1 로봇의 운영 구역 중 적어도 일부가 중복되는 운영 구역이 할당된 제2 로봇의 구성 정보 및 상기 제2 로봇의 제어 조건을 외부 서버로부터 획득하되, 상기 제2 로봇의 구성 정보 및 상기 제2 로봇의 제어 조건은 상기 제2 로봇으로부터 상기 외부 서버로 전송되는 것이고, 상기 제2 로봇의 구성 정보, 상기 제2 로봇의 제어 조건 및 상기 제1 로봇의 구성 정보에 기초하여, 상기 제1 로봇의 제어 조건을 생성하고, 상기 제1 로봇의 구동부의 동작 상태에 관한 상태 정보 또는 상기 제1 로봇이 주변 환경을 측정함으로써 획득한 센싱 값 중 적어도 하나가 상기 제1 로봇의 제어 조건을 만족하는지 여부를 식별하고, 상기 제1 로봇의 제어 조건을 만족하는 것에 기초하여, 상기 제1 로봇의 동작을 제어할 수 있다. In order to solve the above-described technical problem, another embodiment of the present disclosure provides a first robot that controls movement. The first robot includes a memory containing at least one command; sensor unit; driving part; and at least one processor, wherein the at least one processor executes the at least one instruction, thereby providing configuration information of a second robot to which an operation area overlapping at least a portion of the operation area of the first robot is assigned, and The control conditions of the second robot are obtained from an external server, and the configuration information of the second robot and the control conditions of the second robot are transmitted from the second robot to the external server, and the configuration information of the second robot is transmitted from the second robot to the external server. , Based on the control conditions of the second robot and the configuration information of the first robot, control conditions of the first robot are generated, and status information regarding the operating state of the driving unit of the first robot or the first robot is Identifying whether at least one of the sensing values obtained by measuring the surrounding environment satisfies the control conditions of the first robot, and controlling the operation of the first robot based on satisfying the control conditions of the first robot can do.

상술한 기술적 과제를 해결하기 위하여, 본 개시의 다른 실시예는 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In order to solve the above-described technical problem, another embodiment of the present disclosure provides a computer-readable recording medium on which a program for execution on a computer is recorded.

본 개시는, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 본 개시의 일 실시예에 따른, 로봇이 안전 기능을 수행하는 동작을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른, 로봇의 구성요소를 설명하기 위한 블록도이다.
도 3는 본 개시의 일 실시예에 따른, 로봇의 구성요소를 설명하기 위한 블록도이다.
도 4는 본 개시의 일 실시예에 따른, 로봇의 동작을 제어하는 방법을 설명하기 위한 순서도이다.
도 5는 본 개시의 일 실시예에 따른, 로봇이 클라우드 서버와 통신하는 동작을 설명하기 위한 도면이다.
도 6는 본 개시의 일 실시예에 따른, 로봇의 동작을 제어하기 위한 방법을 설명하기 위한 도면이다.
도 7는 본 개시의 일 실시예에 따른, 로봇의 운영 구역을 설명하기 위한 도면이다.
도 8는 본 개시의 일 실시예에 따른, 로봇의 안전 기능을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른, 로봇의 동작을 제어하는 방법을 설명하기 위한 순서도이다.
도 10는 본 개시의 일 실시예에 따른, 로봇의 제어 조건을 변경하는 방법을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른, 로봇의 제어 조건을 변경하는 방법을 설명하기 위한 도면이다.
도 12은 본 개시의 일 실시예에 따른, 로봇의 제어 조건을 변경하는 방법을 설명하기 위한 도면이다.
도 13는 본 개시의 일 실시예에 따른, 로봇의 구성에 따른 제어 조건 및 동작을 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시예에 따른, 로봇의 구성에 따른 제어 조건 및 동작을 설명하기 위한 도면이다.
The present disclosure may be readily understood by combination of the following detailed description and accompanying drawings, where reference numerals refer to structural elements.
1 is a diagram for explaining an operation of a robot performing a safety function, according to an embodiment of the present disclosure.
Figure 2 is a block diagram for explaining components of a robot according to an embodiment of the present disclosure.
Figure 3 is a block diagram for explaining components of a robot according to an embodiment of the present disclosure.
Figure 4 is a flowchart for explaining a method of controlling the operation of a robot according to an embodiment of the present disclosure.
Figure 5 is a diagram for explaining an operation in which a robot communicates with a cloud server, according to an embodiment of the present disclosure.
Figure 6 is a diagram for explaining a method for controlling the operation of a robot according to an embodiment of the present disclosure.
Figure 7 is a diagram for explaining the operating area of a robot according to an embodiment of the present disclosure.
Figure 8 is a diagram for explaining the safety function of a robot according to an embodiment of the present disclosure.
Figure 9 is a flowchart for explaining a method of controlling the operation of a robot according to an embodiment of the present disclosure.
Figure 10 is a diagram for explaining a method of changing the control conditions of a robot according to an embodiment of the present disclosure.
Figure 11 is a diagram for explaining a method of changing the control conditions of a robot according to an embodiment of the present disclosure.
Figure 12 is a diagram for explaining a method of changing the control conditions of a robot according to an embodiment of the present disclosure.
FIG. 13 is a diagram for explaining control conditions and operations according to the configuration of a robot, according to an embodiment of the present disclosure.
FIG. 14 is a diagram for explaining control conditions and operations according to the configuration of a robot, according to an embodiment of the present disclosure.

본 개시에서 사용되는 용어는 본 개시의 일 실시예에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 본 개시의 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present disclosure have selected general terms that are currently widely used as much as possible while considering the function in an embodiment of the present disclosure, but this may vary depending on the intention or precedent of a person working in the art, the emergence of new technology, etc. there is. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding embodiment of the present disclosure. Therefore, the terms used in this disclosure should be defined based on the meaning of the term and the overall content of this disclosure, rather than simply the name of the term.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. Singular expressions may include plural expressions, unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as generally understood by a person of ordinary skill in the technical field described herein.

본 개시 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 본 개시에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.Throughout the present disclosure, when a part “includes” a certain element, this means that it may further include other elements rather than excluding other elements, unless specifically stated to the contrary. In addition, terms such as "... unit" and "module" described in the present disclosure refer to a unit that processes at least one function or operation, which may be implemented as hardware or software, or as a combination of hardware and software. there is.

본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 시스템"이라는 표현은, 그 시스템이 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.The expression “configured to” used in the present disclosure may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. It can be used interchangeably with ", "designed to," "adapted to," "made to," or "capable of." The term “configured (or set to)” may not necessarily mean “specifically designed to” in hardware. Instead, in some contexts, the expression “system configured to” may mean that the system is “capable of” in conjunction with other devices or components. For example, the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or by executing one or more software programs stored in memory. It may refer to a general-purpose processor (e.g., CPU or application processor) that can perform the corresponding operations.

또한, 본 개시에서 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다. In addition, in the present disclosure, when a component is referred to as “connected” or “connected” to another component, the component may be directly connected or directly connected to the other component, but in particular, the contrary It should be understood that unless a base material exists, it may be connected or connected through another component in the middle.

아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시의 일 실시예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시의 일 실시예를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 본 개시 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily practice them. However, an embodiment of the present disclosure may be implemented in various different forms and is not limited to the embodiment described herein. In order to clearly describe an embodiment of the present disclosure in the drawings, parts that are not related to the description are omitted, and similar parts are assigned similar reference numerals throughout the present disclosure.

이하에서는 도면을 참조하여 본 개시의 실시예들을 상세하게 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.

도 1은 본 개시의 일 실시예에 따른, 로봇이 안전 기능을 수행하는 동작을 설명하기 위한 도면이다.1 is a diagram for explaining an operation of a robot performing a safety function, according to an embodiment of the present disclosure.

도 1을 참조하면, 제1 로봇(1100)의 운영 구역은 제2 로봇(1200)의 운영 구역과 적어도 일부가 동일할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 안전 기능이 탑재되지 않은 로봇을 의미하고, 제2 로봇(1200)은 안전 기능이 탑재된 로봇을 의미할 수 있다. Referring to FIG. 1, the operating area of the first robot 1100 may be at least partially the same as the operating area of the second robot 1200. According to one embodiment, the first robot 1100 may refer to a robot not equipped with a safety function, and the second robot 1200 may refer to a robot equipped with a safety function.

본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 제2 로봇(1200)과 각각에 할당된 운영 구역 중 적어도 일부가 동일할 수 있다. 제1 로봇(1100)과 제2 로봇(1200)에 중복하여 할당된 운영 구역(1400)은 장애물(1500)을 포함할 수 있다. 장애물(1500)은 움직이는 동적 장애물이거나 위치가 고정된 고정 장애물일 수 있다. 예를 들면, 동적 장애물은 운영 구역(1400) 내에서 움직이는 사람 또는 다른 로봇 등을 포함할 수 있고, 고정 장애물은 운영 구역(1400)에 배치된 인테리어, 벽, 가구 등을 포함할 수 있다. 운영 구역(1400)은 도 7을 참조하여 후에 보다 상세히 설명한다.According to an embodiment of the present disclosure, the first robot 1100 and the second robot 1200 may have at least some of the operating areas assigned to each of them the same as the second robot 1200 . The operating area 1400 overlappingly allocated to the first robot 1100 and the second robot 1200 may include an obstacle 1500. The obstacle 1500 may be a moving, dynamic obstacle or a fixed obstacle with a fixed position. For example, dynamic obstacles may include people or other robots moving within the operating area 1400, and fixed obstacles may include interior, walls, furniture, etc. placed in the operating area 1400. Operating area 1400 will be described in more detail later with reference to FIG. 7 .

본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 클라우드 서버(1300)로부터 안전 기능에 관한 정보를 수신할 수 있다. 안전 장치가 탑재된 제2 로봇(1200)은 안전 기능에 관한 정보를 클라우드 서버(1300)에 전송할 수 있다. 안전 장치가 탑재되지 않은 제1 로봇(1100)은 제2 로봇(1200)이 클라우드 서버(1300)로 전송한 안전 기능에 관한 정보를 획득할 수 있다. 안전 기능에 관한 정보는 로봇이 안전 기능을 수행하기 위하여 필요한 정보를 의미할 수 있다. 예를 들면, 안전 기능에 관한 정보는 제2 로봇(1200)의 구성 정보, 제2 로봇(1200)의 제어 조건 또는 운영 구역(1400)에 관한 정보를 포함할 수 있다. According to an embodiment of the present disclosure, the first robot 1100 may receive information about safety functions from the cloud server 1300. The second robot 1200 equipped with a safety device can transmit information about safety functions to the cloud server 1300. The first robot 1100, which is not equipped with a safety device, can obtain information about the safety function transmitted by the second robot 1200 to the cloud server 1300. Information about safety functions may refer to information necessary for a robot to perform safety functions. For example, information about the safety function may include configuration information of the second robot 1200, control conditions of the second robot 1200, or information about the operating area 1400.

본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 제2 로봇(1200)과 클라우드 서버(1300)를 통해 연결될 수 있다. 예를 들면, 제1 로봇(1100)은 클라우드 서버(1300)와 무선 랜(Wireless LAN), 와이파이(Wi-Fi), WFD(Wi-Fi Direct), 와이브로(Wireless Broadband Internet, Wibro), 와이맥스(World Interoperability for Microwave Access, WiMAX), SWAP(Shared Wireless Access Protocol), 와이기그(Wireless Gigabit Allicance, WiGig), 이동 통신 중 적어도 하나의 데이터 통신 네트워크를 이용하여 연결되고 데이터 송수신을 수행할 수 있다. According to an embodiment of the present disclosure, the first robot 1100 may be connected to the second robot 1200 and the cloud server 1300. For example, the first robot 1100 uses the cloud server 1300 and wireless LAN, Wi-Fi, Wi-Fi Direct (WFD), Wireless Broadband Internet (Wibro), and WiMAX ( It can be connected and perform data transmission and reception using at least one data communication network among World Interoperability for Microwave Access (WiMAX), SWAP (Shared Wireless Access Protocol), WiGig (Wireless Gigabit Alliance, WiGig), and mobile communication.

본 개시의 일 실시예에 따르면, 제1 로봇(1100)과 제2 로봇(1200)은 다양한 구성을 포함하는 로봇일 수 있다. 예를 들면, 제1 로봇(1100)과 제2 로봇(1200)은 로봇 팔(robot arm), 트레이(tray), 로봇 다리(robot leg), 모터 휠(motor wheel) 등을 포함할 수 있다. 제1 로봇(1100)과 제2 로봇(1200)은 동일한 구성을 포함할 수 있고, 다른 구성만 포함할 수도 있다.According to an embodiment of the present disclosure, the first robot 1100 and the second robot 1200 may be robots including various configurations. For example, the first robot 1100 and the second robot 1200 may include a robot arm, a tray, a robot leg, a motor wheel, etc. The first robot 1100 and the second robot 1200 may include the same configuration or may include only different configurations.

본 개시의 일 실시예에 따르면, 제1 로봇(1100)과 제2 로봇(1200)은 다양한 기능을 갖는 로봇일 수 있다. 예를 들면, 제1 로봇(1100)과 제2 로봇(1200)은 실내 청소용 로봇 또는 잔디 깎기 로봇 등 업무지원 로봇이거나, 헬스케어 로봇, 휴머노이드 로봇, 보행보조 로봇 등 개인서비스용 로봇일 수 있다. 다만, 이에 제한되지 않고, 여러 기능을 포함하는 종합 로봇일 수 있다.According to an embodiment of the present disclosure, the first robot 1100 and the second robot 1200 may be robots with various functions. For example, the first robot 1100 and the second robot 1200 may be work support robots such as an indoor cleaning robot or lawn mowing robot, or may be personal service robots such as a healthcare robot, humanoid robot, or walking assistance robot. However, the robot is not limited to this and may be a comprehensive robot that includes multiple functions.

본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 클라우드 서버(1300)로부터 안전 기능을 수행하기 위한 안전 분석 프로그램을 다운로드 받을 수 있다. 안전 분석 프로그램은 제2 로봇(1200)이 클라우드 서버(1300)로 전송한 것일 수 있다. 제1 로봇(1100)은 안전 분석 프로그램을 실행함으로써, 제1 로봇(1100)의 구성 정보를 수집하고, 수집된 정보에 기초하여 제1 로봇(1100)의 제어 조건을 생성하고, 제어 조건에 기초하여 제1 로봇(1100)이 동작을 수행하도록 제어할 수 있다. 안전 기능 프로그램은 도 6을 참조하여 후에 보다 상세히 설명한다.According to an embodiment of the present disclosure, the first robot 1100 may download a safety analysis program for performing safety functions from the cloud server 1300. The safety analysis program may be transmitted from the second robot 1200 to the cloud server 1300. The first robot 1100 collects configuration information of the first robot 1100 by executing a safety analysis program, generates control conditions for the first robot 1100 based on the collected information, and based on the control conditions Thus, the first robot 1100 can be controlled to perform an operation. The safety function program will be described in more detail later with reference to FIG. 6.

본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 제어 조건을 생성하고, 복수의 안전 기능을 수행할 수 있다. 예를 들면, 제1 로봇(1100)은 작업 공간 제어, 비상 정지, 보호 정지, 안전 속력 제어, 위험 충돌 회피 등의 안전 기능을 수행할 수 있다. 안전 기능 은 도 8을 참조하여 후에 보다 상세히 설명한다.According to an embodiment of the present disclosure, the first robot 1100 may generate control conditions and perform a plurality of safety functions. For example, the first robot 1100 may perform safety functions such as work space control, emergency stop, protective stop, safe speed control, and dangerous collision avoidance. The safety function will be described in more detail later with reference to FIG. 8.

본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 클라우드 서버(1300)로부터 수신된 정보에 기초하여, 생성된 제1 로봇(1100)의 제어 조건을 변경할 수 있다. 여러 실시예에 따라, 제1 로봇(1100)의 제어 조건을 변경하는 방법은 도 10 내지 도 12를 참조하여 후에 보다 상세히 설명한다.According to an embodiment of the present disclosure, the first robot 1100 may change the control conditions of the generated first robot 1100 based on information received from the cloud server 1300. According to various embodiments, a method of changing the control conditions of the first robot 1100 will be described in more detail later with reference to FIGS. 10 to 12.

본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 다양한 구성을 포함할 수 있다. 제1 로봇(1100)이 포함하는 구성에 따라, 생성되는 제어 조건이 변경될 수 있다. 제1 로봇(1100)이 포함하는 구성에 따라 생성되는 제어 조건은 도 13 및 도 14를 참조하여 후에 보다 상세히 설명한다.According to an embodiment of the present disclosure, the first robot 1100 may include various configurations. Depending on the configuration included in the first robot 1100, the generated control conditions may be changed. Control conditions generated according to the configuration included in the first robot 1100 will be described in more detail later with reference to FIGS. 13 and 14.

이하 도 2 내지 14를 참조하여, 안전 기능이 탑재되지 않은 로봇도, 복수의 로봇이 동작하는 구역에서, 사고를 방지하는 안전 기능을 수행할 수 있도록 로봇의 동작이 제어될 수 있도록 하기 위한 다양한 실시예를 상술하고자 한다.Referring to FIGS. 2 to 14 below, various implementations have been carried out to ensure that the movement of the robot can be controlled so that even a robot not equipped with a safety function can perform a safety function to prevent accidents in an area where multiple robots operate. I would like to detail an example.

도 2 및 도 3은 본 개시의 실시예들에 따른, 가전 장치(100)의 기능을 설명하기 위한 블록구성도이다.Figures 2 and 3 are block diagrams for explaining the function of the home appliance device 100 according to embodiments of the present disclosure.

도 2는 본 개시의 일 실시예에 따른, 로봇의 구성요소를 설명하기 위한 블록도이다.Figure 2 is a block diagram for explaining components of a robot according to an embodiment of the present disclosure.

도 2를 참조하면, 본 개시의 일 실시예에 따른 제1 로봇(1100)은 프로세서(1110), 메모리(1120), 센서부(1130), 구동부(1140) 및 통신부(1150)를 포함한다. 프로세서(1110), 메모리(1120), 센서부(1130), 구동부(1140) 및 통신부(1150) 는 각각 전기적 및/또는 물리적으로 서로 연결될 수 있다. 도 2에 도시된 구성 요소는 본 개시의 일 실시예에 따른 것일 뿐, 제1 로봇(1100)이 포함하고 있는 구성 요소가 도 2에 도시된 것으로 한정되는 것은 아니다.Referring to FIG. 2, the first robot 1100 according to an embodiment of the present disclosure includes a processor 1110, a memory 1120, a sensor unit 1130, a driver 1140, and a communication unit 1150. The processor 1110, memory 1120, sensor unit 1130, driver 1140, and communication unit 1150 may each be electrically and/or physically connected to each other. The components shown in FIG. 2 are only according to an embodiment of the present disclosure, and the components included in the first robot 1100 are not limited to those shown in FIG. 2 .

이하 상기 구성요소들에 대해 차례로 알아본다. Below, we will look at the above components in turn.

프로세서(1110)는 제1 로봇(1100)의 동작을 제어한다. 프로세서(1110)는 메모리(1120)에 저장된 프로그램을 실행함으로써, 센서부(1130), 구동부(1140) 및 통신부(1150)를 제어할 수 있다.The processor 1110 controls the operation of the first robot 1100. The processor 1110 can control the sensor unit 1130, the driver 1140, and the communication unit 1150 by executing a program stored in the memory 1120.

본 개시의 일 실시예에 의하면, 제1 로봇(1100)은, 인공 지능(AI) 프로세서를 탑재할 수 있다. 인공 지능(AI) 프로세서는, 인공 지능(AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 제1 로봇(1100)에 탑재될 수도 있다.According to an embodiment of the present disclosure, the first robot 1100 may be equipped with an artificial intelligence (AI) processor. Artificial intelligence (AI) processors may be manufactured in the form of dedicated hardware chips for artificial intelligence (AI), or may be manufactured as part of an existing general-purpose processor (e.g. CPU or application processor) or graphics-specific processor (e.g. GPU). It may also be mounted on the first robot 1100.

본 개시의 일 실시예에 따르면, 프로세서(1110)는 상기 적어도 하나의 명령어를 실행함으로써, 제1 로봇(1100)의 운영 구역 중 적어도 일부가 중복되는 운영 구역이 할당된 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건을 외부 서버로부터 획득할 수 있다. 프로세서(1110)는 제2 로봇(1200)의 구성 정보, 제2 로봇(1200)의 제어 조건 및 제1 로봇(1100)의 구성 정보에 기초하여, 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 프로 세서(1110)는 제1 로봇(1100)의 구동부의 동작 상태에 관한 상태 정보 또는 제1 로봇(1100)이 주변 환경을 측정함으로써 획득한 센싱 값 중 적어도 하나가 제1 로봇(1100)의 제어 조건을 만족하는지 여부를 식별할 수 있다. 프로세서(1110)는 제1 로봇(1100)의 제어 조건을 만족하는 것에 기초하여, 제1 로봇(1100)의 동작을 제어할 수 있다.According to an embodiment of the present disclosure, the processor 1110 executes the at least one command, thereby controlling the operation of the second robot 1200 to which at least a portion of the operation area of the first robot 1100 is assigned an overlapping operation area. Configuration information and control conditions of the second robot 1200 can be obtained from an external server. The processor 1110 generates control conditions of the first robot 1100 based on the configuration information of the second robot 1200, the control conditions of the second robot 1200, and the configuration information of the first robot 1100. You can. The processor 1110 controls the first robot 1100 by using at least one of status information regarding the operating state of the driving unit of the first robot 1100 or a sensing value obtained by the first robot 1100 by measuring the surrounding environment. It is possible to identify whether the conditions are met. The processor 1110 may control the operation of the first robot 1100 based on satisfying the control conditions of the first robot 1100.

본 개시의 일 실시예에 따라, 프로세서(1110)는, 메모리(1120)에 저장된 안전 분석 프로그램을 실행할 수 있다. 안전 분석 프로그램은 통신부(1150)를 통해 클라우드 서버(1300)로부터 수신될 수 있다. According to an embodiment of the present disclosure, the processor 1110 may execute a safety analysis program stored in the memory 1120. The safety analysis program may be received from the cloud server 1300 through the communication unit 1150.

메모리(1120)는 제1 로봇(1100)의 동작을 제어하기 위한 애플리케이션을 구성하는 명령어들(instruction)이 저장될 수 있다. 일 실시예에서, 메모리(1120)에는 프로세서(1110)가 판독할 수 있는 명령어들 및 프로그램 코드(program code)가 저장될 수 있다. 이하의 실시예에서, 프로세서(1110)는 메모리(1120)에 저장된 명령어들 또는 프로그램 코드들을 실행함으로써 구현될 수 있다. The memory 1120 may store instructions constituting an application for controlling the operation of the first robot 1100. In one embodiment, the memory 1120 may store instructions and program codes that the processor 1110 can read. In the following embodiment, the processor 1110 may be implemented by executing instructions or program codes stored in the memory 1120.

메모리(1120)는 예를 들어, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 또는 광 디스크 중 적어도 하나의 타입의 저장매체로 구성될 수 있다.The memory 1120 may be, for example, a flash memory type, a hard disk type, a multimedia card micro type, or a card type memory (e.g., SD or XD memory). etc.), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), or It may be composed of at least one type of storage medium, such as an optical disk.

센서부(1130)는 제1 로봇(1100)이 주변 환경을 감지하기 위하여 사용될 수 있다. 도 3을 참조하면, 센서부(1130)는 라이다 센서(1131), 초음파 센서(1132), 적외선 센서(1133), 이미지 센서(1134), 3D 센서(1135), 또는 추락방지 센서(1136) 중 적어도 하나를 포함할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 센서부(1130)를 통해 주변의 물체를 감지하거나, 주변의 환경을 측정하거나, 제1 로봇(1100)의 속도, 가속도 등을 측정할 수 있다. The sensor unit 1130 can be used by the first robot 1100 to sense the surrounding environment. Referring to Figure 3, the sensor unit 1130 includes a lidar sensor 1131, an ultrasonic sensor 1132, an infrared sensor 1133, an image sensor 1134, a 3D sensor 1135, or a fall prevention sensor 1136. It may include at least one of: According to one embodiment, the first robot 1100 may detect surrounding objects, measure the surrounding environment, or measure the speed, acceleration, etc. of the first robot 1100 through the sensor unit 1130. .

구동부(1140)는 제1 로봇(1100) 또는 제1 로봇(1100)의 일부 구성이 움직일 수 있도록 구성된다. 도 3을 참조하면, 구동부(1140)는 휠 모터(1141), 로봇팔 모터(1142) 또는 트레이 모터(1143) 중 적어도 하나를 포함할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 휠 모터(1141)를 통해 휠을 움직임으로써, 공간을 이동할 수 있다. 일 실시예에 따라, 제1 로봇(1100)이 로봇 팔을 포함하는 경우, 제1 로봇(1100)은 로봇팔 모터(1142)를 제어함으로써, 로봇팔을 움직이도록 하여 다양한 기능을 수행하도록 할 수 있다. 일 실시예에 따라, 제1 로봇(1100)이 트레이를 포함하는 경우, 제1 로봇(1100)은 트레이 모터(1143)를 이용하여, 제1 로봇(1100)의 트레이의 높이를 변경할 수 있다. 프로세서(1110)는 구동부(1140)를 제어함으로써, 제1 로봇(1100)의 동작을 제어할 수 있다.The driving unit 1140 is configured to allow the first robot 1100 or a partial component of the first robot 1100 to move. Referring to FIG. 3, the driving unit 1140 may include at least one of a wheel motor 1141, a robot arm motor 1142, or a tray motor 1143. According to one embodiment, the first robot 1100 can move the space by moving the wheels using the wheel motor 1141. According to one embodiment, when the first robot 1100 includes a robot arm, the first robot 1100 controls the robot arm motor 1142 to move the robot arm to perform various functions. there is. According to one embodiment, when the first robot 1100 includes a tray, the first robot 1100 may change the height of the tray of the first robot 1100 using the tray motor 1143. The processor 1110 can control the operation of the first robot 1100 by controlling the driving unit 1140.

통신부(1150)는 제1 로봇(1100)과 클라우드 서버(1300)가 통신을 수행하도록 구성된다. 도 3을 참조하면, 통신부(1150)는 근거리 통신부 및 원거리 통신부(1159) 중 적어도 하나를 포함할 수 있다. The communication unit 1150 is configured to enable the first robot 1100 and the cloud server 1300 to communicate. Referring to FIG. 3, the communication unit 1150 may include at least one of a short-range communication unit and a long-distance communication unit 1159.

근거리 통신부(short-range wireless communication unit)는, 블루투스 통신부(1151), 근거리 무선 통신부(NFC, Near Field Communication unit, 1152), 지그비(Zigbee) 통신부(1153), WFD(Wi-Fi Direct) 통신부(1154), BLE(Bluetooth Low Energy) 통신부(1155), WLAN(Wireless Local Area Network) 통신부(1156), Ant+ 통신부(1157), UWB(ultra wideband) 통신부(1158) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. The short-range wireless communication unit includes a Bluetooth communication unit 1151, a Near Field Communication unit (NFC) 1152, a Zigbee communication unit 1153, and a Wi-Fi Direct (WFD) communication unit ( 1154), BLE (Bluetooth Low Energy) communication unit 1155, WLAN (Wireless Local Area Network) communication unit 1156, Ant+ communication unit 1157, UWB (ultra wideband) communication unit 1158, etc., but is limited to these. It doesn't work.

일 실시예에서, 근거리 무선 통신 모듈(1220)은 게이트웨이(gateway) 또는 라우터(router) 중 적어도 하나를 통해 외부 서버와 데이터 통신을 수행할 수도 있다. In one embodiment, the short-range wireless communication module 1220 may perform data communication with an external server through at least one of a gateway or a router.

원거리 통신부(1159)는 이동 통신 모듈 등을 포함할 수 있다. 이동 통신 모듈은, 이동 통신망 상에서 기지국, 외부 디바이스, 또는 서버 중 적어도 하나와 무선 신호를 송수신하도록 구성되는 통신 모듈이다. 이동 통신 모듈은 예를 들어, 5G mmWave 통신, 5G Sub 6 통신, LTE(Long Term Evolution) 통신, 또는 3G 이동 통신 중 적어도 하나의 통신 방식을 이용하여 데이터를 송수신할 수 있다. 일 실시예에서, 이동 통신 모듈은 프로세서(1110)의 제어에 의해 클라우드 서버(1300)와 데이터를 송수신할 수 있다.The long-distance communication unit 1159 may include a mobile communication module, etc. The mobile communication module is a communication module configured to transmit and receive wireless signals with at least one of a base station, an external device, or a server on a mobile communication network. For example, the mobile communication module may transmit and receive data using at least one communication method among 5G mmWave communication, 5G Sub 6 communication, Long Term Evolution (LTE) communication, or 3G mobile communication. In one embodiment, the mobile communication module may transmit and receive data with the cloud server 1300 under the control of the processor 1110.

일 실시예에 따라, 제1 로봇(1100)은 클라우드 서버(1300)와 통신부(1150)를 통해 통신하는 경우에 블록 체인(block chain)을 이용하여, 정보가 전달되는 경로를 기록할 수 있다. 예를 들면, 제1 로봇(1100)이 클라우드 서버(1300)로부터 제2 로봇(1200)의 구성 정보를 수신하는 경우에 블록 체인이 이용될 수 있다. 예를 들어, 블록 체인을 이용하여, 클라우드 서버(1300)로 구성 정보를 보내는 로봇이 제2 로봇(1200)이고, 클라우드 서버(1300)로부터 수신하는 로봇이 제1 로봇(1100)임이 식별될 수 있다. 또한, 제1 로봇(1100)이 제2 로봇(1200)의 구성 정보를 수신하였다는 정보를 블록 체인에 기록할 수 있다. 블록 체인을 통하여 정보 전달을 이용함으로써, 작업의 무결성을 확보할 수 있다는 장점이 존재한다.According to one embodiment, when communicating through the cloud server 1300 and the communication unit 1150, the first robot 1100 may record the path through which information is transmitted using a block chain. For example, a block chain may be used when the first robot 1100 receives configuration information of the second robot 1200 from the cloud server 1300. For example, using blockchain, it can be identified that the robot sending configuration information to the cloud server 1300 is the second robot 1200, and the robot receiving it from the cloud server 1300 is the first robot 1100. there is. Additionally, information indicating that the first robot 1100 has received configuration information of the second robot 1200 may be recorded in the blockchain. By using information transfer through blockchain, there is an advantage of ensuring the integrity of work.

일 실시예에 따라, 블록 체인에 기록하기 위하여 다양한 합의 알고리즘(consensus algorithm)이 이용될 수 있다. 합의 알고리즘은 작업 증명(PoW, Proof of Work) 방식, 지분 증명(PoS, Proof of Stake) 방식 또는 위임 지분 증명(DPOS, Delegated Proof of Stake) 방식 등을 포함할 수 있지만, 이에 제한되지 않는다. According to one embodiment, various consensus algorithms may be used to record in the blockchain. The consensus algorithm may include, but is not limited to, Proof of Work (PoW), Proof of Stake (PoS), or Delegated Proof of Stake (DPOS).

일 실시예에 따라, 제2 로봇(1200)도 클라우드 서버(1300)와 통신하는 경우에 블록 체인을 이용하여 제2 로봇(1200)과 클라우드 서버(1300) 사이의 데이터 전달 과정을 기록할 수 있다. According to one embodiment, when the second robot 1200 also communicates with the cloud server 1300, the data transfer process between the second robot 1200 and the cloud server 1300 can be recorded using a blockchain. .

도 3는 본 개시의 일 실시예에 따른, 로봇의 구성요소를 설명하기 위한 블록도이다.Figure 3 is a block diagram for explaining components of a robot according to an embodiment of the present disclosure.

도 2의 제1 로봇(1100)의 구성은 본 개시의 일 실시예에 따른 것으로, 이에 제한 되지 않고, 제1 로봇(1100)은 더 많은 구성을 포함할 수 있다. 도 3을 참조하면, 제1 로봇(1100)은 프로세서(1110), 메모리(1120), 센서부(1130), 구동부(1140) 및 통신부(1150) 외에 출력부(1160) 또는 입력부(1170)를 더 포함할 수 있다.The configuration of the first robot 1100 in FIG. 2 is according to an embodiment of the present disclosure, but is not limited thereto, and the first robot 1100 may include more configurations. Referring to FIG. 3, the first robot 1100 includes an output unit 1160 or an input unit 1170 in addition to a processor 1110, a memory 1120, a sensor unit 1130, a driver 1140, and a communication unit 1150. More may be included.

출력부(1160)는, 정보를 외부로 전달하기 위한 것이다. 출력부(1160)는 디스플레이(1161), 또는 스피커(1162)를 포함할 수 있다. 일 실시예에 따라, 제1 로봇(1100)이 위험 상태인 경우, 디스플레이(1161)를 통해 제1 로봇(1100)이 위험 상태에 있다는 정보를 표시할 수 있다. 일 실시예에 따라, 제1 로봇(1100)이 위험 상태인 경우, 스피커(1162)를 통해 제1 로봇(1100)이 위험 상태에 있다는 소리를 출력할 수 있다.The output unit 1160 is for transmitting information to the outside. The output unit 1160 may include a display 1161 or a speaker 1162. According to one embodiment, when the first robot 1100 is in a dangerous state, information indicating that the first robot 1100 is in a dangerous state may be displayed through the display 1161. According to one embodiment, when the first robot 1100 is in a dangerous state, a sound indicating that the first robot 1100 is in a dangerous state may be output through the speaker 1162.

입력부(1170)는, 사용자로부터의 입력을 수신하기 위한 것이다. 입력부(1170)는, 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 중 적어도 하나일 수 있으나, 이에 한정되는 것은 아니다.The input unit 1170 is for receiving input from the user. The input unit 1170 includes a key pad, a dome switch, and a touch pad (contact capacitance type, pressure resistance type, infrared detection type, surface ultrasonic conduction type, integral tension measurement type, It may be at least one of a piezo effect type, etc.), a jog wheel, and a jog switch, but is not limited thereto.

이하에서는, 설명의 편의상 제1 로봇(1100)은 로봇 팔과 휠을 포함한 로봇이고, 제2 로봇(1200)은 트레이와 휠을 포함한 로봇인 경우를 예시로 설명하기로 한다.Hereinafter, for convenience of explanation, the first robot 1100 is a robot including a robot arm and wheels, and the second robot 1200 is a robot including a tray and wheels.

도 4는 본 개시의 일 실시예에 따른, 로봇의 동작을 제어하는 방법을 설명하기 위한 순서도이다.Figure 4 is a flowchart for explaining a method of controlling the operation of a robot according to an embodiment of the present disclosure.

단계 s410에서, 제1 로봇(1100)은 제1 로봇(1100)의 운영 구역 중 적어도 일부가 중복되는 운영 구역이 할당된 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건을 외부 서버로부터 획득한다. 일 실시예에 따라, 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건은 제2 로봇(1200)이 클라우드 서버(1300)로 전송한 것일 수 있다. 제1 로봇(1100)은 제2 로봇(1200)이 클라우드 서버(1300)에 전송한 데이터를 획득할 수 있다. In step s410, the first robot 1100 receives the configuration information of the second robot 1200 and the control conditions of the second robot 1200, to which an operation area overlapping at least a portion of the operation area of the first robot 1100 is assigned. is obtained from an external server. According to one embodiment, the configuration information of the second robot 1200 and the control conditions of the second robot 1200 may be transmitted from the second robot 1200 to the cloud server 1300. The first robot 1100 may obtain data transmitted by the second robot 1200 to the cloud server 1300.

일 실시예에 따라, 제2 로봇(1200)의 제어 조건은, 제2 로봇(1200)의 속도 제어 조건, 제2 로봇(1200)의 운영 구역 제한, 제2 로봇(1200)의 비상 정지 조건, 제2 로봇(1200)의 보호 정지 조건, 또는 제2 로봇(1200)의 장애물과의 거리 조건을 포함할 수 있으나, 이에 제한되지 않는다. According to one embodiment, the control conditions of the second robot 1200 include speed control conditions of the second robot 1200, operating area restrictions of the second robot 1200, emergency stop conditions of the second robot 1200, It may include, but is not limited to, a protective stop condition of the second robot 1200 or a distance condition of the second robot 1200 from an obstacle.

일 실시예에 따라, 제2 로봇(1200)의 구성 정보는 로봇 팔(robot arm), 휠(wheel), 로봇 다리(robot arm), 또는 트레이(tray)를 포함하는지 여부에 관한 정보를 포함할 수 있다. 일 실시예에 따라, 제2 로봇(1200)의 구성 정보는 제2 로봇(1200)이 포함하는 구성의 스펙을 포함할 수 있다. According to one embodiment, the configuration information of the second robot 1200 may include information regarding whether it includes a robot arm, a wheel, a robot arm, or a tray. You can. According to one embodiment, the configuration information of the second robot 1200 may include specifications of the configuration included in the second robot 1200.

일 실시예에 따라, 제2 로봇(1200)이 로봇 팔을 포함하는 경우, 제2 로봇(1200)의 구성 정보는 로봇 팔의 길이, 굵기, 가동 범위, 자유도(DOF, Degrees Of Freedom), 모터 속도 등을 포함할 수 있다. According to one embodiment, when the second robot 1200 includes a robot arm, the configuration information of the second robot 1200 includes the length, thickness, range of motion, and degrees of freedom (DOF) of the robot arm. May include motor speed, etc.

일 실시예에 따라, 제2 로봇(1200)이 트레이를 포함하는 경우에 트레이의 개수, 설치된 높이, 트레이의 넓이, 트레이가 이동 가능한지 여부, 또는 트레이가 이동 가능한 영역 등의 정보를 포함할 수 있다. According to one embodiment, when the second robot 1200 includes a tray, it may include information such as the number of trays, the installed height, the width of the tray, whether the tray is movable, or the area where the tray can move. .

일 실시예에 따라, 제2 로봇(1200)이 휠을 포함하는 경우, 제2 로봇(1200)의 구성 정보는 휠의 속도, 휠의 가속도, 또는 휠의 이동 가능 방향에 관한 정보를 포함할 수 있다. According to one embodiment, when the second robot 1200 includes a wheel, the configuration information of the second robot 1200 may include information about the speed of the wheel, the acceleration of the wheel, or the possible direction of movement of the wheel. there is.

일 실시예에 따라, 제1 로봇(1100)과 제2 로봇(1200)은 할당된 운영 구역이 동일하거나 일부 중복될 수 있다. 제1 로봇(1100)은 제1 로봇(1100)과 제2 로봇(1200)의 중복되는 운영 구역(1400)에 관한 운영 구역 정보를 클라우드 서버(1300)로부터 수신할 수 있다. 운영 구역 정보는 제2 로봇(1200)이 운영 구역(1400)을 측정하고, 클라우드 서버(1300)에 전송한 정보일 수 있다.According to one embodiment, the allocated operating areas of the first robot 1100 and the second robot 1200 may be the same or partially overlap. The first robot 1100 may receive operating area information regarding the overlapping operating area 1400 of the first robot 1100 and the second robot 1200 from the cloud server 1300. The operating area information may be information that the second robot 1200 measures the operating area 1400 and transmits to the cloud server 1300.

일 실시예에 따라, 운영 구역 정보는 운영 구역(1400) 중 안전 구역에 관한 정보, 운영 구역(1400) 중 위험 구역에 관한 정보, 또는 운영 구역(1400)에 존재하는 장애물(1500)에 관한 정보를 포함할 수 있다. According to one embodiment, the operating area information may be information about a safe zone in the operating zone 1400, information about a dangerous zone in the operating zone 1400, or information about an obstacle 1500 present in the operating zone 1400. may include.

일 실시예에 따라, 제1 로봇(1100)은 클라우드 서버(1300)와 통신하는 경우에 블록 체인(block chain)을 이용하여, 정보가 전달되는 경로를 기록할 수 있다. 예를 들면, 제1 로봇(1100)이 클라우드 서버(1300)로부터 제2 로봇(1200)의 구성 정보를 수신하는 경우에 블록 체인을 이용하여, 제1 로봇(1100)에 해당하는지 여부를 식별하고, 제2 로봇(1200)의 정보를 수신할 수 있다. 제1 로봇(1100)이 제2 로봇(1200)의 구성 정보를 수신하였다는 정보를 블록 체인에 기록할 수 있다. According to one embodiment, when communicating with the cloud server 1300, the first robot 1100 may record the path through which information is transmitted using a block chain. For example, when the first robot 1100 receives configuration information of the second robot 1200 from the cloud server 1300, it identifies whether it corresponds to the first robot 1100 using a blockchain, and , information on the second robot 1200 can be received. Information indicating that the first robot 1100 has received configuration information of the second robot 1200 may be recorded in the blockchain.

단계 s420에서, 제1 로봇(1100)은 제2 로봇(1200)의 구성 정보, 제2 로봇(1200)의 제어 조건 및 제1 로봇(1100)의 구성 정보에 기초하여, 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)의 구성 정보와 제2 로봇(1200)의 구성 정보에 기초하여, 제2 로봇(1200)의 제어 조건을 수정하는 방법으로 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 예를 들면, 제1 로봇(1100)은 50cm 길이의 로봇 팔을 포함하고, 제2 로봇(1200)은 가로 30cm, 세로 30cm인 트레이를 포함하는 경우, 제1 로봇(1100)의 활동 영역이 더 크므로, 제1 로봇(1100)은 제2 로봇(1200)의 속도보다 더 낮은 속도를 제어 조건으로 생성할 수 있다.In step s420, the first robot 1100 operates the first robot 1100 based on the configuration information of the second robot 1200, the control conditions of the second robot 1200, and the configuration information of the first robot 1100. Control conditions can be created. According to one embodiment, the first robot 1100 modifies the control conditions of the second robot 1200 based on the configuration information of the first robot 1100 and the configuration information of the second robot 1200. Control conditions for the first robot 1100 can be created. For example, if the first robot 1100 includes a 50 cm long robot arm and the second robot 1200 includes a tray with a width of 30 cm and a height of 30 cm, the activity area of the first robot 1100 is longer. Because it is large, the first robot 1100 can generate a lower speed than the speed of the second robot 1200 as a control condition.

일 실시예에 따라, 제1 로봇(1100)의 구성 정보는 로봇 팔(robot arm), 휠(wheel), 로봇 다리(robot arm), 또는 트레이(tray)를 포함하는지 여부에 관한 정보를 포함할 수 있다. 일 실시예에 따라, 제1 로봇(1100)의 구성 정보는 제1 로봇(1100)이 포함하는 구성의 스펙을 포함할 수 있다.According to one embodiment, the configuration information of the first robot 1100 may include information regarding whether it includes a robot arm, a wheel, a robot arm, or a tray. You can. According to one embodiment, the configuration information of the first robot 1100 may include specifications of the configuration included in the first robot 1100.

일 실시예에 따라, 제1 로봇(1100)의 제어 조건은, 제1 로봇(1100)의 속도 제어 조건, 제1 로봇(1100)의 운영 구역 제한, 제1 로봇(1100)의 비상 정지 조건, 제1 로봇(1100)의 보호 정지 조건, 또는 제1 로봇(1100)의 장애물과의 거리 조건, 상기 나열된 조건들 중 적어도 하나를 포함할 수 있으나, 이에 제한되지 않는다.According to one embodiment, the control conditions of the first robot 1100 include speed control conditions of the first robot 1100, operating area restrictions of the first robot 1100, emergency stop conditions of the first robot 1100, It may include a protective stop condition of the first robot 1100, a distance condition of the first robot 1100 from an obstacle, and at least one of the conditions listed above, but is not limited thereto.

일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)과 제2 로봇(1200)에 공통으로 포함된 공통 구성을 식별할 수 있다. 공통 구성에 관한 제1 로봇(1100)의 구성 정보, 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건에 기초하여 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 예를 들면, 제1 로봇(1100)과 제2 로봇(1200)이 로봇 팔을 공통으로 포함할 수 있다. 제1 로봇(1100)의 로봇 팔의 길이가 50cm이고, 제2 로봇(1200)의 로봇 팔 길이가 30cm인 경우, 제1 로봇(1100)이 이동할 수 있는 운영 영역은 제2 로봇(1200)이 이동할 수 있는 운영 영역 보다 더 좁게 제어 조건이 생성될 수 있다.According to one embodiment, the first robot 1100 may identify a common configuration commonly included in the first robot 1100 and the second robot 1200. The control conditions of the first robot 1100 can be generated based on the configuration information of the first robot 1100, the configuration information of the second robot 1200, and the control conditions of the second robot 1200 regarding the common configuration. . For example, the first robot 1100 and the second robot 1200 may include a robot arm in common. If the length of the robot arm of the first robot 1100 is 50cm and the length of the robot arm of the second robot 1200 is 30cm, the operating area in which the first robot 1100 can move is the area where the second robot 1200 can move. Control conditions can be created narrower than the movable operating area.

단계 s430에서, 제1 로봇(1100)은 제1 로봇(1100)의 구동부의 동작 상태에 관한 상태 정보 또는 제1 로봇(1100)이 주변 환경을 측정함으로써 획득한 센싱 값 중 적어도 하나가 제1 로봇(1100)의 제어 조건을 만족하는지 여부를 식별할 수 있다. 예를 들면, 제1 로봇(1100)은 제1 로봇(1100)의 휠의 회전 속도를 측정하거나, 제1 로봇(1100)의 주변 물체와의 거리를 측정할 수 있다. 제1 로봇(1100)은 측정된 휠의 속도 또는 주변 물체와의 거리가 제1 로봇(1100)의 제한 속도 또는 주변 물체와의 제한 거리 등과 같은 제1 로봇(1100)의 제어 조건을 만족하는지 여부를 식별할 수 있다. In step s430, the first robot 1100 receives at least one of status information regarding the operating state of the driving unit of the first robot 1100 or a sensing value obtained by the first robot 1100 by measuring the surrounding environment. It is possible to identify whether the control conditions of (1100) are satisfied. For example, the first robot 1100 may measure the rotational speed of the wheels of the first robot 1100 or the distance to an object surrounding the first robot 1100. The first robot 1100 determines whether the measured wheel speed or distance to surrounding objects satisfies the control conditions of the first robot 1100, such as the limited speed of the first robot 1100 or the limited distance to surrounding objects. can be identified.

일 실시예에 따라, 제1 로봇(1100)이 제어 조건을 만족한 것은 위험 상태인 것을 의미할 수 있다. 예를 들면, 제1 로봇(1100)의 현재 속도가 제1 로봇(1100)의 제어 조건의 한계 속도를 초과하는 경우, 제1 로봇(1100)이 제어 조건을 만족하는 것으로 식별될 수 있다.According to one embodiment, the fact that the first robot 1100 satisfies the control condition may mean that it is in a dangerous state. For example, when the current speed of the first robot 1100 exceeds the speed limit of the control condition of the first robot 1100, the first robot 1100 may be identified as satisfying the control condition.

단계 s440에서, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 만족하는 것에 기초하여, 제1 로봇(1100)의 동작을 제어할 수 있다. In step s440, the first robot 1100 may control the operation of the first robot 1100 based on satisfying the control conditions of the first robot 1100.

일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 만족하는 것에 기초하여, 제1 로봇(1100)이 정지하도록 제어할 수 있다.According to one embodiment, the first robot 1100 may be controlled to stop based on satisfying the control conditions of the first robot 1100.

일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 만족하는 것에 기초하여, 제1 로봇(1100)이 안전 구역으로 이동하도록 제어할 수 있다.According to one embodiment, the first robot 1100 may control the first robot 1100 to move to a safe area based on satisfying the control conditions of the first robot 1100.

일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 만족하는 것에 기초하여, 제1 로봇(1100)에 관한 상태 정보를 외부 디바이스로 전송하도록 제어할 수 있다. 예를 들면, 제1 로봇(1100)이 제1 로봇(1100)의 상태 정보를 외부 디바이스로 전송함으로써, 사용자는 제1 로봇(1100)의 현재 또는 과거의 상태를 식별할 수 있다.According to one embodiment, the first robot 1100 may be controlled to transmit status information about the first robot 1100 to an external device based on satisfying the control conditions of the first robot 1100. For example, when the first robot 1100 transmits the state information of the first robot 1100 to an external device, the user can identify the current or past state of the first robot 1100.

제1 로봇(1100)이 정지하도록 제어하거나, 안전 구역으로 이동하도록 제어하거나, 제1 로봇(1100)에 관한 상태 정보를 외부 디바이스로 전송하도록 제어하는 것은 둘 이상이 함께 수행될 수 있다. Controlling the first robot 1100 to stop, controlling it to move to a safe area, or controlling it to transmit status information about the first robot 1100 to an external device may be performed together.

일 실시예에 따라, 제1 로봇(1100)은 제어 조건을 만족하는 경우, 제1 로봇(1100)이 측정한 센싱 값, 구동부의 상태 정보 또는 제1 로봇(1100)의 제어 조건을 클라우드 서버(1300)로 전송할 수 있다. 제1 로봇(1100)이 제어 조건을 만족한 위험 상황을 공유함으로써, 같은 운영 구역(1400) 내에 존재하는 제2 로봇(1200)은 제2 로봇(1200)의 제어 조건을 변경할 수 있다. According to one embodiment, when the control condition is satisfied, the first robot 1100 sends the sensing value measured by the first robot 1100, the status information of the driving unit, or the control condition of the first robot 1100 to the cloud server ( 1300). By sharing a dangerous situation in which the first robot 1100 satisfies the control conditions, the second robot 1200 existing in the same operating area 1400 can change the control conditions of the second robot 1200.

일 실시예에 따라, 제1 로봇(1100)은 변경된 제2 로봇(1200)의 제어 조건을 클라우드 서버(1300)를 통해 수신할 수 있다. 제1 로봇(1100)은 변경된 제2 로봇(1200)의 제어 조건에 기초하여, 제1 로봇(1100)의 제어 조건을 변경할 수 있다.According to one embodiment, the first robot 1100 may receive the changed control conditions of the second robot 1200 through the cloud server 1300. The first robot 1100 may change the control conditions of the first robot 1100 based on the changed control conditions of the second robot 1200.

도 5는 본 개시의 일 실시예에 따른, 로봇이 클라우드 서버와 통신하는 동작을 설명하기 위한 도면이다.Figure 5 is a diagram for explaining an operation in which a robot communicates with a cloud server, according to an embodiment of the present disclosure.

단계 s501에서, 제2 로봇(1200)은 안전 분석 프로그램을 클라우드 서버(1300)로 전송할 수 있다. 일 실시예에 따라, 제2 로봇(1200)이 클라우드 서버(1300)로 프로그램 또는 정보를 전달하는 과정은 블록 체인을 통하여 기록될 수 있다.In step s501, the second robot 1200 may transmit the safety analysis program to the cloud server 1300. According to one embodiment, the process of the second robot 1200 delivering a program or information to the cloud server 1300 may be recorded through a blockchain.

단계 s520에서, 제2 로봇(1200)은 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건을 클라우드 서버(1300)로 전송할 수 있다. In step s520, the second robot 1200 may transmit configuration information of the second robot 1200 and control conditions of the second robot 1200 to the cloud server 1300.

단계 s530에서, 제1 로봇(1100)은 클라우드 서버(1300)로부터 제2 로봇(1200)이 전송한 안전 분석 프로그램을 수신할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 수신된 안전 분석 프로그램을 메모리에 저장할 수 있다. 제1 로봇(1100)은 메모리에 저장된 안전 분석 프로그램을 실행함으로써, 안전 기능을 수행하도록 제1 로봇(1100)을 제어할 수 있다. In step s530, the first robot 1100 may receive the safety analysis program transmitted by the second robot 1200 from the cloud server 1300. According to one embodiment, the first robot 1100 may store the received safety analysis program in memory. The first robot 1100 may control the first robot 1100 to perform safety functions by executing a safety analysis program stored in the memory.

단계 s540에서, 제1 로봇(1100)은 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건을 수신할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 안전 분석 프로그램을 실행함으로써, 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건을 수신할 수 있다.In step s540, the first robot 1100 may receive configuration information of the second robot 1200 and control conditions of the second robot 1200. According to one embodiment, the first robot 1100 may receive configuration information of the second robot 1200 and control conditions of the second robot 1200 by executing a safety analysis program.

일 실시예에 따라, 클라우드 서버(1300)는 제1 로봇(1100)과 제2 로봇(1200)에 중복되는 운영 구역(1400)이 할당된 것을 식별한 경우에만 제2 로봇(1200)의 안전 분석 프로그램, 구성 정보 및 제어 조건을 전송할 수 있다.According to one embodiment, the cloud server 1300 performs safety analysis of the second robot 1200 only when it identifies that overlapping operating areas 1400 are assigned to the first robot 1100 and the second robot 1200. Programs, configuration information and control conditions can be transmitted.

단계 s510 내지 단계 s540은 당업자의 선택에 따라 쉽게 순서를 변경할 수 있다.The order of steps s510 to s540 can be easily changed according to the selection of those skilled in the art.

단계 s550에서, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 제1 로봇(1100)은 제어 조건을 생성함으로써, 안전 기능을 수행할 수 있다.In step s550, the first robot 1100 may generate control conditions for the first robot 1100. The first robot 1100 can perform safety functions by creating control conditions.

도 6는 본 개시의 일 실시예에 따른, 로봇의 동작을 제어하기 위한 방법을 설명하기 위한 도면이다.Figure 6 is a diagram for explaining a method for controlling the operation of a robot according to an embodiment of the present disclosure.

제1 로봇(1100)은 통신부(1150)를 통해 클라우드 서버(1300)로부터 안전 분석 프로그램(600)을 수신할 수 있다. 제1 로봇(1100)은 수신된 안전 분석 프로그램(600)을 메모리에 저장하고, 프로세서를 통해 메모리에 저장된 안전 분석 프로그램(600)을 실행할 수 있다. The first robot 1100 may receive the safety analysis program 600 from the cloud server 1300 through the communication unit 1150. The first robot 1100 may store the received safety analysis program 600 in memory and execute the safety analysis program 600 stored in the memory through a processor.

안전 분석 프로그램(600)은 통신 제어부(610), 로봇 구성 정보 수집부(620), 고장 모드 데이터베이스(630), 안전 분석 수행부(640) 및 동작 제어부(650)를 포함할 수 있다.The safety analysis program 600 may include a communication control unit 610, a robot configuration information collection unit 620, a failure mode database 630, a safety analysis performance unit 640, and an operation control unit 650.

통신 제어부(610)는 통신부(1150)를 통해 클라우드 서버(1300)와 통신할지 여부를 결정할 수 있다. 통신 제어부(610)는 제1 로봇(1100)이 클라우드 서버(1300)로부터 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건을 수신하도록 제어할 수 있다. 통신 제어부(610)는 수신된 정보를 안전 분석 수행부(640)로 전달 할 수 있다.The communication control unit 610 may determine whether to communicate with the cloud server 1300 through the communication unit 1150. The communication control unit 610 may control the first robot 1100 to receive configuration information of the second robot 1200 and control conditions of the second robot 1200 from the cloud server 1300. The communication control unit 610 may transmit the received information to the safety analysis performing unit 640.

로봇 구성 정보 수집부(620)는 제1 로봇(1100)의 구성 정보를 수집할 수 있다. 예를 들면, 로봇 구성 정보 수집부(620)는 로봇 팔, 휠을 포함하는 제1 로봇(1100)의 구성을 식별할 수 있다. 로봇 구성 정보 수집부(620)는 제1 로봇(1100)의 길이, 넓이, 속도 등과 같은 스펙을 식별할 수 있다. 로봇 구성 정보 수집부(620)는 식별된 제1 로봇(1100)의 구성 정보를 안전 분석 수행부(640)로 전달할 수 있다.The robot configuration information collection unit 620 may collect configuration information of the first robot 1100. For example, the robot configuration information collection unit 620 may identify the configuration of the first robot 1100, including a robot arm and wheel. The robot configuration information collection unit 620 can identify specifications such as length, width, speed, etc. of the first robot 1100. The robot configuration information collection unit 620 may transmit configuration information of the identified first robot 1100 to the safety analysis performing unit 640.

고장 모드 데이터베이스(630)는, 센서부(1130), 구동부(1140)의 일반적인 고장 모드에 대한 정보를 저장할 수 있다. 고장 모드 데이터베이스(630)는 안전 분석 수행부(640)가 요구하는 모듈 별 고장 모드를 제공할 수 있다. 고장 모드는 국제 규격 (IEC 61508, ISO 13849 등)의 안전 표준을 포함할 수 있다. 일 실시예에 따라, 고장 모드는 다른 로봇으로부터 획득한 정보를 추가로 저장할 수 있다. The failure mode database 630 may store information about general failure modes of the sensor unit 1130 and the drive unit 1140. The failure mode database 630 may provide failure modes for each module required by the safety analysis performing unit 640. Failure modes can include safety standards from international standards (IEC 61508, ISO 13849, etc.). According to one embodiment, the failure mode may additionally store information obtained from other robots.

안전 분석 수행부(640)는, 다른 로봇에서 수행되는 안전 기능의 시스템 구성 요소를 로봇 구성 정보 수집부(620)로부터 수집한 로봇의 구성 요소에 대입하여 로봇의 구성요소에 맞는 안전 기능을 생성한다. 일 실시예에 따라, 제2 로봇(1200)의 구성 정보와 제1 로봇(1100)의 구성 정보를 비교하고, 구성 정보의 차이에 기초하여, 제2 로봇(1200)의 제어 조건을 변경함으로써, 제1 로봇(1100)의 제어 조건을 생성할 수 있다.The safety analysis performance unit 640 substitutes system components of safety functions performed in other robots into the robot components collected from the robot configuration information collection unit 620 to generate safety functions suitable for the robot components. . According to one embodiment, by comparing the configuration information of the second robot 1200 and the configuration information of the first robot 1100 and changing the control conditions of the second robot 1200 based on the difference in configuration information, Control conditions for the first robot 1100 can be created.

일 실시예에 따라, 안전 분석 수행부(640)는 제2 로봇(1200)의 센서 입력 주기, 장애물 거리 정보의 오차를 제1 로봇(1100)의 구성의 스펙에 대응하도록 맵핑할 수 있다. 예를 들면, 제2 로봇(1200)의 라이다 센서의 입력 주기가 0.1초, 거리 센싱 오차가 10cm이고, 제1 로봇(1100)의 라이다 센서 입력 주기가 0.2초 이고, 거리 센싱 오차가 20cm인 경우, 제1 로봇(1100)의 제한 속도를 제2 로봇(1200)의 제한 속도보다 낮게 생성할 수 있다.According to one embodiment, the safety analysis performing unit 640 may map the error in the sensor input cycle and obstacle distance information of the second robot 1200 to correspond to the configuration specifications of the first robot 1100. For example, the input period of the LiDAR sensor of the second robot 1200 is 0.1 seconds and the distance sensing error is 10 cm, and the input period of the LiDAR sensor of the first robot 1100 is 0.2 seconds and the distance sensing error is 20 cm. In this case, the speed limit of the first robot 1100 may be generated lower than the speed limit of the second robot 1200.

일 실시예에 따라, 안전 분석 수행부(640)는 제2 로봇(1200)의 CPU 점유율, 메모리 점유율에 관한 제어 조건을, 제1 로봇(1100)의 CPU, 메모리 스펙에 대응되도록 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 예를 들면, 제2 로봇(1200)의 CPU 용량과 메모리 용량이 제1 로봇(1100)의 CPU 용량과 메모리 용량보다 작은 경우에, 제1 로봇(1100)의 CPU 점유율, 메모리 점유율에 관한 제어 조건은 제2 로봇(1200)의 CPU 점유율 또는 메모리 점유율 보다 크도록 생성될 수 있다.According to one embodiment, the safety analysis performing unit 640 sets control conditions regarding the CPU occupancy rate and memory occupancy rate of the second robot 1200 to correspond to the CPU and memory specifications of the first robot 1100. 1100) control conditions can be created. For example, when the CPU capacity and memory capacity of the second robot 1200 are smaller than the CPU capacity and memory capacity of the first robot 1100, control conditions regarding the CPU occupancy rate and memory occupancy rate of the first robot 1100 may be created to be larger than the CPU occupancy rate or memory occupancy rate of the second robot 1200.

일 실시예에 따라, 안전 분석 수행부(640)는 제2 로봇(1200)의 구동계의 최대 전류 조건, 구동계의 최대 전압 조건 또는 구동계의 최대 속도 등의 제어 조건을 제1 로봇(1100)의 구동계의 스펙에 대응되도록 제1 로봇(1100)의 제어 조건을 생성할 수 있다. According to one embodiment, the safety analysis performing unit 640 sets control conditions such as the maximum current condition of the driving system of the second robot 1200, the maximum voltage condition of the driving system, or the maximum speed of the driving system to the driving system of the first robot 1100. The control conditions of the first robot 1100 can be created to correspond to the specifications.

동작 제어부(650)는, 제1 로봇(1100)의 구동부(1140)의 동작 상태를 식별하고, 제1 로봇(1100)의 구동부(1140)를 제어할 수 있다. 일 실시예에 따라, 동작 제어부(650)는 제1 로봇(1100)의 구동부(1140)의 동작 상태 (예: 휠의 속도, 로봇 팔의 위치 등)을 획득하고, 제1 로봇(1100)의 제어 조건을 만족하는지 여부를 식별할 수 있다. 일 실시예에 따라, 동작 제어부(650)는 구동부(1140)의 동작 상태가 제1 로봇(1100)의 제어 조건을 만족하는 경우, 구동부(1140)가 소정 동작을 수행하도록 제어할 수 있다. 예를 들면, 제1 로봇(1100)의 휠 속도가 제어 조건의 최대 속도를 초과하는 경우, 동작 제어부(650)는 제1 로봇(1100)이 정지 하도록 제어할 수 있다.The operation control unit 650 may identify the operating state of the driving unit 1140 of the first robot 1100 and control the driving unit 1140 of the first robot 1100. According to one embodiment, the operation control unit 650 obtains the operating state (e.g., speed of the wheel, position of the robot arm, etc.) of the driving unit 1140 of the first robot 1100, and controls the operation of the first robot 1100. It is possible to identify whether control conditions are satisfied. According to one embodiment, the operation control unit 650 may control the driving unit 1140 to perform a predetermined operation when the operating state of the driving unit 1140 satisfies the control conditions of the first robot 1100. For example, when the wheel speed of the first robot 1100 exceeds the maximum speed of the control condition, the motion control unit 650 may control the first robot 1100 to stop.

도 7는 본 개시의 일 실시예에 따른, 로봇의 운영 구역을 설명하기 위한 도면이다.Figure 7 is a diagram for explaining the operating area of a robot according to an embodiment of the present disclosure.

운영 구역(1400)은, 제1 로봇(1100)과 제2 로봇(1200)에 각각 할당된 운영 구역 중에서 중복되는 운영 구역을 의미할 수 있다. 운영 구역(1400)은 안전 구역(1410) 위험 구역(1420), 고정 장애물(1500a) 또는 동적 장애물(1500b)을 포함할 수 있다.The operating area 1400 may refer to an overlapping operating area among the operating areas allocated to the first robot 1100 and the second robot 1200, respectively. The operating area 1400 may include a safe area 1410, a hazardous area 1420, a fixed obstacle 1500a, or a dynamic obstacle 1500b.

안전 구역(1410)은, 제1 로봇(1100)과 제2 로봇(1200)의 안전을 보장할 수 있는 공간일 수 있다. 예를 들면, 제1 로봇(1100)과 제2 로봇(1200)이 운행되지 않는 경우에 대기하는 공간이거나, 제1 로봇(1100)과 제2 로봇(1200)을 충전하는 공간일 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 제어 조건을 만족하는 경우, 제1 로봇(1100)의 동작을 정지하고, 안전 구역(1410)으로 이동할 수 있다.The safety area 1410 may be a space that can ensure the safety of the first robot 1100 and the second robot 1200. For example, it may be a waiting space when the first robot 1100 and the second robot 1200 are not operating, or it may be a space for charging the first robot 1100 and the second robot 1200. According to one embodiment, when the control condition is satisfied, the first robot 1100 may stop its operation and move to the safety area 1410.

위험 구역(1420)은, 제1 로봇(1100)과 제2 로봇(1200)의 안전을 보장할 수 없는 공간일 수 있다. 예를 들면, 제1 로봇(1100)과 제2 로봇(1200)이 이동할 수 없도록 금지된 공간 일 수 있다.The danger zone 1420 may be a space where the safety of the first robot 1100 and the second robot 1200 cannot be guaranteed. For example, it may be a space where the first robot 1100 and the second robot 1200 are prohibited from moving.

고정 장애물(1500a)은, 운영 구역(1400)에 존재하는 움직이지 않는 장애물일 수 있다. 예를 들면, 고정 장애물(1500a)은 실내에 설치된 가구, 벽 또는 기둥 등일 수 있다. 일 실시예에 따라, 고정 장애물(1500a)은 시간에 따라 위치가 변경되지 않으므로, 제1 로봇(1100)은 센서부(1130)를 통하여 측정되지 않은 장애물을 고려하여 구동부(1140)의 동작을 제어할 수 있다.The fixed obstacle 1500a may be a non-moving obstacle existing in the operating area 1400. For example, the fixed obstacle 1500a may be furniture, a wall, or a pillar installed indoors. According to one embodiment, since the position of the fixed obstacle 1500a does not change with time, the first robot 1100 controls the operation of the driving unit 1140 in consideration of the obstacle that has not been measured through the sensor unit 1130. can do.

동적 장애물(1500b)은, 운영 구역(1400)에 존재하는 움직이는 장애물일 수 있다. 예를 들면, 동적 장애물(1500b)은 운영 구역(1400)에 존재하는 다른 로봇이거나, 움직이는 사람 등일 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 센서부(1130)를 통해 측정되지 않은 동적 장애물(1500b)을 고려하여, 동작을 제어할 수 있다.Dynamic obstacle 1500b may be a moving obstacle present in operating area 1400. For example, the dynamic obstacle 1500b may be another robot present in the operating area 1400, a moving person, etc. According to one embodiment, the first robot 1100 may control its movement by considering a dynamic obstacle 1500b that has not been measured through the sensor unit 1130.

일 실시예에 따라, 제2 로봇(1200)은 운영 구역(1400)을 측정함으로써, 운영 구역 정보를 획득할 수 있다. 예를 들면, 제2 로봇(1200)은 안전 구역(1410)의 위치, 위험 구역(1420)의 위치, 고정 장애물(1500a)의 위치, 동적 장애물(1500b)의 이동 범위 등을 획득할 수 있다. 제2 로봇(1200)은 측정한 운영 구역 정보를 클라우드 서버(1300)로 전송할 수 있다. 제1 로봇(1100)은 제2 로봇(1200)이 측정한 운영 구역 정보를 클라우드 서버(1300)로부터 획득하여, 제1 로봇(1100)의 제어 조건을 결정할 수 있다.According to one embodiment, the second robot 1200 may obtain operating area information by measuring the operating area 1400. For example, the second robot 1200 may acquire the location of the safe area 1410, the location of the dangerous area 1420, the location of the fixed obstacle 1500a, the movement range of the dynamic obstacle 1500b, etc. The second robot 1200 may transmit the measured operating area information to the cloud server 1300. The first robot 1100 may obtain the operating area information measured by the second robot 1200 from the cloud server 1300 and determine the control conditions of the first robot 1100.

일 실시예에 따라, 제2 로봇(1200)은 제2 로봇(1200)의 제어 조건을 만족하는 경우, 제어 조건을 만족한 상황에 대한 정보를 클라우드 서버(1300)로 전송할 수 있다. 제1 로봇(1100)은 클라우드 서버(1300)를 통해 제2 로봇(1200)이 전송한 상황에 대한 정보를 수신할 수 있다. 제1 로봇(1100)은 수신된 상황에 대한 정보를 이용하여 제1 로봇(1100)의 제어 조건을 변경할 수 있다.According to one embodiment, when the control conditions of the second robot 1200 are satisfied, the second robot 1200 may transmit information about a situation in which the control conditions are satisfied to the cloud server 1300. The first robot 1100 may receive information about the situation transmitted by the second robot 1200 through the cloud server 1300. The first robot 1100 can change the control conditions of the first robot 1100 using the received information about the situation.

도 8는 본 개시의 일 실시예에 따른, 로봇의 안전 기능을 설명하기 위한 도면이다.Figure 8 is a diagram for explaining the safety function of a robot according to an embodiment of the present disclosure.

로봇의 안전 기능을 보장하기 위하여, 개인 지원 로봇에 대한 안전 요구 표준인 ISO 13482와 산업용 로봇에 대한 안전 표준인 ISO 10218 및 ISO 15066 등이 있다.To ensure the safety functions of robots, there are ISO 13482, a safety requirement standard for personal assistance robots, and ISO 10218 and ISO 15066, safety standards for industrial robots.

ISO 13482는 개인 지원 로봇의 위험 충돌 회피, 작업공간 제어, 비상 정지, 보호 정지, 안전 속력 제어, 안전 출력 제어 및 안정성 제어에 대한 안전 요구 표준을 규정하고 있다.ISO 13482 specifies safety requirements for hazardous collision avoidance, workspace control, emergency stop, protective stop, safe speed control, safe power control, and stability control for personal assistance robots.

ISO 10218 및 ISO15066은 산업용 로봇의 비상 정지, 보호 정지, 안전 속력 제어, 안전 포지션 감시, 무동력 이동 동작, 수동 동작 제어 모드, 운전 모드 잠금 기능, 우발적 시작 감지 기능에 대한 안전 요구 표준을 규정하고 있다.ISO 10218 and ISO15066 specify safety requirements for industrial robots' emergency stop, protective stop, safe speed control, safe position monitoring, non-powered movement operation, manual motion control mode, operation mode lock function, and accidental start detection function.

일 실시예에 따라, 제1 로봇(1100)은 요구되는 안전 기능을 수행하기 위한 제어 조건을 생성할 수 있다. 예를 들면, 제1 로봇(1100)이 서빙 로봇인 경우, 제1 로봇(1100)에 대하여 위험 충돌 회피, 작업 공간 제어, 비상 정지, 보호 정지, 안전 속력 제어 등의 안전 기능이 요구될 수 있다. 제1 로봇(1100)은 요구되는 안전 기능을 수행하기 위한 제어 조건을 생성하기 위하여, 제2 로봇(1200)의 구성 정보, 제2 로봇(1200)의 제어 조건 및 제1 로봇(1100)의 구성 정보를 이용할 수 있다.According to one embodiment, the first robot 1100 may create control conditions for performing a required safety function. For example, when the first robot 1100 is a serving robot, safety functions such as dangerous collision avoidance, work space control, emergency stop, protective stop, and safe speed control may be required for the first robot 1100. . The first robot 1100 includes configuration information of the second robot 1200, control conditions of the second robot 1200, and configuration of the first robot 1100 in order to generate control conditions for performing the required safety function. Information is available.

도 9는 본 개시의 일 실시예에 따른, 로봇의 동작을 제어하는 방법을 설명하기 위한 순서도이다.Figure 9 is a flowchart for explaining a method of controlling the operation of a robot according to an embodiment of the present disclosure.

단계 S910에서, 제1 로봇(1100)은 안전 분석 프로그램을 수신하고 저장할 수 있다. 제1 로봇(1100)은 클라우드 서버(1300)를 통해 안전 분석 프로그램을 수신할 수 있다. 일 실시예에 따라, 안전 분석 프로그램은 도 6에서 설명한 안전 분석 프로그램일 수 있다.In step S910, the first robot 1100 may receive and store the safety analysis program. The first robot 1100 may receive a safety analysis program through the cloud server 1300. According to one embodiment, the safety analysis program may be the safety analysis program described in FIG. 6.

단계 S920에서, 제1 로봇(1100)은 클라우드 서버(1300)를 통해 제2 로봇(1200)의 구성 정보 및 제어 조건을 획득할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 운영 구역(1400)에 관한 운영 구역 정보도 클라우드 서버(1300)를 통해 수신할 수 있다.In step S920, the first robot 1100 may obtain configuration information and control conditions of the second robot 1200 through the cloud server 1300. According to one embodiment, the first robot 1100 may also receive operation area information regarding the operation area 1400 through the cloud server 1300.

단계 S930에서, 제1 로봇(1100)은 제2 로봇(1200)의 제어 조건, 제2 로봇(1200)의 구성 정보 및 제1 로봇(1100)의 구성 정보에 기초하여 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 운영 구역(1400)에 관한 정보를 포함하여, 제1 로봇(1100)의 제어 조건을 결정할 수 있다.In step S930, the first robot 1100 operates the first robot 1100 based on the control conditions of the second robot 1200, the configuration information of the second robot 1200, and the configuration information of the first robot 1100. Control conditions can be created. According to one embodiment, the first robot 1100 may determine control conditions for the first robot 1100, including information about the operating area 1400.

단계 S940에서, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 만족하는지 여부를 식별할 수 있다. 예를 들면, 제1 로봇(1100)은 구동부의 동작 상태가 제1 로봇(1100)의 제어 조건을 만족하는지 여부를 식별할 수 있다. 만약, 제1 로봇(1100)의 제어 조건을 만족하는 경우에는 단계 S960이 계속되고, 그렇지 않은 경우에는 단계 s950이 계속될 수 있다.In step S940, the first robot 1100 may identify whether the control conditions of the first robot 1100 are satisfied. For example, the first robot 1100 may identify whether the operating state of the driving unit satisfies the control conditions of the first robot 1100. If the control conditions of the first robot 1100 are satisfied, step S960 may continue, and if not, step s950 may continue.

단계 S950에서, 제1 로봇(1100)은 동작을 종료하는지 여부를 식별할 수 있다. 만약, 제1 로봇(1100)의 동작을 종료할 수 있는 경우에는 그대로 동작을 종료할 수 있다. 그렇지 않으면, 단계 s940으로 계속된다. In step S950, the first robot 1100 may identify whether to end the operation. If the operation of the first robot 1100 can be terminated, the operation can be terminated as is. Otherwise, continuing with step s940.

단계 S960에서, 제1 로봇(1100)은 안전 모드로 변경할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 안전 모드로 변경됨에 따라, 운영 구역 내 안전 구역으로 이동할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 안전 모드로 변경됨에 따라, 정지할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 안전 모드로 변경됨에 따라, 제1 로봇(1100)의 상태 정보를 외부 디바이스로 전송할 수 있다. 예를 들면, 제1 로봇(1100)의 상태 정보는 제1 로봇(1100)이 측정한 센싱값 또는 제1 로봇(1100)의 제어 조건 등을 포함할 수 있다.In step S960, the first robot 1100 may change to the safe mode. According to one embodiment, as the first robot 1100 changes to the safe mode, it may move to a safe area within the operating area. According to one embodiment, the first robot 1100 may stop as it changes to the safe mode. According to one embodiment, as the first robot 1100 changes to the safe mode, status information of the first robot 1100 may be transmitted to an external device. For example, the status information of the first robot 1100 may include a sensing value measured by the first robot 1100 or a control condition of the first robot 1100.

도 10는 본 개시의 일 실시예에 따른, 로봇의 제어 조건을 변경하는 방법을 설명하기 위한 도면이다.Figure 10 is a diagram for explaining a method of changing the control conditions of a robot according to an embodiment of the present disclosure.

단계 s1010에서, 제1 로봇(1100)은 제1 로봇(1100)의 위험 정보를 클라우드 서버(1300)에 전송할 수 있다. 일 실시예에 따라, 제1 로봇(1100)의 구동부 상태 또는 제1 로봇(1100)의 센싱 값이 제1 로봇(1100)의 제어 조건을 만족하는 경우, 제1 로봇(1100)이 위험 모드에 해당하는 것으로 볼 수 있다. 제1 로봇(1100)이 위험 모드에 해당하는 경우, 제1 로봇(1100)의 구동부의 상태 정보 또는 제1 로봇(1100)이 측정한 센싱 값을 제1 로봇(1100)의 위험 정보로써, 클라우드 서버(1300)로 전송할 수 있다.In step s1010, the first robot 1100 may transmit risk information of the first robot 1100 to the cloud server 1300. According to one embodiment, when the state of the driving unit of the first robot 1100 or the sensing value of the first robot 1100 satisfies the control conditions of the first robot 1100, the first robot 1100 is in a dangerous mode. It can be seen as applicable. When the first robot 1100 is in a risk mode, the status information of the driving unit of the first robot 1100 or the sensing value measured by the first robot 1100 is used as risk information of the first robot 1100 in the cloud. It can be transmitted to the server 1300.

단계 s1020에서, 클라우드 서버(1300)는 제1 로봇(1100)의 위험 정보를 제2 로봇(1200)으로 전송할 수 있다. 단계 s1030에서, 제2 로봇(1200)은 제1 로봇(1100)의 위험 정보에 기초하여, 제1 로봇(1100)의 제어 조건을 변경할 수 있다. 제1 로봇(1100)과 제2 로봇(1200)은 운영 구역(1400)내에 존재하는 위험요소를 공유함으로써, 제어 조건을 운영 구역(1400)에 맞게 변경할 수 있다. 일 실시예에 따라, 제2 로봇(1200)은 안전 분석 프로그램을 업데이트하여 기존의 안전 분석 프로그램과 다르게 제어 조건을 변경할 수 있다. In step s1020, the cloud server 1300 may transmit risk information of the first robot 1100 to the second robot 1200. In step s1030, the second robot 1200 may change the control conditions of the first robot 1100 based on the risk information of the first robot 1100. The first robot 1100 and the second robot 1200 can change the control conditions to suit the operation area 1400 by sharing risk factors existing within the operation area 1400. According to one embodiment, the second robot 1200 may update the safety analysis program to change control conditions differently from the existing safety analysis program.

단계 s1040에서, 제2 로봇(1200)은 변경된 제2 로봇(1200)의 제어 조건을 클라우드 서버(1300)에 전송할 수 있다. 단계 s1050에서, 제1 로봇(1100)은 제2 로봇(1200)이 클라우드 서버(1300)에 전송한 제2 로봇(1200)의 제어 조건을 수신할 수 있다. In step s1040, the second robot 1200 may transmit the changed control conditions of the second robot 1200 to the cloud server 1300. In step s1050, the first robot 1100 may receive the control conditions of the second robot 1200 transmitted by the second robot 1200 to the cloud server 1300.

단계 s1060에서, 제1 로봇(1100)은 변경된 제2 로봇(1200)의 제어 조건을 고려하여, 제1 로봇(1100)의 제어 조건을 변경할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 이미 생성된 제1 로봇(1100)의 제어 조건을 고려하지 않고 수신된 제2 로봇(1200)의 제어 조건에 기초하여, 새로운 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)의 구성 정보, 제2 로봇(1200)의 구성 정보, 제1 로봇(1100)의 제어 조건 및 획득된 제2 로봇(1200)의 제어 조건을 이용하여, 새로운 제1 로봇(1100)의 제어 조건을 결정할 수 있다.In step s1060, the first robot 1100 may change the control conditions of the first robot 1100 by considering the changed control conditions of the second robot 1200. According to one embodiment, the first robot 1100 generates a new first robot 1100 based on the control conditions of the received second robot 1200 without considering the control conditions of the already created first robot 1100. ) control conditions can be created. According to one embodiment, the first robot 1100 includes configuration information of the first robot 1100, configuration information of the second robot 1200, control conditions of the first robot 1100, and the obtained second robot 1200. ), the control conditions of the new first robot 1100 can be determined.

도 11은 본 개시의 일 실시예에 따른, 로봇의 제어 조건을 변경하는 방법을 설명하기 위한 도면이다.Figure 11 is a diagram for explaining a method of changing the control conditions of a robot according to an embodiment of the present disclosure.

단계 s1110에서, 제2 로봇(1200)은 제2 로봇(1200)이 제어 조건을 만족한 경우, 제2 로봇(1200)의 위험 정보를 클라우드 서버로 전송할 수 있다. 예를 들면, 제2 로봇(1200)의 위험 정보는 제2 로봇(1200)의 구동부의 상태 정보 또는 제2 로봇(1200)이 측정한 센싱 값일 수 있다.In step s1110, when the second robot 1200 satisfies the control condition, the second robot 1200 may transmit risk information about the second robot 1200 to the cloud server. For example, the risk information of the second robot 1200 may be status information of the driving unit of the second robot 1200 or a sensing value measured by the second robot 1200.

단계 s1120에서, 제1 로봇(1100)은 클라우드 서버(1300)를 통해 제2 로봇(1200)의 위험 정보를 수신할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 주기적으로 클라우드 서버(1300)에 제2 로봇(1200)의 정보가 전송되었는지 여부를 확인할 수 있다.In step s1120, the first robot 1100 may receive risk information about the second robot 1200 through the cloud server 1300. According to one embodiment, the first robot 1100 may periodically check whether information about the second robot 1200 has been transmitted to the cloud server 1300.

단계 s1130에서, 제1 로봇(1100)은 획득한 제2 로봇(1200)의 위험 정보에 기초하여, 제1 로봇(1100)의 제어 조건을 변경할 수 있다. 제1 로봇(1100)의 제어 조건을 위험 정보들에 기초하여 변경함으로써, 제1 로봇(1100)의 안전 기능을 보다 정확하게 수행할 수 있다.In step s1130, the first robot 1100 may change the control conditions of the first robot 1100 based on the acquired risk information about the second robot 1200. By changing the control conditions of the first robot 1100 based on risk information, the safety function of the first robot 1100 can be performed more accurately.

도 12은 본 개시의 일 실시예에 따른, 로봇의 제어 조건을 변경하는 방법을 설명하기 위한 도면이다.Figure 12 is a diagram for explaining a method of changing the control conditions of a robot according to an embodiment of the present disclosure.

단계 s1210에서, 제2 로봇(1200)은 제2 로봇(1200)이 측정한 센싱 값 또는 제2 로봇(1200)의 제어 조건을 클라우드 서버(1300)로 전송할 수 있다. 일 실시예에 따라, 제2 로봇(1200)은 측정한 센싱 값을 주기적으로 클라우드 서버(1300)에 전송할 수 있다. 일 실시예에 따라, 제2 로봇(1200)은 제2 로봇(1200)의 제어 조건이 변경되는 경우마다 클라우드 서버(1300)에 변경된 제어 조건을 업로드 할 수 있다. In step s1210, the second robot 1200 may transmit the sensing value measured by the second robot 1200 or the control condition of the second robot 1200 to the cloud server 1300. According to one embodiment, the second robot 1200 may periodically transmit the measured sensing value to the cloud server 1300. According to one embodiment, the second robot 1200 may upload the changed control conditions to the cloud server 1300 whenever the control conditions of the second robot 1200 change.

단계 s1220에서, 제1 로봇(1100)은 클라우드 서버(1300)를 통해 제2 로봇(1200)이 측정한 센싱 값 또는 제2 로봇(1200)의 제어 조건을 수신할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 주기적으로 클라우드 서버(1300)에 제2 로봇(1200)의 정보가 업데이트 되었는지 여부를 확인할 수 있다.In step s1220, the first robot 1100 may receive the sensing value measured by the second robot 1200 or the control condition of the second robot 1200 through the cloud server 1300. According to one embodiment, the first robot 1100 may periodically check whether information about the second robot 1200 has been updated in the cloud server 1300.

단계 s1230에서, 제1 로봇(1100)은 획득한 제2 로봇(1200)의 센싱 값 또는 제2 로봇(1200)의 제어 조건에 기초하여, 제1 로봇(1100)의 제어 조건을 변경할 수 있다. 제1 로봇(1100)은 동일 운영 구역(1400) 내에 존재하는 제2 로봇(1200)의 센싱 값 또는 제어 조건을 이용하여 계속적으로 제1 로봇(1100)의 제어 조건을 변경함으로써, 제1 로봇(1100)의 안전 기능을 보다 정확하게 수행할 수 있다.In step s1230, the first robot 1100 may change the control condition of the first robot 1100 based on the acquired sensing value of the second robot 1200 or the control condition of the second robot 1200. The first robot 1100 continuously changes the control conditions of the first robot 1100 using the sensing value or control conditions of the second robot 1200 existing in the same operating area 1400, thereby controlling the first robot (1100). 1100) safety functions can be performed more accurately.

도 13는 본 개시의 일 실시예에 따른, 로봇의 구성에 따른 제어 조건 및 동작을 설명하기 위한 도면이다.FIG. 13 is a diagram for explaining control conditions and operations according to the configuration of a robot, according to an embodiment of the present disclosure.

제1 로봇(1100)은 다양한 형태의 로봇일 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 휠(1141)과 트레이(1143)를 포함하는 서빙 로봇일 수 있다. 제1 로봇(1100)은 운영 구역(1400) 내에서 트레이(1143)를 이용하여, 물건을 운반 하기 위한 용도로 이용될 수 있다. 운영 구역(1400) 내에 여러 서빙 로봇이 동작하는 경우, 서빙 로봇 사이의 위험 충돌 회피가 제일 중요할 수 있다. The first robot 1100 may be of various types. According to one embodiment, the first robot 1100 may be a serving robot including a wheel 1141 and a tray 1143. The first robot 1100 can be used to transport objects using a tray 1143 within the operating area 1400. When multiple serving robots operate within the operating area 1400, avoiding hazardous collisions between serving robots may be of utmost importance.

일 실시예에 따라, 제1 로봇(1100)은 위험 충돌 회피 기능을 위하여, 최대 속도, 주변 물체와의 거리, 운영 구역의 제한 등의 제어 조건을 결정할 수 있다. 제1 로봇(1100)은 운영 구역에 존재하는 다른 로봇의 구성 정보 또는 제어 조건에 기초하여, 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 예를 들면, 제2 로봇(1200)의 최대 속도가 1m/s 이고, 제2 로봇(1200)의 라이다 센서가 주변 물체를 0.1s 마다 측정하는 경우, 제1 로봇(1100)의 라이다 센서가 주변 물체를 0.2s 마다 측정한다면 제1 로봇(1100)의 최대 속도는 1m/s 미만으로 결정될 수 있다.According to one embodiment, the first robot 1100 may determine control conditions such as maximum speed, distance from surrounding objects, and limitations of the operating area for a dangerous collision avoidance function. The first robot 1100 may generate control conditions for the first robot 1100 based on configuration information or control conditions of other robots existing in the operating area. For example, if the maximum speed of the second robot 1200 is 1 m/s and the LiDAR sensor of the second robot 1200 measures surrounding objects every 0.1 s, the LiDAR sensor of the first robot 1100 If the surrounding objects are measured every 0.2 s, the maximum speed of the first robot 1100 can be determined to be less than 1 m/s.

일 실시예에 따라, 제1 로봇(1100)은 운영 구역(1400) 내에 존재하는 장애물 등에 관한 운영 구역 정보에 기초하여 제1 로봇(1100)의 제어 조건을 생성할 수 있다.According to one embodiment, the first robot 1100 may generate control conditions for the first robot 1100 based on operating area information regarding obstacles existing within the operating area 1400.

일 실시예에 따라, 제1 로봇(1100)은 제2 로봇(1200)의 구성 정보, 제2 로봇(1200)의 제어 조건 및 제1 로봇(1100)의 구성 정보에 기초하여 제1 로봇의 운영 구역에 관한 제어 조건을 결정할 수 있다.According to one embodiment, the first robot 1100 operates the first robot based on the configuration information of the second robot 1200, the control conditions of the second robot 1200, and the configuration information of the first robot 1100. Control conditions for the area can be determined.

일 실시예에 따라, 제1 로봇(1100)은 트레이의 높이를 변경할 수 있다. 제1 로봇(1100)은 운영 구역(1400)에 존재하는 다른 로봇들 또는 장애물 등의 위치 또는 높이에 기초하여, 트레이의 높이 변화에 대한 제어 조건을 결정할 수 있다.According to one embodiment, the first robot 1100 can change the height of the tray. The first robot 1100 may determine a control condition for a change in height of the tray based on the positions or heights of other robots or obstacles present in the operating area 1400.

도 14는 본 개시의 일 실시예에 따른, 로봇의 구성에 따른 제어 조건 및 동작을 설명하기 위한 도면이다.FIG. 14 is a diagram for explaining control conditions and operations according to the configuration of a robot, according to an embodiment of the present disclosure.

제1 로봇(1100)은 다양한 형태의 로봇일 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 휠(1141)과 로봇 팔(1142)을 포함하는 가정용 지원 로봇일 수 있다. 제1 로봇(1100)은 운영 구역(1400)을 이동하면서, 로봇 팔(1142)을 이용하여, 사용자에게 편의를 주기 위한 기능을 수행할 수 있다.The first robot 1100 may be of various types. According to one embodiment, the first robot 1100 may be a home support robot including a wheel 1141 and a robotic arm 1142. The first robot 1100 may move around the operating area 1400 and use the robot arm 1142 to perform functions to provide convenience to the user.

일 실시예에 따라, 제1 로봇(1100)은 제2 로봇(1200)의 구성 정보, 제2 로봇(1200)의 제어 조건에 기초하여, 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 예를 들면, 제1 로봇(1100)의 로봇 팔(1142) 길이가 제2 로봇(1200)의 로봇 팔 길이보다 긴 경우, 제1 로봇(1100)의 로봇 팔(1142)이 회전 가능한 각도는 제2 로봇(1200)의 회전 가능 각도 보다 더 작을 수 있다.According to one embodiment, the first robot 1100 may generate control conditions of the first robot 1100 based on configuration information of the second robot 1200 and control conditions of the second robot 1200. . For example, when the length of the robot arm 1142 of the first robot 1100 is longer than the robot arm length of the second robot 1200, the angle at which the robot arm 1142 of the first robot 1100 can rotate is 2 It may be smaller than the rotatable angle of the robot 1200.

일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)의 로봇 팔(1142)의 자유도 와 제2 로봇(1200)의 로봇 팔의 자유도를 비교함으로써, 제1 로봇(1100)의 제어 조건을 생성할 수 있다.According to one embodiment, the first robot 1100 compares the degree of freedom of the robot arm 1142 of the first robot 1100 with the degree of freedom of the robot arm of the second robot 1200, thereby Control conditions can be created.

본 개시의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to an embodiment of the present disclosure may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. Computer-readable media may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for this disclosure or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

본 개시의 일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.  또한, 본 개시의 일부 실시예는 컴퓨터에 의해 실행되는 컴퓨터 프로그램과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품 (computer program product)으로도 구현될 수 있다.Some embodiments of the present disclosure may also be implemented in the form of a recording medium containing instructions executable by a computer, such as program modules executed by a computer. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and non-volatile media, removable and non-removable media. Additionally, computer-readable media may include both computer storage media and communication media. Computer storage media includes both volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery medium. Additionally, some embodiments of the present disclosure may be implemented as a computer program or computer program product that includes instructions executable by a computer, such as a computer program executed by a computer.

기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory storage medium' simply means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as . For example, a 'non-transitory storage medium' may include a buffer where data is temporarily stored.

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

Claims (15)

로봇의 동작을 제어하는 방법에 있어서,
제1 로봇의 운영 구역 중 적어도 일부가 중복되는 운영 구역이 할당된 제2 로봇의 구성 정보 및 상기 제2 로봇의 제어 조건을 외부 서버로부터 획득하되, 상기 제2 로봇의 구성 정보 및 상기 제2 로봇의 제어 조건은 상기 제2 로봇으로부터 상기 외부 서버로 전송되는 것인 단계;
상기 제2 로봇의 구성 정보, 상기 제2 로봇의 제어 조건 및 상기 제1 로봇의 구성 정보에 기초하여, 상기 제1 로봇의 제어 조건을 생성하는 단계;
상기 제1 로봇의 구동부의 동작 상태에 관한 상태 정보 또는 상기 제1 로봇이 주변 환경을 측정함으로써 획득한 센싱 값 중 적어도 하나가 상기 제1 로봇의 제어 조건을 만족하는지 여부를 식별하는 단계; 및
상기 제1 로봇의 제어 조건을 만족하는 것에 기초하여, 상기 제1 로봇의 동작을 제어하는 단계를 포함하는, 방법.
In a method of controlling the movement of a robot,
Configuration information of a second robot and control conditions of the second robot to which an operation zone overlapping at least a portion of the operation zone of the first robot is assigned are obtained from an external server, wherein the configuration information of the second robot and the second robot The control condition is transmitted from the second robot to the external server;
generating control conditions of the first robot based on configuration information of the second robot, control conditions of the second robot, and configuration information of the first robot;
Identifying whether at least one of status information regarding the operating state of the driving unit of the first robot or a sensing value obtained by the first robot by measuring the surrounding environment satisfies a control condition of the first robot; and
A method comprising controlling an operation of the first robot based on satisfying a control condition of the first robot.
제1항에 있어서,
상기 외부 서버로부터 상기 제2 로봇이 측정한 운영 구역 정보를 획득하는 단계를 포함하고,
상기 제1 로봇의 제어 조건을 결정하는 단계는,
상기 제2 로봇의 구성 정보, 상기 제2 로봇의 제어 조건, 상기 제1 로봇의 구성 정보 및 상기 제2 로봇이 측정한 운영 구역 정보에 기초하여, 상기 제1 로봇의 제어 조건을 결정하는 단계를 포함하는 방법.
According to paragraph 1,
Comprising the step of obtaining operating area information measured by the second robot from the external server,
The step of determining the control conditions of the first robot is,
Determining control conditions of the first robot based on configuration information of the second robot, control conditions of the second robot, configuration information of the first robot, and operating area information measured by the second robot. How to include it.
제2항에 있어서, 상기 운영 구역 정보는,
상기 제2 로봇의 운영 구역 중 안전 구역에 관한 정보, 상기 제2 로봇의 운영 구역 중 위험 구역에 관한 정보 또는 상기 운영 구역 내에 존재하는 장애물에 관한 정보 중 적어도 하나를 포함하는 방법.
The method of claim 2, wherein the operating area information is,
A method including at least one of information about a safe area among the operating areas of the second robot, information about a dangerous area among the operating areas of the second robot, and information about obstacles existing within the operating area.
제1항에 있어서, 상기 제1 로봇의 제어 조건을 결정하는 단계는,
상기 제1 로봇의 구성과 상기 제2 로봇의 구성에 포함된 공통 구성을 식별하는 단계; 및
상기 제2 로봇의 구성 정보 중에서 상기 공통 구성에 관한 정보와 상기 제1 로봇의 구성 정보 중에서 상기 공통 구성에 관한 정보에 기초하여, 상기 제2 로봇의 제어 조건을 이용함으로써 상기 제1 로봇의 제어 조건을 결정하는 단계를 포함하는 방법.
The method of claim 1, wherein determining control conditions of the first robot comprises:
identifying a common configuration included in the configuration of the first robot and the configuration of the second robot; and
Based on the information about the common configuration among the configuration information of the second robot and the information about the common configuration among the configuration information of the first robot, control conditions of the first robot are established by using the control conditions of the second robot. A method comprising the steps of determining .
제1항에 있어서, 상기 제1 로봇의 구성 정보는,
라이다 센서, 비전 센서, 초음파 센서 또는 오디오 센서 중 적어도 하나에서 상기 제1 로봇에 포함된 적어도 하나의 센서의 사양에 관한 정보를 포함하는 방법.
The method of claim 1, wherein the configuration information of the first robot is:
A method of including information about the specifications of at least one sensor included in the first robot in at least one of a LiDAR sensor, a vision sensor, an ultrasonic sensor, and an audio sensor.
제1항에 있어서, 상기 제1 로봇의 동작을 제어하는 단계는,
상기 제1 로봇이 정지하도록 제어하는 단계,
상기 제1 로봇이 안전 구역으로 이동하도록 제어하는 단계 또는
상기 제1 로봇에 관한 상태 정보를 외부 디바이스로 전송하도록 제어하는 단계를 포함하는 방법.
The method of claim 1, wherein controlling the operation of the first robot comprises:
Controlling the first robot to stop,
Controlling the first robot to move to a safe area, or
A method comprising controlling to transmit status information about the first robot to an external device.
제1항에 있어서,
상기 제1 로봇의 제어 조건을 만족하는 것에 기초하여, 상기 센싱 값, 상기 구동부의 상태 정보 또는 상기 제1 로봇의 제어 조건 중 적어도 하나를 포함하는 제1 로봇의 위험 정보를 상기 외부 서버로 전송하는 단계;
상기 제1 로봇의 위험 정보에 기초하여 변경된 제2 로봇의 제어 조건을 외부 서버로부터 수신하는 단계; 및
상기 변경된 제2 로봇의 제어 조건에 기초하여, 제1 로봇의 제어 조건을 변경하는 단계를 포함하는, 방법.
According to paragraph 1,
Based on satisfying the control conditions of the first robot, risk information of the first robot including at least one of the sensing value, state information of the driving unit, or control conditions of the first robot is transmitted to the external server. step;
Receiving control conditions of the second robot changed based on the risk information of the first robot from an external server; and
A method comprising changing the control conditions of the first robot based on the changed control conditions of the second robot.
제1 로봇에 있어서,
적어도 하나의 명령어가 포함된 메모리;
센서부;
구동부;
통신부; 및
적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는, 상기 적어도 하나의 명령어를 실행함으로써,
상기 제1 로봇의 운영 구역 중 적어도 일부가 중복되는 운영 구역이 할당된 제2 로봇의 구성 정보 및 상기 제2 로봇의 제어 조건을 외부 서버로부터 획득하되, 상기 제2 로봇의 구성 정보 및 상기 제2 로봇의 제어 조건은 상기 제2 로봇으로부터 상기 외부 서버로 전송되는 것이고,
상기 제2 로봇의 구성 정보, 상기 제2 로봇의 제어 조건 및 상기 제1 로봇의 구성 정보에 기초하여, 상기 제1 로봇의 제어 조건을 생성하고,
상기 제1 로봇의 구동부의 동작 상태에 관한 상태 정보 또는 상기 제1 로봇이 주변 환경을 측정함으로써 획득한 센싱 값 중 적어도 하나가 상기 제1 로봇의 제어 조건을 만족하는지 여부를 식별하고,
상기 제1 로봇의 제어 조건을 만족하는 것에 기초하여, 상기 제1 로봇의 동작을 제어하는, 제1 로봇.
In the first robot,
a memory containing at least one instruction;
sensor unit;
driving part;
Ministry of Communications; and
Contains at least one processor,
The at least one processor executes the at least one instruction,
Configuration information and control conditions of the second robot to which an operating zone overlapping at least a portion of the operating zone of the first robot is assigned are obtained from an external server, wherein the configuration information of the second robot and the second robot are assigned The control conditions of the robot are transmitted from the second robot to the external server,
Generating control conditions for the first robot based on configuration information of the second robot, control conditions of the second robot, and configuration information of the first robot,
Identify whether at least one of status information regarding the operating state of the driving unit of the first robot or a sensing value obtained by the first robot by measuring the surrounding environment satisfies the control conditions of the first robot,
A first robot that controls the operation of the first robot based on satisfying the control conditions of the first robot.
제8항에 있어서, 상기 적어도 하나의 프로세서는,
상기 외부 서버로부터 상기 제2 로봇이 측정한 운영 구역 정보를 획득하고,
상기 제2 로봇의 구성 정보, 상기 제2 로봇의 제어 조건, 상기 제1 로봇의 구성 정보 및 상기 제2 로봇이 측정한 운영 구역 정보에 기초하여, 상기 제1 로봇의 제어 조건을 결정하는, 제1 로봇.
The method of claim 8, wherein the at least one processor:
Obtain operating area information measured by the second robot from the external server,
Determining control conditions of the first robot based on configuration information of the second robot, control conditions of the second robot, configuration information of the first robot, and operating area information measured by the second robot, 1 robot.
제9항에 있어서, 상기 운영 구역 정보는,
상기 제2 로봇의 운영 구역 중 안전 구역에 관한 정보, 상기 제2 로봇의 운영 구역 중 위험 구역에 관한 정보 또는 상기 운영 구역 내에 존재하는 장애물에 관한 정보 중 적어도 하나를 포함하는 제1 로봇.
The method of claim 9, wherein the operating area information is,
A first robot comprising at least one of information about a safe area among the operating areas of the second robot, information about a dangerous area among the operating areas of the second robot, and information about obstacles existing within the operating area.
제8항에 있어서, 상기 적어도 하나의 프로세서는,
상기 제1 로봇의 구성과 상기 제2 로봇의 구성에 포함된 공통 구성을 식별하고,
상기 제2 로봇의 구성 정보 중에서 상기 공통 구성에 관한 정보와 상기 제1 로봇의 구성 정보 중에서 상기 공통 구성에 관한 정보에 기초하여, 상기 제2 로봇의 제어 조건을 이용함으로써 상기 제1 로봇의 제어 조건을 결정하는, 제1 로봇.
The method of claim 8, wherein the at least one processor:
Identifying common configurations included in the configuration of the first robot and the configuration of the second robot,
Based on the information about the common configuration among the configuration information of the second robot and the information about the common configuration among the configuration information of the first robot, control conditions of the first robot are established by using the control conditions of the second robot. The first robot decides.
제8항에 있어서, 상기 제1 로봇의 구성 정보는,
라이다 센서, 비전 센서, 초음파 센서 또는 오디오 센서 중 적어도 하나에서 상기 제1 로봇에 포함된 적어도 하나의 센서의 사양에 관한 정보를 포함하는, 제1 로봇.
The method of claim 8, wherein the configuration information of the first robot is:
A first robot comprising information about the specifications of at least one sensor included in the first robot, from at least one of a LiDAR sensor, a vision sensor, an ultrasonic sensor, and an audio sensor.
제8항에 있어서, 상기 적어도 하나의 프로세서는,
상기 제1 로봇이 정지하도록 제어하거나,
상기 제1 로봇이 안전 구역으로 이동하도록 제어하거나,
상기 제1 로봇에 관한 상태 정보를 외부 디바이스로 전송하도록 제어하는, 제1 로봇.
The method of claim 8, wherein the at least one processor:
Control the first robot to stop, or
Controlling the first robot to move to a safe area,
A first robot that controls to transmit status information about the first robot to an external device.
제8항에 있어서, 상기 적어도 하나의 프로세서는,
상기 제1 로봇의 제어 조건을 만족하는 것에 기초하여, 상기 센싱 값, 상기 구동부의 상태 정보 또는 상기 제1 로봇의 제어 조건 중 적어도 하나를 포함하는 제1 로봇의 위험 정보를 상기 외부 서버로 전송하고,
상기 제1 로봇의 위험 정보에 기초하여 변경된 제2 로봇의 제어 조건을 외부 서버로부터 수신하고,
상기 변경된 제2 로봇의 제어 조건에 기초하여, 제1 로봇의 제어 조건을 변경하는, 제1 로봇.
The method of claim 8, wherein the at least one processor:
Based on satisfying the control conditions of the first robot, risk information of the first robot including at least one of the sensing value, state information of the driving unit, or control conditions of the first robot is transmitted to the external server, ,
Receiving control conditions of the second robot changed based on the risk information of the first robot from an external server,
A first robot that changes the control conditions of the first robot based on the changed control conditions of the second robot.
제1항 내지 제7항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
A computer-readable recording medium on which a program for executing the method of any one of claims 1 to 7 on a computer is recorded.
KR1020220032942A 2022-03-16 2022-03-16 Method and robot for controlling motion of robot KR20230135438A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220032942A KR20230135438A (en) 2022-03-16 2022-03-16 Method and robot for controlling motion of robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220032942A KR20230135438A (en) 2022-03-16 2022-03-16 Method and robot for controlling motion of robot

Publications (1)

Publication Number Publication Date
KR20230135438A true KR20230135438A (en) 2023-09-25

Family

ID=88190555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220032942A KR20230135438A (en) 2022-03-16 2022-03-16 Method and robot for controlling motion of robot

Country Status (1)

Country Link
KR (1) KR20230135438A (en)

Similar Documents

Publication Publication Date Title
US20220194441A1 (en) Method, system and apparatus for self-driving vehicle obstacle avoidance
US11016493B2 (en) Planning robot stopping points to avoid collisions
JP6436604B2 (en) Method and system implemented by a computing system
US11014238B2 (en) Dynamic navigation of autonomous vehicle with safety infrastructure
US11130630B2 (en) Collision prevention for autonomous vehicles
EP3365846B1 (en) Safety system for integrated human/robotic environments
US20200073401A1 (en) System and method for motion control of robots
US9079307B2 (en) Autonomous locomotion apparatus, autonomous locomotion method, and program for autonomous locomotion apparatus
EP3559771B1 (en) Multi-agent coordination under sparse networking
US10915108B2 (en) Robust source seeking and formation learning-based controller
KR20230135438A (en) Method and robot for controlling motion of robot
WO2019104045A1 (en) Collision prevention for autonomous vehicles
US10215852B1 (en) Robotic radar assistance
US20210343091A1 (en) Deported compute for teleoperation and autonomous systems
JP2021165875A (en) Control platform and control method
Binh et al. Deep Learning-Based Object Tracking and Following for AGV Robot
Hodge et al. Analysing Ultra-Wide Band Positioning for Geofencing in a Safety Assurance Context
KR102347560B1 (en) Radio signal transmission device and method for controlling the same
US11358279B2 (en) Method and arrangement for remote control of an environment
KR20230075309A (en) Apparatus and method for controlling a self-driving robot
KR20230077506A (en) System for creating the path of mobility
CN115857437A (en) System and safety guiding robot for evaluating automation environment
Gevatter Pujals Exploració autònoma amb un robot humanoide