Method for identifying friction of robot joint

CN117841052BActive Publication Date: 2026-06-26AUBO (BEIJING) ROBOTICS TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
AUBO (BEIJING) ROBOTICS TECH CO LTD
Filing Date
2023-12-28
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing technologies have low accuracy in calculating joint friction in robots, fail to effectively decouple the relationship between friction and angular velocity and temperature, and do not consider the influence of rotor inertia and load on friction.

Method used

By controlling the robot joints to move at a constant speed at different commanded angular velocities for multiple control cycles in multiple cyclic movements, recording the state variables, decoupling the relationship between frictional current and temperature and angular velocity, and combining the load torque, a formula for calculating frictional force is fitted.

Benefits of technology

The accuracy of friction force identification has been improved by taking into account the influence of rotor inertia and load on friction force, and the accuracy of friction current identification has also been improved, thereby improving the accuracy of friction force identification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117841052B_ABST
    Figure CN117841052B_ABST
Patent Text Reader

Abstract

The application provides a robot joint friction force identification method, the method comprises the following steps: controlling the robot joint to move at a uniform speed under each instruction angular velocity for multiple control periods in each cycle movement, and recording a first state quantity; identifying the relationship curve between the friction current and the temperature and the angular velocity based on the first state quantity; controlling the robot joint to move after installing a load and recording a second state quantity; identifying the relationship curve between the friction current and the load torque based on the second state quantity; and calculating the friction force based on the current state quantity of the robot joint to be identified and each relationship curve. Thus, the robot joint is controlled to move at a uniform speed for multiple control periods while considering the temperature and the angular velocity of the robot joint, and the friction current is identified while considering the influence of the rotor inertia and the load on the friction current, so that the friction current identification accuracy is improved, and thus the friction force identification accuracy is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotics, and more specifically to a method for identifying the frictional force of robot joints. Background Technology

[0002] Correct and effective control of robots relies heavily on the identification of frictional forces at the robot's joints. Current technologies often use quadratic polynomials to piecewise fit the relationship between frictional force and angular velocity and temperature, resulting in low accuracy in frictional force calculations. Summary of the Invention

[0003] To address the problem of low accuracy in friction force calculation in related technologies, the present invention proposes the following technical solution.

[0004] A first aspect of the present invention provides a method for identifying the friction force of a robot joint, comprising the following steps: controlling the robot joint to perform multiple cyclic movements, and in each cyclic movement, moving at a constant speed for multiple control cycles at various commanded angular velocities, and recording a first state quantity of the robot joint at each commanded angular velocity, wherein each cyclic movement corresponds to a commanded temperature and multiple different commanded angular velocities of the robot joint; identifying the relationship curve between the frictional current and temperature and the relationship curve between the frictional current and angular velocity of the robot joint based on the first state quantity; determining the current state quantity of the robot joint to be identified, and calculating the friction force of the robot joint to be identified based on the current state quantity, the relationship curve between the frictional current and temperature, and the relationship curve between the frictional current and angular velocity.

[0005] In addition, the method for identifying the friction force of robot joints according to the above embodiments of the present invention may also have the following additional technical features.

[0006] According to one embodiment of the present invention, before determining the current state quantity of the robot joint to be identified, the method further includes: after installing a load at the robot joint, controlling the movement of the robot joint and recording a second state quantity of the robot joint; and identifying the relationship curve between the frictional current and the load torque of the robot joint based on the second state quantity. Based on the current state quantity, the relationship curve between the frictional current and temperature, and the relationship curve between the frictional current and angular velocity, the frictional force of the robot joint to be identified is calculated, including: calculating the frictional force of the robot joint to be identified based on the current state quantity, the relationship curve between the frictional current and temperature, the relationship curve between the frictional current and angular velocity, and the relationship curve between the frictional current and the load torque.

[0007] According to one embodiment of the present invention, each cycle of motion includes multiple speed motion modes, including a low-speed motion mode, a medium-speed motion mode and a high-speed motion mode, each speed motion mode corresponding to at least one commanded angular velocity, and the robot joints rotating clockwise and / or counterclockwise under each speed motion mode.

[0008] According to one embodiment of the present invention, the relationship curves between the frictional current and temperature and between the frictional current and angular velocity of the robot joint are identified based on the first state variables, including: calculating the first average state variable at each commanded angular velocity during each cycle of motion based on all the first state variables at each commanded angular velocity during each cycle of motion; and identifying the relationship curves between the frictional current and temperature and between the frictional current and angular velocity of the robot joint based on the first average state variables at each commanded angular velocity during all cycles of motion.

[0009] According to one embodiment of the present invention, the first state quantity includes a first actual angular velocity, a first actual temperature, and a first actual frictional current; the first average state quantity includes a first average angular velocity, a first average temperature, and a first average frictional current. Based on the first average state quantity at each commanded angular velocity during all cyclic movements, the relationship curves between the frictional current and temperature, and between the frictional current and angular velocity of the robot joint are identified. This includes: calculating the average value of all first average angular velocities corresponding to each commanded angular velocity during all cyclic movements to obtain the overall average angular velocity corresponding to each commanded angular velocity; calculating the difference between each first average angular velocity and the overall average angular velocity to obtain the change in frictional current caused by the temperature of the robot joint; calculating the difference between each first average frictional current and the change in frictional current caused by the temperature to obtain the change in frictional current caused by the angular velocity of the robot joint; fitting the relationship curve between the frictional current and temperature of the robot joint based on the first average angular velocity, the first average temperature, and the change in frictional current caused by the temperature; and fitting the relationship curve between the frictional current and angular velocity of the robot joint based on the first average angular velocity and the change in frictional current caused by the angular velocity.

[0010] According to one embodiment of the present invention, the relationship curve between the triboelectric current and temperature of the robot joint is obtained by fitting the following formula:

[0011]

[0012] Among them, fric temp The value represents the change in frictional current caused by temperature, v represents the first average angular velocity, T represents the first average temperature, and Ft1, Ft2, and Ft3 are all friction coefficients.

[0013] According to one embodiment of the present invention, the relationship curve between the frictional current and angular velocity of the robot joint is obtained by fitting the following formula:

[0014]

[0015] Among them, fric vel The values ​​represent the change in frictional current caused by angular velocity, where v represents the first average angular velocity, and Fc, Fs, and v are the values ​​of these variables. s Fs, Fv0, Fv1, Fv2 and Fv3 are all friction coefficients, and the range of Fs is determined according to the static friction current of the robot joint.

[0016] According to one embodiment of the present invention, the static friction current of the robot joint is determined by the following steps: determining the positive static friction current and the reverse static friction current of the robot joint at multiple different command angles; calculating the positive static friction current of the robot joint based on the positive static friction current of the robot joint at all command angles, and calculating the reverse static friction current of the robot joint based on the reverse static friction current of the robot joint at all command angles.

[0017] According to an embodiment of the present invention, determining the positive static friction current and the reverse static friction current of the robot joint at multiple different command angles includes: at each command angle, issuing a first command current within multiple control cycles to control the robot joint, and sampling a second actual angular velocity within each control cycle; when the second actual angular velocity within multiple consecutive control cycles is above a first preset angular velocity, recording the first first command current within the multiple consecutive control cycles and using it as the positive static friction current at that command angle, wherein the first command current within all control cycles corresponding to each command angle increases sequentially; at each command angle, issuing a second command current within multiple control cycles to control the robot joint, and sampling a third actual angular velocity within each control cycle; when the third actual angular velocity within multiple consecutive control cycles is below a second preset angular velocity, recording the first second command current within the multiple consecutive control cycles and using it as the reverse static friction current at that command angle, wherein the second command current within all control cycles corresponding to each command angle decreases sequentially.

[0018] According to one embodiment of the present invention, calculating the positive static friction current of the robot joint based on the positive static friction current at all commanded angles, and calculating the reverse static friction current of the robot joint based on the reverse static friction current at all commanded angles, includes: calculating the average value of the positive static friction current of the robot joint at all commanded angles to obtain the positive static friction current of the robot joint; and calculating the average value of the reverse static friction current of the robot joint at all commanded angles to obtain the reverse static friction current of the robot joint.

[0019] According to one embodiment of the present invention, controlling the movement of the robot joint and recording the second state quantity of the robot joint includes: controlling the robot joint to rotate clockwise one full circle at a constant speed from a 0-degree angle, and recording the positive state quantity of the robot joint after rotating clockwise one full circle; controlling the robot joint to rotate counterclockwise one full circle at a constant speed from a 0-degree angle, and recording the reverse state quantity of the robot joint after rotating counterclockwise one full circle.

[0020] According to one embodiment of the present invention, the relationship curve between the frictional current and the load torque of the robot joint is obtained based on the second state variable, including: determining the load torque required for the robot joint, wherein the load torque causes the torque borne by the robot joint in a stationary state to reach the maximum allowable average load torque of the robot joint; and fitting the relationship curve between the frictional current and the load torque of the robot joint according to the positive state variable, the negative state variable and the load torque.

[0021] According to one embodiment of the present invention, the positive state quantity includes the positive actual frictional current, and the reverse state quantity includes the reverse actual frictional current. The relationship curve between the frictional current and the load torque of the robot joint is obtained by fitting the positive state quantity, the reverse state quantity, and the load torque, including: calculating the average value of the positive actual frictional current and the reverse actual frictional current to obtain the change in frictional current caused by the load torque; and fitting the relationship curve between the frictional current and the load torque of the robot joint based on the load torque and the change in frictional current caused by the load torque.

[0022] According to one embodiment of the present invention, the relationship curve between the frictional current and the load torque of the robot joint is obtained by fitting the following formula:

[0023] fric load =c1*load 2 +c2*load

[0024] Among them, fric loadThis represents the change in frictional current caused by the load torque, where load represents the load torque, and c1 and c2 are both friction coefficients.

[0025] According to one embodiment of the present invention, the number of cycles is determined based on the room temperature of the robot joint, a preset temperature difference, and the highest temperature at which the robot joint is used.

[0026] The technical solution of this invention first controls the robot joint to perform multiple cyclic movements, and in each cyclic movement, moves at a constant speed for multiple control cycles at various commanded angular velocities, and records the first state quantity of the robot joint at each commanded angular velocity. Based on the first state quantity, the relationship curve between the frictional current and temperature and the relationship curve between the frictional current and angular velocity of the robot joint are identified. Finally, the current state quantity of the robot joint to be identified is determined, and the frictional force of the robot joint to be identified is calculated based on the current state quantity and the various relationship curves.

[0027] Therefore, by controlling the robot joint to move at a constant speed for multiple control cycles while taking into account the robot joint temperature and angular velocity, and by identifying the friction current while taking into account the influence of rotor inertia and load on the friction current, the accuracy of friction current identification can be improved, thereby improving the accuracy of friction force identification. Attached Figure Description

[0028] Figure 1 This is a flowchart of a method for identifying the friction force of a robot joint according to an embodiment of the present invention.

[0029] Figure 2 This is a flowchart of a method for identifying the friction force of a robot joint according to an embodiment of the present invention.

[0030] Figure 3 This is a schematic diagram of the velocity trajectory of a robot joint performing a single cycle of motion according to an embodiment of the present invention.

[0031] Figure 4 This is a flowchart illustrating the relationship between frictional current and angular velocity, temperature, and load torque, according to an embodiment of the present invention. Detailed Implementation

[0032] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0033] In related technologies, when identifying robot joint friction, the relationship between robot joint friction and angular velocity and temperature is coupled together and not calculated separately; friction identification is not achieved during a constant-speed process, introducing current changes caused by rotor inertia; and the influence of the load borne by the joint on the friction is not considered, resulting in extremely low accuracy of friction identification. Therefore, this invention decouples the relationship between friction and angular velocity and temperature when identifying robot joint friction; achieves friction identification during a constant-speed process to account for current changes caused by rotor inertia; and considers the influence of the load borne by the joint on the friction, thereby improving the accuracy of friction identification.

[0034] Figure 1 This is a flowchart of a method for identifying the friction force of a robot joint according to an embodiment of the present invention.

[0035] like Figure 1 As shown, the friction force identification method for the robot joint includes the following steps S1 to S3.

[0036] S1 controls the robot joint to perform multiple cyclic movements, and in each cycle, it moves at a constant speed at various commanded angular velocities for multiple control cycles, and records the first state quantity of the robot joint at each commanded angular velocity. Each cycle corresponds to one commanded temperature and multiple different commanded angular velocities of the robot joint.

[0037] The command temperature and command angular velocity can be preset according to actual needs and experience. The command temperature corresponding to each cycle of motion is different, and the command angular velocity corresponding to each control cycle is also different (different in direction and / or magnitude).

[0038] The robot in this embodiment of the invention refers to a robot used as a sample or reference to identify the relationship or curve between joint friction current and angular velocity, temperature and load torque.

[0039] In this embodiment of the invention, the actual state quantity of the joint sampled when the robot joint is in cyclic motion is called the first state quantity, which includes any one or any combination of actual angle, actual angular velocity, actual temperature and actual friction current, respectively referred to as the first actual angle, the first actual angular velocity, the first actual temperature and the first actual friction current.

[0040] Specifically, when testing the relationship between the frictional current of a robot joint and its angular velocity and temperature, to decouple this relationship, the robot joint undergoes multiple cyclic movements at different command temperatures. To avoid the impact of rotor inertia-induced joint current changes on the frictional current test during acceleration and deceleration, the joint movement is segmented into uniform motions. That is, the robot joint is controlled to perform multiple cyclic movements at different command temperatures. One cycle corresponds to one command temperature and multiple command angular velocities. During each cycle, the robot joint is controlled to move uniformly at each command angular velocity for multiple control cycles; that is, one command angular velocity corresponds to multiple control cycles. In each control cycle, the actual state variables of the robot joint are sampled and recorded, which are the first state variables, thus obtaining a set of first state variables for each command angular velocity of the robot joint during each cycle.

[0041] For example, when controlling a robot joint to perform a single cycle of motion at a temperature of 20°C, it rotates at three different commanded angular velocities: 0.2 rad / s, -0.3 rad / s, and 2 rad / s. At each commanded angular velocity, it rotates at a constant speed for 500 control cycles, with each control cycle lasting 5 ms, thus completing one cycle. In the next cycle, the only difference from the previous cycle can be the temperature, for example, 23°C. This process of controlling the robot joint to perform multiple cycles is repeated. In each control cycle, a set of state variables of the robot joint is sampled: actual angle, actual angular velocity, actual temperature, and / or actual current.

[0042] It should be noted that controlling the robot to perform multiple cyclic movements at different command temperatures (i.e., the temperature changes in each cycle, but the speed remains constant), and each cycle involves moving at a constant speed for multiple control cycles at multiple different command angular velocities (i.e., the temperature remains constant in a single cycle, but the speed changes), helps to decouple the relationship between joint friction current and temperature and angular velocity, and to calculate the friction current caused by temperature and friction current caused by angular velocity separately, thereby improving the accuracy of friction force identification.

[0043] S2, based on the first state variable, the relationship curves between the frictional current and temperature of the robot joint and between the frictional current and angular velocity are obtained.

[0044] Specifically, after obtaining the first state quantity under each command angular velocity, the friction coefficient is obtained by processing and identifying all the first state quantities, respectively, in relation to the friction current of the robot joint and the temperature and angular velocity. Then, the relationship formula and relationship curve between the friction current and the temperature and angular velocity are obtained based on the friction coefficient.

[0045] S3. Determine the current state variables of the robot joint to be identified. Based on the current state variables, the relationship curve between frictional current and temperature, and the relationship curve between frictional current and angular velocity, calculate the frictional force of the robot joint to be identified.

[0046] In this embodiment of the invention, the robot to be identified refers to the robot whose joint friction force needs to be identified.

[0047] The current state quantity refers to the actual state quantity of the robot to be identified, which may include at least one of the current angular velocity of the joint, the current temperature, and the current load torque.

[0048] Specifically, when it is necessary to identify the frictional force of the joints of the robot to be identified, the current state quantity of the joints of the robot to be identified is first determined. Then, based on the current state quantity, the various relational formulas and relational curves obtained in step S2 above, the frictional current of the joints of the robot to be identified is calculated, and the frictional force of the robot to be identified is calculated based on the frictional current. The frictional force is then used to control the movement of the robotic arm of the robot to be identified.

[0049] Compared to related technologies, the embodiments of the present invention achieve the identification of the frictional current of robot joints by performing multiple control cycles of uniform motion at various commanded angular velocities and multiple cyclic motions at different commanded temperatures, taking into account the current changes caused by rotor inertia. This facilitates the decoupling of the relationship between frictional current and angular velocity and temperature. Therefore, the embodiments of the present invention improve the accuracy of identifying the frictional current of robot joints.

[0050] Therefore, the friction force identification method for robot joints in this embodiment of the invention, while considering the robot joint temperature and angular velocity, controls the robot joint to move at a constant speed for multiple control cycles, which helps to decouple the relationship between the friction current and the temperature and angular velocity respectively. Moreover, considering the current change caused by the rotor inertia, the identification of the friction current can improve the accuracy of friction current identification, thereby improving the accuracy of friction force identification.

[0051] In one embodiment of the present invention, such as Figure 2 As shown, the following steps may be included before step S3:

[0052] S4: After installing a load at the robot joint, control the movement of the robot joint and record the second state variable of the robot joint.

[0053] In this embodiment of the invention, the actual state quantity sampled when the robot joint carries the load and moves is called the second state quantity, which may include any one or any combination of the actual angle, actual angular velocity and actual current.

[0054] Specifically, to test the effect of the load on the joint on the triboelectric current, i.e., to test the relationship between the robot joint triboelectric current and the load torque, the robot joint is fixed to the base, and a load meeting certain conditions is installed at the joint flange. After the load is installed, the robot joint is controlled to move at a certain angular velocity at a constant speed for a period of time, and the actual state quantity of the robot joint is recorded, which is the second state quantity.

[0055] S5. Based on the second state variable, the relationship curve between the frictional current of the robot joint and the load torque is obtained.

[0056] Specifically, after obtaining all the second state variables, the friction coefficient, which is the relationship between the frictional current and the load torque of the robot joint, is obtained by processing and identifying all the second state variables. Then, the relationship curve between the frictional current and the load torque is obtained based on the friction coefficient.

[0057] Furthermore, referring to Figure 2 Step S3 may specifically include: determining the current state quantity of the robot joint to be identified, and calculating the frictional force of the robot joint to be identified based on the current state quantity, the relationship curve between frictional current and temperature, the relationship curve between frictional current and angular velocity, and the relationship curve between frictional current and load torque.

[0058] Specifically, when it is necessary to identify the frictional force of the joints of the robot to be identified, the current state quantities of the joints of the robot to be identified (current angular velocity, current temperature and current load torque) are first determined. Then, based on the current state quantities and the various relationships and curves obtained in steps S2 and S5 above, the frictional current of the joints of the robot to be identified is calculated, and the frictional force of the robot to be identified is calculated based on the frictional current. The frictional force is then used to control the movement of the robotic arm of the robot to be identified.

[0059] Compared to related technologies, the embodiments of the present invention achieve the identification of triboelectric current in robot joints by performing multiple control cycles of uniform motion at various commanded angular velocities and multiple cyclic motions at different commanded temperatures, taking into account the current changes caused by rotor inertia. This facilitates the decoupling of the relationship between triboelectric current and angular velocity and temperature, and achieves triboelectric current identification while considering the influence of the load borne by the joint on the triboelectric current. Therefore, the embodiments of the present invention improve the accuracy of triboelectric current identification in robot joints.

[0060] Therefore, the friction force identification method for robot joints in this embodiment of the invention, while considering the robot joint temperature and angular velocity, controls the robot joint to move at a constant speed for multiple control cycles, which helps to decouple the relationship between the friction current and the temperature and angular velocity respectively. Moreover, by considering the current change caused by the rotor inertia and the influence of the load borne by the joint on the friction current, the identification of the friction current can improve the accuracy of the friction current identification, thereby improving the accuracy of the friction force identification.

[0061] In one embodiment of the present invention, each cycle of motion includes multiple speed motion modes, including low-speed motion mode, medium-speed motion mode and high-speed motion mode. Each speed motion mode corresponds to at least one commanded angular velocity. In each speed motion mode, the robot joint rotates forward and / or in reverse.

[0062] Furthermore, the number of cycles is determined based on the room temperature of the robot joint, the preset temperature difference, and the highest temperature at which the robot joint is used.

[0063] The preset temperature difference can be set in advance based on actual needs and experience, such as 3℃. The maximum temperature of the robot joint during use is set in advance based on its own properties and the actual usage scenario.

[0064] Specifically, when testing the relationship between frictional current and angular velocity and temperature, to avoid the influence of rotor inertia-induced current changes on the frictional current or frictional force test during acceleration and deceleration, the joint is controlled to undergo multiple cyclic movements. Each cycle includes three different speed modes: low, medium, and high speed. Each of these modes includes at least one commanded angular velocity, and each commanded angular velocity is maintained at a constant speed for multiple control cycles. The joint rotates clockwise and / or counterclockwise in each control cycle. The commanded temperature corresponding to each of the multiple cycles increases sequentially, with the increase being a preset temperature difference (e.g., approximately 3°C). The commanded temperature corresponding to the first cycle is the room temperature of the robot joint (e.g., approximately 20°C). Multiple cycles are performed until the commanded temperature rises from room temperature to approximately the joint's maximum operating temperature (e.g., approximately 55°C). The commanded temperature corresponding to the last cycle is the joint's maximum operating temperature. This multiple-cycle approach ensures that the range of commanded angular velocity and temperature covers all possible values ​​achievable during joint movement.

[0065] In each control cycle, the first state variables of the robot joints are sampled and recorded at the corresponding commanded angular velocity to obtain multiple sets of first state variables at each commanded angular velocity. Each set of first state variables may include a first actual angle, a first actual angular velocity, a first actual temperature, and a first actual triboelectric current. That is, multiple sampling cycles (i.e., control cycles) are repeated at each commanded angular velocity.

[0066] For example, the angular velocity sampling trajectory is as follows Figure 3 As shown, the commanded angular velocity range for the low-speed motion mode is ±0.01 rad / s to ±0.3 rad / s, increasing sequentially in increments of ±0.01. This means that forward and reverse rotation are performed at each commanded angular velocity. The specific commanded angular velocities are: 0.01 rad / s, -0.01 rad / s, 0.02 rad / s, -0.02 rad / s, 0.03 rad / s, -0.03 rad / s, ..., 0.3 rad / s and -0.3 rad / s. The commanded angular velocity range for the medium-speed motion mode is 0.4 rad / s to 0.9 rad / s, increasing sequentially in increments of 0.1. The specific commanded angular velocities are: 0.4 rad / s, 0.5 rad / s, 0.6 rad / s, ..., 0.8 rad / s and 0.9 rad / s. The commanded angular velocity range for the high-speed motion mode is 1 rad / s to the maximum speed v. max (e.g., 4 rad / s), with a step size of (v) max -1) / 10 increases sequentially ((ensuring high speed includes 10 commanded angular velocities)), for example, the commanded angular velocities are 1 rad / s, 1.3 rad / s, 1.6 rad / s, ..., 3.7 rad / s and 4 rad / s, where the low-speed motion mode is... During each cycle of motion, it runs at a constant speed for 500 control cycles at each commanded angular velocity (this can be adjusted according to actual test results). Each control cycle can be 5 ms. The first state quantity is sampled and recorded every 5 ms, that is, the joint moves for 2.5 s at each commanded angular velocity, thus obtaining 500 sets of first state quantities at each commanded angular velocity.

[0067] It should be noted that the requirement that the joint temperature rise by about 3 degrees Celsius per cycle is to assume that the angular velocities of each command are at the same temperature during a single cycle and to ignore temperature changes when processing the data. The relationship between the current and the joint temperature at the same speed is compared during different cycles of motion to obtain the relationship between the joint friction force and the joint temperature.

[0068] In one embodiment of the present invention, step S2, namely, identifying the relationship curve between the frictional current and temperature and the relationship curve between the frictional current and angular velocity of the robot joint based on the first state variables, may include: calculating the first average state variable at each commanded angular velocity during each cycle of motion based on all the first state variables at each commanded angular velocity during each cycle of motion; and identifying the relationship curve between the frictional current and temperature and the relationship curve between the frictional current and angular velocity of the robot joint based on the first average state variables at each commanded angular velocity during all cycles of motion.

[0069] The first state variables include the first actual angle, the first actual angular velocity, the first actual temperature, and the first actual frictional current, while the first average state variables include the first average angle, the first average angular velocity, the first average temperature, and the first average frictional current.

[0070] In this embodiment of the invention, the average value of all first actual angles under each commanded angular velocity in each cycle is called the first average angle, the average value of all first actual angular velocities is called the first average angular velocity, the average value of all first actual temperatures is called the first average temperature, and the average value of all first actual friction currents is called the first average friction current.

[0071] Furthermore, based on the first average state variables at each commanded angular velocity during all cyclic movements, the relationship curves between the frictional current and temperature, and between the frictional current and angular velocity of the robot joint are identified. This may include: calculating the average value of all first average angular velocities corresponding to each commanded angular velocity during all cyclic movements to obtain the overall average angular velocity corresponding to each commanded angular velocity; calculating the difference between each first average angular velocity and the overall average angular velocity to obtain the change in frictional current caused by the robot joint temperature; calculating the difference between each first average frictional current and the change in frictional current caused by temperature to obtain the change in frictional current caused by the robot joint angular velocity; fitting the relationship curve between the frictional current and temperature of the robot joint based on the first average angular velocity, the first average temperature, and the change in frictional current caused by temperature; and fitting the relationship curve between the frictional current and angular velocity of the robot joint based on the first average angular velocity and the change in frictional current caused by angular velocity.

[0072] Specifically, after recording multiple sets of first state variables at each commanded angular velocity during each cycle of motion—namely, multiple first actual angles, first actual angular velocities, first actual temperatures, and first actual frictional currents—data processing is performed. This involves calculating the average values ​​of all first actual angles, all first actual angular velocities, all first actual temperatures, and all first actual frictional currents at each commanded angular velocity during a single cycle of motion. This yields the first average angle, first average angular velocity, first average temperature, and first average frictional current at that commanded angular velocity during a single cycle of motion. During data processing, when calculating the average values, the actual values ​​during acceleration and deceleration must be removed (for example, if 500 sampling periods of data were recorded at a commanded angular velocity of 1 rad / s, the first 50 and last 50 data points are removed, and only the middle 400 points are retained for averaging) to avoid the influence of acceleration and deceleration on the joints.

[0073] Next, the average value of all first average angular velocities (during all cyclic movements) under each commanded angular velocity is calculated to obtain the overall average angular velocity under that commanded angular velocity. Then, the difference between each first average angular velocity and the overall average angular velocity is calculated, which yields the effect of robot joint temperature on the frictional current, i.e., the change in frictional current caused by robot joint temperature. The difference between each first average frictional current and the change in frictional current caused by temperature is then calculated, yielding the effect of robot joint angular velocity on the frictional current, i.e., the change in frictional current caused by robot joint angular velocity. Finally, based on the first average angular velocity, the first average temperature, and the change in frictional current caused by temperature, the coefficient of friction between the robot joint's frictional current and temperature is obtained by fitting the following formula:

[0074]

[0075] Among them, fric temp The value represents the change in frictional current caused by temperature, v represents the first average angular velocity, T represents the first average temperature, and Ft1, Ft2, and Ft3 are all friction coefficients. Based on these friction coefficients, the relationship between frictional current and temperature, and the relationship curve, are then obtained.

[0076] Based on the first average angular velocity and the change in frictional current caused by the angular velocity, the friction coefficient between the frictional current and the angular velocity of the robot joint is obtained by fitting the following formula:

[0077]

[0078] Among them, fric vel The values ​​represent the change in frictional current caused by angular velocity, where v represents the first average angular velocity, and Fc, Fs, and v are the values ​​of these variables. s Fs, Fv0, Fv1, Fv2, and Fv3 are all friction coefficients, where the range of Fs is determined based on the static friction current of the robot joints, including both forward and reverse static friction currents. Furthermore, the relationship and curve between friction current and angular velocity are obtained based on these friction coefficients.

[0079] In one embodiment of the present invention, the static friction current of a robot joint can be determined by the following steps: determining the positive static friction current and the reverse static friction current of the robot joint at multiple different command angles; calculating the positive static friction current of the robot joint based on the positive static friction current of the robot joint at all command angles, and calculating the reverse static friction current of the robot joint based on the reverse static friction current of the robot joint at all command angles.

[0080] The command angle is a joint rotation angle that is preset according to actual needs and experience. Multiple command angles can include 0 degrees, 90 degrees, 180 degrees and 270 degrees.

[0081] Further, determining the positive and negative static friction currents of the robot joint at multiple different command angles may include: at each command angle, issuing a first command current within multiple control cycles to control the robot joint, and sampling the second actual angular velocity within each control cycle; when the second actual angular velocity within multiple consecutive control cycles is above a first preset angular velocity, recording the first first command current within multiple consecutive control cycles and using it as the positive static friction current at that command angle, wherein the first command current within all control cycles corresponding to each command angle increases sequentially; at each command angle, issuing a second command current within multiple control cycles to control the robot joint, and sampling the third actual angular velocity within each control cycle; when the third actual angular velocity within multiple consecutive control cycles is below a second preset angular velocity, recording the first second command current within multiple consecutive control cycles and using it as the negative static friction current at that command angle, wherein the second command current within all control cycles corresponding to each command angle decreases sequentially.

[0082] Among them, the first and second command currents are the command currents for controlling the robot joints to rotate forward and backward while bearing the load, respectively, and the second and third actual angular velocities are the actual angular velocities sampled during forward and reverse rotation, respectively.

[0083] Furthermore, calculating the positive static friction current of the robot joint based on the positive static friction current at all commanded angles, and calculating the reverse static friction current of the robot joint based on the reverse static friction current at all commanded angles, may include: calculating the average value of the positive static friction current of the robot joint at all commanded angles to obtain the positive static friction current of the robot joint; and calculating the average value of the reverse static friction current of the robot joint at all commanded angles to obtain the reverse static friction current of the robot joint.

[0084] Specifically, under the control of the host computer, the robot joint starts at a commanded angle of 0 degrees and begins at 0mA. In each control cycle (e.g., seven control cycles), it sequentially issues a linearly increasing first command current (e.g., an increase of 20mA every 5ms, 20mA in the first cycle, and a current difference of 20mA between adjacent cycles). When the second actual angular velocity of the joint is above the first preset angular velocity (e.g., 0.01rad / s) for n consecutive control cycles (e.g., n=5), the joint is determined to be moving (forward rotation), and the first current among these n first command currents is recorded as the positive static friction current. Returning to the 0-degree position, the current loop mode is run, and starting at 0mA, a linearly decreasing second command current is issued sequentially in each control cycle (e.g., seven control cycles) (e.g., a decrease of 20mA every 5ms, and a current difference of 20mA between the last and last cycles). With a cycle of 20mA and a current difference of 20mA between adjacent cycles, when the third actual angular velocity of the joint is below the second preset angular velocity (e.g., -0.01rad / s) for n consecutive control cycles (e.g., n=5), the joint movement (reverse rotation) is determined, and the first current among these n second command currents is recorded as the reverse static friction current. This process is repeated multiple times (e.g., five times), and the recorded multiple (five) forward friction currents and multiple (five) reverse friction currents are averaged to obtain the forward and reverse static friction currents at the 0-degree command angle. In the same way, tests are conducted at command angles of 90 degrees, 180 degrees, and 270 degrees, and the forward and reverse static friction currents at these three command angles are recorded. The forward and reverse static friction currents at the four command angles are averaged to obtain the forward and reverse static friction currents of the joint.

[0085] After obtaining the positive and negative static friction currents of the robot joints, these are used as the range of the friction coefficient Fs. The relationship between the friction current and the angular velocity is obtained by fitting the above formula.

[0086] Therefore, the robot joints move at a constant speed for multiple control cycles at different commanded angular velocities, from low speed to high speed. Each commanded angular velocity lasts for a certain period of time. During each cycle, the temperature change must be kept very small (e.g., the temperature difference between two adjacent cycles is about 3 degrees Celsius) to decouple the relationship between frictional current and angular velocity and temperature. In addition, the change in frictional current caused by rotor inertia is introduced, which improves the accuracy of the relationship between frictional current and angular velocity and temperature, thereby improving the accuracy of friction force identification.

[0087] In one embodiment of the present invention, the second state quantity includes a positive state quantity and a negative state quantity. Step S4, controlling the robot joint movement and recording the second state quantity of the robot joint, may include: controlling the robot joint to rotate clockwise one full circle at a constant speed from a 0-degree angle, and recording the positive state quantity of the robot joint after one full circle; controlling the robot joint to rotate counterclockwise one full circle at a constant speed from a 0-degree angle, and recording the negative state quantity of the robot joint after one full circle.

[0088] The positive state quantities may include at least one of the positive actual friction current, the positive actual angle, and the positive actual angular velocity, and the negative state quantities may include at least one of the negative actual friction current, the negative actual angle, and the negative actual angular velocity.

[0089] Specifically, the robot joint is fixed to the base, and a certain load is installed at the joint flange. The load can make the torque borne by the joint in the stationary state reach the maximum allowable average load torque of the joint. The joint is controlled to rotate clockwise at a certain speed (e.g., 0.3 rad / s) from the 0-degree position for one revolution, and the actual forward angle, actual forward angular velocity, and actual forward friction current are recorded. The joint is then controlled to rotate counterclockwise at a certain speed from the 0-degree position for one revolution, and the actual reverse angle, actual reverse angular velocity, and actual reverse friction current are recorded.

[0090] In one example, step S5, which identifies the relationship curve between the frictional current and the load torque of the robot joint based on the second state variable, may include: determining the required load torque of the robot joint, wherein the load torque enables the robot joint to bear the maximum allowable torque of the average load torque when it is stationary; and fitting the relationship curve between the frictional current and the load torque of the robot joint based on the positive state variable, the negative state variable and the load torque.

[0091] Furthermore, the relationship curve between the frictional current of the robot joint and the load torque can be obtained by fitting the positive state variables, negative state variables, and load torque. This may include: calculating the average value of the positive actual frictional current and the negative actual frictional current to obtain the change in frictional current caused by the load torque; and fitting the relationship curve between the frictional current of the robot joint and the load torque based on the load torque and the change in frictional current caused by the load torque.

[0092] Specifically, after obtaining the forward and reverse actual currents, the forward and reverse actual currents are first summed and averaged to offset the change in frictional current caused by angular velocity, thus obtaining the change in frictional current caused by load torque. Then, the friction coefficient between the frictional current of the robot joint and the load torque is obtained by fitting the following formula:

[0093] fric load =c1*load2 +c2*load

[0094] Among them, fric load This represents the change in frictional current caused by the load torque, where load represents the load torque, and c1 and c2 are both friction coefficients. Finally, the relationship between frictional current and load torque, and the relationship curve, are obtained based on the friction coefficients.

[0095] Therefore, by installing a load fixture on the joint flange and subjecting the load to the maximum value of the joint's average load torque, the joint moves at a constant speed. The relationship between the joint load and the frictional current (the current required for the joint to overcome friction) is tested. The influence of the load on the frictional current is taken into account, which improves the accuracy of the relationship between the frictional current and the load torque, thereby improving the accuracy of friction force identification.

[0096] In general, such as Figure 4 As shown, first, the robot joints are fixed. Then, the static friction current is identified, and the relationship between the friction current and angular velocity and temperature is identified. After the load is installed at the joint flange, the robot is rotated at a constant speed, and the relationship between the friction current and the load torque is identified. Finally, based on the identification results, various friction parameters are obtained, and a relationship formula and relationship curve are obtained. Based on this, the friction force of each robot can be identified.

[0097] Thus, by using the above steps S1, S2, S4 and S5, the relationship between friction force and angular velocity and temperature can be decoupled, and the friction force change caused by rotor inertia and the influence of the load on the joint can be considered. The relationship formulas and curves between the friction current of the robot joint and angular velocity, temperature and load torque can be identified, which improves the identification accuracy. Therefore, the accuracy of the relationship formulas and curves is high.

[0098] In practical applications, when it is necessary to identify the frictional force of the joints of a robot to be identified, the current state variables of the robot to be identified are determined, namely the current angular velocity, current temperature, and current load torque. Substituting these state variables into the respective relational formulas, the frictional currents caused by the current angular velocity, current temperature, and current load torque of the robot joint to be identified can be obtained. Then, the sum of the three can be calculated to obtain the frictional current of the robot to be identified. Finally, the frictional force of the robot joint to be identified can be calculated according to the relationship between the frictional current and the frictional force, which is used to control the movement of the robotic arm.

[0099] In summary, the embodiments of the present invention solve the problem of low accuracy in friction force identification in related technologies. They not only decouple the relationship between friction force and angular velocity and temperature, but also consider the current change caused by rotor inertia and the relationship between friction force and load, making the friction force calculation of joints more accurate and greatly improving the accuracy of friction force identification.

[0100] In the description of this invention, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. "A plurality of" means two or more, unless otherwise explicitly specified.

[0101] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Furthermore, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.

[0102] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of the invention pertain.

[0103] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0104] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it includes one or a combination of the steps of the method embodiments. Furthermore, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.

[0105] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.

Claims

1. A method for identifying frictional forces in robot joints, characterized in that, Includes the following steps: The robot joint is controlled to perform multiple cyclic movements, and in each cyclic movement, it moves at a constant speed at various commanded angular velocities for multiple control cycles. The first state quantity of the robot joint at each commanded angular velocity is recorded. Each cyclic movement corresponds to a commanded temperature and multiple different commanded angular velocities of the robot joint. Based on the first state variable, the relationship curves between the frictional current and temperature and between the frictional current and angular velocity of the robot joint are obtained. The current state variables of the robot joint to be identified are determined. Based on the current state variables, the relationship curve between the frictional current and temperature, and the relationship curve between the frictional current and angular velocity, the frictional force of the robot joint to be identified is calculated. Based on the first state variable identification, the relationship curves between the frictional current and temperature of the robot joint and the relationship curves between the frictional current and angular velocity are obtained, including: Based on all the first state quantities at each commanded angular velocity during each cycle of motion, calculate the first average state quantity at each commanded angular velocity during each cycle of motion. The first state quantities include the first actual angular velocity, the first actual temperature, and the first actual frictional current. The first average state quantity includes the first average angular velocity, the first average temperature, and the first average frictional current. Based on the first average state variables at each commanded angular velocity during all cyclic movements, the relationship curves between the frictional current and temperature, and between the frictional current and angular velocity of the robot joint are identified. This includes: calculating the average value of all first average angular velocities corresponding to each commanded angular velocity during all cyclic movements to obtain the overall average angular velocity corresponding to each commanded angular velocity; calculating the difference between each first average angular velocity and the overall average angular velocity to obtain the change in frictional current caused by the temperature of the robot joint; calculating the difference between each first average frictional current and the change in frictional current caused by the temperature to obtain the change in frictional current caused by the angular velocity of the robot joint; fitting the relationship curve between the frictional current and temperature of the robot joint based on the first average angular velocity, the first average temperature, and the change in frictional current caused by the temperature; and fitting the relationship curve between the frictional current and angular velocity of the robot joint based on the first average angular velocity and the change in frictional current caused by the angular velocity.

2. The method for identifying frictional forces in robot joints according to claim 1, characterized in that, Before determining the current state variables of the robot joints to be identified, the following steps are also included: After a load is installed at the robot joint, the robot joint is controlled to move and a second state variable of the robot joint is recorded. The relationship curve between the frictional current and the load torque of the robot joint is obtained based on the second state variable. Based on the current state variables, the relationship curve between the frictional current and temperature, and the relationship curve between the frictional current and angular velocity, the frictional force of the joint of the robot to be identified is calculated, including: Based on the current state quantity, the relationship curve between the frictional current and temperature, the relationship curve between the frictional current and angular velocity, and the relationship curve between the frictional current and load torque, the frictional force of the joint of the robot to be identified is calculated.

3. The method for identifying frictional forces in a robot joint according to claim 1 or 2, characterized in that, Each cycle of motion includes multiple speed motion modes, including low-speed motion mode, medium-speed motion mode and high-speed motion mode. Each speed motion mode corresponds to at least one commanded angular velocity. In each speed motion mode, the robot joint rotates forward and / or in reverse.

4. The method for identifying frictional forces in a robot joint according to claim 1 or 2, characterized in that, The relationship curve between the triboelectric current and temperature of the robot joint was obtained by fitting the curve using the following formula: in, The value represents the change in frictional current caused by temperature, v represents the first average angular velocity, T represents the first average temperature, and Ft1, Ft2, and Ft3 are all friction coefficients.

5. The method for identifying frictional forces in a robot joint according to claim 1 or 2, characterized in that, The relationship curve between the frictional current and angular velocity of the robot joint is obtained by fitting the curve using the following formula: in, The values ​​represent the change in frictional current caused by angular velocity, where v represents the first average angular velocity, and Fc, Fs, and v are the values ​​of these variables. s Fs, Fv0, Fv1, Fv2 and Fv3 are all friction coefficients, and the range of Fs is determined according to the static friction current of the robot joint.

6. The method for identifying frictional forces in robot joints according to claim 5, characterized in that, The static friction current of the robot joint is determined by the following steps: Determine the positive and negative static friction currents of the robot joints at multiple different command angles; The positive static friction current of the robot joint is calculated based on the positive static friction current at all commanded angles, and the negative static friction current of the robot joint is calculated based on the negative static friction current at all commanded angles.

7. The method for identifying frictional forces in robot joints according to claim 6, characterized in that, Determining the positive and negative static friction currents of the robot joints at multiple different command angles includes: At each command angle, a first command current is issued in multiple control cycles to control the robot joint, and the second actual angular velocity in each control cycle is sampled. When the second actual angular velocity in multiple consecutive control cycles is above the first preset angular velocity, the first first command current in the multiple consecutive control cycles is recorded and used as the positive static friction current at that command angle. The first command current in all control cycles corresponding to each command angle increases sequentially. At each command angle, a second command current is issued in multiple control cycles to control the robot joint, and the third actual angular velocity in each control cycle is sampled. When the third actual angular velocity in multiple consecutive control cycles is below the second preset angular velocity, the first second command current in the multiple consecutive control cycles is recorded and used as the reverse static friction current at that command angle. The second command current in all control cycles corresponding to each command angle decreases sequentially.

8. The method for identifying frictional forces in robot joints according to claim 6, characterized in that, The positive static friction current of the robot joint is calculated based on the positive static friction current at all commanded angles, and the reverse static friction current of the robot joint is calculated based on the reverse static friction current at all commanded angles, including: Calculate the average value of the positive static friction current of the robot joint at all the commanded angles to obtain the positive static friction current of the robot joint; The average value of the reverse static friction current of the robot joint at all the commanded angles is calculated to obtain the reverse static friction current of the robot joint.

9. The method for identifying frictional forces in robot joints according to claim 2, characterized in that, Controlling the movement of the robot joints and recording the second state variables of the robot joints includes: Control the robot joint to rotate clockwise from 0 degrees at a constant speed for one full rotation, and record the positive state of the robot joint after one full rotation. Control the robot joint to rotate in a uniform direction from 0 degrees to one full rotation, and record the reverse state of the robot joint after one full rotation.

10. The method for identifying frictional forces in a robot joint according to claim 9, characterized in that, Based on the second state variable identification, the relationship curve between the frictional current and the load torque of the robot joint is obtained, including: Determine the required load torque for the robot joint, wherein the load torque causes the robot joint to bear a torque at rest that reaches the maximum allowable average load torque of the robot joint. The relationship curve between the frictional current and the load torque of the robot joint is obtained by fitting the positive state quantity, the negative state quantity, and the load torque.

11. The method for identifying frictional forces in a robot joint according to claim 10, characterized in that, The positive state quantity includes the positive actual frictional current, and the negative state quantity includes the negative actual frictional current. The relationship curve between the frictional current and the load torque of the robot joint is obtained by fitting the positive state quantity, the negative state quantity, and the load torque, including: Calculate the average value of the forward actual friction current and the reverse actual friction current to obtain the change in friction current caused by the load torque; The relationship curve between the friction current of the robot joint and the load torque is obtained by fitting the load torque and the change in friction current caused by the load torque.

12. The method for identifying frictional forces in a robot joint according to claim 11, characterized in that, The relationship curve between the frictional current and the load torque of the robot joint is obtained by fitting the curve using the following formula: in, This represents the change in frictional current caused by the load torque, where load represents the load torque, and c1 and c2 are both friction coefficients.

13. The method for identifying frictional forces in a robot joint according to claim 1 or 2, characterized in that, The number of cycles is determined based on the room temperature of the robot joint, the preset temperature difference, and the highest temperature at which the robot joint is used.