Control method of mechanical arm, robot system, computer equipment and storage medium

By obtaining joint parameters and calculating control signals, combined with the dynamic model of the robotic arm, the problem of large operation resistance of the robotic arm in the surgical robot system is solved, achieving a more comfortable and accurate operating experience.

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

Patent Information

Application Number
CN202410077724.X
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 robot arm of the main operator of the surgical robot system, the operating resistance greatly affects the operator's operating experience, resulting in operator fatigue and discomfort.

Method used

By obtaining the joint parameters of multiple joints, forming a joint parameter set, and calculating the control signal based on the dynamic model of the robot arm, including the dynamic driving relationship of the linkage mechanism and the compensation of the gravity compensation mechanism, to reduce operating resistance and achieve an operating effect of approximately 'zero force' at the end.

Benefits of technology

It improves the operator's operating experience, reduces the resistance during operation of the robotic arm, and improves the comfort and accuracy of operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120382474A_ABST
    Figure CN120382474A_ABST
Patent Text Reader

Abstract

The invention relates to the field of robot control, and discloses a control method of a mechanical arm, 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 control method of the mechanical arm comprises the steps that joint parameters of the joints are obtained to form a joint parameter set; based on the joint parameter set and a dynamical model of the mechanical arm, control signals for the multiple joints are calculated, and the dynamical model comprises at least one of the following items: a dynamical 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; and transmitting a control signal to the plurality of joints.
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 particularly to a control method for a robotic arm, a robot system, a computer device, and a storage medium. Background Art

[0002] For a robot system, especially a surgical robot system, it generally 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 operation experience of the master manipulator is particularly important. 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 in the robotic arm, which will greatly affect the operation experience of the operator. Summary of the Invention

[0003] In some embodiments, the present disclosure provides a control method for a robotic arm. The robotic arm includes a plurality of arm bodies and a plurality of joints connecting the plurality of arm bodies. The control method includes: obtaining joint parameters of the plurality of joints to form a set of joint parameters; calculating control signals for the plurality of joints based on the set of joint parameters and the dynamic model of the robotic arm, where 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; and sending the control signals to the plurality of joints.

[0004] In some embodiments, the present disclosure provides a robot system, including: at least one robotic arm, where 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.

[0005] In some embodiments, the present disclosure provides a computer device, including: 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.

[0006] In some embodiments, the present disclosure provides a computer-readable storage medium for storing at least one instruction, where 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. Brief Description of the Drawings

[0007] 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 based on the content of the embodiments of the present disclosure and these drawings.

[0008] Figure 1 A flowchart showing a control method for a robotic arm according to some embodiments of the present disclosure;

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

[0010] Figure 3 A schematic diagram showing the main operator of some embodiments of the present disclosure;

[0011] 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;

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

[0013] Figure 6 A flowchart showing a method for calculating control signals for multiple joints according to some embodiments of the present disclosure;

[0014] Figure 7 A flowchart showing a method for calculating control signals for multiple joints according to some embodiments of the present disclosure;

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

[0016] To make the technical problems solved by the present disclosure, the technical solutions adopted, and the achieved technical effects 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.

[0017] In the description of the present disclosure, it should be noted that the orientation or positional relationship indicated by the terms "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. Therefore, it 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 "mounted", "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.

[0018] Some embodiments of the present disclosure provide a control method for a robotic arm. Figure 1 The flowchart of a control method 100 (hereinafter also simply referred to as "method 100") for a robotic arm according to some embodiments of the present disclosure is shown. Method 100 can be implemented or executed at least partially by hardware, software, or firmware. In some embodiments, method 100 can be executed at least partially 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.

[0019] 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, through a cable connection or a wireless connection. The control device 230 is used to execute the control method of the robotic arm in some embodiments of the present disclosure.

[0020] 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.).

[0021] 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 the operator (such as medical staff) 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 is described in detail below.

[0022] 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 multi-degree-of-freedom robotic arm 310, and the multi-degree-of-freedom robotic arm 310 includes a plurality of arm bodies (311 - 316) and a plurality of joints (3111 - 3117) connecting the plurality of arm bodies. Adjacent arm bodies are connected by joints. In some embodiments, the master manipulator 300 further includes a handle 330, and the handle 330 is disposed at the end of the arm body 316. During operation, the plurality of arm bodies are driven to move through the plurality of joints to adjust the configuration of the multi-degree-of-freedom robotic arm 310, so that the arm body 316 of the multi-degree-of-freedom robotic arm 310 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 slave operating device (such as a surgical tool or an imaging tool) to reach the corresponding pose.

[0023] In some embodiments, the joints of the multi-degree-of-freedom robotic arm 310 include coupled joints and uncoupled joints. The coupled joints may refer to the joints used to adjust the position and posture of the master manipulator. The uncoupled joints may refer to the joints that can only be used to adjust the position or posture of the master manipulator. In some embodiments, the joints of the multi-degree-of-freedom robotic arm 310 include position joints and attitude joints. The attitude joints serve as the orientation module of the master manipulator 300, and the attitude of the handle 330 can be determined through one or more attitude 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 attitude joints. The first joint 3111 and the second joint 3112 are coupled joints that can both adjust the position and the attitude of the master manipulator 300, and the fifth joint 3115, the sixth joint 3116, and the seventh joint 3117 are uncoupled attitude joints that can only adjust the attitude of the master manipulator 300.

[0024] 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 intersection 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 robotic arm control method 100 provided by the present disclosure can compensate for the robotic arm (such as, Figure 3When operating (e.g., dragging) the multi - degree - of - freedom robotic arm 310 shown, the operating resistance is achieved to realize an approximate "zero - force" operating effect at the end, improving the operator's operating experience.

[0025] Those skilled in the art can understand that the robotic arm control method 100 provided by the present disclosure can be applied to robotic arms not limited to the master manipulator of a robotic system, but also including any applicable robotic arm. The master manipulator of a robotic system is for an operator to perform master - slave teleoperation on the slave operating device of the robotic system.

[0026] Figure 1 The flowchart of the robotic arm control method 100 according to some embodiments of the present disclosure is shown.

[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 a plurality of arm bodies and a plurality of joints connecting the plurality of arm bodies.

[0028] Refer to Figure 1 , in step 101, joint parameters of a plurality of joints are obtained to form a joint parameter set.

[0029] In some embodiments, the joint parameters include joint angles, joint angular velocities, and joint angular accelerations. In the present disclosure, the joint parameter set refers to a set of joint parameter vectors of a plurality of joints. The joint parameter vector of each joint can include a plurality of joint parameters, for example, joint angles, joint angular velocities, and joint angular accelerations.

[0030] In some embodiments, joint sensors are arranged at a plurality of joints of the robotic arm for obtaining some or all of the joint parameters (e.g., joint angles, joint angular velocities, and joint angular accelerations) corresponding to the plurality of joints.

[0031] In some embodiments, the joint sensor includes an angle sensor for obtaining the joint angle θ i (i is the number of the joint). Obtaining the joint parameters of a plurality of joints can include obtaining the joint angles of a plurality of joints. For example, obtaining the joint angle θ1 of the first joint, the joint angle θ2 of the second joint, the joint angle θ3 of the third joint, the joint angle θ4 of the fourth joint, the joint angle θ5 of the fifth joint, the joint angle θ6 of the sixth joint, and the joint angle θ7 of the seventh joint.

[0032] In some embodiments, obtaining the joint parameters of a plurality of joints can further include: calculating the joint angular velocities and joint angular accelerations of a plurality of joints based on the joint angles. In some embodiments, the joint angle θ i,k sequence (k represents the sampling cycle number) can be obtained, and the joint angular velocity and joint angular acceleration can be determined by the following formulas (1) and (2):

[0033]

[0034]

[0035] Among them, is the joint angular velocity, is the joint angular acceleration.

[0036] In some embodiments, the robotic arm can be a multi-degree-of-freedom robotic arm 310 as shown in Figure 3 . The operating resistance of the robotic arm mainly comes from the first joint 3111, the second joint 3112, and the third joint 3133. The first three arm bodies (the first arm body 311, the second arm body 312, and the third arm body 313) are respectively regarded as the first link, the second link, and the third link connected in sequence through joints. The overall three-axis intersection mechanism of the last three arm bodies (the fourth arm body 314, the fifth arm body 315, and the sixth arm body 316) and the last three joints (the fifth joint 3115, the sixth joint 3115, and the seventh joint 3117) is regarded as the fourth link. 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 in can be regarded as a four-link mechanism. In some embodiments, obtaining the joint parameters of multiple joints can include obtaining the joint parameters of the first joint, the second joint, the third joint, and the fourth joint. In some embodiments, the joint angle θ1 of the first joint 3111, the joint angle θ2 of the second joint 3112, and the joint angle θ3 of the third joint 3113 can be obtained. In some embodiments, based on the joint angle θ1 of the first joint 3111, the joint angle θ2 of the second joint 3112, the joint angle θ3 of the third joint 3113, and the above formula (1), the joint angular velocity of the first joint 3111 the joint angular velocity of the second joint 3112 the joint angular velocity of the third joint 3113 In some embodiments, based on the joint angle θ1 of the first joint 3111, the joint angle θ2 of the second joint 3112, the joint angle θ3 of the third joint 3113, and the above formula (2), the joint angular acceleration of the first joint 3111 the joint angular acceleration of the second joint 3112 the joint angular acceleration of the third joint 3113 In some embodiments, such as Figure 3In the multi-degree-of-freedom robotic arm 310 shown, the third joint 3113 is an active joint, and the fourth joint 3114 is a passive joint of the third joint 3113. The joint angle, joint angular velocity, and joint angular acceleration of the passive joint can be obtained based on the joint angle, joint angular velocity, and joint angular acceleration of the active joint. In some embodiments, the joint angle of the passive joint has the same absolute value as the joint angle of the active joint but in the opposite direction. The joint angle of the driven joint can be obtained based on the joint angle of the active joint. For example, as Figure 3 shown, the joint angle θ4 of the fourth joint 3114 in Figure 3 is θ4 = -θ3. In some embodiments, the joint angular velocity of the passive joint has the same absolute value as the joint angular velocity of the active joint but in the opposite direction. The joint angular velocity of the driven joint can be obtained based on the joint angular velocity of the active joint. For example, as shown, the joint angular velocity of the fourth joint 3114 in Figure 3 In some embodiments, the joint angular acceleration of the passive joint has the same absolute value as the joint angular acceleration of the active joint but in the opposite direction. The joint angular acceleration of the driven joint can be obtained based on the joint angular acceleration of the active joint. For example, as

[0037] Continuing to refer to Figure 1 , in step 103, based on the joint parameter set and the dynamic model of the robotic arm, control signals for multiple joints are calculated. 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.

[0038] In some embodiments, the dynamic model of the robotic arm includes that at least one driving torque of multiple joints is 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.

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

[0040] 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, and the first resistance torque may 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 the multiple joints (for example, joint angle, joint angular velocity, joint angular acceleration). In some embodiments, the first resistance torque can be calculated based on a set of joint parameters, which will be described in detail in some of the following embodiments.

[0041] 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 is the included 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 may be a horizontal plane (for example, the ground, which will be taken as an example for illustration hereinafter).

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

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

[0044] 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, the axis is determined based on the axis and the axis according to the right-hand system definition.

[0045] 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, the axis is determined based on the axis and the axis according to the right-hand system definition.

[0046] The fourth joint coordinate system {4}: The axis extends 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 is determined according to the right - hand system definition.

[0047] 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.

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

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

[0050] Figure 3 In the multi - degree - of - freedom robotic arm 310 shown in, the first joint 3111 is connected to the base 340. 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. 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.

[0051] In some embodiments, the Figure 3 plane of the ground coordinate system {W} shown in can be used as a reference plane. 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 θ of the plane perpendicular to the first rotation axis of the first joint (the plane of the master manipulator base coordinate system {0}) rotating 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 (the plane) of the base coordinate system {0} of the master manipulator around the reference plane axis by an angle θ y . The tilt angle vector of the base relative to the reference plane is [θ x , θ y T .

[0052] In some embodiments, 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 . In some embodiments, the second resistance torque has a functional relationship with the joint parameters of multiple joints (e.g., joint angle, joint angular velocity, joint angular acceleration). In some embodiments, the second resistance torque can be calculated based on the joint parameter set and the base unevenness parameter, which will be described in detail in some of the following embodiments.

[0053] 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 the point J1 as Figure 4 shown, and the hinge point of the second rod 420 and the base 440 is the point J2 as Figure 4 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 connecting line of the hinge points of the base 440 with the first rod 410 and the second rod 420 (see the connecting line indicated by 401 as Figure 4 shown), the first rod 410, the second rod 420, and the third rod 430 form a parallelogram mechanism.

[0054] ​​In some embodiments, the line 401 connecting 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 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 line 401 is perpendicular to the ground. When the 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 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.

[0055] 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.

[0056] 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 in Figure 4 and the second rod 420 rotates in the direction indicated by the arrow 403 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 whose two ends are respectively connected to the guide block 460 and the free end N of the sliding rod 470 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 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 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 at the proximal end of the balanceable arm 400, which is beneficial to achieving the effect of "arbitrary stop" 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.

[0057] 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). In some embodiments, the gravity compensation mechanism can include an elastic balance mechanism, and the elastic balance mechanism includes an elastic member. The elastic parameters of the elastic member can be obtained, and based on the joint parameter set and the elastic parameters, the gravity compensation torque is calculated. The specific content will be described in detail in the following some embodiments.

[0058] 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, 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 drive 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 has 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

[0059] In some embodiments, 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. For example, as Figure 3 shown in the multi-degree-of-freedom robotic arm 310, the dynamic drive relationship of the linkage mechanism includes the dynamic drive relationship between the third joint 3113 and the fourth joint 3114.

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

[0061] 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.

[0062] 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:

[0063] 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:

[0064] IV. The torque balance relationship of at least one active joint and at least one passive joint, including that the driving torque of at least one active joint is 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 of at least one active joint and at least one passive joint.

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

[0066] In some embodiments, a joint driving device is provided in at least one active joint, and the torque balance relationship of at least one active joint and at least one passive joint can be the balance relationship between the driving torque of at least one active joint, the joint torque of at least one active joint, and the joint torque of at least one passive joint. For example, in the multi-degree-of-freedom robotic arm 310 shown in Figure 3 , 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 (3):

[0067] τ 3,motor = τ3 - τ4 (3)

[0068] 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 a 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 connecting rods, 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, iterate outward from the distal joint towards the proximal joint to calculate the angular velocity, angular acceleration, linear acceleration, linear acceleration of the center of mass, etc. of each connecting rod, and then calculate the inertial force and inertial moment of each connecting rod; Then, iterate inward from the proximal joint towards the distal joint to calculate the internal force of each connecting rod, and then obtain the joint torque.

[0069] 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.

[0070] 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-bar linkage 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-bar linkage mechanism is constructed.

[0071] 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 a passive joint of the third joint 3113, and its joint angle satisfies θ4 = -θ3.

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

[0073] 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[a3']]> 0 <![CDATA[θ4 = -θ3]]>

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

[0075] 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 some of the above embodiments and will not be elaborated here.

[0076] 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

[0077]

[0078] In some embodiments, as shown in Figure 3 , the direction of gravity is the direction. Therefore, the direction of gravity relative to the base coordinate system can be expressed by the following formula (5):

[0079]

[0080] 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.

[0081] In some embodiments, starting from the distal link, using the kinematic formula, outward iteration can be performed to obtain the angular velocity 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 of each link in the four-link mechanism of the multi-degree-of-freedom robotic arm 310, which can be expressed by the following formulas (6)-(11) respectively:

[0082]

[0083]

[0084] ​

[0085]

[0086]

[0087]

[0088] Among them, 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.

[0089] The initial conditions for outward recursion based on the above formulas (6)-(11) can be expressed as: 0 ω0 = [0 0 0] T , Among them, [g x g y g z T = g T , and g can be obtained based on formula (5).

[0090] In some embodiments, based on the inertial force i+1 F i+1 and inertial moment i+1 N i+1 of the link obtained by outward iteration, starting from the proximal link, according to the moment and force balance equations, inward iteration can be performed to obtain the forces i f i , moments i n i and joint moment τ i (the component of the moment i n i in the axis direction) can be expressed respectively by the following formulas (12)-(14):

[0091]

[0092]

[0093]

[0094] ​The initial conditions for the inward recursion based on the above formulas (11)-(13) can be expressed as: 4 f4 = [0 0 0] T , 4 n4 = [00 0] T .

[0095] In some embodiments, the rotation matrix and the translation matrix i P i+1 can be obtained based on the DH parameters of multiple joints of the robotic arm. For example, Figure 3 for the multi-degree-of-freedom robotic arm 300 shown in and the translation matrix i P i+1 :

[0096]

[0097]

[0098]

[0099] 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 embodiments and will not be elaborated here. In some embodiments, such as Figure 3 shown in the multi-degree-of-freedom robotic arm 310, the third joint 3113 is an active joint, 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 angles θ3 of the third joint 3113 and θ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 but opposite directions, and 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 but opposite directions, and can be expressed as: In some embodiments, the joint angular velocity of the fourth joint 3114 can be obtained based on the joint angular velocity joint angular acceleration of the third joint 3113 joint angular acceleration In some embodiments, based on the obtained joint angular velocity of the fourth joint 3114 joint angular acceleration it can be used for the outward iteration of formulas (6)-(11) and the inward iteration of formulas (12)-(14) to obtain the dynamic model of the robotic arm.

[0100] 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, as Figure 4 shown in the elastic balance mechanism, which has been described in detail in some of the above 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 the schematic diagram of the gravity compensation principle of the arm body 400 including the gravity compensation mechanism according to the present disclosure Figure 4 . When the arm body 400 in Figure 4 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 connected to the guide block 460 and the free end N of the sliding rod 470 at both ends is squeezed, and the elastic member pressure can be expressed as Figure 5 the f shown in s , f s is along the length direction of the sliding rod 470 obliquely downward to the left. Due to the elastic action of the elastic member, the elastic member generates a restoring force F along the length direction of the sliding rod 470 obliquely upward to the right, and F = f s .

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

[0102]

[0103] where k sis the theoretical stiffness coefficient of the spring, b vs is the damping coefficient of the spring, l AC is the distance between the hinged end A and the hinge point C.

[0104] In some embodiments, there is a calibration error in the theoretical stiffness coefficient of the spring, 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 (19):

[0105]

[0106] where, Δk s is the spring stiffness coefficient error, Δ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.

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

[0108]

[0109] where, l AB is the distance between the hinged end A and the hinge point B, 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.

[0110] 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 a multi-degree-of-freedom robotic arm 300 such as Figure 3 shown, based on the above formulas (6)-(14) and formula (20), 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 (21):

[0111]

[0112] 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.

[0113] In the above formula (21), β r , τ tilt , τ e can be expressed as the following formulas (22)-(27) respectively:

[0114]

[0115] τ tilt =[τ 1,tilt τ 2,tilt τ 3,tilt T (23)

[0116] τ spring =[0 0 τ 3s T (24)

[0117]

[0118]

[0119] ​​

[0120] Among them, I iyy is the moment of inertia in the direction of the i-th joint, I 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 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 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 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 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 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 frictional force of the i-th joint, l ix is the angular momentum in the direction of the i-th joint, l iy is the angular momentum in the direction of the i-th joint, l iz is the angular momentum in the direction of the i-th joint, i = 1, 2, 3, 4.

[0121] 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, or 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 of 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.

[0122] Continuing back to Figure 1 , in step 103, based on the joint parameter set and the dynamic model of the robotic arm, control signals for multiple joints are calculated, and 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.

[0123] Figure 6FIG. 600 (hereinafter also referred to as "Method 600") is a flowchart showing a method for calculating control signals for multiple joints according to some embodiments of the present disclosure. Method 600 can be implemented or executed at least in part by hardware, software, or firmware. In some embodiments, Method 600 can be executed at least in part 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 special-purpose processor (e.g., Figure 2 the control device 230 shown). For example, the control device of the 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.

[0124] Referring to Figure 6 , in step 601, at least one resistance torque of the multiple joints is calculated based on the joint parameter set and the dynamic model.

[0125] In some embodiments, the at least one resistance torque includes a first resistance torque, and the first resistance torque is a function of the joint parameters of the multiple joints.

[0126] In some embodiments, calculating at least one resistance torque of the multiple joints based on the joint parameter set and the dynamic model can include: calculating a first resistance torque regression matrix based on the joint parameter set; and calculating the first resistance torque based on the first resistance torque regression matrix and the corresponding regression coefficient vector.

[0127] In some embodiments, the first resistance torque can be expressed as the product of the first resistance torque regression matrix and the corresponding regression coefficient vector.

[0128] Exemplarily, the first resistance torque of the multi-degree-of-freedom robotic arm 300 as shown in Figure 3 can be expressed as in formula (21) where is the first resistance torque regression matrix, and the first resistance torque regression matrix is a function of the joint parameters (joint angle θ, joint angular velocity joint angular acceleration ), and β r is the regression coefficient vector.

[0129] 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 mounting of the base, which has been described in detail in the above embodiments and will not be elaborated here. In some embodiments, calculating at least one resistance torque of multiple joints based on the joint parameter set and the dynamic model may include: obtaining the base unevenness parameter, where the base unevenness parameter includes the tilt angle vector of the base relative to the reference plane; and calculating the second resistance torque based on the joint parameter set and the base unevenness parameter.

[0130] In some embodiments, 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 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 , which has been described in detail in the above embodiments and will not be elaborated here.

[0131] Exemplarily, as Figure 3 shown, the second resistance torque of the multi-degree-of-freedom robotic arm 300 can be expressed as τ tilt in formula (21), and τ tilt can be obtained through formulas (23), (25)-(27).

[0132] Continuing to refer to Figure 6 , in step 603, at least one driving torque of multiple joints is calculated based on at least one resistance torque.

[0133] In some embodiments, at least one resistance torque may include the first resistance torque or the second resistance torque in the above embodiments, and the driving torque of multiple joints can be obtained based on the first resistance torque or the second resistance torque. For example, the driving torque of each joint is equal to the first resistance torque or the second resistance torque of the corresponding joint.

[0134] In some embodiments, at least one resistance torque may include the first resistance torque and the second resistance torque in the above embodiments, and the driving torque of multiple joints can be obtained based on the first resistance torque and the second resistance torque. For example, the driving torque of each joint is equal to the sum of the first resistance torque and the second resistance torque of the corresponding joint.

[0135] Continuing to refer to Figure 6 ​, in step 605, based on at least one driving torque, control signals for a plurality of joints are determined. In some embodiments, the plurality of joints of the robotic arm are provided with joint driving devices, and at least one driving torque corresponding to each joint can be used as the control signal for the joint, so as to send the control signal to the joint driving device to control the movement of the joint driving device.

[0136] Figure 7 FIG. 700 (hereinafter also simply referred to as "method 700") shows a flowchart of a method for calculating control signals for a plurality of joints according to some embodiments of the present disclosure. Method 700 can be implemented or executed at least in part by hardware, software, or firmware. In some embodiments, method 700 can be executed at least in part by a robotic system (e.g., Figure 2 the robotic system 200 shown). In some embodiments, method 700 can be implemented as computer-readable instructions. These instructions can be read and executed by a general-purpose processor or a special-purpose processor (e.g., Figure 2 the control device 230 shown). For example, the control device of the robotic system (e.g., Figure 2 the control device 230 shown) can include a processor configured to execute method 700. In some embodiments, these instructions can be stored on a computer-readable medium.

[0137] Refer to Figure 7 , in step 701, based on the joint parameter set and the dynamic model, at least one resistance torque of the plurality of joints is calculated. In some embodiments, at least one resistance torque of the plurality of joints (e.g., the first resistance torque and / or the second resistance torque) can be obtained by a method similar to some of the above embodiments.

[0138] Continue to refer to Figure 7 , in step 703, based on the joint parameter set and the dynamic model, at least one compensation torque of the plurality of joints is calculated.

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

[0140] In some embodiments, the gravity compensation mechanism can include an elastic balance mechanism, and the elastic balance mechanism includes an elastic member. Calculating at least one compensation torque of the plurality of joints based on the joint parameter set and the dynamic model includes: obtaining the elastic parameters of the elastic member; and calculating the gravity compensation torque based on the joint parameters and the elastic parameters. In some embodiments, the elastic member includes a spring, and the elastic parameters include at least one of the spring stiffness coefficient, the spring original length, and the spring damping coefficient.

[0141] Exemplarily, as Figure 3The gravity compensation torque of the multi-degree-of-freedom robotic arm 300 shown can be expressed as τ in Equation (21). spring , τ spring can be obtained through Equation (24) and Equation (20).

[0142] Continuing to refer to Figure 7 , in step 705, based on at least one resistance torque and at least one compensation torque, at least one driving torque of multiple joints is calculated.

[0143] In some embodiments, at least one resistance torque may include the first resistance torque or the second resistance torque in some of the above embodiments, and at least one compensation torque may include the gravity compensation torque in some of the above embodiments. The driving torque of multiple joints can be calculated based on the first resistance torque or the second resistance torque and the gravity compensation torque. For example, the driving torque of each joint is equal to the first resistance torque of the corresponding joint minus the gravity compensation torque, or the driving torque of each joint is equal to the second resistance torque of the corresponding joint minus the gravity compensation torque.

[0144] In some embodiments, at least one resistance torque may include the first resistance torque and the second resistance torque in some of the above embodiments, and at least one compensation torque may include the gravity compensation torque in some of the above embodiments. The driving torque of multiple joints can be calculated based on the first resistance torque, the second resistance torque, and the gravity compensation torque. For example, the driving torque of each joint is equal to the sum of the first resistance torque and the second resistance torque of the corresponding joint minus the gravity compensation torque.

[0145] Continuing to refer to Figure 7 , in step 707, based on at least one driving torque, control signals for multiple joints are determined. Similar to step 603 in some of the above embodiments, in some embodiments, the multiple joints of the robotic arm are provided with joint driving devices, and at least one driving torque corresponding to each joint can be used as the control signal of the joint to send the control signal to the joint driving device to control the movement of the joint driving device.

[0146] In some embodiments, calculating the control signals for multiple joints based on the joint parameter set and the dynamic model of the robotic arm may further include: obtaining at least one equivalent external force torque of multiple joints. In some embodiments, an external force acting on the robotic arm (for example, an operating external force applied by an operator to the robotic arm) can be obtained, and based on a predetermined mapping relationship, the equivalent external force torque of the external force at multiple joints can be obtained.

[0147] In one embodiment, an external force acting on the robotic arm can be obtained based on a force sensor. For example, as Figure 3The shown multi-degree-of-freedom robotic arm 310 may be provided with a force sensor 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 force moment at multiple joints can be obtained.

[0148] In some embodiments, calculating the control signals for multiple joints based on the joint parameter set and the dynamic model of the robotic arm may further include calculating at least one driving moment for multiple joints based on at least one resistance moment and at least one equivalent external force moment. For example, the driving moment of each joint is equal to at least one resistance moment of the corresponding joint minus at least one equivalent external force moment.

[0149] In some embodiments, calculating the control signals for multiple joints based on the joint parameter set and the dynamic model of the robotic arm may further include calculating at least one driving moment for multiple joints based on at least one resistance moment, at least one compensation moment, and at least one equivalent external force moment. For example, the driving moment of each joint is equal to at least one resistance moment of the corresponding joint minus at least one compensation moment and at least one equivalent external force moment.

[0150] Continue to refer to Figure 1 , in step 105, control signals are sent to multiple joints. In some embodiments, the multiple joints of the robotic arm are provided with joint driving devices. At least one driving moment corresponding to each joint can be used as the control signal of the joint, and the control signal is sent to the joint driving device to control the movement of the joint driving device.

[0151] In some embodiments, method 100 further includes: controlling the movement of multiple joints based on the control signals.

[0152] In some embodiments, the multiple joints of the robotic arm include a first joint, a second joint, and a third joint. The first rotation axis of the first joint is parallel to the second rotation axis of the second joint, and the third rotation axis of the third joint is perpendicular to the first rotation axis and the second rotation axis. The first joint, the second joint, and the third joint are respectively driven by joint driving devices. In some embodiments, a method similar to some of the above embodiments can be used to calculate the driving moment of the joint driving device, and the movement of the joint driving device is controlled based on the driving moment to drive the first joint, the second joint, and the third joint to move. In some embodiments, the joint driving device includes a motor, and the rotation angle of the motor can be obtained based on the driving moment to control the rotation of the motor, thereby driving the joint to move.

[0153] In some embodiments of the present disclosure, based on the mechanical structure of the robotic arm, dynamic modeling of the robotic arm is performed to calculate 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), and based on the joint torques, the driving torques of the joint driving devices of multiple joints are calculated to obtain control signals for the joints. Based on the control signals, the joint movements are controlled, and the driving torques are output through the joint driving devices to compensate for the joint torques of multiple joints, so that when an operator operates the robotic arm, an operation effect of approximately "zero force" (such as dragging) is achieved, the fatigue of the operation is reduced, and the operation experience is improved.

[0154] 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 Figure 7 some or all of the steps in method 700 disclosed in

[0155] 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 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.

[0156] 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.

[0157] 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 system memory and mass storage devices can be collectively referred to as memory.

[0158] 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 some or all of the steps in the method 600 disclosed in Figure 7 some or all of the steps in the method 700 disclosed in

[0159] 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 a computer to execute some or all of the steps of the methods in some embodiments of the present disclosure, such as Figure 6 some or all of the steps in the method 600 disclosed in Figure 7 some or all of the steps in the method 700 disclosed in

[0160] 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 control method for 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. The control method includes: Obtaining joint parameters of the plurality of joints to form a set of joint parameters; Calculating control signals for the plurality of joints based on the set of joint parameters and the dynamic model of the robotic arm. 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; and Sending the control signals to the plurality of joints.

2. The method according to claim 1, characterized in that: The joint parameters include joint angle, joint angular velocity, and joint angular acceleration.

3. The method according to claim 2, wherein Obtaining the joint parameters of the plurality of joints includes: Obtaining the joint angles of the plurality of joints; and Calculating the joint angular velocity and joint angular acceleration of the plurality of joints based on the joint angles.

4. The method according to claim 1, characterized in that, The dynamic model includes that at least one driving torque of the plurality of joints is calculated based on one or more of at least one resistance torque, at least one compensation torque, and at least one equivalent external force torque.

5. The method according to claim 4, characterized in that 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, characterized in that The linkage mechanism includes a parallelogram mechanism. 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 but 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 but 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 but opposite direction as the angular acceleration of the at least one passive joint; The torque balance relationship between the at least one active joint and the at least one passive joint includes that the driving torque of the at least one active joint is calculated based on one or more of at least one resistance torque, at least one compensation torque, and at least one equivalent external force torque of the at least one active joint and the at least one passive joint.

7. The method according to claim 4, characterized in that, Calculating the control signals for the plurality of joints based on the set of joint parameters and the dynamic model of the robotic arm includes: Calculating at least one resistance torque of the plurality of joints based on the set of joint parameters and the dynamic model; Calculating at least one driving torque of the plurality of joints based on the at least one resistance torque; and Determining the control signals for the plurality of joints based on the at least one driving torque.

8. The method according to claim 7, characterized in that It further includes: Calculating at least one compensation torque of the plurality of joints based on the set of joint parameters and the dynamic model; and Calculating at least one driving torque of the plurality of joints based on the at least one resistance torque and the at least one compensation torque.

9. The method according to claim 7, characterized in that: The at least one resistance torque includes a first resistance torque, and the first resistance torque is in a functional relationship with joint parameters of the plurality of joints.

10. The method according to claim 9, wherein The method comprises: Calculating a first resistance torque regression matrix based on the joint parameter set; and The first resistance torque is calculated based on the first resistance torque regression matrix and the corresponding regression coefficient vector.

11. The method according to claim 7, characterized in that, The at least one resistance torque further includes a second resistance torque of the plurality of joints caused by a gravity offset of the robotic arm.

12. The method according to claim 11, wherein The robotic arm is mounted on a base, the gravity offset of the robotic arm includes the gravity offset caused by uneven installation of the base, and the method further includes: Obtaining base unevenness parameters, wherein the base unevenness parameters include an inclination angle vector of the base relative to a reference plane; and The second resistance torque is calculated based on the joint parameter set and the base unevenness parameter.

13. The method according to claim 12, wherein The plurality of joints include a first joint, and the robotic arm is connected to the base via the first joint; The reference plane is a horizontal plane, and the tilt angle vector is an angle between a plane perpendicular to the rotation axis of the first joint and the reference plane.

14. The method according to claim 8, characterized in that, The at least one compensation torque includes a gravity compensation torque of the gravity compensation mechanism of the robotic arm on the multiple joints.

15. The method according to claim 14, wherein The gravity compensation mechanism includes an elastic balancing mechanism, and the elastic balancing mechanism includes an elastic member. The method includes: obtaining elastic parameters of the elastic member; and The gravity compensation torque is calculated based on the joint parameter set and the elastic parameter.

16. The method according to claim 15, characterized in that The elastic member includes a spring, and the elastic member parameters include at least one of a spring stiffness coefficient, a spring original length, and a spring damping coefficient.

17. The method according to claim 7 or 8, characterized in that The method further comprises: obtaining at least one external force equivalent moment of the plurality of joints; and At least one driving torque of the multiple joints is calculated based on the at least one resistance torque and the at least one external force equivalent torque, or at least one driving torque of the multiple joints is calculated based on the at least one resistance torque, the at least one compensation torque and the at least one external force equivalent torque.

18. The method according to claim 1, characterized in that, The control method further includes controlling the movement of the plurality of joints based on the control signal.

19. The method according to any one of claims 1 to 16 and 18, characterized in that The multiple joints include a first joint, a second joint, and a third joint, wherein a first rotation axis of the first joint and a second rotation axis of the second joint are parallel to each other, and a third rotation axis of the third joint is perpendicular to the first rotation axis and the second rotation axis, and the first joint, the second joint, and the third joint are respectively driven by a joint driving device, and the method includes: Calculating the driving torque of the joint driving device; The joint driving device is controlled to move based on the driving torque to drive the first joint, the second joint, and the third joint to move.

20. A robot system, characterized in that: include: At least one robotic arm, the at least one robotic arm comprising a plurality of arm bodies and a plurality of joints connecting the plurality of arm bodies; as well as A control device, connected to the at least one robotic arm, for executing the method according to any one of claims 1 to 19.

21. A computer device, characterized in that, The computer device comprises: a memory for storing at least one instruction; and A processor is coupled to the memory and configured to execute the at least one instruction to perform the method according to any one of claims 1 to 19.

22. A computer-readable storage medium for storing at least one instruction, characterized in that: When the at least one instruction is executed by a computer device, it causes the computer to implement the method according to any one of claims 1 to 19.