Robot motion control method, robot and system

By calculating the equivalent joint driving torque, controlling the master and slave robots to avoid obstacles, the problem of insufficient obstacle avoidance ability of slave robots is solved, and the robot's obstacle avoidance ability and control accuracy are improved.

CN115179272BActive Publication Date: 2025-08-15TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110360893.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-02
Publication Date
2025-08-15
Estimated Expiration
2041-04-02

AI Technical Summary

Technical Problem

When the slave robot follows the main robot, it is easily hindered by environmental objects and lacks obstacle avoidance ability.

Method used

By obtaining the joint information of the main robot, joint interaction force, operator input force, terminal feedback force and joint feedback force of the slave robot, the equivalent joint driving torque is calculated, the main robot movement is controlled to avoid obstacles, and by obtaining the joint information and terminal feedback force of the slave robot, the equivalent joint driving torque is calculated, and the slave robot movement is controlled.

Benefits of technology

The robot's obstacle avoidance ability is improved, ensuring that the terminal executor of the slave robot can perform tasks normally, and at the same time, the main robot's perception ability and control accuracy are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115179272B_ABST
    Figure CN115179272B_ABST
Patent Text Reader

Abstract

The present application discloses a robot motion control method, robot and system, and relates to the field of robot control technology of artificial intelligence technology. The method comprises: obtaining the first joint information, joint interaction force and input force of the master robot, as well as the terminal feedback force, joint feedback force and second joint information from the slave robot; based on the first joint information, joint interaction force, input force of the operator, terminal feedback force, joint feedback force and second joint information, calculating the equivalent joint driving torque for controlling the motion of the master robot; based on the equivalent joint driving torque for controlling the motion of the master robot, controlling the motion of the master robot. In the technical solution provided in the embodiment of the present application, the master robot and the slave robot are able to avoid obstacles based on the interaction force between the joints of the master robot and the environmental objects and the interaction force between the joints of the slave robot and the environmental objects, thereby improving the obstacle avoidance capability of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of robot control technology using artificial intelligence technology, and in particular to a robot motion control method, a robot, and a system. Background Art

[0002] A bilateral teleoperation system can include a master robot, a communication link, and a slave robot. The operator controls the slave robot by operating the master robot.

[0003] In related technologies, a master robot simulates the real-world situation of a slave robot in a task environment based on feedback from the slave robot about the interaction between its end effector and environmental objects. The operator then controls the master robot based on the visual information sent by the slave robot.

[0004] However, when the slave robot follows the movement of the master robot, the joints of the slave robot under related technologies are easily obstructed by environmental objects, and the slave robot has weak obstacle avoidance capabilities. Summary of the Invention

[0005] The embodiments of the present application provide a robot motion control method, robot, and system, which can enable a master robot and a slave robot to avoid obstacles, thereby improving the robot's obstacle avoidance capability. The technical solution is as follows:

[0006] According to one aspect of an embodiment of the present application, a robot motion control method is provided, the method comprising:

[0007] Acquire first joint information, joint interaction force, and operator input force of the master robot, as well as end feedback force, joint feedback force, and second joint information from the slave robot, wherein the first joint information is used to describe the joint state of the master robot, and the second joint information is used to describe the joint state of the slave robot. The joint interaction force refers to the force exerted by environmental objects on the joints of the master robot, the end feedback force refers to the force exerted by environmental objects on the end effector of the slave robot, and the joint feedback force refers to the force exerted by environmental objects on the joints of the slave robot;

[0008] Calculating an equivalent joint driving torque for controlling the motion of the master robot based on the first joint information, the joint interaction force, the operator's input force, the end feedback force, the joint feedback force, and the second joint information;

[0009] Based on the equivalent joint driving torque used to control the movement of the master-end robot, the movement of the master-end robot is controlled.

[0010] According to one aspect of an embodiment of the present application, a robot motion control method is provided, the method comprising:

[0011] Obtaining the second joint information and end-effector feedback force of the slave robot, as well as the first joint information and the operator's input force from the master robot; the first joint information is used to describe the joint state of the master robot, the second joint information is used to describe the joint state of the slave robot, and the end-effector feedback force refers to the force exerted by environmental objects on the end effector of the slave robot;

[0012] Calculating an equivalent joint driving torque for controlling the movement of the slave robot based on the second joint information, the end feedback force, the first joint information, and the operator's input force;

[0013] Based on the equivalent joint driving torque used to control the movement of the slave robot, the movement of the slave robot is controlled.

[0014] According to one aspect of an embodiment of the present application, a robot motion control device is provided, the device comprising:

[0015] A master-end information acquisition module is configured to acquire first joint information, joint interaction force, and operator input force of the master-end robot, as well as terminal feedback force, joint feedback force, and second joint information from the slave-end robot. The first joint information is used to describe the joint state of the master-end robot, and the second joint information is used to describe the joint state of the slave-end robot. The joint interaction force refers to the force exerted by environmental objects on the joints of the master-end robot. The terminal feedback force refers to the force exerted by environmental objects on the end effector of the slave robot. The joint feedback force refers to the force exerted by environmental objects on the joints of the slave robot.

[0016] a master-end torque acquisition module, configured to calculate an equivalent joint driving torque for controlling the motion of the master-end robot based on the first joint information, the joint interaction force, the operator's input force, the end feedback force, the joint feedback force, and the second joint information;

[0017] A master-end motion control module is used to control the motion of the master-end robot based on the equivalent joint driving torque used to control the motion of the master-end robot.

[0018] According to one aspect of an embodiment of the present application, a robot motion control device is provided, the device comprising:

[0019] The slave information acquisition module is used to obtain the second joint information and end feedback force of the slave robot, as well as the first joint information and the operator's input force from the master robot; the first joint information is used to describe the joint state of the master robot, the second joint information is used to describe the joint state of the slave robot, and the end feedback force refers to the force exerted by environmental objects on the end effector of the slave robot;

[0020] a slave end torque acquisition module, configured to calculate an equivalent joint driving torque for controlling the movement of the slave end robot based on the second joint information, the end feedback force, the first joint information, and the operator's input force;

[0021] The slave end motion control module is used to control the motion of the slave end robot based on the equivalent joint driving torque used to control the motion of the slave end robot.

[0022] According to one aspect of an embodiment of the present application, a robot is provided, comprising a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the above-mentioned robot motion control method.

[0023] According to one aspect of an embodiment of the present application, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a code set or an instruction set is stored. The at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the above-mentioned robot motion control method.

[0024] According to one aspect of an embodiment of the present application, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a robot reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the robot to perform the above-described robot motion control method.

[0025] According to one aspect of an embodiment of the present application, a bilateral teleoperation system is provided, which includes a master-end robot and a slave-end robot, the master-end robot is used to execute the robot motion control method on the master-end robot side, and the slave-end robot is used to execute the robot motion control method on the slave-end robot side.

[0026] The technical solutions provided by the embodiments of the present application include at least the following beneficial effects:

[0027] By determining the equivalent joint driving torque of the master robot based on the interaction forces between the joints of the master robot and environmental objects and the interaction forces between the joints of the slave robot and environmental objects, the joints of the master robot are controlled to perform obstacle avoidance movements based on the equivalent joint driving torque of the master robot, thereby enabling the joints of the master robot to avoid obstacles. Furthermore, while ensuring that the end effector of the slave robot can perform the operation task, it is also achieved that the joints of the slave robot can also avoid obstacles, thereby improving the robot's obstacle avoidance capability.

[0028] In addition, by obtaining the interaction force between the end effector of the slave robot and the environmental objects and the joint information of the slave robot, the equivalent joint driving torque of the master robot is determined, so that the master robot can perceive the force interaction between the end effector of the slave robot and the environmental objects and the position following of the slave robot, thereby improving the perception ability of the master robot, so that the operator can control the slave robot more accurately, thereby improving the accuracy of robot control. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0030] Figure 1 This is a schematic structural diagram of a homogeneous bilateral teleoperated robot provided by one embodiment of the present application;

[0031] Figure 2 is a flow chart of a robot motion control method provided by one embodiment of the present application;

[0032] Figure 3 is a flow chart of a robot motion control method provided by another embodiment of the present application;

[0033] Figure 4 This is a flow chart of information interaction between a master robot and a slave robot provided by one embodiment of the present application;

[0034] Figure 5 This is a schematic diagram of the input and output of a master-end robot system provided by one embodiment of the present application;

[0035] Figure 6 This is a schematic diagram of the input and output of a slave robot system provided by one embodiment of the present application;

[0036] Figure 7 This is a flow chart of force feedback provided by one embodiment of the present application;

[0037] Figure 8 Schematic diagram of a master-end robot control system and a slave-end robot control system provided by one embodiment of the present application;

[0038] Figure 9 is a block diagram of a robot motion control device provided by one embodiment of the present application;

[0039] Figure 10 is a block diagram of a robot motion control device provided by another embodiment of the present application;

[0040] Figure 11 is a block diagram of a robot motion control device provided by another embodiment of the present application;

[0041] Figure 12 is a block diagram of a robot motion control device provided by another embodiment of the present application;

[0042] Figure 13 This is a simplified structural block diagram of a robot provided in one embodiment of the present application. DETAILED DESCRIPTION

[0043] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.

[0044] Artificial Intelligence (AI) refers to the theories, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also studies the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.

[0045] Artificial intelligence (AI) technology is a comprehensive discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, speech processing, natural language processing, and machine learning / deep learning.

[0046] The technical solution of this application mainly relates to robotics technology in artificial intelligence technology, mainly to intelligent control of robots. A robot is a mechanical and electronic device that can imitate certain human skills by combining mechanical transmission and modern microelectronics technology. Robots are developed on the basis of electronic, mechanical and information technology. A robot does not necessarily have to look like a human. As long as it can independently complete the tasks and commands assigned to it by humans, it belongs to the robot family. A robot is an automated machine that has some intelligent capabilities similar to those of humans or biological organisms, such as perception, planning, movement and coordination. It is an automated machine with high flexibility. With the development of computer technology and artificial intelligence technology, robots have been greatly improved in terms of function and technical level. Mobile robots and robot vision and touch technologies are typical representatives.

[0047] The robot motion control method provided by the embodiments of the present application enables both master and slave robots to avoid obstacles, improving the robots' obstacle avoidance capabilities. For example, when an obstacle is located along the motion trajectory of a slave robot's joints, the master robot can control the slave robot's joints to avoid the obstacle based on the interaction forces between the slave robot's joints and environmental objects.

[0048] The bilateral teleoperation system may include a master robot, a communication link, and a slave robot. The master robot is used to simulate the real situation of the slave robot in the task environment, and in response to the operator's operation on the master robot, sends control information (such as joint information, operator's input force, etc.) to the slave robot. The slave robot performs motion following (such as joint and end position following) based on the control information from the master robot to complete the corresponding task. Optionally, the slave robot sends environmental object information in the task environment to the master robot (such as the interaction force between the end effector of the slave robot and the environmental objects, the interaction force between the joints of the slave robot and the environmental objects, etc.). The master robot and the slave robot are connected through a communication link.

[0049] Optionally, bilateral teleoperation systems can include homogeneous and heterogeneous types. A homogeneous bilateral teleoperation system refers to a system in which the master and slave robots have identical (i.e., symmetrical) mechanical structures. A heterogeneous bilateral teleoperation system refers to a system in which the master and slave robots have asymmetrical mechanical structures.

[0050] In one example, a homogeneous bilateral teleoperation system is used as an example. Figure 1The master robot 102 and the slave robot 103 have the same mechanical structure. The operator 101 operates the handle (or tactile device, etc.) of the master robot 102 based on the visual information captured by the slave robot's visual device 104. In response to this operation, the master robot 102 sends joint information to the slave robot 103 via a communication link (not shown). The slave robot 103 then follows the movement based on this joint information and performs relevant processing (such as cutting, picking up, rotating, etc.) on the environmental object 105.

[0051] When there is an obstacle on the joint motion trajectory of the slave robot 103, the joint of the slave robot 103 cannot avoid the obstacle, thereby affecting the movement of the end effector of the slave robot 103, resulting in the end effector of the slave robot 103 being unable to normally process the environmental object 105.

[0052] The embodiment of the present application determines the equivalent joint driving torque of the master robot 102 based on the interaction force between the joints of the slave robot 103 and the obstacle, so that the joints of the slave robot 103 can avoid the obstacle.

[0053] Please refer to Figure 2 , which shows a flow chart of a robot motion control method provided by one embodiment of the present application. The execution subject of each step of the method can be the master robot 102 described above, such as the processor provided in the master robot 102. The method can include the following steps (201-203):

[0054] Step 201: Obtain the first joint information, joint interaction force and operator input force of the master robot, as well as the end feedback force, joint feedback force and second joint information from the slave robot.

[0055] Among them, the first joint information is used to describe the joint state of the master robot, the second joint information is used to describe the joint state of the slave robot, the joint interaction force refers to the force exerted by the environmental objects on the joints of the master robot, the end feedback force refers to the force exerted by the environmental objects on the end effector of the slave robot, and the joint feedback force refers to the force exerted by the environmental objects on the joints of the slave robot.

[0056] The master robot is the operator's robot, used to control the slave robots. The slave robots are robots in the mission environment, following the movements of the master robot. These mission environments can include underwater operations, space exploration, nuclear facility maintenance, telemedicine, and surgery. For example, the operator controls the master robot's movements by operating it, and the slave robots follow the master's movements.

[0057] The first joint information refers to the current joint information of the master robot. This first joint information may include information such as the joint angles and joint angular velocities corresponding to the master robot's joints. The master robot may include multiple joints. For example, a master robot with six degrees of freedom may include six independently driven joints. Optionally, this first joint information may be detected by the master robot's own sensors.

[0058] Joint interaction forces can refer to forces exerted by environmental objects in the operating space on the master robot's joints. These joint forces can be the result of an operator actively applying forces to the master robot's joints, or they can be the interaction forces between the master robot's joints and environmental objects in the operating space. Alternatively, these joint interaction forces can be detected by force sensors corresponding to the master robot's joints.

[0059] The operator's input force refers to the force input by the operator to the master robot, which can be used to drive the master robot. The operator's input force can be detected by the master robot's own force sensor. For example, Figure 1 The operator 101 operates the handle of the master robot (i.e., applies force), and the force sensor corresponding to the handle of the master robot (e.g., a six-dimensional force sensor) can detect the force corresponding to the operation. Optionally, the operator's input torque can also be obtained through the force sensor, and the operator's input force can be obtained based on the operator's input torque.

[0060] End-feedback force refers to the interaction force between the slave robot's end effector and environmental objects in the task space (i.e., task environment objects), which is fed back from the slave robot to the master robot. This end-feedback force can be detected by the force sensor corresponding to the slave robot's end effector. In theory, the end-feedback force is positively correlated with the operator's input force.

[0061] Joint feedback force refers to the interaction force between the slave robot's joints and environmental objects in the task space (i.e., obstacles along the joint's trajectory), as fed back by the slave robot to the master robot. Based on this joint feedback force, the master robot can perceive the interaction between the slave robot's joints and obstacles and perform avoidance planning. This joint feedback force is detected by the force sensors corresponding to the slave robot's joints.

[0062] The second joint information refers to the joint information of the slave robot received by the master robot at the current moment. The second joint information may include information such as the joint angle and joint angular velocity corresponding to the joint of the slave robot. In theory, the joint angle and joint angular velocity corresponding to the second joint information may be the same as the joint angle and joint angular velocity corresponding to the first joint information. However, when there is a time delay in the communication link or the slave end is physically affected by the environment, at the same moment, the joint angle and joint angular velocity corresponding to the second joint information may be different from the joint angle and joint angular velocity corresponding to the first joint information. Overall, the second joint information will tend to be synchronized with the first joint information.

[0063] Step 202 , based on the first joint information, the joint interaction force, the operator's input force, the end feedback force, the joint feedback force and the second joint information, calculate the equivalent joint driving torque for controlling the movement of the master end robot.

[0064] In the embodiments of the present application, the equivalent joint drive torque refers to the Cartesian equivalent drive torque of the master robot's joints, that is, the equivalent representation of the master robot's joint drive torque in Cartesian space. The equivalent joint drive torque can be used to control the motion of each joint of the master robot to achieve the master robot's motion.

[0065] In an example, a specific method for determining the equivalent joint driving torque can be as follows: based on the first joint information and the second joint information, the first joint driving torque of the master-end robot is obtained, and the first joint driving torque refers to the joint driving torque required to move the joint of the master-end robot from the joint position corresponding to the second joint information to the joint position corresponding to the first joint information; based on the joint interaction force and the joint feedback force, the second joint driving torque of the master-end robot is obtained, and the second joint driving torque refers to the joint driving torque required for the master-end robot and the slave-end robot to avoid environmental objects; according to the robot inverse dynamics equation, the operator's input force is converted and processed to obtain the third joint driving torque of the master-end robot; according to the robot inverse dynamics equation, the terminal feedback force is converted and processed to obtain the fourth joint driving torque of the master-end robot; based on the first joint driving torque, the second joint driving torque, the third joint driving torque and the fourth joint driving torque, the equivalent joint driving torque for controlling the movement of the master-end robot is calculated.

[0066] Optionally, the third joint driving torque can be obtained by multiplying the transpose of the force Jacobian matrix of the master robot and the input force of the operator, and the fourth joint driving torque can be obtained by multiplying the transpose of the force Jacobian matrix of the master robot and the end feedback force.

[0067] In one example, a specific method for determining the first joint driving torque can be as follows: based on the first joint information and the second joint information, position error information of the master robot is obtained, where the position error information of the master robot is used to indicate the difference between the joint position corresponding to the second joint information and the joint position corresponding to the first joint information; and based on the position error information of the master robot, the first joint driving torque of the master robot is determined. The position error information can be used to indicate the following status of each joint of the slave robot, i.e., the difference between the joint angle of the slave robot and the joint angle corresponding to the master robot at the current moment, or the difference between the joint angular velocity of the slave robot and the joint velocity corresponding to the master robot.

[0068] Optionally, the method for calculating the first joint driving torque based on the position error information can be as follows: if the position error information is greater than or equal to a first threshold value, the upper limit value of the first joint driving torque is used as the first joint driving torque of the master robot, and the first threshold value refers to the rated maximum value corresponding to the position error information; if the position error information is greater than the second threshold value and less than the first threshold value, the position error information is converted based on the conversion ratio coefficient between the position error information and the first joint driving torque to obtain the first joint driving torque of the master robot, and the second threshold value refers to the rated minimum value corresponding to the error information; if the position error information is less than or equal to the second threshold value, the lower limit value of the first joint driving torque is used as the first joint driving torque of the master robot.

[0069] Among them, the first threshold value, the second threshold value, the upper limit of the first joint driving torque and the lower limit of the first joint driving torque can be adaptively set by the designer according to actual needs. For example, when the position error information is greater than or equal to the rated maximum value, a fixed relatively large joint driving torque is used to control the joint angular velocity to achieve rapid adjustment of the joint position of the master-end robot. When the position error information is less than the rated maximum value and greater than the rated minimum value, the joint driving torque is linearly and dynamically adjusted to control the joint angular velocity to steadily decelerate, so as to achieve smooth adjustment of the joint position of the master-end robot. When the position error information is less than the rated minimum value, a fixed relatively small joint driving torque is used to control the joint angular velocity to achieve precise adjustment of the joint position of the master-end robot.

[0070] Optionally, the first joint driving torque can be obtained by the following formula:

[0071]

[0072] in, Refers to the driving torque of the first joint of the master robot, Refers to the upper limit of the first joint driving torque, Refers to the lower limit of the driving torque of the first joint, Δp refers to the position error information corresponding to the master robot, p m Refers to the joint position corresponding to the first joint information, p s Refers to the joint position corresponding to the second joint information, p max Refers to the rated maximum value corresponding to the position error information, p min Refers to the rated minimum value corresponding to the position error information, k p It refers to the conversion ratio coefficient corresponding to the position error information and the first joint driving torque.

[0073] In one example, the specific method for determining the second joint driving torque is as follows: the joint interaction force and the joint feedback force are converted and processed respectively to obtain the first intermediate joint driving torque corresponding to the joint interaction force and the second intermediate joint driving torque corresponding to the joint feedback force; based on the first intermediate joint driving torque and the second intermediate joint driving torque, the second joint driving torque of the main end robot is obtained.

[0074] Exemplarily, a Jacobian matrix representing the mapping relationship between the force exerted by the environmental object on the joint and the joint driving torque is obtained. The Jacobian matrix can be calculated based on the force exerted by the environmental object on the joint and the joint torque application point. The transpose of the Jacobian matrix is multiplied by the joint interaction force to obtain a first intermediate joint driving torque. The transpose of the Jacobian matrix is multiplied by the joint feedback force to obtain a second intermediate joint driving torque. The first intermediate joint torque and the second intermediate joint torque are superimposed to obtain a second joint driving torque.

[0075] Optionally, the equivalent joint driving torque also needs to be compensated based on the friction between the joints and the gravity of the joints themselves. The specific content can be as follows: obtain the friction compensation joint driving torque and gravity compensation joint driving torque of the master-end robot, the friction compensation joint driving torque is used to compensate for the joint friction of the master-end robot, and the gravity compensation joint driving torque is used to compensate for the joint gravity of the master-end robot; based on the first joint driving torque, the second joint driving torque, the third joint driving torque, the fourth joint driving torque, the friction compensation joint driving torque and the gravity compensation joint driving torque, the equivalent joint driving torque used to control the movement of the master-end robot is calculated.

[0076] The gravity-compensated joint drive torque is used to compensate for the influence of the joint drive torque generated by gravity on the master robot's motion control. The gravity-compensated joint drive torque can be calculated using the Newton-Euler method. The friction-compensated joint drive torque is used to compensate for the influence of the joint drive torque generated by friction between the master robot's joints on the master robot's motion control. The friction-compensated joint drive torque can be calculated based on a friction model fitted using the master robot's calibration data.

[0077] In an exemplary embodiment, the calculation formula for the equivalent joint driving torque used to control the motion of the master robot is as follows:

[0078]

[0079] in, τ m Refers to the equivalent joint driving torque of the master robot, is the transpose of the master robot's force Jacobian matrix, is the operator's input force, I is the unit matrix, It refers to the first intermediate joint driving torque corresponding to the joint interaction force of the master robot. It refers to the second intermediate joint driving torque corresponding to the joint feedback force of the slave robot. Refers to the friction compensation joint driving torque of the master robot, Refers to the gravity compensation joint drive torque of the master robot, Refers to the driving torque of the first joint of the master robot, Refers to the end feedback force from the end robot, Refers to the upper limit of the first joint driving torque, Refers to the lower limit of the driving torque of the first joint, Δp refers to the position error information corresponding to the master robot, p m Refers to the joint position corresponding to the first joint information, p s Refers to the joint position corresponding to the second joint information, p max Refers to the rated maximum value corresponding to the position error information, p min Refers to the rated minimum value corresponding to the position error information, k p It refers to the conversion ratio coefficient corresponding to the position error information and the first joint driving torque.

[0080] Exemplarily, the calculation formula for obtaining the equivalent joint driving torque may be obtained as follows:

[0081] When the master robot system is in zero-force control state, the input of the master robot system can be expressed as follows:

[0082] τ m =(τ m ) master +(τ m ) slave ;

[0083] Among them, τ m Refers to the equivalent joint driving torque of the master robot, (τ m ) masterIt refers to the joint driving torque required for the zero-force control of the master robot itself, which includes the third joint driving torque (i.e., the joint driving torque obtained by the operator's input force mapping), the second joint driving torque (i.e., the joint driving torque in the zero space of the master robot), the friction compensation joint driving torque, and the gravity compensation joint driving torque. It can be expressed by the following formula: (τ m ) slave It refers to the joint driving torque of the master robot used to perform teleoperation control on the slave robot. It includes the first joint driving torque (i.e., the joint driving torque corresponding to the position error information) and the fourth joint driving torque (i.e., the joint driving torque obtained by the end feedback force mapping), which can be expressed by the following formula: Then there is

[0084]

[0085] in, is the driving torque of the third joint, is the transpose of the master robot's force Jacobian matrix, Refers to the operator's input force. is the driving torque of the second joint, is the identity matrix, It refers to the first intermediate joint driving torque corresponding to the joint interaction force of the master robot. It refers to the second intermediate joint driving torque corresponding to the joint feedback force of the slave robot. Refers to the friction compensation joint driving torque of the master robot, Refers to the gravity compensation joint drive torque of the master robot, Refers to the driving torque of the first joint of the master robot, is the driving torque of the fourth joint, It refers to the end feedback force of the slave robot.

[0086] Then the calculation formula of the equivalent joint driving torque can be obtained:

[0087]

[0088] Step 203: Control the movement of the master-end robot based on the equivalent joint driving torque used to control the movement of the master-end robot.

[0089] Optionally, during the motion of the master robot, real-time first joint information and the operator's input force are transmitted to the slave robot. The first joint information may include joint angle information, joint angle increment information, and joint angular velocity information. Optionally, the first joint information may refer to joint information in the corresponding Cartesian space.

[0090] To sum up, the technical solution provided in the embodiments of the present application determines the equivalent joint driving torque of the master robot based on the interaction force between the joints of the master robot and environmental objects and the interaction force between the joints of the slave robot and environmental objects, and controls the joints of the master robot to perform obstacle avoidance movement based on the equivalent joint driving torque of the master robot, thereby enabling the joints of the master robot to avoid obstacles, and further ensuring that the end effector of the slave robot can perform the operation task while ensuring that the joints of the slave robot can also avoid obstacles, thereby improving the robot's obstacle avoidance capability.

[0091] In addition, by obtaining the interaction force between the end effector of the slave robot and the environmental objects and the joint information of the slave robot, the equivalent joint driving torque of the master robot is determined, so that the master robot can perceive the force interaction between the end effector of the slave robot and the environmental objects and the position following of the slave robot, thereby improving the perception ability of the master robot, so that the operator can control the slave robot more accurately, thereby improving the accuracy of robot control.

[0092] Please refer to Figure 3 , which shows a flow chart of a robot motion control method provided by another embodiment of the present application. The execution subject of each step of the method can be the above-mentioned slave robot 103, such as the processor provided in the slave robot 103. The method can include the following steps (301-303):

[0093] Step 301: Obtain the second joint information and terminal feedback force of the slave robot, as well as the first joint information and operator input force from the master robot.

[0094] Among them, the first joint information is used to describe the joint state of the master robot, which can be the joint information received by the slave robot at the current moment. The second joint information is used to describe the joint state of the slave robot, which can be the joint information of the slave robot at the current moment. The end feedback force refers to the force exerted by the environmental objects on the end effector of the slave robot, which can be the interaction force between the end effector of the slave robot and the task environment objects at the current moment. The operator's input force refers to the force input by the operator to the master robot, which can be the input force received by the slave robot from the operator at the current moment. The operator's input force can be detected by the master robot's own force sensor.

[0095] Step 302 : Based on the second joint information, the terminal feedback force, the first joint information and the operator's input force, an equivalent joint driving torque for controlling the movement of the slave robot is calculated.

[0096] In the embodiments of this application, the equivalent joint drive torque refers to the Cartesian equivalent drive torque of the slave robot's joints, i.e., the Cartesian equivalent of the master robot's joint drive torque. The equivalent joint drive torque can be used to control the motion of each joint of the slave robot to achieve the slave robot's motion.

[0097] In one example, a specific method for determining the equivalent joint driving torque can be as follows: based on the first joint information and the second joint information, the first joint driving torque of the slave robot is obtained, and the first joint driving torque refers to the joint driving torque required to move the joint of the slave robot from the joint position corresponding to the second joint information to the joint position corresponding to the first joint information; based on the end feedback force and the operator's input force, the second joint driving torque of the slave robot is obtained; based on the first joint driving torque and the second joint driving torque, the equivalent joint driving torque used to control the movement of the slave robot is calculated.

[0098] In one example, a specific method for determining the first joint driving torque can be as follows: based on the first joint information and the second joint information, the position error information of the slave robot is obtained, and the position error information of the slave robot is used to represent the difference information between the joint position corresponding to the second joint information and the joint position corresponding to the first joint information; based on the position error information of the slave robot, the first joint driving torque of the slave robot is determined.

[0099] Optionally, the first joint driving torque can be obtained by the following formula:

[0100]

[0101] in, refers to the driving torque of the first joint of the slave robot, Δp refers to the position error information corresponding to the slave robot, and p m Refers to the joint position corresponding to the first joint information, p s Refers to the joint position corresponding to the second joint information, f PID It refers to the PID (Proportion Integral Differential) control corresponding to the position error information.

[0102] In one example, the specific method for determining the second joint driving torque can be as follows: obtain the difference between the end feedback force and the operator's input force; convert the difference between the end feedback force and the operator's input force to obtain the second joint driving torque of the slave robot.

[0103] Optionally, the second joint driving torque can be obtained by multiplying the transpose of the force Jacobian matrix of the slave robot with the difference between the end feedback force and the operator's input force.

[0104] Optionally, the equivalent joint driving torque also needs to be compensated based on the friction between the joints and the gravity of the joints themselves. The specific content can be as follows: obtain the friction compensation joint driving torque and gravity compensation joint driving torque of the slave robot, the friction compensation joint driving torque is used to compensate for the joint friction of the slave robot, and the gravity compensation joint driving torque is used to compensate for the joint gravity of the slave robot; based on the first joint driving torque, the second joint driving torque, the friction compensation joint driving torque and the gravity compensation joint driving torque, calculate the equivalent joint driving torque used to control the movement of the slave robot.

[0105] The gravity-compensated joint drive torque is used to compensate for the effect of gravity-induced joint drive torque on the slave robot's motion control. This gravity-compensated joint drive torque can be calculated using the Newton-Euler method. The friction-compensated joint drive torque is used to compensate for the effect of friction between the slave robot's joints on its motion control. This friction-compensated joint drive torque can be calculated based on a friction model fitted using the slave robot's calibration data.

[0106] In an exemplary embodiment, the calculation formula for the equivalent joint driving torque used to control the motion of the slave robot is as follows:

[0107]

[0108] in, τ s Refers to the equivalent joint driving torque of the slave robot, is the transpose of the slave robot's force Jacobian matrix, Refers to the friction compensation joint driving torque of the slave robot, Refers to the gravity compensation joint driving torque of the slave robot, Refers to the driving torque of the first joint of the slave robot, f h refers to the input force of the operator of the master robot, f m Refers to the end feedback force of the slave robot, Δp refers to the position error information corresponding to the slave robot, p m Refers to the joint position corresponding to the first joint information, p s Refers to the joint position corresponding to the second joint information, f PID It refers to the proportional integral differential PID control corresponding to the position error information.

[0109] Exemplarily, the calculation formula for obtaining the equivalent joint driving torque may be obtained as follows:

[0110] When the slave robot system is in zero-force control state, the input of the slave robot system can be expressed as follows:

[0111] τ s =(τ s ) slave +(τ s ) master ;

[0112] Among them, τ s Refers to the equivalent joint driving torque of the slave robot, (τ s ) slave It refers to the joint driving torque required for the slave robot's own zero-force control, which includes the friction compensation joint driving torque and the gravity compensation joint driving torque, and can be expressed by the following formula: (τ s ) master It refers to the joint driving torque used by the slave robot to follow the movement of the master robot. It includes the first joint driving torque (i.e., the joint driving torque corresponding to the position error information) and the second joint driving torque (i.e., the joint driving torque obtained by mapping the difference between the operator's input force and the end feedback force). It can be expressed by the following formula: Then there is

[0113]

[0114] in, Refers to the friction compensation joint driving torque of the slave robot, Refers to the gravity compensation joint driving torque of the slave robot, Refers to the driving torque of the first joint of the slave robot, is the driving torque of the second joint, It refers to the difference between the operator's input force and the end feedback force. f h refers to the input force of the operator of the master robot, f m It refers to the end feedback force of the slave robot.

[0115] Then the calculation formula of the equivalent joint driving torque can be obtained:

[0116]

[0117] Step 303: Control the movement of the slave robot based on the equivalent joint driving torque used to control the movement of the slave robot.

[0118] Optionally, during the movement of the slave robot, real-time second joint information, end-point feedback force, and joint feedback force are transmitted to the master robot. The second joint information may include joint angle information, joint angle increment information, and joint angular velocity information. Optionally, the second joint information may refer to joint information in the corresponding Cartesian space.

[0119] In one example, the force feedback of the slave robot (such as end feedback force, joint feedback force, etc.) is strategically controlled, and the specific method can be as follows: obtaining the force feedback correction coefficient at the first target moment, and the force feedback correction coefficient is used to correct the feedback force sent by the slave robot to the master robot; calculating and processing the second joint information based on the force feedback correction coefficient to obtain the force correction parameter; adjusting the feedback force at the first target moment based on the force correction parameter to determine the feedback force at the second target moment; and sending the feedback force at the second target moment to the master robot.

[0120] For example, the process can be expressed by the following formula:

[0121] f m (k) = f m (k-1)+α(k)v m , v m ≠0;

[0122] Then there is

[0123] in, V m ≠0, f m (k) is the feedback force at time k, f m (k-1) is the feedback force at time k-1, α(k) and β(k) are the force feedback correction coefficients at time k, V m Refers to the second joint information of the slave robot (such as joint angular velocity), β max Refers to the rated maximum value of the force feedback correction coefficient, β min Refers to the rated minimum value of the force feedback correction coefficient, β max and β min The designer can make adaptive settings based on actual needs.

[0124] To sum up, the technical solution provided in the embodiments of the present application determines the equivalent joint driving torque of the master robot based on the interaction force between the joints of the master robot and environmental objects and the interaction force between the joints of the slave robot and environmental objects, and controls the joints of the master robot to perform obstacle avoidance movement based on the equivalent joint driving torque of the master robot, thereby enabling the joints of the master robot to avoid obstacles, and further ensuring that the end effector of the slave robot can perform the operation task while ensuring that the joints of the slave robot can also avoid obstacles, thereby improving the robot's obstacle avoidance capability.

[0125] In addition, by obtaining the interaction force between the end effector of the slave robot and the environmental objects and the joint information of the slave robot, the equivalent joint driving torque of the master robot is determined, so that the master robot can perceive the force interaction between the end effector of the slave robot and the environmental objects and the position following of the slave robot, thereby improving the perception ability of the master robot, so that the operator can control the slave robot more accurately, thereby improving the accuracy of robot control.

[0126] In addition, the slave robot determines the equivalent driving force of the slave robot based on the input force and joint information of the operator of the master robot, so that the slave robot can perceive environmental objects according to the intention of the master robot, thereby improving the flexibility and autonomy of the slave robot.

[0127] In addition, by strategically controlling the force fed back from the slave robot to the master robot, the sudden feedback force is prevented from causing a large impact on the master robot.

[0128] Please refer to Figure 4 , which shows a flow chart of information interaction between a master robot and a slave robot provided by one embodiment of the present application. The interaction process can be as follows:

[0129] 1. The master robot 402 measures the interaction force between itself and the operator 401 through the force sensor ( Figure 4 f in h ), and determines the operator's input force based on the interaction force. The master robot 402 obtains the relative speed between it and the operator 401 through the sensor ( Figure 4 V in h ).

[0130] 2. The master robot 402 sends the operator's input force to the slave robot 404 via the communication link 403 ( Figure 4 F in m ) and the joint information of the master robot 402 ( Figure 4 V in m ). The joint information of the master robot 402 may be joint angle, joint angular velocity, joint angle increment, etc., which is not limited in the present embodiment. Optionally, the joint information of the master robot 402 may be sent to the slave robot 404 in the form of Cartesian space. In an ideal state, F m The value is exactly equal to f h However, under the influence of the zero force state of the master robot, F m With f h There is a certain error between them.

[0131] 3. The slave robot 404 receives the input force from the operator of the master robot 402 through the communication link 403 ( Figure 4 f in s ) and joint information ( Figure 4 v in s ). In theory, v s The value is equal to V m The value of f s The value is equal to F m However, considering the delay problem in the communication link 403, at the same time, v s The value of V m There are differences between the values of f s The value and F m There are differences between the values of .

[0132] 4. The slave robot 404 measures the force exerted by the environmental object 405 on the end effector of the slave robot 404 through the force sensor ( Figure 4 f in e ), which is the above-mentioned end feedback force. The slave robot 404 measures the force exerted by the obstacles in the task space on the joints of the slave robot 404 through the force sensor, which is the above-mentioned joint feedback force. The slave robot 404 obtains the relative speed ( Figure 4 V in e ).

[0133] 5. The slave robot 404 sends the terminal feedback force to the master robot 402 through the communication link 403 ( Figure 4 f in s ), joint information of the slave robot 404 ( Figure 4 v in s ) and the joint driving torque corresponding to the joint feedback force ( Figure 4 τ in s ). The joint information of the slave robot 404 may be joint angles, joint angular velocities, joint angle increments, etc., which are not limited in the present embodiment. Optionally, the joint information of the slave robot 404 may be sent to the master robot 402 in the form of Cartesian space.

[0134] 6. The master robot 402 obtains the end feedback force from the slave robot 404 through the communication link 403 ( Figure 4 f in m ), joint information of the slave robot 404 ( Figure 4 v in m ) and the joint driving torque corresponding to the joint feedback force ( Figure 4 τ in m ).

[0135] Wherein, without considering the time delay of the communication link 403, we have v s =v m 、f s =f m 、F m =F s 、V m =V s .

[0136] 7. When the operator 401 controls the master robot 402, continue to execute the steps in 1 above.

[0137] In one exemplary embodiment, reference Figure 5 , which shows a schematic diagram of the input and output of the master-end robot system provided by an embodiment of the present application. The input of the master-end robot system 501 includes the operator input force or torque ( Figure 5 x1 in), the true value or estimated value of the six-dimensional force of the master robot ( Figure 5 x2 in the figure, i.e. the force exerted by the master robot on the operator), the joint driving torque of the master robot ( Figure 5 x3 in the joint drive torque, which can be used for tracking control) and the joint position or speed information of the master robot ( Figure 5 x4 in , i.e. the actual joint position or velocity information of the master robot at the current moment), and the six-dimensional true value or estimated value of the slave robot at the end from the slave robot ( Figure 5 x5 in the figure, i.e., the force exerted by the environmental object on the end effector of the slave robot, corresponding to the end feedback force mentioned above), the joint driving torque of the slave robot ( Figure 5 x6 in the joint, i.e. the joint driving torque corresponding to the joint feedback force) and the joint position or velocity information of the slave robot ( Figure 5 x7 in the figure is the actual joint position or velocity information of the slave robot received by the master robot at the current moment).

[0138] The output of the master-end robot system 501 includes the actual joint position or velocity information of the master-end robot ( Figure 5 The joint driving torque ( Figure 5 In the y2, in the isomorphous bilateral teleoperation system, the master robot can directly use it).

[0139] In one exemplary embodiment, reference Figure 6 , which shows a schematic diagram of the input and output of the slave robot system provided by an embodiment of the present application. The input of the slave robot system 601 includes the joint driving torque of the slave robot detected by the slave robot ( Figure 6x3 in (i.e., the joint driving torque corresponding to the joint feedback force mentioned above), the six-dimensional true value or estimated value of the end robot ( Figure 6 x4 in the figure, i.e., the force exerted by the environmental object on the end effector of the slave robot, corresponding to the end feedback force mentioned above) and the joint position or velocity information of the slave robot ( Figure 6 x5 in the figure is the actual joint position or velocity information of the slave robot at the current moment), and the actual joint position or velocity information of the master robot from the master robot ( Figure 6 x1 in the figure is the actual joint position or velocity information of the master robot received from the slave robot at the current moment) and the joint driving torque ( Figure 6 x2 in the figure, in a homogeneous bilateral teleoperation system, the slave robot can directly use it).

[0140] The output of the slave robot system 601 includes the actual joint position or velocity information of the slave robot ( Figure 6 y1), the actual value or estimated value of the six-dimensional force of the slave robot ( Figure 6 y2) and the external force estimation of the joint space of the slave robot ( Figure 6 y3 in , corresponds to the joint feedback force mentioned above).

[0141] To sum up, the technical solution provided in the embodiments of the present application determines the equivalent joint driving torque of the master robot based on the interaction force between the joints of the master robot and environmental objects and the interaction force between the joints of the slave robot and environmental objects, and controls the joints of the master robot to perform obstacle avoidance movement based on the equivalent joint driving torque of the master robot, thereby enabling the joints of the master robot to avoid obstacles, and further ensuring that the end effector of the slave robot can perform the operation task while ensuring that the joints of the slave robot can also avoid obstacles, thereby improving the robot's obstacle avoidance capability.

[0142] In addition, by obtaining the interaction force between the end effector of the slave robot and the environmental objects and the joint information of the slave robot, the equivalent joint driving torque of the master robot is determined, so that the master robot can perceive the force interaction between the end effector of the slave robot and the environmental objects and the position following of the slave robot, thereby improving the perception ability of the master robot, so that the operator can control the slave robot more accurately, thereby improving the accuracy of robot control.

[0143] Please refer to Figure 7 , which shows a flow chart of force feedback provided by an embodiment of the present application, the process may include force feedback in Cartesian space and force feedback in joint space. The force feedback in Cartesian space and force feedback in joint space are performed simultaneously.

[0144] refer to Figure 7 In the flowchart 701, the process of force feedback in Cartesian space can be as follows:

[0145] 1. In response to detecting an operator's operation on the master robot, the master robot obtains the operator's input force and sends the operator's input force to the slave robot through the communication link; in response to not detecting an operator's operation on the master robot, the master robot maintains its state unchanged.

[0146] 2. The slave robot performs position following motion based on the input force from the operator of the master robot and performs interaction force detection during the motion, that is, detecting the interaction force between the end effector and the environmental objects (corresponding to the end feedback force mentioned above).

[0147] 3. The slave robot sends the terminal feedback force to the master robot through the communication link.

[0148] 4. The master robot applies force to the operator based on the end feedback force.

[0149] 5. Continue from step 1.

[0150] refer to Figure 7 In flowchart 702, the process of force feedback in joint space can be as follows:

[0151] 1. In response to detecting an operator's operation on the master robot, the master robot obtains the operator's input force and sends the operator's input force to the slave robot through the communication link; in response to not detecting an operator's operation on the master robot, the master robot maintains its state unchanged.

[0152] 2. The slave robot performs position following motion based on the input force from the operator of the master robot, and detects the interaction force between the joint and the obstacle during the motion (corresponding to the joint feedback force mentioned above).

[0153] 3. The slave robot sends the joint feedback force to the master robot through the communication link.

[0154] 4. The master robot determines the joint driving torque in the null space based on the joint feedback force and the corresponding null space of the master robot, and adjusts the equivalent joint driving torque of the master robot based on the joint driving torque in the null space.

[0155] 5. The slave robot follows the master robot based on the adjusted equivalent joint drive torque to avoid the obstacle. Continue with step 3 until the obstacle is avoided.

[0156] At the same time, this application converts the joint position following difference control between the slave robot and the master robot into equivalent joint drive torque control to realize the force control of the master robot system and the slave robot system, that is, the underlying control of the entire bilateral teleoperation system is joint drive torque tracking control.

[0157] For example, refer to Figure 8 , which shows a schematic diagram of a master-end robot control system and a slave-end robot control system provided by an embodiment of the present application.

[0158] Optionally, the motion control process of the master robot is as follows:

[0159] 1. Input force from the master robot control system 801 to the operator ( Figure 8 in ) and end feedback force ( Figure 8 in ) is converted to obtain the first joint driving torque.

[0160] 2. The master robot control system 801 obtains the friction compensation joint driving torque of the master robot ( Figure 8 in ) and gravity-compensated joint drive torque ( Figure 8 in ).

[0161] 3. The master robot control system 801 converts the sum of the master robot's joint interaction force and the slave robot's joint feedback force to obtain the second joint driving torque ( Figure 8 in ).

[0162] 4. The master robot control system 801 is based on the joint position of the master robot ( Figure 8 p in m ) and the joint positions of the slave robot ( Figure 8 p in s ), and obtain the driving torque of the third joint.

[0163] 5. The master-end robot control system 801 superimposes and calculates the first joint driving torque, the second joint driving torque, the third joint driving torque, the friction compensation joint driving torque and the gravity compensation joint driving torque to obtain the equivalent joint driving torque of the master-end robot.

[0164] 6. The master-end robot control system 801 controls the movement of the master-end robot based on the equivalent joint driving torque of the master-end robot.

[0165] Alternatively, the master robot's equivalent joint drive torque can be converted into an equivalent drive current, which can then be used to control the master robot's motion using the servo system's current control. Current loop closed-loop tracking control can be performed to ensure precise control of the joint drive torque.

[0166] Optionally, the motion control process of the slave robot is as follows:

[0167] 1. The difference between the input force of the slave robot control system 802 to the operator and the end feedback force ( Figure 8 in ) is converted to obtain the first joint driving torque.

[0168] 2. The slave robot control system 802 obtains the friction compensation joint driving torque of the slave robot ( Figure 8 in ) and gravity-compensated joint drive torque ( Figure 8 in ).

[0169] 3. The slave robot control system 802 is based on the joint position of the master robot ( Figure 8 p in m ) and the joint positions of the slave robot ( Figure 8 p in s ), and obtain the second joint driving torque.

[0170] 4. The slave robot control system 802 performs superposition calculation on the first joint driving torque, the second joint driving torque, the friction compensation joint driving torque and the gravity compensation joint driving torque to obtain the equivalent joint driving torque of the slave robot.

[0171] 5. The slave robot control system 802 controls the movement of the slave robot based on the equivalent joint driving torque of the slave robot.

[0172] Alternatively, the equivalent joint drive torque of the slave robot can be converted into an equivalent drive current, which can then be used to control the slave robot's motion using the servo system's current control. Current loop closed-loop tracking control can be performed to ensure precise control of the joint drive torque.

[0173] To sum up, the technical solution provided in the embodiments of the present application determines the equivalent joint driving torque of the master robot based on the interaction force between the joints of the master robot and environmental objects and the interaction force between the joints of the slave robot and environmental objects, and controls the joints of the master robot to perform obstacle avoidance movement based on the equivalent joint driving torque of the master robot, thereby enabling the joints of the master robot to avoid obstacles, and further ensuring that the end effector of the slave robot can perform the operation task while ensuring that the joints of the slave robot can also avoid obstacles, thereby improving the robot's obstacle avoidance capability.

[0174] In addition, by obtaining the interaction force between the end effector of the slave robot and the environmental objects and the joint information of the slave robot, the equivalent joint driving torque of the master robot is determined, so that the master robot can perceive the force interaction between the end effector of the slave robot and the environmental objects and the position following of the slave robot, thereby improving the perception ability of the master robot, so that the operator can control the slave robot more accurately, thereby improving the accuracy of robot control.

[0175] The following are device embodiments of the present application, which can be used to implement the method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.

[0176] Please refer to Figure 9 , which shows a block diagram of a robot motion control device provided by one embodiment of the present application. This device has the function of implementing the above-mentioned robot motion control method. The function can be implemented by hardware or by hardware executing corresponding software. This device can be the above-mentioned master-end robot 102, or it can be installed in the master-end robot 102. This device 900 can include: a master-end information acquisition module 901, a master-end torque acquisition module 902, and a master-end motion control module 903.

[0177] The master-end information acquisition module 901 is used to obtain the first joint information, joint interaction force and operator's input force of the master-end robot, as well as the end feedback force, joint feedback force and second joint information from the slave-end robot. The first joint information is used to describe the joint state of the master-end robot, and the second joint information is used to describe the joint state of the slave-end robot. The joint interaction force refers to the force of the environmental objects on the joints of the master-end robot, the end feedback force refers to the force of the environmental objects on the end effector of the slave robot, and the joint feedback force refers to the force of the environmental objects on the joints of the slave robot.

[0178] The master end torque acquisition module 902 is used to calculate the equivalent joint driving torque used to control the movement of the master end robot based on the first joint information, the joint interaction force, the operator's input force, the end feedback force, the joint feedback force and the second joint information.

[0179] The master-end motion control module 903 is used to control the motion of the master-end robot based on the equivalent joint driving torque used to control the motion of the master-end robot.

[0180] In an exemplary embodiment, Figure 10 As shown, the master-end torque acquisition module 902 includes: a first torque acquisition submodule 902a, a second torque acquisition submodule 902b, a third torque acquisition submodule 902c, a fourth torque acquisition submodule 902d and a master-end torque acquisition submodule 902e.

[0181] The first torque acquisition submodule 902a is used to obtain the first joint driving torque of the master-end robot based on the first joint information and the second joint information. The first joint driving torque refers to the joint driving torque required to move the joint of the master-end robot from the joint position corresponding to the second joint information to the joint position corresponding to the first joint information.

[0182] The second torque acquisition submodule 902b is used to obtain the second joint driving torque of the master robot based on the joint interaction force and the joint feedback force. The second joint driving torque refers to the joint driving torque required for the master robot and the slave robot to avoid environmental objects.

[0183] The third torque acquisition submodule 902c is used to convert the operator's input force according to the robot inverse dynamics equation to obtain the third joint driving torque of the master robot.

[0184] The fourth torque acquisition submodule 902d is used to convert the terminal feedback force according to the robot inverse dynamics equation to obtain the fourth joint driving torque of the master robot.

[0185] The master end torque acquisition submodule 902e is used to calculate the equivalent joint driving torque for controlling the movement of the master end robot based on the first joint driving torque, the second joint driving torque, the third joint driving torque and the fourth joint driving torque.

[0186] In an exemplary embodiment, the master end torque acquisition module 902 is further configured to:

[0187] Acquire a friction compensation joint driving torque and a gravity compensation joint driving torque of the master-end robot, wherein the friction compensation joint driving torque is used to compensate for the joint friction of the master-end robot, and the gravity compensation joint driving torque is used to compensate for the joint gravity of the master-end robot;

[0188] Based on the first joint driving torque, the second joint driving torque, the third joint driving torque, the fourth joint driving torque, the friction compensation joint driving torque and the gravity compensation joint driving torque, the equivalent joint driving torque used to control the movement of the master end robot is calculated.

[0189] In an exemplary embodiment, the first torque acquisition submodule 902a is configured to:

[0190] Based on the first joint information and the second joint information, position error information of the master robot is obtained, where the position error information of the master robot is used to represent difference information between a joint position corresponding to the second joint information and a joint position corresponding to the first joint information;

[0191] Based on the position error information of the master-end robot, a first joint driving torque of the master-end robot is determined.

[0192] In an exemplary embodiment, the first torque acquisition submodule 902a is further configured to:

[0193] If the position error information is greater than or equal to a first threshold, the upper limit value of the first joint driving torque is used as the first joint driving torque of the master robot, and the first threshold value refers to the rated maximum value corresponding to the position error information;

[0194] If the position error information is greater than a second threshold and less than the first threshold, converting the position error information based on a conversion ratio coefficient between the position error information and the first joint driving torque to obtain the first joint driving torque of the master robot, where the second threshold refers to a rated minimum value corresponding to the error information;

[0195] If the position error information is less than or equal to the second threshold, the lower limit value of the first joint driving torque is used as the first joint driving torque of the master robot.

[0196] In an exemplary embodiment, the second torque acquisition submodule 902b is configured to:

[0197] performing conversion processing on the joint interaction force and the joint feedback force respectively to obtain a first intermediate joint driving torque corresponding to the joint interaction force and a second intermediate joint driving torque corresponding to the joint feedback force;

[0198] Based on the first intermediate joint driving torque and the second intermediate joint driving torque, the second joint driving torque of the master end robot is obtained.

[0199] In an exemplary embodiment, the calculation formula for the equivalent joint driving torque for controlling the motion of the master robot is as follows:

[0200]

[0201] in, τ m Refers to the equivalent joint driving torque of the master robot, is the transpose of the force Jacobian matrix of the master robot, is the input force of the operator, I is the identity matrix, It refers to the first intermediate joint driving torque corresponding to the joint interaction force of the master robot, It refers to the second intermediate joint driving torque corresponding to the joint feedback force of the slave robot, refers to the friction compensation joint driving torque of the master robot, refers to the gravity compensation joint driving torque of the master robot, Refers to the first joint driving torque of the master robot, refers to the end feedback force of the slave robot, refers to the upper limit of the driving torque of the first joint, refers to the lower limit of the driving torque of the first joint, Δp refers to the position error information corresponding to the master robot, and p m refers to the joint position corresponding to the first joint information, p s refers to the joint position corresponding to the second joint information, p max Refers to the rated maximum value corresponding to the position error information, p min Refers to the rated minimum value corresponding to the position error information, k p It refers to the conversion proportional coefficient corresponding to the position error information and the first joint driving torque.

[0202] To sum up, the technical solution provided in the embodiments of the present application determines the equivalent joint driving torque of the master robot based on the interaction force between the joints of the master robot and environmental objects and the interaction force between the joints of the slave robot and environmental objects, and controls the joints of the master robot to perform obstacle avoidance movement based on the equivalent joint driving torque of the master robot, thereby enabling the joints of the master robot to avoid obstacles, and further ensuring that the end effector of the slave robot can perform the operation task while ensuring that the joints of the slave robot can also avoid obstacles, thereby improving the robot's obstacle avoidance capability.

[0203] In addition, by obtaining the interaction force between the end effector of the slave robot and the environmental objects and the joint information of the slave robot, the equivalent joint driving torque of the master robot is determined, so that the master robot can perceive the force interaction between the end effector of the slave robot and the environmental objects and the position following of the slave robot, thereby improving the perception ability of the master robot, so that the operator can control the slave robot more accurately, thereby improving the accuracy of robot control.

[0204] Please refer to Figure 11 , which shows a block diagram of a robot motion control device provided by another embodiment of the present application. This device has the function of implementing the above-mentioned robot motion control method. The function can be implemented by hardware or by hardware executing corresponding software. This device can be the above-mentioned slave robot 103, or it can be installed in the slave robot 103. This device 1100 can include: a slave information acquisition module 1101, a slave torque acquisition module 1102, and a slave motion control module 1103.

[0205] The slave information acquisition module 1101 is used to obtain the second joint information and end feedback force of the slave robot, as well as the first joint information and the operator's input force from the master robot; the first joint information is used to describe the joint state of the master robot, and the second joint information is used to describe the joint state of the slave robot. The end feedback force refers to the force exerted by the environmental objects on the end effector of the slave robot.

[0206] The slave end torque acquisition module 1102 is used to calculate the equivalent joint driving torque for controlling the movement of the slave end robot based on the second joint information, the end feedback force, the first joint information and the operator's input force.

[0207] The slave motion control module 1103 is used to control the motion of the slave robot based on the equivalent joint driving torque used to control the motion of the slave robot.

[0208] In an exemplary embodiment, Figure 12 As shown, the slave end torque acquisition module 1102 includes: a first torque acquisition submodule 1102a, a second torque acquisition submodule 1102b and a slave end torque acquisition submodule 1102c.

[0209] The first torque acquisition submodule 1102a is used to obtain the first joint driving torque of the slave robot based on the first joint information and the second joint information. The first joint driving torque refers to the joint driving torque required to move the joint of the slave robot from the joint position corresponding to the second joint information to the joint position corresponding to the first joint information.

[0210] The second torque acquisition submodule 1102b is used to obtain the second joint driving torque of the slave robot based on the end feedback force and the operator's input force.

[0211] The slave end torque acquisition submodule 1102c is used to calculate the equivalent joint driving torque for controlling the movement of the slave end robot based on the first joint driving torque and the second joint driving torque.

[0212] In an exemplary embodiment, the slave end torque acquisition module 1102 is configured to:

[0213] Acquire a friction compensation joint driving torque and a gravity compensation joint driving torque of the slave robot, wherein the friction compensation joint driving torque is used to compensate for the joint friction of the slave robot, and the gravity compensation joint driving torque is used to compensate for the joint gravity of the slave robot;

[0214] Based on the first joint driving torque, the second joint driving torque, the friction compensation joint driving torque and the gravity compensation joint driving torque, an equivalent joint driving torque for controlling the movement of the slave robot is calculated.

[0215] In an exemplary embodiment, the first torque acquisition submodule 1102a is configured to:

[0216] Based on the first joint information and the second joint information, position error information of the slave robot is obtained, where the position error information of the slave robot is used to represent difference information between a joint position corresponding to the second joint information and a joint position corresponding to the first joint information;

[0217] Based on the position error information of the slave robot, a first joint driving torque of the slave robot is determined.

[0218] In an exemplary embodiment, the second torque acquisition submodule 1102b is configured to:

[0219] Obtaining a difference between the end feedback force and the operator's input force;

[0220] The difference between the end feedback force and the operator's input force is converted to obtain the second joint driving torque of the slave robot.

[0221] In an exemplary embodiment, the calculation formula for the equivalent joint driving torque for controlling the motion of the slave robot is as follows:

[0222]

[0223] in, τ s is the equivalent joint driving torque of the slave robot, is the transpose of the force Jacobian matrix of the slave robot, refers to the friction compensation joint driving torque of the slave robot, refers to the gravity compensation joint driving torque of the slave robot, refers to the first joint driving torque of the slave robot, f h refers to the input force of the operator of the master robot, f m refers to the end feedback force of the slave robot, Δp refers to the position error information corresponding to the slave robot, and p m refers to the joint position corresponding to the first joint information, p s refers to the joint position corresponding to the second joint information, f PID It refers to the proportional integral derivative PID control corresponding to the position error information.

[0224] In an exemplary embodiment, Figure 12 As shown, the device 1100 further includes: a correction coefficient acquisition module 1104 , a correction parameter acquisition module 1105 , a feedback force adjustment module 1106 and a feedback force sending module 1107 .

[0225] The correction coefficient acquisition module 1104 is used to obtain the force feedback correction coefficient at the first target moment, and the force feedback correction coefficient is used to correct the feedback force sent by the slave robot to the master robot.

[0226] The correction parameter acquisition module 1105 is used to calculate and process the second joint information based on the force feedback correction coefficient to obtain a force correction parameter.

[0227] The feedback force adjustment module 1106 is configured to adjust the feedback force at the first target moment based on the force correction parameter to determine the feedback force at the second target moment.

[0228] The feedback force sending module 1107 is used to send the feedback force at the second target moment to the master-end robot.

[0229] To sum up, the technical solution provided in the embodiments of the present application determines the equivalent joint driving torque of the master robot based on the interaction force between the joints of the master robot and environmental objects and the interaction force between the joints of the slave robot and environmental objects, and controls the joints of the master robot to perform obstacle avoidance movement based on the equivalent joint driving torque of the master robot, thereby enabling the joints of the master robot to avoid obstacles, and further ensuring that the end effector of the slave robot can perform the operation task while ensuring that the joints of the slave robot can also avoid obstacles, thereby improving the robot's obstacle avoidance capability.

[0230] In addition, by obtaining the interaction force between the end effector of the slave robot and the environmental objects and the joint information of the slave robot, the equivalent joint driving torque of the master robot is determined, so that the master robot can perceive the force interaction between the end effector of the slave robot and the environmental objects and the position following of the slave robot, thereby improving the perception ability of the master robot, so that the operator can control the slave robot more accurately, thereby improving the accuracy of robot control.

[0231] It should be noted that the apparatus provided in the above embodiments, when implementing its functions, is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0232] Please refer to Figure 13 , which shows a simplified structural block diagram of a robot provided in one embodiment of the present application. The robot may be the master robot 102, the slave robot 103, etc., which is not limited in the present embodiment.

[0233] Alternatively, as Figure 13 As shown, the robot includes a processor 131 and a memory 132. The processor 131 includes, but is not limited to, any of the following: a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and an FPGA (Field Programmable Gate Array). The memory 132 may include storage devices such as RAM (Random-Access Memory) and ROM (Read-Only Memory). The processor 131 and the memory 132 may be connected via a system bus.

[0234] In an exemplary embodiment, the memory 132 stores at least one instruction, at least one program, code set or instruction set, and the at least one instruction, the at least one program, the code set or instruction set is loaded and executed by the processor 131 to implement the above-mentioned robot motion control method.

[0235] In an exemplary embodiment, a computer-readable storage medium is also provided, in which at least one instruction, at least one program, a code set or an instruction set is stored. When the at least one instruction, the at least one program, the code set or the instruction set is executed by a processor of a computer device, the above-mentioned robot motion control method is implemented.

[0236] Optionally, the computer-readable storage medium may include: ROM (Read-Only Memory), RAM (Random-Access Memory), SSD (Solid State Drives), or an optical disk, etc. Among them, the random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).

[0237] In an exemplary embodiment, a computer program product or computer program is also provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a robot reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the robot to perform the above-described robot motion control method.

[0238] In an exemplary embodiment, a bilateral teleoperation system is also provided, which includes a master-end robot and a slave-end robot, the master-end robot is used to execute the robot motion control method on the master-end robot side, and the slave-end robot is used to execute the robot motion control method on the slave-end robot side.

[0239] It should be understood that the "multiple" mentioned in this article refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent three situations: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship. In addition, the step numbers described in this article only illustrate a possible execution sequence between the steps. In some other embodiments, the above steps may not be executed in the order of the numbers, such as two steps with different numbers are executed at the same time, or two steps with different numbers are executed in the opposite order to the diagram. The embodiments of the present application do not limit this.

[0240] The above description is merely an exemplary embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A robot motion control method, characterized in that: The method comprises: Acquire first joint information, joint interaction force, and operator input force of the master robot, as well as end feedback force, joint feedback force, and second joint information from the slave robot, wherein the first joint information is used to describe the joint state of the master robot, and the second joint information is used to describe the joint state of the slave robot. The joint interaction force refers to the force exerted by environmental objects on the joints of the master robot, the end feedback force refers to the force exerted by environmental objects on the end effector of the slave robot, and the joint feedback force refers to the force exerted by environmental objects on the joints of the slave robot. The master robot is used to control the slave robot; Based on the first joint information and the second joint information, obtaining a first joint driving torque of the master robot, where the first joint driving torque refers to the joint driving torque required to move a joint of the master robot from a joint position corresponding to the second joint information to a joint position corresponding to the first joint information; obtaining a second joint driving torque of the master robot based on the joint interaction force and the joint feedback force, wherein the second joint driving torque refers to the joint driving torque required for the master robot and the slave robot to avoid environmental objects; Converting the operator's input force according to the robot's inverse dynamics equation to obtain a third joint driving torque of the master robot; Converting the terminal feedback force according to the robot inverse dynamics equation to obtain the fourth joint driving torque of the master robot; Calculating an equivalent joint driving torque for controlling the movement of the master robot based on the first joint driving torque, the second joint driving torque, the third joint driving torque, and the fourth joint driving torque; Based on the equivalent joint driving torque used to control the movement of the master-end robot, the movement of the master-end robot is controlled.

2. The method according to claim 1, characterized in that The calculating, based on the first joint driving torque, the second joint driving torque, the third joint driving torque, and the fourth joint driving torque, to obtain an equivalent joint driving torque for controlling the movement of the master robot includes: Acquire a friction compensation joint driving torque and a gravity compensation joint driving torque of the master-end robot, wherein the friction compensation joint driving torque is used to compensate for the joint friction of the master-end robot, and the gravity compensation joint driving torque is used to compensate for the joint gravity of the master-end robot; Based on the first joint driving torque, the second joint driving torque, the third joint driving torque, the fourth joint driving torque, the friction compensation joint driving torque and the gravity compensation joint driving torque, the equivalent joint driving torque used to control the movement of the master end robot is calculated.

3. The method according to claim 1, characterized in that The obtaining, based on the first joint information and the second joint information, a first joint driving torque of the master robot includes: Based on the first joint information and the second joint information, position error information of the master robot is obtained, where the position error information of the master robot is used to represent difference information between a joint position corresponding to the second joint information and a joint position corresponding to the first joint information; Based on the position error information of the master-end robot, a first joint driving torque of the master-end robot is determined.

4. The method according to claim 3, characterized in that The determining the first joint driving torque of the master-end robot based on the position error information of the master-end robot includes: If the position error information is greater than or equal to a first threshold, the upper limit value of the first joint driving torque is used as the first joint driving torque of the master robot, and the first threshold value refers to the rated maximum value corresponding to the position error information; If the position error information is greater than a second threshold and less than the first threshold, converting the position error information based on a conversion ratio coefficient between the position error information and the first joint driving torque to obtain the first joint driving torque of the master robot, where the second threshold refers to a rated minimum value corresponding to the error information; If the position error information is less than or equal to the second threshold, the lower limit value of the first joint driving torque is used as the first joint driving torque of the master robot.

5. The method according to claim 1, wherein The obtaining of the second joint driving torque of the master robot based on the joint interaction force and the joint feedback force includes: performing conversion processing on the joint interaction force and the joint feedback force respectively to obtain a first intermediate joint driving torque corresponding to the joint interaction force and a second intermediate joint driving torque corresponding to the joint feedback force; Based on the first intermediate joint driving torque and the second intermediate joint driving torque, the second joint driving torque of the master robot is obtained.

6. The method according to any one of claims 1 to 5, characterized in that The calculation formula for the equivalent joint driving torque for controlling the movement of the master robot is as follows: in, τ m Refers to the equivalent joint driving torque of the master robot, is the transpose of the force Jacobian matrix of the master robot, is the input force of the operator, I is the identity matrix, It refers to the first intermediate joint driving torque corresponding to the joint interaction force of the master robot, It refers to the second intermediate joint driving torque corresponding to the joint feedback force of the slave robot, refers to the friction compensation joint driving torque of the master robot, refers to the gravity compensation joint driving torque of the master robot, Refers to the first joint driving torque of the master robot, refers to the end feedback force of the slave robot, refers to the upper limit of the driving torque of the first joint, refers to the lower limit of the driving torque of the first joint, Δp refers to the position error information corresponding to the master robot, and p m refers to the joint position corresponding to the first joint information, p s refers to the joint position corresponding to the second joint information, p max Refers to the rated maximum value corresponding to the position error information, p min Refers to the rated minimum value corresponding to the position error information, k p It refers to the conversion proportional coefficient corresponding to the position error information and the first joint driving torque.

7. A robot motion control method, characterized in that: The method comprises: Obtain the second joint information and end-effector feedback force of the slave robot, as well as the first joint information and the operator's input force from the master robot; the first joint information is used to describe the joint state of the master robot, the second joint information is used to describe the joint state of the slave robot, and the end-effector feedback force refers to the force exerted by environmental objects on the end effector of the slave robot. The master robot is used to control the slave robot: obtaining a first joint driving torque of the slave robot based on the first joint information and the second joint information, where the first joint driving torque refers to the joint driving torque required to move a joint of the slave robot from a joint position corresponding to the second joint information to a joint position corresponding to the first joint information; Obtaining a second joint driving torque of the slave robot based on the end feedback force and the operator's input force; Based on the first joint driving torque and the second joint driving torque, an equivalent joint driving torque for controlling the movement of the slave robot is calculated; Based on the equivalent joint driving torque used to control the movement of the slave robot, the movement of the slave robot is controlled.

8. The method according to claim 7, characterized in that The calculating, based on the first joint driving torque and the second joint driving torque, an equivalent joint driving torque for controlling the movement of the slave robot comprises: Acquire a friction compensation joint driving torque and a gravity compensation joint driving torque of the slave robot, wherein the friction compensation joint driving torque is used to compensate for the joint friction of the slave robot, and the gravity compensation joint driving torque is used to compensate for the joint gravity of the slave robot; Based on the first joint driving torque, the second joint driving torque, the friction compensation joint driving torque and the gravity compensation joint driving torque, an equivalent joint driving torque for controlling the movement of the slave robot is calculated.

9. The method according to claim 7, characterized in that The obtaining, based on the first joint information and the second joint information, a first joint driving torque of the master robot includes: Based on the first joint information and the second joint information, position error information of the slave robot is obtained, where the position error information of the slave robot is used to represent difference information between a joint position corresponding to the second joint information and a joint position corresponding to the first joint information; Based on the position error information of the slave robot, a first joint driving torque of the slave robot is determined.

10. The method according to claim 7, characterized in that The obtaining of the second joint driving torque of the slave robot based on the end feedback force and the input force of the operator includes: Obtaining a difference between the end feedback force and the operator's input force; The difference between the end feedback force and the operator's input force is converted to obtain the second joint driving torque of the slave robot.

11. The method according to any one of claims 7 to 10, characterized in that The calculation formula for the equivalent joint driving torque used to control the movement of the slave robot is as follows: in, τ s is the equivalent joint driving torque of the slave robot, is the transpose of the force Jacobian matrix of the slave robot, refers to the friction compensation joint driving torque of the slave robot, refers to the gravity compensation joint driving torque of the slave robot, refers to the first joint driving torque of the slave robot, f h refers to the input force of the operator of the master robot, f m refers to the end feedback force of the slave robot, Δp refers to the position error information corresponding to the slave robot, and p m refers to the joint position corresponding to the first joint information, p s refers to the joint position corresponding to the second joint information, f PID It refers to the proportional integral derivative PID control corresponding to the position error information.

12. The method according to any one of claims 7 to 10, characterized in that The method further comprises: Obtaining a force feedback correction coefficient at a first target moment, wherein the force feedback correction coefficient is used to correct the feedback force sent by the slave robot to the master robot; Calculating and processing the second joint information based on the force feedback correction coefficient to obtain a force correction parameter; adjusting the feedback force at the first target moment based on the force correction parameter to determine the feedback force at the second target moment; The feedback force at the second target moment is sent to the master robot.

13. A robot, characterized in that: The robot includes a processor and a memory, wherein the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the robot motion control method according to any one of claims 1 to 6, and to implement the robot motion control method according to any one of claims 7 to 12.

14. A computer-readable storage medium, characterized in that The storage medium stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the robot motion control method according to any one of claims 1 to 6, and to implement the robot motion control method according to any one of claims 7 to 12.

15. A computer program product, comprising computer instructions, wherein the computer instructions are stored in a computer-readable storage medium, and a processor reads and executes the computer instructions from the computer-readable storage medium to implement the robot motion control method according to any one of claims 1 to 6, and the robot motion control method according to any one of claims 7 to 12.

16. A bilateral teleoperation system, characterized in that: The bilateral teleoperation system includes a master robot and a slave robot, the master robot is used to execute the robot motion control method as described in any one of claims 1 to 6, and the slave robot is used to execute the robot motion control method as described in any one of claims 7 to 12.

Citation Information

Patent Citations

  • Robotic systems and methods of operating robotic systems

    CN106457569A

  • Medical care robot and control method thereof

    CN107009363A