MICROSURGICAL ROBOTIC SYSTEM FOR OPHTHALMIC SURGERY

20230157872 ยท 2023-05-25

    Inventors

    Cpc classification

    International classification

    Abstract

    Apparatus and methods are described including a robotic system configured for performing intraocular surgery. During a training stage, a computer processor receives programming instructions for performing one or more steps of cataract surgery in an automated manner, based upon standard ranges of dimensions of respective portions of a human eye. During a subsequent stage, the computer processor drives the robotic system to perform the one or more steps of cataract surgery on an eye of a given patient, by receiving at least one image of the eye, determining one or more dimensions of the eye from the at least one image, and performing the one or more steps of cataract surgery based upon the programming instructions and the determined dimensions of the eye. Other applications are also described.

    Claims

    1. An apparatus comprising: a robotic system configured for performing intraocular surgery; and at least one computer processor configured: during a training stage, to receive programming instructions for performing one or more steps of cataract surgery in an automated manner, based upon standard ranges of dimensions of respective portions of a human eye, and during a subsequent stage, to drive the robotic system to perform the one or more steps of cataract surgery on an eye of a given patient, by: receiving at least one image of the eye, determining one or more dimensions of the eye from the at least one image, and performing the one or more steps of cataract surgery based upon the programming instructions and the determined dimensions of the eye.

    2. The apparatus according to claim 1, wherein the at least one computer processor is configured: to determine a location and orientation of the eye from the at least one image, and to perform the one or more steps of cataract surgery at least partially based upon the location and orientation of the eye.

    3. The apparatus according to claim 2, wherein the at least one computer processor is configured: to determine a current location and orientation of the eye from the at least one image, and to perform the one or more steps of cataract surgery at least partially based upon the current location and orientation of the eye.

    4. The apparatus according to claim 1, wherein the at least one computer processor is configured to drive the robotic system to perform the one or more steps of cataract surgery on the eye of the given patient, by, throughout performance of the one or more steps of cataract surgery: receiving real-time images of the patient's eye and at least a portion of the robotic system, and in response to the real-time images, automatically driving the robotic system to perform actions, while accounting for real-time movement of the patient's eye.

    5. The apparatus according to claim 4, wherein the apparatus is for use with one or more tools, and wherein the at least one computer processor is configured to drive the robotic system to automatically move the one or more tools, while accounting for real-time movement of the patient's eye.

    6. The apparatus according to claim 4, wherein the apparatus is for use with an imaging system, and wherein the at least one computer processor is configured to automatically control one or more components of the imaging system, while accounting for real-time movement of the patient's eye.

    7. The apparatus according to claim 4, wherein the apparatus is for use with a phacoemulsification probe, and wherein the at least one computer processor is configured to drive the robotic system to control the phacoemulsification probe, while accounting for real-time movement of the patient's eye.

    8. The apparatus according to claim 4, wherein the apparatus is for use with an injector tools, and wherein the at least one computer processor is configured to drive the robotic system to control the injector tool, while accounting for real-time movement of the patient's eye.

    9. The apparatus according to claim 4, wherein the at least one computer processor is configured to detecting when the eye is at a given position, and to drive the robotic system to time the performance of an action when the eye is at the given position.

    10. The apparatus according to claim 4, wherein the apparatus is for use with an IOL-manipulator tool, and wherein the at least one computer processor is configured to drive the robotic system to control the IOL-manipulator tool while accounting for real-time movement of the patient's eye.

    11. The apparatus according to claim 10, wherein the at least one computer processor is configured to drive the robotic system to control the IOL-manipulator tool such that the tool manipulates the IOL inside the patient's eye for precise positioning of the IOL within the patient's eye.

    12. The apparatus according to claim 4, wherein the apparatus is for use with a tool, and wherein the at least one computer processor is configured to drive the robotic system to move a tip of the tool in a desired manner with respect to the patient's eye such as to perform the action, while entry of the tool into the patient's eye is maintained fixed at an incision point.

    13. The apparatus according to claim 12, wherein the at least one computer processor is configured to drive the robotic system to provide a dynamic remote center of motion that is located at the incision point and about which motion of the tool is centered, the remote center of motion moving in coordination with movement of the eye.

    14. An apparatus comprising: a robotic system configured for performing intraocular surgery; and one or more computer processors configured: during a training stage, to be trained, via machine learning, to perform one or more steps of cataract surgery in an automated manner, based upon standard ranges of dimensions of respective portions of a human eye, and during a subsequent stage, to drive the robotic system to perform the one or more steps of cataract surgery on an eye of a given patient, by: receiving at least one image of the eye, determining one or more dimensions of the eye from the at least one image, and performing the one or more steps of cataract surgery based upon the programming instructions and the determined dimensions of the eye.

    15. The apparatus according to claim 14, wherein the at least one computer processor is configured: to determine a location and orientation of the eye from the at least one image, and to perform the one or more steps of cataract surgery at least partially based upon the location and orientation of the eye.

    16. The apparatus according to claim 15, wherein the at least one computer processor is configured: to determine a current location and orientation of the eye from the at least one image, and to perform the one or more steps of cataract surgery at least partially based upon the current location and orientation of the eye.

    17. The apparatus according to claim 14, wherein the at least one computer processor is configured to drive the robotic system to perform the one or more steps of cataract surgery on the eye of the given patient, by, throughout performance of the one or more steps of cataract surgery: receiving real-time images of the patient's eye and at least a portion of the robotic system, and in response to the real-time images, automatically driving the robotic system to perform actions, while accounting for real-time movement of the patient's eye.

    18. The apparatus according to claim 17, wherein the apparatus is for use with one or more tools, and wherein the at least one computer processor is configured to drive the robotic system to automatically move the one or more tools, while accounting for real-time movement of the patient's eye.

    19. The apparatus according to claim 17, wherein the apparatus is for use with an imaging system, and wherein the at least one computer processor is configured to automatically control one or more components of the imaging system, while accounting for real-time movement of the patient's eye.

    20. The apparatus according to claim 17, wherein the apparatus is for use with a phacoemulsification probe, and wherein the at least one computer processor is configured to drive the robotic system to control the phacoemulsification probe, while accounting for real-time movement of the patient's eye.

    21. The apparatus according to claim 17, wherein the apparatus is for use with an injector tools, and wherein the at least one computer processor is configured to drive the robotic system to control the injector tool, while accounting for real-time movement of the patient's eye.

    22. The apparatus according to claim 17, wherein the at least one computer processor is configured to detecting when the eye is at a given position, and to drive the robotic system to time the performance of an action when the eye is at the given position.

    23. The apparatus according to claim 17, wherein the apparatus is for use with an IOL-manipulator tool, and wherein the at least one computer processor is configured to drive the robotic system to control the IOL-manipulator tool while accounting for real-time movement of the patient's eye.

    24. The apparatus according to claim 23, wherein the at least one computer processor is configured to drive the robotic system to control the IOL-manipulator tool such that the tool manipulates the IOL inside the patient's eye for precise positioning of the IOL within the patient's eye.

    25. The apparatus according to claim 17, wherein the apparatus is for use with a tool, and wherein the at least one computer processor is configured to drive the robotic system to move a tip of the tool in a desired manner with respect to the patient's eye such as to perform the action, while entry of the tool into the patient's eye is maintained fixed at an incision point.

    26. The apparatus according to claim 25, wherein the at least one computer processor is configured to drive the robotic system to provide a dynamic remote center of motion that is located at the incision point and about which motion of the tool is centered, the remote center of motion moving in coordination with movement of the eye.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0147] FIG. 1A is a schematic illustration of a robotic system that is configured for use in a microsurgical procedure, such as intraocular surgery, in accordance with some applications of the present invention;

    [0148] FIG. 1B is a schematic illustration of first and second robotic units of the robotic system that is configured for use in intraocular surgery, in accordance with some applications of the present invention;

    [0149] FIG. 2 is a schematic illustration of a robotic unit as shown in FIG. 1B, the robotic unit being shown in the absence of the patient's anatomy, in accordance with some applications of the present invention;

    [0150] FIGS. 3A, 3B, 3C, and 3D are schematic illustrations of a tool mount of a robotic unit, in accordance with some applications of the present invention;

    [0151] FIG. 4 is a schematic illustration of a robotic unit that includes tensioning cables, in accordance with some applications of the present invention;

    [0152] FIGS. 5A, 5B, and 5C are schematic illustrations showing the range of motion of a tool that is configured to be moved by a robotic unit such as to conform with the normal range of motion through which an ophthalmologist moves surgical tools during manually-performed intraocular surgery, in accordance with some applications of the present invention;

    [0153] FIGS. 6A and 6B are schematic illustrations of a robotic unit for use in a robotic system, in accordance with some applications of the present invention;

    [0154] FIG. 7 is a schematic illustration of a control-component arm configured to be moved by a user and to thereby control movement of an arm of a robotic unit, in accordance with some applications of the present invention;

    [0155] FIG. 8 is a schematic illustration of a control component, in accordance with some applications of the present invention;

    [0156] FIGS. 9A and 9B are schematic illustrations of respective views of a control component that includes an in-built stereoscopic vision system, in accordance with some applications of the present invention; and

    [0157] FIG. 10 is a schematic illustration of a control component and a head-mounted display for use with the control component, in accordance with some applications of the present invention.

    DETAILED DESCRIPTION OF EMBODIMENTS

    [0158] Reference is now made to FIG. 1A, which is a schematic illustration of a robotic system 10 that is configured for use in a microsurgical procedure, such as intraocular surgery, in accordance with some applications of the present invention. Reference is also made to FIG. 1B, which is a schematic illustration of first and second robotic units 20 of the robotic system, in accordance with some applications of the present invention. It is noted that the example of robotic units 20 shown in FIG. 1B differs from that shown in FIG. 1A. Typically, robotic system 10 includes first and second robotic units 20 (which are configured to hold tools 21), in addition to an imaging system 22, a display 24 and a control component 26, via which a user (e.g., a healthcare professional) is able to control robotic units 20. Typically, robotic system 10 includes one or more computer processors 28, via which components of the system and a user (e.g., a healthcare professional) operatively interact with each other. For some applications, the first and second robotic units 20 are supported on a support surface 27, as shown. The scope of the present application includes mounting first and second robotic units in any of a variety of different positions with respect to each other.

    [0159] It is noted that intraocular surgery, and particularly cataract surgery, is characterized by the fact that there is relatively little variability in ocular anatomy and/or geometry from one patient to another. In addition, cataract surgery has a relatively standardized procedural flow, the typical sequence of steps being as noted hereinabove in the Background section. In view of the relative standard dimensions and sequence of steps that are associated with cataract surgery, for some applications of the present invention, robotic system 10 is initially trained to perform one or more steps of cataract surgery in an automated manner, based upon standard ranges of dimensions of respective portions of a human eye. Typically, during the training stage, movement of the robotic units (and/or control of other aspects of the robotic system) is at least partially controlled by a user (e.g., a healthcare professional). For example, the user may receive images of the patient's eye and the robotic units, and/or tools disposed therein, via display 24. Typically, such images are acquired by imaging system 22. For some applications, imaging system 22 is a stereoscopic imaging device and display 24 is a stereoscopic display. Based on the received images, the user typically performs steps of the procedure. For some applications, the user provides commands to the robotic units via control component 26 (which is described in further detail hereinbelow). Typically, such commands include commands that control the position and/or orientation of tools that are disposed within the robotic units, and/or commands that control actions that are performed by the tools. For example, the commands may control a phacoemulsification tool (e.g., the operation mode and/or suction power of the phacoemulsification tool), and/or injector tools (e.g., which fluid (e.g., viscoelastic fluid, saline, etc.) should be injected, and/or at what flow rate). Alternatively or additionally, the user may input commands that control the imaging system (e.g., the zoom, focus, and/or x-y positioning of the imaging system). For some applications , the commands include controlling an IOL-manipulator tool, for example, such that the tool manipulates the IOL inside the eye for precise positioning of the IOL within the eye.

    [0160] For some applications, computer processor 28 of robotic system 10 analyzes the commands that the user (e.g., the healthcare professional) provides, in order to perform respective steps of the procedure. Typically, based upon the analysis of many such procedures, the computer processor (and/or another computer processor that is associated with the computer processor) determines how to perform one or more steps of cataract surgery in an automated manner, based upon standard ranges of dimensions of respective portions of a human eye. For some applications, the above steps are performed using machine-learning algorithms, such as Linear Regression, Logistic Regression, Decision Tree, Support Vector Machine, Naive Bayes, kNN, K-Means, Random Forest, Dimensionality Reduction Algorithms, and/or Gradient Boosting algorithms. It is noted that typically, the training is not performed using a single robotic system and a single associated computer processor. Rather, many such robotic systems typically provide data that are processed by a centralized computer processor (or a network of computer processors). It is further noted that it is typically the case that, even after an initial training phase, the robotic systems continue to receive further training data as additional procedures are performed on further patients.

    [0161] For some applications, the computer processor is trained at least partially by one or more human programmers by the human programmers providing the computer processor with programming instructions for how to perform respective steps (and/or portions thereof and/or combinations thereof). For example, one or more human programmers may analyze procedures that are performed on portions of human eyes having standard ranges of dimensions. Based upon the analysis, the one or more human programmers may analyze the motion that a tool undergoes, other functions of the tool, and/or functions of other portions of the robotic system (e.g., functions and/or movements that the imaging system undergoes) as respective steps of the procedure (and/or portions thereof and/or combinations thereof) are performed. The human programmers may then write algorithms that instruct the one or more computer processors to drive the robotic units (and/or other components of the robotic system) to perform the motion and/or functions automatically. For some applications, at least a portions of the algorithms are written by the computer processors analyzing inputs that are input to the computer processor via the control component 26.

    [0162] For some applications, after the initial training phase, robotic system 10 is used to perform one or more steps of cataract surgery on an eye of a given patient, in an at least partially automated manner For some such applications, at least one image of the patient's eye is acquired using imaging system 22. For example, the image may be acquired prior to or during one or more steps of cataract surgery being performed on the eye of the patient. Typically, the computer processor analyzes the image in order to determine precise dimensions of the patient's eye, and the steps of the cataract surgery are planned based upon the training and the determined dimensions of the eye. For some applications, the image is further analyzed to determine the position and/or orientation of the eye, and the steps of the cataract surgery are additionally planned based the determined position and/or orientation of the eye. Typically, the planning the steps of the cataract surgery involves planning controlling the positions and orientation of tools via the robotic units, as well as controlling additional aspects of the procedure (such as controlling functions of the tools, and/or controlling functions and/or positioning of the imaging system), as described hereinabove. Subsequent to the planning having been performed, the computer processor typically drives the robotic units and/or additional components of the robotic system to perform the planned steps. For some applications, during the procedure, a user (e.g., a healthcare professional) is able to control movement of the robotic units and/or other aspects of the robotic system. For example, the computer processor may plan a step of the procedure and indicate the planned step to the user (e.g., via display 24). The user may then override and/or refine the planned step of the procedure e.g., via control component 26.

    [0163] For some applications, any one of the following steps of a cataract procedure (or a portion thereof, and/or a combination thereof) is performed in an automated or semi-automated manner using the techniques described herein: corneal incision (e.g., a bi-planar or tri-planar incision, typically using a keratome blade), viscoelastic injection (including needle insertion via one of the incisions and/or simultaneous injection and retraction of the needle), capsulorhexis, hydrodissection, hydrodelineation, phacoemulsification (including nuclear chopping, and/or ultrasonic emulsification using a phacoemulsification probe), irrigation, aspiration, implantation of an IOL (e.g., using a IOL injection system), viscoelastic removal, wound healing, and/or any combination thereof. For some applications, the performance of the above-described steps includes controlling the position and/or orientation of tools that are disposed within the robotic units, and/or controlling actions that are performed by the tools. For example, controlling a phacoemulsification tool (e.g., the operation mode and/or suction power of the phacoemulsification tool), and/or injector tools (e.g., which fluid (e.g., viscoelastic fluid, saline, etc.) should be injected, and/or at what flow rate). Alternatively or additionally, the performance of the above-described steps may include controlling the imaging system (e.g., the zoom, focus, and/or x-y positioning of the imaging system). For some applications, the performance of the above-described steps includes controlling an IOL-manipulator tool, for example, such that the tool manipulates the IOL inside the eye for precise positioning of the IOL within the eye.

    [0164] For some applications, the above-described steps of imaging the patient's eye, planning a procedural step, and moving the robotic units and/or controlling other aspects of the robotic system are performed in an iterative manner Typically, throughout a given procedural step being performed, the patient's eye and the robotic units (and/or tools disposed therein) are continuously imaged in real time. In response to the real-time images, the position and orientation of the tool is automatically updated to correspond with real-time movement of the patient's eye (as described in further detail hereinbelow with reference to FIGS. 5A-C). Typically, the position and orientation of the tool is updated by moving the tool via the robotic units. Alternatively or additionally, the computer processor is configured to detect when the eye is at a given position, and to time the performance of certain functions by the robotic units such that they are performed when the eye is at the given position.

    [0165] Reference is now made to FIG. 2, which is a schematic illustration of robotic unit 20 as shown in FIG. 1B (the robotic unit being shown in the absence of the patient's anatomy), in accordance with some applications of the present invention. For some applications, each of the robotic units includes a tool mount 30 configured to securely hold the tool thereupon and to insert the tool into the patient's eye such that entry of the tool into the patient's eye is via an incision point, and the tip of the tool is disposed within the patient's eye. For some applications, two multi-jointed arms 32 are disposed on a single side of the tool mount and are configured to moveably support the tool mount.

    [0166] Typically, the computer processor detects movement of the patient's eye in three dimensions, by analyzing images acquired by imaging system 22 (which as described hereinabove is typically a stereoscopic imaging system). For some applications, in response to the detected movement of the patient's eye, the computer processor drives the robotic unit to move the tool such that entry of the tool into the patient's eye remains via the incision point even as the patient's eye undergoes the movement in three dimensions. Typically, even as the patient's eye undergoes the movement in three dimensions, the computer processor drives the robotic unit to perform at least a portion of a procedure on the patient's eye by moving the tip of the tool in a desired manner with respect to the eye such as to perform the portion of the procedure, while entry of the tool into the patient's eye is maintained fixed at incision point. In this manner, the robotic unit acts to provide a dynamic remote center of motion that is located at the incision point, and about which motion of the tool is centered. Typically, the remote center of motion moves in coordination with movement of the eye. Alternatively or additionally, the computer processor is configured to detect when the eye is at a given position, and to time the performance of certain functions by the robotic units such that they are performed when the eye is at the given position. For some applications, the above-described steps are performed while the patient's eye is held substantially stationary by virtue of the tool being disposed within the eye. That is to say that, while the eye is held stationary, the computer processor drives the robotic unit to perform at least a portion of a procedure on the patient's eye by moving the tip of the tool in a desired manner with respect to the eye such as to perform the portion of the procedure, while entry of the tool into the patient's eye is maintained fixed at incision point.

    [0167] Typically, a plurality of arm-motors 34 are associated with the two multi-jointed arms 32. The plurality of arm-motors move tool mount 30 through five degrees-of-freedom (e.g., movement along the x-, y-, and z-axes, as well as pitch and yaw). For some application, the plurality of arm-motors are configured to move the tool mount (and/or the tool) through more than five degrees-of-freedom. Further typically, one or more mount-motors 36 (shown more clearly in FIG. 3A and 3B) are associated with the tool mount and are configured to move the tool with respect to the tool mount through a sixth degree-of-freedom (e.g., roll). For some applications, the one or more mount-motors associated with the tool mount are configured to move the tool with respect to the tool mount through a further degree-of-freedom.

    [0168] Reference is now made to FIGS. 3A, 3B, 3C, and 3D, which are schematic illustrations of respective views of tool mount 30 of robotic unit 20, in accordance with some applications of the present invention. Typically, tool mount 30 is configured such that it is configured to house a plurality of differently sized tools. For some applications, the tool mount includes first and second set of rollers 40, 42 that are disposed at fixed positions with respect to each other, and a third roller 44 that is movable with respect to the first and second sets of rollers. Typically, the rollers are mounted on a first support element 50 (which supports the first and second sets of rollers) and a second support element 52 (which supports the third roller), and the second support element is pivotably mounted with respect to the first support element, such that the third roller 44 is movable with respect to the first and second sets of rollers. Thus, as indicated, the tool mount is configured to securely hold tools having different circumferences from each other, by the third roller being moved with respect to the first and second rollers, such that the different combinations of the first, second, and third rollers encompass respective circumferences. For example, a tool having a relatively smaller circumference may be held between the first set of rollers and the third roller (as shown in FIGS. 3A and 3C), while a tool having a larger circumference may be held between the second set of rollers and the third roller (as shown in FIGS. 3B and 3D). The tool mount is typically configured to securely hold tools having different diameters from each other in such a manner that each of the tools is rollable while disposed inside the tool mount. For some applications, the tool mount is configured to securely hold tools having diameters ranging from 3 mm-20 mm, e.g., 6 mm-15 mm For example, FIGS. 3A and 3C show the tool mount securely holding a keratome blade 46 (which typically has a diameter of 5-8 mm), while FIGS. 3B and 3D show the tool mount securely holding a phacoemulsification probe 48 (which typically has a diameter of 10-14 mm). For some applications, the tool mount is designed in a different manner that allows the tool mount (a) to securely hold tools having different circumferences from each other, while (b) each of the tools is rollable while disposed inside the tool mount.

    [0169] As noted above, one or more mount-motors 36 are associated with the tool mount and are configured to move the tool with respect to the tool mount through a sixth degree-of-freedom (e.g., roll). For some applications, the mount-motor rotates the tool by rotating a fourth roller 54, via a gear mechanism 58 (gear mechanism 58 being visible in FIG. 3C).

    [0170] As described above, typically, the rollers are mounted on support elements 50 and 52. For some applications, the support surfaces and the rollers are separable from other portions of the robotic units, and are configured to be sterilized between uses with different patients, and/or are configured to be used for a single procedure before being disposed of. For some applications, the robotic unit defines a seventh degree of freedom, which is typically associated with the tool mount, and which controls movement of a syringe piston (i.e., a syringe plunger), such as to control the injection of fluid, saline, viscoelastic, etc. Alternatively or additionally, the robotic unit includes addition degrees-of-freedom associated with additional functions of tools 21.

    [0171] Reference is now made to FIG. 4, which is a schematic illustration of a robotic unit 20 that includes one or more tensioning cables 60, in accordance with some applications of the present invention. It is noted that the example of robotic unit 20 shown in FIG. 4 is generally similar to that shown in FIG. 1A, and is different from that shown in FIGS. 1B and 2. In the example shown in FIG. 4, there are respective multi-jointed arms 62 disposed on each side of tool mount 30. In general, features of robotic unit 20 as shown in FIG. 4 and techniques that are described for use therewith are applicable to other examples of robotic unit 20, and vice versa.

    [0172] It is typically the case that movements of the robotic unit are controlled via motors and gear mechanisms. In general, such gear mechanisms have some freedom of movement even if there is no input to the gear mechanism, in order to prevent the gear mechanisms from getting stuck. Typically, this can result in backlash of the gear mechanism after movement of the gear mechanism, which can result in imprecise positioning of the tool disposed within the robotic unit with respect to the patient's eye. Therefore, for some applications, one or more tensioning cables are placed around several joints 64 of the multi-jointed arms, such as to create tension on the joints. For some applications, a tensioning-cable motor 66 is configured to apply tension to the tensioning cable. Typically, the tensioning-cable motor 66 applies tension at a constant current and/or torque (e.g., by using a constant torque motor as tensioning-cable motor 66), such as to generate a constant tension on the tensioning cable. Typically, this reduces (or eliminates) backlash in the multi-jointed arms, relative to if the tensioning cable were not to be used. Alternatively or additionally, other techniques are used for reducing (or eliminating) backlash in the multi-jointed arms. For example, an anti-backlash gear mechanism may be used.

    [0173] Reference is now made to FIGS. 5A, 5B, and 5C, which are schematic illustrations showing the range of motion of a tool that is configured to be moved by robotic unit 20 such as to conform with the normal range of motion through which an ophthalmologist moves surgical tools during manually-performed intraocular surgery, in accordance with some applications of the present invention. Referring to FIG. 5A, the diameter D1 of the working space within which cataract surgery is typically performed is typically between 10 and 15 mm, e.g., approximately 12 mm Typically, over the course of a procedure this working space will move within a circle having a diameter D2 of between 20 mm and 30 mm, e g approximately 25 mm This is due to movement of the eye within the circle, as indicated by the dashed circles indicating the range of eye motion in each direction. Referring to FIG. 5B, the depth of the working space within which cataract surgery is typically performed is typically between 10 mm and 20 mm, e.g., approximately 15 mm

    [0174] For some applications, robotic system 10 includes first and second robotic units 20, such as to replicate the standard surgical practice in which an ophthalmologist performs the procedure holding respective tools in her/his left and right hands, each of the tools being inserted into the eye from a respective angle. The use of first and second robotic unit in this manner is illustrated in FIGS. 1A and 1B. As described above, typically, the tool mount of the robotic unit is movable through at least five degrees-of-freedom. For some applications, the robotic unit is configured to move the tool mount through five degrees-of-freedom, such that the tool moves along the x-, y-, and z-axes, as well as through pitch and yaw angular movements. Referring to FIG. 5C, typically, the robotic unit is configured to move the tool mount through a yaw angular rotation alpha of plus/minus 25 degrees from a central orientation. For some applications, the robotic unit is configured to move the tool mount through a pitch angular rotation beta of 60 degrees. Typically movement of the tool mount through the pitch angular rotation beta is performed starting from a starting pitch gamma of approximately 20 degrees (e.g., between 15 and 25 degrees) from the x-y plane (as indicated in FIG. 5C). Further typically, the robotic unit is configured to move the tool with respect to the tool mount through a sixth degree-of-freedom (e.g., roll). For some applications, the robotic unit is configured to roll the tool with respect to the tool mount, such that the tool has a range of roll angular rotation theta of plus/minus 80 degrees from a central position, as indicated in FIG. 5C.

    [0175] Typically, throughout a given procedural step being performed, the patient's eye and the robotic units (and/or tools disposed therein) are continuously imaged in real time. In response to the real-time images, the position and orientation of the tool is updated to correspond with real-time movement of the patient's eye (as described in further detail hereinbelow). Typically, the position and orientation of the tool is updated by moving the tool via the robotic units. For some applications, during a procedure (or a step thereof), the computer processor detects movement of the patient's eye in three dimensions, by analyzing images acquired by imaging system 22 (which as described hereinabove is typically a stereoscopic imaging system). For some such applications, in response to the detected movement of the patient's eye, the computer processor drives the robotic unit to move the tool such that entry of the tool into the patient's eye remains via the incision point even as the patient's eye undergoes the movement in three dimensions. Typically, even as the patient's eye undergoes the movement in three dimensions, the computer processor drives the robotic unit to perform at least a portion of a procedure on the patient's eye by moving the tip of the tool in a desired manner with respect to the eye such as to perform the portion of the procedure, while entry of the tool into the patient's eye is maintained fixed at incision point. Alternatively or additionally, the computer processor is configured to detect when the eye is at a given position, and to time the performance of certain functions by the robotic units such that they are performed when the eye is at the given position.

    [0176] Reference is now made to FIGS. 6A and 6B, which are schematic illustrations of an alternative example of a robotic unit 20 for use in robotic system 10, in accordance with some applications of the present invention. It may be observed that in FIGS. 6A-B, each bar 80 of at least one of the multi-jointed arms 32 of the robotic system includes two parallel beams 82 that extend between vertical links 84 that are disposed at each joint. For some applications, the arrangement of parallel beams and vertical links results in the ends of each of the links of a given multi-jointed arm remaining parallel with each other, even as the arm moves (as shown in the transition from FIG. 6A to FIG. 6B). In turn, this prevents the tool mount from being rolled with respect to support surface 27. For some applications, each of the multi-jointed arms is configured in the above-described manner. Alternatively, only one of the multi-jointed arms is configured in the above-described manner.

    [0177] Reference is again made to FIG. 2, which shows robotic unit 20, in accordance with some applications of the present invention. For some applications, as an alternative to the arrangement shown in FIGS. 6A-B, one or more of the multi-jointed arms is stabilized using a pulley and cable system as shown in FIG. 2. Typically, the multi-jointed arm includes a pulley 86 that is disposed at an end of the arm that is closest to support surface 27. Pulley 86 is held in a fixed and non-rotatable position with respect to support surface 27. Additional pulleys 88 are disposed at each additional link 84 (shown in FIG. 6) of the multi-jointed arm. A loop of cable 87 having a fixed length is typically disposed between each adjacent pair of pulleys (including pulley 86 and additional pulleys 88). The additional pulleys are free to rotate around their axis. However, since the lengths of the loops of cables are fixed and pulley 86 is held in a fixed and non-rotatable position with respect to support surface 27 this results in additional pulleys 88 facing in a fixed direction (indicated by arrow 89) even as the multi-jointed arm moves. For some applications, the above-described arrangement results in the tool mount being prevented from rolling with respect to support surface 27. For some applications, each of the multi-jointed arms is configured in the above-described manner Alternatively, only one of the multi-jointed arms is configured in the above-described manner.

    [0178] It is noted that, using a parallel beam system to prevent rolling of the tool mount with respect to support surface 27 (as shown in FIG. 6A-B) typically limits the range of motion of the multi-jointed arms, due to parallel beams colliding with each other. For example, the multi-jointed arm typically cannot be folded much more than the configuration shown in FIG. 6B. By contrast, the arm is not limited in this manner when the arm includes a pulley and cable system as shown in FIG. 2. Typically, when configured as shown in FIG. 2, adjacent portions of the arm can be folded to be almost parallel with each other (e.g., such that the adjacent portions of the arm are disposed at an angle of less than 10 degrees with respect to each other).

    [0179] Reference is now made to FIG. 7, which is a schematic illustration of control-component arm 70 of a control component 26, which is configured to be moved by a user and to thereby control movement of an arm of a robotic unit 20, in accordance with some applications of the present invention. In accordance with the above description of FIGS. 1A-1B, for some applications, control component 26 is used to control the robotic units during a training phase, when the robotic system is being trained to perform a procedure (and/or steps thereof). Alternatively or additionally, the control component 26 is used to control the robotic units when a procedure is subsequently performed upon a given patient, for example, in order to override and/or to refine a step of the procedure that the robotic system is going to perform. Further alternatively or additionally, by default, the control component is used to control movement of an arm of the robotic unit when a procedure is performed upon a given patient.

    [0180] Typically, the control component includes first and second control-component arms 70 that are configured to correspond to respective robotic units 20 of the robotic system, as shown in FIG. 1A. For some applications, the control-component arms are configured to hold respective control-component tools 71 therein (in order to replicate the arms of the robotic units), also as shown in FIG. 1A. (In FIG. 7, only one control-component arm is shown and the control-component arm is shown in the absence of a control-component tool.)

    [0181] For some applications, each of control-component arms 70 includes at least three joints 72, and a respective rotary encoder 74 coupled to each one of the three joints. The rotary encoders are configured to detect movement of the respective joints and to generate rotary-encoder data in response thereto. For some applications, the control-component arm additionally includes an inertial-measurement unit 76 that includes a three-axis accelerometer, a three-axis gyroscope, and/or a three-axis magnetometer. The inertial-measurement unit typically generates inertial-measurement-unit data relating to a three-dimensional orientation of the control-component arm, in response to the control-component arm being moved. For some applications, computer processor 28 receives the rotary-encoder data and the inertial-measurement-unit data. Typically, the computer processor determines the XYZ location of the tip of the control-component tool 71, based upon the rotary-encoder data, and determines the orientation of the tip of control-component tool 71 (e.g., the 3 Euler angles of orientation, and/or another representation of orientation) based upon the inertial-measurement-unit data. Thus, based upon the combination of the rotary-encoder data and the inertial-measurement-unit data, the computer processor is configured to determine the

    [0182] XYZ location and orientation of the tip of the control-component tool.

    [0183] For some applications, the computer processor drives the robotic unit such that the tip of the actual tool that is being used to perform the procedure tracks the movements of the tip of the control-component tool. Typically, incorporating an inertial-measurement unit to detect the three-dimensional orientation of the control-component arm allows the user to control movement of the robotic unit using a reduced number of sensors, relative to if rotary encoders were used to detect motion of the control-component arm in all six degrees-of-freedom. Further typically, reducing the number of rotary encoders that are used tends to reduce the overall complexity of the control component, since introducing additional rotary encoders would require additional wires to pass through rotating joints.

    [0184] Reference is now made to FIG. 8, which is a schematic illustration of control component 26, in accordance with some applications of the present invention. For some applications, the control component includes one or more ergonomic features. For example, the control component may include wrist-support elements 90, such as cushions or gel-filled pads. For some applications, the left and right control-component arms 70 are designed asymmetrically, such that the user is able to grip and move the arms with their left and right hands in a comfortable manner. As described hereinabove, typically, the control-component arms are used to control movement of an arm of a robotic unit 20. For example, as described, based upon the combination of the rotary-encoder data and the inertial-measurement-unit data, the computer processor may be configured to determine the XYZ location and orientation of the tip of the control-component tool. For some applications, the control component arms include additional controls. For example, the control-component arm may include a button 92 that is configured to activate a tool, such as forceps.

    [0185] Reference is now made to FIGS. 9A and 9B, which are schematic illustrations of respective views of control component 26, the control component including an in-built stereoscopic vision system 94, in accordance with some applications of the present invention. As described hereinabove, for some applications, imaging system 22 is a stereoscopic imaging device. For some such applications, based upon images acquired by the imaging system, real-time stereoscopic images are displayed to the user on stereoscopic system 94, which is in-built to the control component. Based on the received images, the user typically performs steps of the procedure, typically by providing commands to the robotic units via control-arms 70 of control component 26.

    [0186] Reference is now made to FIG. 10, which is a schematic illustration of control component 26, and a head-mounted display 96 for use with the control component, in accordance with some applications of the present invention. As described hereinabove, for some applications, based upon images acquired by imaging system 22, real-time images are displayed to the user. For some applications, the images are displayed on head-mounted display 96. Typically, imaging system acquires stereoscopic images, and the head-mounted display displays stereoscopic images to the user. Based on the received images, the user typically performs steps of the procedure, typically by providing commands to the robotic units via control-arms 70 of control component 26.

    [0187] Although some applications of the present invention are described with reference to cataract surgery, the scope of the present application includes applying the apparatus and methods described herein to other medical procedures, mutatis mutandis. In particular, the apparatus and methods described herein to other medical procedures may be applied to other microsurgical procedures, such as general surgery, orthopedic surgery, gynecological surgery, otolaryngology, neurosurgery, oral and maxillofacial surgery, plastic surgery, podiatric surgery, vascular surgery, and/or pediatric surgery that is performed using microsurgical techniques. For some such applications, the imaging system includes one or more microscopic imaging units.

    [0188] It is noted that the scope of the present application includes applying the apparatus and methods described herein to intraocular procedures, other than cataract surgery, mutatis mutandis. Such procedures may include collagen crosslinking, endothelial keratoplasty (e.g., DSEK, DMEK, and/or PDEK), DSO (descemet stripping without transplantation), laser assisted keratoplasty, keratoplasty, LASIK/PRK, SMILE, pterygium, ocular surface cancer treatment, secondary IOL placement (sutured, transconjunctival, etc.), iris repair, IOL reposition, IOL exchange, superficial keratectomy, Minimally Invasive Glaucoma Surgery (MIGS), limbal stem cell transplantation, astigmatic keratotomy, Limbal Relaxing Incisions (LRI), amniotic membrane transplantation (AMT), glaucoma surgery (e.g., trabs, tubes, minimally invasive glaucoma surgery), automated lamellar keratoplasty (ALK), anterior vitrectomy, and/or pars plana anterior vitrectomy.

    [0189] Applications of the invention described herein can take the form of a computer program product accessible from a computer-usable or computer-readable medium (e.g., a non-transitory computer-readable medium) providing program code for use by or in connection with a computer or any instruction execution system, such as computer processor 28. For the purpose of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Typically, the computer-usable or computer readable medium is a non-transitory computer-usable or computer readable medium.

    [0190] Examples of a computer-readable medium include a semiconductor or solid-state memory, magnetic tape, a removable computer diskette, a random-access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W), DVD, and a USB drive.

    [0191] A data processing system suitable for storing and/or executing program code will include at least one processor (e.g., computer processor 28) coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. The system can read the inventive instructions on the program storage devices and follow these instructions to execute the methodology of the embodiments of the invention.

    [0192] Network adapters may be coupled to the processor to enable the processor to become coupled to other processors or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.

    [0193] Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the C programming language or similar programming languages.

    [0194] It will be understood that the algorithms described herein, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer (e.g., computer processor 28) or other programmable data processing apparatus, create means for implementing the functions/acts specified in the algorithms described in the present application. These computer program instructions may also be stored in a computer-readable medium (e.g., a non-transitory 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 instruction means which implement the function/act specified in the algorithms. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the algorithms described in the present application.

    [0195] Computer processor 28 is typically a hardware device programmed with computer program instructions to produce a special purpose computer. For example, when programmed to perform the algorithms described with reference to the Figures, computer processor 28 typically acts as a special purpose robotic-system computer processor. Typically, the operations described herein that are performed by computer processor 28 transform the physical state of a memory, which is a real physical article, to have a different magnetic polarity, electrical charge, or the like depending on the technology of the memory that is used. For some applications, operations that are described as being performed by a computer processor are performed by a plurality of computer processors in combination with each other.

    [0196] It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof that are not in the prior art, which would occur to persons skilled in the art upon reading the foregoing description.