Robot articulated arm kinematics parameter calibration method, equipment, medium and product

By combining target ball pair and joint angle data, combined with positive kinematics and iterative optimization methods, the kinematic parameters of surgical robots are quickly obtained, which solves the problem of slow calibration speed in the prior art and achieves efficient kinematic parameter calibration.

CN120363210APending Publication Date: 2025-07-25SHANGHAI YANGSHAN MEDICAL TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510798555.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-16
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

In the prior art, the kinematic parameters calibration speed of surgical robots is slow, resulting in a decrease in the positioning accuracy of the end effector.

Method used

The target ball pair is used to calibrate the movement parameters of the robot joint arm. By obtaining the combination of joint angle data, based on positive kinematics methods and iterative optimization, the end effector posture data and joint ball fitting the ball center are determined, and the rigid connecting rod length and joint ball radius are used for iterative optimization to quickly obtain the target kinematics parameters.

Benefits of technology

The calibration process is simplified, data acquisition and processing volume is reduced, calibration speed and accuracy are improved, and the surgical robot needs for high-precision positioning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120363210A_ABST
    Figure CN120363210A_ABST
Patent Text Reader

Abstract

The invention discloses a robot articulated arm kinematics parameter calibration method and device, a medium and a product. The method is used for obtaining joint angle data combinations corresponding to multiple joint arm postures respectively, the distance between an end effector and the surface of a joint ball in a target ball pair under each joint arm posture is the length of a rigid connecting rod, and the rigid connecting rod comprises a first end fixedly connected with the end effector and a second end rotating along the surface of the joint ball; determining end effector attitude data corresponding to each joint angle data combination; determining a joint ball fitting center corresponding to the attitude data of each end effector, and a fitting distance between the position of the end effector corresponding to the attitude data of each end effector and the joint ball fitting center; and performing iterative optimization on kinematics parameter data in the kinematics model according to the fitting distance, the length of the rigid connecting rod and the radius of the joint ball to obtain a target kinematics parameter data combination. According to the embodiment of the invention, the calibration speed of the kinematics parameters of the robot can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robots, and in particular, to a method, device, medium and product for calibrating kinematic parameters of a robot joint arm. Background Art

[0002] During the long-term use of a surgical robot, the kinematic model parameters (DH parameters, Denavit-Hartenberg parameters) may change due to reasons such as link deformation and joint loosening, resulting in a decrease in the positioning accuracy of the end effector. Therefore, it is necessary to regularly calibrate the kinematic parameter data of the surgical robot to keep the positioning accuracy of the end effector of the surgical robot at a high level.

[0003] Currently, high-precision measuring devices such as laser trackers and coordinate measuring machines are usually used to measure the positioning error at the end of the joint arm, and then the kinematic parameter data for the current state of the surgical robot is determined by inversely solving the forward kinematic model.

[0004] However, whether it is a laser tracker, a coordinate measuring machine, or other measuring devices, there is a problem of slow calibration speed. Summary of the Invention

[0005] The present invention provides a method, device, medium and product for calibrating kinematic parameters of a robot joint arm to solve the problem of slow speed in the existing method for calibrating kinematic parameters of a robot joint arm.

[0006] According to one aspect of the present invention, a method for calibrating kinematic parameters of a robot joint arm is provided, including:

[0007] Obtaining a combination of joint angle data corresponding to multiple joint arm postures, wherein for each of the multiple joint arm postures, the distance between the end effector and the surface of the joint ball in the target ball pair is the length of a rigid link, the rigid link includes a first end fixedly connected to the end effector and a second end rotating along the surface of the joint ball, and the combination of joint angle data includes angle data of each joint of the joint arm;

[0008] Based on the forward kinematic method and the initial kinematic parameter data of each joint in the kinematic model, determining the end effector posture data corresponding to each combination of joint angle data;

[0009] Determining the fitting center of the joint ball corresponding to each end effector posture data, and the fitting distance between the position of the end effector corresponding to each end effector posture data and the fitting center of the joint ball;

[0010] Based on the forward kinematics method, according to the fitting distance, the length of the rigid link, and the radius of the joint ball, the kinematic parameter data under each joint in the kinematic model are iteratively optimized to obtain a target kinematic parameter data combination for the surgical robot.

[0011] According to another aspect of the present invention, there is provided a method for calibrating kinematic parameters of a robotic joint arm, including:

[0012] A data acquisition module, configured to acquire a combination of joint angle data corresponding to multiple joint arm postures. Among the multiple joint arm postures, the distance between the end effector and the surface of the joint ball in the target ball pair is the length of the rigid link at each joint arm posture. The rigid link includes a first end fixedly connected to the end effector and a second end that rotates along the surface of the joint ball. The combination of joint angle data includes the angle data of each joint of the joint arm.

[0013] An attitude data determination module, configured to determine the end effector attitude data corresponding to each combination of joint angle data based on the forward kinematics method and the initial kinematic parameter data under each joint in the kinematic model.

[0014] A fitting distance determination module, configured to determine the fitting ball center of the joint ball corresponding to each end effector attitude data, and the fitting distance between the position of the end effector corresponding to each end effector attitude data and the fitting ball center of the joint ball.

[0015] An iterative optimization module, configured to iteratively optimize the kinematic parameter data under each joint in the kinematic model based on the forward kinematics method, according to the fitting distance, the length of the rigid link, and the radius of the joint ball, to obtain a target kinematic parameter data combination for the surgical robot.

[0016] According to another aspect of the present invention, there is provided a ball pair for calibrating kinematic parameters of a robotic joint arm, including:

[0017] A base, with a ball socket provided at the top;

[0018] A joint ball, fixed in the ball socket;

[0019] A rigid link, including a first end and a second end. The first end is used to be fixed to the end effector of the robot, and the second end is configured to rotate along the surface of the joint ball when the position of the first end changes.

[0020] According to another aspect of the present invention, there is provided an electronic device, the electronic device includes:

[0021] At least one processor; and

[0022] A memory communicatively connected to the at least one processor; wherein,

[0023] The memory stores a computer program executable by the at least one processor, and when the computer program is executed by the at least one processor, the at least one processor is enabled to execute the robot joint arm kinematic parameter calibration method according to any embodiment of the present invention.

[0024] According to another aspect of the present invention, there is provided a computer-readable storage medium storing computer instructions for causing a processor to implement the robot joint arm kinematic parameter calibration method according to any embodiment of the present invention when executed.

[0025] According to another aspect of the present invention, there is provided a computer program product including a computer program that implements the robot joint arm kinematic parameter calibration method according to any embodiment when executed by a processor.

[0026] The technical solution provided by the embodiments of the present invention, when calibrating the motion parameters of the robot joint arm using the target ball pair, only needs to fix the base of the ball pair and fixedly connect the first end of the rigid link to the end effector. The second end of the rigid link can rotate along the surface of the joint ball as the end effector drives the first end to move. Therefore, the installation of the target ball pair is simple; since the overall volume of the target ball pair is small, there are no special requirements for the site during the calibration process; when the attitude of the joint arm changes, the attitude of the end effector changes accordingly. During the change of the attitude of the end effector, it drives the first end of the rigid link to move, thereby driving the second end of the rigid link to move on the surface of the joint ball, causing the end effector to rotate around the center of the joint ball; since only the joint angles of each joint need to be read, the data acquisition process is also relatively simple; since the attitude data of the end effector can be determined based on the combination of joint angle data, and the fitting center of the joint ball can be determined according to the attitude data of the end effector, and the distance between the position corresponding to the attitude data of the end effector and the fitting center of the joint ball is the radius of the joint ball, the amount of data processing during the iterative optimization process is also small, and the data processing speed is also fast.

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

[0028] To more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the accompanying drawings required for the description of the embodiments. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can also be obtained based on these drawings.

[0029] Figure 1 is a schematic structural diagram of a target ball pair provided according to an embodiment of the present invention;

[0030] Figure 2 is a flowchart of a method for calibrating kinematic parameters of a robot joint arm provided according to an embodiment of the present invention;

[0031] Figure 3 is an assembly schematic diagram of a target ball pair and a robot joint arm provided according to an embodiment of the present invention;

[0032] Figure 4 is another flowchart of a method for calibrating kinematic parameters of a robot joint arm provided according to an embodiment of the present invention;

[0033] Figure 5 is a schematic structural diagram of a device for calibrating kinematic parameters of a robot joint arm provided according to an embodiment of the present invention;

[0034] Figure 6 is a schematic structural diagram of an electronic device for implementing the method for calibrating kinematic parameters of a robot joint arm in the embodiment of the present invention. Detailed implementation manners

[0035] In order to enable those skilled in the art to better understand the solutions of the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, rather than all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

[0036] It should be noted that the terms "target", "initial", etc. in the description, claims and the above-mentioned drawings of the present invention are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present invention described here can be implemented in an order other than those illustrated or described here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0037] Figure 1 FIG. is a schematic structural diagram of a spherical pair for calibrating kinematic parameters of a robot joint arm provided by an embodiment of the present invention. The spherical pair includes a base 12, a joint ball 11 and a rigid link 10. Among them, a spherical socket is provided at the top of the base 12, and the joint ball 11 is fixed in the spherical socket; the rigid link 10 includes a first end and a second end. The first end is used to be fixed to the end effector of the robot, and the second end is configured to rotate along the surface of the joint ball 11 when the position of the first end changes.

[0038] Among them, the robot in this embodiment can be a surgical robot or an industrial robot.

[0039] The connection mode between the second end and the surface of the joint ball is a spherical hinge connection.

[0040] In this embodiment, the materials of the rigid link and the joint ball are not specifically limited, as long as neither the rigid link nor the joint ball deforms during the acquisition of the joint angle data combination.

[0041] In addition, the length of the rigid link and the radius of the joint ball can be determined according to the size of the corresponding surgical robot. For example, the length of the rigid link of the spherical pair for the first-size surgical robot is greater than the length of the rigid link of the spherical pair for the second-size surgical robot, where the first size is greater than the second size.

[0042] When the spherical pair in this embodiment is in use, its base is fixed on the ground or a specified platform, and the positional relationship between the center of the spherical joint and the predetermined origin coordinates of the robot is known and fixed. Then, the first end of the rigid link is fixedly connected to the end effector of the robot. Then, manually move the end effector from one position to another position, so that the end of the joint arm drives the movement of the first end of the rigid link, and the movement of the first end of the rigid link drives the second end of the rigid link to move along the surface of the spherical joint. Record the angles of each joint of the joint arm when the end effector stays at each position to obtain a combination of joint angle data. Repeat this step until a predetermined number of combinations of joint angle data are obtained. Among them, during the process of moving the end controller from one position to another, the pose of the joint arm changes accordingly, so the poses of the joint arms corresponding to different staying positions of the end effector are different.

[0043] During the acquisition process of the combination of joint angle data, the movement trajectory of the second end on the surface of the spherical joint is preferably distributed in the upper half of the spherical joint.

[0044] The technical solution provided by the embodiment of the present invention only needs to fix the base of the spherical pair and fixedly connect the first end of the rigid link to the end effector when calibrating the motion parameters of the robot joint arm by using the target spherical pair. The second end of the rigid link can rotate along the surface of the spherical joint as the first end is driven by the end effector, so the installation of the target spherical pair is simple; since the overall volume of the target spherical pair is small, there are no special requirements for the site during the calibration process; when the pose of the joint arm changes, the pose of the end effector changes accordingly. During the process of the change of the pose of the end effector, the movement of the first end of the rigid link is driven, thereby driving the second end of the rigid link to move on the surface of the spherical joint, so that the end effector rotates around the center of the spherical joint; since only the joint angles of each joint need to be read, the data acquisition process is also relatively simple; since the pose data of the end effector can be determined based on the combination of joint angle data, the fitting center of the spherical joint can be determined according to the pose data of the end effector, so as to determine the fitting distance between the position corresponding to the pose data of the end effector and the fitting center of the spherical joint, and the distance between the fitting distance and the length of the link is the radius of the spherical joint, so the amount of data processing during the iterative optimization process is also small, and the data processing speed is also fast.

[0045] Figure 2 It is a flowchart of the method for calibrating the kinematic parameters of the robot joint arm provided by the embodiment of the present invention. This embodiment is applicable to the situation of automatically determining the kinematic parameter data for the surgical robot based on the obtained combination of joint angle data. This method can be executed by the device for calibrating the kinematic parameters of the robot joint arm, and the device for calibrating the kinematic parameters of the robot joint arm can be implemented in the form of hardware and / or software, and the device for calibrating the kinematic parameters of the robot joint arm can be configured in the processor of the electronic device. As Figure 2As shown, the method includes:

[0046] S110. Obtain a combination of joint angle data corresponding to multiple joint arm postures respectively. Among the multiple joint arm postures, the distance between the end effector and the surface of the joint ball in the target ball pair is the length of the rigid link at each joint arm posture. The rigid link includes a first end fixedly connected to the end effector and a second end rotating along the surface of the joint ball. The combination of joint angle data includes the angle data of each joint of the joint arm.

[0047] Regarding the number of joint arm postures, that is, the number of combinations of joint angle data, it needs to at least meet the minimum number requirement of the kinematic parameter solution algorithm for the combination of joint angle data. For example, when iteratively optimizing the kinematic parameter combination based on the quasi-Newton method and the forward kinematics method, at least three sets of data are required. Then, at this time, it is necessary to obtain at least three combinations of joint angle data corresponding to three joint arm postures respectively. In one embodiment, the number of joint arm postures is greater than 30, that is, the number of combinations of joint angle data is greater than 30, so as to make the determined target kinematic parameter data combination have higher accuracy.

[0048] Regarding the combination of joint angle data. Exemplarily, if the surgical robot includes six joints, then the combination of joint angle data includes six elements, and the six elements correspond to the six joints one by one.

[0049] This embodiment uses the aforementioned ball pair as a calibration tool. As Figure 3 shown, the ball pair includes a base 12, a joint ball 11 arranged on the top of the base 12, and a rigid link 10 slidably connected to the surface of the joint ball 11. The first end of the rigid link 10 is fixedly connected to the end effector 220. In this way, when the posture of the joint arm changes, the posture of the end effector 220 will also change. And when the posture of the end effector 220 changes, it will inevitably drive the rigid link 10 to move, and the position of the second end of the rigid link 10 on the surface of the joint ball 11 will change during the movement of the rigid link 10. Among them, in this drawing, the joint arm includes alternately connected link 21 and joint 22, and the end effector 220 is arranged on the last joint 22. The positional relationship between the center coordinate of the joint ball and the predetermined origin coordinate of the robot is known and fixed. Preferably, the center coordinate of the joint ball and the predetermined origin coordinate of the robot are in the same coordinate system, and their positional relationship is known and fixed, so as to improve the determination speed and accuracy of the subsequent fitting center of the joint ball.

[0050] Therefore, during kinematic parameter calibration, the user can control the joint arm of the surgical robot to undergo a series of posture changes, and record the angle data of each joint of the joint arm at each joint arm posture to obtain the combination of joint angle data at each joint arm posture.

[0051] It can be understood that when the articulated arm moves, the distance between the end effector 220 and the spherical surface of the joint ball 11 is always the length of the rigid link 10, and the center of the end effector 220, the central axis of the rigid link 10 and the center of the joint ball 11 are always on the same straight line. In other words, the end effector 220 moves around the center of the joint ball 11.

[0052] S120. Based on the forward kinematics method and the initial kinematic parameter data of each joint in the kinematic model, determine the end effector attitude data corresponding to each combination of joint angle data.

[0053] For a surgical robot, the link of each joint corresponds to four kinematic parameters, namely the DH parameters. These four kinematic parameters are: link length (a i ), link twist angle (α i ), joint offset (d i ), and joint angle (θ i ). Among them, the link length refers to the distance along the x i direction from z i-1 to z i ; the link twist angle refers to the angle of rotation around the x i axis from z i-1 to z i ; the joint offset refers to the translation amount along the z i-1 axis from x i-1 to x i ; the joint angle refers to the angle of rotation around the z i-1 axis from x i-1 to x i .

[0054] In this embodiment, no specific limitation is made on the initial kinematic parameter data, and it can be set by using the existing initial kinematic parameter data setting method.

[0055] Since the end effector attitude data is related to the combination of joint angle data and the initial kinematic parameter data of each joint, based on the forward kinematics method and the initial kinematic parameter data of each joint in the kinematic model, determine the end effector attitude data corresponding to each combination of joint angle data.

[0056] S130. Determine the fitting center of the joint ball corresponding to each end effector attitude data, and the fitting distance between the position of the end effector corresponding to each end effector attitude data and the fitting center of the joint ball.

[0057] Since the center of the end effector, the central axis of the connecting rod, and the center of the joint ball are always on the same straight line, and the pose data of the end effector corresponding to each combination of joint angle data has been determined, the center of the joint ball, that is, the fitting center of the joint ball, can be fitted based on the determined pose data of the end effector. After the fitting center of the joint ball is determined, the distance between the position of the end effector corresponding to each end effector pose data and the fitting center of the joint ball can be determined, that is, the fitting distance.

[0058] It can be understood that the difference between the fitting distance and the length of the rigid connecting rod is the radius of the joint ball.

[0059] S140. Based on the forward kinematics method, according to the fitting distance, the length of the rigid connecting rod, and the radius of the joint ball, iterate and optimize the kinematic parameter data under each joint in the kinematic model to obtain the target kinematic parameter data combination for the surgical robot.

[0060] Construct an objective function based on the fact that the difference between each fitting distance and the length of the rigid connecting rod is equal to the known radius of the joint ball, and iterate and optimize the kinematic parameter data in the kinematic model based on the forward kinematics method and this objective function to obtain the target kinematic parameter data combination for the surgical robot.

[0061] When iteratively optimizing the kinematic parameter data in the kinematic model based on the forward kinematics method and the objective function, methods such as the gradient method can be used to complete the iterative optimization of the kinematic parameter data combination to obtain the target kinematic parameter data combination for the surgical robot.

[0062] The target kinematic parameter data combination is the calibrated kinematic parameter data combination. After the target kinematic parameter data of each joint of the joint arm are determined, they are stored at a predetermined position. When determining the angle data of each joint based on the inverse kinematics algorithm and the target position, read the target kinematic parameter data of each joint from this position, and then determine the target angle data of each joint based on the target kinematic parameter data of each joint, the inverse kinematics algorithm, and the target position.

[0063] In the technical solution provided by the embodiment of the present invention, when calibrating the motion parameters of the robot joint arm using the target ball pair, it is only necessary to fix the base of the ball pair and fixedly connect the first end of the rigid link to the end effector. The second end of the rigid link can rotate along the surface of the joint ball as the first end is driven by the end effector to move. Therefore, the installation of the target ball pair is simple; since the overall volume of the target ball pair is small, there are no special requirements for the site during the calibration process; when the attitude of the joint arm changes, the attitude of the end effector changes accordingly. During the process of the attitude change of the end effector, the first end of the rigid link is driven to move, thereby driving the second end of the rigid link to move on the surface of the joint ball, causing the end effector to rotate around the center of the joint ball; since only the joint angles of each joint need to be read, the data acquisition process is also relatively simple; since the attitude data of the end effector can be determined based on the combination of joint angle data, and the fitting center of the joint ball can be determined according to the attitude data of the end effector, so as to determine the fitting distance between the position corresponding to the attitude data of the end effector and the fitting center of the joint ball, and the distance between the fitting distance and the link length is the radius of the joint ball, so the amount of data processing during the iterative optimization process is also small, and the data processing speed is also fast.

[0064] Figure 4 It is another flowchart of the kinematic parameter calibration method for the robot joint arm provided by the embodiment of the present invention. This embodiment is used to refine the iterative optimization step of the kinematic parameter data in the above embodiment. As Figure 4 shown, the method includes:

[0065] S210. Obtain a combination of joint angle data corresponding to multiple joint arm postures. Among the multiple joint arm postures, the distance between the end effector and the surface of the joint ball in the target ball pair is the length of the rigid link at each joint arm posture. The rigid link includes a first end fixedly connected to the end effector and a second end that rotates along the surface of the joint ball. The combination of joint angle data includes the angle data of each joint of the joint arm.

[0066] S220. Based on the forward kinematics method and the initial kinematic parameter data of each joint in the kinematic model, determine the end effector attitude data corresponding to each combination of joint angle data.

[0067] Set the initial kinematic parameter vector as v0, and the initial Hession inverse matrix H0 = I.

[0068] S230. Determine the fitting center of the joint ball corresponding to each end effector attitude data, and the fitting distance between the position of the end effector corresponding to each end effector attitude data and the fitting center of the joint ball.

[0069] S240. Taking the sum of the squares of the errors between the rigid link length and each fitting distance as the objective function, iteratively optimize the kinematic parameter data under each joint in the kinematic model based on the quasi-Newton method to obtain the target kinematic parameter data combination for the surgical robot.

[0070] The kinematic parameter combination includes four kinematic parameters under each joint, and the kinematic parameter data combination includes the parameter data of the four kinematic parameters under each joint, that is, it includes the four kinematic parameter data under each joint.

[0071] In one embodiment, the update of the kinematic parameter data under each joint is completed through the following steps:

[0072] Step a1. Determine the function value of the objective function under the current kinematic parameter data combination.

[0073] The current kinematic parameter data combination is v k , and correspondingly, the function value of the objective function is e k = e(v k ).

[0074] Step a2. Determine the current gradient vector combination of the objective function at the current kinematic parameter data combination.

[0075] Specifically, use the numerical differentiation method to determine the current gradient vector combination of the objective function at the current kinematic parameter data combination. This process can be expressed as:

[0076]

[0077] where g k is the current gradient vector combination, which includes the gradient vectors for each kinematic parameter in the kinematic parameter combination.

[0078] Step a3. Determine the current search direction combination according to the gradient vector combination and the current kinematic parameter data combination. The search direction combination includes the search directions for each kinematic parameter.

[0079] Specifically, determine the search direction combination through the following formula:

[0080] p k = -H k g k ;

[0081] where H k is the inverse matrix of the Hessian matrix, that is Its role is to transform the current gradient vector combination g k so as to adjust the scale of the search directions of each kinematic parameter and make the search directions of each kinematic parameter adapt to the local geometry of the objective function.

[0082] Step a4: Determine the search step sizes of the kinematic parameters corresponding to the search directions in the current search direction combination to obtain the current search step size combination, and update the current kinematic parameter data combination according to the current search step size combination to obtain the updated current kinematic parameter data combination.

[0083] The search step sizes of the kinematic parameters can be fixed step sizes or dynamic step sizes. In this embodiment, the latter is preselected. For example, the current search step size combination corresponding to the kinematic parameter combination is determined according to the linear search method.

[0084] After the current search step size combination is determined, the current kinematic parameter data combination can be updated according to the current kinematic parameter data combination and the current search step size combination, as follows:

[0085] Among them, the updated current kinematic parameter data combination is:

[0086] v k+1= v k +α k p k ;

[0087] Among them, α k is the search step size combination in the k-th iteration round, and v k+1 is the updated kinematic parameter data combination in the k-th iteration round.

[0088] Step a5: Determine the search step sizes of the kinematic parameters corresponding to the search directions in the current search direction combination to obtain the current search step size combination, and update the current kinematic parameter data combination according to the current search step size combination to obtain the updated current kinematic parameter data combination.

[0089] After the current kinematic parameter data combination is updated, determine the function value of the objective function under the updated current kinematic parameter data combination, and the current gradient vector combination of the objective function at the updated current kinematic parameter data combination.

[0090] The current gradient vector combination is determined by the following formula:

[0091]

[0092] Step a6: Based on the BFGS method, update the Hessian inverse matrix according to the change in parameter data before and after the update of the current kinematic parameter data combination and the change in gradient before and after the update of the gradient vector combination.

[0093] Among them, the change in parameter data is:

[0094] y k =gk+1 -g k ;

[0095] The gradient change is:

[0096] s k = v k+1 -v k ;

[0097] The update formula for the Hessian inverse matrix is:

[0098]

[0099] where I is the identity matrix.

[0100] Step 7, if the change in the function value is greater than or equal to the change threshold and the number of iterations corresponding to the current iteration round is greater than or equal to the number threshold, then return to the step of determining the current gradient vector combination of the objective function at the current kinematic parameter data combination until the change in the function value is less than the change threshold or the number of iterations corresponding to the current iteration round is less than the number threshold, and use the latest current kinematic parameter data combination as the target kinematic parameter data combination for the surgical robot.

[0101] If the change in the function value is greater than or equal to the change threshold and the number of iterations corresponding to the current iteration round is greater than or equal to the number threshold, it means that the iteration has not ended. Therefore, return to the step of determining the current gradient vector combination of the objective function at the current kinematic parameter data combination, enter the next iteration round, until the change in the function value is less than the change threshold or the number of iterations corresponding to the current iteration round is less than the number threshold, and use the latest current kinematic parameter data combination as the target kinematic parameter data combination for the surgical robot.

[0102] For the technical solution provided by the embodiment of the present invention, since the quasi-Newton method has a high convergence speed and gradient descent speed, taking the sum of the squares of the errors between the rigid link lengths and the respective fitting distances as the objective function, based on the quasi-Newton method, the kinematic parameter data under each joint in the kinematic model is iteratively optimized to obtain the target kinematic parameter data combination for the surgical robot, which can quickly complete the iterative optimization of the kinematic parameter data combination and obtain the target kinematic parameter data combination.

[0103] Figure 5 It is a structural schematic diagram of the robot joint arm kinematic parameter calibration device provided by the embodiment of the present invention. As Figure 5 shown, the device includes:

[0104] A data acquisition module 51, configured to acquire a combination of joint angle data corresponding to multiple articulated arm postures. Among the multiple articulated arm postures, the distance between the end effector and the surface of the joint ball in each of the articulated arm postures is the length of a rigid link. The rigid link includes a first end fixedly connected to the end effector and a second end that rotates along the surface of the joint ball. The combination of joint angle data includes the angle data of each joint of the articulated arm.

[0105] An attitude data determination module 52, configured to determine the attitude data of the end effector corresponding to each combination of joint angle data based on the forward kinematics method and the initial kinematic parameter data of each joint in the kinematic model.

[0106] A fitting distance determination module 53, configured to determine the fitting center of the joint ball corresponding to each end effector attitude data, and the fitting distance between the position of the end effector corresponding to each end effector attitude data and the fitting center of the joint ball.

[0107] An iterative optimization module 54, configured to perform iterative optimization on the kinematic parameter data of each joint in the kinematic model based on the forward kinematics method according to the fitting distance, the length of the rigid link, and the radius of the joint ball, to obtain a target combination of kinematic parameter data for the surgical robot.

[0108] In one embodiment, the iterative optimization module 54 is configured to use the sum of the squared errors between the length of the rigid link and each fitting distance as an objective function, and perform iterative optimization on the kinematic parameter data of each joint in the kinematic model based on the quasi - Newton method to obtain a target combination of kinematic parameter data for the surgical robot.

[0109] In one embodiment, the iterative optimization module 54 is configured to:

[0110] Determine the function value of the objective function under the current combination of kinematic parameter data;

[0111] Determine the current gradient vector combination of the objective function at the current combination of kinematic parameter data;

[0112] Determine the current search direction combination according to the gradient vector combination and the current combination of kinematic parameter data. The search direction combination includes the search directions of each kinematic parameter;

[0113] Determine the search step sizes of the kinematic parameters corresponding to the search directions in the current search direction combination to obtain the current search step size combination, and update the current combination of kinematic parameter data according to the current search step size combination to obtain the updated current combination of kinematic parameter data.

[0114] Determine the function value of the objective function under the updated current kinematic parameter data combination, and determine the current gradient vector combination of the objective function at the updated current kinematic parameter data combination;

[0115] Based on the BFGS method, update the inverse Hessian matrix according to the change in parameter data before and after the update of the current kinematic parameter data combination and the change in gradient before and after the update of the gradient vector combination;

[0116] If the change in the function value is greater than or equal to the change threshold and the number of iterations corresponding to the current iteration round is greater than or equal to the number threshold, return to the step of determining the current gradient vector combination of the objective function at the current kinematic parameter data combination until the change in the function value is less than the change threshold or the number of iterations corresponding to the current iteration round is less than the number threshold, and use the latest current kinematic parameter data combination as the target kinematic parameter data combination for the surgical robot.

[0117] In one embodiment, the positions of the second ends corresponding to the respective joint arm postures among the multiple joint arm postures are all distributed on the upper hemisphere of the joint ball.

[0118] In one embodiment, the spherical pair and the robot are in the same coordinate system, and the positional relationship between the center of the joint ball and the origin of the robot coordinate system is known and fixed.

[0119] In one embodiment, the number of the joint angle data combinations is greater than 30.

[0120] The technical solution provided by the embodiment of the present invention, when calibrating the motion parameters of the robot joint arm using the target spherical pair, only needs to fix the base of the spherical pair and fixedly connect the first end of the rigid link to the end effector. The second end of the rigid link can rotate along the surface of the joint ball as the end effector drives the first end to move. Therefore, the installation of the target spherical pair is simple; since the overall volume of the target spherical pair is small, there are no special requirements for the site during the calibration process; when the joint arm posture changes, the end effector posture changes accordingly. During the process of the end effector posture changing, it drives the first end of the rigid link to move, thereby driving the second end of the rigid link to move on the surface of the joint ball, so that the end effector rotates around the center of the joint ball; since only the joint angles of each joint need to be read, the data acquisition process is also relatively simple; since the end effector posture data can be determined based on the joint angle data combination, the fitting center of the joint ball can be determined according to the end effector posture data, so as to determine the fitting distance between the position corresponding to the end effector posture data and the fitting center of the joint ball, and the distance between the fitting distance and the link length is the radius of the joint ball. Therefore, the amount of data processing during the iterative optimization process is also less, and the data processing speed is also faster.

[0121] The kinematic parameter calibration device for a robotic joint arm provided by an embodiment of the present invention can execute the kinematic parameter calibration method for a robotic joint arm provided by any embodiment of the present invention, and has corresponding functional modules and beneficial effects for executing the method.

[0122] Figure 6 FIG. shows a schematic structural diagram of an electronic device 40 that can be used to implement an embodiment of the present invention. The electronic device is intended to represent various forms of digital computers, such as, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, personal digital processors, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present invention described and / or claimed herein.

[0123] As Figure 6 shown, the electronic device 40 includes at least one processor 41, and a memory communicatively connected to the at least one processor 41, such as a read-only memory (ROM) 42, a random access memory (RAM) 43, etc. Among them, the memory stores a computer program executable by the at least one processor. The processor 41 can execute various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 42 or the computer program loaded from the storage unit 48 into the random access memory (RAM) 43. In the RAM 43, various programs and data required for the operation of the electronic device 40 can also be stored. The processor 41, the ROM 42, and the RAM 43 are connected to each other through a bus 44. The input / output (I / O) interface 45 is also connected to the bus 44.

[0124] A plurality of components in the electronic device 40 are connected to the I / O interface 45, including: an input unit 46, such as a keyboard, a mouse, etc.; an output unit 47, such as various types of displays, speakers, etc.; a storage unit 48, such as a magnetic disk, an optical disc, etc.; and a communication unit 49, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 49 allows the electronic device 40 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0125] The processor 41 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 41 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The processor 41 executes the various methods and processes described above, such as the robot joint arm kinematic parameter calibration method.

[0126] In some embodiments, the robot joint arm kinematic parameter calibration method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as the storage unit 48. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 40 via the ROM 42 and / or the communication unit 49. When the computer program is loaded into the RAM 43 and executed by the processor 41, one or more steps of the robot joint arm kinematic parameter calibration method described above can be executed. Alternatively, in other embodiments, the processor 41 can be configured to execute the robot joint arm kinematic parameter calibration method by any other suitable means (e.g., by means of firmware).

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

[0128] The computer programs for implementing the methods of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to the processors of general-purpose computers, special-purpose computers, or other programmable data processing devices, such that when the computer programs are executed by the processors, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer programs can be executed entirely on the machine, partially on the machine, as an independent software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0129] In the context of the present invention, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer-readable storage medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, the computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

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

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

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

[0133] An embodiment of the present invention also provides a computer program product, including a computer program which, when executed by a processor, implements the robot joint arm kinematic parameter calibration method provided in any embodiment of the present application.

[0134] In the process of implementing the computer program product, computer program code for performing the operations of the present invention can be written in one or more programming languages or combinations thereof. The programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network - including a local area network (LAN) or a wide area network (WAN) - or can be connected to an external computer (for example, by using an Internet service provider to connect through the Internet).

[0135] It should be understood that various forms of the processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in the present invention can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved, and no limitation is made herein.

[0136] The above specific embodiments do not constitute a limitation to the protection scope of the present invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims

1. A method for calibrating the kinematic parameters of a robotic joint arm, characterized in that, Including: Obtain a combination of joint angle data corresponding to multiple articulated arm postures. Among the multiple articulated arm postures, the distance between the end effector and the surface of the joint ball in each articulated arm posture is the length of the rigid link. The rigid link includes a first end fixedly connected to the end effector and a second end rotating along the surface of the joint ball. The combination of joint angle data includes the angle data of each joint of the articulated arm; Based on the forward kinematics method and the initial kinematic parameter data of each joint in the kinematic model, determine the end effector posture data corresponding to each combination of joint angle data; Determine the fitting center of the joint ball corresponding to each end effector posture data, and the fitting distance between the position of the end effector corresponding to each end effector posture data and the fitting center of the joint ball; Based on the forward kinematics method, according to the fitting distance, the length of the rigid link, and the radius of the joint ball, iteratively optimize the kinematic parameter data of each joint in the kinematic model to obtain a target kinematic parameter data combination for the surgical robot.

2. The method according to claim 1, wherein The step of, based on the forward kinematics method, according to the fitting distance, the length of the rigid link, and the radius of the joint ball, iteratively optimize the kinematic parameter data of each joint in the kinematic model to obtain a target kinematic parameter data combination for the surgical robot, includes: Taking the sum of the squares of the errors between the length of the rigid link and each fitting distance as the objective function, and iteratively optimize the kinematic parameter data of each joint in the kinematic model based on the quasi-Newton method to obtain a target kinematic parameter data combination for the surgical robot.

3. The method according to claim 2, wherein The kinematic parameter combination includes four kinematic parameters of each joint, and the kinematic parameter data combination includes four kinematic parameter data of each joint. The step of taking the sum of the squares of the errors between the length of the rigid link and each fitting distance as the objective function, and iteratively optimize the kinematic parameter data of each joint in the kinematic model based on the quasi-Newton method to obtain a target kinematic parameter data combination for the surgical robot, includes: Determine the function value of the objective function under the current kinematic parameter data combination; Determine the current gradient vector combination of the objective function at the current kinematic parameter data combination; According to the gradient vector combination and the current kinematic parameter data combination, determine the current search direction combination, and the current search direction combination includes the search directions of each kinematic parameter; Determine the search step sizes of the kinematic parameters corresponding to the search directions in the current search direction combination to obtain the current search step size combination, and update the current kinematic parameter data combination according to the current search step size combination to obtain the updated current kinematic parameter data combination; Determine the function value of the objective function under the updated current kinematic parameter data combination, and determine the current gradient vector combination of the objective function at the updated current kinematic parameter data combination; Based on the BFGS method, update the inverse Hessian matrix by the change in parameter data before and after the update of the current kinematic parameter data combination and the change in gradient before and after the update of the gradient vector combination. If the change in the function value is greater than or equal to the change threshold and the number of iterations corresponding to the current iteration round is greater than or equal to the number threshold, return to the step of determining the current gradient vector combination of the objective function at the current kinematic parameter data combination until the change in the function value is less than the change threshold or the number of iterations corresponding to the current iteration round is less than the number threshold, and use the latest current kinematic parameter data combination as the target kinematic parameter data combination for the surgical robot.

4. The method according to claim 1, wherein: The positions of the second ends corresponding to the respective joint arm postures under the multiple joint arm postures are all distributed on the upper hemisphere of the joint ball.

5. The method according to claim 1, wherein: The target ball pair and the robot are in the same coordinate system, and the positional relationship between the center of the joint ball and the origin of the robot coordinate is known and fixed.

6. The method according to claim 1, wherein: The number of the joint angle data combinations is greater than 30.

7. A ball pair, characterized in that, For calibrating the kinematic parameters of a robot joint arm, including: A base, with a ball socket provided at the top; A joint ball, fixed to the ball socket; A rigid link, including a first end and a second end, the first end being used to be fixed to the end effector of the robot, and the second end being configured to rotate along the surface of the joint ball when the position of the first end changes.

8. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method for calibrating the kinematic parameters of a robot joint arm according to any one of claims 1-7.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the processor to implement the method for calibrating the kinematic parameters of a robot joint arm according to any one of claims 1-7 when executed.

10. A computer program product, characterized in that, The computer program product includes a computer program, and the computer program implements the method for calibrating the kinematic parameters of a robot joint arm according to any one of claims 1-7 when executed by the processor.