Robotic system and method for mitigating undesirable orientation of motion components.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- MAKO SURGICAL CORP
- Filing Date
- 2021-12-28
- Publication Date
- 2026-04-14
Smart Images

Figure 0007846122000001 
Figure 0007846122000002 
Figure 0007846122000003
Abstract
Description
Technical Field
[0001] Cross - reference to Related Applications The international patent application for the subject matter claims the priority and all benefits of U.S. Provisional Patent Application No. 63 / 132,821, filed on December 31, 2020, the entire content of which is incorporated herein by reference.
[0002] The present disclosure generally relates to a robot system and method for controlling the cause of undesirable movement of components within the kinematic chain of a robot.
Background Art
[0003] A robotic system for performing surgical procedures at a surgical site often includes a manipulator having a base, a plurality of links and joints, and an end - effector coupled to the manipulator. In many cases, the end - effector includes or supports a surgical tool with an energy applicator designed to remove tissue at the surgical site. The kinematic chain is defined by the base, links and joints, and the surgical tool including the energy applicator.
[0004] In an admittance - controlled robotic system, a force is received as an input and a commanded position of the energy applicator is output. Due to the inverse - kinematic nature of admittance control, the commanded position of the energy applicator is output as task - space (x, y, z) coordinates, and each posture (position and orientation) of the kinematic - chain components is output according to a solution that satisfies the constraints defined by a complex set of simultaneous equations.
[0005] An energy applicator typically moves along a toolpath according to a commanded position. The speed at which the energy applicator moves along the toolpath is commonly known as the energy applicator's "feed rate." Conventional systems have attempted to adjust the feed rate by taking into account conditions or inputs such as manual user selection of the feed rate, tissue characteristics, sensing of forces applied to the energy applicator, and the curvature of the path. Adjusting the feed rate in conventional admittance-controlled robot systems responds only to desired (or intended) inputs or conditions that directly affect the movement of the energy applicator along the toolpath. However, conventional techniques for adjusting the feed rate do not take into account the possibility of undesirable orientations of motion occurring in components of the kinetic chain other than the energy applicator (i.e., non-toolpath components), such as the manipulator's tool shaft, joints, or links. Such non-toolpath components may experience rapid angular velocities, angular accelerations, or angular jerks when kinematically manipulated according to complex inverse kinematic solutions. Such undesirable orientations of non-toolpath components can lead to inaccuracies in the commanded position. For example, the inertia of non-toolpath components can cause unexpected changes in motion and direction, leading to deviations from the commanded position. Furthermore, such undesirable directional motion can disrupt the surgical workflow or user experience, as it may cause the surgeon to become wary and want to manually slow down or stop the surgery. At least the aforementioned shortcomings remain to be addressed. [Overview of the project]
[0006] According to a first aspect, a surgical system is provided comprising a surgical tool including an energy applicator, a manipulator comprising a base and a plurality of links and joints and configured to support the surgical tool, wherein the kinetic chain is defined by the components of the manipulator and the surgical tool including the energy applicator, and at least one controller, wherein the at least one controller is configured to identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable orientation, and to change the feed rate of the energy applicator to account for the motion in the undesirable orientation.
[0007] According to a second aspect, a method for operating the surgical system according to the first aspect is provided.
[0008] According to a third aspect, a surgical system is provided comprising a surgical tool including an energy applicator, a manipulator comprising a base and a plurality of links and joints and configured to support the surgical tool, wherein the kinetic chain is defined by the components of the manipulator and the surgical tool including the energy applicator, and at least one controller, wherein the at least one controller is configured to identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable orientation, and to modify the operation of the manipulator to take the undesirable orientation into account.
[0009] According to a fourth aspect, a method for operating the surgical system according to the third aspect is provided.
[0010] According to a fifth aspect, a surgical system is provided comprising a surgical tool including an energy applicator, a manipulator comprising a base and a plurality of links and joints and configured to support the surgical tool, wherein the kinetic chain is defined by the components of the manipulator and the surgical tool including the energy applicator, and at least one controller, wherein the at least one controller is configured to determine a feed rate defined as the speed at which the energy applicator moves forward, to control the manipulator to move the energy applicator forward to a plurality of command positions according to the feed rate, to identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable orientation that occurs as the energy applicator moves forward according to the feed rate, and to modify the feed rate to take the motion in an undesirable orientation into account.
[0011] According to the sixth aspect, a method for operating the surgical system according to the fourth aspect is provided.
[0012] According to a seventh aspect, a surgical system is provided comprising a surgical tool including an energy applicator, a manipulator comprising a base and a plurality of links and joints configured to support the surgical tool, wherein the kinetic chain is defined by the manipulator's components comprising the base and a plurality of links and joints, and the surgical tool including the energy applicator, and at least one controller, wherein the at least one controller is configured to determine a feed rate defined as the speed at which the energy applicator moves forward in a semi-autonomous mode along a toolpath, to control the manipulator in a semi-autonomous mode to move the energy applicator forward along the toolpath to a plurality of commanded positions according to the feed rate, to identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable orientation that occurs while the energy applicator is moving forward along the toolpath according to the feed rate, and to modify the feed rate to take the motion in an undesirable orientation into account.
[0013] According to the eighth aspect, a method for operating the surgical system according to the seventh aspect is provided.
[0014] According to the ninth aspect, a surgical system comprising at least one controller comprises a non-temporary computer-readable medium storing simulation data showing undesirable orientation motion of one or more components of a kinetic chain, the simulation data being obtained from a simulation configured to simulate the control of a manipulator to advance an energy applicator to a plurality of command positions, the at least one controller being configured to obtain the simulation data from the non-temporary computer-readable medium, to identify, based on the simulation data, that one or more components of a kinetic chain other than the energy applicator are experiencing or will experience undesirable orientation motion, and to modify the operation of the manipulator to take the undesirable orientation motion into account.
[0015] According to the tenth aspect, a method for operating the surgical system according to the ninth aspect is provided.
[0016] According to the eleventh aspect, a surgical system is provided comprising a surgical tool including a shaft and an energy applicator at the distal end of the shaft; a manipulator including a base and a plurality of links and joints, configured to support the surgical tool; and at least one controller, wherein the at least one controller is configured to associate one or more virtual tactile objects with the shaft of the surgical tool at a position on the shaft, associate a virtual boundary with a surgical site in which the surgical tool interacts, detect collisions between the one or more virtual tactile objects associated with the shaft and the virtual boundary associated with the surgical site, and in response to the detection of a collision, control the manipulator to prevent the shaft from crossing the virtual boundary.
[0017] According to the twelfth aspect, a method for operating the surgical system according to the eleventh aspect is provided.
[0018] Any of the above embodiments can be combined in part or in whole.
[0019] With respect to any of the above embodiments, any one or more of the following embodiments are intended, individually or in combination.
[0020] In some embodiments, at least one controller is configured to determine the feed rate, which is defined as the speed at which the energy applicator moves forward.
[0021] In some embodiments, at least one controller is configured to control the manipulator to advance the energy applicator to a plurality of commanded positions according to the feed rate.
[0022] In some embodiments, undesirable motion occurs in the direction of the energy applicator as it moves forward according to the feed rate.
[0023] In some embodiments, the manipulator includes a plurality of links and joints that are part of a kinematic chain.
[0024] In some embodiments, the feed rate is specifically the rate at which the energy applicator is advanced according to commanded positions along a tool path.
[0025] In some embodiments, the feed rate is specifically the rate at which the energy applicator is advanced in a semi-autonomous mode of operation.
[0026] In some embodiments, at least one controller is further configured to vary the feed rate to account for unwanted motion by correlating the feed rate with a factor related to the magnitude of unwanted motion experienced or to be experienced by one or more components of the kinematic chain other than the energy applicator. In some embodiments, the varied feed rate is a non-zero rate that is less than the rate of the feed rate that existed prior to the change in the feed rate.
[0027] In some embodiments, at least one controller is further configured to compare unwanted motion to a threshold or range and vary the feed rate to account for unwanted motion in response to the unwanted motion meeting the threshold or range, thereby identifying that one or more components of the kinematic chain other than the energy applicator are experiencing or will experience unwanted motion.
[0028] In some embodiments, at least one controller is configured to obtain forward kinematic measurements of the kinematic chain during advancement of the energy applicator to a plurality of commanded positions along a tool path according to the feed rate and evaluate the forward kinematic measurements to identify that one or more components of the kinematic chain other than the energy applicator are experiencing or will experience unwanted motion.
[0029] In some embodiments, the non - transitory computer - readable medium stores simulation data indicating undesirable movement of one or more components of the kinematic chain, and the simulation data is obtained from a preoperative simulation configured to simulate the control of the manipulator in a semi - autonomous mode to advance an energy applicator along a tool path according to a feed rate to a plurality of commanded positions. In some embodiments, at least one controller is configured to obtain the simulation data from the non - transitory computer - readable medium and, based on the simulation data, identify that one or more components of the kinematic chain other than the energy applicator are experiencing or will experience undesirable movement.
[0030] In some embodiments, one or more sensors are configured to generate measurements related to any one or more components of the kinematic chain. In some embodiments, the one or more sensors include any one or more of a sensor configured to be coupled to any one or more of the joints and detect any one or more of joint position, joint velocity, and joint acceleration, a current sensor configured to detect current drawn by any one or more actuators of any one or more of the joints, a navigation system configured to detect the state of a tracker coupled to any one or more components of the kinematic chain, and a vision system configured to detect movement of any one or more components of the kinematic chain. In some embodiments, at least one controller is configured to analyze the measurements to identify that one or more components of the kinematic chain other than the energy applicator are experiencing or will experience undesirable movement.
[0031] In some embodiments, at least one controller is configured to store the inertia value of any one or more components of the kinetic chain in a non-transient computer-readable medium, and in some embodiments, the stored inertia value is configured to identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction. In one implementation, the inertia value is a rotational inertia value. In one embodiment, the inertia value is a translational inertia value or a linear inertia value.
[0032] In some embodiments, while advancing the energy applicator along the toolpath in semi-autonomous mode, at least one controller is further configured to enable a change in the orientation of the surgical tool, identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience further undesirable orientational motion resulting from the change in the orientation of the surgical tool, and to modify the feed rate to account for the further undesirable orientational motion resulting from the change in the orientation of the surgical tool. In some embodiments, the change in orientation is initiated by the user. In other embodiments, the change in orientation is automated by the system.
[0033] In some embodiments, at least one controller is configured to associate one or more virtual tactile objects with one or more components of a kinetic chain, define a virtual boundary, detect collisions between one or more virtual tactile objects and the virtual boundary, control a manipulator in response to collision detection to prevent one or more components of the kinetic chain associated with the virtual tactile object from crossing the virtual boundary, identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience further undesirable directional motion resulting from the suppression of one or more components of the kinetic chain in response to collision detection, and modify the feed rate to take into account the further undesirable directional motion resulting from the suppression of one or more components of the kinetic chain in response to collision detection.
[0034] In some embodiments, the surgical tool includes a shaft and an energy applicator at the distal end of the shaft, and at least one controller is configured to associate one or more virtual tactile objects with the shaft of the surgical tool at locations on the shaft other than the distal end, associate a virtual boundary with the surgical site in which the surgical tool interacts, control the manipulator to prevent the shaft from crossing the virtual boundary in response to detection of a collision between one or more virtual tactile objects on the shaft and the virtual boundary of the surgical site, identify that the shaft is experiencing or will experience undesirable orientational motion, and modify the feed rate to account for the undesirable orientational motion that the shaft is experiencing or will experience.
[0035] In some embodiments, at least one controller is configured to identify when the shaft is experiencing or will experience undesirable directional motion by further configuring to evaluate the intrusion occurring between one or more virtual tactile objects of the shaft and the virtual boundary of the surgical site. In some embodiments, the value / magnitude of the intrusion occurring between one or more virtual tactile objects and the virtual boundary can be evaluated, and the feed rate can be adjusted in response to this evaluation.
[0036] In some embodiments, in response to a change in feed rate to account for motion in an undesirable orientation, at least one controller is configured to identify that one or more components of the kinetic chain other than the energy applicator are no longer experiencing or will no longer experience motion in an undesirable orientation, and accordingly restore or resume the feed rate that was present before the change in feed rate or planned after the change.
[0037] In some embodiments, undesirable orientation of motion is further defined as one or more undesirable angular velocities, angular accelerations, or angular jerks experienced or to be experienced by any one or more components of the kinetic chain other than the energy applicator.
[0038] In some embodiments, the surgical instrument includes a shaft and an energy applicator at the distal end of the shaft, the energy applicator being further defined as a cutting bar.
[0039] In some embodiments, at least one controller is configured to model the surgical instrument and energy applicator as virtual rigid bodies and to change the feed rate of the instrument to account for motion in undesirable directions based on virtual forces applied to the virtual rigid bodies.
[0040] In some embodiments, at least one controller is configured to calculate the feed rate based on several variables, one or more of which include the shape of the space to which the energy applicator is applied, the type of energy applicator, the patient's health condition, the nature of the tissue to which the energy applicator is applied, and the shape of the path segment of the toolpath.
[0041] In some embodiments, in addition to modifying the feed rate to account for undesirable orientations, at least one controller is further configured to adjust the determined feed rate of the instrument based on any one or more of the following: user adjustment of the instrument's feed rate, the force and torque to which the energy applicator is subjected, the curvature of the path segments of the toolpath, the instrument's output, tissue temperature, and the movement of the patient or anatomical structure tracker or external forces applied thereto.
[0042] In some embodiments, while the feed rate is being changed, the energy applicator moves along a segment of a non-curved, linear toolpath.
[0043] In some embodiments, one or more controllers mitigate undesirable orientational motion by modifying the manipulator's behavior in addition to, or in an alternative manner to, changing the feed rate FR. In some embodiments, one or more controllers can predictively or dynamically perform actions such as manipulating joint movement, joint constraints, or joint orientation in zero space, changing tool trajectories, modifying toolpaths, adjusting virtual boundaries or other constraints, or preventing user-controlled robotic functions such as orientation changes, backdriving, or feed rate adjustments.
[0044] Any of the above embodiments can be used individually or in combination with any part of any of the above embodiments.
[0045] The merits of this disclosure will be more readily apparent if you refer to the following detailed description in conjunction with the attached drawings. [Brief explanation of the drawing]
[0046] [Figure 1] This is a perspective view of one embodiment of a robotic surgical system. [Figure 2] This is a layout of one embodiment of a manipulator for a robotic surgical system, showing each link, joint, and end effector, as well as the tools coupled to them. [Figure 3] This is a schematic diagram of one embodiment of a kinetic chain formed by manipulator components, including a tool and its energy applicator. [Figure 4] This is a block diagram of a control system, including components and a controller for controlling a robotic surgical system, according to one embodiment. [Figure 5] This is a functional block diagram of the software program used by the robotic surgical system, based on various implementations. [Figure 6] An example of the output of a boundary generator in a software program according to one embodiment is shown. [Figure 7] An example of the output of a path generator in a software program according to one embodiment is shown. [Figure 8] This is a block diagram of the variable inputs that the path generator can use to determine the feed rate of the energy applicator. [Figure 9] An example of an energy applicator advancing along a path segment of a toolpath between commanded positions is shown, where the feed rate of the energy applicator is defined relative to the path segment. [Figure 10] For example, a schematic example of a particular non-toolpath component of a kinetic chain experiencing undesirable directional motion resulting from the forward movement of an energy applicator according to a defined feed rate is shown. [Figure 11] Figure 10 schematically illustrates a reduction in the feed rate of the energy applicator to mitigate the undesirable orientation of certain non-toolpath components before the energy applicator reaches the next command position, according to one embodiment. [Figure 12] For example, another schematic example shows a particular non-toolpath component of a kinetic chain experiencing motion in an undesirable direction, resulting from the forward movement of an energy applicator at a defined feed rate. [Figure 13] Figure 12 schematically illustrates a reduction in the feed rate of the energy applicator to mitigate the undesirable orientation of certain non-toolpath components after the energy applicator has reached the next command position, according to one embodiment. [Figure 14] This is a block diagram of factors influencing the presence or expected presence of undesirable orientations in non-toolpath components of a kinetic chain. [Figure 15] A schematic example of a tool shaft containing a virtual tactile object associated with the shaft, where a reaction force is generated in response to a collision between the virtual tactile object and a virtual boundary, is shown. [Figure 16] Figure 15 schematically illustrates the undesirable motion in the direction experienced by the shaft in response to the reaction force due to collision with the boundary, and the reduction of the feed rate to mitigate this undesirable motion, according to one embodiment. [Figure 17] This schematic diagram illustrates how the manipulator's orientation changes as the energy applicator moves along the toolpath according to the feed rate. [Figure 18] This schematic diagram illustrates, according to one embodiment, the undesirable directional motion experienced by a specific non-toolpath component of the kinetic chain in Figure 17 in response to a change in orientation, and the reduction in feed rate to mitigate the undesirable directional motion. [Figure 19] This flowchart shows one embodiment of an algorithm used by a robotic surgical system to modify the feed rate of an energy applicator to account for current or anticipated undesirable orientations of motion. [Modes for carrying out the invention]
[0047] I. System Overview
[0048] Referring to Figure 1, a surgical system 10 is shown. System 10 is useful for treating a surgical site or anatomical volume (A) of patient 12, such as the treatment of bone or soft tissue. In Figure 1, patient 12 is undergoing a surgical procedure. The anatomical structures in Figure 1 include the femur F and tibia T of patient 12. The surgical procedure may include tissue removal or other forms of treatment. Treatment may include tissue cutting, coagulation, injury, or other in-situ tissue treatment. In some cases, the surgical procedure may include partial or complete knee or hip replacement, shoulder replacement, spinal surgery, or ankle surgery. In some cases, system 10 is designed to excise material that will be replaced by surgical implants, such as hip and knee implants, including unicompartmental knee implants, bicompartmental knee implants, polycompartmental knee implants, or total knee implants. Some of these types of implants are described in U.S. Patent Application Publication No. 2012 / 0330429, entitled “Prosthetic Implant and Method of Implantation,” the disclosure of which is incorporated herein by reference. The systems 10 and techniques disclosed herein may be used to perform other surgical or nonsurgical procedures, or may be used in industrial or other applications utilizing robotic systems.
[0049] As shown in Figures 1-3, the system 10 includes a manipulator 14. A manipulator cart 17 may support the manipulator 14 so that it is fixed to the manipulator cart 17 (as shown in Figure 1). The manipulator 14 has a base 16 and a number of links 18a-18n. In one example, pairs of adjacent links 18 are connected by one of the joints J. The links 18 collectively form one or more arms 23 of the manipulator 14. The manipulator 14 may have a series arm configuration (shown in Figures 1-3), a parallel arm configuration, or any other suitable manipulator configuration. In other examples, multiple manipulators 14 may be used in multiple arm configurations. In one example, the manipulator 14 has six joints J1-J6 that perform at least six degrees of freedom (DOF) with respect to the manipulator 14. The manipulator 14 may have any number of degrees of freedom, any suitable number of joints J, and may have redundant joints.
[0050] Each joint J may have an actuator, such as a joint motor 27, positioned between adjacent links 18 (see Figure 2). The joint motor 27 is configured to rotate the link 18. In this way, the position of the link 18 is set by the joint motor 27. Each joint motor 27 may be mounted on the internal structural frame of the manipulator 14. In one example, the joint motor 27 is a servo motor, such as a permanent magnet brushless motor. The joint motor 27 may have other configurations, such as a synchronous motor, a brushed DC motor, a stepping motor, or an induction motor.
[0051] The joint motor 27 is positioned at one of several angular positions, hereafter referred to as joint angles. The joint angle is the angle of joint J between adjacent links 18. Each joint J may be configured to receive joint torque. Joint torque is the rotational or torsional "force" of joint J, and is a function of the force applied over a certain distance from the pivot point of joint J. Torque sensors may be connected to one or more joint motors 27 to measure the joint torque of joint J. Alternatively, joint torque may be measured using a signal representing the current applied to the joint motor 27.
[0052] One or more joint motors 27 may be equipped with a position sensor or encoder 19. For simplicity, one joint encoder 19 is shown in Figure 1, but other joint encoders 19 may be shown similarly. Alternatively, one or more links 18 driven by the joint motor 27 may be equipped with a position sensor or encoder 19. The encoder 19 may measure the joint angle of each joint J. In some embodiments, two encoders, one for the joint motor 27 and one for the moved link 18, may be used to determine the joint angle, for example, by averaging the joint angle with the displacement between the joint motor 27 and the joint due to compliant transmission. The manipulator 14 does not necessarily require a joint encoder 19, and instead or additionally may utilize motor encoders present on one or more joints J or the joint motor 27 of each joint J. Also, the manipulator 14 does not necessarily require a rotary joint, and instead or additionally may utilize one or more linear joints. Certain joints J may be passively movable and lockable, while other joints J may be actively driven. Any appropriate combination of joint types is intended.
[0053] Referring to Figure 1, the base 16 of the manipulator 14 is typically part of the manipulator 14 and provides a fixed reference coordinate system to the manipulator 14 or, generally, to other components of the system 10. Typically, the origin of the manipulator coordinate system MNPL is defined on the fixed reference of the base 16. The base 16 may be defined on any suitable part of the manipulator 14, such as one or more of the links 18. Alternatively or in addition, the base 16 may be defined on the manipulator cart 17, for example, if the manipulator 14 is physically attached to the manipulator cart 17. In one example, the base 16 is defined on the intersection of the axis of joint J1 and the axis of joint J2. Thus, although joints J1 and J2 are actually movable components, the intersection of the axes of joints J1 and J2 is nevertheless a virtual fixed reference pose, which provides a fixed reference for both position and orientation and does not move relative to the manipulator 14 and / or the manipulator cart 17. In other examples, the manipulator 14 may be a handheld manipulator, the base 16 is the base portion of the tool (e.g., a portion freely held by the user or a portion connected to a defined linkage mechanism), and the tool tip is movable relative to the base portion (e.g., semi-autonomously). The base portion has a tracked reference coordinate system, and the tool tip has a tool tip coordinate system calculated relative to the reference coordinate system (e.g., via motors and / or joint encoders and forward kinematic calculations). The orientation of the tool tip relative to the path can be determined, and the movement of the tool tip can be controlled to follow the path. Such a handheld configuration may be similar to that described in U.S. Patent No. 9,707,043, entitled "Surgical Instrument Including Housing, a Cutting Accessory that Extends from the Housing and Actuators that Establish the Position of the Cutting Accessory Relative to the Housing," the entirety of which is incorporated herein by reference.
[0054] The tool 20 is coupled to the manipulator 14 and is movable relative to the base 16 to interact with anatomical structures in specific modes. In certain embodiments, the tool 20 is a physical surgical tool and is part of, or forms part of, an end effector 22 supported by the manipulator 14. The tool 20 may be grasped by a user. One possible arrangement of the manipulator 14 and the tool 20 is described in U.S. Patent No. 9,119,655, entitled "Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes," the disclosure of which is incorporated herein by reference. The manipulator 14 and the tool 20 may be arranged in alternative configurations. The tool 20 may be similar to that shown in U.S. Patent Application Publication No. 2014 / 0276949, entitled "End Effector of a Surgical Robotic Manipulator," filed March 15, 2014, which is incorporated herein by reference.
[0055] The tool 20 includes an energy applicator 24 designed to contact and remove tissue from the patient 12 at the surgical site. In one example, the energy applicator 24 is a bur 25 or a surgical cutter. The tool 20 may include a tool shaft 33 having a proximal end coupled to a manipulator 14 and a distal end on which the energy applicator 24 is positioned. The tool shaft 33 rotates about a cutting axis so that the energy applicator 24 can manipulate the tissue. The bur 25 may be substantially spherical and may include a center of sphere, radius (r), and diameter. Alternatively, the energy applicator 24 may be a drill bit, saw blade, or ultrasonic vibrating tip, etc. The tool 20 and / or the energy applicator 24 may include any geometric features, e.g., perimeter, circumference, radius, diameter, width, length, volume, area, surface / plane, operating envelope range (along any one or more axes), etc. Geometric features may be taken into consideration to determine how the tool 20 is positioned relative to the tissue at the surgical site in order to perform the desired treatment. In some embodiments described herein, a spherical bar having a tool center point (TCP) is described for convenience and ease of explanation, but the tool 20 is not intended to be limited to any particular form.
[0056] An example of the manipulator 14 is shown in Figure 2. In this example, the manipulator 14 has a series arm configuration. More specifically, the manipulator 14 includes five links 18a, 18b, 18c, 18d, and 18e, with link 18a being the most proximal to the base 16 and link 16e being the most distal to the base 16. The manipulator 14 in Figure 2 also includes six joints identified as J1, J2, J3, J4, J5, and J6. Joint J1 is located between the base 16 and link 18a. Joint J2 is located between link 18a and link 18b. Joint J3 is located between link 18b and link 18c. Joint J4 is located between link 18c and link 18d. Joint J5 is located between link 18d and link 18e. Joint J6 is located between link 18e and the end effector 22. Since the manipulator 14 in Figure 2 is a series arm, the movement of any one joint J1-J6 causes movement in all downstream links (i.e., all links from the moved joint to the distal end of the manipulator).
[0057] Each joint J1-J6 is configured to rotate around its own individual axis A1, A2, A3, A4, A5, and A6. Having six joints J1-J6, the manipulator 14 can move freely with six degrees of freedom (DOF). That is, the manipulator 14 can move freely translationally forward, backward, up, down, and left and right along three vertical axes. The manipulator 14 can also change its orientation freely by rotational motion around three vertical axes, often called pitch, yaw, and roll. Those skilled in the art will understand that the manipulator 14 may perform movement with five DOF depending on factors such as whether the tool 20 needs to rotate around its own axis. For example, during burring, the manipulator 14 may operate with five DOF because the burs rotate independently. In such a case, there is redundancy because the number of joints is greater than the number of degrees of freedom required. During sawing, the manipulator 14 may operate with six DOF.
[0058] Joint J1, located on base 16, moves in a manner similar to hip rotation. By rotating around axis A1, joint J1 allows the manipulator 14 to rotate from left to right. Joint J2 moves in a manner similar to shoulder rotation. By rotating around axis A2, joint J2 allows the manipulator 14 to extend forward and backward. Joint J3 moves in a manner similar to elbow bending. By rotating around axis A3, joint J3 allows the manipulator 14 to be raised and lowered. Joint J4 moves in a manner similar to wrist twisting. By rotating around axis A4, joint J4 allows the manipulator 14 to rotate the upper links 18d and 18e in a circular motion, thereby changing the orientation of the tool 20. Joint J5 moves in a manner similar to wrist bending. By rotating around axis A5, joint J5 allows the link 18e and surgical tool 20 to tilt up and down, and is responsible for pitch and yaw motion. Similar to J4, joint J6 moves in a manner similar to wrist twisting. Joint J6 rotates around axis A6, allowing for more precise control of tool 20.
[0059] Referring to Figure 3, the kinetic chain KC is formed by a manipulator 14, which includes a base 16 and a plurality of links 18 and any other rigidly mounted components such as joints J, and a tool 20, which includes a shaft 33 (if applicable) and an energy applicator 24. The end effector 22 may also be part of the kinetic chain KC. Furthermore, any mounting system or sterile interface coupled between the manipulator 14 and the end effector 22 may also be part of the kinetic chain KC. An example of a mounting system and / or sterile interface mechanism that may be part of the kinetic chain KC is described in U.S. Patent Application Publication 2020 / 0170724A1, entitled "Mounting System With Sterile Barrier Assembly For Use In Coupling Surgical Components," the entire contents of which are incorporated herein by reference. As used herein, the term "kinetic chain" means an assembly of rigid bodies connected by joints, where the rigidity of the bodies enables motion constrained by the rigidity of the bodies, thereby determining the kinematics of the rigid bodies, which can be related to other rigid bodies in a chain using mathematical models. In the example in Figure 3, the kinetic chain KC further forms a "mechanism" because at least one link is mechanically grounded.
[0060] As shown in Figure 2, a sensor S, such as a force / torque sensor, may be mounted between the distal link 18e and the end effector 22. The force / torque sensor S is configured to output a variable signal as a function of the force and / or torque to which the end effector 22 and / or tool 20 are subjected. In doing so, the force / torque sensor S allows the user to detect the input force applied to the end effector 22 and / or tool 20. The input force can be used to control the movement of the manipulator 14 and emulate the force / torque applied by the user. The force / torque sensor S may also detect an external force applied to the energy applicator 24. In one embodiment, the force / torque sensor S is a 6DOF sensor, and the force / torque sensor S is configured to output signals representing three mutually orthogonal forces and three torques around the axis of the orthogonal force applied to the tool 20. Additionally or alternatively, the input force applied to the end effector 22 and / or tool 20 may be determined using joint torque or current sensors on the joint motor 27.
[0061] Referring to Figure 1, the manipulator 14 and / or manipulator cart 17 may house a manipulator controller 26 or other type of control unit. The manipulator controller 26 may include one or more computers or any other suitable form of controller that directs the movement of the manipulator 14. The manipulator controller 26 may have a central processing unit (CPU) and / or other processors, memory (not shown), and storage (not shown). The manipulator controller 26 is loaded with software as described below. The processor may include one or more processors that control the operation of the manipulator 14. The processor may be any type of microprocessor, multiprocessor, and / or multicore processing system. The manipulator controller 26 may additionally or alternatively include one or more microcontrollers, field-programmable gate arrays, system-on-chip, discrete circuitry, and / or other suitable hardware, software, or firmware capable of performing the functions described herein. The term processor is not intended to limit any embodiment to a single processor. The manipulator 14 may also include a user interface UI with one or more displays and / or input devices (e.g., push buttons, keyboard, mouse, microphone (voice-activated), gesture control device, touchscreen, etc.).
[0062] Tool 20 may include a tool controller 21 for controlling the operation of tool 20, such as controlling power to the tool (e.g., the rotary motor of tool 20), controlling the movement of tool 20, and controlling cleaning / suction of tool 20. The tool controller 21 may communicate with the manipulator controller 26 or other components. Tool 20 may also include a user interface UI with one or more displays and / or input devices (e.g., push buttons, keyboard, mouse, microphone (voice-activated), gesture control device, touchscreen, etc.). The manipulator controller 26 controls the state (position and / or orientation) of tool 20 (e.g., TCP) with respect to a coordinate system such as the manipulator coordinate system MNPL. The manipulator controller 26 can control (linear or angular) velocity, acceleration, or other derivatives of the motion of tool 20.
[0063] The tool center point (TCP) is, in one example, a predetermined reference point defined in the energy applicator 24. The TCP has an orientation that is known or computable (i.e., not necessarily static) with respect to other coordinate systems. The shape of the energy applicator 24 is known in the TCP coordinate system or defined with respect to the TCP coordinate system. The TCP may be located at the spherical center of the bar 25 of the tool 20 so that only one point is tracked. The TCP may be defined in various ways depending on the configuration of the energy applicator 24. The manipulator 14 can determine the orientation of the TCP using joint / motor encoders or any other non-encoder position sensing method. The manipulator 14 may determine the TCP orientation using joint measurements and / or employ techniques to directly measure the TCP orientation. Control of the tool 20 is not limited to the center point. For example, the tool 20 can be represented using any suitable primitive, mesh, etc.
[0064] As shown in Figure 1, system 10 may further include a navigation system 32. An example of the navigation system 32 is described in U.S. Patent No. 9,008,757, filed September 24, 2013, entitled “Navigation System Including Optical and Non-Optical Sensors,” which is incorporated herein by reference. The navigation system 32 tracks the movement of various objects. Such objects include, for example, a manipulator 14, a tool 20, and anatomical structures, such as the femur F and tibia T. The navigation system 32 tracks these objects to collect state information of the objects relative to the (navigation) localizer coordinate system LCLZ. The coordinates of the localizer coordinate system LCLZ may be transformed to and / or vice versa using transformations to transform to the manipulator coordinate system MNPL.
[0065] The navigation system 32 includes a cart assembly 34 that houses a navigation controller 36 and / or other types of control units. The navigation user interface UI communicates with the navigation controller 36 in operation. The navigation user interface includes one or more displays 38. The navigation system 32 can use one or more displays 38 to display a graphical representation of the relative state of the tracked object to the user. The navigation user interface UI further includes one or more input devices for inputting information to the navigation controller 36 or for selecting / controlling a particular aspect of the navigation controller 36. Such input devices include interactive touchscreen displays. The input devices may include any one or more of the following: push buttons, keyboards, mice, microphones (voice-activated), gesture control devices, etc.
[0066] The navigation system 32 also includes a navigation localizer 44 coupled to the navigation controller 36. In one example, the localizer 44 is an optical localizer and includes a camera unit 46. The camera unit 46 has an outer housing 48 that houses one or more optical sensors 50. The localizer 44 may include its own localizer controller 49 and may further include a video camera VC.
[0067] The navigation system 32 includes one or more trackers. In one example, the trackers may include a pointer tracker PT, one or more manipulator trackers 52A, 52B, a first patient tracker 54, and a second patient tracker 56. In the example shown in Figure 1, the manipulator tracker (i.e., tracker 52A) is securely attached to the tool 20, the first patient tracker 54 is securely fixed to the femur F of patient 12, and the second patient tracker 56 is securely fixed to the tibia T of patient 12. In this example, the patient trackers 54 and 56 are securely fixed to a portion of the bone. The pointer tracker PT is securely fixed to a pointer P used to register anatomical structures in the localizer coordinate system LCLZ. The manipulator trackers 52A and 52B may be fixed in addition to the tool 20, or to any suitable component of the manipulator 14, such as the base 16 (i.e., tracker 52B), or to any one or more links 18 of the manipulator 14. The trackers 52A, 52B, 54, 56, and PT may be fixed to each component in any suitable way. For example, the trackers may be rigidly fixed, flexibly connected (by optical fiber), or not physically connected at all (by ultrasound), as long as there is a suitable (supplementary) way to determine the relationship (measurement) between each tracker and the object to which it is associated.
[0068] Any one or more of the trackers may include an active marker 58. The active marker 58 may include a light-emitting diode (LED). Alternatively, trackers 52A, 52B, 54, 56, and PT may have passive markers, such as reflectors that reflect light emitted from the camera unit 46. Other suitable markers not specifically described herein may be used.
[0069] The localizer 44 tracks the trackers 52A, 52B, 54, 56, and PT to determine the state of the trackers 52A, 52B, 54, 56, and PT, which correspond to the state of the object to which each tracker is attached. The localizer 44 may perform known triangulation techniques to determine the state of the trackers 52, 54, 56, PT, and associated objects. The localizer 44 provides the state of the trackers 52A, 52B, 54, 56, and PT to the navigation controller 36. In one example, the navigation controller 36 determines the state of the trackers 52A, 52B, 54, 56, and PT and communicates this to the manipulator controller 26. As used herein, the state of an object may include, but is not limited to, data defining the position and / or orientation of the tracked object, or the equivalent / derivative of the position and / or orientation. For example, the state may be the attitude of the object and may include linear velocity data and / or angular velocity data, etc.
[0070] The navigation controller 36 may include one or more computers or any other suitable form of controller. The navigation controller 36 has a central processing unit (CPU) and / or other processors, memory (not shown), and storage (not shown). The processor may be any type of processor, microprocessor, or multiprocessor system. Software is loaded into the navigation controller 36. The software, for example, converts signals received from the localizer 44 into data representing the position and orientation of the tracked object. The navigation controller 36 may additionally or alternatively include one or more microcontrollers, field-programmable gate arrays, system-on-chip, discrete circuits, and / or other suitable hardware, software, or firmware capable of performing the functions described herein. The term processor is not intended to be limited to a single processor.
[0071] An example of a navigation system 32 that uses triangulation techniques to determine the state of an object is shown, but the navigation system 32 may have any other suitable configuration for tracking the manipulator 14, the tool 20, and / or the patient 12. In another example, the navigation system 32 and / or the localizer 44 are ultrasound-based. For example, the navigation system 32 may include an ultrasound imaging device coupled to a navigation controller 36. The ultrasound imaging device images any of the aforementioned objects, e.g., the manipulator 14, the tool 20, and / or the patient 12, and generates a state signal to the navigation controller 36 based on the ultrasound image. The ultrasound image may be 2D, 3D, or a combination of both. The navigation controller 36 may process the image in near real-time and determine the state of the object. The ultrasound imaging device may have any suitable configuration and may differ from the camera unit 46 shown in Figure 1.
[0072] In another example, the navigation system 32 and / or localizer 44 are radio frequency (RF) based. For example, the navigation system 32 may include an RF transceiver coupled to the navigation controller 36. The manipulator 14, tool 20, and / or patient 12 may include RF emitters or transponders attached to them. The RF emitters or transponders may be passive or actively energized. The RF transceiver transmits an RF tracking signal and generates a status signal to the navigation controller 36 based on the RF signal received from the RF emitter. The navigation controller 36 may analyze the received RF signal to associate a relative state with the RF signal. The RF signal may be of any suitable frequency. The RF transceiver may be placed in any suitable location to effectively use the RF signal to track an object. Furthermore, the RF emitters or transponders may have any suitable structural configuration which may differ significantly from the trackers 52A, 52B, 54, 56, and PT shown in Figure 1.
[0073] In yet another example, the navigation system 32 and / or localizer 44 are electromagnetically based. For example, the navigation system 32 may include an EM transceiver coupled to a navigation controller 36. The manipulator 14, tool 20, and / or patient 12 may include any suitable EM components such as magnetic trackers, electromagnetic trackers, or inductive trackers. The trackers may be passive or actively energized. The EM transceiver generates an EM field and, based on the EM signals received from the trackers, generates a state signal to the navigation controller 36. The navigation controller 36 may analyze the received EM signals to associate relative states with the EM signals. Again, such examples of navigation systems 32 may have structural configurations different from those of the navigation system 32 shown in Figure 1.
[0074] Navigation system 32 may have any other suitable components or structures not specifically described herein. Furthermore, any of the techniques, methods, and / or components described herein may be implemented or provided for any other example of navigation system 32 described herein. For example, navigation system 32 may utilize inertial tracking alone or any combination of tracking techniques, and may include, in addition or instead, fiber optic-based tracking, machine vision tracking, and the like.
[0075] Referring to Figure 4, system 10 includes a control system 60, which includes, among other components, a manipulator controller 26, a navigation controller 36, and a tool controller 21. The control system 60 further includes one or more software programs and software modules as shown in Figure 5. A software module may be part of one or more programs that operate in the manipulator controller 26, the navigation controller 36, the tool controller 21, or any combination thereof, to process data and assist in the control of system 10. The software programs and / or modules include computer-readable instructions stored in non-temporary memory 64 on the manipulator controller 26, the navigation controller 36, the tool controller 21, or any combination thereof, which are executed by one or more processors 70 of the controllers 21, 26, 36. Memory 64 may be any suitable configuration of memory, such as RAM or non-volatile memory, and may be local or from a remote database. Furthermore, a software module for prompting and / or communicating with the user may form part of one or more programs and may include instructions stored in the memory 64 of the manipulator controller 26, the navigation controller 36, the tool controller 21, or any combination thereof. The user may communicate with the software module by interacting with one of the input devices of the navigation user interface UI or other user interface UI. The user interface software may run on a device separate from the manipulator controller 26, the navigation controller 36, and / or the tool controller 21.
[0076] The control system 60 may include input devices, output devices, and processing devices in any suitable configuration that is appropriate for performing the functions and methods described herein. The control system 60 may include a manipulator controller 26, a navigation controller 36, or a tool controller 21, or any combination thereof, or may include only one of these controllers. These controllers may communicate via a wired bus or communication network as shown in Figure 4, via wireless communication, or otherwise. The control system 60 may also be referred to as a controller. The control system 60 may include one or more microcontrollers, field-programmable gate arrays, system-on-chip, discrete circuits, sensors, displays, user interfaces, indicators, and / or other suitable hardware, software, or firmware capable of performing the functions described herein.
[0077] Referring to Figure 5, the software used by the control system 60 includes a boundary generator 66. As shown in Figure 6, the boundary generator 66 is a software program or module that generates virtual boundaries 71 to constrain the movement and / or operation of the tool 20. The virtual boundaries 71 may be one-dimensional, two-dimensional, or three-dimensional, and may include points, lines, axes, orbits, planes, or other shapes including complex shapes. In some embodiments, the virtual boundaries 71 are surfaces defined by a triangular mesh. Such virtual boundaries 71 may be called virtual objects. The virtual boundaries 71 may be defined relative to an anatomical model AM, such as a 3D bone model. In the example in Figure 6, the virtual boundaries 71 are planar boundaries depicting five planes of the entire knee implant and are associated with a 3D model of the femoral head F. The anatomical model AM is registered with one or more patient trackers 54, 56 so that the virtual boundaries 71 are associated with the anatomical model AM. The virtual boundary 71 may be implant-specific, for example, defined based on the size, shape, and volume of the implant, and / or patient-specific, for example, defined based on the patient's anatomical structure. The virtual boundary 71 may be a boundary created preoperatively, intraoperatively, or a combination thereof. In other words, the virtual boundary 71 may be defined before the surgical procedure begins, during the surgical procedure (including during tissue removal), or a combination thereof. In any case, the control system 60 obtains the virtual boundary 71 by storing / retrieving it from memory, retrieving the virtual boundary 71 from memory, creating the virtual boundary 71 preoperatively, creating the virtual boundary 71 intraoperatively, etc.
[0078] The manipulator controller 26 and / or navigation controller 36 track the state of the tool 20 relative to the virtual boundary 71. In one example, the TCP state relative to the virtual boundary 71 is measured for the purpose of determining the tactile force to apply to a virtual rigid body model via virtual simulation so that the tool 20 is in a desired positional relationship with the virtual boundary 71 (e.g., does not move beyond the virtual boundary). The results of the virtual simulation are instructed to the manipulator 14. The control system 60 controls / positions the manipulator 14 in a manner that emulates how a physical handpiece would respond in the presence of a physical boundary / barrier. The boundary generator 66 may be implemented in the manipulator controller 26. Alternatively, the boundary generator 66 may be implemented in another component, such as the navigation controller 36.
[0079] Referring to Figures 5 and 7, the path generator 68 is a separate software program or module executed by the control system 60. In one example, the path generator 68 is executed by the manipulator controller 26. The path generator 68 generates a tool path TP for the tool 20 to traverse, for example, to remove a portion of an anatomical structure to receive an implant. The tool path TP may include multiple path segments PS or a single path segment PS. The path segments PS may be straight segments, curved segments, combinations thereof, etc. The tool path TP may also be defined for an anatomical model AM. The tool path TP may be implant-specific, for example, based on the size, shape, volume, etc., of the implant, and / or patient-specific, for example, based on the patient's anatomical structure.
[0080] In one version described herein, the toolpath TP is defined as a tissue removal route, while in other versions, the toolpath TP may be used for treatments other than tissue removal. An example of a tissue removal route described herein includes a milling path 72. The term “milling path” generally refers to the route of the tool 20 near a target site for milling an anatomical structure, and is not intended to require the tool 20 to operatively mill the anatomical structure over the entire length of the route. For example, as will be understood in more detail below, the milling path 72 may include portions or segments to which the tool 20 moves from one location to another without milling. Furthermore, other forms of tissue removal, such as tissue cauterization, may be employed along the milling path 72. The milling path 72 may be a predetermined route created preoperatively, intraoperatively, or a combination thereof. In other words, the milling path 72 may be defined before the start of the surgical procedure, during the surgical procedure (including during tissue removal), or a combination thereof. In any case, the control system 60 obtains the milling path 72 by storing / retrieving it from memory, retrieving the milling path 72 from memory, creating the milling path 72 preoperatively, or creating the milling path 72 intraoperatively. The milling path 72 may have any suitable shape or combination of shapes, such as circular, spiral / corkscrew, straight, curved, or a combination thereof.
[0081] An example of a system and method for generating a virtual boundary 71 and / or milling path 72 is described in U.S. Patent No. 9,119,655, entitled "Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes," the disclosure of which is incorporated herein by reference. In some examples, the virtual boundary 71 and / or milling path 72 may be generated offline rather than on the manipulator controller 26 or the navigation controller 36. The virtual boundary 71 and / or milling path 72 may then be made available at runtime by the manipulator controller 26.
[0082] Referring to Figure 5, two additional software programs or modules are executed in the manipulator controller 26 and / or the navigation controller 36. One software module performs behavior control 74. Behavior control 74 is the process of calculating data indicating the next command position CP of the energy applicator 24 and / or the orientation (e.g., attitude) of the tool 20. In some cases, the position of TCP is output from behavior control 74, but in other cases, the position and orientation of the tool 20 are output. Outputs from the boundary generator 66, the path generator 68, and the force / torque sensor S are supplied as inputs to behavior control 74 to determine the next command position CP of the energy applicator 24 and / or the orientation of the tool 20. Behavior control 74 may process these inputs together with one or more virtual constraints, further described below, to determine the command attitude.
[0083] The second software module performs motion control 76. One aspect of motion control is the control of the manipulator 14. Motion control 76 receives data from behavior control 74 that defines the next commanded pose. Based on this data, motion control 76 determines the next position of the joint angle of joint J of the manipulator 14 (for example, by inverse kinematics and Jacobi computer), and as a result, the manipulator 14 can position the tool 20, for example, in the commanded pose, as commanded by behavior control 74. In other words, motion control 76 processes the commanded pose, which may be defined in Cartesian space, into the joint angles of the manipulator 14, and as a result, the manipulator controller 26 can command the joint motors 27 accordingly to move joint J of the manipulator 14 to the commanded joint angle corresponding to the commanded pose of the tool 20. In one version, the motion control 76 adjusts the joint angle of joint J and adjusts the torque output by the joint motor 27 as precisely as possible so that the joint motor 27 reliably drives the associated joint J to the commanded joint angle.
[0084] The boundary generator 66, path generator 68, behavior control 74, and motion control 76 may be software programs that operate separately and / or independently as a subset of the software program 78, or in any combination thereof. The term “software program” is used herein to describe computer executable instructions configured to perform various functions of the described technical solution. For simplicity, the term “software program” is intended to encompass at least one or more of the boundary generator 66, path generator 68, behavior control 74, and / or motion control 76. The software program 78 may be implemented in the manipulator controller 26, the navigation controller 36, or any combination thereof, or may be implemented in any suitable way by the control system 60.
[0085] A clinical application 80 may be provided to handle user interaction. The clinical application 80 handles many aspects of user interaction and coordinates the surgical workflow, including preoperative planning, implant placement, registration, visualization of bone preparation, and postoperative evaluation of implant fit. The clinical application 80 is configured to output to the display 38. The clinical application 80 may run on its own separate processor or run together with the navigation controller 36. In one example, after implant placement is set by the user, the clinical application 80 interfaces with the boundary generator 66 and / or path generator 68, and then sends the virtual boundary 71 and / or toolpath TP returned by the boundary generator 66 and / or path generator 68 to the manipulator controller 26 for execution. The manipulator controller 26 executes the toolpath TP as described herein. The manipulator controller 26 may further create specific segments (e.g., pull-in segments) to smoothly return to the generated toolpath TP when starting or restarting machining. The manipulator controller 26 may also process the virtual boundary 71 and generate corresponding virtual constraints, as further described below.
[0086] System 10 may operate in a manual mode as described in U.S. Patent No. 9,119,655, incorporated herein by reference, where the user gives manual instructions and the manipulator 14 performs the movement of the tool 20 and its energy applicator 24 at the surgical site. The user moves the tool 20 in manual mode by physically contacting the tool 20. In one version, the manipulator 14 monitors the force and torque applied to the tool 20 by the user to position the tool 20. For example, the manipulator 14 may include a force / torque sensor S that detects the force and torque applied by the user and generates a corresponding input (e.g., one or more corresponding input / output signals) used by the control system 60.
[0087] The manipulator controller 26 and / or navigation controller 36 receive input (e.g., signals) from the force / torque sensor S. In response to the force and torque applied by the user, the manipulator 14 moves the tool 20 in a manner that emulates the movement that would have occurred based on the force and torque applied by the user. The movement of the tool 20 in manual mode may also be constrained by a virtual boundary 71 generated by the boundary generator 66. In some versions, the measurements obtained by the force / torque sensor S are converted from the force / torque coordinate system FT of the force / torque sensor S to another coordinate system, such as the virtual mass coordinate system in which the virtual simulation is performed in the virtual rigid body model of the tool 20, and as a result, the force and torque can be virtually applied to the virtual rigid body in the virtual simulation to finally determine how these forces and torques affect the movement of the virtual rigid body (in particular among other inputs), as described below.
[0088] System 10 may also operate in a semi-autonomous mode in which the manipulator 14 moves the tool 20 along the milling path 72 (for example, the active joint J of the manipulator 14 operates to move the tool 20 without requiring force / torque from the user to the tool 20). An example of operation in semi-autonomous mode is also described in U.S. Patent No. 9,119,655, which is incorporated herein by reference. In some embodiments, when the manipulator 14 operates in a semi-autonomous mode, the manipulator 14 can move the tool 20 without user assistance. Lack of user assistance may mean that the user does not physically touch the tool 20 to move it. Instead, the user may use some form of remote control to control the start and stop of the movement. For example, the user may start the movement of the tool 20 by holding down a button on the remote control and stop the movement of the tool 20 by releasing the button.
[0089] The control system 60, including the manipulator controller 26 and the behavior controller 74, is configured to simulate the dynamics of the tool 20 in a virtual simulation. The virtual simulation may be based on the tool 20 with or without the energy applicator 24. In one example, the virtual simulation is performed using a physics engine, which is computer software that simulates the dynamics of a rigid body. The virtual simulation may be performed on a computing device having a non-temporary computer-readable storage medium 64 on which an executable program is stored. The virtual simulation simulates the dynamics of the tool 20 before such dynamics of the tool 20 are physically performed by the manipulator 14. The control system 60 models the tool 20 as a virtual rigid body, which is a dynamic object. Thus, the control system 60 effectively simulates the rigid body dynamics of the tool 20. The virtual rigid body can move freely in the Cartesian task space according to 6DOF according to the virtual simulation. The virtual rigid body may be modeled as a single point, which may be on, within, or beyond the tool 20. A mass / inertia matrix defines a virtual mass with 6DOF. In one example, the virtual rigid body corresponds to the center of gravity of the tool 20. Here, the “center of mass” is understood to be the point around which the tool 20 would rotate if a force were applied to another point on the tool 20 and the tool 20 were not constrained, i.e., not constrained by the manipulator 14. The center of mass of the virtual rigid body may be close to, but not identical to, the actual center of mass of the tool 20. The center of mass of the virtual rigid body can be determined empirically. Once the tool 20 is attached to the manipulator 14, the position of the center of mass can be reset to accommodate the preference of individual operators. In other embodiments, the virtual rigid body may correspond to other features of the tool 20, such as the center of gravity.
[0090] This virtual rigid body is considered to have a virtual mass. The virtual mass has inertia with respect to at least one of the joints J. In some cases, the virtual mass has inertia with respect to each of the joints (J1-J6). Inertia is a measure of the resistance exhibited by the virtual mass in response to a change in velocity. Inertia may be understood as a property of the virtual mass. Therefore, virtual mass may refer to both the mass and inertia of the virtual rigid body. The virtual mass of the virtual rigid body is typically within the same order of magnitude as the actual mass of tool 20. The virtual mass may be designed to be larger or smaller than the actual mass of tool 20.
[0091] In one example, the virtual rigid body is in a first position at the start of each iteration of the virtual simulation. The control system 60 may receive input forces from a force / torque sensor S, and / or other input forces modeled as user-applied input forces and / or other constraints. While the virtual rigid body is in the first position, the input forces in the virtual simulation are applied to the virtual rigid body. The input forces cause the virtual rigid body to move to a second position, which has a different position and orientation in Cartesian space along the virtual path. Knowing the second position of the virtual rigid body based on the virtual simulation, the control system 60 commands the movement of joint J according to the virtual simulation. That is, the control system 60 transforms the dynamics of the virtual rigid body in Cartesian space to instruct the movement of the manipulator 14 and control the orientation of the tool 20 in joint space. The forces resulting in the second position are applied to the Jacobi computer, which calculates a Jacobi matrix that relates the motion in Cartesian space to the motion in joint space.
[0092] Virtual simulations may be performed computationally without a visual or graphical representation of the virtual rigid body. It is not necessary for the virtual simulation to virtually display the dynamics of the virtual rigid body. In other words, the virtual rigid body does not need to be modeled within a graphics application running on the processing unit. In some cases, the movement of a virtual tool, tracked down to the actual tool20, may be displayed on the surgical site to provide visual assistance during the procedure. In such cases, the displayed tool is not a direct result of the virtual simulation.
[0093] II. Determining the Feed Rate
[0094] The speed or velocity at which the energy applicator 24 moves forward along the path is referred to as the feed rate FR. In one embodiment, such forward movement may be forward movement in a semi-autonomous mode, more specifically forward movement along the toolpath TP. This section describes techniques for determining the feed rate FR before or during a procedure. As described in this section, the feed rate FR can be set and modified based on various conditions and / or variables. As described in the following section, the feed rate FR can be dynamically changed to account for undesirable orientations of non-toolpath components of the kinetic chain KC. The feed rate FR is calculated by the technique described in U.S. Patent No. 9,119,655, entitled "Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes," the disclosure of which is incorporated herein by reference.
[0095] To determine the feed rate FR according to one embodiment, the path generator 68 calculates one or more variables. One of these variables is the force and torque that result in the forward movement of the energy applicator 24 when applied to a virtual rigid body. Another variable is the force and torque applied to the virtual rigid body to maintain the orientation of the tool 20 within an orbital tolerance.
[0096] In one example, the path generator 68 includes a submodule called a feed rate calculator 82, as seen in Figures 5 and 8. The feed rate calculator 82 determines the feed rate FR that the energy applicator 24 should move at as it moves along the individual path segments PS of the toolpath TP (see Figure 9). The input to the feed rate calculator 82 can be a defined feed rate (DEFINED FR). In its most basic form, the defined feed rate FR is a scalar value. In practice, the manipulator controller 26 may be provided with multiple defined feed rate FRs. These defined feed rates can be used to set a default feed rate and can be scaled or modified according to various variables, as described below. The defined feed rates do not always have to correspond to the actual feed rate FR at which the energy applicator 24 moves forward. Furthermore, it is not always necessary to set a defined feed rate as the default. Instead, the system 10 can dynamically determine the actual feed rate FR based on any one or more of the following variables without starting with a defined feed rate. In other words, the actual feed rate FR can be predetermined or determined "on the fly" without a predetermined default or defined feed rate.
[0097] Referring to Figure 9, in one example, a specific defined feed rate FR1…FRN may be assigned to each path segment PS1…PSN. This assignment of feed rate FR may be done preoperatively or intraoperatively. The feed rate FR can then be adjusted at the start of the procedure or during the procedure. Two or more consecutive path segments PS may be assigned the same or different defined feed rate FR. These feed rate FRs can be generated based on variables such as, but not limited to, the shape of the space, the type of energy applicator 24, the patient's health; condition, the nature of the tissue to which the energy applicator 24 is applied, and the shape of the path segment PS. In practice, the defined feed rate FR is typically 5 to 400 mm / second. The feed rate may be greater or less than this range depending on the situation. According to one embodiment, the feed rate FR is predetermined based on the surgical plan, system settings, and / or the surgeon's preference. Alternatively or in addition, the feed rate FR can be determined and modified based on intraoperative conditions. The feed rate can also be assigned to the path segment PS when the energy applicator 24 reaches the next path segment PS, or at any point before that.
[0098] As shown in Figure 9, one or more controllers, including but not limited to a manipulator controller 26 including a path generator 68 and a feed rate calculator 82, are configured to control the manipulator 14 to advance the energy applicator 24 to a plurality of command positions CP1 to CPN according to the feed rate FR. Command positions CP are often, but not necessarily, defined relative to the toolpath TP in semi-autonomous mode. In one embodiment, segment PS of the toolpath TP is defined between subsequent command positions PS. Alternatively, command positions CP may be determined according to user-initiated non-toolpath motion emulated by the system 10 in manual mode.
[0099] Referring to Figure 8, the feed rate calculator 82 can generate a feed rate FR by adjusting a defined feed rate. In one version, this adjustment is performed by multiplying the defined feed rate FR by any number of coefficients. Each coefficient may be between 0 and 1.0. The coefficients may also have values greater than 1.0. Each of these coefficients can vary as a function of a variable that is also applied to the feed rate calculator 82.
[0100] The first of these variables may be a user adjust of the feed rate FR, as shown in Figure 8. This is an adjustment of the feed rate FR performed in real time by the practitioner as the procedure progresses. The practitioner can perform this feed rate adjustment remotely using a pendant 88, as shown in Figure 1. An example of a pendant may be similar to that described in U.S. Patent No. 9,119,655, entitled "Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes," the disclosure of which is incorporated herein by reference. The feed rate calculator 82 outputs a coefficient as a function of the command entered by the practitioner to increase or decrease the feed rate FR.
[0101] A second variable that can be used to selectively scale the defined feed rate FR is the force and torque (SNSD F / T) to which the energy applicator 24 is subjected, as shown in Figure 8. The energy applicator 24 is rigidly mounted to the tool 20, which can be rigidly mounted to the end effector 22. Therefore, the signal output by the force / torque sensor S is a signal representing the force and torque to which the energy applicator 24 is subjected. The feed rate calculator 82 can set the feed rate FR based on the principle that there is a relationship between the amount of force / torque that the manipulator 14 applies to the tool 20 and the energy applicator 24 and the forward speed of the instrument. In general, minimizing heating of tissue that is not to be removed is a goal of modern medical practice. One reason for this goal is to minimize the collateral damage that this unnecessary heating may cause to the tissue. Therefore, the manipulator 14 is configured to slow down the feed rate FR of the pass segment PS when it is determined that a considerable amount of force and / or torque is being applied to the instrument or the energy applicator 24.
[0102] One example where this adjustment of feed rate FR is useful is when the energy applicator 24 moves across the path segment PS through both cortical and cancellous bone. The cortical bone, being the outer bone, is relatively hard. The cancellous bone, being the inner bone, is more porous than the cortical bone and less resistant to removal. Therefore, when the energy applicator 24 traverses both types of bone at a constant speed, more force / torque is required to move the applicator across the cortical bone than across the cancellous bone. This means that without adjusting the feed rate FR, the cortical bone is more likely to experience damage-inducing heating than the adjacent portion of the cancellous bone. This characteristic of the manipulator 14 minimizes this potential for undesirable heating by slowing down the feed rate FR in response to the force / torque sensor S providing a signal indicating an increase in the amount of force / torque required to advance the energy applicator 24.
[0103] As the energy applicator 24 moves from cutting cortical bone to cancellous bone, the force / torque required to advance the instrument decreases. In this situation, the feed rate FR can be increased without significantly increasing the degree to which the bone to which the energy applicator 24 is applied is heated. This reduces the time required to treat the patient. This facilitates the goal of modern surgery, which is to minimize the time required to treat the patient. This reduces the time the patient's internal tissues are exposed and vulnerable to infection, and reduces the potential for surgeon fatigue and the time the patient must remain under anesthesia.
[0104] The feed rate calculator 82 determines the force / torque adjustment coefficient based on one, two, or three of the following: (1) the magnitude of a six-component vector consisting of individual force and torque components, (2) the magnitude of a three-component vector consisting of individual force components, and (3) the magnitude of a vector consisting of any combination of individual force and / or torque components. Alternatively, the coefficient is based on one or more of the largest force or torque components. Based on one or more of these variables, the feed rate calculator 82 can determine the force / torque adjustment coefficient by referring to data in the relevant lookup table 84.
[0105] In addition to adjusting the feed rate FR, the rotational cutting speed of the energy applicator 24 may also be changed. More specifically, if the energy applicator 24 is a bur, the speed of the bur's cutting teeth may be adjusted and optimized to improve the accuracy of tissue removal and minimize heat generation in the tissue. The optimal speed of the bur's cutting teeth is determined by the factors of the cutter rotational speed and the cutter diameter, which are optimized based on the tooth shape and the type of material being removed.
[0106] A third variable that can be used to adjust the defined feed rate to generate the feed rate FR is the curvature of the path segment (PATH CRVTR), as shown in Figure 8. This adjustment is made to ensure that when the energy applicator 24 is commanded to a position and moved along a curved path segment PS, the energy applicator 24 does not move so fast that momentum would move it away from the toolpath TP or path segment PS. In some examples, if the path segment PS is straight or has a relatively small curvature, the feed rate FR is not adjusted based on curvature. When the feed rate calculator 82 receives an instruction that the energy applicator 24 is moving along a path segment PS with a relatively large curvature or small radius, the feed rate calculator 82 can adjust the defined feed rate FR downward based on this variable to generate the feed rate FR.
[0107] The feed rate calculator 82 receives an instruction from the curvature calculator, which may be another submodule component of the path generator 68, for the curvature of the path the energy applicator 24 is moving along, the PATH CRVTR variable. Based on this input variable, the feed rate calculator 82 can refer to one of the lookup tables 84 to determine a coefficient that reflects the degree to which the feed rate FR should be adjusted. If one or more path segments PS are linear or have a curvature close to zero, the defined feed rate FR may not be adjusted based on the curvature, and the coefficient is 1.0 or close to it. When the feed rate calculator 82 receives an instruction that the energy applicator 24 is moving along a path segment PS with a relatively large curvature, the feed rate calculator 82 adjusts the defined feed rate downward based on this variable to generate the feed rate FR. The obtained coefficient decreases from 1. In some versions, if the curvature is 0.05 mm-1 or less, the feed rate calculator 82 does not attenuate the feed rate FR based on the curvature of the segment PD to which the energy applicator 24 is moving. The curvature calculator determines the curvature of the current filtered path based on data defining multiple target positions filtered at intervals. This data representing curvature is transferred to the feed rate calculator 82 as the PATH CRVTR variable.
[0108] Modifying the feed rate FR to take into account the curvature of the path segment PS is based on the commanded (x,y,z) or expected position of the energy applicator 24 relative to the toolpath TP, regardless of the orientation of the motion (e.g., angular velocity, angular acceleration, angular jerk) of any other component of the energy applicator 24 or the kinetic chain KC.
[0109] A fourth variable that can be used to adjust the defined feed rate to generate the feed rate FR is instrument power (INST POWER), as shown in Figure 8. This variable is the amount of power that the tool 20 and / or energy applicator 24 apply to the patient. Generally, as the power that the instrument applies to the tissue increases, the degree to which the tissue is heated by this power also increases, so instrument power is used as an input variable to adjust the feed rate FR. As mentioned above, it is beneficial to minimize the degree to which the tissue is exposed to potentially damaging heating. There may also be situations where a large output of power from the instrument indicates that the manipulator 14 is in a state where the performance of the energy applicator 24 will be degraded if the feed rate FR is not reduced. For example, if a large amount of power needs to be applied to the bur 25, this increase in power may indicate that the bur 25 may be in a state where it is having difficulty removing the material that it should remove. To ensure that the bur 25 functions as expected, it is beneficial to reduce the forward speed of the bur 25. This can improve the accuracy of material removal. Improved accuracy of tissue removal improves the surface finish and surface clarity of the tissue remaining after the bur 25 is applied. Therefore, if there is an indication that the power supplied by tool 20 and / or energy applicator 24 is increasing, the feed rate calculator 82 reduces the feed rate FR.
[0110] In a structure where tool 20 is an electric tool, the power variable may be the amount of torque output by the tool motor. Generally, there is a direct proportional relationship between the current applied to tool 20 and the torque output by tool 20. Therefore, a measure of the current drawn by tool 20 is adopted as the power variable of the equipment. An equipment power signal representing this variable is generated by the tool controller 21 and applied to the manipulator controller 26. More specifically, the circuit of the tool controller 21 monitors the current drawn by tool 20 and can output a signal representing the current drawn by tool 20. This signal is the root signal from which either an analog or digital INST POWER signal is generated and applied to the feed rate calculator 82. Based on the INST POWER signal and by referring to one of the lookup tables 84, the feed rate calculator 82 determines a coefficient that indicates the degree to which the feed rate defined based on equipment power should be scaled in order to determine the feed rate FR.
[0111] A fifth variable that can be used as a factor for adjusting the defined feed rate to generate the feed rate FR is tissue temperature (TISSUE TEMP.), as shown in Figure 8. This is due to the aforementioned goal of modern surgery: to minimize the degree to which the patient's uncut tissue is heated. A temperature sensor can be used to indicate the tissue temperature (TISSUE TEMP). The temperature sensor can be attached to the tool 20. Here again, the signal output from the temperature sensor may represent the tissue temperature or the temperature of the energy applicator 24. The signal output from the temperature sensor can be routed to the manipulator controller 26 via the tool controller 21. In addition to the temperature of the uncut tissue, another factor for adjusting the defined feed rate may include the temperature of the tip removed by the energy applicator 24. The removed tip and material are often referred to as "slurry." The slurry temperature may be measured by any suitable method, including a temperature sensor. The feed rate calculator 82 determines an appropriate tissue temperature feed rate adjustment coefficient based on the temperature represented by the TISSUE TEMP signal and by referring to one of the lookup tables 84. If the TISSUE TEMP signal indicates that the tissue temperature is within an acceptable range, this coefficient may be 1.0 or close to it. Alternatively, if the TISSUE TEMP signal indicates that the temperature of the tissue or the energy applicator 24 is approaching or exceeding a level that could cause significant damage to the tissue, the obtained coefficient may be reduced from 1.
[0112] A sixth variable that can be employed by the feed rate computer 82 to adjust the defined feed rate and generate the feed rate FR is the calculated force (CMPTD FORCE), as shown in Figure 8. As described below, this calculated force is the force applied to the virtual rigid body. In response to this force, the motion control process advances the energy applicator 24 along the toolpath TP. The calculated force is calculated by another of the behavior control process software modules. This calculated force, which may include a torque component, serves as an input variable that determines the commanded position of the energy applicator 24. The feed rate computer 82 generates the feed rate FR such that there is an inverse relationship between the calculated force and the feed rate FR. If the calculated force is increased to carry out the advance of the energy applicator 24, the feed rate computer 82 reduces the feed rate FR. This reduction in the feed rate FR reduces the likelihood that the manipulator will advance the energy applicator 24 at a speed that exceeds the speed at which the accuracy of the application of the energy applicator 24 to the structure is negatively affected. In some versions, the feed rate calculator 82 determines a coefficient based on the calculated force magnitude and a reference to one of the lookup tables 84. This coefficient represents the extent to which the defined feed rate should scale as a function of the calculated force magnitude.
[0113] A seventh variable that can be employed by the feed rate calculator 82 to adjust a defined feed rate and generate a feed rate FR can be based on a collision with the virtual boundary 71 (VB COLLISION), as shown in Figure 8. If the energy applicator 24 or tool 20 crosses the virtual boundary 71, the defined feed rate FR can be adjusted. Collisions can be caused by multiple factors, events, or conditions. For example, a collision may occur due to the commanded motion of the manipulator 14 (e.g., during semi-autonomous or manual mode). For example, in manual mode, the user may apply an input force to the end effector, causing the end effector to move to a commanded position beyond the boundary 71. In addition, or instead, a collision may occur due to external causes to the manipulator 14. Such causes could be changes in the patient's anatomical structure, patient movement, or patient tracker(s) 54, 56 movement. For example, one or more of the patient trackers(s) 54, 56 may move from their current position to another position. Movement of patient trackers 54, 56(or more) may be caused by movement of the patient's anatomical structures. Patient movement may be caused by staff changing the patient's position, or by collision with anatomical structures. For example, a robotic manipulator or energy applicator 24 may collide with and push against the patient's anatomical structures. In other cases, the energy applicator 24 may physically push against anatomical structures during manipulation. Collision with anatomical structures may occur due to staff inattention. Movement of patient trackers(or more) 54, 56 may be relative to the bone / anatomical structure to which patient trackers(or more) 54, 56 are attached. In other words, the firm fixation of patient trackers(or more) 54, 56 to anatomical structures may become detached, displaced, or loosened. In one example, the movement of patient trackers 54, 56 triggers a corresponding movement of a virtual boundary 71 registered to the corresponding anatomical structure to which the patient trackers 54, 56 are attached. The movement of the virtual boundary 71 may collide with the manipulator 14 or the energy applicator 24.In another example, the movement of patient trackers 54, 56 may trigger the regeneration or update of the toolpath TP or a segment thereof. The regenerated or updated toolpath TP or segment, in which the energy applicator 24 is present, may have a different defined feed rate compared to the last feed rate that existed before the movement of patient trackers 54, 56. Collisions with the virtual boundary 71 may occur in any of the scenarios described herein, or based on other conditions not specifically described herein.
[0114] The defined feed rate FR can be adjusted in response to any collision conditions. The adjustment may be proactive or retrospective, and the feed rate FR can be increased or decreased. The adjustment can be made as a precaution (e.g., to reduce the speed of the energy applicator or tool) or to mitigate the current / expected effects of a collision. By adjusting the feed rate FR, collisions can be resisted, responded to, or avoided. The feed rate FR can be increased to reach an anatomical structure moving away from the energy applicator 24, or the feed rate FR can be decreased in response to an anatomical structure moving toward the energy applicator 24. Other methods are contemplated for adjusting the feed rate FR in response to collisions of the virtual boundary 71 by the energy applicator 24 / tool 20.
[0115] Two additional input variables that can be employed by the feed rate calculator 82 to adjust the defined feed rate and generate the feed rate FR are the actual undesirable direction motion (Actual UOM) and the expected undesirable direction motion (Expected UOM), as shown in Figure 8. These inputs are provided by control algorithms that can determine, identify, or monitor the actual or expected undesirable direction motion of one or more non-toolpath components of the motion chain KC, which will be described in detail in subsequent sections. To mitigate the effects of undesirable direction motion, these variables can be input to actively or proactively change the feed rate FR. Techniques for identifying, calculating, and monitoring undesirable direction motion are described in the following sections.
[0116] The feed rate calculator 82 can multiply the defined feed rate by the coefficient described above. The product of this process is the feed rate FR, which is the actual speed at which the energy applicator 24 should advance along the current path segment.
[0117] An additional input to the feed rate calculator 82 may be a signal asserted from the force override module (Figure 8), which is also a component of the path generator 68. During the semi-autonomous advance of the energy applicator 24, conditions may arise in which the surgeon attempts to change the position of the tool 20. When taking this action, the surgeon may inadvertently fail to release the trigger of the pendant 88. When this event occurs, the force / torque sensor S is subjected to relatively high forces and torques in response to the surgeon's attempt to move the tool 20 away from the tool path TP. These forces and torques exceed the upper limit of forces / torques maintained by the force override module. The force override module is configured to output a signal that causes the manipulator 14 to transition from the semi-autonomous mode to manual mode. The force override device also evaluates the output of the force / torque sensor S to determine whether these forces / torques have exceeded the upper limit for a longer period than specified. If the evaluation test is true, the force override device asserts a command that results in the deactivation of the instrument power generation unit. The force override device can also assert a command to stop the semi-autonomous forward movement of the energy applicator 24. In response to the assertion of a signal from the force override device, the feed rate calculator 82 outputs a feed rate FR of zero speed. In most cases, the feed rate calculator 82 sets the device to a feed rate of zero speed. Based on input of other commands from the operator, when the force override device stops asserting signals to the feed rate calculator 82, the feed rate calculator 82 returns to outputting a feed rate FR that is not zero speed.
[0118] The path interpolator (PATH INTRPLTR) is another submodule component of the path generator 68, as shown in Figure 8. The path interpolator 86 determines the target positions in the coordinate system of the energy applicator 24. The orientation of the distal end of the energy applicator 24 is understood to be fixed with respect to the coordinate system of the energy applicator 24. These target positions are the points to which the distal end of the energy applicator 24 moves to perform the task. Inputs to the path interpolator 86 include, but are not limited to, data defining the start and end points of the path segment PS, and data indicating whether the segment PS is linear or curved, and if curved, the characteristics of the curve. Another input to the path interpolator 86 is the feed rate FR from the feed rate calculator 82. This is the speed at which the instrument should move along the path segment, as determined by the feed rate calculator 82. Based on the above input variables, the path interpolator 86 determines the target positions of the distal end of the energy applicator 24 according to the following steps in one embodiment. Specifically, 1) Assume the starting position is the origin of the coordinate system of the energy applicator 24. The initial position is the position along the path segment PS that the energy applicator 24 should move to. If the energy applicator 24 is at the beginning of segment PS, this point is the initial position of the coordinate system of the energy applicator 24. Both the initial position and the target position are points in the bone coordinate system. 2) Based on the feed rate FR, the distance that the energy applicator 24 moves along segment PS in a single timeframe is calculated. In some versions, the duration of the timeframe is 0.1 to 2 milliseconds. 3) Based on the initial position, the length of the calculated distance, and the position of the segment endpoint, the path interpolator 86 generates data that defines the target position. Further variables used to determine the target position are the characteristics of the path segment (straight or curved), and in the case of a curve, data from the toolpath generator describing the radius of curvature. 4) Steps 1 to 3 are repeated until it is determined that the coordinate system EAPP has reached the endpoint of the path segment. After calculating the first target position away from the segment origin, the target position calculated in each frame is used as the initial position that forms the basis for calculating the target position in the next frame.5) When the target position is equal to the endpoint of the path segment PS, the path interpolator 86 repeats steps 1-4 to generate a set of target positions located along the new segment.
[0119] During a single frame, the distance the energy applicator 24 can travel may be longer than the distance to the end of the current segment. If the path interpolator 86 determines that the energy applicator 24 is in this state, the interpolator generates data indicating where the energy applicator 24 should be located along the next path segment at the end of that frame, relative to the point in time when the energy applicator 24 is determined to be at the end of the current path segment.
[0120] When the operator is ready to begin the semi-autonomous forward movement of the tool 20, the operator utilizes the remote control or pendant 88, as shown in Figure 1. The operator can press buttons 90a and 90b on the pendant 88. In some versions, based on the pressing of buttons 90, one or more controllers output a coefficient representing the user adjustment of the feed rate FR. In some versions, the coefficient is 0.0, 0.25, 0.40, 0.70, or 1.0. This is the coefficient applied to the feed rate calculator 82 as the USER ADJUST input, as shown in Figure 8. Each time pendant button 90a is pressed, the feed rate coefficient is readjusted to the next higher level. Each time pendant button 90b is pressed, the feed rate coefficient is readjusted to one level lower. One or more controllers monitor the pendant 88 to determine whether either of the buttons 90 is pressed. The command to begin the forward movement of the instrument may be a command that resets the USER ADJUST coefficient to above 0.
[0121] In all versions, the feed rate calculator 82 does not always need to calculate the feed rate FR based on the instantaneous values of the variables. In some versions, these input variables may be filtered. Similarly, there may be reasons to change the coefficients used as multipliers to establish the extent to which any variable affects the feed rate FR. The application of certain variables may be delayed. Coefficient changes may be filtered or ramped to blend in / blend out the effects of changes in coefficient magnitude. This filtering or blending smooths the advance of the tool 20. Smoothing the advance of the instrument in this way can reduce the possibility of the manipulator becoming unstable or overshooting the target position due to rapid changes in the instrument's position. The effect of any variable may be selectively ignored. For example, it may be desirable to generate the feed rate FR based on either the minimum or maximum coefficient and ignore the other coefficients.
[0122] In some versions, two or more variables may be combined into the feed rate calculator 82. This combination may be performed by addition, multiplication, averaging, or division. Similarly, the calculated coefficients may be added, multiplied, averaged, or divided to provide final coefficients used to establish the feed rate FR based on the defined feed rates. Likewise, there is no requirement that the coefficients can be determined solely on a variable-coefficient feed rate table. Other means of determining these coefficients are based on using the variables as input variables to an equation, the result of which is a coefficient used to establish the feed rate FR. The equation may be a polynomial equation or a nonlinear equation.
[0123] Similarly, data other than the current draw of the device may be used as data from the feed rate calculator 82, which serves as an indicator of the device's power. These data include the voltage or duty cycle that must be applied to the device to maintain a constant output. This output may be speed or temperature. For closed-loop energy output devices, the output measurement may serve as an indicator of the device's power. More specifically, a decrease in output may serve as an indicator of a change in the device's power. For example, if the detected parameter is motor speed, a decrease in speed indicates an increase in the device's power demand. Based on this inferential indication that the power demand has changed, the INST POWER coefficient applied to the feed rate calculator 82 is adjusted.
[0124] III. Techniques for modifying feed rates to account for undesirable orientations of non-toolpath components in a kinetic chain.
[0125] As described in the previous section, the feed rate FR can be set and modified based on various conditions and / or variables. As described in this section, the feed rate FR can be dynamically modified to account for undesirable orientation motion of non-toolpath components of the kinetic chain KC. Here, non-toolpath components is a term used to describe components of the kinetic chain KC that are not on the toolpath TP (located separately), such as the manipulator 14, base 16, link 18, joint J, end effector 22, tool shaft 33 (if applicable), mounting system, and / or sterile interface mechanism. In other words, non-toolpath components include any components of the kinetic chain KC except the energy applicator 24 located on the toolpath TP. Since the undesirable orientation motion to be mitigated is that of the non-toolpath components of the kinetic chain KC, modifications to the feed rate FR to account for undesirable orientation motion can occur even when the segment PS of the toolpath TP on which the energy applicator 24 is advancing is linear. As described below, there are various circumstances that influence the presence or anticipated presence of undesirable directional motion, and such circumstances may exist regardless of whether the toolpath TP is straight or curved during mitigation.
[0126] One or more controllers 26, 68, 82 are configured to identify that one or more components of the kinetic chain KC other than the energy applicator 24 (non-toolpath components of the kinetic chain KC) are experiencing or will experience motion in an undesirable direction. In other words, one or more controllers 26, 68, 82 can determine that motion in an undesirable direction is actively occurring, currently occurring, or expected to occur. In either scenario, one or more controllers 26, 68, 82 change the feed rate FR of the energy applicator 24 accordingly to account for the motion in the undesirable direction.
[0127] A. Undesirable directions of exercise and their effects
[0128] The term “undesirable” with respect to the orientation of motion describes the kinematic motion of a non-toolpath that System 10 determines or identifies as being undesirable for reasons relating to system performance or user experience, whether intentional or not, and should be eliminated or mitigated by System 10. The term “orientation” with respect to motion can effectively be understood as an angle, for example, the rotational motion of a non-toolpath component. The orientation of motion may, but does not necessarily, follow a circular path. Instead, an undesirable orientation of motion may be motion along any curved path in two or three dimensions. Here, “path” simply describes the path of motion followed by a non-toolpath component of the kinetic chain KC, and does not necessarily mean (but may include) a predefined path of motion. The term “orientation” with respect to motion can be defined as one or more undesirable angular velocities, angular accelerations, or angular jerk experienced or to be experienced by any one or more components of the kinetic chain KC other than the energy applicator 24. The term "motion" excludes the static position or displacement of non-toolpath components, but instead includes the rate of change of position over time, or any derivative thereof.
[0129] Since the non-toolpath components described herein exclude the energy applicator 24, the undesirable orientation motion described herein explicitly excludes rotation of the energy applicator 24, such as rotation of the cutting bar 25 around the cutting axis. Orientation motion excludes linear motion of non-toolpath components of the kinetic chain KC. Orientation motion also excludes motion strictly commanded by position (x, y, z) compared to motion commanded by at least some orientation (e.g., rotation around the x, y, z axes). This orientation motion can be added to or excluded from position command motion. For example, commanded position CP defines the (x, y, z) position of TCP relative to the toolpath TP, and since orientation orientation is determined by the inverse kinematics solution, it does not define orientation orientation or motion of non-toolpath components. Therefore, the commanded positioning of the energy applicator 24 along the toolpath TP is a desired position motion, not an undesirable orientation motion, regardless of whether the path segment PS is linear or curved.
[0130] Considering undesirable orientations means that in some embodiments, the feed rate FR is modified to mitigate the effects of undesirable orientations. For example, undesirable orientations can cause abrupt rotational motion in one or more components of the kinetic chain KC other than the energy applicator 24. In some cases, abrupt rotational motion can increase the likelihood of unintended collisions between non-toolpath components and other objects. Mitigating undesirable orientations by modifying the feed rate FR can reduce the likelihood of such collisions. Furthermore, abrupt rotational motion of non-toolpath components can cause unintended vibrations of the manipulator 14, which can lead to inaccurate command positions of the energy applicator 24 relative to the toolpath TP or surgical site. Mitigating undesirable orientations by modifying the feed rate FR can reduce the likelihood of such inaccuracies. In addition, abrupt rotational motion may appear visually problematic to the operator. Mitigating undesirable orientations by modifying the feed rate FR results in smoother and more consistent motion of non-toolpath components, improving the user experience.
[0131] B. Modify the feed rate to account for motion in undesirable directions.
[0132] Modifying the feed rate FR to account for motion in an undesirable direction can be achieved by one or more controllers 26, 68, 82 changing the actual feed rate FR or a defined feed rate, as described in the previous section. The variables (actual UOM) and (expected UOM) in Figure 8 can be directly input to the feed rate calculator 82 along with any of the other variables to output the feed rate FR to the path interpolator 86.
[0133] In another embodiment, inputs from the variables (actual UOM) and (expected UOM) bypass the feed rate calculator 82 and instead feed into the path interpolator 86, thereby overriding the feed rates output by the feed rate calculator 82, as shown by the dashed lines in Figure 8. This override may be useful in ensuring that motion in undesirable directions is mitigated, for example, in situations where other feed rate variables may indicate otherwise. If motion in undesirable directions is identified, such feed rate overrides may be either a default setting or an exception for specific circumstances. One or more controllers 26, 68, 82 can determine if a feed rate override condition exists based on any appropriate criteria or conditions, including, but not limited to, exceeding a threshold for undesirable orientation movement (e.g., magnitude, direction, duration), the stage of the surgical procedure, the surgeon's preference regarding the acceptable range of undesirable orientation movement, identification of the presence of any conditions that may cause undesirable orientation movement (as shown in Figure 14), any factors related to the toolpath TP or segment, the feed rate value output by the feed rate calculator 82, or the input value of any of the above variables used to calculate the feed rate.
[0134] In some embodiments, one or more controllers 26, 68, 82 are configured to model the tool 20 and energy applicator 24 as virtual rigid bodies and to modify the feed rate FR to account for motion in undesirable directions based on virtual forces applied to the virtual rigid bodies. Thus, parameters or variables related to motion in undesirable directions, inputs from (actual UOM) and (expected UOM), can be included in the virtual force, which may be the calculated force (CMPTD FORCE) variable described above.
[0135] In some embodiments, one or more controllers 26, 68, 82 are further configured to reduce the feed rate FR, thereby modifying the feed rate FR to account for motion in an undesirable orientation. In one example, the feed rate FR is reduced by a factor correlated with the magnitude and / or direction of motion in an undesirable orientation experienced or to be experienced by one or more components of the kinetic chain KC other than the energy applicator 24. In some embodiments, the modified feed rate FR is a non-zero velocity that is less than the feed rate that existed before the feed rate modification. In other words, the existing feed rate FR can be reduced to mitigate motion in an undesirable orientation. The modification or reduction may be gradual or abrupt and may occur over or during any duration, such as the duration determined by one or more controllers 26, 68, 82 required to mitigate motion in an undesirable orientation.
[0136] In some cases, one or more controllers 26, 68, 82 may mitigate motion in an undesirable orientation by, in addition or alternatively, increasing the feed rate FR or intentionally maintaining an existing / predetermined feed rate FR that was to be increased. For example, one or more controllers 26, 68, 82 may mitigate motion in an undesirable orientation by rapidly decreasing the feed rate FR and then increasing the feed rate FR.
[0137] An example of undesirable orientation motion of non-toolpath components in a kinetic chain KC is shown in Figures 10 and 11. In this example, the non-toolpath components of the kinetic chain KC that experience undesirable orientation motion are the shaft 33 of the tool 20 and one joint J of the manipulator 14. In Figure 10, the energy applicator 24 is advanced along the curved path segment PS1 between command positions CP1 and CP2. During this motion, one or more controllers 26, 68, 82 identify or predict that the tool shaft 33 and joint J6 will experience or will experience undesirable orientation motion UOM1 as a result of advancement according to feed rate FR1. The states of joint J6 and tool shaft 33 are represented by dashed lines at time step T1 and by solid lines at the subsequent time step T2. Undesirable orientation motion UOM1 results in a sudden rotation (indicated by arrows) of the tool shaft 33 and joint J6 between T1 and T2. For example, an undesirable orientation of motion UOM1 of the tool shaft 33 and joint J can be determined using any of the methods described herein, which includes evaluating the angular motion of the shaft 33 and joint J relative to the previous position of each component and / or relative to any other component of the manipulator 14. Undesirable orientation of motion can also be identified against datum criteria that may or may not experience undesirable orientation of motion, such as the energy applicator 24, tool path TP and / or command position PS.
[0138] In Figure 11, one or more controllers 26, 68, 82 change the feed rate FR1 to a different feed rate FR2 in order to mitigate undesirable directional motion. In Figure 11, the state of the tool shaft 33 is represented by a dashed line at time step T2 and by a solid line at the subsequent time step T3. The feed rate FR2 is changed while the energy applicator 24 traverses the same path segment PS1. By intentionally changing the feed rate to FR2, undesirable directional motion UOM2 of both the tool shaft 33 and joint J6 is reduced or eliminated before reaching the commanded position CP2.
[0139] In the previous example in Figures 10 and 11, the feed rate FR was modified to account for undesirable orientation motion UOM in the process of the energy applicator 24 traversing one pass segment PS. Figures 12 and 13 show another example in which undesirable orientation motion UOM is mitigated by modifying the feed rate FR after the energy applicator has completed traversing the pass segment PS1 and reached the next command position CP2. In other words, the undesirable orientation motion occurs in the pass segment PS1 between CP1 and CP2, but is mitigated in the next pass segment between CP2 and CP3 by the feed rate change from FR1 to FR2. The next command position CPN may be determined before or after the feed rate FR is modified.
[0140] These examples illustrate the response adjustment of feed rate FR that occurs after motion in an undesirable direction occurs. The modification of feed rate FR to account for motion in an undesirable direction may be or may be predictive, so that the non-toolpath components of the kinetic chain KC do not experience (or not experience at all) motion in an undesirable direction, because system 10 proactively mitigates the motion in an undesirable direction.
[0141] C. Undesirable Direction of Movement - Influencing Factors and Examples
[0142] Referring to Figure 14, undesirable orientation movements (indicated as UOM) occur or are expected to occur depending on, among, or based on one or more current or anticipated external conditions, scenarios, or actions. Such factors may be caused by the manipulator 14 itself, the surgical environment, or the user. Individually or in combination, such conditions, scenarios, or actions may be direct or indirect factors influencing the presence or expected presence of undesirable orientation movements.
[0143] In one embodiment, under any current or anticipated external conditions, scenarios, or actions, undesirable directional motion occurs or is expected to occur while advancing the energy applicator 24 in semi-autonomous mode, as shown in Figure 14, 100. This is based on the understanding that the system 10 normally moves the energy applicator 24 along the toolpath TP by implementing a feed rate controlled in semi-autonomous mode. Undesirable directional motion may occur in other operating modes, such as manual mode. For example, the manipulator 14 and / or end effector 22 may be equipped with a feed rate controller interface or pendant that allows the user to manually control the feed rate of the tool, for example, along the insertion axis. In such a scenario, undesirable directional motion may occur even when the user manually controls the feed rate in manual mode, etc. An example of manual feed rate control is described in U.S. Patent Application Publication 2020 / 0289133A1, entitled "Robotic Surgical System and Methods Utilizing a Cutting Bur for Bone Penetration and Cannulation," the contents of which are incorporated herein by reference in their entirety.
[0144] i. Determined feed rate and variables
[0145] One factor that may influence the presence or expected presence of motion in an undesirable direction is the advance of the energy applicator 24 according to the feed rate FR, or the variables used to calculate the feed rate FR shown in Figure 14, as described in the previous section. In this scenario, one or more controllers 26, 68, 82 advance the energy applicator 24 along the toolpath TP to the commanded position CP according to the feed rate FR. This advance in feed rate may cause the inverse kinematic solution to cause one or more non-toolpath components of the kinetic chain KC to experience motion in an undesirable direction. The presence or anticipated presence of undesirable orientational motion may be influenced, for example, by user adjustment 106 (USER ADJUST) to feed rate FR by using pendant 88, path curvature 108 (PATH CRVTR), tissue temperature 110 (TISSUE TEMP), instrument power 112 (INST.POWER), and / or collision with virtual boundary 113 (VB COLLISION), based on the understanding that such feed rate adjustment factors affect the orientational motion of non-toolpath components. The examples shown in Figures 10 and 11 and Figures 12 and 13 can be considered to illustrate undesirable orientational motion that occurs based on the advance of the energy applicator 24 according to the feed rate FR or the variables used in calculating the feed rate FR, respectively.
[0146] ii. Constraints
[0147] Another factor that may influence the presence or expected presence of motion in an undesirable direction is constraints on or of system 10 (as shown in 114). Such constraints may be mechanical constraints and / or virtual constraints related to any component of the kinetic chain KC. These constraints may, individually or in combination, influence motion in an undesirable direction.
[0148] One constraint that may influence the presence or anticipated presence of undesirable orientations of motion is the workspace limit, shown at 116 in Figure 14. As part of the motion control process performed by the manipulator controller 26, the workspace limit is evaluated to determine whether the energy applicator 24 has reached the boundary of a defined workspace. This workspace limit is located away from the origin of the coordinate system MNPL and is defined with reference to this coordinate system. The workspace is the volume within which the energy applicator 24 can move, provided that the links 18 can move to the point where their range of motion is fully extended. This workspace is sometimes called the “handicap workspace,” and the manipulator 14 prevents the energy applicator 24 from moving forward outside of this workspace. The workspace limit may have any shape and is typically smaller than the volume of space within the full range of motion of the manipulator 14, for example, to ensure that the operator has at least some ability to change the orientation of the end effector 22 in that manner. In the process of respecting these workspace limitations, one or more non-toolpath components of the kinetic chain KC may experience undesirable orientational motion due to orientation changes for correction.
[0149] Another constraint that may influence the presence or anticipated presence of undesirable orientational motion is the interference limit constraint shown in Figure 14, 118. Here, the manipulator controller 26 controls the manipulator 14 to avoid collisions between links 18 or between any structural members of the manipulator 14. One reason for preventing these collisions is to prevent relative movement of the links 18 that could form pinch points between them. By preventing these collisions, damage caused by such collisions is also avoided. Based on the representation of the actual joint angles, the manipulator controller 26 determines the minimum distance between pairs of links 18 that are likely to collide. To make this determination, the manipulator controller 26 can use forward kinematic data to determine the orientation of the joint J, as well as the common normal distance and minimum distance between pairs of links 18 that are likely to collide. The manipulator controller 26 calculates the difference between the minimum distance between pairs of links 18 that are likely to collide and the boundary distance between pairs of links 18. This boundary distance is the distance below which it is undesirable for the links 18 to move toward each other. In the process of respecting these interference limits, one or more non-toolpath components of the kinetic chain KC may experience undesirable orientational motion due to orientation changes for correction.
[0150] Another constraint that may affect the presence or anticipated presence of undesirable orientations of motion is the constraint related to singularity avoidance, also shown in Figure 14.118. A singularity is a condition that occurs when two or more robot links or joints J are collinear, making the robot's motion and velocity unpredictable. When an axis or joint J is located at a singularity, there are countless inverse kinematic methods to achieve the same position of TCP. To avoid this condition, the manipulator controller 26 can implement one of many control techniques. In one example, the interference limit described above can be implemented. In another example, a singularity analysis can be performed during robot assembly or calibration. The analysis can generate singularity avoidance data that is stored in the manipulator controller 26. In response to an approaching singularity, the manipulator controller 26 can instruct the manipulator 14 to take corrective action, such as proactively rotating a particular joint J from a singular straight position. Corrective action can also be performed by changing the position of the joint J in zero space, where the joint J can be moved without changing the TCP position. The trajectory or orientation of the end effector 22 can also be modified to avoid singularities. In the process of avoiding singularities, one or more non-toolpath components of the kinetic chain KC may experience motion in an undesirable orientation due to the modifying action.
[0151] Another constraint that may influence the presence or expected presence of undesirable orientations of motion is the virtual constraint shown in Figure 14.120. For example, a virtual constraint can be implemented by a boundary generator 66, which may define, for example, a virtual object or boundary 71 to constrain the movement and / or operation of the tool 20, energy applicator 24, and / or manipulator 14. As described in the previous section, such a virtual boundary 71 may be defined with respect to an anatomical model AM, such as a 3D bone model. The manipulator controller 26 and / or navigation controller 36 track the state of the tool 20 in relation to the virtual boundary 71. In one example, the state of the TCP is measured with respect to the virtual boundary 71 for the purpose of determining the tactile force applied to the virtual rigid body model via virtual simulation so that each motion component is in a desirable positional relationship with respect to the virtual boundary 71 (e.g., does not move beyond the virtual boundary). The results of the virtual simulation are instructed to the manipulator 14. In the process of respecting such a virtual boundary 71, one or more non-toolpath components of the kinetic chain KC may experience motion in an undesirable direction due to tactile or reaction forces for correction.
[0152] Figures 15 and 16 show an example of a non-toolpath component of a kinetic chain KC that experiences undesirable motion due to tactile or reaction forces for correction from constraint collisions. More specifically, in this example, the non-toolpath component is the shaft 33 of the tool 20, and the constraint is a virtual boundary 71. The virtual boundary 71 in this example can be associated with an anatomical model AM, for example, the femoral diaphysis axis for whole hip surgery. The virtual boundary 71 depicts the volume of the femoral diaphysis axis to be removed by milling with the energy applicator 24 from the area of the femur that should not be removed. The energy applicator 24 follows the toolpath TP within the virtual boundary 71. Specifically, the energy applicator 24 is advanced along the toolpath TP according to a first feed rate FR1.
[0153] One or more controllers 26, 68, 82 can associate one or more virtual tactile objects VO with one or more components of the kinetic chain KC. In this example, the virtual tactile objects VO are associated with the shaft 33, but they can be associated with any other components of the kinetic chain KC. The virtual tactile objects VO are virtual, meaning they are computationally associated with the shape of the shaft 33, rather than existing visually and physically on the shaft 33.
[0154] In some embodiments, one or more controllers 26, 68, 82 can associate a first virtual tactile object VO with a first component of the kinetic chain KC at a first position on the first component. One or more controllers 26, 68, 82 may also associate a second virtual tactile object VO with a first component of the kinetic chain KC at a second position on the first component, away from the first position. The virtual tactile object VO can be located on any component of the kinetic chain KC, such as one or more links 18, joints J, base 16, end effector 22, shaft 33, etc. In one example, as shown in Figure 15, the virtual tactile object VO is located near the proximal end of the shaft 33. This is because the possibility of undesirable orientation of the shaft 33 is greater near the proximal end of the shaft 33 than near the distal end of the shaft 33 where the energy applicator 24 is located.
[0155] As shown in Figure 15, one or more controllers 26, 68, 82 can detect collisions between one or more virtual tactile objects VO and virtual boundaries 71. In one embodiment, collision detection can be based on tracking of anatomical structures and tools 20 by a navigation system, as described above. The magnitude and / or direction of the collision can be detected and measured using any appropriate technique, such as the depth of penetration of the virtual tactile object into the boundary 71, based on the intersection of the virtual tactile object(s) VO and the polygonal elements of the mesh of the virtual boundary 71. Alternatively, the collision can be calculated based on an penetration factor, which is a function of the geometric shape of the virtual volume boundary to the geometric shape of the mesh polygonal elements, such as using a projective arc or projective area method described in U.S. Patent Application Publication No. 2018 / 0353253A1, entitled "Robotic Surgical System and Method for Producing Reactive Forces to Implement Virtual Boundaries". The contents of this publication are incorporated herein by reference. In response to a collision, one or more controllers 26, 68, 82 control the manipulator 14 to prevent the shaft 33 from crossing the virtual boundary 71. Specifically, a reaction force RF based on the calculated magnitude and / or direction of the collision is commanded to the manipulator 14. The reaction force RF and its respective direction are shown in Figure 15 by arrows near the collision site.
[0156] In Figure 16, the example shows that the commanded motion of the manipulator 14, in accordance with a reaction force RF to avoid / mitigate a collision, causes an undesirable orientation motion UOM of the shaft 33. In this case as well, one or more controllers 26, 68, 82 can identify that the shaft 33 is currently experiencing or will experience an undesirable orientation motion UOM. One or more controllers 26, 68, 82 change the feed rate from FR1 to FR2 to account for the undesirable orientation motion UOM that occurs in response to the suppression of the shaft 33 in response to collision detection.
[0157] The examples shown in Figures 15 and 16 are not intended to limit the scope described to how non-toolpath components of the kinetic chain KC experience undesirable orientational motion due to constraints, or how one or more controllers 26, 68, 82 can account for such undesirable orientational motion. For example, non-toolpath components other than shaft 33 may be subject to any kind of constraints, such as those described above. Constraints also do not necessarily require collisions with virtual tactile objects such as VO, and may instead be based on computational control of motion constraints. For example, shaft 33 may collide with the virtual boundary 71 in the absence of a virtual tactile object VO. One or more controllers 26, 68, 82 may detect collisions based on a model of the known physical shape of shaft 33.
[0158] iii. Changing the orientation of the tool
[0159] Another factor that may influence the presence or anticipated presence of undesirable orientational motion is the change in orientation of the surgical tool 20 and / or end effector 22, as shown in Figure 14, 122. Such changes in orientation may occur while the energy applicator 24 is advancing along the toolpath TP, or when the energy applicator 24 is stationary.
[0160] In one example, reorientation of the surgical tool 20 and / or end effector 22 can be initiated by the system 10. For example, as shown in 124, the reorientation may be an automatic reorientation performed by the manipulator controller 26. In one example, the automatic reorientation may be a reorientation to a preferred orientation determined by the system 10 to be optimal or preferred for a given scenario, condition, or stage of the surgical procedure. As the energy applicator 24 advances along TP, the automatic reorientation may occur in response to the force and torque due to the reorientation applied to the surgical tool 20 and / or energy applicator 24 by the system settings for approaching the surgical site and / or obstacles near the surgical site. In practice, there may be obstacles that obstruct the advancement of the energy applicator 24 along the path segment PS. These obstacles may be protruding tissue or surgical tool equipment. To prevent the obstacle from obstructing the advancement of the energy applicator 24, the tool 20 may need to take a different orientation or an orientation outside the range of normal orientations.
[0161] In one embodiment, automatic orientation change can be performed as follows: By knowing the actual orientation of the tool 20, the orientation adjuster of the manipulator controller 26 can define a reference plane (e.g., a plane) located above the energy applicator 24 (e.g., 5-20 cm above), where the reference plane is perpendicular to the longitudinal axis of the tool 20. Next, the orientation adjuster defines an opening (e.g., a circle) within the reference plane centered at the point where the longitudinal axis of the tool 20 intersects the reference plane. The opening can define the normal orientation limits of the tool 20. The orientation adjuster may determine that the orientation of the tool 20 has changed, or that it may need to move to an orientation within or beyond the opening limits. In response, the manipulator controller 26 can command the manipulator 14 to exert a force that changes the orientation of the tool within or beyond the opening. In the process of performing automatic orientation change, one or more non-toolpath components of the kinetic chain KC may experience motion in an undesirable orientation.
[0162] In another example, the reorientation of the surgical tool 20 and / or end effector 22 can be initiated by the user, as shown in Figure 14, 126. In one example, the operator may decide to reset the orientation of the tool 20 while the energy applicator 24 is advancing along the tool path TP. It may be desirable to reorient the tool 20 in this way to avoid contact with tissue or other equipment that may be near the tool path TP. If the operator wants to reorient the tool 20, they activate an input on the end effector 22. Alternatively, the operator may attempt to reorient the tool 20 by force without entering a command. The manipulator controller 26 can monitor this user input, for example, by monitoring the duration of the user input or based on the force detected by the force / torque sensor S. In either case, the manipulator controller 26 can instruct the manipulator 14 to reorient the tool 20 in a manner that emulates the corresponding user input. In the process of performing manual reorientation, one or more non-toolpath components of the kinetic chain KC may experience undesirable reorientation. Examples of automated or manual robotic control of tool reorientation may be similar to those described in U.S. Patent No. 9,119,655, entitled "Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes," and U.S. Patent No. 9,937,014, entitled "System and Method of Controlling a Surgical Tool During Autonomous Movement of the Surgical Tool," the disclosures of which are incorporated herein by reference.
[0163] Figures 17 and 18 show examples of non-toolpath components of a kinetic chain KC that experience undesirable orientational motion in response to a change in orientation of the manipulator 14, more specifically, the tool 20. More specifically, the change in orientation in this example can be initiated by the operator applying force to the distal joint (J) (as shown) or by activating a user input to an end effector 22 (not shown). During the change in orientation action shown in Figure 17, the energy applicator 24 is advanced along the toolpath TP according to a first feed rate FR1. In Figure 17, the example shows that the movement of the manipulator 14 in accordance with the change in orientation command causes an undesirable orientational motion UOM of the shaft 33 and joint J. Here again, one or more controllers 26, 68, 82 can identify that they are currently experiencing or will experience an undesirable orientational motion UOM. One or more controllers 26, 68, 82 change the feed rate from FR1 to FR2 to account for the undesirable orientational motion UOM that occurs in response to the change in orientation.
[0164] The examples shown in Figures 16 and 17 are not intended to limit the scope described to how non-toolpath components of a kinetic chain KC experience motion in undesirable orientations due to changes in orientation, or how one or more controllers 26, 68, 82 can account for such motion in undesirable orientations.
[0165] iv.External force
[0166] Another factor that may influence the presence or anticipated presence of motion in an undesirable direction is external forces or torques, as shown in Figure 14, part 122. Such external forces may occur during the forward movement of the energy applicator 24 along the tool path TP, or when the energy applicator 24 is stationary. These external forces and torques may include the resistance of tissue to the forward movement of the tool 20, and external forces and torques applied to any one or more components of the kinetic chain KC, for example, by the operator or the environment. The motion control module can monitor the state of the manipulator 14 to detect whether external forces / torques are being applied to the manipulator 14 or the tool 20, or whether an object is in contact with it.
[0167] An example of an external force / torque that may influence the presence or anticipated presence of undesirable directional motion is an external force / torque applied to the tool 20, as shown in 130. In one example, this external force / torque is applied to the tool 20 by the operator manually reorienting the tool 20 by force or user input, as described above and as shown in Figures 17 and 18. Such an external force can be detected by the force / torque sensor S. The manipulator controller 26 can also monitor signals representing the force and torque detected by the force / torque sensor S to determine whether an excessive external force is being applied to the tool 20 or the energy applicator 24. As a result of the normal resistance of the tissue to which the energy applicator 24 is applied, there is some resistance to the forward movement of the tool 20. During the semi-autonomous forward movement of the tool 20, the force / torque sensor S may output signals indicating that the sensor is being subjected to levels of force and torque exceeding considerable limits in response to the application of tissue resistance. In the process of instructing the manipulator 14 to consider external forces / torques on the tool 20, one or more non-toolpath components of the kinetic chain KC may experience motion in an undesirable direction.
[0168] Another example of external force / torque is the backdrive of the manipulator 14 shown in 132. Backdrive torque is output by the articulated motor 27 in response to external forces and torques acting on the manipulator 14, tool 20, and / or energy applicator 24. Backdrive torque is the torque output by the articulated motor 27 that exceeds the torque required to overcome inertia and gravity. When the manipulator 14, tool 20, and / or energy applicator 24 are subjected to external forces and torques, these forces and torques temporarily hinder the forward movement of the tool 20 to the commanded posture. This temporarily hinders the forward movement of one or more of the joints J to their commanded joint angles. Simultaneously with the application of external forces and torques, the control loop compensates for these external forces and torques by adjusting the torque output by the articulated motor 27. To calculate the backdrive torque, the manipulator controller 26 can determine the torque that the articulated motor 27 should output if the external forces and torques were not present. The manipulator controller 26 can utilize joint angles measured from the encoder and joint angles calculated from forward kinematic analysis. A further variable that can determine the backdrive torque is the actual torque that the joint motor 27 exerts on the link 18, in addition to the tool 20, and thus the energy applicator 24, toward the commanded posture. One way to obtain the actual torque is to measure the torque output by the joint motor 27, more precisely by the reduction gear. Another way is to monitor the torque output by the joint motor 27, which is measured by a torque sensor or a sensor that measures the current consumption of the joint motor 27. In the process of controlling the manipulator 14 to take backdrive force into account, it is conceivable that one or more non-toolpath components of the kinetic chain KC experience motion in an undesirable direction. An example of backdrive control of a robotic manipulator is similar to that described in U.S. Patent No. 10,327,849, entitled "Robotic System and Method for Backdriving the Same," the disclosure of which is incorporated herein by reference.
[0169] One or more controllers 26, 68, 82 consider the undesirable orientation of motion experienced or likely to be experienced by the non-toolpath components of the kinetic chain KC in response to the backdrive of the manipulator 14. During the backdrive operation (whether intentional or caused by collision), the energy applicator 24 is advanced along the toolpath TP according to a first feed rate FR1. The reaction motion of the manipulator 14 in accordance with the backdrive command causes an undesirable orientation of motion UOM of the shaft 33 and joint J. One or more controllers 26, 68, 82 change the feed rate from FR1 to FR2 to account for the undesirable orientation of motion UOM that occurs in response to the backdrive.
[0170] Another example of an external force / torque is one applied to the patient or patient tracker(s) 54, 56, as shown in 134. When applied to a patient, the external force / torque may be generated by changes in the patient's position or by collisions with anatomical structures. For example, a robotic manipulator or energy applicator 24 may collide with and push against the patient's anatomical structures. In another example, during manipulation of an anatomical structure, the energy applicator 24 may physically push against the anatomical structure. In yet another example, an anatomical structure may be accidentally bumped by a staff member or other surgical instrument. When applied to patient tracker(s) 54, 56, an external force / torque may be generated for many of the same reasons, where one or more of the patient tracker(s) 54, 56 move from their current position to a different position in response to the external force. The external force / torque applied to patient tracker(s) 54, 56 may be due to the movement of the patient's anatomical structures. External forces / torques can move patient trackers 54, 56 relative to the bone / anatomical structure to which they are attached. In other words, the firm fixation of patient trackers 54, 56 to the anatomical structure can become dislodged, shifted, or loosened. In any of these scenarios, patient trackers 54, 56 are likely to move, which can affect the operation of the manipulator 14. For example, the movement of patient trackers 54, 56 causes a corresponding movement of a virtual boundary 71 registered to the corresponding anatomical structure to which patient trackers 54, 56 are attached. The movement of the virtual boundary 71 can cause a collision with the manipulator 14 or the energy applicator 24. Such a scenario can cause a "runaway" error condition in which the manipulator 14, restrained by the patient's virtual boundary 71, continues to push the patient due to the reaction force applied to the tool by the boundary 71. However, in response to such pressure, the same boundary 71 is moved to register with the (currently) moving anatomical structure.This runaway condition can be resisted, adapted to, or avoided by adjusting the operation of the manipulator 14 (e.g., orientation, feed rate, commanded position, etc.). To mitigate this condition, the constraints on which the manipulator 14 is controlled can be adjusted. An example of a control system that can be used by the techniques described herein to mitigate a runaway condition is described in International Patent Application No. PCT / US2020 / 053803, entitled "Surgical Systems and Methods for Guiding Robotic Manipulators," filed on January 10, 2020, the full disclosure of which is incorporated by reference. In another example, external / force-induced movement of patient trackers 54, 56 may cause regeneration / updating of a different trajectory, toolpath TP, or a segment thereof. The operation of the manipulator 14 can be adjusted to adapt to the new toolpath TP or trajectory.
[0171] In the process of controlling the manipulator 14 to account for external forces applied to the patient and / or patient trackers 54, 56, or in mitigating a “runaway” condition, one or more non-toolpath components of the kinetic chain KC may experience motion in an undesirable direction. One or more controllers 26, 68, 82 account for the undesirable motion experienced or likely to be experienced by the non-toolpath components of the kinetic chain KC in response to these external forces / torques. During corrective action (whether intentional or caused by collision), the energy applicator 24 is advanced along the toolpath TP according to a first feed rate FR1. The reaction motion of the manipulator 14 in response to the corrective action causes an undesirable motion UOM of any of the non-toolpath components. One or more controllers 26, 68, 82 change the feed rate from FR1 to FR2 to account for the undesirable motion UOM that occurs in response to the corrective action.
[0172] D. Example of an algorithm for considering undesirable orientation of motion
[0173] Referring to Figure 19, one embodiment of Method 200 for considering undesirable orientational motion is described. Method 200 describes an algorithm that is carried out by one or more controllers 26, 68, 82 and any auxiliary components of the robotic surgical system, as will be described later. Method 200 shown in Figure 19 is not limited in scope, as steps can be added or omitted, and if steps exist, they can be performed in a different order than shown.
[0174] In one embodiment, method 200 begins in step 202, where the feed rate FR is determined. The feed rate FR can be determined by a feed rate computer 82 according to the techniques and variables described in the previous section and shown in Figure 8. This feed rate FR is the speed at which the energy applicator 24 is commanded to move. Thus, in step 204, one or more controllers 26, 68, 82 command the manipulator 14 to advance the energy applicator 24 according to the feed rate FR. Such advancement is, for example, a position-controlled advance of the energy applicator 24 along a toolpath TP in semi-autonomous mode. Orientation and position control of other components of the kinetic chain KC can also be performed in step 204 to enable the energy applicator 24 to move to the commanded position while respecting other constraints of the system.
[0175] In step 206, one or more controllers 26, 68, 82 identify, analyze, and / or monitor undesirable orientation motion of non-toolpath motion components(s) of the kinetic chain KC. Here, one or more controllers 26, 68, 82 can identify actual UOMs (actual motions occurring) or expected UOMs (expected motions occurring). In either case, one or more controllers 26, 68, 82 can identify actual or expected undesirable orientation motion using any one or more of the following components, techniques, or algorithms. Any of the following may be used individually or in combination. Identification of actual or expected undesirable orientation motion may be in response to any of the factors, events, or conditions that influence the presence of actual or expected undesirable orientation motion as shown in Figure 14 and described above.
[0176] In step 208, one or more controllers 26, 68, 82 may optionally employ forward (FWD) kinematic measurements of the manipulator 14 to identify, analyze, and / or monitor undesirable orientations of motion. Here, one or more controllers 26, 68, 82 perform a kinematic process to calculate the Cartesian endpoint position of TCP, which is a function of the angle of joint J. The forward kinematic process receives input from the joint J position sensor (encoder) of the manipulator 14. Based on this input, the forward kinematic process calculates the position of TCP relative to the base 16. Based on the known geometric relationship between the tool 20 and the energy applicator 24, the position of the energy applicator 24 relative to the base 16 can then be calculated. Since the position sensor monitors the joint position, the transformation can be updated periodically to reflect the motion of the manipulator 14. The forward kinematic calculation can be updated after any given time step of the commanded motion of the energy applicator 24, which is performed according to inverse kinematic control. In the process of forward kinematics calculation, one or more controllers 26, 68, 82 can store forward kinematics parameter values for various positions of the energy applicator 24 in non-temporary memory 64. The energy applicator 24 may be advanced according to the feed rate FR when forward kinematics data is being captured. One or more controllers 26, 68, 82 can analyze the forward kinematics parameter values over a period of time to identify conditions, patterns, or trends that can be compared to ranges, thresholds, or conditions indicating undesirable orientation motion. This will be described in a later step 216. One or more controllers 26, 68, 82 can also analyze the forward kinematics data to identify collisions occurring between the moving component and other objects, such as environmental objects or other moving components. Such techniques allow one or more controllers 26, 68, 82 to determine undesirable orientation motion without using sensors or sensing systems other than joint encoders.
[0177] In step 210, one or more controllers 26, 68, 82 may, instead or additionally, use any given number of sensors or sensing systems to identify, analyze, and / or monitor actual or expected undesirable orientations of motion. One or more sensors, including an energy applicator 24, are configured to produce measurements related to any one or more components of the kinetic chain KC. In one example, one or more sensors or sensing systems may be a navigation system 32 or any configuration thereof, e.g., an optical, electromagnetic, radio frequency, inertial, ultrasonic, or machine vision-based positioning system capable of tracking the kinetic component KC. One or more sensors may include sensors coupled to any one or more of the joints J or links 18, and the sensors are configured to detect any one or more of the position of the joint or link, the velocity of the joint or link, and the acceleration of the joint or link. Such sensors may be inertial sensors, tracking elements used with the navigation system 32, and the like. In another example, one or more sensors may include current sensors configured to detect current drawn by any one or more motors 27 of the joints J. Such current sensing can indicate joint torque, and one or more controllers 26, 68, 82 can infer undesirable orientation motion from the joint torque. To identify undesirable orientation motion, it is conceivable to use sensors or sensing systems other than those specifically described above. One or more controllers 26, 68, 82 and / or the navigation system 32 are configured to analyze any of the above measurements over a given period or over any period to identify that one or more components of the kinetic chain KC other than the energy applicator 24 are experiencing or will experience undesirable orientation motion.
[0178] In step 212, one or more controllers 26, 68, 82 may use inertia values instead or additionally to identify, analyze, and / or monitor actual or expected undesirable orientations of motion. Specifically, one or more controllers 26, 68, 82 are configured to store inertia values of any one or more components of the kinetic chain KC, including the energy applicator 24, in a non-temporary computer-readable medium 64. In one example, the inertia value is a rotational inertia value. A rotational inertia value is also called an inertia moment, mass inertia moment, or angular mass value. Such a value is a scalar quantity that determines the torque required for a given angular motion about an axis of rotation. In another embodiment, the inertia value may be a translational inertia value or a linear inertia value. By storing such values, one or more controllers 26, 68, 82 are better equipped to identify whether one or more components of the kinetic chain KC other than the energy applicator 24 are experiencing or will experience undesirable orientations of motion.
[0179] In step 214, one or more controllers 26, 68, 82 may, instead or additionally, utilize simulation to identify, analyze, and / or monitor actual or anticipated undesirable orientations of motion. Here, preoperative or intraoperative simulations may be performed to simulate the motion of the manipulator 14 and each motion component. Such simulated motion may be, for example, the forward movement of the energy applicator 24 along the toolpath TP, or optionally, a simulation of forward movement following a semi-autonomous mode. The control system 60, including the manipulator controller 26 and the behavior controller 74, may simulate the dynamics of the manipulator 14 in the virtual simulation described above, or it may simulate other simulation schemes using a physics engine to simulate the rigid body dynamics of the base 16, link 18, joint J, end effector 22, tool 20, and / or energy applicator 24. The simulation may be utilized by the control system 60 to control the manipulator 14 at runtime, or it may be performed separately. The simulation can be displayed visually or graphically on a screen, or it can be purely embodied by data that is not displayed to the user. In one example, the simulation may perform the movements of the manipulator 14 for all parts of an automated surgical procedure.
[0180] The simulation can consider any or all factors related to the control of the manipulator 14, including setup or preferred posture, introduction or exit path movement, manipulator 14 retraction from a part, changes in the orientation of the manipulator 14, changes in feed rate, and system constraints. Furthermore, the simulation can provide data related to other tasks, events, or commands associated with the manipulator 14. For example, the simulation may include robot data defining the kinematic posture of any of the manipulator 14's components, or log or command data (e.g., command position of the energy applicator 24). The simulation may include logs of collisions between any component of the manipulator 14 and one or more virtual boundaries 71, the magnitude / direction of the collision intrusion of the boundary 71, and / or parameters / values of each reaction force applied to correct the constraint collision. The simulation can obtain data related to any of the factors that may, or actually, influence the presence of undesirable orientational motion, such as any of those described above and shown in Figure 14. Additionally or alternatively, the simulation can be partially performed by the practitioner during a virtual trail run of the procedure. Here, the operator may be able to visualize the manipulator 14 and the surgical site in the simulation. Any of the above factors that influence the presence of undesirable orientational movement can be taken into consideration during this simulation. For example, there may be simulated external forces, constraints, collisions, backdrives, or orientation changes that occur as a result of external factors or factors initiated by the operator, or as a result of automated robotic control.
[0181] In another embodiment, the control system 60 may employ a machine learning algorithm that can be executed preoperatively or intraoperatively. The machine learning algorithm can analyze the current robot's motion against historical data of the robot and navigation system to actively predict undesirable orientations. Such predictions can be made, for example, a few seconds or milliseconds before the expected undesirable orientation. The neural network can be trained on previous robotic surgeries or simulations of a similar nature to predict undesirable orientations. The training data may also include patient data, implant data, procedure type, and / or surgeon preferences. For the current procedure, the trained neural network can be applied to automatically modify the commands of the manipulator 14 (including adjusting the feed rate) to account for undesirable orientations predicted during the procedure. The surgeon may use an input device to visually examine the effects of the machine learning predictions and their respective modifications on the manipulator 14's motion before the procedure. The surgeon may also accept or reject the predictive modifications to the manipulator 14's motion.
[0182] The results of the simulation or machine learning algorithm may include, among other things, data including a time log of predicted runtime events that indicate undesirable orientation motion. Such data can be stored or transmitted to the control system 60. Before or during the procedure, one or more controllers 26, 68, 82 are configured to retrieve the simulation or machine learning data from memory and, based on the simulation data and actual runtime data of the robot system, identify that undesirable orientation motion is expected to occur. The control system 60 can then automatically correct the motion of the manipulator 14 to eliminate the presence of future undesirable orientation motion or to mitigate its expected impact. The simulation or machine learning techniques described herein can be carried out using any other type of sensing as described above. Furthermore, it is intended that such simulation or machine learning can be carried out using, for example, alternative forms of artificial intelligence and planning software in accordance with methods not specifically described herein. Examples of simulation techniques that can be employed are described in U.S. Patent Application Publication No. 2019 / 0142520A1 entitled "Patient-specific Preoperative Planning Simulation Techniques," the contents of which are incorporated herein by reference in their entirety.
[0183] In step 216, one or more controllers 26, 68, 82 optionally compare actual or predicted undesirable orientation motion to a limit, threshold, or range. This function can be performed to draw normal or desirable orientation motion from undesirable orientation motion. The limit, threshold, or range can define the sensitivity of the system 10 to identifying undesirable orientation motion. In practice, balancing such sensitivity helps optimize the procedure and user experience. If an excessive number of events are identified as undesirable, the procedure time may be extended by reducing the feed rate. If too few events are identified as undesirable, the undesirable effects of orientation motion may include user experience and system accuracy. The practitioner may be able to adjust this sensitivity pre-procedure, during the procedure, or during the simulation phase, where applicable. The threshold or range may define any one or more of the magnitude, direction, frequency, duration, or excessive values of the angular velocity, acceleration, or jerk of the kinematic components. Comparisons with thresholds or ranges can be performed preoperatively, intraoperatively, during simulation, in response to simulation, or in response to the identification of conditions that indicate future undesirable orientational motion.
[0184] In a non-limiting example, the evaluation of the actual or predicted directional motion in step 216 can be performed by defining a lower limit (e.g., with respect to angular velocity) below a certain value (e.g., 0.2 rad / s). If the actual or predicted directional motion is below this lower limit, one or more controllers 26, 68, 82 consider it negligible, normal, and / or desirable, and take no action to change the feed rate FR. If the actual or predicted directional motion is greater than or equal to this lower limit (e.g., 0.2 rad / s) but less than or equal to a first threshold (e.g., 0.4 rad / s), one or more controllers 26, 68, 82 consider it undesirable and may take action to change the feed rate FR according to the techniques described herein. In one example, the feed rate FR can be changed by mappings corresponding to values of directional motion within a range between the lower limit and the first threshold. Mapping values for values related to directional motion can be stored in a lookup table in memory. The mapping may be continuous or discrete and can be defined according to a linear function, step function, exponential function, logarithmic function, customized (smoothing) function, or any other type of function. For example, in the case of a linear mapping, the scaling may be 1 for orientation motion values at a lower limit (scaling by 1 to maintain the existing / original / last feed rate) and 0 for orientation motion values at a first threshold (scaling by 0 to reduce the FR). A linear correlation may exist between orientation motion values and feed rates between the lower limit and the first threshold or between them (e.g., scaling by 0.5 increments midway between the lower limit and the first threshold to halve the existing FR). For actual or predicted undesirable orientation motion values exceeding the first threshold, the feed rate FR can be changed to immediately reduce or zero the actual or predicted undesirable orientation motion values. In other words, one or more controllers 26, 68, 82 may account for zero-tolerance undesirable orientation motion, etc.
[0185] Additionally, or alternatively, users can set or adjust any of these limits, thresholds, ranges, or scaling values based on their preferences or surgical plans, for example, using a clinical application. For instance, scaling (0-1) or limits can be reduced to 50% or more of the default value, or increased to 150% or more. The examples of limits and thresholds above are just one of many possible configurations. Ranges and values may differ from those listed or in this example.
[0186] Limits, thresholds or ranges, and scaling / mapping are specific to the conditions or events that cause actual or predicted undesirable directional motion and can be defined individually for various conditions or events (e.g., any such event / condition in Figure 14). Limits, thresholds, and ranges do not necessarily have to be specifically in relation to the values of directional motion (e.g., angular velocity), but may be values from other parameters / measurements that can be indirectly / directly correlated with the actual or predicted directional motion. For example, for actual or predicted undesirable directional motion occurring in response to a collision with the virtual boundary 71 (120, Figure 14), the thresholds or ranges and scaling / mapping may depend on the value of the penetration parameter. For example, if the penetration value is less than 0.1 mm, the scaling of feed rate FR may be 0. If the penetration value is 0.1 mm or greater and less than 0.2 mm, the scaling of feed rate FR may be between 0 and 1. If the penetration value is greater than 0.2 mm, the scaling of feed rate FR may be 0. Again, these thresholds and scaling values are merely examples and may differ from those described depending on the conditions / event and the desired response.
[0187] In step 220, one or more controllers 26, 68, 82 determine whether conditions arise that satisfy the presence of actual or expected undesirable orientational motion. Satisfaction of the condition occurs in step 216 in response to the satisfaction of a threshold or range. Satisfaction of the condition can occur at any time. For example, satisfaction of the condition can be identified at the command position of the energy applicator 24. In such a case, the condition may be satisfied in real time or near real time without filtering, based on raw kinematic or localizer 44 values. Alternatively, satisfaction of the condition can be identified based on filtered robot or localizer 44 values, and the data may be filtered over a period of time (e.g., 50-150 ms). Based on this filtered data, actual or expected undesirable orientational motion can be calculated / measured. If the condition is not satisfied, one or more controllers 26, 68, 82 may maintain or restart the feed rate FR in step 202.
[0188] In step 218, one or more controllers 26, 68, 82 identify the presence of actual or expected motion in an undesirable orientation. Again, the identification of motion in an undesirable orientation can occur at any time. Identification may, but is not necessarily, occur in response to the satisfaction of a threshold or range in step 220. Alternatively, automatic identification may occur based on an analysis of any of the above factors, such as the identification of an event of external force, constraint, orientation change, or feed rate (shown in Figure 14), or based on an analysis from identifying or monitoring the actual / expected motion of non-toolpath motion component(s) from sensors, sensing systems, inertia values, or simulations in step 206.
[0189] In step 222, after identifying the undesirable orientation motion, one or more controllers 26, 68, 82 fully evaluate the actual or expected undesirable orientation motion and then determine the parameters for appropriate corrective action. One or more controllers 26, 68, 82 determine how to modify the feed rate FR to account for the undesirable orientation motion. This can be done, for example, according to one of the evaluation methods described in step 216. In one embodiment, the detection of the presence or expected presence of the above influencing factors or conditions (shown in Figure 14) may be defined by variables and coefficients that can be used to quantify how to modify the feed rate FR to account for the undesirable orientation motion. This can be done in a manner similar to the techniques described in the previous section used to calculate the feed rate based on the variables shown in Figure 8. For example, each coefficient associated with each applicable factor affecting the undesirable orientation motion may be between 0 and 1.0. The change in coefficients may be filtered or ramped to blend in / blend out the effect of the change in the magnitude of the coefficients. Performing this filtering or blending can smoothly mitigate the undesirable orientation motion. The influence of any variable may be selectively ignored. For example, it may be desirable to determine the change to the feed rate FR based on either the minimum or maximum coefficient and ignore the other coefficients. Two or more variables to the feed rate calculator 82 may be combined, for example, by addition, multiplication, averaging, or division. Similarly, the calculated coefficients may be added, multiplied, averaged, or divided to provide a final coefficient used to determine how to change the feed rate FR.
[0190] In step 224, one or more controllers 26, 68, 82 perform a change in the feed rate FR. This can be done by changing the determined feed rate or by overriding the determined feed rate. In practice, the feed rate FR is often reduced to mitigate the adverse effects of motion in an undesirable direction. The modification of the feed rate FR may be in response to the occurrence of motion in an undesirable direction. Alternatively, the modification of the feed rate FR can be performed proactively, so that the system 10 proactively mitigates the expected motion in an undesirable direction, and the non-toolpath components of the motion chain KC do not experience (or do not experience at all) the expected motion in an undesirable direction. In some cases, one or more controllers 26, 68, 82 may mitigate motion in an undesirable direction by intentionally maintaining the existing / predetermined feed rate FR that would have been increased, either additionally or instead. For example, one or more controllers 26, 68, 82 may mitigate motion in an undesirable direction by rapidly reducing the feed rate FR and then increasing the feed rate FR. The feed rate FR can be reduced by a factor correlated with the magnitude and / or direction of the undesirable motion experienced or to be experienced. The change or reduction in feed rate may be gradual or abrupt and may occur over or during any duration, such as the duration determined by one or more controllers 26, 68, 82 required to mitigate the undesirable motion. In any of these scenarios, the change in feed rate can be performed by transitioning back to step 204, where one or more controllers 26, 68, 82 instruct the manipulator 14 to advance the energy applicator 24 according to the feed rate FR calculated to account for the undesirable motion.
[0191] In response to a change in feed rate FR that accounts for undesirable orientation motion, one or more controllers 26, 68, 82 may be configured to identify that one or more components of the motion chain KC other than the energy applicator 24 are no longer experiencing or will no longer experience undesirable orientation motion. This identification can be performed by re-evaluating whether the condition is met in step 220, or by re-evaluating non-toolpath components in step 206. Identification can also be performed based on whether a threshold / limit or range is met, as described in steps 216, 220. For example, if the compared value for undesirable orientation motion falls below the lower limit, the feed rate FR can be restored or restarted to the last / previous / default / original value. In other examples, instead of utilizing values stored in a lookup table, one or more controllers 26, 68, 82 may execute a control loop, such as a PID control loop. For example, the setpoint may be an acceptable value for orientation motion, such as a number below the lower limit. The control loop can receive input of detected values for actual orientation motion from any of the techniques described above. Through a control loop, one or more controllers 26, 68, 82 can calculate an error as the difference between a setpoint and the actual value of the orientation motion, and then apply a correction to obtain terms (e.g., P, I, D) that minimize the error until the detected value of the actual orientation motion satisfies the setpoint. This is an example of a control loop that can be used to identify that one or more non-toolpath components are no longer experiencing or will no longer experience undesirable orientation motion. Other types of control loops are conceivable. One or more controllers 26, 68, 82 can also know the expected duration of the undesirable orientation motion based on predictive analysis or simulation, and can infer that time has elapsed over which the undesirable orientation motion occurred / would have occurred.In response to any of these scenarios, one or more controllers 26, 68, 82 may restore or restart the feed rate in 202 that was existing before or planned after the feed rate change, taking into account motion in an undesirable orientation.
[0192] IV. Other examples for considering undesirable orientations of movement
[0193] The techniques described above focus on changing the feed rate to account for undesirable orientations. Any of the techniques described above can be utilized by one or more controllers 26, 68, 82 to mitigate undesirable orientations by changing the behavior of the manipulator 14 in addition to changing the feed rate FR. For example, one or more controllers 26, 68, 82 can predictively or dynamically manipulate the movement, constraints, or orientation of joint J in zero space, change the trajectory of tool 20, modify the toolpath TP, adjust the virtual boundary 71 or other constraints, and prohibit user-operated robot functions such as changing the orientation of the tool or arm, backdriving the arm, or adjusting the feed rate.
[0194] The preceding description has described several embodiments. The embodiments discussed herein are not intended to be exhaustive, nor are they intended to limit the invention to any particular form. The terminology used is intended to be descriptive, not restrictive. In light of the above teachings, many modifications and variations are possible, and the invention may be carried out in ways other than those specifically described. Furthermore, the headings used in this document are introduced for reference and readability purposes only, and should not be understood as limiting the content of a section solely by the subject of the heading. Furthermore, in order to maintain the disclosures made at the time of filing this application, the contents of claims 1 to 39 at the time of filing this application are added below. (Claim 1) It is a surgical system, Surgical tools including energy applicators, A manipulator comprising a base and a plurality of links and joints, configured to support the surgical tool, wherein the kinetic chain is defined by the components of the manipulator including the base and the plurality of links and joints, and the surgical tool including the energy applicator, Includes at least one controller, The aforementioned at least one controller is The feed rate is determined as the speed at which the energy applicator moves forward in semi-autonomous mode along the toolpath. The manipulator is controlled in semi-autonomous mode to advance the energy applicator along the toolpath to a plurality of commanded positions according to the feed rate, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction as the energy applicator moves along the toolpath according to the feed rate, The feed rate is changed to account for the motion in the aforementioned undesirable direction. A surgical system configured in such a way. (Claim 2) The feed rate is modified to take into account the motion in the undesirable direction by further configuring the at least one controller to reduce the feed rate by a factor correlated with the magnitude of the motion in the undesirable direction experienced or likely to be experienced by one or more components of the kinetic chain other than the energy applicator, The surgical system according to claim 1, wherein the modified feed rate is a non-zero rate that is less than the existing feed rate before the modification of the feed rate. (Claim 3) The at least one controller detects that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction. The aforementioned undesirable motion is compared to a threshold or range, and, In response to the undesirable motion satisfying the threshold or range, the feed rate is modified to take the undesirable motion into account. The surgical system according to claim 1 or 2, further configured to identify. (Claim 4) The aforementioned at least one controller, While the energy applicator moves along the toolpath according to the feed rate to the plurality of commanded positions, forward kinematic measurements of the kinetic chain are acquired, and, Evaluate the forward kinematic measurements to identify whether one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction. A surgical system according to any one of claims 1 to 3, configured as follows. (Claim 5) The present invention further includes a non-temporary computer-readable medium storing simulation data showing the motion of one or more components of the kinetic chain in the undesirable orientation, The simulation data is obtained from a preoperative simulation configured to simulate the control of the manipulator in semi-autonomous mode to advance the energy applicator along the toolpath to the plurality of commanded positions according to the feed rate. The aforementioned at least one controller is The simulation data is obtained from the non-temporary computer-readable medium, and, Based on the simulation data, identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction. A surgical system according to any one of claims 1 to 4, configured as follows. (Claim 6) The system further includes one or more sensors configured to generate measurements related to any one or more components of the kinetic chain, The surgical system according to any one of claims 1 to 5, wherein the at least one controller is configured to analyze the measurement to identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable orientation. (Claim 7) The aforementioned at least one controller, The inertia values of any one or more components of the kinetic chain are stored in a non-temporary computer-readable medium. Using the stored inertia values, it is identified that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction. A surgical system according to any one of claims 1 to 6, configured as follows. (Claim 8) During the advance of the energy applicator along the toolpath in the semi-autonomous mode, the at least one controller, Enable the orientation change of the surgical instrument, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience the undesirable orientational motion that occurs in response to the change in orientation of the surgical tool, The feed rate is modified to account for the undesirable directional motion that occurs in response to the change in the orientation of the surgical tool. The surgical system according to any one of claims 1 to 7, further configured as follows. (Claim 9) The aforementioned at least one controller, One or more virtual tactile objects are associated with one or more components of the aforementioned kinetic chain, Define a virtual boundary, The collision between the one or more virtual tactile objects and the virtual boundary is detected. In response to the detection of the collision, the manipulator is controlled to prevent one or more components of the kinetic chain having the associated virtual tactile object from crossing the virtual boundary. Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience the undesirable orientation of motion that occurs in response to the detection of the collision, thereby suppressing one or more components of the kinetic chain, In response to the detection of the collision, the feed rate is modified to take into account the undesirable orientation of motion that further occurs as a result of suppressing one or more components of the kinetic chain. A surgical system according to any one of claims 1 to 8, configured as follows. (Claim 10) The surgical tool comprises a shaft and an energy applicator located at the distal end of the shaft. The aforementioned at least one controller, One or more of the virtual tactile objects are associated with the shaft of the surgical tool at a position on the shaft other than the distal end. The virtual boundary is associated with the surgical site where the surgical tool interacts. In response to the detection of the collision between the one or more virtual tactile objects of the shaft and the virtual boundary of the surgical site, the manipulator is controlled to prevent the shaft from crossing the virtual boundary. Identifying that the shaft is experiencing or will experience the undesirable direction of movement, Modify the feed rate to account for the undesirable directional motion that the shaft experiences or may experience. The surgical system according to claim 9, configured as follows. (Claim 11) The aforementioned at least one controller, The value of intrusion occurring between the one or more virtual tactile objects and the virtual boundary of the surgical site is evaluated, and, The feed rate is changed according to the evaluation of the aforementioned penetration value. The surgical system according to claim 9 or 10, configured as follows. (Claim 12) In response to the change in feed rate, the at least one controller takes into account the motion in the undesirable direction, The surgical system according to any one of claims 1 to 11, configured to identify that one or more components of the kinetic chain other than the energy applicator are no longer experiencing or will no longer experience the undesirable orientation of motion, and to accordingly resume the feed rate planned after the change in feed rate. (Claim 13) The surgical system according to any one of claims 1 to 12, wherein the motion in the undesirable orientation is further defined as one or more undesirable angular velocities, angular accelerations, or angular jerks experienced or to be experienced by any one or more components of the kinetic chain other than the energy applicator. (Claim 14) A method for operating a surgical system comprising a surgical tool including an energy applicator, a manipulator supporting the surgical tool and including a base and a plurality of links and joints, wherein the kinetic chain of the manipulator is defined by the components of the manipulator including the base and the plurality of links and joints, the surgical tool including the energy applicator, and at least one controller, The aforementioned at least one controller is The process involves determining the feed rate, which is defined as the speed at which the energy applicator moves forward in a semi-autonomous mode along the toolpath, Controlling the manipulator in semi-autonomous mode to advance the energy applicator along the toolpath to multiple commanded positions according to the feed rate, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction as the energy applicator moves along the toolpath according to the feed rate, The feed rate is changed to take into account the motion in the aforementioned undesirable direction, A method for doing so. (Claim 15) Changing the feed rate to account for the motion in the aforementioned undesirable direction, The at least one controller includes reducing the feed rate by a factor correlated with the magnitude of the undesirable orientation of motion experienced or likely to be experienced by one or more components of the kinetic chain other than the energy applicator, The method according to claim 14, wherein the modified feed rate is a non-zero rate that is lower than the rate of the existing feed rate before the modification of the feed rate. (Claim 16) Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction means that at least one controller, Comparing the aforementioned undesirable direction of motion to a threshold or range, In response to the motion in the undesirable direction satisfying the threshold or range, the feed rate is changed to take the motion in the undesirable direction into account. The method according to claim 14 or 15, which includes performing the following: (Claim 17) The aforementioned at least one controller, Acquiring forward kinematic measurements of the kinetic chain while the energy applicator moves along the toolpath according to the feed rate to the plurality of commanded positions, Evaluating the forward kinematic measurements to identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction, The method according to any one of claims 14 to 16, which includes performing the following: (Claim 18) Includes a non-temporary computer-readable medium storing simulation data showing the motion of one or more components of the kinetic chain in the undesirable orientation, The aforementioned simulation data is obtained from a pre-operative simulation for simulating the control of the manipulator in semi-autonomous mode to advance the energy applicator along the toolpath to the plurality of commanded positions according to the feed rate. The aforementioned at least one controller, The simulation data is obtained from the non-temporary computer-readable medium, Based on the simulation data, identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction, The method according to any one of claims 14 to 17, which includes performing the following: (Claim 19) The further includes one or more sensors generating measurements related to any one or more components of the kinetic chain, The at least one controller analyzes the measurement to identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction. The method according to any one of claims 14 to 18, which includes performing the following: (Claim 20) The aforementioned at least one controller, The inertia values of any one or more components of the kinetic chain are stored in a non-temporary computer-readable medium, Using the stored inertia values, identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction. The method according to any one of claims 14 to 19, which includes performing the following: (Claim 21) During the advance of the energy applicator along the toolpath in the semi-autonomous mode, the at least one controller, To enable the orientation change of the surgical tool, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience the undesirable orientation motion that occurs in response to the change in orientation of the surgical tool, The feed rate is modified to take into account the undesirable orientational movement that occurs in response to the change in orientation of the surgical tool, The method according to any one of claims 14 to 20, which includes performing the following: (Claim 22) The aforementioned at least one controller, Associating one or more virtual tactile objects with one or more components of the aforementioned kinetic chain, Defining a virtual boundary, To detect collisions between the one or more virtual tactile objects and the virtual boundary, In response to detecting the collision, the manipulator is controlled to prevent one or more components of the kinetic chain to which the virtual tactile object is associated from crossing the virtual boundary. Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience the undesirable orientation of motion that occurs in response to the detection of the collision, as the manipulator suppresses one or more components of the kinetic chain; In response to detecting the collision, the feed rate is modified to take into account the undesirable orientation of motion that further occurs as the manipulator suppresses one or more components of the kinetic chain, The method according to any one of claims 14 to 21, which includes performing the following: (Claim 23) The surgical tool comprises a shaft and an energy applicator located at the distal end of the shaft. The aforementioned at least one controller, Associating one or more of the virtual tactile objects with the shaft of the surgical tool at a position on the shaft other than the distal end, Associating the virtual boundary with respect to the surgical site where the surgical tool interacts, In response to detecting the collision between the one or more virtual tactile objects of the shaft and the virtual boundary of the surgical site, the manipulator is controlled to prevent the shaft from crossing the virtual boundary, Identifying that the shaft is experiencing or will experience motion in the undesirable direction, Modifying the feed rate to take into account the undesirable directional motion experienced or likely to be experienced by the shaft, The method according to claim 22, which includes performing the following. (Claim 24) The aforementioned at least one controller, To evaluate the value of intrusion occurring between the one or more virtual tactile objects and the virtual boundary of the surgical site, The feed rate is changed in accordance with the evaluation of the penetration value, The method according to any one of claims 22 to 23, which includes performing the following: (Claim 25) After changing the feed rate to account for the motion in the undesirable direction, the at least one controller, Identifying that one or more components of the kinetic chain other than the energy applicator are no longer experiencing or will no longer experience the undesirable direction of motion, and accordingly resuming the feed rate planned after changing the feed rate, The method according to any one of claims 14 to 24, which includes performing the following: (Claim 26) Surgical tools including energy applicators, A manipulator comprising a base and a plurality of links and joints, configured to support the surgical tool, wherein the kinetic chain is defined by the components of the manipulator and the surgical tool, which includes the energy applicator, At least one controller and A surgical system including, The aforementioned at least one controller is Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction, The feed rate of the energy applicator is changed to account for the motion in the aforementioned undesirable direction. A surgical system configured in such a way. (Claim 27) The aforementioned at least one controller, Determine the feed rate, which is defined as the speed at which the energy applicator moves forward. The manipulator is controlled to advance the energy applicator to one or more commanded positions according to the feed rate, and Identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience undesirable motion in an undesirable direction during the forward movement of the energy applicator according to the feed rate. The surgical system according to claim 26, configured as follows. (Claim 28) A method for operating a surgical system comprising a surgical tool including an energy applicator, a manipulator supporting the surgical tool and including a base and a plurality of links and joints, and at least one controller, wherein the kinetic chain is defined by the components of the manipulator including the base and the plurality of links and joints and the surgical tool including the energy applicator, The above method involves the at least one controller, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction, The feed rate of the energy applicator is changed to take into account the motion in the aforementioned undesirable direction. A method that includes performing the following. (Claim 29) The aforementioned at least one controller, Determining the feed rate, which is defined as the speed at which the energy applicator moves forward, Controlling the manipulator to advance the energy applicator to one or more commanded positions according to the feed rate, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction during the forward movement of the energy applicator according to the feed rate, The method according to claim 28, which includes performing the following. (Claim 30) Surgical tools including energy applicators, A manipulator comprising a base and a plurality of links and joints, configured to support the surgical tool, wherein the kinetic chain is defined by the components of the manipulator and the surgical tool, which includes the energy applicator, At least one controller and A surgical system including, The aforementioned at least one controller is Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction, Modify the movement of the manipulator to take into account the aforementioned undesirable orientation of motion. A surgical system configured in such a way. (Claim 31) The surgical system according to claim 30, wherein the at least one controller is configured to modify the behavior of any one or more components of the kinetic chain to take into account the undesirable orientation of motion, thereby correcting the movement of the manipulator. (Claim 32) The surgical system according to claim 30, wherein the at least one controller is further configured to modify the operation of the manipulator to take into account the undesirable orientation of the movement, by predictively or dynamically performing any one or more of the following: manipulating joint movement, manipulating joint constraints, manipulating joint posture, manipulating joint movement in zero space, changing the trajectory of the surgical tool, modifying the toolpath through which the surgical tool advances, adjusting virtual boundaries or other constraints, prohibiting the behavior of any one or more components of the kinetic chain, restricting changes in the orientation of the manipulator or surgical tool, restricting the backdrive of the manipulator, restricting user adjustment of feed rate, and stopping the manipulator. (Claim 33) A method for operating a surgical system comprising a surgical tool including an energy applicator, a manipulator supporting the surgical tool and including a base and a plurality of links and joints, and at least one controller, wherein the kinetic chain is defined by the components of the manipulator including the base and the plurality of links and joints, and the surgical tool including the energy applicator. The above method involves the at least one controller, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction, Modifying the movement of the manipulator to take into account the aforementioned undesirable orientation of movement, A method that includes performing the following. (Claim 34) The method according to claim 33, wherein the at least one controller modifies the operation of the manipulator by changing the behavior of any one or more components of the kinetic chain to take into account the motion in the undesirable orientation. (Claim 35) The method according to claim 33, wherein the at least one controller modifies the operation of the manipulator by predictively or dynamically further performing any one or more of the following: manipulating joint movement, manipulating joint constraints, manipulating joint posture, manipulating joint movement in zero space, changing the trajectory of the surgical tool, correcting the toolpath through which the surgical tool advances, adjusting a virtual boundary or other constraint, restricting the behavior of any one or more components of the kinetic chain, restricting changes in the orientation of the manipulator or the surgical tool, restricting the backdrive of the manipulator, restricting user adjustment of feed rate, and stopping the operation of the manipulator. (Claim 36) Surgical tools including energy applicators, A manipulator comprising a base and a plurality of links and joints, configured to support the surgical tool, wherein the kinetic chain is defined by the components of the manipulator and the surgical tool, including the energy applicator, A controller including at least one non-temporary computer-readable medium storing simulation data showing undesirable orientations of the motion of one or more components of the kinetic chain, and A surgical system including, The aforementioned simulation data is obtained from a simulation configured to simulate the control of the manipulator to advance the energy applicator to the plurality of command positions. The aforementioned at least one controller is Based on the simulation data, it is identified that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction, and Modify the movement of the manipulator to take into account the aforementioned undesirable orientation of motion. A surgical system configured in such a way. (Claim 37) A method for operating a surgical system comprising a surgical tool including an energy applicator, a manipulator including a base and a plurality of links and joints, configured to support the surgical tool, wherein the kinetic chain is defined by the components of the manipulator and the surgical tool including the energy applicator, the manipulator and at least one controller including a non-temporary computer-readable medium storing simulation data showing undesirable orientations of one or more components of the kinetic chain, The aforementioned simulation data is obtained from a simulation configured to simulate the control of the manipulator that advances the energy applicator to the plurality of command positions. The above method involves the at least one controller, Identifying, based on the simulation data, that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction, Modifying the movement of the manipulator to take into account the aforementioned undesirable orientation of movement, A method that includes performing the following. (Claim 38) A surgical tool comprising a shaft and an energy applicator located at the distal end of the shaft, A manipulator comprising a base and a plurality of links and joints, configured to support the surgical tool, At least one controller, A surgical system including, The aforementioned at least one controller is One or more virtual tactile objects are associated with the shaft of the surgical tool at a position on the shaft, The aforementioned surgical tools associate a virtual boundary with the surgical site in which they interact. The collision between the one or more virtual tactile objects associated with the shaft and the virtual boundary associated with the surgical site is detected, and, In response to the detection of the collision, the manipulator is controlled to prevent the shaft from crossing the virtual boundary. A surgical system configured in such a way. (Claim 39) A surgical tool comprising a shaft and an energy applicator at the distal end of the shaft; a manipulator comprising a base and a plurality of links and joints, configured to support the surgical tool; and at least one controller. A method for operating a surgical system including, The above method involves the at least one controller, Associating one or more virtual tactile objects with respect to the shaft of the surgical tool at a position on the shaft, Associating a virtual boundary with respect to the surgical site where the surgical tools interact, To detect a collision between the one or more virtual tactile objects associated with the shaft and the virtual boundary associated with the surgical site, In response to the detection of the collision, the manipulator is controlled to prevent the shaft from crossing the virtual boundary, A method that includes performing the following.
Claims
1. It is a surgical system, Surgical tools including energy applicators, A manipulator comprising a base and a plurality of links and joints, configured to support the surgical tool, wherein the kinetic chain is defined by the components of the manipulator including the base and the plurality of links and joints, and the surgical tool including the energy applicator, Includes at least one controller, The aforementioned at least one controller is A first feed rate is determined, which is defined as the speed at which the energy applicator moves forward in a semi-autonomous mode along the toolpath. The manipulator is controlled in semi-autonomous mode to advance the energy applicator along the toolpath to a plurality of commanded positions according to the first feed rate, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction as the energy applicator moves along the toolpath according to the first feed rate, To account for the motion in the aforementioned undesirable direction, the first feed rate is reduced to a second feed rate that is a non-zero speed slower than the first feed rate. A surgical system configured in such a way.
2. The surgical system according to claim 1, wherein the at least one controller is further configured to reduce the first feed rate to a second feed rate in consideration of the motion in the undesirable direction, by a factor correlated with the magnitude of the motion in the undesirable direction experienced or likely to be experienced by the one or more components of the kinetic chain other than the energy applicator.
3. The at least one controller detects that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction. The aforementioned undesirable motion is compared to a threshold or range, and, Depending on whether the motion in the undesirable direction satisfies the threshold or range, the first feed rate is reduced to the second feed rate to take the motion in the undesirable direction into account. The surgical system according to claim 1 or 2, further configured to identify.
4. The aforementioned at least one controller, While the energy applicator moves along the toolpath to the plurality of commanded positions according to the first feed rate, forward kinematic measurements of the kinetic chain are acquired, and, Evaluate the forward kinematic measurements to identify whether one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction. A surgical system according to any one of claims 1 to 3, configured as described above.
5. The present invention further includes a non-temporary computer-readable medium storing simulation data showing the motion of one or more components of the kinetic chain in the undesirable orientation, The simulation data is obtained from a preoperative simulation configured to simulate the control of the manipulator in semi-autonomous mode to advance the energy applicator along the toolpath to the plurality of commanded positions according to the first feed rate. The aforementioned at least one controller is The simulation data is obtained from the non-temporary computer-readable medium, and, Based on the simulation data, identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction. A surgical system according to any one of claims 1 to 4, configured as described above.
6. The system further includes one or more sensors configured to generate measurements related to any one or more components of the kinetic chain, The surgical system according to any one of claims 1 to 5, wherein the at least one controller is configured to analyze the measurement values to identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable orientation.
7. The aforementioned at least one controller, The inertia values of any one or more components of the kinetic chain are stored in a non-temporary computer-readable medium. Using the stored inertia values, it is identified that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in the undesirable direction. A surgical system according to any one of claims 1 to 6, configured as described above.
8. During the forward movement of the energy applicator along the toolpath in the semi-autonomous mode, the at least one controller, Enable the orientation change of the surgical tool, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience the undesirable orientational motion that occurs in response to the change in orientation of the surgical tool, The first feed rate is reduced to the second feed rate to account for any undesirable directional movements that may occur as a result of changing the orientation of the surgical tool. The surgical system according to any one of claims 1 to 7, further configured as follows.
9. The aforementioned at least one controller, One or more virtual tactile objects are associated with one or more components of the aforementioned kinetic chain, Define a virtual boundary, The collision between the one or more virtual tactile objects and the virtual boundary is detected. In response to the detection of the collision, the manipulator is controlled to prevent one or more components of the kinetic chain having the associated virtual tactile object from crossing the virtual boundary. Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience the undesirable orientation of motion that occurs in response to the detection of the collision, and that suppressing one or more components of the kinetic chain In response to the detection of the collision, the first feed rate is reduced to the second feed rate to account for any further undesirable motion in which one or more components of the kinetic chain are suppressed. A surgical system according to any one of claims 1 to 8, configured as described above.
10. The surgical tool comprises a shaft and an energy applicator located at the distal end of the shaft. The aforementioned at least one controller, One or more of the virtual tactile objects are associated with the shaft of the surgical tool at a position on the shaft other than the distal end. The virtual boundary is associated with the surgical site where the surgical tool interacts. In response to the detection of a collision between the one or more virtual tactile objects on the shaft and the virtual boundary of the surgical site, the manipulator is controlled to prevent the shaft from crossing the virtual boundary. Identifying that the shaft is experiencing or will experience the undesirable direction of movement, The surgical system according to claim 9, wherein the first feed rate is configured to reduce to the second feed rate to account for the undesirable directional motion that the shaft experiences or may experience.
11. The aforementioned at least one controller, The value of intrusion occurring between the one or more virtual tactile objects and the virtual boundary of the surgical site is evaluated, and, The first feed rate is reduced to the second feed rate in accordance with the evaluation of the penetration value. The surgical system according to claim 10, configured as described above.
12. In response to reducing the first feed rate to the second feed rate to account for the motion in the undesirable direction, the at least one controller, The surgical system according to any one of claims 1 to 11, wherein it is configured to identify that one or more components of the kinetic chain other than the energy applicator are no longer experiencing or will no longer experience the undesirable orientation of motion, and to reduce the first feed rate to the second feed rate and then resume the planned first feed rate accordingly.
13. The surgical system according to any one of claims 1 to 12, wherein the motion in the undesirable direction is further defined as one or more undesirable angular velocities, angular accelerations, or angular jerks experienced or to be experienced by any one or more components of the kinetic chain other than the energy applicator.
14. A method for operating a surgical system comprising a surgical tool including an energy applicator, a manipulator supporting the surgical tool and including a base and a plurality of links and joints, wherein the kinetic chain of the manipulator is determined by the components of the manipulator including the base and the plurality of links and joints, and the surgical tool including the energy applicator, and at least one controller, The aforementioned at least one controller is The first feed rate is determined as the speed at which the energy applicator moves forward in a semi-autonomous mode along the toolpath, Controlling the manipulator in semi-autonomous mode to advance the energy applicator along the toolpath to multiple commanded positions according to the first feed rate, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction as the energy applicator moves along the toolpath according to the first feed rate, To account for the motion in the aforementioned undesirable direction, the first feed rate is reduced to a second feed rate which is a non-zero speed slower than the first feed rate, The method of operating the surgical system.
15. Surgical tools including energy applicators, A manipulator comprising a base and a plurality of links and joints, configured to support the surgical tool, wherein the kinetic chain is determined by the components of the manipulator and the surgical tool, which includes the energy applicator, At least one controller and A surgical system including, The aforementioned at least one controller is Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction, To account for the motion in the aforementioned undesirable direction, the first feed rate of the energy applicator is reduced to a second feed rate that is a non-zero speed slower than the first feed rate. A surgical system configured in such a way.
16. The aforementioned at least one controller, A first feed rate is determined, which is defined as the speed at which the energy applicator moves forward. The manipulator is controlled to advance the energy applicator to one or more commanded positions according to the first feed rate, and, Identify that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience undesirable motion in an undesirable direction during the forward movement of the energy applicator according to the first feed rate. The surgical system according to claim 15, configured as described above.
17. A method for operating a surgical system comprising a surgical tool including an energy applicator, a manipulator supporting the surgical tool and including a base and a plurality of links and joints, and at least one controller, wherein the kinetic chain is determined by the components of the manipulator including the base and the plurality of links and joints and the surgical tool including the energy applicator, The aforementioned at least one controller, Identifying that one or more components of the kinetic chain other than the energy applicator are experiencing or will experience motion in an undesirable direction, To account for the motion in the aforementioned undesirable direction, the first feed rate of the energy applicator is reduced to a second feed rate that is a non-zero speed slower than the first feed rate. A method of operating a surgical system, including performing the following.
Citation Information
Patent Citations
Simulation device, robot control device, and robot
JP2019034352A
Robotic system and method for generating reaction forces to implement virtual boundaries
JP2020523206A
Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes
US20140222207A1