Method for controlling a robot, devices, and computer program product
The use of identification labels like QR codes for automatic robot-controller connection in industrial environments addresses the issue of manual selection errors, enhancing automation and safety while reducing operational risks and costs.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ABB (SCHWEIZ) AG
- Filing Date
- 2024-12-23
- Publication Date
- 2026-07-02
AI Technical Summary
Existing robot control systems in industrial environments face errors and safety hazards due to manual selection of controllers, leading to incorrect connections and potential equipment damage and safety incidents, particularly in multi-robot work environments.
A method using identification labels, such as QR codes, is employed to automatically connect a client device with a robot's controller via camera decoding, ensuring correct robot selection by verifying identification information.
This method enhances automation, reduces operational errors, improves safety, and lowers maintenance costs by ensuring correct robot operations, particularly in complex environments with multiple robots.
Smart Images

Figure CN2024141421_02072026_PF_FP_ABST
Abstract
Description
METHOD FOR CONTROLLING A ROBOT, DEVICES, AND COMPUTER PROGRAM PRODUCTFIELD
[0001] Embodiments of the present disclosure generally relate to the field of industrial network, and more particularly, to a method for controlling a robot, an electronic device and a computer program product.BACKGROUND
[0002] In the field of industrial robotics, users operate robots through control programs. In order to operate robots, the task that the robot needs to accomplish is firstly defined. During the task planning stage, the target positions, postures, and the sequence of operations need to be determined. For example, in a welding task on an automobile production line, the positions of the welding points, the welding path, and the welding speed parameters must be specified.
[0003] After the task is completely defined, specialized robotic programming languages may be applied to program the defined task. After the programming is completed, the program instructions will be sent to the robot controller. Inside the controller, the instructions are processed by the processor to cause the robot to act as programed.SUMMARY
[0004] In view of the foregoing problems, example embodiments of the present disclosure propose solutions for connecting a client device with a controller of the robot via identification label and controlling the robot with the client device.
[0005] In a first aspect of the present disclosure, example embodiments of the present disclosure provide a method for controlling a robot. The method comprises obtaining, by a client device, an identification label associated with a robot via a camera of the client device. The method further comprises decoding, by the client device and from the identification label, identification information of a controller device associated with the robot. The method further comprises sending, by the client device, the identification information to the controller device. The method further comprises receiving, by the client device and from the controller device, a verification response indicating that a connection between the client device and the controller device is established. The method further comprises sending, by the client device to the controller device, instructions for controlling the robot.
[0006] In a second aspect, example embodiments of the present disclosure provide an electronic device. The electronic device comprises: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the device to perform the method in accordance with the first aspect or the second aspect of the present disclosure.
[0007] In a third aspect, example embodiments of the present disclosure provide a computer program product comprising computer readable instructions stored on a non-transitory computer readable storage medium. When executed by a computer, the computer readable instructions cause the computer to perform the method in accordance with the first aspect or second aspect of the present disclosure.BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Through the following detailed descriptions with reference to the accompanying drawings, the above and other objectives, features and advantages of the example embodiments disclosed herein will become more comprehensible. In the drawings, several example embodiments disclosed herein will be illustrated in an exemplary and in a non-limiting manner, wherein:
[0009] Fig. 1 schematically illustrates a block diagram of a robot system in which example embodiments of the present disclosure can be implemented;
[0010] Fig. 2 schematically illustrates a signaling diagram of an example procedure for controlling a robot in accordance with embodiments of the present disclosure;
[0011] Fig. 3 schematically illustrates a flowchart of a method for generating a QR code in accordance with embodiments of the present disclosure;
[0012] Fig. 4 schematically illustrates a diagram of an example procedure for generating a QR code in accordance with embodiments of the present disclosure;
[0013] Fig. 5 schematically illustrates a diagram of an example procedure for controlling two robots in accordance with embodiments of the present disclosure;
[0014] Fig. 6 schematically illustrates a diagram of an example procedure of two client devices controlling one robot in accordance with embodiments of the present disclosure;
[0015] Fig. 7 schematically illustrates a flowchart of a method for controlling a robot in accordance with embodiments of the present disclosure; and
[0016] Fig. 8 schematically illustrates a schematic diagram of an electronic device for implementing a method in accordance with embodiments of the present disclosure.
[0017] Throughout the drawings, the same or similar reference numerals represent the same or similar element.DETAILED DESCRIPTION
[0018] Principle of the present disclosure will now be described with reference to some example embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. The disclosure described herein can be implemented in various manners other than the ones described below.
[0019] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.
[0020] References in the present disclosure to “one embodiment, ” “an embodiment, ” “an example embodiment, ” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the know circle of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0021] It shall be understood that although the terms “first” and “second” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.
[0022] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.
[0023] As described above, in order to transfer the program instructions, the correct controller must be selected and it should be guaranteed that the program instructions. In some related solutions, transfer of the program typically relies on device identifiers or manual selection of target equipment.
[0024] However, there is a potential risk of erroneous operations, especially in multi-robot work environments. For example, a user may unintentionally connect the client device to the wrong robot and transfer the control program to the wrong robot, causing the user to control the wrong machine, leading to potential safety hazards and equipment damage. Therefore, solutions in the related technologies are inefficient and prone to errors in multi-robot environments.
[0025] In the complex work environments, operators may control the wrong robot due to incorrect controller connections. This could negatively impact production efficiency and might also lead to significant safety incidents, particularly in industrial environments where robots operate with high force and precision, and any incorrect operation could have serious consequences. Existing solutions mainly rely on manual device selection or non-intuitive interfaces, leading to higher risks of operational errors.
[0026] In view of the above, a mechanism to connect the client with the controller of the robot via identification labels is provided. In the mechanism, the client device obtains an identification label via its camera and decodes identification information of the controller device for a robot. The client device automatically sends the identification information to the controller device for verification. When the identification information is successfully verified, the client device receives a verification response to indicate that a connection is established.
[0027] According to the embodiments in accordance with the present disclosure, the identification information of the controller device is obtained via a camera instead of user input. Compared to the conventional manual selection of robot devices, once the identification label is obtained, the client device can automatically pair with the correct robot. In this way, it not only enhances the level of automation in the operation but also effectively prevents errors caused by manual device selection.
[0028] Through an intuitive and easy-to-use process, operators can quickly get up to speed, reducing the costs of training and learning. Compared to conventional complex device verification methods, customers are more likely to prefer this simplified yet secure operating system, thereby enhancing the market appeal of the product.
[0029] Further, production accidents, equipment damage, and downtime caused by operational errors would directly increase operational costs for businesses. By applying the identification label-based connection solution, it can be ensured that every operation is directed at the correct robot, significantly reducing these potential risks, thereby lowering maintenance and repair costs and extending the lifespan of equipment.
[0030] A framework in accordance with embodiments of the present disclosure will be described with reference to Figs. 1 to 8. Fig. 1 schematically illustrates a block diagram of an industrial environment 100 in which example embodiments of the present disclosure can be implemented. As illustrated in Fig. 1, the industrial environment 100 includes a robot system 110. The robot system 110 includes a robot 111 for example an industrial robot. The robot 111 may consist of a series of links and joints that work together to achieve a wide range of movements in a three-dimensional space, such that the robot 111 can accomplish the programmed tasks.
[0031] The robot system 110 further includes a controller device 112 for controlling the robot 111. The controller device 112 may be a control cabinet installed at the side of the robot 111. The controller device 112 serves as the control unit that manages and coordinates the operations of the robot 111. The controller device 112 is responsible for receiving commands, processing information, and sending out control signals to ensure the robot functions properly. Thus, the controller device 112 may include a communication unit for communicating with external devices to receive instructions, a processing unit for processing various signals to control the robot's actions and a drive unit for converting the control signals into drive signals that the motors can recognize, thus driving the joint motors of the robot 111 to move.
[0032] The robot system 110 further includes protection structure 113. The protection structure 113 may include a fence installed around the robot 111 and the controller device 112. The protection structure 113 is a protective facility used to separate the robot's working area from the human activity area. The protection structure 113 may cover a relative large area around the robot 111.
[0033] The industrial environment further includes a client device 120. The client device 120 is a piece of hardware that acts as an end-user access point in industrial environment 100 and is able to access the controller device 112. The client device 120 may communicate with the controller device 112 via various communication protocols, such Transmission Control Protocol / Internet Protocol (TCP / IP) , Profinet and EtherCAT, Wireless Fidelity (Wi-Fi) , Bluetooth or Zigbee. The client device 120 may include personal computers (PCs) or smartphones and mobile devices, or Internet-of-Things (IoT) devices.
[0034] Before operation, specific tasks are planned for the robot 111. After the planning is complete, the user may program the tasks on the client device 120 or at some other computing devices and sending the program to the client device 120. In order to enable the controller device 112 to control the robot 111 to act as programmed, the client device 120 transfers the program to the controller device 112.
[0035] After receipt of the program, the client device 120 analyzes and processes these signals and generates control signals to send to the drive unit based on pre-programmed algorithms and logic. These control signals are precise electrical signals, usually including information such as the rotational speed, direction, and torque of the motors. The drive unit may convert electrical energy into mechanical energy according to these signals to drive the motors to rotate. As a result, the joint motors of the robot 111 start to rotate after receiving the power from the drivers.
[0036] In order to facilitate the transfer of the program between the client device 120 and the controller device 112, an identification label 114 associated with the robot 111 is displayed at the robot system 110. The identification label 114 includes identification information of the controller device 112 and attached to the outer surface of the controller device 112. When the client device 120 needs to transfer a program or instructions to the controller device 112, the client device 120 may capture the identification label 114 via a camera of the client device 120. Then, the client device 120 decodes the identification information from the identification label 114 and automatically connect to the controller device 112 based on the identification information. In this way, the manual selection of the controller device or manual input of the controller ID information is avoided, thereby decreasing the risk of incorrect manual operations.
[0037] Hereinafter, the connection and program transfer procedure with be described in details with reference to Fig. 2. Fig. 2 schematically illustrates a signaling diagram of an example procedure 200 for controlling a robot in accordance with embodiments of the present disclosure. For purpose of discussion, the procedure 200 will be described in association with Fig. 1. For example, the procedure 200 may be implemented between the client device 120 and the controller device 112.
[0038] As illustrated in Fig. 2, at 202, the client device 120 obtains an identification label 114 associated with a robot 111 via a camera of the client device 120. In the embodiment, the identification label is a label that contains graphical or visual information which can be captured by a camera of the client device. In some example embodiments, the client device 120 may receive an instruction to connect to a controller device from the user. After the instruction is received, the client device 120 may initiate the camera and display a viewfinder interface on the client device 120. When the client device 120 detects the identification label in the viewfinder interface, the client device 120 may automatically scan the identification label.
[0039] In some example embodiments, the identification label is generated based on any suitable graphical coding technique which converts data information into a graphical form for representation and storage. Information is carried through specific graphical elements such as points, lines, shapes, colors, and their combination rules. For example, the identification label may comprise a linear barcode or a quick response (QR) code. In some alternative embodiments, the identification label may include an image of the identification information and the identification information could be obtained by corresponding image processing techniques.
[0040] In order to facilitate the capture of the identification label by cameras, the identification label may be attached to the protection structure or the controller device. In some examples, the identification label maybe even printed on the floor in vicinity of the robot system. In some example embodiments, the controller device may include a human-machine interaction (HMI) unit for information exchange between operators and the robot. In this case, the HMI unit may include a display screen and buttons. The identification lab el may be displayed in the display of the HMI unit when the controller is not in operation.
[0041] At 204, the client device 120 decodes identification information of the controller device 112 from the identification label 114. The controller device 112 is associated with the target robot 111. In some example embodiments, the identification information may include a controller identification of the controller device, an account name and an account password for a user, and indication of an encrypting algorithm for the account password. In some example embodiment, after the identification information is extracted, the client device 120 may verify the extracted information.
[0042] At 206, the client device 120 sends the identification information 205 to the controller device 112 for verification. At 208, the controller device 112 receives the identification information 205 from the client device 120. At 210, the controller device 112 verifies the identification information 205. For example, the controller device 112 may match the received identification information 205 with corresponding identification data stored in a database. If the controller device 112 determines that the received identification information is not matched with the stored identification data, the controller device 112 generates a failure response indicating that the verification is failed. The controller device 112 sends the failure response to the client device 120. When the client device 120 receives the failure response, the client device 120 may display a prompt signal to notify the user to re-obtain the identification label or check a communication connection of the client device.
[0043] In some example embodiments, additional verification may be required. For example, the client device 120 may receive a request for additional verification such as NFC or fingerprint recognition. The client device 120 may display a prompt message for the additional verification to guide the user to complete the verification. In these embodiments, QR code verification combined with other authentication methods further enhances safety levels which is suitable for scenarios requiring higher security.
[0044] In some example embodiments, during the verification, the client device may be forbid to perform actions. For example, when the client device obtains the identification label, the client device may lock all the processes at the client device. When the client device receives the verification response or failure response, the client device may release the processes. In this way, the client device is prevented from executing any operation before successful verification, thereby avoiding safety issues caused by operational errors.
[0045] Relatively, if the controller device 112 determines that the received identification information is matched with the stored identification data, the controller device 112 generates a verification response. At 212, the controller device 112 sends the verification response 215 to the client device 120. At 214, the client device 120 receives the verification response 215 from the controller device 112. At 225, a connection between the client device 120 and the controller device 112 is established. At 216, the client device 120 sends instructions of a task 235 for controlling the robot 111 to the controller device 112. At 218, the controller device 112 receives the instructions of a task 235 from the client device 120.
[0046] According to the embodiments in accordance with the present disclosure, the identification information of the controller device is obtained via a camera instead of user input. Compared to the conventional manual selection of robot devices, once the identification label is obtained, the client device can automatically pair with the correct robot. In this way, it not only enhances the level of automation in the operation but also effectively prevents errors caused by manual device selection.
[0047] The program transfer mechanism in accordance with the illustrated embodiments can easily integrate with existing robot systems and production management systems, thereby offering good compatibility. Through simple software upgrades or minimal hardware modifications, businesses can quickly deploy this technology without the need for large-scale equipment replacement or modification.
[0048] Additionally, the usage of visual identification labels leaves room for future technological expansions. For instance, the identification labels can further include robot status information, task types, and other extended data, which can be read and used by the control program to achieve more intelligent control. In such embodiments, the identification labels maybe updated once the status information has changed. In this case, the identification labels may be displayed in a digital display such that the identification labels can be updated in real time.
[0049] Further, by employing the identification label matching mechanism, the risk of operational errors, which is a critical safety enhancement in the operation of industrial robots, can be effectively reduced. Particularly in environments where multiple robots work in coordination, matching the correct robot can prevent equipment damage, downtime, and even personal injury caused by operational mistakes, significantly improving the safety of factory production.
[0050] Fig. 3 schematically illustrates a flowchart of a method 300 for generating a QR code in accordance with embodiments of the present disclosure. For purpose of discussion, the method 300 may be described in association with Fig. 1 and Fig. 4. For example, the method may be implemented by the client device 120.
[0051] [Rectified under Rule 91, 06.01.2025]As illustrated in Fig. 3, at 302, the client device 120 receives a request to generate a QR code for the robot 111. In some example embodiments, the request to generate a QR code is received in response to a triggering operation on a QR code generation control. At 304, the client device 120 displays login dialog for the identification information to be encoded. For example, in the embodiments that the identification information containing the controller identification, the account name, the account password and the indication of the encrypting algorithm, the client device 120 may display respective input fields for the controller identification, the account name, the account password and a selection field for the encrypting algorithm.
[0052] Fig. 4 schematically illustrates a diagram of an example procedure 400 for generating a QR code in accordance with embodiments of the present disclosure. As illustrated in Fig. 4, the input interface includes inputs fields for user information 410. In this case, the user information 410 includes the account name 411, the account password 412 and the encrypting algorithm indication 413. The input interface includes inputs fields for robot-related information 420. The robot-related information 420 includes controller ID 421, current task 422 and tasks to be done 423.
[0053] Back to Fig. 3, at 306, the client device 120 obtains the controller identification, the account name, the account password and the indication of the encrypting algorithm from the inputs of the user for example via the interface illustrated in Fig. 4. At 308, the client device 120 encrypts the account password based on the encrypting algorithm to obtain an encrypted password. At 310, the client device 120 encodes the account name, the encrypted password to generate the QR code. The QR code may be in the form of the QR code 430 as illustrated in Fig. 4.
[0054] In some example embodiments, in generating the QR code, the client device 120 may apply a predefined encoding algorithm. For example, the predefined encoding algorithm may include Numeric (for numbers only) , Alphanumeric (for numbers, upper-case letters, and some symbols) , and Byte (for binary data such as UTF-8 characters) . The encoding algorithm may be also configured with an error-correction level of the QR code. The QR codes usually have four error-correction levels including Low, Medium, Quarter, and High. The higher the error-correction level, the more data can be recovered if the QR code is damaged. Due to the importance of the QR code, a High level of the error-correction level is configured.
[0055] With the selected encoding algorithm, the client device may convert the data into a binary sequence. In the Numeric encoding mode, for example, each digit is represented by a specific binary pattern. The binary data is then organized according to the QR code's format requirements. After that, the client device may add the error-correction bits to the binary data according to the chosen error-correction level. These error-correction bits are calculated using algorithms such as Reed-Solomon coding. Next, the client device may map the binary data, including the original information and the error-correction bit onto the QR code's matrix of modules (the black and white squares) . The position of each module (whether it's black or white) is determined based on the encoded data. At last, the client device generates the QR code as a graphic image.
[0056] In some example embodiment, the generated QR code may be tested by the client device to ensure that it can be read correctly and that the decoded information matches the original data that was intended to be encoded.
[0057] According to the illustrated embodiment, the QR code scanning technology are introduced. By scanning the unique QR code displayed in the vicinity of the robot controller, the client device can automatically pair with the correct robot. This not only enhances the level of automation in the operation but also effectively prevents errors caused by manual device selection.
[0058] Compared to complex input methods such as device IDs or manual confirmation processes, QR code scanning is a highly convenient. It completes the operation within seconds, greatly improving production efficiency. Additionally, the mechanism in accordance with the present disclosure can be integrated into existing smart devices (such as tablets or smartphones) using their built-in hardware and camera
[0059] Fig. 5 schematically illustrates a diagram of an example procedure 500 for controlling two robots in accordance with embodiments of the present disclosure. As illustrated in Fig. 5. There are two robot systems established in the field, including a robot system 510-1 and a robot system 510-2. The robot system 510-1 and the robot system 510-2 may correspond to the robot system 110 as illustrated in Fig. 1. Similarly, the robot system 510-1 includes a robot 511-1, a controller device 512-1 for controlling the robot 511-1 and a protection structure 513-1. The robot system 510-2 includes a robot 511-2, a controller device 512-2 for controlling the robot 511-2 and a protection structure 513-2. A client device 520 is used to control the robot system 510-1 and the robot system 510-2
[0060] Further, an identification label 514-1 is attached to the controller device 512-1 and an identification label 514-2 is attached to the controller device 512-2. The identification label 514-1 and the controller device 512-2 have been generated by the client device 520. The identification label 514-1 is encoded with the controller ID of the controller device 512-1, the user account name and account password registered at the client device 520. Similarly, the identification label 514-2 is encoded with the controller ID of the controller device 512-2, the user account name and account password registered at the client device 520.
[0061] In the illustrated embodiment, a first task for the robot system 510-1 is planned and a corresponding program is stored in the client device 520. The client device 520 scans the identification label 514-1 via the camera. Then, the client device 520 decodes the controller ID of the controller device 512-1, the account name and the account password from the identification label 514-1. The client 520 automatically sends the identification information to the controller device 512-1 and connect to the controller device 512-1 based on a successful verification. After the connection between the client device 520 and the controller device 512-1 is established, the client device 520 sends the program for the first task to the controller device 512-1 to cause the robot 511-1 to act as programmed.
[0062] Since there is a further robot system 510-2 to be controlled, the client device 520 needs to transfer a program of a second task planned for the client device 520 to the robot system 510-2. In this case, the client device 520 firstly disconnects with the controller device 512-1. Then, the client device 520 scans the identification label 514-2 via the camera. The client device 520 decodes the controller ID of the controller device 512-2, the account name and the account password from the identification label 514-1. The client 520 automatically sends the identification information to the controller device 512-2 and connect to the controller device 512-2 based on a successful verification. After the connection between the client device 520 and the controller device 512-2 is established, the client device 520 sends the program for the second task to the controller device 512-2 to cause the robot 511-2 to act as programmed.
[0063] Conventionally, there is a higher likelihood of confusion or incorrect connections in multi-robot environments. According to the embodiment as illustrated in Fig. 5, by using the unique identification of the QR code, it ensures that in such environments with multiple robots working together, operators can easily differentiate and control the correct robot. The mechanism described herein is particularly suitable for factory workshops or large automated production lines.
[0064] Fig. 6 schematically illustrates a diagram of an example procedure 600 of two client devices controlling one robot in accordance with embodiments of the present disclosure. As illustrated in Fig. 6, a robot system 610 may correspond to the robot system 110 as illustrated in Fig. 1. Similarly, the robot system 610 includes a robot 611, a controller device 612 for controlling the robot 611 and a protection structure 613. Further, an identification label 614 is attached to the controller device 612. The identification label 614 is encoded with the controller ID of the controller device 612.
[0065] A client device 620 and a further client device 630 are at site around the robot system 610. The client device 630 has already been connected to the controller device 612 with the highest permission which allows the client device 630 has a full access to the controller device 612 and is allowed to transfer instructions to the controller device 612.
[0066] For example, during the establishment of the connection between the controller device 612 and the client device 630, the client device 630 scans the identification label 614 via the camera. Then, the client device 630 decodes the controller ID of the controller device 612 from the identification label 614. The client device 630 automatically sends the controller ID and its device information to the controller device 612. After the controller device 612 receives and verifies the device information of the client device 630, the controller device 612 determines a permission level of the client device 630 for example by checking a lookup table for the permissions. In this case, the client device 630 is recorded in the lookup table with the highest permission. Then, the client device 630 connects to the controller device 612 with full access. After the connection between the client device 630 and the controller device 612 is established, the client device 630 sends the program for the first task to the controller device 612 to cause the robot 611 to act as programmed.
[0067] In the meantime, the user of the client device 620 also wants to control the robot system 610. As illustrated in Fig. 6, the client device 620 scans the identification label 614. Then, the client device 620 decodes the controller ID of the controller device 612 from the identification label 614. The client device 620 automatically sends the controller ID and its device information to the controller device 612. After the controller device 612 receives and verifies the device information of the client device 620, the controller device 612 determines a permission level of the client device 620. In this case, the client device 620 is recorded in the lookup table with a low permission which is lower than the permission of the client device 630. Then, the client device 620 connects to the controller device 612 only with access to read data in the controller device 612 but without access to edit or transfer instructions to the controller device 612.
[0068] In this way, the operation carried out at the robot 611 instructed by the client device 630 would not be interrupted, thereby preventing interference from other client devices.
[0069] Fig. 7 schematically illustrates a flowchart of an example method 700 for controlling a robot in accordance with embodiments of the present disclosure. For example, the method 700 may be implemented by the client device 120 as illustrated in Fig. 1, the client device 520 as illustrated in Fig. 5 and the client devices 620 and 630 as illustrated in Fig. 6.
[0070] As illustrated in Fig. 7, at 702, the client device obtains an identification label associated with a robot via a camera of the client device. At 704, the client device decodes identification information of a controller device associated with the robot from the identification label. At 706, the client device sending, by the client device, the identification information to the controller device. At 708, the client device receives a verification response from the controller device. At 710, the client device establishes a connection between the client device and the controller device. At 712, the client device sends instructions for controlling the robot to the controller device.
[0071] In some embodiments of the present disclosure, a computing device is provided for implementing the above methods 300 and 700 and procedure 200. Fig. 8 illustrates a schematic diagram of an electronic device 800 for implementing a method in accordance with embodiments of the present disclosure. The electronic device 800 may be corresponding to the client device 120 in Fig. 1. The electronic device 800 comprises: at least one processor 810 and at least one memory 820. The at least one processor 810 may be coupled to the at least one memory 820. The at least one memory 820 comprises instructions 822 that when executed by the at least one processor 810 implements the methods 300 and 500 and procedure 200.
[0072] In some embodiments of the present disclosure, a computer readable medium for adjusting robot path is provided. The computer readable medium has instructions stored thereon, and the instructions, when executed on at least one processor, may cause at least one processor to perform the method for managing a camera system as described in the preceding paragraphs, and details will be omitted hereinafter.
[0073] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representation, it will be appreciated that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
[0074] The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer readable storage medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target real or virtual processor, to carry out the process or method as described above with reference to Figs. 2-7. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as ideal in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.
[0075] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
[0076] The above program code may be embodied on a machine readable medium, which may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine readable medium may be a machine readable signal medium or a machine readable storage medium. A machine readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0077] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. On the other hand, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.
[0078] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
[0079] It should be appreciated that the above detailed embodiments of the present disclosure are only to exemplify or explain principles of the present disclosure and not to limit the present disclosure. Therefore, any modifications, equivalent alternatives and improvement, etc. without departing from the spirit and scope of the present disclosure shall be included in the scope of protection of the present disclosure. Meanwhile, appended claims of the present disclosure aim to cover all the variations and modifications falling under the scope and boundary of the claims or equivalents of the scope and boundary.
[0080] It is to be understood that the summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.
Claims
1.A method for controlling a robot, comprising:obtaining, by a client device, an identification label associated with a robot via a camera of the client device;decoding, by the client device and from the identification label, identification information of a controller device associated with the robot;sending, by the client device, the identification information to the controller device;receiving, by the client device and from the controller device, a verification response;establishing a connection between the client device and the controller device; andsending, by the client device to the controller device, instructions for controlling the robot.2.The method of claim 1, wherein the identification label comprises a quick response (QR) code.3.The method of claim 2, wherein the identification label is displayed at the controller device.4.The method of claim 3, wherein obtaining the identification label associated with the robot comprises:initiating, by the client device, the camera of the client device; andscanning, by the client device with the camera, the identification label.5.The method of claim 1, wherein the identification information includes a controller identification of the controller device, an account name and an account password for a user, and indication of an encrypting algorithm for the account password.6.The method of claim 5, further comprising:receiving, by the client device, a request to generate a QR code for the robot;displaying, by the client device, input spaces for the identification information;obtaining, by the client device, the controller identification, the account name, the account password and the indication of the encrypting algorithm;encrypting, by the client device, the account password based on the encrypting algorithm to obtain an encrypted password; andencoding, by the client device, the controller identification, the account name, the encrypted password to generate the QR code.7.The method of claim 1, further comprising:in response to obtaining the identification label, locking, by the client device, processes at the client device; andin response to receiving the verification response, releasing, by the client device, the processes.8.The method of claim 1, wherein the verification response is generated by the controller device based on the received identification information matching with corresponding identification data stored in a database.9.The method of claim 1, further comprising:receiving, by the client device from the controller device, a failure response indicating that a verification of the identification information is failed; anddisplaying, by the client device, a prompt signal to re-obtain the identification label or check a communication connection of the client device.10.The method of claim 1, further comprising:disconnecting, by the client device, with the controller device; andconnecting, by the client device, with a further controller device associated with a further robot.11.The method of claim 1, wherein the identification information further includes current task state of the robot and task to be performed, andwherein the method further comprises:in response to determining that the current task state has been changed, updating, the identification information.12.The method of claim 1, further comprising:receiving, by the client device from the controller device, a permission indication; andinteracting, by the client device, with the controller device based on a permission level indicated by the permission indication.13.An electronic device (800) comprising:at least one processor (810) ; andat least one memory (820) storing instructions (821) that, when executed by the at least one processor (810) , cause the device (800) to perform the method or controlling a robot of any of claims 1-12.14.A computer program product comprising computer readable instructions stored on a computer readable storage medium, wherein the computer readable instructions, when executed by a computer, cause the computer to perform the method or controlling a robot of any of claims 1-12.