Robot system control method, device and system and storage medium
By determining the frictional torque compensation amount of joints and motors based on position deviation in the robot system, and combining it with dynamic characteristic parameters, closed-loop control is achieved, which solves the problem of large frictional compensation error and improves control accuracy and motion performance.
Patent Information
- Application Number
- CN202410536964.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-29
- Publication Date
- 2025-10-31
AI Technical Summary
In the existing technology, the friction compensation process of robot systems is subject to low precision in joint movement speed, resulting in large friction compensation errors and affecting control accuracy.
By determining the frictional torque compensation of the joint and motor based on the position deviation of the joint and motor, and combining it with dynamic characteristic parameters, closed-loop control is achieved. Friction compensation is directly determined based on the position deviation, avoiding the difference calculation error of the speed correlation function.
This improved the control precision of the robot system, reduced friction compensation errors, and enhanced the motion performance of joints and motors.
Smart Images

Figure CN120862652A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control technology, and in particular to a control method, device, system and storage medium for a robot system. Background Technology
[0002] In the motion control of robot systems, various types of friction are typically present, including motor friction caused by contact and relative motion between internal mechanical components of the motor, and joint friction generated between contact surfaces during joint movement. These frictions often reduce the control accuracy of the robot system.
[0003] In related technologies, a friction compensation scheme based on a friction model is adopted. By modeling the friction force in the robot system, the friction force is expressed as a function related to the relative velocity. Thus, the friction compensation amount is determined according to the friction model, thereby realizing friction compensation for the robot system.
[0004] It is evident that the accuracy of the friction model depends on the detection of motion velocity. However, in actual robot systems, joint motion velocity is usually obtained based on joint angles collected by joint position sensors, through differential calculations of joint angles. Therefore, the accuracy of joint motion velocity is relatively low, which can easily lead to large errors when using the friction model to achieve friction compensation. Summary of the Invention
[0005] This application provides a control method, apparatus, system, and storage medium for a robot system, which can improve the control accuracy of the robot system. The technical solution is as follows:
[0006] On the one hand, embodiments of this application provide a control method for a robot system, wherein the robot system includes at least one robot joint module, the robot joint module includes a motor and a joint, and the motor is used to drive the joint to realize joint movement;
[0007] The method includes:
[0008] Based on the joint position deviation of the joint, the joint friction torque compensation amount of the joint is determined. The joint position deviation is determined based on the joint angle measurement value and the expected value of the joint angle. The joint friction torque compensation amount is used to compensate for the friction generated during joint movement.
[0009] Based on the motor control torque of the current control cycle and the measured joint torque value of the joint, the expected value of the motor angle is determined;
[0010] Based on the measured value of the motor angle and the expected value of the motor angle, the motor friction torque compensation amount is determined. The motor friction torque compensation amount is used to compensate for the friction generated during the operation of the motor.
[0011] Based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the dynamic characteristic parameters of the robot joint module, the motor control torque for the next control round is determined, and the motor drives the joint based on the motor control torque. The dynamic characteristic parameters characterize the dynamic characteristics of the robot joint module.
[0012] On the other hand, embodiments of this application provide a control device for a robot system, the robot system including at least one robot joint module, the robot joint module including a motor and a joint, the motor being used to drive the joint to achieve joint movement;
[0013] The device includes:
[0014] The first friction compensation module is used to determine the joint friction torque compensation amount of the joint based on the joint position deviation of the joint. The joint position deviation is determined based on the joint angle measurement value and the expected value of the joint angle. The joint friction torque compensation amount is used to compensate for the friction generated during the joint movement.
[0015] The motor angle determination module is used to determine the expected value of the motor angle based on the motor control torque of the current control cycle and the measured value of the joint torque of the joint.
[0016] The second friction compensation module is used to determine the motor friction torque compensation amount based on the measured value of the motor angle and the expected value of the motor angle. The motor friction torque compensation amount is used to compensate for the friction generated during the operation of the motor.
[0017] The control module is used to determine the motor control torque for the next control cycle based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the dynamic characteristic parameters of the robot joint module, and to control the motor to drive the joint based on the motor control torque. The dynamic characteristic parameters characterize the dynamic characteristics of the robot joint module.
[0018] On the other hand, embodiments of this application provide a robot system, the robot system including a control device and a robot joint module, the control device including a processor and a memory; the memory stores at least one computer instruction, the at least one computer instruction being executed by the processor to implement the control method of the robot system as described above.
[0019] On the other hand, embodiments of this application provide a computer-readable storage medium storing at least one computer instruction, which is loaded and executed by a processor to implement the control method of the robot system as described above.
[0020] On the other hand, embodiments of this application provide a computer program product, the computer program product including computer instructions stored in a computer-readable storage medium; a processor of a robot system reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, causing the robot system to perform the robot system control method as described above.
[0021] In this embodiment, during the control of the robot joint module, considering that friction is generated during joint movement and motor operation, the joint friction torque compensation amount and the motor friction torque compensation amount are determined based on the joint position deviation and the motor position deviation, respectively. This takes into account both the position control task of the robot joint module and the frictional dynamics between the joint and the motor. Furthermore, directly determining the friction compensation based on the position deviation avoids the increased error caused by differential calculations compared to expressing the friction force as a function related to relative velocity, thus improving the accuracy of determining the friction torque compensation amount. In addition, by combining the motor control torque of the current control cycle, the motor control torque of the next control cycle is determined, realizing closed-loop control of the robot joint module and improving the control accuracy of the robot system. Attached Figure Description
[0022] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0023] Figure 1 A schematic diagram of the structure of a robot system provided in an exemplary embodiment of this application is shown;
[0024] Figure 2 A flowchart illustrating a control method for a robot system provided in an exemplary embodiment of this application is shown.
[0025] Figure 3 This invention provides a schematic diagram illustrating the parameter division of the motor side and joint side in a robot joint module according to an exemplary embodiment of the present application.
[0026] Figure 4A flowchart illustrating the determination of joint friction torque compensation amount provided in an exemplary embodiment of this application is shown;
[0027] Figure 5 A flowchart illustrating the determination of motor friction torque compensation amount is shown in an exemplary embodiment of this application;
[0028] Figure 6 This application shows a control block diagram for determining the amount of motor friction torque compensation provided in an exemplary embodiment;
[0029] Figure 7 An equivalent control block diagram for determining the amount of motor friction torque compensation provided in an exemplary embodiment of this application is shown;
[0030] Figure 8 This invention illustrates a friction compensation control block diagram with introduced time delay correction provided in an exemplary embodiment of this application;
[0031] Figure 9 A flowchart illustrating the determination of motor control torque is shown in an exemplary embodiment of this application;
[0032] Figure 10 A schematic diagram of a full-state feedback controller based on motor control torque control of a motor, provided in an exemplary embodiment of this application, is shown.
[0033] Figure 11 This invention provides a schematic diagram of the closed-loop control process of a robot joint module according to an exemplary embodiment of the present application.
[0034] Figure 12 This application shows a structural block diagram of a control device for a robot system provided in an exemplary embodiment.
[0035] Figure 13 A schematic diagram of the structure of a control device provided in an exemplary embodiment of this application is shown. Detailed Implementation
[0036] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0037] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0038] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0039] It should be understood that although the terms first, second, etc., may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, a first parameter may also be referred to as a second parameter, and similarly, a second parameter may also be referred to as a first parameter. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0040] First, a brief introduction to the terms used in the embodiments of this application:
[0041] Joint angle: The angular position of a joint in a robot's joint module. The measured joint angle is typically detected by sensors (such as potentiometers or optical encoders) mounted on the joint and can be represented as q; the desired joint angle is determined based on the current control task and can also be represented as q0. d .
[0042] Joint torque: The torque acting on the joints of a robot can include the torque generated by the motor and any external torques that may exist (such as frictional torque and load torque). Joint torque can be expressed as τ. j .
[0043] Motor angle: The angular position of the motor rotor rotation, usually measured by an encoder mounted on the motor, and can be represented as θ.
[0044] Motor torque: The torque generated by a motor, which is proportional to the motor's current and torque constant. The motor control torque, used to drive joint movement, can be expressed as τ. c .
[0045] Motor friction torque: generated by the contact and relative motion between the internal mechanical parts of the motor, and can be expressed as τ. f,θ Motor friction torque plays a crucial role in motor operation, affecting its starting, running, and braking performance. The generation of motor friction torque is mainly related to multiple factors, including bearing friction, gear friction, seals and couplings, internal air resistance, magnetic hysteresis and delay effects, as well as manufacturing and assembly tolerances.
[0046] Joint friction torque: This is the torque generated in the joint due to contact and movement, and can be expressed as τ. f,q The generation of joint friction torque is mainly related to multiple factors such as contact surface, surface roughness, normal force, lubrication conditions, material properties, motion state, temperature, manufacturing and assembly tolerances.
[0047] Artificial intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, 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 attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.
[0048] Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies primarily include computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0049] Machine learning (ML) is a multidisciplinary field involving probability theory, statistics, approximation theory, convex analysis, and algorithm complexity theory. It specifically studies how computers can simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to endow computers with intelligence; its applications span all areas of artificial intelligence. Machine learning and deep learning typically include techniques such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and learn-by-doing.
[0050] With the research and advancement of artificial intelligence (AI) technology, AI is being studied and applied in various fields, such as smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, autonomous driving, drones, robots, smart healthcare, and smart customer service. It is believed that with the development of technology, AI will be applied in more fields and play an increasingly important role.
[0051] The solutions provided in this application relate to fundamental artificial intelligence technologies, which are illustrated in the following embodiments.
[0052] Please refer to Figure 1 This illustration shows a schematic diagram of a robot system 140 provided in one embodiment of this application, which is connected to an externally located control device 120. It should be noted that... Figure 1 The example described here is based on the control device 120 being located outside the robot system 140. The robot system 140 can also be controlled by the control device inside the system.
[0053] Control device 120 is a device with an application installed that provides control functions for a robot system. These robot system control functions can be native to the control device 120 application or third-party applications. The control device 120 can be a smartphone, tablet, laptop, desktop computer, smart TV, wearable device, or in-vehicle terminal, etc. Figure 1 In this example, the control device 120 is a desktop computer, but this is not a limitation.
[0054] The robot system 140 includes at least one robot joint module, which includes a motor and a joint. The motor drives the joint to achieve joint movement. The robot system 140 can be a single robot system, such as a robotic arm, or a complex robot system, such as a humanoid robot or a wheeled robot; this embodiment does not limit this. Optionally, the robot system 140 can be controlled by an internal control device or by a connected control device 120; this embodiment does not limit this either.
[0055] In one possible implementation, such as Figure 1 As shown, the robot system 140 is controlled by a control device 120 connected to it. The control device 120 acquires joint angle measurements, joint torque measurements, and motor angle measurements based on received sensor data. It then determines the joint position deviation based on the joint angle measurements and the expected motor angle values, and determines the joint friction torque compensation amount based on the joint position deviation. Simultaneously, the control device 120 determines the expected motor angle value based on the motor control torque and joint torque measurements of the current control cycle, and determines the motor friction torque compensation amount based on the motor angle measurements and the expected motor angle value. Furthermore, the control device 120 determines the motor control torque for the next control cycle based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the dynamic characteristic parameters of the robot joint module, and returns this motor control torque to the robot system 140, which then controls the operation of the robot joint module.
[0056] In another possible implementation, the robot system 140 is controlled by an internal control device. The robot system 140 acquires joint angle measurements, joint torque measurements, and motor angle measurements from sensors. Based on the joint angle measurements and the expected motor angle values, it determines the joint position deviation and the joint friction torque compensation amount. Simultaneously, based on the motor control torque and joint torque measurements of the current control cycle, it determines the expected motor angle value and the motor friction torque compensation amount. Furthermore, based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the dynamic characteristic parameters of the robot joint module, it determines the motor control torque for the next control cycle and controls the robot joint module's operation based on this motor control torque.
[0057] For ease of explanation, the following embodiments are illustrated by taking the example of the control method of the robot system being executed by the control device in the robot system.
[0058] Please refer to Figure 2 This document illustrates a flowchart of a control method for a robot system provided in an exemplary embodiment of this application. This embodiment uses the method applied to a control device within a robot system as an example for illustration. The method includes the following steps:
[0059] Step 201: Based on the joint position deviation, determine the joint friction torque compensation amount. The joint position deviation is determined based on the joint angle measurement value and the expected value of the joint angle. The joint friction torque compensation amount is used to compensate for the friction generated during joint movement.
[0060] Optionally, robot systems can be divided into single robot systems (such as robotic arms) and complex robot systems (such as humanoid robots). A single robot system contains a single robot joint module, while a complex robot system contains multiple robot joint modules.
[0061] Optionally, different transmission schemes can be used in the robot joint module to drive the joints via the motor, such as gear transmission, tendon transmission, harmonic reducer, ball screw, etc. Optionally, the robot joint module is typically a flexible joint, meaning that when subjected to a collision, the robot joint module will undergo a certain degree of flexible deformation to reduce the impact force, providing a certain degree of cushioning. The robot joint module consists of a motor and a joint, connected by springs and dampers. By controlling the motor to drive the joint, joint movement can be achieved, thereby performing corresponding robot tasks based on the joint movement.
[0062] For a single robot joint module, when the motor is controlled based on the motor control torque to drive the joint movement, the contact surfaces of the joint often generate friction when they move against each other. These contact surfaces can be mechanical bearings, gears, couplings, or other types of mechanical interfaces. The presence of friction affects the motion accuracy and response speed of the robot joint module and may lead to joint wear. Therefore, in the process of controlling the robot joint module, it is necessary to determine the joint friction torque compensation amount to compensate for the friction generated during the joint movement, thereby improving the control accuracy.
[0063] In one possible implementation, the control device measures the change in joint angle during joint movement using a joint position sensor. Based on the measured joint angle value and the expected joint angle value, the joint position deviation can be determined by calculating the difference. Based on the joint position deviation, the joint friction torque compensation amount can be determined.
[0064] The expected value of the joint angle can be determined based on the control task of the robot joint module, and can be expressed as q. d The measured value of the joint angle can be expressed as q, and the compensation amount of the joint friction torque can be expressed as...
[0065] Step 202: Based on the motor control torque of the current control cycle and the measured joint torque of the joint, determine the expected value of the motor angle.
[0066] For a single robot joint module, in the process of controlling the motor to drive the joint movement based on the motor control torque, in addition to the joint friction generated on the joint side, motor friction is usually generated due to the contact and relative movement between the mechanical parts inside the motor. Motor friction will affect the starting, movement and braking performance of the motor. Therefore, in order to improve the performance of the motor and improve the control accuracy, the control equipment also needs to determine the amount of motor friction torque compensation to compensate for the friction generated during the operation of the motor.
[0067] In some embodiments, in order to determine the amount of motor friction torque compensation from the angle of motor position deviation, the control device can first measure the joint torque of the joint using a joint torque sensor, and then determine the desired value of the motor angle based on the measured joint torque value and the motor control torque of the current control cycle, combined with the dynamic characteristics between the motor and the joint.
[0068] Optionally, the joint torque measurement can be expressed as τ. j The motor control torque can be expressed as τ. c The desired value of the motor angle can be expressed as θ. n .
[0069] Step 203: Based on the measured value of the motor angle and the expected value of the motor angle, determine the motor friction torque compensation amount. The motor friction torque compensation amount is used to compensate for the friction generated during motor operation.
[0070] In some embodiments, the control device measures the change in motor angle of the motor through a motor position sensor and obtains the measured value of the motor angle from the motor position sensor. After determining the expected value of the motor angle, the control device can determine the motor angle deviation based on the measured value of the motor angle and the expected value of the motor angle, thereby determining the amount of motor friction torque compensation.
[0071] Optionally, the measured value of the motor angle can be expressed as θ, and the motor friction torque compensation amount can be expressed as...
[0072] Step 204: Based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the dynamic characteristic parameters of the robot joint module, determine the motor control torque for the next control round, and control the motor to drive the joint based on the motor control torque. The dynamic characteristic parameters characterize the dynamic characteristics of the robot joint module.
[0073] In some embodiments, after determining the joint friction torque compensation amount and the motor friction torque compensation amount, the control device can determine the motor control torque for the next control cycle based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the dynamic characteristic parameters of the robot joint module, and then use the motor control torque to control the motor to drive the joint in order to perform the corresponding control task.
[0074] Optionally, dynamic characteristic parameters characterize the dynamic properties of the robot joint module. These parameters may include the motor moment of inertia matrix, joint stiffness matrix, damping matrix, etc., where the motor moment of inertia matrix B characterizes the motor's rotational characteristics, and the joint stiffness matrix K... j The damping matrix D characterizes the stiffness properties of a joint. j Characterizes the damping properties of a joint.
[0075] In summary, in the embodiments of this application, during the control of the robot joint module, considering that friction is generated during joint movement and motor operation, the joint friction torque compensation amount and the motor friction torque compensation amount are determined based on the joint position deviation and the motor position deviation, respectively. This takes into account both the position control task of the robot joint module and the frictional dynamics between the joint and the motor. Furthermore, directly determining the friction compensation based on the position deviation avoids the increased error caused by differential calculations compared to expressing the friction force as a function related to relative velocity, thus improving the accuracy of determining the friction torque compensation amount. In addition, by combining the motor control torque of the current control cycle, the motor control torque of the next control cycle is determined, realizing closed-loop control of the robot joint module and improving the control accuracy of the robot system.
[0076] In some embodiments, in order to improve the accuracy of the friction torque compensation, the control device also needs to adopt corresponding parameter determination strategies for the joint and the motor, and determine the joint friction torque compensation and the motor friction torque compensation respectively by combining the dynamic characteristics of the joint and the motor. The process of determining the joint friction torque compensation and the motor friction torque compensation will be described below through an embodiment.
[0077] Indicative, such as Figure 3 As shown, in determining the friction torque compensation amount, the parameters in the robot joint module that may be involved can be divided into motor-side parameters and joint-side parameters, centered on the reducer 301. The reducer 301 is a mechanical device between the motor and the joint, used to reduce the speed and increase the torque. The reduction ratio N is an important parameter of the reducer, defined as the ratio of the input speed to the output speed.
[0078] The motor-side parameters may include motor control torque 302, rotor moment of inertia 303, motor friction torque 304, etc. Among them, motor control torque 302 is used to drive joint movement; rotor moment of inertia 303 is a physical quantity that describes the magnitude of inertia of the motor rotor when it rotates around its rotation axis; motor friction torque 304 is generated by the contact and relative motion between the internal mechanical components of the motor.
[0079] Joint-side parameters may include joint friction torque 305, inertia matrix 306, and external force 307. Among them, joint friction torque 305 is the torque generated by the joint due to contact and movement; inertia matrix 306 is a matrix describing the rotational inertia of the robot joint or link, which includes the inertial resistance of the joint or link to its rotation axis; external force 307 refers to all non-conservative forces acting on the robot system, including gravity, friction, contact force, etc.
[0080] Please refer to Figure 4This document illustrates a flowchart of determining the joint friction torque compensation amount according to an exemplary embodiment of this application. This embodiment uses the method applied to a control device in a robot system as an example, and the method includes the following steps:
[0081] Step 401: Determine the joint position deviation based on the measured joint angle value and the expected joint angle value.
[0082] Optionally, each robot joint module in the robot system is equipped with a joint position sensor on its joint side. This joint position sensor can be a joint potentiometer, which can effectively detect the joint angle.
[0083] In one possible implementation, the control device first determines the expected value of the joint angle in the current control cycle based on the control task being performed by the current robot joint module, and obtains the joint angle measurement value detected by the joint position sensor. Then, based on the joint angle measurement value and the expected value of the joint angle, the joint position deviation is determined by the difference calculation.
[0084] Optionally, the control device outputs motor control torque to the motor, thereby causing the motor to operate based on the motor control torque. The control device can employ different control strategies to control the robot joint modules, such as control strategies based on inverse kinematics, control strategies based on Cartesian tasks, and so on.
[0085] Optionally, when the robot joint module adopts a control strategy based on inverse kinematics, the joint position deviation is the joint angle difference, which can be expressed as e(t) = q. d -q, where e(t) is the joint angle difference, q d Let q be the expected value of the joint angle, and q be the measured value of the joint angle.
[0086] Optionally, when the robot joint module adopts a Cartesian task-based control strategy, the joint position deviation is the Cartesian task difference of the joint. The control device can then determine the Cartesian task difference of the joint based on the Jacobian matrix, the measured joint angle values, and the expected joint angle values.
[0087] The difference in the Cartesian task can be expressed as e(t) = x d -x, where e(t) is the Cartesian task difference, x d Let x be the expected value of the Cartesian task, and let x be the actual value of the Cartesian task.
[0088] Optionally, the Cartesian task and joint angles can be transformed using a Jacobian matrix. The transformation relationship between the actual values of the Cartesian task and the measured joint angles can be expressed as follows: The conversion relationship between the expected value of a Cartesian task and the expected value of a joint angle can be expressed as follows: in, Let J be the Cartesian task execution speed, and J be the Jacobian matrix. The joint angular velocity, This represents the expected value of the joint angular velocity. This represents the expected execution speed of a Cartesian task.
[0089] Step 402: Determine the joint angular velocity based on the change in the joint angle measurement value.
[0090] In one possible implementation, during the process of detecting joint angles using a joint position sensor, in order to improve data acquisition efficiency, the control device can acquire joint angle measurement values based on the sampling period, and then determine the joint angular velocity based on the change in the joint angle measurement values.
[0091] Optionally, the sampling period can be expressed as T. s The measured joint angle at the current moment can be represented as q(t), and the measured joint angle at the previous moment can be represented as q(t-1). Therefore, the joint angular velocity can be represented as...
[0092] Step 403: Determine the joint friction torque compensation amount based on the tuning parameters, the joint angular velocity, and the joint position deviation.
[0093] In some embodiments, after determining the joint position deviation and joint angular velocity, the control device can determine the joint friction torque compensation amount of the joint based on the tuning parameters, joint angular velocity, and joint position deviation using a frictionless model control compensation scheme.
[0094] In this context, tuning parameters refer to the adjustment parameters used to achieve the optimal control effect of the controller. Tuning parameters can be proportional gain, optimization algorithm parameters, controller structure parameters, etc., and this application embodiment does not limit them.
[0095] Optionally, in the process of compensating for joint friction using joint friction torque, the control device also needs to first determine the direction of joint friction compensation, so that the direction of joint friction compensation is usually opposite to the direction of joint movement, in order to counteract the influence of joint friction on joint movement.
[0096] In one possible implementation, when the robot joint module adopts a control strategy based on inverse kinematics, the control device can first determine the friction compensation direction of the joint based on the joint angular velocity and joint torque. Then, based on the tuning parameters, friction compensation direction, joint angular velocity, and joint angle difference, the real-time friction parameters of the joint are determined. These real-time friction parameters represent the friction generated by the joint at the current moment. The control device can then determine the amount of joint friction torque compensation based on the real-time friction parameters and friction compensation direction.
[0097] Regarding the method for determining real-time friction parameters, in one possible implementation, the control device first determines the joint angular velocity difference based on the joint angular velocity and the expected value of the joint angular velocity. Then, based on the tuning parameters, the joint angular velocity difference, the joint angular velocity difference, and the friction compensation direction, it determines the parameter change rate of the real-time friction parameters. By integrating the parameter change rate, the real-time friction parameters of the joint can be obtained.
[0098] Optionally, the joint angle difference can be expressed as e(t) = q d The difference in joint angular velocity (t)-q(t) can be expressed as: The rate of change of real-time friction parameters can be expressed as: in, The activation function is related to joint friction and is used to indicate the direction of joint friction compensation. P and λ are tuning parameters. The value of λ is usually greater than 1, that is, in the process of determining the rate of change of parameters, the weight of the joint angle difference is greater than the weight of the joint angular velocity difference, thereby reducing the error caused by differential calculation in the calculation of joint angular velocity, improving the accuracy of determining the rate of change of parameters, and thus improving the accuracy of joint friction torque compensation.
[0099] Furthermore, the joint friction torque compensation amount can be expressed as: k c (t) represents the real-time friction parameters of the joint obtained by integrating the rate of change of the parameters.
[0100] Optionally, when employing a control strategy based on inverse kinematics, the activation function related to joint friction can be expressed as:
[0101]
[0102] in, Let τ be the joint angular velocity at the current moment. j (t) represents the joint torque at the current moment. or And τ j When (t)>0, the activation function The value of is 1;
[0103]
[0104] In another possible implementation, when the robot joint module adopts a Cartesian task-based control strategy, the control device can determine the joint friction torque compensation amount based on the tuning parameters, Cartesian task difference, joint angular velocity, and Jacobian matrix.
[0105] Optionally, based on the conversion relationship between the Cartesian task and joint angular velocity. The control device can first determine the Cartesian task execution speed of the joint based on the joint angular velocity and the Jacobian matrix. Furthermore, since the Cartesian task layer does not involve the torque input to control the joint, the friction compensation direction of the joint can be determined solely based on the Cartesian task execution speed. Further, the control device determines the real-time friction parameters of the joint based on the tuning parameters, the friction compensation direction, the Cartesian task execution speed, and the Cartesian task difference. These real-time friction parameters characterize the friction generated by the joint at the current moment. Then, based on the Jacobian matrix, the real-time friction parameters, and the friction compensation direction, the amount of joint friction torque compensation can be determined.
[0106] Regarding the method for determining real-time friction parameters, in another possible implementation, the control device first determines the difference in the task execution speed of the joint based on the Cartesian task execution speed and the expected value of the Cartesian task execution speed. Then, based on the tuning parameters, the difference in the Cartesian task, the difference in the task execution speed, and the friction compensation direction, it determines the rate of change of the real-time friction parameters. By integrating the rate of change of the parameters, the real-time friction parameters of the joint can be obtained.
[0107] Optionally, the Cartesian task difference can be expressed as e(t) = x d The difference in task execution speed can be expressed as (t)-x(t). The rate of change of real-time friction parameters can be expressed as: in, The activation function is related to joint friction and is used to indicate the direction of joint friction compensation. P and λ are tuning parameters. The value of λ is usually greater than 1. That is, in the process of determining the rate of change of parameters, the weight of the Cartesian task difference is greater than the weight of the task execution speed difference, thereby reducing the error caused by the difference calculation in the process of calculating the task execution speed, improving the accuracy of determining the rate of change of parameters, and thus improving the accuracy of joint friction torque compensation.
[0108] Furthermore, the joint friction torque compensation amount can be expressed as: k c (t) represents the real-time friction parameters of the joint obtained by integrating the rate of change of the parameters, J T It is the transpose of the Jacobian matrix.
[0109] Optionally, when using a Cartesian task-based control strategy, the activation function related to joint friction can be expressed as:
[0110]
[0111] in, This represents the current execution speed of the Cartesian task. In the case of activation function The value of is 1; In the case of activation function The value is -1; in In the case of activation function The value of is 0.
[0112] In the above embodiments, during the compensation of friction generated during joint movement, two control strategies are considered: one based on inverse kinematics and the other based on a Cartesian task. In the inverse kinematics-based control strategy, the friction compensation direction is determined based on the joint angular velocity and joint torque. In the Cartesian task-based control strategy, the friction compensation direction is determined based on the Cartesian task execution speed. Then, by combining the friction compensation direction, optimization parameters, joint angular velocity, and joint position deviation, the amount of joint friction torque compensation is determined, thus improving the accuracy of determining the joint friction torque compensation amount.
[0113] Furthermore, in the process of calculating real-time friction parameters, by adjusting the parameter λ, the weights of joint angle difference and Cartesian task difference are increased, while the weights of joint angular velocity difference and task execution speed difference are decreased. This effectively reduces the error caused by differential calculation in the speed calculation process, improves the accuracy of determining the rate of change of parameters, and thus improves the accuracy of joint friction torque compensation.
[0114] Please refer to Figure 5 This document illustrates a flowchart of determining the motor friction torque compensation amount according to an exemplary embodiment of this application. This embodiment uses the method applied to a control device in a robot system as an example, and the method includes the following steps:
[0115] Step 501: Based on the first dynamic characteristics of the joint, the joint torque is determined according to the measured joint torque value and the stiffness and damping characteristic parameters of the robot joint module.
[0116] Optionally, each robot joint module in the robot system is equipped with a joint torque sensor on its joint side to detect the joint torque during joint movement in real time.
[0117] In controlling joint movement via a motor, it is necessary to consider not only the torque required for the joint to perform the corresponding control task, but also the joint's stiffness and damping characteristics. When a joint is subjected to external forces, it typically undergoes angular deformation; the relationship between this deformation and the applied torque constitutes the joint's stiffness characteristic. The rate at which energy is lost during joint movement due to friction or other dissipation mechanisms constitutes the joint's damping characteristic. Therefore, the joint torque applied when a motor drives joint movement can be divided into two parts: one part is the measured joint torque value detected by the joint torque sensor, and the other part is the joint torque consumed by the joint's stiffness and damping characteristics.
[0118] In one possible implementation, in order to calculate the joint torque applied when the motor drives the joint movement, the control device can determine the joint torque based on the joint torque measurement value and the stiffness and damping characteristic parameters of the robot joint module, according to the first dynamic characteristics of the joint.
[0119] Optionally, the first dynamic characteristic of the joint can be expressed as: Where, τ jts τ is the measured value of the joint torque. jts The following relationship exists between the joint angle measurement value q and the motor angle measurement value θ: τ jts =K j (θ-q), τ j This refers to the joint torque applied when the motor drives the joint movement, D. j K is the joint damping matrix. j Here is the joint stiffness matrix.
[0120] Step 502: Based on the second dynamic characteristics of the motor, the motor's moment of inertia, and the torque difference between the motor control torque and the joint torque in the current control cycle, determine the expected value of the motor's angular acceleration.
[0121] According to the second dynamic characteristic of the motor, during the process of inputting current into the motor windings to control the movement of the motor drive joints, motor friction is usually generated due to the contact and relative movement between the internal mechanical components of the motor. Therefore, the motor control torque is equal to the motor output torque plus the motor friction torque, i.e., τ. c =τ m +τ f,θ , where τ m τ is the output torque of the motor. f,θ τ is the frictional torque of the motor. c This refers to the motor control torque.
[0122] In the process of controlling the joint movement of a motor based on motor control torque, due to the inertia of the motor rotor rotating around its axis, the motor control torque is not only converted into the joint torque applied when the motor drives the joint movement, but also partially consumed by the motor's rotational inertia. Where B is the moment of inertia of the motor. Let τ be the angular acceleration of the motor. j This refers to the joint torque applied when the motor drives the joint movement.
[0123] In one possible implementation, to compensate for motor friction generated during motor operation, the control device can first determine a desired value for the motor angle, and then, based on the second dynamic characteristic of the motor, establish a relationship between the desired motor angle and the amount of motor friction torque compensation. This relationship can be expressed as follows: in, This represents the expected value of the motor's angular acceleration. This is the amount of motor friction torque compensation.
[0124] Optionally, based on the relationship between the measured motor angle and the motor friction torque. And the relationship between the expected value of the motor angle and the amount of motor friction torque compensation. Subtracting the two equations will give you the result. in, The difference in motor angular acceleration is used to compensate for the frictional torque of the motor by applying it to the robot joint module. This allows the measured motor angle value to continuously approach the desired motor angle value, thus compensating for motor friction during operation.
[0125] In one possible implementation, the relationship between the desired motor angle and the motor friction torque compensation amount is considered. Given the motor's moment of inertia, the motor control torque for the current control cycle, and the joint torque applied when the motor drives the joint movement, the control device can first determine the expected value of the motor's angular acceleration.
[0126] Step 503: Integrate the expected value of the motor angular acceleration to obtain the expected value of the motor angle.
[0127] Furthermore, after obtaining the expected value of the motor's angular acceleration, the control device can obtain the expected value of the motor's angle by integrating the expected value of the motor's angular acceleration.
[0128] Optionally, the expected value of the motor angular acceleration can be expressed as: The desired value of the motor angle θ can be obtained through integration. n .
[0129] Step 504: Obtain the motor angle measurement value through the motor position sensor.
[0130] Optionally, the control device is equipped with motor position sensors on the motor side of each robot joint module, which can detect changes in the motor angle in real time.
[0131] In one possible implementation, the control device obtains the motor angle measurement value θ of the motor through a motor position sensor.
[0132] Step 505: Based on the measured value of the motor angle and the expected value of the motor angle, the motor angle difference is obtained through difference calculation.
[0133] In one possible implementation, in order to determine the amount of motor friction torque compensation based on the motor angle deviation, after obtaining the measured value of the motor angle and the expected value of the motor angle, the control device can determine the motor angle difference by calculating the difference.
[0134] Optionally, the motor angle difference can be expressed as e. n =θ n -θ,θ n Let θ be the expected value of the motor angle, and θ be the measured value of the motor angle.
[0135] Indicative, such as Figure 6 As shown, during actual motor operation, the control device 601 controls the motor based on the motor control torque τ. c The motor drives the joint movement, and during the operation of the motor, a frictional torque τ is generated. f,θ And generate an angular displacement θ of the motor. Figure 6 The transfer function P(s) is used to simulate the internal response of the motor in the real system. During the process of controlling the motor to drive the joint movement, the motor control torque is converted into joint torque through the transmission model, thereby achieving joint movement and generating a joint angle displacement q. In this embodiment, to compensate for the friction generated during motor operation and the friction generated during joint movement, a transfer function Pn(s) is added outside the actual control framework. This transfer function Pn(s) is used to observe and predict the desired motor angle θ. n Thus, the control equipment can be based on the measured motor angle θ and the desired motor angle θ. n Determine the motor angle difference e n .
[0136] In one possible implementation, considering that there is usually a response delay between input and output during the process of applying control current to the motor to generate motor output torque, generating motor control torque through motor movement, and controlling the joint movement of the motor through motor control torque, in order to improve the accuracy of determining the motor angle difference, the control device can first determine the response delay characteristics in the robot joint module and adjust the motor angle measurement value before calculating the motor angle difference.
[0137] In one possible implementation, the control device first determines the time delay characteristic parameters of the robot joint module, which characterize the response delay characteristics of the robot joint module, and uses the time delay characteristic parameters to correct the motor angle measurement value to obtain the corrected motor angle measurement value. Then, based on the corrected motor angle measurement value and the expected motor angle value, the motor angle difference value is obtained by difference calculation.
[0138] Regarding the method for determining the time delay characteristic parameters, in one possible implementation, the control device can observe the motor operation process through a Smith predictor, determine the response delay in the robot joint module based on the Smith predictor, and obtain the time delay characteristic parameters.
[0139] Indicative, such as Figure 7 As shown, to facilitate the observation of the response delay characteristics of the robot joint module, it can be... Figure 6 The control block diagram for determining the motor friction torque compensation amount is equivalently transformed. Then, based on the motor control torque τ, control device 701 is used. c During the process of controlling the joint movement driven by the motor, a frictional torque τ is generated during the operation of the motor. f,θ This generates a motor angular displacement θ, and the motor control torque τ for the current control cycle. c With joint torque τ j The torque difference between the two is first processed through the transfer function Pn(s) to determine the expected value of the motor's angular acceleration θ. n Then, based on the measured motor angle θ and the expected motor angle θ n This allows us to determine the motor angle difference e. n The friction generated during motor operation can be expressed as a disturbance τ c +τ f,θ -τ j The form is added before the transfer function P(s).
[0140] Indicative, such as Figure 8 As shown in the control block diagram after equivalent transformation, in order to observe the response delay characteristics e of the robot joint module during actual operation... -tsIn addition to the motor's internal response transfer function P(s) used to simulate the real system, a transfer function Pn(s) and a response delay adjustment can be added. Based on this friction compensation control block diagram with introduced time delay correction, the control system is calibrated, and the time delay characteristic parameter t is determined. n Furthermore, during actual motor operation, the control equipment uses time delay characteristic parameters to correct the measured motor angle value, obtaining the corrected measured motor angle value θ′. Based on the corrected measured motor angle value and the expected motor angle value, the motor angle difference e is obtained through difference calculation. n .
[0141] Step 506: Based on the motor angle difference and the motor's friction observation transfer function, determine the motor friction torque compensation amount. The friction observation transfer function is used to estimate the friction during motor operation.
[0142] In one possible implementation, after determining the motor angle difference, the control device can determine the motor friction torque compensation amount based on the motor angle difference and the motor's friction observation transfer function, wherein the friction observation transfer function is used to estimate the friction during motor operation.
[0143] Optionally, the friction observation transfer function adopts the PD control law, which can be expressed as C(s)=-BL(s+L) p ), where B is a parameter related to the dynamic characteristics of the system, L is the inductance, s is a variable in the Laplace transform, representing the complex frequency, L p For proportional gain, (s+L) p The expression indicates that the system may have pure delay or first-order lag characteristics, and the negative sign in the expression indicates the negative feedback mechanism in the system.
[0144] Optionally, the motor friction torque compensation amount can be expressed as: Where C(s) is the friction observation transfer function, e n The friction observation transfer function can estimate the friction during motor operation based on the motor angle difference, thereby determining the amount of motor friction torque compensation.
[0145] Indicative, such as Figure 6 As shown, based on the measured motor angle θ and the expected motor angle θ... n Determine the motor angle difference e n Then, the control equipment can further determine the motor friction torque compensation amount by observing the friction transfer function C(s). Thus, the frictional torque of the motor is used for compensation. To compensate for the friction generated during motor operation.
[0146] In the above embodiments, during the process of compensating for friction generated during motor operation, the expected value of the motor angle is determined based on the measured values of the motor control torque and joint torque. Considering the response delay characteristics during the control process, the measured value of the motor angle is corrected using time delay characteristic parameters. Then, the amount of motor friction torque compensation is estimated by combining the friction observation transfer function, thereby improving the accuracy of determining the amount of motor friction torque compensation.
[0147] In some embodiments, after determining the joint friction torque compensation amount and the motor friction torque compensation amount respectively, the control device can determine the motor control torque for the next control round according to the control law corresponding to the control strategy. The process of determining the motor control torque is described below through an embodiment.
[0148] Please refer to Figure 9 This document illustrates a flowchart of determining motor control torque according to an exemplary embodiment of this application. This embodiment uses the method applied to a control device in a robot system as an example, and the method includes the following steps:
[0149] Step 901: Based on the third dynamic characteristics of the joint, and considering the expected value of the joint angle, the expected value of the joint angular velocity, and the compensation amount of the joint friction torque, determine the expected value of the joint torque.
[0150] In one possible implementation, in order to effectively perform closed-loop control of the robot joint module, the control device can use a full-state feedback controller to control the robot joint module.
[0151] Optionally, the control law of the full-state feedback controller can be expressed as:
[0152]
[0153] Where, τ m For the motor output torque, u mid B is an intermediate variable. θ =diag(b θ,i ), b θ,i i B θ Let D be the nominal moment of inertia of the motor. s Let B be the gain matrix for torque feedback, D be the motor moment of inertia, K be the joint damping matrix, and K be the joint stiffness matrix. jts These are joint torque measurements. This is the derivative of the measured joint torque value.
[0154] Optionally, the third dynamic characteristic of the joint can be expressed as: Where M(q) is the inertia matrix between the motor and the joint. Let g(q) be the centrifugal force matrix and g(q) be the gravity matrix. Joint angular acceleration, τ is the joint angular velocity, q is the joint angle, and τ is the joint angle. jts For joint torque, τ f,q This represents the joint friction torque.
[0155] In one possible implementation, in the process of using a full-state feedback controller to control the robot joint module, in order to determine the motor output torque, the control device needs to first determine the expected value of the joint torque. The expected value of the joint torque is related to the control task performed by the joint and the expected angle of the joint. Thus, combined with the third dynamic characteristic of the joint, the expected value of the joint torque can be determined based on the expected value of the joint angle, the expected value of the joint angular velocity, and the compensation amount of the joint friction torque.
[0156] Optionally, the expected value of the joint angle is q. d The expected value of the joint angular velocity is The expected value of joint angular acceleration is The joint friction torque compensation amount is Therefore, based on the third dynamic characteristic of the joint, the expected value of the joint torque can be expressed as:
[0157] Step 902: Determine the control compensation amount based on the motor angular acceleration, motor angle difference, motor angular velocity difference, and expected joint torque value.
[0158] Optionally, the control compensation amount can be expressed as: Among them, K θ and D θ Here, θ represents the stiffness and damping coefficients under the inverse kinematics-based control strategy, and Δθ represents the desired motor angle difference, Δθ = θ d -θ,θ d τ is the desired motor angle, θ is the actual motor angle, and τ is the actual motor angle. a This represents the expected value of the joint torque.
[0159] In one possible implementation, after determining the expected value of the joint torque, the control device can determine the control compensation amount based on the relationship between the control compensation amount and the expected value of the joint torque, and based on the motor angular acceleration, motor angle difference, motor angular velocity difference, and the expected value of the joint torque.
[0160] In the process of controlling the motor, since only the desired joint angle can be obtained through Cartesian tasks and inverse kinematics, but the desired motor angle cannot be determined, in one possible implementation, the control device can determine the motor angle difference and the motor angular velocity difference based on the desired joint angular velocity, the desired joint angle, and the motor angle. That is, it can be assumed that Δθ1 = θ - q d By substituting the desired joint angle for the desired motor angle, the motor angle difference Δθ1 and the motor angular velocity difference are obtained. Then the control device can determine the control compensation amount based on the desired joint angular velocity, desired joint angle, motor angle difference, and motor angular velocity difference.
[0161] Optionally, the control compensation amount can be expressed as Where, τ mid For the middle term, τ af For the middle term,
[0162]
[0163] Step 903: Based on the control law corresponding to the control strategy based on inverse kinematics, and based on the motor angle difference, motor angular velocity difference, and control compensation amount, determine the motor output torque.
[0164] In one possible implementation, after determining the control compensation amount, the control device can determine the motor output torque based on the control law corresponding to the control strategy based on inverse kinematics, the motor angle difference, the motor angular velocity difference, and the control compensation amount.
[0165] Optionally, by substituting the control compensation quantity into the control law expression of the full-state feedback controller, the motor output torque can be obtained.
[0166] Furthermore, the above formula can be simplified to: In the formula, Schematic, in the case of motor control based on motor control torque, the full-state feedback controller of the robot joint module can be represented as follows: Figure 10 As shown.
[0167] Step 904: Determine the motor control torque for the next control cycle based on the motor output torque and the motor friction torque compensation.
[0168] In one possible implementation, considering that the motor output torque is determined based on the control law corresponding to the control strategy and combined with the expected value of the joint torque, the motor output torque can be understood as a frictionless control torque. However, in the actual operation of the motor, due to the internal friction of the motor, the control device also needs to combine the motor friction torque compensation amount to further determine the motor control torque for the next control cycle.
[0169] Optionally, after determining the motor output torque based on the control law, the control device can add the motor friction torque compensation amount to the motor output torque according to the second dynamic characteristics of the motor, thereby obtaining the motor control torque for the next control cycle.
[0170] Optionally, the motor control torque in the next control cycle can be expressed as: Where, τ m For the motor output torque, This is the amount of motor friction torque compensation.
[0171] In the above embodiments, after determining the joint friction torque compensation amount and the motor friction torque compensation amount based on the control parameters of the current control cycle, the motor control torque for the next control cycle is further determined based on the joint friction torque compensation amount and the motor friction torque compensation amount, thereby realizing closed-loop control of the robot joint module and improving the control accuracy of the robot system.
[0172] Please refer to Figure 11 This illustration shows a closed-loop control flow diagram of a robot joint module provided in an exemplary embodiment of this application. During the process of using the control device 1101 to control the motor 1102 to drive the joint 1103 to move, the transmission between the motor 1102 and the joint 1103 is achieved based on a reducer.
[0173] First, the control device 1101 generates the motor output torque τ. m During operation, motor 1102 typically generates a frictional torque τ due to the contact and relative movement between its internal mechanical components. f,θ Thus, the motor output torque τ m After the frictional torque τ of the motor f,θ The disturbance effect is converted into the motor control torque τ. c Furthermore, the control device 1101 utilizes the motor to control the torque τ c The motor 1102 drives the joint 1103 to achieve joint movement, and the motor control torque τ c The joint torque τ is obtained by transmitting the torque to the joint side through the reducer. j The contact surfaces of joint 1103 often generate joint friction torque τ when they move relative to each other. f,q .
[0174] Furthermore, in order to compensate for the motor friction torque and joint friction torque respectively, and improve the control accuracy and the operating performance of the robot joint module, the control device 1101 first determines the expected value q of the joint angle according to the control task. d Based on the measured joint angle value q, the joint angle difference e(t) is calculated. Then, by combining the tuning parameters, joint angular velocity, and joint angle difference, the joint friction torque compensation amount is determined.
[0175] Meanwhile, the robot joint module, based on the motor's rotational inertia and the motor control torque τ of the current control cycle, c With joint torque τ j The torque difference between them determines the expected value of the motor angular acceleration of motor 1102. Thus, the expected value of the motor angle θ is obtained. n And by combining the measured motor angle value θ, the motor angle difference e is obtained. n Then, by observing the transfer function C(s) through friction, the amount of motor friction torque compensation is determined.
[0176] Finally, the control device 1101 compensates for the joint friction torque. Motor friction torque compensation Based on the dynamic characteristic parameters of the robot joint module, the motor control torque τ for the next control cycle is determined. c And continue to control the motor 1102 to drive the joint 1103 to achieve joint movement.
[0177] Optionally, the robot system control method provided in this application embodiment can be applied to various scenarios, such as controlling a robotic arm to perform object handling tasks, controlling a humanoid robot to perform walking and obstacle avoidance tasks, etc.
[0178] For scenarios where a robotic arm is controlled to perform the task of moving objects:
[0179] In one optional example, the control method of the robot system provided in this application embodiment is described in the context of controlling a robotic arm to perform an object handling task. The robotic arm includes a motor and joints, the motor driving the joints to achieve joint movement, and a control device is built into the robotic arm.
[0180] The control device first determines the joint friction torque compensation amount based on the joint position deviation of the robotic arm. The joint position deviation is determined based on the measured and expected joint angle values. The joint friction torque compensation amount is used to compensate for friction generated during joint movement. Simultaneously, the control device determines the expected motor angle value based on the motor control torque and joint torque measurements of the current control cycle. Based on these values, it then determines the motor friction torque compensation amount, which is used to compensate for friction generated during motor operation. Next, based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the robotic arm's dynamic characteristic parameters, the control device determines the motor control torque for the next control cycle. Based on this motor control torque, it controls the motor to drive the joints to perform the object handling task. The dynamic characteristic parameters characterize the robotic arm's dynamic properties.
[0181] In some embodiments, the control device determines the joint position deviation of the joint based on the joint angle measurement value and the expected joint angle value, and determines the joint angular velocity of the joint based on the change in the joint angle measurement value. Then, based on the tuning parameters, the joint angular velocity of the joint and the joint position deviation, it determines the joint friction torque compensation amount.
[0182] In one possible implementation, when the robotic arm employs a control strategy based on inverse kinematics, the joint position deviation is the difference in joint angles. The control device determines the friction compensation direction of the joint based on the joint angular velocity and joint torque, and determines the real-time friction parameters of the joint based on the tuning parameters, friction compensation direction, joint angular velocity, and joint angle difference. These real-time friction parameters characterize the friction generated by the joint at the current moment. Furthermore, based on the real-time friction parameters and the friction compensation direction, the amount of joint friction torque compensation is determined.
[0183] In one possible implementation, when the robotic arm employs a Cartesian task-based control strategy, the joint position deviation is the Cartesian task difference of the joint. The control device determines the Cartesian task difference of the joint based on the Jacobian matrix, measured joint angles, and expected joint angles; and determines the Cartesian task execution speed of the joint based on the joint angular velocity and the Jacobian matrix; determines the friction compensation direction of the joint based on the Cartesian task execution speed; determines the real-time friction parameters of the joint based on the tuning parameters, friction compensation direction, Cartesian task execution speed, and Cartesian task difference, whereby the real-time friction parameters characterize the friction generated by the joint at the current moment; and determines the joint friction torque compensation amount based on the Jacobian matrix, real-time friction parameters, and friction compensation direction.
[0184] In some embodiments, the control device determines the joint torque based on the joint torque measurement value and the stiffness and damping characteristic parameters of the robotic arm, according to the first dynamic characteristics of the joint; determines the expected value of the motor angular acceleration based on the second dynamic characteristics of the motor, the motor moment of inertia, and the torque difference between the motor control torque and the joint torque in the current control cycle; and obtains the expected value of the motor angle by integrating the expected value of the motor angular acceleration.
[0185] In some embodiments, the control device acquires the measured value of the motor angle through a motor position sensor; based on the measured value of the motor angle and the expected value of the motor angle, the motor angle difference is obtained through difference calculation; based on the motor angle difference and the friction observation transfer function of the motor, the motor friction torque compensation amount is determined, and the friction observation transfer function is used to estimate the friction during the operation of the motor.
[0186] In some embodiments, the control device determines the expected value of the joint torque based on the joint angle expectation value, the joint angular velocity expectation value, and the joint friction torque compensation amount, according to the third dynamic characteristics of the joint; determines the control compensation amount based on the motor angular acceleration, the motor angle difference, the motor angular velocity difference, and the expected value of the joint torque; determines the motor output torque based on the motor angle difference, the motor angular velocity difference, and the control compensation amount, according to the control law corresponding to the control strategy based on inverse kinematics; and determines the motor control torque for the next control cycle based on the motor output torque and the motor friction torque compensation amount.
[0187] For scenarios involving controlling humanoid robots to perform walking and obstacle avoidance tasks:
[0188] In one optional example, the control method of the robot system provided in the embodiments of this application is described in the context of controlling a humanoid robot to perform walking and obstacle avoidance tasks. The humanoid robot includes motors and joints, the motors driving the joints to achieve joint movement, and the humanoid robot has a built-in control device.
[0189] The control device first determines the joint friction torque compensation amount based on the joint position deviation of the humanoid robot. The joint position deviation is determined based on the measured and expected values of the joint angles. The joint friction torque compensation amount is used to compensate for friction generated during joint movement. Simultaneously, the control device determines the expected value of the motor angle based on the motor control torque and joint torque measurements of the current control cycle. Based on these values, it then determines the motor friction torque compensation amount, which is used to compensate for friction generated during motor operation. Next, based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the humanoid robot's dynamic characteristic parameters, the control device determines the motor control torque for the next control cycle. Based on this motor control torque, it controls the motor to drive the joints to perform the task of transporting objects. The dynamic characteristic parameters characterize the humanoid robot's dynamic properties.
[0190] In some embodiments, the control device determines the joint position deviation of the joint based on the joint angle measurement value and the expected joint angle value, and determines the joint angular velocity of the joint based on the change in the joint angle measurement value. Then, based on the tuning parameters, the joint angular velocity of the joint and the joint position deviation, it determines the joint friction torque compensation amount.
[0191] In one possible implementation, when the humanoid robot employs a control strategy based on inverse kinematics, the joint position deviation is the difference in joint angles. The control device determines the friction compensation direction of the joint based on the joint angular velocity and joint torque, and determines the real-time friction parameters of the joint based on the tuning parameters, friction compensation direction, joint angular velocity, and joint angle difference. These real-time friction parameters characterize the friction generated by the joint at the current moment. Furthermore, based on the real-time friction parameters and the friction compensation direction, the amount of joint friction torque compensation is determined.
[0192] In one possible implementation, when the humanoid robot employs a Cartesian task-based control strategy, the joint position deviation is the Cartesian task difference of the joint. The control device determines the Cartesian task difference of the joint based on the Jacobian matrix, measured joint angles, and expected joint angles; and determines the Cartesian task execution speed of the joint based on the joint angular velocity and the Jacobian matrix; determines the friction compensation direction of the joint based on the Cartesian task execution speed; determines the real-time friction parameters of the joint based on the tuning parameters, friction compensation direction, Cartesian task execution speed, and Cartesian task difference, whereby the real-time friction parameters characterize the friction generated by the joint at the current moment; and determines the joint friction torque compensation amount based on the Jacobian matrix, real-time friction parameters, and friction compensation direction.
[0193] In some embodiments, the control device determines the joint torque based on the first dynamic characteristics of the joint, the measured joint torque value, and the stiffness and damping characteristic parameters of the humanoid robot; it determines the expected value of the motor angular acceleration based on the second dynamic characteristics of the motor, the motor moment of inertia, and the torque difference between the motor control torque and the joint torque in the current control cycle; and it integrates the expected value of the motor angular acceleration to obtain the expected value of the motor angle.
[0194] In some embodiments, the control device acquires the measured value of the motor angle through a motor position sensor; based on the measured value of the motor angle and the expected value of the motor angle, the motor angle difference is obtained through difference calculation; based on the motor angle difference and the friction observation transfer function of the motor, the motor friction torque compensation amount is determined, and the friction observation transfer function is used to estimate the friction during the operation of the motor.
[0195] In some embodiments, the control device determines the expected value of the joint torque based on the joint angle expectation value, the joint angular velocity expectation value, and the joint friction torque compensation amount, according to the third dynamic characteristics of the joint; determines the control compensation amount based on the motor angular acceleration, the motor angle difference, the motor angular velocity difference, and the expected value of the joint torque; determines the motor output torque based on the motor angle difference, the motor angular velocity difference, and the control compensation amount, according to the control law corresponding to the control strategy based on inverse kinematics; and determines the motor control torque for the next control cycle based on the motor output torque and the motor friction torque compensation amount.
[0196] Please refer to Figure 12 This illustration shows a structural block diagram of a control device for a robot system provided in an exemplary embodiment of this application. The device includes:
[0197] The first friction compensation module 1201 is used to determine the joint friction torque compensation amount of the joint based on the joint position deviation of the joint. The joint position deviation is determined based on the joint angle measurement value and the expected value of the joint angle. The joint friction torque compensation amount is used to compensate for the friction generated during the joint movement.
[0198] The motor angle determination module 1202 is used to determine the expected value of the motor angle based on the motor control torque of the current control cycle and the measured value of the joint torque of the joint.
[0199] The second friction compensation module 1203 is used to determine the motor friction torque compensation amount of the motor based on the measured value of the motor angle and the expected value of the motor angle. The motor friction torque compensation amount is used to compensate for the friction generated during the operation of the motor.
[0200] The control module 1204 is used to determine the motor control torque for the next control cycle based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the dynamic characteristic parameters of the robot joint module, and to control the motor to drive the joint based on the motor control torque. The dynamic characteristic parameters characterize the dynamic characteristics of the robot joint module.
[0201] Optionally, the first friction compensation module 1201 includes:
[0202] A deviation determination unit is used to determine the joint position deviation of the joint based on the measured joint angle value and the expected joint angle value.
[0203] An angular velocity determination unit is used to determine the joint angular velocity of the joint based on the change in the measured value of the joint angle.
[0204] The first compensation amount determination unit is used to determine the joint friction torque compensation amount based on the tuning parameters, the joint angular velocity, and the joint position deviation.
[0205] Optionally, when the robot joint module adopts a control strategy based on inverse kinematics, the joint position deviation is the joint angle difference of the joint.
[0206] The first compensation amount determination unit is used for:
[0207] Based on the joint angular velocity and joint torque, the friction compensation direction of the joint is determined;
[0208] Based on the tuning parameters, the friction compensation direction, the joint angular velocity, and the joint angle difference, the real-time friction parameters of the joint are determined, and the real-time friction parameters characterize the friction generated by the joint at the current moment.
[0209] Based on the real-time friction parameters and the friction compensation direction, the amount of joint friction torque compensation is determined.
[0210] Optionally, the first compensation amount determining unit is further configured to:
[0211] Based on the joint angular velocity and the expected value of the joint angular velocity, the joint angular velocity difference is determined;
[0212] Based on the tuning parameters, the joint angle difference, the joint angular velocity difference, and the friction compensation direction, the parameter change rate of the real-time friction parameters is determined;
[0213] The real-time friction parameters of the joint are obtained by integrating the rate of change of the parameters.
[0214] Optionally, when the robot joint module adopts a Cartesian task-based control strategy, the joint position deviation is the Cartesian task difference of the joint.
[0215] The deviation determination unit is used for:
[0216] Based on the Jacobian matrix, the measured joint angles, and the expected joint angles, the Cartesian task difference of the joint is determined.
[0217] The first compensation amount determination unit is used for:
[0218] The joint friction torque compensation amount is determined based on the tuning parameters, the Cartesian task difference, the joint angular velocity, and the Jacobian matrix.
[0219] Optionally, the first compensation amount determination unit is used for:
[0220] Based on the joint angular velocity and the Jacobian matrix, the Cartesian task execution speed of the joint is determined;
[0221] Based on the Cartesian task execution speed, the friction compensation direction of the joint is determined;
[0222] Based on the tuning parameters, the friction compensation direction, the Cartesian task execution speed, and the Cartesian task difference, the real-time friction parameters of the joint are determined, and the real-time friction parameters characterize the friction generated by the joint at the current moment.
[0223] The amount of joint friction torque compensation is determined based on the Jacobian matrix, the real-time friction parameters, and the friction compensation direction.
[0224] Optionally, the first compensation amount determining unit is further configured to:
[0225] Based on the Cartesian task execution speed and the expected value of the Cartesian task execution speed, the task execution speed difference of the joint is determined;
[0226] Based on the tuning parameters, the Cartesian task difference, the task execution speed difference, and the friction compensation direction, the parameter change rate of the real-time friction parameters is determined.
[0227] The real-time friction parameters of the joint are obtained by integrating the rate of change of the parameters.
[0228] Optionally, the motor angle determination module 1202 is used for:
[0229] Based on the first dynamic characteristics of the joint, and using the measured joint torque value and the stiffness and damping characteristic parameters of the robot joint module, the joint torque of the joint is determined.
[0230] Based on the second dynamic characteristics of the motor, the motor moment of inertia, and the torque difference between the motor control torque and the joint torque in the current control cycle, the expected value of the motor angular acceleration is determined.
[0231] The expected value of the motor angle is obtained by integrating the expected value of the motor angular acceleration.
[0232] Optionally, the second friction compensation module 1203 includes:
[0233] An angle acquisition unit is used to acquire the measured value of the motor angle through a motor position sensor;
[0234] The difference determination unit is used to obtain the motor angle difference of the motor by difference calculation based on the measured value of the motor angle and the expected value of the motor angle;
[0235] The second compensation amount determination unit is used to determine the motor friction torque compensation amount of the motor based on the motor angle difference and the friction observation transfer function of the motor, wherein the friction observation transfer function is used to estimate the friction during the operation of the motor.
[0236] Optionally, the difference determination unit is used for:
[0237] Determine the time delay characteristic parameters of the robot joint module, wherein the time delay characteristic parameters characterize the response delay characteristics of the robot joint module;
[0238] The motor angle measurement value is corrected using the time delay characteristic parameter to obtain the corrected motor angle measurement value;
[0239] Based on the corrected measured value of the motor angle and the expected value of the motor angle, the motor angle difference is obtained by difference calculation.
[0240] Optionally, the control module 1204 is used for:
[0241] Based on the third dynamic characteristics of the joint, the expected value of the joint torque is determined according to the expected value of the joint angle, the expected value of the joint angular velocity, and the compensation amount of the joint friction torque.
[0242] The control compensation amount is determined based on the motor angular acceleration, motor angle difference, motor angular velocity difference, and the expected value of the joint torque;
[0243] Based on the control law corresponding to the control strategy based on inverse kinematics, and based on the motor angle difference, the motor angular velocity difference, and the control compensation amount, the motor output torque is determined.
[0244] Based on the motor output torque and the motor friction torque compensation amount, the motor control torque for the next control cycle is determined.
[0245] In summary, in the embodiments of this application, during the control of the robot joint module, considering that friction is generated during joint movement and motor operation, the joint friction torque compensation amount and the motor friction torque compensation amount are determined based on the joint position deviation and the motor position deviation, respectively. This takes into account both the position control task of the robot joint module and the frictional dynamics between the joint and the motor. Furthermore, directly determining the friction compensation based on the position deviation avoids the increased error caused by differential calculations compared to expressing the friction force as a function related to relative velocity, thus improving the accuracy of determining the friction torque compensation amount. In addition, by combining the motor control torque of the current control cycle, the motor control torque of the next control cycle is determined, realizing closed-loop control of the robot joint module and improving the control accuracy of the robot system.
[0246] It should be noted that the apparatus provided in the above embodiments is only an example of the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the apparatus 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 belong to the same concept, and their implementation process can be found in the method embodiments, which will not be repeated here.
[0247] Please refer to Figure 13 This illustration shows a schematic diagram of the structure of a control device provided in an exemplary embodiment of this application. Specifically, the control device 1300 includes a Central Processing Unit (CPU) 1301, a system memory 1304 including a random access memory 1302 and a read-only memory 1303, and a system bus 1305 connecting the system memory 1304 and the CPU 1301. The control device 1300 may also include a basic input / output system (I / O system) 1306 to facilitate the transmission of information between various devices within the computer, and a mass storage device 1307 for storing the operating system 1313, application programs 1314, and other program modules 1315.
[0248] In some embodiments, the basic input / output system 1306 includes a display 1308 for displaying information and an input device 1309 for user input, such as a mouse or keyboard. Both the display 1308 and the input device 1309 are connected to the central processing unit 1301 via an input / output controller 1310 connected to the system bus 1305. The basic input / output system 1306 may also include the input / output controller 1310 for receiving and processing input from multiple other devices such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller 1310 also provides output to a display screen, printer, or other types of output devices.
[0249] The mass storage device 1307 is connected to the central processing unit 1301 via a mass storage controller (not shown) connected to the system bus 1305. The mass storage device 1307 and its associated computer-readable media provide non-volatile storage for the control device 1300. That is, the mass storage device 1307 may include computer-readable media (not shown) such as a hard disk or drive.
[0250] Without loss of generality, the computer-readable medium may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media include random access memory (RAM), read-only memory (ROM), flash memory or other solid-state storage technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic tape cassettes, magnetic tape, disk storage, or other magnetic storage devices. Of course, those skilled in the art will recognize that the computer storage media are not limited to the above-mentioned types. The system memory 1304 and mass storage device 1307 described above can be collectively referred to as memory.
[0251] The memory stores one or more programs, which are configured to be executed by one or more central processing units 1301. The one or more programs contain instructions for implementing the above methods, and the central processing unit 1301 executes the one or more programs to implement the control method of the robot system provided in the above method embodiments.
[0252] According to various embodiments of this application, the control device 1300 can also be connected to a remote computer on a network, such as the Internet. That is, the control device 1300 can be connected to the network 1311 via the network interface unit 1312 connected to the system bus 1305, or the network interface unit 1312 can be used to connect to other types of networks or remote computer systems (not shown).
[0253] This application also provides a computer-readable storage medium storing at least one instruction, which is loaded and executed by a processor to implement the control method of the robot system described in the above embodiments.
[0254] Optionally, the computer-readable storage medium may include ROM, RAM, solid-state drives (SSDs), or optical discs, etc. The RAM may include resistive random access memory (ReRAM) and dynamic random access memory (DRAM).
[0255] This application provides a computer program product including at least one instruction stored in a computer-readable storage medium. A processor of a computer device reads the at least one instruction from the computer-readable storage medium and executes the at least one instruction, causing the computer device to perform the control method for the robot system described in the above embodiments.
[0256] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0257] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A control method for a robot system, characterized in that, The robot system includes at least one robot joint module, which includes a motor and a joint. The motor is used to drive the joint to achieve joint movement. The method includes: Based on the joint position deviation of the joint, the joint friction torque compensation amount of the joint is determined. The joint position deviation is determined based on the joint angle measurement value and the expected value of the joint angle. The joint friction torque compensation amount is used to compensate for the friction generated during joint movement. Based on the motor control torque of the current control cycle and the measured joint torque value of the joint, the expected value of the motor angle is determined; Based on the measured value of the motor angle and the expected value of the motor angle, the motor friction torque compensation amount is determined. The motor friction torque compensation amount is used to compensate for the friction generated during the operation of the motor. Based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the dynamic characteristic parameters of the robot joint module, the motor control torque for the next control round is determined, and the motor drives the joint based on the motor control torque. The dynamic characteristic parameters characterize the dynamic characteristics of the robot joint module.
2. The method according to claim 1, characterized in that, The determination of the joint friction torque compensation amount based on the joint position deviation includes: Based on the measured joint angle value and the expected joint angle value, the joint position deviation of the joint is determined; Based on the change in the measured joint angle, the joint angular velocity is determined. The amount of joint friction torque compensation is determined based on the tuning parameters, the joint angular velocity, and the joint position deviation.
3. The method according to claim 2, characterized in that, When the robot joint module adopts a control strategy based on inverse kinematics, the joint position deviation is the difference in the joint angle. The determination of the joint friction torque compensation amount based on the tuning parameters, the joint angular velocity, and the joint position deviation includes: Based on the joint angular velocity and joint torque, the friction compensation direction of the joint is determined; Based on the tuning parameters, the friction compensation direction, the joint angular velocity, and the joint angle difference, the real-time friction parameters of the joint are determined, and the real-time friction parameters characterize the friction generated by the joint at the current moment. Based on the real-time friction parameters and the friction compensation direction, the amount of joint friction torque compensation is determined.
4. The method according to claim 3, characterized in that, The step of determining the real-time friction parameters of the joint based on the tuning parameters, the friction compensation direction, the joint angular velocity, and the joint angle difference includes: Based on the joint angular velocity and the expected value of the joint angular velocity, the joint angular velocity difference is determined; Based on the tuning parameters, the joint angle difference, the joint angular velocity difference, and the friction compensation direction, the parameter change rate of the real-time friction parameters is determined; The real-time friction parameters of the joint are obtained by integrating the rate of change of the parameters.
5. The method according to claim 2, characterized in that, When the robot joint module adopts a Cartesian task-based control strategy, the joint position deviation is the Cartesian task difference of the joint. Determining the joint position deviation based on the measured joint angle value and the expected joint angle value includes: Based on the Jacobian matrix, the measured joint angles, and the expected joint angles, the Cartesian task difference of the joint is determined. The determination of the joint friction torque compensation amount based on the tuning parameters, the joint angular velocity, and the joint position deviation includes: The joint friction torque compensation amount is determined based on the tuning parameters, the Cartesian task difference, the joint angular velocity, and the Jacobian matrix.
6. The method according to claim 5, characterized in that, The step of determining the joint friction torque compensation amount based on the tuning parameters, the Cartesian task difference, the joint angular velocity, and the Jacobian matrix includes: Based on the joint angular velocity and the Jacobian matrix, the Cartesian task execution speed of the joint is determined; Based on the Cartesian task execution speed, the friction compensation direction of the joint is determined; Based on the tuning parameters, the friction compensation direction, the Cartesian task execution speed, and the Cartesian task difference, the real-time friction parameters of the joint are determined, and the real-time friction parameters characterize the friction generated by the joint at the current moment. The amount of joint friction torque compensation is determined based on the Jacobian matrix, the real-time friction parameters, and the friction compensation direction.
7. The method according to claim 6, characterized in that, The process of determining the real-time friction parameters of the joint based on the tuning parameters, the friction compensation direction, the Cartesian task execution speed, and the Cartesian task difference includes: Based on the Cartesian task execution speed and the expected value of the Cartesian task execution speed, the task execution speed difference of the joint is determined; Based on the tuning parameters, the Cartesian task difference, the task execution speed difference, and the friction compensation direction, the parameter change rate of the real-time friction parameters is determined. The real-time friction parameters of the joint are obtained by integrating the rate of change of the parameters.
8. The method according to claim 1, characterized in that, The determination of the desired motor angle value based on the motor control torque of the current control cycle and the measured joint torque value of the joint includes: Based on the first dynamic characteristics of the joint, and using the measured joint torque value and the stiffness and damping characteristic parameters of the robot joint module, the joint torque of the joint is determined. Based on the second dynamic characteristics of the motor, the motor moment of inertia, and the torque difference between the motor control torque and the joint torque in the current control cycle, the expected value of the motor angular acceleration is determined. The expected value of the motor angle is obtained by integrating the expected value of the motor angular acceleration.
9. The method according to claim 1, characterized in that, The determination of the motor friction torque compensation amount based on the measured motor angle value and the expected motor angle value includes: The motor angle measurement value is obtained by using a motor position sensor; Based on the measured motor angle value and the expected motor angle value, the motor angle difference is obtained through difference calculation; Based on the motor angle difference and the motor's friction observation transfer function, the motor friction torque compensation amount is determined. The friction observation transfer function is used to estimate the friction during the motor's operation.
10. The method according to claim 9, characterized in that, The step of obtaining the motor angle difference value by difference calculation based on the measured motor angle value and the expected motor angle value includes: Determine the time delay characteristic parameters of the robot joint module, wherein the time delay characteristic parameters characterize the response delay characteristics of the robot joint module; The motor angle measurement value is corrected using the time delay characteristic parameter to obtain the corrected motor angle measurement value; Based on the corrected measured value of the motor angle and the expected value of the motor angle, the motor angle difference is obtained by difference calculation.
11. The method according to claim 1, characterized in that, The step of determining the motor control torque for the next control cycle based on the joint friction torque compensation, the motor friction torque compensation, and the dynamic characteristic parameters of the robot joint module includes: Based on the third dynamic characteristics of the joint, the expected value of the joint torque is determined according to the expected value of the joint angle, the expected value of the joint angular velocity, and the compensation amount of the joint friction torque. The control compensation amount is determined based on the motor angular acceleration, motor angle difference, motor angular velocity difference, and the expected value of the joint torque; Based on the control law corresponding to the control strategy based on inverse kinematics, and based on the motor angle difference, the motor angular velocity difference, and the control compensation amount, the motor output torque is determined. Based on the motor output torque and the motor friction torque compensation amount, the motor control torque for the next control cycle is determined.
12. A control device for a robot system, characterized in that, The robot system includes at least one robot joint module, which includes a motor and a joint. The motor is used to drive the joint to achieve joint movement. The device includes: The first friction compensation module is used to determine the joint friction torque compensation amount of the joint based on the joint position deviation of the joint. The joint position deviation is determined based on the joint angle measurement value and the expected value of the joint angle. The joint friction torque compensation amount is used to compensate for the friction generated during the joint movement. The motor angle determination module is used to determine the expected value of the motor angle based on the motor control torque of the current control cycle and the measured value of the joint torque of the joint. The second friction compensation module is used to determine the motor friction torque compensation amount based on the measured value of the motor angle and the expected value of the motor angle. The motor friction torque compensation amount is used to compensate for the friction generated during the operation of the motor. The control module is used to determine the motor control torque for the next control cycle based on the joint friction torque compensation amount, the motor friction torque compensation amount, and the dynamic characteristic parameters of the robot joint module, and to control the motor to drive the joint based on the motor control torque. The dynamic characteristic parameters characterize the dynamic characteristics of the robot joint module.
13. A robot system, characterized in that, The robot system includes a control device and a robot joint module. The control device includes a processor and a memory. The memory stores at least one computer instruction, which is executed by the processor to implement the control method of the robot system as described in any one of claims 1 to 11.
14. A computer-readable storage medium, characterized in that, The readable storage medium stores at least one computer instruction, which is loaded and executed by a processor to implement the control method of the robot system as described in any one of claims 1 to 11.
15. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium; the processor of the robot system reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the robot system to perform the control method of the robot system as described in any one of claims 1 to 11.