Method for determining joint driving torque of six-axis mechanical arm

By comprehensively considering the mass matrices of the connecting rods and motor rotors of the six-axis robotic arm, a system mass matrix is ​​established, and the joint inertial torque, gravity compensation torque, and nonlinear velocity torque terms are accurately calculated. This solves the problem of insufficient accuracy in calculating joint driving torque in existing technologies and achieves high-precision torque control under high-speed motion.

CN122020897APending Publication Date: 2026-05-12JINGDEZHEN CERAMIC UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
JINGDEZHEN CERAMIC UNIV
Filing Date
2026-01-29
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing technologies fail to fully consider the dynamic effects of the motor rotor when determining the joint drive torque of a six-axis robotic arm, resulting in insufficient accuracy in calculating the joint drive torque at high speeds, which affects the torque control accuracy and dynamic response performance in high-end applications.

Method used

By comprehensively considering the mass matrices of the connecting rod and the motor rotor, a system mass matrix is ​​established, and the joint inertial torque, gravity compensation torque, and nonlinear velocity torque terms are accurately calculated. This covers the inertial and centrifugal force effects of the motor rotor motion, thereby improving the calculation accuracy of the joint driving torque.

Benefits of technology

It significantly improves the accuracy of joint drive torque calculation for six-axis robotic arms under high-speed motion, ensuring accurate prediction and compensation of nonlinear torque during dynamic motion, and improving the precision of torque control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122020897A_ABST
    Figure CN122020897A_ABST
Patent Text Reader

Abstract

The invention discloses a joint driving torque determination method of a six-axis mechanical arm, and relates to the technical field of multi-body system dynamics, and the joint driving torque determination method comprises the following steps: determining a connecting rod mass center linear velocity jacobian matrix and a joint rotation axis angular velocity propagation matrix so as to determine a rigid body part mass matrix; determining a Jacobian matrix of the motor rotor centroid linear velocity; determining a motor rotor mass matrix based on the motor rotor mass center linear velocity Jacobian matrix so as to determine a system mass matrix, and further obtaining a joint inertia moment item; determining a gravity compensation torque item based on the connecting rod centroid linear velocity Jacobian matrix, the connecting rod mass, the motor rotor centroid linear velocity Jacobian matrix and the motor rotor mass of all the mechanical arms; determining a non-linear velocity torque item based on the system mass matrix, the joint angle vector and the joint angular velocity vector; a joint driving force is determined based on the joint inertia moment term, the gravity compensation moment term, and the non-linear velocity moment term. According to the method, the determination precision of the joint driving torque of the six-axis mechanical arm is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of multibody system dynamics technology, and in particular to a method for determining the joint driving torque of a six-axis robotic arm. Background Technology

[0002] In the control systems of intelligent equipment such as industrial robots and collaborative robots, determining high-precision joint drive torques is a crucial prerequisite for achieving accurate trajectory tracking, dynamic compensation, and force control. This process typically relies on an accurate robotic arm dynamics model.

[0003] Currently, the mainstream methods for determining joint driving torque are based on classical Lagrange or Newton-Euler dynamics modeling theories. However, in practical engineering applications, to simplify the complex modeling process, traditional methods often treat the motor rotor driving the joint as a purely inertial element and simply superimpose it, or completely ignore its dynamic influence when constructing the dynamic model. This simplification is not significant when the robotic arm is in a low-speed, steady-state condition, but when the robotic arm performs high-speed, high-acceleration motion, the high-speed rotation of the motor rotor itself and the strong dynamic coupling effect between it and the robotic arm links become significant. Because traditional methods fail to systematically incorporate the mass, moment of inertia, and coupling relationship between the motor rotor and the link motion into a unified dynamic equation framework, the determined joint driving torque has inherent biases. This deficiency directly restricts further improvements in torque control accuracy and dynamic response performance in high-end applications (such as precision assembly, high-speed sorting, and force-controlled grinding). Therefore, there is an urgent need for a method for determining joint driving torque that can more accurately reflect the dynamic influence of the motor rotor. Summary of the Invention

[0004] The purpose of this application is to provide a method for determining the joint driving torque of a six-axis robotic arm, so as to improve the accuracy of determining the joint driving torque of a six-axis robotic arm.

[0005] To achieve the above objectives, this application provides the following solution.

[0006] This application provides a method for determining the joint driving torque of a six-axis robotic arm, including: Based on the joint angle vector, link length vector, link torsion vector, link offset vector, and manipulator center of mass position vector of the six-axis manipulator, the Jacobian matrix of the link center of mass linear velocity of each manipulator is determined. Based on the joint rotation axis direction of each robotic arm, determine the joint rotation axis angular velocity propagation matrix of each robotic arm; Based on the link mass, the Jacobian matrix of the link center of mass linear velocity, the moment of inertia tensor at the link center of mass, and the propagation matrix of the joint rotation axis angular velocity of each robotic arm, the mass matrix of the rigid body part of each robotic arm is determined. Based on the joint angle vector and the position of the motor rotor centroid of each robotic arm in the corresponding link coordinate system, determine the Jacobian matrix of the linear velocity of the motor rotor centroid of each robotic arm. Based on the motor rotor mass and the Jacobian matrix of the motor rotor center of mass linear velocity of each robotic arm, the motor rotor mass matrix of each robotic arm is determined. Based on the mass matrix of the rigid body parts of all robotic arms and the mass matrix of the motor rotor, the system mass matrix of the six-axis robotic arm is determined. Based on the system mass matrix and joint angular acceleration vector, the joint inertial torque term of the six-axis robotic arm is determined; Based on the Jacobian matrix of the linear velocity of the link center of mass of all robotic arms, the link mass, the Jacobian matrix of the linear velocity of the motor rotor center of mass, and the motor rotor mass, the gravity compensation torque term of the six-axis robotic arm is determined. Based on the system mass matrix, joint angle vector, and joint angular velocity vector, the nonlinear velocity torque term of the six-axis robotic arm is determined; Based on the joint inertia torque, gravity compensation torque, and nonlinear velocity torque of the six-axis robotic arm, the joint driving force of the six-axis robotic arm is determined.

[0007] According to the specific embodiments provided in this application, the following technical effects are disclosed: This application discloses a method for determining the joint driving torque of a six-axis robotic arm. By comprehensively considering the mass matrix of the rigid body portion corresponding to the link and the mass matrix of the motor rotor corresponding to the motor, a system mass matrix is ​​obtained, thereby determining the joint inertial torque term of the six-axis robotic arm. Compared with traditional methods that use the rigid body mass matrix calculated solely based on link parameters as the system mass matrix, this application considers the enormous torque required for the motor rotor to accelerate or decelerate at high speeds. This makes the system mass matrix more comprehensively reflect the total inertial distribution of the system, resulting in a more physically complete joint inertial torque term calculated from it. This invention significantly improves the calculation accuracy of joint inertial torque terms, especially under high acceleration / deceleration conditions. Corresponding Jacobian matrices for the center-of-mass linear velocity of the connecting rod and motor rotor are established, and the contribution of their respective gravitational potential energy to the joint torque is accurately calculated, resulting in a gravity compensation torque term. This ensures more accurate calculation of the gravity compensation torque term under different configurations, especially in joints with special motor mounting positions. The system mass matrix considers the inertia of the motor rotor, so the derived nonlinear velocity torque term naturally covers the additional Coriolis force and centrifugal force effects generated by the motor rotor's motion. This ensures that the nonlinear torque generated by velocity coupling can be more accurately predicted and compensated when the robotic arm is running at medium to high speeds, improving the accuracy of torque calculation during dynamic motion. In summary, this application improves the accuracy of determining the joint drive torque of a six-axis robotic arm. Attached Figure Description

[0008] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0009] Figure 1 A schematic flowchart of a method for determining the joint driving torque of a six-axis robotic arm according to an embodiment of this application; Figure 2 A schematic diagram of the system structure for determining the joint drive torque of a six-axis robotic arm; Figure 3 The graph shows the changes in joint angle, joint angular velocity, and joint angular acceleration as input. Figure 4 This is a schematic diagram comparing the calculated torque and the actual measured torque. Figure 5 This diagram illustrates the error between the calculated torque and the actual measured torque. Figure 6 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

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

[0011] The purpose of this application is to provide a method for determining the joint driving torque of a six-axis robotic arm, aiming to improve the accuracy of determining the joint driving torque of a six-axis robotic arm.

[0012] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0013] In one exemplary embodiment, such as Figure 1 As shown, a method for determining the joint driving torque of a six-axis robotic arm is provided, including the following steps.

[0014] Step 01: Based on the joint angle vector, link length vector, link torsion angle vector, link offset vector, and manipulator center of mass position vector of the six-axis manipulator, determine the Jacobian matrix of the link center of mass linear velocity of each manipulator.

[0015] As an optional implementation, before step 01, the method further includes: Acquire the joint state parameters, link geometry parameters, link inertia parameters, motor inertia parameters, and joint rotation axis directions of each robotic arm during the movement of the six-axis robotic arm; The joint state parameters include: joint angle vector, joint angular velocity vector, and joint angular acceleration vector; the joint angle vector includes the joint angle of each robot arm, the joint angular velocity vector includes the joint angular velocity of each robot arm, and the joint angular acceleration vector includes the joint angular acceleration of each robot arm. The link geometry parameters include: link length vector, link torsion angle vector, and link offset vector; the link length vector includes the link length of each robot arm, the link torsion angle vector includes the link torsion angle of each robot arm, and the link offset vector includes the link offset of each robot arm. The link inertia parameters include: link mass vector, link center of mass rotational inertia tensor vector, and manipulator center of mass position vector; the link mass vector includes the link mass of each manipulator, the link center of mass rotational inertia tensor vector includes the rotational inertia tensor at the link center of mass of each manipulator, and the manipulator center of mass position vector includes the position of the center of mass of each link in the corresponding link coordinate system. The inertial structural parameters of the motor include: the motor rotor mass vector and the motor rotor center of mass position vector; the motor rotor mass vector includes the motor rotor mass of each robotic arm, and the motor rotor center of mass position vector includes the position of the motor rotor center of mass of each robotic arm in the corresponding link coordinate system.

[0016] Specifically, the first ( The link coordinate system corresponding to each robotic arm The origin is the first The intersection points of the joint axes of each robotic arm and the common normals of the adjacent links are defined according to the standard Denavit-Hartenberg (DH) rules. Each robotic arm includes a joint, a link, and a motor fixedly mounted to that link.

[0017] As an optional implementation, step 01 includes the following steps.

[0018] Step 011: Based on the joint angles, link lengths, link torsion angles, and link offsets of each robotic arm, determine the homogeneous transformation matrix of the links of the corresponding robotic arm.

[0019] Specifically, the formula for calculating the homogeneous transformation matrix is ​​as follows: ; ; ; ; ; in, For the first The homogeneous transformation matrix of the links of a robotic arm; To bypass the first Link coordinate system of a robotic arm The rotation transformation matrix along the z-axis; For the first The joint angles of a robotic arm; For along The translation transformation matrix along the z-axis; For the first Link offset of a robotic arm; For along The translation transformation matrix along the x-axis; For the first The length of the links in a robotic arm; To bypass The rotation transformation matrix along the x-axis; For the first The torsion angle of the linkage of the robotic arm.

[0020] Step 012: Determine the serial number of each robotic arm, and designate any robotic arm as the current robotic arm. All robotic arms with serial numbers lower than the current robotic arm are designated as chain robotic arms. The serial numbers of each robotic arm are 1, 2, 3, 4, 5, and 6.

[0021] Step 013: Based on the homogeneous transformation matrix of the links of each chain-type robotic arm and the homogeneous transformation matrix of the current robotic arm's links, determine the cumulative transformation matrix of the current robotic arm.

[0022] Specifically, the formula for calculating the cumulative transformation matrix is ​​as follows: ; in, For the first The cumulative transformation matrix of each robotic arm represents the transformation from the base coordinate system. To the Linkage coordinate system of a robotic arm The cumulative transformation matrix, base coordinate system This is the reference coordinate system for the robotic arm, with its origin located at the joint axis of the first robotic arm, and the coordinate axis directions established according to the standard DH rule; Let be the homogeneous transformation matrix of the links of the first robotic arm; Let be the homogeneous transformation matrix of the links of the second robotic arm.

[0023] Step 014: Based on the current cumulative transformation matrix of the robotic arm and the position of the centroid of the link in the corresponding link coordinate system, determine the position of the centroid of the link in the base coordinate system.

[0024] Specifically, the center of mass of the robotic arm's links lies in the base coordinate system. The formula for calculating the lower position is: ; in, For the first The center of mass of the linkage of the robotic arm is at The lower position; For the first The center of mass of the linkage of the robotic arm is at The position below.

[0025] Step 015: Based on the position of the center of mass of the current robotic arm link in the base coordinate system and the joint angle vector, determine the Jacobian matrix of the linear velocity of the center of mass of the current robotic arm link.

[0026] Specifically, the formula for calculating the Jacobian matrix of the connecting rod's center of mass linear velocity is as follows: ; in, For the first The Jacobian matrix of the linear velocity of the link center of mass of the robotic arm, i.e., the first... The center of mass of the linkage of the robotic arm is at The Jacobian matrix of the linear velocity of the position below relative to all joint angle vectors; To obtain the partial derivative; The joint angle vector. , For the joint angle of the first robotic arm, For the joint angle of the second robotic arm, For the joint angle of the 6th robotic arm, This is a transpose.

[0027] Step 02: Determine the angular velocity propagation matrix of the joint rotation axis of each robotic arm based on the direction of the joint rotation axis of each robotic arm.

[0028] As an optional implementation, step 02 includes the following steps.

[0029] Step 021: Based on the joint rotation axis direction of the current robotic arm and the joint rotation axis direction of the chain robotic arm, determine the joint rotation axis angular velocity propagation matrix of the current robotic arm.

[0030] Specifically, the formula for calculating the angular velocity propagation matrix of the joint rotation axis is as follows: ; in, For the first The propagation matrix of the angular velocity of the joint rotation axes of a robotic arm, where the front... Listed as ,back Listed as ,when When =6, , This indicates the direction of the joint rotation axis of the robotic arm.

[0031] Step 03: Based on the link mass, link center of mass linear velocity Jacobian matrix, rotational inertia tensor at the link center of mass, and joint rotation axis angular velocity propagation matrix of each robotic arm, determine the rigid body mass matrix of each robotic arm.

[0032] As an optional implementation, step 03 includes the following steps.

[0033] Step 031: Determine the rotation matrix of the current robotic arm based on the cumulative transformation matrix of the current robotic arm.

[0034] Specifically, the rotation matrix is ​​extracted from the cumulative homogeneous transformation matrix, specifically the top-left corner of the cumulative homogeneous transformation matrix. The submatrix is ​​the rotation matrix, and the formula for calculating the rotation matrix is: ; in, For the first The rotation matrix of the robotic arm represents the rotation from... Rotate to rotation matrix; for The origin is The position vector below.

[0035] Step 032: Based on the current robotic arm's rotation matrix, link mass, link center of mass linear velocity Jacobian matrix, and joint rotation axis angular velocity propagation matrix, determine the rigid body mass matrix of the current robotic arm.

[0036] Specifically, the formula for calculating the mass matrix of the rigid body is as follows: ; in, For the first Mass matrix of the rigid body part of a robotic arm; For the first The mass of the links of the robotic arm.

[0037] Step 04: Based on the joint angle vector and the position of the motor rotor centroid of each robotic arm in the corresponding link coordinate system, determine the Jacobian matrix of the linear velocity of the motor rotor centroid of each robotic arm.

[0038] As an optional implementation, step 04 includes the following steps.

[0039] Step 041: Based on the current cumulative transformation matrix of the robotic arm and the position of the motor rotor centroid in the corresponding link coordinate system, determine the position of the current robotic arm's motor rotor centroid in the base coordinate system.

[0040] Specifically, the formula for calculating the position of the motor rotor's center of mass in the base coordinate system is as follows: ; in, For the first The rotor mass of the robotic arm's motor is in the base coordinate system. The lower position; For the first The rotor mass of the robotic arm's motor lies in the corresponding link coordinate system. The position below.

[0041] Step 042: Based on the position of the current robotic arm's motor rotor centroid in the base coordinate system and the joint angle vector, determine the Jacobian matrix of the current robotic arm's motor rotor centroid linear velocity.

[0042] Specifically, the formula for calculating the Jacobian matrix of the linear velocity of the motor rotor's center of mass is as follows: ; in, For the first The Jacobian matrix of the linear velocity of the motor rotor center of mass of a robotic arm.

[0043] Step 05: Determine the motor rotor mass matrix of each robotic arm based on the motor rotor mass and the Jacobian matrix of the motor rotor centroid linear velocity.

[0044] Specifically, the formula for calculating the motor rotor mass matrix is ​​as follows: ; in, For the first Mass matrix of motor rotor of a robotic arm; For the first The mass of the motor rotor of a robotic arm.

[0045] Step 06: Based on the mass matrix of the rigid body parts of all robotic arms and the mass matrix of the motor rotor, determine the system mass matrix of the six-axis robotic arm.

[0046] As an optional implementation, step 06 includes the following steps.

[0047] Step 061: Summate the mass matrix of the rigid body parts of all robotic arms and the mass matrix of the motor rotor to obtain the system mass matrix of the six-axis robotic arm.

[0048] Specifically, the formula for calculating the system quality matrix is ​​as follows: ; in, Let be the system quality matrix, which is a 6x6 matrix.

[0049] Step 07: Based on the system mass matrix and joint angular acceleration vector, determine the joint inertial torque term of the six-axis robot arm.

[0050] Specifically, the formula for calculating the joint inertial moment term is: ; in, This is the joint inertia torque term of the six-axis robotic arm; The joint angular acceleration vector. , The joint angular acceleration of the first robotic arm, The joint angular acceleration of the second robotic arm. This is the joint angular acceleration of the third robotic arm.

[0051] Step 08: Based on the Jacobian matrix of the linear velocity of the link center of mass of all robotic arms, the link mass, the Jacobian matrix of the linear velocity of the motor rotor center of mass, and the motor rotor mass, determine the gravity compensation torque term of the six-axis robotic arm.

[0052] As an optional implementation, step 08 includes the following steps.

[0053] Step 081: Based on the Jacobian matrix of the linear velocity of the link center of mass of all robotic arms, the link mass and the gravitational acceleration vector, obtain the link gravity term of the six-axis robotic arm.

[0054] Specifically, the formula for calculating the gravity term of the connecting rod is as follows: ; in, The link weight of the six-axis robotic arm; The vector of gravitational acceleration is usually... .

[0055] Step 082: Based on the Jacobian matrix of the linear velocity of the motor rotor center of mass of all robotic arms, the mass of the motor rotor and the gravitational acceleration vector, obtain the gravity term of the motor rotor of the six-axis robotic arm.

[0056] Specifically, the formula for calculating the rotor gravity of the motor is as follows: ; in, This refers to the gravity term of the motor rotor of the six-axis robotic arm.

[0057] Step 083: Based on the link gravity term and motor rotor gravity term of the six-axis robotic arm, determine the gravity compensation torque term of the six-axis robotic arm.

[0058] Specifically, the formula for calculating the gravity compensation torque term is as follows: ; in, This is the gravity compensation torque term.

[0059] Step 09: Based on the system mass matrix, joint angle vector, and joint angular velocity vector, determine the nonlinear velocity torque term of the six-axis robotic arm.

[0060] As an optional implementation, step 09 includes the following steps.

[0061] Step 091: Determine the centrifugal force term of the six-axis robotic arm based on the system mass matrix, joint angle vector, and joint angular velocity vector.

[0062] Step 092: Determine the Coriolis force term of the six-axis robot arm based on the system mass matrix and joint angular velocity vector.

[0063] Step 093: Based on the centrifugal force term and Coriolis force term of the six-axis robotic arm, determine the nonlinear velocity torque term of the six-axis robotic arm.

[0064] Specifically, the Christoffel symbol The definition is as follows: in, The Christoffel notation is used to describe the nonlinear inertial effect of the elements of the system's mass matrix as a function of the joint angle vector, and to construct the Coriolis force and centrifugal force terms of the system. System quality matrix The Line number Column element, representing the first The joints of the first robotic arm and the second Inertial coupling terms between the joints of a robotic arm; For the first The joint angles of a robotic arm; System quality matrix The Line number Column element, representing the first The joints of the first robotic arm and the second Inertial coupling terms between the joints of a robotic arm; For the first The joint angles of a robotic arm; System quality matrix The Line number Column element, representing the first The joints of the first robotic arm and the second Inertial coupling terms between the joints of a robotic arm.

[0065] when When the centrifugal force term is obtained, the formula for calculating the centrifugal force term can be derived as follows: ; ; in, This is the centrifugal force term; The centrifugal force coefficient matrix is ​​a 6x6 matrix. The joint angular velocity of the first robotic arm; The joint angular velocity of the second robotic arm; This refers to the joint angular velocity of the third robotic arm; This refers to the joint angular velocity of the fourth robotic arm; The joint angular velocity of the 5th robotic arm; The joint angular velocity of the 6th robotic arm; The first of the centrifugal force coefficient matrix Line number Column elements; System quality matrix The Line number Column element, representing the first The inertial coupling term of the joints of a robotic arm.

[0066] when At that time, the Coriolis force corresponds to the velocity cross term. For the joints of the 6 robotic arms, according to the permutations and combinations, there are a total of Different velocity cross terms. Coriolis force coefficient matrix. It is a 6×15 matrix, and column indexes need to be created. joint Establish a correspondence (e.g., by lexicographical order) The correspondence is shown in Table 1.

[0067] Table 1 Correspondence Table

[0068] At this point, the Coriolis force coefficient matrix Middle corresponding joint pairs The Line number Column element element The calculation formula is: ; Because Christoffel's notation has symmetry, that is... It can be simplified to: ; The Coriolis force term can be derived, and the formula for calculating the Coriolis force term is: ; ; in, Coriolis force term; This is the velocity cross term vector.

[0069] Furthermore, the formula for calculating the nonlinear velocity-torque term is: ; in, This is the nonlinear velocity-torque term of the six-axis robotic arm.

[0070] Step 10: Determine the joint driving force of the six-axis robotic arm based on the joint inertia torque, gravity compensation torque, and nonlinear velocity torque.

[0071] As an optional implementation, step 10 includes the following steps.

[0072] Step 101: Summate the joint inertial torque, gravity compensation torque, and nonlinear velocity torque of the six-axis robotic arm to obtain the joint driving force of the six-axis robotic arm.

[0073] Specifically, the formula for calculating joint driving force is as follows: ; in, This is the joint driving force for a six-axis robotic arm.

[0074] Furthermore, this application also provides a joint drive torque determination system for a six-axis robotic arm, such as... Figure 2 The structure of the system shown includes the following modules.

[0075] 1. Main control computing unit: Configured as an embedded controller or high-performance computer, it integrates a CPU, memory, and MATLAB program execution environment. It is used to execute the entire dynamic modeling process, including data reading, symbolic derivation, and numerical generation. As the core control module, it connects to both the structural parameter input module and the output display module.

[0076] 2. Structural parameter input module: Configured as an input terminal with a graphical user interface, it can be a touchscreen or a workstation with a keyboard. It is used to input joint state parameters, link geometry parameters, link inertia parameters, motor inertia parameters, and the rotation axis direction of each joint of the six-axis robotic arm during its movement. The data is transmitted to the main control computing unit via a software interface.

[0077] 3. Model Calculation and Derivation Module: Composed of modular programs written in MATLAB, it is a software logic structure deployed within the main control computing unit and is used to implement the method for determining the joint driving torque of the six-axis robotic arm of this application.

[0078] 4. Output display module: Includes a display and file export interface. Used to display the output results of each stage. By calling the result variables in the main control computing unit through software, the model output is displayed on the interface in matrix form, or exported as .mat, .txt, .pdf and other format files for the controller to use or for further analysis.

[0079] like Figure 3 As shown, the curves illustrating the changes in joint angle, joint angular velocity, and joint angular acceleration inputted when determining the joint drive torque of a six-axis robotic arm using the method of this application over a certain period of time are illustrated. Figure 4 As shown, the comparison between the calculated joint driving torque (i.e., the calculated torque) and the measured joint driving torque (i.e., the actual measured torque) of the six-axis robotic arm determined using the method of this application is illustrated. Figure 5 As shown, the error between the joint driving torque of the six-axis robot determined by the method of this application and the measured joint driving torque is illustrated. The comparison results show that the method of this application for determining the joint driving torque of the six-axis robot has good calculation consistency and engineering applicability under actual working conditions.

[0080] In one exemplary embodiment, a computer device is provided, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement a method for determining the joint drive torque of a six-axis robotic arm.

[0081] In one exemplary embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements a method for determining the joint drive torque of a six-axis robotic arm.

[0082] In one exemplary embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements a method for determining the joint drive torque of a six-axis robotic arm.

[0083] In one exemplary embodiment, a computer device is provided, which may be a server or a terminal, and its internal structure diagram may be as follows. Figure 6 As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and databases. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When executed by the processor, the computer program implements a method for determining the joint drive torque of a six-axis robotic arm.

[0084] Those skilled in the art will understand that Figure 6 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0085] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM).

[0086] The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0087] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.

[0088] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0089] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A method for determining the joint driving torque of a six-axis robotic arm, characterized in that, The method for determining the joint driving torque of the six-axis robotic arm includes: Based on the joint angle vector, link length vector, link torsion vector, link offset vector, and manipulator center of mass position vector of the six-axis manipulator, the Jacobian matrix of the link center of mass linear velocity of each manipulator is determined. Based on the joint rotation axis direction of each robotic arm, determine the joint rotation axis angular velocity propagation matrix of each robotic arm; Based on the link mass, the Jacobian matrix of the link center of mass linear velocity, the moment of inertia tensor at the link center of mass, and the propagation matrix of the joint rotation axis angular velocity of each robotic arm, the mass matrix of the rigid body part of each robotic arm is determined. Based on the joint angle vector and the position of the motor rotor centroid of each robotic arm in the corresponding link coordinate system, determine the Jacobian matrix of the linear velocity of the motor rotor centroid of each robotic arm. Based on the motor rotor mass and the Jacobian matrix of the motor rotor center of mass linear velocity of each robotic arm, the motor rotor mass matrix of each robotic arm is determined. Based on the mass matrix of the rigid body parts of all robotic arms and the mass matrix of the motor rotor, the system mass matrix of the six-axis robotic arm is determined. Based on the system mass matrix and joint angular acceleration vector, the joint inertial torque term of the six-axis robotic arm is determined; Based on the Jacobian matrix of the linear velocity of the link center of mass of all robotic arms, the link mass, the Jacobian matrix of the linear velocity of the motor rotor center of mass, and the motor rotor mass, the gravity compensation torque term of the six-axis robotic arm is determined. Based on the system mass matrix, joint angle vector, and joint angular velocity vector, the nonlinear velocity torque term of the six-axis robotic arm is determined; Based on the joint inertia torque, gravity compensation torque, and nonlinear velocity torque of the six-axis robotic arm, the joint driving force of the six-axis robotic arm is determined.

2. The method for determining the joint driving torque of a six-axis robotic arm according to claim 1, characterized in that, Before determining the Jacobian matrix of the link centroid linear velocity of each robotic arm based on the joint angle vector, link length vector, link torsion angle vector, link offset vector, and robotic arm centroid position vector, the following steps are also included: Acquire the joint state parameters, link geometry parameters, link inertia parameters, motor inertia parameters, and joint rotation axis directions of each robotic arm during the movement of the six-axis robotic arm; The joint state parameters include: joint angle vector, joint angular velocity vector, and joint angular acceleration vector; the joint angle vector includes the joint angle of each robotic arm, the joint angular velocity vector includes the joint angular velocity of each robotic arm, and the joint angular acceleration vector includes the joint angular acceleration of each robotic arm. The link geometry parameters include: link length vector, link twist angle vector, and link offset vector; the link length vector includes the link length of each robotic arm, the link twist angle vector includes the link twist angle of each robotic arm, and the link offset vector includes the link offset of each robotic arm. The link inertia parameters include: link mass vector, link center of mass rotational inertia tensor vector, and manipulator center of mass position vector; the link mass vector includes the link mass of each manipulator, the link center of mass rotational inertia tensor vector includes the rotational inertia tensor at the link center of mass of each manipulator, and the manipulator center of mass position vector includes the position of the center of mass of each link in the corresponding link coordinate system. The motor inertial structure parameters include: the motor rotor mass vector and the motor rotor center of mass position vector; the motor rotor mass vector includes the motor rotor mass of each robotic arm, and the motor rotor center of mass position vector includes the position of the motor rotor center of mass of each robotic arm in the corresponding link coordinate system.

3. The method for determining the joint driving torque of a six-axis robotic arm according to claim 2, characterized in that, Based on the joint angle vector, link length vector, link torsion vector, link offset vector, and robot arm center of mass position vector of the six-axis robot arm, the Jacobian matrix of the link center of mass linear velocity of each robot arm is determined, including: Based on the joint angles, link lengths, link torsion angles, and link offsets of each robotic arm, determine the homogeneous transformation matrix of the links of the corresponding robotic arm. Determine the sequence number of each robotic arm, and designate any robotic arm as the current robotic arm. All robotic arms with a sequence number lower than the current robotic arm are designated as chain robotic arms. The sequence numbers of each robotic arm are 1, 2, 3, 4, 5, and 6, respectively. Based on the homogeneous transformation matrix of the links of each chain-type robotic arm and the homogeneous transformation matrix of the current robotic arm's links, determine the cumulative transformation matrix of the current robotic arm. Based on the current cumulative transformation matrix of the robotic arm and the position of the centroid of the link in the corresponding link coordinate system, determine the position of the centroid of the link in the base coordinate system. Based on the position of the center of mass of the link of the current robotic arm in the base coordinate system and the joint angle vector, determine the Jacobian matrix of the linear velocity of the center of mass of the link of the current robotic arm.

4. The method for determining the joint driving torque of a six-axis robotic arm according to claim 3, characterized in that, Based on the joint rotation axis directions of each robotic arm, the angular velocity propagation matrix of the joint rotation axis of each robotic arm is determined, including: Based on the joint rotation axis directions of the current robotic arm and the chain robotic arm, determine the angular velocity propagation matrix of the joint rotation axis of the current robotic arm.

5. The method for determining the joint driving torque of a six-axis robotic arm according to claim 3, characterized in that, Based on the link mass, the Jacobian matrix of the link center of mass linear velocity, the moment of inertia tensor at the link center of mass, and the propagation matrix of the joint rotation axis angular velocity of each robotic arm, the mass matrix of the rigid body part of each robotic arm is determined, including: Based on the current cumulative transformation matrix of the robotic arm, determine the current rotation matrix of the robotic arm; Based on the current rotation matrix of the robotic arm, the mass of the link, the Jacobian matrix of the linear velocity of the link's center of mass, the moment of inertia tensor at the center of mass of the link, and the propagation matrix of the angular velocity of the joint rotation axis, the mass matrix of the rigid body part of the current robotic arm is determined.

6. The method for determining the joint driving torque of a six-axis robotic arm according to claim 3, characterized in that, Based on the joint angle vectors and the positions of the motor rotor centroids of each robotic arm in the corresponding link coordinate system, the Jacobian matrix of the linear velocity of the motor rotor centroids of each robotic arm is determined, including: Based on the current cumulative transformation matrix of the robotic arm and the position of the motor rotor centroid in the corresponding link coordinate system, determine the position of the current robotic arm's motor rotor centroid in the base coordinate system; Based on the position of the current motor rotor centroid of the robotic arm in the base coordinate system and the joint angle vector, determine the Jacobian matrix of the linear velocity of the current motor rotor centroid of the robotic arm.

7. The method for determining the joint driving torque of a six-axis robotic arm according to claim 1, characterized in that, Based on the mass matrices of the rigid body parts of all robotic arms and the mass matrix of the motor rotor, the system mass matrix of the six-axis robotic arm is determined, including: The system mass matrix of the six-axis robot arm is obtained by summing the mass matrices of the rigid body parts of all the robot arms and the mass matrix of the motor rotor.

8. The method for determining the joint driving torque of a six-axis robotic arm according to claim 1, characterized in that, Based on the Jacobian matrix of the link center of mass linear velocity of all robotic arms, the link mass, the Jacobian matrix of the motor rotor center of mass linear velocity of the motor rotor, and the motor rotor mass, the gravity compensation torque term of the six-axis robotic arm is determined, including: Based on the Jacobian matrix of the linear velocity of the link center of mass of all robotic arms, the link mass and the gravitational acceleration vector, the link gravity term of the six-axis robotic arm is obtained; Based on the Jacobian matrix of the linear velocity of the motor rotor center of mass of all robotic arms, the mass of the motor rotor and the gravitational acceleration vector, the gravity term of the motor rotor of the six-axis robotic arm is obtained. Based on the gravity terms of the connecting rods and the motor rotor of the six-axis robotic arm, the gravity compensation torque term of the six-axis robotic arm is determined.

9. The method for determining the joint driving torque of a six-axis robotic arm according to claim 1, characterized in that, Based on the system mass matrix, joint angle vector, and joint angular velocity vector, the nonlinear velocity-torque term of the six-axis robotic arm is determined, including: Based on the system mass matrix, joint angle vector, and joint angular velocity vector, the centrifugal force term of the six-axis robotic arm is determined; Based on the system mass matrix and joint angular velocity vector, the Coriolis force term of the six-axis robotic arm is determined; Based on the centrifugal force and Coriolis force terms of the six-axis robotic arm, the nonlinear velocity torque term of the six-axis robotic arm is determined.

10. The method for determining the joint driving torque of a six-axis robotic arm according to claim 1, characterized in that, Based on the joint inertia torque, gravity-compensated torque, and nonlinear velocity torque of the six-axis robotic arm, the joint driving forces of the six-axis robotic arm are determined, including: The joint driving force of the six-axis robotic arm is obtained by summing the joint inertial torque, gravity compensation torque, and nonlinear velocity torque terms.