KR20230135438A - Method and robot for controlling motion of robot - Google Patents
Method and robot for controlling motion of robot Download PDFInfo
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding 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.
Description
본 개시는 로봇의 동작을 제어하는 방법 및 그 로봇에 관한 것이다. 구체적으로, 본 개시는 다른 로봇의 구성 정보 및 제어 조건에 기초하여, 로봇의 제어 조건을 생성하고, 로봇의 동작 상태에 관한 정보 또는 로봇에 의하여 획득된 센싱 값 중 적어도 하나가 생성된 제어 조건을 만족하는지 여부를 식별하고, 제어 조건을 만족하는 경우에 로봇의 동작을 제어하는 방법 및 그 전자 장치에 관한 것이다.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
본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 제2 로봇(1200)과 각각에 할당된 운영 구역 중 적어도 일부가 동일할 수 있다. 제1 로봇(1100)과 제2 로봇(1200)에 중복하여 할당된 운영 구역(1400)은 장애물(1500)을 포함할 수 있다. 장애물(1500)은 움직이는 동적 장애물이거나 위치가 고정된 고정 장애물일 수 있다. 예를 들면, 동적 장애물은 운영 구역(1400) 내에서 움직이는 사람 또는 다른 로봇 등을 포함할 수 있고, 고정 장애물은 운영 구역(1400)에 배치된 인테리어, 벽, 가구 등을 포함할 수 있다. 운영 구역(1400)은 도 7을 참조하여 후에 보다 상세히 설명한다.According to an embodiment of the present disclosure, the
본 개시의 일 실시예에 따르면, 제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
본 개시의 일 실시예에 따르면, 제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
본 개시의 일 실시예에 따르면, 제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
본 개시의 일 실시예에 따르면, 제1 로봇(1100)과 제2 로봇(1200)은 다양한 기능을 갖는 로봇일 수 있다. 예를 들면, 제1 로봇(1100)과 제2 로봇(1200)은 실내 청소용 로봇 또는 잔디 깎기 로봇 등 업무지원 로봇이거나, 헬스케어 로봇, 휴머노이드 로봇, 보행보조 로봇 등 개인서비스용 로봇일 수 있다. 다만, 이에 제한되지 않고, 여러 기능을 포함하는 종합 로봇일 수 있다.According to an embodiment of the present disclosure, the
본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 클라우드 서버(1300)로부터 안전 기능을 수행하기 위한 안전 분석 프로그램을 다운로드 받을 수 있다. 안전 분석 프로그램은 제2 로봇(1200)이 클라우드 서버(1300)로 전송한 것일 수 있다. 제1 로봇(1100)은 안전 분석 프로그램을 실행함으로써, 제1 로봇(1100)의 구성 정보를 수집하고, 수집된 정보에 기초하여 제1 로봇(1100)의 제어 조건을 생성하고, 제어 조건에 기초하여 제1 로봇(1100)이 동작을 수행하도록 제어할 수 있다. 안전 기능 프로그램은 도 6을 참조하여 후에 보다 상세히 설명한다.According to an embodiment of the present disclosure, the
본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 제어 조건을 생성하고, 복수의 안전 기능을 수행할 수 있다. 예를 들면, 제1 로봇(1100)은 작업 공간 제어, 비상 정지, 보호 정지, 안전 속력 제어, 위험 충돌 회피 등의 안전 기능을 수행할 수 있다. 안전 기능 은 도 8을 참조하여 후에 보다 상세히 설명한다.According to an embodiment of the present disclosure, the
본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 클라우드 서버(1300)로부터 수신된 정보에 기초하여, 생성된 제1 로봇(1100)의 제어 조건을 변경할 수 있다. 여러 실시예에 따라, 제1 로봇(1100)의 제어 조건을 변경하는 방법은 도 10 내지 도 12를 참조하여 후에 보다 상세히 설명한다.According to an embodiment of the present disclosure, the
본 개시의 일 실시예에 따르면, 제1 로봇(1100)은 다양한 구성을 포함할 수 있다. 제1 로봇(1100)이 포함하는 구성에 따라, 생성되는 제어 조건이 변경될 수 있다. 제1 로봇(1100)이 포함하는 구성에 따라 생성되는 제어 조건은 도 13 및 도 14를 참조하여 후에 보다 상세히 설명한다.According to an embodiment of the present disclosure, the
이하 도 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
이하 상기 구성요소들에 대해 차례로 알아본다. Below, we will look at the above components in turn.
프로세서(1110)는 제1 로봇(1100)의 동작을 제어한다. 프로세서(1110)는 메모리(1120)에 저장된 프로그램을 실행함으로써, 센서부(1130), 구동부(1140) 및 통신부(1150)를 제어할 수 있다.The
본 개시의 일 실시예에 의하면, 제1 로봇(1100)은, 인공 지능(AI) 프로세서를 탑재할 수 있다. 인공 지능(AI) 프로세서는, 인공 지능(AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 제1 로봇(1100)에 탑재될 수도 있다.According to an embodiment of the present disclosure, the
본 개시의 일 실시예에 따르면, 프로세서(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
본 개시의 일 실시예에 따라, 프로세서(1110)는, 메모리(1120)에 저장된 안전 분석 프로그램을 실행할 수 있다. 안전 분석 프로그램은 통신부(1150)를 통해 클라우드 서버(1300)로부터 수신될 수 있다. According to an embodiment of the present disclosure, the
메모리(1120)는 제1 로봇(1100)의 동작을 제어하기 위한 애플리케이션을 구성하는 명령어들(instruction)이 저장될 수 있다. 일 실시예에서, 메모리(1120)에는 프로세서(1110)가 판독할 수 있는 명령어들 및 프로그램 코드(program code)가 저장될 수 있다. 이하의 실시예에서, 프로세서(1110)는 메모리(1120)에 저장된 명령어들 또는 프로그램 코드들을 실행함으로써 구현될 수 있다. The
메모리(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
센서부(1130)는 제1 로봇(1100)이 주변 환경을 감지하기 위하여 사용될 수 있다. 도 3을 참조하면, 센서부(1130)는 라이다 센서(1131), 초음파 센서(1132), 적외선 센서(1133), 이미지 센서(1134), 3D 센서(1135), 또는 추락방지 센서(1136) 중 적어도 하나를 포함할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 센서부(1130)를 통해 주변의 물체를 감지하거나, 주변의 환경을 측정하거나, 제1 로봇(1100)의 속도, 가속도 등을 측정할 수 있다. The
구동부(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
통신부(1150)는 제1 로봇(1100)과 클라우드 서버(1300)가 통신을 수행하도록 구성된다. 도 3을 참조하면, 통신부(1150)는 근거리 통신부 및 원거리 통신부(1159) 중 적어도 하나를 포함할 수 있다. The
근거리 통신부(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
일 실시예에서, 근거리 무선 통신 모듈(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-
일 실시예에 따라, 제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
일 실시예에 따라, 블록 체인에 기록하기 위하여 다양한 합의 알고리즘(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
도 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
출력부(1160)는, 정보를 외부로 전달하기 위한 것이다. 출력부(1160)는 디스플레이(1161), 또는 스피커(1162)를 포함할 수 있다. 일 실시예에 따라, 제1 로봇(1100)이 위험 상태인 경우, 디스플레이(1161)를 통해 제1 로봇(1100)이 위험 상태에 있다는 정보를 표시할 수 있다. 일 실시예에 따라, 제1 로봇(1100)이 위험 상태인 경우, 스피커(1162)를 통해 제1 로봇(1100)이 위험 상태에 있다는 소리를 출력할 수 있다.The
입력부(1170)는, 사용자로부터의 입력을 수신하기 위한 것이다. 입력부(1170)는, 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 중 적어도 하나일 수 있으나, 이에 한정되는 것은 아니다.The
이하에서는, 설명의 편의상 제1 로봇(1100)은 로봇 팔과 휠을 포함한 로봇이고, 제2 로봇(1200)은 트레이와 휠을 포함한 로봇인 경우를 예시로 설명하기로 한다.Hereinafter, for convenience of explanation, the
도 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
일 실시예에 따라, 제2 로봇(1200)의 제어 조건은, 제2 로봇(1200)의 속도 제어 조건, 제2 로봇(1200)의 운영 구역 제한, 제2 로봇(1200)의 비상 정지 조건, 제2 로봇(1200)의 보호 정지 조건, 또는 제2 로봇(1200)의 장애물과의 거리 조건을 포함할 수 있으나, 이에 제한되지 않는다. According to one embodiment, the control conditions of the
일 실시예에 따라, 제2 로봇(1200)의 구성 정보는 로봇 팔(robot arm), 휠(wheel), 로봇 다리(robot arm), 또는 트레이(tray)를 포함하는지 여부에 관한 정보를 포함할 수 있다. 일 실시예에 따라, 제2 로봇(1200)의 구성 정보는 제2 로봇(1200)이 포함하는 구성의 스펙을 포함할 수 있다. According to one embodiment, the configuration information of the
일 실시예에 따라, 제2 로봇(1200)이 로봇 팔을 포함하는 경우, 제2 로봇(1200)의 구성 정보는 로봇 팔의 길이, 굵기, 가동 범위, 자유도(DOF, Degrees Of Freedom), 모터 속도 등을 포함할 수 있다. According to one embodiment, when the
일 실시예에 따라, 제2 로봇(1200)이 트레이를 포함하는 경우에 트레이의 개수, 설치된 높이, 트레이의 넓이, 트레이가 이동 가능한지 여부, 또는 트레이가 이동 가능한 영역 등의 정보를 포함할 수 있다. According to one embodiment, when the
일 실시예에 따라, 제2 로봇(1200)이 휠을 포함하는 경우, 제2 로봇(1200)의 구성 정보는 휠의 속도, 휠의 가속도, 또는 휠의 이동 가능 방향에 관한 정보를 포함할 수 있다. According to one embodiment, when the
일 실시예에 따라, 제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
일 실시예에 따라, 운영 구역 정보는 운영 구역(1400) 중 안전 구역에 관한 정보, 운영 구역(1400) 중 위험 구역에 관한 정보, 또는 운영 구역(1400)에 존재하는 장애물(1500)에 관한 정보를 포함할 수 있다. According to one embodiment, the operating area information may be information about a safe zone in the
일 실시예에 따라, 제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
단계 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
일 실시예에 따라, 제1 로봇(1100)의 구성 정보는 로봇 팔(robot arm), 휠(wheel), 로봇 다리(robot arm), 또는 트레이(tray)를 포함하는지 여부에 관한 정보를 포함할 수 있다. 일 실시예에 따라, 제1 로봇(1100)의 구성 정보는 제1 로봇(1100)이 포함하는 구성의 스펙을 포함할 수 있다.According to one embodiment, the configuration information of the
일 실시예에 따라, 제1 로봇(1100)의 제어 조건은, 제1 로봇(1100)의 속도 제어 조건, 제1 로봇(1100)의 운영 구역 제한, 제1 로봇(1100)의 비상 정지 조건, 제1 로봇(1100)의 보호 정지 조건, 또는 제1 로봇(1100)의 장애물과의 거리 조건, 상기 나열된 조건들 중 적어도 하나를 포함할 수 있으나, 이에 제한되지 않는다.According to one embodiment, the control conditions of the
일 실시예에 따라, 제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
단계 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
일 실시예에 따라, 제1 로봇(1100)이 제어 조건을 만족한 것은 위험 상태인 것을 의미할 수 있다. 예를 들면, 제1 로봇(1100)의 현재 속도가 제1 로봇(1100)의 제어 조건의 한계 속도를 초과하는 경우, 제1 로봇(1100)이 제어 조건을 만족하는 것으로 식별될 수 있다.According to one embodiment, the fact that the
단계 s440에서, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 만족하는 것에 기초하여, 제1 로봇(1100)의 동작을 제어할 수 있다. In step s440, the
일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 만족하는 것에 기초하여, 제1 로봇(1100)이 정지하도록 제어할 수 있다.According to one embodiment, the
일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 만족하는 것에 기초하여, 제1 로봇(1100)이 안전 구역으로 이동하도록 제어할 수 있다.According to one embodiment, the
일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 만족하는 것에 기초하여, 제1 로봇(1100)에 관한 상태 정보를 외부 디바이스로 전송하도록 제어할 수 있다. 예를 들면, 제1 로봇(1100)이 제1 로봇(1100)의 상태 정보를 외부 디바이스로 전송함으로써, 사용자는 제1 로봇(1100)의 현재 또는 과거의 상태를 식별할 수 있다.According to one embodiment, the
제1 로봇(1100)이 정지하도록 제어하거나, 안전 구역으로 이동하도록 제어하거나, 제1 로봇(1100)에 관한 상태 정보를 외부 디바이스로 전송하도록 제어하는 것은 둘 이상이 함께 수행될 수 있다.
Controlling the
일 실시예에 따라, 제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
일 실시예에 따라, 제1 로봇(1100)은 변경된 제2 로봇(1200)의 제어 조건을 클라우드 서버(1300)를 통해 수신할 수 있다. 제1 로봇(1100)은 변경된 제2 로봇(1200)의 제어 조건에 기초하여, 제1 로봇(1100)의 제어 조건을 변경할 수 있다.According to one embodiment, the
도 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
단계 s520에서, 제2 로봇(1200)은 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건을 클라우드 서버(1300)로 전송할 수 있다. In step s520, the
단계 s530에서, 제1 로봇(1100)은 클라우드 서버(1300)로부터 제2 로봇(1200)이 전송한 안전 분석 프로그램을 수신할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 수신된 안전 분석 프로그램을 메모리에 저장할 수 있다. 제1 로봇(1100)은 메모리에 저장된 안전 분석 프로그램을 실행함으로써, 안전 기능을 수행하도록 제1 로봇(1100)을 제어할 수 있다. In step s530, the
단계 s540에서, 제1 로봇(1100)은 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건을 수신할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 안전 분석 프로그램을 실행함으로써, 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건을 수신할 수 있다.In step s540, the
일 실시예에 따라, 클라우드 서버(1300)는 제1 로봇(1100)과 제2 로봇(1200)에 중복되는 운영 구역(1400)이 할당된 것을 식별한 경우에만 제2 로봇(1200)의 안전 분석 프로그램, 구성 정보 및 제어 조건을 전송할 수 있다.According to one embodiment, the
단계 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
도 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
안전 분석 프로그램(600)은 통신 제어부(610), 로봇 구성 정보 수집부(620), 고장 모드 데이터베이스(630), 안전 분석 수행부(640) 및 동작 제어부(650)를 포함할 수 있다.The
통신 제어부(610)는 통신부(1150)를 통해 클라우드 서버(1300)와 통신할지 여부를 결정할 수 있다. 통신 제어부(610)는 제1 로봇(1100)이 클라우드 서버(1300)로부터 제2 로봇(1200)의 구성 정보 및 제2 로봇(1200)의 제어 조건을 수신하도록 제어할 수 있다. 통신 제어부(610)는 수신된 정보를 안전 분석 수행부(640)로 전달 할 수 있다.The
로봇 구성 정보 수집부(620)는 제1 로봇(1100)의 구성 정보를 수집할 수 있다. 예를 들면, 로봇 구성 정보 수집부(620)는 로봇 팔, 휠을 포함하는 제1 로봇(1100)의 구성을 식별할 수 있다. 로봇 구성 정보 수집부(620)는 제1 로봇(1100)의 길이, 넓이, 속도 등과 같은 스펙을 식별할 수 있다. 로봇 구성 정보 수집부(620)는 식별된 제1 로봇(1100)의 구성 정보를 안전 분석 수행부(640)로 전달할 수 있다.The robot configuration
고장 모드 데이터베이스(630)는, 센서부(1130), 구동부(1140)의 일반적인 고장 모드에 대한 정보를 저장할 수 있다. 고장 모드 데이터베이스(630)는 안전 분석 수행부(640)가 요구하는 모듈 별 고장 모드를 제공할 수 있다. 고장 모드는 국제 규격 (IEC 61508, ISO 13849 등)의 안전 표준을 포함할 수 있다. 일 실시예에 따라, 고장 모드는 다른 로봇으로부터 획득한 정보를 추가로 저장할 수 있다. The
안전 분석 수행부(640)는, 다른 로봇에서 수행되는 안전 기능의 시스템 구성 요소를 로봇 구성 정보 수집부(620)로부터 수집한 로봇의 구성 요소에 대입하여 로봇의 구성요소에 맞는 안전 기능을 생성한다. 일 실시예에 따라, 제2 로봇(1200)의 구성 정보와 제1 로봇(1100)의 구성 정보를 비교하고, 구성 정보의 차이에 기초하여, 제2 로봇(1200)의 제어 조건을 변경함으로써, 제1 로봇(1100)의 제어 조건을 생성할 수 있다.The safety
일 실시예에 따라, 안전 분석 수행부(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
일 실시예에 따라, 안전 분석 수행부(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
일 실시예에 따라, 안전 분석 수행부(640)는 제2 로봇(1200)의 구동계의 최대 전류 조건, 구동계의 최대 전압 조건 또는 구동계의 최대 속도 등의 제어 조건을 제1 로봇(1100)의 구동계의 스펙에 대응되도록 제1 로봇(1100)의 제어 조건을 생성할 수 있다. According to one embodiment, the safety
동작 제어부(650)는, 제1 로봇(1100)의 구동부(1140)의 동작 상태를 식별하고, 제1 로봇(1100)의 구동부(1140)를 제어할 수 있다. 일 실시예에 따라, 동작 제어부(650)는 제1 로봇(1100)의 구동부(1140)의 동작 상태 (예: 휠의 속도, 로봇 팔의 위치 등)을 획득하고, 제1 로봇(1100)의 제어 조건을 만족하는지 여부를 식별할 수 있다. 일 실시예에 따라, 동작 제어부(650)는 구동부(1140)의 동작 상태가 제1 로봇(1100)의 제어 조건을 만족하는 경우, 구동부(1140)가 소정 동작을 수행하도록 제어할 수 있다. 예를 들면, 제1 로봇(1100)의 휠 속도가 제어 조건의 최대 속도를 초과하는 경우, 동작 제어부(650)는 제1 로봇(1100)이 정지 하도록 제어할 수 있다.The
도 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
안전 구역(1410)은, 제1 로봇(1100)과 제2 로봇(1200)의 안전을 보장할 수 있는 공간일 수 있다. 예를 들면, 제1 로봇(1100)과 제2 로봇(1200)이 운행되지 않는 경우에 대기하는 공간이거나, 제1 로봇(1100)과 제2 로봇(1200)을 충전하는 공간일 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 제어 조건을 만족하는 경우, 제1 로봇(1100)의 동작을 정지하고, 안전 구역(1410)으로 이동할 수 있다.The
위험 구역(1420)은, 제1 로봇(1100)과 제2 로봇(1200)의 안전을 보장할 수 없는 공간일 수 있다. 예를 들면, 제1 로봇(1100)과 제2 로봇(1200)이 이동할 수 없도록 금지된 공간 일 수 있다.The
고정 장애물(1500a)은, 운영 구역(1400)에 존재하는 움직이지 않는 장애물일 수 있다. 예를 들면, 고정 장애물(1500a)은 실내에 설치된 가구, 벽 또는 기둥 등일 수 있다. 일 실시예에 따라, 고정 장애물(1500a)은 시간에 따라 위치가 변경되지 않으므로, 제1 로봇(1100)은 센서부(1130)를 통하여 측정되지 않은 장애물을 고려하여 구동부(1140)의 동작을 제어할 수 있다.The fixed
동적 장애물(1500b)은, 운영 구역(1400)에 존재하는 움직이는 장애물일 수 있다. 예를 들면, 동적 장애물(1500b)은 운영 구역(1400)에 존재하는 다른 로봇이거나, 움직이는 사람 등일 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 센서부(1130)를 통해 측정되지 않은 동적 장애물(1500b)을 고려하여, 동작을 제어할 수 있다.
일 실시예에 따라, 제2 로봇(1200)은 운영 구역(1400)을 측정함으로써, 운영 구역 정보를 획득할 수 있다. 예를 들면, 제2 로봇(1200)은 안전 구역(1410)의 위치, 위험 구역(1420)의 위치, 고정 장애물(1500a)의 위치, 동적 장애물(1500b)의 이동 범위 등을 획득할 수 있다. 제2 로봇(1200)은 측정한 운영 구역 정보를 클라우드 서버(1300)로 전송할 수 있다. 제1 로봇(1100)은 제2 로봇(1200)이 측정한 운영 구역 정보를 클라우드 서버(1300)로부터 획득하여, 제1 로봇(1100)의 제어 조건을 결정할 수 있다.According to one embodiment, the
일 실시예에 따라, 제2 로봇(1200)은 제2 로봇(1200)의 제어 조건을 만족하는 경우, 제어 조건을 만족한 상황에 대한 정보를 클라우드 서버(1300)로 전송할 수 있다. 제1 로봇(1100)은 클라우드 서버(1300)를 통해 제2 로봇(1200)이 전송한 상황에 대한 정보를 수신할 수 있다. 제1 로봇(1100)은 수신된 상황에 대한 정보를 이용하여 제1 로봇(1100)의 제어 조건을 변경할 수 있다.According to one embodiment, when the control conditions of the
도 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
도 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
단계 S920에서, 제1 로봇(1100)은 클라우드 서버(1300)를 통해 제2 로봇(1200)의 구성 정보 및 제어 조건을 획득할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 운영 구역(1400)에 관한 운영 구역 정보도 클라우드 서버(1300)를 통해 수신할 수 있다.In step S920, the
단계 S930에서, 제1 로봇(1100)은 제2 로봇(1200)의 제어 조건, 제2 로봇(1200)의 구성 정보 및 제1 로봇(1100)의 구성 정보에 기초하여 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 운영 구역(1400)에 관한 정보를 포함하여, 제1 로봇(1100)의 제어 조건을 결정할 수 있다.In step S930, the
단계 S940에서, 제1 로봇(1100)은 제1 로봇(1100)의 제어 조건을 만족하는지 여부를 식별할 수 있다. 예를 들면, 제1 로봇(1100)은 구동부의 동작 상태가 제1 로봇(1100)의 제어 조건을 만족하는지 여부를 식별할 수 있다. 만약, 제1 로봇(1100)의 제어 조건을 만족하는 경우에는 단계 S960이 계속되고, 그렇지 않은 경우에는 단계 s950이 계속될 수 있다.In step S940, the
단계 S950에서, 제1 로봇(1100)은 동작을 종료하는지 여부를 식별할 수 있다. 만약, 제1 로봇(1100)의 동작을 종료할 수 있는 경우에는 그대로 동작을 종료할 수 있다. 그렇지 않으면, 단계 s940으로 계속된다. In step S950, the
단계 S960에서, 제1 로봇(1100)은 안전 모드로 변경할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 안전 모드로 변경됨에 따라, 운영 구역 내 안전 구역으로 이동할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 안전 모드로 변경됨에 따라, 정지할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 안전 모드로 변경됨에 따라, 제1 로봇(1100)의 상태 정보를 외부 디바이스로 전송할 수 있다. 예를 들면, 제1 로봇(1100)의 상태 정보는 제1 로봇(1100)이 측정한 센싱값 또는 제1 로봇(1100)의 제어 조건 등을 포함할 수 있다.In step S960, the
도 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
단계 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
단계 s1040에서, 제2 로봇(1200)은 변경된 제2 로봇(1200)의 제어 조건을 클라우드 서버(1300)에 전송할 수 있다. 단계 s1050에서, 제1 로봇(1100)은 제2 로봇(1200)이 클라우드 서버(1300)에 전송한 제2 로봇(1200)의 제어 조건을 수신할 수 있다. In step s1040, the
단계 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
도 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
단계 s1120에서, 제1 로봇(1100)은 클라우드 서버(1300)를 통해 제2 로봇(1200)의 위험 정보를 수신할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 주기적으로 클라우드 서버(1300)에 제2 로봇(1200)의 정보가 전송되었는지 여부를 확인할 수 있다.In step s1120, the
단계 s1130에서, 제1 로봇(1100)은 획득한 제2 로봇(1200)의 위험 정보에 기초하여, 제1 로봇(1100)의 제어 조건을 변경할 수 있다. 제1 로봇(1100)의 제어 조건을 위험 정보들에 기초하여 변경함으로써, 제1 로봇(1100)의 안전 기능을 보다 정확하게 수행할 수 있다.In step s1130, the
도 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
단계 s1220에서, 제1 로봇(1100)은 클라우드 서버(1300)를 통해 제2 로봇(1200)이 측정한 센싱 값 또는 제2 로봇(1200)의 제어 조건을 수신할 수 있다. 일 실시예에 따라, 제1 로봇(1100)은 주기적으로 클라우드 서버(1300)에 제2 로봇(1200)의 정보가 업데이트 되었는지 여부를 확인할 수 있다.In step s1220, the
단계 s1230에서, 제1 로봇(1100)은 획득한 제2 로봇(1200)의 센싱 값 또는 제2 로봇(1200)의 제어 조건에 기초하여, 제1 로봇(1100)의 제어 조건을 변경할 수 있다. 제1 로봇(1100)은 동일 운영 구역(1400) 내에 존재하는 제2 로봇(1200)의 센싱 값 또는 제어 조건을 이용하여 계속적으로 제1 로봇(1100)의 제어 조건을 변경함으로써, 제1 로봇(1100)의 안전 기능을 보다 정확하게 수행할 수 있다.In step s1230, the
도 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
일 실시예에 따라, 제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
일 실시예에 따라, 제1 로봇(1100)은 운영 구역(1400) 내에 존재하는 장애물 등에 관한 운영 구역 정보에 기초하여 제1 로봇(1100)의 제어 조건을 생성할 수 있다.According to one embodiment, the
일 실시예에 따라, 제1 로봇(1100)은 제2 로봇(1200)의 구성 정보, 제2 로봇(1200)의 제어 조건 및 제1 로봇(1100)의 구성 정보에 기초하여 제1 로봇의 운영 구역에 관한 제어 조건을 결정할 수 있다.According to one embodiment, the
일 실시예에 따라, 제1 로봇(1100)은 트레이의 높이를 변경할 수 있다. 제1 로봇(1100)은 운영 구역(1400)에 존재하는 다른 로봇들 또는 장애물 등의 위치 또는 높이에 기초하여, 트레이의 높이 변화에 대한 제어 조건을 결정할 수 있다.According to one embodiment, the
도 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
일 실시예에 따라, 제1 로봇(1100)은 제2 로봇(1200)의 구성 정보, 제2 로봇(1200)의 제어 조건에 기초하여, 제1 로봇(1100)의 제어 조건을 생성할 수 있다. 예를 들면, 제1 로봇(1100)의 로봇 팔(1142) 길이가 제2 로봇(1200)의 로봇 팔 길이보다 긴 경우, 제1 로봇(1100)의 로봇 팔(1142)이 회전 가능한 각도는 제2 로봇(1200)의 회전 가능 각도 보다 더 작을 수 있다.According to one embodiment, the
일 실시예에 따라, 제1 로봇(1100)은 제1 로봇(1100)의 로봇 팔(1142)의 자유도 와 제2 로봇(1200)의 로봇 팔의 자유도를 비교함으로써, 제1 로봇(1100)의 제어 조건을 생성할 수 있다.According to one embodiment, the
본 개시의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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.
상기 외부 서버로부터 상기 제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 로봇의 운영 구역 중 위험 구역에 관한 정보 또는 상기 운영 구역 내에 존재하는 장애물에 관한 정보 중 적어도 하나를 포함하는 방법.
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 로봇의 구성과 상기 제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 로봇에 포함된 적어도 하나의 센서의 사양에 관한 정보를 포함하는 방법.
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 로봇에 관한 상태 정보를 외부 디바이스로 전송하도록 제어하는 단계를 포함하는 방법.
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 로봇의 위험 정보에 기초하여 변경된 제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 로봇의 운영 구역 중 적어도 일부가 중복되는 운영 구역이 할당된 제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.
상기 외부 서버로부터 상기 제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.
상기 제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.
상기 제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.
라이다 센서, 비전 센서, 초음파 센서 또는 오디오 센서 중 적어도 하나에서 상기 제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.
상기 제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.
상기 제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.
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.
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) |
-
2022
- 2022-03-16 KR KR1020220032942A patent/KR20230135438A/en unknown
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 |