Technique for Reliable Communication in a Cloud Robotics System
20200187286 · 2020-06-11
Inventors
Cpc classification
H04L69/26
ELECTRICITY
H04L67/125
ELECTRICITY
H04W88/06
ELECTRICITY
H04L67/12
ELECTRICITY
B25J13/006
PERFORMING OPERATIONS; TRANSPORTING
H04W92/10
ELECTRICITY
H04W88/10
ELECTRICITY
H04W4/70
ELECTRICITY
H04W76/16
ELECTRICITY
International classification
H04W76/16
ELECTRICITY
G05B19/418
PHYSICS
Abstract
A technique for providing reliable wireless communication between a robot (104) and a robot controller (102) in a cloud robotics system is disclosed. A method implementation of the technique is performed by a primary connectivity component (106) supporting multipath transmission over a plurality of wireless transmission paths to establish connectivity between the robot (104) and the robot controller (102). The method comprises triggering determining (S402) a robot sensitivity value indicating a degree of operation sensitivity of the robot (104) to a transmission failure between the robot (104) and the robot controller (102), and triggering configuring (S404) use of one or more of the plurality of wireless transmission paths for communication between the robot (104) and the robot controller (102) depending on the determined robot sensitivity value.
Claims
1-45. (canceled)
46. A method for providing reliable wireless communication between a robot and a robot controller in a cloud robotics system, the method being performed by a primary connectivity component supporting multipath transmission over a plurality of wireless transmission paths to establish connectivity between the robot and the robot controller, the method comprising: triggering determining a robot sensitivity value indicating a degree of operation sensitivity of the robot to a transmission failure between the robot and the robot controller; and triggering configuring use of one or more of the plurality of wireless transmission paths for communication between the robot and the robot controller based on the determined robot sensitivity value.
47. The method of claim 46, wherein the robot sensitivity value is determined based on: a degree of sensitivity of a current state of the robot; and/or a degree of criticality of a command to be executed by the robot.
48. The method of claim 47, wherein the degree of sensitivity of the current state of the robot is determined based on: a current speed of a tool center point (TCP) of the robot; a current distance of the robot to a target pose; and/or a criticality of a trajectory segment through which the robot currently moves.
49. The method of claim 47, wherein the degree of criticality of the command to be executed by the robot is determined based on: a type of the command; a history of commands executed by the robot; and/or the degree of sensitivity of the current state of the robot.
50. The method of claim 46, wherein, when the determined robot sensitivity value exceeds a predetermined threshold, the configuring use of the one or more of the plurality of wireless transmission paths for communication comprises one of: configuring use of two or more wireless transmission paths for simultaneous transmission between the robot and the robot controller; and configuring use of an alternative wireless transmission path among the plurality of wireless transmission paths for communication between the robot and the robot controller, wherein the alternative wireless transmission path is determined to be more reliable than a currently used wireless transmission path.
51. The method of claim 46, wherein the configuring use of the one or more of the plurality of wireless transmission paths for communication comprises: activating one or more wireless interfaces corresponding to the one or more of the plurality of wireless transmission paths to be used for communication; and/or deactivating one or more wireless interfaces corresponding to the remaining ones of the plurality of wireless transmission paths.
52. The method of claim 46, wherein the configuring use of the one or more of the plurality of wireless transmission paths for communication comprises: sending a configuration message to a counterpart connectivity component indicating which of the one or more of the plurality of wireless transmission paths are to be used for communication between the robot and the robot controller.
53. The method of claim 52, wherein the configuration message is sent over the one or more of the plurality of wireless transmission paths to be used for communication between the robot and the robot controller.
54. The method of claim 46, wherein the configuring use of the one or more of the plurality of wireless transmission paths for communication is triggered when a delay or loss of a message is detected.
55. The method of claim 54, wherein the delay or loss of the message is detected based on verifying the message is in compliance with a predetermined communication scheme specific to the robot.
56. The method of claim 46, wherein the configuring use of the one or more of the plurality of wireless transmission paths for communication is triggered when a notification message received from a counterpart connectivity component; the notification message indicating: a relative delay between one or more of the plurality of wireless transmission paths, jitter on one or more of the plurality of wireless transmission paths; and/or a loss of a message.
57. The method of claim 46: wherein a tunnel is established between the primary connectivity component and a counterpart connectivity component; and wherein communication between the robot and the robot controller is carried out through the tunnel.
58. The method of claim 46: wherein communication between the robot and the robot controller is carried out via the primary connectivity component and a counterpart connectivity component; wherein the primary connectivity component and the counterpart connectivity component respectively communicate with the robot and the robot controller using a first transmission protocol; and wherein communication between the primary connectivity component and the counterpart connectivity component is carried out using a second transmission protocol.
59. A method for providing reliable wireless communication between a robot and a robot controller in a cloud robotics system, the method being performed by a counterpart connectivity component supporting multipath transmission over a plurality of wireless transmission paths to establish connectivity between the robot and the robot controller, the method comprising: receiving a configuration message indicating that one or more particular wireless transmission paths of the plurality of wireless transmission paths are to be used for communication between the robot and the robot controller; and triggering configuring use of the one or more particular wireless transmission paths for communication between the robot and the robot controller.
60. The method of claim 59, wherein the configuring use of the one or more particular wireless transmission paths for communication comprises: activating one or more wireless interfaces corresponding to the one or more particular wireless transmission paths to be used for communication; and/or deactivating one or more wireless interfaces corresponding to the remaining ones of the plurality of wireless transmission paths.
61. The method of claim 59, wherein the configuration message is received over the one or more particular wireless transmission paths to be used for communication between the robot and the robot controller.
62. The method of claim 59, further comprising: triggering determining a relative delay between one or more of the plurality of wireless transmission paths, jitter on one or more of the plurality of wireless transmission paths; and/or a loss of a message; and/or sending a notification message to a primary connectivity component indicating: the determined relative delay between one or more of the plurality of wireless transmission paths, the determined jitter on one or more of the plurality of wireless transmission paths, and/or the determined loss of a message.
63. The method of claim 59: wherein a tunnel is established between the counterpart connectivity component and a primary connectivity component; and wherein communication between the robot and the robot controller is carried out through the tunnel.
64. The method of claim 59: wherein communication between the robot and the robot controller is carried out via the counterpart connectivity component and a primary connectivity component; wherein the counterpart connectivity component and the primary connectivity component respectively communicate with the robot and the robot controller using a first transmission protocol; and wherein communication between the counterpart connectivity component and the primary connectivity component is carried out using a second transmission protocol.
65. A computing unit for providing reliable wireless communication between a robot and a robot controller in a cloud robotics system, the computing unit configured to execute a primary connectivity component supporting multipath transmission over a plurality of wireless transmission paths to establish connectivity between the robot and the robot controller, the computing unit comprising: processing circuitry; memory containing instructions executable by the processing circuitry whereby the computing unit is operative to: trigger determining a robot sensitivity value indicating a degree of operation sensitivity of the robot to a transmission failure between the robot and the robot controller; and trigger configuring use of one or more of the plurality of wireless transmission paths for communication between the robot and the robot controller depending on the determined robot sensitivity value.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Embodiments of the technique presented herein are described herein below with reference to the accompanying drawings, in which:
[0035]
[0036]
[0037]
[0038]
DETAILED DESCRIPTION
[0039] In the following description, for purposes of explanation and not limitation, specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent to one skilled in the art that the present disclosure may be practiced in other embodiments that depart from these specific details.
[0040] Those skilled in the art will further appreciate that the steps, services and functions explained herein below may be implemented using individual hardware circuitry, using software functioning in conjunction with a programmed micro-processor or general purpose computer, using one or more Application Specific Integrated Circuits (ASICs) and/or using one or more Digital Signal Processors (DSPs). It will also be appreciated that when the present disclosure is described in terms of a method, it may also be embodied in one or more processors and one or more memories coupled to the one or more processors, wherein the one or more memories are encoded with one or more programs that perform the steps, services and functions disclosed herein when executed by the one or more processors.
[0041]
[0042] The robot 104 and the robot controller 102 communicate with each other via a primary connectivity component 106 and a counterpart connectivity component 108. In the example of
[0043] The robot 104 and the robot controller 102 may use multipath transmission over a plurality of wireless transmission paths to provide reliable communication among each other. The primary connectivity component 106 and the counterpart connectivity component 108 support multipath transmission over the plurality of wireless transmission paths accordingly. As known in the art, multipath transmission allows adaptive concurrent or interchangeable use of multiple paths (e.g., network links) to improve resource usage and increase redundancy for a network connection. For example, multipath transmission may enable simultaneous use of a plurality of transmission paths or enable switching from a currently used transmission path to an alternative transmission path that provides better reliability or bandwidth. Concurrently or interchangeably usable network interfaces associated with these transmission paths may include a mobile communication network interface, such as an LTE or 5G interface and a WLAN interface (denoted by WiFi in
[0044]
[0045] Similar to the robot controller 102, the computing unit 200 may reside in the cloud. It will thus be understood that the computing unit 200 may be both a physical computing unit as well as a virtualized computing unit, such as a virtual machine, for example. It will further be appreciated that the computing unit 200 may not necessarily be implemented as a standalone computing unit, but may be implemented as a componentrealized in software and/or hardwareresiding on multiple distributed computing units.
[0046]
[0047]
[0048]
[0049] The robot sensitivity value may be determined based on at least one of a degree of sensitivity of a current state of the robot 104, and a degree of criticality of a command to be executed by the robot 104. A high robot sensitivity value may mean that the robot 104 is currently in a critical or sensitive state (e.g., the robot 104 is moving swiftly) so that high transmission quality is crucial to maintain high quality of robot control. On the other hand, a low robot sensitivity value may mean that the robot 104 is currently in an uncritical or insensitive state (e.g., the robot 104 is standing still) in which high transmission quality is not as important. Similarly, when the robot sensitivity value is determined based on a degree of criticality of a command to be executed by the robot 104, a high robot sensitivity value may mean that safe receipt of the command is crucial to maintain correct operation of the robot 104, and a low robot sensitivity value may mean that safe receipt of the command is less important.
[0050] In some implementations, the degree of sensitivity of the current state of the robot 104 may be determined based on at least one of a current speed of a Tool Center Point (TCP) of the robot 104 (indicated by reference numeral 403 in
[0051] Depending on the determined robot sensitivity value, the primary connectivity component 106 may decide on which of the plurality of wireless transmission paths is to be used for communication between the robot 104 and the robot controller 102. Thus, one or more of the available wireless transmission paths may be selected and corresponding use of these transmission paths may be configured. The selection may be made so that, depending on the determined robot sensitivity value, reliable communication and, hence, correct operation of the robot 104 may be ensured. Thus, in step S404, the trigger configuring module 304 of the computing unit 200 may trigger configuring use of the one or more of the plurality of wireless transmission paths for communication between the robot 104 and the robot controller 102 depending on the determined robot sensitivity value.
[0052] When the determined robot sensitivity value exceeds a predetermined threshold, configuring use of the one or more of the plurality of wireless transmission paths for communication may comprise configuring use of two or more wireless transmission paths for simultaneous transmission between the robot 104 and the robot controller 102 or, alternatively, configuring use of an alternative wireless transmission path among the plurality of wireless transmission paths for communication between the robot 104 and the robot controller 102, wherein the alternative wireless transmission path is determined to be more reliable than a currently used wireless transmission path. Whether simultaneous use of two or more transmission paths or a reselection of a transmission path is desired may be decided based on the robot sensitivity value. The decision may be made so as to minimize the use of secondary transmission paths, for example. In this case, secondary transmission paths may be used only when needed to avoid robot control quality degradation. In another example, if a current primary transmission path is determined to be unable to provide the desired transmission quality and/or if the use of secondary transmission paths is getting too frequent and another transmission path appears to be more stable, then this transmission path may be chosen as the new primary path. For critical commands, it may be decided to always send these commands simultaneously on two or more available transmission paths in order to avoid loss or delay of commands that may potentially result in control degradation.
[0053] In order to configure use of the one or more of the plurality of wireless transmission paths for communication between the robot 104 and the robot controller 102, one or more actions necessary to implement a corresponding change in the use of transmission paths may be performed. For example, configuring use of the one or more of the plurality of wireless transmission paths for communication may comprise at least one of activating one or more wireless interfaces corresponding to the one or more of the plurality of wireless transmission paths to be used for communication, and deactivating one or more wireless interfaces corresponding to the remaining ones of the plurality of wireless transmission paths. The wireless interfaces may be network interfaces available at the computing unit 200, i.e., the computing unit on which the primary connectivity component 106 is executed. The network interfaces may include a mobile communication network interface, such as an LTE or 5G interface, and a WLAN interface (denoted by WiFi in
[0054] Also, in order to enable the counterpart connectivity component 108 to configure itself for the change in the use of transmission paths (e.g., to wake up corresponding network interfaces at the counterpart connectivity component's end), configuring use of the one or more of the plurality of wireless transmission paths for communication may comprise sending, by the primary connectivity component 106, a configuration message to the counterpart connectivity component 108 indicating which of the one or more of the plurality of wireless transmission paths are to be used for communication between the robot 104 and the robot controller 102. The counterpart connectivity component 108, more specifically, the receiving module 312 of the computing unit 210, may receive the configuration message accordingly and the trigger configuring module 314 of the computing unit 210 may trigger configuring use of the one or more of the plurality of wireless transmission paths for communication at the counterpart connectivity component's end. Similar to the primary connectivity component's end, this may comprise at least one of activating one or more wireless interfaces corresponding to the one or more wireless transmission paths to be used for communication, and deactivating one or more wireless interfaces corresponding to the remaining ones of the plurality of wireless transmission paths. These wireless interfaces may be network interfaces available at the computing unit 210, wherein the wireless interfaces may correspond to those available at the computing unit 200. These network interfaces may thus include a mobile communication network interface, such as an LTE or 5G interface, and a WLAN interface, for example. Depending on the wireless transmission paths that are to be configured for further use, the corresponding interfaces may be activated (if not yet active) and those interfaces which are no longer required can be deactivated in order to minimize the use of secondary paths.
[0055] For safe transmission of the configuration message from the primary connectivity component 106 to the counterpart connectivity component 108, the configuration message may be sent over the one or more of the plurality of wireless transmission paths to be used for communication between the robot 104 and the robot controller 102, i.e., those transmission paths that have been selected for further use due to their potential superior quality. Keep-alive messages may be sent from the primary connectivity component 106 to the counterpart connectivity component 108 in the following and, if the robot sensitivity value falls below a certain threshold, sending the keep-alive messages may be stopped and interfaces no longer required may be deactivated, as described above.
[0056] At the primary connectivity component's end, configuring use of the one or more of the plurality of wireless transmission paths for communication may be triggered when a delay or loss of a message is detected. In one variant, the connectivity requirement may be evaluated at receipt of a new status message and/or before transmission of a new command message. In a particular variant, the connectivity requirement may be evaluated at each receipt of a new status message and/or before each transmission of a new command message. In
[0057] The delay or loss of a message received at the primary connectivity component 106 may be detected based on verifying the message on compliance with a predetermined communication scheme specific to the robot 104 (e.g., in compliance with the 125 Hz requirement for periodically sending messages in case of a UR5 robot arm, as mentioned above). In one particular implementation, the delay or loss of the message may be detected when the message is not received by a time which corresponds to the sum of an expected reception time of the message according to the predetermined communication scheme and a delay threshold value. The delay threshold value, in turn, may be determined based on the robot sensitivity value.
[0058] Configuring use of the one or more of the plurality of wireless transmission paths for communication at the primary connectivity component's end may also be triggered when a notification message is received from the counterpart connectivity component 108, wherein the notification message indicates at least one of a relative delay between one or more of the plurality of wireless transmission paths, jitter on one or more of the plurality of wireless transmission paths and a loss of a message. Based on such feedback, the primary connectivity component 106 may adapt faster to new connectivity requirements. In case of a loss of a message, a retransmission request may be sent by the primary connectivity component 106 to the counterpart connectivity component 108, optionally together with the configuration message mentioned above.
[0059] In
[0060] Regarding the implementation on a transmission protocol level, a tunnel may be established between the primary connectivity component 106 and the counterpart connectivity component 108, wherein communication between the robot 104 and the robot controller 102 may be carried out through the tunnel. The robot 104 and the robot controller 102 may then communicate based on an industrial transmission protocol, such as Profinet, for example, which is carried through the tunnel. The tunnel may be a VPN tunnel, for example.
[0061] Alternatively or additionally, the primary connectivity component 106 and the counterpart connectivity component 108 may respectively communicate with the robot 104 and the robot controller 102 using a first transmission protocol (e.g., an industrial transmission protocol, such as Profinet, for example), wherein communication between the primary connectivity component 106 and the counterpart connectivity component 108 may be carried out using a second transmission protocol. In this case, the industrial transmission protocol may be terminated locally at the connectivity components 106 and 108, which may then communicate with each other using a second (different) transmission protocol (e.g., Ethernet). Also, different transmission protocols may be used for different transmission paths among the plurality of wireless transmission paths.
[0062] As has become apparent from the above, the present disclosure presents a technique for providing reliable wireless communication between a robot and a robot controller in a cloud robotics system. The technique may provide a proactive multipath solution to increase reliability for robot communication and, more specifically, a proactive robot controller-aware connectivity management solution in which the robot and the robot controller as well as the corresponding communication characteristics may be taken into account to online evaluate connection quality. Immediate action may then be executed to instantly improve reliability as needed. Reliability may be improved by utilizing characteristics of a robot control specific communication scheme and by monitoring connectivity requirements regarding robot control, for example. The primary and counterpart connectivity components may proactively handle connectivity problems to avoid status/command message delay or loss. Also, too frequent changes among transmission paths may be avoided and radio interfaces may go down to sleep mode if they are not required.
[0063] All in all, using the presented technique, it may be possible to proactively handle connectivity problems that can degrade robot control quality and to thereby improve robot control quality. At the same time, available radio resources may be used in an efficient manner. Also, communication between the robot and the robot controller may not rely on transmission protocols like TCP/IP but may allow the use of industrial transmission protocols for wireless connections between the robot and the robot controller. Spectrum efficient multipath access may thus be achieved.
[0064] It is believed that the advantages of the technique presented herein will be fully understood from the foregoing description, and it will be apparent that various changes may be made in the form, constructions and arrangement of the exemplary aspects thereof without departing from the scope of the invention or without sacrificing all of its advantageous effects. Because the technique presented herein can be varied in many ways, it will be recognized that the invention should be limited only by the scope of the claims that follow.