SYSTEM AND METHOD FOR REDUCING INTERFERENCE IN POSITIONAL SENSORS FOR ROBOTIC SURGERY
20230157767 · 2023-05-25
Inventors
- Peter L. Bono (Bingham Farms, MI, US)
- James D. Lark (West Bloomfield, MI, US)
- John S. Scales (Ann Arbor, MI, US)
- Thomas J. Lord (South Milwaukee, WI, US)
Cpc classification
A61B2090/397
HUMAN NECESSITIES
A61B34/20
HUMAN NECESSITIES
A61B2034/2072
HUMAN NECESSITIES
International classification
Abstract
The invention involves a system and method for increasing positional accuracy of surgical systems that utilize magnetic or electromagnetic sensors to provide positional awareness to a surgeon or robot performing the surgery. The system takes advantage of electromagnetic tracking through sensors. These sensors are very accurate and repeatable, while being compact enough to not inhibit surgical procedures. The accuracy and repeatability of the sensors is <1 mm within a predetermined 6 inch×6 inch performance motion box. The system is constructed and arranged to map the distortion patterns of the sensor and, in real time, correct the distortion pattern to provide accurate location of anatomical structures for performance of a surgery.
Claims
1. A system for locating a position of a surgical tool held by a surgical robot with compensation for electromagnetic interference from the surgical tool, comprising: a surgical tool for performing a medical procedure on a patient; an electromagnetic sensor secured to the surgical tool; a field generator adapted to generate a magnetic field around the electromagnetic sensor to induce current in the electromagnetic sensor; a control unit configured to calculate the position of the electromagnetic sensor from the induced current; a neural network which has been trained with distorted data representing a position of the electromagnetic sensor with interference from nearby objects, the neural network being trained until a threshold error reaches a predetermined threshold; a robot having an arm for holding the surgical tool, wherein the control unit is configured to receive the position of the electromagnetic sensor for positioning the robot arm based on the trained neural network and the distorted data from the electromagnetic sensor.
2. The system of claim 1, wherein the neural network comprises: a first neural network which has been trained with distorted data representing a position of the electromagnetic sensor with interference from nearby objects; and a second neural network which has been trained with distorted data representing an orientation of the electromagnetic sensor with interference from nearby objects.
3. The system of claim 1, wherein the control unit is programmed to cause the robot arm to move the surgical tool through a series of positions and is programmed to record the distorted data from the electromagnetic sensor secured to the surgical tool for purposes of collecting data points for training the neural network.
4. The system of claim 1, wherein the distorted data for training the neural network includes a difference between distorted sensor data and undistorted sensor data.
5. The system of claim 4, wherein the difference between the distorted sensor data and the undistorted sensor data includes an X,Y,Z position and a rotation matrix representing an orientation of the electromagnetic sensor at the time of measurement.
6. The system of claim 1, wherein the distorted data used to train the neural network includes a current surgical tool position and orientation, a current electromagnetic transformation matrix and an electromagnetic sensor quality.
7. The system of claim 1, wherein the neural network has been iteratively trained until the difference between the distorted data and a predicted data is less than 0.01 mm and 0.01 degrees.
8. The system of claim 1, wherein the neural network has been trained with distorted data that has been normalized.
9. The system of claim 3, wherein the control unit constructs a distortion map for the surgical tool, the distortion map representing a positional distortion between the electromagnetic sensor and the field generator for the surgical tool as the surgical tool is moved through the series of positions.
10. The system of claim 9 wherein the robot is adapted to utilize two or more surgical tools, the control unit constructing a respective distortion map for each surgical tool.
11. A system for locating a position of a surgical tool held by a surgical robot with compensation for electromagnetic interference, comprising: a surgical tool for performing a medical procedure on a patient; an electromagnetic sensor secured to the surgical tool; a field generator adapted to generate a magnetic field around the electromagnetic sensor to induce current in the electromagnetic sensor; a control unit configured to calculate the position and orientation of the electromagnetic sensor from the induced current; a neural network which has been trained with distorted data representing a position and orientation of the electromagnetic sensor with interference from nearby objects, the neural network being trained until a threshold error reaches a predetermined threshold; a robot having an arm for holding the surgical tool, wherein the control unit is configured to receive the position and orientation of the electromagnetic sensor for positioning the robot arm based on the trained neural network and the distorted data from the electromagnetic sensor.
12. The system of claim 11, wherein the neural network comprises: a first neural network which has been trained with distorted data representing a position of the electromagnetic sensor with interference from nearby objects; and a second neural network which has been trained with distorted data representing an orientation of the electromagnetic sensor with interference from nearby objects.
13. The system of claim 11, wherein the control unit is programmed to cause the robot arm to move the surgical tool through a series of positions and is programmed to record the distorted data from the electromagnetic sensor secured to the surgical tool for purposes of collecting data points for training the neural network.
14. The system of claim 11, wherein the distorted data for training the neural network includes a difference between distorted sensor data and undistorted sensor data.
15. The system of claim 14, wherein the difference between the distorted sensor data and the undistorted sensor data includes an X,Y,Z position and a rotation matrix representing an orientation of the electromagnetic sensor at the time of measurement.
16. The system of claim 11, wherein the distorted data used to train the neural network includes a current surgical tool position and orientation, a current electromagnetic transformation matrix and an electromagnetic sensor quality.
17. The system of claim 11, wherein the neural network has been iteratively trained until the difference between the distorted data and a predicted data is less than 0.01 mm and 0.01 degrees.
18. The system of claim 11, wherein the neural network has been trained with distorted data that has been normalized.
19. The system of claim 13, wherein the control unit constructs a distortion map for the surgical tool, the distortion map representing a positional distortion between the electromagnetic sensor and the field generator for the surgical tool as the surgical tool is moved through the series of positions.
20. The system of claim 19 wherein the robot is adapted to utilize two or more surgical tools, the control unit constructing a respective distortion map for each surgical tool.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0015]
[0016]
[0017]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] While the present invention is susceptible of embodiment in various forms, there is shown in the drawings and will hereinafter be described a presently preferred embodiment with the understanding that the present disclosure is to be considered an exemplification of the invention and is not intended to limit the invention to the specific embodiments illustrated.
[0019] Referring generally to
[0020] A robot 18 having at least two axes of movement, and more preferably six or seven axes of movement, such as an automotive style assembly robot, is electrically connected to a control computer 20 for controlling movements of said robot about the multiple axes of movement. The robotic control computer 20 is electrically connected to a system control unit 22 in electrical communication with the field generator 14 and the electromagnetic sensor(s) 10. The system control unit 22 is constructed and arranged to calculate the position and orientation of the electromagnetic sensor(s) 10 within a predetermined field 24 for receiving information regarding the position of the electromagnetic sensor(s) 10 for positioning the robot 18 and surgical tool 26. The surgical tool 26 is connected to the distal end 28 of the robot 18 for performing a portion of a medical procedure. The surgical tool 26 may be constructed of a material, such as metal, or some other material that interferes with the magnetic field when positioned within the predetermined field 24.
[0021] In alternative embodiments, the system may include multiple tools that are interchanged during the surgical procedure, either manually or automatically. In a preferred embodiment, the robot control computer 20 is utilized to cause the robot 18 to move the surgical tool 26 through a series of positions, recording positional interference between the electromagnetic sensor 10, the field generator 14, and the system control unit 22 to provide accurate positioning of said surgical tool 26 with respect to the electromagnetic sensor 10. In this manner, the positional interference is utilized during a surgical procedure by comparing the perceived surgical tool 26 position as controlled by the control computer 20 with the recorded positional interference to determine if the electromagnetic sensor 10 has moved with respect to an original position, requiring the robot to reposition its programmed moves to place it in proper relationship to the electromagnetic sensor 10. In at least some embodiments, the induced currents are varied by altering the magnetic field 16 with the field generator 14. In a preferred embodiment, the control computer 20 constructs a distortion map 23 for each surgical tool 26, the distortion map representing the positional distortion between the electromagnetic sensor(s) 10, the field generator 14, and the system control unit 22 for each surgical tool 26 as it is moved through a predetermined series of positions. In this manner, the real position of the electromagnetic sensor(s) 10 can be determined in real time without retracting the tool 26 from the operating site to remove the interference caused by the tool 26 entering the predetermined field 24.
[0022] In some embodiments, the surgical robot 18 utilizes two or more surgical tools 26 to complete an operation in these embodiments, each surgical tool 26 may be assigned a respective distortion map; so that, when a particular surgical tool 26 is utilized, the respective distortion map for the surgical tool 26 can be utilized for proper positioning of the surgical tool 26 for the procedure. In the preferred embodiment, the robot 18 moves the surgical tool 26 through a plurality of orientations and positions with respect to the electromagnetic sensor 10. In these embodiments, the positional distortion of the surgical tool 26 orientation may be stored on a second positional distortion map 123. In this manner, the first positional distortion map and the second positional distortion map may both be utilized to determine if the surgical tool 26 is being positioned as desired with respect to the electromagnetic sensor(s) 10 in real time. In a particularly preferred embodiment, the positions of the surgical tools 26 may be monitored as X, Y and Z coordinates, or they may be angular measurements of the robotic arms or any other suitable method of monitoring the distal position of a tool or a portion of the robotic arm itself.
[0023] Still referring to
[0024] Implementation of the system 100 includes three main steps in the neural network. Test set collection, network training, and filtering. Test set collection involves a test collection program, which may be written in a computer language such as C++, and preferably a KUKA Sunrise Robot command program. The goal is to gather interference data that can be used to train the system. In one embodiment, an electromagnetic sensor from a company such as NDI is held in a substantially fixed position/orientation, while the surgical tool 26 is robotically moved around it via the command program and data is collected. This is repeated for many different sensor positions/orientations. The robot movements encompass as many different positions and orientations of the tool as possible with respect to the sensor or sensor's position. This will create the most training data for the system to learn with. As the robot is moving, tool position data is being sent to a test collection program.
[0025] The test collection program records an initial undistorted sensor matrix (the true sensor position). This sensor position is then locked for the remainder of the test run. The robot moves the tool through a series of test positions, causing distortion in the sensor data. This program records the distorted sensor data and current surgical tool 26 position. When the robot 18 finishes its movement patterns, for each recorded data point, this program calculates the difference between the original undistorted sensor and the distorted data. This value is the sensor distortion. The difference between the distorted sensor and undistorted sensor (X, Y, Z position and rotation matrix) becomes the values which the network will solve for. These results are written to the network and saved on the distortion map. This process is repeated with different sensor positions within a preferable six inch predetermined field 24. It should be noted that other predetermined field sizes can be utilized without departing from the scope of the invention. It should also be noted that by limiting the size of the field, the accuracy of the distortion map is increased.
[0026] The network training includes using the saved data from the test set collection. The network training program may be written in a computer programming language such as, but not limited to Python, and may train two networks which predict the position and orientation distortions for the sensor 10. The Python Program may be written using a computer programming language such as Google's TensorFlow API as the network framework. This program takes pre-saved training data and normalizes all values. Normalization is key in neural networks to avoid having large numbers skew training results. The normalization ranges are saved for later use in the live predictions. The data is split into Labels (the answer that we want the neural network to solve for) and features (the data which will be used to determine the labels). The Labels preferably include 12 values total (full matrix) which describe the distortion on the electromagnetic sensor. A features value includes nineteen (19) values which include the current tool Position and Euler Angles, the current electromagnetic sensor transformation matrix, and the electromagnetic sensor quality. The formatted training data is preferably passed to Google's TensorFlow API functions and saved to the neural network results. Preferably, two neural networks are trained; one calculates the positional distortion and one calculates the distortion on orientation. Training is repeated until the training loss (difference between provided label and predicted label) is preferably less than 0.01 mm and 0.01 degrees. Momentum based neural network is used to avoid getting stuck in local minima, and to aid in reaching a global minimum for training loss.
[0027] The Neural Network Live Feed includes a C++ and Python program, and uses the saved neural network to correct for distorted sensor data real time. The portion of the program written in C++ sends tool position data and raw electromagnetic sensor data to the neural network to be corrected, and corrects sensor data. This portion also receives and combines tool position data and raw electromagnetic sensor data and forwards this information to the Python Neural Network. The Python Neural Network receives distortion value back from the Python program for the current sensor. The difference between the raw sensor data and the distortion values received from the Python Neural Network (this is the corrected sensor position and orientation) is calculated. The corrected sensor data is forwarded to the sensor integration program.
[0028] The Python Program receives tool position/orientation data and sensor transformation data and supplies it to a neural network; and then sends the results back to the C++ program which receives the nineteen (19) features from the C++ program and normalizes them using the saved normalization values calculated during training. The normalized data is fed to the two saved neural networks and receives predicted distortion values. The predicted distortion values are combined and sent back to the C++ program.