Method and device for determining DH parameters of surgical robot

By optimizing the D-H parameters of the surgical robot robot arm, the problem of low terminal position calculation accuracy is solved, and higher calculation accuracy and surgical safety are achieved.

CN119606543BActive Publication Date: 2025-06-06HANGZHOU WISEKING MEDICAL ROBOT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510157887.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-13
Publication Date
2025-06-06
Estimated Expiration
2045-02-13

AI Technical Summary

Technical Problem

There is a large error in the actual value of the end position of the robotic arm of the surgical robot and the calculated information, which affects the accuracy and safety of the operation.

Method used

By determining the initial value of the D-H parameter of the joint axis of the robot arm and optimizing these parameters based on the end point and joint position, more accurate D-H parameters are obtained, thereby improving the calculation accuracy of the end position.

Benefits of technology

The optimized D-H parameters can more accurately describe the actual motion state of the robotic arm, significantly improve the calculation accuracy of the end position, and enhance the safety and efficiency of the surgery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119606543B_ABST
    Figure CN119606543B_ABST
Patent Text Reader

Abstract

The present application provides a method and device for determining the D-H parameters of a surgical robot. The method includes: determining a first D-H parameter according to the axis of a robot arm joint; obtaining the position of the end point and the joint when the robot arm joint is in different positions; optimizing the initial value of the first D-H parameter according to the position of the end point and the joint to obtain a second D-H parameter. The method is used to optimize the D-H parameter so that the D-H parameter can improve the accuracy of the end position when used to calculate the end position of the robot arm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of medical devices, and in particular to a method and device for determining DH parameters of a surgical robot. Background Art

[0002] Surgical robots have shown great potential in the field of surgery with their advantages of high precision, low invasiveness and high flexibility. During the operation of surgical robots, the robotic arm is a key component for performing surgical actions, and the precise control of its end position is crucial. Accurate end position information can not only ensure that the surgical instruments can accurately reach the lesion site, but also effectively avoid damage to surrounding tissues, thereby improving the safety and efficiency of the operation.

[0003] In related technologies, the method of obtaining the end position of the surgical robot arm mainly relies on sensors to collect data and perform theoretical calculations. Sensors are used to monitor the joint angle and end position in real time, and then the end position is calculated through a kinematic model based on the design parameters and joint angles of the robot arm, thereby determining the end position of the robot arm.

[0004] However, there is often a large error between the actual value of the end pose of the robotic arm and the calculated end pose information. Summary of the invention

[0005] The embodiments of the present application provide a method and device for determining DH parameters of a surgical robot, so as to achieve the effect of improving the accuracy of calculating the posture of the end of the surgical robot's mechanical arm.

[0006] In a first aspect, an embodiment of the present application provides a method for determining Denavit-Hartenberg (DH) parameters of a surgical robot, comprising:

[0007] According to the robot arm joint axis, determine the first DH parameter;

[0008] Get the positions of the end points and joints of the robotic arm when the joints are in different positions;

[0009] According to the positions of the end points and the joints, the initial values ​​of the first DH parameters are optimized to obtain the second DH parameters.

[0010] In a possible implementation, the initial value of the first DH parameter is optimized according to the positions of the end points and the joints to obtain the second DH parameter, including:

[0011] According to the positions of the end points and joints, the objective function of the search is determined;

[0012] Taking the first DH parameter as the search starting point, iteratively update the DH parameter according to the objective function and constraints;

[0013] The DH parameter when the objective function is the smallest is determined as the second DH parameter.

[0014] In a possible implementation, before iteratively updating the DH parameters according to the objective function and the constraint conditions, the method further includes:

[0015] According to the first DH parameter, set the constraint condition of the second DH parameter.

[0016] In a possible implementation, the first DH parameter includes a first link offset angle and a first joint distance; the second DH parameter includes a second link offset angle and a second joint distance;

[0017] According to the first DH parameter, the constraint condition of the second DH parameter is set, including:

[0018] According to the offset angle of the first link, the range of the offset angle of the second link is determined, wherein, for a non-parallel joint, the upper limit value of the offset angle of the second link is the sum of the offset angle of the first link and the first preset angle, and the lower limit value of the offset angle of the second link is the difference between the offset angle of the first link and the first preset angle; for a parallel joint, the upper limit value of the offset angle of the second link is the sum of the offset angle of the first link and the second preset angle, and the lower limit value of the offset angle of the second link is the difference between the offset angle of the first link and the second preset angle, and the second preset angle is smaller than the first preset angle;

[0019] Based on the first joint distance, the range of the second joint distance is determined, wherein, for non-parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the first preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the first preset length; for parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the second preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the second preset length, and the second preset length is greater than the first preset length.

[0020] In a possible implementation, the first DH parameter includes a first joint rotation angle and a first connecting rod length; the second DH parameter includes a second joint rotation angle and a second connecting rod length;

[0021] According to the first DH parameter, the constraint condition of the second DH parameter is set, including:

[0022] Determine the range of the second joint rotation angle according to the first joint rotation angle, wherein the upper limit value of the second joint rotation angle is the sum of the first joint rotation angle and the third preset angle, and the lower limit value of the second joint rotation angle is the difference between the first joint rotation angle and the third preset angle;

[0023] The range of the second connecting rod length is determined according to the first connecting rod length, wherein the upper limit value of the second connecting rod length is the sum of the first connecting rod length and the third preset length, and the lower limit value of the second connecting rod length is the difference between the first connecting rod length and the third preset length.

[0024] In a possible implementation, determining the first DH parameter according to the robot arm joint axis includes:

[0025] According to the motion trajectory of the first joint of the robotic arm, a first joint axis is determined, where the first joint is a joint connected to the base of the surgical robot;

[0026] According to the first joint axis, determine the base coordinates;

[0027] According to all joint axes and base coordinates, the first DH parameters are determined.

[0028] In a possible implementation, determining the first DH parameter according to all joint axes and base coordinates includes:

[0029] According to the joint motion trajectory, determine the joint axis of the corresponding joint;

[0030] When the terminal joint is a moving joint, the terminal joint axis is corrected according to the terminal point position of the terminal joint;

[0031] The first DH parameter is determined according to all joint axes and the base coordinates, wherein all joint axes include the corrected end joint axis.

[0032] In a second aspect, an embodiment of the present application provides a surgical robot DH parameter determination device, comprising:

[0033] A determination module, used for determining a first DH parameter according to a joint axis of the robot arm;

[0034] An acquisition module is used to obtain the positions of the end points and joints of the robot arm when the joints are in different positions;

[0035] The optimization module is used to optimize the initial value of the first DH parameter according to the positions of the end points and the joints to obtain the second DH parameter.

[0036] In a possible implementation, the optimization module is specifically used to determine the search objective function according to the positions of the end points and the joints;

[0037] Taking the first DH parameter as the search starting point, iteratively update the DH parameter according to the objective function and constraints;

[0038] The DH parameter when the objective function is the smallest is determined as the second DH parameter.

[0039] In a possible implementation, the optimization module is further configured to set a constraint condition of the second DH parameter according to the first DH parameter.

[0040] In a possible implementation, the optimization module is specifically used to determine the range of the second link offset angle according to the first link offset angle, wherein, for a non-parallel joint, the upper limit value of the second link offset angle is the sum of the first link offset angle and the first preset angle, and the lower limit value of the second link offset angle is the difference between the first link offset angle and the first preset angle; for a parallel joint, the upper limit value of the second link offset angle is the sum of the first link offset angle and the second preset angle, and the lower limit value of the second link offset angle is the difference between the first link offset angle and the second preset angle, and the second preset angle is smaller than the first preset angle;

[0041] Based on the first joint distance, the range of the second joint distance is determined, wherein, for non-parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the first preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the first preset length; for parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the second preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the second preset length, and the second preset length is greater than the first preset length.

[0042] In one possible implementation, the optimization module is specifically used to determine the range of the second joint rotation angle based on the first joint rotation angle, wherein the upper limit value of the second joint rotation angle is the sum of the first joint rotation angle and the third preset angle, and the lower limit value of the second joint rotation angle is the difference between the first joint rotation angle and the third preset angle.

[0043] The range of the second connecting rod length is determined according to the first connecting rod length, wherein the upper limit value of the second connecting rod length is the sum of the first connecting rod length and the third preset length, and the lower limit value of the second connecting rod length is the difference between the first connecting rod length and the third preset length.

[0044] In a possible implementation, the determination module is specifically used to determine the first joint axis according to the motion trajectory of the first joint of the robotic arm, where the first joint is a joint connected to the base of the surgical robot;

[0045] According to the first joint axis, determine the base coordinates;

[0046] According to all joint axes and base coordinates, the first DH parameters are determined.

[0047] In a possible implementation, the determination module is specifically configured to determine a joint axis of a corresponding joint according to the joint motion trajectory;

[0048] When the terminal joint is a moving joint, the terminal joint axis is corrected according to the terminal point position of the terminal joint;

[0049] The first DH parameter is determined according to all joint axes and the base coordinates, wherein all joint axes include the corrected end joint axis.

[0050] In a third aspect, an embodiment of the present application provides an electronic device, including: a memory, a processor;

[0051] Memory stores computer-executable instructions;

[0052] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the above first aspect and / or various possible implementations of the first aspect.

[0053] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the first aspect above and / or various possible implementations of the first aspect.

[0054] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the above first aspect and / or various possible implementation methods of the first aspect.

[0055] The method and device for determining DH parameters of a surgical robot provided in the embodiment of the present application determine the initial value of the DH parameter according to the joint axis and optimize the initial value of the DH parameter to obtain the final DH parameter. Since the position parameters of the end points and joints of the robot arm are combined in the optimization process when the joints are in different positions, the initial value of the DH parameter is optimized, so that the optimized DH parameter has better adaptability to the actual motion state of the robot arm, and the terminal posture determined thereby has higher accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0057] Figure 1 Schematic diagram of the process of determining the DH parameters of the surgical robot provided in this application Figure 1 ;

[0058] Figure 2 A schematic diagram of the structure of a mechanical arm joint provided in this application;

[0059] Figure 3 Schematic diagram of the process of determining the DH parameters of the surgical robot provided in this application Figure 2 ;

[0060] Figure 4 A schematic diagram of the structure of a surgical robot DH parameter determination device provided in this application;

[0061] Figure 5 A schematic diagram of the structure of an electronic device provided in this application.

[0062] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0063] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0064] Compared with traditional open surgery, minimally invasive surgery uses special instruments to perform surgical operations in the human body through tiny incisions. It has the advantages of small surgical incisions, low infection risk, less blood loss and fast recovery, which greatly improves the efficiency and quality of surgery and is widely welcomed by patients and medical staff. With the continuous development of minimally invasive surgical robot technology and the increasing popularity of related products in clinical applications, some problems that affect the surgical process and potentially endanger patient safety have gradually emerged. These problems restrict the industrialization development of minimally invasive surgical robots.

[0065] The four-arm minimally invasive surgical robot has great versatility and can perform a variety of different types of surgeries with simpler operations and better surgical effects. However, the current four-arm minimally invasive surgical robots still have shortcomings. Specifically, due to machining tolerances and assembly reasons, there is a certain difference between the actual position and posture of each joint axis and the theoretical value when the robotic arm was designed, resulting in a certain error between the joint position calculated based on the theoretical value and the actual situation. In particular, due to the large number of joints in the robotic arm, the long connecting rod, and the accumulation of errors in each joint, there is a large error between the actual position and posture of the end effector of the robotic arm and the theoretical value. In addition, due to the large weight of the robotic arm, it is very easy to be affected by gravity during movement and cause deformation. The longer the connecting rod, the more obvious the deformation, and the greater the error between the actual position and posture of the end effector and the theoretical value.

[0066] The end position is directly related to patient safety and surgical quality. In related technologies, in order to obtain accurate end position, a tracking target ball is usually fixed on the joint to be measured, and the joint movement is controlled. The target ball movement trajectory is tracked by external measuring instruments, such as laser trackers, optical positioning and tracking systems, etc. The position of the joint in space is determined according to the target ball movement trajectory, and then the DH parameters are determined. The DH parameters are used to describe the relative position and posture between the links of the robotic arm. The end position of the robotic arm can be located according to the DH parameters.

[0067] However, during the joint movement, the relative position between the joint axis will change slightly, and this change is different at any position. The external measuring instrument can only calculate the static axis position, and cannot obtain the dynamic axis position in real time. Therefore, the axis obtained by this scheme is only the real DH parameter in a certain posture. When the position of the robot arm joint changes, the actual DH value will have a large error, resulting in a large error in the calculated end posture accuracy.

[0068] In response to the above problems, this application proposes a method and device for determining DH parameters of a surgical robot. In this method, in order to solve the problem that DH parameters are only accurate when the joints of the robotic arm are in a certain position, the joint posture information of the robotic arm joints when they are in different positions is used to optimize the DH parameters, thereby obtaining more accurate DH parameters, thereby making the terminal posture calculated based on the DH parameters more accurate.

[0069] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0070] Figure 1 Schematic diagram of the process of determining the DH parameters of the surgical robot provided in this application Figure 1 .like Figure 1 As shown, with the electronic device as the execution subject, the method of this embodiment specifically includes the following steps:

[0071] S101. Determine a first DH parameter according to the robot arm joint axis.

[0072] In this embodiment, after the zero position of each joint of the mechanical arm is determined, the electronic device can control the position of each joint of the mechanical arm so that each joint is in a preset position. The preset position requires that each joint is convenient for movement, and each movement point in the movement process of each joint can be collected by an external measuring instrument, so as to ensure that the current position information of each joint is accurate. At the same time, each joint cannot be in an extreme position to avoid excessive error of the first DH parameter.

[0073] The target ball of the laser tracker is fixed on each joint of the robotic arm. For the rotary joint, the target ball is rigidly connected to a position far away from the joint axis, so that the collected motion points are more accurate and the position deviation of the target ball during joint movement is avoided.

[0074] The electronic device can control the movement of each joint and collect the point of the target ball in space through the jog function of the industrial computer axis control panel or the motion control algorithm. To ensure the accuracy of the results, the rotation angle of the rotary joint is at least 30° without leaving the tracking of the tracker.

[0075] The electronic device performs graphic fitting on the motion point set of each joint respectively. It can be understood that the motion point set fitting trajectory of the rotating joint is a circle or an arc, and the corresponding axis is the joint axis of the rotating joint. The motion point set fitting trajectory of the moving joint is a straight line, which can be considered as the joint axis of the moving joint.

[0076] According to the joint axis information, the electronic device calculates the initial value of the DH parameter, that is, the first DH parameter, according to the DH method. Among them, the first DH parameter includes four variables: the first connecting rod offset angle, the first joint rotation angle, the first connecting rod length, and the first joint distance. Here, the calculation process of the DH method can be understood with reference to the prior art, and will not be repeated here.

[0077] S102, obtaining the positions of the end points and joints of the robot arm when the joints are in different positions.

[0078] Specifically, the electronic device can select the back-drive mode or the inching mode as the operation mode of the robot arm according to the experimental requirements. Among them, the back-drive mode allows external force to drive the robot arm joint, which is suitable for situations where the joint position needs to be precisely controlled. The inching mode uses the buttons or knobs on the control panel to make the robot arm joint move a short distance and at a low speed, which is suitable for situations where the joint position can be quickly adjusted.

[0079] In the reverse drive mode or inching mode, the positions of the joints of the robot arm are randomly adjusted to ensure the randomness of the joint positions, which is conducive to covering every corner of the workspace of each joint and improving the universality of the final calculation results. During the adjustment process, it is necessary to avoid collision or exceeding the range of motion of the robot arm.

[0080] The electronic device collects the position information of the end point of the robot arm in the base coordinate system and the corresponding joint position information at each joint position. The collection process is repeated until a large amount of information at different joint positions is obtained. During the repetitive process, the joint position is constantly changed to ensure the diversity and comprehensiveness of the data.

[0081] Optionally, the collected data can be visualized to allow for a more diverse and comprehensive selection of data.

[0082] S103. Optimize the initial value of the first DH parameter according to the positions of the end points and the joints to obtain the second DH parameter.

[0083] In this embodiment, the electronic device can establish an optimization model for DH parameters based on the collected position data. The optimization goal is to minimize the error between the calculated end point position and the actual collected end point position.

[0084] The electronic device selects a suitable optimization algorithm, such as least squares method, genetic algorithm, particle swarm algorithm, etc., solves the optimization model, and iteratively optimizes the first DH parameter until a preset convergence condition is met, such as the error is less than a preset threshold or the number of iterations reaches an upper limit, etc., to obtain the optimized DH parameter, i.e., the second DH parameter.

[0085] The method for determining the DH parameters of a surgical robot provided in this embodiment optimizes the first DH parameters by using the end point positions and joint positions when the robotic arm joints are in different positions, thereby obtaining optimized second DH parameters, thereby improving the applicability of the DH parameters at different joint positions and making the end posture calculated based on the second DH parameters more accurate.

[0086] Figure 2 A schematic diagram of the structure of a robotic arm joint provided in this application. Figure 3 Schematic diagram of the process of determining the DH parameters of the surgical robot provided in this application Figure 2 .like Figure 2 , Figure 3 As shown, in this embodiment Figure 1 Based on the embodiment, a method for determining DH parameters of a surgical robot is described in detail, and the method includes:

[0087] S201. Determine a first joint axis according to a motion trajectory of a first joint of the robot arm.

[0088] Among them, the first joint is the joint connected to the base of the surgical robot, that is, Figure 2 The electronic device fits the motion trajectory of the first joint, and the motion axis of the first joint is the first joint axis.

[0089] S202. Determine base coordinates according to the first joint axis.

[0090] like Figure 2 As shown, in this embodiment, the axis of the first joint is the z-axis, the center of the first joint motion circle is the origin, and the second joint ( Figure 2The intersection of the axis of the joint 2) and the first joint motion circle and the straight line where the origin is located is the x-axis to establish the base coordinate. It can be understood that when establishing the base coordinate, the electronic device also needs to determine the axis of the second joint.

[0091] S203. Determine the first DH parameter according to all joint axes and base coordinates.

[0092] In this embodiment, the electronic device calculates the initial value of the DH parameter, i.e., the first DH parameter, according to the DH method based on the first joint axis and other joint axes under the base coordinates. Since the first DH parameter is the actual parameter when each joint of the manipulator is at the measurement position, the joint axes will not overlap, be parallel or intersect, and there is no need to perform special processing on the overlapped, parallel or intersecting axes existing in the theory.

[0093] It should be understood that in the DH parameter definition, the joints usually move along the z-axis, such as the moving joint moves along the z-axis, and the rotating joint rotates around the z-axis. Therefore, after the design of the robot is completed, the position of the z-axis has been determined, and the true position of the axis can be obtained in the process of obtaining the axis, but there may be a problem that the direction of the obtained axis is opposite. In order to avoid the influence of different joint coordinate definitions on understanding, the x-axis of the joint coordinate system of joint i is defined in this embodiment to always point to joint i+1, that is, the connecting rod length in the DH parameter is always a positive value, and the z-axis of all joints is consistent with the design expectation. The consistent direction here means the same general direction, not that there is no deviation.

[0094] Figure 2 It contains a schematic diagram of the robot and an example of the definition of the coordinate system of each joint in the design of the robot. The DH parameter is a description of the joint space coordinate system. The coordinate directions in the figure are all theoretical definitions.

[0095] Optionally, a specific implementation of S203 may include:

[0096] S2031. Determine the joint axis of the corresponding joint according to the joint motion trajectory.

[0097] S2032. When the terminal joint is a moving joint, the terminal joint axis is corrected according to the terminal point position of the terminal joint.

[0098] S2033. Determine the first DH parameter according to all joint axes and base coordinates.

[0099] Among them, all joint axes include the corrected end joint axis.

[0100] Specifically, if the end joint of the robot arm is a rotating joint, the first DH value determined ultimately points to the end joint axis, which is basically consistent with the theory, and whether to collect the end point can be selected according to actual needs. If the end joint of the robot arm is a mobile joint, since the position of the tracking target ball is not on the joint axis, an additional end point needs to be collected, and a straight line parallel to the initially determined end joint axis is drawn at this point as the final end joint axis.

[0101] By correcting the end joint axis, the DH parameters determined based on the end joint axis are made more accurate, thereby making the calculated end position more accurate.

[0102] S204, obtaining the positions of the end points and joints of the robotic arm when the joints are in different positions.

[0103] Step S204 and Figure 2 The implementation of step S102 in the embodiment is similar and will not be repeated here.

[0104] S205. Determine the target function of the search according to the positions of the end points and the joints.

[0105] S206: Set a constraint condition of the second DH parameter according to the first DH parameter.

[0106] In this embodiment, the electronic device may use the position error of the end point as the objective function and set constraint conditions.

[0107] Specifically, the second DH parameters include a second link offset angle, a second joint rotation angle, a second link length, and a second joint distance.

[0108] The range of the second joint rotation angle is determined according to the first joint rotation angle, wherein the upper limit of the second joint rotation angle is the sum of the first joint rotation angle and the third preset angle, and the lower limit of the second joint rotation angle is the difference between the first joint rotation angle and the third preset angle.

[0109] For example, the upper and lower limits of the second joint rotation angle are set to ±1° of the first joint rotation angle, that is, the third preset angle is 1°.

[0110] The range of the second connecting rod length is determined according to the first connecting rod length, wherein the upper limit value of the second connecting rod length is the sum of the first connecting rod length and the third preset length, and the lower limit value of the second connecting rod length is the difference between the first connecting rod length and the third preset length.

[0111] For example, the upper and lower limits of the length of the second connecting rod are set to ±5 mm of the length of the first connecting rod, that is, the third preset length is 5 mm.

[0112] The range of the offset angle of the second link is determined according to the offset angle of the first link.

[0113] Among them, for non-parallel joints, the upper limit value of the second link offset angle is the sum of the first link offset angle and the first preset angle, and the lower limit value of the second link offset angle is the difference between the first link offset angle and the first preset angle.

[0114] For parallel joints, the upper limit of the second link offset angle is the sum of the first link offset angle and the second preset angle, the lower limit of the second link offset angle is the difference between the first link offset angle and the second preset angle, and the second preset angle is smaller than the first preset angle.

[0115] For example, for a non-parallel joint, set the upper and lower limits of the second link offset angle to the offset angle of the first link. , that is, the first preset angle is 1°. For parallel joints, the upper and lower limits of the second link offset angle are set to ±0.01° of the first link offset angle, that is, the second preset angle is 0.01°.

[0116] The range of the second joint distance is determined based on the first joint distance.

[0117] Among them, for non-parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the first preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the first preset length.

[0118] For parallel joints, the upper limit of the second joint distance is the sum of the first joint distance and the second preset length, the lower limit of the second joint distance is the difference between the first joint distance and the second preset length, and the second preset length is greater than the first preset length.

[0119] For example, for non-parallel joints, the upper and lower limits of the second joint distance are set to ±5mm of the first joint distance, that is, the first preset length is 5mm. For parallel joints, the upper and lower limits of the second joint distance are set to ±10mm of the first joint distance, that is, the second preset length is 10mm.

[0120] It can be understood that if the robot arm has parallel joints in the design, and in practice the two axes have errors due to processing and assembly reasons, the calculated intersection of the common perpendicular lines of the two axes will deviate greatly from the actual one, and the DH parameter joint distance value of the corresponding joint will be extremely large. Due to the extremely large joint distance value, a small change in the connecting rod offset angle will also lead to a large deviation in the final result. Therefore, the range of the connecting rod offset angle for the joint needs to be as small as possible, for example, it can be set to ±0.01° or even smaller than the first DH parameter. The range of the joint distance of the joint can be appropriately increased, for example, it can be set to ±10% of the first DH parameter.

[0121] In addition, for robots with special structures, constraints can be added. For example, for robots with multiple axes intersecting or multiple axes in parallel, constraints between corresponding parameters can be set according to actual accuracy, such as setting ranges for the size of the sphere enclosed by multiple joint axes or angle differences. The more constraints are made, the closer the result is to reality, the smaller the overall error of the obtained parameters, and accordingly, the higher the computing power requirements for electronic equipment.

[0122] S207: Taking the first DH parameter as the search starting point, iteratively update the DH parameter according to the objective function and the constraint conditions.

[0123] S208. Determine the DH parameter when the objective function is the minimum as the second DH parameter.

[0124] The objective function is used to evaluate the error between the position of the end point of the manipulator and the expected position under the first DH parameter. The objective function may involve the position, posture or a combination of the end point.

[0125] The electronic device uses a genetic algorithm to iteratively update the DH parameters. In each iteration, the objective function value under the current DH parameters is calculated, and the parameters are adjusted according to the algorithm rules to reduce the error. The iteration process continues until the termination condition is met, such as reaching the maximum number of iterations, the objective function value is less than a preset threshold, or the parameter change is less than a certain tolerance. The DH parameter with the minimum objective function value is the second DH parameter.

[0126] The method for determining the DH parameters of a surgical robot provided in this embodiment optimizes the DH parameters by using a genetic algorithm. Since the genetic algorithm can set the algorithm parameter range and add constraints according to the robot's own characteristics, it avoids the optimized parameters from losing their actual physical meaning. In addition, using the first DH parameter as the search starting point avoids the parameter from falling into a local minimum during the search process, which causes the optimization effect to deteriorate. Compared with the first DH parameter, the optimized second DH parameter has significantly higher accuracy when used to calculate the terminal position, and the optimization process only needs to collect relevant data and run relevant programs, which reduces the possibility of errors in the optimization process and reduces the workload and complexity of calculating the terminal position.

[0127] Figure 4 This is a schematic diagram of the structure of a surgical robot DH parameter determination device provided in this application. Figure 4 As shown, the surgical robot DH parameter determination device 10 of this embodiment is used to implement the operation corresponding to the electronic device in any of the above method embodiments. The surgical robot DH parameter determination device 10 provided in this embodiment includes:

[0128] A determination module 11, used to determine a first DH parameter according to the robot arm joint axis;

[0129] An acquisition module 12 is used to acquire the positions of the end points and joints of the robot arm when the joints are in different positions;

[0130] The optimization module 13 is used to optimize the initial value of the first DH parameter according to the positions of the end points and the joints to obtain the second DH parameter.

[0131] In a possible implementation, the optimization module 13 is specifically used to determine the search objective function according to the positions of the end points and the joints;

[0132] Taking the first DH parameter as the search starting point, iteratively update the DH parameter according to the objective function and constraints;

[0133] The DH parameter when the objective function is the smallest is determined as the second DH parameter.

[0134] In a possible implementation manner, the optimization module 13 is further configured to set a constraint condition of the second DH parameter according to the first DH parameter.

[0135] In one possible implementation, the optimization module 13 is specifically used to determine the range of the second link offset angle based on the first link offset angle, wherein for non-parallel joints, the upper limit value of the second link offset angle is the sum of the first link offset angle and the first preset angle, and the lower limit value of the second link offset angle is the difference between the first link offset angle and the first preset angle; for parallel joints, the upper limit value of the second link offset angle is the sum of the first link offset angle and the second preset angle, and the lower limit value of the second link offset angle is the difference between the first link offset angle and the second preset angle, and the second preset angle is smaller than the first preset angle.

[0136] In one possible implementation, the optimization module 13 is specifically used to determine the range of the second joint distance based on the first joint distance, wherein, for non-parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the first preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the first preset length; for parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the second preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the second preset length, and the second preset length is greater than the first preset length.

[0137] In one possible implementation, the optimization module 13 is specifically used to determine the range of the second joint rotation angle based on the first joint rotation angle, wherein the upper limit value of the second joint rotation angle is the sum of the first joint rotation angle and the third preset angle, and the lower limit value of the second joint rotation angle is the difference between the first joint rotation angle and the third preset angle.

[0138] In a possible implementation, the optimization module 13 is specifically used to determine the range of the second connecting rod length based on the first connecting rod length, wherein the upper limit value of the second connecting rod length is the sum of the first connecting rod length and the third preset length, and the lower limit value of the second connecting rod length is the difference between the first connecting rod length and the third preset length.

[0139] In a possible implementation, the determination module 11 is specifically used to determine the first joint axis according to the motion trajectory of the first joint of the robotic arm, where the first joint is a joint connected to the base of the surgical robot;

[0140] According to the first joint axis, determine the base coordinates;

[0141] According to all joint axes and base coordinates, the first DH parameters are determined.

[0142] In a possible implementation, the determination module 11 is specifically configured to determine the joint axis of the corresponding joint according to the joint motion trajectory;

[0143] When the terminal joint is a moving joint, the terminal joint axis is corrected according to the terminal point position of the terminal joint;

[0144] The first DH parameter is determined according to all joint axes and the base coordinates, wherein all joint axes include the corrected end joint axis.

[0145] The surgical robot DH parameter determination device 10 provided in this embodiment can execute the method provided in the above method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be described in detail here.

[0146] Figure 5 This is a schematic diagram of the structure of an electronic device provided in this application. Figure 5 As shown, the electronic device 20 provided in this embodiment includes: a memory 21 and at least one processor 22. Optionally, the device 20 also includes a communication component 23. The memory 21, the processor 22 and the communication component 23 are connected via a bus 24.

[0147] In a specific implementation process, at least one processor 22 executes the computer-executable instructions stored in the memory 21, so that at least one processor 22 executes the above method.

[0148] The specific implementation process of the processor 22 can be found in the above method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.

[0149] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the invention may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.

[0150] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (NVM), such as at least one disk storage.

[0151] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of this application is not limited to only one bus or one type of bus.

[0152] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.

[0153] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.

[0154] The above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.

[0155] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be an integral part of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (ASIC). Of course, the processor and the readable storage medium can also exist in a device as discrete components.

[0156] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.

[0157] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0158] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0159] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0160] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.

[0161] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.

Claims

1. A method for determining DH parameters of a surgical robot, characterized in that: include: According to the robot arm joint axis, determine the first DH parameter; Get the position of the end point and each joint when the robot arm joint is in different positions; Determine the target function of the search according to the positions of the end points and each joint; and setting the constraint conditions of the second DH parameters according to the first DH parameters; the first DH parameters include: the first link offset angle and the first joint distance; Selecting a target optimization algorithm, taking the first DH parameter as a search starting point, and iteratively updating the DH parameter based on the target optimization algorithm according to the objective function and constraints; the target optimization algorithm includes: least squares method, genetic algorithm, or particle swarm algorithm; Determine the DH parameter when the objective function is the minimum as the second DH parameter; The setting of the constraint condition of the second DH parameter according to the first DH parameter includes: According to the offset angle of the first link, the range of the offset angle of the second link is determined; for a non-parallel joint, the upper limit value of the offset angle of the second link is the sum of the offset angle of the first link and the first preset angle, and the lower limit value of the offset angle of the second link is the difference between the offset angle of the first link and the first preset angle; for a parallel joint, the upper limit value of the offset angle of the second link is the sum of the offset angle of the first link and the second preset angle, and the lower limit value of the offset angle of the second link is the difference between the offset angle of the first link and the second preset angle, and the second preset angle is smaller than the first preset angle; Determine the range of the second joint distance based on the first joint distance; for non-parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the first preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the first preset length; for parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the second preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the second preset length, and the second preset length is greater than the first preset length.

2. The method according to claim 1, characterized in that The first DH parameters also include: a first joint rotation angle and a first link length; The step of setting the constraint condition of the second DH parameter according to the first DH parameter further includes: According to the first joint rotation angle, a range of the second joint rotation angle is determined; the upper limit value of the second joint rotation angle is the sum of the first joint rotation angle and a third preset angle, and the lower limit value of the second joint rotation angle is the difference between the first joint rotation angle and the third preset angle; The range of the second connecting rod length is determined according to the first connecting rod length; the upper limit value of the second connecting rod length is the sum of the first connecting rod length and the third preset length, and the lower limit value of the second connecting rod length is the difference between the first connecting rod length and the third preset length.

3. The method according to claim 1 or 2, characterized in that: According to the robot arm joint axis, determine the first DH parameter, including: Determine a first joint axis according to a motion trajectory of a first joint of the robotic arm, wherein the first joint is a joint connected to a base of the surgical robot; Determine a base coordinate according to the first joint axis; According to all joint axes and the base coordinates, the first DH parameters are determined.

4. The method according to claim 3, characterized in that According to all joint axes and the base coordinates, the first DH parameters are determined, including: According to the joint motion trajectory, determine the joint axis of the corresponding joint; When the terminal joint is a moving joint, the terminal joint axis is corrected according to the terminal point position of the terminal joint; A first DH parameter is determined according to all joint axes and the base coordinates, wherein all joint axes include the corrected end joint axis.

5. A surgical robot DH parameter determination device, characterized in that: include: A determination module, used for determining a first DH parameter according to a joint axis of the robot arm; The acquisition module is used to obtain the positions of the end points and joints of the robot arm when the joints are in different positions; An optimization module, used for determining a search objective function according to the positions of the end points and the joints; and setting constraints of second DH parameters according to the first DH parameters; the first DH parameters include: first link offset angle, first joint distance; selecting a target optimization algorithm, taking the first DH parameters as a search starting point, and iteratively updating the DH parameters based on the target optimization algorithm according to the objective function and constraints; the target optimization algorithm includes: least squares method, genetic algorithm, or particle swarm algorithm; determining the DH parameter with the minimum objective function as the second DH parameter; When the optimization module sets the constraint condition of the second DH parameter according to the first DH parameter, it is specifically used to determine the range of the second link offset angle according to the first link offset angle; for non-parallel joints, the upper limit value of the second link offset angle is the sum of the first link offset angle and the first preset angle, and the lower limit value of the second link offset angle is the difference between the first link offset angle and the first preset angle; for parallel joints, the upper limit value of the second link offset angle is the sum of the first link offset angle and the second preset angle, and the lower limit value of the second link offset angle is the difference between the first link offset angle and the second preset angle, and the second preset angle is less than the first preset angle; according to the first joint distance, determine the range of the second joint distance; for non-parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the first preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the first preset length; for parallel joints, the upper limit value of the second joint distance is the sum of the first joint distance and the second preset length, and the lower limit value of the second joint distance is the difference between the first joint distance and the second preset length, and the second preset length is greater than the first preset length.

6. An electronic device, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 4.

7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 4 when executed by a processor.

8. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 4 when being executed by a processor.

Citation Information

Patent Citations

  • Mechanical arm kinematics MDH parameter calibration method based on self-adaptive gradient descent

    CN114083534A