System for user manipulation of a surgical tool according to a planned trajectory - Patent Application 20070122997
The system addresses mechanical load and deviation issues in surgical robotic systems by using a control unit and load sensors to adjust motor commands, ensuring precise alignment of surgical tools, thereby reducing mechanical stress and preventing complications during surgery.
Patent Information
- Application Number
- JP2025537051
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-23
- Filing Date
- 2023-12-21
- Publication Date
- 2026-01-13
AI Technical Summary
Surgical robotic systems experience significant mechanical loads and deviations during screw insertion, leading to issues like screw loosening and bone damage due to variable deviations from the planned axis, which are difficult to correct without applying large forces.
A system with a surgical robotic system, a control unit, and load measuring means to align the surgical tool according to a planned trajectory, using motor-driven segments, torque/force sensors, and compensation models to reduce mechanical loads by adjusting motor commands based on measured loads and stored data.
Reduces mechanical loads on anatomical structures during surgery, minimizing deviations and preventing issues like screw loosening and bone damage by precisely guiding surgical tools along planned trajectories.
Smart Images

Figure 2026501009000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a system for a user to manipulate surgical tools to treat anatomical structures according to a planned trajectory using a surgical robotic system, which can reduce the mechanical loads applied to the anatomical structures during a surgical intervention. [Background technology]
[0002] Surgical robotic systems are frequently used during surgical interventions to assist surgeons in the positioning and orientation of surgical tools.
[0003] The surgical robotic system includes a robotic arm with an end effector having a tool holder for receiving a surgical tool. The tool holder is positioned at a predetermined position and orientation relative to a surgical object. The surgeon can couple the surgical tool to the tool holder directly or via an access tube, so that once the tool holder is positioned relative to the surgical object, the surgical robotic system assists the surgeon in guiding the tool. Thus, the surgeon can manipulate the surgical tool in the correct position and orientation relative to the surgical object during surgery on a patient's anatomical structure, such as a bone.
[0004] A surgeon can use a surgical robotic system to drill one or more holes in one or more bones of a patient and then implant a screw into each drilled hole. A surgical target corresponds to a bone, such as a vertebra, or a specific location and orientation of a hole to be drilled in a patient's fractured bone. For example, in spinal surgery, multiple surgical targets may be located on multiple vertebrae of a patient.
[0005] The tool holder maintains the tool in a specific position and orientation relative to the surgical target to precisely guide the surgeon in drilling the hole and then implanting the screw. Thus, the surgical robotic system assists the surgeon in drilling the hole and then implanting the screw into the drilled hole.
[0006] However, it has been observed that anatomical structures are subjected to significant forces during screw insertion, and that the surgical robotic system is often under excessive tension at the end of the screw insertion. When the surgeon inserts the screw, he applies force to the robotic arm, some of which is compensated for by the surgical robotic system, but there is also variable deviation from the planned axis, which causes the actual axis to move slightly randomly during screw insertion. These variable deviations can be due to slight deviations of the screw relative to the tool axis, slight deviations of the screw relative to the drilling axis, or various other errors such as uneven bone surfaces (e.g., facet joints, transverse processes) or soft tissue pressure. As a result, the actual screw axis can deviate from the planned axis by as much as a tenth of a millimeter.
[0007] Once the screw begins to engage the bone, a strong mechanical bond is formed between the screw and the bone, and ultimately with the surgical robotic system. After this, it is very difficult to correct the screw axis without applying a very large force to the driver. Because the actual screw axis differs from the planned screw axis, the surgical robotic system attempts to align the actual screw axis with the planned screw axis, potentially increasing the force applied to the patient's anatomy by counteracting the force created by this strong mechanical bond. This is problematic because it can lead to a variety of issues, including screw loosening, risk of bone damage, and unwanted tool locking.
[0008] The aim of the present invention is to propose a system that makes it possible to reduce the mechanical loads exerted on anatomical structures during surgical interventions. Summary of the Invention [Problem to be solved by the invention]
[0009] An object of the present invention is to provide a system for a user to manipulate a surgical tool to treat an anatomical structure according to a planned trajectory, the system comprising a surgical robotic system and a control unit, the surgical robotic system is configured to align the surgical tool according to the planned trajectory; a robotic arm including a plurality of motor-driven segments and positionable according to a reference posture configured to align a surgical tool with a planned trajectory; at least one load measuring means for measuring a mechanical load applied to the robot arm; an end effector mechanically coupled to a distal end of the robotic arm, the end effector comprising a tool holder for accommodating a surgical tool; a control unit coupled to the surgical robotic system and configured to execute at least one control loop for reducing mechanical loads applied to the anatomical structure when the robotic arm is positioned according to the reference posture, the control loop comprising: a. measuring mechanical loads applied to the robot arm using at least one load measuring means, the mechanical loads including mechanical loads intrinsic to the robot arm and external mechanical loads applied to motors of the robot arm due to external influences; b. determining an adjusted command for at least one motor, i. determining an external mechanical load value based on the measured load; ii. determining compensation terms based on the external mechanical load values and data stored in the control unit, the data including at least one parameter set defining a respective compensation model generated by the control unit, each compensation model defining, for each external mechanical load value, a corresponding compensation term that increases with the external mechanical load value; iii. generating adjusted commands based on the compensation terms and the reference attitude; c. applying a respective adjusted command to at least one motor to reduce mechanical loads applied to the anatomical structure.
[0010] In this document, the term "load" should be understood to mean a mechanical load applied to the robotic arm, components of the robotic arm, and / or anatomical structures.
[0011] According to other advantageous and non-limiting features of the present disclosure, the following technical features, taken alone or in any technically feasible combination:
[0012] the control loop comprises, before step ii), a step of storing and / or updating the robot arm posture information with the current robot arm posture in data stored in the control unit, said step being performed only once during the first iteration of the control loop or being repeated for each iteration of the control loop.
[0013] The at least one load measuring means comprises a plurality of torque measurement sensors configured to measure a torque of each motor, and the control unit is configured to determine the external mechanical load based on an external torque value associated with each motor by subtracting an intrinsic torque value of the robot arm from a measured torque value of each motor.
[0014] the at least one load measuring means comprises a force sensor configured to measure a wrench applied to the robot arm, and the control unit is configured to determine the external mechanical load based on the external wrench value by subtracting an intrinsic wrench value of the robot arm from the measured wrench value.
[0015] The system comprises a location system coupled to the control unit.
[0016] The system includes a patient tracker that is localizable by the localization system and rigidly attached to a base structure that is fixed relative to the anatomy, and the surgical robotic system is servo-controlled relative to the movement of the patient tracker.
[0017] The control loop is configured to update the reference pose of the robot arm at the beginning of each iteration of the control loop to take into account servo control of the surgical robotic system relative to the movement of the patient tracker.
[0018] The system includes a robotic tracker that is localizable by the localization system and rigidly attached to a portion of the surgical robotic system.
[0019] an alarm system for notifying a user if at least one safety criterion of the robot arm is not met, the safety criterion being: The maximum allowable angular difference between the current axis of the surgical tool and the axis of the planned trajectory, and the maximum allowable distance difference between the estimated end position of the tool tip and the planned end position of the planned trajectory, The control unit determining a current axis of the surgical tool and an estimated end position of the tool tip along the current axis of the surgical tool; Calculate the angular difference between the current axis of the surgical tool and the axis of the planned trajectory; Calculate the distance difference between the estimated end position of the tool tip and the planned end position of the planned trajectory; configured to activate an alarm system and send a signal to warn a user when the angle difference and / or distance difference is greater than the respective safety standard.
[0020] the stored data includes at least two parameter sets each defining a different compensation model, and the control unit is configured to select one compensation model from the different compensation models and determine the compensation term of step b) for each motor using the selected compensation model and the external mechanical load value.
[0021] The system comprises a button configured to change the compensation model used by the control unit in step b) when pressed by a user.
[0022] The system comprises a tool tracker, localizable by the localization system and rigidly attached to the surgical tool, and the control unit is configured to, prior to step b), perform step a') of automatically modifying the compensation model used in step b) depending on a current position of the tool tip of the surgical tool along the planned trajectory.
[0023] The control unit executes a´) using the position information of the tool tracker from the positioning system, Determining the current position of the tool tip of the surgical tool along the planned trajectory; Calculating the distance between the current position of the tool tip and the planned end position of the planned trajectory; modifying the compensation model used in step b) if the distance is smaller than the proximity value.
[0024] The stored data includes a maximum allowable load value that can be applied to the anatomical structure, and the control unit Calculate the maximum external torque value for each motor or the maximum external wrench value for the robot arm based on the maximum allowable load value, sending a stop command to the robot arm to stop movement of the robot arm if the external torque value or external wrench value applied to the motor measured in step b) is greater than the respective maximum external torque value or maximum allowable external wrench value.
[0025] The surgical robotic system may be operated according to the following method, which allows a user to manipulate a surgical tool to treat an anatomical structure according to a planned trajectory: The method may be performed by a control unit of the robotic surgical system, a. measuring a mechanical load applied to the robot arm using at least one load measuring means; b. determining an adjusted command for at least one motor of the robot arm using the following method: i. determining an external mechanical load value based on the measured load; ii. determining a compensation term based on the external mechanical load value and the stored data; iii. generating adjusted commands based on the compensation terms and the reference attitude; c. applying a respective adjusted command to at least one motor to reduce mechanical loads applied to the anatomical structure. [Brief explanation of the drawings]
[0026] Further features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings.
[0027] [Figure 1] FIG. 1 is a diagram showing a surgical scene including a surgical robot system according to the present invention. [Figure 2] 1 illustrates a surgical robotic system, a patient tracker, and a robot tracker in accordance with the present invention. [Figure 3] 1A-1C illustrate two different compensation models according to the present invention. [Figure 4] 1 is a flow chart illustrating a first embodiment of a method for reducing mechanical loads applied to an anatomical structure when a user manipulates a surgical tool. [Figure 5] 10 is a flow chart illustrating a second embodiment of a method for reducing mechanical loads applied to an anatomical structure when a user manipulates a surgical tool. [Figure 6] 10 is a flow chart illustrating a third embodiment of a method for reducing mechanical loads applied to an anatomical structure when a user manipulates a surgical tool. [Figure 7] 10 is a flow chart illustrating a fourth embodiment of a method for reducing mechanical loads applied to an anatomical structure when a user manipulates a surgical tool.
[0028] For clarity of illustration, the figures are not necessarily drawn to scale.
[0029] The same reference numbers from one figure to another designate the same elements or elements performing the same function. DETAILED DESCRIPTION OF THE INVENTION
[0030] The present invention uses a surgical robotic system to hold the surgical tool and can use a localization system such as that presented below.
[0031] FIG. 1 shows a surgical scene including a system for performing a surgical intervention to treat an anatomical structure.
[0032] A patient P lies on an operating table 5.
[0033] The surgical robot system 1 comprises a base 10 and a robotic arm 11 carrying a surgical tool, and is positioned near a surgical table 5 .
[0034] The present invention may also comprise an X-ray imaging system 2, also arranged near the operating table, for acquiring 2D X-ray images of the anatomical structure to be treated, although this X-ray imaging system is not essential for the operation of the system according to the invention.
[0035] As shown in FIG. 2, the patient and surgical system may each have at least one respective tracker rigidly attached thereto, e.g., via mechanical or magnetic attachment, which trackers are located by a localization system 3.
[0036] The control unit 4 is coupled to the surgical robot system (in particular, to the controller of the surgical robot system) and, if available, to the X-ray imaging system. The control unit 4 comprises at least one processor configured to implement algorithms designed to perform the methods described below. In particular, the control unit may be configured to perform the following steps: receive 3D images (whether acquired by the X-ray imaging system 2 or another system), receive planning made on the 3D images or allow a user to plan a surgical intervention on the 3D images to obtain a planned trajectory of a surgical tool for treating an anatomical structure, determine a reference posture of the robot arm that will allow the robot arm to align the surgical tool with the planned trajectory, calculate commands to move the robot arm to position it according to the reference posture, calculate the relative position of the tracker based on data received from the localization system, and control the surgical robot system to maintain the reference posture taking into account the calculated relative position of the tracker.
[0037] The control unit may also be coupled to a user interface 40. The user interface may include one or more screens.
[0038] X-ray imaging system The X-ray imaging system includes at least one X-ray source and at least one X-ray image detector, and generates at least one 2D X-ray image that is the result of a conical projection of the patient's anatomy, where the tip of the cone is approximately the center point of the X-ray source and the base of the cone approximately corresponds to the portion of the X-ray image detector that is reached by the X-ray beam that is collimated to a predetermined shape and orientation.
[0039] For example, the X-ray imaging system can be a conventional C-arm, or any cone-beam computed tomography (CBCT), such as a Surgivisio device (Surgivisio, Gieres, France), Vision FD Vario 3D (Ziehm), CIOS Spin Mobile 3D (Siemens), Airo (Stryker), Loop-X (Brainlab), O-arm (Medtronic), etc.
[0040] A conventional C-arm is designed so that the X-ray source and X-ray detector can rotate along a C-shaped gantry while acquiring projection images of a patient positioned between the X-ray source and the X-ray detector.
[0041] CBCT has a movable X-ray source and a movable X-ray image detector, which have motorized motion to move together or independently. CBCT can have a C-arm or O-arm configuration. It can be used to acquire a series of 2D X-ray images over an orbital rotation of approximately 180°, which can be combined with translation, from which 3D images can be reconstructed using tomography or tomosynthesis algorithms.
[0042] The X-ray imaging system may be motorized, and the C-arm in particular may be equipped with motors that allow horizontal, vertical, and rotational movement, allowing 2D X-ray images of the patient to be generated from almost any angle. Each motor is associated with an encoder that provides the relative position of the medical imaging system with respect to a reference position at any time. When a 2D X-ray image is acquired, the corresponding position of the imaging system is recorded. Thus, each 2D image is registered in the reference system of the imaging system.
[0043] In some embodiments, a 3D image of the patient may be acquired intraoperatively using the X-ray imaging system itself if it is CBCT, and the 3D image is registered to trackers attached to the anatomy using known calibration and navigation methods.
[0044] In other embodiments, 3D images can be acquired preoperatively using a computed tomography (CT) or other CBCT device. The patient's 3D image is registered to the tracker attached to the anatomical structure using a 3D registration method that can use many techniques, such as (i) collecting surface points using a localization system and fitting them to the anatomical structure, as in the technology provided by 7D Surgical (North York, Canada), or (ii) acquiring 2D-X-ray images that are calibrated to the tracker attached to the anatomical structure and used to register with the 3D image, as in the technology provided by the Mazor X robotic system (Medtronic), or (iii) any registration technique using localized ultrasound images, fiducials, anatomical points, etc.
[0045] Surgical Robot System A surgical robot system 1 in the sense of the present invention, with reference to FIGS. 1 and 2, may comprise: A base 10, which may be a mobile cart (as shown in FIG. 1) or may be attached to an operating table (this embodiment is not shown). A robotic arm 11 comprising multiple motor-driven segments, the robotic arm 11 having a proximal end 110 extending from a base and a distal end 111 opposite the proximal end. At least one load measuring means for measuring the load applied to the robot arm 11. An end effector 12 mechanically coupled to the distal end 111 of the robotic arm and comprising a tool holder 14 for accommodating a surgical tool. A controller configured to controllably move the robotic arm according to a planned trajectory.
[0046] The robot arm 11 has multiple degrees of freedom in translation and / or rotation and can be positioned according to a wide variety of poses. Typically, a robot arm has at least five, preferably six or seven, motorized degrees of freedom. To this end, the robot arm comprises multiple articulated segments driven by motors. The robot arm can be, for example, an LBR Med® robot offered by KUKA (Germany). The robot arm can be controlled in autonomous mode according to desired goals and trajectories, or can be operated using collaborative mode (cobot), or can be remotely controlled using a master control device. A combination of these different modes can be used on the same surgical robot system.
[0047] Surgical robotic systems can be active, in the sense that they hold and move powered surgical tools that interact directly with the anatomy, or passive, in the sense that they hold guides in place relative to the anatomy into which surgical tools are inserted by the user. For example, a powered drill may be attached to a tool holder on a robotic arm and actively drill bone along a predetermined path until it reaches the endpoint of a selected linear trajectory. Alternatively, a driver may be inserted into a tool holder and manually rotated by the surgeon to drive a screw into a pre-drilled hole in bone along a predetermined path until it reaches the endpoint of a selected linear trajectory.
[0048] The tool holder 14 shown in the figures has a tubular shape for accommodating a surgical tool, although other shapes can be used; for example, in the case of a powered tool, the tool holder can be a simple interface for securing the tool to the end effector.
[0049] The surgical tools are not shown in FIG. 2, but their location is indicated diagrammatically by reference numeral 13 .
[0050] The surgical tool can be a powered drill, a powered saw, a powered burr or mill, an ultrasonic milling machine, a radiofrequency, microwave, or cryogenic ablation needle or driver, or any device capable of interacting with the anatomical structure to be treated. For example, a powered burr can be used to remove a volume of bone where a tumor is detected, and the surgical robotic system is controlled so that the burr tip executes a 3D complex path trajectory corresponding to the volume of bone to be removed. The surgical tool can move in at least one degree of freedom relative to the tool holder, for example, in two degrees of freedom (translation along the tool axis and rotation about the tool axis).
[0051] The surgical robot system 1 further includes at least one load measuring means (not shown) for measuring the load applied to the robot arm, where the measured load is a torque or a wrench. Torque is a load measured in joint space and has one value for each motor (or can be expressed as a vector with a component for each motor). Wrench is a load measured in Cartesian space and has one vector for the robot arm, with six components (three translational and three rotational). This measured load is used by the control unit to determine the external load value applied to the robot arm, in other words, the external torque applied to each motor or the external wrench applied to the robot arm. The external load is an estimate of the load applied to the robot arm that is not intrinsic to the robot arm. In other words, the external load is an estimate of the load applied to the motor by an external influence, e.g., the surgeon.
[0052] In a first embodiment, the at least one load measuring means comprises a plurality of torque measuring sensors, such as current sensors or deformation measuring sensors, configured to measure the torque of each motor. Advantageously, each motor has its own associated torque measuring sensor. These torque measuring sensors are typically mounted between each motor or gearbox assembly and the body of the robot arm segment. The external torque value of each motor is then determined by subtracting, from the measured torque value of each motor, the intrinsic torque value of the robot arm using a dynamic model, for example, the torque generated to counteract gravity, the torque consumed to counteract the effects of friction or viscoelasticity of the motor itself, and the torque required to accelerate or brake the robot arm.
[0053] Optionally, the control unit is then configured to determine an external wrench value W using the external torque value C and the inverse of the Jacobian transpose Jt associated with the pose of the robot arm, using the following formula: where C is a vector containing the external torque of each motor, Jt is the Jacobian transpose, and W is a vector containing the six components of the external wrench W: W=(Jt) -1 *C
[0054] In a second embodiment, the at least one load measuring means comprises a force sensor disposed on the surgical robotic system and configured to measure the wrench force W applied to the robotic arm. The force sensor may be disposed on the base of the surgical robotic system, a segment of the robotic arm, a flange or end of the robotic arm, or a tool holder. The external wrench force is then determined by subtracting the intrinsic wrench force of the robotic arm from the measured wrench force, similar to determining the external torque force from the measured torque force using a dynamic model as described above.
[0055] Optionally, the control unit is then configured to determine an external torque value associated with each motor using the external wrench value and the Jacobian transpose Jt associated with the pose of the robot arm, using the following equation: C=Jt*W
[0056] Control Unit, Stored Data, and Compensation Model 1, the control unit 4 is incorporated into a station 4′ separate from the surgical robotic system 1 and configured for wireless or wired communication with the robotic arm 11. This separate station 4′ now also comprises a user interface 40 and may include a battery.
[0057] In other embodiments (not shown), the control unit may be integrated into the base 10 .
[0058] The control unit 4 comprises at least one processor configured to implement algorithms designed to execute the control loops described below. The control unit 4 also comprises at least one data storage device for storing data such as the maximum allowable load value Fmax applicable to the target anatomical structure, the maximum allowable deviation Dmax at the tool tip, robot arm pose information if necessary, and at least one parameter set defining a compensation model. Typically, the maximum allowable load value Fmax is between 25 and 35 N, and the maximum allowable deviation Dmax is between 0.1 and 3.0 mm.
[0059] The robot arm pose information corresponds to the current robot arm pose and can be continuously or periodically updated while the robot arm is in use, or can be stored only once when the surgeon begins interacting with the surgical tool, reducing the load on the control unit. This latter option is advantageous when the robot arm pose does not change significantly during use. This robot arm pose information is primarily used to determine the lever arm of each motor when working with torque values.
[0060] Preferably, the control unit 4 stores at least two parameter sets, each defining a different compensation model, and uses the stored data to generate each of the at least two compensation models.
[0061] The compensation model defines, for each external load L value (either an external torque value or an external wrench value), a compensation term Δ that increases with the external load value L. The compensation term is used to generate adjusted commands for each motor that allow controlled deviation from the planned trajectory, reducing the loads applied to the anatomical structures in relation to the external load value and according to stored maximum allowable load and deviation values.
[0062] FIG. 3 shows two different compensation models according to the invention: a first compensation model (solid curve in the figure) and a second compensation model (dotted curve in the figure).
[0063] Each compensation model is defined by a maximum compensation term Δmax, a maximum external load value Lmax, and a set of parameters specific to the compensation model. The control unit calculates the maximum compensation term and the maximum external load value using, if necessary, robot arm posture information, and the maximum deviation value and maximum allowable load value, respectively.
[0064] The parameter set specific to each compensation model includes at least one load start ratio, L_Start_Ratio1. The load start ratio corresponds to the ratio of the maximum external load value, Lmax, to define the external load start value, L_start, at which a non-zero compensation term exists. In Figure 3, L_Start_1 and L_Start_2 are the external load start values for the first and second models, respectively. L_start=L_Start_Ratio1*Lmax
[0065] If the external load value is lower than the external load start value, no change is made to the current command. Of course, as shown in the second compensation model, the load start ratio L_Start_Ratio1 can be zero, and therefore the external load start value L_Start can also be zero. However, it is preferable that at least one compensation model, here the first compensation model, has a non-zero value for the load start ratio L_Start_ratio1. In fact, the accuracy of the robot arm must be maintained as much as possible for low external load values by having null compensation terms for these values to prevent deviations from the planned trajectory.
[0066] If the external load L is greater than its associated maximum external load value Lmax, the control unit 4 is configured to send a stop command to the robotic arm 11 to stop its movement. Indeed, an external load value greater than the maximum external load value means that the load exerted by the tool on the anatomical structure is unacceptable and poses a risk to the patient or there is a problem that must be resolved before the operation can proceed.
[0067] The compensation term Δ is equal to 0 when the external load L is less than or equal to the external load start value L_Start, and is equal to the maximum compensation term Δmax when the external load L is equal to the maximum external load value Lmax. Between the external load start value L_Start and the maximum external load value L_max, the compensation term Δ can be determined using a linear function as represented by the first compensation model in FIG. 3, or can be determined using a piecewise linear function to define multiple compensation steps as represented by the second compensation model including two steps separated by a midpoint I.
[0068] Here, the second model includes an intermediate point I defined by two additional parameters: a compensation start ratio Δ_Start_ratio and a second load start ratio L_Start_ratio2. The compensation start ratio ΔStart_ratio corresponds to the ratio of the maximum compensation term Δmax to define the intermediate compensation term Δinter associated with intermediate point I. Δinter=ΔStart_Ratio*Δmax
[0069] The second load start ratio L_Start_ratio2 corresponds to another ratio of the maximum external load value L_max for defining an intermediate external load start value L_Start_Inter associated with the intermediate point I. LStart_Inter=LStart_Ratio2*Lmax
[0070] The compensation term Δ changes differently with the external load value L before and after this intermediate external load start value L_Start_Inter.
[0071] Of course, it is also possible to use more intermediate points and / or more complex compensation models such as time laws or binomial laws.
[0072] As previously mentioned, the external load L value can be an external torque C value or an external wrench W value.
[0073] For external torque values, each compensation model is defined in joint space and is therefore specific to each motor, taking into account the pose information of the robot arm, particularly the lever arm of each motor. In other words, each motor has its own version of the compensation model used. More specifically, as shown in the following equations, each i-th motor has its own maximum external torque value Lmax_i and its own maximum compensation term Δmax_i, which are calculated by the control unit using the stored maximum allowable load Fmax value, the stored maximum allowable deviation Dmax, and the lever arm Li that the motor has relative to the entry point of the planned trajectory. Lmax_i=Fmax / Li、Δmax_i=Dmax / Li
[0074] The lever arm Li is the distance between the axis of the i-th motor and the entry point of the planned trajectory. The lever arm Li is determined using the robot arm pose information, including the joint position vectors, and information about the length of each segment of the robot arm.
[0075] Advantageously, when a screw is driven in, instead of using only the entry point, an estimate of the position of the screw head located at the entry point is used to calculate a more accurate lever arm, in other words an offset is added to the entry point to take the screw into account.
[0076] For external wrench values, each compensation model is defined in Cartesian space, and these compensation models are developed for each j-component of the wrench value (three translations and three rotations). In this case, the maximum wrench value Lmax_j and maximum compensation term Δmax_j associated with each j-component of the wrench value are equal to the associated maximum allowable load value Fmax_j and maximum allowable deviation Dmax_j, respectively, where Fmax and Dmax are defined here as vectors containing j-components.
[0077] By working in Cartesian space, Fmax and Dmax are vectors and therefore it is possible to use different values for Fmax_j and Dmax_j for each j component, thereby allowing for different limits on deviations along specific axes and / or rotation axes, thereby providing greater transparency and control over deviations from the planned trajectory.
[0078] Location System The localization system 3 can be any tracker rigidly attached, for example via mechanical or magnetic attachment, to an anatomical structure such as a bone, or to a device such as a surgical tool or a subsystem of a surgical robotic system, capable of locating three parameters of position and three parameters of orientation. The localization system 3 can be an optical system (such as Aurora by NDI, Canada), or any combination of optical, electromagnetic, ultrasonic, and inertial measurement units and sensors, or a passive electromechanical arm with an encoder.
[0079] The first tracker 30 may be rigidly attached to a base structure that is considered fixed relative to the treated anatomy, and thus the first tracker is assumed to be fixed relative to the anatomy. The base structure can be the anatomy itself, an adjacent structure, or any mechanical fixture fixed to the patient or operating table, provided that movement between the base structure and the treated anatomy is negligible for the required accuracy.
[0080] The second tracker 31 is rigidly mounted to a part of the surgical robot system itself, such as a base. The kinematic model of the robot arm is known for any position of the robot arm using its encoder values, so by simple combination, the axes of the surgical tool are known at any time in the coordinate system attached to the second tracker. This second tracker can also be directly integrated into the surgical robot system.
[0081] Optionally, a third tracker can be used (not visible) and is rigidly attached to the surgical tool to determine the position and orientation of the tool tip of the surgical tool.
[0082] anatomical structure The anatomy to be treated is typically bone that may be drilled, burred, and / or milled to place an implant or to create space for some clinical reason.
[0083] This method can be applied to multiple portions of a bone or multiple bones in succession. For example, this method can be used to place screws in both pedicles of multiple vertebrae.
[0084] Operation of surgical robotic systems The surgical robotic system can be operated as follows.
[0085] 4 through 7 show flowcharts of various embodiments of methods of operating a surgical system. In these flowcharts, only the major steps are shown. These flowcharts are not intended to be limiting and can be combined where appropriate. Furthermore, steps that are not dependent on each other can be interchanged. Steps surrounded by dotted lines are optional. Steps surrounded by thick solid lines are performed by the control unit.
[0086] At the start of surgery, the patient is fitted with a first tracker 30 (referred to as the "patient tracker") that is detectable by the localization system 3.
[0087] The 3D images are acquired either at the start of surgery using the X-ray imaging system itself (CBCT) or before surgery with a separate imaging system (CT or CBCT), and the 3D images are registered to the patient tracker 30 as described above.
[0088] A surgical tool trajectory is planned within the 3D image, typically consisting of movement along a planned axis to reach a predetermined end point. For this purpose, surgical planning software is used to interactively or automatically define the trajectory within the 3D image. Optionally, if the user needs to drill multiple holes, multiple trajectories are planned, and the method is repeated for each trajectory. A reference pose of the robotic arm 11 is also determined using the planned trajectory. This reference pose corresponds to the pose of the robotic arm 11, when equipped with the surgical tool 13, in which the surgical tool 13 is aligned with the planned trajectory in the absence of an external load.
[0089] The surgical robotic system 1, which is mobile on wheels on a cart that forms the base of the robotic arm, is carried near the operating table.
[0090] As shown in Figure 2, a second tracker 31 (called the "robotic tracker") is mounted directly on the robotic arm 11, on the surgical tool, or on any subsystem of the surgical robotic system. Calibration of the robotic tracker to the surgical tool can use several known calibration methods.
[0091] A third tracker (called a "tool tracker") can be attached to the surgical tool 13 before or after the tool is assembled into the surgical robotic system.
[0092] In a preferred embodiment, the position of the tool tracker on the surgical tool is replicated and always the same, and a localized pointer is used to ensure that specific points on the surgical tool have the exact expected coordinates relative to the tool tracker.
[0093] In another preferred embodiment, a localized pointer is used to digitize at least three precisely defined points on the surgical tool and a point-based calibration is applied.
[0094] The surgical robotic system is then moved, either manually (cobot) or automatically, and positioned according to the reference pose, aligning the surgical tool with the planned trajectory and moving until it reaches the entry point on the bone surface. The surgical robotic system is then servo-controlled using the robot tracker and / or tool tracker relative to the patient tracker's movements to maintain alignment with the bone entry point location and compensate for bone movement due to patient breathing or any mechanical interaction. This servo-control is typically performed by adjusting the robot arm's pose to maintain a constant relationship between the patient tracker's position and the robot and / or tool tracker's position. In other words, the robot tracker's movement follows the patient tracker's movement to maintain a constant distance between the two trackers without any external interaction from the user.
[0095] The surgical robotic system 1 is then equipped with the surgical tool 13, and the user can begin to manipulate the surgical tool inside the bone along the planned trajectory by manually translating and / or rotating the tool relative to the tool holder.
[0096] The control unit 4 is then configured to implement at least one control loop for reducing the load applied to the anatomical structure once the robotic arm is positioned according to the reference pose. Advantageously, a first control loop is implemented once the surgical tool engages with the anatomical structure.
[0097] As shown in Figures 4-7, the control loop is a) measuring a load applied to the robot arm using at least one load measuring means; b) determining an adjusted command for each motor, the adjustment comprising: i. using the measured load value to determine an external torque value to be applied to a motor or an external wrench value to be applied to a robot arm; ii. determining a compensation term based on the external torque value or the external wrench value and data stored in the control unit; iii. generating adjusted commands based on the compensation terms and the reference attitude; c) applying a respective adjusted command to each motor to reduce the load applied to the anatomical structure.
[0098] More specifically, the control unit determines the compensation terms using the aforementioned compensation model generated using the stored data. If external torques are used during step ii), the compensation terms are expressed directly in joint space and added to the robot arm's home pose to generate adjusted commands for each motor. If external torque values are used during step ii), the compensation terms are obtained in Cartesian space, which requires an additional step because a transformation is required to obtain the adjusted commands in joint space. To do this, the compensation terms can be transformed directly to joint space using an inverse Jacobian and then added to the home pose, or the adjusted commands in Cartesian space can be calculated directly and then converted to adjusted commands in joint space using inverse kinematics.
[0099] If the surgical robotic system is servo-controlled relative to the patient tracker's movements (see Figure 6), the reference pose of the robot arm is updated at the start of each iteration of the control loop to take this servo-control into account when generating the adjusted commands for each motor. As a reminder, the reference pose does not consider interactions with the robot arm via the user's interaction with the surgical tool, but only the patient tracker's movements relative to the planned trajectory and, if the robot arm is servo-controlled, the position of the robot tracker.
[0100] Optionally, the control loop may include, prior to step ii), a step of storing and / or updating robot arm posture information with the current robot arm posture in data stored in the control unit. This step can be performed only once during the first iteration of the control loop (see FIG. 4) or can be repeated with each iteration of the control loop (see FIG. 5). This robot arm posture information is used to access lever arm information for each motor for determining the compensation terms in step ii), primarily when working with torque values. In contrast to the reference posture, the current robot arm posture takes into account the user's interaction with the robot arm through the user's interaction with the surgical tool.
[0101] Advantageously, the stored data includes at least two parameter sets for each motor, each parameter set defining a different compensation model, allowing the possibility to change the compensation model used by the control unit 4 during operation of the robotic surgical system. A first compensation model is used as a default model, and a second model is selected manually or automatically by the control unit 4 during operation of the robotic surgical system 1 to change the compensation model used to determine the compensation terms in step b). The second model differs from the first model in that, for a given external torque or wrench value, it allows for a larger compensation term in order to more reduce the loads applied to the anatomical structures by allowing a larger deviation from the planned trajectory.
[0102] In a first embodiment, changing the compensation model is done manually by the user by pressing a button (see FIG. 7). This button can be located on the tool, on a separate station 4' that houses the control unit 4, or on any part of the surgical robotic system 1. When this button is pressed, the control unit 4 is configured to select a second compensation model for each motor and use this second compensation model to determine the next compensation term. Instead of pressing a button, other types of commands, such as voice or gesture commands, can also be considered.
[0103] In a second embodiment, the modification of the compensation model is performed automatically by the control unit 4. This is possible if there is a way to track the position of the tool tip, such as using a tool tracker rigidly attached to the surgical tool and locatable by the localization system 3. The control unit 4 is configured to perform, before step b) and / or step a), a step a') of automatically modifying the compensation model used in step b) depending on the position of the tool tip of the surgical tool 13 along the planned trajectory, using the following method, where the execution of a') comprises: determining the current position of the tool tip of the surgical tool 13 along the planned trajectory using the tool tracker position information from the localization system 3; Calculating the distance between the current position of the tool tip and the planned end position of the planned trajectory; If the distance is smaller than the proximity value, modifying the compensation model used in step b).
[0104] Optionally, it would be possible to use more than two compensation models, for example, a first compensation model that is used by default, a second compensation model that is automatically triggered when proximity criteria are met, and a third compensation model that can be manually activated if the compensation model needs to be changed before the proximity criteria of the second compensation model are met.
[0105] This control loop is repeated at various times during manipulation of the surgical tool 13 by the user, for example every 5 milliseconds.
[0106] Advantageously, the system comprises an alarm system for informing the user if at least one safety criterion of the robot arm is not met, the safety criterion being: The maximum allowable angular difference between the current axis of the surgical tool and the axis of the planned trajectory, and the maximum allowable distance difference between the estimated end position of the tool tip and the planned end position of the planned trajectory, The control unit 4 determining a current axis of the surgical tool 13 and an estimated end position of the tool tip along the current axis of the surgical tool 13; Calculating the angular difference between the current axis of the surgical tool 13 and the axis of the planned trajectory; Calculate the distance difference between the estimated end position of the tool tip and the planned end position of the planned trajectory; If the angle difference and / or the distance difference are greater than the respective safety standards, an alarm system is activated to send a signal to warn the user.
[0107] If the tool has a tool tracker attached, the current axis of the surgical tool 13 can be determined using the tool tracker information. Otherwise, the current axis of the surgical tool 13 can be determined using the encoder values of the motors of the robot arm 11 by knowing the position of the robot tracker on the surgical robot system.
[0108] The estimated endpoint location of the tool tip can be determined differently depending on whether the surgical tool 13 is free to move within the tool guide or whether there is a mechanical stop. If there is a stop, information about the maximum depth the surgical tool can reach along the current axis of the surgical tool is used to estimate its endpoint location. If there is no stop, the surgical tool 13 is assumed to be able to reach the same depth as the planned endpoint of the planned trajectory, and this planned endpoint is projected onto the current axis of the surgical tool to determine the estimated endpoint location of the tool tip.
[0109] The maximum permissible angular difference is advantageously a value between 0.4 and 1.4°, for example 0.9°, and the maximum permissible distance difference is advantageously a value between 0.4 and 1.5 mm, for example 0.9 mm.
[0110] The alarm system can be selected from a variety of technologies, such as optical or audio systems. Advantageously, the alarm system comprises LEDs integrated into the robotic arm, or any other part of the surgical robotic system, that change color when there is an alarm. For example, these LEDs are green when there is no problem and turn red when an alarm is activated. The color of the LED can also change gradually depending on the calculated difference value, for example, from green to different shades of yellow / orange as the calculated difference value approaches a safety criterion, and then to red when this criterion is reached. Alternatively, instead of changing color, the LED can start flashing at different frequencies depending on the calculated difference value.
[0111] The proposed system prevents the surgical robotic system from applying excessive loads to anatomical structures during a surgical intervention by allowing controlled deviations from the planned trajectory, thereby reducing the loads applied to the anatomical structures. In fact, while without the present invention, a surgical robotic system could apply loads of over 100 N to anatomical structures, the present invention limits the loads to a selected maximum allowable load value Fmax (typically 25-35 N) while ensuring controlled and acceptable deviations from the planned trajectory.
[0112] Operating a robotic surgical system to drive screws into pre-drilled holes in bone In this embodiment, the planned trajectory is a linear path through a hole pre-drilled in an anatomical structure, such as the pedicle of a vertebra. The robotic arm holds a surgical driver with a screw at its tip, and the screw forms the tip of the surgical tool. In a preliminary approach, the tip of the screw is brought into contact with the entry point of the hole drilled in the bone by positioning the robotic arm according to a reference orientation.
[0113] Using the localization system, the surgical robotic system is servo-controlled on the patient tracker to compensate in real time for bone movements that may be due to the patient's breathing, movements caused by the screw itself, or other interactions with the bone. The reference pose is also updated to account for this servo-control.
[0114] Once the robot arm is positioned according to the reference posture, robot arm posture information is stored in the control unit along with other stored data using the current robot arm posture, loads applied to the robot arm are measured using at least one load measuring means, and the control unit uses the measured loads to determine an external torque value for each motor. If any external torque value is not greater than the maximum external torque value allowed for that motor, the control unit generates an adjusted command for each motor using that external torque value, the stored default compensation model, and the robot arm posture information. The robot arm posture information provides each motor's lever arm value required by the compensation model to determine the compensation term. If a motor's external torque value is lower than the starting external torque value defined by the compensation model, the compensation term is null, so the adjusted command for the motor may not differ from the command at the reference posture.
[0115] The adjusted commands are then applied to the respective motors to reduce the load applied to the bone. The user continues to manipulate the surgical tool while the robotic arm is still servo-controlled to track the bone movement in real time, and the steps described above are continuously repeated, for example, every 5 milliseconds, until the tool tip reaches the planned end position of the planned trajectory. The robotic arm pose information is either periodically updated with the current robotic arm pose each time the steps described above are repeated, or is stored only once as described above.
[0116] During operation of the robotic surgical system, when a mechanical bond is formed between the bone and the surgical tool and / or screw, the compensation model used by the control unit is changed to a second compensation model. Indeed, once this mechanical bond is formed, there is no longer any risk of deviation from the current surgical tool orientation, and therefore, greater deviations from the planned trajectory can be tolerated using the second compensation model to further reduce the loads applied to the anatomical structure. This compensation model change can be performed manually by the user by pressing a specific button when the mechanical bond is felt to have been formed, or automatically.
[0117] If this change is made automatically, the control unit calculates the distance between the current position of the screw and the planned end position of the planned trajectory, which is determined using the driver and screw lengths and position information from the tool tracker.
[0118] The compensation model is modified if this distance is smaller than a proximity value, which advantageously corresponds to a percentage of the screw length, for example equal to 20% of the screw length (thus when 80% of the screw length is inside the bone), with the minimum and maximum tolerance values equal to 2 mm and 8 mm, respectively.
[0119] In this embodiment, external torque values are used and the robot arm pose is stored in the control unit, but of course it would have been possible to use external torque values without storing and / or updating the robot arm pose as described above, and it would also have been possible to servo control the robot arm and apply this method without updating the reference pose.
[0120] Those skilled in the art will be able to adjust the stored data to customize the compensation model for each particular surgical procedure, and to use a different number of compensation models.
[0121] In the above method, it is assumed that the adjustment of commands is made for each motor of the robot arm, which is the preferred embodiment. However, in other embodiments, it would be possible to consider only a subset of the motors of the robot arm (the subset including at least one motor) in the control loop implemented by the control unit. For example, if the robot arm has seven motors, it would be possible to consider only six of the seven motors.
Claims
1. A system for a user to manipulate a surgical tool (13) to treat an anatomical structure according to a planned trajectory, said system comprising a surgical robotic system (1) and a control unit (4), the surgical robotic system (1) is configured to align the surgical tool (13) according to the planned trajectory; a robotic arm (11) comprising a plurality of motor-driven segments and positionable according to a reference posture configured to align the surgical tool (13) with the planned trajectory; at least one load measuring means for measuring the mechanical load applied to said robot arm (11); an end effector (12) mechanically coupled to the distal end (111) of the robot arm (11) and comprising a tool holder (14) for accommodating the surgical tool (13); the control unit (4) is coupled to the surgical robot system (1) and is configured to execute at least one control loop for reducing mechanical loads applied to the anatomical structure when the robot arm (11) is positioned according to the reference posture, the control loop comprising: a) measuring the mechanical loads applied to the robot arm (11) using the at least one load measuring means, the mechanical loads including mechanical loads intrinsic to the robot arm and external mechanical loads applied to motors of the robot arm due to external influences; b. determining an adjusted command for at least one motor, i. determining an external mechanical load value based on the measured load; ii. determining a compensation term based on the external mechanical load value and data stored in the control unit (4), the data including at least one parameter set defining each compensation model generated by the control unit, each compensation model defining, for each external mechanical load value (L), a corresponding compensation term (Δ) that increases with the external mechanical load value (L); iii. Generating the adjusted command based on the compensation term (Δ) and the reference attitude; and c) applying the respective adjusted command to the at least one motor to reduce the mechanical load applied to the anatomical structure.
2. 2. The system of claim 1, wherein the control loop comprises, before step ii), a step of storing and / or updating robot arm posture information with a current robot arm posture in the data stored in the control unit, the step being performed only once during a first iteration of the control loop or being repeated with each iteration of the control loop.
3. the at least one load measuring means comprises a plurality of torque measuring sensors configured to measure the torque of each motor; The system according to any one of claims 1 or 2, wherein the control unit (4) is configured to determine the external mechanical load based on the external torque value associated with each motor by subtracting an intrinsic torque value of the robot arm (11) from the measured torque value of each motor.
4. the at least one load measuring means comprises a force sensor configured to measure a wrench applied to the robot arm; 3. The system according to claim 1, wherein the control unit (4) is configured to determine the external mechanical load value based on the external wrench value by subtracting an intrinsic wrench value of the robot arm (11) from the measured wrench value.
5. The system according to any one of claims 1 to 4, comprising a location system (3) coupled to the control unit (4).
6. 6. The system of claim 5, further comprising a patient tracker (30) that is positionable by the positioning system (3) and rigidly attached to a base structure that is fixed relative to the anatomical structure, and wherein the surgical robot system (1) is servo-controlled with respect to the movement of the patient tracker (30).
7. 7. The system of claim 6, wherein the control loop is configured to update the reference pose of the robot arm (11) at the start of each iteration of the control loop to take into account the servo control of the surgical robot system (1) relative to the movement of the patient tracker (30).
8. 8. The system of claim 5, further comprising a robot tracker (31) that is locatable by the localization system (3) and rigidly attached to a part of the surgical robot system (1).
9. an alarm system for notifying a user if at least one safety criterion of the robotic arm is not met, the safety criterion comprising: the maximum allowable angular difference between the current axis of the surgical tool and the axis of the planned trajectory, and a maximum allowable distance difference between an estimated end position of the tool tip and a planned end position of the planned trajectory; The control unit (4) - determining the current axis of the surgical tool (13) and the estimated end position of the tool tip along the current axis of the surgical tool (13); - calculating the angular difference between the current axis of the surgical tool (13) and the axis of the planned trajectory; calculating a distance difference between the estimated end position of the tool tip and the planned end position of the planned trajectory; The system according to any one of claims 1 to 8, configured to activate the alarm system and send a signal to warn the user if the angle difference and / or the distance difference are greater than the respective safety standards.
10. 10. The system according to claim 1, wherein the stored data comprises at least two parameter sets each defining a different compensation model, and the control unit (4) is configured to select one compensation model from among the different compensation models and to determine the compensation terms of step b) for each motor using the selected compensation model and the external mechanical load values.
11. 11. The system according to claim 10, comprising a button configured, when pressed by a user, to modify the compensation model used by the control unit (4) in step b).
12. the system comprises a tool tracker, localizable by the localization system (3), rigidly attached to the surgical tool (13); the control unit (4) is configured to perform, before step b), a step a') of automatically modifying the compensation model used in step b) depending on the current position of the tool tip of the surgical tool (13) along the planned trajectory, the execution of a') including: - determining the current position of the tool tip of the surgical tool (13) along a planned trajectory using position information of the tool tracker from the localization system (3); Calculating the distance between the current position of the tool tip and a planned end position of the planned trajectory; A system according to the combination of claims 5 and 10, configured to do this by modifying the compensation model used in step b) if the distance is less than a proximity value.
13. The stored data includes a maximum allowable load value (Lmax) that can be applied to the anatomical structure, and the control unit (4) - calculating a maximum external torque value for each motor or a maximum external wrench value for the robot arm based on the maximum allowable load value; 13. The system of any one of claims 1 to 12, in combination with claim 3 or claim 4, configured to: send a stop command to the robot arm to stop movement of the robot arm if the external torque value or the external wrench value applied to the motor measured in step b) is greater than a maximum external torque value or a maximum allowable external wrench value, respectively.