Control modes and processes for positioning a robotic manipulator
阅读说明:本技术 用于定位机器人操纵器的控制模式和过程 (Control modes and processes for positioning a robotic manipulator ) 是由 周仁斌 于浩然 科萨里 S.尼亚 O.J.瓦哈里亚 B.F.K.萧 A.基特克斯 于 2017-12-13 设计创作,主要内容包括:本发明提供了一种用于控制机器人外科手术系统中的机器人臂的方法,所述方法包括:在机器人臂的预先确定参考位置处限定参考平面,其中所述机器人臂包括多个关节;以及驱动所述多个关节中的至少一个以引导所述机器人臂通过基本上约束在所述参考平面内的一系列预先确定姿势。(The present invention provides a method for controlling a robotic arm in a robotic surgical system, the method comprising: defining a reference plane at a predetermined reference position of a robotic arm, wherein the robotic arm comprises a plurality of joints; and driving at least one of the plurality of joints to guide the robotic arm through a series of predetermined poses substantially constrained within the reference plane.)
1. A method for controlling a robotic arm in a robotic surgical system, the method comprising:
defining a reference plane at a predetermined reference position of a robotic arm, wherein the robotic arm comprises a plurality of joints; and
driving at least one of the plurality of joints to guide the robotic arm through a series of predetermined poses substantially constrained within the reference plane.
2. The method of claim 1, wherein the series of predetermined gestures comprises an ordered sequence of progressively expanding predetermined gestures.
3. The method of claim 1, wherein the series of predetermined gestures comprises an ordered sequence of progressively folding predetermined gestures.
4. The method of claim 1, further comprising driving at least one of the plurality of joints to guide the robotic arm through the series of predetermined poses to transition from a stored pose.
5. The method of claim 4, further comprising driving at least one of the plurality of joints to guide the robotic arm through the series of predetermined poses for transitioning to a stored pose.
6. The method of claim 1, wherein driving at least one of the plurality of joints comprises executing a task space virtual gripper at the reference plane to bias the robotic arm toward the reference plane.
7. The method of claim 1, wherein driving at least one of the plurality of joints comprises executing a one-way joint space virtual gripper on the at least one joint to bias the robotic arm toward the reference plane.
8. The method of claim 1, wherein driving at least one of the plurality of joints comprises generating a virtual attractive force at the at least one joint in a joint space virtual fixture to bias the robotic arm toward the reference plane.
9. The method of claim 1, wherein the series of predetermined gestures comprises an ordered sequence, and wherein driving at least one of the plurality of joints comprises driving at least one of the plurality of joints forward and backward through at least a portion of the ordered sequence.
10. The method of claim 1, wherein driving at least one of the plurality of joints comprises driving the at least one joint in response to an external force on the robotic arm.
11. The method of claim 10, wherein driving at least one of the plurality of joints comprises applying a gravity compensation torque to at least one of the plurality of joints.
12. The method of claim 10, wherein driving at least one of the plurality of joints comprises applying a friction compensating torque to at least one of the plurality of joints.
13. The method of claim 1, wherein driving at least one of the plurality of joints comprises driving the at least one joint through the series of folded and unfolded predetermined poses according to a predetermined trajectory.
14. A robotic surgical system, comprising:
at least one robotic arm comprising a plurality of joints;
a processor configured to control movement of the robotic arm by: defining a reference plane at a predetermined reference position, and driving at least one of the plurality of joints to guide the robotic arm through a series of predetermined poses substantially constrained within the reference plane.
15. The system of claim 14, wherein the series comprises an ordered sequence of predetermined gestures that gradually expand.
16. The system of claim 14, wherein the series comprises an ordered sequence of progressively folding predetermined poses.
17. The system of claim 14, wherein the processor is configured to drive at least one of the plurality of joints according to a task space virtual fixture.
18. The system of claim 14, wherein the processor is configured to drive at least one of the plurality of joints according to a joint space virtual fixture.
19. The system of claim 14, wherein the processor is configured to drive the at least one joint in response to an external force on the robotic arm.
20. The system of claim 14, wherein the processor is configured to drive the at least one joint through the series of predetermined poses according to a predetermined trajectory.
Technical Field
The present invention relates generally to the field of robotic surgical systems, and more particularly to systems and methods for controlling robotic surgical systems.
Background
Minimally Invasive Surgery (MIS), such as laparoscopic surgery, involves techniques aimed at reducing tissue damage during surgical procedures. For example, laparoscopic procedures typically involve making a plurality of small incisions within a patient (e.g., in the abdominal cavity), and introducing one or more instruments (e.g., one or more tools, at least one camera, etc.) into the patient through the incisions. The surgical procedure is then performed using the introduced tool and the visualization assistance provided by the camera. In general, MIS provides a number of beneficial effects, such as reducing scarring, alleviating pain, shortening the recovery period of a patient, and reducing medical costs associated with patient recovery.
MIS can be performed using non-robotic or robotic systems. Conventional robotic systems, which may include a robotic arm that manipulates an instrument based on commands from an operator, may provide many of the benefits of minimally invasive surgery while reducing the need for a surgeon. Control of such robotic systems may require control input by a user (e.g., a surgeon or other operator) via one or more user interface devices that translate user manipulations or commands into control of the robotic system. Such user interface devices may enable a surgeon or other user to operate the robotic system from a remote location (e.g., in teleoperation).
Setup of a robotic MIS system (e.g., prior to a surgical procedure) can be a complex process because such a system includes many components that need to be coordinated to make the correct setup. Similarly, for similar reasons, it may be complicated to "disassemble" or restore the robotic MIS system (e.g., after a surgical procedure) to a storage or transport mode. Accordingly, it is desirable to have control modes and procedures for assisting and simplifying pre-operative setup and post-operative disassembly of a robotic surgical system.
Disclosure of Invention
In general, in some variations, a method for controlling a robotic arm in a robotic surgical system includes: defining a reference plane at a predetermined reference position of a robotic arm, wherein the robotic arm comprises a plurality of joints; and driving (e.g., by one or more actuators) at least one of the plurality of joints to guide the robotic arm through a series of predetermined poses substantially constrained within the reference plane. The series of predetermined gestures may include, for example, an ordered sequence of: a gradually expanding predetermined pose (e.g., for preoperative positioning of the robotic arm, or for transitioning the robotic arm from a stored pose) or a gradually collapsing predetermined pose (e.g., for postoperative positioning of the robotic arm, or for transitioning the robotic arm to a stored pose). As another example, the series of predetermined poses can be implemented in an intraoperative positioning of the robotic arm.
In some variations, the method may include directing the robotic arm from the storage pose to the reference plane. In these variations, the series of predetermined gestures may comprise an ordered sequence of progressively expanding predetermined gestures. In still other variations, the method may additionally or alternatively include directing the robotic arm to a reference plane to transition to a storage pose. In these variations, the series of predetermined gestures may comprise an ordered sequence of progressively folding predetermined gestures. In driving at least one of the plurality of joints to guide the robotic arm through the ordered sequence of predetermined poses, the at least one joint may be driven forward and/or backward through at least a portion of the ordered sequence.
Different variants for the guidance of the robot arm may be provided. In some variations, when driving at least one of the plurality of joints to guide the robotic arm within the reference plane, the at least one of the plurality of joints may be driven in response to an external force on the robotic arm (such as a user applied force when the user manually manipulates the robotic arm). For example, at least one of the plurality of joints may be driven to apply a gravity compensation torque and/or a friction compensation torque. In some variations, when at least one of the plurality of joints is driven to guide the robotic arm within the reference plane, the at least one of the plurality of joints may be driven to perform a task space virtual gripper defined at the reference plane so as to substantially constrain the robotic arm (or a selected point of the robotic arm) within the reference plane. Other boot procedures include: the joint space virtual gripper is administered in that at least one of the plurality of joints may be driven to administer a unidirectional joint space virtual gripper on the at least one joint and/or a virtual attractive force at the at least one of the joint space virtual gripper is generated to bias the robotic arm toward and substantially constrain the robotic arm (or a selected point of the robotic arm) within the reference plane. Further, in some variations, the method may include driving at least one joint in the robotic arm through the series of predetermined poses according to a predetermined trajectory.
In general, in some variations, a robotic surgical system includes: at least one robotic arm comprising a plurality of joints; and a processor configured to control movement of the robotic arm before or after a surgical procedure by: defining a reference plane at a predetermined reference position, and driving at least one of the plurality of joints to guide the robotic arm through a series of predetermined poses substantially constrained within the reference plane.
Similar to the methods described above, in some variations, the sequence may include an ordered sequence of predetermined poses that progressively unfold (e.g., for pre-operative procedures), while in some variations, the sequence may include an ordered sequence of predetermined poses that progressively fold (e.g., for post-operative procedures).
In these variations, the processor may be configured to drive at least one of the plurality of joints of the robotic arm to guide the robotic arm in any of a variety of ways. For example, the processor may be configured to drive (e.g., via one or more actuators) at least one of the joints in accordance with the task space virtual fixture and/or the joint space virtual fixture. As another example, the processor may be configured to drive the at least one joint in response to an external force on the robotic arm (e.g., applied by a user manually manipulating the robotic arm), and/or provide at least one of gravity compensation and friction compensation to the at least one joint to assist in movement of the robotic arm. As another example, the processor may be configured to drive the at least one joint through the series of predetermined poses according to a predetermined trajectory.
Drawings
Fig. 1A shows an example of an operating room arrangement with a robotic surgical system and a surgeon console. FIG. 1B is a schematic diagram of one exemplary variation of a instrument driver on a robotic arm manipulator.
Fig. 2A is a schematic diagram of another exemplary variation of a instrument driver coupled to a robotic arm manipulator of a patient table. FIG. 2B is a schematic diagram of an exemplary control system arrangement for controlling actuation of a joint module of one exemplary variation of a robotic arm.
Fig. 3A is a flow chart of an exemplary variation of a method for controlling a robotic arm in a robotic surgical system. Fig. 3B and 3C are schematic diagrams of an exemplary variation of a joint space virtual gripper for controlling a robotic arm at the joint level.
Fig. 4A is a flow chart of an exemplary workflow of a robotic surgical system prior to a surgical procedure. Fig. 4B is a flowchart of an exemplary workflow of the robotic surgical system following a surgical procedure.
Fig. 5A and 5B are schematic side and top views, respectively, of a robotic arm in an exemplary variation of a storage pose under a patient table.
Fig. 6A and 6B are schematic side and top views, respectively, of a robotic arm moved to an exemplary variant of a table-off pose at an exemplary reference position. Fig. 6C is a schematic side view of the robotic arm rotated onto an exemplary reference plane.
Fig. 7A and 7B are schematic side views of a robotic arm that is movable to different poses within an exemplary reference plane.
Fig. 8A-8C are exemplary variations of gestures on different planes within an exemplary reference plane. Fig. 8D is a schematic diagram of a covering pose of a robotic arm covered with sterile drapes.
Fig. 9 is a diagram showing an exemplary modification of the control system that implements the trajectory following mode for the robot arm.
Fig. 10A and 10B are diagrams illustrating an exemplary variation of a control system implementing a combination of virtual grippers for a robotic arm.
Detailed Description
Non-limiting examples of various aspects and variations of the present invention are described herein and illustrated in the accompanying drawings.
Overview of robotic surgical System
Generally, as shown in fig. 1A, the
A user (such as a surgeon or other operator) may use the
In one example, the
During an exemplary procedure or surgical procedure, the patient is ready and covered in a sterile manner, and anesthesia is achieved. Initial access to the surgical site may be performed (e.g., through an incision in the patient). Once entry is complete, initial positioning and/or preparation of the robotic system may be performed (e.g., as further described herein). During a surgical procedure, a surgeon or other user in the
In fig. 1A, the
In other examples,
Table and robot arm
Generally, as described above, one or more robotic arms in a robotic surgical system may be located at a surgical platform (such as a table, bed, cart, etc.). For example, as shown in fig. 2A, one exemplary variation of a
Although the
The
For example, as shown in fig. 2A, the
In some variations, the robotic arm may be controlled by a control system that manages the motion of the robotic arm. If the robot-assisted surgical system includes more than one robot arm, the control system may control multiple robot arms. For example, as shown in fig. 2B, the control system may include one or more processors 220 (e.g., microprocessors, microcontrollers, application specific integrated circuits, field programmable gate arrays, and/or other logic circuitry). The processor 220 may be physically located on the robotic arm itself, in an on-board unit or other suitable structure, and may be communicatively linked to a user console 210 (e.g., user interface). The processor 220 may, for example, be configured to execute instructions for performing any combination of aspects of the methods described herein. The control system may also include a set of multiple motor controllers (e.g., 230a-230g), each communicatively coupled to the processor 220 and dedicated to controlling and operating at least one actuator (e.g., 240a-240g) in a respective joint module of the robotic arm.
In some variations, one or more of various control modes may be used to operate the robotic arm. For example, the robotic arm may be operated in a gravity compensated control mode in which the robotic arm holds itself in a particular pose without shifting downward due to gravity. In the gravity compensation mode, the control system determines a gravitational force acting on at least a portion of a link in the robotic arm. In response, the control system actuates at least one joint module to counteract the determined gravitational force such that the robotic arm may maintain the current pose. To determine gravity, for example, the controller may perform calculations based on measured joint angles between adjacent links, known kinematic and/or dynamic properties of the robotic arm and instrument driver, and/or known characteristics of the actuators (e.g., gear ratios, motor torque constants), one or more forces detected on the joints, and so forth. Further, the robotic arm may include at least one accelerometer or other suitable sensor or sensors configured to determine a direction of gravity applied to the arm. Based on these calculations, the controller can algorithmically determine what force needs to be applied at each joint module to compensate for the gravitational forces acting on that joint module. For example, the controller may utilize a forward kinematics algorithm, an inverse kinematics algorithm, or any suitable algorithm. The controller may then generate a set of commands to provide the appropriate level of current to the actuators in the joint module to maintain the robotic arm in the same pose. For example, in various instances, such as during pre-operative and/or post-operative procedures described herein, the gravity compensation mode may be used, for example, alone or in combination with other control modes (e.g., the friction compensation mode described below).
As another example, the robotic arm may be operated in a friction compensation mode or an active back drive mode. For example, in some cases, a user may want to directly manipulate (e.g., pull or push) one or more arm links to place the robotic arm in a particular pose. These motions back drive the actuators of the robot arm. However, due to mechanical friction, such as high gear ratios in the joint module, in some variations, the user must apply considerable force to overcome the friction and successfully move the robotic arm. To address this issue, the friction compensation mode enables the robotic arm to assist the user in moving at least a portion of the robotic arm by actively back-driving the appropriate joint modules in the direction needed to achieve the user's desired pose. Thus, the user may manually manipulate the robotic arm with less perceptible friction or with a noticeable "light weight" feel. In some variations, the controller may also incorporate predefined parameters (e.g., duration of force) to help distinguish between incidental movement (e.g., short jolts of the arm) and sudden expected changes in arm position, and then correct or re-determine the arm position if movement is determined to be incidental.
In the friction compensation mode, the control system may determine the presence and direction of user-applied force acting on at least one joint module (either directly or indirectly as a force on one or more arm links) to back-drive the actuators in that joint module. In response, the control system may actuate the joint module in the same direction as the force applied by the user to assist the user in overcoming static or dynamic friction. To determine the presence, magnitude, and direction of the force applied by the user, the control system may monitor the velocity and/or position of the joint module or robotic linkage (e.g., using force or torque sensors, accelerometers, etc.). Further, when in the friction compensation mode, the control system may send a dithering current signal (e.g., a sine wave or square wave centered at zero, with a frequency of about 0.5Hz to 1.0Hz or other suitable frequency, and an amplitude within the friction band in both directions) to one or more joint modules so that the joint modules are ready to approach but not completely overcome friction in either actuator direction. In response to determining the presence and direction of the force applied by the user, the control system may then generate a set of commands to provide the appropriate current level to the actuators in the joint modules to overcome the friction with greater responsiveness. For example, in various instances, such as during the pre-operative and/or post-operative procedures described herein, the friction compensation mode may be used alone or in combination with other modes (e.g., gravity compensation mode).
Method for guiding a robot arm
Generally, methods for guiding movement of a robotic arm are provided herein. For example, as shown in fig. 3A, a method 300 for guiding movement of a robotic arm in a robotic surgical system may comprise: a reference plane 310 is defined at a reference position of the robotic arm, wherein the robotic arm includes a plurality of joints, and at least one of the plurality of joints 320 is driven (e.g., with one or more actuators) to guide the robotic arm through a series of predetermined poses substantially constrained within the reference plane. For example, as described below, the robotic arm may be guided by driving at least one of a plurality of joints in the task space and/or joint space. In some variations, driving at least one of the plurality of joints 320 may be in response to manual manipulation of the robotic arm in order to assist a user in repositioning or repositioning the robotic arm, as further described herein.
In some variations, the method 300 may assist in positioning the robotic arm in pre-and/or post-operative procedures (e.g., "setup" and "teardown" procedures) before and after a surgical procedure, respectively. For example, a pre-operative procedure may transition the robotic arm from a stored pose, and a post-operative procedure may transition the robotic arm to a stored pose. In some variations, the method 300 may assist in intraoperative positioning of a robotic arm during a surgical procedure. In one aspect, through a control scheme as further described herein, the method may facilitate movement between robotic arm poses in a consistent and predictable manner that is compatible with clinical workflows. In another aspect, user-defined and/or predetermined robotic arm poses may be linked or bundled together by a virtual construct (such as a reference plane) that organizes and/or constrains movement of the robotic arm in a controlled manner. For example, as further described herein, the reference plane may be configured as a virtual fixture that generally limits movement of the robotic arm using predefined rules, thereby increasing predictability of the manner in which the robotic arm moves. For example, such predictability and/or constraints of the robotic arms may help reduce accidental collisions between adjacent robotic arms, self-collisions between different links of the robotic arms, collisions between the robotic arms and the patient table and/or other nearby obstacles, and so forth. In some variations, the reference plane may be predetermined (e.g., a pre-calculated or pre-defined location in space that is stored in memory and received for use during pre-operative and/or post-operative procedures). For example, a particular reference plane (e.g., relative to a patient table) may be an overall position suitable for a different range of situations, or may be associated with a particular surgical type, a particular patient type, a particular user (e.g., based on surgeon preferences), a particular device (such as a type of patient table), and so forth. In other variations, the reference plane may be stored in memory (e.g., current position of one or more links relative to the robotic arm) for use during pre-operative and/or post-operative procedures.
The method 300 may guide movement of the robotic arm between various poses (including user desired poses and/or predetermined poses), thereby assisting a user (e.g., a surgeon or surgical assistant) in manipulating the robotic arm in a flexible manner suitable for various situations. In some variations, the method 300 may provide such benefits through a convenient interface for a user to manipulate the robotic arm before, during, and/or after a surgical procedure.
In some variations, the general pre-operative and post-operative workflows may incorporate multiple robotic arm poses, or poses related to transitions between a storage environment and a surgical procedure environment. Some of the robotic arm poses may be on a plane, i.e., within a reference plane, where the reference plane may help guide the robotic arm to move between robotic arm poses on the plane. In some variations, an "on-plane" pose may be a pose in which the entire robotic arm, or at least critical points on the robotic arm (e.g., certain joints of the robotic arm), are substantially within a reference plane. Additionally, some of the robotic arm poses may be out-of-plane, i.e., outside of a reference plane, where the reference plane may provide a reference point or general "origin" position to which the robotic arm may return to continue in a pre-or post-operative workflow.
As described in further detail below, in some variations, the robotic arm may be guided, at least in part, via a user input device, such as by remote command through a handheld communication device configured to send and/or receive signals from the robotic arm (and/or a table adapter coupling the robotic arm to the patient table), or locally, typically through buttons or other input mechanisms on the patient table, robotic arm, or the like. In other variations, the robotic arm may additionally or alternatively be guided at least in part by an external force directly on the robotic arm (such as a force applied by a user who directly manually manipulates the robotic arm). In these variations, at least one of a plurality of joints in the robotic arm may be driven to effect commanded movement of the robotic arm and/or to provide assistance to a user's operation of the robotic arm in order to guide the robotic arm through a predetermined pose.
Although the methods described herein are primarily discussed with reference to a single robotic arm, it should be understood that in variations where the robotic surgical system includes multiple robotic arms, at least some of the multiple robotic arms may be simultaneously controlled through pre-operative and/or post-operative workflows in a similar manner. In other variations, at least some of the plurality of robotic arms may be controlled sequentially (e.g., one at a time) through pre-operative and/or post-operative workflows. Furthermore, at least some of the robotic arms may be controlled simultaneously or independently by respective intra-operative workflows.
Further, while the methods described herein include reference to a robotic arm coupled to a patient table, it should be understood that in some variations, the methods may be performed with respect to a robotic arm mounted to any suitable support surface (e.g., cart, ceiling, side wall, etc.).
Guidance in a task space
Generally, in some variations and in at least some cases, a robotic arm may be controlled by generating and applying a task space virtual gripper to the robotic arm. The task space virtual fixture may be, for example, a straight or curved line, a plane or curved surface, a volume, or other configuration in three-dimensional space (e.g., defined in cartesian space or other suitable spatial coordinates). For example, the control system may generally limit the movement of one or more control points on the robotic arm (e.g., any suitable virtual point on the robotic arm) to a location on or within the virtual fixture. The task space virtual jig may be predetermined (e.g., a pre-calculated or pre-defined location in space that is stored in memory and received for use during pre-operative and/or post-operative procedures). For example, a particular task space virtual jig may be a generic virtual jig suitable for a different range of situations, or may be associated with a particular surgical type, a particular patient type, a particular user (e.g., based on surgeon preferences), a particular device (such as a type of patient table). In some variations, the task space virtual jig may be stored in memory (e.g., current position of one or more links relative to the robotic arm) for use during pre-, intra-and/or post-operative procedures.
In some variations, as described herein, a virtual gripper may be defined on a reference plane of a robotic arm such that movement of the robotic arm (or a selected point on the robotic arm) is substantially constrained to the reference plane. For example, a user may manually manipulate and position the robotic arm with actuated assistance provided by gravity compensation and/or friction compensation control modes. The virtual gripper may generally allow such user-manipulated movement of the robotic arm within the reference plane while substantially preventing or impeding movement outside the reference plane. For example, motion out of the reference plane may be resisted by delivering a set of one or more resistive joint torques that oppose one or more force components normal to the reference plane (any force components that tend to cause a portion of the robotic arm to move out of the reference plane). The control system may drive one or more joints in the robotic arm to deliver a resistive joint torque according to the virtual gripper.
The desired virtual force F of the resistive joint torque τ may be calculated as a cartesian force (e.g., an X-Y-Z component) as the sum of the virtual spring force and the virtual damping force according to equation (1):
F=K*Δx+D*vx(1)
where F is cartesian component force (3 × 1 vector), K is spring constant (3 × 3 diagonal matrix), Δ x is penetration depth (3 × 1 vector), D is damping ratio (3 × 3 diagonal matrix), and v isxIn some variations, the virtual force F may omit a virtual spring force (a component with a spring constant K) or a virtual damping force (a component with a damping ratio D) the virtual force F may be used to determine a resistive joint torque τ on the joint J of the robotic arm according to equation (2):
τ=JT*[F,O]T(2)
where τ is the resistive joint torque (number of joints n × 1 vector), F is the force (3 × 1 vector), and O is zero (3 × 1 vector). Each resistive joint torque may be achieved or applied by actuation of a respective joint module in the robotic arm such that the associated joint of the robotic arm is driven against attempted out-of-plane movement of at least a portion of the robotic arm. Although the size of the matrices in equations (1) and (2) are configured for cartesian forces, it should be understood that in other variations, the matrices may be any suitable size for expressing forces and torques in other kinds of coordinate systems (e.g., spherical coordinate systems).
In some variations, the robotic arm (or a selected point on the robotic arm) may move outside of the reference plane (virtual gripper) if sufficient external force applied to the robotic arm exceeds a threshold. For example, the virtual force F described above may saturate at a threshold value, or have a maximum predetermined value, such that if a user attempts to move the robotic arm with sufficient force to overcome the maximum virtual force F, at least a portion of the robotic arm may be forced outside of the reference plane. The maximum or saturation value of the virtual force F may be adjusted as a system setting (e.g., system mode). In some examples, the maximum value of the virtual force F may be variable and may be based on other conditions, such as the type of surgical procedure to be performed, the speed of movement of the robotic arm, the mode or pose of the robotic arm (e.g., associated with a particular step of a setup and/or removal process), and so forth. Once the robotic arm is outside of the reference plane, in some variations, movement of the robotic arm outside of the reference plane may be actively assisted by gravity compensation and/or friction compensation. Further, the robotic arm may be restored onto the reference plane and into the constraints of the virtual fixture, e.g., via guidance in the joint space as described below.
Although navigation in task space is described above primarily with respect to a planar virtual fixture, it should be understood that other virtual fixture shapes (e.g., straight or curved lines, curved surfaces, three-dimensional volumes, etc.) may be similarly implemented.
Guidance in joint space
Generally, in some variations and in at least some cases, a robotic arm may be controlled by generating and applying one or more joint space virtual grippers that are applied across one or more joints of the robotic arm on a joint-by-joint level. Similar to the task space virtual fixture described above, the joint space virtual fixture may be, for example, a straight or curved line, a plane or curved surface, a volume, or other configuration in three-dimensional space (e.g., defined in cartesian space or other suitable spatial coordinates). For example, the control system may generally limit the movement of one or more control points on the robotic arm (e.g., any suitable virtual point on the robotic arm) to a location on or within the virtual fixture. Like the task space virtual jig described above, the joint space virtual jig may be predetermined (e.g., a pre-calculated or pre-defined position in space that is stored in memory and received for use during pre-operative and/or post-operative procedures). For example, a particular joint space virtual jig may be a generic virtual jig suitable for a different range of situations, or may be associated with a particular surgical type, a particular patient type, a particular user (e.g., based on surgeon preferences), a particular device (such as a type of patient table), and so forth. In some variations, the joint space virtual jig may be stored in memory (e.g., current position of one or more links relative to the robotic arm) for use during pre-, intra-and/or post-operative procedures.
In some variations, at least one joint space virtual gripper may be defined on or around a joint of the robotic arm. Further, a plurality of joint space virtual fixtures may be defined on or around a plurality of respective joints of the robotic arm such that movement of the robotic arm is substantially constrained to a reference plane or other virtual construct. For example, a user may manually manipulate and position the robotic arm with actuated assistance provided by gravity compensation and/or friction compensation control modes. The joint space virtual gripper may generally allow movement of the robotic arm within a reference plane while substantially preventing or inhibiting movement outside the reference plane.
Different kinds of joint space virtual fixtures are possible. A variation of the joint space virtual jig is shown in fig. 3B. Fig. 3B shows the range of rotational motion of roll joints (e.g., roll joints J2, J4, J6 as shown in the exemplary robotic arm of fig. 2A). A virtual fixture may be established at the target rotation angle 350 (e.g., the virtual fixture may be aligned with the reference plane). The control system may define an attraction zone between angles (a) and (B) and around the target rotation angle 350. When the relative rotational position of the adjacent link enters the attraction zone (AB) via the roll joint, a virtual force (e.g., a virtual spring force and/or a virtual damping force similar to equation 1 above) may attract the relative rotational position toward the target rotational angle 350. The virtual force may be used to determine one or more attractive joint torques that may be achieved or applied by actuation of a joint module in the robotic arm such that the relevant joint of the robotic arm is driven to attract the arm link into a particular target angle of rotation and thereby encourage the robotic arm to enter a particular pose (e.g., within a reference plane). For example, in some variations, the attractive joint torque exerted by the joint module on a particular joint may be determined using equation 3:
τ=k*Δθ+d*vθ(3)
where τ is joint torque, k is spring constant, Δ θ is penetration angle, d is damping ratio, and v isθJoint velocity.
Depending on the joint space virtual clamp, the attraction Area (AB) may, for example, allow a user manipulating the roll joint to feel that the adjacent connecting pieces "snap" or "lock" into a certain relative rotational position. In some variations, the attraction zone (AB) may be swept through an angle of between about 10 degrees and about 50 degrees, between about 25 degrees and 35 degrees, or about 10 degrees. The attraction zone (AB) may be symmetrically oriented about the target rotation angle 350 such that the target rotation angle 350 substantially bisects the attraction zone (AB). Alternatively, the attraction zone (AB) may be asymmetrically oriented about the target rotation angle 350 such that the target rotation angle 350 is closer to one end of the attraction zone (as compared to the other end).
In some variations, the robotic arm may move outside of the attraction zone if sufficient external force applied to the robotic arm exceeds a threshold. For example, the virtual force may saturate at a threshold value, or have a maximum predetermined value, such that if the user attempts to rotate the robotic arm with sufficient force to overcome the maximum virtual force, the roll joint may be forced outside of the attraction zone. Outside the attraction Area (AB), the control system may avoid applying the above-mentioned virtual force and the attractive joint torque.
Another variation of the joint space virtual jig is shown in fig. 3C. Like fig. 3B, fig. 3C illustrates a range of rotational motion of the roll joint, and a virtual fixture may be established (e.g., the virtual fixture may be aligned with a reference plane) relative to the target rotational angle 350. The control system may define a "uniplanar" or unilateral virtual clamp that allows rotation of the joint in one direction toward the target rotation angle 350, but prevents rotation of the joint in the opposite direction away from the target rotation angle 350 by actively resisting movement. The control system may cause actuation of one or more joints to prevent rotation according to the unilateral joint space virtual clamp. In some variations, the allowable direction of a single-sided virtual fixture may always be oriented in the same direction (e.g., allowing only clockwise movement of one connector relative to an adjacent connector). In other variations, the allowable direction of the single-sided virtual fixture may vary depending on which direction of movement will more quickly position the adjacent connector at the target rotational angle 350. For example, if the current link position C is closer to the target rotation angle 350 by traveling in a clockwise direction, the single-sided virtual fixture may allow substantially only clockwise movement of the link. As another example, if the current link position is closer to the target rotation angle 350 by traveling in a counterclockwise direction, the one-sided virtual fixture may allow substantially only counterclockwise motion. Furthermore, in some variations, movement in the permissive direction may be assisted via actuation assistance (e.g., friction compensation).
In some variations, the robotic arm may move opposite the permissive direction of the one-sided virtual gripper if sufficient external force applied to the robotic arm exceeds a threshold. For example, if a user attempts to rotate the robotic arm with sufficient force to overcome a threshold, the roll joint may be forced in a direction opposite to that of the one-sided virtual gripper.
In some variations, multiple virtual fixtures may be combined in any suitable manner. For example, in one variation, the control system may be configured to implement on at least one joint: a "one-sided virtual jig (e.g., similar to the jig described above with respect to fig. 3C), or a" two-sided "virtual jig with an attraction zone (e.g., similar to the jig described above with respect to fig. 3B), depending on the current rotational position of the joint with respect to the target rotational angle.
For example, as shown in FIG. 10A, if the current joint position qcurrWith the target joint position qtarThe difference between them is greater than a predetermined threshold qthreshold(e.g., greater than 5 degrees, greater than 10 degrees, greater than 15 degrees, etc.), a single-sided, single-sided virtual fixture may be implemented. Only at the current joint position qcurrAnd the previous joint position qprevThe difference between indicates that the joint is moving away from the target joint position qtarDuring movement, only the one-sided virtual gripper can apply a virtual gripper force FvTo limit or oppose movement. For example, as shown in FIG. 10A, at block 1010, when the user is facingTo a target position qtarWhile moving the arm (in the allowed direction of the unilateral virtual clamp, e.g. at least partially by the current joint position qcurrAnd the previous joint position qprevThe difference between) the control system may use an assist force F greater than zeroassTo provide actuation assistance (e.g., friction compensation) to assist in movement of the arm toward the target position, and the one-sided virtual clamp may not apply the virtual clamp force FvTo limit or oppose such arm movement. In contrast, as shown in FIG. 10A, at block 1020, when the user is away from the target location qtarWhile moving the arm (in the direction of constraint of the unilateral virtual clamp, e.g. at least partially by the current joint position qcurrAnd the previous joint position qprevThe difference between) the control system may use an assist force F approximately equal to zeroassWithout providing any actuation assistance, and a single-sided virtual clamp can apply a virtual clamp force FvTo substantially prevent or resist movement of the arm away from the target location. Thus, the unilateral virtual clamp may facilitate movement of the joint toward the target joint location and oppose movement of the joint away from the target joint location.
Further, as shown in fig. 10B, if the current joint position q is presentcurrWith the target joint position qtarThe difference between them is less than a predetermined threshold qthreshold(e.g., less than 5 degrees, less than 10 degrees, less than 15 degrees, etc.), a "double-sided" virtual fixture with an attraction zone may be implemented. For example, the control system may surround the target joint position qtarThe attraction area is defined within a predetermined angular range. In some variations, the attraction zone may also be defined as a predetermined threshold q on both sides of the target joint positionthresholdBut may define the attraction zone relative to any suitable angular range. When the relative rotational position of adjacent links around a joint enters the attraction zone, a virtual clamp force (e.g., a virtual spring force and/or a virtual damping force similar to
Further, it should be understood that in some variations, the combination of "single-sided" and "double-sided" virtual fixtures may similarly be implemented by the control system through the task-based virtual fixtures described in further detail above. For example, a single-sided virtual fixture and/or a two-sided virtual fixture having an attraction area may be defined relative to a reference plane similar to the reference plane described above and/or any suitable kind of virtual fixture shape.
Although the joint space virtual gripper is described primarily with respect to a roll joint, it should be understood that attractive virtual grippers and/or unilateral virtual grippers may be similarly implemented additionally or otherwise for other kinds of joints (e.g., pitch, yaw) in the robot to impose joint space guidance on other suitable portions of the robot arm.
Different kinds of joint space virtual fixtures can be combined. For example, in some variations, the joints between adjacent links in a robotic arm may be guided primarily via a one-sided virtual clamp as described with respect to fig. 3C, and as the relative rotational position of the links approaches the target rotational angle 350, the links may enter a suction zone as described with respect to fig. 3B, such that the suction force snaps or locks the joints into place at the target rotational angle 350. Further, in some variations, guidance via the task space virtual jig may be combined with guidance via one or more kinds of joint space virtual jigs.
Guidance using trajectory
In still other variations, movement of at least a portion of the robotic arm may be guided in a trajectory following mode. In trajectory following mode, the robotic arm may move to follow a series of one or more trajectory (e.g., cartesian trajectory) commands. Trajectory commands may include, for example, velocity commands (constructed from linear and/or angular movements) or target pose commands (constructed from the final target positions and orientations of the links and joint modules). If the command is a target pose that requires a large number of link movements to transition from the current pose to the target pose, the control system may generate a trajectory that defines the necessary link movements. If the command relates to the same target gesture as the current gesture, the control system may effectively generate a trajectory command, resulting in a commanded "hold" position. For example, the trajectory may be based on inputs including: a commanded velocity or gesture (e.g., transformation matrix, rotation matrix, 3D vector, 6D vector, etc.); an arm linkage to be controlled; measured joint parameters (angle, velocity, acceleration, etc.); tool parameters (type, weight, size, etc.); and environmental parameters (e.g., predefined areas where the arm linkage is blocked or prohibited from entering, etc.). The control system may then use one or more algorithms to generate an output of the firmware of the commanded joint parameters (position, velocity, acceleration, etc.) and/or a commanded motor current that is a current feed forward of the firmware. Suitable algorithms for determining these output commands include those based on forward kinematics, inverse dynamics, and/or collision avoidance (e.g., collisions between arm links, collisions between different instances of a robotic arm, collisions between an arm and the environment, etc.).
Preoperative workflow
In some variations, as described above, the method 300 may be used to help set up the robotic surgical system prior to a surgical procedure (e.g., to transition the robotic arm from a stored pose, another suitable starting pose, or otherwise prepared for use during the surgical procedure). Aspects of an exemplary variation of the method 400 in a pre-operative workflow setting are shown in fig. 4A. For example, the method 400 may include assisting the robotic arm to move from a storage position (where the robotic arm may be in a storage pose, such as the collapsed storage pose 410 described below) to a reference position (where the robotic arm may be in a table-out
Storing gestures
In some variations, as shown in fig. 4A, the method may include assisting the robotic arm to move from the
For example, as shown, in fig. 5A and 5B, the compact pose may generally be a folded pose, wherein the links of the
When the
Although fig. 5A and 5B show the storage position generally below the patient table, it should be understood that in some variations, the storage position may be folded inside the cart, below or above the ceiling, adjacent to or inside the side walls, or against any other suitable mounting surface. For example, the arms may be in a folded position similar to the folded position shown in fig. 5A and 5B, within a storage compartment (e.g., folded within a cart, within a ceiling, within a sidewall) or nested against a support surface (e.g., folded against a cart, ceiling, or sidewall).
Posture of table detachment
As shown in fig. 4A, the robotic arm may transition from the storage pose 410 to the table-out
In some variations, the reference position of the table-off
It should be understood that in other variations, other kinds of mechanisms may additionally or alternatively cause the robotic arm to transition to the table-disengaged pose in some manner, such as by longitudinal translation (e.g., sliding on longitudinal rails) and/or lateral translation (e.g., sliding on lateral rails), in addition to or instead of pivoting.
In some variations, the robotic arm may be guided to a reference position in response to a movement command (e.g., via a remote command from a handheld communication device or other interface), such as through a trajectory following mode. In some variations, the robotic arm may be guided to the reference position by manipulation of the robotic arm by the user (e.g., by gravity compensation and/or friction compensation), by guidance of one or more task space virtual grippers, and/or by guidance of one or more joint space virtual grippers.
The reference plane may be defined at a predetermined reference position of the robot arm. In some variations, the reference plane may be defined as a plane that is generally perpendicular to the proximal portion of the robotic arm. For example, referring to fig. 2A, the reference plane may be a vertical plane orthogonal to robotic arm link L1. Once the robotic arm has transitioned to the table-out
In some variations, only the
Although the transition of the robotic arm between the stored pose (e.g., fig. 5A and 5B) and the initial flat pose (e.g., fig. 6C) is primarily described above as a process having a table-off pose (e.g., fig. 6A and 6B) as a discrete intermediate step, it should be understood that in some variations, the transition between the stored pose may omit such a discrete intermediate pose. For example, in some variations, the robotic arms may pivot outward and roll onto the reference plane substantially simultaneously, thereby blending the movements described above with respect to the transitions between the storage pose and the table-off pose, and between the table-off pose and the initial on-plane pose. Still further, in some variations, the robotic arm may substantially simultaneously pivot outward and roll onto the reference plane to be one of the above-described in-plane poses, thereby omitting the initial in-plane pose shown in fig. 6C.
Posture on plane
In some variations, as shown in fig. 4A, once the robotic arm has been positioned within a reference plane located at a reference position, the robotic arm may be directed through a series of in-plane poses 430, or one or more poses substantially constrained within the reference plane. For example, in some variations, a gesture that is substantially constrained within the reference plane may be a gesture in which the robotic arm (or a selected critical location or point on the robotic arm) is located within the reference plane. One or more brakes in the robot arm may be disengaged to allow for the rest of the robot arm. Such a brake may be triggered to engage, for example, upon application of an external force (such as a user initiating manual manipulation of the robotic arm, and/or engagement of a button, mechanism, or other surface on a control point on the robotic arm).
For example, fig. 7A and 7B illustrate one pose of the robotic arm substantially constrained within a
In pre-procedural setup, a series of gestures substantially constrained within a reference plane may, for example, comprise an ordered sequence of progressively evolving predetermined gestures within the reference plane. In some variations, one or more joints in the robotic arm may be actuated to drive the robotic arm forward and backward through at least a portion of the ordered sequence. For example, the robotic arm may be driven to partially unfold, at least partially refold, and then fully unfold through a sequence of gestures. By constraining the robotic arm substantially within the reference plane during pre-operative procedures, such as deployment, accidental collisions (as well as self-collisions) between the robotic arm and nearby objects may be reduced. Positioning the robotic arm in a predetermined pose may further limit the risk of collision, as the robotic arm will move in a predictable and consistent manner when preparing the robotic arm for a surgical procedure.
In some variations, collisions (such as self-collisions) between links of the robotic arms may be reduced by introducing joint constraints. For example, one or more joints in a robotic arm may be constrained to movement within a particular range of motion, such that in combination, the multiple joints are not able to rotate to a degree that would cause the arm links to collide. The joint constraint may be "soft" in that the joint constraint may be overcome by applying (e.g., manually) a force to the joint that exceeds a threshold force. In some variations, similar to the joint space jig described above, such joint restrictions may be imposed with a virtual jig.
As shown in fig. 4A, some exemplary on-
As shown in fig. 8B, the robotic arm in the high parking pose 434 may be more extended than the low parking pose 432, but include a distal portion that is folded and compact. In the high parking pose 434, the robotic arm may be in an intermediate position between the table disengage pose 420 and the cover pose 436. The
As shown in fig. 8C, the robotic arm in the covering pose 436 may be even more extended than the high parking pose 434. For example, as shown in fig. 8D, in the covering pose 436, the robotic arm may be sufficiently unfolded to enable placement of the
In some variations, the ordered sequence of progressively evolving predetermined gestures includes a
Movement between the predetermined poses may be guided by automatically driving at least one of a plurality of joints in the robotic arm. Various guidance procedures may guide the robotic arm through these poses. For example, when a user manually manipulates a robotic arm, one or more joints may be driven to facilitate gravity compensation and/or friction compensation in order to help guide movement of the robotic arm in response to forces exerted by the user on the robotic arm. Additionally or alternatively, one or more joints may be driven to guide the robotic arm by movement according to one or more task space virtual grippers and/or one or more joint space virtual grippers.
In performing one or more joint space virtual grippers, the different joints may be actuated in a particular order so as to effectively move the robotic arm through an ordered sequence of progressively expanding poses (e.g., to avoid self-collisions between its own arm links, to sweep through a smaller volume when the robotic arm is expanded, etc.). For example, in some variations, the more proximal joint may be biased to deploy before the more distal joint in the robotic arm in order to reduce the overall volume swept by the robotic arm during the sequence of deployment poses. With respect to the exemplary variation of the robotic arm shown in fig. 2A, to guide the robotic arm through various in-plane poses, the method may include a first joint space virtual gripper on J2, a second joint space virtual gripper on J4, and a third joint space virtual gripper on J6, wherein the first, second, and third joint space virtual grippers are performed in that order.
In some variations, one or more joints of the robotic arm may be driven to facilitate an automatic trajectory following mode in which the robotic arm follows a predetermined prescribed movement command. For example, the deployment trajectory may be pre-calculated at the joint level of the robotic arm for commanding each of the joints (e.g., changing to J1-J7 with reference to the robotic arm shown in FIG. 2A) to gradually transition the robotic arm from the off-
One guidance process may be used to move the robotic arm through a series of predetermined poses. Alternatively, different guidance procedures may be used for different portions of the series of predetermined gestures. For example, the trajectory following mode may guide the robotic arm from a table-off pose to an initial on-plane pose, the task space or joint space virtual gripper may guide the robotic arm between the initial on-plane pose and a low parking pose, and only the gravity and friction compensation mode may guide the robotic arm between the high parking pose and the coverage pose. In other variations, other combinations and permutations of the guidance process in the overall setup may be possible. For example, the system may be set up to operate based on a user's particular preference for trajectory following, task space or joint space virtual fixtures, or manual operation through gravity and/or friction compensation. Such user preferences for a particular guidance process may apply to an entire series of gestures, or to transitions between particular gestures. As another example, the system may be set to operate based on patient-specific, protocol-specific, device-specific, and/or room-specific parameters. For example, different patients (e.g., different patient sizes), different personnel, different surgical procedures, or different operating room environments may establish different spatial constraints or other constraints that may make certain kinds of guidance procedures more suitable than others. As merely an illustrative example, the bedside assistant may be too short to manually manipulate the robotic arm in all poses by gravity and friction compensation, so in such cases, the trajectory following mode may be more appropriate.
In some variations, a virtual clamp (e.g., providing a soft spring force and/or damping force) and/or brake may help maintain the pose of at least some of the links while the remaining links in the robotic arm move. For example, a transition from a low parking pose to a high parking pose (or another initial on-plane pose after a table-off pose to a high parking pose) may involve a virtual clamp and/or brake to substantially prevent relative movement between the distal links of the robotic arms, which may help maintain the folded pose of the distal links when a user pulls on the robotic arms to deploy the robotic arms between the low parking pose and the high parking pose. For example, referring to the exemplary robotic arm shown in fig. 2A, when a user pulls or otherwise manipulates the robotic arm into a high parking pose, joints J6 and J7 near the distal portion of the robot may be locked together to maintain adjacent links in a folded pose.
As shown in fig. 4A, the robotic arm may further be selectively moved to an out-of-
Butt joint
Once the robotic arm is covered with sterile drape, the robotic arm may be moved to pose 450 to dock to a cannula placed within the patient so as to provide a channel through which a surgical instrument may be inserted into the patient. For example, the robotic arm may be moved (e.g., manually manipulated by a user under gravity compensation and/or friction compensation) such that the distal end of the robotic arm is closer to the placed cannula. A device driver disposed on a distal end of the robotic arm may be coupled to the cannula such that the robotic arm is docked to the cannula in
Post-operative workflow
In some variations, as described above, the method 300 may be used to assist in "disassembling" a robotic surgical system after a surgical procedure. Aspects of an exemplary variation of the method in a post-operative workflow setting are shown in fig. 4B. Generally, the post-operative workflow outlined in fig. 4B may be similar to the pre-operative workflow outlined in fig. 4C, except that the post-operative workflow may include processes in a reverse order compared to the pre-operative workflow.
Undocking of butt joints
After the surgical procedure (or in other cases where the robotic arm is removed from the patient site), the robotic arm may be detached from the cannula and moved into the undocking pose 460. Undocking gesture 460 may be any suitable gesture in which the robotic arm moves away from the patient (e.g., outside a predefined boundary around the patient, such as at least a few feet away from the patient). For example, the user may manually manipulate the robotic arm with the assistance of gravity compensation and/or friction compensation (or alternatively by trajectory following, etc.), moving the robotic arm away from the patient and into the undocking pose 460. In some variations, the undocking gesture 460 may be an on-plane gesture 430 (e.g., on a reference plane), but alternatively the undocking gesture 460 may be any suitable gesture that is not within the reference plane.
In-plane posture, out-of-table posture
As shown in fig. 4B, after undocking from the cannula, the robotic arm may move toward an on-
In performing one or more joint space virtual grippers, it is possible to actuate the different joints in a particular order so as to effectively move the robotic arm through an ordered sequence of progressively folded poses (e.g., to avoid self-collisions between its own arm links, to sweep through a smaller volume when the robotic arm is deployed, etc.). For example, in some variations, the more distal joint may be biased to fold before the more proximal joint in the robotic arm in order to reduce the overall volume swept by the robotic arm during the sequence of folding poses. With respect to the exemplary variation of the robotic arm shown in fig. 2A, to guide the robotic arm through various in-plane poses, the method may include a first joint space virtual gripper on J6, a second joint space virtual gripper on J4, and a third joint space virtual gripper on J2, wherein the first, second, and third joint space virtual grippers are performed in that order.
As another example, the robotic arm may be directed by an external force (e.g., user manipulation) toward the cover pose 436, where the sterile drape may be removed from the robotic arm. From the covering pose 436, the robotic arm may be directed toward a high parking pose 434 and/or a low parking pose 432. Subsequently, the robotic arm may be directed toward the table-off
Further, similar to that described for the pre-operative workflow, in some variations, the robotic arm may be manipulated to one or more out-of-plane poses 440 that are not in the reference plane, and then biased back toward the reference plane via a virtual clamp or the like.
Storing gestures
In some variations, as shown in fig. 4B, the robotic arm may transition from a table-off
Examples of the invention
In one exemplary variation, the proximal end of the robotic arm may be coupled to a patient table on which a patient is located via a coupling arrangement. The linkage arrangement may include an actuator for actuating the lateral pivot joint, and one or more brakes for resisting movement of the lateral pivot joint. In an exemplary pre-operative workflow, the robotic arm may begin in a storage position under the patient table, where the robotic arm may be in a collapsed, compact position. A brake in the robotic arm and a brake in the coupling arrangement may be engaged to maintain the storage pose of the robotic arm below the table. The trajectory following mode may be enabled and a trajectory for moving the robotic arm from the stored pose to the table exit mode may be loaded from the memory device into the control system. The brakes in the coupling arrangement may be disengaged and the lateral pivot joint may be actuated according to the loaded trajectory such that the folded robotic arm is laterally pivoted to the table-disengaged pose at a reference position laterally away from the patient table by at least 45 degrees.
The user may pull or otherwise manually manipulate the robotic arm to deploy the robotic arm from the table-out pose to a pose substantially on a reference plane at a reference location, where the reference plane is perpendicular to the proximal link of the robotic arm. With these manual operations, one or more joints of the robotic arm may be driven according to the task space virtual gripper and/or the joint space virtual gripper to assist with these motions by one or more actuators, which may substantially guide or constrain movement of the robotic arm within the reference plane. When a user moves (e.g., pushes or pulls) the robotic arm, the friction compensation mode may be enabled to help the user overcome friction and enable the user to more easily move the robotic arm. Further, when the user lets go of the robotic arm, the robotic arm may maintain its current pose as a result of actuating one or more joints in the gravity compensation mode. Generally, a user may manually move the robotic arm through various gestures, including a high park gesture and a coverage gesture, in a guided motion within a reference plane. When the robotic arm is in the covering pose, the robotic arm may remain stationary due to gravity compensation, and the user may cover at least a portion of the robotic arm with a sterile drape in order to isolate the non-sterile robotic arm from the sterile environment.
The user may further manually manipulate the covered robotic arm towards a cannula placed in position within the patient on the patient table with the aid of gravity compensation and friction compensation. For example, a user may pull the instrument driver (on the distal end of the robotic arm) toward a cannula inserted into a desired location within a patient's body and couple (dock) the instrument driver and the robotic arm to the cannula. In this docked position, the instrument driver is ready to receive a surgical instrument (e.g., an endoscopic camera, an end effector, etc.) to be passed through the cannula, and the robotic arm is ready for use during a robotic surgical procedure.
After completion of the robotic surgical procedure, the exemplary post-operative workflow includes steps similar to the pre-operative workflow that are performed substantially in reverse. The instrument driver may be detached from the cannula (undocked) and the robotic arm manually manipulated by the user away from the patient with the assistance of gravity compensation and friction compensation. The robotic arm may be moved far enough away from the patient to enter the same or similar reference plane as during the pre-operative workflow, and may be repositioned to various poses substantially constrained within the reference plane, including the covering pose. As previously described, when the robotic arm is in the covering pose, the robotic arm may remain stationary due to gravity compensation, and the user may remove the sterile drape from the robotic arm. Generally, the user may continue to manually move the robotic arm in a guided motion to fold the robotic arm from the covering pose to the high parking pose, and to a table-out pose (or near pose) in which the robotic arm is folded into a compact pose. In these movements, one or more joints of the robotic arm may be driven according to the task space virtual gripper and/or the joint space virtual gripper to assist in these movements by one or more actuators to substantially guide or constrain movement of the robotic arm within the reference plane.
From the table-off gesture, a trajectory-following mode may be enabled, and a trajectory for moving the robotic arm from the table-off gesture to the stored gesture may be loaded from the memory device into the control system. The lateral pivot joint may be actuated to move the folded robotic arm from the table-disengaging pose to the storage pose. A brake in the coupling arrangement and within the robotic arm may be engaged to hold the robotic arm in a storage pose (e.g., until the robotic arm is to be prepared for another surgical procedure).
The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the invention. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the invention. Thus, the foregoing descriptions of specific embodiments of the present invention are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed; obviously, many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the following claims and their equivalents define the scope of the invention.