System and method for guiding the movement of handheld medical robotic devices
The handheld medical robotic system addresses inefficiencies in surgical tool positioning by using a control system with a tool support and actuator assembly to simulate tool dynamics, improving surgical precision and usability.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- MAKO SURGICAL CORP
- Filing Date
- 2026-04-02
- Publication Date
- 2026-07-29
AI Technical Summary
Existing surgical systems face challenges with physical cutting guides that require significant setup time, distract users, and are difficult to handle due to large robotic arms, making them inefficient and cumbersome for surgical procedures.
A handheld medical robotic system with a tool support and actuator assembly that allows for precise tool positioning using a control system to determine tool pose and orientation, incorporating a localizer and constraint solver to simulate tool dynamics and control actuators for optimal tool placement.
Enables efficient and user-friendly surgical procedures by reducing setup time and eliminating the need for large robotic arms, allowing precise tool positioning and orientation without user distraction, enhancing surgical precision and usability.
Smart Images

Figure 2026122989000001_ABST
Abstract
Description
[Background technology]
[0001] When excising tissue from a patient, a physical cutting guide is used to restrain the surgical tool. In some cases, a physical cutting guide is used to allow the replacement implant to be accepted. These surgical tools are restrained to prepare the joint. A physical cutting guide is placed on the patient. In contrast, the time required to position and fix the object is a fraction of the total time required to perform the surgical procedure. It could potentially occupy a significant portion of the total.
[0002] Using a navigation system (also called a tracking system), the jig is positioned correctly. The position of the surgical tool used to fix and remove tissue from the patient. and / or orientation can be tracked. The tracking system is usually a tool and excised Employ one or more trackers associated with the organization in question. Then, the user will see the display By observing, you can determine the current position of the tool relative to the desired cutting path of the tissue to be removed. Yes, it is possible. The display visualizes the progress of the tool, showing the user the tissue and surgical site. It may be arranged in a way that makes you want to look away. This could potentially distract the user from focusing on the surgical site. Users may have difficulty arranging the tools in the desired format.
[0003] Robot-assisted surgery typically uses a robotic arm that can move with 6 degrees of freedom (DOF). It relies on large robots that are installed. These large robots are operated and controlled in the operating room. It may be difficult to handle. [Overview of the project] [Problems that the invention aims to solve]
[0004] There is a need for systems and methods to address one or more of these challenges.
Means for Solving the Problem
[0005] One aspect of the present teachings provides a handheld medical robotic system for use with a tool, The system includes an instrument. The instrument has a handheld portion held by a user, a tool support coupled to the handheld portion for supporting the tool, the tool support including a tool drive motor and an actuator assembly having a plurality of actuators operably interconnecting the tool support and the handheld portion to move the tool support relative to the handheld portion with a plurality of degrees of freedom so as to position the tool on a desired plane. The system further includes a localizer and a control system coupled to the plurality of actuators, the localizer, and the tool drive motor. The control system is configured to determine the target pose of the tool and the state of the tool in a known coordinate system and to determine the position and / or orientation of a reference coordinate system relative to the known coordinate system. The control system is also configured to determine a first constraint state and a second constraint state based on the relationship between the state of the tool and the reference coordinate system, the first constraint being different from the second constraint. The control system includes a constraint solver that calculates a constraint force adapted to move a virtual tool towards a target pose based on the first constraint state and the second constraint, a virtual simulator that simulates the dynamics of the virtual tool in a virtual simulation based on the constraint force and outputs a commanded pose, and the control system is configured to control the actuators based on the commanded pose. The control system is further configured to determine the target pose of the tool and the state of the tool in a known coordinate system and to determine the position and / or orientation of a reference coordinate system relative to the known coordinate system. The control system is also configured to determine a first constraint state and a second constraint state based on the relationship between the state of the tool and the reference coordinate system, the first constraint being different from the second constraint. The control system is configured to calculate a constraint force adapted to move a virtual tool towards a target pose based on the first constraint state and the second constraint, simulate the dynamics of the virtual tool in a virtual simulation based on the constraint force, and output a commanded pose. The control system includes a virtual simulator that simulates the dynamics of the virtual tool in a virtual simulation based on the constraint force and outputs a commanded pose, and the control system is configured to control the actuators based on the commanded pose. The control system is further configured to determine a first constraint state and a second constraint state based on the relationship between the state of the tool and the reference coordinate system, the first constraint being different from the second constraint. The control system is configured to calculate a constraint force adapted to move a virtual tool towards a target pose based on the first constraint state and the second constraint, simulate the dynamics of the virtual tool in a virtual simulation based on the constraint force, and output a commanded pose. The control system includes a virtual simulator that simulates the dynamics of the virtual tool in a virtual simulation based on the constraint force and outputs a commanded pose, and the control system is configured to control the actuators based on the commanded pose. The control system is configured to calculate a constraint force adapted to move a virtual tool towards a target pose based on the first constraint state and the second constraint, simulate the dynamics of the virtual tool in a virtual simulation based on the constraint force, and output a commanded pose. The control system includes a virtual simulator that simulates the dynamics of the virtual tool in a virtual simulation based on the constraint force and outputs a commanded pose, and the control system is configured to control the actuators based on the commanded pose. The control system is configured to control the actuators based on the commanded pose. It is further configured to control each of the data.
[0006] In some embodiments, the control system of a handheld medical robot system is the It is determined that constraint 1 and constraint 2 are guide constraints. In some embodiments, The first and second constraints are joint centering constraints. In some embodiments... In this case, the first and second constraints are workspace constraints. In some embodiments, In this case, the first and second constraints are boundary constraints. In some embodiments, The control system has the following constraints: first, guide constraint, joint centering constraint, and joint limit constraint. It is determined that the second constraint is one of the workspace constraints and boundary constraints, and the second constraint is the guide constraint and relation It was determined that these are different constraints: joint centering constraints, joint limit constraints, workspace constraints, and boundary constraints. In some embodiments, the first constraint and the second constraint have different values. These are constraints of the same type. In some embodiments, the first constraint and the second constraint are These are different types of constraints.
[0007] In some embodiments, the control system of a handheld medical robot system is multi Determine the first constraint on the number and the second constraint on the number of. In some embodiments, multiple The first constraint corresponds to the first pose of the tool, and includes guide constraints, joint centering constraints, and Two or more of the following: node boundary constraints, workspace constraints, and boundary constraints. Several embodiments In this case, multiple second constraints correspond to the second posture of the tool, guide constraints, joint sensors Two or more of the following are required: tarring constraints, joint limit constraints, workspace constraints, and boundary constraints.
[0008] One aspect of this instruction describes how a handheld robotic system determines the orientation of the tool support of an instrument. Through this, it provides control of multiple actuators. Several embodiments In some embodiments, the handheld robot system determines the orientation of the saw blade. In this context, the handheld robot system includes the handheld portion of the instrument, the tool support of the instrument, and A tool, or one or more components that interconnect the handgrip, tool, and tool support. By determining the orientation of one or more combinations of elements, multiple actuators can be controlled. To control.
[0009] One aspect of this instruction describes a method for controlling a handheld robot system, which involves controlling the posture of a part of the device. It provides that it includes at least one step of making a decision. In some embodiments This involves at least one step of determining the orientation of part of the instrument, which determines the orientation of the tool support. This includes determining the position of part of the device. In some embodiments, this includes determining the position of part of the device. In some embodiments, one step involves determining the orientation of the saw blade. This involves at least one step in determining the posture of part of the instrument, such as the handgrip part and the tool support. This includes determining the posture of one or more of the body and / or tools.
[0010] One aspect of this instruction is configured for use with surgical tools other than surgical saws. We provide a handheld robot system. In some embodiments, the handheld robot... The system includes drill bits, drivers, burrs, ultrasonic cutting tools, taps, or other accessories. It is configured to be used with a rotary cutting tool.
[0011] One aspect of this instruction is a control system for a handheld robot system, which involves multiple actuators By controlling the tool support and virtual objects other than planes, such as virtual axes, the tool supports and It provides the ability to position tools. The virtual axis is the planned trajectory or the planned screw path. This may be derived from the surgical plan, such as the trajectory of a path or planned hole.
[0012] One aspect of this instruction is a control system for a handheld robotic system that controls surgical implants Without specifying the planned attitude, the target plane or target trajectory or target virtual object To provide a solution for determining the value.
[0013] One aspect of this instruction describes a method for controlling a handheld robot system using an alternative actuary. It is provided to be used with a robot assembly. In some embodiments, the robot The control system for the handheld system is arranged in series with other actuators. It is used in conjunction with multiple actuators.
[0014] This instruction is based on the corresponding instructions, each configured to perform the operation of a device and method. Computer systems, devices, and data recorded in one or more computer storage devices It may include computer programs.
[0015] The advantages of this disclosure, when considered together with the attached drawings, should be referred to in the following detailed description. As this disclosure is better understood, it will become easier to understand. [Brief explanation of the drawing]
[0016] [Figure 1] This is a perspective view of the robot system. [Figure 2]This is a perspective view of a robotic instrument used to cut one or more planes on the femur and tibia to receive a whole knee implant. [Figure 3A] This diagram shows the orientation of various pitches for robotic devices. [Figure 3B] This diagram shows the orientation of various pitches for robotic devices. [Figure 3C] This diagram shows the orientation of various pitches for robotic devices. [Figure 4A] This is a diagram showing the orientation of various rolls in a robotic device. [Figure 4B] This is a diagram showing the orientation of various rolls in a robotic device. [Figure 4C] This is a diagram showing the orientation of various rolls in a robotic device. [Figure 5A] This diagram shows various z-axis translational positions of a robotic device. [Figure 5B] This diagram shows various z-axis translational positions of a robotic device. [Figure 5C] This diagram shows various z-axis translational positions of a robotic device. [Figure 6] This is a front perspective view of a robotic instrument showing one specific orientation of the tool support relative to the handheld portion. [Figure 7] This is a block diagram of the control system, showing various software modules. [Figure 8] This is a rear perspective view of the robotic device. [Figure 9] This is an exploded view showing the main body of the tool support and the associated joint connections to multiple actuators. [Figure 10] This diagram shows the various fields in which robotic devices are used. [Figure 11] This is a block diagram of a specific module that can be operated by a control system. [Figure 12] This is a diagram showing guide constraints and virtual forces. [Figure 13] This figure shows the output of a boundary generator for surgical procedures on the femur. [Figure 14] This is a diagram showing a virtual boundary based on the planned surgical implant. [Figure 15] This is a top view of a saw blade relative to a specific virtual boundary line and a portion of the patient's anatomical structure. [Figure 16] This figure shows a portion of the navigation system for the patient's anatomical structure and surgical robotic instruments, as well as potential conversion calculations. [Figure 17A] This is a block diagram of various parts of the control system. [Figure 17B] This is a block diagram of various parts of the control system. [Figure 17C] This is a block diagram of various parts of the control system. [Figure 17D] This is a block diagram of various parts of the control system. [Figure 17E] This is a block diagram of various parts of the control system. [Figure 18] This figure shows another application of a guide constraint to pull the tool towards the target plane. [Figure 19] This figure shows another application of a guide constraint to pull the tool towards the target plane. [Figure 20] This figure shows how the rigidity of the guide constraint can change with distance. [Figure 21] This diagram shows joint centering constraints and associated virtual forces. [Figure 22A] This figure shows an example of actuator control related to joint centering behavior. [Figure 22B] This figure shows an example of actuator control related to joint centering behavior. [Figure 22C] This figure shows an example of actuator control related to joint centering behavior. [Figure 23] This is a perspective view of the instrument, showing the range of motion of the controlled tool as seen in orthogonal space. [Figure 24] This is a perspective view of an example of a handheld robotic device. [Figure 25] This figure shows the constraint equations for the sample. [Figure 26]This figure shows a sample forward dynamics algorithm for running a virtual simulation. [Figure 27] This figure shows a sample forward dynamics algorithm for running a virtual simulation. [Figure 28] This figure illustrates an exemplary set of steps performed by a control system to resolve constraints, execute forward dynamics, and determine the commanded attitude. [Figure 29A] This figure shows the movement of the tool in response to the application of guide constraints to pull the tool to the target position and orientation. [Figure 29B] This figure shows the movement of the tool in response to the application of guide constraints to pull the tool to the target position and orientation. [Figure 29C] This figure shows the movement of the tool in response to the application of guide constraints to pull the tool to the target position and orientation. [Figure 29D] This figure shows the movement of the tool in response to the application of guide constraints to pull the tool to the target position and orientation. [Figure 30A] This is a schematic diagram of a robotic device that performs cutting in relation to guiding motion. [Figure 30B] This is a schematic diagram of a robotic device that performs cutting in relation to guiding motion. [Figure 31] This is a block diagram of the control system. [Figure 32] This figure shows a portion of the navigation system for the patient's anatomical structure and surgical robotic instruments, as well as other examples of potential transformation calculations regarding the target trajectory. [Modes for carrying out the invention]
[0017] overview Referring to Figure 1, the robot system 10 is shown. The robot system 10 is, Patient 12 can receive a full knee joint implant (IM), Patient 12's femur F It also appears that a total knee joint procedure to remove a portion of the tibial T is being performed on patient 12. The robotic system 10 is used to perform procedures involving the removal of hard / soft tissue, or Other types of surgical procedures, including other forms of treatment, may be performed. For example, the procedure may involve tissue Cutting, perforation, tissue coagulation, implant insertion, tissue cauterization, tissue stapling, This may include procedures such as tissue suturing. In some cases, surgical procedures include knee joint surgery, hip joint surgery, etc. This includes surgery, shoulder joint surgery, spinal surgery and / or ankle joint surgery, knee joint implants, hip joint implants implants, shoulder joint implants, spinal implants and / or ankle joint implants, etc. This may include removing tissue so that it can be replaced by a surgical implant. The robotic system 10 and techniques disclosed in this document are for performing surgical or other non-surgical procedures. It may be used in industrial applications or other applications where robotic systems are used. stomach.
[0018] Referring to Figures 1 and 2, the robot system 10 includes the device 14. Several examples The user then holds and supports the device 14 with their hand (as shown in Figure 1). In the example, the device is a passive arm (e.g., a link-type arm with a locking joint, a weight-bearing flat arm). Supported at least partially or completely by auxiliary devices such as a balancing arm or an active arm. While being held, the user can hold the device 14 with their hand. As shown in Figures 1 and 2. As shown below, the device 14 includes a handheld portion 16 supported by the user.
[0019] The device 14 can be freely moved and supported by the user without the assistance of a guide arm / support device. It is also possible, for example, while performing the physical removal or cutting of a substance, during the procedure, The weight of the device is supported by the user's one or both hands, by a human user. It may be configured to be held in place by the force of gravity. In other words, the device 14 is configured so that the user's hand is not held in place by gravity. The device 14 may be configured to be held in a manner that supports the device 14 in opposition. The weight may be 8 pounds or less, 6 pounds or less, 5 pounds or less, or 3 pounds or less. The component 14 may have a weight corresponding to ANSI / AAMI HE75:2009. .
[0020] The weight of the device is supported by the user without the assistance of a guide arm or auxiliary device. In this embodiment, the handle portion has a firm reference point to the ground. Furthermore, the actuator assembly moves relative to the ground during control. This means that the table, A base that is attached to a cart, imaging device, or other component that remains stationary during a procedure. This could be in stark contrast to the robotic arm that is a defining feature. The handle of the device rests on the ground. In contrast, because it can move, the posture of the handheld part is dynamic, and the optimal movement is... The range of motion, optimal balance and center of gravity for the user's hand, and the ability to complete the procedure. Positioning the handgrip in an ideal way eliminates the feeling that could distract the user. To achieve the optimal user experience in order to avoid giving the handheld robot This may need to be considered during the control of the equipment. This is not limited to the above. However, the tools, tool platforms, actuator assemblies, and / or handheld parts Calculate navigation transformations between various movable / deformable components of the system, including minutes. When doing so, the control system of the device assumes that the base, or handgrip, is in a fixed position. It stems from the fact that it is not possible.
[0021] Its weight is supported by the user without the use of guide arms or auxiliary devices. Another complexity introduced to handheld medical robotic devices is the kinematics of the device. The reaction force transmitted through the chain is at least partially transmitted to the guide arm / auxiliary device. It is not reached, but ultimately transmitted only to the user(s) (there may be multiple users). Yes, in handheld robot systems, the user must bear the reaction force. Therefore, the control system for handheld robotic devices does not allow these reaction forces to impair the usability of the system. To ensure that this does not happen, the actuator assembly must be carefully controlled. The control system may, at an undesirable time and / or in an undesirable direction, be controlled by the user (multiple In cases where a considerable reaction force is applied (sometimes a number), these reaction forces are This affects the behavior of the robot and the user's hands (which may be multiple) and therefore the robotic device. This can result in movement to undesirable positions, orientations, and / or postures. For example, bones, tw Discrepancies between the virtual and real worlds regarding the rod, tool support, and / or handheld parts. If such a discrepancy exists, the control system will be acting in such a manner that it applies a counterforce to the user's hand. This can lead to controlling the actuator assembly.
[0022] The apparatus 14 also includes a tool support 18 that receives the tool 20. In some examples, the tool If the 20 is a saw blade 380, the tool support 18 may be called a blade support. Apparatus 14 The method of operation is for the user to operate without any assistance from a passive arm or robotic arm. This may include suspending the weight of the device 14. Alternatively, the weight of the device 14 may be used by the user. A balancing passive arm, auxiliary device, or active rod does not need to support the entire weight of the device. The device may be supported by using a bot arm. In such cases, the user will use the device 14 To interact with and / or guide the device 14, the handheld portion 16 is still held. It may be held. Passive arm and contents of U.S. Patent No. 9,060,794 by Kang et al. are cited. This shall form part of this specification. Furthermore, in some examples, robots System 10 does not necessarily have a robotic arm with two or more joints in series.
[0023] The tool 20 is coupled to the tool support 18 and further to the robot system 10, which will be described later. It interacts with anatomical structures in specific movements. Tool 20 is an end effector and It may also be called the tool 20. Tool 20 can be fitted with a new / different tool 20 when needed. The tool 20 may be removable from the tool support 18 so that it can be used. It may be permanently fixed to the support 18. The tool 20 will come into contact with the patient's tissue 12. It may include an energy applicator designed for this purpose. In some examples, Tool 20 This may be a saw blade as shown in Figures 1 and 2, or other types of cutting accessories. In the example above, the tool support may also be called the blade support. In both cases, it can be replaced with the term "tool support," and vice versa. It should be understood that this is the case. However, by quoting this specification Other tools, such as the contents of Bozung's U.S. Patent No. 9,707,043, which constitute a part of the law, are planned. It may be illustrated. In some examples, tool 20 is a twist drill bit, screwed Even if it is a driver, tap, ultrasonic vibration tip, bur, stapler, rotary cutting tool, etc. Good. Tool 20 is incorporated herein by reference by Walen et al. As shown in Japanese Patent No. 9,820,753 or U.S. Patent No. 10,687,823, the blade The drive may include a blade assembly and a drive motor that cause vibration motion. The components convert the rotational motion from the drive motor M into the vibrational motion of the tool 20. It may include a transmission device TM coupled to the terminal M.
[0024] Filed on July 15, 2020, for "Robotic Handheld Surgical Instrument Systems" The system described in PCT / US2020 / 042128, titled "and Methods" The methods and other details also constitute part of this specification by reference.
[0025] An actuator assembly 400 including one or more actuators 21, 22, 23 The tool support 18 is moved with 3 degrees of freedom relative to the handgrip portion 16, allowing the user to move the handgrip portion While holding 16, move tool 20 to the desired position and / or orientation (for example, during excision) Robotic motion to assist in positioning the femur F and / or tibia T in the desired posture. Provided. The actuator assembly 400 is arranged in parallel, in series, or a combination thereof. It may also include actuators 21, 22, and 23. In some examples, the actuators The parts 21, 22, and 23 move the tool support 18 with three or more degrees of freedom relative to the handgrip portion 16. In some examples, the actuator assembly 400 controls pitch and z-axis translation, etc. It is configured to have at least two degrees of freedom, allowing the tool support 18 to move relative to the handheld portion 16. In some examples as shown herein, actuators 21, 22, and 23 are The tool support 18 and its associated tool support coordinate system TCS, the handle portion 16 and Move with only 3 degrees of freedom relative to the associated base coordinate system BCS. For example, tool support 1 8 and its tool support coordinate system TCS rotate around its y-axis to provide pitch motion. , rotates around the x-axis to provide roll motion, and the Z axis coincides with the z-axis of the base coordinate system BCS. Translation along the z axis may provide z-axis translational motion. In pitch, roll and z-axis translation The permissible movements are shown in Figure 2, and in Figures 3A-3C, 4A-4C, and 5A-5C. In the schematic diagram, each is indicated by an arrow. Figure 6 shows tool support within the range of motion of the device 14. One example of the posture of the body 18 and the posture of the handheld part 16 is shown. Several other examples are not shown in the figure. The actuator moves the tool support 18 with four or more degrees of freedom relative to the handgrip portion 16. You may do so.
[0026] Even if the actuator assembly 400 is configured as a parallel manipulator Good. As demonstrated throughout this application, the parallel manipulator configuration is an actuator. 21, 22, and 23 are used to support a single platform (i.e., tool support 18). The actuators 21, 22, and 23 are controlled and operated by the control system 28. Actuators 21, 22, and 23 directly connect the tool support 18 and the handgrip portion 16. A separate, independent coupling mechanism that connects and operates simultaneously, as shown throughout this invention. In some cases, geometric parallelism is necessary for a parallel manipulator to function. It is not considered to be part of this specification by reference. For example, "Surgical instrument including housing, a cutting accessory that extends from the housing and actuators that establish the position of the relative cutting accessory to Others, such as those described in U.S. Patent No. 9,707,043, titled "the housing" The configuration of the actuator assembly is also intended.
[0027] Returning to Figure 2, the movement of the tool support 18 relative to the handgrip portion 16 in the remaining 3 degrees of freedom. To restrict movement, a constraint assembly 24 having a passive coupling mechanism 26 may be used. The constraint assembly 24 is any preferred coupling mechanism that restricts motion as described herein. (For example, one or more links having any preferred shape or configuration) may be included. Figure 2 In the example shown, the constraint assembly 24 constrains the yaw motion in the base coordinate system BCS. To restrict rotation around the z-axis and to restrict translation along the x-axis, the base coordinate system BCS To constrain translation in the x-axis direction and to constrain translation in the y-axis direction of the base coordinate system BCS By restricting axial translation, the motion of the tool support coordinate system TCS is limited. It operates. Actuators 21, 22, 23 and constraint assembly 24 are further described below. In certain situations, the function of physical cutting guides, such as physical saw cutting guides, is effectively utilized. It is controlled to imitate.
[0028] Referring to Figure 7, the appliance controller 28, or other type of control unit, is located at appliance 1 It is provided to control 4. The device controller 28 is controlled by one or more computers, This relates to the operation of the instrument 14 and the tool support 18 (and tool 20) relative to the handgrip portion 16. It may include any other suitable form of controller for directing movement. (Device controller) 28 is a central processing unit (CPU) and / or other processors, memory, and storage device (Figure The device controller 28 may have (not shown). The device controller 28 may have software as described later. It is loaded. The processor controls one or more processors that control the operation of the device 14. It can include any type of microprocessor, multiprocessor It may be a sub- and / or multi-core processing system. The device controller 28 is additional or Alternatively, one or more microcontrollers, field-programmable gate arrays, System-on-a-chip, discrete circuitry, and / or performing the functions described herein Includes other suitable hardware, software, or firmware that can be used That is also fine. The term processor is not limited to a single processor in any embodiment. It is not intended for this purpose. Also, the device 14 has one or more displays and / or input devices. Chair (for example, triggers, push buttons, foot switches, keyboards, mice, microphones) User interfaces with voice control, gesture control devices, touchscreens, etc. It may also have a face-based UI.
[0029] The control system 60 includes one or more software programs and software modules. It further includes the following. The software module assists in controlling the robot system 10. To process the data, the navigation controller 36, the equipment controller 28 or It may be part of one or more programs that operate on both. The M and / or module are controlled by one or more processors 70 of the controllers 28, 36. Navigation controller 36, device controller 28, or both, to be executed. This includes computer-readable instructions stored in non-temporary memory 64. Memory 64 is RAM. , non-volatile memory or any other suitable memory configuration, locally or remotely It may also be implemented from a database. Furthermore, software that prompts or communicates with the user. A wear module may form part of one and / or more programs, and a navigation module may be part of a program. The life stored in memory 64 of the motion controller 36, the device controller 28, or both It may include a command. The user is a navigation user interface UI or other user Interact with any of the input devices in the interface UI, and the software It may communicate with the module. The user interface software is navigation This may be performed on a device separate from the controller 36 and / or the device controller 28. .
[0030] The instrument controller 28 controls the cutting motion of the tool 20 (for example, the cutting motion of the tool 20) Controlling the power to the drive motor M and the tool support 18 relative to the handgrip portion 16 Controlling movement (for example, by controlling actuators 21, 22, and 23) The operation of the tool 20 is controlled by the following. The instrument controller 28 controls the handheld portion 16. Controls the state (e.g., position and / or orientation) of the tool support 18 and the tool 20. The device controller 28 controls the velocity (linear or angular), acceleration, and / or actuator 21. , 22, 23 causing damage to the handle portion 16 or to the anatomical structure Tool 20 can control other derivatives of the movement.
[0031] As shown in Figure 2, the instrument controller 28 is connected to the tool support 18 and / or the handle portion. The control housing may be provided with 16 or a combination thereof, and Inside the 29 is one or more control boards 31 (for example, one or more printed circuit boards and The control board 31 is located where actuators 21, 22, and 2 are located. 3 and a microcontroller that controls the drive motor M (for example, via a motor controller). Trolla, Field Programmable Gate Array (FPGA), Drivers, Memory, SE It may also be equipped with sensors or other electronic components. Furthermore, the device controller 28 is connected to the control board 3. It may also include an offboard control console 33 that communicates data and power with 1. The sensor S, actuators 21, 22, 23 and / or drive motor described herein. M may supply a signal to the control board 31, and the control board 31 will process the data signal for The signal is sent to console 33, and console 33 controls actuators 21, 22, 23 and / or To supply power to the drive motors M and control them, the control board 31 sends control commands. (For example, current command, torque command, speed command, angle command, position command) Or, along with a combination thereof, various control and configuration parameters (which can be fed back) Good. The processing may be performed on the control board(s) of the control housing. In some cases, control algorithms are used between the console and the control housing. The processing may be distributed. In one example, the position control and velocity control calculations are performed on the console. In fact, current control is performed using a field-programmable gate array located in the control house. This can be done. Naturally, a separate control housing is not required, and / or processing The intention is that this can be performed in any number of different locations.
[0032] In some versions, console 33 is connected to actuators 21, 22, 23 and It also includes a single console that supplies power to the drive motors M and controls them. Good. In some versions, console 33 is connected to actuators 21, 22, and 23. A single console that supplies power to and controls them, and powers the drive motor M. It may also include a separate console that supplies and controls power to the drive motor M. One such console that supplies and controls it, by quoting this The following is part of the specification: "Control Console to which Powered Surgical Handpi eces are Connected, the Console Configured to Simultaneously Energize more than A patent application filed on September 30, 2004, titled "one and less than all of the Handpieces" This may be something like what is described in U.S. Patent No. 7,422,582. Flexible circuits FC, also known as flex circuits, are used by actuators 21, 22, and 23. And / or other components may be interconnected with the appliance controller 28. For example, a flexible cable The sible circuit FC may be installed between actuators 21, 22, and 23 and the control board 31. i. Additionally or alternatively, other forms of wired or wireless connections may exist between the components. .
[0033] Referring again briefly to Figure 1, the robot system 10 is a navigation system 32 This further includes. One example of the navigation system 32 is provided herein by reference. It shall form part of "Navigation System Including Optical and Non-Optical Sensing U.S. Patent No. 9,008,757, filed on September 24, 2013, is titled "ors". It is described that the navigation system 32 tracks the movement of various objects. Examples of the objects included are, for example, instruments 14, tools 20, and anatomical structures, such as the femur F and The tibia, or other bone structures, such as one or more vertebrae, pelvis, scapula, humerus, or so The following combinations can be cited. The navigation system 32 tracks these targets, ( Navigation) Collects state information for each object relative to the localizer coordinate system LCLZ. The condition of the subject as used in the specification includes, but is not limited to, the location and / or of the tracked subject. Data defining orientation (e.g., its coordinate system), or equivalents / derivatives of position and / or orientation. Includes objects. For example, the state may be the orientation of the object, and / or linear velocity data, angle Speed data and other similar information may be included.
[0034] The navigation system 32 includes the navigation controller 36 and / or other typography. The cart assembly 34 may include a control unit for the navigation user. The interface UI communicates operationally with the navigation controller 36. The navigation user interface UI includes one or more displays 38. The control system 32 uses one or more displays 38 to show the relative position of the tracked object. A graphical representation of the state can be displayed to the user. Navigation user The interface UI is used to input information into the navigation controller 36, or for other purposes. One or more methods for selecting / controlling specific aspects of the navigation controller 36 Further includes input devices. These input devices include interactive touchscreen displays. This includes (i). However, input devices include push buttons, pointers, foot switches, and keys. Any of the following: keyboard, mouse, microphone (voice-activated), gesture control device, etc. It may include one or more of the following. In some examples, the user is a button located on the pointer. Use to navigate through the icons and menus of the user interface UI. Make a selection and configure the surgical robot system 10 and / or proceed with the workflow. That's good too.
[0035] The navigation system 32 is coupled to the navigation controller 36 This also includes the Liza 44. In one example, the Localizer 44 is an optical localizer, and the camera Includes a rear unit 46. The camera unit 46 houses one or more optical sensors 50. It has a side casing 48. The localizer 44 has its own localizer controller. It may also have 49, and may further have a video camera VC. In a particular configuration The localizer may be coupled to a handheld robotic device.
[0036] The navigation system 32 includes one or more trackers. In some examples, the tracker The trackers include the pointer tracker PT, the tool tracker 52, the first patient tracker 54, and Includes 2 patient trackers 56. In the example illustrated in Figure 1, the tool tracker 52 is instrument 14 The first patient tracker 54 is firmly attached to the femur F of patient 12. The second patient tracker, tracker 56, is firmly attached to the tibia T of patient 12. In this example, patient trackers 54 and 56 are firmly attached to the bone. 52, 54, 56 and the pointer tracker are their respective targets (e.g., bone, toe). The system (L) and the navigation system 32 are registered manually, automatically, or in combination thereof. It is rationed. In some examples, the pointer tracker PT is firmly fixed to pointer 57. The anatomical structure is pasted and placed in one or more coordinate systems, including the localizer coordinate system LCLZ. Used for distorting and / or other calibration and / or registration It is used for the control function. In one example, pointer 57 is used for the patient tracker. Register tracks 54 and 56 to the bones to which they are attached. The tool tracker 52 (and optionally 53) is connected to the tool support 18, the tool 20, and the hand The holding portion 16 or a combination thereof may be registered. In some examples, Using the pointer tracker PT, track the TCP of device 14 relative to the tracker coordinate system. It may be registered to 52. In this way, the localizer 44 moves from position to position If moved, the registration of the instrument 14 is positioned relative to the tool tracker 52. It can be done. However, other means of registration for trackers 52, 54, and 56 are It is intended and may be implemented together with or separately from the pointer tracker PT. Other tracker positions This is also being planned.
[0037] Throughout this specification, various methods such as "from bone to tracker" or "from instrument TCP to tracker" are described. A transformation, that is, a transformation not to the LCTZ coordinate system, but to the "tracker coordinate system". This section describes the localizer coordinate system, where all tracked objects are based on LCTZ. Since it is measured in this way, it can be used as an intermediate coordinate system during registration and bone preparation. During registration, various localizer reference postures are ultimately combined mathematically. The registration result is that when the camera (i.e., LCTZ) moves, the registration The sequence is stored "relative to the tracker" so that it remains valid.
[0038] The tool tracker 52 may be attached to any suitable component of the fixture 14, and several In that version, the handle part 16, tool support 18, and tool 20 are attached directly, or to each other. These can be attached in combination. Trackers 52, 54, 56, and PT are fasteners, clamps. Each component may be fixed in any preferred way, such as by a tracker. 52, 54, 56, PT are the relationship of their respective trackers to the relevant object (measurement) ) may be rigidly fixed or flexibly connected, as long as there is a suitable (supplementary) method for determining ). Often (optical fiber), or no physical connection at all (ultrasound). Tracker Any one or more of 52, 54, 56, and PT may include the active marker 58. The active marker 58 may include a light-emitting diode (LED). Alternatively, The lacca units 52, 54, 56, and PT reflect the light emitted from the camera unit 46. It may have passive markers such as those for projectiles. It may also have printed markers or as specified herein. Other suitable markers not specifically mentioned may be used.
[0039] Various coordinate systems may be used for the purpose of tracking the object. For example, the coordinate system may be locala Iza coordinate system LCLZ, tool support coordinate system TCS, base coordinate system BCS, tracker 52, Coordinate systems associated with 54, 56, and PT, and one or more coordinates associated with anatomical structures. System, preoperative and / or intraoperative images (e.g., CT images, MRI images, etc.) and / or anatomical structure Related to the model of the structure (e.g., 2D or 3D model) (e.g., implant coordinate system) It may include one or more coordinate systems, and a TCP (Tool Center Point) coordinate system, etc. Some examples So, the robotic system 10 creates a 2D and / or 3D model of the target bone, It does not rely on preoperative or intraoperative imaging. Rather, the robotic system uses a pointer tracker (PT). It is used to register target anatomical structures and capture various anatomical landmarks. The data is then imported, and subsequently, the control system 60 adjusts the nominal bone to match the acquired data. It may be used in an imaging-free system that processes the model for morphing. Other examples Then, the patient's target area is imaged using preoperative and intraoperative imaging, followed by 2D and / or 3D imaging. The image is converted into a 3D model of the target bone. The surgical robotic system 10 targets the surgical area. When creating a 3D model, you can use a combination of procedures with and without image acquisition. It is also intended that one exemplary system is described herein by reference. It is described in U.S. Patent No. 8,617,174, which constitutes a part of the patent. The coordinates in a given location are determined through, for example, registration, calibration, geometric relationships, measurement, etc. Transformations may be used to change between coordinate systems when establishing relationships between them.
[0040] As shown in Figure 2, in some examples, TCP is defined at the distal end of tool 20. It is a predetermined reference point or origin in the CP coordinate system. The geometric shape of tool 20 is in the TCP coordinate system. It may be defined with respect to and / or with respect to the tool support coordinate system TCS. Tool 20 is Defined with respect to the TCP coordinate system and / or the tool support coordinate system TCS, and the instrument 14 control board 31, navigation system 32, instrument controller inside control housing 29 One or more geometric features stored in the non-volatile memory of roller 28, or a combination thereof. For example, circumference, radius, diameter, width, length, height, volume, area, surface / plane, (any It may include a range of motion envelope (along one or more axes). The tool center point (TCP) is One example is a predetermined reference point and corresponding coordinate system defined in tool 20. TCP This is a known or computable (i.e., not necessarily static) representation of a coordinate system. It has momentum. The TCP coordinate system has an origin and a set of axes that define the orientation of TCP (for example, the x-axis). It includes the y-axis and z-axis. By tracking TCP (or knowing the TCP status), System 10 is based on the TCP attitude and the known positional relationship between TCP and the characteristics of device 14. The position and orientation of the instrument 14 may be calculated. In some examples, the tool 20 has a cutting surface ( For example, in the case of a saw blade, it has a characteristic that is described for convenience and ease of illustration, Tool 20 is not intended to be limited to any particular form. In other examples, Tool 20 has axes. Using points, other primitives, meshes, other 3D models, etc. Tool 20 can be virtually represented. The origin of the TCP coordinate system is the TCP coordinate system The spherical bar 25 of tool 20 is traced relative to the origin on the distal tip of tool 20. It may be located at the center, the tip of the drill bit, or the distal end of the saw blade 27. Alternatively, TCP This may be traced using multiple traced points. TCP, depending on the configuration of tool 20 It may be defined in various ways. The device is an articulated / motor encoder, or any other non-engineered device. A coda position detection method may be employed, and therefore the control system 60 has a handheld portion 16 The attitude and / or position of TCP relative to the BCS may be determined. The tool support 18 is Articular measurements may be used to determine the posture of the TCP, and / or the posture of the TCP A technique for directly measuring can be employed. The control of tool 20 is not limited to the center point. For example, use any suitable primitive, mesh, etc. to represent tool 20. It is possible that TCP can be defined as a point, as opposed to a coordinate system. This should be understood. After determining the orientation of the saw blade or other tool using the TCP coordinate system. Furthermore, any necessary reference point or geometric configuration of the tool can be calculated.
[0041] The TCP coordinate system, the tool support coordinate system TCS, and the coordinate system of the tool tracker 52 are: It can be defined in various ways depending on the configuration of L20. For example, pointer 57 is The tool tracker, along with the calibration divot CD in the tool support 18 and / or tool 20. The orientation of the tool support coordinate system TCS is registered (calibrated) for 52 coordinate systems. , determine the orientation of the TCP coordinate system relative to the coordinate system of the tool tracker 52, and / or tool It may be used to determine the orientation of the TCP coordinate system relative to the support coordinate system TCS. Using this technique, one or more additional trackers / markers are attached directly to tool 20 and secured. By determining several bars, the attitude in the TCP coordinate system can be directly measured. In John, the tracker / marker can also be attached to the handgrip portion 16, the tool support 18, or both. It may be attached and fixed. If the handle part includes the tracker, the localizer coordinate system L The orientation of the handheld portion relative to the CTZ may be measured directly. In other alternative configurations, intermediate You may define TCP for the tool tracker using the tool support coordinate system TCS. .
[0042] The tool support 18 is connected to the handgrip portion 16 via actuators 21, 22, and 23. Because it can move with multiple degrees of freedom, the device 14 is an encoder, (analog or digital output A Hall effect sensor (with force) and / or any other position detection method is employed, Measure the orientation of the TCP coordinate system and / or the tool support coordinate system TCS relative to the coordinate system BCS. This may also be the case. In one exemplary configuration, the device 14 is an actuator, as will be described later. Using measurements from sensors that measure the operation of 21, 22, and 23, the base coordinate system BCS The orientation of the TCP coordinate system and / or the tool support coordinate system TCS relative to the object may be determined.
[0043] Localizer 44 monitors trackers 52, 54, 56, and PT (for example, its coordinate system). After tapping, the status of trackers 52, 54, 56, and PT is determined, and that status is Each of these corresponds to the state of the object to which it is attached. The localizer 44 is Trackers 52, 54, 56, PT, and related subjects (tools, patients, tool supports and Known techniques may be used to determine the state of the handle, etc. Localizer 4 4 provides the status of trackers 52, 54, 56, and PT to the navigation controller 36. In some examples, the navigation controller 36 controls trackers 52, 54, and 5 6. Determine the status of the PT and communicate this to the device controller 28.
[0044] The navigation controller 36 is controlled by one or more computers or any other suitable The configuration may include a controller. The navigation controller 36 is a central processing unit. It has a (CPU) and / or other processors, memory and storage devices (not shown). The processor is any type of processor, microprocessor or multiprocessor system It is possible. The navigation controller 36 has software loaded on it. The software, for example, uses the signal received from localizer 44 to track the target. Converts into data representing the position and / or orientation. The navigation controller 36 is attached Additively or alternatively, one or more microcontrollers, field-programmable gates Arrays, systems on chips, discrete circuits, and / or functions described herein. Other suitable hardware, software, or firmware capable of performing this task It may include the following. The term "processor" is not limited to a single processor in any embodiment. It is not intended to be that way.
[0045] One example of the navigation system 32 is shown to determine the state of the target, but the navigation The tracking system 32 tracks the instrument 14, the tool 20 and / or the patient 12, and other optional It may have a preferred configuration. In another example, the navigation system 32 and / or The localizer 44 is ultrasonic-based. For example, the navigation system 32 is The system may include an ultrasound imaging device coupled to the navigation controller 36. The imaging device is used to capture the aforementioned objects, for example, instrument 14, tool 20 and / or patient 12. The system captures images of any object and, based on the ultrasound images, provides information to the navigation controller 36. Generates a state signal. The ultrasound image may be 2D, 3D, or a combination of both. Navigation The state controller 36 uses images to determine the state of the target in near real time. The ultrasonic imaging device may have any suitable configuration, as shown in Figure 1. The camera unit 46 may be different from the one shown.
[0046] In another example, the navigation system 32 and / or localizer 44 uses radio frequencies It is RF-based. For example, the navigation system 32 is a navigation controller The roller 36 may be equipped with an RF transceiver. Apparatus 14, tool 20 and An RF emitter or transponder may be attached to the patient 12. The transponder or tar may be energized passively or actively. The RF transceiver is R The RF tracker transmits an RF tracking signal and, based on the RF signal received from the RF emitter, the navigation control A status signal is generated for the troller 36. The navigation controller 36 receives the R The F signal may be analyzed and its relative state associated with it. The RF signal is any suitable It can be a frequency. RF transceivers effectively use RF signals to track targets. For this purpose, it may be positioned in any suitable location. Furthermore, the RF emitter or transporter The nda can be any, which may be very different from the trackers 52, 54, 56, and PT shown in Figure 1. It may have a suitable structural configuration.
[0047] In yet another example, the navigation system 32 and / or localizer 44 are electromagnetic It is the base. For example, the navigation system 32 is the navigation controller 3 6 may include an EM transceiver coupled to 6. Instrument 14, tool 20 and / or patient 12. Take any suitable EM component such as a magnetic tracker, electromagnetic tracker, or inductive tracker. It may be attached. The tracker may be energized passively or actively. EM transceiver It generates an EM field and, based on the EM signal received from the tracker, the navigation control Generates a status signal to the troller 36. The navigation controller 36 receives the E The M signal can be analyzed, and its relative state can be associated with it. In this case as well, An example of the navigation system 32 is the configuration of the navigation system 32 shown in Figure 1. They may have different structural configurations.
[0048] Navigation system 32 may also include any other preferred system not specifically described herein. It may have components or structures. Furthermore, the illustrated navigation system 32 Any of the techniques, methods, and / or components described above are described herein. Even if you implement or provide any other example of the navigation system 32 Good. For example, the navigation system 32 may use inertial tracking only, or any combination of tracking techniques. Combined, additional or alternative methods may be used, such as fiber optic-based tracking and machine vision. It may include tracking, etc.
[0049] Referring to Figure 7, the robot system 10, among other components, is particularly the instrument The system includes a control system 60 comprising a controller 28 and a navigation controller 36. The control system 60 includes one or more software programs and software modules. Furthermore, the software module assists in controlling the robot system 10. To process the data, the device controller 28, navigation controller 36 or so It may be part of one or more programs that operate on these combinations. A program and / or module is connected to one or more processors 70 of the controller 28. Therefore, the device controller 28, the navigation controller 36 or These combinations include computer-readable instructions stored in memory 64. This may be any suitable memory configuration, such as non-temporary memory, RAM, or non-volatile memory. Furthermore, it can be implemented locally or from a remote database. A software module that communicates with the user and / or one or more programs They may form part of the device controller 28, navigation controller 36 or so These combinations may include instructions stored in memory 64. The user is software To communicate with the module, the navigation user interface UI or other users You may interact with any of the input devices in the interface UI. The interface software is used with the fixture controller 28 and / or navigation controller It may run on a separate device from the Torola 36. Device 14 is power connection / data connection Communication with the appliance controller 28 may be made via the BU in Figure 7. Power connection / data connection is BU As shown as S / COMM connection 37, generated by the navigation system 32 The device 14 was controlled based on position and orientation data transmitted to the device controller 28. Paths for inputs and outputs used for this purpose may be provided.
[0050] The control system 60 is an input device suitable for performing the functions and methods described herein. The control system may also be provided with any preferred configuration of the chair, output device and processing device. Stem 60 includes the fixture controller 28, the navigation controller 36, or a combination thereof. It may have a combination, and / or only one of these controllers, or It may have an additional controller. The controller is connected to the BUS / COMM connector shown in Figure 7. Wireless communication via a wired bus or communication network, as shown in one example in Part 37. Communication may be conducted via or by other means. The control system 60 is also referred to as the controller. This is also fine. The control system 60 includes one or more microcontrollers, field programmers, etc. Bullgate arrays, systems on chips, discrete circuits, sensors, displays, The user interface, indicators, and / or functions described herein Includes other suitable hardware, software, or firmware that can do so. That's good too.
[0051] Equipment In one exemplary configuration, Figures 8 and 9 best illustrate the device 14. The device 14 is The user holds the handle portion 16, and the tool 20 moves to the handle portion 16 to support it. A movably coupled tool support 18, and a tool support 18 that is slightly smaller than the handgrip portion 16. At the very least, the tool support 18 and the handgrip 16 are operatedly connected to each other so that they can move with 3 degrees of freedom. Actuator assembly 400 having a plurality of consecutive actuators 21, 22, 23 It also has a passive coupling mechanism 26 that operatively interconnects the tool support 18 and the handle portion 16. It comprises a constraint assembly 24.
[0052] The handle portion 16 allows the user to operate, guide, and / or grasp the device 14. It is equipped with a grip 72 for the user to hold. The hand-held portion 16 is designed to allow the user's hand to grip it. The grip that holds the device prevents the user's hand from slipping when it is wet and / or bloody. It has ergonomic features such as a textured coating or mixed material coating to prevent damage. It may be configured in such a way. The handle portion 16 is designed to accommodate users with different hand sizes. It may include a tapered contour that conforms to the contours of the user's hand and / or fingers. Part 16 is such that the grip 72 is attached by one or more fasteners, adhesives, welds, etc. It also includes a base 74. In the illustrated version, the base 74 is generally hollow and cylindrical in shape. It includes a sleeve 76 having a shape. From the sleeve 76, joint supports 77, 78, and 79 extend. Actuators 21, 22, and 23 are located in joint supports 77, 78, and 79. Furthermore, it may be movably connected to the base 74 via a joint described later.
[0053] The tool support 18 includes a tool support body 80, which has one or more mounting locations 82 The tool tracker 5 is connected to the tool support 18 via one or more tracker mounting fixtures. 2 can be fixed or detachably mounted. In one example, tool tracker 5 2 is integrated with the tool support 18. In another example, the tool tracker 52 is one It can be removably mounted to the above mounting location 82. Tool 20 is the version shown in the illustration. It is detachably coupled to the tool support 18. In particular, the tool support 18 is quoted Walen et al.'s U.S. Patent No. 9,820,75, which by this means shall form part of this specification. As described in item 3, tool connectors such as head 84 to which tool 20 is attached. The head 84 is configured to utilize a sagittal saw blade, similar to a vibrating saw blade. It may also be the drive motor M that drives the operation of tool 20, (for example, several versions The tool 20 is positioned on the tool support 80 to drive the vibration of the saw blade. Walen et al.'s U.S. Patent No. 9,820, which by reference constitutes part of this specification. , Attach to head 84 and detach from head 84 by the method disclosed in Patent No. 753 It may be released. As best shown in Figure 9, the tool support 18 is further described below. Actuators 21, 22, and 23 are movably connected to the tool support 18 via joints. It also includes several actuator mounting fixtures 86, 88, and 90. Actuator mounting fixture 8 6, 88, and 90 indicate that the tool support 18 moves with respect to the handgrip portion 16 in at least three degrees of freedom. Bracket suitable for mounting actuators 21, 22, and 23 so that it can be used It may include things like swabs.
[0054] Actuators 21, 22, and 23 are supported by the base 74 and tool support in the illustrated version. Includes an electric linear actuator extending between the body 80 and the actuator. When activated, the actuator The effective length of actuators 21, 22, and 23 changes, affecting the corresponding axes of actuators 21, 22, and 23. The distance between the tool support 80 and the base 74 is changed accordingly. Therefore, the control system The system 60 provides each actuator 21, 22, and 23 respectively to the control system 60. In response to the individual inputs received, their effective lengths are changed, and the handheld portion 16 is slightly At the very least, the actuate will move the tool support 18 to the target position using 3 degrees of freedom. Commands are given to operate in conjunction with 21, 22, and 23. In the illustrated version, 3 There are three actuators 21, 22, and 23, the first actuator 21, the second The second actuator 22 and the third actuator 23, or the front actuator 21, They may also be called 22 and rear actuator 23. First actuator 21, second actuator The actuator 22 and the third actuator 23 are connected to the first active axis AA1 and the second active axis The effective length is adjustable along AA2 and the third active axis AA3 (see Figure 9). The actuator 21, the second actuator 22, and the third actuator 23 are as described above. As described above, the pitch orientation of the tool support 18 relative to the handgrip portion 16, the roll orientation and The effective length can be independently adjusted to adjust one or more of the z-axis translation positions. In some examples, more actuators may be provided. How many actuators are there? In that example, rotary actuators may be included. Actuators 21, 22, and 23 are The connecting mechanism may include one or more links of any preferred size or shape. The cutters 21, 22, and 23 are tools for the handheld part 16 with at least 3 degrees of freedom. The support 18 may have any suitable configuration to enable its movement. For example, In this version, there is one front actuator and two rear actuators, or A There may be some other arrangement of the cutueter.
[0055] In this version, actuators 21, 22, and 23 are connected via multiple active joints. The joint is connected to the actuator mounting fixture 86. A set of actuators 21, 22, and 23 are connected to the tool support 80 at 88 and 90. It includes the first active joint 92. In one version, as shown in Figure 9, the first active joint Section 92 includes an active universal joint. The universal joint comprises a first pivot pin 94 and a joint block. Including 96. The first pivot pin 94 is connected through the through bore 98 of the joint block 96. The hand block 96 is pivotably connected to the actuator mounting fixtures 86, 88, and 90. The first pivot pin 94 is fixed to the actuator mounting fixtures 86, 88, and 90. The universal joint may also include a second pivot pin 104. Joint block 9 6 has a cross bore 102 for receiving the second pivot pin 104. The top pin 104 has a through bore 103 that receives the first pivot pin 94, and the first pivot The pivot pin 94, the joint block 96, and the second pivot pin 104 form a cross shape of the universal joint. The first pivot pin 94 and the second pivot pin 104 of each universal joint are The intersecting pivot axis PA is defined. The second pivot pin 104 is connected to the actuator 21 The pivot yokes 22 and 23 of the pivot yoke 106 are pivotably connected to the joint block 96. As a result, actuators 21, 22, and 23 move with 2 degrees of freedom relative to the tool support 80. Other types of functional joints include active spherical joints that include a ball with a slot for receiving a pin. Articulated joints are also intended.
[0056] Referring to Figure 9, the active joint has two actuators 21 and 22 at the front of the hand part It also includes a pair of second active joints 108 that connect to the 16 bases 74. In the illustrated version... The second active joint 108 is supported by joint supports 77, 78. Each of the 108 rotates around the swivel axis SA relative to the base 74 of the handle portion 16. Includes a swivel yoke 110 positioned as follows. Each swivel yoke 110 is a swivel Head 112 and one of the joint supports 77, 78 extending from the swivel head 112 It has a post 114 that pivotably engages with the base 74. The nut 115 is One end of the strut 114 is screw-type connected, and the base 74 captures the post 114, Each swivel yoke 110 rotates freely within its respective joint supports 77, 78. To make it possible.
[0057] Each of the second active joints 108 is pivotable to one of the swivel yokes 110 It is equipped with a coupled carrier 116. The carrier 116 is further described later, with two front parts. has a threaded through bore 117 that receives the feed screws 150 of the two actuators 21, 22 Each of the carriers 116 seats in a pocket within the swivel yoke 110 such that the carrier 116 is pivotable about a pivot axis PA (see FIG. 9) with respect to the swivel yoke 110 and also includes opposing trunnions 118. In some versions, for each of the second active joints 108, the swivel axis SA intersects the pivot axis PA and defines a single vertex that is the center when the actuators 21, 22 move in two degrees of freedom
[0058] A cover is fastened to the swivel head 112 and defines one of the pockets, while the swivel head 112 defines the other pocket. During assembly, the carrier is first positioned with one of the trunnions in a pocket within the swivel head 112, and then the carrier is captured between the cover and the swivel head 112 and the cover is fastened over the other trunnion such that the carrier can pivot with respect to the swivel yoke 110 via the trunnions and pockets The configuration of the swivel yoke 110 and associated carriers, i.e., the carriers can rotate about the swivel axis SA and pivot about the pivot axis PA enables the second active joint 108 to provide two degrees of freedom of movement for the two front actuators 21, 22 with respect to the base 74. Other joint arrangements between the two front actuators 21, 22 and the base 74 are possible
[0059] The active joint also includes a third active joint 124 that couples the rear (third) actuator 23 to the base 74 of the handle portion 16. In the illustrated version, the third active joint 124 It is supported by the joint support 79. The third active joint 124 is supported by the joint support of the base 74. It is equipped with a pivot housing 126 fixed to the body 79.
[0060] The third active joint 124 is pivotable to the pivot housing 126 via a trunnion. It has a coupled carrier. A fastener with a pocket engages with the trunnion. It is attached to both sides of the pivot housing 126 via a through bore. The fastener is a carrier A can pivot via a trunnion located inside the pocket after assembly. It is positioned as follows: The carrier is controlled by the feed screw of the rear actuator 23, as will be described later. It has a through bore with internal threads to receive 150. Pivot housing 126 and associated key The carrier configuration, that is, the related carriers pivot only around the pivot axis PA. By being able to (for example, not rotate), the third active joint 124 is connected to the base 74 This allows the rear actuator 23 to move with only one degree of freedom relative to the rear actuator. Other joint configurations are also possible between Ta23 and Base74.
[0061] Each of the actuators 21, 22, and 23 is provided with a housing. The housing is It comprises a canister and a cap screw-type connected to the canister. First active joint 9 The pivot yoke 106, which forms part of 2, is the housing and the pivot yoke 106 The active joint 92 can move together with the tool support 18, It is fixed to the wedge. The cap captures the annular shoulder of the pivot yoke 106, Secure the pivot yoke 106 to the canister.
[0062] In some versions, the pivot yoke 106 and canister are each pivot yoke To align the Ku 106 to each of its canisters in a predetermined relative orientation. It comprises one or more alignment mechanisms, such as a mating portion and a key / keyway. This may include the following. During assembly, the pivot yoke 106 first, its predetermined relative It may be fixed to the canister in a specific orientation, and then the cap is attached to the canister (for example, The pivot yoke 106 is screwed in (through the mating male and female threads) The canister may capture the ball in a relative orientation. This predetermined relationship is flex rotation. When wiring and / or aligning the circuit FC, the pivot yoke 106 rotates relative to the canister. It may be useful to prevent grittiness and / or for other purposes.
[0063] Actuators 21, 22, and 23 each have motors located within their respective housings. To prepare. The motor consists of a casing located inside the housing and a motor located inside the casing. It includes a motor winding assembly. The motor winding assembly also includes the fasteners described above, etc. A predetermined relative direction to the canister via a screw or other alignment mechanism, etc. The position may be adjusted as needed. Each motor also has a rotor fixed to the lead screw 150. The threaded rod 150 rotates within the housing by one or more bushings and / or bearings. It is supported to rotate. The rotor and associated feed screw 150 are selectively controlled by the motor. It is configured to rotate relative to the housing when power is applied. The lead screw 150 is a battery They have a fine pitch and lead angle to prevent drive (i.e., they are It is a luffing type). As a result, the load on the tool 20 does not easily backdrive the motor. In some examples, the feed screw 150 has 8 to 36 class 3 threads that provide a lead of 0.02 inches per revolution to 0.03 inches per revolution. inches per revolution. Other thread types / sizes may be employed.
[0064] Each of the actuators 21, 22, 23 may be controlled by a separate motor controller. The motor controller may be separately wired to each of the actuators 21, 22, 23 to individually direct each actuator 21, 22, 23 to a given target position. In some examples, the motor controller is a proportional integral derivative (PID) controller. In some examples, the motor controller may include a cascade control loop for position, velocity, and torque (current). Additionally and / or alternatively, the motor controller may include only a torque (current) control loop. In another example, a position control loop may feed directly into the torque (current) control loop. Each of these control stages may be implemented as a PID controller, a state space controller, and / or alternative or additional control techniques (e.g., velocity feedforward, torque feedforward, etc.). In some cases, the torque (current) control loop is implemented using field orientation control and space vector modulation. The stages of the control loop can be distributed among various components of the system. In some examples, the position loop and the velocity loop are implemented in the appliance controller, the torque control loop is implemented directly on the control board 31 as part of the control housing 29 on the appliance 14, and the current control loop passes through the console 33. Since no data feedback is required, the connection to console 33 is not made via Reduces the impact of data communication latency from device 14. Position control loop and speed control loop The loop is not very susceptible to communication latency, so it will be implemented on console 33. It is possible. In some examples, the motor controller is integrated with the equipment controller 28. It can be, or it can form part of the device controller 28. To that end, in this specification, the motor controller is part of the appliance controller 28. It shall be described as such.
[0065] The power supply provides the motor with, for example, a 32VDC power signal via console 33. The 32VDC signal is applied to the motor via the fixture controller 28. The Ra28 selectively provides power signals to each motor, thereby selectively operating the motors. The tool 20 is positioned by the selective operation of the motor. The motor is a brushless DC motor. Any suitable type of motor, such as a motor motor, permanent magnet synchronous motor, or other forms of DC motor. It may also be the case that the power supply also supplies power to the appliance controller 28, and the appliance controller The internal components of the RA28 are energized. In some examples, the actuator motor is 3-phase A brushless motor may be used. The actuator motor may be a DC motor. The actuator motor may be a permanent magnet synchronous motor. Each of them has a sinusoidal back electromotive force configured to achieve mechanical cogging limiting. It can be configured in such a way that torque ripple is limited, allowing for smooth and specific motion. However, other motor types are also being considered. The power supply is, for example, 12VDC, 24 It should be understood that other types of power signals, such as VDC and 40VDC, can also be provided. The device uses an electronic switch, such as a MOSFET or GaN FET, to control three-phase motors. A voltage signal to the data source is transmitted at a high frequency, for example, typically at least 16 kHz and up to 256 kHz. Alternatively, it may be pulse-width modulated by switching it on and off at a higher rate.
[0066] In one possible embodiment, one or more sensors S (see also Figure 7) control the device controller A signal is sent back to the RA28, thereby causing the device controller 28 to respond to the associated action Determine the current position and / or angle (i.e., measurement position) of tuners 21, 22, and 23. These signals can be determined as a function of the rotational position of the associated rotor. It may change. In one embodiment, a sensor (which may be multiple) S is a given turn The rotational position of the rotor inside may be resolved with high resolution. These sensors S are from the rotor , or the magnetic field detected from other magnets (e.g., a bipolar magnet) located on the lead screw 150 This may also be a Hall effect sensor that outputs analog and / or digital signals based on the following: A low voltage signal, such as 5VDC, is used to energize the Hall effect sensor. The sensor may be supplied from the motor controller associated with the motor. In this example, two Hall effect sensors are placed inside the housing and 9 degrees apart around the rotor. They are arranged with a 0-degree interval between them, and the equipment controller 28 determines the position and the rotor's increment It detects joint positions so that the steps can be counted. In some versions Hall effect sensors output a digital signal representing the incremental count. Various types of motors Data and sensor placement is possible. In some examples, the motor is a brushless DC servo motor. These are two rotors, spaced 90 degrees, 120 degrees, or any other suitable interval from each other around the rotor. More than one internal Hall effect sensor may be placed. Sensor S also detects the rotational position of the rotor. Absolute value encoding may be used for detection and counting rotor turns. It may include a D or incremental encoder. One or more sensors may be of other types. An encoder may be used. The sensor is adjusted by the housing, nuts, screws, etc. A suitable actuator and its peripheral components for determining the position of the actuator. It may be placed in a position of preference. In yet another configuration, sensorless motor control is used. This is also good. In such embodiments, the position of each rotor is determined by the motor's back electromotive force and / or industrial It may also be determined by measuring the tactance. One preferred example is to be cited. This can be found in U.S. Patent No. 7,422,582, which forms part of this specification. ru.
[0067] In some examples, the sensor and / or encoder are used in conjunction with the kinematic model of the instrument 14. When used, for joint position control and / or tool support for the handheld portion 16 Positional feedback may be measured to determine the position of the body 18. Some examples So, the sensor and / or encoder depend on multi-turn measurements, and multi-turn measurement The value is accumulated with each rotation, determining the absolute position of actuators 21, 22, and 23 along their axes. Used to determine the known pitch (i.e., rotations per inch of the lead screw) and They are used together. Additionally or alternatively, sensors and / or encoders are used to measure motion The "electrical angle of the rotor" used for electronic rectification of the rotor may be determined. For example, the sensor and / Alternatively, an encoder can be used to determine the rotor position and achieve optimal (efficient) torque generation. An appropriate power signal may be applied for this purpose. In this example, the sensor and / or encoder This involves single-turn or sub-turn measurements (within a single electrical rotation) across each electrical rotation. You may use this. The number of electrical rotations is the number of mechanical rotations multiplied by the number of magnetic poles of the motor (for example, the magnetic poles). It is equal to the number obtained by dividing by the number of pole pairs. However, the implementation of a sensorless method is also being considered. It can be done.
[0068] In some examples, the output signal from the Hall effect sensor is transmitted to the fixture controller 28. The device controller 28 monitors the changes in the level of the received signal. Based on these signals, the device controller 28 determines the joint position. The position may be considered as the degree of rotation of the rotor from the initial position, i.e., the home position. The joint can rotate 360 degrees multiple times. Therefore, the joint position can exceed 360 degrees. There is a possibility that a scalar value called a count will be used to represent the joint position from the home position. The rotor rotates in both clockwise and counterclockwise directions. Multiple signals (analog or digital) Whenever the digital signal level undergoes a specified state change, the device controller 28, The count is incremented or decremented to indicate the change in joint position. The rotor is completely Each time it rotates 360 degrees, the device controller 28 adjusts the count value by a fixed number of counts. Increment or decrement. In some examples, the count is 360 degrees of the rotor. It is incremented or decremented by 100 to 3000 for each degree of rotation. In this example, an incremental encoder is used to monitor joint position. In some cases, there are 1024 positions (counts) for every 360 degrees of rotation of the rotor. Inside the device controller 28 are counters associated with each actuator 21, 22, and 23. There is a counter equal to the cumulative number of incremented or decremented counts. Stores a value. The count value can be positive, zero, or negative. In some versions... The count value defines the gradually increasing movement of the rotor. Therefore, actuator 21, Rotors 22 and 23 first return to a known position called their home position (see below). (Further explanation) You may move it to the next position, and then use the count value to determine the current position of the rotor. The position may be specified.
[0069] As described above, the carrier has a threaded through bore that receives the lead screw 150 in a screw-type manner. There, and as a result, each of the feed screws 150 is connected to the corresponding one of the carriers. It rotates and adjusts the effective length of one of the multiple actuators 21, 22, and 23 corresponding to it. This adjusts the count measured by the device controller 28, thereby changing the count measured by the device controller 28. Yes, it is possible. Each of the housing and the corresponding carrier has a lead screw 150 that is attached to the carrier. The relative motion is constrained to at least one degree of freedom so that it can rotate relative to it. More specifically, the lead screw 150 rotates relative to the carrier for the following reasons. This is possible. In other words, the pivot yoke 106 is connected to the active axes AA1, AA2 , it is not possible to rotate around AA3 (i.e., the pivot yoke 106 is the first ability (Due to the configuration of the movable joint 92, such rotational movement is restricted), and the carrier is connected to the associated active axis AA1, AA2, and AA3 cannot rotate around the second The configuration of the active joint 108 and the third active joint 124 restricts such rotational movement. This is because...
[0070] The lead screw 150 has a threaded fastener or a fastener such as a shoulder formed on the lead screw 150. 152 is fixed. The fastener 152 is at the end of the movement of each feed screw 150 on the carrier 1 It is sized to come into contact with 16.
[0071] As described above, actuators 21, 22, and 23 are tools for the handheld portion 16. The effective length can be actively adjusted to allow movement of the support 18. One example shows "EL" displayed on the third actuator 23. Here, the effective length EL It is measured from the pivot axis PA to the center of the associated first active joint 92. When the regulators 21, 22, and 23 are adjusted, the feed screw 150 moves within its associated carrier Alternatively, change the extent to which it is screwed in or out from the carrier, thereby affecting the carrier By changing the distance from the center of the rear to the center of the associated first active joint 92, The effective length EL changes. Actuators 21, 22, and 23 are controlled by the minimum and maximum effective length EL. The value is adjustable. The effective length EL of each actuator 21, 22, 23 is handheld. The active axis AA changes to cause various movements of the tool support 18 relative to part 16. 1. To indicate the distance between the tool support 18 and the handle portion 16 along AA2 and AA3. It can be expressed / measured in any suitable way.
[0072] The constraint assembly 24 works in cooperation with actuators 21, 22, and 23, The motion provided by actuators 21, 22, and 23 is constrained. The first part provides 3 degrees of freedom of motion, while the constraint assembly 24 restricts the 3 degrees of freedom of motion. In the version shown, the constraint assembly 24, together with the passive coupling mechanism 26, is a passive coupling machine The structure 26 includes a passive connecting joint 156 that connects to the tool support 18.
[0073] In one version, as shown in Figure 9, the passive coupling joint 156 is a passive universal joint. The universal joint includes a first pivot pin 158 and a joint block 160. The pivot pin 158 is through the through bore 164 of the joint block 160, and into the joint block 1 60 is pivotably connected to the passive connecting fixture 162 of the tool support 80. Set screw 166 However, the first pivot pin 158 may be fixed to the passive coupling fixture 162. The universal joint is The second pivot pin 170 is also included. The joint block 160 is the second pivot pin 170 It has a receiving cross bore 168. The second pivot pin 170 is passive of the passive coupling mechanism 26 The connecting pivot yoke 172 is pivotably connected to the joint block 160. Second pivot Pin 170 is connected to the first pivot pin 158, the joint block 160, and the second pivot pin. A through bore receiving the first pivot pin 158 such that 170 forms a cross of universal joint It has 171. The first pivot pin 158 and the second pivot pin 170 intersect. The pivot axis PA is defined. As a result, the passive coupling mechanism 26 is connected to the tool support body 80. It can move with 2 degrees of freedom. Passive coupling including a ball with a slot for receiving a pin. Other types of passive joints, such as spherical joints, are also being considered.
[0074] The passive coupling mechanism 26 includes a shaft 174 fixed to the passive coupling pivot yoke 172. The passive coupling mechanism 26 is configured to receive the shaft 174 along the constraint axis CA. It also has a sleeve 76 for the base 74. The passive coupling mechanism 26 has a shaft 174. To enable axial sliding along the constraint axis CA relative to the leaf 76, During the operation of one or more of the actuators 21, 22, and 23, the shaft relative to the constraint axis CA It is configured to restrict the radial movement of T174.
[0075] The passive coupling mechanism 26 connects the shaft 174 to the sleeve 76 centered on the constraint axis CA. It further includes a key that restricts rotation. The key is located opposite the shaft 174 and the sleeve 76. It fits into the keyway and locks the shaft 174 into the sleeve 76 to prevent rotation. Integrated Other features that prevent relative rotation between shaft 174 and sleeve 76, such as key / slot arrangement. The arrangement is also planned. The passive coupling mechanism 26 operates independently of the actuators 21, 22, and 23. The tool support 18 and the handle portion 16 are operatively interconnected. The passive coupling mechanism is operative. While one or more of the tuners 21, 22, and 23 are operating, the effective length E along the constraint axis CA L is passively adjustable. The sleeve 76, shaft 174 and key 176 are passively connected. This represents one combination of links for the coupling mechanism 26. For the passive coupling mechanism 26, Other sizes, shapes, and numbers of links may be used, connected in a manner preferred by the user.
[0076] In the illustrated version, the passive connecting joint 156 has two pins relative to the tool support 18. It can pivot around the bot axis PA. It is a handheld robot without a passive coupling mechanism. Other configurations, including equipment, are possible.
[0077] Furthermore, in the illustrated version, the first active joint 92 and the passive connecting joint 156 are common. Define a pivot axis PA located on the plane. A non-parallel pivot axis PA is located on a different plane. Parallel pivot axes PA positioned therein, combinations thereof, and / or other configurations are also contemplated.
[0078] In some versions, the head 84 of the tool support 18 is supported by the tool 20. When attached to the body 18, it is positioned on the tool surface TP (e.g., the cutting surface) parallel to the common plane. They are positioned as follows. In some examples, the tool surface TP is 2.0 degrees from the common plane CP. Leave a gap of less than 1 inch, less than 1.0 inch, less than 0.8 inches, or less than 0.5 inches. It is possible.
[0079] In the illustrated version, actuators 21, 22, and 23 are on active axes AA1 and AA2 , all actuators 21, 22, and 23, including when AA3 is in the home position At this position, it is arranged in an inclined configuration with respect to the constraint axis CA. Axis AA1 By tilting AA2 and AA3, it is generally possible to create a slimmer and smaller base. The actuator arrangement is tapered to allow the -74 and associated grip 72. This includes cases where the active axes AA1, AA2, and AA3 are not inclined relative to the constraint axis CA. Other configurations are considered. These configurations involve actuator axes AA1, AA2, and AA3. These may include those that are parallel to each other in their home positions.
[0080] Further configurations of actuators, active joints, and constraint assemblies are possible. (Details to be provided below.) The control techniques apply to other mechanical configurations not mentioned, particularly handheld parts with one or more degrees of freedom. It is intended to be applied to configurations that control tools or saw blades. Several versions In this case, a constraint assembly does not necessarily exist, and the tool support 18 of the device 14 is handheld. Part 16 may be able to move with additional degrees of freedom. For example, the device may be linearly actuated. The device may include a turner, a rotary actuator, or a combination thereof. Two, three, four, five, six or more arranged in a row, series, or combination thereof. It may include different actuators.
[0081] Visual guidance As shown in Figure 10, the guidance array 200 can be optionally coupled to the tool support 18. It is possible. In addition to or alternative to this, the guidance array 200 has a handheld portion 16, Alternatively, it may be optionally attached to other parts of the device 14. The guidance array 200 includes at least a first visual indicator 201 and a second visual Includes indicator 202 and a third visual indicator 203. Visual indicator 20 Each of 1, 202, and 203 includes one or more lighting sources coupled to the fixture controller 28. Hmm. In some versions, the light source is one or more light-emitting diodes (e.g., R This includes the GB LEDs, which have different states, such as on, off, and different frequencies. Lighting can be operated with on / off / blink, different intensities, different colors, and combinations thereof. This is possible. In the version shown in Figure 10, visual indicators 201, 2 02 and 203 respectively are upper 204 and lower 206 (upper segment 204, lower segment Includes indicator 206). Furthermore, each of the visual indicators 201, 202, and 203 has three The above refers to parts with more than two components, such as four or more components, or even more than ten components. 204, 20 It is further intended that it may be divided into 6. For example, visual indicators 201, 20 Each of 203 is divided into three parts, and each part may contain one or more LEDs. The visual indicators 201, 202, and 203 have upper 204 and lower 206 as desired. Includes a hemispherical, transparent or translucent dome that can be individually controlled / illuminated accordingly. They may generally have a spherical shape. Visual indicators 201, 202, and 203 are circular. Cylindrical, ring, square, polygonal, or other shapes capable of conveying visual cues to the user. It is intended that the shape may be other than a sphere. One or more light-emitting dies The domes may be associated with each dome. Visual indicators 201, 202, 203 The tool support 18 or handgrip portion 1 is attached via one or more mounting brackets 205. It may be fixed at 6.
[0082] In some cases where the guidance array is not used, the visual indicator 201, 202 and 203 are LCDs or L2s attached to the tool support 18 or the handgrip portion 16. This may include separate parts of the display screen, such as a separate area on an ED display. The screen also has, in addition to or as an alternative to, a display screen attached to the device. It may be included as part of a navigation system.
[0083] As an alternative, visual guidance in the second mode includes the handgrip, blade support, Alternatively, it may include a mechanical guide coupled to both.
[0084] In some configurations, each display screen corresponds to a different visual indicator. It may have one, two, three, or four parts. Each part of the display screen has a different visual aspect ratio. Graphics support is also possible. Each of the visual indicators (or The part of the display screen may be based on actuator information. In some cases This means that a single visual indicator receives actuator information from two or more actuators. It may be based on this. Furthermore, as explained throughout the text, visual indicators are used by the user The first mode shows where the tool should be positioned, and the second mode shows where the user holds the tool. It can be used in a second mode in which a visual indicator shows where it should be positioned.
[0085] For example, the visual indicators 201, 202, and 203 are connected to the first actuators 21 and 2 2, A first indicator (first visual graphic) based on the first command position of 23, and the first A Second indicator (second visual graph) based on the second command position of cutters 21, 22, and 23 It may be configured to output a first index and a second index, in which case the first index is configured to output a second index and Unlike the first command position, the first command position is different from the second command position. As explained above, Indicator 201, 202, and 203 provide information on the appropriate type of actuator. It may be controlled based on the visual graphics displayed on the screen. This includes the commanded position, previous commanded position, simulated commanded position, and current measured position. Previously measured position, available movement, (hardball stop or softball stop) Actuator limit, the required distance from the current position to the commanded position, or this It may also be based on a combination of these.
[0086] In some configurations, the fixture controller 28 has an upper part 204 and a lower part 206, The upper part 20 can be operated in various states to indicate the desired direction of movement of tool 20. The fixture controller 28 is configured to control the lighting of 4 and the lower 206. It may be configured to control the lighting of multiple parts in a given state or with different indicators. This is further intended. For example, these different states are (1) Position tool 20 (e.g., saw blade) in the desired position (e.g., on the desired cutting plane / desired cutting path) (2) How the user should move the handheld part 16 in order to position it, or the control system While the TEM 60 operates to keep the tool 20 in the desired position, the actuator 21, 22, and 23 move in a preferred direction, such as one that is closer to their home position. The user may be shown how to move the handheld portion 16.
[0087] In the first mode, the instrument is sufficiently far from the bone, and the guide constraint is inactive. And when joint centering constraints are active, (on the device or navigation A guidance array or display screen may be used (in part of the system). In this case, the user should move closer to the center of joint movement when entering the excision zone / region. , achieve good initial alignment of the blade / tool / handle part, and guide constraints (even if there are multiple) When (a) is first enabled, the blade support / tool support and actuator Therefore, the actuator will only have limited, rapid movements, and when activated, it will be able to move freely. It is possible to "reach" a target plane, target trajectory, or other target virtual object. Therefore, I would like to use visual indicators.
[0088] In the second mode, each actuator has only a limited range of motion / movement. Therefore, for the user, the actuator often does not move in the target plane, target trajectory, or its It is important to position the handle so that it can reach other targets. If one of the ETAs reaches its joint limit, the control system will stop it from moving any further in that direction. It must be done in such a way that, in this case, the system aligns the blade with the cutting surface. (The control system typically prevents sawing to prevent improper cutting.) (Stop the motor) or the system aligns the tool to the planned trajectory. Therefore, the actuator assembly will not reach the target plane or target trajectory. To enable this, we need continuous feedback to ensure the handle is properly positioned. It can be important to provide feedback to the motor. Without continuous feedback, the motor's performance will be affected. One of them reaches its joint limit, causing the saw blade drive motor to stop, and finally the blade moves away from the plane. Until it lifts up, the user must be aware of how close they are to the limits of their range of motion. This can cause problems for the user, prolong surgical procedures, etc. The purpose is one of An intuitive approach to minimize / reduce the occurrence of actuators reaching their joint limits. The goal is to provide raw handle alignment feedback. Guidance array, display A screen or mechanical guide may be suitable for this purpose.
[0089] During several operating modes, the device controller 28 allows the user to control the device via the handheld portion 16. While moving tool 20, in order to achieve the desired position of tool 20, the pin of tool 20 To visually show the user the desired changes in the direction of the switch, the direction of the roll, and the translation of the z-axis. , automatically control / adjust the guidance array 200 (for example, change its state) It is configured as follows. In some versions, the guidance array 200 is a tool In a manner that intuitively represents 20 planes, it is connected to the tool support 18 or the handgrip portion 16. For example, three points define a plane, so three visual indicators 201, 202, 2 03 can generally represent the plane of tool 20. In some cases, the indicator 201, 202, and 203 each have a known position P1 relative to the plane of tool 20. , corresponding to one of P2 or P3 (for example, positioned within the tool plane, TCP coordinates) (Defined in the system, the tool support coordinate system TCS, or any other suitable coordinate system) The points related to visual indicators 201, 202, and 203 are other in the plane of tool 20. At an appropriate position, or at a position that has a known relationship with respect to the plane of tool 20, It can be defined.
[0090] In general, guidance using one or more visual indicators 201, 202, 203 Ray 200 is used to change the pitch, roll, and translation of Tool 20 (for example, move Desired change in motion, and tool support coordinate system TCS for achieving the desired posture. The desired changes in pitch, roll, and translation can be positioned to visually represent them to the user. The state may be controlled. More specifically, the device controller 28 controls the direction of the pitch. The user distinguishes between desired changes, desired changes in roll direction, and desired changes in translation. The guidance array 200 is configured to illuminate in a manner that makes this possible. The instrument controller 28 controls the amount of movement required to move the tool 20 to the desired plane. Illuminate the guidance array 200 or display it in a manner that enables the -er to do so. The display screen may be configured to control the display. The desired plane is a plane or a plane segment. It is also acceptable. Changes in pitch, roll, and translation are, for example, relative to the target plane TP. be.
[0091] In another configuration, one or more visual indicators 201, 202, and 203 are used. The guidance array 200 changes the pitch, roll, and translation of the handheld portion 16. The desired change in movement (e.g., displacement), and the base coordinates for achieving the desired posture. The BCS system is positioned to visually demonstrate to the user the desired changes in pitch, roll, and translation. The state may be controlled. More specifically, the device controller 28 may be controlled Between the desired change in the direction of the axis, the desired change in the direction of the roll, and the desired change in translation, The guidance array 200 or the display screen is illuminated in such a manner that it is possible to distinguish between them. The instrument controller 28 is configured to illuminate the tool 20 to a desired plane or target trajectory. The user indicates the amount of movement required to move the handheld part 16 so that it is on the path. The guidance array 200 is configured to illuminate in a manner that enables this. Changes in roll and translation are, for example, relative to the target plane TP.
[0092] The device controller 28 controls the guidance array 200 and / or the visual indicator 201 The operation of 202, 203 (or display screen) is controlled by the guidance array / visual indicators. From a mode that shows the desired change in the movement of the 20, to an input device (e.g., foot switch), Triggers (such as mouse clicks or touchscreen presses on the navigation UI38) Switching to indicate a desired change in the movement of the handheld part 16 based on the input signal, such as motion. Alternatively, the instrument controller 28 may control the position of the tool 20 and the tracker 5 Based on the position of the bone reference point in known coordinate systems such as 4 and 56, these movements It may be configured to switch between the dots. The reference position is the target object, such as the eye A point, plane, or volume in the coordinate system used to locate the instrument 14 relative to the target state. This may also be the case. In certain embodiments, the reference position is at the planned entry point 71a of the bone. Yes, for example, the reference point could be the surface of a bone, a point within a bone, an imaginary point or virtual point in a known coordinate system, The volume within the coordinate system, or a combination thereof. The position and / or orientation of the reference point are Through registration and appropriate planning steps, the patient tracker is known to The instrument controller 28 controls two objects, such as the distance between the tool and the reference position. Based on the distance parameter calculated between the two points, the mode may be switched / different It may work. The distance parameter is the distance (for example, how far apart two objects are). It may be a dolphin, size (direction of distance to a certain object), or both. In some cases, the device controller 28 determines when the distance parameter is away from the bone. The mode may be switched if the direction and magnitude are greater than the first threshold.
[0093] Control Overview Referring to Figures 7 and 11, the behavior controller 186 and motion controller 188 are , operated on the device controller 28 and / or the navigation controller 36 Alternatively, the control system 60 may provide data indicating appropriate commands for multiple actuators. To calculate. In one embodiment, the behavior controller 186 controls the handheld portion. It functions to output the next command position and / or orientation (e.g., attitude) for the unit. During this time, tool 20 is moved effectively toward the target state using multiple actuators. These effects allow tool 20 to move toward the target state with one or more degrees of freedom. It may be generated. Thus, the target state is such that tool 20 is moved with only one degree of freedom. It may be defined as follows, or it may be defined so that tool 20 moves with 2 or more degrees of freedom. This is also acceptable. Therefore, the target state is the target coordinate system TF (also called the target frame TF) and The target position, target orientation, or both may be defined as follows. The target coordinate system TF is It may be defined with respect to the coordinate system of an anatomical structure tracker or target bone(s). However, other coordinate systems may be used. As shown in Figure 12, the target position is anatomical The x-axis, y-axis, and / or of the target coordinate system TF relative to a reference coordinate system such as a structural tracker or bone. One or more positional components with respect to the z-axis, e.g., target x position, target y position, and / or target z Location may be included. In some cases, the target location is an anatomical structure tracker or It is represented as the origin of the target coordinate system TF relative to the bone-like reference coordinate system. The target direction is, The x-axis, y-axis, and of the target coordinate system TF relative to a reference coordinate system such as an anatomical structure tracker or bone. / or one or more orientation components with respect to the z axis, e.g., target x orientation, target y orientation, and / or The target z direction may also be included. In some cases, the target direction is related to anatomical structures. The orientation of the x, y, and z axes of the target coordinate system TF relative to a reference coordinate system such as a cube or bone. It is represented as follows. The target attitude means a combination of one or more positional components and one or more orientational components. In some cases, the target attitude is less than all 6 degrees of freedom of the target coordinate system TF. It may include the target position and target orientation with no degrees of freedom. For example, in a particular configuration, The target attitude may be defined by a single position component and two orientation components. In some cases, the target position and / or target orientation may also be called the starting position and / or starting orientation. In another configuration, the target attitude can be defined as a fixed axis with respect to a known coordinate system. It may be used for righteousness.
[0094] Referring to Figure 11, the target state is the input to the behavior controller 186. Target state The tool 20 is adjusted to the target plane or target trajectory, target position, target orientation, or both. This may also be the case. In some examples, only the TCP location is the behavior controller 18 Output from 6, and in other examples, the position and orientation of tool 20 are output. In this example, the command attitude output of the behavior controller 186 is position, orientation, or both. It may also include a boundary generator 182 and an optional force / torque sensor. In some examples, this includes a boundary generator 182 and an optional force / torque sensor. Output from one or more sensors, such as S, indicates the next step regarding the tool for the handheld part. In order to determine the commanded position and / or orientation, the following is supplied as input to the behavior controller 186. This may be done. The behavior controller 186 receives these inputs in one of the following ways, which will be further described below. The command attitude may be determined by processing it together with the above virtual constraints.
[0095] The motion controller 188 performs motion control of multiple actuators. One embodiment involves controlling the tool support 18 with respect to the handheld portion 16. Motion controller 1 88 receives data from the behavior controller 186, such as data defining the next command attitude. It receives this data. Based on this data, the motion controller 188 controls the behavior of tool 20. To be positioned in the commanded attitude output by the controller (for example, in reverse motion) (via the mechanism) Command joint position of each of the multiple actuators coupled to the tool support 18 This determines the motion controller 188, which can be defined in orthogonal space. The commanded posture is processed to the commanded joint positions of multiple actuators connected to the tool support 18. Therefore, the instrument controller 28 controls the tool support 18 accordingly. The actuator moves to the command joint position corresponding to the commanded orientation of the tool relative to the part. Commands can be given to 21, 22, and 23. In one version, motion control The 188 adjusts the joint position of multiple actuators, and each actuator 21, 22 The torque output by 23 is continuously adjusted so that actuators 21, 22, and 23 are directed to the device. Ensure as much as possible that the command posture is achieved. Alternatively and / or this In addition, the motion controller 188 controls the commanded joint position to address joint-level position control. A separate set of motor controllers (for example, for each actuator 21, 22, 23) It may also output to one device. In some examples, motion controller 188 (or Mo The data controller uses feedforward control to improve dynamic tracking and transient response. You may use the "Go" command. In such cases, in addition to the command joint position, the motion controller 188 also provides feedforward joint velocity (or command joint velocity) and potentially feed The forward joint torque (and / or motor current) may be calculated. This data is then used to calculate the forward joint torque (and / or motor current). In order to drive actuators 21, 22, and 23 more optimally, the motor controller Used within a control loop.
[0096] Position control is described in detail, but similar control embodiments are used in conjunction with joint angle control. It should be understood that this is acceptable. Furthermore, the motion controller controls joint angles. Joint position control may also be used. In some examples, the joint angle intersects with the joint position. It may be replaced. Depending on the joint type, actuator type, or both on the device. Joint angle, joint position, or both may be used. For example, a motion controller Even if the command joint angle is determined based on the commanded posture for one or more actuators, good.
[0097] Referring to Figure 7, the control system 60 is used by the equipment controller 28 and / Alternatively, software running on the navigation controller 36 uses the boundary generator 182. It may include. The boundary generator 182 is for constraining the movement and / or operation of tool 20. A software program or module that generates virtual boundary 184. 84 may be one-dimensional, two-dimensional, or three-dimensional, and may be a point, line, axis, locus, plane, or other The virtual boundary may also include shapes containing complex geometric shapes. The virtual boundary may also be perpendicular to the planned trajectory. It may be a directly defined plane or line. In some embodiments, the virtual boundary 184 is , is a surface defined by a triangular mesh. Virtual boundary 184 is a virtual object It can also be called a virtual boundary 184. In the implant coordinate system, the virtual boundary 184 is a 3D bone model. The anatomical model AM may be defined in relation to the anatomical model. The anatomical model AM is an anatomical model Dell AM maps to the patient's anatomical structure through registration or other processing. This allows the data to be associated with the actual anatomical structure of the patient.
[0098] The virtual boundary 184 is a pixel, point cloud, voxel, triangular mesh, or other 2D or 3D object. This may be represented by a model, a combination thereof, etc. (U.S. Patent Publication 2018 / 0333) U.S. Patent No. 207 and U.S. Patent No. 8,898,043 are incorporated herein by reference. It shall be so that any of these features facilitates the planning or execution of surgical procedures. It can be used for the purpose of generating a virtual boundary 184. An example of a system and method for generating a virtual boundary 184 is: Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Mo It is described in U.S. Patent No. 9,119,655, titled "des," and its disclosure is cited by... This shall form part of this specification. In some examples, the virtual boundary 18 4 is not on the equipment controller 28 or the navigation controller 36, but off-fly It may be generated by n. Then the virtual boundary 184 is executed by the device controller 28. It may be used at times.
[0099] The anatomical model AM and associated virtual boundary 184 are one or more patient trackers 54, 5 Registered to 6. Thus, the anatomical model AM (and related actual patient) The anatomical structure of the person) and the virtual boundary 184 fixed to the anatomical model AM are used in patient tracking. It can be tracked by k54, 56. The virtual boundary 184 is implant-specific, for example If defined based on the size, shape, volume, etc. of the implant, and / or patient-specific It may be something that exists, for example, defined based on the patient's anatomical structure. Plant-specific virtual boundaries are boundaries of a specific size, for example, specific implants used in a particular plant. The implant may have a 1:1 specific boundary relative to the implant. In other cases, the boundary It may be larger or smaller than the actual dimensions of the implant (for example, 2: (1, 1:2, etc.). The implant-specific boundary for a particular implant can be formed arbitrarily. It may be done. In some cases, the implant-specific boundary is fixed or set The implant size may be offset by a specified amount. Virtual boundary 184 This boundary may be generated preoperatively, intraoperatively, or in combination thereof. If so, the virtual boundary 184 is defined before the surgical procedure begins, and during the surgical procedure (including during tissue removal). It may be defined as (m), or a combination thereof. In any case, the control system 60 means to store / retrieve virtual boundary 184 in memory, virtual boundary 184 To retrieve from memory, to generate virtual boundary 184 preoperatively, or virtual boundary 184 By generating it during the procedure, etc., the virtual boundary 184 is obtained. In other words, Based on the planned position of the implant, the planned size, shape, and volume of the implant, one or more A virtual boundary may be obtained. The implant coordinate system and the anatomical model coordinate system are explained below. It can be considered interchangeable through this.
[0100] The virtual boundary 184 can be used in various ways. For example, the control system 60 can use the boundary Controlling a specific movement of tool 20 to stay inside, or to stay outside the boundary. Controlling certain movements of the Uni Tool 20, staying on a boundary (e.g., point, trajectory, and Controlling a specific movement of tool 20 so that it moves (or stays on a plane), relative to the boundary Based on the relationship of the device 14 (e.g., space, speed, etc.), a certain operation / function of the device 14. This controls the following: and / or controls the power supply to the drive motor M of the device 14. Other uses of boundary 184 are also contemplated. See Figure 13 for potential embodiments. In this context, the virtual boundary 184 is located distal to the cutting portion, i.e., distal boundary DB, generally It may include a planar mesh. This virtual boundary 184 is associated with the 3D bone model. This may also be used to control the saw drive motor M. Other examples In this case, the boundary generator 182 is virtual for the purpose of controlling multiple actuators. Boundary 184 is provided. In this example, the virtual boundary is in the virtual simulation. Even if used to generate constraints that affect the movement of virtual mass and virtual saw blades / tools Good. In this embodiment, the virtual boundary is a virtual cutting guide (e.g., a virtual saw cutting guide). A (D) may be established. The virtual boundary 184 may also control the saw drive motor or multiple actuators. For any of the ETAR control, various operation / control areas are defined as described below. It may be provided for this purpose. The virtual boundary 184 is 1-dimensional (1D), 2-dimensional (2D), 3-dimensional. It may be three-dimensional (3D), and can be a point, line, axis, trajectory, or plane (anatomical structure or other boundary). An infinite plane or planar segment bounded by, a volume or other composite geometric shape It may include shapes that include [this].
[0101] Referring to Figures 10 and 14, the orientation of the implant (IM) is in the implant coordinate system. It may be planned for the femur F. This planned position of the implant is as follows: Then, through various navigation transformations, a fixed value is set for one of the patient trackers 54 or 56. Even if it is not intended, the position of the implant is planned, such as the target plane (TP) or virtual boundary. The basis of the virtual object may be the planned implant. The target plane is the basis of the planned implant. To achieve the desired posture, what types of cuts (sometimes multiple) need to be made to the bone? It may also be expressed as whether there is one. In other words, the target plane (TP) is the planned input. The runt may be aligned with the plane in which it is intended to make contact with the bone. In some examples... Therefore, the position of the target plane (TP) may need to be adjusted to take into account the thickness of the saw blade. In one example, at the distal tip of the saw blade, the TCP coordinate system is such that the saw blade is at the center of the saw blade. It may be positioned at a point half the thickness of the blade. The position of the cutting surface is determined by which side of the saw blade during a particular cut. Even if the saw blade is adjusted by half its thickness in a direction based on whether one side is in contact with the bone, Good. By cutting along the target plane, it is removed from the femur as a result. The resulting bone will allow the planned implant to properly seat in the bone. The target plane TP may take the form of the target state, as described below. Alternatively, The target plane TP can be used to control multiple actuators, and is a virtual boundary. It may be generated as one form.
[0102] In several versions, the control system 60 ultimately controls the tool 20 to the desired position. It will function to maintain the cross-section. Used to control multiple actuators. The virtual boundary 184 that may be used also constrains the saw blade to remain within the boundary and on the desired cutting surface. Therefore, it is necessary to have a thickness equal to and / or slightly greater than the thickness of the blade. It may also be a volume boundary. Therefore, the desired cross-section is a virtual planar boundary, a virtual volume boundary. , or can be defined by other forms of virtual boundaries. In some examples, The cutting slots of virtual boundary 184 need to be offset to take into account the thickness of the saw blade. Yes, and therein the slot boundary (corresponding to the side of the saw blade that contacts the bone for its cutting) However, the final desired implant is aligned with the bone surface, and the other boundary is the complete blade. It is offset by the thickness. In another example, a slightly larger thickness due to the slot boundary. A saw blade is used so that the vertical center line of the cutting slot is offset by half the thickness of the saw blade. The virtual boundary 184 can also be called a virtual object. The virtual boundary 184 is 3D Even if defined with respect to anatomical models (AM) in implant coordinate systems such as bone models Good (anatomical model AM is virtual to the actual femur F for their registration) (See Figure 10, which shows that it is superimposed on it). In other words, it is associated with virtual boundary 184. The points, lines, axes, trajectories, planes, and volumes that are traced are used to track the anatomical model AM (for example, (Through tracing the related anatomical structures that are registered) virtual boundary 1 The 84 coordinates are fixed relative to the coordinate system of the anatomical model AM, allowing for tracking of 84 points. It may be defined in the standard system.
[0103] The anatomical model AM has a virtual boundary 184 related to the anatomical model AM and its associated coordinate system. Registered to the first patient tracker 54 so that it can be linked. Virtual boundary 1 84 refers to implant-specific factors, such as the size, shape, and volume of the implant. It may also be defined by and / or by something specific to the patient, such as the patient's autopsy. It may also be defined based on the scientific structure. The implant-specific boundary is the implant The virtual boundary 184 may be larger or smaller than the physical dimensions of the runt. The boundary may be generated preoperatively, intraoperatively, or in combination thereof. In other words, The virtual boundary 184 is defined as the period before the surgical procedure begins, during the surgical procedure (including during tissue removal), Alternatively, it may be defined by a combination of these. The virtual boundary 184 is generated by the control system 60. Many things, such as by doing so, or by receiving from other sources / systems. It may be provided in the following way. The virtual boundary 184 is stored in memory for lookup and / or update. It's okay.
[0104] When preparing the femur F to receive a whole knee implant IM (see Figure 1), In some cases, the virtual boundary 184 is multiple for the whole knee implant IM. It includes multiple planar boundaries that can be used to define cross-sections (e.g., five cross-sections), Associated with cross-sections based on a 3D model of the distal end of the femur F and / or a 3D model of the tibia. These multiple virtual boundaries 184 and / or target planes are controlled by the control system 60. They are activated one at a time, and multiple actions are used to cut one plane at a time. The tuner can be controlled. Each of these cross-sections is an eye for the control system. It may be a reference plane. An exemplary virtual boundary 184 is shown in Figure 13 for illustrative purposes. Figure 13 shows that the target plane is aligned with the implant boundary. However, this is a general representation, and the target plane is slightly off from the planned implant boundary. It should be understood that it may be faceted. Other shapes and configurations are also possible. Figure 13 shows a series of cross-sections, each with a desired target plane. Each distal end indicates an entry point that provides access to the femur. The entry point has five eyes Into a cutting slot defined along one of the target cutting surfaces TP, 73a to 73e It continues. In other cases, the virtual boundary is for the insertion of a drill bit or tap. A planned trajectory for inserting a rotary tool into a bone such as the femur or vertebra. This is also possible. Here again, multiple virtual orbitals may be arranged to pierce one orbit at a time. To control multiple actuators, they may be activated one at a time.
[0105] When a virtual boundary is used to control a saw drive motor (or other drive motor) Referring to Figures 13 and 15, the virtual boundary 184 is the total knee implant or When preparing the knee for other surgical procedures, the surface of a saw (DB, LB) or tool It can represent a boundary that can be used to define the internal cutting depth or width. Saw (DB, The in-plane cutting depth or width for LV is not a clear boundary, but rather a feature of the 3D boundary model. It is possible. Those distal boundary DBs are roughly perpendicular to the target cross-section or target trajectory. Often, the patient's anatomical features (distal surface of the femur, ligaments, arteries, soft tissues, etc.) are also examined at will. It may be outlined. This can prevent accidental cutting of important structures. Drive The virtual boundary 184 used to control the motor has one or more lateral boundaries (LBs) These may include: These lateral boundaries (LBs) cut beyond the target depth in the lateral direction. It can function to prevent this from happening. In some cases, the depth boundary in 3D boundaries Cutting slots defined by the horizontal and horizontal boundaries are those where the saw blade does not remain sufficiently on the plane. In cases of sudden, rapid movement of the device and / or bone, or failure of another system, (As a sum), or if the tool does not stay on the track, the drive motor M is turned off. It may be used for secondary error mitigation functions, such as controlling the saw drive motor. The boundary may be selectively activated based on the selected target plane. The boundary for controlling the tool drive motor is actively based on the selected target axis. It may also be used.
[0106] In some cases, the virtual boundary defining the cutting depth is a 5mm planar offset. Such as fixed boundary offsets, and perpendicular to each planned section (TP) or target trajectory. This may also be based on the pose of the planned virtual object. Referring again to Figure 13, there are five The TP aligns with each plane in which the planned implant is intended to contact the bone. The distal boundary DB is perpendicular to the TP for each section, and the planned implant is in the bone. It is implemented as an offset of a predetermined distance from the distal end of the plane that is in contact with it. In this version, the control system 60 determines that the saw blade is greater than the depth boundary DB threshold amount. The device controller evaluates whether the intrusion is significant and stops the operation of the drive motor M. The device controller 28 may also issue commands to the drive motor. In some examples, the device controller 28 controls the drive motor Without stopping the operation of M, the user can control the start, stop, and / or speed of the drive motor M. It is also acceptable to depend on it.
[0107] In some cases, the device controller 28 controls the motor parameters of the drive motor M. The device is controlled by a first value and a second value, where the first value is different from the second value, and the device control -Ra 28 is based on the position of tool 20 and the position of reference locations related to bone, such as virtual boundaries. Based on the calculated distance parameter, change the operation from the first value to the second value. That's fine.
[0108] As the tool 20 moves into the bone cut or hole, the instrument controller 28 moves to the reference position. Using the navigation data of tool 20, or based on the posture of the bone-related tool Subsequently, the operation of the drive motor M may be permitted. Furthermore, the device controller 28 may... L20 is a reference point or boundary related to bone, a specific posture, distance parameter value or The drive motor M may be turned off based on whether or not it has reached the position. In some cases In this context, surgical use is used in soft tissue, unremoved bone, and other procedures. Due to the limited field of view provided by the equipment, it is difficult to perform surgical procedures while inserting tools 20 deep into the bone. Users may find it difficult to perceive the difference. Users may also find it difficult to perceive adjacent anatomical structures. Because the construction applies pressure to the saw blade 20 or the tool, it is difficult to perceive the depth of the tool 20. It may have the ability to control the drive motor M based on the posture or position of the tool 20. This could allow users to control the cutting depth more precisely.
[0109] In some cases, the device controller 28 changes the parameters of the drive motor M. By doing so, the operating mode is changed, and the device 14, input device, and navigation system are controlled. The stem 32, the device controller 28, or any combination thereof, will detect when the mode has been changed. It may be provided by audible indicators, tactile indicators, or both. For example, input device The switch may be a foot switch, and when the mode of the device is changed, the drive motor M The speed may be controlled so that the foot switch vibrates. In another example, the mode and / or When the control behavior is changed to accelerate or decelerate the drive motor M, the user can control the volume. By changing the pitch, vibration, or a combination thereof, the mode and / or control behavior of the instrument is Audible indicators, such as the motor speed of the drive motor M, can be perceived to indicate that a change has been made.
[0110] As described above, the device controller 28 and / or navigation controller La36 is the state of the tool 20, such as the position and / or orientation of the saw blade relative to the virtual boundary 184. Track the state. In one example, this is for the purpose of controlling the tool drive motor M. This involves monitoring the TCP status being measured against virtual boundary 184. It can be described as follows: In other words, the control system is responsible for the virtual model VM of the device. If the behavior of the intent infringes upon the virtual boundary 184 by an amount exceeding the threshold, the saw drive motor M is reduced. Based on the TCP state measured against virtual boundary 184, such as speeding up or stopping. The saw drive motor M may be controlled. In some examples, the tool's posture (TCP The coordinate system is defined as any aspect of tool 20 infringing upon the virtual boundary 184 by an amount exceeding the threshold. It may be used to evaluate whether or not. The device controller 28 is of the virtual boundary 184 A model of the blade that can be evaluated for infringement (e.g., a CAD model or geometric primitive) It may have a simplified model to use. In some examples, tool 20 The range is modeled by an array of discrete spheres arranged around the displaced volume at the tip of tool 20. It may be converted to a sphere, in which case the diameter of the sphere matches the thickness of tool 20, and the position is in the TCP coordinate system. It is defined for. Furthermore, the virtual boundary 184 may be an open end face or a closed face. It may exist. If the virtual boundary 184 is configured as a closed surface, the virtual boundary 184 is a container Although component 14 can be operated "outside" the virtual boundary, after crossing the virtual boundary by a threshold amount, It may also function as a "keep-out" boundary that is shut off. Similarly, a hypothetical closed surface The virtual boundary is such that the device 14 operates only within the virtual boundary 184, and the device moves beyond the virtual boundary 184 to the threshold. If you move away by a larger amount, the device 14 will be shut off, as a "keep-in" boundary. It may work.
[0111] In another example, the tool 20 remains in a desired positional relationship with respect to the virtual boundary 184. (For example, to prevent movement beyond a certain point), a virtual rigid body model is created via virtual simulation. For the purpose of determining the force that should be applied to the TCP state against virtual boundary 184, The results of the virtual simulation are measured. Multiple actions are coupled to the tool support 18. The boundary generator 182 is processed when controlling the tuner. It may be implemented as follows. Alternatively, the boundary generator 182 is the navigation controller It may also be implemented on other components, such as 36.
[0112] The boundary generator 182, behavior controller 186, and motion controller 188 are software It may be a subset of the software program 378. Alternatively, any of them These may be software programs that operate individually and / or independently in combination. In this specification, the term "software program" refers to the technical solutions described. For illustrative purposes, we will use computer executable instructions configured to perform various functions. For simplicity, the term "software program" is used to refer to, at the very least, boundary generators. 182, any one of the behavior controller 186 and / or motion controller 188 The above is intended to be included. Software program 378 is an instrument controller. It can be implemented in the 28, the navigation controller 36, or both, or control Your system 60 may implement this in any preferred manner.
[0113] To handle user interaction, a clinical application 190 is provided. This is also good. Clinical application 190 handles many aspects of user interaction. Preoperative planning, implant placement, registration, visualization of bone preparation, and implant Adjust the surgical workflow, including postoperative evaluation of suitability. Clinical Application 190 It is configured to output to display 38. Clinical application 190 is configured to output to display 38. It may run on a separate processor of its own, or on the navigation controller 36 It may be run in parallel with this. In one example, clinical application 190 is run by the user After the implant placement is set, it interfaces with the boundary generator 182, and then, For executing the virtual boundary 184 and / or tool surface TP returned by the boundary generator 182 It is sent to the device controller 28. The device controller 28 is described herein. Then, execute the target plane TP or target trajectory. Also, the instrument controller 28 is further as follows As described, the virtual boundary 184 may be processed to generate the corresponding virtual constraint.
[0114] Referring to Figure 16, an exemplary control is explained with respect to various transformations. TCP is Track tool 20 with tool tracker 52(TT) for localizer coordinate system LCLZ. (LCLZ-TT conversion), using registration data or calibration data, A conversion between Lutrakka 52 and Tool 20 (TT-TCP conversion) The location is determined by the determination. Similarly, the patient is shown as patient tracker (54). Tracked using (and from localizer coordinate system LCLZ to patient tracker coordinate system) This boils down to a transformation (LCLZ-PT transformation).
[0115] As explained with respect to Figure 11, through bone registration processing, patient bones are removed from the bone. The conversion to trackers 54 and 56 is established (from bone to patient tracker). Implant planning process. Through this process, the conversion from bone to implant / anatomical models is established (conversion from bone to IM). Replacement). Next, the planned implant (IM from patient tracker) from patient tracker 54. The conversion to is calculated. The planned implant (IM) is the selected implant structure. Given the position and size of the planar section of the constituent element, it may also be relative to the target plane. (Conversion from IM to TP), or may be related to the target trajectory (as further explained below, Figure 32) (See reference). Referring again to Figure 16, the conversion then proceeds to registration data and planning information. Using the combination of patient trackers 54 and 56, and each target plane such as (PT-TP change (Transition), or (PT-orbital transformation) for each target orbit, and each planned virtual object The conversion is calculated in between.
[0116] The position and / or orientation of the tool support 18, and therefore TCP, the tool tracker 52 It may also relate to (a tool support calculated via registration or calibration process). (Conversion from to tool tracker). As described above, in some embodiments The conversion between the handheld part 16 and TCP (BCS-TCP) is performed at the position of each actuator. It is calculated based on the position. The commanded position is calculated for the BCS for a particular control embodiment. Since it can be determined by this, the conversion between BCS and TCP involves various coordinate systems in the handheld part 16. It is used to restore association. Conceptually, the command attitude, in this example, is calculated by TCP. BCS ultimately boils down to alignment with a defined virtual object (target plane TP). This is an update for the conversion from to TCP. Alternatively, the orientation of the handheld part 16 is handheld By using the handheld tracker 53 directly coupled to part 16, several This may be determined directly in the example. This can be done by using the TCP coordinate system and each actu This could eliminate the need to perform conversions between BCS and TCP based on the ETA's location.
[0117] The initial attitude of TCP relative to the base coordinate system BCS is determined by actuators 21, 22, and 23. The tool support and handle when in its home position / center point or other predetermined position. Based on known geometric relationships with 16, it can be determined. In addition to this, Alternatively, use an encoder to measure the initial pose and TCP to BCS To obtain the measurement posture, forward kinematics are calculated, and the virtual simulation is initialized. By using posture, even if the initial posture is "seed" into the virtual simulation, Good. This relationship changes when actuators 21, 22, and 23 are adjusted, and the related changes The transformation involves establishing the kinematics of the robot system 10 (for example, establishing dynamic transformations between these coordinate systems). It can be determined based on this. Thus, the robot system 10 has a home position The relationship between the posture of the eel tool 20 and the posture of the handheld part 16 becomes known. Therefore, tool 20 is moved by the user, and its posture uses tool tracker 52. When being tracked, the robot system 10 also tracks the posture of the handheld part 16 and its base. Track the coordinate system BCS. In some cases, as a result of the previous calibration process, It is assumed that the position of the tool 20 relative to the rod support 18 is known. Actuator 2 After the home position / center point and maximum travel amount for each of 1, 22, and 23 have been established, the control will be: Position and / or orientation data from the navigation controller 36, and actuator data. This will be based on measured location data (there may be multiple locations). The home location will be based on other locations. It may be calculated by aspect.
[0118] Both patient trackers 54 and 56 and tool tracker 52 are localized to the LCL coordinate system. Regarding Z, it was reported by localizer 44, respectively, LCLZ-PT and LCLZ- Since TT is provided, these conversions are with tool tracker 52 and patient trackers 54, 56 To determine the conversion between (TT-PT), they can be processed together. From there, the base seat The conversion from the target system to the patient tracker (BCS-PT) is calculated by the control system 60. The positions of the patient trackers 54 and 56 relative to the handheld portion 16 can be calculated. Since the target plane TP for trackers 54 and 56 is known, the control system 60 is It is possible to calculate the (BCS-TP) transformation from the coordinate system BCS to the target plane TP, and This reduces to the attitude of the target plane (BCS) in the coordinate system of part 16. In one example, B CS-TP is used to calculate the command posture BCS-TCP, which places TCP on the target cross-section TP. It may be used directly, and this is then used to move tool 20 to the desired position. Tuners 21, 22, and 23 may be instructed. In some examples, BCS-T CP calculation generates constraints to pull TCP towards TP within the virtual simulation VM. It may be used for this purpose. Throughout the text, the target plane transformation is explained, but the alternative of the target plane It should be understood that transformations related to target trajectories are also intended in this specification. ru.
[0119] In some cases, the digital filter receives input data from the localizer. Directly to the input data received from forward kinematics (for example, directly to the motion controller 188) , or any intermediate combination of the transformations described above, can be applied. For example: In this case, a moving average filter may be used, but other digital filtering techniques may also be applied. It is possible.
[0120] The instrument controller 28 adjusts the tool 20 toward the target state with at least one degree of freedom. To do this, a command signal is sent to each actuator 21, 22, and 23, The actuators 21, 22, and 23 described above may be controlled. The device controller 28 controls each Command signals are sent to actuators 21, 22, and 23, and actuators 21, 22, and 23 It can move tool 20 from a first set of positions to a set of command positions that bring it to the target state. In some cases, the command position is controlled in conjunction with the navigation system 32. The orientation of the handle part 16 and the orientation of the virtual object (target cross-section or target trajectory) The target state in the coordinate system of knowledge (i.e., defined for patient trackers 54 and 56) and Based on this, the actuator is determined by the device controller 28 and adjusted to the command position. Signals may be sent to diodes 21, 22, and 23.
[0121] The second software module is the motion controller 188. One function of 188 is the control of the device 14. The motion controller 188 controls the behavior From roller 186, data defining the target state 380 of the saw blade 20, such as the next command posture. It may receive this data. Based on this data, the motion controller 188 will determine if the device 14 The tool 20 can be positioned as commanded by the behavior control unit 186. For example, to control the device to a commanded position, each action (e.g., via inverse kinematics) Determine the next command joint position of rotor 148 of tuners 21, 22, and 23. In other words... Then, the motion controller 188 controls the commanded posture, which can be defined in orthogonal coordinate space, for the device 1 The system processes the actuator position (like the command joint position) and thereby controls the device control The roller 28 instructs the motor 142 accordingly to operate the actuator 21 of the device 14. It is possible to move 22 and 23 to a commanded position, such as a commanded joint position corresponding to the commanded posture. In some versions, the motion controller 188 controls the joint position of each motor 142. The motor 142 adjusts the position and commands the associated actuators 21, 22, and 23 to their respective joint positions. To ensure that the drive continues as much as possible, the torque output by each motor 142 is continuously Adjust to the joint position of each motor 142. In another version, the device controller controls the joint position of each motor 142. The motor 142 adjusts the position and commands the associated actuators 21, 22, and 23 to their respective joint positions. To ensure that the drive continues as much as possible, the torque output by each motor 142 is continuously Adjust to that.
[0122] Actuators 21, 22, and 23 adjust the tool support 18 relative to the handheld portion 16. The total length obtained may be known to the device controller 28. In some examples, The total length that the cutters 21, 22, and 23 can adjust is connected to the device controller 28. It is known, and the device controller moves the measured distance from position to position (e.g.) For example, by commanding a desired amount of linear movement via commanded rotation, actuator 21, Command signals may be sent to 22 and 23. The measured position may be a known position. or, between the current position of actuators 21, 22, and 23 and the actuator limits It may also be distance. The positions to which actuators 21, 22, and 23 move are the actuators Measurements from the positive and negative limits of lead screw movement (i.e., the position between the two ends of the lead screw) The distance may be fixed. The device controller 28 controls actuators 21, 22, 2 3 may be commanded to and from the position described below. The device controller To reach the desired adjustment of tool 20, actuators 21, 22, and 23 are moved to a certain position. The device controller 28 may instruct the tool 20 to move to the desired position. To achieve this, actuators 21, 22, and 23 are controlled to move linearly along the calculated distance. It may be controlled. In other examples, such as when an absolute encoder is used... The device controller controls each actuator determined by the absolute encoder. Based on the known positions of actuators 21, 22, and 23 within the diode movement limit, each The actuator 21 signals actuator 21 to position actuators 21, 22, and 23 at the commanded positions. , 22, 23 may be sent. Alternatively, in one example, incremental encoding -da shall, by reference, form part of this specification U.S. Patent Publication No. 2017 / Homing procedure performed during system configuration, as described in document 0156799 It may be used in conjunction with the actuators 21, 22, 23 and the joints at their centers. Position it, then determine the absolute offset of the incremental encoder. A minging procedure may be used to determine the offset of the incremental encoder. Thus, an incremental encoder is a forward-moving absolute encoder. It may work.
[0123] In some versions, the fixture controller 28 controls each actuator 21. For items 22 and 23, determine the difference between the commanded position of the actuator and the measured position. The device controller 28 outputs a target current (proportional to the actuator torque), The voltage is changed to adjust the current in the actuator from the initial current to the target current. The current generates the movement of actuators 21, 22, and 23, and each actuator 21, Move parts 22 and 23 toward the command joint position, thereby moving the device toward the command posture. This may occur after the commanded posture has been converted to joint position. In one example, each joint The measured position of the node may be derived from the sensor S described above, such as an encoder. good.
[0124] Throughout this explanation, unless otherwise specified, any example of posture refers to the current commanded posture, the current measured posture. This may be the current posture, a previously measured posture, or a previously commanded posture. Each of these may be different from the others, but the frequency of the control cycles between these attitudes The difference in position and / or orientation may be minimized in each control iteration. Furthermore, the position may be left to the user. Examples of meaning include the current command position, the current measured position, the past measured position, or the past It may also be the command position.
[0125] Controlling multiple actuators to move a tool to a desired location, such as a target plane or target trajectory. To arrange, although not limited to, impedance control, admittance control, Various control methods, including position control or hybrid control using multiple different control implementations. The law may be used. The implementation of admittance control is described in detail, but other methods may be used. It should be understood that this is also acceptable. In admittance control mode, the control system The M receives a force input (virtual or measured) and commands a position (or movement) output. For example, in admittance control, the system can be located at a specific position on the virtual mass. Model the force and / or torque, and use a virtual mass to achieve the desired target state of the tool. It operates to change the attitude of. In impedance control mode, the control system It receives a position (or motion) input and commands a force or torque output. For example, The pedance control system controls the position of the instrument (i.e., position, orientation, velocity, and / or acceleration). ) measure, sense, and / or calculate to achieve the desired target state of the tool, Appropriate corresponding torques may be applied to each of the diodes. Position control may also be performed in a certain manner. It may be used to control multiple actuators for dynamic implementation. Changes to both the rollers and the motion controllers are necessary to implement these control methods. What may be needed should be understood.
[0126] In some versions, once the procedure begins, the instrument controller 28 controls the tool 20 away from the desired pose (for example, virtual boundary 184 or planned virtual object ( The impact of the user's ability to position the TP (outside or away from these) can be mitigated. For example, in some embodiments, the tool 20 is moved away from the desired cutting surface. The fact that it is moving, or moving away from the bone by a predetermined distance / in a predetermined direction. As soon as the navigation system 32 provides the indicator, the device controller 28 The application of the power supply signal to the drive motor M is immediately terminated, preventing the tool 20 from cutting bone. , minimizing damage to soft tissue. In other examples, the drive motor M is, for example, cited This specification shall be made part of the "Surgical tool system with a powered handpiece and a console, the console is able to provide energization signals to the A US special edition titled "handpiece in either a motor drive mode or a direct drive mode" As described in Permission No. 7,998,157, use the motor brake to decelerate or stop. This may be permitted in some embodiments of this feature, allowing the tool 20 to assume a desired posture. The acceptable displacement may change as the depth of the excision increases.
[0127] The boundary generator 182, behavior controller 186, and motion controller 188 are soft It may be a subset of the software program. Alternatively, each may be any combination of them. This may be a software program that operates separately and / or independently. In the detailed document, the term "software program" refers to the various functions of the technical methods described. Used to write computer-executable instructions configured to perform the following actions. .
[0128] Referring to Figure 12, the target coordinate system TF has its origin and axes that define the target state. It may be any coordinate system, and the target state is the target state of tool 20 relative to tool 20. It may be specified with respect to any other coordinate system desired for monitoring the state. The target state is in the patient tracker coordinate system (e.g., the coordinate system of patient trackers 54 and 56), local color. In the Iza coordinate system LCLZ, base coordinate system BCS, virtual mass coordinate system VM, or TCP coordinate system, etc. It may be tracked in the implant coordinate system (IM) for the patient. It may be first defined in relation to, fixed in terms of the patient's anatomical structure, and one or more patients It may be fixed to the tracker. For the purposes of this disclosure, the target state is the desired shape of the saw blade. It may include momentum.
[0129] The current state of Tool 20 is the guided coordinate system GF (also known as the guided frame GF). It may be defined by (called). The guided coordinate system GF is linked to other coordinate systems. It may be done, or, in order to enable tracking of the current state relative to the target state, the current state The state may be transformed into any other coordinate system. The current state is in the tracker coordinate system (e.g., 2). Lutracker coordinate system (TT), localizer coordinate system LCLZ, base coordinate system BCS, virtual It can be tracked in the mass coordinate system VM, or the TCP coordinate system, etc. The B described herein In some versions, the current state of tool 20 is initially the TCP coordinate system. Defined by (for example, to facilitate illustration, TCP coordinate system and guided coordinates) (As shown to be the same as the target coordinate system GF). Guided coordinate system GF and target coordinate system Both TFs may be transformed into a common coordinate system for tracking purposes. The target state is, It may be defined beforehand, during the procedure, or both.
[0130] As explained above, in order to control multiple actuators, the commanded attitude is often This is then set. This command stance is the desired relationship between BCS and TCP, i.e., tool support The desired relationship between the main body and the handheld part may also be used. The commanded posture is in a known coordinate system. The position of the handle portion 16 and the saw blade inferred from, for example, the position of the planned implant. Like the pose of a planned virtual object, such as the target pose, it is in the same coordinate system (for example, patient It is determined based on the target state in the coordinate system associated with the trackers 54 and 56. The position is such that tool 20 is on the desired plane or a planned trajectory. This can be reduced to alignment with a virtual object. As mentioned above, the instrument control The 28 uses inverse kinematics to control the commanded attitude for each of the multiple actuators. The position is converted to the command position, and then a command is issued to actuators 21, 22, and 23 to move to the command position. Even if a command is sent and thereby the relative posture of the tool support 18 and the tool 20 is changed good.
[0131] The control system 60 controls drills, burrs, probes, guides, etc., or combinations thereof. They may also be configured to control other types of fixtures and actuator assembly configurations. This is intended to be the case. For example, this instruction, by reference, constitutes part of this specification. "Surgical instrument including housing, a cutting accessory that extends from the housing and actuators that establish the position of the cutting access It is described in U.S. Patent No. 9,707,043, titled "ory relative to the housing" It may be implemented to control the device. For example, as shown in Figure 32, the device An alternative example is shown with tool 20 as a drill or bur. Exemplary control is varied. The following is an explanation regarding the transformation. TCP uses a tooltra with respect to the localizer coordinate system LCLZ. Track tool 20 with kka52(TT) (LCLZ-TT conversion), registration data Using data or calibration data, tool tracker 52 and tools such as drills / bars 20 The location is determined by determining the conversion between TCP and TT (TT-TCP conversion). Similarly, patients are tracked using a patient tracker (shown as 54) and localizers. This ultimately boils down to a transformation from the LCLZ coordinate system to the patient tracker coordinate system (LCLZ-PT transformation).
[0132] As explained with respect to Figure 11, through bone registration processing, patient bones are removed from the bone. The conversion to trackers 54 and 56 is established (from bone to patient tracker). Implant planning process. Through this process, the conversion from bone to implant / anatomical model is determined (bone to IM conversion). Next, the patient tracker 54 is used to plan the implant (from patient tracker to IM). The conversion is calculated. The planned implant (IM) is the structure of the selected implant. Given the positions of the constituent elements, they may be associated with a target trajectory (transformation from IM to trajectory). Referring again to Figure 32, the combination of registration data and planning information is then... Using patient trackers 54 and 56, each planned virtual object such as each target trajectory The conversion is calculated between T and T (PT-TTRAJ conversion).
[0133] The position and / or orientation of the tool support 18, and therefore TCP, the tool tracker 52 It may be associated with (calculated via registration or calibration process, tool (Conversion from support to tool tracker). As described above, in some embodiments In this case, the conversion between the handheld part 16 and TCP (BCS-TCP) is performed by each actuary The command attitude is calculated based on the position of the t. The command attitude is BCS for a particular control embodiment. Since it can be determined for, the conversion between BCS and TCP is a matter of having various coordinate systems at hand. It is used to associate back with 16. Conceptually, the command attitude is from BCS to TCP. This is an update for the conversion, and in this example, TCP is the planned virtual object (target trajectory). This ultimately boils down to aligning with the TTRAJ (road). As an alternative, the appearance of the handheld part 16. In some cases, the force is a hand-held tracker directly attached to the hand-held part 16. It may be determined directly by using 53. This utilizes the TCP coordinate system. The need to perform conversions between BCS and TCP based on the position of each actuator. It can be removed.
[0134] The initial attitude of TCP relative to the base coordinate system BCS is determined by actuators 21, 22, and 23. When the tool support and the handle are in that home position / center point or other predetermined position, It can be determined based on the known geometric relationship between division 16 and division 16. Alternatively, use an encoder to measure the initial posture and calculate the forward kinematics to BC Obtain the measured attitude of TCP relative to S, and use that attitude to perform a virtual simulation. Initialization may "seed" the virtual simulation with an initial pose. This relationship changes when actuators 21, 22, and 23 are adjusted, and the related changes are: Based on the kinematics of the robot system 10 (for example, establishing dynamic transformations between these coordinate systems) The position can be determined. Thus, the appearance of tool 20 is like that of the home position. The relationship between the momentum and the posture of the handheld part 16 is known to the robot system 10. Therefore, tool 20 is moved by the user, and its posture is controlled by tool tracker 52. When used and tracked, the robot system 10 also tracks the posture of the handheld portion 16 and its Determine the base coordinate system (BCS). In some cases, as a result of prior calibration, It is assumed that the position of the tool 20 relative to the tool support 18 is known. After the home position / center point and maximum travel amount for each of the 21, 22, and 23 are established, control This includes position and / or orientation data from the navigation controller 36, and actuation data. This is based on measured location data from the data(s) (there may be multiple data points).
[0135] Both patient trackers 54 and 56 and tool tracker 52 are localized to the LCL coordinate system. Regarding Z, it was reported by localizer 44, and from LCLZ to PT and LCLZ To provide TT, these conversions are performed using tool tracker 52 and patient tracker 54, 5 They may be processed together to determine the conversion between 6 (TT to PT). From there, The conversion from the base coordinate system to the patient tracker (BCS to PT) is performed by the control system 60. The positions of the patient trackers 54 and 56 relative to the handheld portion 16 may be calculated. Since the target trajectories TTRAJ for patient trackers 54 and 56 are known, the control system 6 0 represents the transformation from the base coordinate system BCS to the target orbit TTRAJ (BCS to TTRAJ). The calculation can be reduced to the base course of the target trajectory (BCS) in the coordinate system of the handheld portion 16. In one example, BCS commands TTRAJ to place TCP on the target trajectory TTRAJ. It may also be used directly to calculate TCP from the posture BCS, which then means that Even if the actuators 21, 22, and 23 are commanded to move tool 20 to the desired position, Good. In some cases, the calculation of TCP from BCS is done using a virtual simulation VM. It can be used to generate constraints to pull TCP to TTRAJ within the network.
[0136] The instrument controller 28 adjusts the tool 20 toward the target state with at least one degree of freedom. To achieve this, by sending command signals to each actuator 21, 22, and 23, The actuators 21, 22, and 23 described above may be controlled. The device controller 28 controls each Command signals are sent to actuators 21, 22, and 23, and actuators 21, 22, and 23 are controlled. From the first set of positions, to the set of command positions that will bring tool 20 to the target state. You may move and align tool 20 with the target trajectory. In some examples, The command position is determined by the attitude of the handheld part 16 and the attitude of the virtual object (target trajectory), etc. The target state in the coordinate system of knowledge (i.e., defined for patient trackers 54 and 56) and Based on this, the instrument controller 28, which works in conjunction with the navigation system 32, makes a determination. And signals may be sent to actuators 21, 22, and 23 to adjust to the commanded position. stomach.
[0137] Virtual constraints In some embodiments, the control system uses one or more virtual constraints to indicate The position is calculated. Generally, virtual constraints are part of the virtual simulation, and other movements are also considered. A rigid body in a particular direction is considered by the control system 60 along with related information. It is a restriction and / or facilitation of movement. Each virtual constraint is a specific direction called the direction of the constraint. It can be considered that it acts along the direction. These unidirectional constraints can be applied, for example, to virtual simulations. In a simulation, two coordinate systems can be operated to align or repel each other. They may be combined to generate multi-degree-of-freedom constraints. Virtual constraints are in a certain direction. It is possible to either restrict or facilitate movement in a given area. Constraints have a directional meaning. Rather than "restricting" movement through attraction / repulsion, it allows for free (unrestricted) movement. Without allowing two tracked objects / coordinate systems in a virtual simulation Influencing movement in a specific manner based on relative movement or posture. All hypothetical constraints are added to the constraint solver, and the constraint solver uses the parameters that explain each hypothetical constraint. Determine the set and calculate the forces. The resulting forces are each potentially aligned in different constraint directions. A force / torque vector with 6 degrees of freedom that represents the balance or equilibrium of various virtual constraints that act in this way. It can be represented as a linear force. Where the term "force" is used in this instruction, it refers to a linear force. A generalized force / torque in which the force and / or rotational torque components are defined by one or more degrees of freedom. It should be noted that it can refer to a vector. For example, "force" can be in a single direction. A single force, a single torque around a single axis, or any combination thereof, for example, x component , force consisting of y and z components, and torque components around the x, y, and z axes It can also refer to the force / torque vector with 6 degrees of freedom in a given coordinate system that defines the force. stomach.
[0138] In some cases, each virtual constraint does not have equal force, and the forces acting upon the virtual constraints are The virtual constraints may be adjusted to be flexible depending on the position of the rigid body. For example, Depending on the anatomical structure of the person and the position of the instrument 14 relative to the target cross-section or target trajectory, The constraints may be adjusted so that the virtual constraints are flexible. The virtual constraints are infinitely rigid. Instead, each of the virtual constraints incorporates, for example, spring and damping parameters into the virtual constraint. By incorporating this, it has adjustment parameters to regulate the rigidity of the virtual constraints. The parameters include the constraint force mixture parameter (C) and the error reduction parameter (ε). Good. The virtual force is then a virtual rigid body (tool 20 or blade support) in the virtual simulation. It may also be applied to field 18. A forward dynamics calculation with 6 degrees of freedom is performed, and the result is Determine the movement of the virtual rigid body. The simulation is performed in time steps, and the results are used as commands. It is used as a posture.
[0139] The values of the adjustment parameters are larger for position constraints than for orientation constraints (for example) It may be more rigid than the other, or vice versa. Thus, the calculation of the virtual constraint is This leads to direct control of the motion parameters of the tool support that moves relative to the handheld part. Meter, for example, is part of this specification by reference, September 2020. The patent application filed on the 30th of the month, titled "Systems and Methods For Guiding Movement Of A Tool" As determined in PCT application No. PCT / US2020 / 053548 That's good too.
[0140] The state of the virtual constraint may be controlled during the operation of the device. For example, the state of the virtual constraint may be: Based on the relationship between the first state and the second state (for example, the current state and target state of the tool) It may change. For example, the tool's position and reference position may change during use. The state may be constructed as a function of the distance parameter between the position and the location. Therefore, the angle between the tool's position and the reference position changes during use. The state may be constructed as a function of Lameta. The state of each virtual constraint is the active state. , inactive state, including a first value for the adjustment parameter, and / or adjustment parameter It may also include a second value for the meter. In some examples, the value of the state This may be defined by a lookup table. Thus, certain constraints are defined by Based on the state of the system, it may be activated and / or deactivated.
[0141] In the example where the tool is a saw blade, the saw blade is positioned to the target state for multiple cutting surfaces. The blade state determines the angle between the current orientation of the saw blade and multiple target orientations of the saw blade. Determining the distance between the current position of the blade and multiple target positions of the saw blade, or the angle and the This may include determining both distances. The current state of the saw blade relative to the target state of the saw blade. To determine is the plane defined by the saw blade for multiple cross-sections in a known coordinate system. This may include determining the position of the saw blade adjacent to a specific target cutting surface. If a configuration is established, the state of one or more virtual constraints may change, and the control system will The target orientation may be further updated to reflect the selected cross-section. This technology is used in situations where a rotary cutting tool is used to align with one or more target trajectories. In addition, it may be implemented to control the device.
[0142] Virtual constraints are imposed when a user input device is used, or when the robot system 10 is virtual It may be activated when the constraint is automatically activated. In addition to this or Alternatively, the user can manually set virtual constraints (e.g., through the user interface U I modify one or more parameters of the virtual constraint via one or more of the following: It may be possible to activate / deactivate it, etc. The user may use this for this purpose. For this purpose, clinical application 190 may be used. Virtual constraints also apply to certain specific When surgical steps are being performed (e.g., cutting a desired section of tissue), Alternatively, the robot system 10 may detect or otherwise recognize certain conditions. It may be triggered when this happens.
[0143] In one example, referring to Figure 10, the state of the virtual constraint is that the tool has planned the cut or These may be modified depending on the area they are located in relative to the surgical site. The region is a virtual object 184 (illustrated spherical object) in one or more known coordinate systems. It may be defined by (see subject).
[0144] In one example of changing the state of a virtual constraint, the spring and damping parameters are changed during operation. It may be adjusted to: In some versions, the value for the adjustment parameter is It may change based on the relationship between the tool's current state and its target state. For example, adjustment. Even if the parameters are configured so that rigidity increases as tool 20 approaches the target state Good, or the adjustment parameter should be such that the rigidity decreases as tool 20 approaches the target state. It may be configured to do so. The adjustment parameters may be different for different constraints. For example, a virtual constraint may be a first virtual constraint having a first value for the adjustment parameter. This may include a second virtual constraint having a second value for the adjustment parameter, and the first The value of is greater than the second value, and as a result, the constraint force F c It is embodied in The virtual force and / or torque are greater than the second virtual constraint as a result of the first virtual constraint. It is adapted to move the tool strongly. The values of the adjustment parameters are more about posture constraints than The positional constraints can be larger (for example, more rigid), or vice versa. That's fine.
[0145] The adjustment parameter also determines the distance / angle from the tool's current state to its target state. Regardless of the relationship, it increases / decreases exponentially with distance; Changes linearly with the distance between the current state and the target state; changes with the constraint direction. To make it so that; to change as a function of time; to take into account the effects of gravity; or these The combination may be set to be such that... (See Figures 18-20) The adjustment parameter for one related constraint is set based on the relationship with another degree of freedom. It may be defined as follows: for example, the rigidity of the y-axis constraint is along the x-axis between the current state and the target state. The adjustment parameters may change based on the distance. The adjustment parameters may also be used to bring tool 20 to the target state. It may vary depending on the direction in which movement is required to reach the destination, for example, along the x-axis. When moving in one direction, the rigidity is higher than when moving in the opposite direction along the x-axis. The adjustment parameter is also the constraint force F. c Depending on the size, or any of its components, rigidity The constraint force that is ultimately calculated based on the virtual constraint, such as by increasing / decreasing it. F c It may be scaled depending on the. Fixed values for one or more virtual forces are also available. In some cases, virtual constraints may be added to the simulation. The parameters are set before surgery, set during surgery, and updated during surgery. , or combinations thereof. Adjustment parameters and their values, for specific relationships The correlations between them, and the ways in which they can be scaled, are controlled by the control system for later retrieval. It may be stored in one or more lookup tables in any suitable memory within M60. .
[0146] Modify the rigidity of one or more adjustment parameters of one or more constraints as a function of time and distance. This can provide advantageous actuator behavior in response to one or more events. For example, If the view of the tracker is temporarily blocked, when the tracker returns to the camera's line of sight... By slowly increasing rigidity, it can be distracting for the user. This minimizes sudden and violent actuator movements in the user's hands. Instead, when the instrument's tracker returns to the line of sight, the rigidity slowly increases. This is also good. This control of adjustment parameters based on functions of time and distance is described below. Furthermore, it can also be useful when handheld devices transition between different control domains. As described above, one or more virtual constraints may be automatically activated. In addition to this, Alternatively, the user can manually set virtual constraints (e.g., user interface - Modify one or more parameters of a virtual constraint via one or more of the UIs. It may be possible to activate / deactivate constraints, etc. The user can For this purpose, clinical application 190 may be used. Virtual constraints are also certain A specific surgical step is being performed (e.g., cutting a desired section of tissue). At that time, or when the robot system 10 detects certain conditions or by other means It may be triggered when recognition occurs.
[0147] Each virtual constraint also has configuration settings. The configuration settings are the constraint force mixture parameter (C) and Information regarding adjustment parameters such as the error reduction parameter (ε), the upper and / or lower limits of the force. The upper and lower limits of the force may include upper and / or upper and lower constraint distance offsets. As will be further explained below, the constraint force F c Constraint solver 189 generates This refers to the limits of the forces that are ultimately solved, calculated for each virtual constraint. Virtual constraints are two-sided. A constraint (for example, the force calculated to satisfy the constraint may be positive or negative) Even if (in each degree of freedom), the guided coordinate system GF is either the target coordinate system TF or the guided coordinate system GF. Regardless of whether it is located to the side, the gravitational force may be applied in either direction. The limit of the force is, It may be set high in both the positive and negative directions (for example, -100000 / +10000) (0 Newtons), may be set to any desired limit. Alternatively, a virtual constraint is one aspect The constraint may be unidirectional (for example, the force calculated to satisfy the constraint acts in only one direction). It is possible, that is, depending on the direction defined by the limit of the force, positive or negative (It can only be one of the two). Furthermore, constraints are "pulling" forces that apply in the direction that satisfies the constraint criteria. The structure is designed to create a "pushing" or "rebound" force that moves away from meeting the constraint criteria. This can be achieved. The upper and lower constraint distance offsets determine when the constraints become active. To define the virtual constraints, the upper and lower constraint distance offsets are set so that the current state is the target state. The constraint may be set to be active whenever the state is different from the current state.
[0148] If the control system is subjected to a higher force related to one or more of the virtual constraints, then the higher The force is a higher force for a rigid body that is affected by virtual constraints in the simulation. This can lead to an acceleration rate. The output of the virtual simulation, as the command attitude of the tool, corresponds accordingly. Then, commands are sent to actuators 21, 22, and 23, and viewed in a virtual simulation, higher This causes force and higher acceleration, and the tool support 18 is higher relative to the handgrip portion 16. It boils down to acceleration. Any force higher than that is a value calculated for its specific constraints, adjusted parameter It may be based on meter values, or a combination thereof. For example, a virtual constraint is adjusted A first virtual constraint having a first value for the whole parameter, and a second for the adjustment parameter. It may also include a second virtual constraint having a value such that the first value is greater than the second value, and Therefore, the resulting constraint force F c The virtual force and / or torque that are realized in the second Compared to the first virtual constraint, the tool is more strongly adapted to operate as a result of the first virtual constraint. It can be done.
[0149] Figures 11 and 17A to 17E demonstrate the calculation of the commanded attitude using one or more virtual constraints. This is a control diagram of the process performed to carry out the action. Figure 11 is a simplified control diagram. Figures 17A to 17E are more detailed. In these versions, the behavior control The troller 186 may be connected to the constraint generator 384. The constraint generator 384 is a behavioral control A boundary handler 389 sends boundary constraints to the controller 186, and the behavior controller 186 The behavior controller 18 may also include a guide handler 385 that sends guide constraints to the behavior controller 18. 6 may include a constraint solver 189 and a virtual simulator 388. Motion constraint handler 390 is a constraint on joint centering, kinematic motion, workspace, and joint limits. This is sent to the behavior controller 186, and then to the constraint solver 386 and virtual simulator 388. To be added to the motion constraint handler 390, in some cases the motion constraint handler 390 is added to the motion constraint handler. It is part of the Controller 188. Virtual simulator (referred to as "sim" in Figure 11, Figure 1 (Shown as virtual forward dynamics in Figures 7A to 17E) includes constraint forces, as well as damping forces, inertial forces, and Based on potentially additional forces, including externally sensed forces, virtual dynamics on tool 20 You may also simulate this. Constraint generator 384, constraint solver 189, and virtual simulator Each of the Ta388s is connected to one or more of the aforementioned controllers in non-temporary memory. Includes executable software that is stored and implemented by the control system 60. Constraints As explained below, these forces and torques (among the many inputs) are virtual rigidity In order to finally determine how it will affect body movements, we use virtual simulations. Tool 20's virtual rigid body model allows forces and torques to be virtually applied to the virtual rigid body. A virtual simulation is performed against it, and it can be added to a virtual mass coordinate system VM. In the simulation, the virtual forces and torques that can be applied to the virtual rigid body are determined using tool 20. It is adapted to move toward the target state. Virtual forces and torques are applied to the virtual object, that is, This will influence the overall movement of Tool 20 towards the target state.
[0150] In one example, as shown in Figure 11, the behavior controller 186 performs a virtual simulation. External force sensor input to the control is not used. The use of virtual constraint-based control does not utilize external force sensors. Even without a virtual simulation, it can provide some favorable results. Modeling constraint systems and virtual forces in this context makes it easy to understand constraints linked to different outcomes. It enables fusion. The constraint system also intuitively provides parameters for each constraint. This allows for adjustment in a more precise manner. Furthermore, the use of speed constraints allows for adjustment in other numerical integrals or systems. Due to improved numerical stability compared to the simulation method, for a given sample rate , providing higher responsiveness (e.g., higher rigidity). However, as described Thus, the use of external force sensors, or other approximations of external forces such as current-based estimation of external forces, It may be used in conjunction with the systems and methods described in the specification.
[0151] Guide constraints One type of virtual constraint is referred to herein as a guide constraint. A guide constraint is, Defined to ultimately influence the movement of Tool 20 toward the target state. The approximate reasoning is that the guide constraints should not become infinitely rigid, as will be further explained below. It has configurable spring characteristics and damping characteristics. More specifically, in several versions In this context, the guide constraint is the force exerted in the opposite direction to the target state by other constraints. To completely prevent movements that violate constraints, such as those caused by torque, It is defined as a "soft constraint."
[0152] Up to three guide constraints related to the target position, and up to three guides related to the target orientation. One or more guide constraints, including the constraints, are used by the control system to guide the tool support 18. It can be used by M60. As will be described in more detail below, the control system 60 , satisfying or attempting to satisfy guide constraints (and other virtual constraints, if used) It operates to calculate the constraint force Fc. c This moves tool 20 to the target state. Therefore, virtual forces and torques are incorporated into it. Each of the guide constraints is a one-dimensional virtual This can be considered a constraint. The control system positions the guided frame to the target frame. To achieve this, multiple one-degree-of-freedom constraints may be used. As mentioned above, guide constraints are, (In each degree of freedom) Which side of the target coordinate system TF is the guided coordinate system GF located on? Regardless of whether it's a dolphin or not, it can exert gravitational force in either direction, which is what makes it "two-sided." This is a constraint. In some versions, the guide constraint is a constraint parameter of the desired constraint parameter. In a virtual simulation, the velocity of an object is changed according to the command. Force and / or torque are calculated to apply a virtual impulse to the object, speed These are impulse constraints. In some versions, these constraints are quoted. The following is described in U.S. Patent No. 9,119,655, which forms part of this Specified Specification. This is similar to what is used in impulse modeling.
[0153] In Figure 12, the guide constraint GC related to the target attitude in at least one degree of freedom is These are exemplarily represented as being defined in the target coordinate system TF. The constraint force F is ultimately calculated as a result of approximately GC (and other active virtual constraints). c incorporates virtual spring and damping characteristics to guide the TCP of tool 20 to the target posture. It is shown as including forces. The guide constraint is the orientation of the guided coordinate system GF (for example) (defined with respect to the virtual mass coordinate system VM) and the attitude of the target coordinate system TF (e.g., patient attitude) It may be based on the definition of (or multiple) cc. The attitudes of the given coordinate system GF and the target coordinate system TF (in at least one degree of freedom) are, respectively The current state of the saw blade and the target state of the saw blade, or the current state of the tool and the tool's teeth, respectively. It is used to calculate the target state.
[0154] Each guide constraint is set along or around the x, y, or z axis of the target coordinate system. It has a defined constraint direction. The constraint direction is the direction in which the constraint can effectively apply force. In the case of rotational constraints, the direction of the constraint is such that the constraint effectively applies torque around it. It is an axis that can be used. The constraint direction is defined in the guided coordinate system (GF) Alternatively, the constraint direction is either in the target coordinate system (TF) or the guided coordinate system (GF). It may also be defined using any known relation to any of them. In one example, three translations Guide constraints and three rotation constraints determine the position and orientation of the guided frame relative to the target frame. It can be used to achieve perfect alignment. However, if two or fewer translation constraints are used This may be done, and two or fewer rotation constraints may be used.
[0155] In one example, the guide constraint is calculated with three degrees of freedom: one position and two orientations. Position guide constraints are defined by elevation angle, and orientation constraints are defined by pitch and roll, and these are Used to align the saw blade to the target plane TP. The orientation is the orientation of the target orientation (TF). It is calculated by comparing the guided frame on the saw blade. Roll (X axis) The rotation around the (Y axis) and pitch (rotation around the Y axis) of the saw blade are controlled by the XY plane (guided seat) How much does the saw blade rotate until the target coordinate system is parallel to the XY plane of the target orientation? It is used to define whether it needs to be done. In this example, the three constraint directions are , along the z-axis of TF (elevation angle), around the x-axis of TF (roll), and y of TF This becomes the thing around the axis (pitch). In another example with other virtual objects, Two positional guide constraints and two orientational guide constraints may be used.
[0156] Alternatively, a guide can be used to align the saw blade or other tool to the target position. Any number of degrees of freedom can be used in a given coordinate system. For example, a position with 1 degree of freedom (on a plane) (Regarding the points mentioned above), the positions and orientations of the 3 degrees of freedom and the 4 degrees of freedom, and This will include guide constraints for aligning three positions and three orientations, resulting in a complete 6 This is a stance of freedom.
[0157] Guide constraints (and other virtual constraints, if used) are primarily the following three runtime constraints Lameters, i.e., guide constraints for each one-dimensional dimension, are used for the virtual simulation. Constraints for mapping to coordinate systems (e.g., between the target coordinate system TF and the virtual mass coordinate system VM) Along the applicable constraint directions defined by Bian Jp and the target coordinate system TF, or The surrounding guide constraints scalar velocity (linear or angular) (for example, the desired velocity is such that the patient When the patient is unable to move and the relevant target state defined for the patient is not changing, the value is zero. It is acceptable, but since the target state can be associated with the patient, when the patient is moving, it is less than zero. The desired speed Vdes (or Vp2) and the guided frame GF (which may be outside) Along or around the applicable constraint direction defined by TF, target frame T This is how close it is to F, and the constraint distance Δd determines whether or not the constraint is violated. Thus defined. In some cases, Δd is the distance from the target state to the current state. The distance / angle is indicated, and the guide constraint is that the current state matches the target state for the relevant degrees of freedom. It is a violation whenever it is not present.
[0158] If constraints other than the guide constraints are used, the constraint solver will ultimately determine all virtual constraints. The task is to provide a solution for the constraint force Fc that satisfies or attempts to satisfy the approximate condition. Therefore, other constraints do not affect the magnitude and / or direction of the restricting force. What is possible should be understood.
[0159] Joint centering constraint The joint centering constraint is the centering position of each actuator of multiple actuators. In order to influence the movement of the tool support 18 relative to its position, a virtual simulation is performed. This is another virtual constraint used to represent virtual forces and / or torques. (Joint centering) The constraint is to maximize the amount of movement of the tool support 18 available relative to the handheld portion 16. The movement of the tool support 18 relative to the handheld portion is taken into consideration by the control system 60. It is used when implementing specific restrictions in Tool 20. For example, the movement towards Tool 20 The specific restriction is that when other constraints are not active, the joint is moved to its central position (or, the eu The joint can be returned to a different joint position, as determined by the control system 60, or both. It may be so. Alternatively, joint centering constraints are a specific concern in whole knee treatment. For cutting purposes, or for specific trajectories in certain bone drilling procedures, For optimal balance in specific surgical procedures, the tool support relative to the handgrip portion 16. Positioning of 18 may be made easier. Joint centering constraints will be explained further below. Therefore, to prevent the joint centering constraint from becoming infinitely rigid, the spring and It may also have damping characteristics. More specifically, in some versions, The nodal centering constraint is caused by forces and torques applied in the opposite direction by other constraints. Joint centering constraints do not completely prevent movements that violate the constraints, such as motions that violate the constraints. It is defined as a "soft constraint."
[0160] Joint centering constraints are imposed by the control system 60 to move the tool support 18. It may be used. As will be described in more detail below, the control system 60 is a joint sensor Even if it operates to calculate the constraint force Fc that satisfies or attempts to satisfy the tarling constraint Good. The constraint force Fc is virtual in order to move the tool support 18 toward the centering position. Force and torque are incorporated into it. The joint centering constraint is a one-dimensional virtual constraint and It is possible. In some versions, the joint centering constraint is the desired constraint. A virtual simulation to cause changes in the object's velocity according to the rmeter. Force and / or torque are calculated to apply virtual impulses to the object in the image. , a velocity impulse constraint. If other constraints other than joint centering constraints are used, The constraint solver ultimately finds a constraint force F that satisfies or attempts to satisfy all virtual constraints. c The task is to provide a solution regarding, and thus other constraints are controlled. It should be understood that this can affect the magnitude and / or direction of the force.
[0161] In Figure 21, the joint centering constraint is applied to the joint space of each actuator. This is illustrated by example (along the translation axes of actuators 21, 22, and 23). The constraint direction of the node centering constraint is along the translation axis of the actuators 21, 22, and 23. Therefore, only linear forces along that direction can be applied. Each joint centering The constraint force calculated as a result of the constraints guides the actuator position to the centering position. It incorporates spring and damping characteristics that act along the translation axis of the corresponding actuator. It is illustrated as including linear forces. The joint centering constraint is the same in other coordinate systems as well. It should be understood that it can be defined as all actuators or within the device. The fact that fewer actuators than all may utilize joint centering constraints means that It should be understood.
[0162] Joint centering constraints are mainly based on three runtime parameters, namely, one-dimensional joint centering. Mapping centering constraints to the coordinate system used for the virtual simulation (example) For example, between joint movement and the virtual mass coordinate system VM, the constraint Jacobian Jp and the previous control The command position used to control each actuator in the previous command position The desired configuration is that the actuator should return to its original position when the node position and other constraints are not active. Defined by the joint centering position, which is a fixed joint position. It is understood that the currently measured position can also be used as a constraint for joint centering. It should be. The previous command position offered less delay and improved stability in control. It can be provided. Joint centering constraints may be two-sided, and when active Always pull the joint towards the centered position.
[0163] The joint centering position is determined by each of the rotors 148 along their respective lead screws. It may be a position with a relatively large amount of movement. In other words, a joint centering position. As explained above, each actuator has a "home" or "idle" position. This is a possible explanation. For each actuator, the joint centering position is determined by the lead screw. By setting the tool support to the home position, which is the central position of the rotor along the line, the tool support is This allows for achieving the maximum range of motion. Alternatively, the joint centering position can be multiple It is acceptable if one or more of the actuators are set to a position other than the home position. i. This position can be considered a secondary joint centering position. Secondary joint centering The ing position may be different for each of the actuators 21, 22, and 23. When the tuner is positioned in a secondary joint centering position, one or more actsuaries 21, 22, and 23 are the same if the joint centering position is the home position. Only a portion of the unidirectional movement that the actuator might have possessed may be possible. It should be understood that this does not exist. In one example, the first joint centering position is, The "home position" is the second joint centering position, and the second joint centering position is a position other than the home position. While not particularly limited, when the actuator is in the second joint centering position The actuator, when set to the same joint centering position as home, 50 percent of the range of motion in a particular direction that the actuator would have had is not reached. It may be full, less than 40 percent, or less than 30 percent. However, Regarding certain surgical procedures or certain users, certain (potentially) To provide more movement in difficult directions, to improve ergonomics, or equipment To consider how it is held, the joint is located away from the central position of the actuator. It may be useful to bias the centering position. Each actuator has a number of different It may have a preset for joint centering position or preferred balanced placement. This should be understood as: the joint center corresponding to a favorable grip / balance situation. A set of centering positions (a set of joint centering positions for all actuators) These may be grouped together. These centering positions are for one or more user input devices. It may be used and made selectable by the user.
[0164] Each actuator 21, 22, and 23 is in the first joint centering position (home position) In some cases, the adjustable amounts of actuators 21, 22, and 23 are typically maximized symmetrically. This facilitates the user in keeping the tool 20 in the desired position, i.e., the joint center The ring position is typically set to the actuator's central or "home" position. Depending on the specific geometric shape and configuration of the device 14, various levels of adjustment are possible. In some examples, all actuators 21, 22, and 23 are their first joints When in the centered position, tool 20 has zero change in the orientation of the roll, and the z axis. Assuming there is no translation, the pitch direction is adjusted by approximately ±18 degrees relative to the joint center position. They may be connected. In some examples, all actuators 21, 22, and 23 are connected. When these are in the centered position, tool 20 has zero change in the direction of pitch, and Assuming there is no translation along the z-axis, the roll is approximately ±33 degrees relative to the centering position. The orientation of the actuators 21, 22 may be adjusted. In some examples, all actuators 21, 22 When 23 is in the centering position of its first joint, tool 20 moves in the direction of pitch. Assuming zero change in the direction of the rotation and roll, relative to the first joint centering position The z-axis translation may be adjusted by only about ±0.37 inches. Tool 20 is, of course, movable. During the operation, pitch, roll, and z-axis translation are controlled simultaneously, sequentially, or in combination thereof. It may be adjusted.
[0165] Joint centering constraints apply to the position of one or more actuators. The tuner is "frozen" into freehand mode to prevent unnecessary operation and movement. When the device 14 is a considerable distance from the target bone, the actuator moves It may be used to prevent the generation of excessive heat. Freehand mode is , several types of procedures, such as cutting the patella or other anatomical structures. It may be useful for execution. Actuators 21, 22, and 23 are freehand motion If further movement is frozen in the do, the instrument 14 will support the tool against the handgrip portion 16. Without any movement of body 18, it behaves very similarly to a conventional cutting instrument. The virtual boundary 184 is It may also be deactivated in freehand mode. Any suitable input device for an appropriate user interface (e.g., push buttons, foot buttons) It may also be accessed via a switch, etc. In some versions, the user can enter The force device is activated so that the tool controller 28 holds the tool in place or By selecting freehand mode, which commands the tool to freeze, Movement (i.e., activating joint centering constraints based on a specific joint centering position) You may choose to do and / or change the joint centering position. In order to freeze the tool 20 in a specific position, the instrument controller 28 controls the joints. Enable centering constraints and centering for each actuator 21, 22, and 23 The position may be set to a joint position corresponding to the desired tool posture (for example, the corresponding joint (By performing inverse kinematics for the desired tool posture to obtain the joint position.) In another example, the joint centering position remains at zero (i.e., the home position). It may be set to zero, or it may be reset to zero. Furthermore, the joint centering position is When the mode is requested by the system, the encoder or other actuator position is set The actuator may be set to its current position, determined using feedback. As explained above, the joint centering position is adjustable. Secondary joint center The ring position may be set using a user input device or set automatically. It's okay.
[0166] The device controller 28 can also automatically control the state or behavior of joint centering constraints. Good. For example, the state of joint centering constraints is controlled based on the state of the tool and the target state. It may be controlled. Alternatively, the joint centering constraint state is the position of tool 20 and The joint may be controlled based on the position of a reference point related to the bone in a known coordinate system. The centering constraint state is determined by the joints of each of the multiple actuators 21, 22, and 23. This may include the centering position value and / or adjustment parameters for joint centering constraints. For example, the device controller 28 allows the user to maintain a comfortable grip, control, convenience, and resolve issues. Due to a thorough understanding of anatomical structures, unexpected anatomical structures, or combinations thereof Furthermore, the hand portion 16 for tool 20 can be used to resume the procedure with the same grip. Thus, the state of the tool 20 and the bones, as determined by the navigation system 32. Based on the reference position, when the tool 20 is removed from the cut, the actuator For each of these, a joint centering position constraint is automatically applied based on a specific joint centering position. This may also be enabled. In such an example, the joint centering position is the saw blade from the cut. The position of each actuator 21, 22, and 23 as measured at the time before the removal of 380. It will be set to [location].
[0167] Furthermore, the joint centering position was explained from the perspective of joint centering constraints, but the above is not all. The joint centering position control described uses an actuator position control system. It should be understood that, as in some cases, it may be used without the use of virtual constraints. In this embodiment, the control system simply moves each joint to the set joint centering position. The actuator position may be controlled. Without implementing a constraint solver, the joint center When joint centering behavior is used, joint centering is performed in the same manner as joint centering constraints. The operating state may be controlled.
[0168] The instrument controller 28 calculates between the position of the tool 20 and the position of the reference position related to the bone. Based on the given distance parameters (e.g., distance; magnitude), the joint centering constraint is applied. It may be configured to control the state. The distance parameter may be direction, magnitude, or both. It may also be the case that the distance parameter is in the direction away from the bone, and When the size is larger than the first threshold, such as 15 cm, the controller... It is acceptable to switch to this state.
[0169] As explained above, the joint centering position is adjustable. Secondary joint centering The positioning position may be set using a user input device, or it may be set automatically. It may be done. In a particular configuration, secondary joint centering position and joint center Activating the ring constraint is done by using saw blades on multiple cutting planes in a known coordinate system. It may be based on the state of the defined surface, or on a tool for multiple planned trajectories. It may also be based on the state of the axis as defined by that.
[0170] More specifically, the secondary joint position and activation of the joint centering constraint is the saw blade The angle between the current orientation and the multiple target orientations of the saw blade, the current position of the saw blade and the multiple target orientations of the saw blade. The distance between the position, or both of these angles and distances, may be based on the angle value, the distance Multiple cuts selected by the user based on either a value, or both an angle value and a distance value. Determine one of the faces. Thus, a specific secondary for each actuator. The centering position is for the purpose of improving usability, and is a tool support for the handle. It may be selected to optimize body posture. Similar embodiments exist for other types of surgical tools. It can be used for the trajectory of the rudder.
[0171] Referring to Figures 22A to 22C, an example of controlling joint centering behavior is shown below. This will be explained. In this example, to distinguish between regions IV and V and the region immediately adjacent to the bone, A virtual boundary or distance parameter may be used. In this example, first, Figure 22A and Figure Referring to 22B, the control system is such that the tool moves from the first region (region IV) to the second region. The current joint position can be used later as the joint centering position when moving to (region V). The settings are configured to be saved automatically. As can be seen in Figure 22A, the tool is Located on the cross-section, the guide constraints actively align the tool 20 to the cutting surface. Stem 60 analyzes the current joint position as tool 20 moves from region IV to region V. Then, take a "snapshot" of the joint position, turn off guide constraints, and tool 20 It is possible to return to the centered position via the previously configured joint centering constraints. Enable (Figure 22B). When returning from region V to region IV, the joint centering constraint is, The values are reset to those in the "Snapshot" (for example, restoring alignment), and the tool exits. Ensure that it is aligned to the position (Figure 22C). The guide constraint is that tool 20 is at the bone entrance. It does not need to be activated until it enters a zone defined by an immediately adjacent area. The restored joint position is the one captured when it was previously removed from the cut, the one about the handle. To reposition the user to the intermediate engineering starting position, a guide constraint may be implemented. When the blade's orientation (like the VM of the blade) is close to the bone (from the VM of the blade to the reference coordinate system / reference position) It may be reactivated (considering the threshold distance).
[0172] Joint centering constraints can be applied simultaneously with guide constraints, joint limit constraints, or workspace constraints. It should be understood that this can be a constraint solver. In such a situation, the constraint solver is When calculating how an actuator should be controlled, for example, calculating the commanded attitude. When doing so, it attempts to balance the forces exerted by each of the virtual constraints. Thus, a certain In this example, the active joint centering constraint is determined by a specific joint centering position. Despite this, the actuator is not actually controlled to its joint centering position. This could result in other constraints having a higher priority. The priority of various constraints is determined through the use of various adjustment parameters, such as rigidity or damping. It may be adjusted. Of course, different virtual constraints do not need to be active at the same time. This is also being planned.
[0173] In one example, the virtual guide constraint is that when TCP transitions from region II to region I, It may also be active. The virtual joint centering constraint is TCP from region III to region I. It may be activated when transitioning to I. Similarly, joint centering constraints are TC P may be deactivated when transitioning from region II to region I. Of course, this is optional. The domain of numbers may be defined to have any specific shape. There are three virtual joint limit constraints. It is intended that it may be active in all areas. These areas can be represented as virtual objects of various shapes, or relative to a reference position. It may be defined as a distance parameter.
[0174] In some cases, the control system 60 controls the posture of the instrument 14, the blade support, or the The posture of the support, the posture of the handheld part, and at least one of the actuators. Node position, measured position of at least one actuator 21, 22, 23, at least Another actuator 21, 22, 23's previous commanded position, at least one actuator Adjustment parameters based on the previously measured positions of ETARs 21, 22, and 23, or combinations thereof. Use a meter to change each of the virtual forces (virtual constraints). In some examples, control System 60 determines the target position of the saw blade 380 or tool and the measured position of the handgrip portion 16. Based on this, guide constraints are generated. The control system 60 also generates at least one action The centering position of the tuners 21, 22, and 23, and the actuators 21, 22, and 23 Generates joint centering constraints based on at least one position within the control system. 60 virtually simulates the dynamics of a virtual saw blade or tool based on constraint forces. Then, constraint forces are calculated based on guide constraint forces and joint centering constraint forces. In the example, the control system 60 also includes a blade support or tool support, a handle, Alternatively, determine the external force applied to the instrument 14, such as between the blade / tool support and the handle portion. In the calculation, external forces are used to determine the constraint forces, and virtual rigid bodies are used in the virtual simulation. External forces can also be added. External forces are measured with one or more degrees of freedom and expressed as force / torque vectors. It may be modeled. The results of the virtual simulation will ultimately involve multiple actuators. Command postures that can be used to determine the command joint positions for each of 21, 22, and 23. The centering position is the midpoint of the actuator range and the relationship of that actuator. It is also acceptable to have it between the node limit and the boundary.
[0175] In the virtual simulation, each virtual constraint is modified using adjustment parameters. It is also possible. Each adjustment parameter is set in the virtual simulation, and each virtual constraint is It may be made to have an increased effect against the restricting force. For example, joint center The guiding constraint may have an adjustment parameter having a first value, and the guide constraint may have a second value It may have adjustment parameters, each of which has its own virtual constraint This is to have an increased effect on the constraint force that is ultimately calculated. The adjustment parameters for joint centering constraints are smaller than the adjustment parameters for guide constraints. This causes the constraint force to center at least one of the actuators in the joint. Move tool 20 to the target position, for example, by moving it away from the center point / home position. The virtual simulation and subsequent command posture and command joint position are biased in the direction of the command. The control system 60 controls the position and position limits of at least one of the multiple actuators. Based on this, the joint limit constraint may be further activated. The joint limit constraint is other virtual The constraints (e.g., guide constraints, joint centering constraints) are resolved along with the constraints, and the constraint forces are determined. This may also be the case. In one example, the joint centering constraint adjustment parameter has a first value, The guide constraint adjustment parameter has a second value, and the joint limit constraint adjustment parameter is guide It has a third value that is greater than the values of the constraint adjustment parameter and the joint centering constraint parameter. The adjustment parameters for joint limit constraints are the adjustment parameters for guide constraints and joint center. Because it is larger than the adjustment parameter of the cutting constraint, the virtual simulation is virtual saw blade The constraint forces applied increase the likelihood of satisfying the joint limit constraints. In this example, the joint limit constraint has the highest value, therefore the virtual force acting on the virtual saw blade It is guided to a position within the joint limit and returns to a commanded position that does not exceed the joint limit. One such adjustment parameter that can be used in this context is the rigidity of the constraint.
[0176] Joint Limit Constraints The joint limit constraint is applied to the movement of the tool support 18 when controlling multiple actuators. The virtual forces and / or torques used in the virtual simulation to exert influence This represents another virtual constraint. The joint limit constraint is the movement of actuators 21, 22, and 23. In the movement of the tool support 18, which is intended to prevent it from moving outside its range The joint limit constraints are used by the control system 60 to implement specific restrictions. Furthermore, a threshold can be enforced for movement that is considered too close to the actuator's movement limit. As will be explained further, the joint limit constraint has configurable spring and damping characteristics. However, joint limits such as soft stops and hard stops can cause the tool to prolong excessively. It remains operational to prevent it from moving forward or backward.
[0177] Joint limit constraints are used by the control system 60 to guide the tool support 18. It may be used. As will be explained in more detail below, the control system 60 has virtual constraints (articulations). It operates to calculate the constraint force Fc that satisfies or attempts to satisfy (including limit constraints). The constraint force Fc is set in a manner intended not to violate the actuator joint limits. To move the support 18 and the tool 20, virtual forces and torques are incorporated within them. Therefore, joint limit constraints can be considered as one-dimensional virtual constraints. For example, joint limit constraints are, It may be one-sided, and thus it is possible to "push away" from the joint limit, It is not necessary to pull towards the node limit. In some versions Joint limit constraints cause changes in the object's velocity according to the desired constraint parameters. To achieve this, virtual impulses are applied to objects in the virtual simulation. This is a velocity impulse constraint from which force and / or torque are calculated. In addition to joint limit constraints. If other constraints are used, the constraint solver will ultimately satisfy all virtual constraints. Alternatively, the task is to provide a solution for the constraint force Fc that is to be satisfied. Thus, other constraints may influence the magnitude and / or direction of the constraint force. It should be understood.
[0178] Joint limit constraints are primarily based on three parameters: the previous commanded joint position and the joint limit. The position and joint movement are related to the movement of a virtual mass, and are used for joint centering constraints. The same constraint Jacobian Jp used is defined as the joint limit constraint. The calculation of the positional difference between the boundary position and the previous commanded position is used. In some embodiments, Therefore, joint limit constraints are calculated based on the current measured position instead of the previous commanded position. It may be calculated.
[0179] The joint limit constraints exceed the physical and virtual limits of each of the actuators 21, 22, and 23. And a force to prevent actuators 21, 22, and 23 from extending and / or retracting The following are determined and calculated. The device controller 28 controls each active axis AA1, AA2 and Analyze the previous command position along AA3 and determine the joint limit constraints. The joint limit constraints are: When calculating the commanded posture, joint centering constraints, guide constraints, workspace constraints, and / or This is balanced with other virtual constraints. Joint limit constraints are measured during the homing procedure. The count value set just before the end of the movement, as enabled by the software. It may be a stop that is based on joint limits (soft stop). The soft stop may be a value pre-programmed into the software. The 'p' may be a combination of a count value and a pre-programmed value.
[0180] Workspace constraints The workspace constraint is the movement of the tool support 18 when controlling multiple actuators. Virtual forces and / or torques used in virtual simulations to influence the outcome This is another virtual constraint representing the "k" space. The workspace constraint means that tool 20 is outside its workspace. The tool support 18 has certain limitations on its movement, which are intended to prevent it from moving. To implement it, it is used by the control system 60. The workspace constraint is the joint space Rather than (although this is true for joint limit constraints), the one defined in orthogonal coordinate space. The force is exerted along the direction. The workspace constraints are as described below. It has adjustable spring and damping characteristics so that it does not become infinitely rigid. Specifically, in some versions, the workspace limit constraint is, the workspace constraint is, Motion caused by forces and torques applied in the opposite direction due to other constraints, such as It is defined as a "soft constraint" that inhibits but does not prevent opposing movements.
[0181] The workspace constraints include the tool support 18 and various locations outside the defined workspace. To prevent the movement of tool 20, it may be used by the control system 60. As will be explained in more detail, the control system 60 satisfies virtual constraints (including workspace constraints) It operates to calculate the constraint force Fc that is being satisfied or is attempting to be satisfied. The constraint force Fc is calculated The tool support 18 and the tool 20 are moved in a manner intended not to violate space restrictions. To achieve this, virtual forces and torques are incorporated into it. The working space limit constraints are: The constraint of the workspace limits means that a force can be applied in only one direction (i.e., from the workspace limits) In the sense that "pushing away" does not mean pulling towards the limits of the workspace, This can be considered a virtual constraint on dimensions. In some versions, the workspace constraint is, To cause a change in the object's velocity according to the desired constraint parameters, a virtual stain Applying a virtual impulse to an object in a simulation, force and / or This is a velocity impulse constraint from which the ruck is calculated. As explained above, workspace constraints The constraints are set manually or automatically (based on the various positional / angular relationships described throughout the text). ) May include one or more adjustable adjustment parameters.
[0182] The workspace constraints are defined by the tool's orientation and, typically, the BCS coordinate system. It may also be based on a fixed orthogonal coordinate space. The orientation of tool 16 is calculated as described above. It may be released. As will be described in more detail below, the control system 60 is limited to the working space. Constraints that satisfy or attempt to satisfy boundary constraints (and other virtual constraints, if used) It operates to calculate the force Fc. The constraint force Fc is calculated so that the working space limit constraints are not violated. To move tool 20, virtual force and torque are incorporated into it. The constraints are along the normal of the workspace boundary at the point where tool 20 touches the workspace boundary. Furthermore, it has a constraint direction that points inward toward the allowable workspace area. Typically, The approximate direction is defined in the BCS coordinate system, but other coordinate systems may be used. Constraint direction This is the direction in which the workspace constraint can effectively apply force. Next, along the direction of the constraint... The constraint Jacobian Jp is determined to correlate the movement of tool 20 with the movement of the virtual mass VM. This may also be the case. In addition, workspace constraints may also be the appropriate tools that are in contact with each other. By comparing the usable workspace constraints with the tool posture, the penetration depth (i.e.) You may also use a calculation of how much the workspace constraints were violated along the constraint direction.
[0183] If constraints other than the workspace limit constraint are used, the constraint solver will ultimately determine all The task is to provide a solution for the constraint force Fc that satisfies or attempts to satisfy the virtual constraint. Thus, it is understood that other constraints can influence the magnitude and / or direction of the restricting force. It should be done.
[0184] As best shown in Figures 3A to 5C and Figure 23, multiple actuators 21 ,22,23 include at least pitch, roll, and translation along axis Z (vertical translation). With 3 degrees of freedom, the tool support 18 and the tool 20 can be moved relative to the handgrip 16. It is possible. These individual degrees of freedom are shown in Figures 3A-3C (pitch) and Figures 4A-4C (row). This is best illustrated in Figures 5A to 5C (z-axis). Figure 23 shows the shape of a cube. An example of a given orthogonal coordinate space is shown, expressed as a volume. Other shapes are implemented as volumes such as octahedrons, asymmetric octahedrons, spheres, cubes, and cylinders. It may also be the case that, in some examples, the orthogonal coordinate space defined as volume is When each actuator is in the home position, between the tool support 18 and the handgrip portion The shape may be asymmetrical, such that it is asymmetrical with respect to the planar position, and the orthogonal volume is plane It may also be something that is larger on the plane than below. In this example, the volume is It may be defined by multiple orthogonal points. This volume is a working space (dexterous worksp It can be smaller than ace (smaller than all reachable configurations). Alternatively, A given orthogonal space may be defined separately for each degree of freedom. For example, an orthogonal space is: It may be defined using multiple orthogonal points. A given orthogonal space is also defined as the saw blade 380 along it. or one, two, or three of the axes (x, y, and z) around which it can be displaced. It may be defined by one or more orientations based on one of the following:
[0185] The range of motion of the blade support relative to the handle is greater in the pitch than in the roll. The device may be controlled so that it can be controlled. Alternatively or in addition, the device may be The range of motion of the blade support relative to the handle is greater at the elevation angle than at the roll. It may be controlled to be so. In one potential embodiment, the device controls joint limits. It may be controlled using a combination of approximate and workspace constraints. In addition to this, one or more other The virtual constraints are joint limit constraints and such as guide constraints and / or joint centering constraints. It may be used in conjunction with workspace constraints. The constraint solver handles joint limit constraints and workspace constraints. Constraints adapted to move the virtual saw blade, based on (and other virtual constraints being used) It may be configured to calculate forces. The dynamics of the virtual saw blade are simulated based on the constraint forces. The system is configured and outputs a commanded attitude. Based on that commanded attitude, the system performs actions based on the commanded attitude. Determine the command joint position of each of the multiple actuators. It is then controlled using its command position.
[0186] Working space constraints (defined in Cartesian coordinates) combined with joint limits (defined in joint space) The use of (as defined) may offer advantages with respect to the control of the device. The implementation of both limitations is , providing additional options to avoid singularities in control, one or more flex By avoiding vulnerable postures that could damage the circuit, additional robustness is added to the design. It may provide and / or offer additional options to avoid mechanical interference. For example, The control system 60 controls the working space constraints and joints in pitch, z-axis elevation angle, or both. By restricting the working space constraints and joint limit constraints more than the limit constraints, the handgrip To limit the amount of rolling of the blade support 18 per minute 16, a working space limit may be implemented. i. The working space constraints for the roll are higher than the other controlled degrees of freedom (pitch and elevation angle). By setting this, the limited rolls can be fewer than the mechanical capacity. In some cases, the working space constraints in the roll direction are in the pitch and z-axis direction. It may have the same amount or less of mechanical movement as other controlled degrees of freedom. .
[0187] Alternatively, the range of motion of multiple actuators may be controlled without constraint. In this embodiment, based on the actuator's position and limit position, the joint limit elevation is performed. The movement is determined, and the working space limits are determined based on the tool's orientation and the given orthogonal space. Next, the control system 60 determines the posture of the saw blade 380, the joint limit position, and a predetermined orthogonal space. Based on this, each of the multiple actuators 21, 22, and 23 is configured to be restricted.
[0188] Kinematic motion constraints Degrees of freedom that are not controlled by multiple actuators, that is, uncontrolled degrees of freedom To control it, kinematic motion constraints may be used by the control system. For example, In the case where the device includes three controlled degrees of freedom and three uncontrolled degrees of freedom, Even when the scientific motion constraints are used with three uncontrolled degrees of freedom (yaw, x translation, and y translation) Good. The virtual simulator uses a virtual mass subjected to forces in 6 degrees of freedom to impose virtual constraints. Since we are modeling, the kinematic motion constraints are imposed by the virtual mass model in the virtual simulator. Tool 20 remains in agreement with the physically relevant kinematic posture, and Tool 20 is controlled It is used to prevent the virtual simulation from drifting away due to its limited degrees of freedom. The kinematic motion constraint is the difference between the yaw, X translation, and Y translation between the kinematic posture and the virtual mass. It is used to measure the following constraint forces calculated based on these kinematic motion constraints. Whether the difference between them is positive or negative, it is calculated to cancel out the difference, and thus this This is a two-sided constraint. Kinematic motion constraints are calculated in orthogonal space. Joint limit constraints Approximately, this ensures that multiple actuators do not exceed their joint thresholds, but kinematic movement The constraint is always active, and the uncontrolled degrees of freedom are located in the coordinate system of the virtual mass. Ensure that they are aligned.
[0189] boundary constraints The control system may also utilize one or more boundary constraints. Boundary constraints are the tool's form. Along with the momentum, it may also be based on one or more of the virtual boundaries described above. Boundary system Approximately, for constraint generation and actuator control (described here), and drive motor control. They may function together, be used together, be used separately, or in combination thereof. It is also acceptable to do so. Boundary constraints prevent the tool from crossing virtual boundaries, and apply to virtual mass. This can be reduced to opposing forces. Boundary constraints are virtual boundaries as described above in relation to the control of the drive motor. It should be understood that any of the boundaries may be used. In the case of boundary constraints, the virtual boundary The interface is used to control multiple actuators, rather than to control the saw drive motor. It should be understood that this is done. In some cases, boundary constraints or other Boundary control methods may utilize collision detection.
[0190] In one example, the boundary may be defined as a triangular mesh, and any part of the mesh A collision detection algorithm is used to determine whether the minute can be contacted by tool 20. This may also be done. First, the control system 60 controls the candidate triangles located within the area of the tool 20. To generate a list, perform wide-phase collision detection. Then, for each of the candidate triangles... Then, narrow-phase collision detection is performed to determine whether tool 20 is in contact with the triangle, and tool Check how deep the 20 penetrates (along the normal of the triangle) through the boundary. The boundary constraint is the triangle in contact with the tool, i.e., the output triangle from narrow-phase collision detection. It may be generated only for. In some cases, tool 20 is tool 2 Discrete spheres (with a diameter equal to the thickness of the tool) arranged along the periphery of 0 or discrete Using an array of primitive geometric shapes, such as a sweeping sphere (capsule shape) It may be modeled. The collision detection process searches for collisions with mesh triangles, using a primitive This may be repeated for each of the tive elements (e.g., discrete spheres). Boundary constraints This is generated for each contact between the tool's geometric primitives and the mesh triangles. That's good too.
[0191] Typically, the boundary is defined relative to patient trackers 54 and 56, but other reference coordinates Frames may be used. The control system 60 controls the geometric primitives of tool 20 or After determining the points of the boundary mesh that contact the VM, the boundary constraints may be calculated. One free degree, one-sided (force applied in the direction away from the boundary) boundary constraints may be calculated for each resulting narrow phase triangle. The direction of the boundary constraint is along the normal of the triangle . The depth of boundary penetration may also be measured along this boundary constraint direction. The constraint Jacobian Jp is calculated to map the movement of tool 20 along the normal of the triangle (boundary constraint direction) to the movement of the resulting virtual mass quantity. For any boundary constraint attached to the anatomical structure tracker ( i.e., having a relative velocity with respect to tool 20), V desi red may need to be calculated. V desired may be the projection of the relative velocity between the bone and tool 20 onto the constraint direction. In another example, when the tool has completely crossed the boundary , it is processed not via boundary constraint generation (and the resulting actuator control), but by the control of the drive motor M.
[0192] If other constraints besides boundary constraints are utilized, the constraint solver is ultimately tasked with providing a solution for the constraint force F that satisfies or attempts to satisfy all the virtual constraints c , and thus it should be understood that other constraints can affect the magnitude and / or direction of the constraint force .
[0193] External force In one version, instrument 14 may be configured to calculate, estimate, or measure the forces and torques applied to instrument 14 by the user or by the bone in order to affect or act on tool 20 . For example, instrument 14 may be used by the user or the bone to apply to the tool The force and torque applied to the 20 may be detected and measured by the control system 60. Generates the corresponding inputs to be used (e.g., one or more corresponding input / output signals). The force and torque applied by the actuators determine and facilitate the control of multiple actuators. External force F used for ext This defines, at least partially, external force / torque measurement values. By including this in the virtual simulation, the forces applied by the user or bones are represented as follows: This can be incorporated into virtual simulations. This means that virtual constraints can be applied physically. It may be possible to have consistency with respect to forces. For example, guide constraints have a certain rigidity and It has damping. External force (F ext When ) is included in the virtual simulation, the tool will The positioning may be such that the user "feels" the consistency of the guide constraints. This allows the tool's control to be more responsive to the force applied by the user. (That is, in a virtual simulation, the user / bone force and guide (An equilibrium can be found between the rigidity of the constraints.) When the user applies a large force, it is desirable In that case, the guide constraint can be partially adjusted by the user based on its adjustment parameters. It may be written. This is because of the relationship between the saw blade and the cutting surface, or between the tool and the planned trajectory. Used to limit the binding or resistance of the tool to the user in cases of small misalignment. Even if this occurs, virtual consistency is maintained when the blade or tool cannot fully reach its target position. This provides positive feedback that can be felt by the user through high force or the handle. This allows the small error to be resolved (balanced out) without any further action. ext Without measurement, the rigidity of the virtual constraint is determined by the physical force applied to the blade by the user or bone. Without taking into account the forces themselves, it is possible to find equilibrium with the forces imposed by other hypothetical constraints. If external forces are not included in the virtual simulation, the forces applied by the user will be in the commanded form. This is not considered when determining the momentum. For example, this external force is not considered in relation to the other hypothetical constraints described above. By combining these, the constraint solver includes external forces, and then the virtual rigid body in the virtual simulation. An external force F may be applied and used in the calculation of the commanded attitude. ext teeth U.S. Patent No. 9,119,655, which by reference forms part of this Specified Specification. As described, such as gravity compensating force, backdrive force, and other virtual forces , including other forces and torques, separate from those applied by the user or by the bone. Good. Thus, the force and torque applied by the user are the external force F. ext at least Partially defined, and in some cases, outside that affect the overall movement of Tool 20. force F ext It can be fully defined. In some examples, the instrument is the handle, the tool A platform, or a 6-degree-of-freedom force / torque system positioned between these two components. It may include a force / torque sensor S implemented as a converter. In other examples, Linear force sensors or actuator motors in each of the actuators 21, 22, and 23 Torque sensors at each output may also be used. In addition to this, force / torque sensors Alternatively, the motor current may be used as a low-fidelity approximation of the motor torque. Each of these joint space force / torque measurements is based on the kinematics of the manipulator. The Bian may be used to convert it into an equivalent force / torque acting on the virtual mass VM. Controller 28 and / or navigation controller 36 receive power / torque from the force / torque sensor. It may receive input (e.g., a signal). In some versions, external forces are force / Torque coordinate system F T It is then transformed into another coordinate system, such as the VM coordinate system. Therefore, this method involves sensing the amount of current supplied to each of the multiple actuators, The amount of external force applied between the blade support and the handle based on the output of one or more current sensors. This involves estimating the external force and then moving a virtual saw blade toward the target posture based on the estimated amount of external force. This may also include calculating the adapted constraint forces.
[0194] operation The control of the device 14 is provided by the navigation controller 36 via data connection. The anatomical structures (e.g., femur F or tibia T) and instruments 14 are sent to the troller 28. Take the latest position and / or orientation into account. Use this data to control the device. Ra28 is the attitude of the target plane or target trajectory and / or virtual boundary 184 in the desired coordinate system. Determine (i.e., position and / or orientation) relative to the target plane and / or virtual boundary 184. The relative position of the tool 20 (e.g., TCP) is also calculated. (Device Controller 28) The navigation system 32 (including the display 38) is to which tool 20 is applied. Update using the position and / or orientation of tool 20 relative to the anatomical structure. Indicators of the location of the plane and / or virtual boundary 184 may also be provided.
[0195] The relative position of tool 20 with respect to the target plane and / or virtual boundary 184 is determined by the operation. Whether or not it is necessary to move tool 20, that is, the speed of tool 20 (vibration speed) To determine whether it is necessary to change (such as) or stop the operation of tool 20, The instruction data packet is evaluated by the device controller 28, for example, These instruction data packets are transmitted from the Trolla 28, etc., to the motor controller. The command position (or target position of the actuator) for the rotor 148 of the motor 142 Includes. Here, each command position is the target cumulative encoder cow for the associated rotor 148. The number may be positive or negative, representing the position of the actuator or another representation of the actuator. Controller 28 processes these at a rate of one packet every 0.05 milliseconds to 4 milliseconds. It generates instruction data packets and sends them to each motor controller. In some examples... Then, each motor controller receives an instruction data packet at least once every 0.125 milliseconds. The device controller 28 also receives a message for one or more of the virtual boundaries 184. The cutting speed of the device 14 may be selectively adjusted based on the relative position of the tool 20. For example, the drive motor M that controls the vibration of tool 20 and the corresponding cutting is, for example, tool 2 Tool 20 intrusion into virtual boundary 184, where 0 is deviated from the target plane by an amount exceeding the threshold. Tool 20 has an undesirable relationship with virtual boundary 184, such as being greater than the threshold. In some cases, it may be disabled by the device controller 28. M60 is an optical tracking system connected to tool tracker 52 and / or patient trackers 54, 56. The drive motor M may also be controlled based on whether or not the driver maintains a line of sight to the target. For example, if the line of sight is impaired for a predetermined amount of time, the control system 60 will... The drive motor M may be stopped.
[0196] During use, one potential embodiment is that the control system 60 is a tool tracker The position of 52 on the tool support 18 allows the navigation system 32 The orientation (current orientation) of tool 20 is determined using this. The instrument controller 28 also uses Output encoding from one or more encoders located in each of tutors 21, 22, and 23 Based on the signal, the current position of each of the actuators 21, 22, and 23 is determined. Good. When the current position of each actuator 21, 22, and 23 is received, the device controller Roller 28 uses forward kinematics to determine the current state of the tool relative to the handle portion 16 (BCS). Posture (TCP) may be calculated. Localizer data is obtained from patient trackers 54 and 56 and It may be used to determine the relative posture between the troll tracker 52. This, along with additional calibration and registration data, includes the patient tracker coordinate system. The orientation of the handheld part 16 relative to the desired coordinate system (for example, the current orientation of the base coordinate system BCS) These may be combined to calculate the result.
[0197] In some cases, the current position of the handle is such that the handle is positioned on the handle 16. The desired coordinate system (e.g., racca 53) is determined using the navigation system 32. For example, BCS's stance on patient trackers is to provide additional calibration and registration data. Along with the data, it may also be determined directly using localized data. For example, The instrument has two trackers on the instrument 14, i.e., the handle portion, as shown in Figure 24. 16 Handheld tracker 53 and tool tracker 5 located on tool support 18 Includes 2. The navigation system 32 includes a tracker 52 on the handheld portion 16, and desired From the position of trackers 54 and 56 on the coordinate system (e.g., the patient's anatomical structure), the desired coordinate Determine the BCS's stance towards the system (e.g., patient tracker).
[0198] When the instrument controller 28 obtains the orientation of the handheld portion 16 in the desired coordinate system, the instrument The controller 28 may then control a plurality of actuators 21, 22, and 23. In this embodiment, the device controller 28 determines the current position of the handheld portion 16 based on the current position of the handheld portion 16. Furthermore, based on the position and / or orientation of the planned virtual object which is the target plane. Then, the command posture of tool 20 may be determined. The device checks whether TCP is on the desired plane. Alternatively, it boils down to being aligned with the planned virtual object, relative to the BCS. The TCP attitude (command attitude) is calculated. This command attitude can be arbitrarily set to virtual constraints (guidelines). It may be calculated using approximately joint centering constraints, joint limit constraints, and workspace constraints. The device controller 28 uses inverse kinematics to control the commanded posture of multiple actuators 21. Convert to the command position for each of 22 and 23, and then activate to move to the command position. Commands are sent to the controllers 21, 22, and 23, thereby controlling the tool for the handheld portion. The posture of the support 18 and the tool 20 can be changed.
[0199] As shown in Figures 17A to 17E, the control system responds to specific conditions and parameters. Based on this, the movement of the device and the energization of the drive motor M are determined. Starting from Figure 17D, one The above trackers 54 and 56 are positioned on the patient's anatomical structure (e.g., femur, tibia). One or more trackers 52 are placed on the device 14. The localizer 44 controls each tracker 5 The positions of points 2, 54, and 56 are captured, and this positional information is processed into a common coordinate system (Figure 17B). Next, from the localizer 44 to the clinical application 190 and constraint generator 384 The data is passed.
[0200] Clinical application 190 is used by a control system to command the tool. Used to calculate registration and plan conversion. In Figure 17A, The floor application uses localizer 44 to device tracker 52 and patient tracker ( (There may be multiple instances) It receives posture information from 54 and 56. Clinical application 190 is Furthermore, related to the pointer tracker PT, device tracker 52, and patient trackers 54 and 56 Using the localizer data, handpiece settings and registration, bone registration Based on distension, implant planning, and bone preparation, device command conversion is performed. You may calculate it.
[0201] Within clinical application 190, the tool tracker 52 and pointer tracker PT The information generates a tool tracker-TCP conversion. This is processed using the handpiece settings and registration information. Registration step, i.e.: 1) Tool support 18 to tool tracker 52 Registration of the tool support 18 to the tool (TCP), and 2) Registration of the tool support 18 to the tool (TCP) The results may be calculated by combining the results of the analysis. The conversion of the CA-TCP (i.e., the device registration result) is then processed by constraint generator 384. It is then forwarded. The location information from localizer 44 is obtained using bone registration data. This is used to calculate the bone-patient tracker conversion, and then the patient tracker-bone conversion. To achieve this, the patient tracker position is reversed to relate it to the bone. User interface Using one or more of the UI elements, the user can input desired information regarding the bone model on the screen. By adjusting the size and position of the plant, the clinical application of the implant is planned. Based on the position of the bone relative to the given position and / or orientation, a bone-implant conversion is generated. This may be made possible based on the known geometric shape and size of the selected implant. Therefore, the clinical application involves determining one or more desired positions of the implant in the planned position. Conversion to target cutting plane TP, implant-to-target plane conversion, or one or more desired target trajectories. Search for it. The virtual boundary may be calculated based on the selected implant. Patient trace Bone conversion and bone-to-implant conversion (B-IM) are combined to create bone-reduced implants. Patient Tracker 5, the result of a combination of distension and implant planning. 4.56 leads to conversion to implant position (patient tracker-IM), constraint generator It is forwarded to 384. The IM to TP conversion is used to generate guide constraints. Often, boundaries are used to generate boundary constraints (if used) using a boundary generator. Boundary information may also be transmitted to the drive command handler 192.
[0202] In order to finally decide on the conversion from the handheld part to the localizer, there are three conversions, in other words a) Conversion from the handheld part to TCP, forward motion received from motion controller 188. Academic results, b) conversion from tool support to TCP, received from clinical application 190 The tool registration results, and c) the tool received from localizer 44 Conversion from tracker to localizer is used. From localizer to patient tracker (multiple) The conversion (which may be multiple) to (or in some cases) may also be received from the localizer 44. Next, the conversion from the handheld part to the patient tracker is performed by a) from the handheld part to the localizer Based on the conversion to and b) conversion from localizer to patient tracker(s) It may be calculated using the tool tracker coordinate system and the tool support coordinate system. The stance is to use known calibrated and / or registered translations to TCP. It should be understood that, since they can be fixed in place, they can be used interchangeably with each other. .
[0203] As described above, the constraint generator 384 generates guide constraints and / or arbitrary boundary constraints (multiple In some cases, to calculate this, the localizer uses patient trackers (there may be multiple) 5 4, 56 and device tracker location data from clinical application 190 The trajectory and plan transformation include motion constraint handler 390 (described further below). Additional data input is received from the behavior controller 186 and the motion controller 188. The constraint generator 384 should be solved in order to calculate the command posture for tool 20. Process the received data to create a set of constraints. As mentioned above, guideline Approximately, the virtual forces used in the virtual simulation to move tool 20 to the target state This is a virtual constraint defined to produce a torque. The constraint generator 384 is then resolved. Once the set of active constraints is determined, that information is transmitted to the behavior controller 186. It will be sent.
[0204] The behavior controller 186 commands the following position and / or orientation for the tool 20 (for example) The data indicating the posture is calculated. In some examples, the behavior controller 186 Based on solving the set of constraints and running a virtual simulation, the following command posture is determined. The calculation is performed. The output from the motion constraint handler 390 of the motion controller 188 is used in tool 2. To determine the next command position and / or orientation for 0, the behavior controller 186 It may be supplied as input. As seen in Figure 17B, the behavior controller 186 is Various virtual constraints are processed to determine the commanded posture. The constraint solver 189 handles joint limit constraints. Movement constraints such as approximation and joint centering constraints, as well as workspace constraints and kinematic motion constraints. The constraints generated by the motion constraint handler 390 of the controller 188 are incorporated. Solver 189 also has constraints such as guide constraints and boundary constraints from boundary handler 385. The constraint solver 189 then takes in constraints from the generator 384. The constraint solver 186 further processes the behavior controller 186. It is processed by and then added back to constraint solver 189, receiving inertial and damping forces. When these constraints are applied to the constraint solver 189, the constraint solver 189 generates a constraint force, This is then added together with all virtual forces, such as inertial force and damping force, as well as any external forces. The calculated virtual forces are then processed using virtual forward dynamics. The output from virtual forward dynamics is The attitude and speed are then used in the behavior controller 186 to calculate inertial and damping forces. It is transmitted to the tool support (from the handheld part via TCP) and also to the motion controller 188. It is transmitted as command attitude and speed commands. Command attitude (from the handheld part to TCP) It is then sent back to the constraint generator 384 for use when generating constraints.
[0205] The motion controller 188 controls the movement of the tool support 18, specifically the TCP coordinate system. The motion controller 188 defines the next command posture from the behavior controller 186. The data is received. Based on this data, the motion controller 188 controls the tool support. As commanded by the behavior controller 186, for example, in the commanded posture, the handheld part To enable it to assume a certain posture, each of the actuators should be moved to the next position (for example, in reverse motion). (via the computer and Jacobian computer) it is determined. In other words, the motion controller 188 In order for the device controller 28 to issue commands to the actuator accordingly, in Cartesian coordinates The command posture of the tool support relative to the handheld portion, which can be defined in the above, is determined by multiple actsuaries. Process to command joint positions 21, 22, and 23. In one version, the movement coordinates The controller 188 adjusts the position of the tool support relative to the handgrip, and each actuation The torque output by units 21, 22, and 23 is continuously adjusted to reach the commanded attitude as much as possible. Actuators 21, 22, and 23 can be positioned relative to the handheld portion 16 of the tool support. Ensure that 18 is moved.
[0206] The handheld part - TCP related - enters the motion constraint handler 390 of the motion controller 188. The handheld-TCP relationship is used to calculate workspace constraints and kinematic motion constraints. These constraints apply to the relationship between the handheld part and the TCP in the Cartesian coordinate system of the command attitude. The relationship is used to calculate the movement. Once the workspace constraints and kinematic motion constraints are calculated, the movement The data from the constraint handler 390 is returned to the behavior controller 186 and then to the constraint solver 38. You will be redirected to 4.
[0207] The data from the handheld unit to TCP is also converted using inverse kinematics calculations. After the modifications are made and reduced to a set of commanded joint positions, joint limit constraints and joint centering are applied. This data is further processed to calculate the constraints. These constraints apply to the joint space. The calculation is performed based on the previous command joint position of each actuator or the measured joint position. The joint positions and one-dimensional joint limit constraints are transferred to the coordinate system used for the virtual simulation. The constraint Jacobian Jp that applies to the coupling (for example, between joint movement and the virtual mass coordinate system VM), And may be calculated based on one or more limit positions. The joint centering constraint is first order. Mapping the original joint centering constraint to the coordinate system used for the virtual simulation. (for example, between joint movement and virtual mass coordinate system VM) constraint Jacobian Jp, previous directive It is calculated based on the joint position or measured joint position and the joint centering position. Once joint limit constraints and joint centering constraints are calculated, the data is used for behavior control. It is sent back to constraint solver 189 in R186.
[0208] Furthermore, the inverse kinematic data transformation is performed for each actuator, determining the command joint position (Jo Generates an int Pos Cmd) and a joint velocity command (Joint Vel Cmd), The processed data is sent to the joint position-velocity controller (one for each actuator) and the drive finger It is sent to handler 192, where it is processed to determine the joint movement speed override. To make it.
[0209] The motion controller 188 transmits the commanded position of each actuator to the drive command handler 192. The drive command handler transmits the command to the drive motor M in the drive command handler 192. - Whether or not a velocity override is necessary (see the box identified as joint position velocity override) To determine the command position or measured position of each actuator, This joint threshold may be compared with the TCP. In other words, the control system 60 sets TCP to the target state. Once the command position for each actuator to move to the desired position is determined, multiple actuators The operation of the drive motor M may be controlled based on one or more positions of the tool. The actuator position is the command joint position of at least one actuator, and at least The measurement position of another actuator, and the previous command position of at least one actuator. , also based on the previous measurement position of at least one actuator, or a combination thereof. Good. In one example, the drive motor M controls at least one of the actuators 21, 22, and 23. Both are controlled based on a single command position. At least one actuator 21, 22 The command joint position of 23 is determined by at least one actuator 21, 22, 23. It is compared to the Etamotor override limit. The motor override limit is within a certain range. The outer boundary of may be defined by one value or a set of values. In this example, one A The monitoring of the actuators is demonstrated, but the control system controls each actuator 21 The command positions 22 and 23 and the actuator motor override limit values are monitored. It may also be the case that the upper and lower limits of the actuator motor override limit are set for each actuator The value may correspond to the position of the actuator relative to the operating range of the drive. The upper limit is the drive. Corresponding to the maximum allowable travel in the first direction before the motor parameters are adjusted. It is also permissible, and the lower limit is permissible in the second opposite direction before the drive motor parameters are adjusted. It may also correspond to the maximum allowable movement. More specifically, the control system 60 controls the command joint Does the position maintain the actuator position between the upper and lower limits of the motor override limit? Based on this, the motor parameters of the drive motor M are controlled by a first value and a second value. Your system 60 may control one or more motor parameters of the drive motor M, one The above motor parameters are speed, torque, operating time, current, or a combination thereof. This is also fine. In one example, the motor parameters controlled by the control system 60 are motor parameters. The first value is zero (the drive motor M is off), and the second value is zero. The drive motor M is on. The control system 60 controls the actuator 21, Based on command positions 22 and 23, the motor parameters are switched between a first value and a second value. Replace. Depending on the command position of actuators 21, 22, and 23, the actuators will move to the motor. - When the value falls within the upper and lower limits of the drive motor parameter, the control system 60 controls the drive motor parameter. Command the second value of the data to operate the drive motor M and / or continue power supply. This may be made possible. The command actuator position is the lower and upper limits of the motor override limit. If it is between these two states, the override of the joint velocity command will not be changed.
[0210] In some cases, the drive motor override is triggered by the received actuator position (P) It may be implemented as a lookup table or function that is evaluated based on the data. In the example of a positional speed override, this causes the joint position to exceed its motor override limit. As you approach, the speed of the drive motor decreases proportionally. In some cases, the actuator position If the position is within the lower and upper motor override limits, no changes are necessary. In this example, one or more of actuators 21, 22, and 23 are within an 80% to 95% travel range. When the motor is within the range of movement, the drive motor speed M decreases proportionally, exceeding 95% of the movement range. It may also be completely disabled by the amount, thereby limiting the operation of tool 20 (lower and upper motor limits). The user receives continuous and gradual feedback indicating that they are approaching the override threshold. They may be provided. In such embodiments, there are multiple lower motor override thresholds and multiple upper There may also be a motor override threshold, and each threshold is a motor parameter (motor speed, etc.). ) corresponds to. In some cases, the drive motor M speed does not decrease to zero, but rather It may also decrease to a certain low speed, thereby warning the surgeon, but This allows physicians to make a decision on whether or not to proceed. Actuators 21, 22, 2 Depending on the command position of 3, the actuator will move outside the upper and lower limits of the motor override limit. Then, the control system 60 commands a first value for the drive motor parameter, and the drive motor M The operation and / or continued energization of each actuator may be prevented. The actuator override limit may differ from the joint threshold of each actuator described above. For example, the motor override limit is a narrower range than the range defined as the joint threshold. It is also possible to define the motor override limit, and the range of the motor override limit is generally within the range of joint thresholds. That's fine.
[0211] The joint position velocity controller 194 processes data from the motion controller 188, Joint position command (Joint Pos Cmd) and joint velocity command (Joint Ve l Cmd) is processed and joint torque commands are given for each actuator (Joint Used to determine Torque Cmd). The calculation of joint torque command is PID. This may be done through a closed-loop control algorithm such as control. The joint torque command is external. It is transmitted to the scientific instrument, where each current controller corresponding to each actuator, The joint torque command is interpreted as an electric current. The current controller then drives the commanded current. The voltage required for each actuator motor is selectively applied, and each actuator Move the tool support toward the commanded position. The applied torque (or current) is: Each actuator may be moved in its corresponding direction to accelerate it. The amount and speed of acceleration are affected by mechanical load, friction, other external factors, or a combination thereof. It may depend on monitoring each of the actuator position feedbacks over time. By doing so, the commanded torque is precisely tracked so that the commanded position of each actuator is accurately monitored. The (current) is regulated by the position-speed controller. The actuator motor is a tool When adjusting the support, each motor encoder controls the rotation and / or position of each rotor. It collects data and sends joint position data back to the current controller. The current controller then Next, the joint position data of each actuator is measured using joint velocity (Joint Velocity Meter). The data is processed into (as) and joint position measurements (Joint Pos Meas), and joint velocity measurements are taken. Data and joint position measurement data are transmitted to the joint position-velocity controller via the motion controller. The data is sent to 188. The motion controller 188 then determines the joint position of each actuator and The velocity measurement data is converted using forward kinematics to determine the attitude between the TCP and the handheld part 16. The speed relationship is generated. The handheld part-TCP relationship is then sent to constraint generator 384. This allows the generator to use this data to generate various virtual constraints.
[0212] In addition, referring to Figure 31, joint velocity measurement and joint position measurement are performed using PID control. It may be used in a loop. For example, a PID loop is used for joint command position and joint measurement. The error between the given position and the actual position may be calculated, and these are used to control the command velocity of the joint P It may be used with an ID loop. The command velocity of the joint is used to determine the error of the joint. The error may be compared to the measured speed. The error is controlled by the PID to control the command current. It may be used in a loop. The command current is the measured current and to determine the error. It may be compared. The error is in the PID loop to output the command joint voltage. It may be used.
[0213] The drive command handler 192 controls specific parameters for the drive motor M (Figure 17C). It is part of a control system that calculates and determines the drive motor. The drive command handler 192 controls the drive motor. To activate the M, it receives input command signals from one or more input devices. (Figure 17) As seen in E, an example of an input device is a trigger on the handle portion of the instrument. Another example, similarly shown in Figure 17E, is a foot switch. In another example... The drive command handler controls multiple user input devices (buttons, triggers, and foot switches). It has a trigger source select, which can be used for multiplexing between (like a t-t-t-t). In one example, the trigger source select is set when both input devices are inactive. The trigger source change is evaluated only when it is active, and then which input device is active first. Evaluate whether it will become [a certain state]. The selected input device then determines the percentage of active triggers. It may be fixed. In other examples, one input device may potentially be more expensive than the other. Priority may be established. When one or more input devices are activated, the command signal is triggered. The input device is transmitted to the drive command handler 192, which then determines that the input device is Analyze the activation rate (for example, how often the trigger was pressed by the user). The drive command handler 192 outputs the maximum from the bone preparation portion of the clinical application. The command ratio is analyzed at the permissible speed, and the command signal is modified according to the received data.
[0214] The drive command handler 192 is also within the constraint generator 384 or other components of the control system. The results from collision detection performed by may be used. In the illustrated configuration, constraints The forming device 384 compares the position and / or orientation of the tool to the boundary. Specifically, as described above. As described above, collision detection determines whether the tool is encroaching on the boundary by a threshold amount. Determine. Furthermore, the collision detection step processes this position information and determines boundary velocity override. Determine the signal. As mentioned above, any number of suitable boundaries, such as the distal boundary or the lateral boundary. A boundary can be used for this collision detection step. The boundary can also be used for the tool and reference position on the bone. It may be implemented as the distance between the location. Based on this comparison, the device controller 28 , change the motor parameters that can be used to decelerate or stop the drive motor M. You may do so.
[0215] In this example, techniques such as raycasting or voxel lookup are used. Although separate global inside / outside checks were performed, tool 20 completely crossed the boundary. Determine whether or not. Drive motor control for the boundary is performed when the tool is in contact with the boundary. Therefore, using the penetration depth calculated above, if any part of the blade is larger than the threshold It should be understood that it is permissible to determine whether or not an intrusion has occurred. Tool 20 is discrete In examples where the model is based on a simple geometric primitive (e.g., a sphere), the inside The outside check evaluates whether any of these spheres are located beyond the boundary. This will result in the control system 60 evaluating whether the tool 20 has crossed the boundary. Even if constraints are generated and the tool support posture is updated in a manner that prevents the tool from encroaching on the boundary, Good. However, if the user moves the tool beyond the boundary after the joint limit has been reached... If you continue, move the handle part 16 too quickly, move the bone too quickly, or If you move beyond the boundary in the uncontrolled degrees of freedom of Rule 20, the boundary will be violated. This could result in the global inside / outside check failing, and the drive Motor M may be turned off or modified as described above.
[0216] In addition to the functions of boundary velocity override and joint position velocity override, the command signal is as follows: So, whether or not the error handling override condition is met (if the command is processed normally) It is sent to determine whether or not it is within the expected range. Error handling conditions are also met. If so, a drive speed command is sent from the drive command handler 192 to the drive speed controller. ru.
[0217] Boundary velocity override (controlling the speed of the driver motor based on the boundary), joint position Speed override (controlling the speed of the driver motor based on the actuator position), And error handling overrides are all active simultaneously, and each has a partial override. It should be understood that providing a ride is acceptable. For example, boundary velocity override. This reduces the speed by 10%, meaning the input is multiplied by 0.9, and then the next block is, Further reduce the degree by another 20%, that is, multiply the (already reduced) input by 0.8. In this case, the resulting output speed is 0.9 × 0.8 = 0 of the original requested speed command. It is 72 times. In other words, the multiplier of the override applied by each block (input or The gain to the output does not depend on what other override blocks have determined. In addition to cascaded multiplication techniques, other methods include using only the most restrictive overrides. There may be other ways to combine multiple override sources.
[0218] The drive speed controller processes the drive speed command signal and controls the current within the handpiece. The current controller determines the drive torque command to be sent to the current controller. It converts the command current into a command current and selects the voltage required to drive the drive motor M. It is applied to the target to operate the tool (e.g., cutting). The drive motor encoder drives the motor The device monitors the operation of the drive motor and uses encoder signals related to the operation of the drive motor to control the current within the device. The data is sent back through the controller. The current controller measures the drive speed using encoder data. The data is converted to a value, and the converted feedback data is sent to the drive speed controller.
[0219] As shown in Figures 17A to 17C, the two inputs to the constraint generator 384 are the current state State (localizer data, kinematic data) and target state (relative to localizer tracker) (including the cross-section). The constraint generator 384 obtains the target state for the tool 20 and the target state Based on the state and the current state of the handheld part, one or more guide constraints are generated. Since the command posture CP correlates with the current posture of tool 20, the current state is the same as the previous command. The target state may be defined based on the postural CP. The target state is defined in an anatomical coordinate system or anatomical structure. It may be defined in a tracker coordinate system, etc., and transformed into a coordinate system common to the current state. Other inputs to the generator 384 are configuration parameters and adjustment parameters for guide constraints. Includes the following. The constraint generator 384 determines the relationship between the current state and the target state, as well as the configuration parameters. Based on the adjustment parameters, define one or more guide constraints. The guide constraints are constraints The output is sent from the generator 384 to the constraint solver 189.
[0220] While not limiting, this includes guide constraints, joint limit constraints, joint centering constraints, and kinematics. Various virtual constraints, including motion constraints, boundary constraints, and other inputs such as external sensing forces, control These constraints may be supplied to solver 189. These constraints are turned on by control system 60 / It may be turned off. For example, in some cases, joint centering constraints are also boundary constraints. It is possible that no result will be generated. Similarly, in some cases, and in certain movements In operation mode, guide constraints may not be generated. All virtual constraints used can affect the behavior of Tool 20.
[0221] The constraint solver 189 performs a virtual simulation based on the virtual constraints supplied to the constraint solver 189. In the 388th model, calculate the constraint force Fc that should be virtually applied to the tool 20. If a constraint is active, the constraint force Fc is based on one or more virtual constraints, and is current Force and / or torque components adapted to move tool 20 from one state to the target state. This includes. If only guide constraints are input to constraint solver 189, the constraint force Fc is the guide constraint. It is thought that this is a virtual force calculated to satisfy approximately [the condition]. However, boundary constraints, joints If other constraints such as centering constraints and / or joint limit constraints are used, the constraints The Ruba 189 ultimately satisfies all constraints based on each adjustment parameter. The task is to provide as many solutions as possible for the force Fc, and other constraints also apply to the magnitude of the constraint force Fc. It can influence direction.
[0222] As explained below, in order to solve for Fp, the equation shown in Figure 26 is, for each row This is transformed into a matrix equation representing a single one-dimensional constraint. The constraint data is external force Fcgext, (If applicable) Damping force Fdamping, Inertial force Final, Virtual mass matrix M, virtual mass velocity Vcg1, and time step Δt (e.g., 125 microseconds) This, along with other information known to the constraint solver 189, is placed within the constraint equations. The force vector Fp is the force vector expressed in the constraint space, and each component of Fp is the constraint. A scalar constraint force or tactile force acting along or around the constraint direction corresponding to that row of the expression. It's Luke.
[0223] The virtual mass matrix M is a combination of a 3x3 mass matrix and an inertia matrix. Damping force Fd Amping and the inertial force Final are calculated in the previous time step in the virtual simulator 3 Based on the virtual mass velocity Vcg1 output by 88 (e.g., the velocity of the virtual mass coordinate system VM) Next, it is calculated by the virtual simulator 388. The virtual mass velocity Vcg1 is the linear velocity This is a velocity vector with six degrees of freedom, including axial and angular velocity components. Damping force Fdampi ng is the virtual mass velocity Vcg1 and the damping coefficient matrix (where the linear coefficient and rotation coefficient are not equal). It is a 6-degree-of-freedom force / torque vector calculated as a function of (there is a combination). Damping is It is applied to virtual mass to improve qualitative accuracy. The inertial force (finertial) is also virtual. The force / torque vector of the 6 degrees of freedom is calculated as a function of the mass velocity Vcg1 and the virtual mass matrix M. It is a culptor. Damping force Fdamping and inertial force Finertial are cited. This specification is part of the U.S. Law against Bowling et al., 9,566,12 The determination may be made in the manner described in item 2.
[0224] The constraint solver 189 provides solutions that satisfy systems of equations (for example, satisfying various constraints). Therefore, any suitable algorithmic instruction for solving this system of constraint equations (e.g., iteratively) It may be constructed using constraint solvers, projection Gauss-Seidel method solvers, etc. In this case, it is possible that not all constraints are satisfied at the same time. For example, If the object is excessively constrained by various constraints, the constraint solver 189 essentially means The goal is to find the "optimal" solution for the relative rigidity / attenuation of the various constraints. Ruba 189 solves the system of equations and ultimately outputs the constraint force Fc.
[0225] When the projected Gauss-Seidel method solver is used, the constraint solver 189 is based on the constraints. Then we construct matrices A and b, and solve the system of equations using the projected Gauss-Seidel method to obtain the result. Find the force vector Fp of the effect, take the output of the projected Gauss-Seidel method, and set the complete set of constraints. Using the aggregated constraint Jacobian Jp, the output is converted from the constraint space to the virtual mass coordinate system VM. It is transformed into this. For example, using the formula Fc = Jp·T·Fp, where Fc is the constraint force, F The aggregated effect of the p component is converted into a force / torque vector Fc applied to the virtual mass coordinate system VM. It will be done.
[0226] The method of using the projected Gauss-Seidel method to solve a system of equations with multiple constraints is, for example, However, it can be found at http: / / www.mft-spirit.nl / files / MTamis_ConstraintBasedPhysicsSolver.pdf "Constra" by Marijn Tamis and Giuseppe Maggiore, dated June 15, 2015. "int based physics solver" (v1.02), or http: / / www.mft-spirit.nl / files / MTamis A paper by Marijn Tamis dated July 1, 2015, found in _PGS_SI_Comparison.pdf, states: Comparison between Projected Gauss-Seidel and Sequential Impulse Solvers for Rea These are shown in "l-Time Physics Simulations" (v1.01), and all of them are complete. By reference, this document shall constitute part of this specification.
[0227] The projective Gauss-Seidel method addresses the linear complementarity problem (LCP). Several constraints... One-sided constraints (for example, boundary constraints, joint limit constraints, and workspace limit constraints) For example, like a positive constraint force, it can only push (apply force) in one direction, L An inequality related to CP occurs. The forces calculated due to this constraint are given by constraint solver 18. For a given repetition of 9, it is negative (or, more broadly, outside its permissible range) and invalid. In this case, the given constraint is truncated until an appropriate result (i.e., convergence) is found. (or alternately limited / capped at an upper or lower tolerance), and the remaining constraints are resolved. It is necessary to do so. In this way, the constraint solver 189, for a given time step, Determine the active set of constraints and then solve for their values. Other constraint types are: A force can be applied in both positive and negative directions, for example, a bidirectional constraint. This includes guide constraints, joint centering constraints, and kinematic movement constraints. Constraints, once enabled, are normally active and are switched between iterations of constraint solver 189. It will not be discarded or restricted.
[0228] The constraint force Fc calculated by constraint solver 189 is applied to the x, y, and z axes of the VM coordinate system. The three components of the force along the axis and the three components of the torque around the x, y, and z axes of the VM coordinate system Includes. Virtual simulator 388 uses external force Fcgex in its virtual simulation. t (if used), damping force Fdamping, and inertial force Finertive (this These all include the six components of force / torque, along with the constraint force Fc. In that case, these components of force / torque are first in a common coordinate system (e.g., a virtual coordinate system). The quantities are converted to the coordinate system VM, and then summed up to define the total force FT. The resulting six values The forces (i.e., force and torque) of the degrees of freedom are applied to a virtual rigid body, and the resulting motion is virtual It is calculated by simulator 388. Virtual simulator 388 is thus among many However, how do various constraints (for example, external forces) affect the motion of a virtual rigid body effectively? It functions to simulate. The virtual simulator 388 applies a given virtual rigid body. Based on the total force FT, the attitude and velocity of the six degrees of freedom of the resulting virtual rigid body are calculated. Therefore, forward dynamics is performed. In one example, the virtual simulator 388 is the aforementioned control The data is stored in one or more of the non-temporary memories of rollers 28 and 36, and the control system It is executable software implemented by 60, including a physics engine.
[0229] Regarding virtual simulations, the virtual simulator 388 uses a virtual mass coordinate system VM. With the origin positioned at the center of mass of the virtual rigid body, and the coordinate axes aligned with the principal axes of the virtual rigid body... Tool 20 is modeled as a virtual rigid body in the virtual mass coordinate system VM. The virtual rigid body is It is a dynamic object and a rigid body representation of Tool20 for the purpose of virtual simulation. Yes. The virtual rigid body has 6 degrees of freedom (6-D) in orthogonal space, according to the virtual simulation. It can move freely according to OF). The virtual simulation is visual or graphical. It may be processed computationally without a numerical representation. Thus, a virtual simulation is virtual Displaying the dynamics of a rigid body is not necessary. In other words, a virtual rigid body is a processing unit. It does not need to be modeled within a graphics application running on the server. The imaginary rigid body may exist solely for the purpose of virtual simulation.
[0230] The virtual rigid body and its properties (mass, inertia matrix, center of mass, principal axes, etc.) are determined by the applied forces and Luk (for example, force and torque applied by the user using arbitrary virtual force and torque) Total force F incorporating T Define how Tool 20 behaves in response to (the input from) This means that the tool 20 will behave in response to the current conditions (e.g., translation and It controls the acceleration during rotation. By adjusting the properties of the virtual rigid body, the control system Mu60 can adjust how Tool20 reacts, as realistically as possible. For realistic movement, the properties of the virtual rigid body should be reasonably close to the actual properties of tool 20. Modeling is desirable, but not essential. Control stability For the reasons (considering the finite acceleration of the actuator assembly, control latency, etc.) Furthermore, the virtual mass and inertia may be modeled to be somewhat higher than those of the instrument.
[0231] The virtual rigid body may correspond to a component that may be on or within tool 20. In addition to or as an alternative, the virtual rigid body partially extends beyond the physical tool 20. The virtual rigid body may take into account a tool 20 having a tool support 18. Alternatively, a tool 20 without a tool support 18 may be considered. Furthermore, the virtual rigid body It may also be based on TCP. In one example, the center of mass of the virtual rigid body is the virtual rigid If a virtual force is applied to another point on the body, and the virtual rigid body is not subject to any other constraints, then the virtual rigid body is It is understood as a point that will rotate around it. The center of mass of the virtual rigid body is the actual center of mass of Tool 20. It may be close to the center of mass, but it does not need to be the same. The center of mass of a virtual rigid body is empirically It can be determined. When the tool 20 is attached to the tool support 18, the center of mass The position may be readjusted to suit the individual practitioner's preference. Virtual simulation In some cases where external forces are not used, a virtual simulation is used in such cases. Since rations do not interact with physical forces measured from the real world, the precise value of virtual mass is The properties and units (e.g., center of mass position, mass, inertia matrix) can be somewhat arbitrary. In such cases, for the sake of simplicity of calculation, we simply place the virtual mass in TCP and set the mass to 1. It may be desirable to set the inertia matrix to the identity matrix. Other options are also possible. However, in order to allow for adjustment of constraints in physically reasonable units, virtual More realistic properties for rigid bodies may be set. In any case, constraint adjustments The parameters should take into account the characteristics selected for the virtual mass.
[0232] Virtual simulator 388 applies force and / or to a virtual rigid body in a virtual simulation. By virtually adding lux, that is, in the virtual mass coordinate system VM, the virtual rigid body Total force F at the center of massT By virtually adding force and torque components, This effectively simulates the dynamics of a rigid body of 20. Thus, a virtual force is applied to the virtual rigid body. The force / torque obtained is the external force F. cgext (For example, based on input from one or more sensors) (It may be something else), damping force F damping , inertia force F inertial , and / also (Constraining force F) c Constraining forces F related to various constraints (as they are embodied in the context) c It may include forces / torques related to forces / torques from other sources.
[0233] The Jacobian of a rigid body moves from one coordinate system (reference frame) to another on the same virtual rigid body. It can be used to convert speed and force, F ext The force and torque of a virtual mass To similarly transform to the coordinate system VM (for example, F used in constraint equations) cgext (To derive) may be used here. The virtual simulator 388 then calculates the damping force F damping and inertial force F inertial It calculates this internally, and also the next time step For use in the system of equations in P by constraint solver 189, damping force F da mping and inertial force F inertial Outputs F. ext Also These forces may be supplied to the constraint solver. These forces are summed up and then input together with the constraint forces. You may then obtain the total.
[0234] Total power F T To simulate the movement of a virtual rigid body when it moves during application, see Figure 26 and The virtual forward dynamics algorithm shown in Figure 27 is used in the virtual simulation. It may be used. In effect, the virtual forward dynamics algorithm is given by equation F=ma (or Solving a = F / m, we integrate the acceleration to derive the velocity, and then integrate this again to obtain a new value. This determines the posture, and details are shown in Figure 27. The control system 60 is virtual Force and / or torque (e.g., total force F) T ) input into virtual simulator 388 and these Virtual forces and / or torques are generated when the virtual rigid body is in an initial position with an initial velocity. In Simulation 388, the center of mass (e.g., CG) is applied to a virtual rigid body. The virtual rigid body responds to the control system 60 in satisfying the virtual force and / or torque input. And, having different states (i.e., position and / or orientation) in orthogonal space and having a final velocity It is moved to the final position. The next command position CP to be transmitted to the instrument controller 28 is: This is based on the final pose calculated by the virtual simulator 388. Thus, The 388 simulator uses virtual forward dynamics, as shown in Figure 27, to simulate a virtual rigid body. Total force F T By simulating the effect of adding [something], the next command attitude CP is determined. It works in this way.
[0235] The virtual simulation is performed with 6 degrees of freedom, but the actuator assembly has 3 degrees of freedom. It should be noted that controllability may be possible with fewer than 6 degrees of freedom, such as degrees. In this context, kinematic motion constraints are imposed so that the simulation can be carried out meaningfully. (In other words, to keep the VM coordinate system aligned with the physics tool), control uncontrolled degrees of freedom It may be used to summarize.
[0236] A speed limit may be imposed on the virtual rigid body in the simulation. In some cases... In this context, the speed limit is generally set high so as not to affect the simulation. It may be set to any desired value. In some cases, The degree limit is implemented by nonlinearly calculating the damping force that should be applied to the virtual rigid body. However, in this case, the amount of damping increases considerably once it exceeds the threshold velocity. The virtual rigid body is a hypothetical At the start of each iteration of the simulation (e.g., each time step / interval dt), It is in its initial posture (initial state) and has an initial velocity. The initial posture and initial velocity are determined from the previous time state. The final attitude and final velocity are defined as output by the virtual simulator 388. That's fine.
[0237] Subsequently, the virtual simulator 388 issues the following instructions based on its virtual simulation. The attitude CP is calculated and output. In this embodiment, the control system 60 calculates the command attitude C The tool support 18 is configured to instruct the tool support 18 to move the tool 20 based on P, Ideally, this should be done in a manner that guides tool 20 to the target state, and in accordance with other virtual constraints. This triggers the action of Tool 20.
[0238] Figure 28 summarizes the various steps performed by the operation control unit 186. These are performed by the constraint solver 189 and virtual simulator 388 as described above. This includes the steps that are performed. In step 350, the external force F ext is force / torque (Optionally) calculated based on readings obtained from sensor S or an alternative sensing method. In step 352, constraint data related to various virtual constraints is used in constraint solver 189. It is supplied to.
[0239] In steps 354-358, rigid body calculation is performed by the virtual simulator 388. The inverse mass matrix M of the virtual rigid body is then defined. -1 , inertia force F inertial , and damping force F damp ing Determines the following. In steps 360-364, constraint solver 189 determines step 3 The output from the rigid body calculation performed in steps 54-358 and provided in step 352 Using the constraint data provided, the constraint force calculation described above is performed, and finally the constraint force F is calculated. c Derive the following. In step 366, the constraint force F c However, it was converted to the virtual mass coordinate system VM. external force F ext (F cgext ), damping force F damping , and inertial force F inertia l This is added together, and the total force F T Derive the following. In step 368, the total force F T However, virtual In addition to the virtual rigid body in the virtual simulation performed by emulator 388, In step 370, the new attitude and velocity of the virtual rigid body are determined, and finally in step 37 In step 2, the new attitude and velocity are converted to TCP. The new command attitude and velocity (V TCP ) is output by the virtual simulator 388 in step 374.
[0240] Application to the knee Figures 29A to 29D show the application of the guide. In this example, the control system 60 is , activate guide constraints and virtual constraints and position Tool 20's TCP in the target orientation. It is deployed. The localizer LCLZ detects the tool tracker 52 and the patient tracker 54. The localizer LCLZ monitors the position of instrument 14 relative to the target anatomical structure. The clinical application involves using implant planning to track the patient using a 54-inch tracker. The target cutting surface TP is determined and provided to the control system. A specific cut is selected. Then, the localizer LC receives positional information related to the location of the instrument 14 and the patient's anatomical structures. The LZ receives the information. The control system 60 further determines the location of the device tracker and the patient tracker. And, using the encoder data of the joint position of each actuator 21, 22, and 23, the patient Determine the attitude of the base coordinate system BCS of the handheld part 16 relative to the tracker 54. The stem 60 moves the tool support 18 and the saw blades 20 and 380 toward the target position. Then, a set of virtu...
Claims
1. A handheld medical robot system for use with a saw blade, wherein the system is An instrument including a handle portion held by the user, A blade support connected to the handle portion for supporting the saw blade, The body includes a blade support, which includes a saw drive motor, The blade support and the handgrip portion are operably interconnected, and the blade support is connected to the handgrip portion. An actuator that moves with multiple degrees of freedom relative to the part to align the saw blade. A set of actuators, wherein the actuator assembly includes a plurality of actuators. The actuator assembly and Localizer and, The control unit coupled to the plurality of actuators, the localizer, and the saw drive motor. The system is such that the control system determines the target orientation of the saw blade in a known coordinate system. and a control system configured to determine the orientation of the handheld portion, The control system includes, Based on the target position of the saw blade and the position of the handle portion, the guide constraints are determined. To define, the guide handler, Based on the aforementioned guide constraints, the virtual saw blade is adapted to move toward the target posture. A constraint solver that calculates the constraint forces, Based on the aforementioned constraints, the dynamics of the virtual saw blade in the virtual simulation are determined by the A virtual simulator that controls and outputs commanded attitudes, The control system includes, Based on the commanded posture, the commanded joint position of each of the plurality of actuators is determined. 、 Based on the command joint position, each of the multiple actuators is controlled. The system is further configured in this way.
2. The target posture includes a target coordinate system, and the saw blade includes a guided coordinate system. The approximate force is adapted to move the guided coordinate system toward the target coordinate system. The system according to claim 1.
3. The control system controls each of the plurality of actuators based on the commanded posture. The command joint velocity is determined, and based on the command joint velocity of each of the plurality of actuators... Claim 1, further configured to control each of the plurality of actuators Or the system described in 2.
4. At least two of the multiple actuators include the blade support and the handle portion. A system according to any one of claims 1 to 3, which is connected to the system.
5. The system further includes a patient tracker, the patient tracker is a known coordinate system that tracks the patient's Adapted to track the part, the known coordinate system is defined relative to the patient tracker. The system according to any one of claims 1 to 4.
6. The control system controls each of the actuators among the plurality of actuators. The control system is further configured to determine the position and the orientation of the saw blade, and the control system is configured to determine the position and the orientation of the saw blade. The position of the saw blade and the front of each of the actuators among the plurality of actuators A configuration that determines the orientation of the handheld portion based on the marked position, claim A system described in any one of items 1 to 5.
7. Each of the plurality of actuators includes an encoder for measuring the position of each of the plurality of actuators. The system described in claim 6.
8. The control system further includes a tracker coupled to the blade support, and the known coordinate In the system, the orientation of the tracker coupled to the blade support is determined, and the tracker is coupled to the blade support. The configuration is configured to determine the position of the saw blade based on the position of the tracker that has been aligned. The system according to claim 6 or 7.
9. The control system is configured to determine the orientation of the saw blade in the known coordinate system. The guide constraint is set, and the guide constraint has a value for the adjustment parameter, and the control system is set before Based on the relationship between the target position of the saw blade and the position of the saw blade, the adjustment parameter A system according to any one of claims 1 to 8, configured to change the aforementioned value of ta. Tem.
10. The virtual simulator calculates the constraint force based on the guide constraint and the external force value. The following is further defined as being configured in such a way as described in any one of claims 1 to 9 The system.
11. The control system receives the planned orientation of the implant in the known coordinate system. The saw blade is configured to believe that the target position of the implant is the planned position of the implant A system according to any one of claims 1 to 10, based on posture.
12. The control system determines the joint centering constraint and, based on the joint centering constraint, Claims 1 to 1 are further configured to control the plurality of actuators. The system described in any one of item 1.
13. The constraint solver is based on the guide constraint and the joint centering constraint. The system according to claim 12, configured to calculate the aforementioned constraint force.
14. The guide constraint has a first value for the adjustment parameter, and the joint centering control Approximately, the first value has a second value for the adjustment parameter, and the first value is different from the second value. Therefore, the resulting constraint force is greater than the joint centering constraint, As a result of the constraints, the saw blade is adapted to be more strongly aligned, claim The system described in 13.
15. The commanded posture is the relationship between the handheld portion and the saw blade, according to claims 1 to 14. Either of the systems described in item 1.
16. A handheld medical robot system for use with a saw blade, wherein the system is It is a device, The part held by the user, A blade support connected to the handle portion for supporting the saw blade, The body includes a blade support, which includes a saw drive motor, The blade support and the handle portion are interconnected in an operable manner, and the blade support is connected to the handle portion Actuator moves a part with multiple degrees of freedom to position the saw blade on a desired plane. An actuator assembly comprising a plurality of actuators Hmm, the actuator assembly, Includes, equipment and Localizer and, The control unit coupled to the plurality of actuators, the localizer, and the saw drive motor. The system is such that the control system determines the target orientation of the saw blade in a known coordinate system. and a control system configured to determine the orientation of the handheld portion, The control system includes, Based on the target position of the saw blade and the position of the handle portion, the guide constraints are determined. To define, the guide handler, Based on the aforementioned guide constraints, the virtual saw blade is adapted to move toward the target posture. A constraint solver that calculates the constraint forces, Based on the aforementioned constraints, the dynamics of the virtual saw blade in the virtual simulation are determined by the A virtual simulator that controls and outputs commanded attitudes, The control system includes, Based on the commanded posture, the commanded joint position of each of the plurality of actuators and / or It determines the command joint angle, Based on the command joint position and / or the command joint angle, a plurality of actuators Each control The system is further configured in this way.
17. The control system controls each of the plurality of actuators based on the commanded posture. The command joint velocity is determined, and based on the command joint velocity of each of the plurality of actuators... Claim 1, further configured to control each of the plurality of actuators The system described in section 6.
18. At least two of the multiple actuators include the blade support and the handle portion. The system according to claim 16 or 17, which is connected to the system.
19. A method for controlling the movement of a handheld medical robot system used with a saw blade, The robot system comprises a localizer and a handheld device, which is held by the user. A handle portion and a part movably coupled to the handle portion to support the saw blade A blade support and an actuator that interconnects the blade support and the handle portion in an operable manner. An assembly comprising a plurality of actuators, A handheld device having an actuator assembly, the blade support being a saw drive The method includes a motor, The steps include determining the target orientation of the saw blade in a known coordinate system, The steps include determining the orientation of the handheld portion in the known coordinate system, Based on the target position of the saw blade and the position of the handle portion, the guide constraints are determined. The steps to take, Based on the aforementioned guide constraints, a control adapted to move the virtual saw blade toward the target posture. Steps to calculate approximate force, Based on the input from the aforementioned constraint forces, the power of the virtual saw blade in the virtual simulation. The step of simulating the learning process and outputting a command attitude based on the virtual simulation. and, Based on the commanded posture, the commanded joint position of each of the plurality of actuators is determined. Steps and Based on the command joint position of each of the plurality of actuators, a plurality of actuators Steps to control each of the tas, Methods that include...
20. In the aforementioned known coordinate system, a patient tracker is used to track a portion of the patient's anatomical structure. The claim further includes the known coordinate system being defined with respect to the patient tracker. The method described in 19.
21. To determine the position of each of the actuators among the plurality of actuators. , further including determining the position of the saw blade, and determining the position of the handheld portion. The step is the position of the saw blade and the actuator among the plurality of actuators The method according to claim 19 or 20, based on each of the aforementioned positions of the Ta.
22. The step of determining the position of each of the plurality of actuators The position of each of the multiple actuators is determined using an encoder coupled to each of the actuators. The method according to claim 21, further defined as measuring.
23. In the known coordinate system, the orientation of the tracker coupled to the blade support is determined. Based on the position of the tracker coupled to the blade support, the position of the saw blade The method according to claim 21 or 22, further comprising determining
24. In the known coordinate system, the attitude of the tracker attached to the handheld portion is determined. And, based on the position of the tracker connected to the handheld portion, the handheld portion The method according to any one of claims 19 to 23, further comprising determining the aforementioned posture. 。
25. The step of determining the target posture of the saw blade involves setting the target posture with at least three degrees of freedom. The method according to any one of claims 19 to 24, as further defined by defining.
26. The target posture includes a target coordinate system, and the saw blade includes a guided coordinate system. The approximate force is adapted to move the guided coordinate system toward the target coordinate system. The method according to any one of claims 19 to 25.
27. The method further includes determining the orientation of the saw blade in the known coordinate system, and the guide system Approximately, the method has a value for the adjustment parameter, and the target position of the saw blade and the saw This includes changing the value of the adjustment parameter based on the relationship between the blade's position and the adjustment parameter. The method according to any one of claims 19 to 26.
28. The step of simulating the dynamics is performed based on the guide constraints and external force values. The method according to claim 19, further defined as calculating a constraint force.
29. The process further includes planning the orientation of the implant in the known coordinate system, and the saw blade The aforementioned target posture is based on the planned posture of the implant, as described in claim 19. The method.
30. Determining the joint centering constraint, and based on the said joint centering constraint, Any one of claims 19 to 29 further includes controlling a plurality of actuators. Method of description.
31. Based on the guide constraint and the joint centering constraint, the virtual saw blade To calculate the constraint forces adapted to move it toward the aforementioned target posture, Based on the aforementioned constraint forces, the dynamics of the virtual saw blade in the virtual simulation are The process involves emulating and outputting a commanded posture, and moving the saw blade toward the target posture. Controlling the plurality of actuators in this manner means that the saw blade is controlled based on the commanded posture. It is further defined as commanding the plurality of actuators to align them. That thing, The method according to claim 30, further comprising:
32. The guide constraint has a first value for the adjustment parameter, and the joint centering control Approximately has a second value for the adjustment parameter, and the first value is equal to the second value. Unlike the joint centering constraint, the resulting constraint force is different. As a result of the guide constraints, the saw blade is adapted to be more strongly aligned. The method described in item 31.
33. The commanded posture is the relationship between the handheld portion and the saw blade, according to claims 19 to 32. The method described in any one of the items.
34. Based on the commanded posture, the commanded joint velocity for each of the plurality of actuators is To determine, and based on the command joint velocity of each of the plurality of actuators, Any of claims 19 to 33 further includes controlling each of a plurality of actuators. The method described in item 1.
35. A handheld medical robot system for use with a saw blade, wherein the system is It is a device, A handle portion held by the user, and a blade support connected to the handle portion. The blade support includes a handle portion and a saw drive motor that drives the movement of the saw blade. Blade support and The blade support and the handle portion are interconnected in an operable manner, and the saw blade is aligned. To achieve this, the blade support is moved with multiple degrees of freedom relative to the handgrip portion, thereby positioning the saw blade. An actuator assembly that is assembled, wherein the actuator assembly is multi It includes a number of actuators, and optionally, at least two of each of the actuators , an actuator assembly connected to the blade support and the handgrip portion, An apparatus having, Localizer and, The plurality of actuators, the saw drive motor, and the localizer are coupled to the above, Control system and, The control system includes, In a known coordinate system, determine the target orientation of the saw blade, Determine the position of each of the aforementioned plurality of actuators, Based on the position of each of the plurality of actuators, the orientation of the handheld portion is determined. Determined, Based on the position of the handheld portion and the target position of the saw blade, the command of the saw blade Determine your posture, Based on the commanded posture, the commanded joint position of each of the plurality of actuators is determined. 、 Based on the command joint position, each of the multiple actuators is controlled. A system that is configured in such a way.
36. The system further includes a patient tracker, the patient tracker is a known coordinate system that tracks the patient's Adapted to track the part, the known coordinate system is defined relative to the patient tracker. The system according to claim 35.
37. The control system controls each of the actuators among the plurality of actuators. The control system is further configured to determine the position and the orientation of the saw blade, and the control system is configured to determine the position and the orientation of the saw blade. The position of the saw blade and the front of each of the actuators among the plurality of actuators A configuration that determines the orientation of the handheld portion based on the marked position, claim The system described in 35 or 36.
38. Each of the plurality of actuators includes an encoder for measuring the position of each of the plurality of actuators. The system described in claim 37.
39. The control system further includes a tracker coupled to the blade support, and the known coordinate In the system, the orientation of the tracker coupled to the blade support is determined, and the tracker is coupled to the blade support. The configuration is configured to determine the position of the saw blade based on the position of the tracker that has been aligned. The system according to claim 37 or 38.
40. The control system receives the planned orientation of the implant in the known coordinate system. The saw blade is configured to believe that the target position of the implant is the planned position of the implant A system according to any one of claims 35 to 39, based on posture.
41. The commanded posture is the relationship between the handheld portion and the saw blade, according to claims 35 to 40. The system described in any one of the items.
42. The control system controls each of the plurality of actuators based on the commanded posture. The command joint velocity is determined, and based on the command joint velocity of each of the plurality of actuators... Claim 3 A system described in any one of items 5 to 41.
43. A method for controlling the movement of a handheld medical robot system used with a saw blade, The robot system comprises a localizer and a handheld device, which is held by the user. A handle portion and a part movably coupled to the handle portion to support the saw blade A blade support and an actuator that interconnects the blade support and the handle portion in an operable manner. An assembly comprising a plurality of actuators, A handheld device having an actuator assembly, the blade support being a saw drive The method includes a motor, The steps include determining the target orientation of the saw blade in a known coordinate system, The steps include determining the position of each of the plurality of actuators, Based on the position of each of the plurality of actuators, the orientation of the handheld portion is determined. The steps to determine, Based on the position of the handheld portion and the target position of the saw blade, the command of the saw blade Steps to determine posture, Based on the commanded posture, the commanded joint position of each of the plurality of actuators is determined. The steps, The steps include controlling each of the multiple actuators based on the command joint position, Methods that include...
44. In the aforementioned known coordinate system, a patient tracker is used to track a portion of the patient's anatomical structure. The claim further includes the known coordinate system being defined with respect to the patient tracker. The method described in 43.
45. To determine the position of each of the actuators among the plurality of actuators. , further including determining the position of the saw blade, and determining the position of the handheld portion. The step is the position of the saw blade and the actuator among the plurality of actuators The method according to claim 43 or 44, based on each of the aforementioned positions of the Ta.
46. The step of determining the position of each of the plurality of actuators The position of each of the multiple actuators is determined using an encoder coupled to each of the actuators. The method according to claim 45, further defined as measuring.
47. In the known coordinate system, the orientation of the tracker coupled to the blade support is determined. Based on the position of the tracker coupled to the blade support, the position of the saw blade The method according to claim 45 or 46, further comprising determining the
48. The process further includes planning the orientation of the implant in the known coordinate system, and the saw blade The aforementioned target posture is based on the planned posture of the implant, as in claims 43-47. The method described in any one of the items.
49. Based on the commanded posture, the commanded joint velocity for each of the plurality of actuators is To determine, and based on the command joint velocity of each of the plurality of actuators, Any of claims 43 to 48 further includes controlling each of a plurality of actuators. The method described in item 1.
50. The step of determining the target posture of the saw blade involves setting the target posture with at least three degrees of freedom. The method according to any one of claims 43 to 49, as further defined by defining.
51. A handheld medical robot system for use with tools, wherein the system is It is a device, A handle portion held by the user, and a tool support attached to the handle portion. The tool support body includes a tool drive motor that drives the movement of the tool. , the handle portion and tool support, The tool support and the handheld portion are interconnected in an operable manner, and the tool support is Move the tool so that it can be moved with multiple degrees of freedom relative to the handheld part, and position the tool An actuator assembly to be placed together, wherein the actuator assembly is It includes multiple actuators, and optionally, at least two of each of the multiple actuators are front The actuator assembly is connected to the tool support and the handheld portion, An apparatus having, Localizer and, A control system coupled to the plurality of actuators and the localizer, The control system includes, In a known coordinate system, the orientation of the handheld part, the target orientation of the tool, and the boundary are Decision made, Based on the target orientation of the tool and the orientation of the handheld portion, the command orientation is determined. Determined, Based on the commanded posture, the commanded joint position for each of the plurality of actuators and / or determine the command joint angle, Based on the commanded joint position and / or commanded joint angle for each actuator, Control each of the plurality of actuators, The command joint position of at least one actuator, at least one actuator The measured position of the actuator, the previous commanded position of at least one actuator, at Previously measured position of one actuator, command of at least one actuator Joint angle, measured joint angle of at least one actuator, at least one The actuator's previous command joint angle, and the previously measured angle of at least one actuator. Based on the joint angles, or combinations thereof, the tool drive motor is controlled. A system that is configured in such a way.
52. The control system controls each of the plurality of actuators based on the commanded posture. The command joint velocity is determined, and based on the command joint velocity of each of the plurality of actuators... Claim 5 The system described in 1.
53. The control system controls the previous command position of at least one actuator, Based on these combinations, it is configured to control the tool drive motor. The system according to claim 51 or 52.
54. The control system controls the first actuator among the plurality of actuators. The command joint position and the first motor override for the first actuator The system is configured to compare with a limit and control the tool drive motor based on the comparison. The system according to any one of claims 51 to 53.
55. The first motor override limit includes an upper threshold and a lower threshold, as described in claim 54. The system.
56. The control system controls the second actuator among the plurality of actuators. The command joint position and the second motor override for the second actuator Claim 5, configured to control the tool drive motor based on the limit The system described in 4 or 55.
57. The control system sets the motor parameters of the tool drive motor to a first value and a second value. The drive motor is controlled by a value, and the first value is Unlike the second value, the control system controls the first actuator. Based on the command joint position and the first motor override limit, from the first value Any one of claims 54 to 56, which is operable to change the operation to the second value. The system described in the section.
58. The control system configured to control the tool drive motor is the tool drive Claims 51-5 are further defined as being configured to stop the motor. The system described in any one of item 7.
59. A handheld medical robot system for use with a saw blade, wherein the system is It is a device, The part held by the user, A blade support connected to the handle portion for supporting the saw blade, The body includes a blade support, which contains a saw drive motor, The blade support and the handle portion are interconnected in an operable manner, and the blade support is connected to the handle portion An actuator assembly moves with multiple degrees of freedom relative to a part to align the saw blade. The actuator assembly includes a plurality of actuators. Tuner assembly and, Includes, equipment and Localizer and, The plurality of actuators, the localizer, and the saw drive motor are coupled to the above, Control system and, The control system includes, In a known coordinate system, determine the target orientation of the saw blade and the orientation of the handle portion. Based on the target position of the saw blade and the position of the handle portion, the plurality of actions Control each of the tuners, Measured position of at least one actuator, at least one actuator Based on the previously measured position of the saw, or a combination thereof, the saw drive motor is controlled. ru, A system configured in such a way.
60. Controlling the movement of a handheld medical robot system used with a saw blade, and positioning the saw blade A method of arranging on a plane, wherein the robot system comprises a localizer and a handheld A type of instrument comprising a handheld portion held by the user and a front portion for supporting the saw blade. A blade support is movably coupled to the handle portion, and the blade support and the handle portion are movable An actuator assembly that is operable and interconnected, wherein the actuator assembly The handheld device has an actuator assembly that includes multiple actuators. The tool includes, the blade support includes a saw drive motor, and the method is The steps include determining the target orientation of the saw blade in a known coordinate system, The steps include determining the orientation of the handheld portion in the known coordinate system, Based on the target position of the saw blade and the position of the handle portion, the command position is determined. The steps, Based on the commanded posture, the commanded joint position of each of the plurality of actuators is determined. Steps and Each of the multiple actuators is controlled based on the command joint position of each actuator. The steps to take, The command joint position of at least one actuator, at least one actuator The measured position of the actuator, the previous commanded position of at least one actuator, at least one Based on the previously measured positions of one actuator, or a combination thereof, the sawtooth Steps to control the motor, Methods that include...
61. The step of controlling the saw drive motor is the same as the step of controlling the at least one actuator The saw drive motor is controlled based on the previous command position, or a combination thereof. The method according to claim 60, as defined by [the specified definition].
62. The step of controlling the saw drive motor involves controlling the first of the plurality of actuators The command joint position for the actuator and the first actuator The motor override limit as further defined in claim 61 method.
63. The first motor override limit includes an upper threshold and a lower threshold, as described in claim 62. Method of loading.
64. The step of controlling the saw drive motor involves controlling the second of the plurality of actuators. The command joint position for the actuator, and the second actuator Based on the motor override limit of 2, the saw drive motor is further controlled. The method according to claim 62 or 63.
65. The step of controlling the saw drive motor involves setting the motor parameters of the saw drive motor to a first This includes controlling by a value and a second value, wherein the first value is different from the second value, The step of controlling the saw drive motor is to control the command relation of the first actuator. Based on the nodal position and the first motor override limit, the second value is obtained from the first value. The person according to any one of claims 62 to 64, which is operable to change the operation to a value. Law.
66. The command joint position, the measured position of at least one actuator, at least one Previous command position of one actuator, previous measurement of at least one actuator Controlling the saw drive motor based on the selected position, or a combination thereof, is the saw Any one of claims 62 to 65, further defined as stopping the drive motor Method of description.
67. Based on the commanded posture, the commanded joint velocity for each of the plurality of actuators is To determine, and based on the command joint velocity of each of the plurality of actuators, Any of claims 62 to 66 further includes controlling each of a plurality of actuators. The method described in item 1.
68. Controlling the movement of a handheld medical robot system used with a saw blade to position the saw blade A method of alignment, wherein the robot system comprises a localizer and a handheld device. It has a handle portion that is held by the user, and the handle portion that supports the saw blade. A blade support is movably coupled to a portion, and the blade support and the handgrip portion are operable An interconnected actuator assembly, wherein the actuator assembly is multi Includes a handheld device having an actuator assembly that includes several actuators. The blade support includes a saw drive motor, and the method is The steps include determining the target orientation of the saw blade in a known coordinate system, The steps include determining the orientation of the handheld portion in the known coordinate system, Based on the target position of the saw blade and the position of the handle portion, a plurality of actuators Steps to control each of the data, Measured position of at least one actuator, at least one actuator The saw drive motor is controlled based on the previously measured position, or a combination thereof. Steps and Methods that include...
69. A handheld medical robot system for use with a saw blade, wherein the system is It is a device, A saw blade and The handle part, An actuator system including multiple actuators, A blade support that supports the saw blade and moves the saw blade, wherein the plurality of actuators It extends between the blade support and the handle portion, and the blade support includes a saw drive motor. Blade support and Includes, equipment and Localizer and, The plurality of actuators, the localizer, and the saw drive motor are coupled to the above, A control system that, in a known coordinate system, determines the target orientation of the saw blade, the state of the saw blade, and a control system configured to determine the orientation of the handheld portion, The control system includes, Based on the target position of the saw blade and the position of the handle portion, guide constraints are generated. A guide handler comprising the guide constraint having a value for the adjustment parameter The guide handler changes the value of the adjustment parameter based on the state of the saw blade. The guide handler is configured to further, Based on the aforementioned guide constraints, the virtual saw blade is adapted to move toward the target posture. A constraint solver that calculates the constraint forces, Based on the input from the aforementioned constraint forces, the movement of the virtual saw blade in the virtual simulation. A virtual simulator that simulates mechanics and outputs commanded attitude, wherein the control system Based on the commanded posture, the plurality of actuators align the saw blades. A virtual simulator configured to issue commands to a data controller, A system that includes this.
70. The adjustment parameter of the guide constraint affects the rigidity or damping of the guide constraint. Boss, the system according to claim 69.
71. The target orientation of the saw blade is the position in the first degree of freedom in the known coordinate system. The system according to claim 69 or 70, defined by a first angle and a second angle. 。
72. The state of the saw blade includes the position, orientation, or orientation in the known coordinate system, claim A system as described in any one of paragraphs 69 to 71.
73. The target attitude includes position and orientation, and the guide handler in the known coordinate system , the angle between the orientation of the saw blade and the target orientation of the saw blade, the position of the saw blade and the Determine the distance between the saw blade and the target position, or determine both the angle and the distance. The configuration further comprises the angle value, the distance value, or the angle value and the distance The system is configured to change the value of the adjustment parameter based on both of the aforementioned values. The system according to claim 72.
74. The state of the saw blade is the commanded orientation and the previous command of the saw blade in the known coordinate system. The posture, the measured posture of the saw blade, or the previously measured posture of the saw blade are further defined. The system according to any one of claims 69 to 73.
75. The state of the saw blade is further defined as the previous commanded position of the saw blade in the known coordinate system. The system according to any one of claims 69 to 74, as defined in [the relevant section].
76. At least two of each of the multiple actuators are connected to the blade support and the handle portion. The system according to any one of claims 69 to 75.
77. A method for controlling the movement of a handheld medical robot system used with a saw blade, The robot system comprises a localizer and a handheld device, which is held by the user. A handle portion and a part movably coupled to the handle portion to support the saw blade A blade support and an actuator that interconnects the blade support and the handle portion in an operable manner. An assembly comprising a plurality of actuators, A handheld device having an actuator assembly, the blade support being a saw drive The method includes a motor, The steps include determining the target orientation of the saw blade in a known coordinate system, The steps include determining the state of the saw blade in the known coordinate system, The steps include determining the value of the adjustment parameter based on the state of the saw blade, Based on the target position of the saw blade and the position of the handle portion, and the adjustment parameter A step of generating guide constraints based on the aforementioned value of the meter, Based on the aforementioned guide constraints, a step is taken to calculate the constraint force adapted to move the virtual saw blade. P and, Based on the aforementioned constraints, the dynamics of the virtual saw blade are simulated in the virtual simulation. The steps include rating and outputting a command attitude based on the virtual simulation, The steps include controlling each of the multiple actuators based on the commanded posture, Methods that include...
78. The method according to claim 77, wherein the state of the saw blade is the previous commanded position.
79. The adjustment parameter of the guide constraint affects the rigidity or damping of the guide constraint. Boss, the method according to claim 77 or 78.
80. The target orientation of the saw blade is the position in the first degree of freedom in the known coordinate system. The first angle and the second angle as defined in any one of claims 77 to 79 Method of loading.
81. The state of the saw blade includes the position, orientation, or orientation in the known coordinate system, claim The method described in any one of paragraphs 77 to 80.
82. The target attitude includes position and orientation, and the method is in the known coordinate system, Determining the angle between the orientation of the saw blade and the target orientation of the saw blade, the position of the saw blade and the saw Determining the distance between the blade and the target position, or determining both the angle and the distance. This further includes the value of the angle, the value of the distance, or the value of the angle and the distance before the angle. The system is configured to change the value of the adjustment parameter based on both of the specified values. The method according to any one of claims 77 to 81.
83. The state of the saw blade is the commanded orientation and the previous command of the saw blade in the known coordinate system. The posture, the measured posture of the saw blade, or the previously measured posture of the saw blade are further defined. The method according to any one of claims 77 to 82.
84. The state of the saw blade is further defined as the previous commanded position of the saw blade in the known coordinate system. The method according to claim 83, as defined in [the relevant section].
85. A handheld medical robot system for use with a saw blade, wherein the system is It is a device, The part held by the user, A blade support connected to the handle portion for supporting the saw blade, The body includes a blade support, which includes a saw drive motor, The blade support and the handle portion are interconnected in an operable manner, and the blade support is connected to the handle portion Actuator moves the saw blade on a desired plane with multiple degrees of freedom relative to a part. An actuator assembly comprising a plurality of actuators Hmm, the actuator assembly, Includes, equipment and Localizer and, The plurality of actuators, the localizer, and the saw drive motor are coupled to the above, Control system and, The control system includes, In a known coordinate system, determine the target orientation of the saw blade and the state of the saw blade. Determine the position and / or orientation of the reference coordinate system with respect to the known coordinate system. Based on the relationship between the state of the saw blade and the reference coordinate system, the state of the first constraint is Determine the first constraint based on the relationship between the state of the saw blade and the reference coordinate system. Determine a second constraint state that is different from the first one. The control system is configured as follows: Based on the state of the first constraint and based on the second constraint, the virtual saw blade A constraint solver that calculates constraint forces adapted to move toward the aforementioned target posture, Based on the aforementioned constraints, the dynamics of the virtual saw blade in the virtual simulation are determined by the A virtual simulator that controls and outputs commanded attitudes, The control system further includes the control of each of the actuators based on the commanded posture. A system further configured to control.
86. The control system further includes a user input device, and the control system receives from the user input device. Based on the transmitted user input signal, the state of the first constraint and / or the second constraint is determined. The system according to claim 85, configured to change its state.
87. At least two of each of the multiple actuators are connected to the blade support and the handle portion. The system according to claim 85 or 86.
88. The state of the first constraint is, Active state of the first constraint, inactive state of the first constraint, adjustment parameter The first constraint having a first value of the meter, and the second value of the adjustment parameter having Selected from the group including the first constraint, the state of the second constraint is the The active state, the inactive state of the second constraint, and the third value of the adjustment parameter. The second constraint having the aforementioned second constraint and the second constraint having the aforementioned A system according to any one of claims 85 to 87, selected from the group.
89. The first constraint is a guide constraint, and the second constraint is a joint centering constraint. The system according to claim 88.
90. The first state and the second state of the saw blade are determined by their position in the known coordinate system. The system according to any one of claims 85 to 89, including orientation or posture.
91. The state of the saw blade is the first state of the saw blade at the first time, and at the second time The second state of the saw blade is further defined as the first state of the saw blade, and the saw Unlike the second state of the blade, the first time is different from the second time, The state of constraint 1 is inactive in the first state of the saw blade, and the saw The blade is active in the second state, and the state of the second constraint is in front of the saw blade. In the first state, it is active, and in the second state of the saw blade, it is inactive. The system according to any one of claims 85 to 90.
92. The state of the saw blade is the first state of the saw blade at the first time, and at the second time The second state of the saw blade is further defined as the first state of the saw blade, and the saw Unlike the second state of the blade, the first time is different from the second time, The state of constraint 1 is that in the first state of the saw blade, the first value of the adjustment parameter The saw blade has a second state in which it has a second value for the adjustment parameter. The state of the second constraint is the adjustment parameter in the first state of the saw blade. The third value is, and in the second state of the saw blade, the fourth value of the adjustment parameter The system according to any one of claims 85 to 91, which is in a state of having.
93. The control system, based on the first state of the saw blade and the reference coordinate system, Determine the distance parameter, and based on the second state of the saw blade and the reference coordinate system, It is configured to determine a second distance parameter, and the first distance parameter and the The distance parameter 2 is selected from a group including orientation and size, and the first state of the saw blade Determining the state of the first constraint based on the relationship between the state and the reference coordinate system is: The first state of the first constraint is determined based on the first distance parameter. It is further defined as and is based on the relationship between the second state of the saw blade and the reference coordinate system. Therefore, determining the second state of the first constraint is based on the second distance parameter. The claim further defines determining the second state of the first constraint. A system as described in any one of items 85 to 92.
94. Based on the relationship between the first state of the saw blade and the reference coordinate system, before the second constraint Determining the state is based on the first distance parameter and the second constraint. Further defined as determining the first state, the second state of the saw blade and the reference seat Determining the second state of the second constraint based on the relationship with the standard system is as follows: Based on the second distance parameter, the second state of the second constraint is determined. The system according to claim 93, further defined.
95. The first distance parameter and the second distance parameter are, respectively, the distance from the bone. The system according to claim 93 or 94, selected from the direction and the direction of entry into the bone.
96. The first and second values of the adjustment parameter are defined by a function. A system described in any one of the requests 85 to 95.
97. The function is the distance of the saw blade relative to the reference coordinate system in at least one degree of freedom. The system according to claim 96, based on a bend / or angle.
98. The state of the first constraint and / or the state of the second constraint are defined by a function. The system according to any one of claims 85 to 97.
99. The function is the distance of the saw blade relative to the reference coordinate system in at least one degree of freedom. The system according to claim 98, based on a bend / or angle.
100. The state of the first constraint and / or the state of the second constraint are, The system according to claim 85, as defined by Bull.
101. A method for controlling the movement of a handheld medical robot system used with a saw blade, The robot system comprises a localizer and a handheld device, which is held by the user. A handle portion and a part movably coupled to the handle portion to support the saw blade A blade support, and an actuator that operably interconnects the blade support and the handle portion. An actuator assembly comprising a plurality of actuators The handheld device includes an actuator assembly, the blade support being a saw The method includes a drive motor, The steps include determining the target orientation of the saw blade in a known coordinate system, A step of determining the position and / or orientation of the reference coordinate system with respect to the known coordinate system, The steps include determining the state of the saw blade in the known coordinate system, Based on the relationship between the state of the saw blade and the reference coordinate system, the state of the first constraint is determined. The steps to determine, Based on the relationship between the state of the saw blade and the reference coordinate system, the state of the second constraint is determined. A step in which the first constraint is different from the second constraint, Based on the state of the first constraint and / or the state of the second constraint, virtual saw blade A step of calculating constraint forces adapted to move, Based on the aforementioned constraints, the dynamics of the virtual saw blade in the virtual simulation are determined by the The steps include: simulating and outputting a command attitude based on the virtual simulation, The steps include controlling each of the multiple actuators based on the commanded posture, Methods that include...
102. The state of the first constraint is, Active state of the first constraint, inactive state of the first constraint, adjustment parameter The first constraint having a first value of the meter, and the second value of the adjustment parameter having Selected from the group including the first constraint, the state of the second constraint is the The active state, the inactive state of the second constraint, and the third value of the adjustment parameter. The second constraint having the aforementioned second constraint and the second constraint having the aforementioned The method according to claim 101, selected from the group.
103. The first constraint is a guide constraint, and the second constraint is a joint centering constraint. The method according to claim 102.
104. The first state and the second state of the saw blade are determined by their position in the known coordinate system. The method according to claim 103, including orientation or posture.
105. The state of the saw blade is the first state of the saw blade at the first time, and at the second time The second state of the saw blade is further defined as the first state of the saw blade, and the saw Unlike the second state of the blade, the first time is different from the second time, The state of constraint 1 is inactive in the first state of the saw blade, and the saw The blade is active in the second state, and the state of the second constraint is in front of the saw blade. In the first state, it is active, and in the second state of the saw blade, it is inactive. The method according to claim 104, wherein the method is B.
106. The state of the saw blade is the first state of the saw blade at the first time, and at the second time The second state of the saw blade is further defined as the first state of the saw blade, and the saw Unlike the second state of the blade, the first time is different from the second time, The aforementioned state of constraint 1 is the adjustment parameter in the first state of the saw blade It has a value of 1, and in the second state of the saw blade, it has the second value of the adjustment parameter. The state is such that the second constraint is such that the adjustment in the first state of the saw blade is The adjustment parameter has the third value, and in the second state of the saw blade, the adjustment parameter The method according to claim 104 or 105, wherein the state is having the fourth value of the DATA.
107. Based on the first state of the saw blade and the reference coordinate system, a first distance parameter is determined. To determine the second distance, based on the second state of the saw blade and the reference coordinate system, The method further includes determining the first distance parameter and the second distance parameter The lamellar is selected from a group including direction and size, and the first state of the saw blade and the base Determining the state of the first constraint based on the relationship with the quasi-coordinate system is the first Based on the distance parameter, the first state of the first constraint is determined, and further Defined, and based on the relationship between the second state of the saw blade and the reference coordinate system, Determining the second state of constraint 1 is based on the second distance parameter, Claim 105 or further defined as determining the second state of the first constraint. The method described in 106.
108. Based on the relationship between the first state of the saw blade and the reference coordinate system, before the second constraint Determining the state is based on the first distance parameter and the second constraint. Further defined as determining the first state, the second state of the saw blade and the reference seat Determining the second state of the second constraint based on the relationship with the standard system is as follows: Based on the second distance parameter, the second state of the second constraint is determined. The method according to claim 107, as further defined.
109. The first distance parameter and the second distance parameter are, respectively, the distance from the bone. The method according to claim 107 or 108, selected from the direction and the direction of entry into the bone.
110. The reference coordinate system is defined with respect to the patient tracker, any one of claims 101 to 109. The method described in section [section number].
111. The reference coordinate system is based on the target orientation of the saw blade, as in any of claims 101 to 110. The method described in item 1.
112. Receiving a user input signal and, based on the user input signal, the first constraint and Claims 101 to 111 further include and / or changing the state of the second constraint. The method described in any one of the items.
113. The first and second values of the adjustment parameter are defined by a function. The method described in any one of the requests 101 to 112.
114. The function is the distance of the saw blade relative to the reference coordinate system in at least one degree of freedom. The method according to claim 113, based on a bend / or angle.
115. The state of the first constraint and / or the state of the second constraint are defined by a function. The method according to any one of claims 101 to 114.
116. The function is the distance of the saw blade relative to the reference coordinate system in at least one degree of freedom. The method according to claim 115, based on a bend / or angle.
117. The state of the first constraint and / or the state of the second constraint are, The method according to any one of claims 101 to 114, as defined by Bull.
118. Methods for controlling the movement of a handheld medical robot system used with surgical tools or This is a system, and the robot system comprises a localizer and a handheld device. , a handheld portion held by the user, and the handheld portion for supporting the surgical tool A tool support is movably coupled to the handle portion, and the tool support and the handle portion are movable An actuator assembly that is operable and interconnected, wherein the actuator assembly The handheld device has an actuator assembly that includes multiple actuators. The tool includes a tool support, the tool drive motor includes a tool drive motor, and the method is In a known coordinate system, the target orientation of the surgical tool is determined in at least one degree of freedom. The steps to determine, A step of determining the position and / or orientation of the reference coordinate system with respect to the known coordinate system, The steps include determining the state of the surgical tool in the known coordinate system, Based on the relationship between the state of the surgical tool and the reference coordinate system, the first constraint Steps to determine the state, Based on the relationship between the state of the surgical tool and the reference coordinate system, the second constraint is A step in determining the state, wherein the first constraint is different from the second constraint, Top, Based on the state of the first constraint and the state of the second constraint, a plurality of acts Steps to control each of the ethons, Methods or systems that include, or include, products configured to perform these steps Hmm.
119. A handheld medical robot system for use with a tool, wherein the system is a device A tool comprising a handheld portion held by the user, and the portion for supporting the tool A tool support connected to the handle portion, wherein the tool support is connected to a tool drive motor Includes a tool support, and a mechanism for operably interconnecting the tool support and the handgrip portion. The tool support is moved with multiple degrees of freedom relative to the handheld portion to position the tool. An actuator assembly that is assembled, wherein the actuator assembly is multi A fixture and localizer, including an actuator assembly, which includes several actuators. The plurality of actuators, the localizer, and the tool drive motor are coupled to each other. A control system is provided, wherein, in a known coordinate system, the target orientation of the tool and the hand A control system configured to determine the orientation of the gripping part, and based on external forces, the eye A constraint solver calculates constraint forces adapted to move the virtual tool toward the target orientation, and Based on the constraint forces, the dynamics of the virtual tool in the virtual simulation are simulated. The control system includes a virtual simulator that outputs a commanded attitude, and the control system includes the command Based on the commanded posture, the commanded joint position and / or commanded joint of each of the plurality of actuators Determine the angle, and based on the command joint position or command joint angle, the multiple actuators A system further configured to control each individual component.
120. A handheld medical robot system for use with a tool, wherein the system is a device A tool comprising a handheld portion held by the user, and the portion for supporting the tool A tool support connected to the handle portion, wherein the tool support is connected to a tool drive motor Includes a tool support, and a mechanism that operably interconnects the tool support and the handgrip portion. The tool support is moved with multiple degrees of freedom relative to the handheld portion to position the tool. An actuator assembly to be placed together, wherein the actuator assembly is A fixture including an actuator assembly containing multiple actuators, and a localized The coupling of the plurality of actuators, the localizer, and the tool drive motor. A control system wherein the control system, in a known coordinate system, uses the tool Includes a control system configured to determine the target posture and the posture of the handheld portion. Furthermore, the control system is based on the target posture of the tool and the posture of the handheld portion. Accordingly, a guide handler determines the guide constraints, and based on the guide constraints, the objective A constraint solver calculates constraint forces adapted to move the virtual tool toward the target orientation, and Based on the constraint forces, the dynamics of the virtual tool in the virtual simulation are simulated. The control system includes a virtual simulator that outputs a commanded attitude, and the control system includes the command Based on the command posture, the command joint position of each of the plurality of actuators is determined, and the command It is further configured to control each of multiple actuators based on the joint position. ,system.
121. A handheld medical robot system for use with a tool, wherein the system is a device A tool comprising a handheld portion held by the user, and the portion for supporting the tool A tool support connected to the handle portion, wherein the tool support is connected to a tool drive motor A tool support, including a tool support and a mechanism for operably interconnecting the tool support and the handgrip portion. The tool support is moved with multiple degrees of freedom relative to the handheld portion, thereby positioning the tool. An actuator assembly to be placed on the desired orbit, the actuator assembly The fixture includes an actuator assembly that includes multiple actuators, and - Colorizer, the plurality of actuators, the localizer, and the tool drive motor The system includes a control system coupled to the terminal, and the control system is in a known coordinate system. The control system is configured to determine the target posture of the tool and the posture of the handheld portion. The stem guides based on the target orientation of the tool and the orientation of the handgrip portion. A guide handler that determines constraints, and based on the guide constraints, moves toward the target posture. A constraint solver that calculates constraint forces adapted to run a virtual tool, and based on said constraint forces In the virtual simulation, the dynamics of the virtual tool are simulated, and the command behavior is... The control system includes a virtual simulator that outputs momentum, and the control system is based on the commanded attitude. Then, the command joint position and / or command joint angle of each of the plurality of actuators is determined. Based on the command joint position and / or command joint angle, each of the multiple actuators is controlled A system that is further structured to be controlled.
122. A handheld medical robot system for use with a tool, wherein the system is a device A tool comprising a handle portion held by the user and a tool attached to the handle portion. A tool support, wherein the tool support comprises a tool drive motor that drives the movement of the tool. A tool support, including a tool support and a mechanism for operably interconnecting the tool support and the handgrip portion. , in order to align the tool, the tool support is moved relative to the handgrip portion An actuator assembly that moves with degrees of freedom to align the tool, The actuator assembly includes a plurality of actuators, and optionally a plurality of actuators At least two of the diodes are connected to the tool support and the handgrip portion. The apparatus includes an actuator assembly, a localizer, and the plurality of actuators. The system includes an Eta, a control system coupled to the tool drive motor and the localizer, The control system determines the target attitude of the tool in a known coordinate system, and the multiple Determine the position of each of the actuators, and set the position of each of the plurality of actuators Based on this, the orientation of the handheld portion is determined, and the orientation of the handheld portion and the tool Based on the target posture, the command posture of the tool is determined, and based on the command posture, Determine the command joint position of each of the multiple actuators, and based on the command joint position, A system configured to control each of multiple actuators.
123. A handheld medical robot system for use with a tool, wherein the system is a device A tool comprising a handle portion held by the user and a tool attached to the handle portion. A tool support, wherein the tool support comprises a tool drive motor that drives the movement of the tool. A tool support, including a tool support and a mechanism for operably interconnecting the tool support and the handgrip portion. Therefore, in order to move the tool, the tool support is given multiple degrees of freedom relative to the handheld portion. An actuator assembly that moves to align the tool, wherein the a An actuator assembly includes multiple actuators, and optionally, multiple actuators At least two of the staves are connected to the tool support and the handle portion. The apparatus includes an actuator assembly, a localizer, and the plurality of actuators The system includes a data and a control system coupled to the localizer, the control system being In a known coordinate system, determine the orientation of the handheld portion, the target orientation of the tool, and the boundary. Based on the target orientation of the tool and the orientation of the handheld portion, the command orientation is determined. Determine the commanded joint position for each of the plurality of actuators based on the commanded posture. Determine the position and / or command joint angle, and the command joint position and for each actuator / or control each of the plurality of actuators based on the command joint angle, at least The command joint position of one actuator, measured by at least one actuator The position, the previous commanded position of at least one actuator, and at least one actuator The previously measured position of the ethode, the command joint angle of at least one actuator, and at least The measured joint angle of at least one actuator, at least one actuator Previous command joint angle, previously measured joint angle of at least one actuator, and Based on these combinations, it is configured to control the tool drive motor. system.
124. A handheld medical robot system for use with a tool, wherein the system is a device A tool comprising a handheld portion held by the user, and the portion for supporting the tool A tool support connected to the handle portion, wherein the tool support is connected to a tool drive motor A tool support, including a tool support and a mechanism for operably interconnecting the tool support and the handgrip portion. The tool support is moved with multiple degrees of freedom relative to the handheld portion to position the tool. An actuator assembly to be placed together, wherein the actuator assembly is A fixture including an actuator assembly containing multiple actuators, and a localized The, coupled to the plurality of actuators, the localizer and the tool drive motor The control system includes a control system, and the control system uses the tool in a known coordinate system. Determine the target posture of the tool and the posture of the handheld portion. Based on the aforementioned orientation of the part, each of the plurality of actuators is controlled, and at least one The measured position of one actuator, the previous measurement of at least one actuator. The tool drive motor is configured to be controlled based on the selected position, or a combination thereof. A system that is in place.
125. A handheld medical robot system for use with a tool, wherein the system is a device An apparatus comprising a tool, a handle, and an actuator system including multiple actuators. A system and a tool support that supports the tool and moves the tool, wherein the plurality of The cutter extends between the tool support and the handle portion, and the tool support is An apparatus including a tool drive motor, a tool support, a localizer, and the plurality The actuator, the localizer and the tool drive motor are coupled to a control system The control system includes the target orientation of the tool in a known coordinate system, and the The control system is configured to determine the state of the tool and the orientation of the handheld portion. Based on the target orientation of the tool and the orientation of the handheld portion, guide constraints are generated. A guide handler comprising the guide constraint having a value for the adjustment parameter The guide handler, based on the state of the tool, adjusts the value of the adjustment parameter. A guide handler is configured to make changes, and based on the guide constraints, a virtual... A constraint solver calculates constraint forces adapted to move the wheel toward the target posture, and Based on the input from the constraint forces, the dynamics of the virtual tool in the virtual simulation The control system includes a virtual simulator that simulates and outputs command attitudes, and the control system Based on the commanded posture, the multiple actuators align the tool. A system configured to issue commands to a generator.
126. A handheld medical robot system for use with a tool, wherein the system is a device A tool comprising a handheld portion held by the user, and the means for supporting the tool, A tool support attached to the handle portion, wherein the tool support is a tool drive motor A tool support including a handle, and the tool support and the handgrip portion are interconnected in an operable manner. The tool support is moved with multiple degrees of freedom relative to the handheld portion, thereby moving the tool Position it on the desired trajectory, or align it with a virtual object with one or more degrees of freedom. An actuator assembly, wherein the actuator assembly comprises a plurality An actuator, an actuator assembly, a fixture, a localizer, The plurality of actuators, the localizer, and the tool drive motor are coupled to , including a control system, the control system, in a known coordinate system, the eye of the tool Determine the target orientation, the state of the tool, and the position of the reference coordinate system relative to the known coordinate system. / or determine the orientation and, based on the relationship between the state of the tool and the reference coordinate system, Determine the state of constraint 1, and based on the relationship between the state of the tool and the reference coordinate system The control system is configured to determine the state of a second constraint that is different from the first constraint, and the control system The system, based on the state of the first constraint and based on the second constraint, virtual A constraint solver that calculates constraint forces adapted to move the tool toward the target posture, Based on the aforementioned constraints, the dynamics of the virtual tool are simulated in the virtual simulation. The control system further includes a virtual simulator that rates and outputs command attitude, Based on the commanded posture, the system is further configured to control each of the actuators. A system.