Patent ID: 12245772

Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.

DETAILED DESCRIPTION

Example embodiments will now be described more fully with reference to the accompanying drawings.

FIG.1is an environmental view of an instrument, such as a powered drill assembly20, being used by a user24, to perform a procedure on a subject (e.g. a patient)28. The powered drill assembly20may be powered to rotate a motor and/or a tool at selected and/or selectable speeds including about 100 RPM to about 100,000 RPM, including about 200 RPM to about 75,000 RPM. In various embodiments, the powered drill assembly20may include a powered dissection tool32for performing a select procedure, such as forming a burr hole in a cranium of the patient28, operating on a vertebra36, or other selected procedure. It is understood, however, that the powered drill assembly20may be used for performing other procedures such as a removal of material relative to and/or in the vertebrae.

For example, the powered drill assembly20may be operated to remove a portion of a vertebra in a selected procedure, including a laminectomy procedure or other appropriate spinal procedure. Further, it is understood that the powered drill assembly20may be used to perform a procedure on a non-living subject such as to drill a hole in an airframe, an automotive frame, or the like. Accordingly, the powered drill assembly20is not required to be used with a living subject, such as a human patient.

The powered drill assembly20may include a motorized drill that is tracked and/or navigated relative to the subject28according to various systems and/or procedures. For example, a tracking system, as discussed further herein, may include a tracking device40that may be connected to the powered drill assembly20to track a location of a tool relative to the subject28, such as the vertebra36. Appropriate tracking systems include those disclosed in U.S. Pat. No. 8,842,893, incorporated herein by reference. It is understood that image data may be acquired of the subject28to create images, as discussed herein. To acquire the image data, an imaging system31may be used prior to beginning a procedure or after a procedure has begun, the procedure may include operation of the powered drill20. The imaging system31may include an O-arm ® imaging system sold by Medtronic, Inc. and/or may include those disclosed in U.S. Pat. Nos. 7,188,998; 7,108,421; 7,106,825; 7,001,045; and 6,940,941; all of which are incorporated herein by reference. Other possible imaging systems can include C-arm fluoroscopic imaging systems which can also generate three-dimensional views of the patient28.

The tracking system may be a part of a navigation system to assist in performing selected procedures, such as a surgical procedure on the subject28, and may include those as generally known in the art. For example, navigation systems may include those as disclosed in U.S. Pat. Nos. 5,772,594; 5,913,820; 5,592,939; 5,983,126; 7,751,865; and 8,842,893; and 9,737,235 and those disclosed in U.S. Pat. App. Pub. No. 2004/0199072, all incorporated herein by reference. Tracked locations may be displayed on images or relative to images due to registration of a location of a subject or real space to an image space, also as disclosed in the U.S. patents and publications as incorporated above. Further, tracking systems may include the Stealth Station® 58® tracking system, and AxiEM™ tracking system, all sold by Medtronic Navigation, Inc.

The tracking systems may include various features such as an optical tracking systems, EM tracking systems, ultrasonic tracking systems, or the like. Nevertheless, as illustrated inFIG.1, for example, a tracking system may include one or more localizers that may include portions that include cameras and/or antennas for receiving/and or transmitting a signal for tracking. Localizers may include an optical localizer50that includes one or more cameras54that may detect or “view” the tracking device40connected to the power drill20. The localizer50including the cameras54may emit a selected radiation, such as infrared radiation from emitters58, that is reflected by one or more trackable portions62that are associated with the tracking device40. The trackable portions62may be viewed by the cameras54and a signal may be transmitted to a navigation processor unit70. The navigation processor unit70may include various features, such as a navigation probe interface (NPI), as discussed further herein. The navigation processor unit70may also include a coil array controller (CAC) for various types of tracking systems. Various features such as the NPI, the CAC, or other portions may be provided as separate units from the navigation processor unit70or separate modules for interacting with various portions of the navigation system, as is generally known in the art.

Nevertheless, the localizer50may communicate with the navigation processor unit70via a selected communication line74. The communication line74may be a wired or a wireless communication with the navigation processor unit70. The navigation processor unit70may communicate with a selected system, such as a workstation, a terminal, or the like that includes a display system or display module80having a display screen84and one or more user inputs88. It is understood, however, that the display84may be separated for the processor unit70and/or in addition thereto, such as a projected display, a headset display (e.g., augmented reality systems). The user inputs88may include a keyboard, a mouse, a touch screen, or other tactical input. Further inputs may also include a foot switch, verbal inputs, visual inputs, or the like.

A subject tracking device98may also be connected, such as fixed, relative to the subject28. In various embodiments, the subject tracking device96may be fixed to a vertebra. Generally, the subject tracking device is fixed relative to a selected portion of the subject28.

In various embodiments, alternative or additional tracking systems may be provided, such as an electromagnetic tracking systems including an electromagnetic tracking array, such as a coil array100. The coil array100may include one or more coil elements104that emit and/or receive an electromagnetic signal from an electromagnetic (EM) tracking devices, such as the subject tracking device98associated and/or connected to the patient28or a tracking device40′ connected to the power drill20. The coil array100may communicate with navigation processing unit70via a communication line110similar to the communication line74from the localizer device50to the navigation processing unit70. Further, each of the tracking devices may communicate with the navigation processing unit70via selected communication lines such as communication line114so that a position of the selected tracking devices, including tracking device40and tracking device98may be determined with a navigation processing unit70. It is understood that one or more than one tracking system may be used simultaneously and/or serially during the selected procedure.

The display screen84may display an image120of a portion of the subject28, such as an image of the vertebra36. The image120may be based on or generated with image data acquired with the imaging system31as discussed above. Displayed relative to the image120and/or superimposed on the image120of the patient28may be a graphical representation, also referred to as an icon,124. The icon124may represent a position such as a pose, of the powered drill assembly20that may include the tool32, relative to the subject28. The represented position may also be of only a portion of the assembly20. The position of the powered drill assembly20, or a portion thereof, relative to the subject28may be determined by registering the powered drill assembly20relative to the subject28and thereafter tracking the location of the powered drill assembly20relative to the subject28.

Registration may include various techniques, such as those disclosed in U.S. Pat. Nos. RE44,305; 7,697,972; 8,644,907; 8,238,631; and 8,842,893; and U.S. Pat. App. Pub. No. 2004/0199072, all incorporated herein by reference. Generally, registration includes a mapping between the subject space and the image space. This may be done by identifying points in the subject space (i.e. fiducial portions) and identifying the same points in the image (i.e. image fiducials). A map of the image space to the subject space may then be made, such as by the navigation system. For example, points may be identified annually, automatically, or a combination thereof in the image data, such as in the image120.

Related points may be identified in a subject space, such as defined by the subject28. For example, the user24may identify a spinous process in the image120and an instrument tracked by one or more of the tracking systems, including the localizers50,100, may be used to identify a spinous process at the vertebrae36. Once an appropriate number of points are identified in both the image space of the image120and the subject space of the subject28, a map may be made between the two spaces. The map allows for a registration between the subject space defined by the subject, also referred to as a navigation space, and the image space defined by the image120. Therefore, the instrument, or any appropriate portion, may be tracked with a selected tracking system and a poise of the instrument may be identified or represented relative to the image120with the graphical representation124.

As discussed above, registration of the powered drill assembly20relative to the subject28, such as with or to the subject tracking device98, may be made at a selected point in a procedure. The image120may then be displayed on the display screen84and a tracked location of the powered drill assembly20may be displayed as the icon124relative to the image120. The icon124may be superimposed on the image120to display a pose of at least a selected portion of the powered drill assembly20, such as a distal end, of the tool32powered by the powered drill assembly20. The pose may include a location that includes three degrees of freedom in space (for example, including at least one of a XYZ position) and a selected number (e.g., three) degrees of freedom orientation information location (for example, including at least one of yaw, pitch and roll orientation). The pose may be determined and/or calculated by the navigation processing unit70and communicated to the display device80via a selected communication line, such as communication line130. The communication line130may be a wired or wireless or other appropriate communication line. Further, it is understood that the navigation processor unit70may include various features such as a selected processor (e.g., an application specific integrated circuit (ASIC), general purpose processor or the like). The navigation processor unit70may also include a memory system (e.g., non-transitory memory systems including spinning hard disks, non-volatile solid state memory, etc.) that includes selected instructions, such as those to perform the tracking, registration, superimposing of the icon124on the image120, or the like. Therefore, the determined pose of the powered drill assembly20(for example the selected portion of the powered drill assembly20, as discussed further herein), may be displayed relative to the subject28by the icon124relative to the image120. The user24may then be able to view the display screen84to view and/or comprehend the specific pose of the selected portion of the powered drill assembly20relative to the subject28by viewing the display84.

In various embodiments, the powered drill assembly20may include various components which may include a motor housing140of a motor assembly or component143(FIG.5A). The drill20may include an appropriate motor component such as the LEGEND MR8® and/or LEGEND EHS STYLUS® motor systems, sold by Medtronic, Inc. The motor component may include a motor that is powered such as a pneumatic powered, such as the LEGEND MR7® motors although other power motors or drives may be used such as electric power motors LEGEND EHS STYLUS® motors.

The motor assembly may have a power and/or other signals transmitted to and/or from the motor assembly via the line114that is connected with a controller144that may also include a power source. The controller144may be any appropriate controller144such as the IPC® integrated power system, sold by Medtronic, Inc. It is understood, however, that the motor component may be any appropriate motor assembly such as one powered by electronic power, or other appropriate power supply. Therefore, the pneumatic power drill is not intended to limit the subject disclosure or the pending claims. Moreover, the motor component may include those disclosed in U.S. Pat. No. 7,011,661 or 7,001,391, both incorporated herein by reference.

As discussed above, a procedure may be performed on a subject28. The procedure performed on the subject28may be performed with the drill assembly20having the instrument tool32extending therefrom. The drill assembly20, as discussed above, may be navigated relative to the subject28. In various embodiments, image guided procedures or image guided navigation may occur. Accordingly, the image120on the display screen84may include imaged portions of the subject28. For example, as illustrated inFIG.2, a medial-to-lateral (ML) (or vice versa) image portion120aand a anterior-to-posterior (AP) (or vice versa) image view120bmay be illustrated on the display screen84as the image120. The image120, therefore, may include various portions, such as a first or ML view120aand a second or AP view120b. It is understood, however, that additional views or images may also be viewed for various purposes such as inferior to superior, or selected angles relative thereto.

In various embodiments, a portion of the image may be segmented for various purposes, such as planning a selected procedure. As discussed above, the drill assembly20may include the tool32for performing a procedure on the subject28, such as a laminectomy, spinal decompression, inter-vertebral body fusion, or other selected procedures. A procedure may include moving the tool32to remove a selected portion of the subject28, such as a selected portion of the anatomy of the vertebrae36. The vertebrae36may include the first vertebrae36and a second vertebrae36a, as illustrated inFIG.2. The vertebrae may include various portions such as facets150or edges thereof, including a spinous processes154. The vertebrae36may include portions that are included on each vertebrae such as the facet150, the spinous process154, and a transverse processes158. In various embodiments, the facet and facet joint150may be resected a selected amount to perform a selected procedure, as noted above. However, during the procedure it may be selected to only have the tool32contact the portion of the vertebrae36, such as at the facet150. The vertebrae36is generally formed of bony material and may be resected by the tool32.

Near or adjacent the vertebrae36may be non-bony tissue or soft tissue. For example, a spinal cord162of the subject may extend through the plurality of vertebrae36. Further, various nerves or nerve roots166may extend from the spinal cord162. The spinal cord162, and the various nerve portions thereof, may generally be selected to not be resected during a selected procedure. Furthermore, one or more discs168may be formed between the various vertebrae36.

The image120may be segmented to segment various portions such as the vertebrae portions36, the spinal cord162, and/or the nerve roots166. For example, as illustrated inFIG.2, the vertebrae may be segmented as vertebrae or bony portions and a graphical representation thereof may include illustrating the same with small dashes, a selected color, etc. The soft tissue or any appropriate portion, including the spinal cord162, may be segmented and illustrated with large dashes, selected color, etc. It is understood that any appropriate identification may be made such as color, line weight, or the like. It is further understood that specific visual representations of the segmentation need not be made.

Further, segmentation of the image120may be formed in any appropriate manner, such as automatically, manually, or with manual input and automatic thereafter. For example, the user24may select an area or region (e.g. a pixel, a voxel, an area, etc.) and the system, such as the navigation processor70, may execute selected instructions to segment the image120. It is understood that a processing unit of any appropriate type may be used in addition to or in combination with a navigation processing unit70. Therefore, various imaging processing, such as segmentation, need not be performed with the navigation processing unit70. It is understood, however, that the processing units may be generally general processors and able to execute selected instructions for performing various tasks from a storage medium.

The image120, whether segmented or not, may also be used to identify the plan for performing a procedure. Generally the plan may include various features or portions such as a plan region or volume174. The plan174may include a trajectory, volume, or other portion that may be resected with the tool32. Further, the plan may include a path to achieve the selected resection and/or the amount of resection. The plan may also include areas that are to be avoided or cautioned. For example, the spinal cord162may be identified as an area or region not to be contacted, penetrated, or accessed with the instrument32.

The system, such as including the navigation processor70, may automatically identify selected regions to be identified as avoided regions or volumes. Accordingly, the system may automatically segment and identify the spinal cord162. Further, however, in addition or alternatively thereto, the user24may identify regions that are segmented in the image120. Also, various regions to be avoided may be identified in the image120and saved for later access, such as during the procedure of moving the tool32relative to the subject28.

In or with the image, regions to be avoided and/or regions for performing a procedure may be identified in the subject28. The region to be avoided may be identified with a first instrument that is tracked. For example, a tracked/navigated pointer probe may be tracked to identify a volume in the subject space of the subject28, such as relative to the vertebrae36. The user24may move the tracked instrument to identify a region to be avoided and/or region to be operated on or for a procedure to be performed at a first time. Again, these regions may then be saved and recalled at a second time, such as after saving them, and during a procedure for providing selected feedback to the user24.

Accordingly, during a selected procedure, the system, such as the navigation system, may be used to determine or provide feedback to the user24of the position of the tool32relative to selected predefined or saved regions, such as regions or volumes to be avoided. Further, the controller144for the power drill24may also provide selected feedback and/or receive signals from the power drill20and provide feedback based upon the saved and identified region that may be identified in the image120and/or in the subject28, as discussed above. Further, the saved regions may be saved in a selected memory system, such as included with the navigation processing unit70. The controller144of the power drill20may communicate with the processing unit70, via a select communication line, such as the communication line190. As discussed above, the communication line190may be any appropriate type such as a wired, wireless, or a combination thereof communication channel. Accordingly, the navigation processing unit70may communicate with the controller144for providing signals regarding the tracked or navigated position of the power drill20and/or signals from sensors associated with the power drill assembly20.

With continuing reference toFIG.1and additional reference toFIG.3, the drill assembly or instrument assembly20may be controlled by the drill controller144, as discussed above. The drill controller144may include a processor module that may receive various inputs such as inputs200. The inputs200may be processed according to selected instructions, as discussed further herein, to provide selected outputs to the user24and/or for operation of the drill assembly20. It is understood that the drill assembly20is an exemplary instrument, and is discussed herein as an example of operation of a selected instrument, other instruments may include a powered saw, etc. Nevertheless, the drill assembly20, as discussed above, may have a drill motor that is used to rotate the tool32for a selected procedure. As discussed above, the selected procedure may include resection or removal of a selected bone portion, such as a facet of the vertebrae36. Accordingly, the following discussion exemplary describes removal of a portion or all of the facet150of the vertebrae36with the drill assembly20controlled by the drill controller144that may be in communication with the navigation processing unit70.

Generally, as discussed above, selected inputs may be provided to the drill controller144. As also discussed above, the drill controller144may include a selected processor and/or controls to control the operation of the drill assembly20. It is understood, however, that the navigation processing unit70may also be used to control the drill assembly20and the controller144may simply allow for communication of the selected inputs and/or outputs to the drill20. Nevertheless, the inputs200may provide input to the controller144to control the drill assembly20.

The identified regions or areas or volumes to be avoided, as discussed above, may be identified as avoidance spaces or volumes210. The avoidance spaces may also include caution zones. For example, an avoidance space may include a direct boundary of the spinal cord162and a caution zone may be a distance therefrom, such as 1 millimeters (mm), including about 0.5 mm to about 2 mm, etc. The avoidance spaces may be saved and recalled, such as with the navigation processing unit70. The avoidance spaces or caution zone may be selected or determined to have selected distances that may vary depending upon an approach direction and/or pose of an instrument during or at the approach. For example, an anterior approach to an anatomical feature may include a 1 mm avoidance space while a posterior approach may include a 3 mm avoidance space. Thus, an avoidance space relative to a feature may vary depending upon a direction of an approach thereto. The direction and/or pose of the approach of an instrument may be determined with the navigation, as discussed herein. Accordingly, these inputs may be provided to the controller144for controlling the drill assembly20. Further, during a selected procedure, tracking or navigation data70ifrom the navigation processing unit70may also be input with the controller144. The navigation data can include the determination of a pose of the drill assembly20and/or the tool32and/or a tool tip32t. The tool tip32tmay include a working or distal end of the tool32and may be any appropriate tool tip. For example, the tool tip32tmay be a drill, a tap, a burr, or other appropriate tool tip.

In addition to the navigation data70ifrom the navigation processor70and the identification of the avoidance spaces210as inputs, other selected sensors may also be provided to provide information regarding operation of the drill assembly20. For example, a motor sensor220may be included in the drill assembly20. The motor sensor220may include any appropriate type of sensor and may include a motor position sensor, include or provided to determine a back voltage or EMF from the motor of the drill assembly, etc. In various embodiments, the motor sensor220may include a voltage sensor regarding a back voltage or speed sensor of an actual speed of the tool32relative to an input voltage and/or selected input speed of the tool32. Accordingly, the sensor220and/or a signal related thereto can provide information regarding the speed of the tool32relative to a selected input speed.

Additional tool or tool tip sensors230may also be provided. The tool tip sensors230may include an electrical sensor or continuity sensor234(seeFIG.7A-7D). The electrical sensor234, as one of the sensors230, may be any appropriate sensor for a nerve integrity monitoring system to sense continuity or an electrical signal being transmitted or transmitting a signal through a selected nerve, such as the spinal cord162. The electrical sensor234may be part of a nerve integrity monitoring system (NIMS) and may provide input in sensing regarding proximity to the spinal cord162, or other appropriate nerves. Appropriate NIMS may include the NIM® Nerve Monitoring Systems sold by Medtronic, Inc., such as the NIM 3.0 Nerve Monitor, the NIM-Response® 3.0, and NIM-NEURO® 3.0 monitoring systems all sold by Medtronic, Inc. Further, the sensors230may also include vibration, sound, or ultra-sound sensors that may sense vibration at or near the tool tip32t, the tool32, or other locations relative to the tool32. The sensors230, according to various embodiments, may also provide an indication of vibration and/or sound, force, and other parameters to be sensed near or at the working end32tof the tool32. Also, more than one sensor may be provided or several may be integrated into a single unit.

All of the input information200may be provided to the controller144. Further, the user24may input various parameters240. The selected operation parameters may include parameters such as selected feedback to the user24, operation of the drill assembly20, or other appropriate feedback or notifications of the user. Further, the parameters may include a distance from the avoidance spaces210to provide feedback and/or other operation of the drill assembly20.

The drill controller144based upon the inputs200and the selected operation parameters240may make selected determinations and/or feedback or controls. Generally, the drill controller144, may make a determination of proximities at block250, determination of kinematics of the tool assembly20and/or the tool32at block260, and determination of contacts in block270. The determination of proximities250may be based upon selected information, such as the navigation information or inputs70ifrom the tracking system including the navigation assembly or processing unit70. The determination of kinematics in block260may also be based at least in part on the navigation data70i, that may be used to determine speed, direction, etc. of movement of the drill assembly20and/or the tool32. Further, the determination of contacts in block270may be determined or determining whether the tool32, including the tool tip32t, is contacting selected portions of the anatomy including selected bony portions. The determinations discussed further herein determined by the drill controller144illustrated inFIG.3is merely an exemplary illustration of the determination or operation of the system.

Nevertheless, the determinations by the drill controller144may further include determining the drill operation parameters in block280. The determination of the drill parameters in block280may include selected operation parameters of the drill assembly20, as discussed further herein. The determined operation parameters in block280may then be used to optionally notify the user in block284. Notification of the user24in block284may include a visual indication on the display screen84, an audio or audible signal, or other appropriate feedback, such as providing a haptic feedback with a haptic engine in the drill assembly20. Accordingly, the user24may be provided feedback separate from the drill20, such as with the display screen84.

The drill controller144may also control the drill20according to the determined parameters in block290. For example, the drill controller144may control the drill assembly20, such as the motor of the drill assembly20in a selected manner as determined in the operation parameters from block280. As discussed further herein, operation of the drill motor may include rotating the drill motor and the associated tool32at a selected speed, oscillating the tool32in a selected amount and/or selected speed, and/or ceasing operation of the drill motor on the tool32. The user24may also be provided a feedback based upon an operation of the instrument assembly20controlled by the controller144. Accordingly, notification to the user24may also be based upon operation of the drill assembly20and related operation of the tool32.

The selected inputs200may be used to make selected determinations in the drill controller for operation of the drill assembly20. The drill assembly20may then be operated based upon outputs from the drill controller144, such as to control an operation of the motor of the drill assembly20and therefore the tool32.

The controller, including the drill controller144, may receive various inputs, such as those from user24and/or from various sensors, as discussed above. With continuing reference toFIGS.1and2, and further reference toFIGS.4-7D, operation of the instrument20, which may include the drill motor, will be discussed. It is understood that the discussion herein is according to various embodiments, and that various disclosed features and inputs may be used in appropriate combination and/or without selected inputs, for operation of the instrument20. The discussion of all the various sensor and inputs herein is for completeness of the current discussion, and is understood by one skilled in the art that various inputs and sensors may not be provided for operation of the instrument20with the controller144.

With initial reference toFIG.4, a process or method310is illustrated. The process310may be carried out by a processor, such as the processor system70and/or processor included in the drill controller144. The processor may be designed to carry out specific instructions and/or be a general processor that carries out specific instructions that are saved and recalled from a memory system. Nevertheless, the process310may be used to assist in operating the drill assembly20for controlling the tool32and/or notifying the user24, as discussed further herein.

Generally, the process310begins at start block320. The process310may then define or recall avoidance spaces in block324. As discussed above, avoidance spaces may be those identified by the user24, recalled according to predetermined restrictions or selections, or other appropriate mechanisms. As discussed above, in various embodiments, the image data and images may be segmented. The user24may then identify various portions of the segmented images and/or assist in the segmentation. For example, the user34may identify the spinal cord162and/or other portions, such as roots or nerves166extending therefrom. These portions may be visually identified in the image120and/or identified in a navigation space relative to the subject28.

The definition or recalling of avoidance spaces may be used to determine operation of the drill20, as discussed further herein. The system may also define or recall instrument operation parameters in block328. The instrument operation parameters may include operation of the drill motor20for operation of the tool32. In various embodiments, the tool32may be rotated continuously in a single direction, such as around the axis420. Generally, the tool32may rotate around its axis or an axis at selected speeds. Accordingly, a selection of a continuous rotation and a speed may be determined and recalled based on various inputs, as discussed further herein.

Further, the tool32may be oscillated. That is the tool will rotate a selected amount in a first direction, then stopped, then rotated in another direction. For example, the tool32may be rotated in a first direction about 90 degrees from a start point and then stopped and rotated a selected amount, such as about 90 to about 180 degrees in the direction it originally came from. The tool32may then operated or controlled to continue to oscillate a selected amount, such as about 90 to about 180 degrees about its axis. It is further understood that the amount of oscillation may be changed and/or selected within a selected range such as about 1 degree to about 1500 degrees, including about 30 degrees top about 240 degrees, etc., of oscillation. In various embodiments, the amount of oscillation may include full rotations, such as one or even two full rotations (360 or 720 degrees) in one direction and then rotating the opposite direction a selected, such as the same, amount. The amount of oscillation may be selected for various purposes, such as to reduce drilling or material removal speed (e.g. moving, drilling, or moving through bone). Oscillation may also reduce the possibility and/or amount of tissue wrap, particularly compared to continuous one direction rotation. Further, the speed of oscillation may also be selected and used for operation of the tool32. Further, the tool32may be stopped and/or started, such as to initiate or stop any of the other parameters of the drill motor20for operation the tool32. As discussed further herein, the instrument operation parameters may be selected by the user24based upon or for when certain conditions are met. Accordingly, the user24may select an input in block240of parameters for operation of the drill20. In various embodiments, the motor controller144may include preset or default parameters that the user24may select and/or a menu of operation parameters from which the user24may select. In various embodiments, however, the parameters may be entirely customized by the user24, for various purposes.

The defining or recalling avoidance spaces in block324and the defining or recalling instrument operations in block328may be based upon initial operation or “set-up” of the operation of the drill20and it may be understood to be a preparation or recall phase block332. The operation of the drill20may then be carried out by the motor controller144in operation block340. The operation block340may include operation of the drill20according the parameter and receiving inputs to determine which parameters to apply to the drill operation of the drill and the associated tool32.

In the operation block340, the motor controller144may receive inputs regarding the instrument20and/or tool32in block344. The receiving of inputs may include the inputs from block200, as discussed above. Accordingly, the inputs may include the predetermined avoidance spaces in block210that may be recalled in block324and/or navigation data in block70i. Other inputs may include the attachment or tool sensor in block230and the motor senor in block220. Regardless the operation of the drill20based upon the inputs received in block344may be to alter or select an operation of the drill20when the user24has selected to power on or power the drill20. Accordingly, the operation in block340may be after the user24has selected to operate or power the drill20.

Based upon the received inputs or after receiving input in block344a comparison may be made to the operation parameter input in block332. The operation parameters may include the avoidance spaces and caution zones, as discussed above, relative thereto in block324and the operation of the drill motor and tool in block328. The comparison to the received inputs to the operation parameters may be determining whether the tool32is near or at an avoidance space, a determination of whether the drill is in a full rotation or oscillation mode, and/or other comparisons. As discussed further herein, for example, the tool32may be operated at a full rotation at a selected distance from the avoidance spaces and at an oscillation at a second distance (e.g., a caution zone) relative to the avoidance spaces. Accordingly, a comparison of the received inputs in block348to the operation parameters from block332may be made in block348. After making the comparison in block348, a determination of operation of the drill20may be made in block352. As discussed above, the operation of the drill20may be based upon the selected inputs relative or compared to the defined parameters or other rotations, as discussed above. The drill20may be determined to be operated at a full rotation, oscillation, or other appropriate operation parameter as define in block328.

After determining an operation of drill in block352a comparison of the determined operation to the current operation is made in block358. The current operation may be a selected operation of the drill, such as the full rotation due to a prior input in comparison. In various embodiments, the inputs may be updated or checked at a selected frequency, such as once every second, ten times a second, once every millisecond, or any appropriate rate. Further, the update rate may change based upon a speed of the drill, such as based upon rotation speed and/or a travel speed determined by the navigation. Nevertheless, the comparison of the determined operation block352may be made to the current operation in block358.

After the comparison in block358, a determination of whether the operation of the drill needs to change in block362may be made. For example, if the comparison in block358finds a match between the determined operation and the current operation a determination block362then no change is determined to be needed and a NO path366may be followed. If, however, the comparison in block358finds that there is not a match between the determined operation and the current operation, a determination in block362may be that the operation of the drill does need to change and a YES path370is followed.

In operation, the determination in block362may be made by executing selected instructions and/or algorithms. In various embodiments, physics regarding motion and pose of the instrument may be considered and/or machine learning algorithms may be used to integrate several data sources and inputs for making the determination. Various situations may be detected via multiple sensors and use of machine learning to determine skiving and bone breakthrough. Thus, multiple data streams from the inputs or sensors200may and/or are used to determine drill operation. Navigation data70iincludes both tracking data (e.g., current and recent past tool positions and orientations) as well as imaging data (e.g. tool with respect to and within patient anatomies). One example is using navigation data70iis used to determine kinematics via physics based algorithms260, navigation data70iand avoidance space210data to determine proximities250via physics and/or machine learning based algorithms. Further, all of these as well as system parameters240may be used to determine drill parameters via optimization and/or machine learning based algorithms280. Additionally use navigation data70iand motor sensing220and/or other sensing data230may be used to determine contacts270via physical, statistical, or machine learning algorithms. Also, again, all these things as well as system parameters may be used to determine drill parameters280via optimization or machine learning algorithms.

Accordingly, if the NO path366is followed, a determination of whether an off signal is received in block374may be made. If an off signal is not received (i.e. to stop operation of the drill20) a NO path378may be followed to again receive inputs in block344. Thus, the operation of the drill may be a loop until an off signal is determined to be received at block374. Accordingly, if a received off signal is received in block374, a YES path382may be followed and operation of the drill may be ceased or it may be turned off in block386.

As discussed above, the determination block362may be that the determined operation does not match the current operation. Thereafter, a YES path370may be followed. In following the YES path370, a notification to the user24that the operation of the drill20will change may optionally be made in block390. The notification of the user24that the operation of the drill20will change may be a visual indication, such as displayed on the display screen84, an audible notification, a haptic or touch sense of feedback, or other appropriate notification. The notification to the user in block390may identify or indicate to the user24that operation of the drill20will change at a selected time, such as immediately, after a selected period, or the like.

Changing operation of the instrument or the drill in block394may then follow. As discussed above, the drill20may be operated in a selected or according to a selected operation parameter, such as those recalled in block328. Accordingly, if a determination is made that the comparison of the determined operation and the current operation does not match, the YES path370may lead to changing operation of the instrument in block394. In various embodiments, as discussed further herein, the change of operation may be from a full rotation to an oscillation, a change in speed (e.g., increase or decrease in speed), or other change in operation of the instrument or drill in block394. After changing operation of the drill in block394, the operation process340may again loop to receive inputs in block344.

Accordingly, the drill20may be operated according to the process340in a substantial loop manner until a signal to turn off the drill is received. The signal may be a manual signal from the user24, such as with a foot switch, hand switch, or other appropriate switch. Other off signals may also include an off signal to cease operation of the drill after a selected period of time, a selected distance of movement, or the like.

With continuing reference toFIGS.3and4, and additional reference toFIGS.5A,5B,5C,5D, and5E, in various embodiments the drill20may be operated to operate or move the tool32, such as its tip32trelative to various portions of the subject28, such as the vertebrae36. The drill20, or any appropriate portion of the instrument20may be held by the user24. It is understood, however, that the drill20may also be held or positioned with a selected mechanism, such as a robotic system (e.g., Mazor X Stealth Edition® robotic assisted surgical systems sold by Medtronic, Inc.) that may hold, control, and/or move the drill20in a selected direction, such as substantially axially along an axis400of the tool32. The tool32, such as with the drill20, however, may also be held with a substantially rigid member or the like for operation or movement or holding of the tool32. As discussed herein, the tool32may rotated about the axis400(and/or a line generally parallel thereto) and/or oscillate about the axis400(and/or a line generally parallel thereto).

The tool32may be operated according to a selected operation parameter, as discussed above for performing a selected procedure. For example, the tool32may include the tool tip that may be operated to remove a selected portion of the vertebrae36, such as a portion or all of the facet150. The vertebrae36may include various types of bone portions such as a cortical bone portion404that is formed at or near an exterior of the bone facet150and a cancellous bone portion408that may be formed within the bone relative to the cortical bone404, such as near an interior of the bone36. Accordingly, the cortical bone portion404may include a first cortical bone portion404aand a second cortical bone portion404b. As illustrated inFIG.5A, the first cortical bone portion404ais near a spinous process412of the vertebrae36and substantially posterior relative to the subject28. The second cortical bone portion404bis, therefore, near the spinal cord162and more anterior to the subject28. It is understood, however, that the cortical bone portions404may surround the cancellous bone portions408in the bone, such as the vertebrae36.

Generally, the cortical bone404is denser than the cancellous bone portion408. Thus, a greater force, such as a greater torque, may be required to remove or drill through the cortical bone404than the cancellous bone408. As discussed further herein, therefore, the motor sensor220may sense operation of the motor143for operation of the tool32that may vary due to the different bone portions or bone types, such as the cortical bone404and the cancellous bone408. Given the differences in the bone, moving through the cortical bone slowly may require a lesser torque and the cancellous bone more quickly may require a greater torque. These conditions and operating parameters may be useful for operation. For example, combining navigation and motor data can determine contact type more reliably than navigation or motor data alone.

During movement of the tool32relative to the vertebrae36, such as through the cortical bone404and/or the cancellous bone408toward the and/or relative to the spinal cord162, the navigation system may track the tracking device98,98′ relative to the tool32and/or the drill20. During operation of the tool32, the drill20, including the motor143, may power the tool32and move the tool32relative to the vertebrae36. The tracking device98,98′ may be used to determine a position of the tool32relative to the vertebrae36and/or the spinal cord162. As discussed above, the boundary of the spinal cord162and/or a boundary of the vertebrae36may be used to define various avoidance spaces or volumes.

During selected positions of the tool32relative to selected avoidance spaces, such as at or near the spinal cord162, the tool32may be operated by the motor20for a substantially full rotation manner, as illustrated by a circle420, generally or substantially around the axis400or a line generally parallel thereto. In full rotation at a selected speed, such as a maximum speed, the tool tip32tmay move through the bone, such as the facet150, at a selected maximum rate. Accordingly, the cortical bone404aand the cancellous bone408may be drilled through at a selected speed. Further, the tracking device98,98′ may be used to determine the positon of the tool tip32trelative to any appropriate portion of the image data, such as the spinal cord162. Thus, as discussed above, during a selected determined (e.g., navigated) position of the tool tip32t(such as at distances away from the avoidance spaces) which may include boundaries of the spinal cord162, the drill20may be operated at a maximum rotational speed for efficient and quick drilling or movement through the facet150.

During operation of the drill20, the tool32having the tool tip32tmay engage the cortical bone404and the cancellous bone408. The cortical bone404, due to it being harder, may cause a greater resistance on the tool tip32t. Accordingly, the motor sensor220may sense a first back voltage from the motor regarding the additional force required to rotate the tool32at a selected or determined speed or rotation of the tool32. The motor sensor220may also sense a second back voltage when the tool encounters the cancellous bone408, which may be less dense than the cortical bone404, and the speed of the tool32may be easier to achieve. Thus, at least two or different back voltages may be sensed that may be due to different bone being encountered by the tool32. As discussed above, the motor may also operate in a sensorless manner where the motor may itself be used to determine back EMF for control of the motor.

Further, the position of the tool32and the tool tip32tmay be tracked and determined with the selected tracking device98,98′. As is generally understood by one skilled in the art, the tool tip32tmay have a known distance from the tracking device98,98′ which may be connected to the drill20. Accordingly, as the drill20moves, the tracking device98,98′ may move and the position of the tool tip32tmay be known.

As illustrated inFIG.5A, the tool tip32tmay be positioned a distance from the facet150. As illustrated inFIG.5B, however, the tool tip32may engage the facet150. As the tool tip32tengages the facet150it may initially engage the cortical bone404a. The tracking device98,98′ may track the position of the tool tip32tand the navigation system may determine and/or display the position of the tool tip32t. As the tool tip32tis at the cortical bone404a, and a selected distance away from the spinal cord162, the tool32may be selected to rotate in a selected direction and/or speed, as discussed above. Accordingly, when the tool tip32tis a selected distance away from the spinal cord162, or other selected avoidance zone or area, the tool32and the associated tool tip may be rotated at a selected speed, which may be selected by the user24.

Further, the tool32may be rotated at a selected speed with no alteration thereof, as long as the tool32is in a selected planned position. As illustrated inFIGS.5A and5B, a plan430may be identified relative to the facet150. The plan430may include a geometry or volume or trajectory of the tool32, including the tool tip32t. Thus, as long as the tool32is in a selected position, such as within the planned volume or area430, and a selected distance from the avoidance areas, including the spinal cord162, the tool32may rotate a selected speed and/or direction or type, such as in the direction of420. Accordingly, the tool32may continue to operate in a full rotation and at a selected speed when navigated at a selected part of the plan. Further, the sensor220may sense a back voltage to the motor to assist in determining that the tool tip32tis in or passing through the cortical bone404a.

With reference toFIG.5C, the tracking device98,98′ can be used to determine or navigate a position of the tool tip32t. As illustrated inFIG.5C, the tool tip32may be within the planned trajectory430, but also a selected distance or determined distance450from the spinal cord162, which may be determined to be an avoidance space. Accordingly, the drill20may operate to oscillate the tool32, generally or substantially around the axis400or a line generally parallel thereto. In oscillating the tool, the tool32may rotate a first distance in the direction of arrow454, stop, and then rotate a second distance in the direction of the arrow458. The two arrows, as illustrated inFIG.5C, may be opposed to one another to illustrate an oscillation of the tool32.

The distance450may be a selected distance from the spinal cord162such that the operational parameters, as discussed above, may allow a large oscillation. As illustrated inFIG.5C, the oscillation may be about 280 degrees to about 360 degrees around the axis400of the tool32. Accordingly, a large oscillation may still allow for efficient or quick cutting of the vertebrae36, however, with more control and/or feedback to the user regarding a tracked position of the tool32.

Further, as illustrated inFIG.5C, the tool tip32may be positioned within the cancellous bone408. Accordingly, the motor sensor220may sense a back voltage for operation of the motor. The motor sensor220may be used to sense the torque applied to the tool tip32tto move through the bone and further assist in determining a position of the tool tip32relative to the vertebrae36and/or the spinal cord162. As discussed above, various portions of the anatomy may be determined and/or segmented and therefore the type of bone relative to the spinal cord162may be determined and known. The tracked position of the drill20, and the related tool32, may be used to determine a position relative to the avoidance space in addition and/or alternatively to other sensors, such as the motor sensor220, which may be used to assist in determining or sensing the type of bone being counted.

Turning reference toFIG.5D, the tool tip32thas moved closer to a distance462from the spinal cord162. The tracked or navigated position of the tool tip32tmay be determined with the tracking device98,98′. The distance462may be a selected distance to further alter operation or rotation of the tool32. As illustrated inFIG.5D, the tool tip may continue to oscillate in the direction as illustrated by the arrows454,458, but in a smaller oscillation, generally or substantially around the axis400or a line generally parallel thereto. As illustrated inFIG.5D, for example, the oscillation of the tool may include an arc that equals less than the total arc illustrated inFIG.5C. For example, the oscillation in the direction of arrow454may be along an arc470that is about 50 degrees to about 120 degrees, including about 90 degrees. Further, the oscillation in the direction of the arrow458may be along an arc474that may be a selected distance, such as about 50 degrees to about 120 degrees, and including about 90 degrees. Thus, the oscillation illustrated inFIG.5Dwhen the tool tip32tis the distance462from the avoidant space, such as the spinal cord162, may be less than the oscillation when the tool tip32tis the distance450from the avoidance space. As illustrated inFIG.5D, for example, as the tool tip32is closer to the avoidance space, the oscillation of the tool32may be reduced. Further, the speed of the oscillation may be reduced. Accordingly, the user24may receive feedback due to the operation of the drill20regarding a position of the tool tip32trelative to the avoidant space.

With reference toFIG.5D, the tool tip32may enter or be entering the cortical bone404b. As discussed above, the motor sensor220may sense the high voltage to the motor when the tool tip32tencounters the cortical bone404b. The change from the cancellous bone408to the cortical bone404bmay be determined or sensed with the motor sensor220. Accordingly, both the tracked position with the tracking device98,98′ and the sensing of the motor operation by the motor sensor220may be used to assist in determining a position of the tool tip32trelative to the avoidance space, such as of the spinal cord162.

Finally, as illustrated inFIG.5E, the tool tip32may pass through the vertebrae36. The tool tip32t, therefore, may be a distance480from the spinal cord162, which may be the avoidance space. In this position, the tool32may be stopped such that the tool32does not rotate any longer. The position of the tool tip32tmay be determined based upon the tracking of the tracking device98,98′. Further, the motor sensor220may be used to sense that the tool is no longer engaging or encountering as much resistance wherein the tool tip32passes through or partially passes through the vertebrae. Therefore, the sensor220may also provide sensing of operation of the motor143to assist in determining the position of the tool tip32t.

Thus, the tool32may be used to perform a procedure. The tracked position of the tracking device98,98′ may be used to determine the position of the tool tip32t. Based upon the tracked position of the tool tip32t, the motor of the drill20may be operated to allow for full rotation at a selected speed, oscillate a selected amount, reduce oscillation, and/or stop operation of the motor and the tool32. This may provide feedback to the user regarding position of the tool tip32tand/or assist in efficiently or effectively drilling through the vertebrae36, or a selected portion of the subject24, while having feedback and operation of the tool32based upon predetermined selected spaces or volumes.

As discussed and illustrated inFIGS.5A-5E, an exemplary application, according to various embodiments, of the inputs and operation of the drill20, as illustrated inFIG.3, and the process310, as illustrated inFIG.4, is included. As discussed above, various operation parameters of the drill20may be initially input or recalled. Based upon tracking and determining the position of the tool32and/or the tool tip32t, the drill20may be operated to change a speed, direction, rotation and/or oscillation, or stop. Thus, the drill20may be operated according to a predetermined and/or recalled tool operation parameters based upon a tracked or determined position of the drill20and/or the tool32and/or the tool tip32t. Additionally, sensors, such as the motor sensor220may be provided to include or provide additional inputs for operation of the drill20. The drill20, therefore, may be operated based upon the input parameters and tracked position and/or sensed operation of the motor.

As illustrated inFIG.6, for example, the drill20that may include the electric motor143that operates based upon the position of the tool tip32t, relative to the subject.FIG.6illustrates a graph500of operation of the drill20, relative to the tool32and the vertebra36. The Y-axis indicates a voltage sensed by the motor sensor220and the X-axis shows time. Additionally, a top bar504illustrates a change in type of rotation or movement of the tool32over time. Accordingly, as discussed above, the tool32may have an initial stop or start up at508, rotate, such as in the direction of the arrow420, at time510, oscillate, as discussed above, at time512, and again stop at516. The graph illustrates the change in voltage sensed by the motor sensor220that may correlate to the different types of rotation as illustrated in the row504.

The bottom bar520, along the Y-axis, illustrates the type of bone that may be associated with the various changes in the sensed voltage. The change or different voltages may be predetermined. As discussed above, the bone of the vertebrae36may include a cortical portion404a, a cancellous portion408, and a second cortical portion404b. As the tool tip32tengages the different types of bone, as illustrated in the row520, the voltage sensed at the motor sensor220may alter as illustrated in the graph500. The sensor220may send a signal to the motor controller144to assist in determining or altering an operation of the motor drill20. Accordingly, the voltage sensed at the motor sensor220may assist in operating or determining the operation of the drill20.

Turning reference toFIGS.7A,7B,7C, and7D, the drill20may be operated, again, to engage or interact with a selected portion of the subject, such as the vertebrae36, including the facet150. Again, the spinal cord162may generally be near or at the vertebrae36. The spinal cord162, for example, may again be identified as an avoidance space or region. Further, extending from the spinal cord162may be various nerve bundles166. The nerve bundles166may also be defined as avoidance spaces or volumes in a manner similar to that discussed above regarding the spinal cord162. Again, the avoidance spaces may be identified and displayed on the display screen82and/or sent and recalled for various purposes, such as operation of the drill20.

As discussed above, therefore, the avoidance spaces, which may be defined relative to or by the spinal cord162and/or nerves166relative thereto, and may be used for selecting operation of the drill20. The tracking device98,98′ may be associated with the drill20, such as connected thereto. Thus, the navigation system or tracking system may track and determine the position of the drill20and the tool32related thereto. The tool32may include a selected tool, such as a burr or router portion, to remove a selected portion of the anatomy, such as a portion of the facet150. The tool132may remove the facet material generally by moving in the direction of arrow540. By moving in the direction of arrow540the tool32, including the tool tip32t, may remove a selected portion of the facet150.

In addition to the tracking device98,98′ associated with the drill20, additional sensors may be associated with the drill20. As discussed above, the motor sensor220may be provided to sense the operation or voltage applied by the motor and/or feedback to the motor. In addition to the sensor, or alternatively to a motor sensor220and/or the tracking device98,98′, the electrical conductivity or integrity sensor234may be provided near the tool32. The conductivity sensor234may include a nerve integrity monitoring device sensor that may sense a signal provided through the spinal cord162and/or other nerve pathways, such as the nerves166. The conductivity sensor234may include those included or similar to those included with the NIM® monitoring systems sold by Medtronic, Inc. Accordingly, the integrity sensor234may sense a signal and transmit the signal to an appropriate location for processing, such as the drill motor controller144.

As illustrated inFIG.7A, for example, the tool32, associated with the drill20, may have its location tracked and determined with the tracking device98,98′. At an initial position550, the tool32may rotate at a selected speed, such as generally in the direction of arrow560, generally or substantially around the axis400or a line generally parallel thereto. The drill20may be moved generally in the direction of arrow540to initiate or remove a selected portion of the bone, such as of the vertebrae36. The tool32may continue to move generally in the direction of arrow540, which may move the tool32nearer to the nerve166. Again, the position of the tool32may be tracked or determined based upon the tracking device98,98′.

At a selected second distance, such as a distance564, the tool32may still rotate generally in the entire rotation direction illustrated by the arrow560, but may have an altered speed, based upon the operation of the drill according to the various recalled parameters, such as those discussed above in the operation subroutine340and in the motor controller144. Again, the operation of the drill20and the associated tool32may be based upon various determinations. The predetermined operation parameters may be based on the determined proximities, such as a proximity to the nerve16, the determined kinematics such as determined in block260, and the like. This may be determined based upon tracking the tracking device98over time. Accordingly, if the tool32is moving at a selected speed, such as greater than 1 mm or 1 centimeter per minute, at the distance564, the rotational speed in the direction of the arrow560may be altered, such as reduced. Accordingly, the speed and direction of movement of the tool32may be used to assist in selecting the parameters for controlling the drill20at a selected time.

Turning reference toFIG.7C, the integrity sensor234may be near the nerve166. At a selected proximity, the integrity sensor234may sense the signal through the nerve166. The integrity sensor signal through the integrity sensor234and/or the position determined with the tracking device98,98′ may be used to determine a change in an operation parameters of the drill20. At the selected distance and/or signal sensing by the integrity sensor234the operation of the tool32may be changed to an oscillation, such as illustrated by the two arrows580and584, generally or substantially around the axis400or a line generally parallel thereto. Again, the oscillation may be any selected oscillation, such as generally in an arc in selected directions, such as an arc of about 50 degrees to about 140 degrees, such as including the arc586and588. Thus, the various inputs, including proximities determined in block250, kinematics determined in block260, and contacts determined in block270may be used to assist in determining or selecting an operation of the drill20for the tool32. Further, the drill20may be operated based upon the inputs selected by the user, and the various inputs of one or more of the sensor as discussed above.

As illustrated inFIG.7D, the integrity sensor234may sense contact or emanate contact with the nerve166. The integrity sensor234, therefore, may transmit a signal based thereon and a determination that the tool32should be stopped may be determined. Thus, rotation of the tool32may be eliminated. Again, the integrity sensor234may sense contact or substantially near contact with the nerve166. Additionally, the tracked position of the drill20may be made with the tracked device98,98′, as discussed above. The various inputs may be used to determine operation of the drill20according to the process310, including the operational process portion340, and the various inputs based upon the controller144execution thereof, as also discussed above.

Accordingly, various sensor may be provided to sense operation of the drill20and/or movement of the drill20or the tool32. The various inputs may be used to determine various parameters relative to the tool32, such as contacts, proximities, and kinematics to assist in selecting and/or determining an operation of the drill20. The operation parameters may be based on the position determined with a navigation system, such as with the tracking device98,98′, and one or more other sensor inputs may also be provided. As discussed above, the motor sensor220, the integrity sensor234, and other appropriate sensors may be provided to provide input for execution of selected instructions to operate the drill20.

Example embodiments are provided so that this disclosure will be thorough, and will fully convey the scope to those who are skilled in the art. Numerous specific details are set forth such as examples of specific components, devices, and methods, to provide a thorough understanding of embodiments of the present disclosure. It will be apparent to those skilled in the art that specific details need not be employed, that example embodiments may be embodied in many different forms and that neither should be construed to limit the scope of the disclosure. In some example embodiments, well-known processes, well-known device structures, and well-known technologies are not described in detail.

Instructions may be executed by a processor and may include may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, data structures, and/or objects. The term shared processor circuit encompasses a single processor circuit that executes some or all code from multiple modules. The term group processor circuit encompasses a processor circuit that, in combination with additional processor circuits, executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above. The term shared memory circuit encompasses a single memory circuit that stores some or all code from multiple modules. The term group memory circuit encompasses a memory circuit that, in combination with additional memories, stores some or all code from one or more modules.

The apparatuses and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs. The computer programs include processor-executable instructions that are stored on at least one non-transitory, tangible computer-readable medium. The computer programs may also include or rely on stored data. The computer programs may include a basic input/output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services and applications, etc.

The computer programs may include: (i) assembly code; (ii) object code generated from source code by a compiler; (iii) source code for execution by an interpreter; (iv) source code for compilation and execution by a just-in-time compiler, (v) descriptive text for parsing, such as HTML (hypertext markup language) or XML (extensible markup language), etc. As examples only, source code may be written in C, C++, C#, Objective-C, Haskell, Go, SQL, Lisp, Java®, ASP, Perl, Javascript®, HTML5, Ada, ASP (active server pages), Perl, Scala, Erlang, Ruby, Flash®, Visual Basic®, Lua, or Python®.

Communications may include wireless communications described in the present disclosure can be conducted in full or partial compliance with IEEE standard 802.11-2012, IEEE standard 802.16-2009, and/or IEEE standard 802.20-2008. In various implementations, IEEE 802.11-2012 may be supplemented by draft IEEE standard 802.11ac, draft IEEE standard 802.11ad, and/or draft IEEE standard 802.11ah.

A processor or module or ‘controller’ may be replaced with the term ‘circuit.’ The term ‘module’ may refer to, be part of, or include: an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog/digital discrete circuit; a digital, analog, or mixed analog/digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.

The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the invention, and all such modifications are intended to be included within the scope of the invention.