Robot control device and control method thereof
The robot control device facilitates flexible robot setting methods by comparing and prioritizing configuration files from different servers, addressing the inflexibility of existing systems and reducing software update needs.
Patent Information
- Application Number
- JP2024139409
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-24
- Filing Date
- 2024-08-21
- Publication Date
- 2025-11-06
AI Technical Summary
Existing robot setting methods are inflexible and require frequent updates as robot services become more advanced, necessitating a technology that allows users to change robot settings conveniently through various methods, such as robot client software or robot operating systems.
A robot control device and method that supports user setting functions by storing and comparing configuration files from different servers, determining a target file based on priority and user authority, and applying settings to the robot, allowing flexible setting methods without software updates.
Enables convenient and flexible robot setting changes, reducing software development efforts and costs while enhancing user convenience and management capabilities.
Smart Images

Figure 2025166774000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot control device and a control method thereof, and more particularly to a technology for supporting a user setting function of a service robot. [Background technology]
[0002] Conventionally, when a robot user sets up a robot, the robot is set up through a robot operating system (OS) or through a robot client, etc. In particular, such a method has the feature that the robot setting method provided initially is not changed.
[0003] As robot services become more advanced, frequent changes are required to the robot setting methods described above, such as making it possible to set robot setting functions set through individual robot client software in the robot management system as well, or making it possible to provide robot setting functions set in the robot management system as robot setting functions in individual robot client software.
[0004] To solve this problem, it is necessary to develop a technology that increases the convenience of robot operation for users by providing a robot setting function provided by a provider so that users can set up their robots in a changeable manner, such as by setting it in the robot client, by setting it in the robot operation system, or by using values set by the robot software provider. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2023-087235 Summary of the Invention [Problem to be solved by the invention]
[0006] SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems in the prior art, and an object of the present invention is to provide a robot control device and a control method thereof that support the user setting function of a robot. [Means for solving the problem]
[0007] A robot control device according to one aspect of the present invention, which has been made to achieve the above-mentioned object, comprises at least one memory storing computer-executable instructions, a communication unit that supports communication with at least one server, and at least one processor that accesses the memory and executes the instructions, and the at least one processor is configured to store a first setting file containing information regarding robot settings set by a first user terminal from a first server based on identifying the first setting file, identify a second setting file from a second server different from the first server containing information regarding the robot settings set by a second user terminal different from the first user terminal, determine a target file that will be used as a basis for controlling the robot based on the first setting file and the second setting file, and control the robot by applying the information regarding the robot settings contained in the target file to the robot.
[0008] In one embodiment, the at least one processor is configured to identify information regarding the robot's settings from the first configuration file, thereby identifying first configuration information and second configuration information from the information regarding the robot's settings, and identifying selection information of the first configuration information and selection information of the second configuration information, and the information regarding the robot's settings includes configuration information including a setting name, content regarding the setting, and selection information regarding permission for the setting. In one embodiment, the at least one processor is configured to apply the first setting information included in the first setting file to the target file when the selection information of the first setting information is information regarding being set by the first user terminal, and to apply the second setting information included in the second setting file to the target file when the selection information of the second setting information is information regarding being set by the second user terminal. In one embodiment, the at least one processor is configured to apply the first setting information included in the second setting file to the target file when the selection information of the first setting information is information regarding being set by the second user terminal, and to apply the second setting information included in the first setting file to the target file when the selection information of the second setting information is information regarding being set by the first user terminal. In one embodiment, the at least one processor is configured to apply at least one of the first setting information and the second setting information to the target file by comparing the priority of the first setting information with the priority of the second setting information based on the fact that the selection information of the first setting information and the selection information of the second setting information are identical, wherein the selection information of the first setting information includes information regarding the authority of the first setting information to be set by at least one of the first user terminal and the second user terminal, and the selection information of the second setting information includes information regarding the authority of the second setting information to be set by at least one of the first user terminal and the second user terminal. In one embodiment, the at least one processor is configured to identify the second setting information from the second setting file when the selection information of the second setting information is information regarding being set by the second user terminal, transmit information requesting setting of the second setting information of the second user terminal to the second server based on the failure to identify the second setting information from the second setting file, and apply the second setting information included in the second setting file to the target file based on receiving the second setting file set by the second user terminal from the second server. In one embodiment, the at least one processor is configured to identify the first configuration file from the first server based on the first user terminal setting information regarding the robot's settings via the first server, and to identify the second configuration file from the second server based on the second user terminal setting information regarding the robot's settings via the second server. In one embodiment, the at least one processor is configured to store the modified first configuration file in the at least one memory based on identifying a notification from the first server regarding a modification of the first configuration file. In one embodiment, the at least one processor is configured to identify a third configuration file that was previously stored before the first configuration file was stored in the at least one memory, identify target information related to the robot's configuration from the third configuration file, and determine whether the target information is included in the first configuration file. In one embodiment, the at least one processor is configured to determine the target file by identifying information related to the robot's configuration from the first configuration file based on the target information being included in the first configuration file, and to determine the target file via the third configuration file based on the target information not being included in the first configuration file.
[0009] In order to achieve the above-mentioned object, a control method for a robot control device according to one embodiment of the present invention includes the steps of: storing a first setting file containing information regarding robot settings set by a first user terminal from a first server, based on the identification of the first setting file; identifying a second setting file containing information regarding robot settings set by a second user terminal different from the first server from a second server different from the first server; determining a target file that will serve as a basis for controlling the robot based on the first setting file and the second setting file; and controlling the robot by applying the information regarding the robot settings contained in the target file to the robot.
[0010] In one embodiment, the step of controlling the robot includes a step of identifying first setting information and second setting information from the information regarding the robot's settings by identifying information regarding the robot's settings from the first setting file, and a step of identifying selection information of the first setting information and selection information of the second setting information, wherein the information regarding the robot's settings includes setting information including a setting name, content regarding the setting, and selection information regarding permission for the setting. In one embodiment, the step of controlling the robot includes a step of applying first setting information contained in the first setting file to the target file when the selection information of the first setting information is information regarding being set by the first user terminal, and a step of applying second setting information contained in the second setting file to the target file when the selection information of the second setting information is information regarding being set by the second user terminal. In one embodiment, the step of controlling the robot includes a step of applying the first setting information included in the second setting file to the target file when the selection information of the first setting information is information regarding being set by the second user terminal, and a step of applying the second setting information included in the first setting file to the target file when the selection information of the second setting information is information regarding being set by the first user terminal. In one embodiment, the step of controlling the robot includes a step of applying at least one of the first setting information and the second setting information to the target file by comparing the priority of the first setting information with the priority of the second setting information based on the fact that the selection information of the first setting information and the selection information of the second setting information are identical, wherein the selection information of the first setting information includes information regarding the authority set by at least one of the first user terminal and the second user terminal when the first setting information is set, and the selection information of the second setting information includes information regarding the authority set by at least one of the first user terminal and the second user terminal when the second setting information is set. In one embodiment, the step of controlling the robot includes a step of identifying the second setting information from the second setting file if the selection information of the second setting information is information indicating that the second setting information is to be set by the second user terminal; a step of transmitting information requesting setting of the second setting information of the second user terminal to the second server based on the fact that the second setting information cannot be identified from the second setting file; and a step of applying the second setting information included in the second setting file to the target file based on the fact that the second setting file set by the second user terminal is received from the second server. In one embodiment, the step of controlling the robot includes a step of identifying the first setting file from the first server based on the first user terminal setting information regarding the robot's settings via the first server, and a step of identifying the second setting file from the second server based on the second user terminal setting information regarding the robot's settings via the second server. In one embodiment, controlling the robot includes storing the modified first configuration file in the at least one memory based on identifying notification from the first server regarding a change to the first configuration file. In one embodiment, the step of controlling the robot includes identifying a third configuration file that was previously stored before the first configuration file was stored in the at least one memory; identifying target information related to the configuration of the robot from the third configuration file; and determining whether the target information is included in the first configuration file. In one embodiment, the step of controlling the robot includes a step of determining the target file by identifying information related to the robot's configuration from the first configuration file based on the target information being included in the first configuration file, and a step of determining the target file via the third configuration file based on the target information not being included in the first configuration file. [Effects of the Invention]
[0011] The effects of the robot control device and the control method thereof according to the present invention will be described below.
[0012] According to the robot control device and control method of the present invention, by determining the basic target file used to control the robot based on the first setting file and the second setting file, a changeable system can be provided so that the user can set the robot by selecting from a method of setting the robot setting function provided by the provider in the robot client, a method of setting in the robot operating system (OS), and a method of using values set by the robot software provider, thereby increasing the convenience of the user in operating the robot.
[0013] Furthermore, according to the present invention, the basic target file used for robot control is determined by comparing the priority of setting information identified from the setting file, which makes it possible to change the robot setting method without updating the robot control software when adding new functions or changing existing functions, thereby reducing software development efforts and distribution costs.
[0014] Furthermore, according to the present invention, by identifying the selection information of the setting information from the information related to the robot setting, it is possible to disable the functions that could be set in the robot client or operating system (OS) for testing during the initial development, thereby increasing the convenience of robot management from the supplier's point of view.
[0015] In addition, various other effects can be provided that can be directly or indirectly grasped through this specification. [Brief explanation of the drawings]
[0016] [Figure 1] FIG. 1 is a diagram illustrating a robot control device according to an embodiment of the present invention. [Figure 2] 1 is a flowchart illustrating a robot control method according to an embodiment of the present invention. [Figure 3] 5 is a flowchart illustrating a method for saving a first setting file in a robot control device according to an embodiment of the present invention. [Figure 4] 10 is a flowchart illustrating a method for controlling a robot via a target file based on a first setting file and a second setting file in a robot control device according to an embodiment of the present invention. [Figure 5] 5 is a flowchart illustrating a method for controlling a robot via a target file based on the first to third setting files in a robot control device according to an embodiment of the present invention. [Figure 6]2 is a diagram showing a first setting file, a second setting file, a third setting file, and a target file in a robot control device according to an embodiment of the present invention. FIG. [Figure 7] FIG. 2 is a diagram showing an entity that sets a configuration file related to control of a robot in a robot control device according to an embodiment of the present invention. [Figure 8] FIG. 1 illustrates a computing system for a robot control device or method according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0017] Hereinafter, specific examples of embodiments of the present invention will be described in detail with reference to the drawings.
[0018] When assigning reference numerals to components in each drawing, it should be noted that the same numerals are used for the same components whenever possible, even if they appear in different drawings. When describing embodiments of the present invention, if a detailed description of related known structures or functions is deemed to obscure understanding of the embodiments of the present invention, such detailed description will be omitted. In particular, various embodiments of the present invention will be described with reference to the drawings. However, this does not limit the technology described herein to specific embodiments, but should be understood as including various modifications, equivalents, and / or alternatives of the embodiments of the present invention. In describing the drawings, similar reference numerals will be used for similar components.
[0019] When describing components of embodiments of the present invention, terms such as "first," "second," "A," "B," "(a)," and "(b)" are used. These terms are used to distinguish a component from other components and do not limit the nature, order, or sequence of the components. Furthermore, unless otherwise defined, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by those skilled in the art to which the present invention pertains. Terms similar to those defined in commonly used dictionaries should be interpreted as meanings consistent with the context of the relevant art, and should not be interpreted in an idealized or overly formal sense unless expressly defined herein. For example, terms such as "first," "second," "primary," or "secondary" used herein are used to modify various components without regard to order and / or importance and to distinguish one component from other components, but do not limit the components. For example, a first user device and a second user device refer to different user devices regardless of order or importance. For example, without departing from the scope of the invention as set forth herein, a first component may be named a second component, and similarly, the second component may be named in place of the first component.
[0020] In this specification, 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 part) and do not exclude the presence of additional features.
[0021] When a component (e.g., a first component) is referred to as being "operatively or communicatively coupled with" or "connected to" another component (e.g., a second component), it should be understood that the component is directly coupled to the other component or is 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 with" or "directly connected to" the other 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.
[0022] As used herein, the expression "configured to" is used interchangeably with, for example, "suitable for," "having the capacity to," "designed to," "adapted to," "made to," or "capable of," depending on the context.
[0023] The term "configured to" does not necessarily mean "specifically designed to" hardware. Instead, depending on the context, the phrase "device configured to" may mean that the device is capable of performing, in conjunction with other devices or components. For example, the phrase "a processor configured to perform A, B, and C" may refer to a dedicated processor (e.g., an embedded processor) for performing those operations, or a general-purpose processor (e.g., a CPU or application processor) that performs those operations by executing one or more software programs stored in a memory device. Terms used herein are used solely to describe particular embodiments and are not intended to limit the scope of other embodiments. The singular term "a" or "an" includes the plural term unless the context clearly dictates otherwise. Terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art described herein. Among the terms used in this specification, terms defined in a general dictionary are interpreted as meanings identical to or similar to the meanings they have in the context of the related art, and unless explicitly defined in this specification, they are not interpreted as idealized or overly formal meanings. In some cases, even terms defined in this specification are not interpreted as excluding embodiments of the present invention.
[0024] As used herein, expressions such as "A or B," "at least one of A and / or B," or "one or more of A and / or B" 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" refer to all cases where (1) at least one A is included, (2) at least one B is included, or (3) both at least one A and at least one B are included. Furthermore, in describing components of 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 some combination thereof" each include any one of the items listed together with the phrase, or all possible combinations thereof. In particular, a phrase such as "at least one of A, B, C, or some combination thereof" includes A, B, or C, or combinations thereof such as AB or ABC.
[0025] Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.
[0026] FIG. 1 is a diagram showing a robot control device according to an embodiment of the present invention.
[0027] The robot control device 100 according to this embodiment includes a processor 110, a first memory 115 storing a first setting file and commands, a second memory 120 storing a third setting file and commands, and a communication unit .
[0028] The robot controller 100 controls the robot 160 by applying information about the robot 160's settings contained in a target file to the robot 160. For example, the robot controller 100 stores a first setting file stored in the first server 140 in the first memory 115. The robot controller 100 identifies a setting name stored in the third setting file by identifying a third setting file stored in the second memory 120. The robot controller 100 determines whether the setting name stored in the third setting file is included in the first setting file stored in the first memory 115. If the first setting file contains the setting name stored in the third setting file, the robot controller 100 identifies selection information included in the first setting file to determine a target file required to control the robot 160. For example, a setting file (e.g., the first setting file) includes a setting name, setting content, and setting selection information. The robot controller 100 identifies the setting selection information to determine the setting file to be applied to the target file. When the target file is determined, the robot control device 100 applies the target file to the robot 160 to control the robot 160 .
[0029] The processor 110 includes at least one processor. For example, the processor executes software to control at least one other component (e.g., a hardware or software component) connected to the processor. The processor also performs various other data processing or calculation operations. For example, the processor stores configuration files and instructions in memory (e.g., the first memory 115 and the second memory 120).
[0030] For reference, the processor executes all operations performed by the robot controller 100. Therefore, for convenience of explanation, the operations performed by the robot controller 100 will be mainly described as operations executed by the processor in this specification. Also, for convenience of explanation, the processor will be mainly described as one processor in this specification, but the present invention is not limited to this. For example, the robot controller 100 includes at least one or more processors. Each of the at least one or more processors executes all operations related to the robot control operations.
[0031] The memory includes a first memory 115 and a second memory 120. The memory temporarily and / or permanently stores various data and / or information required for controlling the robot.
[0032] The communication unit 130 supports communication between the robot control device 100, the first server 140, the second server 150, and the robot 160. For example, the communication unit 130 includes one or more components that enable communication between the robot control device 100, the first server 140, the second server 150, and the robot 160. For example, the communication unit 130 includes a short-range wireless communication unit, a microphone, etc. In this regard, short-range communication technologies include wireless LAN (Wi-Fi), Bluetooth (registered trademark), ZigBee (registered trademark), WFD (Wi-Fi Direct), UWB (ultra-wideband), infrared communication (IrDA: Infrared Data Association), BLE (Bluetooth Low Energy), and NFC (Near Field Communication), but are not limited thereto.
[0033] The first server 140 stores a first setting file set by a first user terminal (hereinafter simply referred to as "user") 145. For example, the first server 140 refers to a server that distributes the first setting file. The first server 140 stores the first setting file by modifying the first setting file when a new function is added or a function is changed by the first user 145, who is a robot software provider. Here, the first setting file refers to a file that stores setting values related to functions that can be set by the first user 145, and includes setting names, setting contents, and setting selection information according to the robot's functions. The first server 140 stores at least one first setting file according to the function.
[0034] The second server 150 stores a second setting file set by a second user terminal (hereinafter simply referred to as "user") 155. For example, the second server 150 refers to a server that provides a robot operating system (OS). The second server 150 stores the second setting file by updating the second setting file provided by the first user 145, who is a robot software provider, when a new function is added or a function is changed by the second user 155 who uses the robot 160. Here, the second setting file refers to a file that stores setting values related to functions that can be set by the second user 155, and includes setting names, setting contents, and setting selection information according to the robot's functions. The second server 150 stores at least one second setting file according to the function.
[0035] For reference, in this specification, for convenience of explanation, the first setting file and the second setting file are described as including information related to the same robot setting. For example, the information related to the robot setting includes at least one setting information. Exemplarily, the information related to the robot setting includes the first setting information and the second setting information.
[0036] For example, the first configuration file includes first and second configuration information. The second configuration file includes first and second configuration information. However, the content of the first configuration information stored in the first configuration file may be the same as or different from the content of the first configuration information stored in the second configuration file. Similarly, the content of the second configuration information stored in the first configuration file may be the same as or different from the content of the second configuration information stored in the second configuration file.
[0037] For example, the first user 145 sets a first setting file to change or modify the content of the first setting information. The second user 155 sets a second setting file to change or modify the content of the first setting information. The second user 155 sets a third setting file to change or modify the content of the first setting information. Specifically, the second user 155 sets the third setting file via the communication unit 130 of the robot controller 100 (i.e., including an operation of accessing the second memory 120 via the communication unit 130). In this case, the content of the first setting information expressed in the first setting file differs from that expressed in the second setting file. Here, the robot controller 100 selects one of the content of the first setting information included in the first setting file or the content of the first setting information included in the second setting file to determine a target file for applying the content of the first setting information to the robot 160.
[0038] For example, the robot controller 100 includes, in the target file, the contents of the first setting information set by the first setting file, the contents of the second setting information set by the second setting file, the contents of the third setting information set by the second setting file, and the contents of the fourth setting information set by the first setting file. In this case, when the robot controller 100 applies the target file to the robot 160, the robot 160 performs an operation based on the contents of the first setting information set by the first user 145, the contents of the second setting information set by the second user 155, the contents of the third setting information set by the second user 155, and the contents of the fourth setting information set by the first user 145.
[0039] FIG. 2 is a flowchart illustrating a robot control method according to an embodiment of the present invention.
[0040] A robot control device according to this embodiment (e.g., the robot control device 100 of FIG. 1) stores a first setting file containing information about robot settings set by a first user in at least one memory based on identifying the first setting file from a first server in step 210. For example, the robot control device receives the first setting file from the first server via a communication unit.
[0041] In step 220, the robot control device identifies a second configuration file from a second server different from the first server, the second configuration file including information about robot settings configured by a second user different from the first user. For example, when the robot control device identifies the second configuration file from the second server, the robot control device stores the second configuration file in at least one memory. Thereafter, the robot control device determines at least one of the first configuration file and the second configuration file as a target file based on selection information included in the first configuration file.
[0042] The robot control device identifies a first setting file from the first server based on the first user setting information related to the robot settings via the first server, and identifies a second setting file from the second server based on the second user setting information related to the robot settings via the second server.
[0043] In step 230, the robot control device determines a target file to be used as a basis for controlling the robot based on the first configuration file and the second configuration file. For example, the robot control device identifies information about the robot's settings from the first configuration file, thereby identifying first configuration information and second configuration information from the information about the robot's settings. The robot control device applies at least one of the first configuration information included in the first configuration file and the first configuration information included in the second configuration file to the target file based on the selection information of the first configuration information. The robot control device applies at least one of the second configuration information included in the first configuration file and the second configuration information included in the second configuration file to the target file based on the selection information of the second configuration information. The target file includes the first configuration information (i.e., content included in at least one of the first configuration file and the second configuration file) and the second configuration information (i.e., content included in at least one of the first configuration file and the second configuration file).
[0044] The robot control device controls the robot by applying the information on the robot settings included in the target file to the robot in step 240. The robot control device identifies at least one or more setting information from the information on the robot settings included in the target file. The robot control device controls the robot by applying the setting name and setting content included in the at least one or more setting information to the robot.
[0045] FIG. 3 is a flowchart illustrating a method for saving a first setting file in a robot control device according to an embodiment of the present invention.
[0046] In step 310, a robot control device according to this embodiment (e.g., the robot control device 100 of FIG. 1) identifies a notification regarding a change to a first configuration file from a first server. For example, the first server changes the setting name, setting content, and setting selection information when a new function is added or a function is changed by a first user who is a robot software supplier. The first server then transmits a notification regarding the change to the first configuration file to the robot control device. The robot control device identifies the change to the first configuration file based on receiving the notification from the first server.
[0047] In step 320, the robot control device stores the first configuration file in at least one memory. For example, the robot control device stores the modified first configuration file in at least one memory based on receiving a notification from the first server regarding a change to the first configuration file. Specifically, the first server reflects the setting values changed by the first user in the first configuration file and stores the first configuration file with the changes reflected. The robot control device receives the first configuration file with the changes reflected from the first server. Based on receiving the first configuration file with the changes reflected, the robot control device stores the first configuration file with the changes reflected in at least one memory.
[0048] FIG. 4 is a flowchart illustrating a method for controlling a robot via a target file based on a first setting file and a second setting file in a robot control device according to an embodiment of the present invention.
[0049] A robot control device according to this embodiment (e.g., the robot control device 100 in FIG. 1) identifies information related to robot settings from the first setting file in step 410. For example, the robot control device identifies first setting information and second setting information from the information related to robot settings by identifying information related to robot settings from the first setting file.
[0050] The robot control device determines whether the information regarding the robot settings is information regarding setting by the first user in step 420. For example, in the case of the first setting information among the information regarding the robot settings, the robot control device determines whether the first setting information is information regarding setting by the first user by identifying selection information of the first setting information.
[0051] If the first setting information is set by the first user, the robot control device applies the information on the robot settings included in the first setting file to the target file in step 430. For example, the robot control device applies the first setting information among the information on the robot settings included in the first setting file to the target file.
[0052] If the first setting information is not set by the first user but is set by the second user, the robot control device applies the information on the robot settings included in the second setting file to the target file in step 440. For example, the robot control device applies the first setting information among the information on the robot settings included in the second setting file to the target file.
[0053] The robot control device controls the robot by applying the information on the robot settings included in the target file to the robot in step 450. For example, the robot control device controls the robot so that the robot executes the setting content included in the first setting information by applying first setting information among the information on the robot settings included in the target file to the robot.
[0054] FIG. 5 is a flowchart for explaining a method for controlling a robot via a target file based on the first to third setting files in a robot control device according to an embodiment of the present invention.
[0055] A robot control device according to this embodiment (for example, the robot control device 100 in FIG. 1) identifies a change to a first configuration file in step 501. For example, the robot control device identifies a notification regarding a change to the first configuration file from a first server.
[0056] The robot control device stores the first configuration file in at least one memory in step 503. However, the operation of the robot control device is not limited thereto, and the robot control device may store the first configuration file in at least one memory without receiving a notification from the first server regarding a change in the first configuration file.
[0057] The robot control device determines whether the information regarding the robot settings is information regarding setting by the first user in step 505. For example, the robot control device determines whether the first setting information among the information regarding the robot settings is information regarding setting by the first user.
[0058] In step 507, if the first setting information is not information set by the first user, the robot control device transmits information requesting setting of information related to the robot settings of the second user to the second server and receives the second setting file from the second server, thereby identifying the second setting file. For example, the second server requests input from the second user based on receiving the request information. Then, the robot control device compares the first setting file with the second setting file to apply the first setting information to the target file.
[0059] Specifically, if the selection information of the first setting information indicates that the selection information is set by the second user, the robot control device identifies the first setting information from the second setting file. If the robot control device is unable to identify the first setting information from the second setting file, the robot control device transmits information requesting setting of the first setting information of the second user to the second server. If the robot control device receives the second setting file set by the second user from the second server, the robot control device applies the first setting information included in the second setting file to the target file.
[0060] For example, if the selection information of the first setting information is information indicating that the setting is to be made by a first user, the robot control device applies the first setting information included in the first setting file to the target file. Similarly, if the selection information of the second setting information is information indicating that the setting is to be made by a second user, the robot control device applies the second setting information included in the second setting file to the target file.
[0061] For example, if the selection information of the first setting information is information indicating that the setting is to be made by the second user, the robot control device applies the first setting information included in the second setting file to the target file. Similarly, if the selection information of the second setting information is information indicating that the setting is to be made by the first user, the robot control device applies the second setting information included in the first setting file to the target file.
[0062] For reference, the selection information of the first setting information includes information on the authority of the first setting information set by at least one of the first user (terminal) and the second user (terminal). The selection information of the second setting information includes information on the authority of the second setting information set by at least one of the first user (terminal) and the second user (terminal).
[0063] If the selection information of the first setting information and the selection information of the second setting information are identical, the robot control device compares the priority of the first setting information with the priority of the second setting information and applies at least one of the first setting information and the second setting information to the target file. A detailed explanation of the priority will be given in Figure 6 below.
[0064] The robot control device identifies a third configuration file in step 509. For example, the robot control device identifies a third configuration file that was previously stored before the first configuration file was stored in at least one memory. The robot control device identifies target information related to the robot's configuration from the third configuration file.
[0065] In step 511, the robot control device determines whether the target information related to the robot settings identified from the third setting file is included in the first setting file. Here, the target information indicates information included in the third setting file and used to control the robot. The target information also includes the same content as the first setting information and the second setting information.
[0066] In step 513, the robot control device determines the target file by identifying information related to the robot's settings from the first setting file and the second setting file based on the target information being included in the first setting file. For example, the robot control device determines the target file by identifying information related to the robot's settings from the first setting file (e.g., the first setting information in the description of FIG. 5) based on the target information being included in the first setting file.
[0067] Specifically, the robot control device identifies selection information of the target information included in the first setting file (i.e., information regarding which of the first setting file or the second setting file is to be applied when the target information is applied to the robot). If the selection information of the target information is information regarding setting by the first user, the robot control device applies the target information included in the first setting file to the target file. Conversely, if the selection information of the target information is information regarding setting by the second user, the robot control device applies the target information included in the second setting file to the target file.
[0068] The robot control device determines the target file through the third configuration file based on the fact that the target information is not included in the first configuration file in step 515. For example, the robot control device determines the target file through the third configuration file based on the fact that the target information is not included in the first configuration file. That is, if the target information is not included in the first configuration file, the robot control device skips the first and second configuration files and determines the third configuration file as the target file.
[0069] FIG. 6 is a diagram showing the first setting file, the second setting file, the third setting file, and the target file in the robot control device according to one embodiment of the present invention.
[0070] 6, a robot control device according to this embodiment (for example, the robot control device 100 in FIG. 1) determines a target file 640 based on a first setting file 610, a second setting file 620, and a third setting file 630. The robot control device then controls the robot 650 by applying information about the robot settings contained in the target file 640 to the robot 650.
[0071] 6, for convenience of explanation, the information regarding the robot settings will be described as including first setting information (e.g., Parameter A), second setting information (e.g., Parameter B), third setting information (e.g., Parameter C), and fourth setting information (e.g., Parameter D). The information regarding the robot settings also includes setting information including a setting name (e.g., Parameter X), setting details (e.g., Value), and selection information regarding setting permission (e.g., Select Option).
[0072] The operation of the robot control device to determine the target file 640 will be described below.
[0073] In association with the first setting information, the robot control device identifies a third setting file 630 to determine a target file 640. The robot control device identifies first setting information, which is target information related to the robot's settings, from the third setting file 630. The robot control device determines whether the first setting information is included in the first setting file 610. After identifying the first setting information included in the first setting file 610, the robot control device identifies selection information of the first setting information. Referring to FIG. 6, the selection information of the first setting information has a second priority.
[0074] For example, the first priority indicates the priority in which the setting information (e.g., including the first to third setting information) is set by the first setting file (i.e., set by the first user). Differently from this, the second priority indicates the priority in which the setting information is set by the second setting file.
[0075] The robot control device applies the first setting information included in the second setting file 620 to the target file 640 because the selected information of the first setting information has the second priority.
[0076] In association with the second setting information, the robot control device identifies the third setting file 630 to determine the target file 640. The robot control device identifies the second setting information, which is target information related to the robot settings, from the third setting file 630. If the robot control device cannot identify the second setting information from the third setting file 630, the robot control device does not apply the second setting information to the target file 640.
[0077] In relation to the third setting information, the robot control device identifies the third setting file 630 to determine the target file 640. The robot control device identifies the third setting information, which is target information related to the robot settings, from the third setting file 630. The robot control device determines whether the third setting information is included in the first setting file 610. After identifying the third setting information included in the first setting file 610, the robot control device identifies selection information of the third setting information. Referring to FIG. 6, the selection information of the third setting information has a first priority. Because the selection information of the third setting information has the first priority, the robot control device applies the third setting information included in the first setting file 610 to the target file 640.
[0078] In relation to the fourth setting information, the robot control device identifies the third setting file 630 to determine the target file 640. The robot control device identifies the fourth setting information, which is target information related to the robot settings, from the third setting file 630. The robot control device determines whether the fourth setting information is included in the first setting file 610. The robot control device determines the target file 640 via the third setting file 630 based on the fact that the fourth setting information, which is target information, is not included in the first setting file 610. Specifically, because the robot control device could not identify the fourth setting information from the first setting file 610, it applies the fourth setting information included in the third setting file 630 to the target file 640.
[0079] FIG. 7 is a diagram showing an entity that sets a setting file related to control of a robot in a robot control device according to an embodiment of the present invention.
[0080] The robot control device 700 according to this embodiment communicates with a first server, a second server, a robot client, and a robot. For example, the first server and the second server communicate with a first user 710 and a second user 720, respectively, as described with reference to Figures 1 to 6. The robot client refers to a server that can distribute a setting file based on input from the second user 720.
[0081] The robot control device 700 receives configuration files from the first server, the second server, and the robot client, compares the received configuration files, and controls the robot 730 by applying the configuration information about the robot contained in the configuration files to the robot 730 via the target file.
[0082] FIG. 8 is a diagram illustrating a computing system relating to a robot control device or a robot control method according to an embodiment of the present invention.
[0083] Referring to FIG. 8, a computing system 1000 relating to a robot control device or a robot control method includes at least one processor 1100, a memory 1300, a user interface input device 1400, a user interface output device 1500, storage 1600, and a network interface 1700, all connected via a bus 1200.
[0084] The processor 1100 is a central processing unit (CPU) or a semiconductor device that executes processing based 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 recording media. For example, the memory 1300 may include a read only memory (ROM) 1310 and a random access memory (RAM) 1320.
[0085] Accordingly, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware executed by processor 1100, in a software module, or in a combination of the two. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or other recording medium (i.e., memory 1300 and / or storage 1600).
[0086] An exemplary storage medium is coupled to processor 1100 such that processor 1100 reads information from and records information on the storage medium. Alternatively, the storage medium may be integral to 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.
[0087] The above description is merely an illustrative example of the technical concept of the present invention, and various modifications and variations are possible by those skilled in the art without departing from the essential characteristics of the present invention.
[0088] The above-described embodiments 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 of the present invention may be implemented using a general-purpose computer or a special-purpose computer, such as a processor, controller, arithmetic logic unit (ALU), digital signal processor, microcomputer, field programmable gate array (FPGA), programmable logic unit (PLU), microprocessor, or other device that executes and responds to instructions. The processing device executes an operating system (OS) and software applications that run on the operating system. The processing device also accesses, stores, manipulates, processes, and generates data in response to the execution of the software. For ease of understanding, a processing device may be described as being a single device, but those skilled in the art will recognize 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.
[0089] Software includes computer programs, code, instructions, or a combination of one or more of these, which configure a processing device to operate as desired or, independently or collectively, instruct the processing device. 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 across 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.
[0090] Methods according to embodiments of the present invention may be embodied in the form of program instructions executed by various computer means and recorded on a computer-readable recording medium. The computer-readable recording medium may include, alone or in combination, program instructions, data files, data structures, and the like. The program instructions recorded on the recording medium may be those specially designed and constructed for the embodiments, or 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 tape, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially 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 code, such as that produced by a compiler, but also high-level language code that is executed by a computer using an interpreter, etc.
[0091] The hardware devices described above may be configured to operate as one or more software modules to perform the operations of embodiments of the present invention, and vice versa.
[0092] Although the embodiments of the present invention have been described above with limited drawings, those skilled in the art can apply various technical modifications and variations thereto. For example, even if the described techniques are performed in a different order from the described method, and / or the components of the described systems, structures, devices, circuits, etc. are combined or combined in a different form from the described method, or are replaced or replaced by other components or equivalents, suitable results will still be achieved.
[0093] Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the claims.
[0094] Therefore, the embodiments disclosed in the present invention are for illustrative purposes only and are not intended to limit the technical idea of the present invention. The scope of protection of the present invention should be interpreted according to the claims, and all technical ideas within the scope of the claims should be interpreted as being included in the scope of the present invention. [Explanation of symbols]
[0095] 100, 700 Robot control device 110, 1100 processors 115, 120 1st and 2nd memories 130 Communications Department 140, 150 1st and 2nd servers 145, 710 First user terminal 155, 720 Second user terminal 160, 650, 730 Robot 610, 620, 630 1st to 3rd setting files 640 target files 1000 Computing Systems 1200 Bus 1300 memory 1310 ROM 1320 RAM 1400 User Interface Input Device 1500 User interface output device 1600 Storage 1700 network interface
Claims
1. At least one memory storing computer-executable instructions; a communication unit that supports communication with at least one server; and at least one processor that accesses the memory and executes the instructions; The at least one processor storing a first setting file, including information about settings of the robot set by the first user terminal, from the first server based on the first setting file being identified; and Identifying a second setting file from a second server different from the first server, the second setting file including information about settings of the robot set by a second user terminal different from the first user terminal; determining a target file that is a basis for use in controlling the robot based on the first setting file and the second setting file; A robot control device configured to control the robot by applying information about robot settings contained in the target file to the robot.
2. The at least one processor Identifying information about the robot's settings from the first setting file to identify first setting information and second setting information from the information about the robot's settings; configured to identify selection information of the first setting information and selection information of the second setting information; The robot control device according to claim 1 , wherein the information relating to the robot settings includes setting information including a setting name, setting contents, and selection information relating to setting permissions.
3. The at least one processor If the selection information of the first setting information is information about being set by the first user terminal, applying the first setting information included in the first setting file to the target file; 3. The robot control device according to claim 2, wherein when the selected information of the second setting information is information regarding being set by the second user terminal, the second setting information included in the second setting file is applied to the target file.
4. The at least one processor If the selection information of the first setting information is information regarding being set by the second user terminal, the first setting information included in the second setting file is applied to the target file; 3. The robot control device according to claim 2, wherein when the selected information of the second setting information is information about being set by the first user terminal, the second setting information included in the first setting file is applied to the target file.
5. the at least one processor is configured to apply at least one of the first setting information and the second setting information to the target file by comparing a priority of the first setting information with a priority of the second setting information, based on whether selection information of the first setting information and selection information of the second setting information are identical; The selection information of the first setting information includes information regarding an authority for the first setting information to be set by at least one of the first user terminal and the second user terminal; The robot control device according to claim 2 , wherein the selection information of the second setting information includes information regarding an authority for the second setting information to be set by at least one of the first user terminal and the second user terminal.
6. The at least one processor If the selection information of the second setting information is information about being set by the second user terminal, identifying the second setting information from the second setting file; transmitting information requesting setting of the second setting information of the second user terminal to the second server based on the fact that the second setting information cannot be identified from the second setting file; 4. The robot control device according to claim 3, further configured to apply second setting information contained in the second setting file to the target file based on receiving the second setting file set by the second user terminal from the second server.
7. The at least one processor Identifying the first setting file from the first server based on the first user terminal setting information related to the robot setting via the first server; 2. The robot control device according to claim 1, further comprising: a second user terminal configured to identify the second setting file from the second server based on the second user terminal setting information related to the robot settings via the second server.
8. 2. The robot control device of claim 1, wherein the at least one processor is configured to store the modified first configuration file in the at least one memory based on identifying a notification from the first server regarding a change to the first configuration file.
9. The at least one processor identifying a third setting file that was previously stored before the first setting file was stored in the at least one memory; Identifying target information related to the configuration of the robot from the third configuration file; The robot control device according to claim 1 , further comprising: a controller configured to determine whether the target information is included in the first setting file.
10. The at least one processor determining the target file by identifying information about the robot's configuration from the first configuration file based on the target information being included in the first configuration file; The robot control device according to claim 9 , configured to determine the target file via the third setting file based on the fact that the target information is not included in the first setting file.
11. A control method for a robot control device, comprising: storing a first setting file, including information about settings of the robot set by the first user terminal, from the first server based on the first setting file being identified; and identifying a second setting file from a second server different from the first server, the second setting file including information about settings of the robot set by a second user terminal different from the first user terminal; determining a target file that is a base used to control the robot based on the first setting file and the second setting file; and controlling the robot by applying information about robot settings contained in the target file to the robot.
12. The step of controlling the robot includes: identifying information relating to the robot's settings from the first setting file, thereby identifying first setting information and second setting information from the information relating to the robot's settings; identifying a selection of the first setting information and a selection of the second setting information; The control method according to claim 11, wherein the information relating to the robot settings includes setting information including a setting name, a setting content, and selection information relating to setting permissions.
13. The step of controlling the robot includes: If the selection information of the first setting information is information about being set by the first user terminal, applying the first setting information included in the first setting file to the target file; 13. The control method of claim 12, further comprising: applying the second setting information included in the second setting file to the target file when the selection information of the second setting information is information about being set by the second user terminal.
14. The step of controlling the robot includes: applying the first setting information included in the second setting file to the target file when the selection information of the first setting information is information about being set by the second user terminal; 13. The control method of claim 12, further comprising: applying the second setting information included in the first setting file to the target file when the selection information of the second setting information is information about being set by the first user terminal.
15. the step of controlling the robot includes a step of applying at least one of the first setting information and the second setting information to the target file by comparing a priority of the first setting information with a priority of the second setting information, based on whether selection information of the first setting information and selection information of the second setting information are identical; The selection information of the first setting information includes information regarding an authority for the first setting information to be set by at least one of the first user terminal and the second user terminal; The control method of claim 12, wherein the selection information of the second setting information includes information regarding an authority for the second setting information to be set by at least one of the first user terminal and the second user terminal.
16. The step of controlling the robot includes: If the selection information of the second setting information is information about being set by the second user terminal, identifying the second setting information from the second setting file; transmitting information requesting setting of the second setting information of the second user terminal to the second server based on the fact that the second setting information cannot be identified from the second setting file; and applying second setting information contained in the second setting file to the target file based on receiving the second setting file set by the second user terminal from the second server.
17. The step of controlling the robot includes: Identifying the first setting file from the first server based on the first user terminal setting information related to the robot via the first server; The control method of claim 11, further comprising: identifying the second setting file from the second server based on the second user terminal setting information regarding the robot settings via the second server.
18. 12. The control method of claim 11, wherein the step of controlling the robot includes a step of storing the modified first configuration file in the at least one memory based on identifying a notification regarding a change to the first configuration file from the first server.
19. The step of controlling the robot includes: identifying a third setting file that has been previously stored before the first setting file is stored in the at least one memory; identifying target information related to the configuration of the robot from the third configuration file; The control method according to claim 11 , further comprising: determining whether the target information is included in the first configuration file.
20. The step of controlling the robot includes: determining the target file by identifying information about the robot's configuration from the first configuration file based on the target information being included in the first configuration file; 20. The control method of claim 19, further comprising: determining the target file via the third configuration file based on the target information not being included in the first configuration file.
Citation Information
Patent Citations
Robot control system, robot, robot management device, electronic apparatus, and robot control method
JP2023087235A