Robotic arm control methods, devices, equipment and storage media

By constructing a target dynamics model and an impedance model for the robotic arm, the trajectory error problem caused by inaccurate end-effector contact force control was solved, and high-precision robotic arm motion control was achieved.

CN117086870BActive Publication Date: 2026-05-26ZOOMLION INTELLIGENT ACCESS MASCH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZOOMLION INTELLIGENT ACCESS MASCH CO LTD
Filing Date
2023-08-28
Publication Date
2026-05-26

Smart Images

  • Figure CN117086870B_ABST
    Figure CN117086870B_ABST
Patent Text Reader

Abstract

This invention relates to the field of data processing, and discloses a model processing method, a robotic arm control method, a device, an equipment, and a storage medium. The model processing method includes: constructing a target dynamic model of the robotic arm and the contacting object in Cartesian space based on the angular displacement, angular velocity, angular acceleration, and driving torque of at least one set of robotic arm joints; obtaining the actual position, actual velocity, actual acceleration, and actual contact force of at least one set of robotic arms; determining the position error between each set of actual positions and desired positions, the velocity error between each set of actual velocities and desired velocities, the acceleration error between each set of actual accelerations and desired accelerations, and the contact force error between each set of actual contact forces and desired contact forces; constructing an impedance model of the robotic arm based on the position error, velocity error, acceleration error, and contact force error; and updating the second inertia matrix of the impedance model to the first inertia matrix to obtain the target impedance model of the robotic arm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing, and more specifically to a robotic arm control method, apparatus, device, and storage medium. Background Technology

[0002] Aerial work platforms are mechanical devices that transport operators or other equipment to a desired height, and are widely used in various high-altitude work scenarios. Typically, aerial work platforms use hydraulic or electric equipment to drive hydraulic cylinders, which in turn move the robotic arm, controlling the raising or lowering of the work platform attached to the end of the robotic arm. This allows the operator or other equipment on the work platform to move to the desired height. Even without contact with walls or other objects to generate contact force, the aerial work platform can accurately control the position of the robotic arm's end effector based on parameters such as angles detected by sensors, enabling the work platform attached to the end effector to move along the desired trajectory to the desired height.

[0003] In work scenarios where a work platform equipped with grinding equipment grinds objects or a work platform equipped with cleaning equipment cleans bosses, a robotic arm raises or lowers the work platform. The aerial work platform then comes into contact with surfaces such as walls, and the end effector of the robotic arm experiences a contact force. However, because the aerial work platform cannot directly control the magnitude of this contact force, yet the work scenario requires the end effector's position to be dynamically adjusted based on the magnitude of the contact force, the position of the end effector cannot change accordingly. This leads to an error between the actual position of the end effector and the desired position corresponding to the expected contact force, affecting the actual trajectory of the robotic arm. A significant error between the actual and desired trajectory causes the robotic arm to fail to move along the expected path, impacting the aerial work operation. Summary of the Invention

[0004] The purpose of this invention is to provide a device that solves the problem of a large error between the actual trajectory and the expected trajectory of a robotic arm during movement.

[0005] To achieve the above objectives, the present invention provides a model processing method, which includes:

[0006] Based on the angular displacement, angular velocity, angular acceleration and driving torque of at least one set of joints of the robotic arm, a target dynamic model of the robotic arm and the contact object is constructed in Cartesian space, wherein the target dynamic model includes the first inertia matrix of the robotic arm;

[0007] Obtain at least one set of actual position, actual velocity, actual acceleration, and actual contact force of the robotic arm;

[0008] Determine the position error between the actual position and the desired position of the robotic arm for each group, the velocity error between the actual velocity and the desired velocity for each group, the acceleration error between the actual acceleration and the desired acceleration for each group, and the contact force error between the actual contact force and the desired contact force for each group;

[0009] Based on position error, velocity error, acceleration error and contact force error, an impedance model of the robotic arm is constructed, wherein the impedance model includes a second inertia matrix;

[0010] The second inertia matrix of the impedance model is updated to the first inertia matrix to obtain the target impedance model of the robotic arm.

[0011] In conjunction with the first aspect, in a first possible implementation, a target dynamic model of the robotic arm and the contact object in Cartesian space is constructed based on the angular displacement, angular velocity, angular acceleration, and driving torque of at least one set of joints of the robotic arm, including:

[0012] Using the angular displacement, angular velocity, angular acceleration, and driving torque of the joints of the robotic arm, a first dynamic model of the robotic arm is constructed based on the Lagrange method.

[0013] Based on the first dynamic model, the Jacobian matrix of the robotic arm, and at least one set of contact forces between the robotic arm and the contacting object, a second dynamic model of the robotic arm and the contacting object in joint space is obtained.

[0014] Based on the relationship between the pose of the robotic arm and the angle transformation of the joints, the second dynamic model is transformed into a target dynamic model of the robotic arm and the contact object in Cartesian space.

[0015] In conjunction with the first possible implementation of the first aspect, the model processing method in the second possible implementation further includes:

[0016] The first dynamic model is updated based on the friction model and disturbance model of the robotic arm.

[0017] In conjunction with the first aspect, in the third possible implementation, at least one set of actual position, actual velocity, actual acceleration, and actual contact force of the robotic arm is obtained, including:

[0018] When the robotic arm moves along a preset trajectory with a preset initial preload, at least one set of motion parameters of the robotic arm is obtained;

[0019] Based on each set of motion parameters, the actual position, actual speed, actual acceleration, and actual contact force of each robotic arm are determined.

[0020] Secondly, this application provides a robotic arm control method, which includes:

[0021] Determine the real-time contact force error between the robotic arm's real-time contact force and the desired contact force;

[0022] The real-time contact force error is converted into a target offset of the position of the robotic arm using a target impedance model, wherein the target impedance model is obtained according to the model processing method as described in the first aspect.

[0023] Based on the target offset, control the robotic arm to move to the preset position.

[0024] In conjunction with the second aspect, in the first possible implementation, the contact force error is converted into a target offset of the robotic arm's position using a target impedance model, including:

[0025] Determine the real-time position error between the real-time position and the desired position of the robotic arm, the real-time velocity error between the real-time velocity and the desired velocity, and the real-time acceleration error between the real-time acceleration and the desired acceleration.

[0026] The real-time position error, real-time speed error, real-time acceleration error, and real-time contact force error of the robotic arm are input into the target impedance model to obtain the damping matrix parameters and stiffness matrix parameters of the target impedance model.

[0027] The damping matrix parameters, stiffness matrix parameters, and contact force error are input into the target impedance model, and the contact force error is converted into the target offset of the robotic arm's position using the target impedance model.

[0028] Thirdly, this application provides a model processing apparatus, which includes:

[0029] The dynamic model construction module is used to construct a target dynamic model of the robotic arm and the contact object in Cartesian space based on the angular displacement, angular velocity, angular acceleration and driving torque of at least one set of joints of the robotic arm. The target dynamic model includes the first inertia matrix of the robotic arm.

[0030] The parameter acquisition module is used to acquire at least one set of actual position, actual speed, actual acceleration, and actual contact force of the robotic arm;

[0031] The error determination module is used to determine the position error between each set of actual positions and desired positions of the robotic arm, the speed error between each set of actual speeds and desired speeds, the acceleration error between each set of actual accelerations and desired accelerations, and the contact force error between each set of actual contact forces and desired contact forces.

[0032] The impedance model construction module is used to construct the impedance model of the robotic arm based on position error, velocity error, acceleration error and contact force error. The impedance model includes a second inertia matrix.

[0033] The target impedance model acquisition module is used to update the second inertia matrix of the impedance model to the first inertia matrix, thereby obtaining the target impedance model of the robotic arm.

[0034] Fourthly, this application provides a robotic arm control device, which includes:

[0035] The contact force error acquisition module is used to determine the real-time contact force error between the robotic arm's real-time contact force and the desired contact force.

[0036] The contact force error conversion module is used to convert the real-time contact force error into the target offset of the position of the robotic arm using the target impedance model, wherein the target impedance model is obtained according to the model processing method as described in the first aspect.

[0037] The robotic arm control module is used to control the robotic arm to move to a preset position based on the target offset.

[0038] Fifthly, this application provides a computer device, which includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the model processing method of the first aspect or the robotic arm control method of the second aspect.

[0039] Sixthly, this application provides a machine-readable storage medium, characterized in that a computer program is stored on the machine-readable storage medium, and when the computer program is executed by a processor, it implements the model processing method of the first aspect or the robotic arm control method of the second aspect.

[0040] This application provides a model processing method, which includes: constructing a target dynamic model of the robotic arm and its contact object in Cartesian space based on the angular displacement, angular velocity, angular acceleration, and driving torque of at least one set of joints of a robotic arm; obtaining the actual position, actual velocity, actual acceleration, and actual contact force of at least one set of robotic arms; determining the position error between the actual position and the desired position, the velocity error between the actual velocity and the desired velocity, the acceleration error between the actual acceleration and the desired acceleration, and the contact force error between the actual contact force and the desired contact force for each set of robotic arms; constructing an impedance model of the robotic arm based on the position error, velocity error, acceleration error, and contact force error; and updating the second inertia matrix of the impedance model to the first inertia matrix to obtain the target impedance model of the robotic arm. The target impedance model can change according to the pose change of the robotic arm, resulting in a target impedance model with high accuracy and good adaptability. The target impedance model can track the force at the end of the robotic arm, and thus can be used to correct the movement trajectory of the robotic arm, enabling the robotic arm to move along the desired trajectory. Meanwhile, only the damping matrix parameters and stiffness matrix parameters need to be identified, which reduces the difficulty of identifying the matrix parameters of the target impedance model. Attached Figure Description

[0041] The accompanying drawings are provided to further illustrate embodiments of the present invention and form part of the specification. They are used together with the following detailed description to explain the embodiments of the present invention, but do not constitute a limitation thereof. In the drawings:

[0042] Figure 1 A flowchart of the model processing method provided in an embodiment of this application is shown;

[0043] Figure 2 A schematic diagram of the structure of the robotic arm provided in an embodiment of this application is shown;

[0044] Figure 3 A flowchart of the robotic arm control method provided in an embodiment of this application is shown.

[0045] Figure 4 A schematic diagram of the structure of the model processing apparatus provided in an embodiment of this application is shown;

[0046] Figure 5 A schematic diagram of the structure of the robotic arm control device provided in an embodiment of this application is shown. Detailed Implementation

[0047] The specific embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustrative and explanatory purposes only and are not intended to limit the scope of the present invention.

[0048] The components of the embodiments of the invention described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the invention without inventive effort are within the scope of protection of the invention.

[0049] In the following, the terms “comprising,” “having,” and their cognates, which may be used in various embodiments of the invention, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as excluding, firstly, the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more features, numbers, steps, operations, elements, components, or combinations thereof.

[0050] Furthermore, the terms "first," "second," and "third" are used only to distinguish descriptions and should not be interpreted as indicating or implying relative importance.

[0051] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of the invention pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be interpreted as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of the invention.

[0052] Example 1

[0053] Please see Figure 1 , Figure 1 A flowchart of the model processing method provided in an embodiment of this application is shown. Figure 1 The model processing methods in the text include:

[0054] S110, based on the angular displacement, angular velocity, angular acceleration and driving torque of at least one set of joints of the robotic arm, construct a target dynamic model of the robotic arm and the contact object in Cartesian space, wherein the target dynamic model includes the first inertia matrix of the robotic arm.

[0055] A robotic arm is a device that moves to a point in space to perform a task in response to a command. Taking the robotic arm of an aerial work platform as an example, when performing tasks such as grinding and cleaning objects, the robotic arm moves to a point in space to move the work platform connected to its end effector to a preset height. Based on the angular displacement, angular velocity, angular acceleration, and driving torque of at least one set of the robotic arm's joints, the dynamics and power characteristics of the robotic arm are determined, and a target dynamic model of the contact force between the robotic arm and the contacting object is constructed in Cartesian space. It is important to understand that the more angular displacement, angular velocity, angular acceleration, and driving torque of the robotic arm's joints obtained, the more accurate the constructed target dynamic model will be.

[0056] In Cartesian space, the pose of a robotic arm can be determined using a coordinate system, where the pose includes the arm's position and orientation. The contact force between the robotic arm and the object it contacts can be the force exerted on the robotic arm by the object during the interaction, or the force acting on the robotic arm from the object. It's important to understand that force sensors are typically used to detect the force acting on the robotic arm from the object, and then a dynamic model can be used to convert the contact force between the robotic arm and the object into other parameters to control the robotic arm's movement.

[0057] In the embodiments of this application, a target dynamic model of the robotic arm and the contact object in Cartesian space is constructed based on the angular displacement, angular velocity, angular acceleration, and driving torque of at least one set of joints of the robotic arm, including:

[0058] Using the angular displacement, angular velocity, angular acceleration, and driving torque of the joints of the robotic arm, a first dynamic model of the robotic arm is constructed based on the Lagrange method.

[0059] Based on the first dynamic model, the Jacobian matrix of the robotic arm, and at least one set of contact forces between the robotic arm and the contacting object, a second dynamic model of the robotic arm and the contacting object in joint space is obtained.

[0060] Based on the relationship between the pose of the robotic arm and the angle transformation of the joints, the second dynamic model is transformed into a target dynamic model of the robotic arm and the contact object in Cartesian space.

[0061] The Lagrange method is used to derive the motion characteristics of a robotic arm in space by observing the changes in parameters such as angular displacement, angular velocity, and angular acceleration of the end effector as it moves from one point to another. Using the angular displacement, angular velocity, angular acceleration, and driving torque of the robotic arm's joints, a first dynamic model of the robotic arm is constructed based on the Lagrange method:

[0062] Formula (1)

[0063] in, For the angular displacement of each joint of the robotic arm, Let be the angular velocity of each joint of the robotic arm. The angular acceleration of each joint of the robotic arm; Here is the inertia matrix of the robotic arm. Here is the matrix of centripetal and Coriolis forces for the robotic arm. The gravity matrix of the robotic arm. This is the driving torque of the robotic arm.

[0064] Please see Figure 2 , Figure 2 A schematic diagram of the structure of the robotic arm provided in an embodiment of this application is shown.

[0065] For ease of understanding, embodiments of this application provide a robotic arm mounted on two joints of an aerial work platform, specifically, the robotic arm includes a first joint and a second joint. As shown in the figure, This represents the angular displacement of the first joint. The angular displacement is for the second joint; the angular velocities and angular accelerations of the first and second joints are not shown in the diagram.

[0066] Using the angular displacement, angular velocity, angular acceleration, and driving torque of the first and second joints, a first dynamic model of the robotic arm is constructed based on the Lagrange method. Based on the first dynamic model, the Jacobian matrix of the robotic arm, and the contact force between the robotic arm and the contact object, a second dynamic model of the robotic arm and the contact object in joint space is obtained. Based on the pose of the robotic arm and the angle transformation relationship of the joints, the second dynamic model is transformed into a target dynamic model of the robotic arm and the contact object in Cartesian space.

[0067] In the embodiments of this application, the model processing method further includes:

[0068] The first dynamic model is updated based on the friction model and disturbance model of the robotic arm.

[0069] To improve the accuracy of the first dynamics model, it is updated based on the friction model and disturbance model of the robotic arm. The updated first dynamics model is as follows:

[0070] Formula (2)

[0071] in, For the angular displacement of each joint of the robotic arm, Let be the angular velocity of each joint of the robotic arm. The angular acceleration of each joint of the robotic arm; Here is the inertia matrix of the robotic arm. Here is the matrix of centripetal and Coriolis forces for the robotic arm. The gravity matrix of the robotic arm. This is the driving torque of the robotic arm; This is a frictional model for a robotic arm. This is the disturbance model for the robotic arm, which is used to represent the disturbances the robotic arm experiences from external loads and the external environment.

[0072] When the matrix parameters of the first dynamic model are known or the accuracy of the first dynamic model is high, the second dynamic model of the robot arm and the contact object in joint space can be directly obtained using the first dynamic model. When the matrix parameters of the first dynamic model are unknown or the accuracy of the first dynamic model is low, the first dynamic model needs to be updated. For ease of understanding, in the embodiments of this application, the updated first dynamic model, the Jacobian matrix of the robot arm, and the contact force between the robot arm and the contact object are used to obtain the second dynamic model of the robot arm and the contact object in joint space:

[0073] Formula (3)

[0074] in, This refers to the angular displacement of each joint of the robotic arm in joint space. Let ω be the angular velocity of each joint of the robotic arm in joint space. Let be the angular acceleration of each joint of the robotic arm in joint space; The inertia matrix of the second dynamic model is... The centripetal force and Coriolis force matrices of the second dynamic model. The gravity matrix of the second dynamic model. This is the driving torque of the robotic arm; This is a frictional model of the robotic arm in joint space. An interference model of the robotic arm in joint space; Let Jacobian matrix be the shape of the robotic arm in joint space. This refers to the contact force between the robotic arm and the object it is in contact with. It's important to understand that... It can also be the torque between the robotic arm and the object it contacts, which will not be elaborated here.

[0075] Based on the relationship between the pose of the robotic arm and the angle transformation of its joints, the second dynamic model is transformed into a target dynamic model of the robotic arm and the contact object in Cartesian space:

[0076] Formula (4)

[0077] in, This represents the actual position of the robotic arm's end effector in Cartesian space. This represents the actual velocity of the robotic arm's end effector in Cartesian space. This represents the actual acceleration of the robotic arm's end effector in Cartesian space. These are the parameters of the inertia matrix of the target dynamics model, i.e., the parameters of the first inertia matrix. The parameters are the centripetal force and Coriolis force matrices of the target dynamics model. The parameters are the gravity matrix of the target dynamic model; A model of joint friction in a robotic arm in Cartesian space. An interference model of the robotic arm in Cartesian space; Let the driving force matrix of the robotic arm be defined in Cartesian space. Let be the contact force or torque between the robotic arm and the object in Cartesian space.

[0078] S120, obtain at least one set of actual position, actual speed, actual acceleration and actual contact force of the robotic arm.

[0079] When the robotic arm's end effector contacts an object via a work platform, or via equipment mounted on a work platform, the work platform connected to the end effector rises or falls along the contact object as the robotic arm moves along its trajectory. At least one set of actual position, actual velocity, actual acceleration, and actual contact force of the robotic arm's end effector is obtained.

[0080] In the embodiments of this application, obtaining at least one set of actual positions, actual speeds, actual accelerations, and actual contact forces of the robotic arm includes:

[0081] When the robotic arm moves along a preset trajectory with a preset initial preload, at least one set of motion parameters of the robotic arm is obtained;

[0082] Based on each set of motion parameters, the actual position, actual speed, actual acceleration, and actual contact force of each robotic arm are determined.

[0083] Preload is a force applied in advance to prevent gaps or relative slippage during connection. The value of the preset initial preload is set according to actual needs and is not limited here. In the implementation of this application, the preset initial preload is the contact force between the end effector and the contacting object in the initial state of the robotic arm. The robotic arm is controlled to move along the same preset trajectory with different values ​​of preset initial preload. A motion parameter sampling time is set, and at least one set of motion parameters of the robotic arm is acquired while it moves along the preset trajectory with the preset initial preload. It should be understood that when the robotic arm is controlled to move along the same preset trajectory, motion parameters can be collected for different values ​​of preset initial preload. The more motion parameters collected, the higher the accuracy of the constructed model.

[0084] The types of motion parameters are set according to actual needs and are not limited here. For ease of understanding, the motion parameters in the embodiments of this application include the angular velocity, angular displacement, and force at the end of the robotic arm. The force at the end of the robotic arm can be obtained by a force sensor installed at the end of the robotic arm, which will not be elaborated here. Based on each set of motion parameters, the actual position, actual velocity, and actual acceleration of each set of robotic arms are determined. A forward kinematic model of the robotic arm can be established using the screw method, and the motion parameters can be input into the forward kinematic model to solve for the actual position, actual velocity, actual acceleration, and actual contact force of the robotic arm, which will not be elaborated here.

[0085] S130, determine the position error between the actual position and the desired position of the robotic arm for each group, the speed error between the actual speed and the desired speed for each group, the acceleration error between the actual acceleration and the desired acceleration for each group, and the contact force error between the actual contact force and the desired contact force for each group.

[0086] During the control of the robotic arm's movement, parameter errors can prevent the robotic arm from moving along the desired trajectory. The following methods are used to determine the position error of the robotic arm's end effector when moving along the trajectory: 1. Obtain the error between the actual and desired positions of the robotic arm's end effector; 2. Obtain the error between the actual and desired speeds of the robotic arm's end effector when moving along the trajectory; 3. Obtain the error between the actual and desired accelerations of the robotic arm's end effector when moving along the trajectory; 4. Obtain the error between the actual and desired contact forces of the robotic arm's end effector when moving along the trajectory.

[0087] S140, based on position error, velocity error, acceleration error and contact force error, an impedance model of the robotic arm is constructed, wherein the impedance model includes a second inertia matrix.

[0088] The impedance characteristics of the robotic arm are determined by considering position error, velocity error, acceleration error, and contact force error. Typically, the impedance characteristics of the robotic arm are used to construct its impedance model. Specifically, the general expression for the impedance model of the robotic arm is:

[0089] Formula (5)

[0090] in, This refers to the positional error at the end of the robotic arm. For the speed error of the robotic arm's end effector, This refers to the acceleration error at the end effector of the robotic arm. This refers to the contact force error of the robotic arm; This is the inertia matrix of the impedance model, specifically the second inertia matrix of the impedance model in this embodiment. Here is the damping matrix of the impedance model. Let be the stiffness matrix of the impedance model. In the general expression of the impedance model, the parameters of the inertia matrix, damping matrix, and stiffness matrix are all unknown, making it difficult to identify the matrix parameters of the impedance model.

[0091] S150, update the second inertia matrix of the impedance model to the first inertia matrix to obtain the target impedance model of the robotic arm.

[0092] Regarding the target dynamics model of the robotic arm and the contact object in Cartesian space, the first inertia matrix of the target dynamics model can represent the equivalent mass property of the robotic arm under the action of external forces. Therefore, the second inertia matrix of the impedance model can be updated to the first inertia matrix, resulting in the target impedance model of the robotic arm:

[0093] Formula (6)

[0094] in, This refers to the positional error at the end of the robotic arm. For the speed error of the robotic arm's end effector, This refers to the acceleration error at the end effector of the robotic arm. This refers to the contact force error of the robotic arm; This is the inertia matrix of the target dynamics model, specifically the first inertia matrix of the target dynamics model in this embodiment. Here is the damping matrix of the impedance model. This is the stiffness matrix of the impedance model. The target impedance model has higher accuracy compared to the empirically simplified impedance model.

[0095] The inertia matrix of the target impedance model is the first inertia matrix of the target dynamics model, including the robotic arm. The target dynamics model is a dynamic model represented by the joint angle parameters of the robotic arm, and there is a transformation relationship between the pose of the robotic arm and the joint angles. The target impedance model can change according to the pose changes of the robotic arm, resulting in a target impedance model with high accuracy and good adaptability. The target impedance model can track the force at the end effector of the robotic arm, and thus can be used to correct the movement trajectory of the robotic arm, enabling it to move along the desired trajectory.

[0096] Furthermore, when identifying the matrix parameters of the target impedance model, only the damping matrix parameters and stiffness matrix parameters need to be identified. This reduces the number of matrix parameters that need to be identified, lowering the difficulty of matrix parameter identification for the target impedance model and improving its accuracy.

[0097] This application provides a model processing method, which includes: constructing a target dynamic model of the robotic arm and its contact object in Cartesian space based on the angular displacement, angular velocity, angular acceleration, and driving torque of at least one set of joints of a robotic arm; obtaining the actual position, actual velocity, actual acceleration, and actual contact force of at least one set of robotic arms; determining the position error between the actual position and the desired position, the velocity error between the actual velocity and the desired velocity, the acceleration error between the actual acceleration and the desired acceleration, and the contact force error between the actual contact force and the desired contact force for each set of robotic arms; constructing an impedance model of the robotic arm based on the position error, velocity error, acceleration error, and contact force error; and updating the second inertia matrix of the impedance model to the first inertia matrix to obtain the target impedance model of the robotic arm. The target impedance model can change according to the pose change of the robotic arm, resulting in a target impedance model with high accuracy and good adaptability. The target impedance model can track the force at the end of the robotic arm, and thus can be used to correct the movement trajectory of the robotic arm, enabling the robotic arm to move along the desired trajectory. Meanwhile, only the damping matrix parameters and stiffness matrix parameters need to be identified, which reduces the difficulty of identifying the matrix parameters of the target impedance model.

[0098] Example 2

[0099] Please see Figure 3 , Figure 3 A flowchart of the robotic arm control method provided in an embodiment of this application is shown. Figure 2 The robotic arm control methods in the text include:

[0100] S210, determine the real-time contact force error between the robotic arm's real-time contact force and the desired contact force.

[0101] The real-time contact force of the robotic arm is obtained, which can be obtained using a force sensor installed at the end of the robotic arm, and will not be elaborated further here. The real-time contact force error between the real-time contact force of the robotic arm and the desired contact force is determined.

[0102] S220, the real-time contact force error is converted into the target offset of the position of the robotic arm using the target impedance model, wherein the target impedance model is obtained according to the model processing method as in Example 1.

[0103] When the actual contact force differs from the expected contact force, the robotic arm's end effector will fail to move along the desired trajectory. The contact force error is input into the target impedance model, which then converts the error into a target offset for the robotic arm's position.

[0104] In the embodiments of this application, the contact force error is converted into a target offset of the robotic arm's position using a target impedance model, including:

[0105] Determine the real-time position error between the robot arm's real-time position and the desired position, the real-time velocity error between the robot arm's real-time velocity and the desired velocity, and the real-time acceleration error between the robot arm's real-time acceleration and the desired acceleration.

[0106] The real-time position error, real-time speed error, real-time acceleration error, and real-time contact force error of the robotic arm are input into the target impedance model to obtain the damping matrix parameters and stiffness matrix parameters of the target impedance model.

[0107] The damping matrix parameters, stiffness matrix parameters, and contact force error are input into the target impedance model, and the contact force error is converted into the target offset of the robotic arm's position using the target impedance model.

[0108] When determining the matrix parameters of the target impedance model, it is also necessary to obtain the real-time position, real-time speed and real-time acceleration of the robotic arm, and then determine the real-time position error between the real-time position and the desired position, the real-time speed error between the real-time speed and the desired speed, and the real-time acceleration error between the real-time acceleration and the desired acceleration.

[0109] The real-time position error, velocity error, acceleration error, and contact force error of the robotic arm are input into the target impedance model to obtain the damping matrix parameters and stiffness matrix parameters of the target impedance model. It is important to understand that the more data points of position error, velocity error, acceleration error, and contact force error input into the target impedance model, the more accurate the identified damping matrix parameters and stiffness matrix parameters will be. The damping matrix parameters and stiffness matrix parameters of the target impedance model can be identified using genetic algorithms or other identification algorithms, or neural networks can be used to obtain them; these details will not be elaborated upon here.

[0110] The inertia matrix of the target impedance model is the first inertia matrix of the target dynamics model of the robotic arm and the contact object in Cartesian space. In the embodiments of this application, only the damping matrix parameters and stiffness matrix parameters of the target impedance model need to be identified, which reduces the difficulty of identifying the matrix parameters of the target impedance model. The damping matrix parameters, stiffness matrix parameters, and contact force error are input into the target impedance model, and the contact force error is converted into the target offset of the robotic arm's position using the target impedance model.

[0111] S230 controls the robotic arm to move to a preset position based on the target offset.

[0112] Because the target impedance model has high accuracy and good adaptability, the target offset obtained using the target impedance model also has high accuracy. Based on the target offset, the desired trajectory of the robotic arm is updated. The position of the robotic arm's end effector is controlled along the updated desired trajectory, causing the robotic arm to move to a preset position. By controlling the robotic arm to move to the preset position based on the target offset, the position of the robotic arm's end effector is dynamically adjusted according to the magnitude of the desired contact force, thereby enabling the tracking of the desired contact force and controlling the actual contact force at the robotic arm's end effector.

[0113] Example 3

[0114] Please see Figure 4 , Figure 4 A schematic diagram of the structure of the model processing apparatus provided in an embodiment of this application is shown. Figure 4 The model processing device 300 includes:

[0115] The dynamic model construction module 310 is used to construct a target dynamic model of the robotic arm and the contact object in Cartesian space based on the angular displacement, angular velocity and angular acceleration of at least one set of joints of the robotic arm. The target dynamic model includes the first inertia matrix of the robotic arm.

[0116] The parameter acquisition module 320 is used to acquire at least one set of actual position, actual speed and actual acceleration of the robotic arm;

[0117] The error determination module 330 is used to determine the position error between each set of actual positions and desired positions of the robotic arm, the speed error between each set of actual speeds and desired speeds, and the acceleration error between each set of actual accelerations and desired accelerations.

[0118] The target impedance model is obtained by module 340, which is used to construct the impedance model of the robotic arm based on position error, velocity error and acceleration error. The impedance model includes a second inertia matrix.

[0119] The target impedance model is obtained by module 350, which updates the second inertia matrix of the impedance model to the first inertia matrix to obtain the target impedance model of the robotic arm.

[0120] In the embodiments of this application, the dynamic model construction module 310 includes:

[0121] The first dynamic model construction submodule is used to construct the first dynamic model of the robotic arm based on the Lagrange method using the angular displacement, angular velocity, angular acceleration and driving torque of the joints of the robotic arm.

[0122] The second dynamic model construction submodule is used to obtain the second dynamic model of the robot arm and the contact object in the joint space based on the first dynamic model, the Jacobian matrix of the robot arm, and at least one set of contact forces between the robot arm and the contact object.

[0123] The target dynamics model conversion submodule is used to convert the second dynamics model into a target dynamics model of the robotic arm and the contact object in Cartesian space based on the pose and joint angle conversion relationship of the robotic arm.

[0124] In embodiments of this application, the model processing device 300 further includes:

[0125] The first dynamics model update module is used to update the first dynamics model based on the friction model and the disturbance model of the robotic arm.

[0126] In embodiments of this application, the parameter acquisition module 320 includes:

[0127] The motion parameter acquisition submodule is used to acquire at least one set of motion parameters of the robotic arm when the robotic arm moves along a preset trajectory with a preset initial preload.

[0128] The actual parameter determination submodule determines the actual position, actual speed, actual acceleration, and actual contact force of each robotic arm based on each set of motion parameters.

[0129] The model processing device 300 is used to execute the corresponding steps in the model processing method described above. The specific implementation of each function will not be described in detail here. In addition, the optional examples in Embodiment 1 are also applicable to the model processing device 300 in Embodiment 2.

[0130] Example 4

[0131] Please see Figure 5 , Figure 5 A schematic diagram of the structure of the robotic arm control device provided in an embodiment of this application is shown. Figure 5 The robotic arm control device 400 includes:

[0132] The contact force error acquisition module 410 is used to acquire the actual contact force of at least one group of robotic arms, and to acquire the contact force error between the actual contact force and the expected contact force of each group of robotic arms.

[0133] The contact force error conversion module 420 is used to convert the contact force error into a target offset of the position of the robotic arm using a target impedance model, wherein the target impedance model is obtained according to the model processing method as described in Example 1.

[0134] The robotic arm control module 430 is used to control the robotic arm to move to a preset position based on the target offset.

[0135] In the embodiments of this application, the contact force error conversion module 420 includes:

[0136] The real-time error determination submodule is used to determine the real-time position error between the real-time position and the desired position of the robotic arm, the real-time speed error between the real-time speed and the desired speed, and the real-time acceleration error between the real-time acceleration and the desired acceleration.

[0137] The matrix parameter acquisition submodule is used to input the real-time position error, real-time speed error, real-time acceleration error and real-time contact force error of the robotic arm into the target impedance model to obtain the damping matrix parameters and stiffness matrix parameters of the target impedance model.

[0138] The target offset acquisition submodule is used to input the damping matrix parameters, stiffness matrix parameters, and contact force error into the target impedance model, and use the target impedance model to convert the contact force error into the target offset of the robot arm's position.

[0139] The robotic arm control device 400 is used to execute the corresponding steps in the robotic arm control method described above. The specific implementation of each function will not be described in detail here. In addition, the optional examples in Embodiment 1 are also applicable to the robotic arm control device 400 in Embodiment 2.

[0140] This application also provides a computer device, which includes a memory and a processor. The memory stores a computer program. When the processor executes the computer program, it implements the model processing method as described in Embodiment 1, or the robotic arm control method as described in Embodiment 2.

[0141] In this embodiment, the dynamic model construction module 310, the position, velocity and acceleration acquisition module 320, the error acquisition module 330, the impedance model construction module 340, the impedance model construction module 350, the contact force acquisition module 360, the contact force error conversion module 370, and the robotic arm control module 380 are all stored in the memory as program units. The processor executes the above-mentioned program units stored in the memory to realize the corresponding functions.

[0142] The processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured, and adjusting kernel parameters can address the problem of significant discrepancies between the actual and desired trajectories of the robotic arm's movements.

[0143] The memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0144] This application also provides a machine-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the model processing method as described in Embodiment 1, or the robotic arm control method as described in Embodiment 2.

[0145] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0146] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0147] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0148] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0149] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0150] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0151] Machine-readable storage media include both permanent and non-permanent, removable and non-removable media that can store information by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0152] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0153] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A robotic arm control method, characterized in that, The robotic arm control method includes: Based on the angular displacement, angular velocity, angular acceleration and driving torque of at least one set of joints of the robotic arm, a target dynamic model of the robotic arm and the contacting object is constructed in Cartesian space, wherein the target dynamic model includes the first inertia matrix of the robotic arm; Obtain at least one set of actual position, actual speed, actual acceleration, and actual contact force of the robotic arm; Determine the position error between the actual position and the desired position of the robotic arm for each group, the velocity error between the actual speed and the desired speed for each group, the acceleration error between the actual acceleration and the desired acceleration for each group, and the contact force error between the actual contact force and the desired contact force for each group; Based on the position error, velocity error, acceleration error, and contact force error, an impedance model of the robotic arm is constructed, wherein the impedance model includes a second inertia matrix; The second inertia matrix of the impedance model is updated to the first inertia matrix to obtain the target impedance model of the robotic arm; Determine the real-time contact force error between the robotic arm's real-time contact force and the desired contact force; The real-time contact force error is converted into a target offset of the position of the robotic arm using the target impedance model. Based on the target offset, control the robotic arm to move to a preset position; The step of converting the contact force error into a target offset of the robotic arm's position using the target impedance model includes: Determine the real-time position error between the real-time position and the desired position of the robotic arm, the real-time velocity error between the real-time velocity and the desired velocity, and the real-time acceleration error between the real-time acceleration and the desired acceleration. The real-time position error, real-time speed error, real-time acceleration error, and real-time contact force error of the robotic arm are input into the target impedance model to obtain the damping matrix parameters and stiffness matrix parameters of the target impedance model. The damping matrix parameters, the stiffness matrix parameters, and the contact force error are input into the target impedance model, and the contact force error is converted into a target offset of the position of the robotic arm using the target impedance model.

2. The robotic arm control method according to claim 1, characterized in that, The step of constructing a target dynamic model of the robotic arm and the contact object in Cartesian space based on the angular displacement, angular velocity, angular acceleration, and driving torque of at least one set of joints of the robotic arm includes: Using the angular displacement, angular velocity, angular acceleration, and driving torque of the joints of the robotic arm, a first dynamic model of the robotic arm is constructed based on the Lagrange method; Based on the first dynamic model, the Jacobian matrix of the robotic arm, and at least one set of contact forces between the robotic arm and the contacting object, a second dynamic model of the robotic arm and the contacting object in the joint space is obtained. Based on the pose of the robotic arm and the angle transformation relationship of the joints, the second dynamic model is converted into a target dynamic model of the robotic arm and the contact object in Cartesian space.

3. The robotic arm control method according to claim 2, characterized in that, The robotic arm control method also includes: The first dynamic model is updated based on the friction model and the disturbance model of the robotic arm.

4. The robotic arm control method according to claim 1, characterized in that, The acquisition of at least one set of actual position, actual speed, actual acceleration, and actual contact force of the robotic arm includes: When the robotic arm moves along a preset trajectory with a preset initial preload, at least one set of motion parameters of the robotic arm is obtained; Based on the motion parameters of each group, the actual position, actual speed, actual acceleration, and actual contact force of the robotic arm in each group are determined respectively.

5. A robotic arm control device, characterized in that, The robotic arm control device includes: The contact force error acquisition module is used to determine the real-time contact force error between the robotic arm's real-time contact force and the desired contact force. A contact force error conversion module is used to convert the real-time contact force error into a target offset of the position of the robotic arm using a target impedance model, wherein the target impedance model is obtained according to the robotic arm control method as described in any one of claims 1 to 4; The robotic arm control module is used to control the robotic arm to move to a preset position based on the target offset.

6. A computer device, characterized in that, The computer device includes a memory and a processor. The memory stores a computer program, which, when executed by the processor, implements the robotic arm control method as described in any one of claims 1 to 4.

7. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores a computer program, which, when executed by a processor, implements the robotic arm control method as described in any one of claims 1 to 4.