The present disclosure relates to medical devices, and more particularly, surgical navigation systems and related methods and devices.
Medical imaging systems may be used to generate images of a three-dimensional (3D) volume of a body. Position recognition systems can be used to determine the position of and track a particular object in 3D). In robot assisted surgeries, for example, certain objects, such as surgical instruments, may need to be tracked with a high degree of precision as the instrument is being positioned and moved by a robot or by a physician, for example.
Infrared signal based position recognition systems may use passive and/or active sensors or markers to track the objects. In passive sensors or markers, objects to be tracked may include passive sensors, such as reflective spherical balls, which are positioned at strategic locations on the object to be tracked. Infrared transmitters transmit a signal, and the reflective spherical balls reflect the signal to aid in determining the position of the object in 3D. In active sensors or markers, the objects to be tracked include active infrared transmitters, such as light emitting diodes (LEDs), and thus generate their own infrared signals for 3D detection. With either active or passive tracking sensors, the system then geometrically resolves the 3D position of the active and/or passive sensors based on information from or with respect to one or more of the infrared cameras, digital signals, known locations of the active or passive sensors, distance, the time it took to receive the responsive signals, other known variables, or a combination thereof.
These surgical systems can therefore utilize position feedback to precisely guide movement of robotic arms and tools relative to a patients' surgical site. However, these systems lack an ability to virtually plan and prepare for the placement of some tools and implants prior to the surgery.
According to some embodiments of inventive concepts, methods may be provided to operate an image-guided surgical system using imaging information for a 3-dimensional anatomical volume. A pose of a probe that defines a longitudinal axis may be detected based on information received from a tracking system. A placement of a virtual implant for the 3-dimensional anatomical volume can be determined based on the pose of the probe and based on an offset from an end of the probe along the longitudinal axis, such that a trajectory of the virtual implant is in alignment with the longitudinal axis of the probe in the pose. After determining the placement of the virtual implant, the virtual implant can be adjusted responsive to movement of the probe while maintaining the trajectory of the virtual implant.
According to still other embodiments of inventive concepts, a surgical navigation system using imaging information for a 3-dimensional anatomical volume can include a processor and a memory coupled with the processor. The memory can include instructions stored therein. The instructions can be executed by the processor to cause the processor to detect a pose of a probe that defines a longitudinal axis based on information received from a tracking system. The instructions can be executed by the processor to further cause the processor to determine a placement of a virtual implant for the 3-dimensional anatomical volume based on the pose of the probe and based on an offset from an end of the probe along the longitudinal axis, such that a trajectory of the virtual implant is in alignment with the longitudinal axis of the probe in the pose. The instructions can be executed by the processor to cause the processor to, after providing the placement of the virtual implant, adjust the virtual implant responsive to movement of the probe while maintaining the trajectory of the virtual implant.
Other methods and related imaging and tracking systems, and corresponding methods and computer program products according to embodiments of the inventive subject matter will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such imaging and tracking systems, and corresponding methods and computer program products be included within this description, be within the scope of the present inventive subject matter, and be protected by the accompanying claims. Moreover, it is intended that all embodiments disclosed herein can be implemented separately or combined in any way and/or combination.
The accompanying drawings, which are included to provide a further understanding of the disclosure and constitute a part of this application, illustrate certain non-limiting embodiments of inventive concepts. In the drawings:
It is to be understood that the present disclosure is not limited in its application to the details of construction and the arrangement of components set forth in the description herein or illustrated in the drawings. The teachings of the present disclosure may be used and practiced in other embodiments and practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Unless specified or limited otherwise, the terms “mounted,” “connected,” “supported,” and “coupled” and variations thereof are used broadly and encompass both direct and indirect mountings, connections, supports, and couplings. Further, “connected” and “coupled” are not restricted to physical or mechanical connections or couplings.
The following discussion is presented to enable a person skilled in the art to make and use embodiments of the present disclosure. Various modifications to the illustrated embodiments will be readily apparent to those skilled in the art, and the principles herein can be applied to other embodiments and applications without departing from embodiments of the present disclosure. Thus, the embodiments are not intended to be limited to embodiments shown, but are to be accorded the widest scope consistent with the principles and features disclosed herein. The following detailed description is to be read with reference to the figures, in which like elements in different figures have like reference numerals. The figures, which are not necessarily to scale, depict selected embodiments and are not intended to limit the scope of the embodiments. Skilled artisans will recognize the examples provided herein have many useful alternatives and fall within the scope of the embodiments.
Turning now to the drawings,
With respect to the other components of the robot 102, the display 110 can be attached to the medical robot 102 and in some embodiments, display 110 can be detached from medical robot 102, either within a surgical room (or other medical facility) with the medical robot 102, or in a remote location. End-effector 112 may be coupled to the robot arm 104 and controlled by at least one motor. In some embodiments, end-effector 112 can comprise a guide tube 114, which is able to receive and orient a medical instrument 608 (described further herein) used on the patient 210. As used herein, the term “end-effector” is used interchangeably with the terms “end-effectuator” and “effectuator element.” Although generally shown with a guide tube 114, it will be appreciated that the end-effector 112 may be replaced with any suitable instrumentation suitable for use in surgery. In some embodiments, end-effector 112 can comprise any known structure for effecting the movement of the medical instrument 608 in a desired manner.
The medical robot 102 is able to control the translation and orientation of the end-effector 112. The robot 102 is able to move end-effector 112 along x-, y-, and z-axes, for example. The end-effector 112 can be configured for selective rotation about one or more of the x-, y-, and z-axis, and a Z Frame axis (such that one or more of the Euler Angles (e.g., roll, pitch, and/or yaw) associated with end-effector 112 can be selectively controlled). In some embodiments, selective control of the translation and orientation of end-effector 112 can permit performance of medical procedures with significantly improved accuracy compared to conventional robots that use, for example, a six degree of freedom robot arm comprising only rotational axes. For example, the medical robot system 100 may be used to provide medical imaging and/or to operate on patient 210, and robot arm 104 can be positioned above the body of patient 210, with end-effector 112 selectively angled relative to the z-axis toward the body of patient 210.
In some embodiments, the position of the medical instrument 608 can be dynamically updated so that medical robot 102 can be aware of the location of the medical instrument 608 at all times during the procedure. Consequently, in some embodiments, medical robot 102 can move the medical instrument 608 to the desired position quickly without any further assistance from a physician (unless the physician so desires). In some further embodiments, medical robot 102 can be configured to correct the path of the medical instrument 608 if the medical instrument 608 strays from the selected, preplanned trajectory. In some embodiments, medical robot 102 can be configured to permit stoppage, modification, and/or manual control of the movement of end-effector 112 and/or the medical instrument 608. Thus, in use, in some embodiments, a physician or other user can operate the system 100, and has the option to stop, modify, or manually control the autonomous movement of end-effector 112 and/or the medical instrument 608. Further details of medical robot system 100 including the control and movement of a medical instrument 608 by medical robot 102 can be found in co-pending U.S. patent application Ser. No. 13/924,505, which is incorporated herein by reference in its entirety.
The robotic medical system 100 can comprise one or more tracking markers 118 configured to track the movement of robot arm 104, end-effector 112, patient 210, and/or the medical instrument 608 in three dimensions. In some embodiments, a plurality of tracking markers 118 can be mounted (or otherwise secured) thereon to an outer surface of the robot 102, such as, for example and without limitation, on base 106 of robot 102, on robot arm 104, and/or on the end-effector 112. In some embodiments, at least one tracking marker 118 of the plurality of tracking markers 118 can be mounted or otherwise secured to the end-effector 112. One or more tracking markers 118 can further be mounted (or otherwise secured) to the patient 210. In some embodiments, the plurality of tracking markers 118 can be positioned on the patient 210 spaced apart from the medical field 208 to reduce the likelihood of being obscured by the doctor, medical tools, or other parts of the robot 102. Further, one or more tracking markers 118 can be further mounted (or otherwise secured) to the medical tools 608 (e.g., an ultrasound transducer, a screw driver, dilator, implant inserter, or the like). Thus, the tracking markers 118 enable each of the marked objects (e.g., the end-effector 112, the patient 210, and the medical tools 608) to be tracked by the robot 102. In some embodiments, system 100 can use tracking information collected from each of the marked objects to calculate the orientation and location, for example, of the end-effector 112, the medical instrument 608 (e.g., positioned in the tube 114 of the end-effector 112), and the relative position of the patient 210.
The markers 118 may include radiopaque or optical markers. The markers 118 may be suitably shaped include spherical, spheroid, cylindrical, cube, cuboid, or the like. In some embodiments, one or more of markers 118 may be optical markers. In some embodiments, the positioning of one or more tracking markers 118 on end-effector 112 can increase/maximize the accuracy of the positional measurements by serving to check or verify the position of end-effector 112. Further details of medical robot system 100 including the control, movement and tracking of medical robot 102 and of a medical instrument 608 can be found in U.S. patent publication No. 2016/0242849, which is incorporated herein by reference in its entirety.
Some embodiments include one or more markers 118 coupled to the medical instrument 608. In some embodiments, these markers 118, for example, coupled to the patient 210 and medical instruments 608, as well as markers 118 coupled to the end-effector 112 of the robot 102 can comprise conventional infrared light-emitting diodes (LEDs) or an Optotrak® diode capable of being tracked using a commercially available infrared optical tracking system such as Optotrak®. Optotrak® is a registered trademark of Northern Digital Inc., Waterloo, Ontario, Canada. In other embodiments, markers 118 can comprise conventional reflective spheres capable of being tracked using a commercially available optical tracking system such as Polaris Spectra. Polaris Spectra is also a registered trademark of Northern Digital, Inc. In some embodiments, the markers 118 coupled to the end-effector 112 are active markers which comprise infrared light-emitting diodes which may be turned on and off, and the markers 118 coupled to the patient 210 and the medical instruments 608 comprise passive reflective spheres.
In some embodiments, light emitted from and/or reflected by markers 118 can be detected by camera 200 and can be used to monitor the location and movement of the marked objects. In alternative embodiments, markers 118 can comprise a radio-frequency and/or electromagnetic reflector or transceiver and the camera 200 can include or be replaced by a radio-frequency and/or electromagnetic transceiver.
Similar to medical robot system 100,
Input power is supplied to system 300 via a power source 548 which may be provided to power distribution module 404. Power distribution module 404 receives input power and is configured to generate different power supply voltages that are provided to other modules, components, and subsystems of system 300. Power distribution module 404 may be configured to provide different voltage supplies to platform interface module 406, which may be provided to other components such as computer 408, display 304, speaker 536, driver 508 to, for example, power motors 512, 514, 516, 518 and end-effector 310, motor 510, ring 324, camera converter 542, and other components for system 300 for example, fans for cooling the electrical components within cabinet 316.
Power distribution module 404 may also provide power to other components such as tablet charging station 534 that may be located within tablet drawer 318. Tablet charging station 534 may be in wireless or wired communication with tablet 546 for charging table 546. Tablet 546 may be used by a doctor consistent with the present disclosure and described herein.
Power distribution module 404 may also be connected to battery 402, which serves as temporary power source in the event that power distribution module 404 does not receive power from input power 548. At other times, power distribution module 404 may serve to charge battery 402 if necessary.
Other components of platform subsystem 502 may also include connector panel 320, control panel 322, and ring 324. Connector panel 320 may serve to connect different devices and components to system 300 and/or associated components and modules. Connector panel 320 may contain one or more ports that receive lines or connections from different components. For example, connector panel 320 may have a ground terminal port that may ground system 300 to other equipment, a port to connect foot pedal 544 to system 300, a port to connect to tracking subsystem 532, which may comprise position sensor 540, camera converter 542, and cameras 326 associated with camera stand 302. Connector panel 320 may also include other ports to allow USB, Ethernet, HDMI communications to other components, such as computer 408.
Control panel 322 may provide various buttons or indicators that control operation of system 300 and/or provide information regarding system 300. For example, control panel 322 may include buttons to power on or off system 300, lift or lower vertical column 312, and lift or lower stabilizers 520-526 that may be designed to engage casters 314 to lock system 300 from physically moving. Other buttons may stop system 300 in the event of an emergency, which may remove all motor power and apply mechanical brakes to stop all motion from occurring. Control panel 322 may also have indicators notifying the user of certain system conditions such as a line power indicator or status of charge for battery 402.
Ring 324 may be a visual indicator to notify the user of system 300 of different modes that system 300 is operating under and certain warnings to the user.
Computer subsystem 504 includes computer 408, display 304, and speaker 536. Computer 504 includes an operating system and software to operate system 300. Computer 504 may receive and process information from other components (for example, tracking subsystem 532, platform subsystem 502, and/or motion control subsystem 506) in order to display information to the user. Further, computer subsystem 504 may also include speaker 536 to provide audio to the user.
Tracking subsystem 532 may include position sensor 504 and converter 542. Tracking subsystem 532 may correspond to camera stand 302 including camera 326 as described with respect to
Motion control subsystem 506 may be configured to physically move vertical column 312, upper arm 306, lower arm 308, or rotate end-effector 310. The physical movement may be conducted through the use of one or more motors 510-518. For example, motor 510 may be configured to vertically lift or lower vertical column 312. Motor 512 may be configured to laterally move upper arm 308 around a point of engagement with vertical column 312 as shown in
Moreover, system 300 may provide for automatic movement of vertical column 312, upper arm 306, and lower arm 308 through a user indicating on display 304 (which may be a touchscreen input device) the location of a medical instrument or component on a three dimensional image of the patient's anatomy on display 304. The user may initiate this automatic movement by stepping on foot pedal 544 or some other input means.
A tracking array 612 may be mounted on instrument 608 to monitor the location and orientation of instrument tool 608. The tracking array 612 may be attached to an instrument 608 and may comprise tracking markers 804. As best seen in
Markers 702 may be disposed on or within end-effector 602 in a manner such that the markers 702 are visible by one or more cameras 200, 326 or other tracking devices associated with the medical robot system 100, 300, 600. The camera 200, 326 or other tracking devices may track end-effector 602 as it moves to different positions and viewing angles by following the movement of tracking markers 702. The location of markers 702 and/or end-effector 602 may be shown on a display 110, 304 associated with the medical robot system 100, 300, 600, for example, display 110 as shown in
For example, as shown in
In addition, in some embodiments, end-effector 602 may be equipped with infrared (IR) receivers that can detect when an external camera 200, 326 is getting ready to read markers 702. Upon this detection, end-effector 602 may then illuminate markers 702. The detection by the IR receivers that the external camera 200, 326 is ready to read markers 702 may signal the need to synchronize a duty cycle of markers 702, which may be light emitting diodes, to an external camera 200, 326. This may also allow for lower power consumption by the robotic system as a whole, whereby markers 702 would only be illuminated at the appropriate time instead of being illuminated continuously. Further, in some embodiments, markers 702 may be powered off to prevent interference with other navigation tools, such as different types of medical instruments 608.
The manner in which a doctor 120 may place instrument 608 into guide tube 606 of the end-effector 602 and adjust the instrument 608 is evident in
End-effector 602 may mechanically interface and/or engage with the medical robot system and robot arm 604 through one or more couplings. For example, end-effector 602 may engage with robot arm 604 through a locating coupling and/or a reinforcing coupling. Through these couplings, end-effector 602 may fasten with robot arm 604 outside a flexible and sterile barrier. In some embodiments, the locating coupling may be a magnetically kinematic mount and the reinforcing coupling may be a five bar over center clamping linkage.
With respect to the locating coupling, robot arm 604 may comprise mounting plate 1216, which may be non-magnetic material, one or more depressions 1214, lip 1218, and magnets 1220. Magnet 1220 is mounted below each of depressions 1214. Portions of clamp 1204 may comprise magnetic material and be attracted by one or more magnets 1220. Through the magnetic attraction of clamp 1204 and robot arm 604, balls 1208 become seated into respective depressions 1214. For example, balls 1208 as shown in
With respect to the reinforcing coupling, portions of clamp 1204 may be configured to be a fixed ground link and as such clamp 1204 may serve as a five bar linkage. Closing clamp handle 1206 may fasten end-effector 602 to robot arm 604 as lip 1212 and lip 1218 engage clamp 1204 in a manner to secure end-effector 602 and robot arm 604. When clamp handle 1206 is closed, spring 1210 may be stretched or stressed while clamp 1204 is in a locked position. The locked position may be a position that provides for linkage past center. Because of a closed position that is past center, the linkage will not open absent a force applied to clamp handle 1206 to release clamp 1204. Thus, in a locked position end-effector 602 may be robustly secured to robot arm 604.
Spring 1210 may be a curved beam in tension. Spring 1210 may be comprised of a material that exhibits high stiffness and high yield strain such as virgin PEEK (poly-ether-ether-ketone). The linkage between end-effector 602 and robot arm 604 may provide for a sterile barrier between end-effector 602 and robot arm 604 without impeding fastening of the two couplings.
The reinforcing coupling may be a linkage with multiple spring members. The reinforcing coupling may latch with a cam or friction based mechanism. The reinforcing coupling may also be a sufficiently powerful electromagnet that will support fastening end-effector 102 to robot arm 604. The reinforcing coupling may be a multi-piece collar completely separate from either end-effector 602 and/or robot arm 604 that slips over an interface between end-effector 602 and robot arm 604 and tightens with a screw mechanism, an over center linkage, or a cam mechanism.
Referring to
To track the position of the patient 210, a patient tracking device 116 may include a patient fixation instrument 1402 to be secured to a rigid anatomical structure of the patient 210 and a dynamic reference base (DRB) 1404 may be securely attached to the patient fixation instrument 1402. For example, patient fixation instrument 1402 may be inserted into opening 1406 of dynamic reference base 1404. Dynamic reference base 1404 may contain markers 1408 that are visible to tracking devices, such as tracking subsystem 532. These markers 1408 may be optical markers or reflective spheres, such as tracking markers 118, as previously discussed herein.
Patient fixation instrument 1402 is attached to a rigid anatomy of the patient 210 and may remain attached throughout the medical procedure. In some embodiments, patient fixation instrument 1402 is attached to a rigid area of the patient 210, for example, a bone that is located away from the targeted anatomical structure subject to the medical procedure. In order to track the targeted anatomical structure, dynamic reference base 1404 is associated with the targeted anatomical structure through the use of a registration fixture that is temporarily placed on or near the targeted anatomical structure in order to register the dynamic reference base 1404 with the location of the targeted anatomical structure.
A registration fixture 1410 is attached to patient fixation instrument 1402 through the use of a pivot arm 1412. Pivot arm 1412 is attached to patient fixation instrument 1402 by inserting patient fixation instrument 1402 through an opening 1414 of registration fixture 1410. Pivot arm 1412 is attached to registration fixture 1410 by, for example, inserting a knob 1416 through an opening 1418 of pivot arm 1412.
Using pivot arm 1412, registration fixture 1410 may be placed over the targeted anatomical structure and its location may be determined in an image space and navigation space using tracking markers 1420 and/or fiducials 1422 on registration fixture 1410. Registration fixture 1410 may contain a collection of markers 1420 that are visible in a navigational space (for example, markers 1420 may be detectable by tracking subsystem 532). Tracking markers 1420 may be optical markers visible in infrared light as previously described herein.
Registration fixture 1410 may also contain a collection of fiducials 1422, for example, such as bearing balls, that are visible in an imaging space (for example, a three dimension CT image). As described in greater detail with respect to
At step 1504, an imaging pattern of fiducials 1420 is detected and registered in the imaging space and stored in computer 408. Optionally, at this time at step 1506, a graphical representation of the registration fixture 1410 may be overlaid on the images of the targeted anatomical structure.
At step 1508, a navigational pattern of registration fixture 1410 is detected and registered by recognizing markers 1420. Markers 1420 may be optical markers that are recognized in the navigation space through infrared light by tracking subsystem 532 via position sensor 540. Thus, the location, orientation, and other information of the targeted anatomical structure is registered in the navigation space. Therefore, registration fixture 1410 may be recognized in both the image space through the use of fiducials 1422 and the navigation space through the use of markers 1420. At step 1510, the registration of registration fixture 1410 in the image space is transferred to the navigation space. This transferal is done, for example, by using the relative position of the imaging pattern of fiducials 1422 compared to the position of the navigation pattern of markers 1420.
At step 1512, registration of the navigation space of registration fixture 1410 (having been registered with the image space) is further transferred to the navigation space of dynamic registration array 1404 attached to patient fixture instrument 1402. Thus, registration fixture 1410 may be removed and dynamic reference base 1404 may be used to track the targeted anatomical structure in both the navigation and image space because the navigation space is associated with the image space.
At steps 1514 and 1516, the navigation space may be overlaid on the image space and objects with markers visible in the navigation space (for example, medical instruments 608 with optical markers 804). The objects may be tracked through graphical representations of the medical instrument 608 on the images of the targeted anatomical structure.
Turning now to
When tracking an instrument 608, end-effector 112, or other object to be tracked in 3D, an array of tracking markers 118, 804 may be rigidly attached to a portion of the tool 608 or end-effector 112. Preferably, the tracking markers 118, 804 are attached such that the markers 118, 804 are out of the way (e.g., not impeding the medical operation, visibility, etc.). The markers 118, 804 may be affixed to the instrument 608, end-effector 112, or other object to be tracked, for example, with an array 612. Usually three or four markers 118, 804 are used with an array 612. The array 612 may include a linear section, a cross piece, and may be asymmetric such that the markers 118, 804 are at different relative positions and locations with respect to one another. For example, as shown in
In
To enable automatic tracking of one or more tools 608, end-effector 112, or other object to be tracked in 3D (e.g., multiple rigid bodies), the markers 118, 804 on each tool 608, end-effector 112, or the like, are arranged asymmetrically with a known inter-marker spacing. The reason for asymmetric alignment is so that it is unambiguous which marker 118, 804 corresponds to a particular location on the rigid body and whether markers 118, 804 are being viewed from the front or back, i.e., mirrored. For example, if the markers 118, 804 were arranged in a square on the tool 608 or end-effector 112, it would be unclear to the system 100, 300, 600 which markers 118, 804 corresponded to which corner of the square. For example, for the probe 608A, it would be unclear which marker 804 was closest to the shaft 622. Thus, it would be unknown which way the shaft 622 was extending from the array 612. Accordingly, each array 612 and thus each tool 608, end-effector 112, or other object to be tracked should have a unique marker pattern to allow it to be distinguished from other tools 608 or other objects being tracked. Asymmetry and unique marker patterns allow the system 100, 300, 600 to detect individual markers 118, 804 then to check the marker spacing against a stored template to determine which tool 608, end effector 112, or other object they represent. Detected markers 118, 804 can then be sorted automatically and assigned to each tracked object in the correct order. Without this information, rigid body calculations could not then be performed to extract key geometric information, for example, such as tool tip 624 and alignment of the shaft 622, unless the user manually specified which detected marker 118, 804 corresponded to which position on each rigid body. These concepts are commonly known to those skilled in the methods of 3D optical tracking.
Turning now to
In this embodiment, 4-marker array tracking is contemplated wherein the markers 918A-918D are not all in fixed position relative to the rigid body and instead, one or more of the array markers 918A-918D can be adjusted, for example, during testing, to give updated information about the rigid body that is being tracked without disrupting the process for automatic detection and sorting of the tracked markers 918A-918D.
When tracking any tool, such as a guide tube 914 connected to the end effector 912 of a robot system 100, 300, 600, the tracking array's primary purpose is to update the position of the end effector 912 in the camera coordinate system. When using the rigid system, for example, as shown in
Sometimes, the desired trajectory is in an awkward or unreachable location, but if the guide tube 114 could be swiveled, it could be reached. For example, a very steep trajectory pointing away from the base 106 of the robot 102 might be reachable if the guide tube 114 could be swiveled upward beyond the limit of the pitch (wrist up-down angle) axis, but might not be reachable if the guide tube 114 is attached parallel to the plate connecting it to the end of the wrist. To reach such a trajectory, the base 106 of the robot 102 might be moved or a different end effector 112 with a different guide tube attachment might be exchanged with the working end effector. Both of these solutions may be time consuming and cumbersome.
As best seen in
In the embodiment shown in
The guide tube 914 may be moveable, swivelable, or pivotable relative to the base 906, for example, across a hinge 920 or other connector to the base 906. Thus, markers 918C, 918D are moveable such that when the guide tube 914 pivots, swivels, or moves, markers 918C, 918D also pivot, swivel, or move. As best seen in
In contrast to the embodiment described for
One or more of the markers 918A-918D are configured to be moved, pivoted, swiveled, or the like according to any suitable means. For example, the markers 918A-918D may be moved by a hinge 920, such as a clamp, spring, lever, slide, toggle, or the like, or any other suitable mechanism for moving the markers 918A-918D individually or in combination, moving the arrays 908A, 908B individually or in combination, moving any portion of the end-effector 912 relative to another portion, or moving any portion of the tool 608 relative to another portion.
As shown in
The cameras 200, 326 detect the markers 918A-918D, for example, in one of the templates identified in
In this embodiment, there are two assembly positions in which the marker array matches unique templates that allow the system 100, 300, 600 to recognize the assembly as two different tools or two different end effectors. In any position of the swivel between or outside of these two positions (namely, Array Template 1 and Array Template 2 shown in
In the embodiment described, two discrete assembly positions are shown in
When using an external 3D tracking system 100, 300, 600 to track a full rigid body array of three or more markers attached to a robot's end effector 112 (for example, as depicted in
In some situations, it may be desirable to track the positions of all segments of the robot 102 from fewer than three markers 118 rigidly attached to the end effector 112. Specifically, if a tool 608 is introduced into the guide tube 114, it may be desirable to track full rigid body motion of the robot 902 with only one additional marker 118 being tracked.
Turning now to
The single tracking marker 1018 may be attached to the robotic end effector 1012 as a rigid extension to the end effector 1012 that protrudes in any convenient direction and does not obstruct the doctor's view. The tracking marker 1018 may be affixed to the guide tube 1014 or any other suitable location of on the end-effector 1012. When affixed to the guide tube 1014, the tracking marker 1018 may be positioned at a location between first and second ends of the guide tube 1014. For example, in
As shown in
Referring now to
The fixed normal (perpendicular) distance Dr from the single marker 1018 to the centerline or longitudinal axis 1016 of the guide tube 1014 is fixed and is known geometrically, and the position of the single marker 1018 can be tracked. Therefore, when a detected distance DD from tool centerline 616 to single marker 1018 matches the known fixed distance DF from the guide tube centerline 1016 to the single marker 1018, it can be determined that the tool 608 is either within the guide tube 1014 (centerlines 616, 1016 of tool 608 and guide tube 1014 coincident) or happens to be at some point in the locus of possible positions where this distance DD matches the fixed distance DF. For example, in
Turning now to
Logistically, the doctor 120 or user could place the tool 608 within the guide tube 1014 and slightly rotate it or slide it down into the guide tube 1014 and the system 100, 300, 600 would be able to detect that the tool 608 is within the guide tube 1014 from tracking of the five markers (four markers 804 on tool 608 plus single marker 1018 on guide tube 1014). Knowing that the tool 608 is within the guide tube 1014, all 6 degrees of freedom may be calculated that define the position and orientation of the robotic end effector 1012 in space. Without the single marker 1018, even if it is known with certainty that the tool 608 is within the guide tube 1014, it is unknown where the guide tube 1014 is located along the tool's centerline vector C′ and how the guide tube 1014 is rotated relative to the centerline vector C′.
With emphasis on
In some embodiments, it may be useful to fix the orientation of the tool 608 relative to the guide tube 1014. For example, the end effector guide tube 1014 may be oriented in a particular position about its axis 1016 to allow machining or implant positioning. Although the orientation of anything attached to the tool 608 inserted into the guide tube 1014 is known from the tracked markers 804 on the tool 608, the rotational orientation of the guide tube 1014 itself in the camera coordinate system is unknown without the additional tracking marker 1018 (or multiple tracking markers in other embodiments) on the guide tube 1014. This marker 1018 provides essentially a “clock position” from −180° to +180° based on the orientation of the marker 1018 relative to the centerline vector C′. Thus, the single marker 1018 can provide additional degrees of freedom to allow full rigid body tracking and/or can act as a surveillance marker to ensure that assumptions about the robot and camera positioning are valid.
For this method 1100, the coordinate systems of the tracker and the robot must be co-registered, meaning that the coordinate transformation from the tracking system's Cartesian coordinate system to the robot's Cartesian coordinate system is needed. For convenience, this coordinate transformation can be a 4×4 matrix of translations and rotations that is well known in the field of robotics. This transformation will be termed Tor to refer to “transformation—camera to robot”. Once this transformation is known, any new frame of tracking data, which is received as x,y,z coordinates in vector form for each tracked marker, can be multiplied by the 4×4 matrix and the resulting x,y,z coordinates will be in the robot's coordinate system. To obtain Ter, a full tracking array on the robot is tracked while it is rigidly attached to the robot at a location that is known in the robot's coordinate system, then known rigid body methods are used to calculate the transformation of coordinates. It should be evident that any tool 608 inserted into the guide tube 1014 of the robot 102 can provide the same rigid body information as a rigidly attached array when the additional marker 1018 is also read. That is, the tool 608 need only be inserted to any position within the guide tube 1014 and at any rotation within the guide tube 1014, not to a fixed position and orientation. Thus, it is possible to determine Ter by inserting any tool 608 with a tracking array 612 into the guide tube 1014 and reading the tool's array 612 plus the single marker 1018 of the guide tube 1014 while at the same time determining from the encoders on each axis the current location of the guide tube 1014 in the robot's coordinate system.
Logic for navigating and moving the robot 102 to a target trajectory is provided in the method 1100 of
In the flowchart of method 1100, each frame of data collected consists of the tracked position of the DRB 1404 on the patient 210, the tracked position of the single marker 1018 on the end effector 1014, and a snapshot of the positions of each robotic axis. From the positions of the robot's axes, the location of the single marker 1018 on the end effector 1012 is calculated. This calculated position is compared to the actual position of the marker 1018 as recorded from the tracking system. If the values agree, it can be assured that the robot 102 is in a known location. The transformation Ter is applied to the tracked position of the DRB 1404 so that the target for the robot 102 can be provided in terms of the robot's coordinate system. The robot 102 can then be commanded to move to reach the target.
After steps 1104, 1106, loop 1102 includes step 1108 receiving rigid body information for DRB 1404 from the tracking system; step 1110 transforming target tip and trajectory from image coordinates to tracking system coordinates; and step 1112 transforming target tip and trajectory from camera coordinates to robot coordinates (apply Tcr). Loop 1102 further includes step 1114 receiving a single stray marker position for robot from tracking system; and step 1116 transforming the single stray marker from tracking system coordinates to robot coordinates (apply stored Tcr). Loop 1102 also includes step 1118 determining current location of the single robot marker 1018 in the robot coordinate system from forward kinematics. The information from steps 1116 and 1118 is used to determine step 1120 whether the stray marker coordinates from transformed tracked position agree with the calculated coordinates being less than a given tolerance. If yes, proceed to step 1122, calculate and apply robot move to target x, y, z and trajectory. If no, proceed to step 1124, halt and require full array insertion into guide tube 1014 before proceeding; step 1126 after array is inserted, recalculate Tcr; and then proceed to repeat steps 1108, 1114, and 1118.
This method 1100 has advantages over a method in which the continuous monitoring of the single marker 1018 to verify the location is omitted. Without the single marker 1018, it would still be possible to determine the position of the end effector 1012 using Ter and to send the end-effector 1012 to a target location but it would not be possible to verify that the robot 102 was actually in the expected location. For example, if the cameras 200, 326 had been bumped and Ter was no longer valid, the robot 102 would move to an erroneous location. For this reason, the single marker 1018 provides value with regard to safety.
For a given fixed position of the robot 102, it is theoretically possible to move the tracking cameras 200, 326 to a new location in which the single tracked marker 1018 remains unmoved since it is a single point, not an array. In such a case, the system 100, 300, 600 would not detect any error since there would be agreement in the calculated and tracked locations of the single marker 1018. However, once the robot's axes caused the guide tube 1012 to move to a new location, the calculated and tracked positions would disagree and the safety check would be effective.
The term “surveillance marker” may be used, for example, in reference to a single marker that is in a fixed location relative to the DRB 1404. In this instance, if the DRB 1404 is bumped or otherwise dislodged, the relative location of the surveillance marker changes and the doctor 120 can be alerted that there may be a problem with navigation. Similarly, in the embodiments described herein, with a single marker 1018 on the robot's guide tube 1014, the system 100, 300, 600 can continuously check whether the cameras 200, 326 have moved relative to the robot 102. If registration of the tracking system's coordinate system to the robot's coordinate system is lost, such as by cameras 200, 326 being bumped or malfunctioning or by the robot malfunctioning, the system 100, 300, 600 can alert the user and corrections can be made. Thus, this single marker 1018 can also be thought of as a surveillance marker for the robot 102.
It should be clear that with a full array permanently mounted on the robot 102 (e.g., the plurality of tracking markers 702 on end-effector 602 shown in
Turning now to
When tracking the tool 608, such as implant holder 608B, 608C, the tracking array 612 may contain a combination of fixed markers 804 and one or more moveable markers 806 which make up the array 612 or is otherwise attached to the implant holder 608B, 608C. The navigation array 612 may include at least one or more (e.g., at least two) fixed position markers 804, which are positioned with a known location relative to the implant holder instrument 608B, 608C. These fixed markers 804 would not be able to move in any orientation relative to the instrument geometry and would be useful in defining where the instrument 608 is in space. In addition, at least one marker 806 is present which can be attached to the array 612 or the instrument itself which is capable of moving within a pre-determined boundary (e.g., sliding, rotating, etc.) relative to the fixed markers 804. The system 100, 300, 600 (e.g., the software) correlates the position of the moveable marker 806 to a particular position, orientation, or other attribute of the implant 10 (such as height of an expandable interbody spacer shown in
In the embodiment shown in
Turning now to
In these embodiments, the moveable marker 806 slides continuously to provide feedback about an attribute of the implant 10, 12 based on position. It is also contemplated that there may be discreet positions that the moveable marker 806 must be in which would also be able to provide further information about an implant attribute. In this case, each discreet configuration of all markers 804, 806 correlates to a specific geometry of the implant holder 608B, 608C and the implant 10, 12 in a specific orientation or at a specific height. In addition, any motion of the moveable marker 806 could be used for other variable attributes of any other type of navigated implant.
Although depicted and described with respect to linear movement of the moveable marker 806, the moveable marker 806 should not be limited to just sliding as there may be applications where rotation of the marker 806 or other movements could be useful to provide information about the implant 10, 12. Any relative change in position between the set of fixed markers 804 and the moveable marker 806 could be relevant information for the implant 10, 12 or other device. In addition, although expandable and articulating implants 10, 12 are exemplified, the instrument 608 could work with other medical devices and materials, such as spacers, cages, plates, fasteners, nails, screws, rods, pins, wire structures, sutures, anchor clips, staples, stents, bone grafts, biologics, cements, or the like.
Turning now to
The alternative end-effector 112 may include one or more devices or instruments coupled to and controllable by the robot. By way of non-limiting example, the end-effector 112, as depicted in
The end-effector itself and/or the implant, device, or instrument may include one or more markers 118 such that the location and position of the markers 118 may be identified in three-dimensions. It is contemplated that the markers 118 may include active or passive markers 118, as described herein, that may be directly or indirectly visible to the cameras 200. Thus, one or more markers 118 located on an implant 10, for example, may provide for tracking of the implant 10 before, during, and after implantation.
As shown in
Although the robot and associated systems described herein are generally described with reference to spine applications, it is also contemplated that the robot system may be configured for use in other medical applications, including but not limited to, medical imaging, surgeries in trauma or other orthopedic applications (such as the placement of intramedullary nails, plates, and the like), cranial, neuro, cardiothoracic, vascular, colorectal, oncological, dental, and other medical operations and procedures.
During robotic spine (or other) procedures, a Dynamic Reference Base (DRB) may thus be affixed to the patient (e.g., to a bone of the patient), and used to track the patient anatomy. Since the patient is breathing, a position of the DRB (which is attached to the patient's body) may oscillate. Once a medical tool is robotically moved to a target trajectory and locked into position, patient movement (e.g., due to breathing) may cause deviation from the target trajectory even through the end-effector (e.g., medical tool) is locked in place. This deviation/shift (if unnoticed and unaccounted for) may thus reduce accuracy of the system and/or medical procedure.
Elements of robotic systems discussed above may be used to adjust placement of a virtual implant according to some embodiments of inventive concepts. By using navigated tools to plan instrument and implant trajectories, surgeons can have a more user-friendly system and more flexibility when planning robotic or navigated surgical cases. Setting the offset along a planned trajectory may allow individuals familiar with surgical navigation to pick up robotic surgery more quickly, and allow more flexibility for all users in planning interventions. The system can offer surgeons greater flexibility because the motions performed in moving the probe to position the virtual implant may mimic the motions of a surgery to be performed to implant a physical implant in a body. The system can also make planning implants with correct offsets easier and better leverage the perspective of the surgeon.
As discussed herein, operations of navigation system controller 2000 (e.g., a robotic navigation system controller) may be performed by processor 2007, input interface 2001, output interface 2003, and/or control interface 2005. For example, processor 2007 may receive user input through input interface 2001, and such user input may include user input received through a keyboard, mouse, touch sensitive display, foot pedal 544, tablet 546, etc. Processor 2007 may also receive position sensor input from tracking system 532 and/or cameras 200 through input interface 2001. Processor 2007 may provide output through output interface 2003, and such output may include information to render graphic/visual information on display 304 and/or audio output to be provided through speaker 536. Processor 2007 may provide robotic control information through control interface 2005 to motion control subsystem 506, and the robotic control information may be used to control operation of robot arm 104 or other robotic actuators. Processor 2007 may also receive feedback information through control interface 2005.
In some embodiments, the probe 2110 can be a physical device that is positioned adjacent to the body 2150, which can include a human body. The surgical navigation system can use 3D anatomical image information to generate an image of the body 2150 that can include the virtual implant 2120. The image including the virtual implant 2120 can be displayed on a monitor and updated such that moving the probe 2110 adjacent to the body 2150 can cause a virtual implementation of the probe 2110, trajectory 2140, or the virtual implant 2120 to move on the image displayed. In some examples, the system can track the probe 2110, and on a first press of a button (e.g., a foot pedal) set the trajectory 2112 and determine a placement for the virtual implant 2120 at a default offset along the trajectory 2140. Holding the button can allow for further adjustment of the offset 2130 along the trajectory 2140. Adjustments to the offset 2130 can be calculated in several ways.
In some embodiments, the position of the tip 2112 of the probe 2110 can be used to determine the position of the virtual implant 2120 along the trajectory 2140. In additional or alternative embodiments, the position of the virtual implant 2120 can be adjusted based on detecting a rotation of the probe 2110.
For purposes of illustration,
Examples of a telescoping version of the probe 2110 are depicted in
Although
Operations of a navigation system (e.g., a robotic navigation system that includes a robotic actuator configured to position a probe on a body) will now be discussed with reference to the flow chart of
At block 2210, processor 2007 may provide 3D imaging information for a 3D anatomical volume (e.g., the body 2150). At block 2220, processor 2007 may detect a pose of the probe 2110. The pose of the probe 2110 can include the position and/or the orientation of the probe 2110. In some embodiments, processor 2007 may detect the pose based on information received from a positioning system (also referred to as a tracking system). For example, the probe 2110 may include one or more spaced apart tracking markers 2111 and the positioning system may detect the position and orientation of the probe 2110 by detecting the tracking markers 2111. The processor 2007 can receive position data or orientation data from the positioning system via input interface 2001.
At block 2230, processor 2007 may determine a placement of the virtual implant 2120 for the 3D anatomical volume based on the pose of the probe 2110 and based on a default offset from an end of the probe 2110 along the longitudinal axis. The virtual implant 2120 can be overlaid on an image from the 3D anatomical volume such that the trajectory 2140 of the virtual implant 2120 is in alignment with the longitudinal axis of the probe in the orientation.
At block 2240, processor 2007 may provide reformatted image data via output interface 2003. The reformatted image data can be based on the 3D anatomical imaging information. In some embodiments, processor 2007 provides first reformatted image data to be rendered on a display (e.g., display 110) based on the 3D anatomical imaging information and based on the placement of the virtual implant. The 3-dimensional information can include the position and orientation or trajectory of the virtual implant 2120.
In additional or alternative embodiments, processor 2007 may provide new image data via output interface 2003. The new image data can be based on newly captured 3D anatomical imaging data and based on the placement of the virtual implant.
If processor 2007 has not received user input indicating a desire to adjust the virtual implant 2120, at block 2245 the processor 2007 may decide to repeat blocks 2220, 2230, and 2240. The image may be continuously updated and displayed on a display visible to a user such that the user can see changes in a position and trajectory of the virtual implant 2120 in response to movement of the probe 2110. If user input indicating a desire to adjust the virtual implant 2120 has been received, the processor 2007 may decide at block 2245 to proceed to block 2250. In some embodiments, processor 2007 can receive a signal from a button/pedal pressed by a user to indicate a desire to adjust the virtual implant 2120. In additional or alternative embodiments, processor 2007 can receive position data for the probe 2110 indicating the probe has moved in a predefined way so as to indicate a desire to adjust the virtual implant 2120. In additional or alternative embodiments, processor 2007 can receive user input from an input device (e.g., a keyboard or mouse) indicating a desire to adjust the virtual implant 2120.
At block 2250, processor 2007 adjusts the virtual implant 2120. In some embodiments, the processor 2007 adjusts the virtual implant 2120 after determining the placement of the virtual implant 2120 in block 2230 in response to movement of the probe 2110. The placement of the virtual implant 2120 can be adjusted while maintaining the trajectory 2140 of the virtual implant 2120. The processor 2007 may move the placement of the virtual implant 2120 along the trajectory 2140 responsive to movement of the probe 2110.
In some embodiments, processor 2007 can move the virtual implant 2120 in a first direction along the trajectory 2140 in response to detecting rotation of the probe 2110 in a first rotational direction and move the virtual implant 2120 in a second direction along the trajectory 2140 in response to detecting rotation of the probe in a second rotational direction. Such adjustment is discussed in greater detail with respect to
In additional or alternative embodiments, moving the virtual implant 2120 can include moving the virtual implant along the trajectory 2140 responsive to detecting movement of the tip 2112 of the probe 2110 in a direction that is nonparallel with respect to the trajectory 2140 of the virtual implant 2120. In additional or alternative embodiments, moving the virtual implant 2120 can include moving the virtual implant 2120 in a first direction along the trajectory 2140 in response to detecting movement of the tip 2112 of the probe 2110 away from the trajectory 2140 of the virtual implant 2120 and moving the virtual implant 2120 in a second direction along the trajectory 2140 in response to detecting movement of the tip 2112 of the probe 2110 toward the trajectory 2140. Such adjustment is discussed in greater detail below with respect to
In additional or alternative embodiments, moving the virtual implant 2120 can include moving the virtual implant 2120 along the trajectory 2140 in response to detecting movement of the tip 2112 of the probe around the trajectory 2140 of the virtual implant. The virtual implant 2120 can be moved in a first direction along the trajectory in response to detecting movement of the tip 2112 of the probe 2110 in a clockwise direction around the trajectory 2140 and can be moved in a second direction along the trajectory 2140 in response to detecting movement of the tip 2112 of the probe 2110 in a counter-clockwise direction around the trajectory 2140. The scale of movement of the virtual implant 2120 along the trajectory 2140 can be relative to movement of the tip 2112 based on a distance of the tip from the trajectory 2140. Such adjustment is discussed in greater detail below with respect to
In additional or alternative embodiments, processor 2007 can adjust the offset 2130 by determining the distance 2410 between the initial position 2444 of the tip 2112 and the current location of the tip 2112. The closest point 2442 may remain the same while the offset is adjusted based on changes in the distance 2410. The offset 2130 can be based on a combination of distance 2420 and distance 2410.
In some embodiments, processor 2007 can implement a ratcheting system such that adjustments to the position of the virtual implant 2120 are only made in response to rotation of the probe 2110 in one direction. For example, the processor 2007 may only adjust the offset of the virtual implant 2120 in response to detecting clockwise rotation of the probe 2110 allowing a user to adjust the virtual implant 2120 farther in a single direction along the trajectory 2140 while maintaining a small working envelope or with greater precision.
Any of the examples in
Returning to block 2250 of
In additional or alternative embodiments, adjusting the virtual implant 2120 can include changing a size of the virtual implant 2120 responsive to movement of the probe 2110 while maintaining the trajectory 2140 of the virtual implant as discussed above with respect to
At block 2260, processor 2007 provides the reformatted image data via output interface 2003. In some embodiments, processor 2007 provides second reformatted image data to be rendered on a display based on adjusting the virtual implant 2120. The second reformatted image data may be different than the first reformatted image data provided in block 2240. For example, since the trajectory 2140 is not changing, the second reformatted image data may not include trajectory data or else the transmitted trajectory data will remain constant while the virtual implant data changes. The first reformatted image data may not include virtual implant data or may include constant virtual implant data such as a default offset and default size or shape of the virtual implant 2120. In some embodiments, the first image may include a portion the body 2150 with a first marked location and first orientation of the virtual implant 2120 and the second image may include the portion of the body 2150 with a second marked location and second orientation of the virtual implant 2120. The second marked location may be shallower than the first marked location. The first image may further include a first depiction of the virtual implant 2120 as a particular type of implant with a particular size and the second image may include a second depiction of the virtual implant 2120 having a different type or a different size.
If processor 2007 has not received user input indicating a desire to store the virtual implant data, the processor 2007 may decide at block 2265 to repeat blocks 2250 and 2260. If processor 2007 receives user input indicating a desire to store the virtual implant data, the processor 2007 may determine at block 2265 to proceed to block 2270.
At block 2270, processor 2007 stores the virtual implant data. In some embodiments, the reformatted image data can be stored in response to user input. The reformatted image data may include a position, trajectory, size, shape, and type of the virtual implant 2120. In some examples, the virtual implant may be adjusted while a user depresses a button or a pedal (as discussed above) and the processor 2007 may store the information regarding the virtual implant in response to release of the button or pedal. In other embodiments, a first button/pedal may be used to initiate adjustment, and a second button/peal may be used to store the virtual implant data.
At block 2280, processor 2007 controls a robotic actuator. In some embodiments, processor 2007 can control a robotic actuator via control interface 2005 to position an end-effector based on the information regarding the virtual implant. For example, the processor 2007 can control a robotic actuator to position an end-effector such that a surgical operation can be performed using the end-effector to place a physical implant at a position in a body based on the information regarding the virtual implant 2120. In additional or alternative embodiments, processor 2007 can control the robotic actuator to perform the surgical operation and place a physical implant in the body based on the information regarding the virtual implant 2120.
In the above-description of various embodiments of present inventive concepts, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of present inventive concepts. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which present inventive concepts belong. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
When an element is referred to as being “connected”, “coupled”, “responsive”, or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected”, “directly coupled”, “directly responsive”, or variants thereof to another element, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, “coupled”, “connected”, “responsive”, or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and/or clarity. The term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that although the terms first, second, third, etc. may be used herein to describe various elements/operations, these elements/operations should not be limited by these terms. These terms are only used to distinguish one element/operation from another element/operation. Thus, a first element/operation in some embodiments could be termed a second element/operation in other embodiments without departing from the teachings of present inventive concepts. The same reference numerals or the same reference designators denote the same or similar elements throughout the specification.
As used herein, the terms “comprise”, “comprising”, “comprises”, “include”, “including”, “includes”, “have”, “has”, “having”, or variants thereof are open-ended, and include one or more stated features, integers, elements, steps, components, or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions, or groups thereof. Furthermore, as used herein, the common abbreviation “e.g.”, which derives from the Latin phrase “exempli gratia,” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation “i.e.”, which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.
Example embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).
These computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of present inventive concepts may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as “circuitry,” “a module” or variants thereof.
It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated. Finally, other blocks may be added/inserted between the blocks that are illustrated, and/or blocks/operations may be omitted without departing from the scope of inventive concepts. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
Although several embodiments of inventive concepts have been disclosed in the foregoing specification, it is understood that many modifications and other embodiments of inventive concepts will come to mind to which inventive concepts pertain, having the benefit of teachings presented in the foregoing description and associated drawings. It is thus understood that inventive concepts are not limited to the specific embodiments disclosed hereinabove, and that many modifications and other embodiments are intended to be included within the scope of the appended claims. It is further envisioned that features from one embodiment may be combined or used with the features from a different embodiment(s) described herein. Moreover, although specific terms are employed herein, as well as in the claims which follow, they are used only in a generic and descriptive sense, and not for the purposes of limiting the described inventive concepts, nor the claims which follow. The entire disclosure of each patent and patent publication cited herein is incorporated by reference herein in its entirety, as if each such patent or publication were individually incorporated by reference herein. Various features and/or potential advantages of inventive concepts are set forth in the following claims.
This application is a continuation of U.S. patent application Ser. No. 16/020,302 filed on Jun. 27, 2018, which is a continuation-in-part of U.S. patent application Ser. No. 15/609,334 which is a continuation-in-part of U.S. patent application Ser. No. 15/157,444, filed May 18, 2016, which is a continuation-in-part of U.S. patent application Ser. No. 15/095,883, filed Apr. 11, 2016, which is a continuation-in-part of U.S. patent application Ser. No. 14/062,707, filed on Oct. 24, 2013, which is a continuation-in-part application of U.S. patent application Ser. No. 13/924,505, filed on Jun. 21, 2013, which claims priority to provisional application No. 61/662,702 filed on Jun. 21, 2012 and claims priority to provisional application No. 61/800,527 filed on Mar. 15, 2013, all of which are incorporated by reference herein in their entireties for all purposes.
Number | Date | Country | |
---|---|---|---|
61662702 | Jun 2012 | US | |
61800527 | Mar 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16020302 | Jun 2018 | US |
Child | 18530594 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15609334 | May 2017 | US |
Child | 16020302 | US | |
Parent | 15157444 | May 2016 | US |
Child | 15609334 | US | |
Parent | 15095883 | Apr 2016 | US |
Child | 15157444 | US | |
Parent | 14062707 | Oct 2013 | US |
Child | 15095883 | US | |
Parent | 13924505 | Jun 2013 | US |
Child | 14062707 | US |