Patent Description:
The present technology is related generally to monitoring anatomical motion, and more particularly, to detecting and tracking anatomical motion via one or more internal sensor of a robotic arm.

Surgical procedures using robotic systems rely on a navigation system to track positions of various components and elements of the surgical procedures, such as tools, robotic arms, and patient anatomy. These positions may be identified and tracked by reference markers tracked by the navigation system. Components or elements that are unable to receive a reference marker may not be tracked by the navigation system and may not be tracked or may be tracked by other means.

Document <CIT> discloses a robotic device for positioning a surgical instrument relative to the body of a patient that includes a first robotic arm with a device for rigidly connecting to at least one surgical instrument, a device for anatomical realignment of the first arm by realigning an image that is of an area of the anatomy of the patient, and a device for compensating the movements of the first arm on the basis of detected movements. One version of the device includes at least one second robotic arm having sensors for detecting inner movements of the anatomical area, and a device for controlling the positioning of the first arm relative to sensed inner movements and to the outer movements induced in the second arm.

The present invention is defined by appended claim <NUM>. A specific embodiment is set forth in dependent claim <NUM>.

Example aspects of the present disclosure include:.

A method of tracking anatomical motion according to at least one embodiment of the present disclosure comprises detecting, based on information received from at least one internal sensor of a first robotic arm, an initial contact between the first robotic arm and an anatomical element of a patient; determining, based on the information, a position of the anatomical element; comparing the determined position of the anatomical element to an expected position of the anatomical element; and when the determined position is offset from the expected position, updating a tool trajectory of a second robotic arm based on the comparison.

Any of the aspects herein, further comprising: registering the first robotic arm and the second robotic arm to a patient space corresponding to the patient.

Any of the aspects herein, wherein the expected position is based on a surgical plan.

Any of the aspects herein, further comprising: calculating a compensation parameter based on the comparison; wherein updating the tool trajectory of the second robotic arm based on the comparison comprises applying the compensation parameter to the tool trajectory.

Any of the aspects herein, wherein the at least one internal sensor comprises a force sensor and a torque sensor.

Any of the aspects herein, wherein the at least one internal sensor comprises an encoder.

Any of the aspects herein, further comprising: causing the first robotic arm to be secured to the anatomical element; and activating the first robotic arm to move the anatomical element to the expected position.

Any of the aspects herein, further comprising: causing the first robotic arm to be secured to the anatomical element; detecting, based on data received from the at least one internal sensor, movement of the first robotic arm; and determining, based on the detected movement, a movement of the anatomical element.

Any of the aspects herein, further comprising: updating a virtual model of an anatomical portion of the patient based on the determined movement of the anatomical element.

Any of the aspects herein, further comprising: causing the second robotic arm to move based on the determined movement of the anatomical element.

Any of the aspects herein, further comprising: causing the first robotic arm to be secured to the anatomical element; and activating the first robotic arm to prevent movement of the anatomical element from the determined position.

Any of the aspects herein, wherein the information is first information, the method further comprising: receiving second information from at least one second internal sensor of the second robotic arm, the second information corresponding to at least one of an applied force or an applied torque exerted by the second robotic arm on the anatomical element; and causing the first robotic arm to exert at least one of a responsive force or a responsive torque on the anatomical element to counteract the applied force or the applied torque.

A method of controlling a robotic arm according to at least one embodiment of the present disclosure comprises registering a first robotic arm and a second robotic arm to a patient space corresponding to a patient; receiving a surgical plan comprising information about an anatomical element of the patient and a surgical task to be completed on the anatomical element by the second robotic arm; causing the first robotic arm to grip the anatomical element with a mechanical gripper; and detecting, based on sensor data received from at least one internal sensor of the first robotic arm and without use of data from any external sensor, at least one force or torque exerted on the anatomical element by the second robotic arm.

Any of the aspects herein, further comprising: comparing the detected at least one force or torque to a corresponding predicted at least one force or torque described in the surgical plan; and generating an alert when the detected at least one force or torque differs from the predicted at least one force or torque by more than a predetermined amount.

Any of the aspects herein, further comprising: detecting an initial contact between the first robotic arm and the anatomical element, based on information from the at least one internal sensor; calculating a position of the anatomical element based on a position of the first robotic arm at a time of the detected initial contact; and comparing the calculated position of the anatomical element to a predicted position of the anatomical element from the surgical plan.

Any of the aspects herein, further comprising: generating a compensation parameter based on the comparison; and causing the second robotic arm to move based at least in part on the compensation parameter.

Any of the aspects herein, wherein the anatomical element is a vertebra.

A system for accounting for anatomical movement during a surgical procedure according to at least one embodiment of the present disclosure comprises a working robotic arm; a detecting robotic arm comprising at least one internal sensor configured to detect at least one of a force or a torque exerted on the working robotic arm; at least one processor; and at least one memory storing instructions for execution by the at least one processor that, when executed, cause the at least one processor to: receive a surgical plan comprising information about an anatomical element of a patient and a surgical task to be completed on the anatomical element by the working robotic arm; correlate a position of the detecting robotic arm to a position of the anatomical element; detect, based solely on sensor data received from at least one internal sensor, a movement of the detecting robotic arm resulting from a movement of the anatomical element during execution of the surgical task; and control movement of the detecting robotic arm during execution of the surgical task based on the detected movement.

Any of the aspects herein, wherein the at least one internal sensor comprises an encoder configured to sense at least one of an applied force or an applied torque.

Any of the aspects herein, wherein the surgical plan comprises information about a predicted force or torque to be exerted on the anatomical element by the working robotic arm during execution of the surgical task, and the at least one memory stores additional instructions for execution by the at least one processor that, when executed, cause the at least one processor to: detect, based solely on information received from the at least one internal sensor, a force or a torque exerted on the anatomical element by the working robotic arm; and compare the detected force or torque to the predicted force or torque.

It should also be understood that, depending on the example or embodiment, certain acts or events of any of the processes or methods described herein may be performed in a different sequence, and/or may be added, merged, or left out altogether (e.g., all described acts or events may not be necessary to carry out the disclosed techniques according to different embodiments of the present disclosure). In addition, while certain aspects of this disclosure are described as being performed by a single module or unit for purposes of clarity, it should be understood that the techniques of this disclosure may be performed by a combination of units or modules associated with, for example, a computing device and/or a medical device.

In one or more examples, the described methods, processes, and techniques may be implemented in hardware, software, firmware, or any combination thereof.

Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors (e.g., Intel Core i3, i5, i7, or i9 processors; Intel Celeron processors; Intel Xeon processors; Intel Pentium processors; AMD Ryzen processors; AMD Athlon processors; AMD Phenom processors; Apple A10 or 10X Fusion processors; Apple A11, A12, A12X, A12Z, or A13 Bionic processors; or any other general purpose microprocessors), application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry.

When conducting a robotically executed task or procedure (e.g., pilot hole drilling, bone removal, screw insertion, implant insertion, etc.) on a spinal segment or other anatomical element, forces and torques are exerted on the anatomic element, which may generate undesired motion of the anatomical element. Such undesired motion may cause inaccuracies in the executed procedure. For example, robotically guided accessories that directly contact the anatomical element may suffer from potential skiving. Skiving is the undesired slip of a tool relative to a cortical bone surface due to a steep contact angle between the tool and the cortical surface.

The use of two robotic arms can help detect this type of behavior, generate an alert, and/or mitigate it. When using two robotic arms, one arm is used to rigidly hold the anatomical element, such as a vertebra for example, in position, whether directly by a gripper or by gripping a custom hardware rigidly anchored to the anatomical element, while the other robotic arm executes the procedure. The first arm holding the anatomical element may also have an integrated sensing mechanism that enables the sensing of forces and torques channeled to it through the rigidly gripped anatomical element. This allows for continuous monitoring and alerting when undesired forces/torques are detected on the anatomical element. Moreover, the second arm can predict a relative motion vector and compensate for it until forces/torque values are acceptable. This collaboration of the two robotic arms results in minimizing the relative motion, which results in executing the plan with high accuracy.

Embodiments of the present disclosure comprise determining a position of an anatomical element based on a first robotic arm contacting, being secured to, or otherwise being correlated to the anatomical element. A movement of or a position of the first robotic arm (and thus, the anatomical element) may be determined or detected based on sensor data received from an internal sensor of the first robotic arm. In other embodiments, a force or torque exerted on the anatomical element by a second robotic arm may be detected based on the internal sensor of the first robotic arm. Such force or torque may correlate to movement of the anatomical element. In any way movement of the anatomical element is determined, several responses may occur based on such determined movement. For example, a tool trajectory of the second robotic arm may be adjusted, the first robotic arm may apply a reactive or compensative force, and/or the first robotic arm may move the anatomical element back to its initial position.

As described more fully below, methods and systems for tracking anatomical movement according to at least some embodiments of the present disclosure may beneficially utilize a robotic system operating in a single coordinate system with multiple arms, using integrated sensors with high accuracy. Such integrated sensors may provide accurate information or sensor data concerning the anatomical element, based on forces or torques measured in the robotic arm. The methods and systems may also provide a robotic system that increases accuracy of surgical procedures or otherwise alerts a surgeon or operator of movement of the anatomical element, thereby reducing and preventing unnecessary damage to patient anatomy.

Turning first to <FIG>, a block diagram of a system <NUM> according to at least one embodiment of the present disclosure is shown. The system <NUM> may be used to execute a comparison algorithm <NUM> and/or a compensation parameter algorithm <NUM> and/or to carry out other aspects of one or more of the methods disclosed herein. The system <NUM> comprises a computing device <NUM>, a navigation system <NUM>, a robot <NUM> having a robotic arm <NUM>, and/or a sensor <NUM>. Systems according to other embodiments of the present disclosure may comprise more or fewer components than the system <NUM>. For example, the system <NUM> may not include the navigation system <NUM>.

The computing device <NUM> comprises a processor <NUM>, a memory <NUM>, a communication interface <NUM>, and a user interface <NUM>. Computing devices according to other embodiments of the present disclosure may comprise more or fewer components than the computing device <NUM>.

The processor <NUM> of the computing device <NUM> may be any processor described herein or any similar processor. The processor <NUM> may be configured to execute instructions stored in the memory <NUM>, which instructions may cause the processor <NUM> to carry out one or more computing steps utilizing or based on data received from the navigation system <NUM>, the robot <NUM>, and/or the sensor <NUM>.

The memory <NUM> may be or comprise RAM, DRAM, SDRAM, other solid-state memory, any memory described herein, or any other tangible, non-transitory memory for storing computer-readable data and/or instructions. The memory <NUM> may store information or data useful for completing, for example, any step of the methods <NUM> and/or <NUM> described herein. The memory <NUM> may store, for example, one or more surgical plans <NUM>, one or more comparison algorithms <NUM>, and/or one or more compensation parameter algorithms <NUM>. Such algorithms may, in some embodiments, be organized into one or more applications, modules, packages, layers, or engines. The algorithms may cause the processor <NUM> to manipulate data stored in the memory <NUM> and/or received from the navigation system <NUM>, the robot <NUM>, and/or the sensor <NUM>.

The computing device <NUM> may also comprise a communication interface <NUM>. The communication interface <NUM> may be used for receiving information from an external source (such as the navigation system <NUM>, the robot <NUM>, and/or the sensor <NUM>), and/or for transmitting instructions, images, or other information to an external system or device (e.g., another computing device <NUM>, the navigation system <NUM>, the robot <NUM>, and/or the sensor <NUM>). The communication interface <NUM> may comprise one or more wired interfaces (e.g., a USB port, an ethernet port, a Firewire port) and/or one or more wireless interfaces (configured, for example, to transmit information via one or more wireless communication protocols such as <NUM>. 11a/b/g/n, Bluetooth, NFC, ZigBee, and so forth). In some embodiments, the communication interface <NUM> may be useful for enabling the device <NUM> to communicate with one or more other processors <NUM> or computing devices <NUM>, whether to reduce the time needed to accomplish a computing-intensive task or for any other reason.

The computing device <NUM> may also comprise one or more user interfaces <NUM>. The user interface <NUM> may be or comprise a keyboard, mouse, trackball, monitor, television, touchscreen, headset, and/or any other device for receiving information from a user and/or for providing information to a user. In some embodiments, the user interface <NUM> may receive information and/or commands from a user via voice activation. In other embodiments, the user interface <NUM> may incorporate augmented reality or virtual reality. The user interface <NUM> may be used, for example, to receive a user selection or other user input regarding detecting an initial contact between a first robotic arm and an anatomical element of a patient; to receive a user selection or other user input regarding determining a position of the anatomical element; to receive a user selection or other user input regarding comparing the determined position to an expected position; to receive a user selection or other user input regarding updating a tool trajectory of a second robotic arm when the determined position is offset from the expected position; to receive a user selection or other user input regarding registering a first robotic arm and a second robotic arm to a patient space; to receive a user selection or other user input regarding receiving a surgical plan such as the surgical plan <NUM>; to receive a user selection or other user input regarding correlating a position of a detecting robotic arm to a position of the anatomical element; to receive a user selection or other user input regarding causing the first robotic arm to grip an anatomical element; to receive a user selection or other user input regarding controlling movement of the detecting robotic arm during execution of the surgical task based on the detected movement; and/or to receive a user selection or other user input regarding detecting at least one force or torque exerted on the anatomical element by the second robotic arm. In some embodiments, the user interface <NUM> may be useful to allow a surgeon or other user to modify the plan <NUM>, or other information displayed, though it will be appreciated that each of the preceding inputs may be generated automatically by the system <NUM> (e.g., by the processor <NUM> or another component of the system <NUM>) or received by the system <NUM> from a source external to the system <NUM>. In some embodiments, user input such as that described above may be optional or not needed for operation of the systems, devices, and methods described herein.

Although the user interface <NUM> is shown as part of the computing device <NUM>, in some embodiments, the computing device <NUM> may utilize a user interface <NUM> that is housed separately from one or more remaining components of the computing device <NUM>. In some embodiments, the user interface <NUM> may be located proximate one or more other components of the computing device <NUM>, while in other embodiments, the user interface <NUM> may be located remote from one or more other components of the computer device <NUM>.

The navigation system <NUM> may provide navigation for a surgeon and/or a surgical robot during an operation. The navigation system <NUM> may be any now-known or future-developed navigation system, including, for example, the Medtronic StealthStation™ S8 surgical navigation system. The navigation system <NUM> may include a camera or other sensor(s) for tracking one or more reference markers, navigated trackers, or other objects within the operating room or other room where a surgery takes place. In various embodiments, the navigation system <NUM> may be used to track a position of the robot <NUM> (or, more particularly, of a navigated reference marker attached, directly or indirectly, in fixed relation to the robot <NUM>). The navigation system <NUM> may include a display for displaying one or more images from an external source (e.g., the computing device <NUM> or other source) or a video stream from the camera or other sensor of the navigation system <NUM>.

In some embodiments, the navigation system <NUM> may be used to track movement of the robot <NUM> and may provide feedback regarding or confirmation of a position of the robot <NUM> or of the robotic arm <NUM>. In such embodiments, the navigation system <NUM> may track the robot <NUM> and/or the robotic arm <NUM> by detecting a navigated tracking marker affixed thereto. The navigation system <NUM> may indicate, for example-audibly and/or visually via a display-that the robot <NUM> or the robotic arm <NUM> needs to be moved, automatically or manually, to a suggested robot pose. The navigation system <NUM> can monitor or track the robot <NUM> or the robotic arm <NUM> as the robot <NUM> or the robotic arm <NUM> is moved toward the suggested robot pose. The navigation system <NUM> can further indicate to or alert a user when the robot <NUM> or the robotic arm <NUM> has reached the suggested robot pose. In other embodiments, a user may view a display of the navigation system <NUM> while moving the robot <NUM> or the robotic arm <NUM> to the suggested robot pose, so as to ensure that the user moves the robot <NUM> or the robotic arm <NUM> to the correct pose. In some embodiments, the system <NUM> can operate without the use of navigation system <NUM>.

The robot <NUM> may be any surgical robot or surgical robotic system. The robot <NUM> may be or comprise, for example, the Mazor X™ Stealth Edition robotic guidance system. The robot <NUM> may comprise one or more robotic arms <NUM>. In some embodiments, the robotic arm <NUM> may comprise a plurality of robotic arms, though the robot <NUM> may comprise one robotic arm, two robotic arms, or more than two robotic arms. The robotic arm <NUM> may be used to selectively hold any tool or instrument and/or to be secured to an anatomical element of a patient. In some embodiments, the robotic arm <NUM> has at least five degrees of freedom. In other embodiments, the robotic arm <NUM> has at least six degrees of freedom. In yet other embodiments, the robotic arm <NUM> has fewer than five or greater than six degrees of freedom. The robotic arm <NUM> (and/or a base of the robot <NUM>, shown in <FIG>) may also have three dimensions of orientation. The combination of multiple degrees of freedom and multiple dimensions of orientation allows for the robotic arm <NUM> to move to any pose. In other words, the robotic arm <NUM> is not limited to a fixed area and can move in any direction. Further, in some embodiments, the robot <NUM> can move during a surgical procedure to position the robotic arm <NUM> (and thus, a tool or instrument) within reach of a desired or predetermined pose.

Reference markers (e.g., navigation markers) may be placed on the robot <NUM>, the robotic arm <NUM>, and/or any other object in the surgical space. The reference markers may be tracked by the navigation system <NUM>, and the results of the tracking may be used by the robot <NUM> and/or by an operator of the system <NUM> or any component thereof. As described above, in some embodiments, the navigation system <NUM> can be used to track any other components of the system <NUM>.

The robot <NUM> comprises one or more sensors <NUM> operable to measure or monitor a characteristic of the robot <NUM> or the robotic arm <NUM>. The characteristic may include, but is not limited to, a force or torque experienced by the robotic arm <NUM> and/or the robot <NUM>, and/or a position of the robot <NUM> and/or the robotic arm <NUM>. Each sensor <NUM> may be any kind of sensor <NUM> for measuring the characteristic herein. The sensor <NUM> may include one or more or any combination of components that are electrical, mechanical, electro-mechanical, magnetic, electromagnetic, or the like. The sensor <NUM> may include, but is not limited to, one or more of a torque sensor, a force sensor, a linear encoder, a rotary encoder, a capacitor, and/or an accelerometer. In some embodiments, the sensor <NUM> may include a memory for storing sensor data. In still other examples, the sensor <NUM> may output signals (e.g., sensor data) to one or more sources (e.g., the computing device <NUM>, the navigation system <NUM>, and/or the robot <NUM>).

The sensor <NUM> may be integrated internally into the robotic arm <NUM> or otherwise positioned inside of the robotic arm. In some embodiments, the sensor <NUM> is positioned inside a joint (shown in <FIG>) of the robotic arm <NUM>. The sensor <NUM> may include a plurality of sensors and each sensor may be positioned at the same location or a different location as any other sensor. For example, a sensor <NUM> may be positioned in one or more joints of the robotic arm <NUM>. It will be appreciated that in some embodiments the sensor(s) <NUM> can be positioned at or on any component of the system <NUM> or environment (e.g., on any portion of the navigation system <NUM>, the robot <NUM>, the robotic arm <NUM>, and/or any other component at the surgical site).

The sensor <NUM> may be operable to sense and/or monitor a force exerted on an anatomical element by the robotic arm <NUM> and/or to sense movement of the robotic arm <NUM> and/or the anatomical element (via the robotic arm <NUM>). Data regarding the measured or monitored characteristic may be directly useful (e.g., a measured force may be compared to an expected force) and/or indirectly useful (e.g., a sudden increase in force may indicate that the anatomical element has moved). The sensor <NUM> may send the data to the computing device <NUM> when the sensor <NUM> detects a change in the characteristic. Further, in some embodiments, the sensor <NUM> may send data to the computing device <NUM> to display on the user interface <NUM> or otherwise notify the surgeon or operator of the change in the characteristic. In other embodiments, the sensor <NUM> may alert the surgeon or operator of the change in the characteristic by an alert such as, but not limited to, a sound or a light display. The sensor <NUM> may advantageously provide a safety function by monitoring and alerting the surgeon or operator of the force meeting or exceeding a predetermined threshold, thereby alerting the surgeon or operator of potential issues with the robot <NUM> and/or the robotic arm <NUM>.

In some examples, the sensor <NUM> may trigger the computing device <NUM> to determine a position of an anatomical element based on the sensor data, compare the determined position with an expected position of the anatomical element, and update a tool trajectory of the robotic arm <NUM> based on the comparison when the determined position is offset from the expected position. The sensor <NUM> may also trigger the computing device <NUM> to calculate a compensation parameter based on the comparison and update the tool trajectory of the robotic arm <NUM> by applying the compensation parameter to the tool trajectory. The sensor <NUM> may further trigger the computing device <NUM> to cause the robotic arm <NUM> to exert at least one of a responsive force or a responsive torque on the anatomical element to counteract an applied force or applied torque on the anatomical element sensed by the sensor <NUM>.

Turning to <FIG>, a block diagram of another system <NUM> according to at least one embodiment of the present disclosure is shown. The system <NUM> includes a computing device <NUM> (which may be the same as or similar to the computing device <NUM> described above), a navigation system <NUM> (which may be the same as or similar to the navigation system <NUM> described above), and a robot <NUM> (which may be the same as or similar to the robot <NUM> described above). Systems according to other embodiments of the present disclosure may comprise more or fewer components than the system <NUM>. For example, the system <NUM> may not include the navigation system <NUM>.

As illustrated, the robot <NUM> includes a first or detecting robotic arm <NUM> (which may comprise one or more members 216A connected by one or more joints 216B) and a second or a working robotic arm <NUM> (which may comprise one or more members 217A connected by one or more joints 217B), each extending from a base <NUM>. In other embodiments, the robot <NUM> may include one robotic arm or two or more robotic arms. The base <NUM> may be stationary or movable. One or more tools or instruments may be disposed on an end of each of the first or detecting robotic arm <NUM> and the second or working robotic arm <NUM>, though the tools or instruments may be disposed on any portion of the first or detecting robotic arm <NUM> and/or the second or working robotic arm <NUM>. The first or detecting robotic arm <NUM> and/or the second or working robotic arm <NUM> is operable to execute one or more planned movements and/or procedures autonomously and/or based on input from a surgeon or operator.

In at least one embodiment, the first or detecting robotic arm <NUM> is secured to an anatomical element <NUM>. In the illustrated embodiment, the anatomical element <NUM> is a vertebra of a spinal region <NUM>. The first or detecting robotic arm <NUM> may be secured to the anatomical element <NUM> in any form. In the illustrated embodiment, the first or detecting robotic arm <NUM> is secured to the anatomical element <NUM> via a gripper <NUM>. In other embodiments, the first or detecting robotic arm <NUM> may be attached to the anatomical element <NUM> with one or more screws, clamped to the anatomical element <NUM>, or otherwise secured to the anatomical element <NUM>, whether using one or more mechanical fasteners, a chemical adhesive, or otherwise. While the first or detecting robotic arm <NUM> is secured to the anatomical element <NUM>, the second or working robotic arm <NUM> may have a tool or instrument <NUM> disposed at an end of the second or working robotic arm <NUM>. The tool <NUM> may be used by the second or working robotic arm <NUM> to perform a procedure on the anatomical element <NUM>, whether based on instructions from a surgeon and/or pursuant to a surgical plan. While the second or working robotic arm <NUM> uses the tool <NUM> to perform the procedure, movement of the anatomical element <NUM> may be monitored and undesired movement may be detected from an integrated sensor <NUM> of the first or detecting robotic arm <NUM>.

The sensor <NUM> (which may be the same as or similar to the sensor <NUM> described above, and of which more than one may be included in the robotic arm <NUM> and/or <NUM>) may be integrated into a joint 216B of the first or detecting robotic arm <NUM>. Though the sensor <NUM> is shown integrated into the joint 216B nearest the base <NUM>, the sensor <NUM> may be integrated into any joint 216B, 217B, any member 216A, 217A, or any portion of the first or detecting robotic arm <NUM>, the second or working robotic arm <NUM>, and/or the robot <NUM>. Furthermore, more than one sensor <NUM> may be integrated into the first or detecting robotic arm <NUM>, the second or working robotic arm <NUM>, and/or the robot <NUM>. As similarly described above, the sensor <NUM> may be one or more of a torque sensor, a force sensor, or an encoder integrated into the joint 216B. The sensor <NUM> is configured to sense at least one of an applied force or an applied torque exerted on the first or detecting robotic arm <NUM>. As a result, the sensor <NUM> may detect a force or torque exerted by the second or working robotic arm <NUM> on the anatomical element <NUM> to which the first or working robotic arm <NUM> is secured. As will be described below with respect to <FIG> and <FIG>, such sensor data may be used to determine movement of the anatomical element <NUM>.

In some embodiments, where the second or working robotic arm <NUM> performs a procedure (e.g., a surgical procedure such as, for example, drilling), sensor data from the sensor <NUM> of the first or detecting robotic arm <NUM> may be provided to, for example, the processor <NUM> for processing. Because the first or detecting robotic arm <NUM> does not perform the procedure, the first or detecting robotic arm <NUM> may be positioned and/or oriented in an optimized pose for obtaining sensor data. Further, in some instances, the first or detecting robotic arm <NUM> may be stationary and/or may not be receiving or exerting any forces, thereby enabling the first or detecting robotic arm <NUM> to obtain sensor data without obstructions.

Turning now to <FIG>, a method <NUM> for tracking anatomical motion may be executed in whole or in part, for example, on a computing device such as the computing device <NUM> or <NUM> or similar device, and may utilize one or more other components of the system <NUM> or <NUM> or similar components. One or more aspects of the method <NUM> may be performed by or with a robot such as the robot <NUM> or <NUM>, a surgeon, or a combination of a surgeon and a robot.

The method <NUM> comprises receiving a surgical plan such as the surgical plan <NUM> (step <NUM>). The surgical plan may be received via a user interface (e.g., the user interface <NUM>) and/or a communication interface (e.g., the communication interface <NUM>) of a computing device such as the computing device <NUM> or <NUM>, and may be stored in a memory such as the memory <NUM> of the computing device. The surgical plan may include information about an anatomical element, such as the anatomical element <NUM>, of the patient and/or about a surgical task to be completed on the anatomical element. The anatomical element may be a vertebra in some embodiments. The information may include information about a position and/or orientation of the anatomical element. The information may also include information about a first robotic arm, such as the robotic arm <NUM> or the first robotic arm <NUM>, and/or a second robotic arm, such as the robotic arm <NUM> or the second robotic arm <NUM>, that may perform the surgical task. The surgical plan may also include information about one or more planned movements of the second robotic arm. In some embodiments, the surgical plan includes a planned trajectory or path of the second robotic arm. The information may also include an expected position of the anatomical element (e.g., a position and/or orientation of the anatomical element). The information may further include a predicted force or torque that may be experienced by the anatomical element from the second robotic arm.

The method <NUM> comprises detecting an initial contact between the first robotic arm and the anatomical element of a patient (step <NUM>). The detecting may be based on information received from at least one internal sensor such as the sensor <NUM> or <NUM> of the first robotic arm. The information may be received by the computing device, and more particularly, by a processor such as the processor <NUM> of the computing device. The information may be or comprise raw sensor data received directly from the internal sensor, or the information may be or comprise processed sensor data. In other embodiments, the information may be received via the user interface and/or via the communication interface of the computing device, and may be stored in the memory. In some embodiments, the information may be indirectly received via any other component of the system or a node of a network to which the system is connected. The sensor data or information may include force data, torque data, or positional data of the first robotic arm and/or the second robotic arm. Such information, as described below, may be useful for determining a position and/or movement of the anatomical element.

The method <NUM> also comprises determining a position of the anatomical element (step <NUM>). The determining may be based on the information received from at least one internal sensor such as the sensor <NUM> or <NUM> of the first robotic arm. Such information or other sensor data may be used to determine a position of the first robotic arm (e.g., as detected at the moment of initial contact between the first robotic arm and the anatomical element). The determined position of the first robotic arm may then be used to determine a position of the anatomical element (e.g., based on one or more of a known position of the first robotic arm, known dimensions of the first robotic arm, and/or known dimensions of the anatomical element). In some embodiments, information (obtained from one or more sensors <NUM> or <NUM>) about a force and/or torque experienced by the first robotic arm at the moment of initial contact with the anatomical element may be used (together with information about, for example, a velocity of the robotic arm at the moment of the initial contact and a time of the initial contact) to calculate a position of the anatomical element.

The method <NUM> also comprises comparing the determined position of the anatomical element to an expected position of the anatomical element (step <NUM>). The comparing may be executed by a comparison algorithm such as the comparison algorithm <NUM>. The expected position, as previously described, may be predetermined and/or based on a surgical plan such as the surgical plan <NUM>. The expected position may be based on preoperative imaging of the anatomical element and/or of an anatomical region comprising the anatomical element. The expected position may be a position utilized for preoperative planning (including, for example, navigation and/or robotic guidance), such that a determination that the anatomical element is no longer in the expected position may necessitate updating the preoperative planning (including, for example, the navigation and/or robotic guidance).

In some embodiments, the first robotic arm may be caused to move toward and contact the anatomical element at different times throughout a surgical procedure. Each time, the moment of initial contact between the first robotic arm and the anatomical element may be detected, as described above in connection with the step <NUM>, and the position of the anatomical element at that time may be determined, as described above with respect to the step <NUM>. On the second or any subsequent iteration of the steps <NUM> and <NUM>, the expected position of the anatomical element may be, for example, the position of the anatomical element as determined during the immediately previous iteration of the steps <NUM> and <NUM>. By iterating the steps <NUM> and <NUM> multiple times during the course of a surgical procedure, any digital models, surgical plans, and/or other information that is based upon or otherwise reflects an expected position of the anatomical element may be updated to reflect a then-current actual position of the anatomical element. Moreover, at any iteration of the steps <NUM> and <NUM>, an amount or degree of movement of the anatomical element may be determined by comparing the determined position of the anatomical element to the expected position of the anatomical element.

The method <NUM> further comprises updating a tool trajectory of a second robotic arm, such as the robotic arm <NUM> or the second robotic arm <NUM>, based on the comparison and/or the compensation parameter when the determined position is offset from the expected position (step <NUM>). Such offset may indicate that the anatomical element has moved from the expected position, and thus, that a predetermined tool trajectory for execution of a surgical procedure may be inaccurate. The tool trajectory may be a trajectory of a tool, such as the tool <NUM>, held by the second robotic arm. As such, the tool trajectory may be updated to accommodate such offset. In embodiments where a compensation parameter is calculated (as described below with respect to step <NUM>), the compensation parameter may be applied to the tool trajectory.

The method <NUM> also comprises registering the first robotic arm and the second robotic arm to a patient space corresponding to the patient space (step <NUM>). Such registration correlates a pose of the first robotic arm and of the second robotic arm to a patient in a common coordinate system. In some embodiments, the registration may utilize one or more images, including, for example, a virtual model of patient anatomy and/or an image of one or both of the first robotic arm and the second robotic arm. In some embodiments, data generated by one or more sensors other than an optical sensor may be used instead of images. In other embodiments, the method <NUM> may register the first robotic arm and the second robotic arm to a navigation coordinate system used by a navigation system such as the navigation system <NUM> or <NUM>.

The method <NUM> may also comprise calculating a compensation parameter based on the comparing step (step <NUM>). The compensation parameter may be a constant, an algorithm, or any other transformation function that may be applied to a position, path, trajectory, and/or other value generated based on the expected position of the anatomical element to yield a new position, path, trajectory, and/or other value that reflects or is otherwise based on the determined position of the anatomical element. The compensation parameter may be calculated via a compensation parameter algorithm such as the compensation parameter algorithm <NUM>. The compensation parameter maybe based on, for example, a difference between the determined position and the expected position of the anatomical element, or in other words, on the results of the comparison of the determined position to the expected position. In some embodiments, the compensation parameter may further be based on, for example, a position of the first robotic arm and/or the second robotic arm, a force and/or torque sensed by the sensor of the first anatomical arm, a force and/or torque exerted by the second robotic arm sensed by the sensor of the second robotic arm, and/or the like.

The method <NUM> also comprises securing the first robotic arm to the anatomical element (step <NUM>). In such embodiments, the first robotic arm may be secured to the anatomical element via a mechanical gripper such as the gripper <NUM>. In other embodiments, the first robotic arm may be attached to the anatomical element with one or more screws, clamped to the anatomical element, or otherwise secured to the anatomical element, whether using one or more mechanical fasteners, a chemical adhesive, or otherwise.

The method <NUM> also comprises detecting movement of the first robotic arm based on data received from the sensor while the first robotic arm is secured to the anatomical element (step <NUM>), and determining a movement of the anatomical element based on the detected movement of the first robotic arm (step <NUM>). Using dimensional information about the first robotic arm (e.g., a length of one or more segments, dimensions of an end effector or other gripper that secures the first robotic arm to the anatomical element, etc.), as well as information from one or more sensors internal to the first robotic arm (including, for example, information about a position of any one portion of the robotic arm relative to a position of any other portion of the robotic arm), a pose of the first robotic arm-and thus of any end effector secured to the first robotic arm-may be determined. Moreover, while the first robotic arm is secured to the anatomical element (whether using a gripper or any other end effector), a pose of the anatomical element may be readily determined based on a known pose of the first robotic arm. Also, any force or torque exerted on the anatomical element that causes movement of the anatomical element will necessarily cause movement of at least a portion of the first robotic arm. As a result, any uncommanded movement (e.g., movement not caused by the first robotic arm's motor(s) or other actuator(s)) of the first robotic arm indicates movement of the anatomical element to which the first robotic arm is secured, and the pose of the first robotic arm (as determined based on information from the one or more internal sensors of the first robotic arm) during and after such movement may be used to determine a pose of the anatomical element during and after such movement. Notably, the connection between the first robotic arm and the anatomical element enables the pose of the anatomical element to be monitored using only the sensors internal to the first robotic arm, and no other sensors.

The method <NUM> also comprises updating a virtual model of an anatomical portion of the patient - for instance, a virtual model from a surgical plan such as the surgical plan <NUM> or a virtual model generated pre- or intraoperatively - based on the determined movement of the anatomical element (step <NUM>). In such embodiments, the first robotic arm and/or the second robotic arm may be correlated or otherwise registered to the virtual model, and updating the virtual model may update the registration.

The method <NUM> also comprises activating the first robotic arm to prevent movement of the anatomical element from the determined position (step <NUM>). In some embodiments, the first robotic arm is used to hold the anatomical element in a desired position and to prevent movement of the anatomical element. In some instances, the first robotic arm may be sufficiently rigid in any given pose to prevent movement of the anatomical element without having to apply a counteractive force and/or torque via the first robotic arm's internal motors or other actuators. In other embodiments, the predicted torques and/or forces from a surgical plan (received, for example, in a step <NUM>, described below) may be used to apply counteractive force(s) and/or torque(s) at one or more time intervals while using the first robotic arm, so that the anatomical element does not move.

The method <NUM> also comprises causing the second robotic arm to move based on the determined movement of the anatomical element (step <NUM>). In other words, movement of the second robotic arm may be commanded and/or adjusted based on movement of the anatomical element, as detected using the first robotic arm. In some embodiments the first robotic arm may be utilized to detect movement of the anatomical element, but not to reduce or prevent any such movement. In such embodiments, monitoring of a pose of the anatomical element using the first robotic arm enables a trajectory and/or other guidance for controlling the second robotic arm to be adjusted as needed based on the pose of the anatomical element. In other words, the one or more sensors of the first robotic arm provide information about the movement of the first robotic arm (and therefore of the anatomical element) to a computing device such as the computing device <NUM>, and the computing device adjusts a trajectory or other guidance of the second robotic arm based on the movement. To use a simple example, then, if information from the one or more internal sensors of the first robotic arm indicates that the end effector of the first robotic arm has moved one centimeter in a given direction, then the computing device or other controller of the second robotic arm can adjust the trajectory of the second robotic arm by one centimeter in the given direction, thus maintaining a desired relative position or path of the second robotic arm with respect to the anatomical element.

In still other embodiments, the first robotic arm is secured to the anatomical element both to prevent movement of the anatomical element to an extent possible (as described above in connection with the step <NUM>) and to detect movement of the anatomical element when preventative measures are insufficient to prevent movement of the anatomical element so as to enable appropriate adjustment of the movement of the second robotic arm (as described above in connection with the step <NUM>). In such embodiments, the first robotic arm may be sufficiently rigid to prevent at least some movement of the anatomical element, and/or may utilize one or more of its motors or other actuators to apply counteractive force(s) and/or torque(s) to the anatomical element at one or more time intervals (based on, for example, one or more predicted force(s) and/or torque(s) as set forth in a surgical plan) to prevent at least some such movement. However, if and when such rigidity and/or counteractive force(s) and/or torque(s) are insufficient to hold the anatomical element still, and movement of the anatomical element occurs, then the first robotic arm (including the one or more internal sensors thereof) may detect such movement and provide information about the movement to the computing device. The computing device may then adjust a trajectory of the second robotic arm based on the movement to maintain a desired position or path of the second robotic arm relative to the anatomical element.

The method <NUM> also comprises activating the first robotic arm to move the anatomical element to the expected position (step <NUM>). During a surgical procedure involving the anatomical element, a trajectory or path of the second robotic arm may not be able to be updated to account for movement of the anatomical element, and/or the anatomical element may have moved out of a desired position and/or orientation. At such times, the first robotic arm may be activated to move the anatomical element into, or back into, an expected, desired, or otherwise predetermined position. In some embodiments, movement of the second robotic arm and/or progress in the surgical procedure may be paused while the first robotic arm moves the anatomical element into the predetermined position.

The method <NUM> also comprises receiving second information from at least one second internal sensor, such as the sensor <NUM> or <NUM>, of the second robotic arm (step <NUM>). The second information may correspond to at least one of an applied force or an applied torque exerted by the second robotic arm on the anatomical element. More particularly, a tool (e.g., a drill, tap, screwdriver, and/or other tool) held by the second robotic arm may apply a force and/or a torque on the anatomical element during operation thereof. Moreover, the second robotic arm may be configured to press the force against and/or into the anatomical element to increase an effectiveness thereof. In either or both situations, one or more internal sensors of the second robotic arm may detect the force and/or torque applied thereby on the anatomical element, and may provide information corresponding to the detected force and/or torque to a computing device and/or other controller of the first and/or second robotic arm.

In some embodiments, the method <NUM> may comprise receiving information about an activation of the second robotic arm (which may include, for example, information about activation of a surgical tool held by the second robotic arm). In such embodiments, the computing device or other controller of the first robotic arm may utilize the received information to calculate a predicted force and/or torque that will be experienced by the anatomical element as a result of the activation.

In still other embodiments, the first robotic arm may detected a force and/or torque exerted by the second robotic arm (including, for example, a surgical tool held by the second robotic arm) on the anatomical element, as a result of the force and/or torque being communicated to the first robotic arm via the anatomical element.

The method <NUM> also comprises causing the first robotic arm to exert at least one of a responsive force or a responsive torque on the anatomical element to counteract the applied force or the applied torque experienced by the anatomical element (step <NUM>). The computing device or other controller of the first robotic arm may calculate, based on the detected or calculated applied force and/or torque, an activation of the one or more internal motors or other actuators of the first robotic arm that is required to counteract the applied force and/or torque. In other embodiments, the computing device or other controller of the first robotic arm may utilize a feedback loop to activate one or more actuators of the first robotic arm in increasing increments for as long as a detected or calculated applied force on the anatomical element is rising, to maintain a given level of activation of the first robotic arm for as long as the detected or calculated applied force is constant, and to decrement the activation of the one or more actuators of the first robotic arm once the detected or calculated applied force begins to decrease. Thus, in such embodiments, the computing device or controller of the first robotic arm does not explicitly calculate a required degree of activation of the first robotic arm, but instead continually adjusts a degree of activation of the first robotic arm in response to the detected or calculated applied force and/or torque.

Turning now to <FIG>, a method <NUM> for controlling a robotic arm may be executed in whole or in part, for example, on a computing device such as the computing device <NUM> or <NUM> or a similar device, and may utilize one or more other components of the system <NUM> or <NUM> or similar components. One or more aspects of the method <NUM> may be performed by or with a robot such as the robot <NUM> or <NUM>, a surgeon, or a combination of a surgeon and/or the robot.

The method <NUM> comprises registering a first robotic arm to a patient space corresponding to a patient (step <NUM>). The first robotic arm may be the robotic arm <NUM> or the first robotic arm <NUM>, and the second robotic arm may be the robotic arm <NUM> or the second robotic arm <NUM>. The step <NUM> may be the same as or similar to the step <NUM> of the method <NUM> described above, or vice versa. For example, the registering may correlate a pose of the first robotic arm and of the second robotic arm to a patient in a common coordinate system. In some embodiments, the registration may utilize one or more images, including, for example, a virtual model of patient anatomy and/or an image of one or both of the first robotic arm and the second robotic arm. In some embodiments, data generated by one or more sensors other than an optical sensor may be used instead of images. In other embodiments, the method <NUM> may register the first robotic arm and the second robotic arm to a navigation coordinate system used by a navigation system such as the navigation system <NUM> or <NUM>, instead of or in addition to registering the first and second robotic arms to a patient space. In still further embodiments, a coordinate system corresponding to the first robotic arm may be registered to a coordinate system corresponding to the second robotic arm or vice versa, so that both robotic arms are registered to and controllable with respect to a single coordinate space.

The method <NUM> also comprises receiving a surgical plan (step <NUM>). The surgical plan may be the surgical plan <NUM>. The step <NUM> may be the same as or similar to the step <NUM> of the method <NUM> described above, or vice versa. The surgical plan may be received via a user interface (e.g., the user interface <NUM>) and/or a communication interface (e.g., the communication interface <NUM>) of a computing device such as the computing device <NUM> or <NUM>, and may be stored in a memory such as the memory <NUM> of the computing device. The surgical plan includes information about an anatomical element, such as the anatomical element <NUM>, of the patient and/or a surgical task to be completed on the anatomical element. The anatomical element may be a vertebra in some embodiments.

The surgical plan may include information about a position and/or orientation of the anatomical element. The surgical plan may also include information about a second robotic arm, such as the robotic arm <NUM> or the second robotic arm <NUM>, that may perform the surgical task. The surgical plan may also include information about one or more planned movements of the second robotic arm. In some embodiments, the surgical plan includes a planned trajectory or path of the second robotic arm. The surgical plan may also include an expected position of the anatomical element (e.g., a position and/or orientation of the anatomical element). The surgical plan may further include a predicted force or torque that will be or at least is expected to be exerted on the anatomical element by the second robotic arm (including by a surgical tool held by the second robotic arm), and/or a predicted movement of the anatomical element as a result of interaction between the second robotic arm and the anatomical element.

The method <NUM> also comprises causing the first robotic arm to grip the anatomical element with a mechanical gripper (step <NUM>). The mechanical gripper may be the gripper <NUM>. The step <NUM> may be the same as or similar to the step <NUM> of the method <NUM> described above, or vice versa. For example, in some embodiments, the first robotic arm may grip the anatomical element at a position provided by the surgical plan. Also, in some embodiments, the first robotic arm may be attached to the anatomical element using one or more screws, clamped to the anatomical element, or otherwise secured to the anatomical element, whether using one or more mechanical fasteners, a chemical adhesive, or otherwise. The gripping or attachment ensures that the anatomical element cannot move relative to the gripper or other end effector and further acts to translate the anatomical element's movement to a movement of the first robotic arm. In other words, movement of the anatomical element moves the first robotic arm via the gripper or other end effector. Further, because the first robotic arm has a known position relative to the anatomical element, a pose of the anatomical element can be determined based on a pose of the first robotic arm.

The method <NUM> further comprises detecting at least one force or torque exerted on the anatomical element by the second robotic arm (step <NUM>). The detecting may be based on sensor data relating to the at least one force or torque received from at least one internal sensor such as the sensor <NUM> or <NUM> of the first robotic arm. In particular, the detecting may be accomplished without the use of any sensor external to the first robotic arm. Because the first robotic arm is secured to the anatomical element, forces sensed by the first robotic arm correlate to forces exerted on the anatomical element by the second robotic arm. The amount of correlation may depend, for example, on the makeup of the anatomical element. Where the anatomical element is a bone or other hard tissue, the amount of correlation may be high, because a force exerted on one point of the anatomical element will largely be translated to another point of the anatomical element. Where the anatomical element comprises soft tissue (or tissue that is not as hard as a bone), the amount of correlation may be low, because the anatomical element may absorb some of the force by deforming or otherwise.

Detecting the at least one force or torque may include receiving sensor data correlating to the at least one force or torque from the at least one internal sensor. The sensor data may be received by a computing device such as the computing device <NUM> or <NUM>, or by another controller of the first and/or second robotic arm. In some embodiments, the sensor data may be received via the user interface and/or via the communication interface of the computing device, and may be stored in the memory. In some embodiments, the sensor data may be indirectly received via any other component of the system or a node of a network to which the system is connected. The sensor data may include force data, torque data, and/or positional data (e.g., data corresponding to a relative position of one or more segments of the robotic arm with respect to one or more other segments of the robotic arm) of the first robotic arm and/or the second robotic arm.

The method <NUM> also comprises comparing the detected force or torque to a corresponding predicted force or torque described in the surgical plan (step <NUM>). The comparing may be executed by a comparison algorithm such as the comparison algorithm <NUM>. The predicted force or torque may be based on, for example, information about a hardness of the anatomical element, information about a surgical task to be carried out on the anatomical element, information about a tool that will be used to carry out the surgical task (including, for example, information about a force and/or torque produced by the tool), information about an amount of force or torque that the anatomical element can receive without causing the anatomical element to move out of position, and/or other information. For example, where the surgical task is to drill a hole in a vertebra in preparation for implantation of a pedicle screw therein, the predicted force or torque may be based on information about a torque produced by the drill that will be used to drill the hole and information about the down-force that will be applied by the second robotic arm during the drilling process. In some embodiments, the amount of force and/or torque expected to be applied may be selected and/or adjusted based on information about an amount of force or torque that the anatomical element can receive without causing the anatomical element to move out of position, although in other embodiments (e.g., where the first robotic arm will be used to hold the anatomical element in position), this consideration may not be relevant. By comparing the predicted force or torque with the detected force or torque, movement of the anatomical element can be predicted and/or determined simply based on a mismatch between the detected force or torque and the predicted force or torque.

The method <NUM> also include generating an alert when the detected force or torque differs from the predicted force or torque by more than a predetermined amount (step <NUM>). Such alert may be audible, visual, haptic, or any combination thereof, and may be displayed or otherwise generated or emitted from, for example, a user interface such as the user interface <NUM>, the computing device, and/or the robot.

In some embodiments, the method <NUM> also comprises detecting an initial contact between the first robotic arm and the anatomical element based on information from the at least one sensor (step <NUM>), and calculating a position of the anatomical element at a time of the detected initial contact (step <NUM>). The steps <NUM> and <NUM> may be the same as or similar to the steps <NUM> and <NUM> of the method <NUM> described above, or vice versa. The position of the anatomical element may be determined, for example, based on the information or sensor data from one or more internal sensors of the first robotic arm. Such information or sensor data may comprise, for example, position information of the first robotic arm (e.g., as detected at the time of the initial contact), force and/or torque data regarding a force and/or torque experienced by the first robotic arm during the initial contact, and/or other information useful for determining a position of the first robotic arm and, based on that determined position, a position of the anatomical element. Because the first robotic arm contacts the anatomical element, the positional data of the first robotic arm may correlate to the position of the anatomical element. With respect to method <NUM>, where the first robotic arm is subsequently secured to the anatomical element, the position of the anatomical element, once determined, may be correlated to a position of the first robotic arm. For example, a position of the first robotic arm may be determined from the at least one sensor, and a relative position of the anatomical element and the first robotic arm may be determined using, for example, information about the dimensions of the first robotic arm, dimensions of the anatomical element, and/or information from the navigation system.

The method <NUM> also comprises comparing the calculated position of the anatomical element to a predicted position of the anatomical element from the surgical plan (step <NUM>). The step <NUM> is the same as or similar to the step <NUM> of the method <NUM> described above, or vice versa. For example, the comparing may be executed by a comparison algorithm such as the comparison algorithm <NUM>. The expected position, as previously described, may be predetermined and/or based on the surgical plan. The expected position may be based on preoperative imaging of the anatomical element and/or of an anatomical region comprising the anatomical element. The expected position may be a position utilized for preoperative planning (including, for example, navigation and/or robotic guidance), such that a determination that the anatomical element is no longer in the expected position may necessitate updating the preoperative planning (including, for example, the navigation and/or robotic guidance).

The method <NUM> also comprises generating a compensation parameter based on the comparison step (step <NUM>). The step <NUM> may be the same as or similar to the step <NUM> of the method <NUM> described above, or vice versa. The compensation parameter may be a constant, an algorithm, or any other transformation function that may be applied to a position, path, trajectory, and/or other value generated based on the expected position of the anatomical element to yield a new position, path, trajectory, and/or other value that reflects the determined position of the anatomical element. The compensation parameter may be calculated via a compensation parameter algorithm such as the compensation parameter algorithm <NUM>. The compensation parameter may be based on, for example, a difference between the determined position and the expected position of the anatomical element, or in other words, on the results of the comparison of the determined position to the expected position. In some embodiments, the compensation parameter may further be based on, for example, a position of the first robotic arm and/or the second robotic arm, a force sensed by the sensor of the first anatomical arm, a force exerted by the second robotic arm sensed by the sensor of the second robotic arm, and/or the like.

The method <NUM> also comprises causing the second robotic arm to move at least in part based on the compensation parameter (step <NUM>). In some embodiments, the compensation parameter may shift a trajectory of the second robotic arm to accommodate a determined position of the anatomical element. For example, if the anatomical element shifts one centimeter in a direction, then the trajectory of the second robotic arm may be shifted one centimeter the same direction. In other embodiments, the compensation parameter may be utilized to calculate a responsive force or responsive torque applied by the first robotic arm, a needed movement of the anatomical element by the first robotic arm, and/or a required activation of the first robotic arm to prevent movement of the anatomical element.

The method <NUM> also comprises generating a stiffness matrix (step <NUM>). The stiffness matrix is generated once the first robotic arm is secured to the anatomical element, by causing the first robotic arm to move in each of six degrees of freedom. The movements may be small motions. Information about the force applied by the first robotic arm (and/or any component thereof) to cause the movement, as well as information about the amplitude of the movement, may be used to generate stiffness data for the anatomical element in each degree of freedom, thus resulting in a stiffness matrix. Predicted motion of the anatomical element may be determined based on the stiffness matrix and known forces and/or moments generated by the second robotic arm. The predicted motion may be compared to a motion of the anatomical element detected using the first robotic arm. When the detected motion is different from the predicted motion, then the difference may indicate that an undesired motion of the anatomical element occurred. For example, when the second robotic arm drills (e.g., using a surgical drill held by the second robotic arm) into an anatomical element, (e.g., a bone) held by the first robotic arm then the expected or predicted applied force is along the drilling direction and the expected or predicted torque is around the drill's longitudinal axis. Using the stiffness matrix, and the predicted applied force and the predicted torque, a predicted motion of the bone can be calculated. When, a different motion is detected by the first robotic arm (e.g., when the predicted motion does not match the detected motion), that difference may reflect a skiving. In some embodiments, detecting the forces and torques using the first robotic arm (as opposed to detecting the motion of the anatomical element) and comparing the detected forces and torques to the expected or predicted forces and torques also provides the necessary information of possible skiving. The same can be achieved in another embodiment involving minimally invasive surgical procedures where the first robotic arm does not directly hold the anatomical element, but instead holds a device connecting rigidly to the anatomical element. The device may be K-wire or a dynamic reference frame.

Methods and systems for tracking anatomical motion and/or controlling a robotic arm according to at least some embodiments of the present disclosure beneficially provide notification of or compensation for undesired movement of an anatomical element during a surgical procedure. Such notification may allow for a surgeon or operator to pause the procedure, thus preventing further damage to patient anatomy. Such compensation provides for self-correcting tool movement, and thus may also prevent unnecessary damage to patient anatomy. Further, the use of internal, integrated sensors beneficially provide for accurate sensing of anatomical movement within a single coordinate space.

As may be appreciated based on the foregoing disclosure, the present disclosure encompasses methods with fewer than all of the steps identified in <FIG> and <FIG> (and the corresponding description of the methods <NUM> and <NUM>), as well as methods that include additional steps beyond those identified in <FIG> and <FIG> (and the corresponding description of the method <NUM> and <NUM>). One or more steps of the methods described herein may be performed in an order other than the order in which they are described herein.

The foregoing discussion has been presented for purposes of illustration and description. The foregoing is not intended to limit the disclosure to the form or forms disclosed herein. In the foregoing Detailed Description, for example, various features of the disclosure are grouped together in one or more aspects, embodiments, and/or configurations for the purpose of streamlining the disclosure. The features of the aspects, embodiments, and/or configurations of the disclosure may be combined in alternate aspects, embodiments, and/or configurations other than those discussed above.

Claim 1:
A system (<NUM>) for accounting for anatomical movement during a surgical procedure, comprising:
a working robotic arm (<NUM>);
a detecting robotic arm (<NUM>) configured to rigidly hold an anatomical element (<NUM>) by a mechanical gripper (<NUM>), the detecting robotic arm (<NUM>) further comprising a first internal sensor configured to detect at least one of a force or a torque correlating to a force or a torque, respectively, exerted on the anatomical element (<NUM>) by the working robotic arm (<NUM>), and the detecting robotic arm (<NUM>) further comprising a second internal sensor configured to detect a movement of the detecting robotic arm (<NUM>);
at least one processor (<NUM>); and
at least one memory (<NUM>) storing instructions for execution by the at least one processor (<NUM>) that, when executed, cause the at least one processor (<NUM>) to:
receive a surgical plan comprising information about the anatomical element (<NUM>) of a patient and a surgical task to be completed on the anatomical element (<NUM>) by the working robotic arm (<NUM>);
correlate a position of the detecting robotic arm (<NUM>) to a position of the anatomical element (<NUM>);
detect, based solely on sensor data received from the second internal sensor, a movement of the detecting robotic arm (<NUM>) resulting from a movement of the anatomical element (<NUM>) during execution of the surgical task; and
control movement of the detecting robotic arm (<NUM>) during execution of the surgical task based on the detected movement.