Motion accuracy detection method, device, computer equipment, storage medium and product
By using preset kinematics and error estimation models combined with optical tracking devices in surgical robots, the problem of inaccurate traditional detection is solved, high-precision detection of surgical robots is achieved, system costs are reduced and detection accuracy is improved.
Patent Information
- Application Number
- CN202310887700.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-18
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2043-07-18
AI Technical Summary
Traditional methods have the problem of inaccurate precision detection when detecting the motion accuracy of surgical robots, and the use of optical tracking devices increases system costs and may lead to misjudgment.
By obtaining a set of motion data of the robot's target part, inputting it into a preset kinematic model and a preset error estimation model for position prediction, generating a set of predicted position coordinates, and combining it with an optical tracking device to measure the actual position coordinates, the robot's motion accuracy is calculated.
The accuracy of motion precision detection of surgical robots is improved, misjudgment is reduced, system costs are lowered, and the high precision and reliability of the robot system are ensured.
Smart Images

Figure CN119328806B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to a motion accuracy detection method, device, computer equipment, storage medium and product. Background Art
[0002] In the medical field, robotic-assisted surgery systems are increasingly being used in medical practice. Surgical robots are a crucial component of these systems. Therefore, the success or failure of robotic-assisted surgery depends on the robot's motion accuracy. Consequently, continuous maintenance of the robot is essential to ensure it maintains high motion accuracy over time. During use, the robot's motion accuracy is typically tested. If low accuracy is detected, the robotic arm must be recalibrated to maintain accuracy.
[0003] However, traditional methods have the problem of inaccurate precision detection when detecting the motion accuracy of surgical robots. Summary of the Invention
[0004] Based on this, it is necessary to provide a motion accuracy detection method, device, computer equipment, computer-readable storage medium and computer program product that can improve the detection accuracy of the motion accuracy of the surgical robot in order to address the above technical problems.
[0005] In a first aspect, the present application provides a motion accuracy detection method. Applied to a robot, the method comprises:
[0006] Obtaining a set of motion data of a target part on the robot, inputting the set of motion data of the target part into a preset kinematic model and a preset error estimation model for position prediction, and generating a set of predicted position coordinates corresponding to the motion data set;
[0007] Controlling the target part to move based on the motion data set, and measuring the position of the target part after the movement based on the motion data set, to generate a set of measured position coordinates corresponding to the motion data set;
[0008] The motion accuracy of the robot is determined according to the predicted position coordinate set corresponding to the motion data set and the measured position coordinate set corresponding to the motion data set.
[0009] In one embodiment, the motion data set of the target part is input into a preset kinematic model and a preset error estimation model for position prediction, and a predicted position coordinate set corresponding to the motion data set is generated, including:
[0010] For each motion data in the motion data set, the motion data is input into a preset kinematic model for position prediction, and an initial predicted position coordinate corresponding to the target part and the motion data is generated;
[0011] Input the motion data into a preset error estimation model to calculate the position error corresponding to the motion data;
[0012] Correcting the initial predicted position coordinates based on the position error to generate predicted position coordinates corresponding to the target part and the motion data;
[0013] Based on the predicted position coordinates of the target part corresponding to each motion data, a predicted position coordinate set corresponding to the motion data set is generated.
[0014] In one embodiment, a preset error estimation model is constructed from a sample motion data set and a standard position error corresponding to each sample motion data in the sample motion data set; the motion data is input into the preset error estimation model, and the position error corresponding to the motion data is calculated, including:
[0015] Determining, from the sample motion data set, a plurality of target sample motion data having a similarity with the motion data that is greater than or equal to a preset similarity threshold;
[0016] Based on the standard position error corresponding to the motion data of each target sample, a spatial interpolation algorithm is used to calculate the interpolation coefficient corresponding to the motion data of each target sample; the interpolation coefficient corresponding to the motion data of each target sample makes the deviation between the fused position error corresponding to the motion data of each target sample and the position error corresponding to the motion data less than a preset deviation threshold; the fused position error corresponding to the motion data of each target sample is calculated based on the interpolation coefficient corresponding to the motion data of each target sample and the standard position error corresponding to the motion data of each target sample;
[0017] Based on the interpolation coefficient corresponding to the motion data of each target sample and the standard position error corresponding to the motion data of each target sample, the position error corresponding to the motion data is calculated.
[0018] In one embodiment, the predicted position coordinate set includes predicted position coordinates corresponding to each motion data in the motion data set; the measured position coordinate set includes measured position coordinates corresponding to each motion data in the motion data set;
[0019] Determining the motion accuracy of the robot according to the predicted position coordinate set corresponding to the motion data set and the measured position coordinate set corresponding to the motion data set includes:
[0020] For each motion data in the motion data set, calculating a position error corresponding to the motion data according to a predicted position coordinate corresponding to the motion data and a measured position coordinate corresponding to the motion data;
[0021] The robot's motion accuracy is determined based on the position error corresponding to each motion data and the preset position error threshold.
[0022] In one embodiment, determining the motion accuracy of the robot based on the position error corresponding to each motion data and a preset position error threshold includes:
[0023] Calculate the weighted average of the position errors corresponding to each motion data;
[0024] Compare the weighted average value with the preset position error threshold to obtain a comparison result;
[0025] If the comparison result is that the weighted average value is greater than the preset position error threshold, it is determined that the motion accuracy of the robot does not meet the preset motion accuracy condition;
[0026] If the comparison result is that the weighted average value is less than or equal to the preset position error threshold, it is determined that the motion accuracy of the robot meets the preset motion accuracy condition.
[0027] In one embodiment, controlling a target part to move based on a motion data set, measuring a position of the target part after the movement based on the motion data set, and generating a set of measured position coordinates corresponding to the motion data set include:
[0028] For each motion data in the motion data set, the target part is controlled to move based on the motion data, and the position of the target part after the movement based on the motion data is measured by the optical tracking device to obtain the intermediate position coordinates of the target part at the position; the intermediate position coordinates are the position coordinates in the coordinate system of the optical tracking device;
[0029] According to the preset coordinate conversion matrix, the coordinates of the intermediate position of the target part at the position are converted to generate the measured position coordinates of the target part corresponding to the motion data; the measured position coordinates are the position coordinates in the base coordinate system of the robot;
[0030] Based on the measured position coordinates of the target part corresponding to each motion data, a set of measured position coordinates corresponding to the motion data set is generated.
[0031] In one embodiment, the method further comprises:
[0032] Obtaining a sample motion data set of a target part on the robot, inputting the sample motion data set of the target part into a preset kinematic model, and generating a theoretical position coordinate set corresponding to the sample motion data set;
[0033] Controlling the target part to move based on the sample motion data set, and measuring the position of the target part after the movement based on the sample motion data set to generate an actual position coordinate set corresponding to the sample motion data set;
[0034] Determining a standard position error set corresponding to the sample motion data set based on a theoretical position coordinate set corresponding to the sample motion data set and an actual position coordinate set corresponding to the sample motion data set;
[0035] A preset error estimation model is constructed based on the sample motion data set and the standard position error set corresponding to the sample motion data set.
[0036] In one embodiment, the target site comprises the end of a robotic arm on the robot.
[0037] In a second aspect, the present application also provides a motion accuracy detection device. Applied to a robot, the device comprises:
[0038] A first generation module is configured to obtain a motion data set of a target part on the robot, input the motion data set of the target part into a preset kinematic model and a preset error estimation model to perform position prediction, and generate a predicted position coordinate set corresponding to the motion data set;
[0039] a second generating module, configured to control the target part to move based on the motion data set, measure the position of the target part after the movement based on the motion data set, and generate a set of measured position coordinates corresponding to the motion data set;
[0040] The first determination module is used to determine the motion accuracy of the robot according to the predicted position coordinate set corresponding to the motion data set and the measured position coordinate set corresponding to the motion data set.
[0041] In a third aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the motion accuracy detection method in the first aspect when executing the computer program.
[0042] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the motion accuracy detection method in the first aspect.
[0043] In a fifth aspect, the present application further provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, it implements the steps of the motion accuracy detection method in the first aspect.
[0044] The above-mentioned motion accuracy detection method, device, computer equipment, storage medium and computer program product obtain the motion data set of the target part on the robot, and input the motion data set of the target part into a preset kinematic model and a preset error estimation model for position prediction, thereby generating a predicted position coordinate set corresponding to the motion data set; at the same time, based on the motion data set, the target part is controlled to move to the target position corresponding to each motion data in sequence, and each target position is measured to generate a measured position coordinate set corresponding to the motion data set; then, the motion accuracy of the robot is determined based on the predicted position coordinate set corresponding to the motion data set and the measured position coordinate set corresponding to the motion data set. That is to say, in an embodiment of the present application, before the robot is used, a predicted position coordinate set of the robot's target part can be determined based on a preset motion data set, and after controlling the movement of the robot's target part, a measured position coordinate set of the robot's target part can be determined, and based on the predicted position coordinate set and the measured position coordinate set, the robot's motion accuracy can be comprehensively determined to achieve detection of the surgical robot's motion accuracy, which can improve the accuracy of detection of the robot's motion accuracy; in addition, based on the preset motion data set, when predicting the position of the target part, combined with the preset kinematic model and the preset error estimation model, the robot's motion error is comprehensively considered on the basis of obtaining the theoretical coordinate position, so as to obtain predicted position coordinates that match the robot's motion accuracy, which can further improve the accuracy of detection of the robot's motion accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 A diagram showing an application environment of a motion accuracy detection method according to an embodiment;
[0046] Figure 2 1 is a flow chart of a motion accuracy detection method according to an embodiment;
[0047] Figure 3 is a flow chart of a motion accuracy detection method according to another embodiment;
[0048] Figure 4 is a flow chart of a motion accuracy detection method according to another embodiment;
[0049] Figure 5 is a flow chart of a motion accuracy detection method according to another embodiment;
[0050] Figure 6 is a flow chart of a motion accuracy detection method according to another embodiment;
[0051] Figure 7 Schematic diagram of simulation of estimated position errors of verification motion data in three coordinate directions in one embodiment;
[0052] Figure 8 A schematic diagram of a model accuracy simulation of verification motion data in three coordinate directions in one embodiment;
[0053] Figure 9 is a schematic structural diagram of a surgical navigation system in one embodiment;
[0054] Figure 10 1 is a schematic diagram of a complete flow chart of a motion accuracy detection method according to an embodiment;
[0055] Figure 11 is a structural block diagram of a motion accuracy detection device in one embodiment;
[0056] Figure 12 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0057] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0058] Robot-assisted surgery systems are being used more and more widely in medical practice. The motion accuracy of the surgical robot is one of the important indicators of the system. The level of its motion accuracy will directly determine the success or failure of the operation. Therefore, it is particularly important to ensure the motion accuracy of the surgical robot during the operation.
[0059] Typically, after calibration, a surgical robot arm can maintain good motion accuracy for a period of time. However, after a period of use, the motion accuracy decreases due to changes in kinematic parameters. At this time, the robot arm needs to be recalibrated. Therefore, during the use of the surgical robot, it is necessary to continuously maintain the surgical robot so that the surgical robot can maintain high motion accuracy for a long time. During the use of the surgical robot, the motion accuracy of the surgical robot can usually be tested first. If it is detected that the motion accuracy has decreased, the surgical robot arm needs to be recalibrated to maintain the motion accuracy of the surgical robot.
[0060] However, traditional methods for measuring the motion accuracy of surgical robots suffer from inaccuracies. Furthermore, optical tracking devices, a crucial component of the surgical robot system's precision chain, require accuracy verification before each surgery. This verification requires a separate verification fixture, increasing system costs. Deformation of the verification fixture can lead to loss of accuracy and misjudgment.
[0061] Based on this, the present application proposes a motion accuracy detection method, which can verify the motion accuracy of the surgical robot before surgery and improve the accuracy of motion accuracy detection.
[0062] The motion accuracy detection method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown, the robot may include a base 101 and a robotic arm 102. The robot may include a surgical robot used in a robot-assisted surgery system, or other robots involving robotic arm motion. Using this motion accuracy detection method, the motion accuracy of the robotic arm on the robot can be detected.
[0063] In one embodiment, Figure 2 As shown, a motion accuracy detection method is provided, which is applied to Figure 1 The robot in the example is used to illustrate the following steps:
[0064] Step 201: obtain a motion data set of a target part on the robot, input the motion data set of the target part into a preset kinematic model and a preset error estimation model for position prediction, and generate a predicted position coordinate set corresponding to the motion data set.
[0065] Among them, the target part of the robot may include the end of the robotic arm on the robot. When detecting the robot's motion accuracy, the end of the robotic arm of the robot can be controlled to move within a certain verification space to obtain motion data of the end of the robotic arm at multiple positions in the verification space, thereby obtaining a motion data set of the target part; the motion data set may include the joint angles of each joint on the robotic arm when the end of the robotic arm is in different spatial positions.
[0066] Exemplarily, the robot can first determine the joint motion space of each joint, that is, the joint angle range of each joint, when the end of the robotic arm moves in the verification space based on the base position of the robot and the position of the verification space; then, according to the joint motion space of each joint, determine the motion data set of the end of the robotic arm for motion accuracy detection; for example: in the joint motion space of each joint, randomly determine multiple groups of motion data of the end of the robotic arm, thereby obtaining a motion data set.
[0067] Furthermore, when a motion data set of the target part is obtained, the predicted position coordinates of the end of the robotic arm corresponding to each motion data in the motion data set can be determined; exemplarily, for each motion data, the motion data can be input into a preset coordinate prediction model to calculate the predicted position coordinates corresponding to the motion data.
[0068] In one implementation, the preset coordinate prediction model may include a preset kinematic model and a preset error estimation model, wherein the preset kinematic model is used to calculate the theoretical position coordinates of the end of the robotic arm according to the joint angles of each joint of the robotic arm based on the principle of positive kinematics, and the preset error estimation model can calculate the position error corresponding to the motion data based on the motion data. The preset error estimation model can be trained based on multiple sets of motion data and the calibrated position errors corresponding to each set of motion data.
[0069] Based on this, for the motion data set of the target part, the motion data set of the target part can be input into the preset kinematic model and the preset error estimation model for position prediction, thereby generating a predicted position coordinate set corresponding to the motion data set; exemplarily, for each motion data in the motion data set, each motion data can be input into the preset kinematic model and the preset error estimation model for position prediction, thereby generating predicted position coordinates corresponding to each motion data; then, based on the predicted position coordinates corresponding to each motion data, a predicted position coordinate set corresponding to the motion data set can be generated.
[0070] Step 202 : Control the target part to move based on the motion data set, measure the position of the target part after the movement based on the motion data set, and generate a set of measured position coordinates corresponding to the motion data set.
[0071] Exemplarily, based on the motion data set of the target part, the target part can be controlled to move according to each motion data in the motion data set, and after the target part moves based on one motion data, the position of the target part after movement is actually measured, thereby obtaining the measurement position coordinates corresponding to each motion data; finally, a measurement position coordinate set corresponding to the motion data set is obtained.
[0072] In one implementation, the position of the target part on the robot after movement can be actually measured by an external measuring device, thereby obtaining the measured position coordinates of the target part after movement in the robot base coordinate system; the external measuring device can include an optical tracking device, a three-dimensional scanning device, etc.
[0073] Step 203 : determining the motion accuracy of the robot according to the predicted position coordinate set corresponding to the motion data set and the measured position coordinate set corresponding to the motion data set.
[0074] The predicted position coordinate set may include predicted position coordinates corresponding to each motion data in the motion data set; and the measured position coordinate set may include measured position coordinates corresponding to each motion data in the motion data set.
[0075] Exemplarily, the motion accuracy of the robot can be determined based on the predicted position coordinates corresponding to each motion data and the measured position coordinates corresponding to each motion data. For example: for each motion data in the motion data set, the position error corresponding to the motion data can be calculated based on the predicted position coordinates corresponding to the motion data and the measured position coordinates corresponding to the motion data; then, the average position error of the position errors corresponding to each motion data is calculated to obtain the predicted position error of the target part on the robot. Furthermore, the predicted position error can be compared with a preset position error threshold. If the predicted position error is greater than the preset position error threshold, it can be determined that the motion accuracy of the robot is poor and does not meet the preset motion accuracy conditions of the robot. In this case, the robot should be recalibrated. If the predicted position error is less than or equal to the preset position error threshold, it can be determined that the motion accuracy of the robot is good and meets the preset motion accuracy conditions of the robot. In this case, the robot can be used to perform assisted surgical operations.
[0076] In the above-mentioned motion accuracy detection method, a motion data set of a target part on the robot is obtained, and the motion data set of the target part is input into a preset kinematic model and a preset error estimation model for position prediction, thereby generating a predicted position coordinate set corresponding to the motion data set; at the same time, based on the motion data set, the target part is controlled to move to the target position corresponding to each motion data in sequence, and each target position is measured to generate a measured position coordinate set corresponding to the motion data set; then, the motion accuracy of the robot is determined based on the predicted position coordinate set corresponding to the motion data set and the measured position coordinate set corresponding to the motion data set. That is to say, in an embodiment of the present application, before the robot is used, a predicted position coordinate set of the robot's target part can be determined based on a preset motion data set, and after controlling the movement of the robot's target part, a measured position coordinate set of the robot's target part can be determined, and based on the predicted position coordinate set and the measured position coordinate set, the robot's motion accuracy can be comprehensively determined to achieve detection of the surgical robot's motion accuracy, which can improve the accuracy of detection of the robot's motion accuracy; in addition, based on the preset motion data set, when predicting the position of the target part, combined with the preset kinematic model and the preset error estimation model, the robot's motion error is comprehensively considered on the basis of obtaining the theoretical coordinate position, so as to obtain predicted position coordinates that match the robot's motion accuracy, which can further improve the accuracy of detection of the robot's motion accuracy.
[0077] Figure 3FIG2 is a flow chart of another embodiment of a motion accuracy detection method. This embodiment involves inputting a motion data set of a target part into a preset kinematic model and a preset error estimation model for position prediction, and generating an optional implementation process of a predicted position coordinate set corresponding to the motion data set. Based on the above embodiment, as Figure 3 As shown, the above step 201 includes:
[0078] Step 301 : For each motion data in the motion data set, the motion data is input into a preset kinematic model for position prediction, and initial predicted position coordinates corresponding to the target part and the motion data are generated.
[0079] The preset kinematic model may be a forward kinematics model in robotics, which can calculate the theoretical position coordinates of the end of the robotic arm according to the joint angles of each joint of the robotic arm based on the principle of forward kinematics.
[0080] Based on this, each motion data is input into the preset kinematic model for position calculation, and the initial predicted position coordinates corresponding to each motion data can be obtained.
[0081] Step 302: Input the motion data into a preset error estimation model to calculate the position error corresponding to the motion data.
[0082] The preset error estimation model is constructed from a set of sample motion data and the standard position errors corresponding to each sample motion data in the set. For a robot's manipulator arm, once the joint angles of the manipulator arm are determined, the position error of the manipulator's end is also determined. Based on this, the preset error estimation model can be implemented by estimating the position error of the measured point using the position error of a known point. In other words, the position error corresponding to the motion data can be estimated based on the standard position errors corresponding to one or more sample motion data.
[0083] In one implementation, for each motion data in a motion data set, a plurality of target sample motion data whose similarity with the motion data is greater than or equal to a preset similarity threshold can be first determined from the sample motion data set; then, based on the standard position error corresponding to each target sample motion data, the position error corresponding to the motion data can be estimated; for example, the weighted average position error of the standard position errors corresponding to each target sample motion data can be used as the position error corresponding to the motion data.
[0084] For example, after obtaining the standard position error corresponding to each target sample motion data, a spatial interpolation algorithm may be used to calculate the interpolation coefficient corresponding to each target sample motion data based on the standard position error corresponding to each target sample motion data; then, the position error corresponding to the motion data may be calculated based on the interpolation coefficient corresponding to each target sample motion data and the standard position error corresponding to each target sample motion data. The interpolation coefficient corresponding to each target sample motion data may be such that the deviation between the fused position error corresponding to each target sample motion data and the position error corresponding to the motion data is less than a preset deviation threshold; and the fused position error corresponding to each target sample motion data may be calculated based on the interpolation coefficient corresponding to each target sample motion data and the standard position error corresponding to each target sample motion data.
[0085] It should be noted that the position coordinates of the end of the robotic arm include the three directions of X, Y, and Z. Therefore, the position error also includes the position errors corresponding to the three directions. The position errors in each direction can be calculated using the above-mentioned position error calculation method to calculate the position errors corresponding to the three directions of X, Y, and Z.
[0086] Step 303: Correct the initial predicted position coordinates according to the position error to generate predicted position coordinates corresponding to the target part and the motion data.
[0087] The initial predicted position coordinates include position coordinates in the three directions of X, Y, and Z. Therefore, when performing error correction on the initial predicted position coordinates, the position coordinates in the corresponding coordinate directions in the initial predicted position coordinates can be corrected based on the position errors corresponding to the three directions, thereby obtaining the predicted position coordinates corresponding to the motion data.
[0088] Step 304: Generate a predicted position coordinate set corresponding to the motion data set based on the predicted position coordinates of the target part corresponding to each motion data.
[0089] In this embodiment, when determining the predicted position coordinate set of the target part of the robot corresponding to the motion data set, for each motion data in the motion data set, the motion data is input into a preset kinematic model for position prediction to generate initial predicted position coordinates corresponding to the target part and the motion data; at the same time, the motion data is input into a preset error estimation model to calculate the position error corresponding to the motion data; then, the initial predicted position coordinates are corrected according to the position error to generate predicted position coordinates corresponding to the target part and the motion data; and then, based on the predicted position coordinates corresponding to the target part and each motion data, a predicted position coordinate set corresponding to the motion data set is generated. Using the position prediction method in this embodiment, it is possible to combine the principle of positive kinematics and the position error to obtain accurate predicted position coordinates, and then based on the accurate predicted position coordinates and the accurate measured position coordinates, it is possible to improve the detection accuracy of the robot's motion accuracy.
[0090] Figure 4 FIG2 is a flow chart of another embodiment of a motion accuracy detection method. This embodiment relates to an optional implementation process for determining the motion accuracy of a robot based on a predicted position coordinate set corresponding to a motion data set and a measured position coordinate set corresponding to the motion data set. Based on the above embodiment, Figure 4 As shown, the above step 203 includes:
[0091] Step 401 : For each motion data in the motion data set, calculate the position error corresponding to the motion data according to the predicted position coordinates corresponding to the motion data and the measured position coordinates corresponding to the motion data.
[0092] The predicted position coordinate set includes predicted position coordinates corresponding to each motion data in the motion data set; and the measured position coordinate set includes measured position coordinates corresponding to each motion data in the motion data set.
[0093] For example, for each piece of motion data in the motion data set, the position error corresponding to the motion data can be obtained by calculating the difference between the predicted position coordinates and the measured position coordinates based on the predicted position coordinates and the measured position coordinates. When the position coordinates include position coordinates in the X, Y, and Z directions, the position errors corresponding to the three coordinate directions can be obtained by calculating the difference between the predicted position coordinates and the position coordinates in the corresponding coordinate directions in the measured position coordinates; that is, the position errors corresponding to the obtained motion data include position errors corresponding to the X, Y, and Z directions.
[0094] Step 402 : determining the motion accuracy of the robot based on the position error corresponding to each motion data and a preset position error threshold.
[0095] Exemplarily, the weighted average value of the position errors corresponding to each motion data can be calculated first, and then the weighted average value can be compared with the preset position error threshold to obtain a comparison result; when the comparison result is that the weighted average value is greater than the preset position error threshold, it can be determined that the robot's motion accuracy does not meet the preset motion accuracy condition; when the comparison result is that the weighted average value is less than or equal to the preset position error threshold, it can be determined that the robot's motion accuracy meets the preset motion accuracy condition.
[0096] Exemplarily, for the three coordinate directions, the weighted average value of the position error corresponding to each coordinate direction can be obtained respectively, and the size relationship between the weighted average value of each coordinate direction and the preset position error threshold value can be compared respectively. When the weighted average value of one coordinate direction is greater than the preset position error threshold value, it can be determined that the robot's motion accuracy does not meet the preset motion accuracy condition, that is, the robot's motion accuracy is poor at this time, and the robot needs to be recalibrated; on the contrary, when the weighted average values of the three coordinate directions are all less than or equal to the preset position error threshold value, it can be determined that the robot's motion accuracy meets the preset motion accuracy condition.
[0097] In addition, it should be noted that the preset position error thresholds corresponding to the three coordinate directions may be the same or different, and the embodiments of the present application do not make specific limitations on this; when the preset position error thresholds corresponding to the three coordinate directions are different, it is necessary to compare the weighted average values of the three coordinate directions with the corresponding preset position error thresholds respectively, and when there is a weighted average value of at least one coordinate direction that is greater than the preset position error threshold corresponding to the coordinate direction, it is determined that the robot's motion accuracy does not meet the preset motion accuracy conditions.
[0098] In this embodiment, for each motion data in the motion data set, the position error corresponding to the motion data is calculated based on the predicted position coordinates corresponding to the motion data and the measured position coordinates corresponding to the motion data. The robot's motion accuracy is then determined based on the position error corresponding to each motion data and a preset position error threshold. Specifically, the predicted position coordinates and measured position coordinates corresponding to multiple motion data are used to comprehensively predict the robot's position error. By comparing the robot's position error with the preset position error threshold, it is determined whether the robot's motion accuracy meets the preset motion accuracy condition, thereby determining whether the robot needs to be recalibrated. This allows for detection of the robot's motion accuracy and improves the accuracy of detection of the robot's motion accuracy. Furthermore, robot systems with poor accuracy can be recalibrated in a timely manner, ensuring high-precision and high-reliability system performance.
[0099] Figure 5FIG2 is a flow chart of another embodiment of a motion accuracy detection method. This embodiment involves controlling a target part to move based on a motion data set, measuring the position of the target part after the motion based on the motion data set, and generating an optional implementation process of a measurement position coordinate set corresponding to the motion data set. Based on the above embodiment, Figure 5 As shown, the above step 202 includes:
[0100] Step 501, for each motion data in the motion data set, control the target part to move based on the motion data, and measure the position of the target part after the movement based on the motion data through an optical tracking device to obtain the middle position coordinates of the target part at that position.
[0101] The intermediate position coordinates are the position coordinates of the target part after movement in the coordinate system of the optical tracking device.
[0102] That is to say, the robot can control the target part to move based on the motion data in the motion data set, and after each movement, control the optical tracking device to measure the position of the target part on the robot after movement, so as to obtain the middle position coordinates of the target part after movement in the coordinate system of the optical tracking device.
[0103] Step 502 : performing coordinate transformation on the intermediate position coordinates of the target part at the position according to a preset coordinate transformation matrix to generate measurement position coordinates of the target part corresponding to the motion data.
[0104] The measured position coordinates are the position coordinates of the target part after movement in the robot's base coordinate system. Both the measured and predicted position coordinates are position coordinates in the robot's base coordinate system. The preset coordinate transformation matrix represents the coordinate transformation relationship between the optical tracking device coordinate system and the robot's base coordinate system.
[0105] Exemplarily, the preset coordinate transformation matrix can be determined by automatic registration of the robot; for example: when the robot is performing automatic registration, a cart array can be set up within the visual range of the robot and the optical tracking device, and the cart array includes multiple feature points; the robot can detect each feature point on the cart array to obtain the coordinates of each feature point in the robot base coordinate system, thereby obtaining a first coordinate matrix; at the same time, with the help of the optical tracking device, each feature point on the cart array is detected to obtain the coordinates of each feature point in the optical tracking device coordinate system, thereby obtaining a second coordinate matrix; then, by calculating the first coordinate matrix and the second coordinate matrix, the coordinate transformation relationship between the optical tracking device coordinate system and the robot base coordinate system is obtained, that is, the preset coordinate transformation matrix is obtained.
[0106] Then, based on this, when the intermediate position coordinates of the target part at the position after movement collected by the optical tracking device are obtained, the preset coordinate transformation matrix can be used to perform coordinate transformation on the intermediate position coordinates of the target part at the position after movement, thereby obtaining the measured position coordinates of the target part and the motion data corresponding to the robot base coordinate system.
[0107] Step 503: Generate a set of measured position coordinates corresponding to the motion data set based on the measured position coordinates of the target part corresponding to each motion data.
[0108] In this embodiment, for each motion data in a motion data set, a target part is first controlled to move based on the motion data, and after the motion, the position of the target part after the motion based on the motion data is measured using an optical tracking device, thereby obtaining the intermediate position coordinates of the target part after the motion in the coordinate system of the optical tracking device. Next, the intermediate position coordinates of the target part after the motion are transformed according to a preset coordinate conversion matrix to generate the measured position coordinates of the target part in the coordinate system of the robot base corresponding to the motion data. Finally, based on the measured position coordinates of the target part corresponding to each motion data, a set of measured position coordinates corresponding to the motion data set is generated. That is, in this embodiment, the position of the end position of the robot after the motion is measured using an external high-precision position measurement device, and the intermediate position coordinates collected by the position measurement device are transformed using the coordinate conversion matrix between the coordinate system of the position measurement device and the coordinate system of the robot base, thereby obtaining the measured position coordinates of the end position of the manipulator after the motion based on each motion data. This method can improve the measurement accuracy of the measured position coordinates of the end position of the manipulator, thereby improving the accuracy of detecting the motion accuracy of the robot.
[0109] Figure 6 This embodiment involves an optional implementation process of constructing a preset error estimation model. Based on the above embodiment, Figure 6 As shown, the above method also includes:
[0110] Step 601: obtain a sample motion data set of a target part on the robot, input the sample motion data set of the target part into a preset kinematic model, and obtain a theoretical position coordinate set corresponding to the sample motion data set.
[0111] The sample motion data set may be a plurality of sample motion data determined based on the joint motion space of each joint of the robotic arm mentioned in step 201, thereby constituting the sample motion data set. The preset kinematic model may be a forward kinematic model of the robot, including but not limited to a DH (Denavit-Hartenberg) model, a robot modeling model proposed by Denavit and Hartenberg, an M-DH (ModifiedDH) model, a spinor model, and the like.
[0112] Exemplarily, each sample motion data in the sample motion data set is input into the preset kinematic model respectively, and the theoretical position coordinates corresponding to each sample motion data can be obtained, thereby generating a theoretical position coordinate set corresponding to the sample motion data set.
[0113] Step 602: Control the target part to move based on the sample motion data set, measure the position of the target part after the movement based on the sample motion data set, and generate an actual position coordinate set corresponding to the sample motion data set.
[0114] For example, an external measuring device can be used to measure the position of the target part after movement, and based on the coordinate conversion relationship between the external measuring device coordinate system and the robot base coordinate system, the actual position coordinates under the robot base coordinates corresponding to the sample motion data can be obtained, thereby generating a set of actual position coordinates corresponding to the sample motion data set.
[0115] Step 603 : Determine a standard position error set corresponding to the sample motion data set based on the theoretical position coordinate set corresponding to the sample motion data set and the actual position coordinate set corresponding to the sample motion data set.
[0116] Exemplarily, the standard position error of each sample motion data is calculated for the theoretical position coordinates and actual position coordinates of each sample motion data in the sample motion data set; the standard position error of the sample motion data includes standard position errors corresponding to three coordinate directions respectively; then, based on the standard position error of each sample motion data, a standard position error set corresponding to the sample motion data set is generated.
[0117] Step 604 : constructing a preset error estimation model based on the sample motion data set and the standard position error set corresponding to the sample motion data set.
[0118] The following describes the construction process of the error estimation model using one of the coordinate directions, such as the X coordinate direction, as an example. The construction process of the error estimation model for the Y coordinate direction and the Z coordinate direction is the same as that for the X coordinate direction.
[0119] For example, each sample motion data in the sample motion data set may be unitized first, and the unitized sample motion data set may be expressed as S=[S1...S m ] T , S i =[θ1...θ n ], m represents the number of sample motion data, n represents the degree of freedom of the robot arm, and accordingly, the position error of the sample motion data can be expressed as Y = [y1...y m ].
[0120] For the error estimation model, regression equation and random function can be used to represent the target sample motion data x∈R n The position error, where the regression equation can be used to describe the deterministic error and the random function can be used to describe the random error, then the error estimation model can be expressed as:
[0121]
[0122] Among them, β is the parameter of the regression equation, f(x)∈R p , p represents the number of equations used to construct the regression equation. Assume that the expectation of the random process z(x) is zero and the variance is the same. Then, the relationship between the random errors at the two sets of inputs ω and x can be expressed by the related equation Expressed as:
[0123]
[0124] From the above related equations, it can be seen that the closer the joint space is, the closer the error is.
[0125] For a set of m sample motion data, construct an m×p matrix F, which is expressed as follows:
[0126] F=[f(s1)…f(s m )] T (3)
[0127] Similarly, construct an m×m correlation matrix R, and an element in the matrix can be expressed as follows:
[0128]
[0129] Consider the following regression problem:
[0130]
[0131] Therefore, the least squares solution of the regression equation parameters with respect to the correlation matrix R is β * ,but:
[0132] β* =(F T R -1 F) -1 F T R -1 Y (6)
[0133] Variance σ 2 The maximum likelihood estimator of is:
[0134]
[0135] Since R and β * The solution of depends on ξ, so R and β * The solution of is transformed into an optimization problem for ξ. The maximum likelihood estimator ξ of ξ is * This can be achieved by solving the following optimization problem:
[0136]
[0137] At this point, the correlation coefficients in the preset error estimation model can be obtained by using the relevant calculation process of the above formulas (1)-(8). These correlation coefficients can be used in the following formula (10).
[0138] Based on this, after obtaining the preset error estimation model, we can use spatial interpolation, such as Kriging interpolation method, to calculate the motion data set - motion data x∈R n The error estimate at It can be expressed as follows:
[0139]
[0140] where c∈R m is the interpolation coefficient. The idea of Kriging interpolation is to find a set of optimal c so that the estimated value The deviation from the true value y(x) is the smallest.
[0141]
[0142] To ensure is an unbiased estimate of y(x), defined as is the expected square of the estimation error, then:
[0143]
[0144] where Z = [z1...z m ]. To ensure Minimum, use the Lagrange method to solve the c value, and substitute it into formula (9), we can get:
[0145]
[0146] At this point, the position error corresponding to the motion data can be obtained.
[0147] Furthermore, for the above-mentioned preset error estimation model, the accuracy of the preset error estimation model may also be verified.
[0148] For example, the accuracy of the preset error estimation model can be verified through simulation experiments. Assuming that the robotic arm includes 7 joints, the joint motion spaces of the aforementioned joints of the robotic arm can include A1 (-50°, 60°), A2 (-5°, 80°), A3 (-40°, 45°), A4 (-105°, 35°), A5 (-40°, 55°), A6 (-10°, 110°), and A7 (-75°, 75°).
[0149] Taking the DH model as an example, the link length error and link offset error are randomly set between (-0.5mm, 0.5mm), and the joint angle offset error and link torsion angle error are randomly set between (-0.05°, 0.05°). These parameter errors are used to correct the theoretical DH parameters in the theoretical DH model to obtain the actual DH parameters and form the actual DH model. The theoretical DH model is used to simulate the robot system, while the actual DH model is used to simulate high-precision position measurement equipment.
[0150] 1000 sets of sample motion data are randomly generated from the joint motion space of the above-mentioned 7 joints, and the 1000 sets of sample motion data are respectively input into the theoretical DH model and the actual DH model to obtain the theoretical position coordinates and measured position coordinates corresponding to each sample motion data; the difference between the theoretical position coordinates and the measured position coordinates is the position error, so the position error corresponding to the 1000 sets of sample motion data can be obtained.
[0151] Next, the 1000 sets of sample motion data and the position errors corresponding to the 1000 sets of sample motion data are used as the input of the preset error estimation model, and another 1000 sets of verification motion data are randomly generated for verification. The 1000 sets of verification motion data are respectively input into the preset error estimation model to obtain the estimated position errors corresponding to each verification motion data, and the 1000 sets of verification motion data are input into the theoretical DH model and the actual DH model to obtain the actual position errors corresponding to each verification motion data; then, based on the estimated position error corresponding to each verification motion data and the actual position error corresponding to each verification motion data, the accuracy of the preset error estimation model is estimated based on the difference between the two position errors; the smaller the difference, the higher the accuracy of the preset error estimation model, that is, the more accurate the estimation result of the position error by the preset error estimation model is.
[0152] refer to Figure 7 and Figure 8 As shown, Figure 7 The estimated position error of each verification motion data in three coordinate directions is shown, where Figure 7 The ordinate in represents the estimated position error of each verification motion data estimated by the preset error estimation model; Figure 8 The model accuracy of the verified motion data in three coordinate directions is shown, where Figure 8 The vertical axis in represents the estimated error between the estimated position error and the actual position error. It can be seen that the error of the preset error estimation model fluctuates between (-0.05, +0.05), that is, the accuracy of the preset error estimation model is approximately ±0.05. Therefore, the accuracy of the preset error estimation model is relatively high.
[0153] In this embodiment, a process for constructing a preset error estimation model is described. The preset error estimation model constructed using the above process has high accuracy and can achieve accurate detection of the end position of the robotic arm, thereby helping to improve the detection accuracy of the robot's motion accuracy.
[0154] In one embodiment, a complete embodiment of a motion accuracy detection method is provided. Figure 9 FIG. 1 shows a surgical navigation system that may include an optical tracking device 91, a surgical robotic arm 92, an error verification area 93 in a workspace, and a cart array 94. The optical tracking device 91 is used to measure the end position of the surgical robotic arm 92 and various feature points on the cart array. The error verification area 93 may be a high-precision verification space used to test the accuracy of the entire surgical navigation system. The cart array 94 is used to assist in determining the coordinate transformation relationship between the optical tracking device coordinate system and the surgical robotic arm base coordinate system.
[0155] Based on the above surgical navigation system structure, refer to Figure 10 As shown, when testing the motion accuracy of the surgical robot, the following steps may be included:
[0156] Step 1: Plan a verification space in the surgical navigation system workspace, sample in the verification space, convert the coordinates of the sampling points to the robotic arm base coordinate system, and obtain the actual position coordinates of each sampling point in the robotic arm base coordinate system.
[0157] Step 2: Determine the standard position error of each sampling point based on the theoretical position coordinates and the actual position coordinates of each sampling point; and construct an error estimation model based on the robot arm motion data corresponding to each sampling point and the standard position error of each sampling point.
[0158] Step 3: Before the actual surgical operation, the robotic arm is automatically registered and a homogeneous coordinate transformation matrix is constructed between the robotic arm base coordinate system and the coordinate system of the optical tracking device where the cart array is located.
[0159] Step 4: According to the preset motion data set (i.e., pose set), control the end of the robotic arm to move into the verification space.
[0160] Step 5: After the end of the robotic arm moves to the verification space, on the one hand, the predicted position coordinates of the end of the robotic arm in the current posture are obtained according to the error estimation model constructed in step 2. On the other hand, according to the homogeneous coordinate transformation matrix constructed in step 3, the intermediate position coordinates of the end of the robotic arm obtained by the optical tracking device are transformed into the robotic arm base coordinate system to obtain the measured position coordinates of the end of the robotic arm in the current posture.
[0161] Step 6: Compare the position errors between the predicted position coordinates and the measured position coordinates under multiple postures, take the average, and compare the average position error with the preset position error threshold. If the average position error is greater than the preset position error threshold, it can be considered that the accuracy of the surgical navigation system does not meet the requirements and needs to be recalibrated.
[0162] The accuracy verification method in this embodiment is simple to operate and can verify the accuracy of the surgical navigation system before surgery to avoid accuracy problems during surgery that may lead to surgical failure. In addition, this accuracy verification method can not only verify the motion accuracy of the surgical robot, but also verify the overall accuracy of the surgical navigation system, avoiding the need for separate verification of system components (such as optical tracking devices), improving the efficiency of system accuracy verification, and reducing the cost of system accuracy verification.
[0163] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0164] Based on the same inventive concept, embodiments of the present application also provide a motion accuracy detection device for implementing the aforementioned motion accuracy detection method. The solution provided by this device is similar to the solution described in the aforementioned method. Therefore, the specific limitations in one or more embodiments of the motion accuracy detection device provided below can be found in the above-described limitations on the motion accuracy detection method and will not be further elaborated here.
[0165] In one embodiment, Figure 11 As shown, a motion accuracy detection device is provided, which is applied to a robot and includes: a first generating module 1101, a second generating module 1102 and a first determining module 1103, wherein:
[0166] The first generation module 1101 is used to obtain a motion data set of a target part on the robot, input the motion data set of the target part into a preset kinematic model and a preset error estimation model for position prediction, and generate a predicted position coordinate set corresponding to the motion data set.
[0167] The second generating module 1102 is configured to control the target part to move based on the motion data set, measure the position of the target part after the movement based on the motion data set, and generate a set of measured position coordinates corresponding to the motion data set.
[0168] The first determination module 1103 is configured to determine the motion accuracy of the robot according to the predicted position coordinate set corresponding to the motion data set and the measured position coordinate set corresponding to the motion data set.
[0169] In one embodiment, the first generation module 1101 includes a prediction submodule, a first calculation submodule, a correction submodule and a first generation submodule; wherein,
[0170] A prediction submodule is used to input the motion data into a preset kinematic model for position prediction for each motion data in the motion data set, and generate initial predicted position coordinates of the target part corresponding to the motion data;
[0171] A first calculation submodule is configured to input the motion data into a preset error estimation model and calculate a position error corresponding to the motion data;
[0172] A correction submodule is used to correct the initial predicted position coordinates according to the position error and generate the predicted position coordinates corresponding to the target part and the motion data;
[0173] The first generating submodule is configured to generate a predicted position coordinate set corresponding to the motion data set based on the predicted position coordinates corresponding to the target part and each motion data.
[0174] In one embodiment, the preset error estimation model is constructed by a sample motion data set and a standard position error corresponding to each sample motion data in the sample motion data set; the first calculation submodule includes a determination unit, a first calculation unit and a second calculation unit; wherein,
[0175] a determining unit, configured to determine, from the sample motion data set, a plurality of target sample motion data having a similarity with the motion data that is greater than or equal to a preset similarity threshold;
[0176] a first calculation unit configured to calculate, based on a standard position error corresponding to each target sample motion data, an interpolation coefficient corresponding to each target sample motion data using a spatial interpolation algorithm; the interpolation coefficient corresponding to each target sample motion data being such that a deviation between a fused position error corresponding to each target sample motion data and a position error corresponding to the motion data is less than a preset deviation threshold; the fused position error corresponding to each target sample motion data being calculated based on the interpolation coefficient corresponding to each target sample motion data and the standard position error corresponding to each target sample motion data;
[0177] The second calculation unit is used to calculate the position error corresponding to the motion data based on the interpolation coefficient corresponding to each target sample motion data and the standard position error corresponding to each target sample motion data.
[0178] In one embodiment, the predicted position coordinate set includes predicted position coordinates corresponding to each motion data in the motion data set; the measured position coordinate set includes measured position coordinates corresponding to each motion data in the motion data set; the first determination module 1103 includes a second calculation submodule and a determination submodule, wherein,
[0179] A second calculation submodule is configured to calculate, for each motion data in the motion data set, a position error corresponding to the motion data based on the predicted position coordinates corresponding to the motion data and the measured position coordinates corresponding to the motion data;
[0180] The determination submodule is used to determine the motion accuracy of the robot based on the position error corresponding to each motion data and a preset position error threshold.
[0181] In one embodiment, the determination submodule includes a third calculation unit, a comparison unit, and a determination unit, wherein:
[0182] a third calculating unit, configured to calculate a weighted average of position errors corresponding to each motion data;
[0183] A comparison unit, configured to compare the weighted average value with a preset position error threshold to obtain a comparison result;
[0184] a determining unit, configured to determine that the motion accuracy of the robot does not meet a preset motion accuracy condition when the comparison result shows that the weighted average value is greater than a preset position error threshold;
[0185] The determining unit is further configured to determine that the motion accuracy of the robot meets a preset motion accuracy condition when the comparison result shows that the weighted average value is less than or equal to a preset position error threshold.
[0186] In one embodiment, the second generation module 1102 includes a control submodule, a coordinate conversion submodule, and a second generation submodule, wherein:
[0187] a control submodule for controlling the target part to move based on the motion data for each motion data in the motion data set, and measuring the position of the target part after the motion based on the motion data using an optical tracking device to obtain intermediate position coordinates of the target part at the position; the intermediate position coordinates are position coordinates in the coordinate system of the optical tracking device;
[0188] The coordinate conversion submodule is used to convert the intermediate position coordinates of the target part at the position according to the preset coordinate conversion matrix to generate the measured position coordinates of the target part corresponding to the motion data; the measured position coordinates are the position coordinates in the base coordinate system of the robot;
[0189] The second generating submodule is configured to generate a set of measurement position coordinates corresponding to the motion data set based on the measurement position coordinates corresponding to the target part and each motion data.
[0190] In one embodiment, the device further includes: a third generating module, a fourth generating module, a second determining module and a model building module; wherein,
[0191] A third generation module is used to obtain a sample motion data set of a target part on the robot, input the sample motion data set of the target part into a preset kinematic model, and generate a theoretical position coordinate set corresponding to the sample motion data set;
[0192] a fourth generating module, configured to control the target part to move based on the sample motion data set, measure the position of the target part after the movement based on the sample motion data set, and generate a set of actual position coordinates corresponding to the sample motion data set;
[0193] a second determining module, configured to determine a standard position error set corresponding to the sample motion data set based on a theoretical position coordinate set corresponding to the sample motion data set and an actual position coordinate set corresponding to the sample motion data set;
[0194] The model building module is used to build a preset error estimation model based on a sample motion data set and a standard position error set corresponding to the sample motion data set.
[0195] In one embodiment, the target site comprises the end of a robotic arm on the robot.
[0196] Each module in the aforementioned motion accuracy detection device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in the computer device in the form of software, so that the processor can call and execute the corresponding operations of each module.
[0197] In one embodiment, a computer device is provided. The computer device may be a robot device including a mechanical arm, and its internal structure diagram may be as shown in FIG. Figure 12 As shown. The computer device includes a processor, a memory, a communication interface, a display screen and an input device connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be achieved through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a motion accuracy detection method is implemented. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad provided on the computer device housing, or an external keyboard, touchpad or mouse.
[0198] Those skilled in the art will understand that Figure 12 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0199] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps of the motion accuracy detection method in any of the above embodiments when executing the computer program.
[0200] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the motion accuracy detection method in any of the above embodiments are implemented.
[0201] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the steps of the motion accuracy detection method in any of the above embodiments.
[0202] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.
[0203] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0204] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A motion accuracy detection method, characterized in that: Applied to a robot, the method comprises: Obtaining a motion data set of a target part on the robot, inputting the motion data set of the target part into a preset kinematic model and a preset error estimation model for position prediction, and generating a predicted position coordinate set corresponding to the motion data set; controlling the target part to move based on the motion data set, and measuring the position of the target part after the movement based on the motion data set, to generate a set of measured position coordinates corresponding to the motion data set; The motion accuracy of the robot is determined according to a predicted position coordinate set corresponding to the motion data set and a measured position coordinate set corresponding to the motion data set.
2. The method according to claim 1, characterized in that The step of inputting the motion data set of the target part into a preset kinematic model and a preset error estimation model to perform position prediction, and generating a predicted position coordinate set corresponding to the motion data set, comprises: For each motion data in the motion data set, input the motion data into the preset kinematic model for position prediction, and generate initial predicted position coordinates of the target part corresponding to the motion data; Inputting the motion data into the preset error estimation model to calculate the position error corresponding to the motion data; Correcting the initial predicted position coordinates according to the position error to generate predicted position coordinates of the target part corresponding to the motion data; Based on the predicted position coordinates of the target part corresponding to each of the motion data, a predicted position coordinate set corresponding to the motion data set is generated.
3. The method according to claim 2, characterized in that The preset error estimation model is constructed by a sample motion data set and a standard position error corresponding to each sample motion data in the sample motion data set; inputting the motion data into the preset error estimation model to calculate the position error corresponding to the motion data includes: Determining, from the sample motion data set, a plurality of target sample motion data having a similarity with the motion data that is greater than or equal to a preset similarity threshold; Based on the standard position error corresponding to each target sample motion data, a spatial interpolation algorithm is used to calculate an interpolation coefficient corresponding to each target sample motion data; the interpolation coefficient corresponding to each target sample motion data makes the deviation between the fused position error corresponding to each target sample motion data and the position error corresponding to the motion data less than a preset deviation threshold; the fused position error corresponding to each target sample motion data is calculated based on the interpolation coefficient corresponding to each target sample motion data and the standard position error corresponding to each target sample motion data; The position error corresponding to the motion data is calculated based on the interpolation coefficient corresponding to each target sample motion data and the standard position error corresponding to each target sample motion data.
4. The method according to any one of claims 1 to 3, characterized in that The predicted position coordinate set includes the predicted position coordinates corresponding to each motion data in the motion data set; the measured position coordinate set includes the measured position coordinates corresponding to each motion data in the motion data set; The determining the motion accuracy of the robot according to the predicted position coordinate set corresponding to the motion data set and the measured position coordinate set corresponding to the motion data set includes: For each motion data in the motion data set, calculating a position error corresponding to the motion data according to a predicted position coordinate corresponding to the motion data and a measured position coordinate corresponding to the motion data; The motion accuracy of the robot is determined according to the position error corresponding to each of the motion data and a preset position error threshold.
5. The method according to claim 4, characterized in that Determining the motion accuracy of the robot according to the position error corresponding to each motion data and a preset position error threshold includes: Calculating a weighted average of position errors corresponding to each of the motion data; Comparing the weighted average value with the preset position error threshold to obtain a comparison result; If the comparison result is that the weighted average value is greater than the preset position error threshold, it is determined that the motion accuracy of the robot does not meet the preset motion accuracy condition; If the comparison result is that the weighted average value is less than or equal to the preset position error threshold, it is determined that the motion accuracy of the robot meets the preset motion accuracy condition.
6. The method according to any one of claims 1 to 3, characterized in that The controlling the target part to move based on the motion data set, measuring the position of the target part after the movement based on the motion data set, and generating a set of measured position coordinates corresponding to the motion data set, includes: For each motion data in the motion data set, controlling the target part to move based on the motion data, and measuring the position of the target part after the movement based on the motion data by an optical tracking device to obtain the intermediate position coordinates of the target part at the position; the intermediate position coordinates are the position coordinates in the coordinate system of the optical tracking device; Performing coordinate transformation on the intermediate position coordinates of the target part at the position according to a preset coordinate transformation matrix to generate measurement position coordinates of the target part corresponding to the motion data; the measurement position coordinates are position coordinates in the base coordinate system of the robot; Based on the measured position coordinates of the target part corresponding to each of the motion data, a set of measured position coordinates corresponding to the motion data set is generated.
7. The method according to any one of claims 1 to 3, characterized in that The method further comprises: Obtaining a sample motion data set of a target part on the robot, inputting the sample motion data set of the target part into the preset kinematic model, and generating a theoretical position coordinate set corresponding to the sample motion data set; controlling the target part to move based on the sample motion data set, and measuring the position of the target part after the movement based on the sample motion data set, to generate an actual position coordinate set corresponding to the sample motion data set; determining a standard position error set corresponding to the sample motion data set based on a theoretical position coordinate set corresponding to the sample motion data set and an actual position coordinate set corresponding to the sample motion data set; The preset error estimation model is constructed according to the sample motion data set and a standard position error set corresponding to the sample motion data set.
8. The method according to any one of claims 1 to 3, characterized in that The target part includes the end of the robotic arm of the robot.
9. A motion accuracy detection device, characterized in that: Applied to a robot, the device comprises: a first generating module, configured to obtain a set of motion data of a target part on the robot, input the set of motion data of the target part into a preset kinematic model and a preset error estimation model for position prediction, and generate a set of predicted position coordinates corresponding to the set of motion data; a second generating module, configured to control the target part to move based on the motion data set, measure the position of the target part after the movement based on the motion data set, and generate a set of measured position coordinates corresponding to the motion data set; The prediction module is used to determine the motion accuracy of the robot according to the predicted position coordinate set corresponding to the motion data set and the measured position coordinate set corresponding to the motion data set.
10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
12. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Robot trajectory tracking control method, magnetic medical robot and storage medium
CN114019798A
Robot 6D pose estimation system and method
CN114131595A