Optimizing tracker-based surgical navigation
Patent Information
- Application Number
- JP2023571983
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-05-20
- Filing Date
- 2022-05-20
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2042-05-20
AI Technical Summary
Conventional surgical navigation systems face challenges in accurately tracking fiducials due to suboptimal lighting conditions, which affect the precision of tracking targets within a surgical workspace.
A navigation system that optimizes tracking by using trackers with active or passive markers, a localizer camera, and a controller to adjust optical signals based on image data analysis, ensuring optimal blob characteristics for accurate tracking.
Improves tracking accuracy by adjusting light signals to match optimal conditions, enhancing the precision of surgical navigation systems in various lighting scenarios.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Patent Application No. 63 / 190,791, filed May 20, 2021, the entire disclosure of which is incorporated herein by reference. [Background technology]
[0002] Conventional surgical navigation systems track targets within a surgical workspace by imaging fiducials attached to the targets and calculating the positions of such fiducials within the surgical workspace from the imaging. Suboptimal lighting can affect the ability of a surgical navigation system to accurately determine the position of each fiducial, which in turn can affect tracking accuracy. Summary of the Invention [Problem to be solved by the invention]
[0003] This Summary introduces a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to limit the scope of the claimed subject matter, nor does it necessarily identify key or essential features of each of the claimed subject matter. [Means for solving the problem]
[0004] In a first aspect, a navigation system for optimizing tracking of a target within a surgical workspace is provided, the navigation system including a tracker positioned relative to the target, the tracker having active markers of a predefined geometry for tracking a pose of the tracker within the surgical workspace, a localizer camera configured to cooperate with the tracker to generate image data indicative of each blob of the active markers generated from optical signals emitted from the active markers, and a controller communicatively coupled to the tracker and the localizer camera, the controller configured to assign each of the blobs to an active marker corresponding to the blob, obtain characteristics of each blob, compare the obtained characteristics to an optimal characteristic, and communicate at least one control signal to the tracker based on the comparison that causes the tracker to adjust an optical signal emitted from at least one of the active markers.
[0005] In a second aspect, a navigation system is provided for optimizing tracking of a target within a surgical workspace, the navigation system including a first tracker positioned relative to a first target within the surgical workspace, the first tracker having active markers of a predefined geometry for tracking a pose of the first tracker within the surgical workspace, a second tracker positioned relative to a second target within the surgical workspace, the second tracker having active markers of a predefined geometry for tracking a pose of the second tracker within the surgical workspace, a localizer camera configured to generate image data indicative of a first blob of each of the active markers of the first tracker generated from optical signals emitted from the active markers and a second blob of each of the active markers of the second tracker generated from optical signals emitted from the active markers in cooperation with the first and second trackers, and a controller communicatively coupled to the first and second trackers and the localizer camera. The controller is configured to acquire characteristics of each of the first and second blobs, compare the acquired characteristics to a first optimal characteristic specific to the first tracker and a second optimal characteristic specific to the second tracker that is different from the first optimal characteristic, and assign the first blob to the first tracker and the second blob to the second tracker based on the comparison.
[0006] In a third aspect, a navigation system for optimizing tracking of a target within a surgical workspace is provided, the navigation system including a tracker positioned relative to the target, the tracker having active markers of predefined geometry for tracking a pose of the tracker within the surgical workspace, a localizer camera configured to generate image data indicative of respective blobs of the active markers generated from optical signals emitted from the active markers in cooperation with the tracker, and a controller communicatively coupled to the tracker and the localizer camera, the controller configured to determine positions of the active markers of the tracker within the surgical workspace based on the image data, and to communicate at least one control signal to the tracker that causes the tracker to adjust an optical signal emitted from at least one of the active markers based on the determined positions of the active markers.
[0007] In a fourth aspect, a navigation system for optimizing tracking of a target within a surgical workspace is provided, the navigation system including a tracker positioned relative to the target, the tracker having passive markers of predefined geometry for tracking a pose of the tracker within the surgical workspace, a localizer camera including a light source configured to emit optical signals to illuminate the passive markers, the localizer camera configured to generate image data indicative of blobs of the passive markers generated from reflections of the optical signals emitted from the light source by the passive markers, and a controller communicatively coupled to the localizer camera, the controller configured to obtain characteristics of each blob, compare the obtained characteristics to optimal characteristics, and adjust at least one optical parameter of the localizer camera based on the comparison.
[0008] In a fifth aspect, a navigation system is provided for tracking a target within a surgical workspace, the navigation system including: a first tracker positioned relative to a first target within the surgical workspace, the first tracker including a passive marker of a predefined geometry for tracking a pose of the first tracker within the surgical workspace, a second tracker positioned relative to a second target within the surgical workspace, the second tracker including a passive marker of a predefined geometry for tracking a pose of the second tracker within the surgical workspace, a localizer camera including a light source configured to emit a light signal to illuminate the passive markers of the first and second trackers, the localizer camera configured to generate image data indicative of respective blobs of the passive markers of the first and second trackers generated from reflections of the passive markers of the light signal emitted from the light source, and a controller communicatively coupled to the localizer camera. The controller is configured to emit a first optical signal from a light source that is specific to the first tracker, receive image data generated by a localizer camera corresponding to the emitted first optical signal, and track a pose of the first tracker within the surgical workspace based on the received image data corresponding to the first optical signal. The controller is further configured to emit a second optical signal from the light source that is specific to a second tracker and has at least one characteristic different from the at least one corresponding characteristic of the first optical signal, receive image data generated by the localizer camera corresponding to the emitted second optical signal, and track a pose of the second tracker within the surgical workspace based on the received image data corresponding to the second optical signal.
[0009] In a sixth aspect, a navigation system for optimizing tracking of a target within a surgical workspace is provided, the navigation system including a tracker positioned relative to the target, the tracker having passive markers of predefined geometry for tracking a pose of the tracker within the surgical workspace, a localizer camera including a light source configured to emit light signals to illuminate the passive markers, the localizer camera configured to generate image data indicative of respective blobs of the passive markers generated from reflections by the passive markers of the light signals emitted from the light sources, and a controller communicatively coupled to the localizer camera. The controller is configured to emit light signals having varying characteristics from the light source, receive image data generated by the localizer camera for each of the emitted light signals indicative of respective blobs of the passive markers generated from reflection of the emitted light signals by the passive markers, obtain, for each instance of the received image data, a characteristic of each blob indicated by the image data, compare the obtained characteristic to an optimal characteristic to determine which of the instances of the received image data is closest to the optimal, and in response to determining which instance of the received image data is closest to the optimal, assign to a tracker the optical signal characteristic corresponding to the instance of the received image data, and track a posture of the tracker within the surgical workspace based on the optical signal characteristic assigned to the tracker.
[0010] In a seventh aspect, a navigation system is provided for optimizing tracking of a target within a surgical workspace, the navigation system including a tracker positioned relative to the target, the tracker having passive markers of predefined geometry for tracking a pose of the tracker within the surgical workspace, a localizer camera including a light source configured to emit light signals to illuminate the passive markers, the localizer camera configured to generate image data indicative of respective blobs of the passive markers generated from reflections by the passive markers of the light signals emitted from the light sources, and a controller communicatively coupled to the localizer camera, the controller configured to determine positions of the passive markers of the tracker within the surgical workspace based on the image data, and adjust at least one optical parameter of the localizer camera based on the determined positions of the passive markers.
[0011] In an eighth aspect, a navigation system is provided for optimizing tracking of a target within a surgical workspace, the navigation system including a tracker positioned relative to the target, the tracker having passive markers of predefined geometry that are manually repositionable to track a pose of the tracker within the surgical workspace, a localizer camera including a light source configured to emit a light signal to illuminate the passive markers, the localizer camera configured to generate image data indicative of each blob of the passive markers generated from reflections by the passive markers of the light signal emitted from the light source, and a controller communicatively coupled to the localizer camera, the controller configured to obtain characteristics of each blob, compare the obtained characteristics to optimal characteristics, and determine and display guidance for repositioning the passive markers of the tracker based on the comparison.
[0012] In a ninth aspect, a method is provided for optimizing tracking of a target within a surgical workspace by a navigation system, the navigation system including a tracker positioned relative to the target, the tracker having active markers of a predefined geometry for tracking a pose of the tracker within the surgical workspace, a localizer camera configured to cooperate with the tracker to generate image data indicative of each blob of the active markers generated from optical signals emitted from the active markers, and a controller communicatively coupled to the tracker and the localizer camera. The method includes positioning the tracker relative to the target within the surgical workspace, generating, by the localizer camera, image data indicative of each blob of the active markers generated from optical signals emitted from the active markers, assigning, by the controller, each of the blobs to its corresponding active marker, acquiring, by the controller, a characteristic of each blob, comparing, by the controller, the acquired characteristic to an optimal characteristic, and based on the comparison, communicating, by the controller, at least one control signal to the tracker that causes the tracker to adjust an optical signal emitted from at least one of the active markers.
[0013] In a tenth aspect, a method is provided for optimizing tracking of a target within a surgical workspace by a navigation system, the navigation system including a first tracker positioned relative to a first target within the surgical workspace, the first tracker having active markers of predefined geometry for tracking a pose of the first tracker within the surgical workspace, a second tracker positioned relative to a second target within the surgical workspace, the second tracker having active markers of predefined geometry for tracking a pose of the second tracker within the surgical workspace, a localizer camera configured to generate image data indicative of respective blobs of the active markers of the first and second trackers generated from optical signals emitted from the active markers in cooperation with the first and second trackers, and a controller communicatively coupled to the first and second trackers and the localizer camera. The method includes positioning first and second trackers relative to first and second targets, respectively, within a surgical workspace; generating, by a localizer camera, image data indicative of blobs of each of the active markers of the first and second trackers generated from optical signals emitted from the active markers; acquiring, by a controller, characteristics of each of the first and second blobs; comparing, by the controller, the acquired characteristics to a first optimal characteristic specific to the first tracker and a second optimal characteristic specific to the second tracker that differs from the first optimal characteristic; and assigning, by the controller, the first blob to the first tracker and the second blob to the second tracker based on the comparison.
[0014] In an eleventh aspect, a method is provided for optimizing tracking of a target within a surgical workspace by a navigation system, the navigation system including a tracker positioned relative to the target, the tracker having active markers of a predefined geometry for tracking a pose of the tracker within the surgical workspace, a localizer camera configured to cooperate with the tracker to generate image data indicative of each blob of the active markers generated from optical signals emitted from the active markers, and a controller communicatively coupled to the tracker and the localizer camera. The method includes positioning the tracker relative to the target within the surgical workspace, generating, by the localizer camera, image data indicative of each blob of the active markers generated from optical signals emitted from the active markers, determining, by the controller, positions of the active markers of the tracker within the surgical workspace based on the image data, and communicating, by the controller, at least one control signal to the tracker that causes the tracker to adjust an optical signal emitted from at least one of the active markers based on the determined positions of the active markers.
[0015] In a twelfth aspect, a method is provided for optimizing tracking of a target within a surgical workspace by a navigation system, the navigation system including a tracker positioned relative to the target, the tracker having passive markers of predefined geometry for tracking a pose of the tracker within the surgical workspace, a localizer camera including a light source configured to emit a light signal to illuminate the passive markers, the localizer camera configured to generate image data indicative of blobs of the passive markers generated from reflections of the light signal emitted from the light source by the passive markers, and a controller communicatively coupled to the localizer camera. The method includes positioning the tracker relative to the target within the surgical workspace, generating, by the localizer camera, image data indicative of each blob of the passive markers generated from reflections of the light signal emitted from the light source by the passive markers, acquiring, by the controller, a characteristic of each blob, comparing, by the controller, the acquired characteristic to an optimal characteristic, and adjusting, by the controller, at least one optical parameter of the localizer camera based on the comparison.
[0016] In a thirteenth aspect, a method is provided for optimizing tracking of a target within a surgical workspace by a navigation system, the navigation system including a first tracker positioned relative to a first target within the surgical workspace, the first tracker having a passive marker of a predefined geometry for tracking a pose of the first tracker within the surgical workspace, a second tracker positioned relative to a second target within the surgical workspace, the second tracker having a passive marker of a predefined geometry for tracking a pose of the second tracker within the surgical workspace, a localizer camera including a light source configured to emit a light signal to illuminate the passive markers of the first and second trackers, the localizer camera configured to generate image data indicative of respective blobs of the passive markers of the first and second trackers generated from reflections of the passive markers of the light signal emitted from the light source, and a controller communicatively coupled to the localizer camera. The method includes positioning a first and a second tracker relative to first and second objects, respectively, within a surgical workspace, emitting a first optical signal from a light source specific to the first tracker, receiving, by a controller, image data generated by a localizer camera corresponding to the emitted first optical signal, and tracking, by the controller, a pose of the first tracker within the surgical workspace based on the received image data corresponding to the first optical signal. The method further includes emitting a second optical signal from the light source specific to a second tracker and having at least one characteristic different from the at least one corresponding characteristic of the first optical signal, receiving, by the controller, image data generated by the localizer camera corresponding to the emitted second optical signal, and tracking, by the controller, a pose of the second tracker within the surgical workspace based on the received image data corresponding to the second optical signal.
[0017] In a fourteenth aspect, a method is provided for optimizing tracking of a target within a surgical workspace by a navigation system, the navigation system including a tracker positioned relative to the target, the tracker having passive markers of predefined geometry for tracking a pose of the tracker within the surgical workspace, a localizer camera including a light source configured to emit light signals to illuminate the passive markers, the localizer camera configured to generate image data indicative of respective blobs of the passive markers generated from reflections by the passive markers of the light signals emitted from the light sources, and a controller communicatively coupled to the localizer camera. The method includes positioning a tracker relative to a target within a surgical workspace; emitting light signals from a light source having varying characteristics; receiving, by a controller, image data generated by the localizer camera for each of the emitted light signals indicative of respective blobs of the passive markers generated from reflection of the emitted light signals by the passive markers; for each instance of the received image data, obtaining, by the controller, a characteristic of each blob indicated by the image data and comparing, by the controller, the obtained characteristic to an optimal characteristic to determine which of the instances of the received image data is closest to an optimality; in response to determining which instance of the received image data is closest to an optimality, assigning, by the controller, to the tracker the optical signal characteristic corresponding to the instance of the received image data; and tracking a pose of the tracker within the surgical workspace based on the optical signal characteristic assigned to the tracker by the controller.
[0018] In a fifteenth aspect, a method is provided for optimizing tracking of a target within a surgical workspace by a surgical navigation system, the navigation system including a tracker positioned relative to the target, the tracker having passive markers of predefined geometry for tracking a pose of the tracker within the surgical workspace, a localizer camera including a light source configured to emit light signals to illuminate the passive markers, the localizer camera configured to generate image data indicative of each blob of the passive markers generated from reflections of the light signals emitted from the light sources by the passive markers, and a controller communicatively coupled to the localizer camera. The method includes positioning the tracker relative to the target within the surgical workspace, generating, by the localizer camera, image data indicative of each blob of the passive markers generated from reflections of the light signals emitted from the light sources by the passive markers, determining, by the controller, positions of the passive markers of the tracker within the surgical workspace based on the image data, and adjusting, by the controller, at least one optical parameter of the localizer camera based on the determined positions of the passive markers.
[0019] In a sixteenth aspect, a method is provided for optimizing tracking of a target within a surgical workspace by a navigation system, the navigation system including a tracker positioned relative to the target, the tracker having passive markers of predefined geometry repositionable to track a pose of the tracker within the surgical workspace, a localizer camera including a light source configured to emit a light signal to illuminate the passive markers, the localizer camera configured to generate image data indicative of each blob of the passive markers generated from reflection of the light signal emitted from the light source by the passive markers, and a controller communicatively coupled to the localizer camera. The method includes positioning the tracker relative to the target within the surgical workspace, generating, by the localizer camera, image data indicative of each blob of the passive markers generated from reflection of the light signal emitted from the light source by the passive markers, acquiring, by the controller, a characteristic of each blob, comparing, by the controller, the acquired characteristic to an optimal characteristic, and determining and displaying, by the controller, guidance for repositioning the passive markers of the tracker based on the comparison.
[0020] In a seventeenth aspect, there is provided a robotic surgical system including a robotic device configured to support a surgical tool and one or more controllers configured to implement any one or more of the methods of the ninth to sixteenth aspects, wherein the one or more controllers are configured to control the robotic device to move the surgical tool relative to a cutting boundary to remove a target volume of patient tissue.
[0021] Any of the above aspects may be combined in whole or in part.
[0022] Any of the above aspects may be utilized with any one or more of the following embodiments, whether utilized individually or in combination.
[0023] Some embodiments include at least one control signal communicated to the tracker causing the tracker to adjust an intensity and / or duration of an optical signal emitted from at least one of the active markers. Some embodiments include, for each of the blobs, comparing the obtained characteristics of the blob to an optimal characteristic to determine whether the blob is suboptimal, and in response to determining that the blob is suboptimal based on the comparison, communicating a control signal to the tracker that causes the tracker to adjust an optical signal emitted from the active marker corresponding to the blob.
[0024] Some embodiments include: the obtained characteristic of each blob indicating a first value and the optimal characteristic indicating a second value; comparing the indicated first value for the blob to the second value; and in response to the comparison indicating the first value for the blob is greater than the second value, communicating a control signal to the tracker that causes the tracker to reduce an intensity and / or duration of an optical signal emitted from the active marker corresponding to the blob; and in response to the comparison indicating the first value for the blob is less than the second value, communicating a control signal to the tracker that causes the tracker to increase an intensity and / or duration of an optical signal emitted from the active marker corresponding to the blob.
[0025] Some embodiments include the obtained characteristic is a blob intensity characteristic and the optimal characteristic is an optimal blob intensity characteristic. Some embodiments include the optimal blob intensity characteristic exhibiting a value greater than or equal to 75% and less than or equal to 95% of the localizer camera's full intensity value. Some embodiments include the obtained characteristic is a blob size characteristic and the optimal characteristic is an optimal blob size characteristic. Some embodiments include the obtained characteristic is a blob shape characteristic and the optimal characteristic is an optimal blob shape characteristic.
[0026] Some embodiments include: the acquired characteristic is defined as an acquired first characteristic, and the optimal characteristic is defined as a first optimal characteristic; acquiring one or more second characteristics of one or more of the blobs, comparing the one or more acquired second characteristics to the second optimal characteristic, and communicating at least one control signal to the tracker that causes the tracker to adjust an optical signal emitted from at least one of the one or more active markers corresponding to the one or more blobs based on a comparison of the one or more acquired second characteristics to the second optimal characteristic. Some embodiments include: the one or more acquired second characteristics include an acquired second characteristic of each of the one or more blobs, and for each of the one or more blobs, comparing the acquired second characteristic of the blob to the second optimal characteristic to determine whether the blob is not best, and communicating a control signal to the tracker that causes the tracker to adjust an optical signal emitted from the active marker corresponding to the blob based on the comparison and in response to determining that the blob is not best.
[0027] Some embodiments include: the acquired characteristic is defined as an acquired first characteristic; and the optimal characteristic is defined as a first optimal characteristic; comparing the acquired first characteristic of the blob to the first optimal characteristic to determine if the acquired first characteristic of the blob is not best; and in response to determining based on the comparison that the acquired first characteristic of the blob is best, communicating a control signal to the tracker that causes the tracker to adjust an optical signal emitted from an active marker corresponding to the blob; and in response to determining based on the comparison that the acquired first characteristic of the blob is best, acquiring a second characteristic of the blob; comparing the acquired second characteristic of the blob to the second optimal characteristic to determine if the acquired second characteristic of the blob is not best; and in response to determining based on the comparison that the acquired second characteristic of the blob is not best, communicating a control signal to the tracker that causes the tracker to adjust an optical signal emitted from an active marker corresponding to the blob.
[0028] Some embodiments include the first acquired property is a blob intensity property and the second acquired property is a blob size property or a blob shape property. Some embodiments include the first acquired property is a blob size property and the second acquired property is a blob intensity property or a blob shape property. Some embodiments include the first acquired property is a blob shape property and the second acquired property is a blob intensity property or a blob size property.
[0029] Some embodiments include the image data including first image data corresponding to a first optical sensor of the localizer camera and second image data corresponding to a second optical sensor of the localizer camera, each of the first and second image data indicating a blob for each active marker generated from optical signals emitted from the active markers, and the method includes identifying a first blob from the first image data and a second blob from the second image data that correspond to the same active marker; obtaining a first characteristic of the first blob and a second characteristic of the second blob; combining the obtained first characteristic and the obtained second characteristic to form a combined blob characteristic; comparing the combined blob characteristic to an optimal characteristic to determine if the combined blob characteristic is not optimal; and in response to determining based on the comparison that the combined blob characteristic is not optimal, communicating a control signal to the tracker that causes the tracker to adjust the optical signals emitted from the active markers corresponding to the first and second blobs.
[0030] Some embodiments include: the combined blob characteristic exhibiting a first value and the optimal characteristic exhibiting a second value; comparing the first value to the second value; and in response to the comparison indicating the first value is greater than the second value, communicating a control signal to the tracker that causes the tracker to reduce an intensity and / or duration of an optical signal emitted from the active markers corresponding to the first and second blobs; and in response to the comparison indicating the first value is less than the second value, communicating a control signal to the tracker that causes the tracker to increase an intensity and / or duration of an optical signal emitted from the active markers corresponding to the first and second blobs.
[0031] Some embodiments include the acquired first and second characteristics being an acquired blob intensity characteristic, and the optimal characteristic being an optimal blob intensity characteristic. Some embodiments include the optimal blob intensity characteristic exhibiting a value greater than or equal to 75% and less than or equal to 95% of a full intensity value of the localizer camera. Some embodiments include the acquired first and second characteristics being an acquired size characteristic, and the optimal characteristic being an optimal blob size characteristic. Some embodiments include the acquired first and second characteristics being an acquired shape characteristic, and the optimal characteristic being an optimal blob shape characteristic.
[0032] Some embodiments include: the combined blob characteristic is defined as a first combined blob characteristic, the optimal characteristic is defined as a first optimal characteristic, obtaining a third characteristic of the first blob and a fourth characteristic of the second blob, combining the obtained third characteristic and the obtained fourth characteristic to form a second combined blob characteristic, comparing the second combined blob characteristic to the second optimal characteristic, and communicating a control signal to the tracker that causes the tracker to adjust optical signals emitted from the active markers corresponding to the first and second blobs based on a comparison of the second combined blob characteristic to the second optimal characteristic. Some embodiments include comparing the second combined blob characteristic to the second optimal characteristic to determine if the second combined blob characteristic is not optimal, and communicating a control signal to the tracker that causes the tracker to adjust optical signals emitted from the active markers corresponding to the first and second blobs based on the comparison and in response to determining that the second combined blob characteristic is not optimal.
[0033] Some embodiments include a method for determining whether the first combined blob characteristic is best, the method comprising: comparing the first combined blob characteristic to the first optimal characteristic; determining whether the first combined blob characteristic is not best; and in response to determining that the first combined blob characteristic is not best, communicating a control signal to the tracker that causes the tracker to adjust optical signals emitted from the active markers corresponding to the first and second blobs; and in response to determining that the first combined blob characteristic is best based on the comparison. and acquiring a third characteristic of the first blob and a fourth characteristic of the second blob by combining the acquired third characteristic and the acquired fourth characteristic to form a second combined blob characteristic. Comparing the second combined blob characteristic to a second optimal characteristic to determine if the second combined blob characteristic is not optimal. In response to determining that the second combined blob characteristic is not optimal based on the comparison, communicating a control signal to the tracker that causes the tracker to adjust optical signals emitted from the active markers corresponding to the first and second blobs.
[0034] Some embodiments include the first and second acquired properties are blob intensity properties and the third and fourth acquired properties are blob size properties or blob shape properties. Some embodiments include the first and second acquired properties are blob size properties and the third and fourth acquired properties are blob intensity properties or blob shape properties. Some embodiments include the first and second acquired properties are blob shape properties and the third and fourth acquired properties are blob intensity properties or blob size properties.
[0035] Some embodiments include: the target object is defined as a first target object; the blob is defined as a first blob; the tracker is defined as a first tracker; the acquired characteristic is defined as the acquired first characteristic; the optimal characteristic is defined as a first optimal characteristic specific to the first tracker; and a second tracker is positioned relative to the second target object within the surgical workspace and has active markers of a predefined geometry for tracking a pose of the second tracker within the surgical workspace, and the image data generated by the localizer camera includes second blobs for each of the active markers of the second tracker generated from optical signals emitted from the active markers of the second tracker. Some embodiments further include assigning each of the second blobs to an active marker of the second tracker corresponding to the second blob, acquiring a second characteristic of each second blob, comparing the acquired second characteristic to a second optimal characteristic that is specific to the second tracker and different from the first optimal characteristic, and communicating at least one control signal to the second tracker that causes the second tracker to adjust an optical signal emitted from at least one of the active markers of the second tracker based on the comparison.
[0036] Some embodiments include, for each second blob, comparing the obtained second characteristic of the second blob to a second optimal characteristic to determine whether the second blob is not best, and in response to determining that the second blob is not best based on the comparison, communicating a control signal to the second tracker that causes the second tracker to adjust an optical signal emitted from an active marker of the second tracker corresponding to the second blob.
[0037] Some embodiments include assigning the first blob to an active marker of the first tracker based on the first optimal characteristic. Some embodiments include, for each of the first blobs, determining a difference between the acquired first characteristic of the first blob and the first optimal characteristic, determining whether the difference between the acquired first characteristic of the first blob and the first optimal characteristic is less than a threshold, and in response to determining that the difference between the acquired first characteristic of the first blob and the first optimal characteristic is less than the threshold, determining that the first blob corresponds to the first tracker and assigning the first blob to an active marker of the first tracker corresponding to the first blob.
[0038] Some embodiments include assigning the second blob to an active marker of the second tracker based on the second optimal characteristic. Some embodiments include, for each of the second blobs, determining a difference between the acquired second characteristic of the second blob and the second optimal characteristic, determining whether the difference between the acquired second characteristic of the second blob and the second optimal characteristic is less than a threshold, and in response to determining that the difference between the acquired second characteristic of the second blob and the second optimal characteristic is less than the threshold, determining that the second blob corresponds to the second tracker and assigning the second blob to an active marker of the second tracker corresponding to the second blob.
[0039] Some implementations include a predefined geometry of the active markers of a first tracker and a predefined geometry of the active markers of a second tracker that is substantially equivalent.
[0040] Some embodiments include determining positions of active markers of the tracker within the surgical workspace based on the image data, and communicating at least one control signal to the tracker that causes the tracker to adjust an optical signal emitted from at least one of the active markers based on the determined positions of the active markers. Some embodiments include, for each of the active markers, comparing the obtained characteristic of the blob corresponding to the active marker to an optimal characteristic to determine if the blob corresponding to the active marker is suboptimal, and in response to determining that the blob corresponding to the active marker is suboptimal, communicating a control signal to the tracker that causes the tracker to adjust an optical signal emitted from the active marker based on the determined positions of the active markers.
[0041] Some embodiments include counting a control signal to the tracker that causes the tracker to adjust the optical signal emitted from the active marker based on the determined position of the active marker by comparing the determined position of the active marker to a previously determined position of the active marker to determine a change in distance between the active marker and the localizer camera, and communicating a control signal to the tracker that causes the tracker to adjust the optical signal emitted from the active marker based on the change in distance. Some embodiments include communicating a control signal to the tracker that causes the tracker to adjust the optical signal emitted from the active marker based on the determined change in distance by determining whether the change in distance indicates an increase or decrease in distance between the active marker and the localizer camera, communicating a control signal to the tracker that causes the tracker to increase an intensity and / or duration of the optical signal emitted from the active marker in response to a change in distance indicating an increase in distance between the active marker and the localizer camera, and communicating a control signal to the tracker that causes the tracker to reduce an intensity and / or duration of the optical signal emitted from the active marker in response to a change in distance indicating a decrease in distance between the active marker and the localizer camera.
[0042] Some embodiments include a tracker including at least one actuator for repositioning active markers of the tracker and communicating at least one control signal to the tracker that causes the tracker to reposition at least one of the active markers based on a comparison of the acquired characteristics to an optimal characteristic. Some embodiments include, for each of the blobs, comparing the acquired characteristics of the blob to the optimal characteristic to determine whether the blob is sub-optimal, and in response to determining that the blob is sub-optimal based on the comparison, communicating a control signal to the tracker that causes the tracker to reposition an active marker corresponding to the blob. Some embodiments include: the obtained characteristic of each blob exhibiting a first value and the optimal characteristic exhibiting a second value, and for each blob, comparing the first value exhibited for the blob with the second value; and in response to the comparison indicating the first value for the blob is greater than the second value, communicating a control signal to the tracker that causes the tracker to reposition an active marker corresponding to the blob away from the localizer camera; and in response to the comparison indicating the first value for the blob is less than the second value, communicating a control signal to the tracker that causes the tracker to reposition the active marker corresponding to the blob toward the localizer camera.
[0043] Some embodiments include adjusting at least one optical parameter of the localizer camera based on the comparison by adjusting an optical signal emitted from the light source to illuminate the passive marker based on the comparison.Some embodiments include adjusting at least one optical parameter of the localizer camera based on the comparison by adjusting an intensity and / or duration of an optical signal emitted from the light source to illuminate the passive marker based on the comparison.
[0044] Some embodiments include combining the obtained characteristics to form a combined blob characteristic, comparing the combined blob characteristic to an optimal characteristic to determine if the combined blob characteristic is not optimal, and adjusting at least one optical parameter of the localizer camera in response to determining that the combined blob characteristic is not optimal based on the comparison. Some embodiments include the combined blob characteristic exhibiting a first value and the optimal characteristic exhibiting a second value, comparing the first value to the second value, in response to the comparison indicating the first value is greater than the second value, reducing an intensity and / or duration of an optical signal emitted from the light source to illuminate the passive marker, and in response to the comparison indicating the first value is less than the second value, increasing an intensity and / or duration of an optical signal emitted from the light source to illuminate the passive marker.
[0045] Some embodiments include: the acquired characteristic is defined as a first acquired characteristic; the combined blob characteristic is defined as a first combined blob characteristic; and the optimal characteristic is defined as a first optimal characteristic; comparing the first combined blob characteristic to the first optimal characteristic to determine whether the first combined blob characteristic is not best; and in response to determining that the first combined blob characteristic is not best based on the comparison, adjusting at least one optical parameter of the localizer camera; and in response to determining that the first combined blob characteristic is best based on the comparison, acquiring a second characteristic of each blob; combining the acquired second characteristics to form a second combined blob characteristic; comparing the second combined blob characteristic to the second optimal characteristic to determine whether the second combined blob characteristic is not best; and in response to determining that the second combined blob characteristic is not best based on the comparison, adjusting at least one optical parameter of the localizer camera.
[0046] Some embodiments include the target being defined as a first target, the blob being defined as a first blob, the tracker being defined as a first tracker, the optical signal being defined as a first optical signal specific to the first tracker, and the second tracker being positioned relative to the second target within the surgical workspace and having a passive marker of predefined geometry for tracking a pose of the second tracker within the surgical workspace. Some embodiments further include emitting a second optical signal specific to the second tracker from a light source, the second optical signal having at least one characteristic different from at least one corresponding characteristic of the first optical signal; receiving image data corresponding to the second optical signal generated by the localizer camera, the received image data indicative of a second blob for each of the passive markers of the second tracker generated from reflection by the passive markers of the second optical signal emitted from the light source; acquiring characteristics of each second blob; comparing the acquired characteristics of the second blobs to optimal characteristics to determine if the acquired characteristics of the second blobs are not optimal; and adjusting at least one characteristic of the second optical signal in response to determining that the acquired characteristics of the second blobs are not optimal based on the comparison.
[0047] Some embodiments include at least one characteristic of the second optical signal that is different from at least one corresponding characteristic of the first optical signal, including a light intensity characteristic and / or a light duration characteristic. Some embodiments include image data corresponding to the second optical signal indicating a third blob of each of the passive markers of the first tracker generated from a reflection by the passive marker of the second optical signal emitted from the light source, and in response to receiving the image data corresponding to the second optical signal, distinguishing the second blob from the third blob based on the optimal characteristic. Some embodiments include distinguishing the second blob from the third blob based on the optimal characteristic by obtaining a characteristic of each third blob, comparing the obtained characteristics of the second and third blobs to the optimal characteristic, and distinguishing the second blob from the third blob based on the comparison of the obtained characteristics of the second and third blobs to the optimal characteristic.
[0048] Some embodiments include determining, for each of the second and third blobs, a difference between the acquired blob characteristic and the optimal characteristic, determining whether the difference is less than a threshold, and in response to determining that the difference is less than the threshold, determining that the blob corresponds to one of the second blobs. Some embodiments include a predefined geometry of the passive marker of the first tracker and a predefined geometry of the passive marker of the second tracker that is substantially equivalent.
[0049] Some implementations include emitting light signals from a light source having varying characteristics; receiving image data generated by a localizer camera for each of the emitted light signals indicative of respective blobs of passive markers generated from reflection of the emitted light signals by the passive markers; obtaining, for each instance of the received image data, characteristics of each blob indicated by the image data and comparing the obtained characteristics to an optimal characteristic to determine which of the instances of the received image data is closest to optimal; in response to determining which instance of the received image data is closest to optimal, assigning to a tracker the characteristics of the light signal corresponding to the instance of the received image data; and tracking a posture of the tracker within the surgical workspace based on the light signal characteristics assigned to the tracker.
[0050] Some implementations include tracking a orientation of the tracker within a surgical workspace based on optical signal characteristics assigned to the tracker by emitting an optical signal from a light source having the optical signal characteristics assigned to the tracker to illuminate a passive marker of the tracker, receiving image data generated by a localizer camera corresponding to the emitted optical signal having the optical signal characteristics assigned to the tracker, and determining a orientation of the tracker within the surgical workspace based on the received image data. Some implementations include emitting a light signal from a light source having light signal characteristics assigned to the tracker to illuminate a passive marker of the tracker; receiving image data corresponding to the emitted light signal having the light signal characteristics assigned to the tracker, the received image data indicative of a blob of each passive marker of the tracker generated from a reflection of the emitted light signal having the light signal characteristics assigned to the tracker by the passive marker; acquiring characteristics of each of the blobs in the received image data; comparing the acquired characteristics of the blobs in the received image data to optimal characteristics to determine if the acquired characteristics of the blobs are not optimal; and adjusting the light signal characteristics assigned to the tracker in response to determining that the acquired characteristics of the blobs are not optimal based on the comparison.
[0051] Some implementations include determining a position of a passive marker of the tracker within the surgical workspace based on the image data and adjusting at least one optical parameter of the localizer camera based on the determined position of the passive marker. Some implementations include comparing a characteristic of the acquired blob to an optimal characteristic to determine if the blob is suboptimal, and in response to determining that the blob is suboptimal based on the comparison, adjusting at least one optical parameter of the localizer camera based on the determined position of the passive marker.
[0052] Some embodiments include adjusting at least one optical parameter of the localizer camera based on the determined position of the passive marker by determining an average distance between the passive marker and the localizer camera based on the determined position of the passive marker, comparing the determined average distance to a previously determined average distance between the passive marker and the localizer camera to determine a change in the average distance between the passive marker and the localizer camera, and adjusting at least one optical parameter of the localizer camera based on the change in the average distance. Some embodiments include adjusting at least one optical parameter of the localizer camera based on the change in average distance by determining whether the change in average distance indicates an increase or a decrease in the average distance between the passive marker and the localizer camera; increasing the intensity and / or duration of an optical signal emitted from the light source to illuminate the passive marker in response to the change in distance indicating an increase in the average distance between the passive marker and the localizer camera; and decreasing the intensity and / or duration of an optical signal emitted from the light source to illuminate the passive marker in response to the change in distance indicating a decrease in the average distance between the passive marker and the localizer camera.
[0053] Some implementations include allowing the passive markers of the tracker to be manually repositioned and determining and displaying guidance for repositioning the passive markers of the tracker based on a comparison of the acquired characteristics to an optimal characteristic. Some implementations include, for each blob, assigning the blob to a passive marker corresponding to the blob, comparing the acquired characteristics of the blob to the optimal characteristic to determine if the blob is sub-optimal, and determining and displaying guidance for repositioning the passive marker corresponding to the blob based on the comparison and in response to determining that the blob is sub-optimal.
[0054] Some embodiments include: determining and displaying guidance for repositioning the passive marker corresponding to the blob away from the localizer camera 18 in response to a comparison indicating that the first value of the blob is greater than the second value; and determining and displaying guidance for repositioning the passive marker corresponding to the blob toward the localizer camera 18 in response to a comparison indicating that the first value of the blob is less than the second value, where the characteristic of each acquired blob indicates a first value and the optimal characteristic indicates a second value, for each blob; assigning the blob to a passive marker corresponding to the blob; comparing the first value indicated for the blob to a second value; and determining and displaying guidance for repositioning the passive marker corresponding to the blob toward the localizer camera 18 in response to a comparison indicating that the first value of the blob is greater than the second value.
[0055] Some embodiments include adjusting at least one optical parameter of the localizer camera based on the comparison by adjusting an electronic aperture time of the localizer camera. Some embodiments include combining the obtained characteristics, where the optimal characteristic indicates a first value, to form a combined blob characteristic indicating a second value, comparing the second value to the first value, and in response to the comparison indicating the second value is greater than the first value, decreasing the electronic aperture time of the localizer camera, and in response to the comparison indicating the second value is less than the first value, increasing the electronic aperture time of the localizer camera.
[0056] Some embodiments include the localizer camera including a mechanical shutter and adjusting at least one optical parameter of the localizer camera based on the comparison by adjusting a shutter time of the mechanical shutter. Some embodiments include the optimal characteristic exhibiting a first value, combining the obtained characteristics to form a combined blob characteristic exhibiting a second value, comparing the second value to the first value, and in response to the comparison indicating the second value is greater than the first value, decreasing the shutter time of the mechanical shutter, and in response to the comparison indicating the second value is less than the first value, increasing the shutter time of the mechanical shutter.
[0057] Some embodiments include the localizer camera including a mechanical aperture, and adjusting at least one optical parameter of the localizer camera based on the comparison by adjusting a capture size of the mechanical aperture. Some embodiments include the optimal characteristic indicating a first value, combining the obtained characteristics to form a combined blob characteristic indicating a second value, comparing the second value to the first value, and in response to the comparison indicating the second value being greater than the first value, decreasing the capture size of the mechanical aperture, and in response to the comparison indicating the second value being less than the first value, increasing the capture size of the mechanical aperture. [Brief description of the drawings]
[0058] [Figure 1] 1 illustrates a surgical system including a surgical navigation system for optimizing tracking of a target within a surgical workspace. [Diagram 2] FIG. 2 illustrates components of the surgical system. [Diagram 3] A method for optimizing the tracking of objects within a surgical workspace using an active tracker is presented. [Figure 4] 1 shows image data generated by a localizer camera of a surgical navigation system. [Diagram 5] We show trackers that can be affixed to landmarks within the surgical workspace to track such landmarks. [Figure 6] 1 illustrates suboptimal image data generated by a localizer camera of a surgical navigation system. [Figure 7] 1 shows optimal image data generated by a localizer camera of a surgical navigation system. [Figure 8] A method for optimizing tracking of objects within a surgical workspace using a passive tracker is presented. [Figure 9A] 1 illustrates an active tracker having a repositionable active marker oriented in a first direction. [Figure 9B]9B shows the active tracker of FIG. 9A with a repositionable active marker oriented in a second direction. [Figure 10A] 1 illustrates a passive tracker having a repositionable passive marker oriented in a first direction. [Figure 10B] 10B shows the passive tracker of FIG. 10A with the repositionable passive marker oriented in a second direction. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0059] FIG. 1 illustrates a surgical system 10 for treating a patient. The surgical system 10 can be located in a surgical environment, such as an operating room in a medical facility. The surgical system 10 includes a surgical navigation system 12 and a robotic manipulator 14. The robotic manipulator 14 can be coupled to a surgical instrument 16 and configured to manipulate the surgical instrument 16 to treat a target volume of patient tissue, such as in the direction of the surgeon and / or the surgical navigation system 12. For example, the surgical navigation system 12 causes the robotic manipulator 14 to manipulate the surgical instrument 16 to remove a target volume of patient tissue while avoiding other landmarks adjacent the target volume in a surgical workspace, such as other medical instruments and adjacent anatomical structures. Alternatively, the surgeon can manually hold and manipulate the surgical instrument 16 while receiving guidance from the surgical navigation system 12. As some non-limiting examples, the surgical instrument 16 can be a burr instrument, an electrosurgical instrument, an ultrasonic instrument, a reamer, an impactor, or a sagittal saw.
[0060] During a surgical procedure, the surgical navigation system 12 is configured to track the pose (location and orientation) of landmarks of interest within a surgical workspace using tracker-based localization. The surgical workspace may include a target volume of patient tissue being treated and areas surrounding the target volume where obstacles to treatment may exist. Tracked landmarks may include, but are not limited to, the patient's anatomy, surgical instruments such as the surgical instrument 16, and the anatomy of surgical personnel, such as the surgeon's hands or fingers. Tracked patient anatomy may include soft tissues such as ligaments, muscles, and skin, and may include hard tissues such as bone. Tracked surgical instruments may include retractors, cutting tools, and waste management devices used during the surgical procedure.
[0061] Each landmark of interest may be affixed with a tracker configured to transmit optical signals to the surgical navigation system 12. The surgical navigation system 12 is configured to detect such optical signals by imaging the tracker and determine a pose of the tracker within the surgical workspace based on the imaging. The surgical navigation system 12 is then configured to determine a pose of the landmark within the surgical workspace based on the determined pose of the tracker and a predefined positional relationship between the landmark and the tracker.
[0062] The surgical navigation system 12 may be configured to optimize tracking of the target within the surgical workspace, such as by optimizing the optical signal transmitted from the tracker to improve tracking accuracy. In particular, if the optical signal transmitted from the tracker is not optimal for the current position of the tracker relative to the imaging device of the surgical navigation system 12 and / or for the current ambient lighting conditions, then the navigation system 12 may have difficulty accurately tracking the tracker within the surgical workspace. For example, if the strength of the optical signal is too low, then the navigation system 12 may detect an insufficient portion of the optical signal. Alternatively, if the strength of the optical signal is too high, then the navigation system 12 may produce undesirable artifacts when imaging the tracker. In either case, this may affect the ability of the surgical navigation system 12 to pinpoint the location of the optical signal transmitted from the tracker, which may correspondingly affect the tracking accuracy provided by the surgical navigation system 12. Thus, in response to detecting an optical signal from a tracker, the navigation system 12 may be configured to compare the detected optical signal against an optimal characteristic and adjust the optical signal transmitted from the tracker to obtain the optimal characteristic based on the comparison.
[0063] In response to determining the pose of the target landmark in the surgical workspace, the surgical navigation system 12 can display the relative pose of the tracked landmark to assist the surgeon. The surgical navigation system 12 can also control and / or constrain the movement of the robotic manipulator 14 and / or the surgical instrument 16 based on virtual boundaries associated with the tracked landmarks. For example, the surgical navigation system 12 can identify the target volume of patient tissue to be treated and potential obstacles within the surgical workspace based on the tracked landmarks. The surgical navigation system 12 can then restrict the surgical instrument (e.g., the end effector EA of the surgical instrument 16) from contacting anything beyond the target volume of patient tissue to be treated, improving patient safety and surgical precision. The surgical navigation system 12 can also eliminate damage to the surgical instrument caused by unintended contact with other landmarks, which may also cause undesirable debris at the target site.
[0064] 1 , the surgical navigation system 12 may include a localizer camera 18 and a navigation cart assembly 20. The navigation cart assembly 20 may house a navigation controller 22 configured to implement the functions, features, and processes of the surgical navigation system 12 described herein. In particular, the navigation controller 22 may include a processor 24 programmed to implement the functions, features, and processes of the navigation controller 22 and the surgical navigation system 12 described herein. For example, the processor 24 may be programmed to convert optical-based image data received from the localizer camera 18 into target pose data indicative of the pose of a target being tracked within the surgical workspace.
[0065] The navigation controller 22 can be in surgical communication with a user interface 26 of the surgical navigation system 12. The user interface 26 can facilitate user interaction with the surgical navigation system 12 and the navigation controller 22. For example, the user interface 26 can include one or more output devices that provide information to a user, such as from the navigation controller 22. The output devices can include a display 28 adapted to be located outside a sterile field that includes a surgical workspace, and a display 30 adapted to be located within the sterile field. The displays 28, 30 can be adjustably mounted to the navigation cart assembly 20. The user interface 26 can also include one or more input devices that enable user input to the surgical navigation system 12. The input devices can include a keyboard, mouse, and / or touch screen 32 that a user can interact with to input surgical parameters and control aspects of the navigation controller 22. The input devices can also include a microphone that enables user input via voice recognition technology.
[0066] The localizer camera 18 can be configured to facilitate identification of the orientation of the tracked target within the surgical workspace by generating image data indicative of the orientation of the tracker affixed to the target. Specifically, the localizer camera 18 can be communicatively coupled to a navigation controller 22 of the surgical navigation system 12 and configured to generate and communicate to the navigation controller 22 image data indicative of the orientation of the tracker within the surgical workspace. The navigation controller 22 can then be configured to generate target orientation data indicative of the orientation of the target affixed to the tracker within the surgical workspace based on the image data and a predetermined positional relationship between the target and the tracker.
[0067] The localizer camera 18 can be configured to facilitate identification of the orientation of the tracked target within the surgical workspace by generating image data indicative of the orientation of the tracker affixed to the target. Specifically, the localizer camera 18 can be communicatively coupled to a navigation controller 22 of the surgical navigation system 12 and configured to generate and communicate to the navigation controller 22 image data indicative of the orientation of the tracker within the surgical workspace. The navigation controller 22 can then be configured to generate target orientation data indicative of the orientation of the target affixed to the tracker within the surgical workspace based on the image data and a predetermined positional relationship between the target and the tracker.
[0068] The optical sensor 36 may be a one-dimensional or two-dimensional charge-coupled device (CCD). For example, the outer housing 34 may house two two-dimensional CCDs for triangulating the position of the tracker within the surgical workspace, or three primary source CCDs for triangulating the position of the tracker within the surgical workspace. Additionally or alternatively, the localizer camera 18 may utilize other light detection technologies, such as complementary metal-oxide semiconductor (CMOS) active pixels.
[0069] The localizer camera 18 may be mounted on an adjustable arm to selectively position the optical sensor 36 with a field of view of the surgical workspace and, ideally, a clear target volume. The localizer camera 18 may be adjustable in at least one degree of freedom by rotating about a rotary joint, and may be adjustable in two or more degrees of freedom.
[0070] As described above, the localizer camera 18 can cooperate with the multiple trackers 38 to determine the location of the landmarks within the surgical workspace to which the trackers 38 are affixed. In general, the landmarks to which each tracker 38 is affixed can be rigid and inflexible such that movement of the landmark cannot or is unlikely to alter the positional relationship between the landmark and the tracker 38. In other words, the relationship between the tracker 38 within the surgical workspace and the landmark to which the tracker 38 is affixed can remain fixed regardless of changes in the location of the landmark within the surgical workspace. For example, the trackers 38 can be firmly affixed to the bones of the patient and to surgical instruments such as retractors and surgical instruments 16. In this manner, in response to determining the location of the trackers 38 within the surgical workspace using the localizer cameras 18, the navigation controller 22 can infer the location of the landmark to which the tracker 38 is affixed based on the determined location of the trackers.
[0071] For example, when the target volume to be treated is located in the patient's knee region, tracker 38A may be securely affixed to the patient's femur F, tracker 38B may be securely affixed to the patient's tibia T, and tracker 38C may be securely affixed to the surgical instrument 16. Trackers 38A, 38B may be attached to the femur F and tibia T as shown in U.S. Patent No. 7,725,162, which is incorporated herein by reference. Trackers 38A, 38B may also be attached like the trackers shown in U.S. Patent No. 9,566,120, which is incorporated herein by reference. Tracker 38C may be integrated into the surgical instrument 16 during manufacture or may be separately attached to the surgical instrument 16 in preparation for the surgical procedure.
[0072] Prior to the commencement of a surgical procedure using the surgical system 10, pre-operative images can be generated for the anatomical structures of interest, such as defining a target volume of patient tissue to be treated by the surgical instruments 16 and / or adjacent anatomical structures. For example, when the target volume of patient tissue to be treated is within the patient's knee region, pre-operative images can be taken of the patient's femur F and tibia T. These images can be based on MRI, radiological, or computed tomography (CT) scans of the patient's anatomy and can be used to create virtual models of the anatomical structures. Each virtual model of the anatomical structure can include a three-dimensional model (e.g., point cloud, mesh CAD) that includes data representing all or at least a portion of the anatomical structure and / or data indicative of the portion of the anatomical structure to be treated. These virtual models can be provided and stored in the navigation controller 22 prior to the surgical procedure.
[0073] In addition to, or instead of, taking pre-operative images, treatment plans can be developed in the operating room from kinematic studies, bone tracking, and other methods. These same methods may also be used to generate the virtual models described above.
[0074] In addition to the virtual model corresponding to the patient's target anatomical structure, prior to a surgical procedure, the navigation controller 22 can receive and store virtual models for other tracked landmarks, such as surgical instruments and other landmarks (e.g., the surgeon's hands and / or fingers) potentially present within the surgical workspace. The navigation controller 22 can also receive and store a virtual model of each tracker 38 disposed within the surgical workspace, and a positional relationship between each tracker 38 and the landmark to which the tracker 38 is attached. For example, each positional relationship between a tracker 38 and the landmark to which the tracker 38 is attached may be represented within the navigation controller 22 by a relationship model that couples the virtual model of the tracker 38 and the virtual model of the landmark in a common three-dimensional coordinate system. In this manner, in response to identifying a pose of the tracker 38 within the surgical workspace, the navigation controller 22 can reference the relationship model of the tracker 38 to determine the pose of the landmark to which the tracker 38 is attached within the surgical workspace.
[0075] In some examples, the positional relationship between each tracker 38 and the target to which the tracker 38 is affixed can be manually indicated via the user interface 26. Alternatively, the positional relationship between each tracker 38 and the target to which the tracker 38 is affixed can be determined by tracking the target with a pointer instrument having its own fixed tracker 38 that is tracked by the navigation system 12 during tracking, which also simultaneously tracks the tracker 38 affixed to the target to correlate the pose of the tracked target to the pose of the affixed tracker 38.
[0076] The navigation controller 22 can also receive and store surgical planning data prior to a procedure. The surgical planning data can identify the patient's anatomical structures involved in the surgical procedure, can identify the instruments being used in the surgical procedure, and can define the planned trajectories of the instruments and the planned movement of the patient's tissues during the surgical procedure.
[0077] During a surgical procedure, the optical sensor 36 of the localizer camera 18 can detect optical signals, such as non-visible optical signals (e.g., infrared or ultraviolet) emitted by the tracker 38, and can output optically-based signals indicative of the image plane location of the image where the optical sensor 36 detects the optical signal. The localizer camera 18 can be configured to integrate these signals into image data that is then communicated to the navigation controller 22. The navigation controller 22 can be configured to generate target pose data indicative of the location of the target to which the tracker 38 is affixed, in a common coordinate system, such as a coordinate system specific to the localizer camera 18, based on the image data and a predetermined positional relationship between the tracker 38 and the target.
[0078] The surgical instrument 16 can form part of an end effector of the robotic manipulator 14. The robotic manipulator 14 can include a base 40, a number of links 42 extending from the base 40, and a number of active joints 44 for moving the surgical instrument 16 relative to the base 40. The links 42 can form a series arm structure as shown in FIG. 1, a parallel arm structure, or other suitable structure. The robotic manipulator 14 can include the ability to operate in a manual mode in which a user grasps the end effector of the robotic manipulator 14 and causes the movement of the surgical instrument 16 (e.g., directly or via measurements of force / torque sensors that cause active actuation of the robotic manipulator 14). The robotic manipulator 14 can also include a semi-autonomous mode in which the surgical instrument 16 is moved along a predefined tool path by the robotic manipulator 14 (e.g., the active joints 44 of the robotic manipulator 14 are manipulated to move the surgical instrument 16 without requiring force / torque on the end effector from the user). An example of operation in a semi-autonomous mode is also described in U.S. Patent No. 9,119,655 to Bowling, et al., which is incorporated herein by reference. A separate tracker 38 can also be attached to the base 40 of the robotic manipulator 14 for tracking the movement of the base 40 by the localizer camera 18.
[0079] Similar to the surgical navigation system 12, the robotic manipulator 14 can include a manipulator controller 46 that includes a processor 48 programmed to implement the functions, features, and processes of the robotic manipulator 14, or more specifically, the manipulator controller 46 described herein. For example, the processor 48 can be programmed to control the movement and translation of the surgical instrument 16, such as through movement of the link 42, in the direction of the surgical navigation system 12.
[0080] During a surgical procedure, the manipulator controller 46 can be configured to determine a desired location to which the surgical instrument 16 should be moved, such as based on navigation data received from the navigation controller 22. Based on this determination and information regarding the current position of the surgical instrument 16, the manipulator controller 46 can be configured to determine an extent to which the links 42 need to be moved to reposition the surgical instrument 16 from its current position to a desired position. Data indicating where the links 42 should be repositioned can be transferred to joint motor controllers (e.g., for controlling the respective motors) that control the active joints 44 of the robotic manipulator 14. In response to receiving such data, the joint motor controllers can be configured to move the links 42 in accordance with the data, thereby moving the surgical instrument 16 to the desired position.
[0081] 2, the localizer camera 18 may include a localizer controller 52 that is communicatively coupled to the optical sensor 36 and to the navigation controller 22. During a surgical procedure, the localizer controller 52 may be configured to operate the optical sensor 36 to cause the optical sensor 36 to generate optically-based signals indicative of detected optical signals received from the tracker 38, or, more specifically, indicative of the image plane positions of the optical sensor 36 where such optical signals are detected.
[0082] The trackers 38 may each include a predefined geometry of markers 54 that direct an optical signal toward the optical sensor 36. In some implementations, the trackers 38 may be active trackers 38 having at least three active markers 54, each of which receives electrical current from a power source to generate an optical signal to emit toward the optical sensor 36. In this case, the trackers 38 may each be powered by an internal battery or may have leads to receive power through the navigation controller 22. For example, the active markers 54 may be light emitting diodes (LEDs) that transmit light, such as non-visible light (e.g., infrared or ultraviolet light), toward the optical sensor 36.
[0083] Each active tracker 38 may also include a tracker controller 56 communicatively coupled to the active markers 54 and to the navigation controller 22. The tracker controller 56 may be configured to control the rate and sequence in which the active markers 54 fire, such as in the direction of the navigation controller 22. For example, the tracker controller 56 of a tracker 38 may cause the active markers 54 of each tracker 38 to fire at different rates and / or times to facilitate differentiation of the trackers 38 and / or markers 54 by the navigation controller 22. In some examples, the navigation controller 22 may form a two-way infrared communication channel with each tracker controller 56 to control the timing of the firing of the active markers 54, write / read non-volatile data, and obtain the status of the active tracker 38 or the object to which the active tracker 38 is affixed (e.g., battery level, broken LED).
[0084] The sampling rate of the optical sensor 36 is the rate at which the optical sensor 36 detects optical signals from successively emitted markers 54. The optical sensor 36 may have a sampling rate of 100 Hz or greater, or more preferably 300 Hz or greater, or most preferably 500 Hz or greater. In one example, the optical sensor 36 may have a sampling rate of 8000 Hz.
[0085] Rather than being active, the tracker 38 may be a passive tracker 38 that includes a passive marker 54, such as a reflector that reflects light emitted from the localizer camera 18. Specifically, the localizer camera 18 may include a light source 58 that illuminates the tracker 38 with light, such as non-visible light (e.g., infrared or ultraviolet). The marker 54 may be configured to reflect light back toward the localizer camera 18 that can then be detected by the optical sensor 36. In some examples, the surgical workspace may include a combination of active and passive trackers 38 to track various objects within the surgical workspace.
[0086] In response to the optical sensor 36 receiving the optical signal from the tracker 38, the optical sensor 36 can output an optical-based signal to the localizer controller 52 indicative of the orientation of the tracker 38 relative to the localizer camera 18, and correspondingly, the orientation of the target object affixed to the tracker 38 relative to the localizer camera 18. In particular, each optical sensor 36 can include a one- or two-dimensional sensor area (also referred to as an "image plane") that detects the optical signals from the tracker 38 and, in response, outputs an optical-based signal indicative of the pixel coordinates within the sensor area at which each optical signal was detected. Thus, the optical-based signal output from each optical sensor 36 can represent an image of the tracker 38 generated by the optical sensor 36 from the detected optical signals, the image including blobs within pixel coordinates corresponding to the locations within the image plane of the optical sensor 36 at which the optical signals were detected. The detected location of each optical signal can be based on the angle at which the optical signal was received by the optical sensor 36, and thus can correspond to the location of the marker 54 within the surgical workspace that emitted the detected optical signal toward the optical sensor 36.
[0087] The optical sensors 36 can communicate the optical-based signals to the localizer controller 52, which can in turn generate image data for each optical sensor 36 based on the optical-based signals received from the optical sensors 36 and indicate such image data to the navigation controller 22. The image data for the optical sensors 36 can be indicative of an image and / or an image plane position represented by the optical-based signals received from the optical sensors 36. The navigation controller 22 can then generate tracker attitude data indicative of the attitude of the tracker 38 relative to the localizer camera 18 based on the received image data. More specifically, the navigation controller 22 can determine the position of the tracker 38 in the coordinate system of the localizer camera 18 based on the image data. For example, the navigation controller 22 can be configured to correlate blobs corresponding to the same marker 54 in image data generated simultaneously for each optical sensor 36, triangulate the positions of the marker 54 relative to the localizer camera 18 based on the positions of the correlated blobs in the image data and a predetermined positional relationship between the optical sensors 36, and assign the triangulated positions to a predefined geometry of the marker 54 of each tracker 38 to determine the pose of each tracker 38 relative to the localizer camera 18.
[0088] The navigation controller 22 can then generate target attitude data based on the tracker attitude data, the target attitude data indicating the attitude of the target affixed to the tracker 38 relative to the localizer camera 18. Specifically, the navigation controller 22 can retrieve stored positional relationships between the tracker 38 and the target to which the tracker 38 is affixed, and can apply these positional relationships to the tracker attitude data to determine the attitude of the target fixed to the tracker 38 relative to the localizer camera 18. Alternatively, the localizer controller 52 can be configured to determine the tracker attitude data and / or the target attitude data based on the optical-based signals generated by the optical sensor 36, and transmit the tracker attitude data and / or the target attitude data to the navigation controller 22 for further processing.
[0089] As mentioned above, the navigation controller 22 may include a processor 24 that is programmed to execute the functions, features, and processes of the navigation controller 22 described herein. The navigation controller 22 may also include a memory 60 and a non-volatile storage device 62, each operatively coupled to the processor 24.
[0090] The processor 24 may include one or more devices selected from a microprocessor, a microcontroller, a digital signal processor, a microcomputer, a central processing unit, a field programmable gate array, a programmable logic device, a state machine, a logic circuit, an analog circuit, a digital circuit, or any other device that manipulates signals (analog or digital) based on operational instructions stored in memory 60. The memory 60 may include a single memory device or multiple memory devices, including, but not limited to, a read only memory (ROM), a random access memory (RAM), a volatile memory, a non-volatile memory, a static random access memory (SRAM), a dynamic random access memory (DRAM), a flash memory, a cache memory, or any other device capable of storing information. The non-volatile storage device 62 may include one or more persistent data storage devices, such as a hard drive, an optical drive, a tape drive, a non-volatile solid state device, or any other device capable of persistently storing information.
[0091] The non-volatile storage 62 can store software 64, which may include one or more applications and / or modules, such as, for example, a localization engine 66, a surgical navigator 68, and an optimizer 70. Each application or module can be embodied by a separate set of computer-executable instructions compiled or interpreted from a variety of programming languages and / or technologies, including, but not limited to, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl, and PL / SQL, either alone or in combination. The processor 24 can operate under the control of the software 64 stored in the non-volatile storage 62. In particular, the processor 24 can be configured to execute computer-executable instructions that are loaded into the memory 60 and that embody the software 64. When executed by the processor 24, the computer-executable instructions can be configured to cause the processor 24 to implement the configured functions, features, and processes of the navigation controller 22 described herein.
[0092] The non-volatile storage 62 of the navigation controller 22 may also store data 74 that facilitates operation of the navigation controller 22. In particular, the software 64 of the navigation controller 22, when executed, may be configured to access the data 74 to facilitate implementation of the functions, features, and processes of the navigation controller 22 described herein. For example, the data 74 stored in the non-volatile storage 62 may include model data 76, surgical planning data 78, and best fit blob data 80.
[0093] The model data 76 may include virtual models of anatomical structures important to the surgical procedure, including virtual models of potential obstacles such as the surgeon's hands or fingers, as described above, and virtual models of surgical instruments used in the surgical procedure. The model data 76 may also include a virtual model of each tracker 38 indicating the predetermined geometry of the markers 54 of the trackers 38 and the positional relationship between each tracker 38 and the target object to which the tracker 38 is affixed. The model data 76 may also indicate configuration parameters of the localizer camera 18, such as the position of the optical sensor 36 in a coordinate system specific to the localizer camera 18, to enable triangulation of the position of the markers 54 within the coordinate system specific to the localizer camera 18 based on image data generated by the localizer camera 18.
[0094] The surgical planning data 78 may identify the patient's anatomical structures and target volumes involved in the surgical procedure, may identify the instruments being used in the surgical procedure, and may define the planned trajectories of the instruments and the planned movements of the patient tissue during the surgical procedure. The optimal blob data 80 may indicate optimal characteristics of a blob generated by the localizer camera 18 from the optical signals received from the markers 54 of the tracker 38 to optimize the received optical signals and improve tracking accuracy.
[0095] Referring again to the software 64 executable by the processor 24 of the navigation controller 22, the localization engine 66 can be configured to generate tracker pose data indicative of the pose of the tracker 38 relative to the localizer camera 18, such as based on image data received from the localizer camera 18. The localization engine 66 can also be configured to convert the pose of the tracker 38 relative to the localizer camera 18 to a pose of a target attached to the tracker 38 relative to the localizer camera 18, such as based on the tracker pose data and positional relationships indicated in the model data 76.
[0096] The surgical navigator 68 can be configured to provide surgical guidance based on the object pose data and the surgical planning data 78. For example, the surgical navigator 68 can be configured to display the relative poses of the tracked objects on the navigation displays 28, 30, and to issue control commands to the robotic manipulator 14 to move the surgical instrument 16 while avoiding undesired contact with other tracked objects.
[0097] The optimizer 70 can be configured to optimize tracking of targets within the surgical workspace, for example, by adjusting optical signals transmitted by the markers 54 of the tracker 38 to the localizer camera 18 based on a comparison of image data generated by the localizer camera 18 to the optimal blob data 80. Examples of such optimization are described in more detail below.
[0098] Each of the manipulator controller 46 and the localizer controller 52 may also include a processor, memory, and non-volatile storage containing data and software configured, when executed by the processor, to implement the functions, features, and processes of the controller described herein.
[0099] 3 illustrates a method 100 for optimizing tracking of a target within a surgical workspace by adjusting an optical signal emitted from a tracker 38 to improve tracking accuracy. Method 100 can be utilized when an active tracker 38 including an active marker 54 is present within the surgical workspace. Method 100 can be facilitated by surgical navigation system 12, such as during execution of software 64, or, more particularly, by navigation controller 22.
[0100] At block 102, the trackers 38 can be positioned relative to landmarks within the surgical workspace that are desired to be tracked. In particular, a tracker 38 can be affixed to each landmark, with each tracker 38 including an active marker 54 of a predefined geometry. The positional relationship between each tracker 38, or more specifically the marker 54 of each tracker 38, and the landmark to which the tracker 38 is affixed, can be stored as model data 76 in the non-volatile storage 62 of the navigation controller 22.
[0101] At block 104, image data can be generated by the localizer camera 18, such as in the direction of the navigation controller 22. In particular, the navigation controller 22 can communicate control signals to the tracker controller 56 of the tracker 38 that instruct the tracker controller 56 to emit light signals, such as non-visible light signals, from the active markers 54. Concurrently, the navigation controller 22 can communicate control signals to the localizer controller 52 that instruct the localizer controller 52 to operate the optical sensors 36 to detect the light signals emitted from the active markers 54. Each of the optical sensors 36 can responsively generate an optical-based signal indicative of a blob for each active marker 54, the blob having pixel coordinates corresponding to a location in the image plane of the optical sensor 36 at which the light signal was received from the active marker 54. The localizer controller 52 can receive the optical-based signals from the optical sensors 36 and communicate image data corresponding to the optical-based signals to the navigation controller 22, as described above.
[0102] FIG. 4 illustrates image data 120 that may be generated for the two-dimensional optical sensor 36 of the localizer camera 18 from optical signals emitted by the active markers 54 of the exemplary tracker 38 shown in FIG. 5. As shown in the illustrated example, the image data 120 may show a two-dimensional image 122 that includes blobs 124. Each of the blobs 124 may be generated from optical signals emitted from a different one of the active markers 54 of the tracker 38 shown in FIG. 5, and the pixel coordinates of each blob 124 in the image 122 correspond to the location on the image plane of the optical sensor 36 where the optical signal corresponding to the blob 124 was detected. For example, the blob 124 may be generated from optical signals emitted from active marker 54A, the blob 124B may be generated from optical signals emitted from active marker 54B, and so on.
[0103] 3, at block 106, each blob 124 of image data generated by localizer camera 18 may be assigned, such as by navigation controller 22 during execution of localization engine 66, to an active marker 54 of tracker 38 that corresponds to blob 124. For example, tracker controller 56 of tracker 38 may be configured to emit active markers 54 at different times and / or speeds, such as in the direction of navigation controller 22, and localizer camera 18 may be configured to generate different image data for each emitted active marker 54. Thus, navigation controller 22 may correlate the blob 124 of each instance of received image data to the active marker 54 that was emitted when the image data was generated.
[0104] As a further example, for example, if the active markers 54 are fired simultaneously, the navigation controller 22 can be configured to correlate blobs 124 corresponding to the same marker 54 in the simultaneously generated image data for the optical sensors 36, such as by applying an epipolar geometry to the image data, based on a positional relationship between the optical sensors 36 that may be predetermined and stored as model data 76 in the non-volatile storage 62 of the navigation controller 22. The navigation controller 22 can then be configured to triangulate the three-dimensional position of each group of blobs 124 relative to each other relative to the localizer camera 18. The navigation controller 22 can then be configured to apply model data 76, indicating a predetermined geometry of the markers 54 of each tracker 38, to the triangulated positions to identify triangulated positions corresponding to each marker 54 of the trackers 38 and assign the blobs accordingly.
[0105] For example, assuming a tracker 38 having markers 54 of six predefined geometries is present within the surgical workspace, the navigation controller 22 can be configured to identify each possible combination of six triangulated positions. For each possible combination, the navigation controller 22 can then be configured to determine whether the geometry formed by the triangulated positions of the combination matches the predefined geometry of the markers 54 of the tracker 38. If there is a match, then the navigation controller 22 can be configured to assign each blob used to generate the triangulated position of the combination to the marker 54 of the tracker 38 that generated the blob, such as by matching a relationship between the triangulated position corresponding to the blob and the other triangulated positions of the combination to one of the markers 54 of the predefined geometries.
[0106] In response to assigning a blob to the marker 54 of the tracker 38 that generated the blob, as described above, the navigation controller 22 can be configured to determine the pose of the target object to which the tracker 38 is attached, relative to the localizer camera 18. In particular, if not already calculated, the navigation controller 22 can be configured to triangulate the position of each marker 54 of the tracker 38 relative to the localizer camera 18 based on the positions of the blobs assigned to the markers 54 in the image data and a predefined positional relationship between the optical sensors 36. The positions of the markers 54 relative to the localizer camera 18 indicate the pose of the tracker 38 relative to the localizer camera 18, and the navigation controller 22 can then be configured to determine the pose of the target object to which the tracker 38 is attached, relative to the localizer camera 18, based on the triangulated positions of the markers 54 and the predefined positional relationship between the tracker 38 and the target, as described above.
[0107] The following blocks of the method 100 may involve optimizing the optical signals emitted from the active markers 54 to improve tracking accuracy. In particular, emitting a suboptimal optical signal from the active markers 54 may result in the optical sensors 36 generating suboptimal blobs, which may in turn lead to suboptimal or inaccurate tracking. For example, if the intensity of the optical signal emitted from the active markers 54 is too low for the current lighting conditions and the current distance between the active markers 54 and the localizer cameras 18, then the localizer cameras 18 may not be able to properly detect the optical signal for the purpose of tracking the active markers 54. Alternatively, if the intensity of the optical signal emitted from the active markers 54 is too high, then the optical signal may oversaturate one or more pixels in the image plane of each optical sensor 36, which may cause undesirable artifacts in the image data that affect the ability of the navigation controller 22 to accurately track the active markers 54.
[0108] As an example, FIG. 6 illustrates exemplary image data 132 that may be generated by the optical sensor 36 from an optical signal emitted from an active marker 54 that causes oversaturation of one or more pixels of the optical sensor 36. As shown in the illustrated example, the image data 132 may include undesirable artifacts caused by the oversaturation, such as blooming artifacts 134 and smearing artifacts 136. Such artifacts may cause the navigation controller 22 to inaccurately calculate the three-dimensional position of the active marker 54 relative to the localizer camera 18, which in turn may lead to inaccurate tracking of the target object to which the active marker 54 corresponds. Conversely, FIG. 7 illustrates exemplary image data 138 that may be generated by the optical sensor 36 from an optimal optical signal emitted from the active marker 54. As shown in the illustrated example, the image data 138 may show a blob 124N generated from an optical signal that is circular and uniform in intensity.
[0109] 3, at block 108, one of the blobs 124 of the image data may be selected, and at block 110, one or more characteristics of the selected blob 124 may be obtained. For example, the navigation controller 22 may identify an intensity characteristic, a size characteristic, and / or a shape characteristic of the selected blob 124, such as via the optimizer 70. The intensity characteristic may correspond to a magnitude of an optical signal received by the optical sensor 36 corresponding to the selected blob 124, and may be determined as a maximum pixel intensity of the blob 124, an average pixel intensity of the blob 124, or a first moment of the blob 124. The size characteristic may correspond to an area of the blob 124, and may be determined by counting the number of pixels that form the blob 124. The shape characteristic of the selected blob 124 may correspond to a perimeter of the selected blob 124, and may be determined using an edge detection algorithm.
[0110] At block 112, the acquired characteristics may be compared to corresponding optimal characteristics, and at block 114, a determination may be made based on the comparison whether the blob is optimal. More specifically, the non-volatile storage 62 of the navigation controller 22 may store optimal blob data 80 indicative of one or more optimal blob characteristics. The optimal blob characteristics indicated by the optimal blob data 80 may correspond to characteristics of the blob that enable the surgical navigation system 12 to accurately locate the marker 54 that generated the blob, and therefore may be compared to the acquired characteristics to determine whether the blob is optimal for navigation purposes. For example, the optimal blob data 80 may indicate an optimal intensity characteristic for comparison with the acquired intensity characteristic, an optimal size characteristic for comparison with the acquired size characteristic, and / or an optimal shape characteristic for comparison with the acquired shape characteristic.
[0111] Each optimal blob characteristic may indicate an optimal value or range of optimal values at which the corresponding acquired blob characteristic may be considered optimal. For example and without limitation, an optimal intensity characteristic may indicate a single intensity value that is greater than or equal to 75% and less than or equal to 95% of the full intensity value of a pixel of the optical sensor 36, such as 80%, 85%, or 90%. The full intensity value of a pixel of the optical sensor 36 may correspond to the maximum light intensity that a given pixel can accommodate before becoming oversaturated. If the acquired intensity characteristic is greater than or less than the indicated optimal intensity value, the acquired intensity characteristic may not be considered optimal.
[0112] Alternatively, the optimal intensity characteristic may indicate a range of optimal values defined by a low intensity threshold, such as 75% of the full intensity value of a pixel of the optical sensor 36, and a high intensity threshold, such as 95% of the full intensity value of a pixel of the optical sensor 36. In this case, the acquired intensity characteristic may be considered optimal if it is greater than or equal to the lower intensity threshold and less than or equal to the higher intensity threshold. As alternative non-limiting examples, the optimal intensity characteristic may indicate a range of 60%-95%, 80%-95%, or 85%-95% of the full intensity value of a pixel of the optical sensor 36. The optimal size characteristic may similarly indicate an area value or range of area values for which the acquired characteristic may be considered optimal.
[0113] The optimal shape characteristic may indicate an optimal shape (e.g., circular) having an optimal area, and may indicate an optimal ratio value (e.g., 1) or a range of optimal ratio values defined by a lower ratio threshold (e.g., 0.8) and a higher ratio threshold (e.g., 1.2). To compare the acquired shape characteristic of a given blob to the optimal shape characteristic, the navigation controller 22 may be configured to align the shape of the acquired blob with the optimal shape of the optimal shape characteristic and calculate a ratio of the area of the acquired shape that extends outside the optimal shape to the area of the optimal shape that extends outside the acquired shape. This calculated ratio may be considered to at least partially define the acquired shape characteristic of the given blob. If the optimal shape characteristic indicates a single optimal ratio value, then the acquired shape characteristic may be considered optimal if the calculated ratio is equal to the optimal ratio value. Alternatively, if the optimal shape characteristic indicates a range of optimal ratio values, then the acquired shape characteristic may be considered optimal if the calculated ratio is greater than or equal to the low ratio threshold and less than or equal to the high ratio threshold.
[0114] In response to determining that the obtained blob characteristics are not optimal (the “No” branch of block 114), at block 116, the optical signal emitted from the active marker 54 corresponding to the blob 124 may be adjusted for future tracking of the marker 54, such as to cause the active marker 54 to emit an optical signal that leads to the generation of an optimal or near-optimal blob characteristic for future tracking. More specifically, the intensity and / or duration of the optical signal emitted from the active marker 54 may be adjusted. For example, the navigation controller 22 may be configured to communicate a control signal to the tracker controller 56 for the active marker 54, such as via the optimizer 70, that causes the tracker controller 56 to adjust the intensity and / or duration of the optical signal emitted from the active marker 54 for future tracking of the marker 54. More specifically, if the obtained blob characteristics are greater than one or more optimal values defined by the corresponding optimal blob characteristics, then the navigation controller 22 can be configured to communicate a control signal to the tracker controller 56 that causes the tracker controller 56 to reduce the intensity and / or duration of the optical signal emitted from the active marker 54. Alternatively, if the obtained blob characteristics are less than one or more optimal values defined by the corresponding optimal blob characteristics, then the navigation controller 22 can be configured to communicate a control signal to the tracker controller 56 that causes the tracker controller 56 to increase the intensity and / or duration of the optical signal emitted from the active marker 54.
[0115] The strength of the optical signal emitted from the active marker 54 may be proportional to the magnitude of the current applied to the active marker 54. Thus, if the strength of the optical signal emitted from the active marker 54 should be increased, then a control signal communicated to the tracker controller 56 can cause the tracker controller 56 to increase the current applied to the active marker 54 in future tracking iterations. Conversely, if the strength of the optical signal emitted from the active marker 54 should be decreased, then a control signal communicated to the tracker controller 56 can cause the tracker controller 56 to decrease the current applied to the active marker 54 in future tracking iterations. The duration of the optical signal emitted from the active marker 54 may be proportional to the duration that the current is applied to the active marker 54, which can be adjusted to produce shorter or longer durations as well.
[0116] The extent to which the intensity and / or duration of the emitted light signal is increased or decreased may be proportional to the difference between the acquired characteristic and the optimal characteristic. Additionally or alternatively, the navigation controller 22 may be configured to implement a PID loop and / or stored look-up table to determine the extent to which the intensity and / or duration of the emitted light signal is increased or decreased to optimize the acquired blob characteristic.
[0117] In some examples, the navigation controller 22 can be configured to optimize a particular type of acquired blob characteristic over other types. For example, for a given blob 124, the navigation controller 22 can be configured to first optimize the acquired intensity characteristic of the blob 124. In response to the acquired intensity characteristic being optimized, the navigation controller 22 can then be configured to optimize the acquired size characteristic. In response to the acquired size characteristic being optimized, the navigation controller 22 can then be configured to optimize the acquired shape characteristic. Thus, during each tracking and optimization iteration, the navigation controller 22 can be configured to acquire and check whether the highest priority blob characteristic type is optimal. If not, then the navigation controller 22 can be configured to adjust the light signal emitted from the corresponding active marker 54 to optimize the blob characteristic type for future iterations, as described above. If the highest priority blob characteristic type is determined to be optimal, then the navigation controller 22 can be configured to acquire and check whether the next highest priority blob characteristic type is optimal, and so on.
[0118] In response to determining that the acquired blob characteristics are optimal ("Yes" branch of block 114) or adjusting the optical signal emitted from the corresponding active marker 54 in block 116, a determination may be made in block 118 as to whether the image data includes additional blobs 124 that have not yet been matched to the optimal blob characteristics. If so ("Yes" branch of block 118), then the method 100 may return to block 108 to select the additional blobs 124 and repeat blocks 110 through 116, as appropriate. If not ("No" branch of block 118), then the method 100 may return to block 104 to generate further image data of the tracker 38 within the surgical workspace, and so forth. Thus, the optical signal emitted from a given marker 54 may change over time and may be adjusted multiple times throughout a given surgical procedure.
[0119] In some examples, the navigation controller 22 can be configured to jointly optimize blobs 124 in the image data that correspond to the same active marker 54, rather than optimizing each blob 124 separately. As described above, the image data generated by the localizer camera 18 can include image data for each optical sensor 36, with each instance of the image data indicating that a blob for each active marker 54 in the surgical workspace emits an optical signal when the image data is captured. For each set of blobs in the image data that correspond to the same active marker 54, which may be determined as described above, the navigation controller 22 can be configured to acquire at least one characteristic of each blob. The navigation controller 22 can then be configured to combine acquired characteristics of the same type (e.g., intensity, size, shape) to form a combined blob characteristic of the type for the set of blobs, such as by averaging values indicated by the acquired characteristics of the type. For example, the navigation controller 22 may be configured to determine a combined blob intensity characteristic of the set of corresponding blobs 124 by averaging intensity values of the acquired intensity characteristics of the corresponding blobs 124, to determine a combined blob size characteristic of the set of corresponding blobs 124 by averaging areas indicated by the acquired size characteristics of the corresponding blobs 124, and to determine a combined blob shape characteristic of the set of corresponding blobs 124 by averaging ratios indicated by the acquired shape characteristics of the corresponding blobs 124.
[0120] The navigation controller 22 can then be configured to compare each combined blob characteristic to a corresponding optimal blob characteristic to determine whether the combined blob characteristic is not optimal. If not, then the navigation controller 22 can be configured to communicate a control signal to the tracker 38 that includes the active marker 54 that corresponds to the combined blob characteristic, causing the tracker 38 to adjust the light signal emitted from the active marker 54, as described above.
[0121] To this end, the navigation controller 22 can also be configured to prioritize optimizing a particular type of combined blob characteristic, as described above. For example, for a set of blobs 124 corresponding to the same active marker 54, the navigation controller 22 can be configured to first determine the combined blob characteristic of the type (e.g., blob intensity) that is the highest priority and compare the combined blob characteristic to the corresponding optimal characteristic to determine whether the combined blob characteristic is not the best. In response to determining that the highest priority combined blob characteristic is not the best based on the comparison, the navigation controller 22 can be configured to communicate a control signal to the tracker 38 that causes the tracker 38 to adjust the light signal emitted from the active marker 54 that corresponds to the combined blob characteristic, as described above.
[0122] Conversely, in response to determining that the combined blob characteristic is best based on the comparison, the navigation controller 22 can be configured to obtain a characteristic of each blob in the set that is of the next highest priority type (e.g., size, shape), combine these obtained characteristics to form a further combined blob characteristic of the next highest priority type, and compare the further combined blob characteristic to the optimal characteristic corresponding to the next highest priority type to determine whether the further combined blob characteristic is not best based on the comparison. In response to determining that the further combined blob characteristic is not best based on the comparison, the navigation controller 22 can be configured to communicate a control signal to the tracker 38 that causes the tracker 38 to adjust an optical signal emitted from an active marker 54 that corresponds to the corresponding blob 124, as described above.
[0123] In some alternative examples, the navigation controller 22 can be configured to optimize the light signal emitted from each active marker 54 based on blob characteristics obtained from only one of the blobs 124 corresponding to the active marker 54, such as the blobs 124 shown in image data generated by a designated one of the optical sensors 36.
[0124] In some examples, different trackers 38 may be optimized for different optimal blob characteristics. To this end, optimal blob data 80 may indicate different sets of one or more optimal blob characteristics for the different trackers 38. For example, optimal blob data 80 may indicate optimal intensity characteristics of 90% of the full intensity value of a pixel of the optical sensor 36 for one tracker 38, optimal intensity characteristics of 80% of the full intensity value of a pixel of the optical sensor 36 for another tracker 38, and so on.
[0125] Under this configuration, in response to receiving image data indicating blobs 124 corresponding to the active markers 54 of one or more trackers 38, the navigation controller 22 can be configured to assign the blob 124 to the active marker 54 of each tracker 38 based on one or more optimal characteristics specific to the tracker 38. More specifically, to determine whether a blob 124 corresponds to a given tracker 38, the navigation controller 22 can be configured to determine a difference between the obtained characteristics of the blob 124 and the corresponding optimal characteristic specific to the tracker 38 and determine whether the difference is less than a threshold value (e.g., 5% of the corresponding optimal characteristic). If so, then the navigation controller 22 can be configured to determine that the blob 124 corresponds to the tracker 38 and assign the blob 124 to the active marker 54 of the tracker 38 that corresponds to the blob 124, such as based on a predefined geometry of the marker 54 of the tracker 38 as described above.
[0126] In some examples, such as when multiple types of characteristics are obtained for each blob 124, the navigation controller 22 can be configured to determine whether the blob 124 corresponds to a given tracker 38 by determining whether each difference between the obtained characteristics of the blob 124 and the corresponding optimal characteristics specific to the tracker 38 is less than a threshold value (e.g., 5% of the corresponding optimal characteristic) determined based on the corresponding optimal characteristic. Alternatively, the navigation controller 22 can be configured to determine the average or sum of squared differences between the obtained characteristics of the blob 124 and the corresponding optimal characteristics specific to the tracker 38 and determine whether such value is less than the threshold value. If so, then the navigation controller 22 can be configured to determine that the blob 124 corresponds to the tracker 38 and assign the blob 124 to the active marker 54 of the tracker 38 corresponding to the blob 124, as described above.
[0127] In some examples, the navigation controller 22 may be configured to determine one or more combined blob characteristics for a given set of blobs 124 identified as corresponding to the same active marker 54, as described above, and compare the combined blob characteristics to the corresponding optimal characteristics described in the paragraph above to determine whether the set of blobs 124 corresponds to a given tracker 38. If so, then the navigation controller 22 may be configured to determine that the set of blobs 124 corresponds to the tracker 38, and assign the set of blobs 124 to the active markers 54 of the tracker 38 that correspond to the blobs 124, such as based on a predefined geometry of the markers 54 of the tracker 38, as described above.
[0128] When the trackers 38 are optimized for different optimal characteristics, multiple trackers 38 having substantially identical predefined geometries of their markers 54 may be present within the surgical workspace. In other words, assuming the same pose and the same illumination characteristics within the surgical workspace, the predefined geometries of the markers 54 of these trackers 38 may be indistinguishable by the navigation controller 22. Thus, optimizing such trackers 38 for varying optimal characteristics allows the navigation system 12 to distinguish between such trackers 38.
[0129] In response to determining the blob 124 that corresponds to the active marker 54 of a given tracker 38 based on the optimal characteristics specific to the tracker 38, the navigation controller 22 can be configured to track the pose of the tracker 38 and optimize the light signals emitted from the active markers 54 of the tracker 38 based on the optimal characteristics specific to the tracker 38, as described above.
[0130] In some examples, the navigation controller 22 can also or alternatively be configured to optimize the optical signals emitted from the active markers 54 of the tracker 38 based on the determined positions of the active markers 54 within the surgical workspace. More specifically, the navigation controller 22 can be configured to determine the position of each active marker 54 within the surgical workspace based on the image data, as described above. Based on the determined positions and / or optimal characteristics of the active markers 54 within the surgical workspace, the navigation controller 22 can be configured to communicate at least one control signal to the tracker 38 that causes the tracker 38 to adjust the optical signals emitted from at least one of the active markers 54.
[0131] For example, for each active marker 54 of a given tracker 38, the navigation controller 22 can be configured to compare one or more obtained characteristics of the blob 124 corresponding to the active marker 54 to matching optimal characteristics to determine whether the blob 124 is suboptimal, as described above. In response to determining that the blob 124 corresponding to the active marker 54 is suboptimal, the navigation controller 22 can be configured to communicate a control signal to the tracker 38 that causes the tracker 38 to adjust an optical signal emitted from the active marker 54 based on the determined position of the active marker 54.
[0132] More specifically, the navigation controller 22 can be configured to compare a currently determined position of a given active marker 54 to a previously determined position of the active marker 54 within the surgical workspace to determine whether the distance between the active marker 54 and the localizer camera 18 has changed, and if so, adjust the light signal emitted from the active marker 54. For example, the navigation controller 22 can be configured to determine whether the change in distance indicates an increase or decrease in distance between the active marker 54 and the localizer camera 18. If the change in distance indicates an increase, then the navigation controller 22 can be configured to communicate a control signal to the tracker 38 that causes the tracker 38 to increase the intensity and / or duration of the light signal emitted from the active marker 54, and if the distance has decreased, then the navigation controller 22 can be configured to communicate a control signal to the tracker that causes the tracker 38 to decrease the intensity and / or duration of the light signal emitted from the active marker 54. The extent to which the intensity and / or duration of the emitted light signal is increased or decreased may be proportional to the change in distance. Additionally or alternatively, the navigation controller 22 may be configured to implement a PID loop and / or stored look-up tables to determine the extent to which to increase or decrease the intensity and / or duration of the emitted light signal based on changes in distance.
[0133] The navigation controller 22 may also or alternatively be configured to adjust the light signal emitted from at least one of the active markers 54 within the surgical workspace based on a comparison of the obtained characteristics of the blob 124 corresponding to the active marker 54 to an optimal characteristic by being configured to reposition at least one of the active markers 54 based on the comparison. More particularly, with reference to FIGS. 9A and 9B , each tracker 38 may include at least one actuator 92 for repositioning the active marker 54 of the tracker 38. For example, as shown in the illustrated example, each marker 54 of a given tracker 38 may include a dedicated actuator 92 secured to the marker 54 configured to rotate the marker 54 relative to a body 94 of the tracker 38 to aim the active marker 54. As the marker 54 is aimed further toward the localizer camera 18, more light signals emitted from the active marker 54 can be detected by the localizer camera 18, and as the marker 54 is aimed farther away from the localizer camera 18, less light signals emitted from the active marker 54 can be detected by the localizer camera 18.
[0134] Each actuator 92 for a given tracker 38 is communicatively coupled to, and can be operated by, the tracker controller 56 of the tracker 38. Thus, the navigation controller 22 can be configured to reposition the active marker 54 of the tracker 38 by communicating control signals to the tracker controller 56 of the tracker 38, which in turn can change the orientation of the marker 54 relative to the localizer camera 18 by operating the actuators 92 affixed to the active marker 54. For example, Figures 9A and 9B show an example in which the navigation controller 22 changes the illustrated active marker 54 from pointing in the direction represented by arrow 96A to pointing in the direction represented by arrow 96B.
[0135] Thus, for each blob 124 in the received image data corresponding to a given tracker 38, the navigation controller 22 can be configured to compare one or more obtained characteristics of the blob 124 to a corresponding optimal characteristic to determine whether the blob 124 is suboptimal, as described above. In response to determining that the blob 124 is suboptimal based on the comparison, the navigation controller 22 can be configured to communicate a control signal to the tracker 38 that causes the tracker 38 to reposition the active marker 54 corresponding to the blob 124 for further iterations of the active marker 54.
[0136] As an example, assuming that the acquired characteristic of each blob 124 indicates an acquired value and the corresponding optimal characteristic indicates at least one optimal value, for each blob 124, the navigation controller 22 may be configured to compare the acquired value indicated for the blob 124 with the at least one optimal value to determine whether the acquired value is greater than the at least one optimal value. In response to a comparison indicating that the acquired value for the blob 124 is greater than the at least one optimal value, the navigation controller 22 may be configured to communicate a control signal to the tracker 38 that causes the tracker 38 to reposition the active marker 54 corresponding to the blob 124 away from the localizer camera 18. Conversely, in response to a comparison indicating that the acquired value for the blob 124 is less than the at least one optimal value, the navigation controller 22 may be configured to communicate a control signal to the tracker 38 that causes the tracker 38 to reposition the active marker 54 corresponding to the blob 124 toward the localizer camera 18.
[0137] The extent to which the active marker 54 is repositioned towards or away from the localizer camera 18 may be proportional to the difference between the acquired characteristics and the optimal characteristics. Additionally or alternatively, the navigation controller 22 may be configured to implement a PID loop and / or a stored lookup table to determine the extent to which to reposition the active marker 54 based on the difference between the acquired characteristics and the optimal characteristics.
[0138] 8 illustrates another method 200 for optimizing tracking of a target within a surgical workspace by adjusting one or more optimal parameters of a localizer camera 18. Method 200 may be utilized when a passive tracker 38 including a passive marker 54 is present within the surgical workspace. Method 200 may be facilitated by surgical navigation system 12, such as upon execution of software 64, or, more particularly, by navigation controller 22. For efficiency, certain details of blocks of method 200 that correspond to blocks of method 100 already described above will not be repeated in the following paragraphs.
[0139] At block 202, the trackers 38 may be positioned relative to the target to be tracked. Each tracker 38 may include a predetermined geometry of the passive markers 54. At block 204, the trackers 38 may be illuminated. More specifically, the navigation controller 22 may be configured to communicate a control signal to the localizer controller 52 that causes the localizer controller 52 to emit light signals from the light sources 58 into the surgical workspace. At block 206, image data may be generated based on the reflection of the emitted light signals by the passive markers 54. Specifically, the localizer controller 52 may generate image data for each optical sensor 36 representing an image showing blobs 124 corresponding to each of the passive markers 54 generated from the reflection of the emitted light signals by the passive markers 54. The pixel coordinates of each blob 124 in the image data for each optical sensor 36 may correspond to the location on the image plane of the optical sensor 36 where the reflection was detected. At block 208, each blob 124 depicted in the image data may be assigned to a passive marker 54 on the tracker 38 that corresponds to the blob 124, such as using the triangulation and matching methods described above.
[0140] At block 210, one or more characteristics of each blob 124 may be obtained. For example, the navigation controller 22 may be configured to obtain strength characteristics, and / or size characteristics, and / or shape characteristics for each blob 124. Then, at block 212, the obtained blob characteristics may be compared to one or more optimal blob characteristics, such as blob characteristics indicated in optimal blob data 80 stored in non-volatile storage 62 of the navigation controller 22. At block 214, a determination may be made based on the comparison whether the blob 124 is optimal.
[0141] The navigation controller 22 may be configured to compare the acquired blob characteristics to optimal blob characteristics by combining acquired blob characteristics of the same type (e.g., intensity, size, shape) to form a combined blob characteristic of the characteristic type. For example, for a blob intensity type characteristic, the navigation controller 22 may be configured to calculate an average of the intensity values indicated by the acquired intensity characteristics of the blobs 124 as the combined blob characteristic for the intensity type characteristic. For a blob size type characteristic, the navigation controller 22 may be configured to calculate an average of the areas indicated by the acquired size characteristics of the blobs 124 as the combined blob characteristic for the blob size type characteristic. For a blob shape type characteristic, the navigation controller 22 may be configured to calculate an average of the ratios indicated by the acquired shape characteristics of the blobs 124 as the combined blob characteristic for the blob shape type characteristic. The navigation controller 22 may then be configured to compare the combined blob characteristics to its corresponding optimal blob characteristics to determine whether the combined blob characteristic is optimal, as described above.
[0142] In response to determining that a given type of blob characteristic is not optimal (the "No" branch of block 214), at least one optical parameter of the localizer camera 18 can be adjusted in block 216. In one example, the optical signal emitted from the light source 58 can be adjusted to transmit an optical signal to the passive marker 54 in future tracking iterations that leads to the generation of an optimal or closer to optimal type of combined blob characteristic. More specifically, the navigation controller 22 can be configured to adjust the intensity and / or duration of the optical signal emitted from the light source 58, such as by communicating a control signal to the localizer controller 52 that causes the localizer controller 52 to adjust the current applied to the light source 58, as described above.
[0143] As an example, if the combined blob characteristics indicate a value that is greater than one or more optimal values defined by the corresponding optimal blob characteristics, then the navigation controller 22 can be configured to communicate a control signal to the localizer controller 52 that causes the localizer controller 52 to reduce the intensity and / or duration of the optical signal emitted from the light source 58. Conversely, if the combined blob characteristics indicate a value that is less than one or more optimal values defined by the corresponding optimal blob characteristics, then the navigation controller 22 can be configured to communicate a control signal to the localizer controller 52 that causes the localizer controller 52 to increase the intensity and / or duration of the optical signal emitted from the light source 58.
[0144] The extent to which the intensity and / or duration of the emitted light signal is increased or decreased may be proportional to the difference between the acquired characteristic and the optimal characteristic. Additionally or alternatively, the navigation controller 22 may be configured to implement a PID loop and / or stored look-up table to determine the extent to which the intensity and / or duration of the emitted light signal is increased or decreased to optimize the acquired blob characteristic.
[0145] Similar to that described above in connection with active markers 54, navigation controller 22 may be configured to prioritize optimization of certain types of combined blob characteristics over other types. For example, navigation controller 22 may be configured to first optimize the combined strength characteristic. In response to the combined strength characteristic being optimized, navigation controller 22 may be configured to optimize the combined size characteristic. In response to the combined strength characteristic being optimized, navigation controller 22 may be configured to optimize the combined shape characteristic. During each optimization iteration, navigation controller 22 may be configured to obtain and check whether the highest priority combined blob characteristic type is optimal. If not, then navigation controller 22 may be configured to adjust at least one optical parameter of localizer camera 18 to optimize the combined blob characteristic type, as described above. If the highest priority combined blob characteristic type is determined to be optimal, then navigation controller 22 may be configured to determine whether the next highest priority combined blob characteristic type is optimal, and so on.
[0146] In some examples, the navigation controller 22 can be configured to autonomously track and optimize the passive trackers 38 by emitting varying light signals from the light sources 58, with each emitted light signal having at least one characteristic corresponding to a different tracker 38 within the surgical workspace. In other words, each emitted light signal corresponding to a different tracker 38 can have at least one characteristic, such as a light intensity characteristic or a light duration characteristic, or both, that is different from the characteristics of emitted light signals corresponding to other trackers 38 within the surgical workspace.
[0147] Based on the changing poses of the trackers 38 within the surgical workspace, the characteristics of the blob 124 generated by one of the trackers 38 in response to an emitted light signal may vary from the characteristics of the blob 124 generated by the other trackers 38 in response to the same light signal. Correspondingly, different trackers 38 may generate optimal blobs in response to emitted light signals of different characteristics. For example, one tracker 38 may generate an optimal blob 124 when the emitted light signal from the light source 58 is 90% of the full intensity level of the light source 58, another tracker 38 may generate an optimal blob 124 when the emitted light signal from the light source 58 is 80% of the full intensity level of the light source 58, and so on.
[0148] Thus, the navigation controller 22 can be configured to track and optimize the tracking of the trackers 38 by alternating between emitting light signals from the light sources 58 having varying characteristics, such as having varying intensity levels in the range of 60%-95%, and receiving image data from the localizer camera 18 corresponding to each emitted light signal indicative of a respective blob 124 of the passive markers 54 generated from reflection of the emitted light signals by the passive markers 54. Although each instance of the received image data may include a blob 124 generated by the passive markers 54 of each tracker 38, the blob 124 corresponding to the passive marker 54 of one tracker 38 may be closer to optimal than the blob 124 corresponding to the passive marker 54 of the other tracker 38 based on the orientation of the tracker 38 within the surgical workspace and the characteristics of the emitted light signals.
[0149] Thus, for each tracker 38, the navigation controller 22 may be configured to obtain a characteristic of each blob 124 in each received instance of image data that corresponds to the marker 54 of the tracker 38, and compare the obtained characteristic to an optimal characteristic to determine which of the received instance of image data is closest to optimal. In response to determining which received instance of image data is closest to optimal, the navigation controller 22 may be configured to assign, to the tracker 38, the optical signal characteristic that corresponds to the received instance of image data, and to perform future iterations of tracking a pose of the tracker 38 within the surgical workspace based on the optical signal characteristic assigned to the tracker 38.
[0150] Thus, each tracker 38 may be assigned a particular light characteristic, and to track the pose of a given tracker 38, the navigation controller 22 may be configured to emit a light signal from the light source 58 specific to the tracker 38, such as by emitting a light signal having the light characteristic assigned to the tracker 38. The navigation controller 22 may then be configured to track the pose of the tracker 38 based on the blobs 124 depicted in the received image data for the emitted light signal specific to the tracker 38, as described above.
[0151] The navigation controller 22 can also be configured to distinguish blobs 124 corresponding to passive markers 54 of one tracker 38 from blobs corresponding to passive markers 54 of the other tracker 38 based on the illumination characteristics assigned to the one tracker 38 and the one or more stored optimal characteristics. More specifically, in response to receiving image data corresponding to light signals emitted from the light sources 58 having at least one characteristic corresponding to a given tracker 38, the navigation controller 22 can be configured to distinguish blobs 124 corresponding to a given tracker 38 from other trackers 38 in the surgical workspace by obtaining at least one characteristic of each blob 124 indicated by the image data, comparing the obtained characteristic of the blob 124 to the one or more optimal characteristics, and distinguishing the blobs 124 based on the comparison.
[0152] For example, for each blob 124 represented by the image data, the navigation controller 22 can be configured to determine a difference between one or more acquired characteristics of the blob 124 and the corresponding one or more optimal characteristics by calculating an average of the differences or a sum of the squared differences. The navigation controller 22 can then be configured to determine whether the determined difference is less than a threshold and, if so, determine that the blob 124 corresponds to the given tracker 38. In an alternative example, the navigation controller 22 can be configured to determine that the blob 124 corresponds to the given tracker 38 in response to determining that each difference between the acquired characteristic of the blob 124 and the corresponding optimal characteristic is less than a threshold.
[0153] In response to identifying the blob 124 corresponding to a given tracker 38, the navigation controller 22 can be configured to adjust characteristics of the emitted light signal assigned to the given tracker 38 to optimize tracking of the given tracker 38 as described above. In the next iteration of tracking and / or tracking optimization of the given tracker 38, the navigation controller 22 can be configured to utilize the adjusted characteristics. Similar to the above, when the trackers 38 are tracked and optimized using optical signals emitted from light sources 58 having varying characteristics, multiple trackers 38 having substantially identical predetermined geometries of passive markers 54 may be present within the surgical workspace.
[0154] In some examples, the navigation controller 22 may also be configured to adjust at least one optical parameter of the localizer camera 18 based on the tracked pose of the tracker 38 within the surgical workspace. More specifically, the navigation controller 22 may be configured to determine a position of each passive marker 54 within the surgical workspace based on the received image data as described above, which may also indicate a pose of the tracker 38 within the surgical workspace. Based on the determined pose, the navigation controller 22 may be configured to adjust at least one optical parameter of the localizer camera 18. For example, in response to comparing the obtained characteristics of the blob 124 to optimal characteristics and determining that the blob 124 is not optimal, the navigation controller 22 may be configured to adjust at least one optical parameter of the localizer camera 18 based on the determined position of the passive marker 54.
[0155] In one example, navigation controller 22 can be configured to adjust at least one optical parameter of localizer camera 18 based on the determined positions of passive markers 54 by being configured to determine an average distance between passive markers 54 of one or more trackers 38 and localizer camera 18, compare this average difference to a previously calculated average distance of the passive markers 54, and determine a change in the average distance between the passive markers 54 and localizer camera 18. Navigation controller 22 can then be configured to adjust at least one optical parameter of localizer camera 18 based on the change in average distance.
[0156] For example, the navigation controller 22 may be configured to determine whether the change in the average distance indicates an increase or decrease in the average distance between the passive marker 54 and the localizer camera 18. In response to the change in distance indicating an increase in the average distance between the passive marker 54 and the localizer camera 18, the navigation controller 22 may be configured to increase the intensity and / or duration of the optical signal emitted from the light source 58 to illuminate the passive marker 54. Conversely, in response to the change in distance indicating a decrease in the average distance between the passive marker 54 and the localizer camera 18, the navigation controller 22 may be configured to decrease the intensity and / or duration of the optical signal emitted from the light source 58 to illuminate the passive marker 54. The extent to which the intensity and / or duration of the emitted optical signal is increased or decreased may be proportional to the change in the average distance. Additionally or alternatively, the navigation controller 22 may be configured to implement a PID loop and / or stored look-up tables to determine the extent to which to increase or decrease the intensity and / or duration of the emitted optical signal to optimize the acquired blob characteristics based on changes in average distance.
[0157] In some examples, in addition to or instead of adjusting the optical signals emitted from the light sources 58, the navigation controller 22 can be configured to adjust other parameters of the localizer cameras 18 to optimize the blobs 124 generated from the markers 54. For example, the navigation controller 22 can be configured to adjust the electronic aperture time of each optical sensor 36 of the localizer cameras 18 based on a comparison of one or more acquired characteristics of the blobs 124 to one or more optimal characteristics. More specifically, the navigation controller 22 can be configured to form one or more combined blob characteristics for each optical sensor 36 from the image data generated for the optical sensors 36, as described above, and for each combined blob characteristic, and to compare the value indicated by the combined blob characteristic to the optimal value indicated by the corresponding optimal blob characteristic. In response to a comparison indicating that the value of the combined blob characteristic is greater than an optimal value, the navigation controller 22 can be configured to decrease the electronic aperture time of the corresponding optical sensor 36, and in response to a comparison indicating that the value of the combined blob characteristic is less than an optimal value, the navigation controller 22 can be configured to increase the electronic aperture time of the corresponding optical sensor 36.
[0158] As a further example, localizer camera 18 may also include a mechanical shutter and / or a mechanical aperture for each optical sensor 36, and navigation controller 22 may be configured to adjust the shutter time of the mechanical shutter and / or adjust the capture size of the mechanical aperture of each optical sensor 36 based on a comparison of one or more acquired characteristics of blobs 124 to one or more optimal characteristics. More specifically, navigation controller 22 may be configured to form one or more combined blob characteristics for each optical sensor 36 from the image data generated for the optical sensors 36, as described above, and for each combined blob characteristic, compare the value indicated by the combined blob characteristic to an optimal value indicated by a corresponding optimal blob characteristic. In response to a comparison indicating a value of the combined blob characteristic is greater than the optimal value, navigation controller 22 may be configured to reduce the shutter time of the mechanical shutter and / or the capture size of the mechanical aperture of the optical sensor 36, and in response to a comparison indicating a value of the combined blob characteristic is less than the optimal value, navigation controller 22 may be configured to increase the shutter time of the mechanical shutter and / or the capture size of the mechanical aperture of the optical sensor 36.
[0159] Referring again to FIG. 8, in response to determining that each of the combined blob characteristics is optimal (the “Yes” branch of block 214), or in response to adjusting at least one optical parameter of the localizer camera 18 in block 216, the method 200 may return to block 204 to re-illuminate the tracker 38 via the light source 58 of the localizer camera 18.
[0160] In some examples, the passive marker 54 of each tracker 38 may be manually repositionable, and the navigation controller 22 may also be configured to determine and display, such as on a display 28, 30, guidance for repositioning at least one passive marker 54 of a tracker 38 based on a comparison of the obtained characteristics of the blob 124 to optimal characteristics. For example, with reference to FIGS. 10 and 10B , each passive marker 54 of a given tracker 38 may be mounted in a rotatable socket 98 that allows a user to manually rotate the passive marker 54 relative to a body 94 of the tracker 38 to aim the passive marker 54 toward and away from the localizer camera 18.
[0161] Thus, for each blob 124 indicated by the received image data, the navigation controller 22 can be configured to assign the blob 124 to a passive marker 54 corresponding to the blob 124, compare one or more obtained characteristics of the blob 124 with one or more optimal corresponding optimal characteristics to determine whether the blob 124 is sub-optimal, and based on the comparison, determine and display guidance for relocating the passive marker 54 corresponding to the blob 124 in response to determining that the blob 124 is sub-optimal.
[0162] For example, assuming that the acquired characteristic of each blob 124 indicates an acquired value and the corresponding optimal characteristic indicates an optimal value, for each blob, the navigation controller 22 can be configured to assign the blob 124 to a passive marker 54 corresponding to the blob 124 and compare the acquired value indicated for the blob 124 to the optimal value. In response to a comparison indicating that the acquired value for the blob 124 is greater than the optimal value, the navigation controller 22 can be configured to determine and display guidance to reposition the passive marker 54 corresponding to the blob 124 away from the localizer camera 18. Conversely, in response to a comparison indicating that the acquired value for the blob 124 is less than the optimal value, the navigation controller 22 can be configured to reposition the passive marker 54 corresponding to the blob 124 towards the localizer camera 18.
[0163] Some surgical environments may incorporate both passive and active trackers 38. In this case, the navigation controller 22 may be configured to implement both the process described above for optimizing the active tracker 38 and the process described above for optimizing the passive tracker 38. In one example, the navigation controller 22 may be configured to alternate between optimizing and tracking the active and passive trackers 38 using the process described above. Alternatively, the navigation controller 22 may be configured to implement both the tracking and optimization processes simultaneously, such as by causing the markers 54 of the active tracker 38 to emit light signals at different frequencies as light signals emitted from the light sources 58 to reduce interference between the types of trackers 38 and improve discrimination between the types of trackers 38, and / or by utilizing a varying set of one or more optimal blob characteristics of different tracker types to further facilitate such discrimination.
[0164] In general, the routines executed to implement aspects of the above description may be referred to herein as "computer program code" or simply "program code", whether implemented as part of an operating system or as a specific application, component, program, object, module, or sequence of instructions, or a subset thereof. Program code may reside in various memory and storage devices at various times in a computer and include computer readable instructions that, when read and executed by one or more processors in a computer, cause the computer to perform operations necessary to perform the operations and / or elements embodying various aspects of the specification. Computer readable program instructions for performing operations of various aspects of the specification may be either source code or object code, for example written in assembly language or any combination of one or more programming languages.
[0165] The program code embodied in any of the applications / modules described herein may be distributed individually or collectively as a program product in a variety of different formats. In particular, the program code may be distributed using a computer-readable storage medium having computer-readable program instructions for causing a processor to implement aspects of the specification.
[0166] Computer-readable storage media, which are non-transitory in nature, may include volatile and non-volatile, as well as removable and non-removable tangible media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Computer-readable media may further include random access memory (RAM), read-only memory (ROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), flash memory or other solid-state memory techniques, portable compact disk read-only storage (CD-ROM), or other optical storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store desired information and can be read by a computer. Computer-readable storage media should not be construed as transitory signals (e.g., radio waves or other propagating electromagnetic waves, electromagnetic waves propagating through a transmission medium such as a wave guide, or electrical signals transmitted through wires) themselves. Computer-readable program instructions may be downloaded from the computer-readable storage media to a computer, another type of programmable data processing device, or another device, or to an external computer or external storage device via a network.
[0167] Computer readable program instructions stored on a computer readable medium may be used to direct a computer, other type of programmable data processing apparatus, or other device to function in a particular manner, such that the instructions stored on the computer readable medium produce an article of manufacture including instructions that perform the functions / acts specified in the flowcharts, sequence diagrams, and / or block diagrams. The computer program instructions, by executing via one or more processors, may provide one or more processors with a sequence of calculations that cause the processors to implement the functions and / or acts specified in the flowcharts, sequence diagrams, and / or block diagrams described herein.
[0168] In certain alternatives, the functions and / or acts specified in the flowcharts, sequence diagrams, and / or block diagrams may be reordered, processed sequentially, and / or simultaneously without departing from the scope of the invention. Additionally, any of the flowcharts, sequence diagrams, and / or block diagrams may include more or fewer blocks than those illustrated herein.
[0169] The terms used herein are for the purpose of describing particular examples only and are not intended to be limiting. As used herein, the singular forms "a," "an," and "the" are intended to include the plural unless the context clearly indicates otherwise. It will be further understood that the terms "comprise" and / or "comprising," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. Furthermore, to the extent that "includes," "having," "has," "with," "comprise of," or variations thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term "comprising."
[0170] While a description of various examples has been provided, and these examples have been described in considerable detail, it is not the intention of the applicant to restrict or in any way limit the scope of the appended claims to such details. Additional advantages and modifications will be readily apparent to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus and methods, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the applicant's general inventive concept.
Claims
1. A navigation system for optimizing the tracking of a target object within a surgical workspace, a tracker disposed with respect to the target object, the tracker having active markers of a predefined geometry for tracking the pose of the tracker within the surgical workspace; a localizer camera that, in cooperation with the tracker, generates image data indicative of respective blobs of the active markers generated from optical signals emitted from the active markers; a controller communicably connected to the tracker and the localizer camera, assigning each of the blobs to the active marker corresponding to the blob, acquiring characteristics of each blob, comparing the acquired characteristics with optimal characteristics, and communicating to the tracker at least one control signal that, based on the comparison, causes the tracker to adjust the optical signal emitted from at least one of the active markers. A navigation system comprising the above.
2. The navigation system according to claim 1, wherein the at least one control signal communicated to the tracker causes the tracker to adjust the intensity or duration or both of the optical signal emitted from the at least one of the active markers.
3. For each of the blobs, the controller compares the acquired characteristics of the blob with the optimal characteristics to determine whether the blob is not optimal, and, in response to determining that the blob is not optimal based on the comparison, communicates to the tracker a control signal that causes the tracker to adjust the optical signal emitted from the active marker corresponding to the blob. The navigation system according to claim 1, configured as above.
4. The acquired characteristics of each blob indicate a first value, the optimal characteristics indicate a second value, and for each blob, the controller compares the first value indicated for the blob with the second value, and, in response to the comparison indicating that the first value of the blob is greater than the second value, communicates to the tracker a control signal that causes the tracker to reduce the intensity or duration or both of the optical signal emitted from the active marker corresponding to the blob. In response to the comparison indicating that the first value of the blob is less than the second value, communicate to the tracker a control signal that increases, for the tracker, the intensity or duration or both of the optical signal emitted from the active marker corresponding to the blob The navigation system according to claim 1, configured as such.
5. The navigation system according to claim 4, wherein the optimal blob intensity characteristic indicates an intensity value that is 75% or more and 95% or less of the full intensity value of the localizer camera.
6. The navigation system according to claim 1, wherein the acquired characteristic is a blob intensity characteristic and the optimal characteristic is an optimal blob intensity characteristic.
7. The navigation system according to any one of claims 1 to 4, wherein the acquired characteristic is a blob size characteristic and the optimal characteristic is an optimal blob size characteristic, or the acquired characteristic is a blob shape characteristic and the optimal characteristic is an optimal blob shape characteristic.
8. The acquired characteristic is defined as an acquired first characteristic, the optimal characteristic is defined as a first optimal characteristic, and the controller acquires one or more second characteristics of one or more of the blobs, compares the one or more acquired second characteristics with second optimal characteristics, and communicates to the tracker at least one control signal that causes the tracker to adjust the optical signal emitted from at least one of the one or more active markers corresponding to the one or more blobs based on the comparison of the one or more acquired second characteristics to the second optimal characteristics The navigation system according to any one of claims 1 to 4, configured as such.
9. The image data includes first image data corresponding to a first optical sensor of the localizer camera and second image data corresponding to a second optical sensor of the localizer camera, each of the first and second image data showing a blob of each active marker generated from an optical signal emitted from the active marker, and the controller identifies a first blob corresponding to the same active marker from the first image data and a second blob from the second image data, and acquires a first characteristic of the first blob and a second characteristic of the second blob. Combine the obtained first characteristic and the obtained second characteristic to form a combined blob characteristic, Compare the combined blob characteristic with the optimal characteristic to determine whether the combined blob characteristic is not optimal, Based on the comparison, in response to determining that the combined blob characteristic is not optimal, communicate to the tracker a control signal for adjusting the optical signal emitted from the active markers corresponding to the first and second blobs to the tracker The navigation system according to claim 1 or 2, configured as such.
10. The navigation system according to claim 9, wherein the obtained first and second characteristics are obtained intensity characteristics, and the optimal characteristic is an optimal blob intensity characteristic.
11. The combined blob characteristic is defined as a first combined blob characteristic, the optimal characteristic is defined as a first optimal characteristic, and the controller Obtains a third characteristic of the first blob and a fourth characteristic of the second blob, Combines the obtained third characteristic and the obtained fourth characteristic to form a second combined blob characteristic, Compares the second combined blob characteristic with a second optimal characteristic, Based on the comparison of the second combined blob characteristic with the second optimal characteristic, communicates to the tracker a control signal for adjusting the optical signal emitted from the active markers corresponding to the first and second blobs to the tracker The navigation system according to claim 9, configured as such.
12. The target object is defined as a first target object, the blob is defined as a first blob, the tracker is defined as a first tracker, the obtained characteristic is defined as an obtained first characteristic, the optimal characteristic is defined as a first optimal characteristic specific to the first tracker, and there is a second tracker disposed with respect to a second target object within the surgical workspace, the second tracker having a predefined geometry of active markers for tracking the pose of the second tracker within the surgical workspace, and the image data generated by the localizer camera includes each second blob of the active markers of the second tracker generated from the optical signal emitted from the active markers of the second tracker, and the controller Assign each of the second blobs to the active marker of the second tracker corresponding to the second blob, Obtain the second characteristic of each second blob, Compare the obtained second characteristic with a second optimal characteristic that is specific to the second tracker and different from the first optimal characteristic, Based on the comparison, communicate to the second tracker at least one control signal for causing the second tracker to adjust the optical signal emitted from at least one of the active markers of the second tracker The navigation system according to any one of claims 1 to 4, configured as described above.
13. The navigation system according to claim 12, wherein the controller is configured to assign the first blob to the active marker of the first tracker based on the first optimal characteristic and / or assign the second blob to the active marker of the second tracker based on the second optimal characteristic.
14. For each of the first blobs, the controller Determine the difference between the obtained first characteristic of the first blob and the first optimal characteristic, Determine whether the difference between the obtained first characteristic of the first blob and the first optimal characteristic is less than a threshold value, In response to determining that the difference between the obtained first characteristic of the first blob and the first optimal characteristic is less than the threshold value, determine that the first blob corresponds to the first tracker, and assign the first blob to the active marker of the first tracker corresponding to the first blob The navigation system according to claim 12, configured as described above.
15. The navigation system according to claim 12, wherein the predefined geometry of the active marker of the first tracker and the predefined geometry of the active marker of the second tracker are substantially equivalent.
16. The controller Determine the position of the active marker of the tracker in the surgical workspace based on the image data, Based on the determined position of the active marker, communicate to the tracker at least one control signal for causing the tracker to adjust the optical signal emitted from at least one of the active markers The navigation system according to any one of claims 1 to 4, configured as described above.
17. For each of the active markers, the controller compares the acquired characteristics of the blob corresponding to the active marker with the optimal characteristics to determine whether the blob corresponding to the active marker is not optimal, and in response to determining that the blob corresponding to the active marker is not optimal, communicates to the tracker a control signal for adjusting the optical signal emitted from the active marker based on the determined position of the active marker to the tracker. The navigation system according to claim 16, configured as described above.
18. The controller compares the determined position of the active marker with the previously determined position of the active marker to determine a change in the distance between the active marker and the localizer camera, and based on the change in the distance, communicates to the tracker a control signal for adjusting the optical signal emitted from the active marker to the tracker. By being configured as described above, the navigation system according to claim 17, which is configured to communicate to the tracker a control signal for adjusting the optical signal emitted from the active marker based on the determined position of the active marker.
19. The controller determines whether the change in the distance indicates an increase or a decrease in the distance between the active marker and the localizer camera, and in response to the change in the distance indicating an increase in the distance between the active marker and the localizer camera, communicates to the tracker a control signal for increasing the intensity and / or duration of the optical signal emitted from the active marker to the tracker, and in response to the change in the distance indicating a decrease in the distance between the active marker and the localizer camera, communicates to the tracker a control signal for reducing the intensity and / or duration of the optical signal emitted from the active marker to the tracker. The navigation system according to claim 18, configured to communicate to the tracker a control signal that causes the tracker to adjust the optical signal emitted from the active marker based on the determined change in distance, by being configured as such.