Dynamic parameter calibration method of mechanical arm, robot system and computer equipment

By constructing a dynamic parameter calibration method in the robotic arm of the robot system, the problem of operating resistance of the main operator robotic arm is solved, the operation experience and control accuracy are improved, and more efficient robotic arm operation is achieved.

CN120382472APending Publication Date: 2025-07-29SHURUI (SHANGHAI) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410077578.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-19
Publication Date
2025-07-29

AI Technical Summary

Technical Problem

In robot systems, especially during the operation of the main operator robot arm of the surgical robot system, there is operating resistance, which affects the operator's operating experience. It is necessary to improve the calibration of the dynamic parameters of the robot arm to improve the operating experience.

Method used

By controlling the movement of multiple joints along the excitation trajectory, an accurate dynamic parameter calibration method is constructed based on the dynamic model.

Benefits of technology

It improves the operating experience of the robot arm, reduces operating resistance, enhances the control accuracy and stability of the robot system, and improves the operator's operating comfort.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120382472A_ABST
    Figure CN120382472A_ABST
Patent Text Reader

Abstract

The invention relates to the field of robot control, and discloses a mechanical arm kinetic parameter calibration method, a robot system, computer equipment and a storage medium. The mechanical arm comprises a plurality of arm bodies and a plurality of joints connected with the arm bodies, and the kinetic parameter calibration method of the mechanical arm comprises the steps that the joints are controlled to move along an excitation track, and a calibration data set is obtained; on the basis of the calibration data set and the dynamic model of the mechanical arm, calibration values of dynamic parameters of the mechanical arm are obtained through calculation; wherein the dynamic model comprises at least one of the following items: a dynamic driving relation of a linkage mechanism in the mechanical arm, gravity offset of the mechanical arm or compensation of a gravity compensation mechanism of the mechanical arm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of medical devices, and in particular, to a method for calibrating dynamic parameters of a robotic arm, a robot system, and a computer device. Background Art

[0002] For a robot system, especially a surgical robot system, it usually includes a master manipulator and a slave operating device. The master manipulator is the core input device of the robot system, and the operator controls the movement of the slave operating device by operating the robotic arm of the master manipulator. When using a robot system (such as a surgical robot system) to complete a task (such as a surgical task), the operator needs to operate the master manipulator for a long time and be highly concentrated. At this time, the operating experience of the master manipulator becomes particularly important.

[0003] The master manipulator is usually a robotic arm with multiple degrees of freedom. During the operation of the robotic arm, there is an operating resistance inside the robotic arm, which will greatly affect the operator's operating experience. Therefore, it is necessary to control the robotic arm to improve the operating experience, and accurate dynamic parameters are of great significance for the control of the robotic arm. Summary of the Invention

[0004] In some embodiments, the present disclosure provides a method for calibrating dynamic parameters of a robotic arm. The robotic arm includes a plurality of arm bodies and a plurality of joints connecting the plurality of arm bodies. The method includes: controlling the plurality of joints to move along an excitation trajectory; obtaining a calibration data set during the movement of the plurality of joints along the excitation trajectory; and calculating and obtaining a calibrated value of the dynamic parameters of the robotic arm based on the calibration data set and the dynamic model of the robotic arm. Wherein, the dynamic model includes at least one of the following: the dynamic drive relationship of the linkage mechanism in the robotic arm, the gravity offset of the robotic arm, or the compensation of the gravity compensation mechanism of the robotic arm.

[0005] In some embodiments, the present disclosure provides a robot system, including: at least one robotic arm, the at least one robotic arm includes a plurality of arm bodies and a plurality of joints connecting the plurality of arm bodies; and a control device, connected to the at least one robotic arm, for executing the method according to any one of some embodiments of the present disclosure.

[0006] In some embodiments, the present disclosure provides a computer device. The computer device includes: a memory for storing at least one instruction; and a processor, coupled to the memory and for executing at least one instruction to execute the method according to any one of some embodiments of the present disclosure.

[0007] In some embodiments, the present disclosure provides a computer-readable storage medium for storing at least one instruction, and when the at least one instruction is executed by a computer, the computer is caused to implement the method according to any one of some embodiments of the present disclosure. Description of the Drawings

[0008] To more clearly illustrate the technical solutions in the embodiments of the present disclosure, the following will briefly introduce the accompanying drawings required for the description of the embodiments of the present disclosure. The accompanying drawings in the following description only show some embodiments of the present disclosure. For those of ordinary skill in the art, without creative efforts, other embodiments can also be obtained according to the content of the embodiments of the present disclosure and these accompanying drawings.

[0009] Figure 1 A flowchart showing a method for calibrating the dynamic parameters of a robotic arm according to some embodiments of the present disclosure;

[0010] Figure 2 A block diagram showing the structure of a robot system according to some embodiments of the present disclosure;

[0011] Figure 3 A schematic diagram showing the main manipulator according to some embodiments of the present disclosure;

[0012] Figure 4 A schematic diagram showing the internal structure of an arm body including a gravity compensation mechanism according to some embodiments of the present disclosure;

[0013] Figure 5 Shown according to the present disclosure Figure 4 A schematic diagram showing the gravity compensation principle of the arm body including a gravity compensation mechanism in the present disclosure;

[0014] Figure 6 A flowchart showing a method for controlling multiple joints to move along an excitation trajectory according to some embodiments of the present disclosure;

[0015] Figures 7A - 7C A schematic diagram showing the effect of predicting the driving torque of multiple joints of a robotic arm using a dynamic model with calibrated dynamic parameters according to some embodiments of the present disclosure;

[0016] Figure 8 A schematic block diagram showing a computer device according to some embodiments of the present disclosure. Detailed implementation manners

[0017] To make the technical problems solved, the technical solutions adopted, and the technical effects achieved by the present disclosure clearer, the following will further describe in detail the technical solutions of the embodiments of the present disclosure with reference to the accompanying drawings. Obviously, the described embodiments are only exemplary embodiments of the present disclosure, rather than all embodiments.

[0018] In the description of the present disclosure, it should be noted that the orientation or positional relationship indicated by terms such as "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc. is based on the orientation or positional relationship shown in the drawings. It is only for the convenience of describing the present disclosure and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus should not be construed as a limitation to the present disclosure. In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance. In the description of the present disclosure, it should be noted that unless otherwise clearly specified and limited, the terms "installed", "connected", "coupled" should be understood in a broad sense. For example, it can be a fixed connection or a detachable connection; it can be a mechanical connection or an electrical connection; it can be directly connected or indirectly connected through an intermediate medium; it can be the communication inside two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present disclosure can be understood according to specific situations. In the present disclosure, the end close to the operator (such as a doctor) is defined as the proximal end, the proximal part, the rear end, or the rear part, and the end close to the surgical patient is defined as the distal end, the distal part, the front end, or the front part. Those skilled in the art can understand that the embodiments of the present disclosure can be used in medical devices or surgical robots, and can also be used in other non-medical devices.

[0019] Some embodiments of the present disclosure provide a method for calibrating the dynamic parameters of a robotic arm. Figure 1 The flowchart of a method 100 for calibrating the dynamic parameters of a robotic arm (hereinafter also simply referred to as "method 100") according to some embodiments of the present disclosure is shown. Method 100 can be at least partially implemented or executed by hardware, software, or firmware. In some embodiments, method 100 can be at least partially executed by a robotic system (for example, Figure 2 the robotic system 200 shown). In some embodiments, method 100 can be implemented as computer-readable instructions. These instructions can be read and executed by a general-purpose processor or a dedicated processor (for example, Figure 2 the control device 230 shown). For example, the control device of the robotic system (for example, Figure 2 the control device 230 shown) can include a processor configured to execute method 100. In some embodiments, these instructions can be stored on a computer-readable medium.

[0020] Some embodiments of the present disclosure provide a robotic system. Figure 2 The structural block diagram of a robotic system 200 according to some embodiments of the present disclosure is shown. As Figure 2As shown, the robot system 200 may include at least one robotic arm and a control device 230. In some embodiments, the at least one robotic arm includes a first robotic arm 210 and a second robotic arm 220. In some embodiments, the at least one robotic arm includes a robotic arm with multiple degrees of freedom. The robotic arm with multiple degrees of freedom includes multiple arm bodies and multiple joints connecting the multiple arm bodies. In some embodiments, the control device 230 may be communicatively connected to the at least one robotic arm, for example, by cable connection or wireless connection. The control device 230 is configured to execute the control method of the robotic arm in some embodiments of the present disclosure.

[0021] Those skilled in the art should understand that the robot system provided by the present disclosure may be a surgical robot system (such as a laparoscopic surgical robot system). The robot system may also be a dedicated or general robot system in other fields (such as logistics, industrial manufacturing, etc.).

[0022] In some embodiments, the at least one robotic arm may be the master manipulator of the robot system. In some embodiments, the master manipulator generally includes a left master manipulator (for example, for controlling a first slave operating device) corresponding to the left hand operation of an operator (such as a medical staff member) and a right master manipulator (for example, for controlling a second slave operating device) corresponding to the right hand operation. In some embodiments, the master manipulator is used to collect the operation input of the operator, and the operator controls the movement of the slave operating device (such as a surgical tool or an imaging tool) by remotely operating the master manipulator. In some embodiments, the master manipulator includes a robotic arm with multiple degrees of freedom, and the robotic arm with multiple degrees of freedom includes multiple arm bodies and multiple joints connecting the multiple arm bodies. In some embodiments, the robotic arm with multiple degrees of freedom has six degrees of freedom. In some embodiments, the master manipulator further includes a handle, and the clamp on the handle can be used to control the opening and closing angle of the slave tool. In some embodiments, the master manipulator may specifically be Figure 3 the master manipulator 300 shown, which will be described in detail below.

[0023] Figure 3 A schematic diagram of the master manipulator 300 according to some embodiments of the present disclosure is shown. As Figure 3As shown, in some embodiments, the master manipulator 300 includes a robotic arm 310 with multiple degrees of freedom. The robotic arm 310 with multiple degrees of freedom includes multiple arm bodies (311 - 316) and multiple joints (3111 - 3117) connecting the multiple arm bodies. Adjacent arm bodies are connected by joints. In some embodiments, the master manipulator 300 further includes a handle 330. The handle 330 is disposed at the end of the arm body 316. During operation, the multiple arm bodies are driven to move through the multiple joints to adjust the configuration of the robotic arm 310 with multiple degrees of freedom, so that the arm body 316 of the robotic arm 310 with multiple degrees of freedom moves to an appropriate pose, and the handle 330 is driven to move to a suitable pose (such as a target pose), so as to control the corresponding pose of the slave operating device (such as a surgical tool or an imaging tool).

[0024] In some embodiments, the joints of the robotic arm 310 with multiple degrees of freedom include coupled joints and uncoupled joints. Coupled joints may refer to joints used to adjust the position and posture of the master manipulator. Uncoupled joints may refer to joints that can only be used to adjust the position or posture of the master manipulator. In some embodiments, the joints of the robotic arm 310 with multiple degrees of freedom include position joints and posture joints. The posture joints serve as the orientation module of the master manipulator 300, and the posture of the handle 330 can be determined through one or more posture joints. The position joints serve as the positioning module of the master manipulator 300, and the position of the handle 330 can be determined through one or more position joints. For example, Figure 3 The shown master manipulator 300, wherein the first joint 3111, the second joint 3112, and the third joint 3113 are position joints, the first joint 3111, the second joint 3112, the fifth joint 3115, the sixth joint 3116, and the seventh joint 3117 are posture joints. The first joint 3111 and the second joint 3112 are coupled joints that can both adjust the position and the posture of the master manipulator 300, and the fifth joint 3115, the sixth joint 3116, and the seventh joint 3117 are uncoupled posture joints that can only adjust the posture of the master manipulator 300.

[0025] In some embodiments, the first joint 3111, the second joint 3112, and the third joint 3113 in the multi-degree-of-freedom robotic arm 310 determine the three-degree-of-freedom position information of the end, and the fifth joint 3115, the sixth joint 3116, and the seventh joint 3117 form a three-axis confluence mechanism, mainly providing the three-degree-of-freedom attitude information of the end. When operating the multi-degree-of-freedom robotic arm 310, the operating resistance mainly comes from the first joint 3111, the second joint 3112, and the third joint 3113. The first three arm bodies (the first arm body 311, the second arm body 312, the third arm body 313) are respectively regarded as the first link, the second link, and the third link connected in sequence through joints, and the overall three-axis confluence mechanism of the last three arm bodies (the fourth arm body 314, the fifth arm body 315, the sixth arm body 316) and the last three joints (the fifth joint 3115, the sixth joint 3115, the seventh joint 3117) is regarded as the fourth link, and the third link is connected to the fourth link through the fourth joint 3114. Thus, Figure 3 the multi-degree-of-freedom robotic arm 310 shown can be regarded as a four-link mechanism.

[0026] In some embodiments, a dynamic model of a robotic arm (e.g., Figure 3 the multi-degree-of-freedom robotic arm 310 shown) can be constructed. The dynamic parameter calibration method of the robotic arm provided in the present disclosure (e.g., method 100) can calibrate the dynamic parameters in the dynamic model of the robotic arm to obtain accurate dynamic parameters.

[0027] In some embodiments, the robotic arm can be a multi-degree-of-freedom robotic arm (e.g., Figure 3 the multi-degree-of-freedom robotic arm 310 shown), and the robotic arm includes multiple arm bodies and multiple joints connecting the multiple arm bodies. In some embodiments, the dynamic model of the robotic arm includes at least one of the following: the dynamic drive relationship of the linkage mechanism in the robotic arm, the gravity offset of the robotic arm, or the compensation of the gravity compensation mechanism of the robotic arm.

[0028] In some embodiments, the dynamic model of the robotic arm includes the balance of one or more of at least one driving torque and at least one resistance torque, at least one compensation torque, and at least one external force equivalent torque of multiple joints.

[0029] In some embodiments, a joint driving device is provided in multiple joints of the robotic arm, and the joint driving device is used to drive the joint to rotate around a joint rotation axis (e.g., Figure 3 axis, axis, axis, axis, axis), and at least one driving torque includes the driving torque output by the joint driving device, which can be denoted as τ i,motor (i is the number of the joint).

[0030] In some embodiments, resistance is generated during the movement of multiple joints of the robotic arm. At least one resistance torque includes a first resistance torque. The first resistance torque can be a joint resistance torque caused by the gravity, inertia force, centripetal force, Coriolis force, etc. of the robotic arm. The first resistance torque has a functional relationship with the joint parameters of multiple joints (e.g., joint angle, joint angular velocity, joint angular acceleration), and the first resistance torque is associated with some dynamic parameters (e.g., first resistance parameter vector). Among them, the dynamic parameters (e.g., first resistance parameter vector) are quantities that need to be determined during the calibration process.

[0031] In some embodiments, at least one resistance torque further includes a second resistance torque of multiple joints caused by the gravity offset of the robotic arm. In some embodiments, the robotic arm is mounted on a base, and the gravity offset of the robotic arm includes the gravity offset caused by the uneven installation of the base. The base unevenness parameter includes the tilt angle vector of the base relative to the reference plane. In some embodiments, the multiple joints include a first joint, and the robotic arm is connected to the base through the first joint. In some embodiments, the reference plane is a horizontal plane, and the tilt angle vector of the base relative to the reference plane is the angle between the plane perpendicular to the first rotation axis of the first joint and the reference plane. In the present disclosure, the reference plane can be a horizontal plane (e.g., the ground, which is taken as an example for illustration hereinafter).

[0032] Taking Figure 3 the main manipulator 300 shown Figure 3 as an example, the coordinate system in

[0033] is defined as follows: The axis of the first joint coordinate system {1} is upward along the rotation axis of the first joint 3111, the axis points to the second joint 3112, and the axis is determined based on the axis and the axis according to the right-hand system definition.

[0034] The second joint coordinate system {2}: The axis is upward along the rotation axis of the second joint 3112, the axis points to the third joint 3113, and the axis is determined based on the axis and the axis according to the right-hand system definition.

[0035] The third joint coordinate system {3}: The axis is outward along the rotation axis of the third joint 3113, the axis points to the fourth joint 3114, and the axis is determined based on the axis and the axis according to the right-hand system definition.

[0036] Fourth joint coordinate system {4}: The axis points outward along the rotation axis of the fourth joint 3114, the axis points to the fifth joint 3115, the axis is based on the axis and the axis are defined and determined in a right - hand coordinate system.

[0037] The origins of the first joint coordinate system {1}, the second joint coordinate system {2}, the third joint coordinate system {3} and the fourth joint coordinate system {4} are located in the same plane.

[0038] Master manipulator base coordinate system {0}: The origin coincides with the origin of the first joint coordinate system {1}, the axis points upward along the rotation axis of the first joint 3111, the direction can be as Figure 3 shown in

[0039] Ground coordinate system {W}: The origin coincides with the origin of the first joint coordinate system {}, the axis is opposite to the direction of gravity, the plane is parallel to the ground, the axis, the axis direction can be as Figure 3 shown in

[0040] Figure 3 In the multi - degree - of - freedom robotic arm 310 shown in, the first joint 3111 is connected to the base 340, and the first rotation axis of the first joint 3111 ( Figure 3 shown in the axis) is parallel to the second rotation axis of the second joint 3112 ( Figure 3 shown in the axis). The third rotation axis of the third joint 3113 ( Figure 3 shown in the axis) is perpendicular to the first rotation axis and the second rotation axis. The fourth joint 3114 is a slave joint of the third joint 3113, and the fourth rotation axis of the fourth joint 3114 ( Figure 3 shown in the axis) is parallel to the rotation axis of the third joint.

[0041] In some embodiments, the Figure 3 plane of the ground coordinate system {W} shown in can be used as a reference plane, and the tilt - angle vector of the base relative to the reference plane includes a first tilt angle and a second tilt angle. The first tilt angle can be the angle θ by which the plane perpendicular to the first rotation axis of the first joint (the plane of the master manipulator base coordinate system {0}) rotates around the axis of the reference plane x, the second tilt angle can be a plane perpendicular to the first rotation axis of the first joint (in the base coordinate system {0} of the master manipulator plane) rotating by an angle θ about the axis of the reference plane . The tilt angle vector of the base relative to the reference plane is [θ y , θ x , θ y T .

[0042] In some embodiments, the second resistance torque is a function of the joint parameters of multiple joints (e.g., joint angle, joint angular velocity, joint angular acceleration), and the second resistance torque is associated with the dynamic parameters of a part (e.g., the second resistance parameter vector). In some embodiments, the dynamic parameters of the part associated with the second resistance torque may include the tilt angle vector of the base relative to the reference plane. Among them, the dynamic parameters (e.g., the second resistance parameter vector) are quantities that need to be determined during the calibration process.

[0043] In some embodiments, the robotic arm further includes a gravity compensation mechanism. In some embodiments, the gravity compensation mechanism is disposed within at least one of the multiple arm bodies (e.g., Figure 3 the third arm body 313 shown), and the gravity compensation mechanism is used to balance the gravity of the arm bodies proximal to the robotic arm (e.g., the fourth arm body 314, the fifth arm body 315, and the sixth arm body 316 as Figure 3 shown). Figure 4 The internal structural schematic diagram of the arm body 400 including the gravity compensation mechanism according to some embodiments of the present disclosure is shown. In some embodiments, as Figure 4 shown, the arm body 400 may include a parallelogram mechanism. The arm body 400 may include a first rod 410, a second rod 420, a third rod 430, and a base 440. The base 440 may be located at the distal end of the arm body 400. The first rod 410 and the second rod 420 are parallel, and the distal ends of the first rod 410 and the second rod 420 are hinged to the base 440. The hinge point of the first rod 410 and the base 440 is as Figure 4 the point J1 shown, and the hinge point of the second rod 420 and the base 440 is as Figure 4 the point J2 shown. The third rod 430 is respectively hinged to the proximal ends of the first rod 410 and the second rod 420. As Figure 4 shown, the connection line of the hinge points of the base 440 with the first rod 410 and the second rod 420 (see the connection line indicated by 401 shown in Figure 4 ), the first rod 410, the second rod 420, and the third rod 430 form a parallelogram mechanism.

[0044] ​In some embodiments, the connecting line 401 of the hinge points of the base 440 with the first rod 410 and the second rod 420 is in the vertical direction. In some embodiments, the connecting line 401 is in the vertical direction, for example, it can be perpendicular to the horizontal plane or perpendicular to the ground. In some embodiments, such as when the surgical robot system is located on a ground with a certain inclination, the connecting line 401 is perpendicular to the ground. When the connecting line 401, the first rod 410, the second rod 420, and the third rod 430 form a parallelogram structure, the axis of the third rod 430 is in the vertical direction and can be perpendicular to the horizontal plane or perpendicular to the ground, etc. In some embodiments, the rotation axis of the first rod 410 in the arm body 400 is a straight line perpendicular to the plane where the parallelogram structure formed by the connecting line 401, the first rod 410, the second rod 420, and the third rod 430 is located and passing through the hinge point J1, and the rotation axis of the second rod 420 is a straight line perpendicular to the plane where the parallelogram structure is located and passing through the hinge point J2. Those skilled in the art can understand that rotating the arm body 400 can be understood as rotating the first rod 410 and the second rod 420 around the above rotation axes. When the first rod 410 and the second rod 420 rotate around the above rotation axes, they always maintain the same rotation angle, and the third rod 430 always remains in the vertical direction when the first rod 410 and the second rod 420 rotate.

[0045] In some embodiments, such as Figure 4 As shown, the gravity compensation mechanism includes an elastic balance mechanism, and the elastic balance mechanism includes a support rod 450, a guide block 460, a sliding rod 470, and an elastic member 480. In some embodiments, both ends of the support rod 450 are respectively hinged to the first rod 410 and the second rod 420 to form hinge points B and D, and the support rod 450 is parallel to the third rod. In some embodiments, when the arm body 400 rotates, the support rod 450 always remains in the vertical direction. The guide block 460 is hinged to the support rod 450. In some embodiments, the hinge point of the guide block 460 and the support rod 450 can be the hinge point C as Figure 4 shown. One end of the sliding rod 470 can form a hinge end with the first rod 410 or the second rod 420. For example, as Figure 4 shown, one end of the sliding rod 470 is hinged to the first rod 410 to form a hinge end A. The other end of the sliding rod 470 forms a free end (for example, Figure 4 the free end N shown). The sliding rod 470 can be slidably connected to the guide block 460. One end of the elastic member 480 is connected to the guide block 460, and the other end is connected to the free end N of the sliding rod 470.

[0046] In some embodiments, among the arm bodies located at the proximal end of the arm body 400 (for example, as Figure 3Under the action of the gravity of the fourth arm body 314, the fifth arm body 315, and the sixth arm body 316 shown, the first rod 410 and the second rod 420 in the arm body 400 tend to rotate counterclockwise (the first rod 410 rotates in the direction indicated by the arrow 402 as shown in Figure 4 and the second rod 420 rotates in the direction indicated by the arrow 403 as shown in Figure 4 ). The included angle between the third rod 430 and the first rod 410 in the arm body 400 (such as the included angle α shown in Figure 4 ) tends to increase. Based on this, the sliding rod 470 slides obliquely upward to the right along the length direction, and the elastic member 480 connected to the guide block 460 and the free end N of the sliding rod 470 at both ends is squeezed, generating a restoring force F along the length direction obliquely upward to the right. This restoring force F can balance the gravity of each arm body located at the proximal end of the arm body 400, which is beneficial to reducing the inertial influence brought by the arm body gravity to the master manipulator. In some embodiments, the elastic member can be a spring, a compression spring, a tension spring, or other suitable elastic members. In some embodiments, parameters such as the elastic coefficient of the elastic member 480 can be determined according to the gravity of each arm body located at the proximal end of the arm body 400, so that the restoring force F generated by the elastic member 480 can more accurately balance the gravity of each arm body located at the proximal end of the balanceable arm 400, which is beneficial to achieving the "any stop" effect when the user releases the master manipulator and avoiding the master manipulator from continuing to move under the influence of gravity and affecting the surgical operation.

[0047] In some embodiments, the gravity compensation mechanism in the robotic arm can balance part of the gravity of the arm body. Therefore, the compensation of the gravity compensation mechanism of the robotic arm can be included in the dynamic model of the robotic arm. In some embodiments, the dynamic model includes at least one compensation torque, and at least one compensation torque includes the gravity compensation torques of the gravity compensation mechanism of the robotic arm on multiple joints. In some embodiments, the gravity compensation torque has a functional relationship with the joint parameters of multiple joints (for example, joint angle, joint angular velocity, joint angular acceleration), and the gravity compensation torque is associated with some dynamic parameters (for example, compensation parameter vector). In some embodiments, the dynamic parameters of the part associated with the gravity compensation torque can be the elastic parameters of the elastic mechanism. Among them, the dynamic parameters (for example, compensation parameter vector) are quantities that need to be determined during the calibration process.

[0048] In some embodiments, the robotic arm includes a linkage mechanism. The linkage mechanism includes at least one active joint and at least one passive joint. At least one active joint is driven by a joint driving device, and at least one active joint is linked with at least one passive joint. For example, as shown in Figure 3The multi-degree-of-freedom robotic arm 310 shown includes a linkage mechanism. The linkage mechanism includes an active joint (the third joint 3113) and a passive joint (the fourth joint 3114). The third joint 3113 is driven by a joint driving device, and the third joint 3113 is linked with the fourth joint 3114. In some embodiments, the linkage mechanism includes a parallelogram mechanism. For example, in some embodiments, as Figure 3 shown in the multi-degree-of-freedom robotic arm 310, the third arm body 313 is of a parallelogram structure. The distal end of the third arm body 313 is connected to the second arm body 312 through the third joint 3113, and the proximal end of the third arm body 313 is connected to the fourth arm body 314 through the fourth joint 3114. The third arm body 313, the third joint 3113, and the fourth joint 3114 form a parallelogram linkage mechanism. For example, it can be Figure 4 the arm body 400 containing a parallelogram mechanism in

[0049] In some embodiments, the dynamic driving relationship of the linkage mechanism includes the dynamic driving relationship between at least one active joint and at least one passive joint. For example, as Figure 3 shown in the multi-degree-of-freedom robotic arm 310, the dynamic driving relationship of the linkage mechanism includes the dynamic driving relationship between the third joint 3113 and the fourth joint 3114.

[0050] In some embodiments, the dynamic driving relationship between at least one active joint and at least one passive joint includes at least one of the following I-IV:

[0051] I. The joint angle of at least one active joint and the absolute value of the joint angle of at least one passive joint are the same and the directions are opposite. For example, in the multi-degree-of-freedom robotic arm 310 shown in Figure 3 , the joint angle θ3 of the third joint 3113 and the joint angle θ4 of the fourth joint 3114 have the same absolute value and opposite directions, which can be expressed as: θ4 = -θ3.

[0052] II. The joint angular velocity of at least one active joint and the absolute value of the joint angular velocity of at least one passive joint are the same and the directions are opposite. For example, in the multi-degree-of-freedom robotic arm 310 shown in Figure 3 , the joint angular velocity of the third joint 3113 and the joint angular velocity of the fourth joint 3114 have the same absolute value and opposite directions, which can be expressed as:

[0053] III. The joint angular acceleration of at least one active joint and the absolute value of the joint angular acceleration of at least one passive joint are the same and the directions are opposite. For example, in the multi-degree-of-freedom robotic arm 310 shown in Figure 3 , the joint angular acceleration of the third joint 3113 and the joint angular acceleration of the fourth joint 3114 have the same absolute value but opposite directions, and can be expressed as:

[0054] IV. The torque balance relationship of at least one active joint and at least one passive joint, including the balance between the driving torque of at least one active joint and one or more of the resistance torques, at least one compensation torque, and the equivalent external force torque of at least one active joint and at least one passive joint.

[0055] In some embodiments, the resultant torque of some or all of the at least one resistance torque, at least one compensation torque, and the equivalent external force torque of each joint can be regarded as the joint torque corresponding to the joint.

[0056] In some embodiments, a joint driving device is provided in at least one active joint, and the torque balance relationship of the at least one active joint and the at least one passive joint can be the balance relationship between the driving torque of at least one active joint and the joint torques of at least one active joint and at least one passive joint. For example, in the multi-degree-of-freedom robotic arm 310 as Figure 3 shown, the third joint 3113 is an active joint, the fourth joint 3114 is a passive joint, the third joint 3113 is provided with a joint driving device, at least one driving torque of the third joint 3113 includes the driving torque output by the joint driving device, which can be denoted as τ 3,motor , the joint torque of the third joint 3113 can be denoted as τ3, the joint torque of the fourth joint 3114 can be denoted as τ4, and the torque balance relationship of the third joint 3113 and the fourth joint 3114 can be expressed as shown in the following formula (1):

[0057] τ 3,motor = τ3 - τ4 (1)

[0058] Some embodiments of the present disclosure provide a method for constructing a dynamic model of a robotic arm. In some embodiments, the robotic arm includes a plurality of arm bodies and a plurality of joints connecting the plurality of arm bodies. The method for constructing a dynamic model of the robotic arm may include: obtaining the DH parameters of the plurality of joints of the robotic arm based on the mechanical configuration of the robotic arm; and establishing a dynamic model of the robotic arm based on the DH parameters of the plurality of joints. In some embodiments, the arm bodies between the plurality of joints may be regarded as linkages, and the Newton-Euler method may be used to establish the dynamic model of the arm bodies. The Newton-Euler method can be divided into two steps: First, iterating outward from the distal joint to the proximal joint direction to calculate the angular velocity, angular acceleration, linear acceleration, centroid linear acceleration, etc. of each linkage, and then calculating the inertial force and inertial moment of each linkage; Then, iterating inward from the proximal joint to the distal joint direction to calculate the internal force of each linkage, and then calculating the joint torque.

[0059] The following takes Figure 3 the multi-degree-of-freedom robotic arm 310 shown as an example to specifically illustrate the method for constructing a dynamic model of a robotic arm in some embodiments of the present disclosure.

[0060] As described in some of the above embodiments, Figure 3 the multi-degree-of-freedom robotic arm 310 shown can be regarded as a four-link mechanism, and its operating resistance mainly comes from the first joint 3111, the second joint 3112, and the third joint 3133. Therefore, based on Figure 3 the multi-degree-of-freedom robotic arm 310 shown, a dynamic model of the four-link mechanism is constructed.

[0061] In some embodiments, based on Figure 3 the mechanical configuration of the multi-degree-of-freedom robotic arm 310 shown, the DH parameters of the plurality of joints are obtained, as shown in Table 1. Among them, the fourth joint 3114 is the passive joint of the third joint 3113, and its joint angle satisfies θ4 = -θ3.

[0062] Table 1 DH parameters of multiple joints of the multi-degree-of-freedom robotic arm

[0063] i - 1 -> i <![CDATA[α i > <![CDATA[a i > <![CDATA[d i > <![CDATA[θ i > 0->1 0 0 0 <![CDATA[θ1]]> 1->2 0 <![CDATA[a2]]> 0 <![CDATA[θ2]]> 2->3 π / 2 <![CDATA[a3]]> 0 <![CDATA[θ3]]> 3->4 0 <![CDATA[a 3' > 0 <![CDATA[θ4 = -θ3]]>

[0064] In Table 1, α i is the rotation angle around the axis of the joint coordinate system, a i is the moving distance in the axis direction of the joint coordinate system, d i is the moving distance in the axis direction of the joint coordinate system, and θ i is the rotation angle around the axis of the joint coordinate system.

[0065] In some embodiments, the dynamic model of the robotic arm includes the gravity offset of the robotic arm. In some embodiments, the robotic arm is mounted on a base, and the gravity offset of the robotic arm includes the gravity offset caused by uneven installation of the base. The base unevenness parameter includes the tilt angle vector of the base relative to the reference plane. In some embodiments, when the base of the multi-degree-of-freedom robotic arm 310 is unevenly installed, the base unevenness parameter can be the tilt angle vector of the base relative to the reference plane, which can be expressed as [θ x , θ y T , which has been described in detail in the above-mentioned some embodiments and will not be elaborated here.

[0066] In some embodiments, when the base of the multi-degree-of-freedom robotic arm 310 is unevenly installed, Figure 3 the ground coordinate system {W} shown in can be obtained by sequentially rotating the base coordinate system {0} of the master manipulator around the

[0067]

[0068] axis. The transformation matrix between the base coordinate system {0} of the master manipulator and the ground coordinate system {W} can be expressed by the following formula (2): Figure 3 In some embodiments, as shown in , the direction of gravity is the

[0069] direction. Therefore, the direction of gravity relative to the base coordinate system can be expressed by the following formula (3): x g y g z = (Rot x (θ x )Rot y (θ y )) T [0 0 -9.81] T

[0070] = 9.81[cosθ x sinθ y -sinθ x -cosθ x cosθ y T (3)

[0071] In some embodiments, the dynamic model of the four-link mechanism of the multi-degree-of-freedom robotic arm 310 is established using the Newton-Euler method, which mainly includes two steps: outward iteration and inward iteration.

[0072] ​​In some embodiments, starting from the distal link, the angular velocities of the links in the four-link mechanism of the multi-degree-of-freedom robotic arm 310 can be obtained by iterating outward using kinematic formulas. i+1 ω i+1 , angular acceleration linear acceleration linear acceleration of the center of mass inertial force i+1 F i+1 , inertial moment i+1 N i+1 can be respectively expressed by the following formulas (4)-(9):

[0073]

[0074]

[0075]

[0076]

[0077]

[0078]

[0079] Wherein, is the rotation matrix, is the joint angular velocity, is the joint angular velocity, is the unit vector along the joint rotation axis, i P i+1 is the translation matrix, i+1 P C,i+1 is the position of the center of mass of the link, m i+1 is the mass of the link, C,i+1 I i+1 is the inertia matrix of the link.

[0080] The initial conditions for outward recurrence based on the above formulas (4)-(9) can be expressed as: 0 ω0 = [0 0 0] T , Wherein, [g x g y g z T = g T , and g can be obtained based on formula (3).

[0081] In some embodiments, based on the inertial force i+1 F i+1 and inertial moment i+1 N i+1, starting from the proximal link, inward iteration can be performed according to the moment and force balance equations to obtain the forces required for each joint i f i , moment i n i and joint moment τ i (moment i n i in the axial direction component), can be respectively expressed by the following formulas (10)-(12):

[0082]

[0083]

[0084]

[0085] The initial conditions for inward recurrence based on the above formulas (10)-(12) can be expressed as: 4 f4 = [0 0 0] T , 4 n4 = [00 0] T .

[0086] In some embodiments, the rotation matrix translation matrix i P i+1 can be obtained according to the DH parameters of multiple joints of the robotic arm. For example, Figure 3 as shown in the multi-degree-of-freedom robotic arm 300, based on the DH parameters of multiple joints of the multi-degree-of-freedom robotic arm shown in Table 1, the corresponding rotation matrix and translation matrix i P in,t can be obtained through the following formulas (13)-(15):

[0087]

[0088]

[0089]

[0090] In some embodiments, the dynamic model of the robotic arm includes the dynamic drive relationship of the linkage mechanism in the robotic arm. In some embodiments, the robotic arm includes a linkage mechanism, the linkage mechanism includes at least one active joint and at least one passive joint, at least one active joint is driven by a joint drive device, at least one active joint is linked with at least one passive joint, and the dynamic drive relationship of the linkage mechanism includes the dynamic drive relationship between at least one active joint and at least one passive joint. Specific details have been described in detail in the above-mentioned some embodiments and will not be elaborated here. In some embodiments, such asFigure 3 The shown multi-degree-of-freedom robotic arm 310, where the third joint 3113 is an active joint and the fourth joint 3114 is a passive joint, and the third joint 3113 is linked with the fourth joint 3114. When constructing the dynamic model of the robotic arm, the dynamic drive relationship between the third joint 3113 and the fourth joint 3114 is considered. The dynamic drive relationship between the third joint 3113 and the fourth joint 3114 may include: the absolute values of the joint angle θ3 of the third joint 3113 and the joint angle θ4 of the fourth joint 3114 are the same and the directions are opposite, which can be expressed as: θ4 = -θ3. In some embodiments, the joint angle θ4 of the fourth joint 3114 can be obtained based on the joint angle θ3 of the third joint 3113 to obtain the DH parameter (θ i ) of the fourth joint 3114 of the multi-degree-of-freedom robotic arm 300. The dynamic drive relationship between the third joint 3113 and the fourth joint 3114 may also include: the joint angular velocity of the third joint 3113 and the joint angular velocity of the fourth joint 3114 have the same absolute value and opposite directions, which can be expressed as: And the joint angular acceleration of the third joint 3113 and the joint angular acceleration of the fourth joint 3114 have the same absolute value and opposite directions, which can be expressed as: In some embodiments, the joint angular velocity and joint angular acceleration of the fourth joint 3114 can be obtained based on the joint angular velocity and joint angular acceleration of the third joint 3113. In some embodiments, based on the obtained joint angular velocity and joint angular acceleration of the fourth joint 3114, it can be used for outward iteration of formulas (4)-(9) and inward iteration of formulas (10)-(12) to obtain the dynamic model of the robotic arm.

[0091] In some embodiments, the robotic arm further includes a gravity compensation mechanism, and the dynamic model of the robotic arm includes the compensation of the gravity compensation mechanism of the robotic arm. In some embodiments, the gravity compensation mechanism includes an elastic balance mechanism as shown in Figure 4 , which has been described in detail in the above-mentioned some embodiments and will not be elaborated here. The gravity compensation mechanism in the robotic arm can balance part of the gravity of the arm body to achieve gravity compensation. Figure 5 shows a schematic diagram of the gravity compensation principle of the arm body 400 including a gravity compensation mechanism according to the present disclosure Figure 4 . When Figure 4When the arm body 400 tends to rotate counterclockwise under the action of the gravity of each arm body located at the proximal end of the arm body 400, the sliding rod 470 slides obliquely upward to the right along the length direction, and the elastic member 480 whose two ends are respectively connected to the guide block 460 and the free end N of the sliding rod 470 is squeezed, and the elastic member pressure can be expressed as Figure 5 the f shown in s , f s is obliquely downward to the left along the length direction of the sliding rod 470. Due to the elastic action of the elastic member, the elastic member generates a restoring force F obliquely upward to the right along the length direction of the sliding rod 470, and F = f s .

[0092] In some embodiments, the elastic member can be a spring, and the elastic member pressure f s can be obtained by the following formula (16):

[0093]

[0094] wherein, k s is the theoretical spring stiffness coefficient, b vs is the spring damping coefficient, and l AC is the distance between the hinge end A and the hinge point C.

[0095] In some embodiments, there is a calibration error in the theoretical spring stiffness coefficient, and there is also a certain calibration error in the original length of the spring. The elastic member pressure f s can be obtained by the following formula (17):

[0096]

[0097] wherein, Δk s is the spring stiffness coefficient error, and Δl s is the spring original length error. In some embodiments, the spring stiffness coefficient error Δk s and the spring original length error Δl s can be obtained by calibrating the spring.

[0098] In some embodiments, based on the elastic member pressure f s obtained from formula (17), the restoring force F generated by the elastic member can be obtained. The restoring force F generated by the elastic member will generate a gravity compensation moment on the associated joint (for example, Figure 5 the joint at J2 in, for example, Figure 3 the third joint 3113 shown in), and this gravity compensation moment is used to compensate for part of the gravity of the arm body. Exemplarily, as shown in Figure 5 in, the elastic member acts on the associated joint (for example, Figure 5 the joint at J2 in, for example, Figure 3The gravity compensation torque of the third joint 3113) shown can be obtained by the following formula (18):

[0099]

[0100] where l AB is the distance between the hinge end A and the hinge point B, and l BC is the distance between the hinge point B and the hinge point C. In some embodiments, l AB and l BC are mechanical design values.

[0101] In some embodiments, the dynamic model of the robotic arm can simultaneously consider the dynamic drive relationship of the linkage mechanism in the robotic arm, the gravity offset of the robotic arm, and the compensation of the gravity compensation mechanism of the robotic arm. Therefore, the dynamic model includes the balance relationship of at least one driving torque, at least one resistance torque, at least one compensation torque, and at least one external force equivalent torque of multiple joints, and at least one driving torque can be calculated based on one or more of at least one resistance torque, at least one compensation torque, and at least one external force equivalent torque. In some embodiments, for the multi-degree-of-freedom robotic arm 300 as Figure 3 shown, based on the above formulas (4)-(12) and formula (18), the dynamic model of the first three joints (the first joint 3111, the second joint 3112, and the third joint 3113) of the multi-degree-of-freedom robotic arm 300 can be expressed as shown in formula (19):

[0102]

[0103] where τ i,motor is the driving torque of the i-th joint, τ i is the joint torque of the i-th joint, is a 3×18 regression matrix, β r is the corresponding 18×1 regression coefficient vector, τ tilt is the resistance torque caused by the gravity offset of the robotic arm, τ spring is the compensation torque compensated by the gravity compensation mechanism of the robotic arm, and τ e is the external force equivalent torque of the operating external force of the robotic arm at the joint.

[0104] In the above formula (19), β r , τ tilt , and τ e can be respectively expressed as the following formulas (20)-(25):

[0105]

[0106] τ tilt =[τ 1,tiltτ 2,tilt τ 3,tilt T (21)

[0107] τ spring =[0 0 τ 3s T (22)

[0108]

[0109]

[0110]

[0111] wherein, I iyy is the moment of inertia in the direction of the i-th joint, I ixx is the moment of inertia in the direction of the i-th joint, I izz is the moment of inertia in the direction of the i-th joint, I ixy is the product of inertia in the direction of the i-th joint, I ixz is the product of inertia in the direction of the i-th joint, I iyz is the product of inertia in the direction of the i-th joint, f vi is the dynamic friction coefficient of the i-th joint, f ci is the static friction force of the i-th joint, l ix is the directional angular momentum of the i-th joint, l iy is the directional angular momentum of the i-th joint, l iz is the directional angular momentum of the i-th joint, i = 1, 2, 3, 4.

[0112] In some embodiments, the dynamic parameters of the robotic arm include one or more of the dynamic parameters of the part associated with the first resistance torque (e.g., the first resistance parameter vector), the dynamic parameters of the part associated with the second resistance torque (e.g., the second resistance parameter vector), and the dynamic parameters of the part associated with the gravity compensation torque (e.g., the compensation parameter vector).

[0113] Exemplarily, for the multi-degree-of-freedom robotic arm 300 as Figure 3 shown, a dynamic model as shown in the above formula (19) can be established. The dynamic parameters of the part associated with the first resistance torque can be denoted as the first resistance parameter vector. For example, the first resistance parameter vector can be expressed as β as shown in the formula (20) r ​​, the dynamic parameters of the part associated with the second resistance torque can be denoted as the second resistance parameter vector. For example, the second resistance parameter vector can be the base unevenness parameter. For example, the second resistance parameter vector can be expressed as [θ x , θ y T , the dynamic parameters of the part associated with the gravity compensation torque can be denoted as the compensation parameter vector. For example, the compensation parameter vector can be the elastic parameter of the elastic member. For example, the compensation parameter vector can be expressed as [Δk s , Δl s , b vs T , thus, the dynamic parameters of the multi-degree-of-freedom robotic arm 300 as shown in Figure 3 can be expressed as:

[0114] Those skilled in the art can understand that the dynamic model of the robotic arm in the present disclosure can simultaneously include the dynamic drive relationship of the linkage mechanism in the robotic arm, the gravity offset of the robotic arm, and the compensation of the gravity compensation mechanism of the robotic arm. It can also include a part of the dynamic drive relationship of the linkage mechanism in the robotic arm, the gravity offset of the robotic arm, and the compensation of the gravity compensation mechanism of the robotic arm according to the specific structure of the robotic arm. For example, when there is only a linkage mechanism in the robotic arm, the dynamic model of the robotic arm can only include the dynamic drive relationship of the linkage mechanism. Another example is that when there are both gravity offset and the gravity compensation mechanism in the robotic arm, the dynamic model of the robotic arm can include the gravity offset of the robotic arm and the compensation of the gravity compensation mechanism of the robotic arm. Other situations are similar, and the dynamic model of the robotic arm can be obtained according to the specific structure of the robotic arm, which will not be specifically elaborated here. Those skilled in the art can understand that the dynamic parameters of the robotic arm in the present disclosure are related to the dynamic model of the robotic arm and can be determined according to the specific dynamic model.

[0115] The method for calibrating the dynamic parameters of the robotic arm provided by the present disclosure can calibrate the dynamic parameters in the dynamic model of the robotic arm to obtain an accurate dynamic model.

[0116] Those skilled in the art can understand that the robotic arm to which the method 100 for calibrating the dynamic parameters of the robotic arm provided by the present disclosure can be applied is not limited to the main operator of the robotic system, but also includes any applicable robotic arm. The main operator of the robotic system is used for the master-slave teleoperation of the slave operating device of the robotic system by the operator.

[0117] Figure 1 shows a flowchart of the method 100 for calibrating the dynamic parameters of the robotic arm according to some embodiments of the present disclosure.

[0118] Refer to Figure 1 ​​, in step 101, control multiple joints to move along an excitation trajectory.

[0119] In the present disclosure, the excitation trajectory is pre-designed, and the goal of the excitation trajectory is to fully excite the robotic arm for which dynamic parameter calibration is to be performed, so as to obtain the dynamic parameters in the dynamic model of the robotic arm more accurately.

[0120] In some embodiments, by controlling multiple joints to move along an excitation trajectory, motion information of multiple joints (for example, joint parameters, such as joint angle, joint angular velocity, and joint angular acceleration) and torque information of multiple joints (for example, the driving torque output by the joint drive device) can be obtained. The motion information and torque information of multiple joints can be used as a calibration data set to calibrate the dynamic parameters in the dynamic model of the robotic arm, which will be described in detail in the following some embodiments.

[0121] In some embodiments, the excitation trajectory includes an excitation trajectory based on Fourier series. For example, in some embodiments, the excitation trajectory can be expressed as shown in formula (26):

[0122]

[0123] where θ i is the joint angle (i represents the number of the joint), θ i0 is the initial value of the joint angle, k is the numbering of the Fourier series terms, N is the number of Fourier series terms, ω f = 2πf f , f f is the sampling frequency, t is the sampling time, a ik , b ik are the amplitudes of the sine function and cosine function, θ i0 , a ik , b ik are the trajectory parameters to be optimized. In some embodiments, N = 5, ω f = 0.1.

[0124] As described in the above some embodiments, Figure 3 the multi-degree-of-freedom robotic arm 310 shown can be regarded as a four-bar linkage mechanism, and its operating resistance mainly comes from the first joint 3111, the second joint 3112, and the third joint 3133. Therefore, for Figure 3The dynamic model of the four-bar linkage mechanism constructed by the multi-degree-of-freedom robotic arm 310 shown can pre-plan the excitation trajectories of the first three joints (the first joint 3111, the second joint 3112, and the third joint 3133) of the multi-degree-of-freedom robotic arm 310 to control the first three joints (the first joint 3111, the second joint 3112, and the third joint 3133) of the multi-degree-of-freedom robotic arm 310 to move along the excitation trajectories, so as to obtain a calibration data set. Thus, in the excitation trajectory shown in formula (26), i can take values: i = 1, 2, 3.

[0125] In some embodiments, the excitation trajectory is obtained in the following manner: with the goal of minimizing the condition number of the driving torque regression matrix and with the constraint that at least some joint parameters of multiple joints satisfy the corresponding threshold ranges, the excitation trajectory is calculated; wherein, the driving torque regression matrix is the regression matrix of the driving torque output by the joint driving device with respect to the dynamic parameters in the dynamic model.

[0126] Exemplarily, in some embodiments, Figure 3 The dynamic model of the multi-degree-of-freedom robotic arm 310 shown can be expressed as shown in formula (19), and the driving torque regression matrix can be the regression matrix of the driving torque output by the joint output device with respect to all dynamic parameters. In some embodiments, Figure 3 The dynamic parameters of the multi-degree-of-freedom robotic arm 310 shown can be expressed as: The driving torque regression matrix can be expressed as the driving torque τ output by the joint output device motor with respect to the dynamic parameter β dyn The regression matrix can be obtained by taking the first derivative of formula (19) and can be expressed as shown in formula (27):

[0127]

[0128] In some embodiments, with the goal of minimizing the condition number of the driving torque regression matrix and with the constraint that the joint angles and joint angular velocities of multiple joints satisfy the corresponding threshold ranges, the trajectory parameters to be optimized in the excitation trajectory (for example, θ i0 , a ik , b ik ) can be calculated and can be expressed by the following formula (28):

[0129]

[0130] wherein, θ i,min is the minimum joint angle, θ i,max is the maximum joint angle, is the minimum joint angular velocity, is the maximum joint angular velocity.

[0131] Figure 6 FIG. 600 shows a flowchart of a method 600 (hereinafter also simply referred to as "method 600") for controlling the movement of multiple joints along an excitation trajectory. Method 600 can be implemented or executed at least partially by hardware, software, or firmware. In some embodiments, method 600 can be executed at least partially by a robotic system (e.g., Figure 2 the robotic system 200 shown). In some embodiments, method 600 can be implemented as computer-readable instructions. These instructions can be read and executed by a general-purpose processor or a dedicated processor (e.g., Figure 2 the control device 230 shown). For example, the control device of a robotic system (e.g., Figure 2 the control device 230 shown) can include a processor configured to execute method 600. In some embodiments, these instructions can be stored on a computer-readable medium.

[0132] Referring to Figure 6 , in some embodiments, controlling the movement of multiple joints along an excitation trajectory can include step 601, in which, based on the excitation trajectory, target values of joint parameters of the multiple joints are obtained. In some embodiments, the target values of the joint parameters can be target values of joint angles.

[0133] Exemplarily, as Figure 3 the multi-degree-of-freedom robotic arm 310 shown can be regarded as a four-bar linkage mechanism. For the dynamic model of the four-bar linkage mechanism constructed by the multi-degree-of-freedom robotic arm 310 shown in Figure 3 , the excitation trajectory of the first three joints (the first joint 3111, the second joint 3112, and the third joint 3133) of the multi-degree-of-freedom robotic arm 310 can be expressed as shown in formula (26). Based on the excitation trajectory, the target values of the joint angles of the first three joints (the first joint 3111, the second joint 3112, and the third joint 3133) can be obtained, which can be denoted as

[0134] Referring to Figure 6 , in some embodiments, controlling the movement of multiple joints along an excitation trajectory can include step 603, in which actual values of joint parameters of the multiple joints are obtained. In some embodiments, joint sensors are provided at multiple joints of the robotic arm for obtaining some or all of the joint parameters corresponding to the multiple joints (e.g., joint angles, joint angular velocities, and joint angular accelerations). In some embodiments, the joint sensors include angle sensors for obtaining the joint angle θ i (i is the number of the joint). In some embodiments, the actual values of the joint parameters can be actual values of joint angles.

[0135] Exemplarily, as Figure 3The shown multi - degree - of - freedom robotic arm 310 can control the first three joints (the first joint 3111, the second joint 3112, and the third joint 3133) of the multi - degree - of - freedom robotic arm 310 to move along the excitation trajectory. The actual values of the joint angles of the first three joints (the first joint 3111, the second joint 3112, and the third joint 3133) can be obtained through angle sensors, and can be denoted as

[0136] See Figure 6 , in some embodiments, controlling multiple joints to move along the excitation trajectory may include step 605. In step 605, based on the target value of the joint parameter and the actual value of the joint parameter, the drive signals of the multiple joints are determined. In some embodiments, the drive signals of the multiple joints can be determined based on the difference between the target value of the joint parameter and the actual value of the joint parameter. In some embodiments, based on the difference between the target value of the joint parameter and the actual value of the joint parameter, the PID (Proportional, Integral, and Derivative) control law can be used to determine the drive signals of the multiple joints. Those skilled in the art should understand that other control laws, such as the PI (Proportional, Integral) control law, etc., can be used to determine the drive signals of the multiple joints based on the difference between the target value of the joint parameter and the actual value of the joint parameter. In some embodiments, the target value of the joint parameter can be the target value of the joint angle, the actual value of the joint parameter can be the actual value of the joint angle, and the drive signal can be the theoretical value of the driving torque output by the joint drive devices of the multiple joints.

[0137] Exemplarily, as Figure 3 shown by the multi - degree - of - freedom robotic arm 310, based on the target value of the joint angles of the first three joints (the first joint 3111, the second joint 3112, and the third joint 3133) and the actual value of the joint angles the theoretical value of the driving torque output by the joint drive devices corresponding to the first three joints (the first joint 3111, the second joint 3112, and the third joint 3133) can be determined by using the PID (Proportional, Integral, and Derivative) control law, and can be denoted as

[0138] In some embodiments, controlling multiple joints to move along the excitation trajectory may include: based on the drive signals, controlling the joint drive devices of the multiple joints to drive the multiple joints. In some embodiments, under the condition that there is no external operating force on the robotic arm, based on the drive signals, controlling the joint drive devices of the multiple joints to move to drive the multiple joints along the excitation trajectory. In some embodiments, the joint drive device includes a motor, the drive signal can be the theoretical value of the driving torque output by the joint drive device, and the rotation angle of the motor can be obtained based on the theoretical value of the driving torque to control the rotation of the motor, thereby driving the multiple joints to move.

[0139] Exemplarily, as Figure 3 shown, the multi-degree-of-freedom robotic arm 310 can obtain the theoretical values of the driving torques of the first three joints (the first joint 3111, the second joint 3112, and the third joint 3133). Based on the theoretical values of the driving torques the rotational angles of the motors corresponding to the respective joints can be obtained to control the rotation of the motors, thereby driving the first three joints to move so that the first three joints move along the excitation trajectory.

[0140] In some embodiments, controlling the plurality of joints to move along the excitation trajectory may include: iteratively determining the drive signals of the plurality of joints at a predetermined period to achieve tracking of the excitation trajectory through a plurality of motion control loops. In some embodiments, in each motion control loop, target values of the joint parameters of the plurality of joints are obtained based on the excitation trajectory, actual values of the joint parameters of the plurality of joints are obtained, and based on the target values and the actual values of the joint parameters, drive signals of the plurality of joints are determined, so that based on the drive signals of the plurality of joints, the joint drive devices of the plurality of joints are controlled to drive the plurality of joints. This has been described in detail in the above-mentioned some embodiments and will not be elaborated here.

[0141] Continuing to refer to Figure 1 , in step 103, during the movement of the plurality of joints along the excitation trajectory, a calibration data set is obtained.

[0142] In some embodiments, obtaining the calibration data set includes: during the movement of the plurality of joints along the excitation trajectory, actual values of the joint parameters of the plurality of joints and the actual values of at least one corresponding driving torque are obtained at a predetermined period to form the calibration data set, and the calibration data set includes a joint parameter calibration subset and a driving torque calibration subset.

[0143] In some embodiments, the joint parameters include joint angles, joint angular velocities, and joint angular accelerations. In some embodiments, joint sensors are provided at multiple joints of the robotic arm for acquiring some or all of the joint parameters (e.g., joint angles, joint angular velocities, and joint angular accelerations) corresponding to the multiple joints. In some embodiments, the actual values of the joint parameters of the multiple joints can be collected by the joint sensors at a predetermined sampling period to form the joint parameter calibration subset. In the present disclosure, the joint parameter calibration subset refers to a set of joint parameter calibration vectors of multiple sampling cycles, and the joint parameter calibration vector is a vector composed of the actual values of the joint parameters of multiple joints of the robotic arm, and the joint parameters of each joint can include multiple, such as joint angles, joint angular velocities, and joint angular accelerations.

[0144] In some embodiments, the joint sensor includes one for acquiring the joint angle θ iAn angular sensor of (i represents the number of the joint). In some embodiments, obtaining the joint parameters of multiple joints at a predetermined period may include: obtaining the actual values of the joint angles of multiple joints at a predetermined period, which can be denoted as θ i,j (i represents the number of the joint, and j represents the sampling cycle number).

[0145] In some embodiments, obtaining the actual values of the joint parameters of multiple joints at a predetermined period may further include: in each sampling cycle, based on the actual values of the joint angles, calculating the actual values of the joint angular velocities and the actual values of the joint angular accelerations of multiple joints. In some embodiments, based on the obtained sequence of the actual values of the joint angles θ i,j The actual values of the joint angular velocity and the actual values of the joint angular acceleration can be determined by the following formulas (29) and (30):

[0146]

[0147]

[0148] Wherein, is the actual value of the joint angular velocity, is the actual value of the joint angular acceleration.

[0149] Exemplarily, for Figure 3 the multi-degree-of-freedom robotic arm 310 shown, the actual value of the joint angle θ 1,j of the first joint 3111, the actual value of the joint angle θ 2,j of the second joint 3112, and the actual value of the joint angle θ 3,j of the third joint 3113 can be obtained at a predetermined period. In some embodiments, based on the actual value of the joint angle θ 1,j of the first joint 3111, the actual value of the joint angle θ 2,j of the second joint 3112, the actual value of the joint angle θ 3,j of the third joint 3113, and the above formula (29), the actual value of the joint angular velocity of the first joint 3111, the actual value of the joint angular velocity of the second joint 3112, and the actual value of the joint angular velocity of the third joint 3113 can be calculated. In some embodiments, based on the actual value of the joint angle θ 1,j of the first joint 3111, the actual value of the joint angle θ 2,j of the second joint 3112, the actual value of the joint angle θ 3,j of the third joint 3113, and the above formula (30), the actual value of the joint angular acceleration The actual value of the joint angular acceleration of the second joint 3112 The actual value of the joint angular acceleration of the third joint 3113

[0150] In some embodiments, the joint parameter calibration vector for the j-th sampling cycle can be denoted as θ j is the sub-vector of the calibrated joint angles of multiple joints for the j-th sampling cycle, and θ j is the actual value of the joint angles of multiple joints, which is θ i,j forming the sub-vector of the calibrated joint angles, is the sub-vector of the calibrated joint angular velocities of multiple joints for the j-th sampling cycle, is the actual value of the joint angular velocities of multiple joints forming the sub-vector of the calibrated joint angular velocities, is the sub-vector of the calibrated joint angular accelerations of multiple joints for the j-th sampling cycle, is the actual value of the joint angular accelerations of multiple joints forming the sub-vector of the calibrated joint angular accelerations.

[0151] In some embodiments, when obtaining the joint parameters of multiple joints at a predetermined period, the actual value of the driving torque output by the joint driving devices of multiple joints is obtained simultaneously, which can be denoted as (where i represents the joint number and j represents the sampling cycle number), forming a set of calibrated driving torques. In some embodiments, the joint driving device includes a motor, and the driving torque output by the motor can be measured by a sensor (e.g., an encoder). In the present disclosure, the set of calibrated driving torques refers to the set of the calibrated driving torque vectors of multiple sampling cycles, and the calibrated driving torque vector is a vector composed of the actual values of the driving torques output by the joint driving devices of multiple joints. In some embodiments, the calibrated driving torque vector for the j-th sampling cycle can be denoted as is the actual value of the driving torques output by the joint driving devices of multiple joints forming the vector.

[0152] Continuing to refer to Figure 1 , in step 105, based on the calibration data set and the dynamic model of the robotic arm, the calibrated values of the dynamic parameters of the robotic arm are calculated; wherein, the dynamic model includes at least one of the following: the dynamic driving relationship of the linkage mechanism in the robotic arm, the gravity offset of the robotic arm, or the compensation of the gravity compensation mechanism of the robotic arm. The dynamic model of the robotic arm has been described in detail in the above-mentioned some embodiments and will not be elaborated here.

[0153] In some embodiments, the calibrated values of the dynamic parameters of the robotic arm are calculated as follows: based on a subset of joint parameter calibrations and a dynamic model, by minimizing the difference between at least one driving torque of multiple joints and a subset of calibrated driving torques, the calibrated values of the dynamic parameters of the robotic arm are calculated, where at least one driving torque is a function of the dynamic parameters.

[0154] In some embodiments, the subset of joint parameter calibrations is a set of joint parameter calibration vectors for multiple sampling cycles. A joint parameter calibration vector is a vector composed of the actual values of the joint parameters of multiple joints of the robotic arm. The joint parameter calibration vector for the j-th sampling cycle can be denoted as The subset of calibrated driving torques is a set of calibrated driving torque vectors for multiple sampling cycles. A calibrated driving torque vector is a vector composed of the actual values of the driving torques output by the joint driving devices of multiple joints. The calibrated driving torque vector for the j-th sampling cycle can be denoted as In some embodiments, the dynamic parameters of the robotic arm can be calculated by minimizing the sum of the differences in driving torques over multiple sampling cycles, such as the sum of the absolute values of the differences in driving torques. Among them, the difference in driving torque for each sampling cycle is the difference between at least one driving torque of multiple joints in that sampling cycle and the calibrated driving torque vector in the subset of calibrated driving torques, and the driving torque of at least one joint in each sampling cycle is a function of the dynamic parameters. For example, in some embodiments, the driving torque of at least one joint in the j-th sampling cycle can be denoted as The driving torque of at least one joint is a function of the dynamic parameter β dyn (For example, Figure 3 the dynamic parameters of the multi-degree-of-freedom robotic arm 310 shown in can be expressed as: the calibrated value of the dynamic parameter can be iteratively calculated through, for example, the following formula (31):

[0155]

[0156] where n is the number of sampling cycles.

[0157] In some embodiments, during the iterative calculation of the dynamic parameters, in each iteration cycle, the dynamic parameters can be updated. The sum of the differences in driving torques for all sampling cycles can be calculated based on, for example, formula (31), until the sum of the differences in driving torques for all sampling cycles converges to a minimum value, at which point the iteration stops and the calibrated value of the dynamic parameter is obtained.

[0158] In some embodiments, at least one driving torque of multiple joints is balanced with at least one resistance torque of multiple joints. The dynamic parameters include a resistance parameter vector, and at least one resistance torque is a function of the resistance parameter vector.

[0159] In some embodiments, at least one resistance torque includes a first resistance torque, the resistance parameter vector includes a first resistance parameter vector, the first resistance torque is a function of the first resistance parameter vector, the first resistance parameter vector includes a regression coefficient vector of the first resistance torque, and the regression coefficient vector is related to the structure of the robotic arm. For example, the regression coefficient vector is related to the masses of multiple arm bodies of the robotic arm, DH parameters, etc. In some embodiments, the first resistance torque can be expressed as the product of a first resistance torque regression matrix and the first resistance parameter vector. In some embodiments, the first resistance torque regression matrix can be calculated based on a subset of calibrated joint parameters. In some embodiments, based on the joint parameter calibration vector of the j-th sampling cycle in the subset of calibrated joint parameters calculate the first resistance torque regression matrix corresponding to the j-th sampling cycle, and the first resistance torque of the j-th sampling cycle can be expressed as the product of the first resistance torque regression matrix corresponding to the j-th sampling cycle and the first resistance parameter vector. Exemplarily, as Figure 3 shown, the first resistance torques of multiple joints of the multi-degree-of-freedom robotic arm 300 can be expressed as in formula (19) wherein is the first resistance torque regression matrix, and the first resistance torque regression matrix can be calculated through the joint parameter calibration vector (for example, the joint parameter calibration vector of the j-th sampling cycle ), and β r is the first resistance parameter vector to be calibrated.

[0160] In some embodiments, at least one resistance torque further includes a second resistance torque of multiple joints caused by the gravity offset of the robotic arm, the resistance parameter vector includes a second resistance parameter vector, and the second resistance torque is a function of the second resistance parameter vector. In some embodiments, the robotic arm is mounted on a base, and the gravity offset of the robotic arm includes the gravity offset caused by the uneven installation of the base, which has been described in detail in the above embodiments and will not be elaborated here.

[0161] In some embodiments, the second resistance parameter vector includes an inclination angle vector of the base relative to a reference plane. In some embodiments, the multiple joints include a first joint, and the robotic arm is connected to the base through the first joint. In some embodiments, the reference plane is a horizontal plane, and the inclination angle vector is the angle between the plane perpendicular to the first rotation axis of the first joint and the reference plane, which can be expressed as [θ x , θ y T , and the second resistance parameter vector can be expressed as [θ x , θ y T ​​This has been described in detail in some of the above embodiments and will not be elaborated here. In some embodiments, the second resistance torque is a function of the second resistance parameter vector. Exemplarily, as Figure 3 shown, the second resistance torque of the multi-degree-of-freedom robotic arm 300 can be expressed as τ in Equation (19) tilt , τ tilt can be expressed by Equation (21) and Equations (23)-(25), [θ x , θ y T is the second resistance parameter vector to be calibrated.

[0162] In some embodiments, the balance of at least one driving torque of multiple joints and at least one resistance torque of multiple joints includes the balance of at least one driving torque of multiple joints and the first resistance torque of multiple joints. For example, the driving torque of multiple joints is equal to the first resistance torque of multiple joints. At least one driving torque is a function of the first resistance parameter vector. Based on the calibrated subset of joint parameters and the dynamic model, the calibrated value of the dynamic parameters of the robotic arm can be calculated by minimizing the difference between at least one driving torque of multiple joints and the calibrated subset of driving torques. The dynamic parameters include the first resistance parameter vector.

[0163] In some embodiments, the balance of at least one driving torque of multiple joints and at least one resistance torque of multiple joints includes the balance of at least one driving torque of multiple joints and the second resistance torque of multiple joints. For example, the driving torque of multiple joints is equal to the second resistance torque of multiple joints. At least one driving torque is a function of the second resistance parameter vector. Based on the calibrated subset of joint parameters and the dynamic model, the calibrated value of the dynamic parameters of the robotic arm can be calculated by minimizing the difference between at least one driving torque of multiple joints and the calibrated subset of driving torques. The dynamic parameters include the second resistance parameter vector.

[0164] In some embodiments, the balance of at least one driving torque of multiple joints and at least one resistance torque of multiple joints includes the balance of at least one driving torque of multiple joints and the first resistance torque and the second resistance torque of multiple joints. For example, the driving torque of multiple joints is equal to the sum of the first resistance torque and the second resistance torque of multiple joints. At least one driving torque is a function of the first resistance parameter vector and the second resistance parameter vector. Based on the calibrated subset of joint parameters and the dynamic model, the calibrated value of the dynamic parameters of the robotic arm can be calculated by minimizing the difference between at least one driving torque of multiple joints and the calibrated subset of driving torques. The dynamic parameters include the first resistance parameter vector and the second resistance parameter vector.

[0165] ​In some embodiments, at least one driving torque of multiple joints balances at least one resistance torque and at least one compensation torque of the multiple joints. The dynamic parameters include a resistance parameter vector and a compensation parameter vector. At least one resistance torque is a function of the resistance parameter vector, and at least one compensation torque is a function of the compensation parameter vector.

[0166] In some embodiments, the robotic arm includes a gravity compensation mechanism. At least one compensation torque includes the gravity compensation torque of the gravity compensation mechanism of the robotic arm for the multiple joints, which has been described in detail in the above-mentioned some embodiments and will not be elaborated here.

[0167] In some embodiments, the gravity compensation mechanism may include an elastic balance mechanism. The elastic balance mechanism includes an elastic member. The compensation parameter vector may include elastic parameters. For example, the compensation parameter vector may be expressed as [Δk s , Δl s , b vs T , which has been described in detail in the above-mentioned some embodiments and will not be elaborated here. In some embodiments, the gravity compensation torque is a function of the compensation parameter vector. Exemplarily, the gravity compensation torque of the multi-degree-of-freedom robotic arm 300 as shown in Figure 3 may be expressed as τ in formula (19). spring , τ spring can be expressed by formula (22) and formula (18). [Δk s , Δl s , b vs T is the compensation parameter vector to be calibrated.

[0168] In some embodiments, at least one resistance torque includes the first resistance torque in the above-mentioned some embodiments. Correspondingly, the resistance parameter vector includes the first resistance parameter vector in the above-mentioned some embodiments. At least one compensation torque includes the gravity compensation torque in the above-mentioned some embodiments. The balance of at least one driving torque of multiple joints with at least one resistance torque and at least one compensation torque of multiple joints includes the balance of at least one driving torque of multiple joints with the first resistance torque and the gravity compensation torque of multiple joints. For example, the driving torque of multiple joints is equal to the first resistance torque minus the gravity compensation torque. At least one driving torque is a function of the first resistance parameter vector and the compensation parameter vector. The calibration value of the dynamic parameters of the robotic arm can be calculated by minimizing the difference between at least one driving torque of multiple joints and the driving torque calibration subset based on the joint parameter calibration subset and the dynamic model. The dynamic parameters include the first resistance parameter vector and the compensation parameter vector.

[0169] ​​In some embodiments, at least one resistance torque includes the second resistance torque in some of the above embodiments. Correspondingly, the resistance parameter vector includes the second resistance parameter vector in some of the above embodiments. At least one compensation torque includes the gravity compensation torque in some of the above embodiments. The balance of at least one driving torque of multiple joints with at least one resistance torque and at least one compensation torque of multiple joints includes the balance of at least one driving torque of multiple joints with the second resistance torque and the gravity compensation torque of multiple joints. For example, the driving torque of multiple joints is equal to the second resistance torque minus the gravity compensation torque. At least one driving torque is a function of the second resistance parameter vector and the compensation parameter vector. Based on the calibrated subset of joint parameters and the dynamic model, the calibrated values of the dynamic parameters of the robotic arm can be calculated by minimizing the difference between at least one driving torque of multiple joints and the calibrated subset of driving torques. The dynamic parameters include the second resistance parameter vector and the compensation parameter vector.

[0170] In some embodiments, at least one resistance torque includes the first resistance torque and the second resistance torque in some of the above embodiments. Correspondingly, the resistance parameter vector includes the first resistance parameter vector and the second resistance parameter vector in some of the above embodiments. At least one compensation torque includes the gravity compensation torque in some of the above embodiments. The balance of at least one driving torque of multiple joints with at least one resistance torque and at least one compensation torque of multiple joints includes the balance of at least one driving torque of multiple joints with the first resistance torque, the second resistance torque and the gravity compensation torque of multiple joints. For example, the driving torque of multiple joints is equal to the sum of the first resistance torque and the second resistance torque minus the gravity compensation torque. At least one driving torque is a function of the first resistance parameter vector, the second resistance parameter vector and the compensation parameter vector. Based on the calibrated subset of joint parameters and the dynamic model, the calibrated values of the dynamic parameters of the robotic arm can be calculated by minimizing the difference between at least one driving torque of multiple joints and the calibrated subset of driving torques. The dynamic parameters include the first resistance parameter vector, the second resistance parameter vector and the compensation parameter vector.

[0171] In some embodiments, the balance of at least one driving torque of multiple joints with at least one resistance torque and / or at least one compensation torque, and at least one external force equivalent torque of multiple joints, the external force equivalent torque balance can be obtained in advance. The dynamic parameters include the resistance parameter vector and / or the compensation parameter vector. At least one resistance torque is a function of the resistance parameter vector, and at least one compensation torque is a function of the compensation parameter vector.

[0172] In some embodiments, the external force acting on the robotic arm (for example, the operating external force applied by the operator to the robotic arm) can be obtained. Based on the predetermined mapping relationship, the external force equivalent torque at multiple joints can be obtained.

[0173] In one embodiment, an external force acting on the robotic arm can be obtained based on a force sensor. For example, for the multi-degree-of-freedom robotic arm 310 as shown in Figure 3 , a force sensor can be provided on the handle 330 of the multi-degree-of-freedom robotic arm 310. The external force acting on the handle 330 of the multi-degree-of-freedom robotic arm 310 can be collected through the force sensor. Furthermore, based on the mapping relationship between the handle 330 of the multi-degree-of-freedom robotic arm 310 and multiple joints (3111 - 3117), the equivalent external torque at multiple joints can be obtained.

[0174] Those skilled in the art can understand that the dynamic parameter calibration method of the robotic arm in some embodiments of the present disclosure is usually carried out under the condition of no operating external force. Therefore, the equivalent external torque can usually be directly regarded as 0, and at least one driving torque of multiple joints can be regarded as balanced with at least one resistance torque and / or at least one compensation torque of multiple joints. The dynamic parameters include a resistance parameter vector and / or a compensation parameter vector. At least one resistance torque is a function of the resistance parameter vector, and at least one compensation torque is a function of the compensation parameter vector. The calibration value of the dynamic parameters of the robotic arm can be calculated based on the joint parameter calibration subset and the dynamic model by minimizing the difference between at least one driving torque of multiple joints and the driving torque calibration subset. The dynamic parameters include a resistance parameter vector and / or a compensation parameter vector. This has been described in detail in the above-mentioned some embodiments and will not be elaborated here.

[0175] In some embodiments, the robotic arm after the dynamic parameter calibration can be tested. The multiple joints of the robotic arm can be controlled to move along a predetermined trajectory. The control method for controlling the multiple joints of the robotic arm to move along the predetermined trajectory is similar to the control method for controlling the multiple joints to move along the excitation trajectory in the above-mentioned some embodiments and will not be elaborated here. During the process of the multiple joints of the robotic arm moving along the predetermined trajectory, the actual values of the joint parameters and the actual values of the driving torque of the multiple joints of the robotic arm can be obtained in a similar manner as in the above-mentioned some embodiments. The predicted value of the driving torque of multiple joints can be calculated based on the actual values of the joint parameters of multiple joints and the dynamic model with calibrated dynamic parameters (for example, the dynamic model shown in formula (19)). Figures 7A - 7C The schematic diagram showing the effect of predicting the driving torque of multiple joints of the robotic arm using the dynamic model with calibrated dynamic parameters according to some embodiments of the present disclosure is shown. Among them, the solid line is the actual value of the driving torque of the joint, and the dotted line is the predicted value of the driving torque of the joint predicted by the dynamic model with calibrated dynamic parameters. It can be seen that the predicted value of the driving torque of the joint predicted by the dynamic model with calibrated dynamic parameters is basically consistent with the actual value of the driving torque of the joint, and the dynamic model and the calibrated dynamic parameters have high accuracy.

[0176] In some embodiments, the robotic arm can be controlled based on a kinetic model with calibrated kinetic parameters. In some embodiments, the current values of the joint parameters (e.g., joint angles, joint angular velocities, joint angular accelerations) of multiple joints of the robotic arm can be obtained. Based on the current values of the joint parameters of the multiple joints and the kinetic model with calibrated kinetic parameters (e.g., the kinetic model shown in formula (19)), the joint torques of multiple joints of the robotic arm (including some or all of at least one resistance torque, at least one compensation torque, and at least one equivalent external force torque) can be calculated, and the driving torques of the joint driving devices of the multiple joints can be calculated based on the joint torques to obtain control signals for the joints. The joint motions are controlled based on the control signals, and the driving torques are output through the joint driving devices to compensate for the joint torques of the multiple joints, so that when the operator operates the robotic arm, an operation effect of approximately "zero force" (e.g., dragging) is achieved, the fatigue of the operation is reduced, and the operation experience is improved.

[0177] In some embodiments of the present disclosure, the present disclosure also provides a computer device, which includes a memory and a processor. The memory can be used to store at least one instruction, and the processor is coupled to the memory and is used to execute at least one instruction to execute some or all of the steps in the method of the present disclosure, such as Figure 1 some or all of the steps in method 100 disclosed in Figure 6 some or all of the steps in method 600 disclosed in

[0178] Figure 8 FIG. shows a schematic block diagram of a computer device 800 according to some embodiments of the present disclosure. Refer to Figure 8 As shown in FIG., the computer device 800 may include a central processing unit (CPU) 801, a system memory 804 including a random access memory (RAM) 802 and a read-only memory (ROM) 803, and a system bus 805 connecting various components. The computer device 800 may also include an input / output system 806 and a mass storage device 807 for storing an operating system 813, application programs 814, and other program modules 815. The input / output system mainly includes an input / output controller 806 composed of a display 808 and an input device 809.

[0179] The mass storage device 807 is connected to the central processing unit 801 through a mass storage controller (not shown) connected to the system bus 805. The mass storage device 807 or the computer-readable medium provides non-volatile storage for the computer device. The mass storage device 807 may include a computer-readable medium (not shown) such as a hard disk or a compact disc read-only memory (CD-ROM) drive.

[0180] Without loss of generality, computer-readable media can include computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes RAM, ROM, flash memory or other solid-state storage technologies, CD-ROM, or other optical storage, magnetic tape cartridges, tapes, disk storage, or other magnetic storage devices. Of course, those skilled in the art will know that computer storage media is not limited to the above several types. The above-mentioned system memory and mass storage devices can be collectively referred to as memory.

[0181] The computer device 800 can be connected to the network 812 through the network interface unit 811 connected to the system bus 805. The system memory 804 or the mass storage device 807 is also used to store one or more instructions. The central processing unit 801 implements all or part of the steps of the methods in some embodiments of the present disclosure by executing the one or more instructions, such as Figure 1 some or all of the steps in the method 100 disclosed in Figure 6 or some or all of the steps in the method 600 disclosed in

[0182] In some embodiments of the present disclosure, the present disclosure also provides a computer-readable storage medium storing at least one instruction, and the at least one instruction is executed by a processor to cause the computer to execute some or all of the steps of the methods in some embodiments of the present disclosure, such as Figure 1 some or all of the steps in the method 100 disclosed in Figure 6 or some or all of the steps in the method 600 disclosed in. Examples of computer-readable storage media include memories of computer programs (instructions), such as read-only memory (ROM), random access memory (RAM), compact disc read-only memory (CD-ROM), magnetic tapes, floppy disks, and optical data storage devices, etc.

[0183] Note that the above are only exemplary embodiments of the present disclosure and the technical principles applied. Those skilled in the art should understand that the present disclosure is not limited to the specific embodiments here, and various obvious changes, re-adjustments and substitutions can be made by those skilled in the art without departing from the protection scope of the present disclosure. Therefore, although the present disclosure has been described in more detail through the above embodiments, the present disclosure is not limited to the above embodiments only. Without departing from the concept of the present disclosure, more other equivalent embodiments can be included, and the scope of the present disclosure is determined by the scope of the appended claims.

Claims

1. A method for calibrating the dynamic parameters of a robotic arm, characterized in that, The robotic arm includes a plurality of arm bodies and a plurality of joints connecting the plurality of arm bodies, and the method includes: Controlling the plurality of joints to move along an excitation trajectory; Obtaining a calibration data set during the movement of the plurality of joints along the excitation trajectory; and Calculating calibration values of the dynamic parameters of the robotic arm based on the calibration data set and the dynamic model of the robotic arm; Wherein, the dynamic model includes at least one of the following: the dynamic drive relationship of the linkage mechanism in the robotic arm, the gravity offset of the robotic arm, or the compensation of the gravity compensation mechanism of the robotic arm.

2. The method according to claim 1, wherein The dynamic model includes the balance of one or more of at least one driving torque and at least one resistance torque, at least one compensation torque, and at least one external force equivalent torque of the plurality of joints.

3. The method according to claim 1, characterized in that The excitation trajectory includes an excitation trajectory based on a Fourier series.

4. The method according to claim 3, wherein The excitation trajectory is obtained by the following method: taking the minimization of the condition number of the driving torque regression matrix as the goal and the satisfaction of the corresponding threshold range by at least some of the joint parameters of the plurality of joints as the constraint, and calculating to obtain the excitation trajectory; Wherein, the driving torque regression matrix is the regression matrix of the driving torque output by the joint driving device in the dynamic model with respect to the dynamic parameters.

5. The method according to claim 2, wherein The linkage mechanism includes at least one active joint and at least one passive joint, the at least one active joint is driven by a joint driving device, and the at least one active joint is linked with the at least one passive joint; The dynamic drive relationship of the linkage mechanism includes the dynamic drive relationship between the at least one active joint and the at least one passive joint.

6. The method according to claim 5, wherein The linkage mechanism includes a parallelogram mechanism, and the dynamic drive relationship between the at least one active joint and the at least one passive joint includes at least one of the following: The angle of the at least one active joint has the same absolute value and opposite direction as the angle of the at least one passive joint; The angular velocity of the at least one active joint has the same absolute value and opposite direction as the angular velocity of the at least one passive joint; The angular acceleration of the at least one active joint has the same absolute value and opposite direction as the angular acceleration of the at least one passive joint; The balance relationship of the joint torques of the at least one active joint and the at least one passive joint includes the balance of the driving torque of at least one active joint and one or more of at least one resistance torque, at least one compensation torque, and at least one external force equivalent torque of at least one active joint and the at least one passive joint.

7. The method according to claim 1, characterized in that Controlling the plurality of joints to move along an excitation trajectory includes: Based on the excitation trajectory, obtaining target values of the joint parameters of the plurality of joints; Obtaining actual values of the joint parameters of the plurality of joints; and Based on the target values of the joint parameters and the actual values of the joint parameters, determining drive signals for the plurality of joints.

8. The method according to claim 7, wherein It further includes: Based on the drive signals, controlling the joint driving devices of the plurality of joints to drive the plurality of joints.

9. The method according to claim 8, wherein It further includes: Under the condition that there is no operating external force on the robotic arm, controlling the joint driving devices in the plurality of joints to move to drive the plurality of joints to move along the excitation trajectory.

10. The method according to claim 7, characterized in that It further includes: Iteratively determine the drive signals of the plurality of joints at a predetermined period to achieve tracking of the excitation trajectory through a plurality of motion control loops.

11. The method according to claim 2, wherein Obtaining a calibration data set includes: During the movement of the plurality of joints along the excitation trajectory, obtain the actual values of the joint parameters of the plurality of joints and the actual values of the corresponding at least one driving torque at a predetermined period to form the calibration data set, where the calibration data set includes a joint parameter calibration subset and a driving torque calibration subset.

12. The method according to claim 11, wherein The joint parameters include joint angle, joint angular velocity, and joint angular acceleration.

13. The method according to claim 12, wherein It further includes: In each sampling cycle, Obtain the actual values of the joint angles of the plurality of joints; And Based on the actual values of the joint angles, calculate the actual values of the joint angular velocity and the joint angular acceleration.

14. The method according to claim 11, wherein Calculating the calibration values of the dynamic parameters of the robotic arm includes: Based on the joint parameter calibration subset and the dynamic model, calculate the calibration values of the dynamic parameters of the robotic arm by minimizing the difference between at least one driving torque of the plurality of joints and the driving torque calibration subset, where the at least one driving torque is a function of the dynamic parameters.

15. The method according to claim 14, wherein At least one driving torque of the plurality of joints is balanced with at least one resistance torque of the plurality of joints, the dynamic parameters include a resistance parameter vector, and the at least one resistance torque is a function of the resistance parameter vector.

16. The method according to claim 14, characterized in that At least one driving torque of the plurality of joints is balanced with at least one resistance torque and at least one compensation torque of the plurality of joints, the dynamic parameters include a resistance parameter vector and a compensation parameter vector, the at least one resistance torque is a function of the resistance parameter vector, and the at least one compensation torque is a function of the compensation parameter vector.

17. The method according to claim 15 or 16, characterized in that The at least one resistance torque includes a first resistance torque, the resistance parameter vector includes a first resistance parameter vector, the first resistance torque is a function of the first resistance parameter vector, the first resistance parameter vector includes a regression coefficient vector of the first resistance torque, and the regression coefficient vector is related to the structure of the robotic arm.

18. The method according to claim 17, wherein The at least one resistance torque further includes a second resistance torque of the plurality of joints caused by the gravity offset of the robotic arm, the resistance parameter vector further includes a second resistance parameter vector, and the second resistance torque is a function of the second resistance parameter vector.

19. The method according to claim 18, characterized in that, The robotic arm is mounted on a base, the gravity offset of the robotic arm includes the gravity offset caused by the uneven installation of the base, and the second resistance parameter vector includes an inclination angle vector of the base relative to the reference plane.

20. The method according to claim 19, wherein The plurality of joints include a first joint, and the robotic arm is connected to the base through the first joint; The reference plane is a horizontal plane, and the inclination angle vector is the angle vector between the plane perpendicular to the rotation axis of the first joint and the reference plane.

21. The method according to claim 16, wherein The at least one compensation torque includes the gravity compensation torque of the gravity compensation mechanism of the robotic arm for the plurality of joints, and the gravity compensation torque is a function of the compensation parameter vector.

22. The method according to claim 21, characterized in that, The gravity compensation mechanism includes an elastic balance mechanism, the elastic balance mechanism includes an elastic member, and the compensation parameter vector includes the elastic parameter of the elastic member.

23. The method according to claim 22, wherein The elastic member includes a spring, and the elastic parameter includes at least one of a spring stiffness coefficient, a spring original length, and a spring damping coefficient.

24. A robot system, characterized in that, Comprising: At least one robotic arm, the at least one robotic arm including a plurality of arm bodies and a plurality of joints connecting the plurality of arm bodies; And A control device, connected to the at least one robotic arm, for performing the method according to any one of claims 1-23.

25. A computer device, characterized in that, The computer device includes: A memory for storing at least one instruction; and A processor, coupled to the memory and for executing the at least one instruction to perform the method according to any one of claims 1-23.

26. A computer-readable storage medium for storing at least one instruction, characterized in that, When the at least one instruction is executed by the computer device, the computer is caused to implement the method according to any one of 1-23.