Robot, robot operation management device, system including the same, and method thereof
Patent Information
- Application Number
- JP2023204179
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-03
- Filing Date
- 2023-12-01
- Publication Date
- 2025-02-14
AI Technical Summary
【0030】 本発明によるロボット、ロボット動作管理装置、それを含むシステム及びその方法の効果について説明すると、次のとおりである。
Smart Images

Figure 2025022675000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a robot, a robot operation management device, a system including the same, and a method thereof, and more particularly, to a technology for providing information about a robot's operation to a user through a graphic object. [Background technology]
[0002] Robot technology is being used in a variety of industrial fields. Robots used in each industrial field must control a variety of functions, such as service functions, patrol functions, delivery functions, etc. Conventionally, the functions or operations are defined on a source code basis, and the robot is controlled to execute the functions or operations by commands.
[0003] The process of defining the functions or actions of a robot includes the processes of creating a user's source code, building it, simulating it, and testing it on an actual robot. This process can be an inefficient process in terms of distributing and applying the newly defined functions or actions to an actual robot, and there is a limit to a third party's ability to infer the actions of a robot from a user's source code, making it difficult to build a separate simulation environment to test the robot or to apply requirements that require changes to the robot.
[0004] In addition, when an expensive robot needs to be tested, when there is no separate test robot, or when at least one user tests one test robot, a user may transmit an incorrect operation command to the test robot, causing the test robot to break down, or a cooperating user may simultaneously transmit an execution command to the robot, causing an error in the robot. For example, a user may cause an error in the robot by executing a command beyond the physically available angle of the robot arm or executing a command beyond the physically available speed.
[0005] In order to solve these problems, there is a need to develop a technology relating to a robot, a robot operation management device, a system including the same, and a method thereof that provides information about the robot's operation to a user through a graphic object. Summary of the Invention [Problem to be solved by the invention]
[0006] An embodiment of the present invention aims to provide a robot, a robot action management device, a system including the same, and a method thereof that can generate and modify target actions related to the robot action, thereby controlling the robot action based on the action unit for each module attached to the robot instead of controlling the robot action on a source code basis, and provide convenience and efficiency to a developer or user in the process of controlling the robot action.
[0007] In addition, the embodiments of the present invention aim to provide a robot, a robot action management device, a system including the same, and a method thereof, which can minimize the need for test robots and reduce robot development costs by verifying target actions against graphic objects corresponding to the robot, ensure the safety of test robots through simultaneous execution by multiple developers or users, and provide convenient usability to developers or users.
[0008] In addition, an embodiment of the present invention aims to provide a robot, a robot operation management device, a system including the same, and a method thereof that can ensure the stability of a test robot as well as the speed of reflecting a user's correction request in real time to the robot by linking an engine that interprets operation data and operations, rather than code reflected in the robot after building source code, by performing a safety effectiveness test on modules attached to the robot.
[0009] The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the following description. [Means for solving the problem]
[0010] A robot operation management device according to an embodiment of the present invention includes a memory storing computer-executable instructions; and at least one processor accessing the memory and executing the instructions, wherein the at least one processor sets driving times of at least one module included in a target operation among a plurality of operations classified as driving of at least one module included in a robot, sets driving options of the at least one module for which the driving times are set, verifies the target operation through a simulation of a graphic object corresponding to the robot, and transmits the verified target operation to the control server via the communication unit so that the verified target operation is applied to the robot.
[0011] In one embodiment, the at least one processor may set an operating time of at least one module included in the different operation and set an operating option of at least one module included in the different operation based on a case where an operation different from the target operation is added to an operation list including the target operation.
[0012] In one embodiment, the at least one processor may provide information regarding an action corresponding to each of a plurality of execution instructions for applying an action different from the target action to the robot based on a case where there are a plurality of execution instructions.
[0013] In one embodiment, the at least one processor can acquire raw data of the target action based on a first input from a user, and reflect the modification to the target action based on a case in which at least one of a first element related to a driving time, a second element related to a driving option, or a combination thereof, included in the raw data is modified.
[0014] In one embodiment, the at least one processor may verify whether raw data of the target action satisfies a data standard based on a second input from a user, transmit the target action to the control server via the communication unit based on a case in which the raw data satisfies the data standard, and provide a predetermined notification to the user based on a case in which the raw data does not satisfy the data standard.
[0015] In one embodiment, the at least one processor may receive, from the control server via the communication unit, an alternative action that corresponds to the target action among the actions stored in the control server and is stored at the closest point in time based on the point in time when the third input was received, based on a third input from a user, and replace the target action with the alternative action.
[0016] In one embodiment, the at least one processor may transmit an execution command to the control server based on a fourth input from a user so that the target action transmitted to the control server is applied to the robot.
[0017] A robot operation management system according to an embodiment of the present invention includes a robot operation management device; a control server; and a robot receiving commands from the control server, wherein the robot operation management device sets driving times of at least one module included in a target operation among a plurality of operations classified as driving of at least one module included in the robot, sets driving options of the at least one module for which the driving times are set, verifies the target operation through a simulation of a graphic object corresponding to the robot, and transmits the verified target operation to the control server so that the verified target operation is applied to the robot, and the control server transmits an execution command to the robot based on the verified target operation received from the robot operation management device.
[0018] In one embodiment, the control server performs a safety validity check on at least one module attached to the robot based on receiving the verified target action from the robot operation management device, and processes the execution command by referring to a waiting queue based on receiving an execution command for applying the target action to the robot, and the robot can respond to the processed execution command and apply the target action to the at least one module.
[0019] In one embodiment, the safety validity check may include at least one of a validity check on the position of the module, a validity check on the velocity of the module, a validity check on the torque of the module, a validity check on the acceleration of the module, or a combination thereof, based on when the received target motion is applied to at least one or more modules included in the robot.
[0020] In one embodiment, the control server may determine whether the received target operation uses a drive system including a servo motor for driving the at least one module, obtain a threshold for the safety effectiveness check based on whether the received target operation uses the drive system, and perform the safety effectiveness check by comparing the obtained threshold with a drive option included in the received target operation.
[0021] In one embodiment, the control server may transmit a notification providing command to the robot operation management device so that the robot operation management device provides a predetermined notification to a user when at least one of the driving options included in the received target operation is greater than the acquired threshold value.
[0022] In one embodiment, the control server may store the target action in a storage unit of the control server based on whether a safety validity check for at least one module attached to the robot is passed.
[0023] In one embodiment, the control server can insert the execution command into the waiting queue based on whether an action related to a preceding execution command preceding the execution command is being applied to the robot, and can process the first execution command among the execution commands inserted into the waiting queue based on whether the preceding execution command has ended.
[0024] In one embodiment, the control server can process the execution command based on whether the robot is in an execution standby state.
[0025] A robot according to an embodiment of the present invention may obtain information regarding at least one module included in a target operation related to an execution command received from a control server, and may check whether the at least one module is a module attached to the robot.
[0026] In one embodiment, based on the case where the at least one or more modules included in the target motion are modules attached to the robot, a second time point subsequent to a first time point at which information about the at least one or more modules included in the target motion is acquired is set, a standby command for setting the at least one or more modules in a standby mode from the first time point to the second time point is transmitted to the at least one or more modules, and the target motion can be applied to the at least one or more modules from the second time point.
[0027] In one embodiment, a third time point different from the first time point and the second time point is set to indicate an end time point of the target action, and a state of the robot to which the target action is applied is acquired based on a predetermined clock from the second time point, and the target action applied to the at least one module can be terminated based on at least one of the following: the robot's state is an end state, the time when the time to acquire the robot's state exceeds the third time point, or a combination thereof.
[0028] A robot motion management method according to an embodiment of the present invention may include an operation of setting, by a robot motion management device, an operation of at least one module included in a target motion among a plurality of motions classified as operations of at least one module included in a robot; an operation of setting, by the robot motion management device, an operation of setting an operation option of the at least one module for which the operation time is set; an operation of verifying, by the robot motion management device, the target motion through a simulation of a graphic object corresponding to the robot; an operation of transmitting, by the robot motion management device, the verified target motion to a control server so that the verified target motion is applied to the robot; and an operation of transmitting, by the control server, an execution command to the robot based on the verified target motion received from the robot motion management device.
[0029] In one embodiment, the method may further include an operation of performing a safety validity check on at least one module attached to the robot based on receiving the verified target action from the robot operation management device, by the control server; an operation of processing the execution command by referring to a waiting queue based on receiving an execution command for applying the target action to the robot, by the control server; and an operation of applying the target action to the at least one module by the robot in response to the processed execution command. Effect of the Invention
[0030] The advantages of the robot, the robot operation management device, the system including the same, and the method thereof according to the present invention will be described below.
[0031] According to at least one embodiment of the present invention, by generating and modifying a target action related to the robot's action, instead of controlling the robot's action on a source code basis, the robot's action can be controlled based on the action unit for each module attached to the robot, thereby providing convenience and efficiency to a developer or user in the process of controlling the robot's action.
[0032] In addition, according to at least one embodiment of the present invention, by verifying a target action for a graphic object corresponding to a robot, the need for test robots can be minimized, thereby reducing robot development costs, and the safety of test robots can be guaranteed through simultaneous execution by multiple developers or users, thereby providing convenient usability to developers or users.
[0033] In addition, according to at least one embodiment of the present invention, by performing a safety effectiveness test on a module attached to a robot, it is possible to have an effect of ensuring the stability of a test robot as well as the speed with which a user's request for correction can be reflected in the robot in real time by linking an engine that interprets operation data and operations, rather than code reflected in the robot after building source code.
[0034] In addition, various other effects may be provided that can be grasped directly or indirectly through this document. [Brief description of the drawings]
[0035] [Figure 1] 1 is a diagram showing a robot operation management device according to an embodiment of the present invention; [Diagram 2] 1 is a flow chart illustrating a robot operation management method according to an embodiment of the present invention; [Diagram 3] FIG. 1 illustrates a robot motion management system according to an embodiment of the present invention. [Figure 4] FIG. 1 illustrates a robot motion management system according to an embodiment of the present invention. [Diagram 5] FIG. 2 is a diagram showing a screen provided to a user in a robot operation management device according to an embodiment of the present invention. [Figure 6] FIG. 11 is a diagram showing an example of raw data of a target operation in a robot operation management device according to an embodiment of the present invention. [Figure 7] 1 is a flowchart illustrating a method in which a control server performs a safety validity check on a robot module in a robot operation management system according to an embodiment of the present invention. [Figure 8] 1 is a flowchart showing a method in which a control server processes an execution command in a robot operation management system according to an embodiment of the present invention. [Figure 9] FIG. 11 is a diagram showing a method in which a control server inserts an execution command into a waiting queue in a robot operation management system according to an embodiment of the present invention. [Figure 10]1 is a flowchart illustrating a method in which a robot applies a target action to a module in a robot action management system according to an embodiment of the present invention. [Figure 11] FIG. 2 is a diagram illustrating operations stored in a storage unit of a control server in a robot operation management system according to an embodiment of the present invention. [Figure 12] 1 is a diagram illustrating a computing system relating to a robot, a robot operation management device, a system including the same, and a method thereof according to an embodiment of the present invention.
[0036] In connection with the description of the drawings, the same or similar reference numbers may be used for the same or similar components. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0037] Some embodiments of the present invention will be described in detail with reference to the drawings. When attaching reference numerals to components in each drawing, attention should be paid to using the same numerals to the same components as much as possible, even if they are displayed in different drawings. In addition, when describing the embodiments of the present invention, if a detailed description of related known configurations or functions is deemed to hinder understanding of the embodiments of the present invention, the detailed description will be omitted. In particular, various embodiments of the present document will be described with reference to the accompanying drawings. However, this is not intended to limit the technology described in this document to a specific embodiment, and should be understood to include various modifications, equivalents, and / or alternatives of the embodiments of the present document. In connection with the description of the drawings, similar reference numerals may be used for similar components.
[0038] In describing components of the embodiments of the present invention, terms such as first, second, A, B, (a), and (b) may be used. Such terms are used to distinguish the components from other components, and do not limit the nature, order, or sequence of the components. In addition, unless otherwise defined, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by a person having ordinary skill in the art to which the present invention belongs. Terms similar to those defined in commonly used dictionaries should be interpreted as meanings consistent with the meanings they have in the context of the related art, and unless otherwise clearly defined in this application, they should not be interpreted in an idealized and overly formal sense. For example, expressions such as "first," "second," "primary," or "secondary" used in this document may modify various components regardless of order and / or importance, and are used only to distinguish one component from other components, and do not limit the components. For example, a first user device and a second user device may indicate different user devices regardless of order or importance. For example, a first component may be named a second component, and similarly, a second component may be named in place of the first component, without departing from the scope of the claims set forth herein.
[0039] In this document, the terms "have," "may have," "include," or "may include" indicate the presence of a given feature (e.g., a value, a function, an operation, or a component such as a module) and do not exclude the presence of additional features.
[0040] When a component (e.g., a first component) is referred to as being "operatively or communicatively coupled with / to" or "connected to" another component (e.g., a second component), it should be understood that the component may be directly coupled to the other component or may be coupled through another component (e.g., a third component). On the other hand, when a component (e.g., a first component) is referred to as being "directly coupled" or "directly connected to" another component (e.g., a second component), it should be understood that there is no other component (e.g., a third component) between the component and the other component.
[0041] As used in this document, the expression "configured to" may be used alternatively with, for example, "suitable for," "having the capacity to," "designed to," "adapted to," "made to," or "capable of," depending on the context.
[0042] The term "configured to" does not necessarily mean "specifically designed to" hardware. Instead, depending on the context, the phrase "apparatus configured to" may mean that the apparatus is capable of performing, together with other apparatus or components. For example, the phrase "a processor configured to perform A, B, and C" may mean a dedicated processor (e.g., an embedded processor) for performing the operations, or a generic-purpose processor (e.g., a CPU or application processor) that can perform the operations by executing one or more software programs stored in a memory device. Terms used in this document are merely used to describe certain embodiments and may not be intended to limit the scope of other embodiments. A singular expression may include a plural expression unless the context clearly dictates otherwise. Terms used herein, including technical and scientific terms, may have the same meaning as commonly understood by a person of ordinary skill in the art described in this document. Among the terms used in this document, terms defined in a general dictionary may be interpreted as meanings identical or similar to those in the context of the relevant art, and unless expressly defined in this document, they are not interpreted as ideal and overly formal. In some cases, even if a term is defined in this document, it cannot be interpreted as excluding the embodiment of this document.
[0043] In this document, expressions such as "A or B," "at least one of A and / or B," or "one or more of A and / or B" may include all possible combinations of the items listed together. For example, "A or B," "at least one of A and B," or "at least one of A or B" may refer to all cases including (1) at least one A, (2) at least one B, or (3) both at least one A and at least one B. In addition, in describing components of the embodiments of the present invention, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B, or C," "at least one of A, B, or C," and "at least one of A, B, C, or a combination thereof" may include any one of the items listed together in the phrase, or all possible combinations thereof. In particular, a phrase such as "at least one of A, B, C, or a combination thereof" may include A, B, or C, or a combination thereof, such as AB or ABC.
[0044] Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.
[0045] FIG. 1 is a diagram showing a robot operation management device according to an embodiment of the present invention.
[0046] The robot operation management device 100 according to an embodiment may include a processor 110 , a memory 120 including an instruction word 122 , an input unit 130 , an output unit 140 , and a communication unit 150 .
[0047] The robot operation management device 100 may represent an apparatus that generates or modifies the operation of a robot based on a timeline based on a user's input or a predetermined method without directly modifying a source code. For example, the robot operation management device 100 may set a target operation among a plurality of operations classified as driving at least one or more modules included in the robot. The at least one or more modules included in the robot may include at least one of a neck module, a moving module, a right arm module, a left arm module, an upper lighting module, a lower lighting module, a sound module, a text to speech (tts) module, an upper screen, a middle screen, a lower screen, or a combination thereof. In this specification, for convenience of explanation, the modules included in the robot are mainly described as examples of the above-mentioned modules, but are not limited thereto. For example, at least one module included in the robot may include various modules for driving the robot.
[0048] The target motion may include a drive time and a drive option. For example, the drive time may indicate a drive time of at least one or more modules included in the robot. The drive option may indicate a drive method or behavior of at least one or more modules included in the robot. Taking the right arm module attached to the robot as an example, the drive option of the right arm module may include at least one of a control direction option (e.g., up or down), a speed option (e.g., 0.1 m / s), an angle option (e.g., 30 degrees), a start time option, a duration option, or a combination thereof.
[0049] The robot operation management device 100 may set the driving time of at least one module included in the target operation, and may set the driving option of at least one module for which the driving time has been set. However, the method of setting the driving option of at least one module is not limited thereto. For example, the robot operation management device 100 may simultaneously set the driving time and the driving option of at least one module included in the target operation, or may set the driving time after first setting the driving option.
[0050] The robot operation management apparatus 100 may verify a target motion through a simulation of a graphic object corresponding to a robot. For example, the robot operation management apparatus 100 may provide a graphic object corresponding to a robot to a user through the output unit 140. The user may transmit a simulation request for the provided graphic object to the robot operation management apparatus 100 through the input unit 130. The robot operation management apparatus 100 may perform a simulation of the graphic object corresponding to the robot in response to the user's simulation request. The simulation of the graphic object may include a process of providing a result regarding the target motion when the target motion is applied to the robot. For example, the simulation of the graphic object may include a simulation of at least one of a predicted movement of the robot, a color of at least one module attached to the robot, a sound of at least one module attached to the robot, or a combination thereof. The robot operation management apparatus 100 may verify a target motion through a simulation of a graphic object corresponding to a robot (i.e., a virtual robot) without a separate simulation of the target motion for a test robot (i.e., an actual robot).
[0051] The robot operation management device 100 may transmit the verified target motion to the control server 160 via the communication unit 150 so that the verified target motion may be applied to the robot. The process of applying the target motion to the robot may include a process of applying a driving time and a driving option included in the target motion generated by the robot operation management device 100 to the robot, and causing the robot to perform the target motion. A detailed description of applying the target motion to the robot will be given later with reference to FIGS. 7 to 10.
[0052] The processor 110 can execute software and control at least one other component (e.g., a hardware or software component) coupled to the processor 110. The processor 110 can also perform various other data processing or calculations. For example, the processor 110 can store at least one of driving time, driving options, target operations, raw data, or a combination thereof in the memory 120. For reference, the processor 110 can perform all operations performed by the robot operation management device 100. Therefore, in this specification, for convenience of explanation, the operations performed by the robot operation management device 100 will be mainly described as operations performed by the processor 110.
[0053] In addition, for convenience of explanation, the processor 110 is mainly explained as one processor in this specification, but is not limited thereto. For example, the robot operation management device 100 may include at least one or more processors. Each of the at least one or more processors can perform all operations related to the operation of the robot operation management device 100 that performs robot operation management.
[0054] The memory 120 may temporarily and / or permanently store various data and / or information required for robot operation management, such as at least one of drive time, drive options, target operations, raw data, or a combination thereof.
[0055] The input unit 130 may be configured to acquire user data. For example, the input unit 130 may acquire content of generation or modification of a target motion to be applied to the robot as user data. However, the invention is not limited to the above embodiment, and the input unit 130 may acquire data in various formats as user data. For example, the input unit 130 may acquire data directly input by a user as user data. The input unit 130 may include at least one of a camera, a microphone, a touch panel, or a combination thereof in order to acquire various external inputs.
[0056] The output unit 140 may output a graphic object for the modification of the target motion applied to the robot. In this case, the output output through the output unit 140 may be in various forms. For example, the output output through the output unit 140 may include at least one of a graphic object output, a plurality of object outputs for modifying the target motion, or a combination thereof. The display may be configured to output the result of the user data acquired through the input unit 130 as an image. The output unit 140 may include a display, for example. The display may output a graphic object for expressing the modification of the target motion applied to the robot. That is, when it is desired to output the motion of the robot in response to the user data acquired through the input unit 130, the motion of the robot in response to the user data may be output through a graphic object displayed on the display. Meanwhile, the display for providing various images may be embodied as a display panel of various forms. For example, the display panel may be implemented using various display technologies such as Liquid Crystal Display (LCD), Organic Light Emitting Diodes (OLED), Active-Matrix Organic Light-Emitting Diode (AM-OLED), Liquid Crystal on Silicon (LcoS), or Digital Light Processing (DLP).
[0057] The communication unit 150 may support communication between the robot operation management device 100 and the control server 160. For example, the communication unit 150 may include one or more components that enable communication between the robot operation management device 100 and the control server 160. For example, the communication unit 150 may include a short range wireless communication unit, a microphone, etc. In this case, the short range communication technology may include, but is not limited to, wireless LAN (Wi-Fi), Bluetooth, ZigBee, Wi-Fi Direct (WFD), ultra-wideband (UWB), infrared data association (IrDA), Bluetooth Low Energy (BLE), near field communication (NFC), etc.
[0058] FIG. 2 is a flow chart illustrating a robot operation management method according to an embodiment of the present invention.
[0059] In step S210, a robot motion management device (e.g., the robot motion management device 100 of FIG. 1) may set the driving time of at least one module included in a target motion among a plurality of motions classified as driving of at least one module included in a robot.
[0060] In step (S220), the robot motion management device may set driving options of at least one module for which a driving time is set. For example, the robot motion management device may generate or modify a robot's motion without directly modifying a source code related to the robot's motion by setting a driving time and driving options based on a user's input. For reference, the robot motion management device may generate or modify a source code (e.g., raw data) related to the robot's motion by generating or modifying the robot's motion. A detailed description of raw data will be provided below with reference to FIG. 6.
[0061] In step S230, the robot operation management device may verify the target motion through a simulation on a graphic object corresponding to the robot. For example, in relation to the verification of the target motion, the verification of the target motion may include a first verification and a second verification. The first verification may be a verification in which the robot operation management device applies the target motion to a graphic object corresponding to the robot. The robot operation management device may perform the first verification to provide the user with a situation in which the target motion is applied to the robot through the graphic object. Differently, the second verification may be a verification in which the robot operation management device verifies whether raw data related to the robot's motion satisfies a data standard. The robot operation management device may perform the second verification to provide the user with information regarding suitability of the raw data before the target motion is applied to the robot. That is, the user generates or modifies the robot's motion based on the timeline through an input to the robot operation management device without directly generating or modifying source code (e.g., raw data) related to the target motion. Therefore, the robot operation management device performs verification (that is, second verification) as to whether the target operation is generated or corrected according to the user's input or a predetermined method in a manner appropriate for the raw data.
[0062] In step S240, the robot operation management device may transmit the verified target motion to a control server (e.g., the control server 160 in FIG. 1) so that the verified target motion is applied to the robot. Thereafter, the control server may transmit an execution command to the robot based on the verified target motion received from the robot operation management device. The control server may perform a safety validity check on at least one module attached to the robot based on receiving the verified target motion from the robot operation management device. A detailed method of the control server performing the safety validity check will be described below with reference to FIG. 7. Based on receiving the execution command for applying the target motion to the robot, the control server may process the execution command by referring to a waiting queue. A detailed method of the control server processing the execution command will be described below with reference to FIG. 8 to FIG. 9. The robot may apply the target motion to at least one module in response to the processed execution command. A detailed method of the robot responding to the processed execution command will be described below with reference to FIG. 10.
[0063] 3 and 4 are diagrams illustrating a robot operation management system according to one embodiment of the present invention.
[0064] Referring to FIG. 3, a system according to an embodiment of the present invention may include a robot operation management device 300, a control server 310, and a robot 320.
[0065] The robot operation management device 300 may be the same as the robot operation management device described in FIG. 1. In other words, the robot operation management device 300 may set the driving time of at least one or more modules included in a target operation among a plurality of operations classified as driving of at least one or more modules included in the robot, set the driving option of at least one or more modules for which the driving time is set, verify the target operation through a simulation of a graphic object corresponding to the robot, and transmit the verified target operation to the control server 310 so that the verified target operation is applied to the robot 320. The robot operation management device 300 may communicate with the control server 310. The robot operation management device 300 may transmit at least one of a target operation, an alternative operation, an execution command, a notification providing command, or a combination thereof to the control server 310. However, in FIG. 3 and FIG. 4, for convenience of explanation, the robot operation management device 300 is shown to communicate with the control server 310, but is not limited thereto. For example, the robot operation management device 300 may skip the control server 310 and directly transmit at least one of a target operation, an alternative operation, an execution command, a command to provide a notification, or a combination thereof to the robot 320.
[0066] The control server 310 may transmit an execution command to the robot 320 based on the verified target action received from the robot operation management device 300. For example, the control server 310 may perform a safety validity check on at least one module attached to the robot 320 based on receiving the verified target action from the robot operation management device 300. In addition, the control server 310 may process the execution command by referring to a waiting queue based on receiving an execution command for applying the target action to the robot 320. The control server 310 may transmit at least one of a target action, an execution command, a waiting command, an end command, or a combination thereof to the robot 320.
[0067] The robot 320 can apply a target action to at least one or more modules in response to the execution command processed by the control server 310. For example, based on the control server 310 receiving the verified target action from the robot action management device 300, the robot 320 can apply the target action to at least one or more modules in response to the finally processed execution command through a safety validity check for the module related to the target action and a waiting queue reference including an execution command related to application of the target action.
[0068] Referring to FIG. 4, a system according to an embodiment of the present invention may include a robot operation management device 400, a control server 410, a second control server 415, and a robot 420.
[0069] The robot operation management device 400 can generate or modify a target operation, perform a simulation on a graphic object corresponding to the robot to verify the target operation, and generate an execution command. For example, the robot operation management device can transmit the generated or modified target operation to the control server 410 through an application program interface (API) of the control server 410. Also, the robot operation management device 400 can transmit an execution command for applying the target operation to the robot 420 to the control server 410 through a representational state transfer (REST) application program interface of the control server 410.
[0070] The second control server 415 may represent a control server that automatically schedules the execution command to be transmitted or processed. For example, the second control server 415 may generate an execution command that is the same as the execution command transmitted by the robot operation management device 400 to the control server 410, and transmit the execution command to the control server 410. The second control server 415 may transmit an execution command for applying a target operation to the robot 420 to the control server 410 through a rest application program interface of the control server 410, similar to the robot operation management device 400. Here, the second control server 415 may represent a control server that is different from the control server 410 and performs execution commands and scheduling regarding the execution commands. In summary, the control server 410 can receive execution commands from at least one of the robot operation management device 400 and the second control server 415 through execution commands received from the robot operation management device 400 via user input or a predetermined method (i.e., a passive command) and execution commands received via scheduling from the second control server 415 (i.e., an automatic command).
[0071] The control server 410 may process (e.g., perform a safety validity check or schedule) an execution command based on a target action received from the robot operation management device 400, and then transmit the execution command to the robot 420. For example, the control server 410 may perform a safety validity check on at least one module attached to the robot 420 based on receiving the target action. The control server 410 may store the target action in the storage unit based on a case where the received target action passes a safety validity check on at least one module attached to the robot 420. For reference, an example of the target action stored in the storage unit will be described in detail below with reference to FIG. 11. The control server 410 may ensure the safety of data before the target action is applied to the robot 420 through a safety validity check on at least one module related to the target action received from the robot operation management device 400.
[0072] The control server 410 may process the execution command by referring to a waiting queue upon receiving an execution command for applying a target operation to the robot 420 from at least one of the robot operation management device 400 or the second control server 415. The control server 410 may prevent the robot 420 from being exposed to danger of simultaneous execution by multiple users or developers in a first-come, first-served manner by separately managing at least one or more various commands such as an execution command.
[0073] The control server 410 may process the execution command by referring to the waiting queue, and then transmit the target action and the execution command for the target action to the robot 420 through the transmission filter module. For example, the control server 410 may transmit the execution command when the ID of the target action exists in the storage unit as a result of checking the ID of the target action by the transmission filter module. The control server 410 may transmit the target action and the execution command for the target action through the transmission filter module to the robot 420 through an open source solution in the form of middleware such as kafka (Apache Kafka). However, the method of transmitting the target action and the execution command for the target action to the robot 420 is not limited thereto. For example, the control server 410 may transmit the target action and the execution command for the target action through the transmission filter module to the robot 420 through an open source solution in the form of middleware such as gRPC (general-purpose Remote Procedure Call), REST-API, WebRTC (Web Real-Time Communication), and MQTT (Message Queuing Telemetry Transport).
[0074] In response to receiving the execution command processed by the control server 410, the robot 420 can apply a target action to at least one or more modules (e.g., TTS, LED, ARM, GUI, SOUND, and NAVI in FIG. 4) attached to the robot 420. For example, the robot 420 can apply a target action to at least one or more modules through an execution engine based on a result obtained by interpreting the execution command. The robot 420 interprets the execution command and transmits a command to apply the target action through a Robot Operating System (ROS) channel of each module through the execution engine. The execution engine of the robot 420 can transmit a command to each module to operate the module together with a set operation option by referring to a time value (startAt, duration) of the module included in the target action. A detailed method of the robot 420 applying a target action to at least one module will be described below with reference to FIG. 10.
[0075] FIG. 5 is a diagram showing a screen provided to a user in a robot operation management device according to an embodiment of the present invention.
[0076] A robot operation management device (e.g., the robot operation management device 100 of FIG. 1) may provide a screen 501 to a user or developer through an output unit (e.g., the output unit 140 of FIG. 1). In addition, the robot operation management device may acquire modification content of a target operation applied to a robot by a user or developer as user data through an input unit (e.g., the input unit 130 of FIG. 1). The robot operation management device may generate or modify a target operation based on the acquired user data. Therefore, the roles of a plurality of graphic objects included in the screen 501 provided to a user or developer to acquire user data will be described in detail below.
[0077] The graphic object 503 may represent an object related to a target motion among a plurality of motions classified as the driving of at least one module included in the robot. For example, the target motion may include a robot module for which a driving time and a driving option are set. That is, the target motion may include information in which a robot module and information related to driving (e.g., driving time and driving option) are paired.
[0078] The graphic object 505 may show an object related to the driving time of at least one or more modules included in a target action among a plurality of actions classified as driving of at least one or more modules included in a robot. For example, the robot action management device may set the driving time of at least one of the modules included in the robot in a timeline based on a user's input. The robot action management device may provide the driving time with the timeline set to a user or developer via a screen 501 for each module.
[0079] The graphic object 507 may represent an object related to an action list including the target action. For example, the robot action management device may store the target action in the action list as a first behavior as shown in FIG. 5. Also, the robot action management device may store actions (e.g., a second behavior and a third behavior) different from the target action (i.e., a first behavior) in the action list. The robot action management device may set the driving time of at least one module included in the different action and set the driving option of at least one module included in the different action based on a case where an action different from the target action is added to the action list including the target action. Also, the robot action management device may provide information about actions corresponding to each of a plurality of execution commands through an execution waiting list based on a case where there are a plurality of execution commands for applying an action different from the target action to the robot.
[0080] The graphic object 509 may show an object related to the driving options of at least one module for which a driving time is set. For example, as shown in Fig. 5, the driving options of the right arm module (ARM_RIGHT) among the modules attached to the robot may include the options {'angle': 30, 'speed': 2.4, 'direction': up}.
[0081] The graphic object 511 may represent an object related to obtaining raw data of a target motion based on a first input by a user. The robot motion management device may output the raw data of the target motion as a graphic object 513 based on an input to the graphic object 511 by a user as a first input.
[0082] The graphic object 513 may represent an object related to raw data of a target motion. The raw data may represent a source code of information paired with a robot module and information related to driving (e.g., driving time and driving option). The robot motion management device may reflect modification content (e.g., modification of at least one of the first element or the second element) in the target motion based on a modification of at least one of a first element related to driving time, a second element related to driving option, or a combination thereof, included in the raw data. That is, when a user modifies a target motion, the robot motion management device may modify the raw data of the target motion, and, conversely, when a user modifies the raw data of a target motion, the robot motion management device may modify a target motion corresponding to the modified raw data.
[0083] The graphic object 515 may represent an object related to storing a target motion based on a second input from a user. For example, the robot motion management device may verify whether raw data of the target motion meets a data standard based on receiving a second input from a user, and if the raw data meets the data standard, transmit the target motion to a control server, thereby storing not only the target motion but also the raw data of the target motion in the control server. For reference, the robot motion management device may provide a predetermined notification to the user through the screen 501 based on a case where the raw data does not meet the data standard.
[0084] The graphic object 517 may represent an object related to replacing a target motion with an alternative motion based on a third input of the user. The robot motion management device may receive, from the control server via a communication unit, an alternative motion that corresponds to the target motion among motions stored in the control server and that is stored at a time closest to the time of receiving the third input, based on the third input of the user, and replace the target motion with the alternative motion.
[0085] The graphic object 519 may represent a graphic object corresponding to a robot to which a target action is applied. That is, the robot action management device may provide a verification process of the target action to a user through a simulation of the graphic object 519 corresponding to the robot through the screen 501.
[0086] The graphic object 521 may represent an object related to transmitting an execution command based on the fourth input of the user. For example, the robot operation management device may transmit an execution command to the control server based on the fourth input of the user so that the target operation transmitted to the control server is applied to the robot.
[0087] By providing the user with screen 501, the robot operation management device can correct the target operation in a relatively short time with an intuitive UI (User Interface) configuration, and can provide the user with consistent development quality. Also, by providing the user with screen 501, the robot operation management device can provide a function for virtually checking the operation without the risk of accidents that may occur during robot linkage testing by providing a virtual simulation. Furthermore, the robot operation management device can provide screen 501 that allows a third party, even if they are not the developer in charge of the robot, to make intuitive corrections. Furthermore, the robot operation management device can quickly reflect the corrected target operation in the robot without the need to perform a firmware update or distribution by simply correcting the target operation.
[0088] FIG. 6 is a diagram showing an example of raw data of a target operation in a robot operation management device according to an embodiment of the present invention.
[0089] A robot motion management device (for example, robot motion management device 100 in FIG. 1) can use raw data 600 of a target motion, which is at least one or more module-based JSON (JavaScript Object Notation) data sets included in the robot.
[0090] For example, the raw data 600 may store the operation time and operation option of each of the left arm module, the right arm module, the sound module, and the text-to-speech module as a JSON data type, as shown in FIG. 6. Exemplarily, the operation option may include a control direction option (e.g., up or down), a speed option (e.g., 0.1 m / s), an angle option (e.g., 30 degrees), a start time option, a duration option (i.e., may indicate the operation time of the module), a repeat option, a save path option, and a text option. In particular, in relation to the start time, the start time may indicate the start time at which the module at the start point performs an operation in the target operation. In other words, the start time may indicate the relative start time at which the module performs an operation, relative to the overall start time of the target operation. This allows a robot (eg, robot 320 in FIG. 3) to have each module apply the target motion asynchronously based on each module's designated starting point from the overall start time of the target motion.
[0091] FIG. 7 is a flowchart showing a method in which a control server performs a safety validity check on a robot module in a robot operation management system according to an embodiment of the present invention.
[0092] In step S701, a control server (eg, the control server 310 in FIG. 3) may receive a target action from a robot action management device (eg, the robot action management device 300 in FIG. 3).
[0093] In step S703, the control server may check whether the received target operation uses a drive system including at least one servo motor for driving one or more modules. If the received target operation does not use a drive system, the control server may store the target operation in a storage unit.
[0094] In step S705, the control server may acquire a threshold value for a safety validity check based on whether the received target motion uses a drive system, and perform a safety validity check by comparing the acquired threshold value with a drive option included in the received target motion. The safety validity check may include at least one of a validity check for a position of the module, a validity check for a velocity of the module, a validity check for a torque of the module, a validity check for an acceleration of the module, or a combination thereof based on whether the received target motion is applied to at least one module included in the robot.
[0095] In steps S707 to S713, the control server may perform a validity check on whether each of the driving options included in the target motion is within a preset safety specification range (i.e., the acquired threshold value). For reference, the control server may acquire a threshold value for each module of the driving option included in the target motion. For example, if a servo motor corresponding to the right arm module has a driving range of 30 degrees to 300 degrees to prevent physical collision with the outer shape of the robot, the control server may acquire a threshold value of 30 degrees to 300 degrees for the right arm module.
[0096] In step S715, the control server may fail the safety validity check when at least one of the driving options included in the received target operation is greater than the acquired threshold value, and may transmit a notification providing command to the robot operation management device so that the robot operation management device provides a predetermined notification to the user.
[0097] In step S717, the target action may be stored in a storage unit of the control server based on whether a safety validity test for at least one module attached to the robot is passed.
[0098] FIG. 8 is a flowchart showing a method in which the control server processes an execution command in a robot operation management system according to an embodiment of the present invention.
[0099] In step S810, a control server (eg, the control server 310 in FIG. 3) may receive a target action from a robot action management device (eg, the robot action management device 300 in FIG. 3).
[0100] In step S820, the control server may check whether an action related to a preceding execution command has been applied to a robot (e.g., robot 320 in FIG. 3). For example, the control server may insert the execution command into the waiting queue in step S830 based on whether an action related to a preceding execution command preceding the execution command has been applied to the robot. A detailed description of the waiting queue will be provided below with reference to FIG. 9.
[0101] In step S840, the control server may process an execution command for a target action based on a case where an action related to a preceding execution command has not been applied to the robot. Specifically, in step S850, the control server may process the execution command inserted first among the execution commands inserted in the waiting queue based on a case where a preceding execution command has ended. Next, the control server may process an execution command for a target action when there is no execution command inserted in the waiting queue. In particular, the control server may process an execution command for a target action based on a case where there is no execution command applied to the robot and the robot is in a waiting state for execution.
[0102] FIG. 9 is a diagram showing a method in which a control server inserts an execution command into a waiting queue in a robot operation management system according to an embodiment of the present invention.
[0103] Upon receiving an execution command for applying a target action to a robot (e.g., robot 320 in FIG. 3), a control server (e.g., control server 310 in FIG. 3) may process the execution command by referring to the waiting queue 900. For example, the waiting queue 900 is for solving a concurrency problem when execution commands are transmitted from multiple users, and may represent a queue employing a First In First Out (FIFO) scheduling method.
[0104] For example, when command A 910 is received by the control server, no commands are currently being executed by the robot, so the control server can immediately execute command A 910. When command B 920 and command C 930 are received by the control server, command A 910 is currently being executed by the robot, so the control server can insert command B 920 and command C 930 into the waiting queue 900.
[0105] After the robot finishes executing command A 910, the control server can execute command B 920, which is the command that was inserted the oldest among the commands waiting in the waiting queue 900. After the robot finishes executing command B 920, the control server can execute command C 930, which is the command that was inserted the oldest among the commands waiting in the waiting queue 900. Furthermore, since no commands are being executed by the robot at the time the control server receives command D 940, the control server can immediately execute command D 940.
[0106] FIG. 10 is a flowchart showing a method in which a robot applies a target action to a module in a robot action management system according to an embodiment of the present invention.
[0107] In step S1001, a robot (e.g., robot 320 in FIG. 3) may receive a target action from a control server (e.g., control server 310 in FIG. 3). For example, the robot may receive an execution command from the control server along with a target action related to the execution command.
[0108] In steps S1003 and S1005, the robot may obtain information about modules after interpreting the target motion or execution command. For example, the robot may obtain information about at least one module included in the target motion based on the target motion related to the execution command, and check whether at least one module is a module attached to the robot.
[0109] In steps (S1007) and (S1009), the robot may set a second time point subsequent to a first time point at which information about at least one or more modules included in the target motion is acquired based on the case where at least one or more modules included in the target motion are modules attached to the robot, and transmit a standby command to at least one or more modules to set at least one or more modules in a standby mode from the first time point to the second time point.
[0110] In step S1011, the robot can apply the target motion to at least one or more modules from the second time point. That is, from the second time point, the robot can apply the target motion to at least one or more modules attached to the robot, thereby driving the modules to perform the target motion.
[0111] In step S1013, the robot may set a third time point, which is different from the first and second time points and indicates an end time point of the target motion, and check whether a time to apply the target motion has exceeded the third time point. Here, the robot may end the target motion applied to at least one module if the time to apply the target motion has exceeded the third time point.
[0112] In step S1015, the robot may determine whether the robot is in an end state and terminate the target action applied to at least one or more modules. For example, the robot may acquire a robot state for applying the target action based on a predetermined clock from a second time point. If the robot is not in an end state, the robot may determine whether a third time point has passed for each predetermined clock. Here, if the robot is not in an end state and the time to apply the target action has passed the third time point, the robot may terminate the target action applied to at least one or more modules. In contrast, if the robot is in an end state, the robot may immediately terminate the target action applied to at least one or more modules without determining whether the time to apply the target action has passed the third time point.
[0113] In summary, the robot can terminate a target action applied to at least one or more modules based on at least one of the following: the robot's state is an end state, the time at which the robot acquires the state exceeds the third time point, or a combination thereof.
[0114] FIG. 11 is a diagram showing operations stored in the storage unit of the control server in a robot operation management system according to an embodiment of the present invention.
[0115] A control server (e.g., the control server 310 in FIG. 3) may store a plurality of behaviors in a storage unit, such as a list 1100. For example, the list 1100 includes a plurality of behaviors, and each of the plurality of behaviors that can be classified by ID may include Name, Config, Error Status, User, Create Date, and Modify Date. Name may indicate the name of the behavior, and in this specification, for convenience of explanation, the first behavior is mainly described as a target behavior. Config may indicate the content of raw data of the target behavior (e.g., JSON Text content). For reference, Config is described as indicating JSON Text content, but is not limited thereto, and may indicate XML (Extensible Markup Language) Text or CSV (Comma-separated values) Text content. Error Status may indicate the content of an error that occurred when each of the plurality of behaviors that can be classified by ID is stored in the storage unit. User may indicate information on a user who modified each of the plurality of behaviors that can be classified by ID. The Create Date and Modify Date can indicate the initial creation date and modification date for each of multiple actions that can be distinguished by ID.
[0116] FIG. 12 is a diagram showing a computing system relating to a robot, a robot operation management device, a system including the same, and a method thereof according to an embodiment of the present invention.
[0117] Referring to FIG. 12, a computing system 1000 relating to a robot, a robot operation management device, a system including the same, and a method thereof may include at least one processor 1100, a memory 1300, a user interface input device 1400, a user interface output device 1500, a storage 1600, and a network interface 1700, all connected via a bus 1200.
[0118] The processor 1100 may be a central processing unit (CPU) or a semiconductor device that executes processing on instructions stored in the memory 1300 and / or the storage 1600. The memory 1300 and the storage 1600 may include various types of volatile or non-volatile storage media. For example, the memory 1300 may include a read only memory (ROM) and a random access memory (RAM).
[0119] Thus, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by the processor 1100, or in a combination of the two. The software modules may reside in a storage medium (i.e., memory 1300 and / or storage 1600) such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, etc.
[0120] An exemplary storage medium may be coupled to the processor 1100 such that the processor 1100 can read information from and write information to the storage medium. Alternatively, the storage medium may be integral to the processor 1100. The processor and the storage medium may reside in an application specific integrated circuit (ASIC). The ASIC may reside in a user terminal. Alternatively, the processor and the storage medium may reside as discrete components in a user terminal.
[0121] The above description is merely an illustrative example of the technical concept of the present invention, and various modifications and variations can be made by those having ordinary skill in the art to which the present invention pertains without departing from the essential characteristics of the present invention.
[0122] The embodiments described above may be implemented using hardware components, software components, and / or a combination of hardware and software components. For example, the devices, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and software applications that run on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, the processing device may be described as being one in which one is used, but those skilled in the art will appreciate that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, the processing device may include multiple processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
[0123] The software may include a computer program, code, instructions, or a combination of one or more of these, which may configure or instruct the processing device to operate as desired, either individually or collectively. The software and / or data may be permanently or temporarily embodied in some type of machine, component, physical device, virtual device, computer storage medium or device, or transmitted signal wave, to be interpreted by the processing device or to provide instructions or data to the processing device. The software may be distributed over network-coupled computer systems and stored or executed in a distributed manner. The software and data may be stored on a computer-readable recording medium.
[0124] The method according to the embodiment may be embodied in the form of program instructions that may be executed by various computer means and may be recorded on a computer readable medium. The computer readable medium may include, alone or in combination, program instructions, data files, data structures, and the like, and the program instructions recorded on the medium may be those specifically designed and constructed for the embodiment or may be those 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, magneto-optical media such as floptical disks, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc.
[0125] The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
[0126] Although the embodiments have been described above with reference to the drawings, those skilled in the art may apply various technical modifications and variations based thereon. For example, the described techniques may be performed in a different order than described, and / or the components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different manner than described, or may be counterbalanced or replaced by other components or equivalents, and still achieve suitable results.
[0127] Therefore, other implementations, other embodiments, and equivalents of the claims are intended to be within the scope of the following claims.
[0128] Therefore, the embodiments disclosed in the present invention are for illustration purposes only and are not intended to limit the technical idea of the present invention, and the scope of the technical idea of the present invention is not limited by such embodiments. The scope of protection of the present invention should be interpreted according to the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.
Claims
1. A robot operation management device, A memory storing computer-executable instructions; A communication unit that communicates with the control server; at least one processor that accesses the memory and executes the instructions; Including, The at least one processor Setting the driving time of at least one module included in a target motion among a plurality of motions classified as driving of at least one module included in the robot; Setting a drive option for at least one module for which the drive time is set, verifying the target motion through a simulation of a graphic object corresponding to the robot; transmitting the verified target motion to the control server via the communication unit so that the verified target motion is applied to the robot; Robot motion management device.
2. The at least one processor setting a drive time of at least one module included in the different action based on a case where an action different from the target action is added to an action list including the target action; setting a driving option for at least one module involved in the different operations; The robot operation management device according to claim 1 .
3. The at least one processor providing information on the motions corresponding to the plurality of execution commands for applying a motion different from the target motion to the robot, based on a case where the plurality of execution commands are included; The robot operation management device according to claim 1 .
4. The at least one processor Acquiring raw data of the target motion based on a first input from a user; reflecting the modification in the target operation based on a modification of at least one of a first element related to a driving time, a second element related to a driving option, or a combination thereof, included in the raw data; The robot operation management device according to claim 1 .
5. The at least one processor Verifying whether the raw data of the target operation satisfies a data standard based on a second input from the user; transmitting the target action to the control server via the communication unit based on a case where the raw data satisfies the data standard; providing a predetermined notification to the user based on if the raw data does not meet the data standard. The robot operation management device according to claim 1 .
6. The at least one processor receiving an alternative action corresponding to the target action among the actions stored in the control server based on a third input of the user and stored at a time closest to a time point when the third input was received from the control server via the communication unit, and replacing the target action with the alternative action; The robot operation management device according to claim 1 .
7. The at least one processor transmitting an execution command to the control server based on a fourth input of a user so that the target action transmitted to the control server is applied to the robot; The robot operation management device according to claim 1 .
8. A robot operation management system, A robot operation management device; A control server; A robot that receives commands from the control server; Including, The robot operation management device includes: setting a driving time of at least one module included in a target motion among a plurality of motions classified as driving of at least one module included in the robot; Setting a drive option for at least one module for which the drive time is set, verifying the target motion through a simulation of a graphic object corresponding to the robot; communicating the verified target action to the control server so that the verified target action is applied to the robot; The control server includes: transmitting an execution command to the robot based on the verified target motion received from the robot motion management device; Robot motion management system.
9. The control server includes: performing a safety validity check on at least one module attached to the robot based on receiving the verified target operation from the robot operation management device; Upon receiving an execution command for applying the target motion to the robot, process the execution command by referring to a waiting queue; The robot comprises: applying the target action to the at least one module in response to the processed execution instructions; The robot operation management system according to claim 8.
10. The safety and effectiveness test includes: When the received target motion is applied to at least one or more modules included in the robot, the method includes at least one of a validity check on a position of the module, a validity check on a velocity of the module, a validity check on a torque of the module, a validity check on an acceleration of the module, or a combination thereof. The robot operation management system according to claim 9.
11. The control server includes: determining whether the received target operation uses a drive system including a servo motor for driving the at least one module; obtaining a threshold value for the safety validity check based on when the received target action uses the drivetrain; performing said safety validity check by comparing said obtained threshold value with a drive option included in said received target operation; The robot operation management system according to claim 9.
12. The control server includes: transmitting a notification providing command to the robot operation management device so that the robot operation management device provides a predetermined notification to a user based on a case where at least one of the driving options included in the received target operation is greater than the acquired threshold value; The robot operation management system according to claim 11.
13. The control server includes: storing the target action in a storage unit of the control server based on whether a safety validity test for at least one module attached to the robot is passed; The robot operation management system according to claim 9.
14. The control server includes: inserting the execution command into the waiting queue based on a case where an action related to a previous execution command preceding the execution command is being applied to the robot; processing the execution instruction that was inserted first among the execution instructions inserted in the waiting queue based on whether the preceding execution instruction has been completed; The robot operation management system according to claim 9.
15. The control server includes: and processing the execution command based on whether the robot is in a standby state. The robot operation management system according to claim 9.
16. Acquire information regarding at least one module included in a target operation regarding an execution command received from a control server; performing a check as to whether the at least one module is a module attached to a robot; robot.
17. setting a second time point subsequent to the first time point for acquiring information on the at least one module included in the target motion based on a case where the at least one module included in the target motion is a module attached to the robot; transmitting a standby command to the at least one module to set the at least one module in a standby mode from the first time point to the second time point; applying the target action to the at least one module from the second time point; The robot of claim 16.
18. A third time point is set, which is different from the first time point and the second time point and indicates a time point at which the target action ends; Acquire a state of the robot to which the target action is applied based on a predetermined clock from the second time point; Terminating the target action applied to the at least one or more modules based on at least one of the following: the robot state is an end state; a time when the robot state is acquired exceeds the third time point; or a combination thereof. The robot of claim 17.
19. An operation of setting an operation time of at least one module included in a target operation among a plurality of operations classified as operations of at least one module included in a robot by a robot operation management device; an operation of setting, by the robot operation management device, an operation option for at least one module for which the operation time is set; verifying the target motion through a simulation of a graphic object corresponding to the robot by the robot motion management device; an operation of transmitting the verified target motion to a control server by the robot motion management device so that the verified target motion is applied to the robot; and transmitting, by the control server, an execution command to the robot based on the verified target motion received from the robot motion management device. A method for managing robot operations.
20. performing a safety validity check on at least one module attached to the robot based on receiving the verified target operation from the robot operation management device by the control server; Upon receiving an execution command for applying the target action to the robot from the control server, the control server processes the execution command by referring to a waiting queue; and applying, by the robot, the target action to the at least one module in response to the processed execution command. The robot operation management method according to claim 19.