Control method and apparatus for robot system, and system and storage medium

By determining the sensor configuration status and parameter measurement values ​​of the robot joint module, a unified control framework is used to achieve closed-loop control, which solves the problems of difficulty and high cost of robot system control, improves control accuracy and reduces costs.

WO2025176088A1PCT designated stage Publication Date: 2025-08-28TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Application Number
PCT/CN2025/077567
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-22
Filing Date
2025-02-17
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

In the prior art, diversified transmission and ontology perception solutions of robot systems lead to increased control difficulties, and the control strategies for specific robot systems are poorly generalized, resulting in high control costs.

Method used

By determining the sensor configuration status of the robot joint module, determining the motor and joint parameters based on the parameter measurement value and corresponding parameters, the motor and joint parameters are determined, and a unified control framework is used to achieve closed-loop control, reducing the control cost of the robot joint module with different sensor configuration status.

Benefits of technology

Closed-loop control of robot joint modules with different sensor configuration statuses under a unified control framework is realized, which improves control accuracy and reduces control costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025077567_28082025_PF_FP_ABST
    Figure CN2025077567_28082025_PF_FP_ABST
Patent Text Reader

Abstract

A control method and apparatus for a robot system (140, 1100), and the robot system (140, 1100) and a storage medium. The robot system (140, 1100) comprises at least one robot joint module (1103), wherein each robot joint module (1103) comprises an electric motor and a joint. The control method comprises: determining a sensor configuration state of a robot joint module (1103) (201); on the basis of a parameter measurement value collected in the sensor configuration state and a parameter determination policy corresponding to the sensor configuration state, determining an electric-motor parameter and a joint parameter, which are used for closed-loop control over the robot joint module (1103) (202); and on the basis of the electric-motor parameter, the joint parameter and a control policy, determining an electric-motor control torque of an electric motor, and controlling the electric motor, so as to realize closed-loop control over the robot joint module (1103) (203).
Need to check novelty before this filing date? Find Prior Art

Description

Control method, device, system and storage medium of robot system

[0001] This application claims priority to Chinese patent application No. 202410200537.6, filed on February 22, 2024, entitled “Control method, device, system and storage medium for robot system”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] The embodiments of the present application relate to the field of robot control technology, and in particular to a control method, device, system and storage medium for a robot system. Background Art

[0003] Some complex robotic systems usually include many transmission and proprioception schemes, and the robot's transmission system will have a certain degree of flexibility. The robot's proprioception may vary depending on the configuration of the joint sensors and motor sensors in the robotic system.

[0004] In related technologies, in order to ensure control accuracy, parameter identification and control are usually only performed for specific robot systems, and the parameter model has poor generalization and is generally only used for the development of a single robot system. Therefore, the corresponding robot control strategy can only be formulated based on the sensor configuration scheme corresponding to the single robot system, resulting in high control costs. Summary of the Invention

[0005] The present invention provides a control method, device, system, and storage medium for a robot system. The technical solution is as follows:

[0006] In one aspect, an embodiment of the present application provides a control method for a robot system, the method being performed by a robot system, the robot system comprising at least one robot joint module, each of the at least one robot joint module comprising a motor and a joint, the motor being configured to drive the joint to achieve joint motion;

[0007] The method comprises:

[0008] Determining a sensor configuration state of a robot joint module, wherein the sensor configuration state includes a motor sensor configuration state of a motor in the robot joint module and a joint sensor configuration state of a joint in the robot joint module;

[0009] Determining motor parameters and joint parameters for closed-loop control of the robot joint module based on parameter measurement values ​​collected in the sensor configuration state and a parameter determination strategy corresponding to the sensor configuration state;

[0010] Based on the motor parameters, the joint parameters and the control strategy, the motor control torque of the motor is determined, and the motor is controlled to achieve closed-loop control of the robot joint module.

[0011] On the other hand, an embodiment of the present application provides a control device for a robot system, the robot system comprising at least one robot joint module, each of the at least one robot joint module comprising a motor and a joint, the motor being configured to drive the joint to achieve joint motion;

[0012] The device comprises:

[0013] A state determination module is used to determine the sensor configuration state of the robot joint module, wherein the sensor configuration state includes the motor sensor configuration state of the motor in the robot joint module and the joint sensor configuration state of the joint in the robot joint module;

[0014] a parameter determination module for determining motor parameters and joint parameters for closed-loop control of the robot joint module based on parameter measurement values ​​collected in the sensor configuration state and a parameter determination strategy corresponding to the sensor configuration state;

[0015] A control module is used to determine the motor control torque of the motor based on the motor parameters, the joint parameters and the control strategy, and control the motor to achieve closed-loop control of the robot joint module.

[0016] On the other hand, an embodiment of the present application provides a robot system, which includes a processor and a memory; the memory stores at least one computer instruction, and the at least one computer instruction is used to be executed by the processor to implement the control method of the robot system as described in the above aspects.

[0017] On the other hand, an embodiment of the present application provides a computer-readable storage medium, in which at least one computer instruction is stored. The at least one computer instruction is loaded and executed by a processor to implement the control method of the robot system as described in the above aspects.

[0018] On the other hand, an embodiment of the present application provides a computer program product, which includes computer instructions, and the computer instructions are stored in a computer-readable storage medium; the processor of the robot system reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the robot system executes the control method of the robot system as described in the above aspects.

[0019] In the embodiment of the present application, in order to be able to perform closed-loop control on a robot joint module with different sensor configuration states under a unified control framework, it is necessary to first determine the sensor configuration state of the robot joint module, thereby determining the motor parameters and joint parameters required for closed-loop control of the robot joint module based on the parameter measurement values ​​collected under the sensor configuration state and the parameter determination strategy corresponding to the current sensor configuration state, and then obtaining the motor control torque corresponding to the control strategy based on the motor parameters, joint parameters and control strategy, and controlling the motor with the motor control torque, thereby achieving closed-loop control of the robot joint module. Using the solution provided by the embodiment of the present application, corresponding parameter determination strategies are set for different sensor configuration states, thereby obtaining the full amount of motor parameters and joint parameters required for closed-loop control, and then performing closed-loop control on the robot joint modules with different sensor configuration states with a unified control framework, without the need to adopt a specific control strategy for the robot joint modules with different sensor configuration states, thereby achieving while improving the control accuracy of the robot joint module and reducing the control cost of the robot system. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] FIG1 is a schematic diagram showing an implementation environment provided by an exemplary embodiment of the present application;

[0021] FIG2 is a flowchart showing a control method of a robot system provided by an exemplary embodiment of the present application;

[0022] FIG3 shows a flow chart of a control method for a robot system provided by another exemplary embodiment of the present application;

[0023] FIG4 shows a schematic diagram of parameter division on the motor side and the joint side in a robot joint module provided by an exemplary embodiment of the present application;

[0024] FIG5 shows a schematic diagram of a full-state feedback controller for controlling a motor based on a first motor control torque according to an exemplary embodiment of the present application;

[0025] FIG6 shows a schematic diagram of a full-state feedback controller for controlling a motor based on a second motor control torque according to an exemplary embodiment of the present application;

[0026] FIG7 shows a flow chart of performing parameter calibration on a robot joint module according to an exemplary embodiment of the present application;

[0027] FIG8 shows a flowchart of performing parameter calibration on a robot joint module provided by another exemplary embodiment of the present application;

[0028] FIG9 shows a control algorithm implementation framework of a robot system provided by an exemplary embodiment of the present application;

[0029] FIG10 shows a structural block diagram of a control device of a robot system provided by an exemplary embodiment of the present application;

[0030] FIG11 shows a schematic structural diagram of a robot system provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION

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

[0032] In order to apply robotic systems to a variety of different fields and perform different tasks, the transmission and perception schemes contained in robotic systems have gradually diversified, resulting in an increase in the difficulty of controlling robotic systems. In related technologies, in order to ensure control accuracy, corresponding control strategies are usually formulated only for specific robot joint modules. That is, different robot joint modules require different control strategies due to different transmission and perception schemes, which increases the control cost of the robot system. For example, for a single robot, a harmonic transmission scheme and a single sensor configuration method are generally adopted; for a humanoid robot, its lower limbs need to bear the entire weight of the upper limbs, that is, the upper and lower limbs need to adopt different transmission schemes and sensor configuration methods.

[0033] In the embodiment of the present application, a corresponding parameter determination strategy is provided according to the sensor configuration state of the robot joint module, so that the parameter measurement values ​​collected under the sensor configuration state can be used to determine the full amount of motor parameters and joint parameters used to perform closed-loop control of the robot joint module, and then based on a unified closed-loop control framework, the motor control torque of the motor is determined according to the control strategy, and the motor is controlled, thereby realizing closed-loop control of the robot joint module, and reducing the control cost of the robot joint module while ensuring the control accuracy of the robot joint module.

[0034] Please refer to FIG1 , which shows a schematic diagram of an implementation environment provided by an embodiment of the present application, wherein the implementation environment includes a computer device 120 and a robot system 140 .

[0035] Computer device 120 is a device installed with an application program that has a robot system control function. The robot system control function can be a native application function within computer device 120 or a third-party application function. Computer device 120 can be a smartphone, tablet computer, laptop computer, desktop computer, smart TV, wearable device, or vehicle-mounted terminal. FIG1 illustrates computer device 120 as a desktop computer, but this is not intended to be limiting.

[0036] The robot system 140 includes at least one robot joint module, wherein each robot joint module includes a motor and a joint, and the motor is used to drive the joint to achieve joint motion. 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, a wheeled robot, etc., which is not limited in this embodiment of the present application. Optionally, the robot system 140 can be controlled by an internal controller or by a connected computer device, which is not limited in this embodiment of the present application.

[0037] In one possible implementation, as shown in FIG1 , the robot system 140 is controlled by a computer device 120 connected thereto. The computer device 120 determines the sensor configuration state of each robot joint module in the robot system 140 based on the received sensor data, and determines the motor parameters and joint parameters for performing closed-loop control on each robot joint module based on the parameter determination strategy and parameter measurement values ​​corresponding to the current sensor configuration state. The computer device 120 then determines the motor control torque corresponding to each robot joint module based on the motor parameters, joint parameters, and control strategy, and returns the motor control torque to the robot system 140, which then controls the operation of each robot joint module.

[0038] In another possible embodiment, the robot system 140 is controlled by an internal controller. The robot system 140 determines the sensor configuration state of each robot joint module based on the sensor data corresponding to each robot joint module. Based on the parameter determination strategy and parameter measurement values ​​corresponding to the current sensor configuration state, the robot system 140 determines the motor parameters and joint parameters used to perform closed-loop control on each robot joint module. Furthermore, based on the motor parameters, joint parameters, and control strategy, the robot system 140 determines the motor control torque corresponding to each robot joint module, thereby performing closed-loop control on each robot joint module based on the corresponding motor control torque.

[0039] For ease of description, the following embodiments are described by taking the control method of the robot system executed by the robot system as an example.

[0040] Please refer to FIG2 , which shows a flow chart of a control method for a robot system provided by an exemplary embodiment of the present application. This embodiment uses the method applied to a robot system as an example for explanation. The method includes the following steps:

[0041] Step 201 : Determine the sensor configuration state of the robot joint module, where the sensor configuration state includes the motor sensor configuration state of the motor in the robot joint module and the joint sensor configuration state of the joint in the robot joint module.

[0042] Optionally, the robot system can be divided into a single robot system (such as a robotic arm) and a complex robot system (such as a humanoid robot), wherein the single robot system includes a single robot joint module and the complex robot system includes multiple robot joint modules.

[0043] Optionally, the robot joint module is typically a flexible joint. This means that when impacted, the joint module will deform flexibly to reduce the impact force, providing a certain cushioning effect. The robot joint module consists of a motor and joints, connected by springs and dampers. Controlling the motor to drive the joints achieves joint motion, thereby executing the corresponding robot task based on the joint motion.

[0044] Optionally, different transmission schemes can be used in the robot joint module to realize the motor driving the joint, such as gear transmission, tendon transmission, harmonic reducer, ball screw, etc. In addition, although in theory both the motor and the joint have the ability to perceive the state of the body, that is, the motor and the joint can measure and collect the motor parameters and joint parameters by directly configuring sensors, in actual design, the sensor configuration is often reduced to meet the requirements of the robot joint module structure layout and design cost. For example, the robot joint module is configured with motor sensors but not joint sensors, or with some motor sensors or some joint sensors.

[0045] In one possible implementation, in order to achieve control of the robot system, that is, control of each robot joint module in the robot system, the robot system first needs to determine the sensor configuration status of the robot joint module, which includes both the motor sensor configuration status of the motor and the joint sensor configuration status of the joint.

[0046] The motor sensor configuration state refers to the state of the motor sensors configured on the motor. The motor sensors include a motor torque sensor and a motor position sensor. In the embodiment of the present application, the motor sensor configuration state includes two types: configuring both the motor torque sensor and the motor position sensor, and configuring only the motor torque sensor without the motor position sensor.

[0047] The joint sensor configuration state refers to the state of the joint sensors configured on the joints. The joint sensors include joint torque sensors and joint position sensors. In the embodiment of the present application, there are four joint sensor configuration states: configured with both joint torque sensors and joint position sensors, configured with only joint torque sensors but not joint position sensors, configured with only joint position sensors but not joint torque sensors, and configured with neither joint torque sensors nor joint position sensors.

[0048] Step 202 : Based on the parameter measurement values ​​collected in the sensor configuration state and the parameter determination strategy corresponding to the sensor configuration state, determine the motor parameters and joint parameters for closed-loop control of the robot joint module.

[0049] Unlike related art, the robot joint module is controlled directly based on the parameter measurement values ​​collected by the robot joint module in the current sensor configuration state. As a result, since the collected parameter measurement values ​​are not full parameter measurement values, the problem of closed-loop control of the motor layer and open-loop control of the joint layer occurs, resulting in poor control accuracy. In the embodiment of the present application, in order to achieve overall closed-loop control of the robot joint module, after obtaining the parameter measurement values ​​collected in the sensor configuration state, the corresponding parameter determination strategy is also used to determine the full motor parameters and joint parameters used for closed-loop control of the robot joint module.

[0050] Optionally, the full motor parameters include motor angle and motor torque. The motor angle refers to the position of the motor rotor relative to the motor stator during operation, typically expressed in radians or degrees. The motor angle can be directly measured using a motor position sensor attached to the motor. The motor torque refers to the rotational torque generated by the motor during operation, typically expressed in Newton-meters. The motor torque can be directly measured using a motor torque sensor attached to the motor.

[0051] Optionally, full joint parameters refer to joint parameters including joint angles and joint torques. The joint angle refers to the rotation angle of the joint relative to the reference coordinate system, usually expressed in radians or degrees. The joint angle can be directly measured using a joint position sensor configured on the joint. The joint torque refers to the torque acting on the joint, usually expressed in Newton meters. The joint torque can be directly measured using a joint torque sensor configured on the joint.

[0052] In a possible implementation, when both the motors and joints are fully equipped with sensors, the robotic system can directly determine the collected parameter measurements as motor parameters and joint parameters for closed-loop control.

[0053] In another possible implementation, when the motor or joint is not fully configured with sensors, the robot system needs to determine the strategy based on the parameters corresponding to the current sensor configuration state and the collected parameter measurement values ​​to determine the motor parameters or joint parameters that have not been collected, thereby obtaining the full amount of motor parameters and joint parameters.

[0054] Among them, the parameter determination strategy refers to a strategy for determining the remaining uncollected parameters based on the collected parameter measurement values. For example, when a motor position sensor is not configured, the parameter determination strategy is a strategy for determining the motor angle simulation value based on at least one of the collected motor torque measurement values, joint angle measurement values, and joint torque measurement values. For another example, when a joint position sensor is not configured, the parameter determination strategy is a strategy for determining the joint angle simulation value based on at least one of the collected motor torque measurement values, motor angle measurement values, and joint torque measurement values.

[0055] Step 203 : determining the motor control torque of the motor based on the motor parameters, the joint parameters and the control strategy, and controlling the motor to achieve closed-loop control of the robot joint module.

[0056] In some embodiments, to improve the control accuracy of the robot joint module, the robot joint module includes not only a motor and a joint, but also a controller. The controller outputs a motor control torque to the motor, causing the motor to operate based on the motor control torque. The motor control torque refers to the control quantity used to control the operation of the motor during the closed-loop control of the robot joint module, which can be understood as the desired motor torque.

[0057] Optionally, a control strategy refers to a method or algorithm used to control a robot joint module to complete a specific task. Optionally, different controllers have different control strategies, such as a control strategy based on inverse kinematics, a control strategy based on Cartesian desired force, and the like.

[0058] Alternatively, the control strategy can be further divided into open-loop control strategy and closed-loop control strategy. In the open-loop control strategy, the motor control torque is determined based on only some motor parameters or joint parameters, resulting in lower control accuracy. In the closed-loop control strategy, the motor control torque is determined based on all motor parameters and joint parameters, resulting in higher control accuracy.

[0059] Since corresponding parameter determination strategies are set for different sensor configuration states in the embodiments of the present application, based on the different sensor configuration states corresponding to different robot joint modules, the embodiments of the present application can determine the full amount of motor parameters and joint parameters according to the parameter determination strategies and the collected parameter measurement values, thereby realizing closed-loop control of the robot joint module.

[0060] In some embodiments, after obtaining the full set of motor parameters and joint parameters, the robot system can apply the motor parameters and joint parameters to the corresponding control strategy, and determine the motor control torque based on the control strategy, thereby using the motor control torque to control the motor and realize closed-loop control of the robot joint module.

[0061] In summary, in the embodiment of the present application, in order to be able to perform closed-loop control on the robot joint module with different sensor configuration states under a unified control framework, it is necessary to first determine the sensor configuration state of the robot joint module, thereby determining the motor parameters and joint parameters required for closed-loop control of the robot joint module according to the parameter measurement values ​​collected under the sensor configuration state and the parameter determination strategy corresponding to the current sensor configuration state, and then obtaining the motor control torque corresponding to the control strategy according to the motor parameters, joint parameters and control strategy, and controlling the motor with the motor control torque, thereby realizing closed-loop control of the robot joint module. Using the solution provided by the embodiment of the present application, the corresponding parameter determination strategy is set for different sensor configuration states, thereby obtaining the full amount of motor parameters and joint parameters required for closed-loop control, and then performing closed-loop control on the robot joint modules with different sensor configuration states with a unified control framework, without the need to adopt a specific control strategy for the robot joint modules with different sensor configuration states, thereby achieving while improving the control accuracy of the robot joint module and reducing the control cost of the robot system.

[0062] In some embodiments, in order to improve the accuracy of determining motor parameters and joint parameters, the robot system can adopt different parameter determination strategies for different sensor configuration states. The parameter determination process under different sensor configuration states will be explained through specific embodiments below.

[0063] Please refer to FIG3 , which shows a flow chart of a control method for a robot system provided by another exemplary embodiment of the present application.

[0064] Step 301 , determining the sensor configuration state of the robot joint module, where the sensor configuration state includes the motor sensor configuration state of the motor in the robot joint module and the joint sensor configuration state of the joint in the robot joint module.

[0065] The specific implementation of step 301 can refer to step 201, and will not be described in detail in this embodiment.

[0066] Step 302, when the motor sensor and the joint sensor are fully configured, the parameter measurement values ​​obtained from the motor sensor are determined as the motor parameters for closed-loop control of the robot joint module, and the parameter measurement values ​​obtained from the joint sensor are determined as the joint parameters for closed-loop control of the robot joint module.

[0067] In some embodiments, when the motor sensors and joint sensors are fully configured, the robot system can directly determine the full amount of motor parameters and joint parameters based on the motor parameter measurement values ​​obtained from the motor sensors and the joint parameter measurement values ​​obtained from the joint sensors.

[0068] In a possible implementation, the motor parameters may include motor angle and motor torque. When the motor sensor configuration is complete, the motor sensor includes a motor position sensor (for measuring motor angle) and a motor torque sensor (for measuring motor torque).

[0069] Optionally, the motor angle can be expressed as θ and the motor torque can be expressed as τ m .

[0070] In a possible implementation, the joint parameters may include joint angles and joint torques. When the joint sensors are fully configured, the joint sensors include joint position sensors (for measuring joint angles) and joint torque sensors (for measuring joint torques).

[0071] Alternatively, the joint torque can be expressed as τ and the joint angle can be expressed as q.

[0072] In some embodiments, considering that during the actual operation of the robot joint module, there may be a situation where the sensors are not fully configured, in order to achieve closed-loop control of the robot joint module, it is necessary to combine the parameter determination strategy and perform parameter simulation value calculations on the motor parameters or joint parameters that have not been collected.

[0073] Optionally, the situation where the motor sensor or joint sensor is not fully configured may include that the motor sensor is fully configured but the joint sensor is not configured, the motor sensor is fully configured but the joint sensor is partially configured, or the joint sensor is fully configured but the motor sensor is partially configured.

[0074] Among them, the motor sensor part configuration is to configure only the motor torque sensor; the joint sensor part configuration can be to configure only the joint torque sensor or to configure only the joint position sensor.

[0075] In some embodiments, when the motor sensors or joint sensors are not fully configured, the robot system cannot directly obtain the full amount of motor parameters and joint parameters based on the parameter measurement values. Therefore, in order to achieve closed-loop control of the robot joint module, the robot system needs to determine the parameter simulation values ​​corresponding to the unconfigured sensors through indirect simulation based on the existing parameter measurement values.

[0076] In one possible implementation, since the parameter measurement values ​​collected under different sensor configuration states are different, the parameter simulation values ​​that need to be determined are also different. Therefore, in order to improve the efficiency of parameter determination, corresponding parameter determination strategies are set for different sensor configuration states in the embodiment of the present application, so that the robot system can calculate the corresponding motor parameter simulation values ​​or joint parameter simulation values ​​based on the parameter measurement values ​​under the current sensor configuration state and the parameter determination strategy.

[0077] Schematically, as shown in Figure 4, in the process of determining parameter simulation values, the parameters of the robot joint module that may be involved can be divided into motor-side parameters and joint-side parameters, centered around the reducer. Motor-side parameters can include rotor moment of inertia B, motor-side friction torque, reduction ratio, etc.; joint-side parameters can include joint-side friction torque, inertia matrix, external torque, etc.

[0078] Schematically, as shown in Table 1, several possible sensor configuration states involved in the embodiment of the present application are shown. However, it should be noted that the embodiment of the present application can also be applied to other possible sensor configuration states, and the embodiment of the present application does not specifically limit the sensor configuration type.

[0079] Table 1

[0080] The following describes two situations: one in which the joint sensor is not fully configured, and the other in which the motor sensor is not fully configured.

[0081] Joint sensor configuration is not complete

[0082] Step 303 : When the motor sensors are fully configured but the joint sensors are not fully configured, joint parameter simulation values ​​are determined based on parameter measurement values ​​and a parameter determination strategy.

[0083] Optionally, the situation where the joint sensors are not fully configured can be divided into the following: neither the joint torque sensor nor the joint position sensor is configured, only the joint torque sensor is configured without the joint position sensor, and only the joint position sensor is configured without the joint torque sensor.

[0084] Among them, when neither the joint torque sensor nor the joint position sensor is configured, the robot system needs to determine the joint angle simulation value and the joint torque simulation value based on the collected motor parameter measurement values ​​and the parameter determination strategy.

[0085] Among them, when only the joint torque sensor is configured but the joint position sensor is not configured, the robot system needs to determine the joint angle simulation value based on the collected motor parameter measurement values, joint torque measurement values ​​and parameter determination strategy.

[0086] Among them, when only the joint position sensor is configured but the joint torque sensor is not configured, the robot system needs to determine the joint torque simulation value based on the collected motor parameter measurement values, joint angle measurement values ​​and parameter determination strategy.

[0087] The following describes the process of determining parameter simulation values ​​under different joint sensor configuration states.

[0088] 1) When the motor sensors are fully configured and the joint sensors are not configured, the joint angle simulation values ​​and joint torque simulation values ​​are obtained by indirect simulation based on the motor torque measurement values ​​and motor angle measurement values.

[0089] In some embodiments, in order to simplify the configuration structure and save costs, the robot joint module is only equipped with a motor torque sensor and a motor position sensor at the motor end, while the joint end is not equipped with a joint torque sensor and a joint position sensor. Therefore, after the robot system obtains the motor torque measurement value based on the motor torque sensor and the motor angle measurement value based on the motor position sensor, it needs to determine the joint angle simulation value and the joint torque simulation value through indirect simulation.

[0090] In one possible implementation, the robotic system first calculates the motor angular velocity and the motor angular acceleration using first-order differentials based on the motor angle measurements. To obtain the simulated joint parameter values, the robotic system then determines the reducer input torque between the motor and the joint using the motor angular acceleration and motor torque measurements based on the motor's first dynamic characteristics.

[0091] Optionally, the motor angle measurement can be expressed as θ(t), and the motor angular velocity can be expressed as The motor angular acceleration can be expressed as According to the first dynamic equation of the motor The robot system can then inversely solve the reducer input torque τ w , where t is the current time, τ m is the measured value of the motor torque, B is the moment of inertia of the rotor, τ f is the motor friction torque.

[0092] Furthermore, considering the delay effect of the joint relative to the motor operation, in order to simulate the joint angular velocity at the current moment, the robot system can first use the joint angle at the previous moment to replace the joint angle at the current moment, so that according to the second dynamic characteristics of the joint, based on the reducer input torque, the stiffness characteristics between the motor angle at the current moment and the joint angle at the previous moment, and the damping characteristics between the motor angular velocity at the current moment and the joint angular velocity, the robot system can solve the simulated value of the joint angular velocity at the current moment.

[0093] Optionally, the joint angle at the previous moment can be expressed as q(t-1), according to the second dynamic characteristics of the joint The robot system can determine the joint angular velocity at the current moment Among them, τ w(t) is the reducer input torque at the current moment, K is the joint stiffness coefficient, and D is the joint damping coefficient.

[0094] After obtaining the joint angular velocity simulation value at the current moment, the robot system can determine the joint angular acceleration estimation value by performing differential processing on the joint angular velocity simulation value, and then according to the third dynamic characteristic of the joint, based on the joint angular velocity simulation value, the joint angular acceleration estimation value and the joint angle at the previous moment, it can determine the external torque estimation value at the current moment.

[0095] Alternatively, the joint angular acceleration can be expressed as According to the third dynamic characteristics of the joint The robot system can then solve the estimated value of the external torque at the current moment in, is the estimated value of the joint angular acceleration at the current moment, M(q) is the inertia matrix between the motor and the joint, is the centrifugal force matrix, g(q) is the gravity matrix, τ q is the joint friction torque, is the external acting torque.

[0096] Optionally, the third dynamic characteristic of the joint can be transformed into Furthermore, the robot system can re-substitute the estimated value of the external torque into the third dynamic characteristic of the joint to determine the simulated value of the joint angular acceleration at the current moment, and thus obtain the simulated value of the joint angle through numerical integration based on the joint angle, joint angular velocity simulated value and joint angular acceleration simulated value at the previous moment.

[0097] After obtaining the joint angle simulation value, the robotic system can determine the joint torque simulation value based on the stiffness characteristics between the motor angle and the joint angle. In one possible implementation, based on the fourth dynamic characteristic of the joint, the robotic system can first determine the angular difference between the motor angle and the joint angle based on the motor angle measurement value and the joint angle simulation value. Then, the robotic system can perform a stiffness calculation on this angular difference using the joint stiffness coefficient to obtain the joint torque simulation value.

[0098] Optionally, the fourth dynamic characteristic of the joint can be expressed as τ(t)=K(θ(t)-q(t)), where τ(t) is the joint torque at the current moment, K is the joint stiffness coefficient, θ(t) is the motor angle at the current moment, and q(t) is the joint angle at the current moment.

[0099] In the absence of joint sensors, by combining the dynamic characteristics of the motor and joint, the joint angle simulation value is first simulated and calculated based on the motor torque measurement value and the motor angle measurement value, and then the joint torque simulation value is simulated and calculated based on the motor angle measurement value and the joint angle simulation value. This can achieve the acquisition of all joint parameters, thereby ensuring closed-loop control of the robot joint module and improving control accuracy.

[0100] 2) When the motor sensor and joint torque sensor are fully configured, the joint angle simulation value is obtained by indirect simulation based on the motor torque measurement value and the motor angle measurement value.

[0101] In some embodiments, to simplify the configuration structure and save costs, the robot joint module can also be equipped with motor sensors (including motor torque sensors and motor position sensors) only in the motor, and only joint torque sensors in the joint. In this sensor configuration, the robot system can directly obtain motor torque measurement values, motor angle measurement values, and joint torque measurement values, and only needs to determine the joint angle simulation value through indirect simulation.

[0102] In one possible implementation, the robotic system first calculates the motor angular velocity and the motor angular acceleration using first-order differentials based on the motor angle measurements. To obtain the simulated joint parameter values, the robotic system then determines the reducer input torque between the motor and the joint using the motor angular acceleration and motor torque measurements based on the motor's first dynamic characteristics.

[0103] Optionally, the motor angle measurement can be expressed as θ(t), and the motor angular velocity can be expressed as The motor angular acceleration can be expressed as According to the first dynamic equation of the motor The robot system can then inversely solve the reducer input torque τ w , where t is the current time, τ m is the measured value of the motor torque, B is the moment of inertia of the rotor, τ f is the motor friction torque.

[0104] Furthermore, considering the delay effect of the joint relative to the motor operation, in order to simulate the joint angular velocity at the current moment, the robot system can first use the joint angle at the previous moment to replace the joint angle at the current moment, so that according to the second dynamic characteristics of the joint, based on the reducer input torque, the stiffness characteristics between the motor angle at the current moment and the joint angle at the previous moment, and the damping characteristics between the motor angular velocity at the current moment and the joint angular velocity, the robot system can solve the simulated value of the joint angular velocity at the current moment.

[0105] Optionally, the joint angle at the previous moment can be expressed as q(t-1), according to the second dynamic characteristics of the joint The robot system can determine the joint angular velocity at the current moment Among them, τ w (t) is the reducer input torque at the current moment, K is the joint stiffness coefficient, and D is the joint damping coefficient.

[0106] After obtaining the joint angular velocity simulation value at the current moment, the robot system can determine the joint angular acceleration estimation value by performing differential processing on the joint angular velocity simulation value, and then according to the third dynamic characteristic of the joint, based on the joint angular velocity simulation value, the joint angular acceleration estimation value and the joint angle at the previous moment, it can determine the external torque estimation value at the current moment.

[0107] Alternatively, the joint angular acceleration can be expressed as According to the third dynamic characteristics of the joint The robot system can then solve the estimated value of the external torque at the current moment in, is the estimated value of the joint angular acceleration at the current moment, M(q) is the inertia matrix between the motor and the joint, is the centrifugal force matrix, g(q) is the gravity matrix, τ q is the joint friction torque, is the external acting torque.

[0108] Optionally, the third dynamic characteristic of the joint can be transformed into Furthermore, the robot system can re-substitute the estimated value of the external torque into the third dynamic characteristic of the joint to determine the simulated value of the joint angular acceleration at the current moment, and thus obtain the simulated value of the joint angle through numerical integration based on the joint angle, joint angular velocity simulated value and joint angular acceleration simulated value at the previous moment.

[0109] In the absence of joint position sensors, by combining the dynamic characteristics of the motor and joint, and simulating and calculating the joint angle simulation value based on the motor torque measurement value and the motor angle measurement value, the full amount of joint parameters can be obtained, thereby ensuring closed-loop control of the robot joint module and improving control accuracy.

[0110] 3) When the motor sensor and joint position sensor are fully configured, the joint torque simulation value is obtained by indirect simulation based on the motor angle measurement value and the joint angle measurement value.

[0111] In some embodiments, to simplify the configuration structure and save costs, the robot joint module can also be equipped with motor sensors (including motor torque sensors and motor position sensors) only in the motor, and only joint position sensors in the joint. In this sensor configuration, the robot system can directly obtain motor torque measurement values, motor angle measurement values, and joint angle measurement values, and only needs to determine the joint torque simulation value through indirect simulation.

[0112] In one possible embodiment, based on the fourth dynamic characteristic of the joint, the robotic system may first determine a first angle difference between the motor angle and the joint angle based on the motor angle measurement and the joint angle measurement, where the first angle difference is equal to the motor angle measurement minus the joint angle measurement. A stiffness calculation may then be performed on the first angle difference using the joint stiffness coefficient to obtain a joint torque simulation value, i.e., the joint torque simulation value is equal to the joint stiffness coefficient multiplied by the first angle difference.

[0113] Optionally, the fourth dynamic characteristic of the joint can be expressed as τ(t)=K(θ(t)-q(t)), where τ(t) is the joint torque at the current moment, K is the joint stiffness coefficient, θ(t) is the motor angle at the current moment, and q(t) is the joint angle at the current moment.

[0114] In the absence of a joint torque sensor, the joint torque simulation value can be obtained by combining the dynamic characteristics of the joint and simulating the motor angle measurement value and the joint angle measurement value. This can achieve the acquisition of all joint parameters, thereby ensuring closed-loop control of the robot joint module and improving control accuracy.

[0115] Step 304 : Determine motor parameters and joint parameters for closed-loop control of the robot joint module based on the joint parameter simulation values ​​and the parameter measurement values.

[0116] In some embodiments, after determining the joint parameter simulation value based on the current sensor configuration state, the robot system can combine the parameter measurement value and the joint parameter simulation value to determine the motor parameters and joint parameters used to perform closed-loop control on the robot joint module.

[0117] Optionally, when the motor sensors are fully configured and the joint sensors are not configured, the motor parameters include motor torque measurement values ​​and motor angle measurement values, and the joint parameters include joint torque simulation values ​​and joint angle simulation values; when the motor sensors are fully configured and the joint torque sensors are configured, the motor parameters include motor torque measurement values ​​and motor angle measurement values, and the joint parameters include joint torque measurement values ​​and joint angle simulation values; when the motor sensors are fully configured and the joint position sensors are configured, the motor parameters include motor torque measurement values ​​and motor angle measurement values, and the joint parameters include joint torque simulation values ​​and joint angle measurement values.

[0118] Motor sensor configuration is not complete

[0119] Step 305 : When the motor sensors are not fully configured but the joint sensors are fully configured, the motor parameter simulation values ​​are determined based on the parameter measurement values ​​and the parameter determination strategy.

[0120] Optionally, in order to improve the control accuracy of the robot joint module, at least a motor torque sensor is configured on the motor, that is, the motor sensor is not fully configured, that is, the motor position sensor is not configured. In this case, the robot system needs to determine the motor angle simulation value based on the collected joint parameter measurement value and the parameter determination strategy.

[0121] Optionally, when the motor torque sensor is configured and the joint sensor is fully configured, the motor angle simulation value is obtained by indirect simulation based on the joint angle measurement value and the joint torque measurement value.

[0122] In some embodiments, to simplify the configuration structure and save costs, the robot joint module can also be equipped with joint sensors (including joint torque sensors and joint position sensors) only in the joints, and only motor torque sensors in the motors. In this sensor configuration, the robot system can directly obtain motor torque measurement values, joint torque measurement values, and joint angle measurement values, and only needs to determine the motor angle simulation value through indirect simulation.

[0123] In one possible embodiment, based on the fourth dynamic characteristic of the joint, the robot system can obtain the second angle difference between the motor angle and the joint angle through inverse solution based on the joint torque measurement value and the joint stiffness coefficient, and thus can determine the motor angle simulation value based on the second angle difference and the joint angle measurement value.

[0124] Optionally, the fourth dynamic characteristic of the joint can be expressed as τ(t)=K(θ(t)-q(t)), where τ(t) is the joint torque at the current moment, K is the joint stiffness coefficient, θ(t) is the motor angle at the current moment, and q(t) is the joint angle at the current moment. That is, the second angle difference between the motor angle and the joint angle is equal to the joint torque measurement value divided by the joint stiffness coefficient, and the motor angle simulation value is equal to the second angle difference + the joint angle measurement value.

[0125] In the absence of a motor position sensor, the motor angle simulation value can be obtained by combining the dynamic characteristics of the joint and the difference between the motor angle and the joint angle as well as the joint stiffness characteristics. This allows the acquisition of all motor parameters, thereby ensuring closed-loop control of the robot joint module and improving control accuracy.

[0126] Step 306 : Determine motor parameters and joint parameters for closed-loop control of the robot joint module based on the motor parameter simulation values ​​and parameter measurement values.

[0127] In some embodiments, after determining the motor parameter simulation value based on the current sensor configuration state, the robot system can combine the parameter measurement value and the motor parameter simulation value to determine the motor parameters and joint parameters used to perform closed-loop control on the robot joint module.

[0128] Optionally, when the motor torque sensor is configured and the joint sensor is fully configured, the motor parameters include motor torque measurement values ​​and motor angle simulation values, and the joint parameters include joint torque measurement values ​​and joint angle measurement values.

[0129] The process of achieving closed-loop control based on control strategy

[0130] Step 307 : Based on the motor parameters, joint parameters and control strategy, determine the motor control torque of the motor, and control the motor to achieve closed-loop control of the robot joint module.

[0131] In some embodiments, after obtaining the full set of motor parameters and joint parameters, the robot system can determine the motor control torque based on the motor parameters, joint parameters and control strategy through a unified control framework, and then use the motor control torque to control the motor to achieve closed-loop control of the robot joint module.

[0132] In one possible implementation, the dynamic equation of the robot joint module can be expressed as:

[0133] Where M(q) is the inertia matrix between the motor and the joint, is the centrifugal force Coriolis force matrix, g(q) is the gravity matrix, is the joint angular acceleration, is the joint angular velocity, q is the joint angle, τ is the joint torque, D is the joint damping coefficient, K is the joint stiffness coefficient, τ q is the joint friction torque, τ ext is the external torque, B is the moment of inertia, τ m is the motor torque, τ f is the motor friction torque, is the motor angular acceleration, and θ is the motor angle.

[0134] Considering that the robot joint module is a flexible joint, in order to compare with the rigid robot, it can be assumed that there is Therefore, the dynamic equation of the robot joint module can be expressed as:

[0135] In one possible implementation, in order to effectively perform closed-loop control on the robot joint module, a full-state feedback controller may be used in the unified control framework of the embodiment of the present application to implement control of the robot joint module.

[0136] Alternatively, the control law of the full state feedback controller can be expressed as:

[0137] Among them, τ m is the motor control torque, u mid is the intermediate variable, B θ =diag(b θ,i ), b θ,i i , B θ is the nominal moment of inertia of the motor, D s is the gain matrix of torque feedback.

[0138] Alternatively, substituting the control law expression into the motor dynamics equation yields And because b θ,i i Therefore, under the action of the control law, the rotational inertia of the motor will be reduced, and the influence of the motor friction torque on the operation of the robot joint module will also be reduced.

[0139] Optionally, in order to achieve closed-loop control of the robot joint module, in addition to dividing the control layer into the motor layer and the joint layer according to the actual operation of the robot joint module, the robot system can also construct a Cartesian task layer, that is, using the generalized Jacobian to perform unified control of the joints, thereby determining the desired position and desired torque of the joints.

[0140] ​​In one possible implementation, when the desired position of the joint is determined based on a Cartesian task, the robot system can perform closed-loop control on the robot joint module according to the desired joint angle and the desired joint angular velocity, thereby ensuring the tracking control accuracy of the joint.

[0141] In another possible implementation, when the expected torque of the joint is determined based on the Cartesian task, the robot system can determine the task execution status of the robot joint module in the Cartesian space according to the Cartesian expected torque, and perform closed-loop control on the robot joint module according to the Cartesian space task, thereby ensuring the following control accuracy of the Cartesian task.

[0142] The following describes the process of determining the motor control torque based on the two control strategies.

[0143] 1) When following control is performed on a joint, a first motor control torque of the motor is determined based on motor parameters, joint parameters, and a control strategy based on inverse kinematics.

[0144] Alternatively, a Cartesian task x can be expressed as in, is the Cartesian velocity, J is the generalized Jacobian matrix, is the joint angular velocity. Therefore, the joint angular velocity can be expressed by inverse kinematics The superscript “d” represents the expected value, so the expected joint angle can be obtained by integrating the expected joint angular velocity.

[0145] In some embodiments, taking into account that in the process of controlling the robot system, due to the structural complexity of the robot system, the robot joint modules in different parts may need to be controlled separately, that is, the joint angular velocities and Cartesian tasks of the robot joint modules in different parts may be different. For example, for wheeled robots and mobile robots, their moving parts and operating parts can be separated, that is, the motion control of the base part of the mobile robot and other parts can be separated. Therefore, in order to improve the control efficiency, the robot system can obtain the desired joint angular velocity through inverse kinematics processing based on the Jacobian matrix, Cartesian velocity and module position characteristics of the robot joint module.

[0146] Alternatively, when the robot joint modules at different locations in the robot system are controlled separately, the relationship between the Cartesian velocity and the desired joint angular velocity can be expressed as:

[0147] in, is the Cartesian velocity of the base, J b is the Jacobian matrix corresponding to the base part, is the joint angular velocity of the base, is the Cartesian velocity of the remaining parts, J mb is the Jacobian matrix obtained by coupling between the base and the rest of the parts, J m is the Jacobian matrix corresponding to the remaining parts, is the joint angular velocity of the remaining parts.

[0148] Furthermore, the expected joint angular velocity can be expressed by inverse kinematics as:

[0149] From the above process, it can be seen that the expected joint angular velocity and the expected joint angle can be obtained in advance through calculation. In the process of performing continuous following control on the joints of the robot joint module, it is also necessary to further consider the compensation amount for the expected velocity and expected acceleration on the basis of the full-state feedback controller.

[0150] Alternatively, the control law of the full state feedback controller can be expressed as:

[0151] Among them, τ m is the motor control torque, u mid is the intermediate variable, B θ =diag(b θ,i ), b θ,i i , B θ is the nominal moment of inertia of the motor, D s is the gain matrix of torque feedback.

[0152] The control compensation term can be expressed as: Among them, K θ and D θ are the stiffness coefficient and damping coefficient under the control strategy based on inverse kinematics, Δθ is the desired motor angle difference, Δθ=θ d -θ, θ d is the desired motor angle, θ is the actual motor angle, τ a is the middle term,

[0153] In the process of controlling the motor, since only the desired joint angle can be obtained through Cartesian tasks and inverse kinematics, that is, the desired motor angle cannot be determined, in one possible implementation, the robot system 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 ​, use the desired joint angle instead of the desired motor angle to obtain the motor angle difference Δθ1 and the motor angular velocity difference Then, the robot system can determine the first control compensation amount according to the expected joint angular velocity, the expected joint angle, the motor angle difference, and the motor angular velocity difference.

[0154] Optionally, the first control compensation amount can be expressed as Among them, τ mid is the middle term, τ af is the middle term,

[0155] Furthermore, after determining the first control compensation amount, the robot system can determine the first motor control torque based on the motor angle difference, motor angular velocity difference, the first control compensation amount and the joint torque according to the first control law corresponding to the control strategy based on inverse kinematics.

[0156] Optionally, the first control compensation is substituted into the control law expression of the full-state feedback controller to obtain the first motor control torque:

[0157] Furthermore, the above formula can be simplified as: in, Schematically, when the motor is controlled based on the first motor control torque, the full-state feedback controller of the robot joint module can be expressed as shown in FIG5 .

[0158] Through the control strategy based on inverse kinematics, the first control compensation is determined according to the expected joint angle and the expected joint angular velocity, and it is substituted into the control law expression to obtain the first motor control torque. That is, the motor can be controlled by the first motor control torque to achieve closed-loop control of the robot joint module, and focus on improving the follow-up control accuracy of the joints in the robot joint module.

[0159] 2) When following control is performed on a Cartesian task, a second motor control torque of the motor is determined based on motor parameters, joint parameters, and a control strategy based on Cartesian desired forces.

[0160] Alternatively, the relationship between Cartesian velocity and Cartesian desired torque can be expressed as Among them, τ task is the Cartesian expected moment, J T is the transposed matrix of the Jacobian matrix, K x and D x is the stiffness coefficient and damping coefficient under the control strategy based on Cartesian expected force, x is the Cartesian task, is the Cartesian velocity.

[0161] In some embodiments, taking into account that in the process of controlling the robot system, due to the structural complexity of the robot system, the robot joint modules in different parts may need to be controlled separately, that is, the joint angular velocities and Cartesian tasks of the robot joint modules in different parts may be different. For example, for wheeled robots and mobile robots, their moving parts and operating parts can be separated, that is, the motion control of the base part of the mobile robot and other parts can be separated. Therefore, in order to improve the control efficiency, the robot system can obtain the Cartesian desired torque through forward kinematics processing based on the Jacobian matrix, joint stiffness coefficient, joint damping coefficient, Cartesian speed and module position characteristics of the robot joint module.

[0162] Alternatively, when the robot joint modules at different locations in the robot system are controlled separately, the relationship between the Cartesian velocity and the Cartesian desired torque can be expressed as:

[0163] That is, the Cartesian expected torque of the robot system can be expressed as

[0164] Among them, τ task,b is the Cartesian desired moment at the base, is the transposed matrix of the Jacobian matrix corresponding to the base, K x,b and D x,b are the stiffness coefficient and damping coefficient of the base under the control strategy based on Cartesian expected force, x b For the Cartesian task of the base part, is the Cartesian velocity of the base, τ task,m is the Cartesian expected moment of the remaining parts, is the transposed matrix of the Jacobian matrix corresponding to the remaining parts, K x,m and D x,m is the stiffness coefficient and damping coefficient of the remaining parts under the control strategy based on Cartesian expected force, x m For the rest of the Cartesian tasks, is the Cartesian velocity of the remaining parts, is the transposed matrix of the Jacobian matrix obtained by coupling between the base part and the rest of the parts.

[0165] In the process of performing continuous following control on the Cartesian desired torque of the robot joint module, it is also necessary to further consider the compensation amount for the desired velocity and desired acceleration based on the full-state feedback controller.

[0166] In one possible implementation, after determining the Cartesian expected torque of the robot joint module, the robot system may determine a second control compensation amount based on the Cartesian expected torque, the motor angular acceleration, the expected joint angular velocity, and the expected joint angle.

[0167] Optionally, the second control compensation can be expressed as Among them, τ task is the Cartesian expected moment, B θ is the nominal moment of inertia of the motor, is the motor angular acceleration, τ a is the middle term,

[0168] Furthermore, after determining the second control compensation amount, the robot system can determine the second motor control torque based on the second control law corresponding to the control strategy based on Cartesian expected force, the expected joint angular velocity, the expected joint angle, the Cartesian expected torque, the second control compensation amount and the joint torque.

[0169] Alternatively, the control law of the full state feedback controller can be expressed as:

[0170] Among them, τ m is the motor control torque, u mid is the intermediate variable, B θ =diag(b θ,i ), b θ,i i , B θ is the nominal moment of inertia of the motor, D s is the gain matrix of torque feedback.

[0171] Optionally, the second control compensation is substituted into the control law expression of the full-state feedback controller to obtain the second motor control torque:

[0172] Furthermore, the above formula can be simplified as: in, Schematically, when the second motor controls the torque of the motor, the full-state feedback controller of the robot joint module can be expressed as shown in FIG6 .

[0173] Through the control strategy based on Cartesian expected force and combined with Cartesian space tasks, the Cartesian expected torque is calculated to determine the second control compensation amount, and it is substituted into the control law expression to obtain the second motor control torque. That is, the motor can be controlled by the second motor control torque to achieve closed-loop control of the robot joint module, and focus on improving the following control accuracy of the robot joint module in performing Cartesian tasks.​

[0174] In the above embodiment, for different sensor configuration states of the robot joint module, different parameter determination strategies are adopted based on the collected parameter measurement values, and the corresponding parameter simulation values ​​are determined by indirect simulation. Then, the parameter measurement values ​​and the parameter simulation values ​​are combined to determine the full amount of motor parameters and joint parameters for closed-loop control of the robot joint module, so that different robot joint modules in the robot system can be controlled using a unified control framework, thereby reducing the control cost of the robot system while ensuring the control accuracy of each robot joint module.

[0175] In addition, to meet different control accuracy requirements, the present application provides two closed-loop control strategies: an inverse kinematics-based control strategy and a Cartesian desired force-based control strategy. The former performs closed-loop control of the robot joint module based on the desired joint angle and desired joint angular velocity, achieving higher precision in joint tracking control; the latter performs closed-loop control of the robot joint module based on Cartesian spatial tasks, achieving higher precision in Cartesian task tracking control.

[0176] Parameter calibration process of the robot joint module

[0177] In some embodiments, before controlling the operation of the robot joint module, in order to improve the control efficiency of the robot joint module, the robot system also needs to pre-calibrate some parameters of the motor and joints in the robot joint module, including motor torque coefficient calibration, motor friction calibration, joint friction calibration and joint stiffness and damping calibration. The parameter calibration process will be explained through specific embodiments below.

[0178] Please refer to FIG7 , which shows a flowchart of performing parameter calibration on a robot joint module according to an exemplary embodiment of the present application. This embodiment uses the method applied to a robot system as an example for explanation. The method includes the following steps:

[0179] Step 701 , calibrating the motor torque coefficient of the robot joint module based on the motor torque, joint torque, and first motor friction torque generated when the motor in the robot joint module rotates forward and reverse at the same position.

[0180] Optionally, in order to simplify the control process of the robot joint module, it is usually assumed that the motor torque coefficient is constant and the friction force of the motor remains unchanged when the motor moves at the same position and the same speed.

[0181] Optionally, to calibrate the motor torque coefficient, the robotic system may determine the motor torque coefficient based on the dynamic equations for forward and reverse rotation of the motor in the robotic joint module at the same position. In one possible embodiment, the robotic system determines the dynamic equations corresponding to forward and reverse rotation based on the motor torque, joint torque, and friction torque of the first motor generated when the motor in the robotic joint module rotates forward and reverse at the same position.

[0182] Alternatively, according to the dynamic calibration method of the robot joint module, the dynamic equation of the motor's forward and reverse rotation at the same position can be expressed as:

[0183] in, Indicates that the motor rotates forward. is the motor torque during forward rotation, is the current during forward rotation, Indicates that the motor rotates in the reverse direction. is the motor torque during reverse rotation, is the current during reverse rotation, K t is the motor torque coefficient, τ is the joint torque, τ f is the friction torque.

[0184] Furthermore, the robot system can eliminate the influence of friction on the motor torque coefficient by adding the motor dynamics equations during forward and reverse rotation, and obtain the relationship between the motor torque system, the current during forward and reverse rotation, and the joint torque, thereby solving the motor torque coefficient and realizing the calibration of the motor torque coefficient of the robot joint module.

[0185] Step 702 : Based on the dynamic characteristics of the motor and the joint, a first friction compensation model applicable to the joint and a second friction compensation model applicable to the motor are determined respectively.

[0186] In some embodiments, due to differences in the dynamic characteristics of the motors and joints in the robot joint module, which are mainly reflected in the reduction ratio between the motors and joints, the motors move faster and the joints move slower, which in turn leads to certain differences in the friction characteristics between the motors and joints. Therefore, in order to determine the dynamic characteristics of the motors and joints respectively, the transmission chain of the robot joint module can be divided into the motor coordinate system and the joint coordinate system, so that the dynamic equation can be expressed as:

[0187] The variable X′ represents the value of the variable in the motor coordinate system, and the relationship between the variable X′ in the motor coordinate system and the variable X in the joint coordinate system can be expressed as X=NX′. m is the motor torque, K′t is the motor torque coefficient, i q is the motor current, B' is the rotor's moment of inertia, N is the reduction ratio, is the motor angular acceleration, τ′ f is the motor friction torque, τ′ w is the reducer input torque, K is the joint stiffness coefficient, D is the joint damping coefficient, θ is the motor angle, q is the joint angle, is the motor angular velocity, is the joint angular velocity, is the joint angular acceleration, M(q) is the inertia matrix between the motor and the joint, is the centrifugal force matrix, g(q) is the gravity matrix, τ q is the joint friction torque, τ ext is the external acting torque.

[0188] In a possible implementation, based on the dynamic characteristic that the motor runs faster and the joint runs slower, the robotic system may respectively determine a first friction compensation model applicable to the joint and a second friction compensation model applicable to the motor.

[0189] Optionally, the first friction compensation model may be a friction compensation model capable of representing the friction force of a low-speed system, such as a Coulomb friction model; the second friction compensation model may be a friction compensation model capable of representing the friction force of a high-speed system, such as a LuGre model.

[0190] Step 703 : determining the joint friction torque of the joint based on the joint angular velocity, the joint position friction coefficient, and the model friction coefficient corresponding to the first friction compensation model.

[0191] In one possible embodiment, since the joint runs at a slow speed, the robot system can use a first friction compensation model to represent the joint friction torque, so that the robot system can determine the joint friction torque of the joint based on the joint angular velocity, the joint position friction coefficient and the model friction coefficient corresponding to the first friction compensation model.

[0192] When the first friction compensation model is the Coulomb friction model, the joint friction torque can be expressed as Among them, τ q is the joint friction torque, F cq is the Coulomb friction coefficient, is the joint angular velocity, sgn is the sign function, σ q is the viscous friction coefficient, and H(q) is the position-dependent friction force.

[0193] Step 704 : Determine a second motor friction torque of the motor based on the motor angular velocity, the static friction coefficient corresponding to the second friction compensation model, and the dynamic friction coefficient.

[0194] In one possible embodiment, since the motor runs at a relatively fast speed, the robot system can use a second friction compensation model to represent the motor friction torque, so that the robot system can determine the second motor friction torque of the motor based on the motor angular velocity, the static friction coefficient corresponding to the second friction compensation model, and the dynamic friction coefficient.

[0195] When the second friction compensation model is the LuGre model, the friction torque of the second motor can be expressed as:

[0196] Among them, z is the internal state variable of the friction model, that is, the deformation of the bristles, is the motor angular velocity, v s is the Stribeck velocity, f s is the static friction, f c is the Coulomb friction, τ θ is the motor friction torque, σ0 and σ1 are the stiffness coefficient and damping coefficient of the bristles, respectively, and σ2 is the viscous friction coefficient.

[0197] Regarding the construction process of the second friction compensation model, optionally, the robot system can construct the second friction compensation model based on the bristle deformation, motor angular velocity and static parameters in combination with the above formula when the motor is in a quasi-static state.

[0198] The motor being in a quasi-static state means that the internal dynamic changes of the motor during operation are negligible, and the main focus is on the steady-state characteristics of the motor. In some embodiments, the static parameters can be determined by parameter identification based on a genetic algorithm and a speed-friction curve.

[0199] Optionally, when the motor is in quasi-static state, Then the internal state variables can be expressed as Then the friction compensation model can be transformed into

[0200] In order to determine the friction torque of the second motor, the robot system needs to determine the Coulomb friction f c , static friction f s 、Stribeck speed v s , the stiffness coefficient of the bristle σ0, the damping coefficient of the bristle σ1 and the viscous friction coefficient σ2.

[0201] In a possible implementation, in order to improve the accuracy of parameter determination, the robot system can use a constant speed following experiment based on the deformed friction compensation model to first determine the friction speed curve between the rotational speed and the motor friction torque. The friction speed curve can be called a Stribeck curve. Then, the robot system uses a genetic algorithm to identify the static parameters and dynamic parameters of the above parameters. The static parameters may include (f c , f s ,σ2,v s ), the dynamic parameters may include (σ0, σ1).

[0202] In one possible implementation, considering the inconsistency of the static parameters of the motor during forward and reverse rotation, the second friction compensation model can be expressed as:

[0203] Among them, In the case of c + ,f s + ,σ2 + ,v s + );exist In the case of c - ,f s - ,σ2 - ,v s - ), that is, the static parameters to be identified can be uniformly expressed as Ω s =(f c + ,f s + ,σ2 + ,v s + ,f c - ,f s - ,σ2 - ,v s - ).

[0204] Furthermore, after determining the static parameters, the robot system can determine the first friction identification error and the first error function based on the motor angular velocity when the motor is in forward rotation and the motor angular velocity when the motor is in reverse rotation, as well as the static parameters to be identified, so as to determine and calibrate the static friction coefficient when the first error function meets the error threshold.

[0205] In one possible embodiment, when the motor is in forward rotation, the robot system can determine a first forward friction identification error based on the forward friction torque measurement value and the forward friction torque prediction value output by the second friction compensation model, wherein the first forward friction identification error is equal to the forward friction torque measurement value minus the forward friction torque prediction value. Furthermore, based on the first forward friction identification error, a first forward error function is determined, thereby determining the forward static friction coefficient when the first forward error function satisfies a first error threshold. Optionally, the calibration value of the forward static friction coefficient can be the coefficient value of the forward static friction coefficient when the function value of the first forward error function reaches a minimum value.

[0206] In one possible embodiment, when the motor is in reverse rotation, the robot system can determine a first reverse friction identification error based on the reverse friction torque measurement value and the reverse friction torque prediction value output by the second friction compensation model, wherein the first reverse friction identification error is equal to the reverse friction torque measurement value minus the reverse friction torque prediction value. Based on the first reverse friction identification error, a first reverse error function is determined, thereby determining the reverse static friction coefficient when the first reverse error function meets the second error threshold. Optionally, the calibration value of the reverse static friction coefficient can be the coefficient value of the reverse static friction coefficient when the function value of the first reverse error function reaches the minimum value.

[0207] Furthermore, after the forward static friction coefficient and the reverse static friction coefficient are determined, the static friction coefficient of the second friction compensation model can be calibrated.

[0208] Optional, Ω s =(f c + ,f s + ,σ2 + ,v s + ,f c - ,f s - ,σ2 - ,v s - ) is a unified representation of the friction parameters to be identified when the motor is in forward and reverse rotation, so the first friction identification error can also be uniformly expressed as Among them, τ θ (t i ) is t i The friction torque measurement value at the moment, t i The friction torque prediction value output by the model at the moment, the first error function can be expressed as Thus in J s When the minimum value is reached, the robotic system can determine the respective static friction coefficient.

[0209] By constructing the first forward error function and the first reverse error function respectively based on the friction torque when the motor is in forward rotation and reverse rotation, the forward static friction coefficient and the reverse static friction coefficient are determined, thereby ensuring the accuracy of the static friction coefficient calibration and thus improving the control accuracy of the robot joint module.

[0210] In one possible implementation, after determining the static friction coefficient, the robotic system may use the static friction coefficient to update the second friction compensation model, thereby calibrating the dynamic friction coefficient based on the second friction compensation model, the second friction identification error, and the second error function.

[0211] In one possible implementation, the robotic system can determine a second friction identification error based on friction torque measurements collected during motor operation and a friction torque prediction output by a second friction compensation model, and determine a second error function based on the second friction identification error. Thus, when the second error function satisfies an error threshold, the dynamic friction coefficient can be determined and calibrated. Optionally, the calibration value of the dynamic friction coefficient can be the coefficient value of the dynamic friction coefficient when the function value of the second error function reaches a minimum value.

[0212] Optionally, the dynamic parameter can be expressed as Ω d =(σ0,σ1), the second friction identification error can be expressed as Among them, τ m (t i ) is t i The friction torque measurement at time τ m (Ω d ,t i ) is t i The friction torque prediction value output by the model at the moment, the second error function can be expressed as J d =w1∑e d (Ω d ,t i ) 2 +w2max{|e d (Ω d ,t i )|}, where w1 and w2 are error weights, so that in J d When the minimum value is reached, the robotic system can determine the respective dynamic friction coefficient.

[0213] By first calibrating the static friction coefficient and updating the second friction compensation model, and then combining the friction torque during the motor operation to construct the second error function, the dynamic friction coefficient is determined, ensuring the accuracy of the dynamic friction coefficient calibration, thereby improving the control accuracy of the robot joint module.

[0214] Step 705 , when the position of the robot joint module is fixed and the joint angular velocity is zero, the joint stiffness coefficient and the damping coefficient are calibrated according to the joint torque oscillation characteristics.

[0215] In some embodiments, in addition to calibrating joint friction, the joint stiffness coefficient and joint damping coefficient also need to be determined during the control of the robot joint module. Therefore, before controlling the operation of the robot joint module, the robot system also needs to calibrate the joint stiffness and damping.

[0216] In one possible embodiment, the robot system can cause joint oscillation by tapping the joint when the position of the robot joint module is fixed and the joint angular velocity is zero, thereby determining the joint stiffness coefficient and joint damping coefficient based on the joint torque oscillation characteristics, and calibrating the joint stiffness coefficient and damping coefficient.

[0217] Optionally, when the robot joint module is fixed and the joint angular velocity is zero, the joint dynamic equation can be expressed as:

[0218] in, is the moment of inertia independent of joint angle, is the joint angular acceleration, g(q) is the gravity matrix, τ is the joint torque, K is the joint stiffness coefficient, D is the joint damping coefficient, τ ext is the external torque, is a fixed joint angle, and defines satisfy in, and is the joint torque and joint angle when the joint is in equilibrium.

[0219] Furthermore, by performing a first-order Taylor expansion on the gravity matrix g(q), we can obtain:

[0220] Thus, the oscillation equation of the joint can be determined as Where α is the attenuation coefficient, w is the angular velocity, is the deflection angle, It is determined by the coefficient of the general solution of the above second-order differential equation and represents the force of each tap.

[0221] Furthermore, based on the joint dynamics equation, the first-order Taylor expansion of the gravity matrix, and the joint oscillation equation, the joint damping coefficient can be determined as The joint stiffness coefficient is

[0222] In the above embodiment, by sequentially executing the parameter calibration process shown in FIG8 , sufficient basis is provided for the parameter calculation involved in the subsequent control of the robot module operation process, thereby improving the control efficiency of the robot joint module and optimizing the control accuracy of the robot joint module.

[0223] Please refer to FIG9 , which shows a control algorithm implementation framework of a robot system provided by an exemplary embodiment of the present application.

[0224] In the process of controlling each robot joint module in the robot system using the control method of the robot system provided by the embodiment of the present application, when performing parameter measurement and detection on each robot joint module respectively, even if there are multiple different sensor configuration states, the robot system can also determine the strategy according to the parameters corresponding to each sensor configuration state respectively, and obtain the remaining parameter simulation values ​​based on the existing parameter measurement values ​​through indirect simulation, so as to determine the full amount of motor parameters and joint parameters used to perform closed-loop control on each robot joint module, so that the central controller can determine the motor control torque corresponding to each robot joint module according to a unified control strategy framework, without setting corresponding controllers for robot joint modules with different sensor configuration states respectively, thereby reducing the control cost of the robot system and improving the control efficiency of the robot system while ensuring the control accuracy.

[0225] Please refer to FIG10 , which shows a block diagram of a control device for a robot system provided by an exemplary embodiment of the present application. The device includes:

[0226] The robot system includes at least one robot joint module, each of the at least one robot joint module includes a motor and a joint, and the motor is used to drive the joint to achieve joint movement;

[0227] A state determination module 1001 is used to determine the sensor configuration state of the robot joint module, wherein the sensor configuration state includes the motor sensor configuration state of the motor in the robot joint module and the joint sensor configuration state of the joint in the robot joint module;

[0228] A parameter determination module 1002 is configured to determine motor parameters and joint parameters for closed-loop control of the robot joint module based on parameter measurement values ​​collected in the sensor configuration state and a parameter determination strategy corresponding to the sensor configuration state;

[0229] The control module 1003 is used to determine the motor control torque of the motor based on the motor parameters, the joint parameters and the control strategy, and control the motor to achieve closed-loop control of the robot joint module.

[0230] Optionally, the parameter determination module 1002 includes:

[0231] A first parameter determination unit is configured to, when the motor sensor and the joint sensor are fully configured, determine the parameter measurement values ​​obtained from the motor sensor as the motor parameters for closed-loop control of the robot joint module, and determine the parameter measurement values ​​obtained from the joint sensor as the joint parameters for closed-loop control of the robot joint module;

[0232] a second parameter determination unit, configured to determine, when the motor sensor is fully configured and the joint sensor is not fully configured, joint parameter simulation values ​​based on the parameter measurement values ​​and the parameter determination strategy; and determine, based on the joint parameter simulation values ​​and the parameter measurement values, the motor parameters and the joint parameters for closed-loop control of the robot joint module;

[0233] The third parameter determination unit is used to determine the motor parameter simulation value based on the parameter measurement value and the parameter determination strategy when the motor sensor is not fully configured and the joint sensor is fully configured; and determine the motor parameters and the joint parameters for closed-loop control of the robot joint module based on the motor parameter simulation value and the parameter measurement value.

[0234] Optionally, the motor sensor includes a motor torque sensor and a motor position sensor, and the joint sensor includes a joint torque sensor and a joint position sensor; the motor parameters include a motor angle and a motor torque, and the joint parameters include a joint angle and a joint torque;

[0235] The second parameter determination unit is configured to:

[0236] When the motor sensor is fully configured and the joint sensor is not configured, the joint angle simulation value and the joint torque simulation value are obtained by indirect simulation based on the motor torque measurement value and the motor angle measurement value;

[0237] When the motor sensor and the joint torque sensor are fully configured, the joint angle simulation value is obtained by indirect simulation based on the motor torque measurement value and the motor angle measurement value;

[0238] When the motor sensor and the joint position sensor are fully configured, the joint torque simulation value is obtained by indirect simulation based on the motor angle measurement value and the joint angle measurement value;

[0239] The third parameter determination unit is configured to:

[0240] When the motor torque sensor is configured and the joint sensor is fully configured, the motor angle simulation value is obtained through indirect simulation based on the joint angle measurement value and the joint torque measurement value.

[0241] Optionally, the second parameter determination unit is further configured to:

[0242] Determining the motor angular velocity and the motor angular acceleration based on the motor angle measurement value;

[0243] determining a reducer input torque based on the motor angular acceleration and the motor torque measurement according to a first dynamic characteristic of the motor;

[0244] determining a joint angular velocity simulation value according to the second dynamic characteristic of the joint, based on the reducer input torque, a stiffness characteristic between the motor angle at a current moment and the joint angle at a previous moment, and a damping characteristic between the motor angular velocity at a current moment and the joint angular velocity;

[0245] performing differential processing on the joint angular velocity simulation value to obtain a joint angular acceleration estimation value;

[0246] determining an estimated external torque according to the third dynamic characteristic of the joint, based on the simulated joint angular velocity, the estimated joint angular acceleration, and the joint angle at the previous moment;

[0247] According to the third dynamic characteristic, based on the joint angular velocity simulation value, the reducer input torque, the external torque estimation value and the joint angle at the previous moment, a joint angular acceleration simulation value is obtained by inverse solution;

[0248] The joint angle simulation value is obtained by numerical integration based on the joint angle at the previous moment, the joint angular velocity simulation value, and the joint angular acceleration simulation value.

[0249] Optionally, the second parameter determination unit is further configured to:

[0250] determining a first angle difference based on the motor angle measurement and the joint angle measurement according to a fourth dynamic characteristic of the joint;

[0251] The joint torque simulation value is obtained by performing stiffness calculation on the first angle difference value using a joint stiffness coefficient.

[0252] Optionally, the third parameter determination unit is further configured to:

[0253] According to the fourth dynamic characteristic of the joint, based on the joint torque measurement value and the joint stiffness coefficient, obtaining a second angle difference between the motor angle and the joint angle by reverse solution;

[0254] The motor angle simulation value is determined based on the second angle difference and the joint angle measurement value.

[0255] Optionally, the device further includes:

[0256] A first coefficient calibration module is used to calibrate the motor torque coefficient of the robot joint module based on the motor torque, joint torque and first motor friction torque generated when the motor in the robot joint module rotates forward and reverse at the same position;

[0257] a model determination module, configured to determine, based on the dynamic characteristics of the motor and the joint, a first friction compensation model applicable to the joint and a second friction compensation model applicable to the motor;

[0258] a first torque determination module, configured to determine a joint friction torque of the joint based on a joint angular velocity, a joint position friction coefficient, and a model friction coefficient corresponding to the first friction compensation model;

[0259] a second torque determination module, configured to determine a second motor friction torque of the motor based on the motor angular velocity, the static friction coefficient corresponding to the second friction compensation model, and the dynamic friction coefficient;

[0260] The second coefficient calibration module is used to calibrate the stiffness coefficient and damping coefficient of the joint according to the joint torque oscillation characteristics when the position of the robot joint module is fixed and the joint angular velocity is zero.

[0261] Optionally, the device further includes:

[0262] a model building module, configured to build the second friction compensation model based on bristle deformation, the motor angular velocity, and static parameters when the motor is in a quasi-static state, wherein the static parameters are determined by parameter identification based on a genetic algorithm and a speed friction curve;

[0263] a third coefficient calibration module, configured to calibrate the static friction coefficient according to the motor angular velocity when the motor is in forward rotation and the motor angular velocity when the motor is in reverse rotation, based on a first friction identification error and a first error function;

[0264] A fourth coefficient calibration module is configured to calibrate the dynamic friction coefficient based on the second friction compensation model, the second friction identification error, and the second error function.

[0265] Optionally, the third coefficient calibration module is used to:

[0266] When the motor is in the forward rotation, determining a first forward friction identification error based on a forward friction torque measurement value and a forward friction torque prediction value output by the second friction compensation model;

[0267] determining a first forward error function based on the first forward friction identification error;

[0268] determining a forward static friction coefficient when the first forward error function satisfies a first error threshold;

[0269] When the motor is in the reverse rotation, determining a first reverse friction identification error based on a reverse friction torque measurement value and a reverse friction torque prediction value output by the second friction compensation model;

[0270] determining a first reverse error function based on the first reverse friction identification error;

[0271] determining a reverse static friction coefficient when the first reverse error function satisfies a second error threshold;

[0272] The static friction coefficient of the second friction compensation model is calibrated based on the positive static friction coefficient and the negative static friction coefficient.

[0273] Optionally, the control module 1003 includes:

[0274] a first torque determining unit, configured to determine a first motor control torque of the motor based on the motor parameters, the joint parameters, and a control strategy based on inverse kinematics when following control is performed on the joint;

[0275] The second torque determination unit is configured to determine a second motor control torque of the motor based on the motor parameters, the joint parameters, and a control strategy based on Cartesian desired force when following control is performed on the Cartesian task.

[0276] Optionally, the first torque determination unit is configured to:

[0277] Based on the Jacobian matrix, the Cartesian velocity and the module position characteristics of the robot joint module, the desired joint angular velocity is obtained through inverse kinematics processing;

[0278] Determining a motor angle difference and a motor angular velocity difference based on the desired joint angular velocity, the desired joint angle, and the motor angle;

[0279] determining a first control compensation amount based on the desired joint angular velocity, the desired joint angle, the motor angle difference, and the motor angular velocity difference;

[0280] According to a first control law corresponding to a control strategy based on inverse kinematics, the first motor control torque is determined based on the motor angle difference, the motor angular velocity difference, the first control compensation amount, and the joint torque.

[0281] Optionally, the second torque determination unit is configured to:

[0282] Based on the Jacobian matrix, the joint stiffness coefficient, the joint damping coefficient, the Cartesian velocity and the module position characteristics of the robot joint module, the Cartesian desired torque is obtained through forward kinematics processing;

[0283] Determining a second control compensation amount based on the Cartesian desired torque, the motor angular acceleration, the desired joint angular velocity, and the desired joint angle;

[0284] According to a second control law corresponding to a control strategy based on Cartesian desired force, the second motor control torque is determined based on the desired joint angular velocity, the desired joint angle, the Cartesian desired torque, the second control compensation amount, and the joint torque.

[0285] In summary, in the embodiment of the present application, in order to be able to perform closed-loop control on the robot joint module with different sensor configuration states under a unified control framework, it is necessary to first determine the sensor configuration state of the robot joint module, thereby determining the motor parameters and joint parameters required for closed-loop control of the robot joint module according to the parameter measurement values ​​collected under the sensor configuration state and the parameter determination strategy corresponding to the current sensor configuration state, and then obtaining the motor control torque corresponding to the control strategy according to the motor parameters, joint parameters and control strategy, and controlling the motor with the motor control torque, thereby realizing closed-loop control of the robot joint module. Using the solution provided by the embodiment of the present application, the corresponding parameter determination strategy is set for different sensor configuration states, thereby obtaining the full amount of motor parameters and joint parameters required for closed-loop control, and then performing closed-loop control on the robot joint modules with different sensor configuration states with a unified control framework, without the need to adopt a specific control strategy for the robot joint modules with different sensor configuration states, thereby achieving while improving the control accuracy of the robot joint module and reducing the control cost of the robot system.

[0286] It should be noted that the apparatus provided in the above embodiments is merely exemplified by the division of the above functional modules. In actual applications, the above functions can be distributed among 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 are based on the same concept. The implementation process is detailed in the method embodiments and will not be repeated here.

[0287] Please refer to FIG11 , which shows a block diagram of a robot system 1100 according to an exemplary embodiment of the present application. Generally, the robot system 1100 includes a processor 1101 , a memory 1102 , and at least one robot joint module 1103 .

[0288] The processor 1101 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 1101 may be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 1101 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 1101 may be integrated with a graphics processing unit (GPU), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 1101 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.

[0289] The memory 1102 may include one or more computer-readable storage media, which may be tangible and non-transitory. The memory 1102 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices and flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1102 is used to store at least one instruction, which is used to be executed by the processor 1101 to implement the control method of the robot system provided in the embodiment of the present application.

[0290] The robot joint module 1103 may include motors, joints and sensors, and a variety of different sensor configuration schemes may be adopted in the motors and joints. For example, the motor side may be configured with a motor torque sensor and a motor position sensor, and the joint side may be configured with a joint torque sensor and a joint position sensor; for another example, the motor side may be configured with a motor torque sensor and a motor position sensor, and the joint side may not be configured with a joint sensor, etc. A reducer and other possible transmission devices may also be installed between the motor and the joint in the robot joint module 1103.

[0291] In some embodiments, the robot system 1100 may optionally further include a peripheral device interface 1104 and at least one peripheral device.

[0292] The peripheral device interface 1104 can be used to connect at least one peripheral device related to input / output (I / O) to the processor 1101 and the memory 1102. In some embodiments, the processor 1101, the memory 1102, and the peripheral device interface 1104 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1101, the memory 1102, and the peripheral device interface 1104 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.

[0293] Those skilled in the art will appreciate that the structure shown in FIG11 does not limit the robot system 1100 and may include more or fewer components than shown, or combine certain components, or adopt a different component arrangement.

[0294] An embodiment of the present application further provides a computer-readable storage medium storing at least one program, which is loaded and executed by a processor to implement the control method of the robot system as described in the above embodiments.

[0295] According to one aspect of the present application, a computer program product is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a terminal reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the terminal to perform the control method of a robot system provided in various optional implementations of the above aspects.

[0296] Those skilled in the art will appreciate that in one or more of the above examples, the functions described in the embodiments of the present application can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable storage medium or transmitted as one or more instructions or codes on a computer-readable storage medium. Computer-readable storage media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of computer programs from one place to another. The storage medium can be any available medium that can be accessed by a general-purpose or special-purpose computer.

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

Claims

1. A control method for a robot system, the method being performed by the robot system, the robot system comprising at least one robot joint module, each of the at least one robot joint module comprising a motor and a joint, the motor being configured to drive the joint to achieve joint motion; The method comprises: Determining a sensor configuration state of a robot joint module, wherein the sensor configuration state includes a motor sensor configuration state of a motor in the robot joint module and a joint sensor configuration state of a joint in the robot joint module; Determining motor parameters and joint parameters for closed-loop control of the robot joint module based on parameter measurement values ​​collected in the sensor configuration state and a parameter determination strategy corresponding to the sensor configuration state; Based on the motor parameters, the joint parameters and the control strategy, the motor control torque of the motor is determined, and the motor is controlled to achieve closed-loop control of the robot joint module.

2. The method according to claim 1, wherein The method of determining the motor parameters and joint parameters for closed-loop control of the robot joint module based on the parameter measurement values ​​collected in the sensor configuration state and the parameter determination strategy corresponding to the sensor configuration state includes: When the motor sensor and the joint sensor are fully configured, the parameter measurement values ​​obtained from the motor sensor are determined as the motor parameters for closed-loop control of the robot joint module, and the parameter measurement values ​​obtained from the joint sensor are determined as the joint parameters for closed-loop control of the robot joint module; When the motor sensor is fully configured and the joint sensor is not fully configured, determine the joint parameter simulation value based on the parameter measurement value and the parameter determination strategy; determine the motor parameter and the joint parameter for closed-loop control of the robot joint module based on the joint parameter simulation value and the parameter measurement value; When the motor sensor is not fully configured and the joint sensor is fully configured, the motor parameter simulation value is determined based on the parameter measurement value and the parameter determination strategy; based on the motor parameter simulation value and the parameter measurement value, the motor parameters and the joint parameters for closed-loop control of the robot joint module are determined.

3. The method according to claim 2, wherein: The motor sensor includes a motor torque sensor and a motor position sensor, and the joint sensor includes a joint torque sensor and a joint position sensor; the motor parameters include a motor angle and a motor torque, and the joint parameters include a joint angle and a joint torque; The method of determining a joint parameter simulation value based on the parameter measurement value and the parameter determination strategy when the motor sensor is fully configured and the joint sensor is not fully configured includes: When the motor sensor is fully configured and the joint sensor is not configured, the joint angle simulation value and the joint torque simulation value are obtained by indirect simulation based on the motor torque measurement value and the motor angle measurement value; When the motor sensor and the joint torque sensor are fully configured, the joint angle simulation value is obtained by indirect simulation based on the motor torque measurement value and the motor angle measurement value; When the motor sensor and the joint position sensor are fully configured, the joint torque simulation value is obtained by indirect simulation based on the motor angle measurement value and the joint angle measurement value; The method of determining the motor parameter simulation value based on the parameter measurement value and the parameter determination strategy when the motor sensor is not fully configured and the joint sensor is fully configured includes: When the motor torque sensor is configured and the joint sensor is fully configured, the motor angle simulation value is obtained through indirect simulation based on the joint angle measurement value and the joint torque measurement value.

4. The method according to claim 3, wherein: The method of obtaining the joint angle simulation value by indirect simulation based on the motor torque measurement value and the motor angle measurement value includes: Determining the motor angular velocity and the motor angular acceleration based on the motor angle measurement value; determining a reducer input torque based on the motor angular acceleration and the motor torque measurement according to a first dynamic characteristic of the motor; determining a joint angular velocity simulation value according to the second dynamic characteristic of the joint, based on the reducer input torque, a stiffness characteristic between the motor angle at a current moment and the joint angle at a previous moment, and a damping characteristic between the motor angular velocity at a current moment and the joint angular velocity; performing differential processing on the joint angular velocity simulation value to obtain a joint angular acceleration estimation value; determining an estimated external torque according to the third dynamic characteristic of the joint, based on the simulated joint angular velocity, the estimated joint angular acceleration, and the joint angle at the previous moment; According to the third dynamic characteristic, based on the joint angular velocity simulation value, the reducer input torque, the external torque estimation value and the joint angle at the previous moment, a joint angular acceleration simulation value is obtained by inverse solution; The joint angle simulation value is obtained by numerical integration based on the joint angle at the previous moment, the joint angular velocity simulation value, and the joint angular acceleration simulation value.

5. The method according to claim 3, wherein The method of obtaining the joint torque simulation value by indirect simulation based on the motor angle measurement value and the joint angle measurement value includes: determining a first angle difference based on the motor angle measurement and the joint angle measurement according to a fourth dynamic characteristic of the joint; The joint torque simulation value is obtained by performing stiffness calculation on the first angle difference value using a joint stiffness coefficient.

6. The method according to claim 3, wherein: The method of obtaining a motor angle simulation value by indirect simulation based on the joint angle measurement value and the joint torque measurement value includes: According to the fourth dynamic characteristic of the joint, based on the joint torque measurement value and the joint stiffness coefficient, obtaining a second angle difference between the motor angle and the joint angle by reverse solution; The motor angle simulation value is determined based on the second angle difference and the joint angle measurement value.

7. The method according to any one of claims 1 to 6, wherein: The method further comprises: Calibrate the motor torque coefficient of the robot joint module based on the motor torque, joint torque and first motor friction torque generated when the motor in the robot joint module rotates forward and reverse at the same position; Determining a first friction compensation model applicable to the joint and a second friction compensation model applicable to the motor based on dynamic characteristics of the motor and the joint; determining a joint friction torque of the joint based on the joint angular velocity, the joint position friction coefficient, and the model friction coefficient corresponding to the first friction compensation model; determining a second motor friction torque of the motor based on the motor angular velocity, the static friction coefficient corresponding to the second friction compensation model, and the dynamic friction coefficient; When the position of the robot joint module is fixed and the joint angular velocity is zero, the stiffness coefficient and the damping coefficient of the joint are calibrated according to the joint torque oscillation characteristics.

8. The method according to claim 7, wherein: The method further comprises: When the motor is in a quasi-static state, constructing a second friction compensation model based on the bristle deformation, the motor angular velocity and static parameters, wherein the static parameters are determined by parameter identification based on a genetic algorithm and a speed friction curve; calibrating the static friction coefficient according to the motor angular velocity when the motor is in forward rotation and the motor angular velocity when the motor is in reverse rotation, based on a first friction identification error and a first error function; The dynamic friction coefficient is calibrated based on the second friction compensation model, the second friction identification error, and the second error function.

9. The method according to claim 8, wherein The step of calibrating the static friction coefficient based on the motor angular velocity when the motor is in forward rotation and the motor angular velocity when the motor is in reverse rotation, based on a first friction identification error and a first error function, includes: When the motor is in the forward rotation, determining a first forward friction identification error based on a forward friction torque measurement value and a forward friction torque prediction value output by the second friction compensation model; determining a first forward error function based on the first forward friction identification error; determining a forward static friction coefficient when the first forward error function satisfies a first error threshold; When the motor is in the reverse rotation, determining a first reverse friction identification error based on a reverse friction torque measurement value and a reverse friction torque prediction value output by the second friction compensation model; determining a first reverse error function based on the first reverse friction identification error; determining a reverse static friction coefficient when the first reverse error function satisfies a second error threshold; The static friction coefficient of the second friction compensation model is calibrated based on the positive static friction coefficient and the negative static friction coefficient.

10. The method according to any one of claims 1 to 9, wherein: The determining of the motor control torque of the motor based on the motor parameters, the joint parameters and the control strategy includes: In a case where following control is performed on the joint, determining a first motor control torque of the motor based on the motor parameters, the joint parameters, and a control strategy based on inverse kinematics; In the case of performing following control on a Cartesian task, a second motor control torque of the motor is determined based on the motor parameters, the joint parameters, and a control strategy based on Cartesian desired forces.

11. The method according to claim 10, wherein: The determining of the first motor control torque of the motor based on the motor parameters, the joint parameters, and an inverse kinematics-based control strategy includes: Based on the Jacobian matrix, the Cartesian velocity and the module position characteristics of the robot joint module, the desired joint angular velocity is obtained through inverse kinematics processing; Determining a motor angle difference and a motor angular velocity difference based on the desired joint angular velocity, the desired joint angle, and the motor angle; determining a first control compensation amount based on the desired joint angular velocity, the desired joint angle, the motor angle difference, and the motor angular velocity difference; According to a first control law corresponding to a control strategy based on inverse kinematics, the first motor control torque is determined based on the motor angle difference, the motor angular velocity difference, the first control compensation amount, and the joint torque.

12. The method according to claim 10, wherein: The determining the second motor control torque of the motor based on the motor parameters, the joint parameters, and a control strategy based on Cartesian expected force includes: Based on the Jacobian matrix, the joint stiffness coefficient, the joint damping coefficient, the Cartesian velocity and the module position characteristics of the robot joint module, the Cartesian desired torque is obtained through forward kinematics processing; Determining a second control compensation amount based on the Cartesian desired torque, the motor angular acceleration, the desired joint angular velocity, and the desired joint angle; According to a second control law corresponding to a control strategy based on Cartesian desired force, the second motor control torque is determined based on the desired joint angular velocity, the desired joint angle, the Cartesian desired torque, the second control compensation amount, and the joint torque.

13. A control device for a robot system, the robot system comprising at least one robot joint module, each of the at least one robot joint module comprising a motor and a joint, the motor being configured to drive the joint to achieve joint motion; The device comprises: A state determination module is used to determine the sensor configuration state of the robot joint module, wherein the sensor configuration state includes the motor sensor configuration state of the motor in the robot joint module and the joint sensor configuration state of the joint in the robot joint module; a parameter determination module for determining motor parameters and joint parameters for closed-loop control of the robot joint module based on parameter measurement values ​​collected in the sensor configuration state and a parameter determination strategy corresponding to the sensor configuration state; A control module is used to determine the motor control torque of the motor based on the motor parameters, the joint parameters and the control strategy, and control the motor to achieve closed-loop control of the robot joint module.

14. A robot system, comprising a processor, a memory and a robot joint module; the memory stores at least one computer instruction, and the at least one computer instruction is used to be executed by the processor to implement the control method of the robot system as described in any one of claims 1 to 12.

15. A computer-readable storage medium, wherein at least one computer instruction is stored in the computer-readable storage medium, and the at least one computer instruction is loaded and executed by a processor to implement the control method of the robot system according to any one of claims 1 to 12.

16. A computer program product, comprising 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, so that the robot system executes the control method of the robot system according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Control method of man machine interaction mechanical arm

    CN101332604A

  • Elastic joint torque control method and device, readable storage medium and robot

    CN114260892A

  • Feed direct torque control method and device based on friction compensation and storage medium

    CN114527710A

  • Robot motion control method and device, robot and storage medium

    CN114986526A

  • Optimized torque feedback method, system and equipment for mechanical arm joint

    CN115741697A

Cited By

  • Robot friction parameter identification method and system based on nominal constraint

    CN121105002A

  • Servo closed-loop control system of six-joint robot

    CN121821405A

  • Control method, control device, robot device, storage medium, and program product

    CN122353627A

  • A torque estimation method based on dynamic nucleus DMP

    CN122366217A