Robot joint control method, device, equipment, medium and product

By using Jacobian inverse matrix and influence factors in the robot system to adjust the motion control mode of the joint, the problems of poor stability and low positioning accuracy in the realization of low stiffness characteristics of the robot system in the prior art are solved, and flexible control of high and low stiffness is achieved.

CN119501931AActive Publication Date: 2025-02-25SIASUN CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202411625448.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-14
Publication Date
2025-02-25
Estimated Expiration
2044-11-14

AI Technical Summary

Technical Problem

The prior art has problems of poor stability and low positioning accuracy when realizing the low stiffness characteristics of robot systems, especially in impedance control and admission control.

Method used

By determining the Jacobian inverse matrix based on the robot kinematic model, the factors affecting each joint on the Cartesian free direction are calculated, and the motion control mode of the joint is set based on these factors to achieve flexible adjustment of the torque mode and position mode.

Benefits of technology

It realizes the generation of high stiffness characteristics in the non-free direction and low stiffness characteristics in the free direction, which improves the stability and control accuracy of the robot system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119501931A_ABST
    Figure CN119501931A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a robot joint control method and device, equipment, a medium and a product. The robot joint control method comprises the steps that a Jacobian inverse matrix corresponding to a joint set of a robot is determined according to a robot kinematics model; the joint set comprises at least one joint of the robot; according to the Jacobian inverse matrix and the Cartesian space velocity of each joint in the free direction in the joint set, determining an influence factor of each joint on the Cartesian free direction; and setting a current motion control mode of each joint in the joint set according to the influence factor, wherein the current motion control mode comprises a moment mode and a position mode. According to the technical scheme, the current motion control mode of each joint is determined through the influence factor of each joint on the Cartesian free direction, flexible adjustment of the joint motion control mode is achieved, and flexible control over Cartesian motion is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of intelligent control technology, and in particular to a robot joint control method, device, equipment, medium and product. Background Art

[0002] At present, the most widely used robots are those based on position control. In order to meet the high requirements of compliance and safety for collaborative robots and service robots, force-controlled robots have received extensive attention. The control of force-controlled robots is more complex and has high nonlinearity. At the current stage, the technology of active compliance control is relatively mature, and impedance / admittance control is more commonly used.

[0003] Impedance control and admittance control are based on force controller and position controller respectively, so there are great differences in their stability and control performance. The main disadvantages of impedance control are: first, when the expected high stiffness characteristics or the expected inertia is very different from the actual inertia of the robot, the outer loop in the impedance control architecture is a high-gain control, which will amplify the noise and cause system instability; second, the positioning accuracy is seriously affected by the system's back-driving ability and the size of the friction force. When the expected low stiffness characteristics are low, the system positioning accuracy is low due to the influence of friction. Therefore, the impedance control architecture is suitable for collaborative robot systems with back-driving capabilities and (or) low friction. In addition, the dynamic model of the robot system is often required in actual control. From the perspective of system stability, impedance control is conducive to realizing the low stiffness characteristics of the robot system and is suitable for the compliant motion control of the robot in the case of interaction with a high stiffness environment. The main advantage of impedance control is that it can achieve high force control accuracy and expected compliant performance.

[0004] The most prominent advantage of admittance control is its good robustness, and its control performance mainly depends on the performance of the inner loop position control. Since the position closed-loop controller can effectively compensate for the influence of friction and robot dynamics modeling errors, the accuracy of the robot dynamics model is not required to be high. At the same time, admittance control is suitable for robot systems that do not have back-driving capabilities. However, since admittance control uses position control as the internal control loop and is limited by the bandwidth of the position control loop, the main disadvantage of the admittance control architecture is that when low stiffness characteristics are expected, the outer loop gain is too large, which can easily lead to system instability. Therefore, admittance control is more conducive to achieving high stiffness characteristics of the robot system and is suitable for robot compliant motion control in the case of interaction with a low stiffness environment.

[0005] Impedance control systems have poor stability and are only suitable for achieving low stiffness characteristics of robot systems. Admittance control is difficult to achieve low stiffness characteristics of robot systems and requires force sensors to sense force information. Users can only pull the position of the force sensor. Summary of the invention

[0006] The embodiments of the present disclosure provide a robot joint control method, device, equipment, medium and product, which realize flexible adjustment of joint motion control mode.

[0007] In a first aspect, a robot joint control method is provided, the method comprising:

[0008] Determine the Jacobian inverse matrix corresponding to the joint set of the robot according to the robot kinematic model; the joint set includes at least one joint of the robot; the number of rows of the Jacobian inverse matrix corresponds to the number of joints in the joint set; the number of columns of the Jacobian inverse matrix corresponds to the degrees of freedom of the end effector of the robot;

[0009] Determine the influence factor of each joint on the Cartesian free direction according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction;

[0010] The current motion control mode of each joint in the joint set is set according to the influencing factor, and the current motion control mode includes a torque mode and a position mode.

[0011] In a second aspect, a robot joint control device is provided, comprising:

[0012] An inverse matrix determination module is used to determine the Jacobian inverse matrix corresponding to the joint set of the robot according to the robot kinematic model; the joint set includes at least one joint of the robot; the number of rows of the Jacobian inverse matrix corresponds to the number of joints in the joint set; the number of columns of the Jacobian inverse matrix corresponds to the degrees of freedom of the end effector of the robot;

[0013] An influence factor determination module, used to determine the influence factor of each joint on the Cartesian free direction according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction;

[0014] The motion control mode determination module is used to set the current motion control mode of each joint in the joint set according to the influencing factor, and the current motion control mode includes a torque mode and a position mode.

[0015] In a third aspect, an electronic device is provided, including:

[0016] at least one processor; and

[0017] a memory communicatively connected to the at least one processor; wherein,

[0018] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot joint control method as described in the first aspect above.

[0019] In a fourth aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the robot joint control method as described in the first aspect above is implemented.

[0020] In a fifth aspect, a computer program product is provided, the computer program product comprising a computer program, and the computer program, when executed by a processor, implements the robot joint control method as described in the first aspect above.

[0021] The disclosed embodiment discloses a robot joint control method, device, equipment, medium and product, including: determining the Jacobian inverse matrix corresponding to the joint set of the robot according to the robot kinematic model; the joint set contains at least one joint of the robot; the number of rows of the Jacobian inverse matrix corresponds to the number of joints in the joint set; the number of columns of the Jacobian inverse matrix corresponds to the degree of freedom of the end effector of the robot; determining the influence factor of each joint on the Cartesian free direction according to the Jacobian inverse matrix and the Cartesian space velocity of each joint in the joint set in the free direction; setting the current motion control mode of each joint in the joint set according to the influence factor, and the current motion control mode includes a torque mode and a position mode. The technical solution determines the current motion control mode of each joint by the influence factor of the joint velocity of each joint on the Cartesian free direction, so that some joints of the robot are in the position mode and the remaining joints are in the torque mode, which can produce high stiffness characteristics in the non-free direction and low stiffness characteristics in the free direction, and uses the joint position closed-loop control to provide better stability and control stiffness, so as to realize the flexible adjustment of the current joint motion control mode and the flexible control of Cartesian motion.

[0022] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the embodiments of the present disclosure. Other features of the embodiments of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0024] Figure 1 is a flow chart of a robot joint control method provided in Embodiment 1 of the present disclosure;

[0025] Figure 2 is a structural schematic diagram of a robot joint control device provided in Embodiment 2 of the present disclosure;

[0026] Figure 3 It is a structural diagram of an electronic device provided in Embodiment 3 of the present disclosure. DETAILED DESCRIPTION

[0027] In order to enable those skilled in the art to better understand the solutions of the embodiments of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only embodiments of a part of the embodiments of the present disclosure, rather than all of the embodiments. Based on the embodiments in the embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the embodiments of the present disclosure.

[0028] It should be noted that the terms "first", "second", etc. in the specification and claims of the embodiments of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.

[0029] Embodiment 1

[0030] Figure 1 This is a flow chart of a robot joint control method provided in the first embodiment of the present disclosure. This embodiment is applicable to the case of controlling the joints of a robot. The method can be executed by a robot joint control device. The robot joint control device can be implemented in the form of hardware and / or software. The robot joint control device can be configured in an electronic device, including but not limited to computers, computers, terminals, servers and other devices with data processing capabilities. Figure 1 As shown, the method includes:

[0031] S110. Determine the Jacobian inverse matrix corresponding to the joint set of the robot according to the robot kinematic model; the joint set contains at least one joint of the robot; the number of rows of the Jacobian inverse matrix corresponds to the number of joints in the joint set; the number of columns of the Jacobian inverse matrix corresponds to the degrees of freedom of the end effector of the robot.

[0032] In this embodiment, the robot kinematic model can be established by using Denavit-Hartenberg (DH) modeling, which is a modeling technique widely used in robot kinematics. This method establishes a coordinate system on each link and uses homogeneous coordinate transformation to achieve coordinate transformation between links, thereby deriving the position and posture of the end effector relative to the base coordinate system and establishing the robot's kinematic equations.

[0033] Exemplarily, the kinematic model of the robot is established according to the parameters of the DH modeling method, and the transformation matrix between any two connecting rods is known to be:

[0034]

[0035] Among them, a i-1 It can be the link length of the i-th link, that is, the vertical distance from the i-1-th joint axis to the i-th joint axis (the length of the common perpendicular line); α i-1 It can be the link torsion angle of the i-th link, that is, the angle between the i-1th joint axis and the i-th joint axis, defined according to the right-hand rule; d i It can be the link offset of the i-th link, that is, the straight-line distance from the coordinate system of the i-1th link to the coordinate system of the i-th link along the i-th joint axis; θ i It can be the rotation angle (joint angle) of the i-th joint, that is, the angle of rotation of the coordinate system of the i-1th link around the i-th joint axis to the coordinate system of the i-th link. The link can be a series of rigid body segments that make up the robot manipulator. These links are connected by joints to form the robot's kinematic chain.

[0036] For example, taking a 6-joint robot as an example, the kinematic model (end pose matrix) of the 6-joint robot can be expressed as:

[0037]

[0038] Specifically, the robot kinematic model based on DH parameters describes how the position and posture of the robot end effector change with the change of the joint angle. According to the robot kinematic model, the Jacobian matrix corresponding to the robot's joint set can be determined, and the Jacobian inverse matrix corresponding to each joint set can be obtained according to the Jacobian matrix.

[0039] Following the above description, the Jacobian inverse matrix corresponding to the joint set of the robot can be determined according to the robot kinematic model. Specifically, after the kinematic model is determined, the Jacobian matrix can be determined based on the robot kinematic model.

[0040] For example, the Jacobian matrix can be a 6×n matrix, where 6 can represent the six degrees of freedom of the end effector in three-dimensional space (three translational degrees of freedom and three rotational degrees of freedom), and n can be the number of joints. The Jacobian matrix can be used to describe how the velocity of the end effector depends on the joint velocities. The Jacobian matrix can be obtained by Calculated, among which, is the robot joint velocity vector with n degrees of freedom, It can be the robot's Cartesian space velocity, R 6 Can be a set of 6-dimensional vectors, J q (q) can be the robot Jacobian matrix. Taking a 6-joint robot as an example, the Jacobian matrix can be expressed as:

[0041]

[0042] It should be noted that It can be expressed as the derivative of the posture vector of the robot end effector in Cartesian space with respect to time, It can be expressed as the derivative of the joint angle vector with respect to time, It can be expressed as the partial derivative of the robot's end pose vector to the joint angle vector, represents the partial derivative of the ith element of the end pose vector with respect to the ith element of the joint angle vector. It should be noted that q = θ, that is, q and θ can both be expressed as a set of joint angles, and q includes multiple q i , i = 1, 2, 3..., i can represent different joints, and θ includes multiple θ i , i = 1, 2, 3..., i can represent different joints. The number of rows of the Jacobian matrix corresponds to the degrees of freedom of the end effector in Cartesian space (usually 6, including 3 linear velocities and 3 angular velocities), and the number of columns of the Jacobian matrix corresponds to the number of joints of the robot. After the Jacobian matrix is ​​determined, the Jacobian inverse matrix can be determined based on the Jacobian matrix.

[0043] Continuing with the above description, if the Jacobian matrix is ​​a square matrix and is reversible, the Jacobian inverse matrix can be determined by matrix inversion; if the Jacobian matrix is ​​not a square matrix or is not reversible (for example, when the robot is at a singular point), the pseudo-inverse or other numerical methods are required to calculate the Jacobian inverse matrix.

[0044] It should be explained that the number of rows of the inverse Jacobian matrix corresponds to the number of joints in the joint set; the number of columns of the inverse Jacobian matrix corresponds to the degrees of freedom of the end effector of the robot. The joint set may contain at least one joint of the robot. The manipulator arm of a robot that can move in all directions may have 6 degrees of freedom (3 translational degrees of freedom and 3 rotational degrees of freedom). Each degree of freedom represents a motion parameter that can be independently controlled, usually related to the rotation or translation of the joint.

[0045] S120. Determine the influence factor of each joint on the Cartesian free direction according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction.

[0046] Specifically, after the Jacobian inverse matrix is ​​determined, the influence factor of each joint on the Cartesian free direction can be determined according to the Jacobian inverse matrix and the Cartesian space velocity of each joint in the joint set in the free direction. Among them, the Cartesian space velocity may refer to the velocity of the robot end-effector in the Cartesian coordinate system (usually three-dimensional space), including translation velocity and rotation velocity, and the Cartesian space velocity can be calculated by the Jacobian matrix. Exemplarily, the joint velocity refers to the angular velocity of each joint of the robot, and the joint velocity can be determined by the Jacobian inverse matrix and the Cartesian space velocity of each joint in the joint set in the free direction. Exemplarily, if the degree of freedom in the free direction is m (m≤6), the Cartesian space velocity can be expressed as in, It is expressed as the Cartesian space velocity in m degrees of freedom. The joint velocity of the 6 joints can be expressed as Then we have:

[0047]

[0048] Following the above description, after determining the joint speed of each joint, the influence factor of the joint speed of each joint on the Cartesian free direction can be determined. The free direction refers to the movement direction that the robot joint can change during the traction process.

[0049] S130. Setting the current motion control mode of each joint in the joint set according to the influencing factor, where the current motion control mode includes a torque mode and a position mode.

[0050] Specifically, after determining the influence factors of the joint velocity of each joint on the Cartesian free direction, the current motion control mode of each joint can be set according to the value of each influence factor in the influence factors. Exemplarily, the current motion control mode of each joint can be determined according to the value of each influence factor in each influence factor. Among them, the current motion control mode includes a torque mode and a position mode.

[0051] It should be noted that in position mode (non-dominant axis), the position of the robot's joints or end effectors is specified and controlled. The robot can calculate and send appropriate joint angles or position commands based on the given target position to enable the robot to reach the target position; in torque mode (dominant axis), the robot responds to feedback from external forces or torques to maintain a predetermined force or torque level.

[0052] The present embodiment provides a robot joint control method, comprising: determining the Jacobian inverse matrix corresponding to the joint set of the robot according to the robot kinematic model; the joint set includes at least one joint of the robot; the number of rows of the Jacobian inverse matrix corresponds to the number of joints in the joint set; the number of columns of the Jacobian inverse matrix corresponds to the degrees of freedom of the end effector of the robot; determining the influence factor of each joint on the Cartesian free direction according to the Jacobian inverse matrix and the Cartesian space velocity of each joint in the joint set in the free direction; setting the current motion control mode of each joint in the joint set according to the influence factor, the current motion control mode including the torque mode and the position mode, thereby realizing flexible adjustment of the current joint motion control mode and flexible control of Cartesian motion.

[0053] As an optional implementation of this embodiment, the robot joint control method provided in this embodiment further includes:

[0054] 1) If the motion control mode of the joint is the position mode, obtaining the Cartesian posture change vector of the end effector in the non-free direction;

[0055] In this embodiment, if the motion control mode of the joint is a position mode (non-dominant axis), a detection device can be used to detect the posture change vector of the end effector in the non-free direction.

[0056] Among them, the end effector is a device installed at the end of the robot arm to perform specific tasks or operations. The end effector is a key component for the robot to interact directly with the external environment, which enables the robot to complete various practical tasks, such as grasping, handling, assembly, spraying, welding, etc.

[0057] 2) determining the joint velocity of the joint according to the Cartesian posture change vector and the Jacobian inverse matrix of the joint corresponding to the position mode, and the joint driver of the joint controls the joint according to the joint velocity.

[0058] Specifically, the joint velocity of the joint can be determined according to the Cartesian posture change vector and the Jacobian inverse matrix of the joint corresponding to the position mode. For example, assuming that the degree of freedom in the Cartesian free direction is m (m≤6), and the degree of freedom in the non-free direction is n (n=6-m), then the number of joints (dominant axes) in the torque mode is m, and the number of joints (non-dominant axes) in the position mode is n. Detect the posture change dr of the end effector in the non-free direction n×1 , using the inverse of the Jacobian matrix of the non-free direction with respect to the non-dominant axis Calculate the joint change dq corresponding to the non-dominant axis n×1 :

[0059]

[0060] Where n can be the degree of freedom in the non-free direction. It should be explained that, because in the robot, 6 joints can correspond to 6 Cartesian degrees of freedom, therefore, usually the Jacobian matrix or the inverse Jacobian matrix is ​​a 6×6 matrix. If the current control mode of each joint is set to the torque mode (dominant axis), such as the current motion control mode of the robot's 1, 2, and 3 joints is the torque mode (dominant axis), then the Jacobian matrix corresponding to the three dominant axes is a submatrix consisting of the first three columns of the 6×6 Jacobian matrix, that is, the Jacobian matrix of the robot's 1, 2, and 3 joints is a 6×3 Jacobian matrix, and the 6×3 Jacobian matrix is ​​also a Jacobian matrix, but it is the Cartesian 6 degrees of freedom relative to the 3 dominant axes; at the same time, the Jacobian inverse matrix corresponding to the 3 dominant axes is a submatrix consisting of the first three rows of the 6×6 Jacobian inverse matrix, that is, the Jacobian inverse matrix of the robot's 1, 2, and 3 joints is a 3×6 Jacobian inverse matrix, which is also a Jacobian matrix, but it is the Cartesian 6 degrees of freedom relative to the 3 dominant axes.

[0061] Continuing with the above description, after the joint speed of the joint is determined, the joint driver of the joint can control the joint according to the joint speed, so that the joint exhibits high stiffness characteristics in the Cartesian non-free direction.

[0062] It should be noted that, after the current motion control mode of each joint is determined, the technical solution provided in this embodiment can be executed cyclically to identify the motion control mode of each joint.

[0063] As an optional implementation of this embodiment, the robot joint control method provided in this embodiment further includes:

[0064] 1) If the historical motion control mode of the joint is the torque mode and the current motion control mode is the position mode, the position loop control gain is made to reach the first target threshold within the first preset time by using quintic polynomial programming to transition from the torque mode to the position mode.

[0065] In this embodiment, the torque mode can calculate the expected torque according to the joint impedance control model for torque feedforward control, and the position mode can perform position feedback control according to the position error. It can be known that if the historical motion control mode of the joint is the torque mode and the current motion control mode is the position mode, the fifth-order polynomial programming can be used to make the position loop control gain reach the first target threshold within the first preset time, so that the torque mode transitions to the position mode. Among them, the first preset time can be a pre-set time, and the first target threshold can be a pre-set threshold. For example: the first preset time can be 100ms, the first target threshold can be 100, and the fifth-order polynomial programming can be used to make the position loop control gain rise to 100 within 100ms.

[0066] Among them, quintic polynomial programming can be a method for robot motion planning, which allows the robot to move smoothly between two points while satisfying the constraints of speed and acceleration. The position control gain can determine the response characteristics and accuracy of the robot in the position control mode. Increasing the position control gain can improve the positioning stiffness of the robot and reduce the position lag, but too large a gain may cause mechanical vibration or overshoot.

[0067] 2) If the historical motion control mode of the joint is the position mode and the current motion control mode is the torque mode, the position loop control gain is made to reach the second target threshold within the first preset time by using quintic polynomial programming to transition from the position mode to the torque mode.

[0068] It can be known that if the historical motion control mode of the joint is the position mode and the current motion control mode is the torque mode, the position loop control gain is made to reach the second target threshold within the first preset time by using the fifth-order polynomial programming, and the second target threshold can be a preset threshold. For example, the second target threshold can be 0, and the fifth-order polynomial programming can be used to make the position loop control gain rise to a preset value within 100ms, so that the position mode is transitioned to the torque mode.

[0069] Exemplarily, the expression of the fifth-order polynomial of the position loop control gain with respect to time t is:

[0070] k(t)=a 0 +a 1 t+a 2 t 2 +a 3 t 3 +a 4 t 4 +a 5 t 5

[0071] Specifically, the initial position loop control gain can be expressed as k 1 , the final control gain can be expressed as k 2 , a 0 、a 1 、a 2 、a 3 、a 4 and a 5 is the coefficient of the position loop control gain. The speed and acceleration of the control gain in the initial state and the final state can be 0 as a constraint. Based on the time of the initial state and the final state, the position of the initial state and the final state, the initial position loop control gain k 1 and the end control gain k 2 The coefficients of the fifth-order polynomial can be obtained as:

[0072]

[0073] As an optional implementation of this embodiment, determining the influence factor of each joint on the Cartesian free direction according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction includes:

[0074] 1) Determine a first velocity vector according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction, wherein the first velocity vector includes the joint velocity of each joint.

[0075] In this embodiment, the first velocity vector may be determined according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction, and the first velocity vector includes the joint velocity of each joint.

[0076] For example, if the degree of freedom of the free direction is m (m<=6), the Jacobian inverse matrix can be expressed as:

[0077]

[0078] The Cartesian space velocity of each joint in the free direction can be expressed as The first velocity vector is expressed as Then we have:

[0079]

[0080] 2) determining the projection matrix of each joint in the free direction according to the second velocity matrix and the Jacobian matrix; the elements of the main diagonal of the second velocity matrix are the same as the elements of the first velocity vector, and the non-main diagonal elements of the second velocity matrix are 0; the Jacobian matrix is ​​calculated by the robot kinematic model.

[0081] Specifically, the projection matrix of each joint in the free direction can be determined according to the second velocity matrix and the Jacobian matrix, wherein the elements of the main diagonal of the second velocity matrix are the same as the elements of the first velocity vector, and the non-main diagonal elements of the second velocity matrix are 0; the Jacobian matrix is ​​calculated by the robot kinematic model.

[0082] Exemplarily, the second velocity matrix can be expressed as Wherein, diag() can be a function for constructing a diagonal matrix, that is, the elements of the main diagonal in the second velocity matrix are the same as the first velocity vector, and the non-main diagonal elements in the second velocity matrix are 0. The Jacobian matrix can be expressed as J q (q), the projection matrix can be expressed as R 6×6 , then:

[0083]

[0084] 3) Determine the influence factor of the joint velocity of each joint on the Cartesian free direction according to the projection matrix.

[0085] Specifically, after the projection matrix is ​​determined, the influence factor of each joint on the Cartesian free direction can be determined based on the projection matrix.

[0086] For example, the influence factor of each joint on the Cartesian free direction can be expressed as k 6×1 , then:

[0087]

[0088] It should be noted that if the influence factor is a positive number, it can be determined that the joint velocity of each joint has a positive influence on the Cartesian free direction; if the influence factor is a negative number, it can be determined that the joint velocity of each joint has a negative influence on the Cartesian free direction.

[0089] As an optional implementation of this embodiment, setting the current motion control mode of each joint in the joint set according to the influencing factor includes:

[0090] 1) determining the influencing factors that meet the first preset condition among the influencing factors as a first influencing factor set;

[0091] In this embodiment, after obtaining the influence factor of each joint on the Cartesian free direction, the influence factors that meet the first preset condition among the influence factors can be determined as the first influence factor set. The first preset condition can be a condition for screening the influence factors, such as: the first preset condition can be to screen out the influence factors with an influence factor greater than 0 among the influence factors.

[0092] 2) determining the impact factor that meets the second preset condition in the first impact factor set as the target impact factor;

[0093] Continuing with the above description, after the first influencing factor set is determined, the influencing factors in the first influencing factor set can be screened according to the second preset condition. The second preset condition can be a condition for screening the influencing factors in the first influencing factor set, such as: the second preset condition can be: in the first influencing factor set, based on the degree of linear independence of the corresponding joints of each influencing factor, screen out influencing factors that meet a preset number. The preset number can be the number of the target influencing factor set. Exemplarily, the preset number can be 5, then the second preset condition can be: select the 5 influencing factors with the highest degree of linear independence of the corresponding joints from the influencing factors greater than 0 and determine them as the target influencing factors.

[0094] Exemplarily, m joints are selected from the joints corresponding to the first set of influencing factors (producing positive influence), a matrix is ​​formed using the projection vectors of these joints in the free direction, the minimum singular value of the matrix is ​​calculated, and the value is used to judge the linear independence of these m joints to the free direction. The larger the minimum singular value, the greater the linear independence.

[0095] Following the above description, the first impact factor set determines the impact factor that meets the second preset condition as the target impact factor.

[0096] 3) Setting the current motion control mode of the joint corresponding to the target influencing factor to the torque mode, and making the joint present a low stiffness characteristic according to the joint impedance control model.

[0097] Specifically, after the target influence factor is determined, the current motion control mode of the joint corresponding to the target influence factor can be set to a torque mode, and the joint in the torque mode can be made to exhibit low stiffness characteristics through the joint impedance control model.

[0098] In this embodiment, the joint impedance control model can be a method for describing how the robot adjusts its joint behavior through a control algorithm to simulate a certain physical impedance characteristic when interacting with the environment. Exemplarily, the joint impedance control model can be expressed as:

[0099]

[0100] in, represents the joint angular acceleration, represents the joint angular velocity, q represents the joint angle, τ ext represents external force, M represents moment of inertia, D represents expected damping, and K represents expected stiffness. According to the joint impedance model, appropriate impedance parameters are set to make the dominant axis present low stiffness characteristics.

[0101] Specifically, the values ​​of M, D, and K can be set so that the joint impedance control model is established and the joint exhibits low stiffness characteristics.

[0102] As an optional implementation of this embodiment, the step of setting the current motion control mode of each joint in the joint set according to the influencing factor further includes:

[0103] 1) determining the influencing factors that do not meet the first preset condition and the second preset condition among the influencing factors as a second influencing factor set;

[0104] Specifically, the influencing factors that do not meet the first preset condition and the second preset condition may be determined as the second influencing factor set. Exemplarily, the influencing factors in the second influencing factor set may be negative numbers.

[0105] 2) Setting the current motion control mode of the joint corresponding to each influencing factor in the second influencing factor set as the position mode.

[0106] Specifically, the current motion control mode of the joint corresponding to each influencing factor in the second influencing factor set is set to the position mode (non-dominant axis).

[0107] Embodiment 2

[0108] Figure 2 is a schematic diagram of the structure of a robot joint control device provided in the second embodiment of the present disclosure; Figure 2 As shown, the device includes: an inverse matrix determination module 210, an influence factor determination module 220, and a current motion control mode determination module 230.

[0109] The inverse matrix determination module 210 is used to determine the Jacobian inverse matrix corresponding to the joint set of the robot according to the robot kinematic model; the joint set includes at least one joint of the robot; the number of rows of the Jacobian inverse matrix corresponds to the number of joints in the joint set; the number of columns of the Jacobian inverse matrix corresponds to the degrees of freedom of the end effector of the robot;

[0110] An influence factor determination module 220, for determining an influence factor of each joint on a Cartesian free direction according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction;

[0111] The current motion control mode determination module 230 is used to set the current motion control mode of each joint in the joint set according to the influencing factor, and the current motion control mode includes a torque mode and a position mode.

[0112] A second embodiment of the present disclosure provides a robot joint control device, which realizes flexible adjustment of the joint motion control mode.

[0113] Furthermore, the impact factor determination module 220 is also used for:

[0114] Determine a first velocity vector according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction, wherein the first velocity vector includes the joint velocity of each joint;

[0115] Determine the projection matrix of each joint in the free direction according to the second velocity matrix and the Jacobian matrix; the elements of the main diagonal of the second velocity matrix are the same as the elements of the first velocity vector, and the non-main diagonal elements of the second velocity matrix are 0; the Jacobian matrix is ​​calculated by the robot kinematic model;

[0116] The influence factor of each joint on the Cartesian free direction is determined according to the projection matrix.

[0117] Furthermore, the current motion control mode determination module 230 is further configured to:

[0118] Determine the influence factors of the joints on the Cartesian free direction that meet the first preset condition as a first influence factor set;

[0119] Determine an impact factor in the first impact factor set that meets a second preset condition as a target impact factor;

[0120] The current motion control mode of the joint corresponding to the target influencing factor is set to the torque mode, and the joint is made to present a low stiffness characteristic according to a joint impedance control model.

[0121] Furthermore, the current motion control mode determination module 230 is further configured to:

[0122] Determine the influence factors of the joints on the Cartesian free direction that do not meet the first preset condition as a second influence factor set;

[0123] The current motion control mode of the joint corresponding to each influencing factor in the second influencing factor set is set as the position mode.

[0124] Furthermore, the device further comprises:

[0125] A Cartesian posture change vector acquisition module, used for acquiring the Cartesian posture change vector of the end effector of the joint in the non-free direction if the motion control mode of the joint is the position mode;

[0126] A control module is used to determine the joint velocity of the joint according to the Cartesian posture change vector and the Jacobian inverse matrix of the joint corresponding to the position mode, and the joint driver of the joint controls the joint according to the joint velocity.

[0127] Furthermore, the device also includes:

[0128] A first position loop control gain control module is used to use quintic polynomial programming to make the position loop control gain reach a first target threshold within a first preset time if the historical motion control mode of the joint is a torque mode and the current motion control mode is a position mode, so as to make the torque mode transition to the position mode;

[0129] The second position loop control gain control module is used to use quintic polynomial programming to make the position loop control gain reach a second target threshold within a first preset time if the historical motion control mode of the joint is the position mode and the current motion control mode is the torque mode, so as to make the position mode transition to the torque mode.

[0130] The robot joint control device provided in the embodiments of the present disclosure can execute the robot joint control method provided in any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method.

[0131] Embodiment 3

[0132] Figure 3 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the embodiments of the present disclosure described and / or claimed herein.

[0133] like Figure 3 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0134] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0135] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microprocessor, etc. The processor 11 executes the various methods and processes described above, such as a robot joint control method.

[0136] In some embodiments, the robot joint control method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the robot joint control method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the robot joint control method in any other appropriate manner (e.g., by means of firmware).

[0137] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0138] The computer programs for implementing the methods of the embodiments of the present disclosure may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine as a stand-alone software package and partially on a remote machine, or entirely on a remote machine or server.

[0139] In the context of the disclosed embodiments, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0140] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0141] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0142] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0143] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in the embodiments of the present disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions of the embodiments of the present disclosure can be achieved, and this document does not limit this.

[0144] The above specific implementations do not constitute a limitation on the protection scope of the embodiments of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the embodiments of the present disclosure shall be included in the protection scope of the embodiments of the present disclosure.

[0145] The embodiments of the present disclosure also provide a computer program product, including a computer program and / or instructions, which, when executed by a processor, implements the robot joint control method provided in any embodiment of the present application.

[0146] In the process of implementation, the computer program product can be written in one or more programming languages ​​or a combination thereof to write computer program codes for performing the operation of the disclosed embodiments, the programming languages ​​including object-oriented programming languages, such as Java, Smalltalk, C++, and also including conventional procedural programming languages, such as "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider to connect through the Internet).

[0147] Note that the above are only preferred embodiments of the embodiments of the present disclosure and the technical principles used. Those skilled in the art will understand that the embodiments of the present disclosure are not limited to the specific embodiments herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the protection scope of the embodiments of the present disclosure. Therefore, although the embodiments of the present disclosure are described in more detail through the above embodiments, the embodiments of the present disclosure are not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the embodiments of the present disclosure, and the scope of the embodiments of the present disclosure is determined by the scope of the attached claims.

Claims

1. A robot joint control method, characterized in that: The method comprises: Determine the Jacobian inverse matrix corresponding to the joint set of the robot according to the robot kinematic model; the joint set includes at least one joint of the robot; the number of rows of the Jacobian inverse matrix corresponds to the number of joints in the joint set; the number of columns of the Jacobian inverse matrix corresponds to the degrees of freedom of the end effector of the robot; Determine the influence factor of each joint on the Cartesian free direction according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction; The current motion control mode of each joint in the joint set is set according to the influencing factor, and the current motion control mode includes a torque mode and a position mode.

2. The method according to claim 1, characterized in that The determining of the influence factor of each joint on the Cartesian free direction according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction comprises: Determine a first velocity vector according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction, wherein the first velocity vector includes the joint velocity of each joint; Determine the projection matrix of each joint in the free direction according to the second velocity matrix and the Jacobian matrix; the elements of the main diagonal of the second velocity matrix are the same as the elements of the first velocity vector, and the non-main diagonal elements of the second velocity matrix are 0; the Jacobian matrix is ​​calculated by the robot kinematic model; The influence factor of each joint on the Cartesian free direction is determined according to the projection matrix.

3. The method according to claim 1, characterized in that The step of setting the current motion control mode of each joint in the joint set according to the influencing factor comprises: Determine the influencing factors that meet a first preset condition among the influencing factors as a first influencing factor set; Determine an impact factor in the first impact factor set that meets a second preset condition as a target impact factor; The current motion control mode of the joint corresponding to the target influencing factor is set to the torque mode, and the joint is made to present a low stiffness characteristic according to a joint impedance control model.

4. The method according to claim 1, characterized in that: The step of setting the current motion control mode of each joint in the joint set according to the influencing factor also includes: Determine the influencing factors that do not satisfy the first preset condition and the second preset condition among the influencing factors as a second influencing factor set; The current motion control mode of the joint corresponding to each influencing factor in the second influencing factor set is set as the position mode.

5. The method according to claim 1, characterized in that The method further comprises: If the motion control mode of the joint is the position mode, obtaining the Cartesian pose change vector of the end effector in the non-free direction; The joint velocity of the joint is determined according to the Cartesian posture change vector and the Jacobian inverse matrix of the joint corresponding to the position mode, and the joint driver of the joint controls the joint according to the joint velocity.

6. The method according to claim 1, characterized in that The method further comprises: If the historical motion control mode of the joint is the torque mode and the current motion control mode is the position mode, a fifth-order polynomial programming is used to make the position loop control gain reach a first target threshold within a first preset time, so as to make the torque mode transition to the position mode; If the historical motion control mode of the joint is the position mode and the current motion control mode is the torque mode, quintic polynomial programming is used to make the position loop control gain reach the second target threshold within the first preset time to make the position mode transition to the torque mode.

7. A robot joint control device, characterized in that: include: An inverse matrix determination module is used to determine the Jacobian inverse matrix corresponding to the joint set of the robot according to the robot kinematics model; The joint set includes at least one joint of the robot; The number of rows of the inverse Jacobian matrix corresponds to the number of joints in the joint set; the number of columns of the inverse Jacobian matrix corresponds to the degrees of freedom of the end effector of the robot; An influence factor determination module, used to determine the influence factor of each joint on the Cartesian free direction according to the inverse Jacobian matrix and the Cartesian space velocity of each joint in the joint set in the free direction; The current motion control mode determination module is used to set the current motion control mode of each joint in the joint set according to the influencing factor vector, and the current motion control mode includes a torque mode and a position mode.

8. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the robot joint control method as described in any one of claims 1-6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the robot joint control method as described in any one of claims 1-6 is implemented.

10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the robot joint control method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Motion planning model for automobile welding robot

    CN109807892A

  • Redundant mechanical arm control method and device, readable storage medium and equipment

    CN113119100A

  • Zero-force dragging method based on Cartesian space

    CN114102603A

  • Robot compliance control method and device and electronic equipment

    CN117047771A

  • Motion control method and device of under-degree-of-freedom mechanical arm and computer equipment

    CN117428778A