MOBILE ROBOT AND CONTROL METHODS THEREOF

The robot control procedure addresses network interruption issues by using dual communication protocols to manage network states and ensure operational stability, safety, and efficiency, even when connections are lost.

DE102024201387A1Pending Publication Date: 2025-03-13HYUNDAI MOTOR CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE102024201387
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-13
Filing Date
2024-02-15
Publication Date
2025-03-13

AI Technical Summary

Technical Problem

Network interruptions between robots and regulatory servers lead to reduced security, productivity, and efficiency, as robots cannot be monitored or controlled effectively, resulting in potential safety risks and operational inefficiencies.

Method used

Implementing a robot control procedure that utilizes a communication device to communicate with a regulatory server based on a first communication protocol (such as Kafka for pub-sub models) and a second protocol (like RSOCKET for TCP byte streams), allowing the robot to determine its network connection state and adjust operations accordingly, including evasive movements and synchronization with the regulatory server.

Benefits of technology

This solution enables robots to maintain stability and service quality by allowing asynchronous, bidirectional data flow, minimizing data loss, and ensuring safety and productivity even during network interruptions, by automatically resuming commands and tasks when the network connection is restored.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

An embodiment of a robot includes a communication device configured to communicate with a control server based on a first communication protocol and a second communication protocol, a network device configured to determine a network connection state between the communication device and the control server based on a setting of the first communication protocol and a setting of the second communication protocol, and a controller configured to control an operation of the robot based on the network connection state determined by the network device.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of Korean Patent Application No. 10-2023-0122057, which application is hereby incorporated by reference. TECHNICAL FIELD

[0002] The present disclosure relates to robots and robot control methods. BACKGROUND

[0003] When a control server controls a robot, the control server can monitor the robot's states and determine the robot's real-time location based on various sensor values ​​related to the robot. The control server can manage or control the robot when the robot is online and can manually move the robot's location by identifying a map.

[0004] However, a disruption of the network connection between the robot and the control server may lead to problems with reduced security, making it impossible to control or monitor the robot via the control server because it is impossible to determine the current location of the robot or the current state of the robot.

[0005] Additionally, a disruption of the network connection between the robot and the control server can lead to problems with reduced productivity and efficiency, since in a system controlling multiple robots, a robot that is not receiving commands may remain in an infinite standby state. For example, if a robot goes offline and stops in a confined space, the movement of other robots may become impossible or cause significant inconvenience when walking.

[0006] To solve these problems, in a situation where the network between the robot and the control server is interrupted, it is necessary to develop technologies that can perform evasive movements defined according to the mechanism received from the control server to ensure the stability of the robots and complement the quality of service. SUMMARY

[0007] The present disclosure relates to robots and robot control methods. Particular embodiments relate to technology for controlling a robot based on a state of the robot's network connection.

[0008] Embodiments of the present disclosure can solve problems encountered in the prior art while retaining the advantages of the prior art.

[0009] A present embodiment of the disclosure provides a robot and a robot control method that can be suitable for large-scale communication processing, can be optimized for high throughput and real-time data processing, can operate asynchronously, can support bidirectional data flows by communicating with a control server based on a first communication protocol and a second communication protocol, can compensate for the shortcomings of the general MQTT protocol, and can prevent the robot from receiving incorrect commands by minimizing data loss.

[0010] In addition, a present embodiment of the disclosure provides a robot and a robot control method that can perform exception scenarios for the execution of commands based on the settings of the first communication protocol and the settings of the second communication protocol and ensure the safety and service quality of the robot by determining the control state of the network connection at least twice.

[0011] In addition, an embodiment of the present disclosure provides a robot and a robot control method that can control the operation of the robot based on the control state determined by the network device, perform synchronization with the control server when the control state returns from the offline state to the online state, and automatically resume the last executed command and / or task.

[0012] The technical problems that can be solved by the present embodiments of the present disclosure are not limited to the above-mentioned problems, and any other technical problems not mentioned here will be clearly understood by those skilled in the art to which the present disclosure applies from the following description.

[0013] According to an embodiment of the present disclosure, a robot includes a communication device that communicates with a control server based on a first communication protocol and a second communication protocol, a network device that determines a network connection state between the communication device and the control server based on a setting of the first communication protocol and a setting of the second communication protocol, and a controller that controls an operation of the robot based on the network connection state determined by the network device.

[0014] According to one embodiment, the communication device may receive a set of commands comprising a movement command from the control server, an effective time of the movement command, a unique identifier of the movement command, and whether to move offline based on when the network connection state between the communication device and the control server is online. It may determine whether the effective time of the movement command is valid by comparing a difference between a first time at which the movement command is received and a second time following the first time with the effective time of the movement command. It may determine whether the unique identifier of the movement command is unique by comparing the unique identifier of the movement command with identifiers included in the robot's memory that correspond to commands that are different from the movement command.

[0015] According to one embodiment, the communication device may receive the set of commands from the control server based on the first communication protocol and transmit the set of commands to the controller if the effective time of the movement command is valid and the unique identifier of the movement command is unique, and the controller may control the operation of the robot based on the movement command included in the set of commands when the set of commands is received from the communication device.

[0016] According to one embodiment, the robot may further instruct an LTE (Long-Term Evolution) router that performs communication with the network device, and the network device may obtain a reference signal reception power (RSRP) and a reference signal reception quality (RSRQ) of the LTE router based on when the communication device receives a set of commands from the control server and the set of commands is transmitted to the controller, and may determine the state of the network connection between the communication device and the control server as an offline state based on when the RSRP is less than or equal to a first threshold and the RSRQ is less than or equal to a second threshold different from the first threshold.

[0017] According to one embodiment, the network device may determine the network connection state between the communication device and the control server as an online state based on whether the RSRP exceeds the first threshold or the RSRQ exceeds the second threshold, and may redetermine the network connection state between the communication device and the control server based on the setting of the first communication protocol and the setting of the second communication protocol when the network connection state between the communication device and the control server is determined as the online state.

[0018] According to one embodiment, the network device may transmit random dummy data to the control server at predetermined time intervals based on the first communication protocol, may increment the count data at predetermined intervals of the unit when a transmission time of the dummy data exceeds a first target threshold, and may redetermine the network connection state between the communication device and the control server as the offline state when the count data exceeds a second target threshold.

[0019] According to one embodiment, the network device may transmit the random dummy data to the control server at predetermined time intervals based on the second communication protocol, and may redetermine the network connection state between the communication device and the control server as the offline state when the dummy data is not transmitted to the control server.

[0020] According to one embodiment, the controller may store collected data obtained from the robot from a target time when the network connection state between the communication device and the control server is determined to be offline, may skip the movement command when the robot is in a stationary state from the target time, and may control the operation of the robot depending on whether the offline movement is executed based on when the movement command is skipped.

[0021] According to one embodiment, the controller may control the operation of the robot such that the robot is to be moved to a predetermined waiting location when a value of whether to move offline indicates that the robot is to be moved, and the controller may control the operation of the robot at a location of the robot when the value of whether to move offline indicates that the robot is not to be moved.

[0022] According to one embodiment, the controller may transmit collected data obtained and stored from the robot to the communication device from a first time point when the state of the network connection between the communication device and the control server is determined to be an offline state until a second time point when the state of the network connection between the communication device and the control server is changed from the offline state to an online state, and the communication device may request synchronization between the control server and the robot by transmitting the stored collected data to the control server.

[0023] According to a present disclosure, a method for controlling a robot includes communicating with a control server based on a first communication protocol and a second communication protocol, determining a control state between a communication device and a control server based on a setting of the first communication protocol and a setting of the second communication protocol, and controlling an operation of a robot based on the control state determined by the network device.

[0024] According to one embodiment, communicating with the control server may comprise receiving a set of commands comprising a movement command from the control server, an effective time of the movement command, a unique identifier of the movement command, and deciding whether to move offline based on when the control state of the network between the communication device and the control server is online, determining whether the effective time of the movement command is valid by comparing a difference between a first time at which the movement command is received and a second time following the first time with the effective time of the movement command, and determining whether the unique identifier of the movement command is unique by comparing the unique identifier of the movement command with identifiers included in the memory of the robot and corresponding to commands,which differ from the movement command.

[0025] According to one embodiment, receiving the set of commands may comprise receiving the set of commands from the control server based on the first communication protocol, transmitting the set of commands to the controller if the effective time of the movement command is valid and the unique identifier of the movement command is unique, and controlling the operation of the robot based on the movement command included in the set of commands.

[0026] According to one embodiment, determining the network connection state may include obtaining a reference signal reception power (RSRP) and a reference signal reception quality (RSRQ) of an LTE router based on when the communication device receives a set of commands from the control server and the set of commands is transmitted to the control, and determining the network connection state between the communication device and the control server as an offline state based on when the RSRP is less than or equal to a first threshold and the RSRQ is less than or equal to a second threshold that is different from the first threshold.

[0027] According to one embodiment, the method for controlling the robot may further comprise determining the network connection state between the communication device and the control server as an online state based on the RSRP exceeding the first threshold or the RSRQ exceeding the second threshold, and redetermining the network connection state between the communication device and the control server based on the setting of the first communication protocol and the setting of the second communication protocol when the network connection state between the communication device and the control server is determined to be the online state.

[0028] According to one embodiment, redetermining the network connection state may include transmitting random dummy data to the control server at predetermined time intervals based on the first communication protocol, incrementing count data at predetermined unit intervals based on when a transmission time of the dummy data exceeds a first target threshold, and redetermining the network connection state between the communication device and the control server as the offline state based on when the count data exceeds a second target threshold.

[0029] According to one embodiment, redetermining the network connection state may include transmitting random dummy data to the control server at predetermined time intervals based on the second communication protocol, and redetermining the network connection state between the communication device and the control server as the offline state when the dummy data is not transmitted to the control server.

[0030] According to one embodiment, the method for controlling the robot may further comprise storing collected data obtained from the robot from a target time when the network connection state between the communication device and the control server is determined to be an offline state, skipping the movement command when the robot is in a stationary state from the target time, and controlling the operation of the robot depending on whether the offline movement is executed based on when the movement command is skipped.

[0031] According to one embodiment, controlling the operation of the robot may include controlling the operation of the robot to move the robot to a predetermined waiting location when a value of “whether to move offline” indicates that the robot is to be moved, and controlling the operation of the robot at a location of the robot when the value of “whether to move offline” indicates that the robot is not to be moved.

[0032] According to one embodiment, the method for controlling the robot may further comprise transmitting collected data obtained and stored by the robot to the communication device from a first time point at which the network connection state between the communication device and the control server is determined to be an offline state to a second time point at which the network connection state between the communication device and the control server is changed from the offline state to an online state, and requesting synchronization between the control server and the robot by transmitting the stored collected data to the control server. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] The above and other objects, features and advantages of embodiments of the present disclosure will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: Fig. 1 is a diagram illustrating a configuration of a robot according to a present embodiment of the present disclosure; Fig. 2 is a flowchart describing a method for controlling a robot according to a present embodiment of the disclosure; Fig. 3 is a diagram illustrating communication between a robot and a control server according to a present embodiment of the present disclosure; Fig. 4 is a flowchart describing a method for transmitting a set of commands to a controller in a robot according to an embodiment of the present disclosure; Fig. 5 is a flowchart describing a method for determining a state of a network connection in a robot according to a present embodiment of the present disclosure; Fig. 6 is a flowchart describing a method for controlling a robot when a network connection state in a robot is offline according to a present embodiment of the present disclosure; Fig. 7 is a flowchart describing a method for requesting synchronization from a control server when a control state of a network connection in a robot changes from offline to online according to a present embodiment; Fig. 8 is a diagram illustrating the RSRP and RSRQ characteristics of an LTE router included in a robot according to a present embodiment of the present disclosure; and Fig. 9 is a diagram illustrating a calculation method related to a robot or a robot control method according to an embodiment of the present disclosure.

[0034] In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components. DETAILED DESCRIPTION OF THE ILLUSTRATIVE EMBODIMENTS

[0035] Hereinafter, the present embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Note that, in indicating the reference numerals to the components in each drawing, the identical or equivalent component is denoted by the same numeral even if it appears in other drawings. In addition, a detailed description of well-known features or functions will be omitted in order not to unnecessarily obscure the gist of the present embodiments of the present disclosure. Specifically, various embodiments of the present disclosure can be described with reference to the accompanying drawings.Accordingly, those skilled in the art will recognize that modifications, equivalents, and / or alternatives to the present embodiments described herein may be made in various ways without departing from the scope and spirit of the present disclosure. With respect to the description of the drawings, similar components may be identified by similar reference numerals.

[0036] In describing components of the present embodiments of the present disclosure, the terms first, second, A, B, (a), (b), and the like may be used. These terms are merely used to distinguish the components from other components, and the terms do not limit the type, order, or sequence of the components. Unless otherwise defined, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.It is further understood that terms as defined in commonly used dictionaries should be interpreted to have a meaning consistent with their meaning in the context of the relevant prior art and should not be interpreted in an idealized or overly formal sense unless expressly so defined herein. For example, terms such as "first," "second," "the first," "the second," or similar terms used herein may indicate various components regardless of their order and / or importance and are used only to distinguish one component from another and do not limit the components. For example, "a first device" and "a second device" may indicate various devices regardless of their order or priority.For example, without departing from the scope of the present disclosure, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.

[0037] In the present disclosure, the terms "have," "may have," "comprise," and "comprise," or "may include" and "may include," as used herein, indicate the presence of corresponding features (e.g., elements such as numerical values, functions, operations, or components), but do not preclude the presence of additional features.

[0038] It should be understood that when a component (e.g., the first component) is described as being "operatively or communicatively coupled to" or "connected to" another component (e.g., a second component), the component may be directly connected to the other component or may be connected via another component (e.g., a third component). On the other hand, when a component (e.g., a first component) is described as being "directly connected to" or "directly connected to" another component (e.g., a second component), it is assumed that there is no intervening component (e.g., a third component).

[0039] Depending on the situation, the term “configured to” as used here may, for example, be used to mean “suitable for”, “capable of”, “designed for”, “trained for”, “made for” or “capable of”.

[0040] The phrase "configured to (or set to)" should not only mean "specifically designed to" in hardware. Instead, the phrase "for a device configured to" may, in some situations, mean that the device is "capable of" interoperating with other devices or components. For example, the phrase "processor configured to perform (or set to perform) A, B, and C" may mean a special-purpose processor (e.g., an embedded processor) for performing a corresponding operation, or a general-purpose processor (e.g., a central processing unit (CPU) or an application processor) capable of performing corresponding processes by executing one or more software programs stored in a memory device. The terms used herein are for the purpose of describing specific embodiments only and are not intended to limit the scope of other embodiments.Singular terms may include plural terms unless the context clearly indicates otherwise. All terms used herein that include technical or scientific terms may have the same meaning as commonly understood by a person familiar with the prior art described in the specification. It is further understood that terms defined in a dictionary and commonly used should also be interpreted as commonly used in the relevant prior art, and not in an idealized or overly formal manner, unless expressly defined so in various embodiments of the present disclosure. In some cases, terms, even if defined in the specification, should not be interpreted to exclude present embodiments of the present disclosure.

[0041] In the disclosure disclosed herein, the terms "A or B," "at least one of A and / or B," or "one or more of A and / or B," and the like may encompass all possible combinations of the elements listed together. For example, the term "A or B," "at least one of A and B," or "at least one of A or B" may refer to all cases (1) where at least one A is included, to the case (2) where at least one B is included, or to the case (3) where both at least one A and at least one B are included.Additionally, when describing the components of embodiments of the present disclosure, each of the terms "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, and C," "at least one of A, B, or C," and "at least one of A, B, C, or any combination thereof" may include each of the listed items along with the corresponding term of the terms or any possible combination thereof. In particular, the phrase "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.

[0042] Hereinafter, embodiments of the present disclosure will be described with reference to the Fig. 1 to 9 described in detail.

[0043] Fig. 1 is a diagram illustrating a configuration of a robot according to a present embodiment of the present disclosure.

[0044] A robot 100 according to one embodiment may include a processor 110, a memory 120 with instructions 122, a communication device 130, a network device 150, and a controller 160. However, not all of the illustrated components are essential components. A robot or a system for controlling robots may be implemented with more components than those illustrated, or a robot or a system for controlling robots may be implemented with fewer components than those illustrated.

[0045] Robot 100 is a robot-like device capable of autonomous movement using wheels, etc., and represents a robot capable of performing required maintenance work in a maintenance space while moving through at least one or more maintenance spaces. For example, since a space requiring a cleaning service may be a space requiring cleaning, such as a home or an office, and a space requiring a guidance service may be a space requiring guidance, such as a sales agency or an airport, the spaces in one embodiment are not limited to these.

[0046] The processor 110 can execute software and control at least one other component (e.g., a hardware or software component) connected to the processor 110. The processor 110 can also perform various data processing or processes. The processor 110 controls the overall operation of the robot 100. The processor 110 can perform a predetermined operation by executing instructions 122 or commands stored in the memory 120. In addition, the processor 110 controls the operation of components provided in the robot 100. For comparison, the processor 110 can perform all operations operated by the robot 100. Therefore, in this description, the operations performed by the robot 100 are mainly described as operations performed by the processor 110 for simplicity.

[0047] Additionally, for simplicity, in this description, processor 110 is primarily described as a single processor, but is not limited thereto. For example, robot 100 may include at least one or more processors. Each of the at least one or more processors may perform all operations related to controlling the robot's operation.

[0048] The memory 120 may temporarily and / or permanently store various data and / or information necessary to control and / or drive the robot 100. For example, the memory 120 may store a set of commands (or command set) that includes a motion command, an effective time of the motion command, a unique identifier of the motion command, and whether it should be moved offline.

[0049] The communication device 130 can communicate with an external device in a wired or wireless manner. The communication device 130 communicates with a user terminal (not shown) and a control server 140. The communication device 130 can communicate with the user terminal using a short-range communication method. For example, the communication device 130 communicates with the user terminal via a Bluetooth or Wi-Fi communication link. In addition, the communication device 130 can communicate with the control server 140 using a remote communication method. For example, the communication device 130 communicates with an AP device via Wi-Fi and communicates with the control server 140 via a remote communication network connected to the AP device.

[0050] The communication device 130 may include a wireless communication module (e.g., a cellular communication module, a short-range wireless communication module, or a GNSS (Global Navigation Satellite System) communication module) or a wired communication module (e.g., a LAN communication module or a power line communication module). In addition, the communication device 130 may perform short-range communication and use, for example, Bluetooth, BLE (Bluetooth Low Energy), near-field communication, WLAN, Zigbee, infrared data association (IrDA), Wi-Fi direct (WFD), ultra-wideband (UWB), Ant+ communication, etc. The communication device 130 may perform long-range communication and communicate with an external device, e.g., via a legacy cellular network, a 5G network, a next-generation communication network, the Internet, a computer network (e.g., LAN or WAN), etc.

[0051] The communication device 130 can establish communication with the user terminal, the robot 100, and the control server 140 under the control of the processor 110. In addition, the communication device 130 transmits control signals and data to the user terminal, the robot 100, and the control server 140, or the communication device 130 receives control signals and data from the user terminal, the robot 100, and the control server 140.

[0052] In particular, in this description, the communication device 130 may be described as a communication device that communicates with the control server 140 based on a first communication protocol and a second communication protocol. For example, the first communication protocol may include a Kafka interface for a pub-sub model, and the second communication protocol may include an RSocket interface for TCP byte stream transmission. A detailed description of this will be provided later in Fig. 5 provided.

[0053] The network device 150 may determine a state of the network connection between the communication device 130 and the control server 140 based on a set of the first communication protocol and a set of the second communication protocol. For example, unlike the communication device 130 communicating with the control server 140, the network device 150 may determine the state of the network connection between the communication device 130 and the control server 140 and, based on the determined state of the network connection, transmit commands for controlling the operation of the robot 100 to the processor 110 or the controller 160. Additionally, the network device 150 may transmit the state of the network connection to at least one or more components included in the robot 100 based on the network connection state being determined to be offline.A detailed description of this will be given later in . Fig. 6 provided below.

[0054] Controller 160 may control the operation of robot 100 based on the control state of the connection determined by network device 150. In particular, controller 160 may execute software and control at least one other component (e.g., a hardware component or a software component) connected to processor 110. Therefore, for simplicity, in this description, the operation performed by controller 160 is described as the same operation as the operation performed by processor 110.

[0055] Fig. 2 is a flowchart describing a method for controlling a robot according to an embodiment of the present disclosure.

[0056] In operation 210, the communication device (e.g., the communication device 130 of Fig. 1) a set of rules from the control server (e.g., the control server 140 of Fig. 1). For example, the communication device may receive a set of commands including a movement command from the control server, an effective time of the movement command, a unique identifier of the movement command, and an indication of whether a movement should be performed offline based on when the state of the network connection between the communication device and the control server is online. A detailed description of this will be provided later in Fig. 4 provided below.

[0057] In operation 220, the communication device may send a set of commands to the controller (e.g., the controller 160 of Fig. 1). For example, the communication device may transmit the set of commands to the controller based on when the effective time of the motion command is valid and the unique identifier of the motion command is unique. The methods for determining the validity of the effective time and the uniqueness of the unique identifier are described later in Fig. 4 described in detail.

[0058] In operation 230, the network device (e.g., the network device 150 in Fig. 1) First, determine (or identify) the state of the connection. For example, the network device may first determine the state of the connection based on characteristic values ​​of the signal stored in the robot (e.g., the robot 100 in Fig. 1) contained LTE router, depending on when the communication device receives a set of commands from the control server and the set of commands is transmitted to the control.

[0059] In operation 235, when the state of the network connection between the communication device and the control server is offline, the controller may control the evasive movement of the robot. For example, the controller may control the evasive movement of the robot in the offline state based on a value of whether it should move offline from the target time when the network connection state between the communication device and the control server is determined to be offline. A detailed description of this will be provided later in Fig. 6 provided below.

[0060] In operation 240, when the state of the network connection between the communication device and the control server is online, the network device may secondarily determine (or identify) the state of the network connection. For example, when the state of the network connection between the communication device and the control server is determined to be the online state, the network device may redetermine the state of the network connection between the communication device and the control server based on the setting of the first communication protocol and the setting of the second communication protocol. A detailed description in this regard will be provided later in Fig. 5 provided below.

[0061] In operation 245, when the state of the network connection between the communication device and the control server is online, the communication device may request synchronization with the control server. However, it is not limited to this, and the communication device may request synchronization with the control server when the state of the network connection between the communication device and the control server changes from offline to online. A detailed description of this will be provided later in Fig. 7 provided.

[0062] Fig. 3 is a diagram illustrating communication between a robot and a control server according to a present embodiment of the disclosure.

[0063] A robot 300 according to an embodiment may include a communication device 310, a network device 320, a controller 330, a state device 340, a recovery device 350, and an LTE router 360. For example, the communication device 310, the network device 320, and the controller 330 may have the same configuration as that shown in Fig. 1. The state device 340 may determine an evasive movement condition (e.g., an evasive movement condition in the offline state) and transmit a command corresponding to the evasive movement via the controller 330 when the condition is met. When the state of the connection between the communication device 310 and a control server 370 changes from offline to online (e.g., network recovery), the recovery device 350 may transmit a request to perform state recovery of the robot 300 and the control server 370 to the controller 330.

[0064] The communication device 310 can transmit and receive state data (e.g., data including a state of the robot) and control data (e.g., data including a control of the robot) with the control server 370 based on the first communication protocol and the second communication protocol.

[0065] The first communication protocol is a Kafka interface for the Pub-Sub model, which supports large-scale communication processing, real-time processing, stability, supports various communication patterns, and is scalable. For example, the first communication protocol is suitable for processing large-scale communication and can handle thousands or more connections. The first communication protocol is optimized for high throughput and real-time data processing. The first communication protocol guarantees stable message delivery, supports patterns such as publish-subscribe, queue, and stream, and can increase scalability by forming a cluster.

[0066] The second communication protocol is the RSocket interface for TCP byte stream transmission, which can provide asynchronous, efficient, flexible, and stable communication. For example, the second communication protocol operates asynchronously, supports bidirectional streams, and can have lower overhead compared to HTTP / 1.1, HTTP / 2, and WebSocket. Additionally, the second communication protocol can support various communication patterns such as request-response, request-stream, channel, and fire-and-forget. It can reestablish connections that are lost during communication, thus enabling continuous communication without message loss.

[0067] Fig. 4 is a flowchart describing a method for transmitting a set of commands to a controller in a robot according to a present embodiment of the present disclosure.

[0068] In operation 410, the communication device (e.g., the communication device 130 of Fig. 1) a set of commands from the control server (e.g., the control server 140 of Fig. 1) based on the first communication protocol. For example, the communication device may receive a set of commands including a motion command from the control server, an effective time of the motion command, a unique identifier of the motion command, and an indication of whether a motion should be performed offline based on when the state of the network connection between the communication device and the control server is online. In particular, the communication device may receive a set of commands based on a first communication protocol related to the Kafka interface running in the background of the robot.

[0069] In operation 420, the communication device may determine the validity of the effective time. For example, the communication device may determine whether the effective time of the movement command is valid by comparing a difference between a first time at which the movement command is received and a second time following the first time with the effective time of the movement command. In this case, the second time may represent the time at which it is determined whether the effective time of the travel command is valid. If the difference between the first time and the second time exceeds the effective time of the travel command, the controller (e.g., the controller 160 in Fig. 1) Determine that the effective time of the run command is invalid and terminate operation. Alternatively, if the difference between the first time and the second time is less than or equal to the effective time of the run command, the controller can determine that the effective time of the run command is valid.

[0070] In operation 430, the communication device may determine the uniqueness of the unique identifier. For example, the communication device may determine whether the unique identifier of the motion command is unique by comparing the unique identifier of the motion command to identifiers contained in the robot's memory that correspond to different commands. If the unique identifier of the motion command is the same as at least one of the identifiers contained in the memory, the controller may determine that the unique identifier of the motion command is not unique and may terminate operation.

[0071] In operation 440, the communication device may transmit a set of commands to the controller based on the effective time of the motion command and the unique identifier of the motion command. Thereafter, when the set of commands is received by the device, the controller may control the operation of the robot based on the motion command included in the set of commands.

[0072] Fig. 5 is a flowchart describing a method for determining the state of a network connection in a robot according to a present embodiment of the present disclosure.

[0073] In operation 511, the robot (e.g., the robot 100 in Fig. 1) further comprise an LTE router connected to the network device (e.g., the network device 150 in Fig. 1). The network device may receive a reference signal reception power (RSRP) and a reference signal reception quality (RSRQ) from the LTE router. For example, the network device may receive the RSRP and RSRQ of the LTE router based on when the communication device (e.g., the communication device 130 in Fig. 1) a set of rules from the control server (e.g., the control server 140 in Fig. 1) receives and sends the set of rules to the controller (e.g. the controller 160 in Fig. 1) is transferred.

[0074] In operations 513 and 515, the network device may determine whether the RSRP is less than or equal to a first threshold (e.g., -100 dBm) and the RSRQ is less than or equal to a second threshold (e.g., -20 dB) that is different from the first threshold. However, since the first threshold and the second threshold are values ​​that can change depending on the settings of the components, the values ​​are not limited thereto.

[0075] In operation 517, the network device may determine whether the RSRP satisfies the first threshold or less and the RSRQ satisfies the second threshold or less, which is different from the first threshold.

[0076] In operation 519, the network device may determine the state of the connection between the communication device and the control server as an offline state based on the RSRP being less than or equal to the first threshold and the RSRQ being less than or equal to the second threshold, which is different from the first threshold.

[0077] In operation 521, the network device may determine the state of the connection between the communication device and the regulatory server as the online state based on the RSRP exceeding the first threshold or the RSRQ exceeding the second threshold. In detail, operations 517 to 521 may include operations related to the first determination of the state of the network connection between the communication device and the regulatory server. The network device may determine the state of the connection more quickly through the RSRP and RSRQ of the LTE router.

[0078] Thereafter, when the network connection state between the communication device and the control server is determined to be the online state, the network device may perform a second determination that redetermines the network connection state between the communication device and the control server based on the setting of the first communication protocol and the setting of the second communication protocol.

[0079] In operation 523, the network device may transmit dummy data to the control server based on the first communication protocol. Thereafter, in operation 525, the network device may transmit the count data at predetermined unit intervals based on a transmission time (e.g., represented as "latency" in Fig. 5) increase the dummy data that exceeds a first target threshold (e.g. represented as “threshold” in operation 525 of Fig. 5). In operation 527, the network device may determine whether the count data (e.g., represented as "count" in Fig. 5) a second target threshold (e.g. represented as “threshold” in operation 527 of Fig. 5). In operation 533, the network device may redetermine the state of the connection between the communication device and the control server as the offline state based on the count data exceeding the second target threshold.

[0080] In operation 529, the network device may transmit the dummy data to the control server based on the second communication protocol. In this case, the dummy data transmitted based on the first communication protocol may be different from the dummy data transmitted based on the second communication protocol. For example, the network device may transmit random dummy data to the control server at predetermined intervals based on the second communication protocol. In operation 531, the network device may check whether dummy data is being transmitted. In operation 533, the network device may redetermine the state of the connection between the communication device and the control server as an offline state based on the dummy data not transmitted to the control server.

[0081] In operation 535, the network device may transmit the newly determined network connection state to the controller. Thereafter, the controller may execute a command (or mechanism) corresponding to the evasive action based on the newly determined network connection state being the offline state.

[0082] Fig. 6 is a flowchart describing a method for controlling a robot when a network connection state in a robot is offline according to a present embodiment of the disclosure.

[0083] In operation 610, the control (e.g. control 160 in Fig. 1) determine whether the control state of the network connection between the communication device (e.g., the communication device 130 in Fig. 1) and the control server (e.g. the control server 140 in Fig. 1) is the offline state. For example, the controller may send a request for offline testing to the network device (e.g., the network device 150 in Fig. 1). The controller can then receive the specified control status from the network device. The controller can check the offline status based on the received network status. In this case, if the network status is online, the controller can continue monitoring because the communication between the control server and the communication device is operating normally.

[0084] In operation 620, the controller may store the collected data in the memory. For example, the controller may store the collected data received from the robot in the memory from the target time at which the network connection state between the communication device and the control server is determined to be offline. As described later in Fig. 7, the controller may request synchronization with the control server by transmitting to the communication device the collected data obtained from the target time point from the time the state is changed to the online state.

[0085] In operations 630 and 640, the controller may skip the move command if the robot is in a stationary state from the target time. Thereafter, the controller may control the operation of the robot depending on whether it is moving offline based on the time at which the move command is skipped.

[0086] In operation 650, the controller may determine whether to move offline. For example, the controller may determine whether to move the robot offline depending on whether an offline move is received from the controller server, based on when the state of the network connection between the communication device and the controller server is online.

[0087] In operation 660, the controller may control the operation of the robot at the robot's location if a value of whether to move offline indicates that the robot is unable to move. Specifically, the controller may allow the robot to wait at the robot's current location if the value of "whether to move offline" indicates that the robot cannot move.

[0088] In operation 670, when the value of "whether to move offline" indicates that the robot's movement is possible, the controller may control the robot's operation so that the robot can move to a predetermined waiting location. That is, the controller may execute the rules included in operation 670, thereby executing a command (or mechanism) corresponding to the robot's evasive movement.

[0089] Fig. 7 is a flowchart describing a method for requesting synchronization from a control server when the control state of a network connection in a robot changes from offline to online according to a present disclosure.

[0090] In operation 710, the control (e.g. control 160 in Fig. 1) Transmit collected data obtained from a mobile robot from a first time to a second time to the communication device. Specifically, the controller may perform network recovery synchronization between the control server and the robot by transmitting the collected data to the communication device.

[0091] In operation 720, the communication device (e.g., the communication device 130 in Fig. 1) Request synchronization between the control server and the robot by transmitting the collected data based on the receipt of the collected data from the controller to the control server.

[0092] Fig. 8 is a diagram illustrating the characteristics of RSRP and RSRQ of an LTE router included in a robot according to a present embodiment of the present disclosure.

[0093] With reference to Fig. 8, a first table 810 includes the properties of the RSRP of the LTE router. For example, the network device (e.g., the network device 150 in Fig. 1) Determine that a strength of a signal that can check the state of the network connection is strong when the RSRP is -80dBm or more. The network device may determine that the strength of the signal that can check the state of the network connection is somewhat strong when the RSRP is -80dBm to -90dBm. The network device may determine that the strength of the signal that can check the state of the connection is rather weak when the RSRP is -90dBm to -100dBm. Finally, the device may determine that the strength of the signal for checking the state of the network connection is absent when the RSRP is -100dBm or less.

[0094] A second table 820 includes the RSRQ characteristics of the LTE router. For example, the network device may determine that the strength of the signal that can verify the status of the network connection is strong if the RSRQ is -10 dB or more. The network device may determine that the strength of the signal that can verify the status of the network connection is somewhat strong if the RSRQ is -10 dB to -15 dB. The device may determine that the strength of the signal that can confirm the status of the connection is rather weak if the RSRQ is -15 dB to -20 dB. Finally, the network device may determine that there is no signal strength to verify the status of the network connection if the RSRQ is -20 dB or less.

[0095] Therefore, the network device may determine whether the RSRP is less than or equal to the first threshold (e.g., -100 dBm) and the RSRQ is less than or equal to the second threshold (e.g., -20 dB) that is different from the first threshold. Based on the RSRP being less than the first threshold and the RSRQ being less than the second threshold that is different from the first threshold, the network device may determine the state of the network connection between the communication device and the control server as offline (i.e., it is determined that there is no signal strength).

[0096] Fig. 9 is a diagram illustrating a calculation method related to a robot or a robot control method according to a present embodiment of the present disclosure.

[0097] Referring to Fig.9, a computing system 1000 associated with a robot or a control method for a robot may include at least a processor 1100, a memory 1300, a user interface input device 1400, a user interface output device 1500, a memory (ie, a storage) 1600, and a network interface 1700 interconnected via a bus 1200.

[0098] Processor 1100 may be a central processing unit (CPU) or a semiconductor device that processes instructions stored in memory 1300 and / or storage 1600. Both memory 1300 and storage 1600 may include various types of volatile or non-volatile storage means. For example, memory 1300 may include read-only memory (ROM) 1310 and random access memory (RAM) 1320.

[0099] Accordingly, the methods or algorithms described in connection with the embodiments disclosed in the specification may be implemented directly with a hardware module, a software module, or a combination of the hardware module and the software module executed by the processor 1100. The software module may be located on a storage medium (i.e., the memory 1300 and / or the memory 1600), such as random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrical EPROM (EEPROM), a register, a hard disk drive, a removable disk, or a compact disc-ROM (CD-ROM).

[0100] The storage means may, for example, be connected to the processor 1100. The processor 1100 may read information from the storage means and write information to the storage means. Alternatively, the storage means may be integrated into the processor 1100. The processor and the storage medium may be implemented with an application-specific integrated circuit (ASIC). The ASIC may be provided in a user terminal. Alternatively, the processor and the storage means may be implemented with separate components in the user terminal.

[0101] The above description merely illustrates the technical idea of ​​the embodiments of the present disclosure, and those having ordinary skill in the art to which the present disclosure refers will be able to make various modifications and variations without departing from the essential characteristics of the embodiments of the present disclosure.

[0102] The embodiments described above may be implemented with hardware elements, software elements, and / or a combination of hardware elements and software elements. For example, the devices, methods, and elements described in the embodiments may be implemented using general-purpose computers or special-purpose computers, such as a processor, an apparatus, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field-programmable array (FPA), a programmable logic unit (PLU), a microprocessor, or any device capable of executing and responding to instructions. A processing device may execute an operating system (OS) or software applications running on the OS. Further, the processing device may access, store, manipulate, process, and generate data in response to software execution.Those skilled in the art will understand that, although a single processing unit is illustrated for clarity, the processing unit may include a plurality of processing elements and / or a plurality of types of processing elements. For example, the processing device may include a plurality of processors or a processor and a controller. The processing unit may also have a different processing configuration, such as a parallel processor.

[0103] Software may comprise computer programs, codes, instructions, or one or more combinations thereof, and configure a control unit to operate in a desired manner or to control the processing unit independently or jointly. Software and / or data may be permanently or temporarily embodied in any type of machine, component, physical equipment, virtual equipment, computer storage means or units, or transmitted signal waves to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be dispersed across computer systems connected by networks and stored or executed in some form of dispersion. Software and data may be stored on a computer-readable writing medium.

[0104] The methods according to the above-described embodiments of the inventive concept may be recorded on a computer-readable medium comprising program instructions executable by various computing devices. The computer-readable medium may comprise program instructions, data files, data structures, etc., individually or in combination, and the program instructions recorded on the medium may be specifically designed and constructed for the embodiment or may be known and available to those skilled in the art of computer software. The computer-readable medium may comprise magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROMs and DVDs; magneto-optical media such as floppy disks; and hardware devices specifically configured to store and execute program instructions, such as ROMs, RAMs, flash memories, etc.Examples of computer programs include not only machine language code generated by a compiler, but also high-level code that can be executed by a computer using an interpreter or the like.

[0105] The devices described above may be configured to function as one or a plurality of software modules to perform the operations of the above-described embodiments of the present disclosure, or vice versa.

[0106] Although the embodiments are described in a limited manner with reference to the drawings, it may be apparent to those skilled in the art that the embodiments may be changed or modified in various ways based on the above description. For example, adequate effects can be achieved even if the aforementioned processes and methods are performed in a different order than described above, and / or the aforementioned elements, such as systems, structures, devices, or circuits, are combined or connected in different forms and modes than described above, or are replaced or changed with other components or equivalents.

[0107] Therefore, other implementations, other embodiments, and equivalents of the claims are also within the scope of the claims described below.

[0108] The effects of the robot and the robot control method according to the present embodiments of the present disclosure are described as follows.

[0109] According to at least one of the present embodiments of the present disclosure, there are effects that may be suitable for large-scale communication processing, that may be optimized for high throughput and real-time data processing, that may operate asynchronously, that may support bidirectional streams by communicating with a control server based on a first communication protocol and a second communication protocol, that may compensate for the shortcomings of the general MQTT protocol, and that may prevent the robot from receiving incorrect commands by minimizing data loss.

[0110] In addition, according to at least one of the present embodiments of the present disclosure, there are effects that can determine exception scenarios for commands to be executed and ensure robot safety and service quality by determining the state of the network connection at least twice based on the settings of the first communication protocol and the settings of the second communication protocol.

[0111] In addition, according to at least one of the present embodiments of the disclosure, there are effects that can control the operation of the robot based on the control state detected by the network device, perform synchronization with the control server when the control state returns from the offline state to the online state, and automatically resume the last executed command and / or task.

[0112] In addition, various effects may be provided that are directly or indirectly identified by this description.

[0113] Accordingly, the present embodiments of the present disclosure are not intended to limit the technical spirit of the present disclosure, but are provided for illustrative purposes only, and the scope of the technical spirit of the present disclosure is not limited by these embodiments. The scope of the present embodiments of the present disclosure should be interpreted by the appended claims, and all equivalents thereof should be construed to encompass the scope of the present disclosure. QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] KR 10-2023-0122057

[0001]

Claims

[1] Robot, comprising: a communication device configured to communicate with a control server based on a first communication protocol and a second communication protocol; a network device configured to determine a network connection state between the communication device and the control server based on a setting of the first communication protocol and a setting of the second communication protocol; and a controller configured to control an operation of the robot based on the control state determined by the network device. [2] The robot of claim 1, wherein the communication device is configured receive a set of commands comprising a move command from the control server, an effective time of the move command, a unique identifier of the move command, and whether to move offline based on the state of the network connection between the communication device and the control server being online; Determining whether the effective time of the movement command is valid by comparing a difference between a first time at which the movement command is received and a second time following the first time with the effective time of the movement command; and Determining whether the unique identifier of the motion command is unique by comparing the unique identifier of the motion command with identifiers included in a memory device of the robot and corresponding to different commands of the motion command. [3] Robot according to claim 2, wherein: the communication device is configured: receive the set of commands from the control server based on the first communication protocol; and to transfer the sentence to the control system based on the effective time of validity of the movement command and the uniqueness of the identifier of the movement command; and the controller is configured to control the operation of the robot based on the movement command contained in the set of commands at a time when the set of commands is received from the communication device. [4] Robot according to claim 2, wherein the control is configured: to store collected data obtained from the robot from a target time at which the state of the network connection between the communication device and the control server is determined to be an offline state; to skip the movement command from the target time in a case where the robot is in a stationary state; and to control the operation of the robot depending on whether an offline movement is performed based on a time at which the movement command is skipped. [5] Robot according to claim 4, wherein the control is configured: to control the operation of the robot so that the robot can be moved to a predetermined waiting location when a value of “whether to move offline” indicates that the robot is movable; and to control the operation of the robot at a location of the robot when the value of "whether to move offline" indicates that the robot is not movable. [6] Robot according to claim 1, wherein: the robot further comprises an LTE (Long Term Evolution) router configured to perform communication with the network device; and the network device is configured: obtaining a reference signal reception power (RSRP) and a reference signal reception quality (RSRQ) of the LTE router based on the communication device receiving a set of commands from the control server and transmitting the set of commands to the control system; and determine the state of the network connection between the communication device and the control server as an offline state based on the RSRP being less than or equal to a first threshold and the RSRQ being less than or equal to a second threshold different from the first threshold. [7] The robot of claim 6, wherein the network device is configured determine the state of the network connection between the communication device and the control server as an online state based on whether the RSRP exceeds the first threshold or the RSRQ exceeds the second threshold; and redetermine the network connection state between the communication device and the control server based on setting the first communication protocol and setting the second communication protocol in response to the network connection state between the communication device and the control server being determined to be the online state. [8] The robot of claim 7, wherein the network device is configured transmit random dummy data to the control server at predetermined time intervals based on the first communication protocol; increase count data at predetermined unit intervals based on a transmission time of the random dummy data exceeding a first target threshold; and redetermine the state of the network connection between the communication device and the control server as the offline state based on the count data exceeding a second target threshold. [9] The robot of claim 7, wherein the network device is configured transmit random dummy data to the control server at predetermined time intervals based on the second communication protocol; and redetermine the state of the network connection between the communication device and the control server as the offline state based on the random dummy data that is not transmitted to the control server. [10] Robot according to claim 1, wherein: the controller is configured to transmit collected data received and stored by the robot to the communication device from a first time point at which the network connection state between the communication device and the control server is determined to be an offline state until a second time point at which the network connection state between the communication device and the control server is changed from the offline state to an online state; and the communication device is configured to request synchronization between the control server and the robot by transmitting the stored collected data to the control server. [11] A method for controlling a robot, the method comprising: Communicating with a control server based on a first communication protocol and a second communication protocol; Determining a network connection state between a communication device and the control server based on a setting of the first communication protocol and a setting of the second communication protocol; and Regulating operation of the robot based on the determined state of the network connection. [12] The method of claim 11, wherein communicating with the control server comprises: Receiving a set of commands comprising a move command from the control server, an effective time of the move command, a unique identifier of the move command, and an indication of whether the state of the network connection between the communication device and the control server is online to move offline; Determining that the effective time of the movement command is valid by comparing a difference between a first time at which the movement command is received and a second time following the first time with the effective time of the movement command; and Determining whether the unique identifier of the motion command is unique by comparing the unique identifier of the motion command with identifiers included in a memory device of the robot and corresponding to different commands of the motion command. [13] The method of claim 12, wherein receiving the set of commands comprises: Receiving the set of commands from the control server based on the first communication protocol; Transmitting the set of commands to a controller based on the effective time at which the motion command is valid and the unique identifier of the motion command is unique; and Regulate the operation of the robot based on the motion command included in the set of commands. [14] The method of claim 12, further comprising Storing collected data obtained by the robot from a target time at which the state of the network connection between the communication device and the control server is determined to be an offline state; Skipping the motion command in a case where the robot is in a stationary state from the target time; and Regulating the operation of the robot depending on whether an offline move is performed based on a time at which the move command is skipped. [15] The method of claim 14, wherein controlling the operation of the robot comprises: Controlling the operation of the robot such that the robot is to be moved to a predetermined waiting location in response to a value of “whether to move offline” indicating that the robot is movable; and Controlling the operation of the robot at a location of the robot in response to the value of "whether to move offline" indicating that the robot is not movable. [16] The method of claim 11, wherein determining the state of the network connection comprises Obtaining a reference signal reception power (RSRP) and a reference signal reception quality (RSRQ) of an LTE router based on the communication device receiving a set of commands from the control server and transmitting the set of commands to a controller; and Determining the network connection state between the communication device and the control server as an offline state based on the RSRP being less than or equal to a first threshold and the RSRQ being less than or equal to a second threshold different from the first threshold. [17] The method of claim 16, further comprising: Determining the network connection state between the communication device and the control server as an online state based on the RSRP exceeding the first threshold or the RSRQ exceeding the second threshold; and redetermining the network connection state between the communication device and the control server based on setting the first communication protocol and setting the second communication protocol in response to the network connection state between the communication device and the control server being determined to be the online state. [18] The method of claim 17, wherein redetermining the state of the network connection comprises: Transmitting random dummy data to the control server at predetermined time intervals based on the first communication protocol; Increasing count data at predetermined unit intervals based on a transmission time of the random dummy data exceeding a first target threshold; and redetermining the network connection state between the communication device and the control server as the offline state based on the count data exceeding a second target threshold. [19] The method of claim 17, wherein redetermining the state of the network connection comprises: Transmitting random dummy data to the control server at predetermined time intervals based on the second communication protocol; and re-determining the network connection state between the communication device and the control server as the offline state based on the random dummy data that is not transmitted to the control server. [20] The method of claim 11, further comprising Transmitting collected data obtained and stored by the robot to the communication device from a first time point at which the network connection state between the communication device and the control server is determined to be an offline state to a second time point at which the network connection state between the communication device and the control server is changed from the offline state to an online state; and Requesting synchronization between the control server and the robot by transferring the stored collected data to the control server.

Citation Information

Patent Citations

  • Mobile robot and method thereof

    KR1020250039208A

  • KOREANISCHENPATENTANMELDUNG-NR.10-2023-0122057