Robot control method, device, apparatus, and storage medium

By acquiring the pose changes of the teleoperated device in real time and mapping them to the robot arm position, mirror teleoperation is achieved, which solves the problems of low accuracy and efficiency in robot control. Operators can naturally control the robot from the mirror position, improving the convenience of observation and operation.

CN122185222APending Publication Date: 2026-06-12DAIMON (SHENZHEN) ROBOTICS TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
DAIMON (SHENZHEN) ROBOTICS TECHNOLOGY CO LTD
Filing Date
2026-04-27
Publication Date
2026-06-12

AI Technical Summary

Technical Problem

In existing teleoperation technologies, the accuracy and efficiency of robot control are low. When the operator is in the same direction as the robot, they cannot effectively observe the work area in front. Furthermore, static anchoring mapping makes operation difficult when the arm length is not suitable.

Method used

By acquiring the poses of the left and right arms of the teleoperated device in real time, calculating the pose change, and mapping it to the right and left arms of the robot using a preset mirror matrix, mirror teleoperation is achieved, allowing the operator to be positioned in the robot's mirror position and naturally control the robot's operation.

Benefits of technology

It improves the accuracy and efficiency of robot control, allowing operators to easily observe the work area while naturally controlling the robot, solving the problems of difficulty in observing from the same perspective and unsuitable arm length.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122185222A_ABST
    Figure CN122185222A_ABST
Patent Text Reader

Abstract

The application discloses a robot control method and device, equipment and storage medium, relates to the technical field of robots, and comprises the following steps: acquiring a first pose and a second pose in real time; acquiring a first anchor pose and a second anchor pose; calculating a first pose change amount based on the first pose and the first anchor pose, and calculating a second pose change amount based on the second pose and the second anchor pose; calculating a first mirror pose change amount based on the first pose change amount and a preset mirror matrix, and calculating a second mirror pose change amount based on the second pose change amount and the preset mirror matrix; determining a first target pose based on the first mirror pose change amount, and determining a second target pose based on the second mirror pose change amount; and controlling the robot based on the first target pose and the second target pose. The application realizes mirror remote control, so that an operator can conveniently observe the situation of a work area and naturally control the robot operation, and the accuracy and efficiency of robot control are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and in particular to a robot control method, apparatus, device, and storage medium. Background Technology

[0002] Robots are high-end, intelligent medical devices. Industrial robots and medical robots, which have higher requirements for accuracy and precision, are mostly master-slave teleoperation structures. That is, the master operator is operated by a person, and the movement of the slave mechanism is controlled by remote communication and computer.

[0003] However, existing teleoperation technologies all use the same perspective as the robot, requiring the operator to be positioned in the same direction as the robot, usually behind or to the side of the robot. This same-view teleoperation makes it difficult for the operator to observe the work area in front of the robot, resulting in low accuracy and efficiency in robot control.

[0004] Therefore, improving the accuracy and efficiency of robot control is a problem that urgently needs to be solved.

[0005] The above content is only used to help understand the technical solution of this application and does not represent an admission that the above content is prior art. Summary of the Invention

[0006] The main objective of this application is to provide a robot control method, apparatus, device, and storage medium, aiming to solve the technical problem of how to improve the accuracy and efficiency of robot control.

[0007] To achieve the above objectives, this application proposes a robot control method applied to a robot control system, the robot control system including a robot and a teleoperation device, the robot control method including: Real-time acquisition of the first pose corresponding to the left arm of the teleoperation device and the second pose corresponding to the right arm of the teleoperation device. The first anchor positioning posture corresponding to the left arm of the teleoperation device and the second anchor positioning posture corresponding to the right arm of the teleoperation device are obtained. When an anchor positioning posture acquisition request is detected, the posture corresponding to the left arm of the teleoperation device is used as the first anchor positioning posture, and the posture corresponding to the right arm of the teleoperation device is used as the second anchor positioning posture. The change in the first pose is calculated based on the current first pose and the first anchor positioning pose, and the change in the second pose is calculated based on the current second pose and the second anchor positioning pose. The first mirror pose change is calculated based on the first pose change and the preset mirror matrix, and the second mirror pose change is calculated based on the second pose change and the preset mirror matrix. The first target pose corresponding to the right arm of the robot is determined based on the first mirror pose change, and the second target pose corresponding to the left arm of the robot is determined based on the second mirror pose change. The robot is controlled based on the first target pose and the second target pose.

[0008] In one embodiment, the first mirror pose change includes a first mirror position change and a first mirror orientation change, and the second mirror pose change includes a second mirror position change and a second mirror orientation change; the step of determining the first target pose corresponding to the robot's right arm based on the first mirror pose change and determining the second target pose corresponding to the robot's left arm based on the second mirror pose change includes: The third anchor positioning pose corresponding to the right arm of the robot and the fourth anchor positioning pose corresponding to the left arm of the robot are obtained. When an anchor positioning pose acquisition request is detected, the pose corresponding to the right arm of the robot is taken as the third anchor positioning pose and the pose corresponding to the left arm of the robot is taken as the fourth anchor positioning pose. The third anchor positioning pose includes a third anchoring position and a third anchoring posture, and the fourth anchor positioning pose includes a fourth anchoring position and a fourth anchoring posture. The first target position is obtained by adding the third anchor position to the change in the first mirror position, and the first target pose is obtained by multiplying the third anchor pose to the change in the first mirror pose. The second target position is obtained by adding the fourth anchor position to the change in the second mirror position, and the second target pose is obtained by multiplying the fourth anchor pose to the change in the second mirror pose. The first target pose includes the first target position and the first target pose, and the second target pose includes the second target position and the second target pose.

[0009] In one embodiment, the first pose change includes a first position change and a first orientation change, and the second pose change includes a second position change and a second orientation change. The step of calculating the first mirror pose change based on the first pose change and a preset mirror matrix, and calculating the second mirror pose change based on the second pose change and the preset mirror matrix, includes: The first position change and the first attitude change are combined to obtain a first change vector, and the second position change and the second attitude change are combined to obtain a second change vector. The first change vector is multiplied by the preset mirror matrix to obtain the first mirror change, and the first change vector is multiplied by the preset mirror matrix to obtain the second mirror change.

[0010] In one embodiment, the step of determining the first target pose corresponding to the right arm of the robot based on the first mirror pose change, and determining the second target pose corresponding to the left arm of the robot based on the second mirror pose change includes: Obtain the first pose offset between the left arm of the teleoperation device and the right arm of the robot, and obtain the second pose offset between the right arm of the teleoperation device and the left arm of the robot. Based on the first anchor pose, the first mirror pose change, and the first pose offset, the first target pose corresponding to the right arm of the robot is calculated, and based on the second anchor pose, the second mirror pose change, and the second pose offset, the second target pose corresponding to the left arm of the robot is calculated.

[0011] In one embodiment, the first mirror pose change includes a first mirror position change and a first mirror attitude change; the second mirror pose change includes a second mirror position change and a second mirror attitude change; the first anchor pose includes a first anchor attitude and a first anchor position; the second anchor pose includes a second anchor attitude and a second anchor position; the first pose offset includes a first position offset and a first attitude offset; the second pose offset includes a second position offset and a second attitude offset; the first target pose includes a first target position and a first target attitude; and the second target pose includes a second target position and a second target attitude. The steps of calculating the first target pose corresponding to the right arm of the robot based on the first anchor pose, the first mirror pose change, and the first pose offset, and calculating the second target pose corresponding to the left arm of the robot based on the second anchor pose, the second mirror pose change, and the second pose offset, include: The first target position is obtained by adding the first mirror position change, the first anchor position, and the first position offset, and the first target attitude is obtained by multiplying the first mirror attitude change, the first anchor attitude, and the first attitude offset. The second target position is obtained by adding the second mirror position change, the second anchor position, and the second position offset, and the second target attitude is obtained by multiplying the second mirror attitude change, the second anchor attitude, and the second attitude offset.

[0012] In one embodiment, the first pose includes a first posture and a first position; the second pose includes a second posture and a second position; the first anchoring pose includes a first anchoring posture and a first anchoring position, and the second anchoring pose includes a second anchoring posture and a second anchoring position; the first pose change includes a first posture change and a first position change, and the second pose change includes a second posture change and a second position change. The steps of calculating the change in the first pose based on the current first pose and the first anchor pose, and calculating the change in the second pose based on the current second pose and the second anchor pose, include: If the coordinate system corresponding to the teleoperation device is different from the coordinate system corresponding to the robot, then when the robot starts, the third position corresponding to the left arm of the robot and the fourth position corresponding to the right arm of the robot are obtained. Calculate the rotation matrix based on the third and fourth positions, and determine the attitude rotation matrix based on the rotation matrix; The change in the first position is calculated based on the first position, the first anchoring position, and the rotation matrix; and the change in the first attitude is calculated based on the first attitude, the first anchoring attitude, and the attitude rotation matrix. The change in the second position is calculated based on the second position, the second anchoring position, and the rotation matrix, and the change in the second attitude is calculated based on the second attitude, the second anchoring attitude, and the attitude rotation matrix.

[0013] In one embodiment, the first pose change includes a first attitude change and a first position change, the second pose change includes a second attitude change and a second position change; the first pose scaling change includes a first position scaling change and a first attitude scaling change, and the second pose scaling change includes a second position scaling change and a second attitude scaling change. The steps of calculating the change in the first pose based on the current first pose and the first anchor pose, and calculating the change in the second pose based on the current second pose and the second anchor pose, include: The change in the third pose is calculated based on the current first pose and the first anchor positioning pose, and the change in the third pose is calculated based on the current second pose and the second anchor positioning pose. The position change in the third pose change is scaled based on a preset position scaling factor to obtain the first position change, and the position change in the fourth pose change is scaled based on the preset position scaling factor to obtain the second position change. The first pose change is obtained by interpolating the pose change in the third pose change based on a preset interpolation algorithm, and the second pose change is obtained by interpolating the pose change in the fourth pose change based on the preset interpolation algorithm.

[0014] Furthermore, to achieve the above objectives, this application also proposes a robot control device for use in a robot control system, the robot control system including a robot and a teleoperation device, the robot control device comprising: The first acquisition module is used to acquire in real time the first pose corresponding to the left arm of the teleoperation device and the second pose corresponding to the right arm of the teleoperation device. The second acquisition module is used to acquire the first anchor positioning posture corresponding to the left arm of the teleoperation device and the second anchor positioning posture corresponding to the right arm of the teleoperation device. When an anchor positioning posture acquisition request is detected, the posture corresponding to the left arm of the teleoperation device is used as the first anchor positioning posture, and the posture corresponding to the right arm of the teleoperation device is used as the second anchor positioning posture. The first calculation module is used to calculate the change in the first pose based on the current first pose and the first anchor pose, and to calculate the change in the second pose based on the current second pose and the second anchor pose. The second calculation module is used to calculate the first mirror pose change based on the first pose change and the preset mirror matrix, and to calculate the second mirror pose change based on the second pose change and the preset mirror matrix. The determination module is used to determine the first target pose corresponding to the right arm of the robot based on the first mirror pose change amount, and to determine the second target pose corresponding to the left arm of the robot based on the second mirror pose change amount. A control module is used to control the robot based on the first target pose and the second target pose.

[0015] In addition, to achieve the above objectives, this application also proposes a robot control device, the device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the robot control method as described above.

[0016] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and which, when executed by a processor, implements the steps of the robot control method described above.

[0017] One or more technical solutions proposed in this application have at least the following technical effects: The robot acquires the first pose corresponding to the left arm and the second pose corresponding to the right arm of the teleoperation device in real time; then, it acquires the first anchoring pose corresponding to the left arm and the second anchoring pose corresponding to the right arm; then, it calculates the change in the first pose based on the current first pose and the first anchoring pose, and calculates the change in the second pose based on the current second pose and the second anchoring pose; then, it calculates the change in the first mirror pose based on the change in the first pose and a preset mirror matrix, and calculates the change in the second mirror pose based on the change in the second pose and the preset mirror matrix; finally, it determines the robot based on the change in the first mirror pose. The robot's right arm is given a first target pose, and the left arm is given a second target pose based on the second mirror pose change. Finally, the robot is controlled based on the first and second target poses. The robot's right arm is controlled according to the pose of the left arm of the teleoperation device, and the left arm is controlled simultaneously according to the pose of the right arm of the teleoperation device, thus achieving mirror teleoperation. This allows the operator to be positioned in the robot's mirror image position, controlling the robot's right arm through the left arm of the teleoperation device and the left arm through the right arm of the teleoperation device. This allows the operator to conveniently observe the work area while naturally controlling the robot's operation, improving the accuracy and efficiency of robot control. Attached Figure Description

[0018] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0019] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 This is a flowchart illustrating an embodiment of the robot control method of this application. Figure 2 This is a schematic diagram of the teleoperation device and the robot mirror teleoperation in an embodiment of the robot control method of this application; Figure 3 This is a schematic diagram of the module structure of the robot control device according to an embodiment of this application; Figure 4 This is a schematic diagram of the device structure of the hardware operating environment involved in the robot control method in the embodiments of this application.

[0021] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0022] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.

[0023] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.

[0024] The main solution of this application embodiment is as follows: Real-time acquisition of the first pose corresponding to the left arm of the teleoperation device and the second pose corresponding to the right arm of the teleoperation device; acquisition of the first anchoring pose corresponding to the left arm of the teleoperation device and the second anchoring pose corresponding to the right arm of the teleoperation device; calculation of the first pose change based on the current first pose and the first anchoring pose, and calculation of the second pose change based on the current second pose and the second anchoring pose; calculation of the first mirror pose change based on the first pose change and a preset mirror matrix, and calculation of the second mirror pose change based on the second pose change and the preset mirror matrix; determination of the first target pose corresponding to the right arm of the robot based on the first mirror pose change, and determination of the second target pose corresponding to the left arm of the robot based on the second mirror pose change; control of the robot based on the first target pose and the second target pose.

[0025] In this embodiment, for ease of description, the robot control device will be used as the execution subject in the following description.

[0026] Robots are high-end, intelligent medical devices. Industrial robots and medical robots, which have higher requirements for accuracy and precision, are mostly master-slave teleoperation structures. That is, the master operator is operated by a person, and the movement of the slave mechanism is controlled by remote communication and computer.

[0027] However, existing teleoperation technologies all use the same perspective as the robot, requiring the operator to be positioned in the same direction as the robot, usually behind or to the side of the robot. This same-view teleoperation makes it difficult for the operator to observe the work area in front of the robot, resulting in low accuracy and efficiency in robot control.

[0028] In addition, in the existing technology, static anchoring mapping can be used for teleoperation. However, when using static anchoring for robot teleoperation, operators with excessively long or short arms may have difficulty operating the teleoperation device, making it impossible for them to place their hands in a comfortable area for operation.

[0029] Therefore, improving the accuracy and efficiency of robot control is a problem that urgently needs to be solved.

[0030] This application provides a solution that controls the robot's right arm based on the pose of the left arm of the teleoperation device, and simultaneously controls the robot's left arm based on the pose of the right arm of the teleoperation device, thereby achieving mirror teleoperation. This allows the operator to be positioned in a mirror image of the robot, controlling the robot's right arm through the left arm of the teleoperation device and the left arm through the right arm of the teleoperation device. This enables the operator to conveniently observe the work area while naturally controlling the robot's operation, improving the accuracy and efficiency of robot control.

[0031] It should be noted that the executing entity in this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone, or an electronic device or robot control device capable of performing the above functions. The executing entity in this embodiment can be independent of the robot or the remote control device, or it can be integrated into the robot or the remote control device. The following description uses a robot control device as the executing entity to illustrate this embodiment and the subsequent embodiments.

[0032] Based on this, a first embodiment of the robot control method of this application is proposed, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the robot control method of this application.

[0033] In this embodiment, the robot control method is applied to a robot control system, which includes a robot and a teleoperation device, the teleoperation device including a left arm and a right arm of the teleoperation device.

[0034] The robot control method includes steps S110~S160: Step S110: Real-time acquisition of the first pose corresponding to the left arm of the teleoperation device and the second pose corresponding to the right arm of the teleoperation device; In this embodiment of the application, when the robot is teleoperated, the first pose of the left arm end of the teleoperation device and the second pose of the right arm end of the teleoperation device can be acquired in real time. The first pose may include a first posture and a first position, and the second pose may include a second posture and a second position. Specifically, the first pose and the second pose can be acquired using data acquisition methods in related technologies.

[0035] It should be noted that a remote operation control button can also be set on the remote operation device. When the operator presses the remote operation control button, the remote operation device establishes communication with the robot and the remote operation device begins to remotely operate the robot. At this time, the robot control method of this embodiment can be triggered, thereby obtaining the first pose and the second pose in real time.

[0036] Step S120: Obtain the first anchor positioning posture corresponding to the left arm of the teleoperation device and the second anchor positioning posture corresponding to the right arm of the teleoperation device. When an anchor positioning posture acquisition request is detected, the posture corresponding to the left arm of the teleoperation device is used as the first anchor positioning posture, and the posture corresponding to the right arm of the teleoperation device is used as the second anchor positioning posture.

[0037] In this embodiment, a first anchoring posture corresponding to the left arm of the teleoperated device and a second anchoring posture corresponding to the right arm of the teleoperated device are acquired. Both the first and second anchoring postures are obtained through anchoring posture acquisition requests. These requests can be sent by the user via software or hardware. For example, in some embodiments, the anchoring posture acquisition request can be triggered by a pre-set trigger condition via software. For instance, the trigger condition could be reaching a predetermined time interval or achieving a set posture. In some embodiments, an anchoring posture trigger button can be provided on the teleoperated device; when this button is pressed, it is considered that an anchoring posture acquisition request has been detected.

[0038] The first anchoring pose includes a first anchoring posture and a first anchoring position; the second anchoring pose includes a second anchoring posture and a second anchoring position; the first position pose includes a first posture and a first position; and the second position pose includes a second posture and a second position. It should be noted that when an anchoring pose acquisition request is detected, the pose corresponding to the left arm of the teleoperation device is used as the first anchoring pose, and the pose corresponding to the right arm of the teleoperation device is used as the second anchoring pose. It is understood that during the process of controlling the robot through the teleoperation device, multiple first and second anchoring poses can be generated by triggering set conditions. In this embodiment, the acquired first and second anchoring poses are those acquired at the most recent trigger condition. For example, when the duration after acquiring the first and second anchoring poses reaches a preset duration, an anchoring pose acquisition request can be triggered to update the first and second anchoring poses. By updating the anchoring poses, the robot's pose can be continuously calibrated, motion drift can be reduced, and the control accuracy of the teleoperation can be improved.

[0039] In some embodiments, taking the setting of an anchor pose trigger button on the teleoperation device as an example, after the teleoperation device establishes a communication connection with the robot, pressing the anchor pose trigger button detects a request to acquire the anchor pose. The initial states of the teleoperation device's left and right arms (i.e., the state before any pose adjustment after establishing the communication connection) are then acquired as the first and second anchor poses. When the teleoperation device controls the robot to move to a certain position, the anchor pose trigger button is released. At this point, the teleoperation device no longer performs teleoperation on the robot, and its pose can be freely adjusted, while the robot's pose remains at the position where the anchor pose trigger button was released. After the teleoperation device completes its pose adjustment, pressing the anchor pose trigger button again acquires new first and second anchor poses. The teleoperation device continues to perform teleoperation on the robot, and the newly acquired first and second anchor poses serve as the basis for subsequent steps. In this way, when the operator's hands reach an uncomfortable position / angle, pressing and releasing the anchor pose trigger button allows the hands to be adjusted to a comfortable range to continue working, while ensuring continuous and non-jumping robot movements.

[0040] Step S130: Calculate the change in the first pose based on the current first pose and the first anchor pose, and calculate the change in the second pose based on the current second pose and the second anchor pose.

[0041] In this step, the current first pose and the current second pose refer to the latest first pose and second pose acquired in real time. The current first pose includes the current first position and the current first posture, and the current second pose includes the current second position and the current second posture. Based on the coordinate system corresponding to the teleoperation device and the coordinate system corresponding to the robot, the process of calculating the pose change is divided into two cases. When the coordinate system corresponding to the teleoperation device and the coordinate system corresponding to the robot are different, the change in the first pose can be calculated based on the rotation matrix between the coordinate systems of the teleoperation device and the robot, the first pose, and the first anchoring pose. When the coordinate system corresponding to the teleoperation device and the coordinate system corresponding to the robot are the same, the change in the first pose is directly calculated based on the first pose and the first anchoring pose.

[0042] The first pose change includes a first position change and a first orientation change, while the second pose change includes a second position change and a second orientation change. When the coordinate system of the teleoperated device is the same as the coordinate system of the robot, for the first pose change, the first orientation change is calculated based on the current first orientation and the first anchoring orientation, and the first position change is calculated based on the current first position and the first anchoring position. Specifically, the formulas for the first position change and the first orientation change are as follows: delta_p=p_ex_now - p_ex_ref; delta_q=q_ex_now * q_ex_ref.inverse(); Where delta_p is the first position change, p_ex_now is the current first position, p_ex_ref is the first anchor position, delta_q is the first attitude change, q_ex_now is the current first attitude, q_ex_ref is the first anchor attitude, and q_ex_ref.inverse() is the inverse of the first anchor attitude.

[0043] In other words, when calculating the first attitude change, the inverse of the first anchoring attitude is calculated first, and then the current first attitude is multiplied by the inverse of the first anchoring attitude to obtain the first attitude change. The calculation process for the second attitude change is similar to that for the first attitude change, and the calculation process for the second position change is similar to that for the first position change, so it will not be described again here.

[0044] Step S140: Calculate the first mirror pose change based on the first pose change and the preset mirror matrix, and calculate the second mirror pose change based on the second pose change and the preset mirror matrix.

[0045] In this step, a preset mirror matrix is ​​used to map the pose changes of the left arm of the teleoperated device to the right arm of the robot, and the pose changes of the right arm of the teleoperated device to the left arm of the robot, thereby realizing the mirror operation of the robot by the teleoperated device. When the teleoperated device performs mirror operations on the robot, a coordinate system is constructed based on the location of the teleoperated device. Figure 2 A schematic diagram illustrating the motion of a teleoperated device and a robot mirroring teleoperation in one embodiment of this application is shown. Figure 2 Let's define the direction of the teleoperated device's leftward movement as the positive X-axis, the direction of its forward movement as the positive Y-axis, and the direction of its upward movement as the positive Z-axis. Therefore, when the teleoperated device moves forward 5 cm, the robot should move backward 5 cm in the coordinate system constructed using the teleoperated device. In this case, the element corresponding to the Y-axis in the mirror matrix should be -1. Similarly, when the teleoperated device moves upward 5 cm, the robot should move upward 5 cm in the coordinate system constructed using the teleoperated device. In this case, the element corresponding to the Y-axis in the mirror matrix should be 1. Using the same method, determine the values ​​of each element in the mirror matrix corresponding to the position and orientation.

[0046] After obtaining the first pose change and the second pose change, the first mirror pose change is calculated based on the first pose change and the preset mirror matrix. At the same time, the second mirror pose change is calculated based on the second pose change and the preset mirror matrix. For example, for the first pose change, the numerical values ​​corresponding to the first position change and the first attitude change in the first pose change are first combined and converted into the corresponding vector. The first mirror pose change is calculated based on the vector and the preset mirror matrix.

[0047] Step S150: Determine the first target pose corresponding to the right arm of the robot based on the first mirror pose change amount, and determine the second target pose corresponding to the left arm of the robot based on the second mirror pose change amount.

[0048] In this embodiment, after obtaining the first mirror pose change and the second mirror pose change, the first target pose and the second target pose are calculated respectively. Specifically, if there is an anchor pose of the robot, the first target pose and the second target pose are calculated based on the robot's anchor pose, the first mirror pose change, and the second mirror pose change. If there is no anchor pose of the robot, the pose offset between the teleoperation device and the robot is obtained, and the first target pose and the second target pose are calculated based on the pose offset and the first mirror pose change and the second mirror pose change.

[0049] It should be noted that the robot's anchor pose includes the third anchor pose corresponding to the robot's right arm and the fourth anchor pose corresponding to the robot's left arm. If the robot's anchor pose exists, the first target pose is calculated based on the change between the third anchor pose and the first mirror pose, and the second target pose is calculated based on the change between the fourth anchor pose and the second mirror pose.

[0050] Additionally, it should be noted that the pose offset includes the first pose offset between the left arm of the teleoperation device and the right arm of the robot, and the second pose offset between the right arm of the teleoperation device and the left arm of the robot; if there is no anchor pose of the robot, the first target pose is calculated based on the first pose offset and the first mirror pose change, and the second target pose is calculated based on the second pose offset and the second mirror pose change.

[0051] Step S160: Control the robot based on the first target pose and the second target pose.

[0052] In this embodiment, when the first target pose and the second target pose are obtained, the first target pose and the second target pose are sent to the robot's control module to control the robot based on the first target pose and the second target pose. Specifically, the robot's right arm is controlled according to the first target pose, and the robot's left arm is controlled according to the second target pose. For example, the end-effector pose of the robot's right arm is adjusted to the first target pose, and the end-effector pose of the robot's left arm is adjusted to the second target pose to achieve mirror teleoperation. This allows the operator to be positioned in the robot's mirror position, controlling the robot's right hand with the left hand and controlling the robot's left hand with the right hand. This allows the operator to conveniently observe the work area while naturally controlling the robot's operation, improving the accuracy and efficiency of robot control.

[0053] This embodiment provides a robot control method, which involves acquiring in real time the first pose corresponding to the left arm of the teleoperated device and the second pose corresponding to the right arm of the teleoperated device; then acquiring the first anchoring pose corresponding to the left arm of the teleoperated device and the second anchoring pose corresponding to the right arm of the teleoperated device; subsequently calculating the change in the first pose based on the current first pose and the first anchoring pose, and calculating the change in the second pose based on the current second pose and the second anchoring pose; then calculating the change in the first mirror pose based on the change in the first pose and a preset mirror matrix, and calculating the change in the second mirror pose based on the change in the second pose and the preset mirror matrix; and finally, based on the change in the first mirror pose... The first target pose corresponding to the right arm of the robot is determined by the quantity, and the second target pose corresponding to the left arm of the robot is determined based on the second mirror pose change. Finally, the robot is controlled based on the first target pose and the second target pose. The robot's right arm is controlled according to the pose of the left arm of the teleoperation device, and the robot's left arm is controlled according to the pose of the right arm of the teleoperation device, so as to realize mirror teleoperation. This allows the operator to be in the mirror position of the robot and control the robot's right arm through the left arm of the teleoperation device and the robot's left arm through the right arm of the teleoperation device. This allows the operator to conveniently observe the work area and naturally control the robot's operation, improving the accuracy and efficiency of robot control.

[0054] Based on the first embodiment, a second embodiment of the robot control method of this application is proposed. In this embodiment, the first image pose change includes a first image position change and a first image orientation change, and the second image pose change includes a second image position change and a second image orientation change; step S150 includes steps S210~S220: Step S210: Obtain the third anchor positioning pose corresponding to the right arm of the robot and the fourth anchor positioning pose corresponding to the left arm of the robot. When an anchor positioning pose acquisition request is detected, the pose corresponding to the right arm of the robot is taken as the third anchor positioning pose and the pose corresponding to the left arm of the robot is taken as the fourth anchor positioning pose. The third anchor positioning pose includes a third anchoring position and a third anchoring posture, and the fourth anchor positioning pose includes a fourth anchoring position and a fourth anchoring posture. Step S220: Add the third anchor position to the change in the first mirror position to obtain the first target position; multiply the third anchor attitude to the change in the first mirror attitude to obtain the first target attitude; add the fourth anchor position to the change in the second mirror position to obtain the second target position; and multiply the fourth anchor attitude to the change in the second mirror attitude to obtain the second target attitude. The first target pose includes the first target position and the first target attitude, and the second target pose includes the second target position and the second target attitude.

[0055] In this embodiment, when calculating the first target pose and the second target pose, if there is an anchor pose of the robot, the third anchor pose corresponding to the right arm of the robot and the fourth anchor pose corresponding to the left arm of the robot are obtained. The third anchor pose and the fourth anchor pose can be obtained through the anchor pose acquisition request. That is, the first anchor pose, the second anchor pose, the third anchor pose and the fourth anchor pose can be obtained simultaneously according to the anchor pose acquisition request.

[0056] It should be noted that when an anchor pose acquisition request is detected, the pose corresponding to the robot's right arm is used as the third anchor pose, and the pose corresponding to the robot's left arm is used as the fourth anchor pose. Understandably, to ensure timely updates to the third and fourth anchor poses, they can be updated when a preset duration has elapsed since their acquisition. This involves triggering the anchor pose acquisition request, updating the third anchor pose based on the current pose of the robot's right arm, and updating the fourth anchor pose based on the current pose of the robot's left arm.

[0057] The first target pose includes a first target position and a first target attitude, and the second target pose includes a second target position and a second target attitude. When calculating the target pose, the target position and target attitude are calculated separately. Specifically, the first target position is obtained by adding the change in the third anchor position to the change in the first mirrored position; the first target attitude is obtained by multiplying the change in the third anchor attitude to the change in the first mirrored attitude; the second target position is obtained by adding the change in the fourth anchor position to the change in the second mirrored position; and the second target attitude is obtained by multiplying the change in the fourth anchor attitude to the change in the second mirrored attitude.

[0058] For example, for the first target pose, the formulas for the corresponding first target position and first target attitude are as follows: p_target=p_arm_ref + delta_p'; q_target=delta_q'* q_arm_ref; Where p_target is the first target position, p_arm_ref is the third anchor position, delta_p' is the change in the first mirror position, q_target is the first target attitude, delta_q' is the change in the first mirror attitude, and q_arm_ref is the third anchor attitude.

[0059] It should be noted that the calculation method for the second target pose is similar to that for the first target pose, and will not be repeated here.

[0060] This embodiment provides a robot control method. It obtains the third anchoring pose corresponding to the robot's right arm and the fourth anchoring pose corresponding to the robot's left arm. Then, it adds the third anchoring position to the first mirror position change to obtain a first target position, multiplies the third anchoring pose to the first mirror pose change to obtain a first target pose, adds the fourth anchoring position to the second mirror position change to obtain a second target position, and multiplies the fourth anchoring pose to the second mirror pose change to obtain a second target pose. The position and pose of the target pose can be calculated from the position and pose in the mirror pose change and the position and pose in the anchoring pose, respectively, to accurately obtain the first and second target poses, thereby improving the accuracy of the first and second target poses and further enhancing the accuracy and efficiency of robot control.

[0061] A third embodiment of the robot control method of this application is proposed based on the first embodiment. In this embodiment, the first pose change includes a first position change and a first attitude change, the second pose change includes a second position change and a second attitude change, and step S140 may further include steps S310~S320: Step S310: Combine the first position change and the first attitude change to obtain a first change vector, and combine the second position change and the second attitude change to obtain a second change vector. Step S320: Multiply the first change vector by the preset mirror matrix to obtain the first mirror change, and multiply the first change vector by the preset mirror matrix to obtain the second mirror change.

[0062] In this embodiment, when the first pose change and the second pose change are obtained, the first position change and the first attitude change in the first pose change are combined to obtain the first change vector, and the second position change and the second attitude change in the second pose change are combined to obtain the second change vector. For example, for the first pose change, the first position change delta_p = [p x p y p z The first attitude change is delta_q = [q] w q x q y q z The first change vector obtained after combining them is [p] x p y p z q w q x q y q z The determination process of the second change vector is similar to that of the first change vector, and will not be repeated here.

[0063] When the first change vector and the second change vector are obtained, the first change vector is multiplied by a preset mirror matrix to obtain the first mirror change, and the first change vector is multiplied by the preset mirror matrix to obtain the second mirror change. The formula for the first mirror change is: ; ; in, Let A be the first mirror change value, and let A be the preset mirror matrix. This is the first variable vector.

[0064] The first image change includes the first image position change and the first image attitude change. For example, the first image change is... At that time, the change in the position of the first mirror image is The first mirror image attitude change is .

[0065] It should be noted that the calculation process for the second mirror change is similar to that for the first mirror change, and will not be repeated here.

[0066] This embodiment provides a robot control method. A first change vector is obtained by combining the first position change and the first pose change. A second change vector is then obtained by combining the second position change and the second pose change. Next, the first change vector is multiplied by a preset mirror matrix to obtain the first mirror change, and the first change vector is multiplied by the preset mirror matrix again to obtain the second mirror change. Multiplying the change vector obtained by combining pose changes with the preset mirror matrix to obtain the mirror change improves the accuracy of the first and second mirror changes, thereby improving the accuracy of the first and second target poses and further enhancing the accuracy and efficiency of robot control.

[0067] Based on the first embodiment, a fourth embodiment of the robot control method of this application is proposed. In this embodiment, step S150 may further include steps S410 to S420: Step S410: Obtain the first pose offset between the left arm of the teleoperation device and the right arm of the robot, and obtain the second pose offset between the right arm of the teleoperation device and the left arm of the robot. Step S420: Based on the first anchor pose, the first mirror pose change, and the first pose offset, calculate the first target pose corresponding to the right arm of the robot, and based on the second anchor pose, the second mirror pose change, and the second pose offset, calculate the second target pose corresponding to the left arm of the robot.

[0068] In this embodiment, when calculating the first target pose and the second target pose, if there is no anchor pose of the robot, the first pose offset between the left arm of the teleoperation device and the right arm of the robot is obtained, and the second pose offset between the right arm of the teleoperation device and the left arm of the robot is obtained.

[0069] It should be noted that, in some embodiments, when the robot is running stably, the third pose corresponding to the left arm of the teleoperated device and the fourth pose corresponding to the right arm can be obtained, and the fifth pose corresponding to the right arm and the sixth pose corresponding to the left arm can be obtained; the first pose offset is calculated based on the third pose and the fifth pose, and the second pose offset is calculated based on the fourth pose and the sixth pose. In other embodiments, the fifth pose corresponding to the right arm and the sixth pose corresponding to the left arm can also be obtained simultaneously when the first anchoring pose and the second anchoring pose are obtained. In this case, the third pose is the first anchoring pose, the fourth pose is the second anchoring pose, the fifth pose is the third anchoring pose, and the sixth pose is the fourth anchoring pose. In this case, for the first pose offset, the first pose offset includes a first position offset and a first attitude offset, and the formulas for the first position offset and the first attitude offset are respectively: p_bias = p_arm_ref - p_ex_ref; q_bias = q_arm_ref * q_ex_ref.inverse(); Where p_bias is the first position bias, p_arm_ref is the third anchor position, p_ex_ref is the first anchor position, q_bias is the first attitude bias, q_arm_ref is the third anchor attitude, and q_ex_ref.inverse() is the inverse of the first anchor attitude.

[0070] The `p_arm_ref` parameter contains three values: `px`, `py`, and `pz`, representing the position of the robot arm's end effector relative to the coordinate system along the x, y, and z axes. The `q_arm_ref` parameter contains three values: `qw`, `qx`, `qy`, and `qz` (quaternions), representing the pose of the robot arm's end effector relative to the coordinate system.

[0071] The calculation method for the second pose offset is similar to that for the first pose offset, and will not be repeated here.

[0072] After obtaining the second pose offset and the first pose offset, the first target pose is calculated based on the first anchor pose, the first mirror pose change, and the first pose offset. The second target pose is then calculated based on the second anchor pose, the second mirror pose change, and the second pose offset. For example, the first target pose includes both position and orientation. The position of the first target pose can be obtained by adding the position of the first anchor pose, the first mirror pose change, and the orientation of the first pose offset. The orientation of the first target pose can be obtained by multiplying the position of the first anchor pose, the first mirror pose change, and the orientation of the first pose offset. The calculation method for the second target pose is the same as that for the first target pose, and will not be repeated here. By first calculating the offset between the teleoperated device and the robot, and then determining the robot's target pose based on the offset, the inherent hardware deviation of the teleoperated device can be eliminated, ensuring smooth movement.

[0073] Further, in a feasible implementation, the first mirror pose change includes a first mirror position change and a first mirror attitude change; the second mirror pose change includes a second mirror position change and a second mirror attitude change; the first anchor pose includes a first anchor attitude and a first anchor position; the second anchor pose includes a second anchor attitude and a second anchor position; the first pose offset includes a first position offset and a first attitude offset; the second pose offset includes a second position offset and a second attitude offset; the first target pose includes a first target position and a first target attitude; the second target pose includes a second target position and a second target attitude; step S420 may include steps S421~S422: Step S421: Add the first mirror position change, the first anchor position, and the first position offset to obtain the first target position, and multiply the first mirror attitude change, the first anchor attitude, and the first attitude offset to obtain the first target attitude. Step S422: Add the second mirror position change, the second anchor position, and the second position offset to obtain the second target position, and multiply the second mirror attitude change, the second anchor attitude, and the second attitude offset to obtain the second target attitude.

[0074] In this embodiment, when calculating the first target pose, the first target position of the first target pose is obtained by adding the first mirror position change, the first anchor position, and the first position offset. The first target pose in the first target pose is obtained by multiplying the first mirror pose change, the first anchor pose, and the first pose offset. Thus, the first target pose can be accurately obtained.

[0075] Specifically, when calculating the second target pose, the second target position of the second target pose is obtained by adding the second mirror position change, the second anchor position, and the second position offset. The second target pose of the second target pose is obtained by multiplying the second mirror pose change, the second anchor pose, and the second pose offset. Thus, the second target pose can be accurately obtained.

[0076] This embodiment provides a robot control method. It obtains a first pose offset between the left arm of the teleoperation device and the right arm of the robot, and a second pose offset between the right arm of the teleoperation device and the left arm of the robot. Then, based on the first anchor pose, the first mirror pose change, and the first pose offset, it calculates a first target pose corresponding to the right arm of the robot, and based on the second anchor pose, the second mirror pose change, and the second pose offset, it calculates a second target pose corresponding to the left arm of the robot. By calculating the target pose using the mirror pose change, the anchor pose, and the pose offset, the first and second target poses can be accurately obtained, further improving the accuracy and efficiency of robot control.

[0077] Based on the above embodiments, a fifth embodiment of the robot control method of this application is proposed. In this embodiment, the first pose includes a first posture and a first position; the second pose includes a second posture and a second position; the first anchoring pose includes a first anchoring posture and a first anchoring position, and the second anchoring pose includes a second anchoring posture and a second anchoring position; the first pose change includes a first posture change and a first position change, and the second pose change includes a second posture change and a second position change; step S130 may further include steps S510~S540: Step S510: If the coordinate system corresponding to the teleoperation device is different from the coordinate system corresponding to the robot, then when the robot starts, the third position corresponding to the left arm of the robot and the fourth position corresponding to the right arm of the robot are obtained. Step S520: Calculate the rotation matrix based on the third position and the fourth position, and determine the attitude rotation matrix based on the rotation matrix; Step S530: Calculate the change in the first position based on the first position, the first anchoring position, and the rotation matrix; and calculate the change in the first attitude based on the first attitude, the first anchoring attitude, and the attitude rotation matrix. Step S540: Calculate the change in the second position based on the second position, the second anchoring position, and the rotation matrix; and calculate the change in the second attitude based on the second attitude, the second anchoring attitude, and the attitude rotation matrix.

[0078] In this embodiment, if the coordinate system corresponding to the teleoperated device is different from the coordinate system corresponding to the robot, then when the robot starts, the third position corresponding to the left arm of the robot and the fourth position corresponding to the right arm of the robot are obtained.

[0079] Without considering offset, based on the spatial positions of the operator's left and right arms in the robot's base coordinate system R, an orientation consistent with the operator's semantics is constructed, and the rotation matrix from the operator's coordinate system U (front is +X, left is +Y, right is -Y, and up is +Z) to the robot's base coordinate system R is calculated. .

[0080] At the same time, the third position was measured in the R system. Fourth position .

[0081] Optional up-direction unit vector If only planar alignment is required, then... Using column vectors and left multiplication notation: .

[0082] Wherein, the difference vector d is: , , , , Its norm is: ; Then determine the left axis vector for: ; Given or measured upper axis vector for: , ; Front axis vector (Right-handed, front is left x up) is: ; = ; ; Determining the upper axis vector based on Gram-Schmidt. for:

[0083]

[0084] Under ideal numerical conditions In the implementation, the cross product result can be directly taken as the third column and then normalized once.

[0085] Concatenate the coordinates of the front / left / top three axis vectors in the R system column by column to obtain rotation matrix for: , In scenario A: the coordinate system of the robot is consistent with the coordinate system of the teleoperated device, and the convention is consistent: front is +X, left is +Y, right is -Y, and top is +Z (right-handed system), then the rotation matrix... for:

[0086] Scenario B: The coordinate system of the robot is inconsistent with the coordinate system of the teleoperated device. The target robot is "left hand in +Y, left hand in -Y, and top in -Z".

[0087] The correspondence between R and U is as follows: , To maintain the right-handed position, it can be deduced that... .

[0088] Represent the basis vectors of U using R: The first column is ; The second column is ; The second column is ; Furthermore, the rotation matrix (Can be viewed as a 180° rotation around the +Y axis) as follows: ; ; Next, the attitude rotation matrix q FR for: q FR =quat_from_matrix( ).

[0089] In this embodiment, when obtaining the rotation matrix and the attitude rotation matrix, the change in the first position is calculated based on the first position, the first anchoring position, and the rotation matrix, and the change in the first attitude is calculated based on the first attitude, the first anchoring information, and the attitude rotation matrix; the change in the second position is calculated based on the second position, the second anchoring position, and the rotation matrix, and the change in the second attitude is calculated based on the second attitude, the second attitude, and the attitude rotation matrix.

[0090] Specifically, the formulas for the first position change and the first attitude change are as follows: .

[0091] .

[0092] in, The change in the first position. This represents the first attitude change. The difference between the first position and the first anchoring position. This is the difference between the first attitude and the first anchoring attitude. Here is the attitude rotation matrix. It is the inverse of the attitude rotation matrix.

[0093] The calculation process for the second position change is similar to that for the first position change, and the calculation process for the second attitude change is similar to that for the first attitude change, so it will not be repeated here.

[0094] This embodiment provides a robot control method. If the coordinate system corresponding to the teleoperated device is different from the coordinate system corresponding to the robot, then when the robot starts, the third position corresponding to the left arm and the fourth position corresponding to the right arm of the robot are obtained; a rotation matrix is ​​calculated based on the third position and the fourth position, and an attitude rotation matrix is ​​determined based on the rotation matrix; then, the change in the first position is calculated based on the first position, the first anchoring position, and the rotation matrix, and the change in the first attitude is calculated based on the first attitude, the first anchoring attitude, and the attitude rotation matrix; then, the change in the second position is calculated based on the second position, the second anchoring position, and the rotation matrix, and the change in the second attitude is calculated based on the second attitude, the second anchoring attitude, and the attitude rotation matrix. The pose change can be accurately calculated through the rotation matrix, improving the accuracy of the first and second pose changes, thereby improving the accuracy of the first and second target poses, and further improving the accuracy and efficiency of robot control.

[0095] Based on the above embodiments, a sixth embodiment of the robot control method of this application is proposed. In this embodiment, the first pose change includes a first attitude change and a first position change; the second pose change includes a second attitude change and a second position change; the first pose scaling change includes a first position scaling change and a first attitude scaling change; the second pose scaling change includes a second position scaling change and a second attitude scaling change; step S130 may further include steps S610~S630: Step S610: Calculate the change in third pose based on the current first pose and the first anchor positioning pose, and calculate the change in third pose based on the current second pose and the second anchor positioning pose. Step S620: Scale the position change in the third pose change based on a preset position scaling factor to obtain the first position change; and scale the position change in the fourth pose change based on the preset position scaling factor to obtain the second position change. Step S630: Interpolate the attitude change in the third pose change based on a preset interpolation algorithm to obtain the first pose change, and interpolate the attitude change in the fourth pose change based on the preset interpolation algorithm to obtain the second pose change.

[0096] In this embodiment, the pose change calculated based on the current first pose and the first anchor pose is used as the third pose change, and the pose change calculated based on the current second pose and the second anchor pose is used as the fourth pose change.

[0097] One approach is to first scale the pose change, and then calculate the mirror pose change based on the pose change. The scaling process of the pose change includes position scaling and attitude scaling.

[0098] Specifically, for position scaling, a preset position scaling coefficient can be set in advance. The first position scaling change is determined based on the preset position scaling coefficient and the first position change, and the second position scaling change is determined based on the preset position scaling coefficient and the second position change. For example, the first position scaling change = preset position scaling coefficient * first position change, and the second position scaling change = preset position scaling coefficient * second position change.

[0099] For attitude scaling, the first attitude scaling change can be determined based on a preset interpolation algorithm and the first attitude change, and the second attitude scaling change can be determined based on a preset interpolation algorithm and the second attitude change.

[0100] Taking the first pose scaling change as an example, the preset interpolation algorithm is Slerp interpolation. The quaternion of the pose change in the third pose change is q=[w,x,y,z]. The Slerp interpolation from the identity 1 to q, the scaling process with a scale of i (q must be a unit quaternion) includes: If w < 0, let q -q (because q and -q represent the same attitude, and it can be guaranteed that the angle between them and the unit quaternion does not exceed π / 2).

[0101] angle The formula is: , .

[0102] The first attitude scaling change The formula is: , , , , , Use the small-angle stability approximation (when θ is very small, for example, θ < 10). -6 After linear interpolation and normalization, the change in the first pose scaling is... The formula is: , Using the equivalent axis-angle notation, let ,like , , , Angle scaling The first attitude scaling change The formula is: ; like ,(Right now ),but

[0103] The calculation process for the second attitude scaling change is similar to that for the first attitude scaling change, and will not be repeated here.

[0104] This embodiment provides a robot control method. It calculates a third pose change based on the current first pose and the first anchor pose, and then calculates the third pose change based on the current second pose and the second anchor pose. Next, it scales the position change in the third pose change using a preset position scaling factor to obtain the first position change, and then scales the position change in the fourth pose change using the same preset position scaling factor to obtain the second position change. Finally, it interpolates the attitude change in the third pose change using a preset interpolation algorithm to obtain the first attitude change, and then interpolates the attitude change in the fourth pose change using the same preset interpolation algorithm to obtain the second attitude change. By scaling the pose changes, the smoothness of the target pose is improved, further enhancing the accuracy and efficiency of robot control.

[0105] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the robot control method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.

[0106] This application also provides a robot control device for use in a robot control system, wherein the robot control system includes a robot and a remote operation device. Please refer to [reference needed]. Figure 3 The robot control device includes: The first acquisition module 10 is used to acquire in real time the first pose corresponding to the left arm of the teleoperation device and the second pose corresponding to the right arm of the teleoperation device. The second acquisition module 20 is used to acquire the first anchor positioning posture corresponding to the left arm of the teleoperation device and the second anchor positioning posture corresponding to the right arm of the teleoperation device. When an anchor positioning posture acquisition request is detected, the posture corresponding to the left arm of the teleoperation device is used as the first anchor positioning posture, and the posture corresponding to the right arm of the teleoperation device is used as the second anchor positioning posture. The first calculation module 30 is used to calculate the change in the first pose based on the current first pose and the first anchor pose, and to calculate the change in the second pose based on the current second pose and the second anchor pose. The second calculation module 40 is used to calculate the first mirror pose change based on the first pose change and the preset mirror matrix, and to calculate the second mirror pose change based on the second pose change and the preset mirror matrix. The determining module 50 is used to determine the first target pose corresponding to the right arm of the robot based on the first mirror pose change amount, and to determine the second target pose corresponding to the left arm of the robot based on the second mirror pose change amount. The control module 60 is used to control the robot based on the first target pose and the second target pose.

[0107] The robot control device provided in this application, employing the robot control method described in the above embodiments, can solve the technical problem of how to improve the accuracy and efficiency of robot control. Compared with the prior art, the beneficial effects of the robot control device provided in this application are the same as those of the robot control method provided in the above embodiments, and other technical features in the robot control device are the same as those disclosed in the methods of the above embodiments, and will not be repeated here.

[0108] This application provides a robot control device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, which are executed by the at least one processor to enable the at least one processor to perform the robot control method in Embodiment 1 above.

[0109] The following is for reference. Figure 4 The diagram illustrates a structural schematic suitable for implementing the robot control device of the embodiments of this application. The robot control device in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 4 The robot control device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments of this application.

[0110] like Figure 4 As shown, the robot control device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory 1002 or a program loaded from a storage device 1003 into a random access memory 1004. The random access memory 1004 also stores various programs and data required for the operation of the robot control device. The processing unit 1001, the read-only memory 1002, and the random access memory 1004 are interconnected via a bus 1005. An input / output interface 1006 is also connected to the bus. Typically, the following systems can be connected to the input / output interface 1006: input devices 1007 including, for example, a touchscreen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1003 including, for example, magnetic tape, hard disk, etc.; and communication devices 1009. Communication device 1009 allows the robot control device to communicate wirelessly or wiredly with other devices to exchange data. Although the figure shows robot control devices with various systems, it should be understood that implementation or possession of all the systems shown is not required. More or fewer systems may be implemented alternatively.

[0111] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from read-only memory 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.

[0112] The robot control device provided in this application, employing the robot control method described in the above embodiments, can solve the technical problem of how to improve the accuracy and efficiency of robot control. Compared with the prior art, the beneficial effects of the robot control device provided in this application are the same as those of the robot control method provided in the above embodiments, and other technical features of this robot control device are the same as those disclosed in the previous embodiment method, and will not be repeated here.

[0113] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.

[0114] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

[0115] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the robot control method in the above embodiments.

[0116] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.

[0117] The aforementioned computer-readable storage medium may be included in the robot control device; or it may exist independently and not be assembled into the robot control device.

[0118] The aforementioned computer-readable storage medium carries one or more programs that, when executed by a robot control device, cause the robot control device to: acquire in real time a first pose corresponding to the left arm of the teleoperation device and a second pose corresponding to the right arm of the teleoperation device; acquire a first anchoring pose corresponding to the left arm of the teleoperation device and a second anchoring pose corresponding to the right arm of the teleoperation device; calculate a change in the first pose based on the current first pose and the first anchoring pose, and calculate a change in the second pose based on the current second pose and the second anchoring pose; calculate a first mirror pose change based on the first pose change and a preset mirror matrix, and calculate a second mirror pose change based on the second pose change and the preset mirror matrix; determine a first target pose corresponding to the right arm of the robot based on the first mirror pose change, and determine a second target pose corresponding to the left arm of the robot based on the second mirror pose change; and control the robot based on the first target pose and the second target pose.

[0119] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0120] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0121] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.

[0122] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., computer programs) for executing the above-described robot control method, thereby solving the technical problem of how to improve the accuracy and efficiency of robot control. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the robot control method provided in the above embodiments, and will not be repeated here.

[0123] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the robot control method described above.

[0124] The computer program product provided in this application can solve the technical problem of how to improve the accuracy and efficiency of robot control. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as those of the robot control method provided in the above embodiments, and will not be repeated here.

[0125] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.

Claims

1. A robot control method, characterized in that, Applied to a robot control system, the robot control system includes a robot and a teleoperation device, and the robot control method includes: Real-time acquisition of the first pose corresponding to the left arm of the teleoperation device and the second pose corresponding to the right arm of the teleoperation device. The first anchor positioning posture corresponding to the left arm of the teleoperation device and the second anchor positioning posture corresponding to the right arm of the teleoperation device are obtained. When an anchor positioning posture acquisition request is detected, the posture corresponding to the left arm of the teleoperation device is used as the first anchor positioning posture, and the posture corresponding to the right arm of the teleoperation device is used as the second anchor positioning posture. The change in the first pose is calculated based on the current first pose and the first anchor positioning pose, and the change in the second pose is calculated based on the current second pose and the second anchor positioning pose. The first mirror pose change is calculated based on the first pose change and the preset mirror matrix, and the second mirror pose change is calculated based on the second pose change and the preset mirror matrix. The first target pose corresponding to the right arm of the robot is determined based on the first mirror pose change, and the second target pose corresponding to the left arm of the robot is determined based on the second mirror pose change. The robot is controlled based on the first target pose and the second target pose.

2. The robot control method as described in claim 1, characterized in that, The first mirror pose change includes a first mirror position change and a first mirror orientation change; the second mirror pose change includes a second mirror position change and a second mirror orientation change. The step of determining the first target pose corresponding to the robot's right arm based on the first mirror pose change and determining the second target pose corresponding to the robot's left arm based on the second mirror pose change includes: The third anchor positioning pose corresponding to the right arm of the robot and the fourth anchor positioning pose corresponding to the left arm of the robot are obtained. When an anchor positioning pose acquisition request is detected, the pose corresponding to the right arm of the robot is taken as the third anchor positioning pose and the pose corresponding to the left arm of the robot is taken as the fourth anchor positioning pose. The third anchor positioning pose includes a third anchoring position and a third anchoring posture, and the fourth anchor positioning pose includes a fourth anchoring position and a fourth anchoring posture. The first target position is obtained by adding the third anchor position to the change in the first mirror position, and the first target pose is obtained by multiplying the third anchor pose to the change in the first mirror pose. The second target position is obtained by adding the fourth anchor position to the change in the second mirror position, and the second target pose is obtained by multiplying the fourth anchor pose to the change in the second mirror pose. The first target pose includes the first target position and the first target pose, and the second target pose includes the second target position and the second target pose.

3. The robot control method as described in claim 1, characterized in that, The first pose change includes a first position change and a first orientation change; the second pose change includes a second position change and a second orientation change; the step of calculating the first mirror pose change based on the first pose change and a preset mirror matrix, and calculating the second mirror pose change based on the second pose change and the preset mirror matrix, includes: The first position change and the first attitude change are combined to obtain a first change vector, and the second position change and the second attitude change are combined to obtain a second change vector. The first change vector is multiplied by the preset mirror matrix to obtain the first mirror change, and the first change vector is multiplied by the preset mirror matrix to obtain the second mirror change.

4. The robot control method as described in claim 1, characterized in that, The steps of determining the first target pose corresponding to the robot's right arm based on the first mirror pose change, and determining the second target pose corresponding to the robot's left arm based on the second mirror pose change, include: Obtain the first pose offset between the left arm of the teleoperation device and the right arm of the robot, and obtain the second pose offset between the right arm of the teleoperation device and the left arm of the robot. Based on the first anchor pose, the first mirror pose change, and the first pose offset, the first target pose corresponding to the right arm of the robot is calculated, and based on the second anchor pose, the second mirror pose change, and the second pose offset, the second target pose corresponding to the left arm of the robot is calculated.

5. The robot control method as described in claim 4, characterized in that, The first mirror pose change includes a first mirror position change and a first mirror attitude change; the second mirror pose change includes a second mirror position change and a second mirror attitude change; the first anchor pose includes a first anchor attitude and a first anchor position; the second anchor pose includes a second anchor attitude and a second anchor position; the first pose offset includes a first position offset and a first attitude offset; the second pose offset includes a second position offset and a second attitude offset; the first target pose includes a first target position and a first target attitude; the second target pose includes a second target position and a second target attitude. The steps of calculating the first target pose corresponding to the right arm of the robot based on the first anchor pose, the first mirror pose change, and the first pose offset, and calculating the second target pose corresponding to the left arm of the robot based on the second anchor pose, the second mirror pose change, and the second pose offset, include: The first target position is obtained by adding the first mirror position change, the first anchor position, and the first position offset, and the first target attitude is obtained by multiplying the first mirror attitude change, the first anchor attitude, and the first attitude offset. The second target position is obtained by adding the second mirror position change, the second anchor position, and the second position offset, and the second target attitude is obtained by multiplying the second mirror attitude change, the second anchor attitude, and the second attitude offset.

6. The robot control method according to any one of claims 1 to 5, characterized in that, The first pose includes a first posture and a first position; the second pose includes a second posture and a second position; the first anchoring pose includes a first anchoring posture and a first anchoring position, and the second anchoring pose includes a second anchoring posture and a second anchoring position; the first pose change includes a first posture change and a first position change, and the second pose change includes a second posture change and a second position change. The steps of calculating the change in the first pose based on the current first pose and the first anchor pose, and calculating the change in the second pose based on the current second pose and the second anchor pose, include: If the coordinate system corresponding to the teleoperation device is different from the coordinate system corresponding to the robot, then when the robot starts, the third position corresponding to the left arm of the robot and the fourth position corresponding to the right arm of the robot are obtained. Calculate the rotation matrix based on the third and fourth positions, and determine the attitude rotation matrix based on the rotation matrix; The change in the first position is calculated based on the first position, the first anchoring position, and the rotation matrix; and the change in the first attitude is calculated based on the first attitude, the first anchoring attitude, and the attitude rotation matrix. The change in the second position is calculated based on the second position, the second anchoring position, and the rotation matrix, and the change in the second attitude is calculated based on the second attitude, the second anchoring attitude, and the attitude rotation matrix.

7. The robot control method according to any one of claims 1 to 5, characterized in that, The first pose change includes a first attitude change and a first position change; the second pose change includes a second attitude change and a second position change; the first pose scaling change includes a first position scaling change and a first attitude scaling change; the second pose scaling change includes a second position scaling change and a second attitude scaling change. The steps of calculating the change in the first pose based on the current first pose and the first anchor pose, and calculating the change in the second pose based on the current second pose and the second anchor pose, include: The change in the third pose is calculated based on the current first pose and the first anchor positioning pose, and the change in the third pose is calculated based on the current second pose and the second anchor positioning pose. The position change in the third pose change is scaled based on a preset position scaling factor to obtain the first position change, and the position change in the fourth pose change is scaled based on the preset position scaling factor to obtain the second position change. The first pose change is obtained by interpolating the pose change in the third pose change based on a preset interpolation algorithm, and the second pose change is obtained by interpolating the pose change in the fourth pose change based on the preset interpolation algorithm.

8. A robot control device, characterized in that, This is applied to a robot control system, which includes a robot and a teleoperation device. The robot control device includes: The first acquisition module is used to acquire in real time the first pose corresponding to the left arm of the teleoperation device and the second pose corresponding to the right arm of the teleoperation device. The second acquisition module is used to acquire the first anchor positioning posture corresponding to the left arm of the teleoperation device and the second anchor positioning posture corresponding to the right arm of the teleoperation device. When an anchor positioning posture acquisition request is detected, the posture corresponding to the left arm of the teleoperation device is used as the first anchor positioning posture, and the posture corresponding to the right arm of the teleoperation device is used as the second anchor positioning posture. The first calculation module is used to calculate the change in the first pose based on the current first pose and the first anchor pose, and to calculate the change in the second pose based on the current second pose and the second anchor pose. The second calculation module is used to calculate the first mirror pose change based on the first pose change and the preset mirror matrix, and to calculate the second mirror pose change based on the second pose change and the preset mirror matrix. The determination module is used to determine the first target pose corresponding to the right arm of the robot based on the first mirror pose change amount, and to determine the second target pose corresponding to the left arm of the robot based on the second mirror pose change amount. A control module is used to control the robot based on the first target pose and the second target pose.

9. A robot control device, characterized in that, The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the robot control method as described in any one of claims 1 to 7.

10. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the robot control method as described in any one of claims 1 to 7.