Robotic arm contact sensing and response system and method

The integration of sensors and null-space motion in robotic medical systems addresses excessive contact forces and torques, improving safety and reducing operational burdens by enabling controlled robotic arm movements.

JP7798299B2Active Publication Date: 2026-01-14AURIS HEALTH INC
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2023540046
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-12-30
Filing Date
2021-12-07
Publication Date
2026-01-14
Estimated Expiration
2041-12-07

AI Technical Summary

Technical Problem

Robotic medical systems face issues with excessive contact forces and torques during surgery, leading to potential injuries and discomfort for patients and medical personnel, and require improved interaction detection and response mechanisms to enhance safety and reduce operational burdens.

Method used

The system incorporates sensors throughout the robotic arm to detect forces and torques, enabling controlled movements based on detected contact characteristics, and employs null-space motion to optimize various objectives, such as collision avoidance and joint positioning, using processors to manage these interactions and prioritize tasks.

Benefits of technology

This approach enhances patient and operator safety by reducing interruptions and operational burdens, ensuring controlled robotic arm movements that minimize collisions and discomfort during surgery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007798299000078
    Figure 0007798299000078
  • Figure 0007798299000079
    Figure 0007798299000079
  • Figure 0007798299000080
    Figure 0007798299000080
Patent Text Reader

Abstract

The robotic medical system may be capable of touch sensing and touch reaction. The robotic medical system may include a robotic arm and one or more sensors. The robotic medical system may be configured to detect a contact force or torque exerted on the robotic arm by an external object via the one or more sensors. In response to detecting the contact force or torque, and in accordance with a determination that the magnitude of the contact force or torque is between a lower contact force limit or a lower torque limit and an upper contact force limit or an upper torque limit, the robotic medical system may enable a first set of controlled movements on the robotic arm according to the detected contact force or torque.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The systems and methods disclosed herein are directed to robotic medical systems, and more particularly to robotically controlled arms of robotic medical systems. [Background technology]

[0002] Robot-enabled medical systems can perform a variety of medical procedures, including both minimally invasive procedures such as laparoscopy, and non-invasive procedures such as endoscopic procedures. Among endoscopic procedures, the systems can perform bronchoscopy, ureteroscopy, gastroscopy, etc.

[0003] Such robotic medical systems may include robotic arms configured to control the movement of a medical tool during a given medical procedure. To achieve a desired pose of the medical tool, the robotic arms may be positioned during a setup process or during teleoperation. Some robot-enabled medical systems may include arm supports (e.g., bars) connected to the bases of the respective robotic arms and supporting the robotic arms. Summary of the Invention [Means for solving the problem]

[0004] During robotic surgery, the robotic arm may come into contact with adjacent objects, such as a patient, medical personnel, or accessories in the operating room, for example, due to the robotic arm's movement under teleoperation, resulting in excessive contact forces and / or torques on the patient or medical personnel. Excessive contact forces or torques may cause injury and discomfort to the patient or medical personnel during surgery. In some situations, in response to such contact forces and / or torques, one or more joints and / or links of the robotic arm may perform null-space motion to maintain posture (e.g., of the cannula's position and / or orientation). In some situations, the operator may need to move the patient or reach for an input control before moving the robotic arm out of the way. However, these actions may pose additional risks of unwanted collision and contact with the patient or other objects in the operating room.

[0005] Therefore, improved robotic medical systems are desirable. In particular, there is a need for a robotic medical system that detects interactions (e.g., forces and / or torques) on a robotic arm (e.g., on linkages, joints, etc. of the robotic arm) and, depending on the characteristics (e.g., magnitude, direction, rate of change, etc.) of the detected forces and / or torques, takes certain appropriate action, such as enabling null-space motion of the robotic arm, moving one or more joints and / or links of the robotic arm at a preferred speed and / or in a direction selected according to the characteristics (e.g., magnitude, direction, rate of change, etc.) of the detected forces and / or torques, or disabling teleoperation. This advantageously improves patient and / or operator safety during surgery. It also ensures reduced interruptions while the surgeon is driving one or more of the robotic arms during surgery.

[0006] Additionally, as disclosed herein, sensors are distributed throughout multiple regions of the robotic arm to detect forces and / or torques on the robotic arm and enable controlled movements on the robotic arm according to the detected contact forces or torques, thus reducing the operational burden on medical personnel to manually adjust the robotic arm's attitude, move the patient, and / or reposition the robotic arm itself during teleoperation.

[0007] In another aspect of the present disclosure, a robotic arm may include at least one degree of freedom redundancy that can be used for several different purposes while delivering an instrument to a desired pose and maintaining a remote center of motion (RCM). These purposes may include kinematic collision avoidance, joint limit avoidance, over-contact avoidance, admittance null-space motion for manual arm repositioning, and positioning the robot joints in a preferred location. In some situations, each of these purposes requires a respective null-space motion of the robotic arm. Because the robotic arm has limited degrees of freedom available for null-space motion, these purposes can sometimes conflict with each other. Therefore, it is necessary to simultaneously optimize these purposes for the robotic arm under various conditions of operation and control the null-space motion in a balanced and optimal manner.

[0008] As disclosed herein, a robotic medical system can manage null-space motion requirements associated with various objectives by identifying multiple tasks for the robotic system, each of which may require a respective null-space motion of the robotic arm. The robotic system can prioritize the tasks according to an integration scheme (e.g., a selected one of several available schemes, such as exclusivity, switching, or weighting) and determine the zero-space velocity of the robotic arm according to the integration scheme. In some embodiments, the medical robotic system can determine the “seriousness” or imperativeness of each null-space motion requirement under the current situation (e.g., generating a “cost function” with suitable weights and quantitative measures) and determine suitable null-space joint velocities of the robotic arm by reducing the aggregate “seriousness” of the null-space motion requirements under the current situation (e.g., optimizing the cost function). The robotic medical system then executes the null-space motion of the robotic arm based on the null-space joint velocities determined using the integration scheme that corresponds to a suitable balance between competing priorities under the situation (e.g., safety, power consumption, efficiency, goals and constraints of different tasks, etc.).

[0009] The systems, methods, and devices of the present disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.

[0010] According to some embodiments of the present disclosure, a robotic system includes a robotic arm. The robotic system also includes one or more sensors. The robotic system further includes one or more processors and a memory. The memory stores instructions that, when executed by the one or more processors, cause the one or more processors to detect, via the one or more sensors, a contact force or torque exerted on the robotic arm by an external object. In response to detecting the contact force or torque, in accordance with a determination that a magnitude of the contact force or torque is between a lower contact force limit or a lower torque limit and an upper contact force limit or an upper torque limit, the one or more processors can enable a first set of controlled movements on the robotic arm in accordance with the detected contact force or torque.

[0011] In some embodiments, enabling the first set of controlled movements on the robotic arm includes initiating null-space motion of the robotic arm.

[0012] In some embodiments, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to, in response to detecting a contact force or torque, disable movement of a portion of the robotic system in accordance with a determination that the contact force or torque exceeds an upper contact force limit or an upper torque limit.

[0013] In some embodiments, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors, in response to detecting a contact force or torque, to cease enabling a first set of controlled movements on the robot arm in accordance with the detected contact force or torque in accordance with a determination that the contact force or torque is less than a downward contact force or downward torque.

[0014] In some embodiments, the one or more sensors include one or more contact sensors, and the contact force or torque is detected using the one or more contact sensors.

[0015] In some embodiments, one or more contact sensors are located on links of the robotic arm.

[0016] In some embodiments, the link of the robotic arm is a distal link or a proximal link.

[0017] In some embodiments, the one or more sensors include a multi-axis load cell. The contact force or torque is detected using the multi-axis load cell.

[0018] In some embodiments, the multi-axis load cell includes a six-axis load cell located at a distal portion of the robotic arm.

[0019] In some embodiments, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to receive a first user command including a first velocity of the robotic arm. In response to a determination that the magnitude of the contact force is between a lower contact force limit and an upper contact force limit, the one or more processors a) determine a direction of the contact force, b) determine a direction of the torque, c) determine a first angle formed by a translational velocity of the robotic arm and the direction of the contact force, and d) determine a second angle formed by a rotational velocity of the robotic arm and the direction of the torque. In response to a determination that the first angle is within a first angle threshold and the second angle is within a second angle threshold, the one or more processors enable movement of one or more joints of the robotic arm at the first velocity. In accordance with at least one of (i) a determination that the first angle exceeds a first angle threshold or (ii) a determination that the second angle exceeds a second angle threshold, the one or more processors disable movement of the robot arm.

[0020] In some embodiments, the first and second angle thresholds are determined according to a measurement uncertainty of one or more contact sensors used to detect the contact force.

[0021] In some embodiments, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to receive a second user command including a desired velocity (e.g., linear velocity or angular velocity) of the robot arm. In accordance with determining that the torque magnitude is between the lower torque limit and the upper torque limit, the one or more processors determine a direction of the torque. In some embodiments, the one or more processors may determine a third angle formed by the direction of the torque and the desired velocity (e.g., linear velocity or angular velocity) of the robot arm. In accordance with determining that the third angle is within a third angle threshold, the one or more processors enable movement of the robot arm at the desired velocity. In accordance with determining that the third angle exceeds the third angle threshold, the one or more processors disable movement of the robot arm.

[0022] In some embodiments, the magnitude of the torque is determined relative to a remote center of motion of the robotic arm.

[0023] In some embodiments, the third angle threshold is determined according to the measurement uncertainty of a six-axis load cell used to detect torque.

[0024] According to some embodiments of the present disclosure, a robotic system includes a robotic arm. The robotic system also includes one or more sensors. The robotic system further includes one or more processors and a memory. The memory stores instructions that, when executed by the one or more processors, cause the one or more processors to detect, via the one or more sensors, a contact force or torque exerted on the robotic arm by an external object. In response to detecting the contact force or torque, and in accordance with a determination that the contact force or torque is between a lower force limit or a lower torque limit and an upper contact force limit or an upper torque limit, the one or more processors enable movement of the robotic arm in a trajectory based on a pre-established path or a pre-recorded path of the robotic arm.

[0025] In some embodiments, the one or more sensors include one or more contact sensors.

[0026] In some embodiments, the one or more sensors include a six-axis load cell.

[0027] In some embodiments, the pre-established or pre-recorded path of the robot arm includes a pre-recorded path of the center of gravity of the links of the robot arm.

[0028] In some embodiments, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to determine, from a pre-recorded path of the link center of gravity, a direction of translational and rotational movement along the pre-recorded path over a configurable period of time.

[0029] In some embodiments, the pre-established or pre-recorded path of the robotic arm includes a pre-established or pre-recorded path of the pitch angle and / or yaw angle of the remote center of motion of the robotic arm.

[0030] In some embodiments, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to determine, from a pre-established or pre-recorded path of the robotic arm, an average direction of movement along the pre-recorded path over a configurable period of time.

[0031] According to some embodiments of the present disclosure, a robotic system includes a robotic arm. The robotic system includes one or more sensors. The robotic system also includes one or more processors and a memory. The memory stores instructions that, when executed by the one or more processors, cause the one or more processors to detect, via the one or more sensors, a contact force or torque on the robotic arm exerted by an external object. In response to a determination that the contact force or torque is equal to or greater than a lower reaction force limit or a lower torque limit, the one or more processors reduce a velocity of the robotic arm.

[0032] In some embodiments, the robotic arm includes one or more joints, and reducing the velocity of the robotic arm includes reducing a respective velocity of each of the one or more joints of the robotic arm.

[0033] In some embodiments, reducing the respective velocity of each of the one or more joints comprises reducing the velocity of all of the joints by the same scale.

[0034] In some embodiments, reducing the velocity of the robot arm includes reducing the angular velocity of the remote center of motion of the robot arm.

[0035] In some embodiments, the one or more sensors include one or more contact sensors.

[0036] In some embodiments, the one or more sensors include a six-axis load cell.

[0037] According to some embodiments of the present disclosure, a robotic system includes a user console. The robotic system also includes a robotic arm. The robotic system also includes an adjustable bar coupled to the robotic arm. The robotic system further includes one or more processors and a memory. The memory stores instructions that, when executed by the one or more processors, cause the one or more processors to control null-space motion of the robotic arm and / or the adjustable bar based on inputs from two or more tasks of a plurality of tasks for execution by the robotic system. The plurality of tasks includes a first task including contact detection and reaction of the robotic arm, a second task including optimization of the adjustable bar, a third task including handling collisions and / or joint limits via kinematics, a fourth task including pose jogging of the robotic arm null-space and / or the bar, and a fifth task including movement toward a preferred joint position.

[0038] In some embodiments, the robotic system further includes one or more force sensors positioned on the robotic arm, and the first task further includes detecting a contact on the robotic arm using the one or more force sensors.

[0039] In some embodiments, the one or more force sensors include contact sensors positioned on links of the robotic arm.

[0040] In some embodiments, the one or more force sensors include contact sensors positioned on a joint or distal end of the robotic arm.

[0041] In some embodiments, the robotic system further includes one or more force sensors positioned on joints of the robotic arm, and the second task includes adjusting the attitude of the adjustable bar relative to the robotic arm using forces sensed on the one or more sensors.

[0042] In some embodiments, the robotic system further includes one or more encoders positioned on the joints of the robotic arm. A third task includes using the one or more encoders to detect collisions and mitigate collisions via kinematic control.

[0043] In some embodiments, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to prioritize one or more tasks of the plurality of tasks based on preset mutual exclusivity among the tasks in the plurality of tasks.

[0044] In some embodiments, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to assign a respective weight to each of the plurality of tasks. In some embodiments, the memory also includes instructions that, when executed by the one or more processors, cause the one or more processors to prioritize one or more of the plurality of tasks based on the relative magnitudes of the respective weights of the plurality of tasks.

[0045] In some embodiments, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to switch between a distinct set of one or more tasks of the plurality of tasks based on a current state of the robotic system.

[0046] In some embodiments, the robotic arm has redundancy in at least one degree of freedom.

[0047] In some embodiments, controlling the null-space motion of the robotic arm includes moving one or more joints of the robotic arm to a desired pose at optimal null-space joint velocities.

[0048] In some embodiments, the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to perform null-space movement of the robotic arm while enabling an end effector of the robotic arm to follow commands.

[0049] According to another aspect of the present disclosure, a method is implemented in a robotic system. The robotic system includes a robotic arm, an adjustable bar coupled to the robotic arm, one or more processors, and a memory. The memory stores one or more programs configured to be executed by the one or more processors. The method includes identifying a first plurality of tasks for the robotic system. Each task of the first plurality of tasks requires a respective null-space movement of the robotic arm having a corresponding null-space joint velocity. The first plurality of tasks includes two or more of: a first task including kinematic collision avoidance; a second task including joint limit avoidance; a third task including contact avoidance and admittance null-space movement; and a fourth task including movement toward a preferred joint position. The method includes performing the null-space movement of the robotic arm based on the first null-space joint velocity of the robotic arm determined by reducing a cost function including a first cost corresponding to optimization of the null-space of the adjustable bar and / or the robotic arm and / or pose jogging of the bar, and a plurality of second costs corresponding to each task of the first plurality of tasks.

[0050] In some embodiments, the method includes reducing the cost function using a gradient descent algorithm with successive step size reductions.

[0051] In some embodiments, the method includes moving one or more joints of a robotic arm to a desired pose at a first null-space joint velocity.

[0052] In some embodiments, the execution of the null space motion of the robot arm is performed while allowing the end effector of the robot arm to follow commands.

[0053] In some embodiments, the method further includes assigning a first weight to the first cost and assigning a respective second weight to each of the plurality of second costs.

[0054] In some embodiments, the second weight of each of at least one of the second costs is zero.

[0055] In some embodiments, the assignment of a respective second weight to each of the plurality of second costs is performed according to an operational state of the robotic system.

[0056] In some embodiments, a robotic system includes a robotic arm, an adjustable bar coupled to the robotic arm, one or more processors, and a memory storing one or more programs that, when executed by the one or more processors, cause the one or more processors to perform any of the methods described herein.

[0057] It should be noted that the various embodiments described above can be combined with any other embodiment described herein. The features and advantages described herein are not all-inclusive, and in particular, many additional features and advantages will be apparent to those skilled in the art upon consideration of the drawings, specification, and claims. Furthermore, it should be noted that the language used herein has been chosen primarily for readability and instructional purposes, and may not be chosen to delineate or limit the subject matter of the present invention. [Brief explanation of the drawings]

[0058] The disclosed aspects are hereinafter described in connection with the accompanying drawings, which illustrate, but are not limited to, the disclosed aspects, and in which like designations refer to like elements. [Figure 1] 1 illustrates one embodiment of a cart-based robotic system positioned for a diagnostic and / or therapeutic bronchoscopy procedure. [Figure 2] 2 depicts a further aspect of the robotic system of FIG. 1. [Figure 3] 10 illustrates an embodiment of the robotic system of FIG. 1 positioned for ureteroscopy. [Figure 4] 2 illustrates an embodiment of the robotic system of FIG. 1 positioned for a vascular procedure. [Figure 5] 1 illustrates one embodiment of a table-based robotic system positioned for a bronchoscopy procedure. [Figure 6] 6 provides an alternative view of the robotic system of FIG. 5. [Figure 7] 1 illustrates an example system configured to accommodate a robotic arm. [Figure 8] 1 illustrates one embodiment of a table-based robotic system configured for a ureteroscopy procedure. [Figure 9] 1 illustrates one embodiment of a table-based robotic system configured for laparoscopic procedures. [Figure 10] 10 illustrates one embodiment of the table-based robotic system of FIGS. 5-9 with pitch or tilt adjustment. [Figure 11] 5-10 provide detailed illustrations of the interface between the table and column of the table-based robotic system. [Figure 12] 1 illustrates an alternative embodiment of a table-based robotic system. [Figure 13] FIG. 13 shows an end view of the table-based robotic system of FIG. [Figure 14] FIG. 1 shows an end view of a table-based robotic system with a robotic arm attached. [Figure 15] 1 illustrates an exemplary instrument driver. [Figure 16] 1 illustrates an exemplary medical instrument having a pair of instrument drivers. [Figure 17]10 shows an alternative design of the instrument driver and instrument, where the axis of the drive unit is parallel to the axis of the elongated shaft of the instrument. [Figure 18] 1 illustrates an instrument having an instrument-based insertion architecture. [Figure 19] 1 illustrates an exemplary controller. [Figure 20] FIG. 10 shows a block diagram illustrating a localization system that estimates the location of one or more elements of the robotic system of FIGS. 1-10, such as the location of the implement of FIGS. 16-18, according to an exemplary embodiment. [Figure 21] 1 illustrates an exemplary robotic system, according to some embodiments. [Figure 22] FIG. 1 illustrates another view of an exemplary robotic system, according to some embodiments. [Figure 23A] 1A-1D illustrate different views of an exemplary robotic arm, according to some embodiments. [Figure 23B] 1A-1D illustrate different views of an exemplary robotic arm, according to some embodiments. [Figure 24A] 2 illustrates sensors on a robotic arm 210, according to some embodiments. [Figure 24B] 2 illustrates sensors on a robotic arm 210, according to some embodiments. [Figure 24C] 2 illustrates sensors on a robotic arm 210, according to some embodiments. [Figure 24D] 2 illustrates sensors on a robotic arm 210, according to some embodiments. [Figure 24E] 2 illustrates sensors on a robotic arm 210, according to some embodiments. [Figure 24F] 2 illustrates sensors on a robotic arm 210, according to some embodiments. [Figure 24G] 2 illustrates sensors on a robotic arm 210, according to some embodiments. [Figure 24H] 2 illustrates sensors on a robotic arm 210, according to some embodiments. [Figure 25A]1 illustrates a flowchart diagram of a method for detecting and responding to contact force and / or torque, according to some embodiments. [Figure 25B] 1 illustrates a flowchart diagram of a method for detecting and responding to contact force and / or torque, according to some embodiments. [Figure 25C] 1 illustrates a flowchart diagram of a method for detecting and responding to contact force and / or torque, according to some embodiments. [Figure 26] 1 shows the allowable movements of the robot arm in space. [Figure 27A] FIG. 10 shows a flowchart diagram of another method for detecting and responding to contact force and / or torque, according to some embodiments. [Figure 27B] FIG. 10 shows a flowchart diagram of another method for detecting and responding to contact force and / or torque, according to some embodiments. [Figure 28] FIG. 10 shows a flowchart diagram of another method for detecting and responding to contact force and / or torque, according to some embodiments. [Figure 29] 9 shows a block diagram 900 of a kinematic architecture for the robotic system 200, according to some embodiments. [Figure 30A] FIG. 1 illustrates a flowchart diagram of a method for controlling null-space motion of a robotic arm, according to some embodiments. [Figure 30B] FIG. 1 illustrates a flowchart diagram of a method for controlling null-space motion of a robotic arm, according to some embodiments. [Figure 30C] FIG. 1 illustrates a flowchart diagram of a method for controlling null-space motion of a robotic arm, according to some embodiments. [Figure 31A] FIG. 1 illustrates a flowchart diagram of a method for determining null-space joint velocities of a robotic arm, according to some embodiments. [Figure 31B] FIG. 1 illustrates a flowchart diagram of a method for determining null-space joint velocities of a robotic arm, according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0059] 1. Overview. Aspects of the present disclosure may be integrated into a robotic-enabled medical system capable of performing a variety of medical procedures, including both minimally invasive procedures such as laparoscopy, and non-invasive procedures such as endoscopy, among other endoscopic procedures, such as bronchoscopy, ureteroscopy, and gastroscopy.

[0060] In addition to performing a wide range of procedures, the system can provide additional benefits such as enhanced imaging and guidance to assist the physician. Furthermore, the system can provide the physician with the ability to perform procedures from an ergonomic position without requiring awkward arm movements and positions. Furthermore, the system can provide the physician with the ability to perform procedures with improved ease of use, such as the ability for a single user to control one or more of the system's instruments.

[0061] Various embodiments are described below in conjunction with the drawings for purposes of explanation. It should be understood that many other embodiments of the disclosed concepts are possible and that various advantages may be achieved in the disclosed embodiments. Headings are included herein for reference and to aid in locating various sections. The headings do not limit the scope of the concepts described therein. Such concepts may be applicable throughout the entire specification.

[0062] A. Robotic system - cart. Robot-enabled medical systems can be configured in various ways depending on the particular procedure. FIG. 1 illustrates one embodiment of a cart-based robot-enabled system 10 configured for a diagnostic and / or therapeutic bronchoscopy procedure. During a bronchoscopy procedure, the system 10 can include a cart 11 with one or more robotic arms 12 for delivering a medical instrument, such as a steerable endoscope 13, which may be a procedure-specific bronchoscope for bronchoscopy, to a natural orifice access point (i.e., the mouth of a patient positioned on a table in this example) for delivering diagnostic and / or therapeutic tools. As shown, the cart 11 can be positioned adjacent to the patient's upper torso to provide access to the access point. Similarly, the robotic arms 12 can be actuated to position a bronchoscope relative to the access point. The configuration of FIG. 1 can also be utilized when performing gastrointestinal (GI) procedures using a gastroscope, an endoscope specialized for GI procedures. FIG. 2 depicts an example cart embodiment in more detail.

[0063] With continued reference to FIG. 1 , once the cart 11 is properly positioned, the robotic arm 12 can insert the steerable endoscope 13 into the patient robotically, manually, or a combination thereof. As shown, the steerable endoscope 13 can include at least two telescoping parts, such as an inner leader section and an outer sheath section, each coupled to a separate instrument driver from a set of instrument drivers 28, with each instrument driver coupled to the distal end of a respective robotic arm. This linear arrangement of the instrument drivers 28, which facilitates coaxial alignment of the leader section with the sheath section, creates a “virtual rail” 29 that can be repositioned in space by manipulating one or more robotic arms 12 to various angles and / or positions. The virtual rails described herein are depicted in the diagrams using dashed lines, and thus do not depict any physical structure of the system. Translation of the instrument driver 28 along the virtual rail 29 either nests the inner leader section relative to the outer sheath section or advances or retracts the endoscope 13 from the patient. The angle of the virtual rail 29 can be adjusted, translated, or pivoted based on the clinical application or physician preference. For example, in a bronchoscopy, the angle and position of the virtual rail 29 shown represents a compromise between providing the physician access to the endoscope 13 and minimizing friction resulting from bending the endoscope 13 into the patient's mouth.

[0064] After insertion, the endoscope 13 may be directed downstream of the patient's trachea and lungs using precise commands from the robotic system until it reaches the target destination or surgical site. To enhance navigation through the patient's pulmonary network and / or reach the desired target, the endoscope 13 can be manipulated to telescope the inner leader portion out from the outer sheath portion for enhanced articulation and a larger bend radius. The use of a separate instrument driver 28 also allows the leader and sheath portions to be driven independently of one another.

[0065] For example, the endoscope 13 can be directed to deliver a biopsy needle to a target, such as a lesion or nodule in a patient's lung. The biopsy needle can be deployed through a working channel along the length of the endoscope to obtain a tissue sample that is analyzed by a pathologist. Depending on the results of the pathology, additional tools can be deployed through the endoscope's working channel for further biopsies. After identifying a nodule as malignant, the endoscope 13 can deliver tools endoscopically to remove potentially cancerous tissue. In some cases, diagnostic and therapeutic treatments can be accomplished in separate procedures. In these situations, the endoscope 13 can also be used to deliver fiducials to "mark" the location of the targeted nodule. In other instances, diagnostic and therapeutic treatments can be accomplished during the same procedure.

[0066] The system 10 may also include a movable tower 30 that may be connected to the cart 11 via a support cable and provide support for control, electronics, fluidics, optics, sensors, and / or power to the cart 11. Placing such functionality in the tower 30 allows the form factor of the cart 11 to be smaller, allowing the surgeon and his or her staff to more easily adjust and / or reposition the cart 11. Furthermore, the division of functionality between the cart / table and the support tower 30 reduces clutter in the operating room and promotes improved clinical workflow. The cart 11 may be positioned near the patient, while the tower 30 can be stored in a remote location so as not to get in the way during the procedure.

[0067] To support the robotic system described above, tower 30 may include computer-based control system components that store computer program instructions in a non-transitory computer-readable storage medium, such as a persistent magnetic storage drive, a solid-state drive, or the like. Execution of these instructions, whether performed in tower 30 or cart 11, may control the entire system or subsystems thereof. For example, when executed by a processor in a computer system, the instructions may cause components of the robotic system to actuate the carriage and arm mount, operate the robotic arm, and control a medical instrument. For example, in response to receiving control signals, motors in the joints of the robotic arm may position the arm in a particular pose.

[0068] Tower 30 may also include pumps, flow meters, valve controls, and / or fluid access to provide controlled irrigation and aspiration functions to a system that may be deployed through endoscope 13. These components may also be controlled using the computer system of tower 30. In some embodiments, irrigation and aspiration capabilities may be provided directly to endoscope 13 via separate cables.

[0069] The tower 30 may include voltage and surge protection designed to provide filtered and protected power to the cart 11, thereby avoiding the need to place power transformers and other auxiliary power components within the cart 11, making the cart 11 smaller and more mobile.

[0070] The tower 30 may also include support equipment for sensors deployed throughout the robotic system 10. For example, the tower 30 may include optoelectronic equipment for detecting, receiving, and processing data received from optical sensors or cameras throughout the robotic system 10. In combination with a control system, such optoelectronic equipment may be used to generate real-time images for display on any number of consoles deployed throughout the system, including within the tower 30. Similarly, the tower 30 may also include electronic subsystems for receiving and processing signals from deployed electromagnetic (EM) sensors. The tower 30 may also be used to house and position EM field generators for detection by EM sensors in or on medical instruments.

[0071] The tower 30 may also include a console 31 in addition to other consoles available to the rest of the system, such as a console mounted on top of a cart. The console 31 may include a user interface and a display screen, such as a touchscreen, for the physician operator. The console of the system 10 is typically designed to provide both robotic control and pre-operative and real-time procedure information, such as navigation and localization information for the endoscope 13. If the console 31 is not the only console available to the physician, a second operator, such as a nurse, may use the console 31 to monitor the patient's health or vital signs and system progress, as well as provide procedure-specific data, such as navigation and localization information. In other embodiments, the console 30 is housed in a separate body from the tower 30.

[0072] The tower 30 may be coupled to the cart 11 and endoscope 13 via one or more cables or connections (not shown). In some embodiments, support functions from the tower 30 may be provided to the cart 11 through only one cable, thereby simplifying and reducing clutter in the operating room. In other embodiments, certain functions may be combined in separate wiring and connections. For example, power may be provided to the cart through only one power cable, while support for the controls, optics, fluidics, and / or navigation may be provided through separate cables.

[0073] FIG. 2 provides a detailed view of an embodiment of a cart from the cart-based robot-enabled system shown in FIG. 1. The cart 11 typically includes an elongated support structure 14 (often referred to as a "column"), a cart base 15, and a console 16 at the top of the column 14. The column 14 can include one or more carriages, such as a carriage 17 (alternatively, an "arm support"), for supporting the deployment of one or more robotic arms 12 (three are shown in FIG. 2). The carriages 17 can include individually configurable arm mounts that rotate along orthogonal axes to adjust the base of the arms 12 for better positioning relative to the patient. The carriages 17 also include a carriage interface 19 that allows the carriages 17 to translate vertically along the column 14.

[0074] Carriage interface 19 connects to column 14 through slots, such as slots 20 positioned on either side of column 14 to guide the vertical translation of carriage 17. Slots 20 contain vertical translation interfaces for positioning and holding the carriage at various vertical heights relative to cart base 15. The vertical translation of carriage 17 allows cart 11 to adjust the reach of robotic arm 12 to accommodate various table heights, patient sizes, and physician preferences. Similarly, individually configurable arm mounts on carriage 17 allow robotic arm base 21 of robotic arm 12 to be angled in various configurations.

[0075] In some embodiments, slot 20 may include a slot cover that is flush with and parallel to the slot surface to prevent dirt and fluids from entering the column 14 interior chamber and vertical translation interface as carriage 17 translates vertically. The slot cover can be deployed through a pair of spring spools positioned near the top and bottom of slot 20. The cover is coiled within the spools until it deploys from a coiled state to extend and retract as carriage 17 translates vertically up and down. The spring loading of the spools provides a force that retracts the cover onto the spool as carriage 17 translates toward it, while also maintaining a seal as carriage 17 translates away from it. To ensure the cover properly extends and retracts as carriage 17 translates, the cover can be connected to carriage 17 using, for example, a bracket at carriage interface 19.

[0076] Column 14 may include internal mechanisms such as gears and motors designed to use a vertically aligned leadscrew to mechanically translate carriage 17 in response to control signals generated in response to user input, such as input from console 16.

[0077] The robotic arm 12 may generally include a robotic arm base 21 and an end effector 22 separated by a series of links 23 connected by a series of joints 24, each including an independent actuator, each including an independently controllable motor. Each separately controllable joint represents an independent degree of freedom available to the robotic arm. Each of the arms 12 has seven joints, thus providing seven degrees of freedom. A large number of joints provides a large number of degrees of freedom, allowing for "redundant" degrees of freedom. The redundant degrees of freedom allow the robotic arm 12 to position its respective end effector 22 at a specific location, orientation, and trajectory in space using various link positions and joint angles. This allows the system to position and orient medical instruments from a desired location in space, while also allowing the physician to move the arm joints to a clinically convenient location away from the patient for improved access while avoiding arm collisions.

[0078] The cart base 15 balances the weight of the column 14, carriage 17, and arm 12 on the floor. Thus, the cart base 15 houses the heavier parts, such as the electronics, motor, and power supply, as well as components that allow the cart to be both mobile and / or immobilized. For example, the cart base 15 includes casters 25 in the form of rollable wheels that allow the cart to be easily moved around the room before a procedure. Once in the proper position, the casters 25 may be secured using wheel locks to hold the cart 11 in place during a procedure.

[0079] The console 16, positioned at the vertical end of the column 14, provides both a user interface and a display screen (or dual-purpose device, such as a touchscreen 26) for receiving user input, providing both pre-operative and intra-operative data to the physician user. Potential pre-operative data on the touchscreen 26 may include pre-operative planning, navigation and mapping data derived from a pre-operative computerized tomography (CT) scan, and / or notes from a pre-operative patient interview. Intra-operative data on the display may also include vital patient statistics such as respiration, heart rate, and / or pulse, along with optical information provided by tools, sensor information from sensors, and coordinate information. The console 16 can be positioned and tilted to allow the physician to access the console from the side of the column 14 opposite the carriage 17. From this position, the physician can view the console 16, the robotic arm 12, and the patient while operating the console 16 from behind the cart 11. As shown, the console 16 also includes a handle 27 to aid in maneuvering and stabilizing the cart 11 .

[0080] FIG. 3 illustrates an embodiment of the robotic-enabled system 10 configured for ureteroscopy. In a ureteroscopy procedure, the cart 11 can be positioned to deliver a ureteroscope 32, a procedure-specific endoscope designed to follow the patient's urethra and ureters, to the patient's lower abdominal region. During ureteroscopy, it may be desirable for the ureteroscope 32 to be aligned directly with the patient's urethra to reduce friction and force on the sensitive anatomical structures in that area. As shown, the cart 11 can be aligned with a table leg to allow the robotic arm 12 to position the ureteroscope 32 for direct linear access to the patient's urethra. From the table leg, the robotic arm 12 can insert the ureteroscope 32 along a virtual rail 33 directly through the urethra and into the patient's lower abdomen.

[0081] After insertion into the urethra using control techniques similar to those used in bronchoscopy, the ureteroscope 32 may be navigated to the bladder, ureter, and / or kidney for diagnostic and / or therapeutic applications. For example, the ureteroscope 32 may be directed into the ureter and kidney to fragment an accumulated kidney stone using a laser lithotriptor or ultrasonic lithotriptor deployed through the working channel of the ureteroscope 32. After stone fragmentation is complete, the resulting stone fragments may be removed using a basket deployed through the ureteroscope 32.

[0082] FIG. 4 shows an embodiment of a robotic-enabled system similarly configured for a vascular procedure. In a vascular procedure, the system 10 can be configured so that the cart 11 can deliver a medical instrument 34, such as a steerable catheter, to an access point in the femoral artery in a patient's leg. The femoral artery presents both a larger diameter for navigation and a less circuitous and tortuous path to the patient's heart, simplifying navigation. As in a ureteroscopy procedure, positioning the cart 11 toward the patient's leg and lower abdomen can enable the robotic arm 12 to provide direct linear access to the femoral artery access point in the patient's thigh / hip region using the virtual rail 35. After insertion into the artery, the medical instrument 34 can be oriented and inserted by translating the instrument driver 28. Alternatively, the cart can be positioned around the patient's upper abdomen to reach alternative vascular access points, such as the carotid and brachial arteries near the shoulder and wrist.

[0083] B. Robot system - table. Embodiments of a robotic-enabled medical system may also incorporate a patient table. Incorporation of a table can reduce the amount of capital equipment in the operating room by removing the cart and improving patient access. FIG. 5 shows one embodiment of such a robotic-enabled system deployed for a bronchoscopy procedure. The system 36 includes a support structure or column 37 for supporting a platform 38 (shown as a “table” or “bed”) across the floor. Much like a cart-based system, the end effector of the robotic arm 39 of the system 36 includes an instrument driver 42 designed to manipulate an elongated medical instrument, such as the bronchoscope 40 of FIG. 5, through or along a virtual rail 41 formed from the linear positioning of the instrument driver 42. In practice, by placing emitters and detectors around the table 38, a C-arm for providing fluoroscopic imaging can be positioned across the patient's upper abdominal region.

[0084] For illustrative purposes, FIG. 6 provides an alternative view of system 36 without the patient and medical instruments. As shown, column 37 can include one or more carriages 43, shown as ring-shaped, that can serve as a base for one or more robotic arms 39 in system 36. Carriage 43 can translate along a vertical column interface 44 that runs the length of column 37 to provide various vantage points from which robotic arms 39 can be positioned to reach the patient. Carriage 43 can rotate about column 37 using mechanical motors positioned within column 37 to allow robotic arms 39 access to multiple sides of table 38, such as both sides of the patient. In embodiments with multiple carriages, carriages can be separately positioned on the column and can translate and / or rotate independently of the other carriages. Carriage 43 need not surround column 37 or even be circular, although the illustrated ring shape facilitates rotation of carriage 43 about column 37 while maintaining structural balance. Rotation and translation of carriage 43 enable the system to align medical instruments, such as endoscopes and laparoscopes, with various access points on the patient. In other embodiments (not shown), system 36 may include a patient table or bed having adjustable arm supports in the form of bars or rails extending alongside it. One or more robotic arms 39 may be mounted (e.g., via shoulders with elbow joints) to the adjustable arm supports, which may be vertically adjustable. Providing vertical adjustment may advantageously allow robotic arms 39 to be stored compactly beneath the patient table or bed and then raised during a procedure.

[0085] Arm 39 may be attached to the carriage via a set of arm mounts 45 that comprise a series of joints that may be independently rotated and / or telescopically extended to provide additional configurability to robotic arm 39. Additionally, arm mounts 45 may be positioned on carriage 43 such that, when carriage 43 is appropriately rotated, arm mounts 45 may be positioned on the same side of table 38 (as shown in FIG. 6), on opposite sides of table 38 (as shown in FIG. 9), or on adjacent sides of table 38 (not shown).

[0086] Column 37 structurally provides support for table 38 and a path for vertical translation of the carriage. Internally, column 37 may include a lead screw for guiding the vertical translation of the carriage and a motor for mechanizing the translation of that carriage based on the lead screw. Column 37 may also transmit power and control signals to carriage 43 and to a robotic arm 39 attached thereto.

[0087] The table base 46 functions similarly to the cart base 15 of the cart 11 shown in FIG. 2, housing the heavier components to counterbalance the table / bed 38, column 37, carriage 43, and robotic arm 39. The table base 46 may also incorporate rigid casters to provide stability during the procedure. The casters extend from the bottom of the table base 46, extend in opposite directions on either side of the base 46, and can be retracted when the system 36 needs to be moved.

[0088] Continuing with FIG. 6 , system 36 may also include a tower (not shown) that divides the functionality of system 36 between the table and tower to reduce the form factor and bulk of the table. As seen in previously disclosed embodiments, the tower can provide various support functions to the table, such as processing, computing, and control capabilities, power, fluidics, and / or optics and sensor processing. The tower can also be moved to be positioned away from the patient to improve physician access and reduce clutter in the operating room. Furthermore, placing components in the tower allows for more storage space in the table base for possible accommodation of a robotic arm. The tower can also include a master controller or console that provides both a user interface for user input, such as a keyboard and / or pendant, and a display screen (or touchscreen) for pre-operative and intra-operative information, such as real-time imaging, navigation, and tracking information. In some embodiments, the tower can also include a holder for a gas tank used for venting.

[0089] In some embodiments, the table base may house and store the robotic arm when not in use. FIG. 7 shows a system 47 for housing the robotic arm in one embodiment of a table-based system. In the system 47, the carriage 48 can be vertically translated into the base 49 to house the robotic arm 50, arm mount 51, and carriage 48 within the base 49. The base cover 52 can be translated, retracted open to deploy the carriage 48, arm mount 51, and arm 50 about the column 53, and closed to store and protect them when not in use. The base cover 52 can be sealed with a membrane 54 along the edge of its opening to prevent the intrusion of dirt and fluids when closed.

[0090] FIG. 8 illustrates one embodiment of a robotic table-based system configured for a ureteroscopy procedure. For ureteroscopy, the table 38 may include a swivel 55 for positioning the patient at an off-angle from the column 37 and table base 46. The swivel 55 may rotate or pivot about a pivot point (e.g., located below the patient's head) to position the bottom of the swivel 55 away from the column 37. For example, pivoting the swivel 55 may allow a C-arm (not shown) to be positioned over the patient's lower abdomen without competing for space with the column (not shown) below the table 38. By rotating the carriage 35 (not shown) about the column 37, the robotic arm 39 may insert the ureteroscope 56 directly into the patient's groin area along a virtual rail 57 to reach the urethra. For ureteroscopy, stirrups 58 may also be secured to the swivel 55 of the table 38 to support the patient's leg position throughout the procedure and allow clear access to the patient's groin area.

[0091] In laparoscopic procedures, minimally invasive instruments may be inserted into a patient's anatomy through small incisions in the patient's abdominal wall. In some embodiments, the minimally invasive instruments include an elongated, rigid member, such as a shaft, used to access anatomy within the patient. After distension of the patient's abdominal cavity, the instruments can be oriented to perform surgical or medical tasks, such as grasping, cutting, ablation, suturing, etc. In some embodiments, the instruments can comprise a scope, such as a laparoscope. FIG. 9 illustrates one embodiment of a robotic table-based system configured for laparoscopic procedures. As shown in FIG. 9 , a carriage 43 of the system 36 can be rotated and adjusted vertically, and a pair of robotic arms 39 can be positioned on either side of the table 38 so that instruments 59 can be positioned using arm mounts 45 to pass through minimal incisions on either side of the patient's abdominal cavity.

[0092] To accommodate laparoscopic procedures, the robotic table system may also tilt the platform to a desired angle. FIG. 10 illustrates one embodiment of a pitch- or tilt-adjustable robotic medical system. As shown in FIG. 10, the system 36 accommodates the tilt of the table 38 to position one portion of the table higher off the floor than another portion. Additionally, the arm mount 45 can rotate to match the tilt such that the arm 39 maintains a coplanar relationship with the table 38. To accommodate steeper angles, the column 37 may also include a telescoping section 60 that allows the column 37 to extend vertically to prevent the table 38 from contacting the floor or colliding with the base 46.

[0093] FIG. 11 provides a detailed view of the interface between the table 38 and the column 37. A pitch mechanism 61 can be configured to vary the pitch angle of the table 38 relative to the column 37 in multiple degrees of freedom. The pitch mechanism 61 can be enabled by positioning orthogonal axes 1 and 2 at the column-table interface, with each axis actuated by a separate motor 3 and 4 in response to an electrical pitch command. Rotation along one screw 5 would allow tilt adjustment in one axis 1, while rotation along another screw 6 would allow tilt adjustment along another axis 2. In some embodiments, ball joints can be used to vary the pitch angle of the table 38 relative to the column 37 in multiple degrees of freedom.

[0094] For example, pitch adjustment is particularly useful when attempting to position the table in Trendelenburg position, i.e., positioning the patient's lower abdomen higher off the floor than the patient's lower abdomen for lower abdominal surgery. The Trendelenburg position allows gravity to slide the patient's internal organs down into the patient's upper abdomen, emptying the abdominal cavity for entry of minimally invasive tools to perform lower abdominal surgical or medical procedures, such as laparoscopic prostatectomy.

[0095] 12 and 13 show isometric and end views of another embodiment of a table-based surgical robotic system 100. The surgical robotic system 100 includes one or more adjustable arm supports 105 that can be configured to support one or more robotic arms relative to the table 101 (see, for example, FIG. 14 ). In the illustrated embodiment, only one adjustable arm support 105 is shown, but additional arm supports can be provided on the opposite side of the table 101. The adjustable arm support 105 can be configured to move relative to the table 101 to adjust and / or change the position of the adjustable arm support 105 and / or any robotic arms attached thereto relative to the table 101. For example, the adjustable arm support 105 can be adjusted with one or more degrees of freedom relative to the table 101. The adjustable arm support 105 provides the system 100 with great versatility, including the ability to easily accommodate one or more adjustable arm supports 105 and any robotic arms attached thereto under the table 101. The adjustable arm support 105 can be raised from the stowed position to a position below the top surface of the table 101. In other embodiments, the adjustable arm support 105 can be raised from the stowed position to a position above the top surface of the table 101.

[0096] The adjustable arm support 105 can provide several degrees of freedom, including lift, lateral translation, tilt, etc. In the illustrated embodiment of FIGS. 12 and 13, the arm support 105 is configured with four degrees of freedom, indicated by arrows in FIG. 12. A first degree of freedom allows adjustment of the adjustable arm support 105 in the z-direction ("Z-lift"). For example, the adjustable arm support 105 can include a carriage 109 configured to move up and down along or relative to the column 102 that supports the table 101. A second degree of freedom allows tilting of the adjustable arm support 105. For example, the adjustable arm support 105 can include a rotary joint, which can allow the adjustable arm support 105 to be aligned with a bed in Trendelenburg position. A third degree of freedom allows the adjustable arm support 105 to "pivot up," which can be used to adjust the distance between the side of the table 101 and the adjustable arm support 105. A fourth degree of freedom allows the adjustable arm support 105 to translate along the longitudinal length of the table.

[0097] The surgical robotic system 100 of Figures 12 and 13 can include a table supported by a column 102 mounted on a base 103. The base 103 and column 102 support the table 101 against a support surface. A bed axis 131 and a support axis 133 are shown in Figure 13.

[0098] An adjustable arm support 105 can be mounted to the column 102. In other embodiments, the arm support 105 can be mounted to the table 101 or the base 103. The adjustable arm support 105 can include a carriage 109, a bar or rail connector 111, and a bar or rail 107. In some embodiments, one or more robotic arms mounted to the rail 107 can translate and move relative to each other.

[0099] A first joint 113 may attach the carriage 109 to the column 102, allowing the carriage 109 to move relative to the column 102 (e.g., up and down a first or vertical axis 123). The first joint 113 may provide a first degree of freedom ("Z lift") for the adjustable arm support 105. The adjustable arm support 105 may include a second joint 115 that provides a second degree of freedom (tilt) for the adjustable arm support 105. The adjustable arm support 105 may include a third joint 117 that may provide a third degree of freedom ("pivot up") for the adjustable arm support 105. An additional joint 119 (shown in FIG. 13) may be provided that mechanically constrains the third joint 117 to maintain the orientation of the rail 107 as the rail connector 111 is rotated about a third axis 127. The adjustable arm support 105 may include a fourth joint 121 that may provide a fourth degree of freedom (translation) to the adjustable arm support 105 along a fourth axis 129 .

[0100] FIG. 14 shows an end view of surgical robotic system 140A with two adjustable arm supports 105A, 105B mounted on opposite sides of table 101. A first robotic arm 142A is mounted to a bar or rail 107A of first adjustable arm support 105B. First robotic arm 142A includes a base 144A mounted to rail 107A. The distal end of first robotic arm 142A includes an instrument drive mechanism 146A, which can be attached to one or more robotic medical instruments or tools. Similarly, second robotic arm 142B includes a base 144B mounted to rail 107B. The distal end of second robotic arm 142B includes an instrument drive mechanism 146B, which can be configured to attach to one or more robotic medical instruments or tools.

[0101] In some embodiments, one or more of the robotic arms 142A, 142B comprise arms with seven or more degrees of freedom. In some embodiments, one or more of the robotic arms 142A, 142B can include eight degrees of freedom, including an insertion axis (one degree of freedom including insertion), a wrist (three degrees of freedom including wrist pitch, yaw, and roll), an elbow (one degree of freedom including elbow pitch), a shoulder (two degrees of freedom including shoulder pitch and yaw), and a base 144A, 144B (one degree of freedom including translation). In some embodiments, the insertion degree of freedom can be provided by the robotic arms 142A, 142B, while in other embodiments, the instrument itself effects the insertion via an instrument-based insertion architecture.

[0102] C. Instrument Drivers and Interfaces. The end effector of the system's robotic arm includes (i) an instrument driver (alternatively called an "instrument drive mechanism" or "instrument device manipulator") that incorporates electromechanical means for actuating the medical instrument, and (ii) a removable or detachable medical instrument that may lack any electromechanical components such as a motor. This dichotomy can be caused by the need to sterilize medical instruments used in medical procedures and the inability to adequately sterilize expensive capital equipment due to the medical instrument's complex mechanical assembly and sensitive electronics. Therefore, medical instruments can be designed to be detached, removed, and replaced from the instrument driver (and thus the system) upon individual sterilization or disposal by a physician or physician's staff. In contrast, the instrument driver does not need to be replaced or sterilized and can be draped for protection.

[0103] FIG. 15 shows an exemplary instrument driver. The instrument driver 62, positioned at the distal end of the robotic arm, is composed of one or more drive units 63 arranged with parallel axes to provide a controlled torque to the medical instrument via a drive shaft 64. Each drive unit 63 includes a respective drive shaft 64 for interacting with the instrument, a gearhead 65 for converting motor shaft rotation into a desired torque, a motor 66 for generating the drive torque, an encoder 67 for measuring the rotational speed of the motor shaft and providing feedback to the control circuitry, and a control circuit 68 for receiving control signals and operating the drive unit. Each drive unit 63 is independently controlled and motorized, and the instrument driver 62 can provide multiple (four shown in FIG. 15) independent drive outputs to the medical instrument. In operation, the control circuit 68 would receive the control signal, send a motor signal to the motor 66, compare the resulting motor rotational speed measured by the encoder 67 to a desired speed of rotation, and modulate the motor signal to provide the desired torque.

[0104] For procedures requiring a sterile environment, the robotic system may incorporate a drive interface, such as a sterile adapter connected to a sterile drape, located between the instrument driver and the medical instrument. The primary purpose of the sterile adapter is to transfer angular motion from the instrument driver's drive shaft to the instrument's drive input while maintaining physical separation, and therefore sterility, between the drive shaft and the drive input. Thus, an example sterile adapter may consist of a series of rotational inputs and outputs intended to mate with the instrument driver's drive shaft and the drive input to the instrument. The sterile drape connected to the sterile adapter is constructed of a thin, flexible material, such as transparent or translucent plastic, and is designed to cover the instrument driver, robotic arm, and capital equipment, such as a cart (in cart-based systems) or table (in table-based systems). The use of the drape allows the capital equipment to be positioned adjacent to the patient while still located in an area that does not require sterilization (i.e., a non-sterile field). On the other side of the sterile drape, the medical instrument can interface with the patient in an area that requires sterilization (i.e., a sterile field).

[0105] D. Medical equipment. FIG. 16 shows an exemplary medical instrument with a paired instrument driver. Similar to other instruments designed for use in a robotic system, the medical instrument 70 includes an elongated shaft 71 (or elongated body) and an instrument base 72. The instrument base 72, also referred to as an "instrument handle" due to its design intended for manual interaction by a physician, can include a rotary drive input 73, e.g., a receptacle, pulley, or spool, designed to mate with a drive output 74 that passes through a drive interface on an instrument driver 75, typically at the distal end of a robotic arm 76. When physically connected, latched, and / or coupled, the mating drive input 73 of the instrument base 72 can share an axis of rotation with the drive output 74 on the instrument driver 75, allowing for the transfer of torque from the drive output 74 to the drive input 73. In some embodiments, the drive output 74 can include a spline designed to mate with a receptacle on the drive input 73.

[0106] The elongate shaft 71 is designed to be delivered through either an anatomical opening or lumen, as in endoscopy, or a minimally invasive incision, as in laparoscopy. The elongate shaft 71 may be flexible (e.g., having properties similar to an endoscope) or rigid (e.g., having properties similar to a laparoscope), or may include a customized combination of both flexible and rigid sections. When designed for laparoscopy, the distal end of the rigid elongate shaft may be connected to an end effector extending from an articulating wrist formed from a clevis with at least one degree of freedom, and may be connected to a surgical tool or medical instrument, such as a grasper or scissors, that can actuate based on force from a tendon as the drive input rotates in response to torque received from the drive output 74 of the instrument driver 75. When designed for endoscopy, the distal end of the flexible elongate shaft may include a steerable or controllable bend that can articulate and bend based on torque received from the drive output 74 of the instrument driver 75.

[0107] Torque from the instrument driver 75 is transmitted downstream of the elongate shaft 71 using tendons along the shaft 71. These individual tendons, such as pull wires, can be individually secured to individual drive inputs 73 in the instrument handle 72. From the handle 72, the tendons advance along the elongate shaft 71 through one or more pull lumens and are either secured to a distal portion of the elongate shaft 71 or secured to a wrist at the distal portion of the elongate shaft. During a surgical procedure, such as a laparoscopic, endoscopic, or hybrid procedure, these tendons can be coupled to a distally attached end effector, such as a wrist, grasper, or scissors. In such an arrangement, torque exerted on the drive input 73 would transmit tension to the tendons, thereby actuating the end effector in some manner. In some embodiments, the tendons can rotate a joint about an axis to move the end effector in one direction or another during a surgical procedure. Alternatively, the tendon can be connected to one or more jaws of the grasper at the distal end of the elongate shaft 71, where tension from the tendon causes the grasper to close.

[0108] In endoscopy, the tendons may be coupled via adhesives, control rings, or other mechanical fixation to a bending or articulating section positioned along (e.g., at) the elongate shaft 71. When fixedly attached to the distal end of the bending section, torque exerted on the drive input 73 is transmitted to the tendons, causing the softer bending section (sometimes referred to as the articulating section or articulating region) to bend or articulate. Along the non-bending section, it may be advantageous to helical or spiral the individual pull lumens that direct the individual tendons along (or within) the wall of the endoscope shaft to counterbalance the radial forces resulting from tension in the pull wires. The angle of helix and / or spacing between them can be varied or engineered for specific purposes; a narrower helix provides poor shaft compression under load, while a lesser helix provides good shaft compression under load but also limits bending. At the other end of the spectrum, orienting the pull lumen parallel to the longitudinal axis of the elongate shaft 71 can allow for controlled articulation at desired bends or articulating sections.

[0109] In endoscopy, the elongated shaft 71 houses several components that assist in robotic procedures. The elongated shaft may be configured with a working channel for deploying surgical tools (or medical instruments), irrigation, and / or suction to a surgical site at the distal end of the shaft 71. The elongated shaft 71 may also house wires and / or optical fibers that conduct signals at the distal tip to / from an optical assembly, which may include an optical camera. The elongated shaft 71 may also house optical fibers for carrying light from a proximally located light source, such as a light emitting diode, to the distal end of the shaft.

[0110] At the distal end of instrument 70, the distal tip may include a working channel opening for delivering tools to the surgical site for diagnosis and / or treatment, irrigation, and aspiration. The distal tip may also include a port for a camera, such as a fiberscope or digital camera, to capture images of the internal anatomical space. In this regard, the distal tip may also include a port for a light source to illuminate the anatomical space when the camera is in use.

[0111] 16, the drive shaft axis, and therefore the drive input axis, is perpendicular to the axis of the elongate shaft. However, this arrangement complicates the roll ability of the elongate shaft 71. Rolling the elongate shaft 71 along its axis while holding the drive input 73 stationary results in undesirable entanglement of the tendons as they exit the drive input 73 and enter the pull lumen within the elongate shaft 71. Such resulting entanglement of the tendons can interfere with any control algorithms intended to predict the movement of a flexible elongate shaft during an endoscopic procedure.

[0112] FIG. 17 shows an alternative design of the instrument driver and instrument, in which the axes of the drive units are parallel to the axis of the elongated shaft of the instrument. As shown, a circular instrument driver 80 includes four drive units with their drive outputs 81 aligned parallel at the end of a robotic arm 82. The drive units and their respective drive outputs 81 are housed in a rotating assembly 83 of the instrument driver 80, which is driven by one of the drive units in that assembly 83. In response to torque applied by the rotary drive units, the rotating assembly 83 rotates along a circular bearing connecting the rotating assembly 83 to a non-rotating portion 84 of the instrument driver. Power and control signals may be transmitted from the non-rotating portion 84 of the instrument driver 80 to the rotating assembly 83 via electrical contacts and may be maintained throughout the rotation by a brushed slip-ring connection (not shown). In other embodiments, the rotating assembly 83 may be integrated into the non-rotating portion 84 and thus respond to a separate drive unit that is not parallel to the other drive units. Rotation mechanism 83 enables tool driver 80 to rotate the drive units and their respective drive outputs 81 as a single unit about tool driver axis 85 .

[0113] Similar to the previously disclosed embodiments, the instrument 86 may include an elongated shaft portion 88 and an instrument base 87 (shown with a transparent exterior skin for purposes of illustration) that includes a plurality of drive inputs 89 (such as receptacles, pulleys, and spools) configured to accept the drive outputs 81 in the instrument driver 80. Unlike the previously disclosed embodiments, the instrument shaft 88 extends from the center of the instrument base 87, with the axis being substantially parallel to the axis of the drive inputs 89, rather than orthogonal as seen in the design of FIG.

[0114] When coupled to the rotation assembly 83 of the instrument driver 80, the medical instrument 86, including the instrument base 87 and the instrument shaft 88, rotates with the rotation assembly 83 about the instrument driver axis 85. Because the instrument shaft 88 is positioned in the center of the instrument base 87, the instrument shaft 88 is coaxial with the instrument driver axis 85 when attached. Rotation of the rotation assembly 83 therefore causes the instrument shaft 88 to rotate about its own longitudinal axis. Also, because the instrument base 87 rotates with the instrument shaft 88, any tendons connected to the drive input 89 on the instrument base 87 do not become entangled during rotation. Thus, the parallelism of the axes of the drive output 81, drive input 89, and instrument shaft 88 allows shaft rotation without entangling any of the control tendons.

[0115] FIG. 18 illustrates an instrument having an instrument-based insertion architecture, according to some embodiments. The instrument 150 can be coupled to any of the instrument drivers discussed above. The instrument 150 includes an elongate shaft 152, an end effector 162 connected to the elongate shaft 152, and a handle 170 coupled to the elongate shaft 152. The elongate shaft 152 includes a tubular member having a proximal portion 154 and a distal portion 156. The elongate shaft 152 includes one or more channels or grooves 158 along its outer surface. The grooves 158 are configured to receive one or more wires or cables 180. Thus, the one or more cables 180 run along the outer surface of the elongate shaft 152. In other embodiments, the cables 180 can run through the elongate shaft 152. Manipulation of one or more of the cables 180 (e.g., via the instrument driver) results in actuation of the end effector 162.

[0116] The instrument handle 170, sometimes referred to as an instrument base, may include a mounting interface 172 having one or more mechanical inputs 174, such as receptacles, pulleys, or spools, designed to intermate with one or more torque couplers on the mounting surface of the instrument driver.

[0117] In some embodiments, instrument 150 comprises a series of pulleys or cables that allow elongated shaft 152 to translate relative to handle 170. In other words, instrument 150 itself comprises an instrument-based insertion architecture that accommodates the insertion of instruments, thereby minimizing reliance on a robotic arm to effect the insertion of instrument 150. In other embodiments, the robotic arm can be significantly involved in the insertion of the instrument.

[0118] E. Controller. Any of the robotic systems described herein can include an input device or controller for manipulating an instrument attached to the robotic arm. In some embodiments, the controller can be coupled (e.g., communicatively, electrically, wirelessly, and / or mechanically) to the instrument such that manipulation of the controller causes corresponding manipulation of the instrument, e.g., via master-slave control.

[0119] 19 is a perspective view of one embodiment of controller 182. In this embodiment, controller 182 comprises a hybrid controller that can provide both impedance control and admittance control. In other embodiments, controller 182 can utilize only impedance control, i.e., passive control. In yet other embodiments, controller 182 can utilize only admittance control. Advantageously, being a hybrid controller can reduce the perceived inertia of controller 182 during use.

[0120] In the illustrated embodiment, the controller 182 is configured to enable manipulation of two medical instruments and includes two handles 184. Each of the handles 184 is connected to a gimbal 186. Each gimbal 186 is connected to a positioning platform 188.

[0121] 19, each positioning platform 188 includes a SCARA arm (Selectively Compliant Assembly Robot Arm) 198 coupled to a column 194 by a prismatic joint 196. The prismatic joint 196 is configured to translate along the column 194 (e.g., along a rail 197) to allow each of the handles 184 to translate in the z-direction, providing a first degree of freedom. The SCARA arm 198 is configured to allow movement of the handles 184 in the x-y plane, providing two additional degrees of freedom.

[0122] In some embodiments, one or more load cells are positioned within the controller. For example, in some embodiments, a load cell (not shown) is positioned on the body of each of the gimbals 186. Providing load cells advantageously allows portions of the controller 182 to operate under admittance control, thereby reducing the perceived inertia of the controller during use. In some embodiments, the positioning platform 188 is configured for admittance control while the gimbals 186 are configured for impedance control. In other embodiments, the positioning platform 188 is configured for impedance control while the gimbals 186 are configured for admittance control. Thus, in some embodiments, the translational or positional degrees of freedom of the positioning platform 188 can rely on admittance control, while the rotational degrees of freedom of the gimbals 186 are determined by impedance control.

[0123] F. Navigation and Control. Traditional endoscopy may involve the use of fluoroscopy (e.g., as may be delivered through a C-arm) and other forms of radiation-based imaging modalities to provide intraluminal guidance to the operating physician. In contrast, the robotic systems contemplated by the present disclosure may provide non-radiation-based navigation and localization means to reduce physician exposure to radiation and reduce the amount of equipment in the operating room. As used herein, the term "localization" may refer to determining and / or monitoring the position of an object within a reference coordinate system. Technologies such as preoperative mapping, computer vision, real-time EM tracking, and robot command data may be used individually or in combination to achieve a radiation-free surgical environment. In other cases where radiation-based imaging modalities are still used, preoperative mapping, computer vision, real-time EM tracking, and robot command data may be used individually or in combination to enhance information obtainable solely through radiation-based imaging modalities.

[0124] 20 is a block diagram illustrating a localization system 90 for estimating the position of one or more elements of a robotic system, such as the location of an instrument, according to an exemplary embodiment. The localization system 90 may be a set of one or more computing devices configured to execute one or more instructions. The computing devices may be embodied by a processor (or processors) and computer-readable memory in one or more of the components discussed above. By way of example and not limitation, the computing devices may be in the tower 30 shown in FIG. 1, the cart shown in FIGS. 1-4, or the bed shown in FIGS. 5-14.

[0125] 20, the localization system 90 may include a localization module 95 that processes the input data 91-94 to generate position data 96 of the distal tip of the medical instrument. The position data 96 may be data or logic that represents the location and / or orientation of the distal tip of the instrument relative to a frame of reference, which may be relative to the patient's anatomy or relative to a known object such as an EM field generator (see the discussion of EM field generators below).

[0126] The various input data 91-94 will now be described in more detail. Preoperative mapping can be accomplished through the use of low-dose CT scan acquisition. Preoperative CT scans are reconstructed into three-dimensional images visualized as cutaway "slices" of the patient's internal anatomy, for example. When analyzed as a whole, image-based models can be developed that cover the anatomical cavities, spaces, and structures of the patient's anatomy, such as the patient's pulmonary network. Features such as centerline geometry can be determined and approximated from the CT images to create a three-dimensional volume of the patient's anatomy, referred to as model data 91 (also referred to as "preoperative model data" when developed using only preoperative CT scans). The use of centerline geometry is discussed in U.S. Patent Application No. 14 / 523,760, the contents of which are incorporated herein in their entirety. Network topology models can also be derived from CT images and are particularly suited to bronchoscopy.

[0127] In some embodiments, the instrument may be equipped with a camera to provide visual data 92. A localization module 95 can process the visual data to enable one or more vision-based location tracking. For example, pre-operative model data can be used in conjunction with the visual data 92 to enable computer vision-based tracking of a medical instrument (e.g., an endoscope or an instrument advancing through the working channel of the endoscope). For example, using the pre-operative model data 91, the robotic system can generate a library of predicted endoscopic images from the model based on the expected path of travel of the endoscope, with each image linked to a location within the model. During surgery, real-time images captured by a camera (e.g., a camera at the distal end of the endoscope) can be compared to those in the image library and referenced by the robotic system to aid in localization.

[0128] Other computer vision-based tracking techniques use feature tracking to determine the motion of the camera, and thus the endoscope. Some features of the localization module 95 may identify circular geometric shapes in the preoperative model data 91 that correspond to anatomical lumens and track changes in that geometry to ascertain which anatomical lumen has been selected and the relative rotational and / or translational motion of the camera. The use of a phase map can further enhance vision-based algorithms or techniques.

[0129] Optical flow, another computer vision-based technique, may analyze the displacement and translation of image pixels in a video sequence in visual data 92 to infer camera movement. Examples of optical flow techniques include motion detection, object segmentation calculations, luminance, motion compensated coding, stereo disparity measurements, etc. By comparing multiple frames over multiple iterations, the movement and location of the camera (and therefore the endoscope) can be determined.

[0130] The localization module 95 can use real-time EM tracking to generate a real-time position of the endoscope within a global coordinate system that can be registered to the patient's anatomy represented by the preoperative model. In EM tracking, an EM sensor (or tracker), consisting of one or more sensor coils embedded in a medical instrument (e.g., an endoscopic instrument) at one or more locations and orientations, measures variations in an EM field generated by one or more static EM field generators positioned at known locations. The location information detected by the EM sensor is stored as EM data 93. An EM field generator (or transmitter) can be placed near the patient to generate a low-intensity magnetic field that can be detected by the embedded sensor. The magnetic field induces a small current in the EM sensor's sensor coil, and this current can be analyzed to determine the spacing and angle between the EM sensor and the EM field generator. This spacing and orientation can be intraoperatively "registered" to the patient's anatomy (e.g., the preoperative model) to determine a geometric transformation that aligns a single location in the coordinate system with a location in the preoperative model of the patient's anatomy. Once registered, an EM tracker embedded in one or more locations on the medical instrument (e.g., the distal tip of an endoscope) can provide a real-time display of the medical instrument's progression through the patient's anatomy.

[0131] The robot command and kinematic data 94 may also be used by a localization module 95 to provide localization data 96 for the robotic system. During pre-operative calibration, the device pitch and yaw resulting from the articulation commands can be ascertained. Intra-operatively, these calibration measurements can be used in combination with known insertion depth information to estimate the position of the instrument. Alternatively, these calculations can be analyzed in combination with EM, vision, and / or phase modeling to estimate the position of the medical instrument within the network.

[0132] As Figure 20 shows, several other input data can be used by the localization module 95. For example, although not shown in Figure 20, an instrument that utilizes shape-sensing fibers can provide shape data that the localization module 95 can use to ascertain the position and shape of the instrument.

[0133] The localization module 95 may use a combination of input data 91-94. In some cases, such combinations may use a probabilistic approach in which the localization module 95 assigns confidence weights to the locations identified from each of the input data 91-94. Thus, if the EM data is unreliable (e.g., in the presence of EM interference), the reliability of the locations identified by the EM data 93 may be reduced, and the localization module 95 may rely more heavily on the vision data 92 and / or the robot command and kinematics data 94.

[0134] As discussed above, the robotic systems discussed herein can be designed to incorporate one or a combination of two or more of the above-described techniques. The computer-based control system of a tower-, bed-, and / or cart-based robotic system may store, for example, in a non-transitory computer-readable storage medium such as a persistent magnetic storage drive, solid-state drive, or the like, computer program instructions that, when executed, cause the system to receive and analyze sensor data and user commands, generate system-wide control signals, and display navigation and localization data such as instrument position within a global coordinate system, anatomical maps, and the like.

[0135] 2. Systems, devices, and methods for detecting and responding to external forces and / or torques on a robotic arm Embodiments of the present disclosure relate to systems, methods, and devices for detecting and responding to interactions with a robotic arm (e.g., inadvertent contact or collision, direct manipulation, etc.) while teleoperating the robotic arm.

[0136] According to some embodiments of the present disclosure, a robotic medical system includes one or more sensors and / or sensor architecture for sensing interactions at a robotic arm (e.g., a linkage, joints, etc. of the robotic arm). For example, the robotic arm may come into contact with adjacent objects (e.g., a patient in an operating room, medical personnel, and / or accessories) during teleoperation (e.g., surgery, diagnostic procedures, etc.). The sensors and / or sensor architecture detect and, optionally, measure interactions (e.g., forces, contacts, displacements, torques, etc.) on the robotic arm.

[0137] If the measured interaction approaches a safe contact limit (e.g., a safe force limit and / or a safe torque limit) of the patient, medical personnel, and / or accessories, the robotic system must respond appropriately to ensure that the contact force on the robotic manipulator does not exceed the safe contact limit. In response to detecting the interaction and according to a determination of the characteristics of the interaction (e.g., magnitude, direction, rate of change, etc.), the robotic system can, for example, enable an appropriate controlled movement on the robot arm, such as enabling null-space motion of the robot arm, and / or move one or more joints and / or links of the robot arm at a speed and / or direction selected according to the characteristics of the detected force and / or torque (e.g., a speed and / or direction requested by teleoperation, another speed and / or direction (e.g., null-space motion, inhibited motion, etc.)).

[0138] When the measured interaction approaches a safe contact limit, the robotic system also provides haptic or other type of feedback to the surgeon to encourage the surgeon to operate the robotic system within the system's safe contact limits. For example, according to some embodiments, the robotic system can provide feedback in the form of an output to a physician console display or as haptic feedback.

[0139] A. Robot System FIG. 21 illustrates an exemplary robotic system 200 according to some embodiments. In some embodiments, the robotic system 200 is a robotic medical system (e.g., a robotic surgery system). In the example of FIG. 21, the robotic system 200 includes a patient support platform 202 (e.g., a patient platform, table, bed, etc.). Two ends along the length of the patient support platform 202 are referred to as the "head" and "leg," respectively. Two sides of the patient support platform 202 are referred to as the "left" and "right," respectively. The patient support platform 202 includes a support 204 (e.g., a rigid frame) for the patient support platform 202.

[0140] The robotic system 200 also includes a base 206 for supporting the robotic system 200. The base 206 includes wheels 208 that allow the robotic system 200 to be easily movable or repositionable in the physical environment. In some embodiments, the wheels 208 are omitted or retractable from the robotic system 200, allowing the base 206 to rest directly on the ground or floor. In some embodiments, the wheels 208 are replaced with feet.

[0141] The robotic system 200 includes one or more robotic arms 210. The robotic arms 210 can be configured to perform the robotic medical procedures described above with reference to Figures 1-20. While Figure 21 shows five robotic arms 210, it should be understood that the robotic system 200 may include any number of robotic arms, including less than five, or six or more.

[0142] The robotic system 200 also includes one or more bars 220 (e.g., adjustable arm supports or adjustable bars) that support the robotic arms 210. Each of the robotic arms 210 is supported on and movably coupled to the bar 220 by the robotic arm's respective base joint. In some embodiments, the bar 220 can provide several degrees of freedom, including lift, lateral translation, tilt, etc., as illustrated in FIG. 12. In some embodiments, each of the robotic arms 210 and / or adjustable arm supports 220 is also referred to as a respective kinematic chain.

[0143] 21 shows three robotic arms 210 supported by a bar 220 within the field of view of the figure. The remaining two robotic arms are supported by another bar located across the other length of the patient support platform 202.

[0144] In some embodiments, the adjustable arm support 220 can be configured to provide a home position for one or more of the robotic arms 210 for a robotic medical procedure. The robotic arm 210 can be positioned relative to the patient support platform 202 by translating the robotic arm 210 along the length of the underlying bar 220 and / or by adjusting the position and / or orientation of the robotic arm 210 via one or more joints and / or links (see, e.g., FIG. 23 ).

[0145] In some embodiments, the adjustable arm support 220 can be translated along the length of the patient support platform 202. In some embodiments, translation of the bar 220 along the length of the patient support platform 202 causes one or more of the robotic arms 210 supported by the bar 220 to translate simultaneously with or relative to the bar. In some embodiments, the bar 220 can be translated while one or more of the robotic arms remain stationary relative to the base 206 of the robotic medical system 200.

[0146] 21, the adjustable arm supports 220 are positioned along a partial length of the patient support platform 202. In some embodiments, the adjustable arm supports 220 may extend the entire length of the patient support platform 202 and / or across a partial width or the entire width of the patient support platform 202.

[0147] According to some embodiments, during a robotic medical procedure, one or more of the robotic arms 210 may also be configured to hold an instrument 212 (e.g., a robotically controlled medical instrument or tool, such as an endoscope and / or any other instrument that may be used during surgery) and / or may be coupled to one or more accessories, including one or more cannulas.

[0148] FIG. 22 shows another view of the exemplary robotic system 200 of FIG. 21 in accordance with some embodiments. In this example, the robotic medical system 200 includes six robotic arms 210-1, 210-2, 210-3, 210-4, 210-5, and 210-6. The patient platform 202 is supported by a column 214 extending between the base 206 and the patient platform 202. In some embodiments, the patient platform 202 includes a tilt mechanism 216. The tilt mechanism 216 can be positioned between the column 214 and the patient platform 202 to allow the patient platform to pivot, rotate, or tilt relative to the column 214. The tilt mechanism 216 can be configured to allow lateral and / or longitudinal tilt of the patient platform 202. In some embodiments, the tilt mechanism 216 allows simultaneous lateral and longitudinal tilt of the patient platform 202.

[0149] 22 shows the patient platform 202 in a non-tilted state or position. In some embodiments, the non-tilted state or position may be the default position of the patient platform 202. In some embodiments, the default position of the patient platform 202 is a substantially horizontal position as shown. As shown, in the non-tilted state, the patient platform 202 can be positioned horizontally or parallel to a surface (e.g., the ground or floor) that supports the robotic medical system 200.

[0150] 22 , in the illustrated example of the robotic system 200, the patient platform 202 includes a support 204. In some embodiments, the support 204 includes a rigid support structure or frame and can support one or more surfaces, pads, or cushions 222. The upper surface of the patient platform 202 can include a support surface 224. A patient can be placed on the support surface 224 during a medical procedure.

[0151] 22 shows the robotic arm 210 and adjustable arm support 220 in an exemplary deployed configuration, where the robotic arm 210 reaches above the patient platform 202. In some embodiments, configurations of the robotic system 200 that allow for storage of different components below the patient platform 202 allow the robotic arm 210 and arm support 220 to occupy space below the patient platform 202. Therefore, in some embodiments, it may be advantageous to configure the tilt mechanism 216 to have a low profile and / or low volume to maximize the space available for below storage.

[0152] FIG. 22 illustrates an exemplary x, y, and z coordinate system that may be used to describe certain features of the embodiments disclosed herein. This coordinate system is provided for purposes of illustration and explanation only, and it is understood that other coordinate systems may be used. In the illustrated example, the x-direction or x-axis extends laterally across the patient platform 202 when the patient platform 202 is in a non-tilted state. That is, the x-direction extends across the patient platform 202 from one lateral side (e.g., the right side) to the other lateral side (e.g., the left side) when the patient platform 202 is in a non-tilted state. The y-direction or y-axis extends longitudinally along the patient platform 202 when the patient platform 202 is in a non-tilted state. That is, the y-direction extends along the patient platform 202 from one longitudinal end (e.g., the head end) to the other longitudinal end (e.g., the foot end) when the patient platform 202 is in a non-tilted state. In the non-tilted state, the patient platform 202 can be in or parallel to an x-y plane, which can be parallel to the floor or ground. In the illustrated example, the z-direction or z-axis extends vertically along the column 214. In some embodiments, the tilt mechanism 216 is configured to tilt the patient platform 202 laterally by rotating the patient platform 202 about a lateral tilt axis parallel to the y-axis. The tilt mechanism 216 can also be configured to tilt the patient platform 202 longitudinally by rotating the patient platform 202 about a longitudinal tilt axis parallel to the x-axis.

[0153] B. Robotic Arm 23A and 23B show different views of an exemplary robotic arm 210 according to some embodiments.

[0154] 23A shows that the robotic arm 210 includes multiple links (e.g., linkages) 302. The links 302 are connected by one or more joints 304. Each of the joints 304 includes one or more degrees of freedom (DoF).

[0155] In FIG. 23A , joint 304 includes a first joint 304-1 (e.g., a base joint or A0 joint) located at or near a base 306 of robot arm 210. In some embodiments, base joint 304-1 comprises a prismatic joint that allows robot arm 210 to translate along bar 220 (e.g., along the y-axis). Joint 304 also includes a second joint 304-2 (e.g., an A1 joint). In some embodiments, second joint 304-2 rotates relative to base joint 304-1. Joint 304 also includes a third joint 304-3 (e.g., an A2 joint) connected to one end of link 302-2. In some embodiments, joint 304-3 includes multiple DoFs, facilitating both tilt and rotation of link 302-2 relative to joint 304-3.

[0156] 23A also shows a fourth joint 304-4 (e.g., an A3 joint) connected to the other end of link 302-2. In some embodiments, joint 304-4 includes an elbow joint connecting link 302-2 and link 302-3. Joints 304 further include a pair of joints 304-5 (e.g., a wrist roll joint or an A4 joint) and 304-6 (e.g., a wrist pitch joint or an A5 joint) located at a distal portion of robot arm 210.

[0157] The proximal end of the robotic arm 210 may be connected to a base 306, and the distal end of the robotic arm 210 may be connected to an advanced device manipulator (ADM) 308 (e.g., a tool driver, an instrument driver, a robotic end effector, etc.). The ADM 308 may be configured to control the positioning and manipulation of a medical instrument 212 (e.g., a tool, a scope, etc.).

[0158] The robotic arm 210 may also include a cannula sensor 310 for detecting the presence of a cannula or the proximity of a cannula to the robotic arm 210. In some embodiments, when the cannula sensor 310 detects the presence of a cannula (e.g., via one or more processors of the robotic system 200), the robotic arm 210 is placed in a docked state (e.g., a docked position). In some embodiments, when the robotic arm 210 is in the docked position, the robotic arm 210 may perform null space motion to maintain the position and / or orientation of the cannula, as discussed in further detail below. Conversely, when a cannula is not detected by the cannula sensor 310, the robotic arm 210 is placed in an undocked state (e.g., an undocked position).

[0159] In some embodiments, as illustrated in FIG. 23A , the robotic arm 210 includes an input or button 312 (e.g., a donut-shaped button or other type of control) that can be used to place the robotic arm 210 in admittance mode (e.g., by pressing the button 312). Admittance mode is also referred to as an admittance scheme or admittance control. In admittance mode, the robotic system 210 measures forces and / or torques (e.g., applied to the robotic arm 210) and outputs a corresponding velocity and / or position. In some embodiments, the robotic arm 210 can be manually manipulated by a user in admittance mode (e.g., during a setup procedure or between procedures). In some examples, by using admittance control, an operator does not need to overcome all of the inertia in the robotic system 200 to move the robotic arm 210. For example, under admittance control, when an operator applies a force to the arm, the robotic system 200 can measure the force and assist the operator in moving the robotic arm 210 by driving one or more motors associated with the robotic arm 210, thereby resulting in a desired velocity and / or position of the robotic arm 210.

[0160] In some embodiments, the link 302 may be removably coupled to the medical tool 212 (e.g., to facilitate attachment and detachment of the medical tool 212 to the robotic arm 210). The joint 304 provides the robotic arm 210 with multiple degrees of freedom (DoF) that facilitate control of the medical tool 212 via the ADM 308.

[0161] FIG. 23B shows a front view of the robotic arm 210. In some embodiments, the robotic arm 210 includes a second input or button 314 (e.g., a push button) different from the button 312 of FIG. 23A to place the robotic arm 210 in impedance mode (e.g., by pressing the button 314 once or continuously). In this example, the button 314 is located between the A4 joint 304-5 and the A5 joint 304-6. Impedance mode is also referred to as impedance scheme or impedance control. In impedance mode, the robotic system 200 measures displacements (e.g., changes in position and velocity) and outputs forces to facilitate manual movement of the robotic arm. In some embodiments, the robotic arm 210 can be manually operated by a user in impedance mode (e.g., during a setup procedure). In some embodiments, under impedance mode, operator movement of one portion of the robotic arm 210 may back-drive another portion of the robotic arm 210.

[0162] In some embodiments, for admittance control, force sensors or load cells can measure the force an operator is applying to the robotic arm 210 and cause the robotic arm 210 to move in a way that feels lighter. Under admittance control, motors in the controller can help accelerate the mass, thereby hiding the perceived inertia of the robotic arm 210, so admittance control can feel lighter than impedance control. In contrast, with impedance control, according to some embodiments, the user is responsible for most, if not all, of the mass acceleration.

[0163] In some situations, depending on the position of the robotic arm 210 relative to the operator, it may be inconvenient to reach for button 312 and / or button 314 to activate the manual operation mode (e.g., admittance mode and / or impedance mode). Therefore, under these circumstances, it may be convenient for the operator to trigger the manual operation mode other than by a button.

[0164] In some embodiments, the robotic arm 210 includes a single button that can be used to put the robotic arm 210 into admittance mode and impedance mode (e.g., by using different presses, such as a long press, a short press, a press and hold, etc.). In some embodiments, the robotic arm 210 can be put into impedance mode by a user pressing an arm linkage (e.g., link 302) and / or a joint (e.g., joint 304) and overcoming a force threshold.

[0165] During a medical procedure, it may be desirable to maintain a remote center of motion (RCM) of the ADM 308 of the robotic arm 210 and / or the tool 212 coupled thereto in a static attitude (e.g., position and / or orientation). The RCM may refer to a point in space where the motion of a cannula or other access port through which the medical tool 212 is inserted is constrained. In some embodiments, the medical tool 212 includes an end effector that is inserted through an incision or natural orifice in a patient while maintaining the RCM. In some embodiments, the medical tool 212 includes an end effector that is in a retracted state during the setup process of the robotic medical system.

[0166] In some situations, the robotic system 200 can be configured to move one or more links 302 of the robotic arm 210 in a "null space" to avoid collisions with nearby objects (e.g., other robotic arms) while the ADM 308 and / or RCM of the robotic arm 210 are maintained in their respective poses (e.g., positions and / or orientations). The null space can be considered a space in which the robotic arm 210 can move without causing movement of the ADM 308 and / or RCM, thereby maintaining the position and / or orientation of the medical tool 212 (e.g., within a patient). In some embodiments, the robotic arm 210 can have multiple positions and / or configurations available for each pose of the ADM 308.

[0167] To enable the robotic arm 210 to move the ADM 308 to a desired pose in space, in certain embodiments, the robotic arm 210 may have at least six DoFs: three DoFs for translation (e.g., X position, Y position, and Z position) and three DoFs for rotation (e.g., yaw, pitch, and roll). In some embodiments, each joint 304 may provide the robotic arm 210 with a single DoF, and thus the robotic arm 210 may have at least six joints to achieve degrees of freedom of movement to position the ADM 308 at any pose in space. To further maintain the ADM 308 and / or remote center or movement of the robotic arm 210 at a desired pose, the robotic arm 210 may further have at least one additional “redundant joint.” Thus, in certain embodiments, a system may include a robotic arm 210 with at least seven joints 304, providing the robotic arm 210 with at least seven DoFs. In some embodiments, the robotic arm 210 may include a subset of joints 304 each having two or more degrees of freedom, thereby achieving additional DoF for null space motion. However, depending on the embodiment, the robotic arm 210 may have a greater or lesser number of DoF.

[0168] 12, the bar 220 (e.g., adjustable arm support) can provide several degrees of freedom, including lift, lateral translation, tilt, etc. Thus, depending on the embodiment, the robotic medical system can have many more robotically controlled degrees of freedom beyond those in the robotic arm 210 to provide null-space movement and collision avoidance. In each of these embodiments, the end effectors of one or more robotic arms (and any tools or instruments coupled thereto), as well as the remote centers along the tool axes, can advantageously maintain their orientation and / or position within the patient.

[0169] A robotic arm 210 with at least one redundant DoF has at least one more DoF than the minimum number of DoFs to perform a given task. For example, the robotic arm 210 may have at least seven DoFs, and according to some embodiments, one of the joints 304 of the robotic arm 210 may be considered a redundant joint. The one or more redundant joints may enable the robotic arm 210 to move in null space to maintain the attitude of the ADM 308 and the position of the RCM, and to avoid collisions with other robotic arms or objects.

[0170] In some embodiments, the robotic system 200 can be configured to perform collision avoidance, for example, to avoid collisions between adjacent robotic arms 210, by utilizing movement of one or more redundant joints in the null space. For example, when a robotic arm 210 collides with or approaches (e.g., within a specified distance of) another robotic arm 210, one or more processors of the robotic system 200 can be configured to detect the collision or imminent collision (e.g., via kinematics). Accordingly, the robotic system 200 can control one or both of the robotic arms 210 to adjust their respective joints in the null space to avoid the collision or imminent collision. In embodiments including at least one pair of robotic arms, the base and its end effector of one of the robotic arms can remain in its pose while the link or joint between them moves in the null space to avoid a collision with an adjacent robotic arm.

[0171] C. Sensor 24A-24H show sensors of the robotic arms 210, according to some embodiments. In some embodiments, each of the robotic arms 210 includes a different sensor that can be used to detect contact between the robotic arm 210 and one or more external objects. According to some embodiments, in response to the amount of force, torque, etc. detected, the robotic system 200 can enable controlled movement on the robotic arms 210 according to the amount and / or direction of the detected contact force or torque.

[0172] In some embodiments, the sensors are part of a sensor architecture, which, according to some embodiments, may include other components for communicating sensor data, such as sensor attributes or parameters (e.g., force, contact, moment, displacement, movement, position, etc.), and values ​​(e.g., location, magnitude, timing, duration, etc.) from the sensors to one or more processors of the robotic system 200.

[0173] In some embodiments, the sensor comprises one or more joint sensors (e.g., joint-based sensors). FIG. 24A shows a joint sensor 402 (e.g., A0 joint sensor) located on joint 304-1 (e.g., base joint or A0 joint) near base 306 of robotic arm 210. In some embodiments, A0 joint sensor 402 comprises a force sensor that allows interaction forces to be detected on the proximal end of robotic arm 210. In some embodiments, A0 joint sensor 402 functions as an actuation detector to transition robotic arm 210 from a position control mode to a manual operation mode (e.g., impedance mode, admittance mode, grab-and-go mode, etc.).

[0174] In some embodiments, the sensors include other joint-based sensors located on other joints of the robot arm 210 (e.g., sensors located at the A1 joint 304-2, the A2 joint 304-3, the A3 joint 304-4, etc.).

[0175] In some embodiments, the sensors include one or more non-articulation-based sensors that may be located along the length of the links 302 of the robotic arm 210 and / or on the ADM 308. The sensors (both articulation-based and non-articulation-based) detect interactions between the robotic arm 210 and external objects (e.g., an operator, a patient, another robotic arm, a surgical tool, and / or the underlying bar 220).

[0176] In some embodiments, as shown in FIG. 24A , the sensor also includes a six-axis load cell 404. The six-axis load cell 404 is a force and moment sensor that can sense forces and moments (e.g., torque) in multiple directions (e.g., it can measure forces along the X-axis, Y-axis, and Z-axis, as well as moments about each axis). As shown in FIG. 24A , the six-axis load cell 404 is located between a pair of joints on the distal portion of the arm 210 (e.g., between the A4 joint 304-5 and the A5 joint 304-6). The six-axis load cell 404 can serve as a support mount for a tool driver (e.g., ADM 308). Thus, the six-axis load cell 404 can measure forces and / or moments detected distally of the robot arm 210 (e.g., by the tool driver). In some embodiments, the six-axis load cell 404 is positioned directly between the A4 joint 304-5 and the A5 joint 304-6 without a link (e.g., without link 302-4).

[0177] In some embodiments, the robotic arm 210 also includes contact sensors 408 (e.g., shell sensors). While the example of FIG. 24B shows 14 contact sensors (e.g., 408-1 through 408-14), it should be understood that the robotic arm 210 can include any number of contact sensors 408. In some embodiments, the contact sensors 408 comprise force and / or moment sensors and can detect (e.g., sense and / or measure) forces and / or moments in multiple directions. In some embodiments, the contact sensors 408 are positioned at the joints 304 of the robotic arm. In some embodiments, the contact sensors are located along the length of the links 302, such as links on a proximal portion and / or links on a distal portion of the robotic arm 210.

[0178] In some embodiments, the contact sensor 408 is located in an area of ​​the robotic arm 210 known to regularly collide with patients or medical personnel during surgery. Figure 24C shows three views of the distal portion of the robotic arm 210, with the area 410 that is more likely to collide with a patient shaded. Figure 24D shows three views of the proximal portion of the robotic arm 201 (e.g., proximal to the distal portion of the robotic arm 210 in Figure 24C) with the area 412 that is more likely to collide with a patient or medical personnel shaded.

[0179] Using region 410-1 of FIG. 24C(i) as an example, in some embodiments, the ADM 308 includes one or more contact sensors 408 that detect interactions at or near the ADM 308. In some embodiments, in accordance with a determination that the magnitude of the measured force or moment is between a lower contact force limit and / or a lower torque limit and an upper contact force limit and / or an upper torque limit, the robotic system 200 can enable controlled movement on the robotic arm 210 in accordance with the detected contact force or torque. For example, according to some embodiments, the controlled movement may include movement of the robotic arm 210 in accordance with a user's commands via a pre-set control mechanism (e.g., teleoperation, button control, etc.). According to some embodiments, the controlled movement may also include movement of one or more joints and / or links of the robotic arm 210 to reduce the detected contact force or torque on the robotic arm. According to some embodiments, the controlled movement may also include null-space motion of the robotic arm 210.

[0180] Additionally and / or alternatively, in some embodiments, interactions (e.g., forces and moments) with the ADM may be detected by a six-axis load cell 404 to which the ADM is attached (directly or indirectly).

[0181] In some embodiments, the contact sensor 408 can have a "shell" suspended around the outside of the robot arm link. Figure 24E shows an example link 302 of the robot arm 210, according to some embodiments.

[0182] 24E, the link 302 includes a rigid shell 422, a structural link 424, a structural cover 426, a first joint 430 (e.g., the A2 joint 304-3 in FIGS. 23A and 23B), a second joint 428 (e.g., the A3 joint 304-4 in FIGS. 23A and 23B), a pair of reaction paddles 432, and a shell cover 434 (e.g., a cosmetic cover). According to some embodiments, the structural cover 426 can be attached to the structural link 424 to house the components of the structural link 424 and form an internal structural connection between the first joint 430 and the second joint 428.

[0183] In some embodiments, shell 422 is used to detect contact on robotic arm 210 (e.g., by an external object). For example, according to some embodiments, shell 422, along with shell cover 434, is suspended from and surrounds structural link 424. According to some embodiments, relative motion between shell 422 and internal components / members of link 302 (e.g., structural link 424 and structural cover 426) can be detected using one or more sensors (e.g., contact sensor 408) positioned along the length of link 302 to determine contact with an external object.

[0184] In some embodiments, one or more of the contact sensors 408 (e.g., shell sensors) are strategically placed at various locations along the length of the link 302 between the structural link 424 and the shell 422 of the link 302. For example, the shell 422 can be suspended over the structural link 424 via the contact sensors 408.

[0185] In some embodiments, the contact sensors 408 are uniformly distributed along the length of the link 302. In some embodiments, the contact sensors 408 can be randomly distributed along the length of the link 302. Alternatively, in some embodiments, a greater number of sensors 408 can be located in certain regions of the link 302 (e.g., regions known to have more contact with external objects, such as region 410 in FIG. 24C and region 412 in FIG. 24D ). In some embodiments, regardless of the distribution of sensors 408, because the shell 422 surrounds the structural link 424, when the link 302 contacts an external object, the object contacts the shell 422. Thus, the force and / or moment sensing contact sensor 408 can detect contact between the shell 422 and the external object. The sensor 408 can also measure changes in force and / or torque in all directions between the shell 422 and the structural link 504 caused by the link 302 contacting the external object.

[0186] In some embodiments, one or more conventional load cells, force-sensing resistors, and / or any component capable of sensing force, moment, and / or displacement (e.g., when combined with a spring) may be used instead of (or in addition to) contact sensor 408 to detect interaction with an external object.

[0187] As used herein, the shell 422 and the shell cover 434 may be collectively referred to simply as the "shell" 422, and the structural link 424 and the structural cover 426 may be collectively referred to simply as the structural link 424 or the operable link (e.g., link 302), unless the context clearly indicates otherwise.

[0188] 24F and 24G show sensor distribution along the link 302 of the robotic arm 210 according to some embodiments.

[0189] 24F(i) and 24F(ii) show exemplary side and front views, respectively, of one end of link 302, according to some embodiments. In some embodiments, link 302 corresponds to a proximal link of robotic arm 210 (e.g., link 302-2 in FIGS. 23A and 23B). In this example, one end of link 302 includes seven contact sensors (e.g., 408-1 through 408-7). In some embodiments, link 302 (e.g., link 302-2) can be substantially symmetrical at both ends, such that there are a total of 14 sensors 408 on link 302.

[0190] 24G(i) and 24G(ii) show exemplary side and front views, respectively, of link 302, according to some embodiments. In some embodiments, link 302 corresponds to a distal link of robotic arm 210 (e.g., link 302-3 in FIGS. 23A and 23B). In this example, twelve contact sensors 408 are included in link 302, according to some embodiments.

[0191] 24F and 24G, according to some embodiments, the sensors 408 are oriented in different directions. In some embodiments, each of the sensors 408 is an individual force sensor (e.g., a single-axis force sensor), and the robotic system 200 combines all of the sensors to output a lumped (e.g., combined or aggregated) force and / or moment value. Thus, according to some embodiments, forces and / or moments in all directions can be detected by positioning the sensors in various orientations as shown in FIGS. 24F and 24G.

[0192] 24F and 24G show embodiments of links 302 each including multiple contact sensors 408, in some embodiments, link 302 may include a single sensor configured to sense force and / or torque and / or displacement between structural link 424 and shell 422 in multiple directions. In some embodiments, using signals received from sensor 408, robotic system 200 can detect the direction of contact between shell 422 and an external object. According to some embodiments, robotic system 200 can also measure the magnitude of force resulting from contact between shell 422 and an external object based on signals from sensor 408. According to some embodiments, based on the placement of sensors 408, robotic system 200 can also detect torque (e.g., moment) applied to link 302. For example, according to some embodiments, when a force is applied to shell 422, a particular contact sensor 408 (e.g., at one end of link 302-2 or link 302-3) may be compressed. According to some embodiments, based on the position and force sensed by the sensor 408 being compressed, the robotic system 200 can determine the torque applied to the link 302.

[0193] Figures 24H(i) and 24H(ii) show a robotic arm 210 including one or more touch-sensing shrouds 436 (e.g., represented by shaded regions) according to some embodiments. Figure 24H(i) shows a touch-sensing shroud 436-1 on a proximal link (e.g., link 302-2 in Figures 23A and 23B) of the robotic arm 210 and a touch-sensing shroud 436-2 on a distal link (e.g., link 302-3 in Figures 23A and 23B) of the robotic arm 210. Each of the proximal and distal links includes a contact sensor 408. Figure 24H(ii) shows a touch-sensing shroud 436-3 on the distal end of the robotic arm according to some embodiments. A six-axis load cell 404 can also be provided on the distal portion of the robotic arm. Figure 24H(ii) also shows a remote center of motion (RCM) 438. According to some embodiments, the RCM 438 is the intersection of the cannula with the patient's body.

[0194] In some embodiments, for each sensing shroud (e.g., sensing shrouds 436-1 and 436-2) on either the distal link or the proximal link of the robot arm, a combined external contact force measurement (e.g., Fc) (e.g., linear force measurement) and a combined external torque (e.g., moment) measurement (e.g., Mc) acting against any point of the robot arm 210 (e.g., the center of gravity of the link, the center of gravity of the robot arm, the base, the joint, a position on the link, and / or a remote center position) can be determined (e.g., using contact sensors 408 and / or any other type of sensor capable of detecting forces and / or moments).

[0195] In some embodiments, the robotic system 200 uses only force measurements (e.g., Fc) and not torque measurements (e.g., Mc) to determine whether the robotic system 200 should respond so that the contact force and / or torque does not exceed safe force and / or torque limits. According to some embodiments, the robotic system 200 uses both force measurements (e.g., Fc) and torque measurements (e.g., Mc) to determine the direction of movement of the robotic arm 210.

[0196] In some embodiments, the robotic system 200 uses only torque measurements (e.g., Mc) and not force measurements (e.g., Fc) to determine whether the robotic system 200 should perform an action. According to some embodiments, the robotic system 200 uses torque measurements (e.g., Mc) and / or force measurements (e.g., Fc) to determine the direction of movement of the robotic arm 210.

[0197] In some embodiments, the robotic system 200 uses both force measurements (e.g., Fc) and torque measurements (e.g., Mc) to determine whether the robotic system 200 should respond. According to some embodiments, the robotic system 200 also uses force measurements (e.g., Fc) and / or torque measurements (e.g., Mc) to determine the direction of movement of the robotic arm 210.

[0198] In some embodiments, the induced torque (e.g., τ) in the RCM 438 is calculated relative to any external contact force (e.g., F) with the distal end of the robotic manipulator (e.g., the area indicated by the contact-sensing shroud 436-3 in FIG. 26H(ii)). RCM ) is some torque limit τ limit If the force F is smaller than the force limit F limit In some embodiments, the induced torque (e.g., τ RCMis detected by the six-axis load cell 404, or any other sensor located at or near the distal end. Thus, according to some embodiments, the induced torque τ in the RCM 438 RCM Monitoring the force can limit the contact force on the distal end of the robotic manipulator.

[0199] D. Exemplary Systems and Methods for Detecting and Responding to Contact Forces and / or Torques on a Robotic Arm 25A-25C show a flowchart diagram of a method 500 for detecting and responding to contact force and / or torque, according to some embodiments. According to some embodiments of the present disclosure, method 500 is implemented by one or more processors of a robotic system (e.g., a robotic medical system 200, such as shown in FIGS. 21 and 22, or a robotic surgical platform).

[0200] The robotic system includes a robotic arm (e.g., robotic arm 210 of FIGS. 21, 22, 23A, 23B, 24A, and 24H). In some embodiments, the robotic arm is a first robotic arm of two or more robotic arms of a robotic system (see, e.g., FIGS. 21 and 22).

[0201] In some embodiments, the robotic system includes a single robotic arm. The robotic system also includes one or more sensors (e.g., sensors 402 and 404 of FIG. 24A, contact sensor 408 of FIG. 24B, FIG. 24F, and FIG. 24G, and / or other sensors described herein).

[0202] In some embodiments, one or more sensors are integrated into the sensor architecture of the robotic arm 210 (e.g., fixed to the robotic arm, part of the robotic arm, contained within the robotic arm, on the surface of the robotic arm, attached to the robotic arm, embedded beneath the surface of the robotic arm, located between portions of the robotic arm (e.g., between adjacent links, adjacent joints, etc.), located at the end of the robotic arm, on or within a link of the robotic arm, and / or on or within a joint of the robotic arm, etc.). In some embodiments, the one or more sensors are part of the sensor architecture. In some embodiments, the sensor architecture includes other components for communicating sensor data, such as sensor attributes or parameters (e.g., force, contact, moment, displacement, movement, position, etc.), and values ​​(e.g., location, magnitude, timing, duration, etc.) from the sensors to one or more processors of the robotic system.

[0203] In some embodiments, the one or more sensors include one or more non-joint-based sensors located on or in a link of the robotic arm (e.g., link 302, FIGS. 23A and 23B ), between two adjacent joints (e.g., the A4 and A5 joints, two adjacent joints with no link between them, etc.), between a joint of the robotic arm and an adjacent end effector, etc., or on a portion of the robotic arm that is not a joint of the robotic arm. In some embodiments, the non-joint-based sensors include one or more force sensors, one or more moment sensors, and / or one or more force and moment sensors.

[0204] In some embodiments, the one or more sensors include one or more joint-based sensors. For example, the joint-based sensor may be located at the proximal end of the robot arm (e.g., near the base of the robot arm) (e.g., A0 joint sensor 402) or at a joint between two adjacent links (e.g., a sensor in A3 joint 302-4 between two adjacent links 304-2 and 302-3). In some embodiments, the joint-based sensor is a force sensor, a moment sensor, or a combined force and moment sensor.

[0205] Referring again to FIG. 25A, the robotic system (e.g., using one or more processors) may measure, via one or more sensors, the contact force (e.g., Fc or F) or torque (e.g., Mc or τ) exerted on the robot arm by an external object. rcm ) (e.g., induced torque) (510). In some embodiments, the contact force (e.g., Fc or F) and torque (e.g., Mc or τ rcm ) is detected on the robot arm 210 via a sensing shroud 436 (e.g., sensing shrouds 436-1, 436-2, and / or 436-3 in FIG. 24H). For example, the contact force or torque may be any force or moment other than that caused by gravity. According to some embodiments, the contact force or torque may be in at least one direction.

[0206] In some embodiments, the one or more sensors include one or more contact sensors (e.g., contact sensor 408, FIG. 24B) 512. According to some embodiments, a contact force (e.g., Fc) or torque (e.g., moment) (e.g., Mc) is detected (e.g., sensed and measured) using one or more contact sensors 408.

[0207] In some embodiments, one or more contact sensors 408 are located on links of the robotic arm (514). For example, according to some embodiments, contact sensors 408 may be positioned in areas of the robotic arm known to regularly collide with the patient during surgery, such as area 410 in FIG. 24C and area 412 in FIG. 24D. In some embodiments, as shown in FIG. 24E, the contact sensor may have a "shell" suspended around the outside of the robotic arm link 302 (e.g., the proximal link or the distal link). In some embodiments, the contact sensor is a force sensor capable of sensing forces in multiple directions. In some embodiments, the contact sensor is a force and / or moment sensor capable of sensing forces and / or moments in multiple directions.

[0208] In some embodiments, the link of the robotic arm is a distal link (e.g., distal link 302-3, FIG. 24B) or a proximal link (e.g., proximal link 302-2, FIG. 24A) (516).

[0209] In some embodiments, the one or more sensors include a multi-axis load cell 518. The contact force (e.g., F) or torque (e.g., τ RCM ) is detected (eg, sensed and measured) using a multi-axis load cell.

[0210] In some embodiments, the multi-axis load cell (520) includes a six-axis load cell (e.g., six-axis load cell 404, FIG. 24A) located at a distal portion of the robot arm. For example, in FIG. 24A, six-axis load cell 404 is located at a distal portion of the robot arm 210 between the A4 joint 304-5 (e.g., the wrist roll joint) and the A5 joint 304-6 (e.g., the wrist pitch joint).

[0211] In some embodiments, in response to detecting 522 the contact force or torque, the magnitude of the contact force or torque is adjusted to a lower contact force limit (e.g., Fr) or a lower torque limit (e.g., τ r ) and upper contact force limit (e.g., F limit) or upper torque limit (e.g., τ limit ), the robotic system can enable a first set of controlled movements on the robotic arm according to the detected contact force or torque. For example, the one or more processors can enable a first set of controlled movements on the robotic arm according to the location, direction, magnitude, rate of change of direction and / or magnitude of the detected contact force or torque.

[0212] In some embodiments, the magnitude of the contact force or torque may include a currently detected value of the contact force or torque, an average value of the contact force or torque over a preset time window and / or in a preset region of the robotic arm, hi some embodiments, the magnitude of the contact force or torque may include an aggregate value of the contact force or torque over a preset time window or over a preset region of the robotic arm.

[0213] In some embodiments, the lower contact force limit Fr or the lower torque limit τ r is the detected force (e.g., Fc or F) or torque (e.g., Mc or τ rcm ) at which the robot arm begins to move. In some embodiments, the lower contact force limit or lower torque limit is also referred to as a reaction force limit or torque limit. For example, the lower contact force limit (e.g., Fr) may be any value between 15 N (e.g., Newtons) and 25 N. The lower torque limit τ r may be any value between 2 Nm and 4 Nm.

[0214] In some embodiments, the upper contact force limit F limit or upper torque limit τ limitis a second threshold level of force or torque above which it may be unsafe or undesirable to move the robot arm in response to a detected force or torque. In some embodiments, the upper contact force limit or upper torque limit is also referred to as a safe reaction force limit or safe torque limit. For example, according to some embodiments, the upper contact force F limit may be any value between 45N and 60N. According to some embodiments, the upper torque limit τ limit may be any value between 7 Nm and 9 Nm.

[0215] In some embodiments, a contact force or torque is determined to be between a lower contact force limit or a lower torque limit and an upper contact force limit or an upper torque limit when its value is equal to the lower contact force limit or the upper contact force limit.

[0216] In some embodiments, for any external contact force (e.g., F) with the distal end of the robot arm 210 (e.g., as shown by shroud 436-3 in FIG. 24H), an induced torque (e.g., τ rcm ) is some torque limit τ limit If the contact force is less than the force limit F limit Therefore, according to some embodiments, τ rcm By monitoring the force, the magnitude of the contact force on the distal end of the robotic arm 210 can be limited.

[0217] In some embodiments, enabling the first set of controlled movements on the robotic arm includes moving one or more joints (e.g., joint 304 in FIGS. 23A and 23B ) and / or links (e.g., link 302 in FIGS. 23A and 23B ) of the robotic arm. The one or more joints and / or links may be selected according to the location, direction, magnitude, and / or rate of change of the detected contact force or torque. According to some embodiments, enabling the first set of controlled movements may also include moving one or more joints and / or links of the robotic arm at a velocity, direction, etc. selected according to the location, magnitude, direction, and / or rate of change of the detected contact force or torque.

[0218] In some embodiments, enabling the first set of controlled movements on the robotic arm includes executing the movements of the robotic arm according to user commands via a pre-configured control mechanism (e.g., teleoperation, button control, etc.) For example, according to some embodiments, the user commands may be surgeon commands to move the robotic arm (e.g., links and / or joints of the robotic arm) during teleoperation.

[0219] In some embodiments, enabling the first set of controlled movements of the robotic arm includes performing null-space movements of the robotic arm (e.g., automatically and without user intervention). For example, one or more processors can perform null-space movements to maintain the position and / or orientation of the cannula. In some embodiments, the null-space movements of the robotic arm may be performed in addition to moving the robotic arm as requested by a user via a preset control mechanism.

[0220] In some embodiments, enabling a first set of controlled movements on the robot arm includes controlling a detected contact force Fc or torque τ on the robot arm (e.g., to ensure that the robot arm continues to operate within safety limits).rcm This includes performing a movement that reduces

[0221] In some embodiments, the robotic system enables a first set of controlled movements on the robotic arm while restricting a second set of controlled movements on the robotic arm that is different from the first set of controlled movements. In some embodiments, the first set of controlled movements and the second set of controlled movements collectively constitute a complete set of controlled movements implemented or supported by the robotic system on the robotic arm. For example, according to some embodiments, the complete set of controlled movements may include different combinations of translations and / or rotations of various joints and links of the robotic arm in a physical environment.

[0222] In some embodiments, limiting the second set of controlled movements on the robot arm includes limiting one or more directions of movement, one or more angular ranges of movement, and / or one or more speed ranges of movement of the robot arm, etc. For example, the robotic system (e.g., through one or more processors) may limit some form of controlled movement for the robot arm, including limiting the respective directions of movement, respective angles of movement, and / or respective speeds, etc. of one or more joints and / or one or more links of the robot arm.

[0223] In some embodiments, when the detected contact force or torque is between a lower contact force limit or a lower torque limit and an upper contact force limit or an upper torque limit, the robotic system allows controlled movement but imposes some limitations on the controlled movement of the robot arm. For example, according to some embodiments, the robotic system may modify the direction and / or speed of the robotic arm movement requested by the user to reduce the contact force or torque. Thus, according to some embodiments, the robotic system provides feedback to the user without interrupting or completely prohibiting the movement requested by the user. In some embodiments, when the detected contact force or torque is approaching the upper contact force limit or upper torque limit, the robotic system provides stronger feedback (e.g., tactile or visual) to the user by actively adjusting the speed and direction of movement of the robotic arm according to characteristic values ​​of the detected contact force and / or torque.

[0224] 25 , in some embodiments, enabling 524 the first set of controlled movements on the robotic arm includes initiating null-space movements of the robotic arm. For example, in some situations, contact forces may result from contact between the robotic arm and the patient during surgery. In some embodiments, the robotic system may automatically (e.g., without user intervention) initiate null-space movements of the robotic arm to reduce contact forces exerted by the robotic arm on the patient without interrupting the surgery.

[0225] In some embodiments, in response to detecting 526 the contact force or torque, the robotic system (e.g., through one or more processors) disables movement of a portion of the robotic system in accordance with a determination that the contact force or torque exceeds an upper contact force limit or an upper torque limit. For example, according to some embodiments, the one or more processors may disable previously initiated movement of all joints and / or links of the robotic arm. According to some embodiments, the one or more processors may also prevent movement from being initiated or continued in response to user commands and in response to detected contact forces or torques on the robotic arm. In some embodiments, the one or more processors may also disable movement of a tabletop or adjustable arm support of the robotic system, according to some embodiments.

[0226] In some embodiments, in response to detecting 528 the contact force or torque, and in accordance with a determination that the contact force or torque is less than the lower contact force or torque, the robotic system ceases enabling a first set of controlled movements on the robotic arm in accordance with the detected contact force or torque. For example, according to some embodiments, if the contact force or torque is very low, the robotic system does not initiate movements that reduce the contact force or torque. According to some embodiments, the robotic arm may be stationary or may be typically controlled via other active control mechanisms. For example, a user may control the robotic arm as a user typically does during surgery, such as via teleoperation, button control, and / or impedance mode control. In some embodiments, in response to detecting 528 the contact force or torque and in accordance with a determination that the contact force or torque is less than the lower contact force or torque, the robotic system also ceases restricting a second set of controlled movements on the robotic arm.

[0227] In some embodiments, the robotic system controls the first velocity of the robotic arm (e.g.,

[0228]

number

[0229]

number

[0230] In some embodiments, the magnitude of the contact force (e.g.,

[0231]

number

[0232] For example, in some embodiments, the first angle formed by the translational velocity of the robot arm and the direction of the contact force can be expressed by the following equation:

[0233]

number

[0234]

number

[0235]

number

[0236] The second angle formed by the rotational speed of the robot arm and the direction of the torque can be expressed by the following equation:

[0237]

number

[0238]

number

[0239]

number

[0240]

number

[0241] With continued reference to FIG. 25, in some embodiments, the first angle is within (e.g., less than and not exceeding) a first angle threshold (e.g., θ≦θ limit,f ), the second angle is within (e.g., less than and not exceeding) the second angle threshold (e.g., θ2≦θ limit,ω ), the robotic system may then adjust the first velocity (e.g.,

[0242]

number

[0243]

number

[0244] In some embodiments, a first angle threshold (e.g., θ limit,f ) and a second angle threshold (e.g., θ limit,ω) is determined 544 according to the measurement uncertainty of one or more contact sensors (e.g., contact sensor 408, FIG. 24B) used to detect the contact force. For example, according to some embodiments, contact sensor 408 may be located in the area indicated by sensing shroud 436-1 or sensing shroud 436-2 in FIG. 24H(i).

[0245] In some embodiments, (i) the first angle exceeds a first angle threshold (e.g., θ>θ limit,f ), or (ii) the second angle exceeds a second angle threshold (e.g., θ2>θ limit,ω ) pursuant to at least one of the determinations (546), the robotic system disables movement of the robotic arm (e.g.,

[0246]

number

[0247] In some embodiments, the allowable movement of the robot arm in space can be represented by a cone 600 (e.g., an angular range), as shown in FIG. 26. The cone 600 comprises an axis 602 that represents the direction of the contact force (e.g., Fc) or moment (e.g., Mc). The cone 600 also includes a vertex 604 that represents the impact point of the contact, and the volume within the cone represents the neighborhood of the allowable next movement of the robot arm in three-dimensional space. According to some embodiments, the contact force Fc is expected to decrease as the robot arm reacts and moves away from the previous impact point. In some embodiments, if Fc is still above the reaction force limit Fr, a new cone determined by the new contact conditions defines the new allowable movement. In some embodiments, F limit A representative value for may be 110 N. In some embodiments, the reaction force limit Fr for such reaction behavior may be set (e.g., predefined) to 80 N.

[0248] In some embodiments, the robotic system calculates the desired velocity (e.g., desired angular velocity, ω) of the robotic arm.req ) is received (548). For example, according to some embodiments, the desired velocity of the robot arm may include a desired angular velocity of a link (e.g., link 302) of the robot arm or a desired angular velocity of a joint (e.g., 304) of the robot arm. In some embodiments, the angular velocity of the robot arm includes a magnitude (e.g., velocity) and a direction (e.g., the angular velocity of the robot arm is a vector). In some embodiments, the angular velocity of the robot arm (e.g., ω req ) is the angular velocity requested by the surgeon during teleoperation of the robotic arm.

[0249] In some embodiments, the magnitude of the contact torque (e.g.,

[0250]

number

[0251] In some embodiments, a lower reaction torque limit (e.g., τ R ) is the minimum measured torque required in the RCM (e.g., RCM438) for the robot arm to react to a contact.

[0252] In some embodiments, the third angle formed by the direction of the torque and the angular velocity of the robot arm can be expressed by the following equation:

[0253]

number

[0254]

number

[0255]

number

[0256] In some embodiments, the magnitude of the torque is determined 556 relative to a remote center of motion of the robot arm (e.g., RCM 438, FIG. 24H(ii)).

[0257] In some embodiments, the third angle is within (e.g., less than or equal to and not greater than) a third angle threshold (e.g., θ3≦θ limit ), the robot system determines the desired velocity (e.g., desired angular velocity, ω req ) to enable the robot arm movement (558).

[0258] In some embodiments, the third angle threshold is determined (560) according to the measurement uncertainty of a 6-axis load cell (eg, 6-axis load cell 404) used to detect torque.

[0259] In some embodiments, the third angle exceeds a third angle threshold (e.g., θ3>θ limit ) (562), the robotic system disables the movement of the robotic arm.

[0260] 27A-27B show a flowchart diagram of a method 700 for detecting and responding to contact force and / or torque, according to some embodiments. According to some embodiments, method 700 is implemented by one or more processors of a robotic system (e.g., a robotic medical system 200, such as shown in FIGS. 21 and 22, or a robotic surgical platform).

[0261] The robotic system includes a robotic arm (e.g., robotic arm 210 of FIGS. 21, 22, 23A, 23B, 24A, and 24H). The robotic system also includes one or more sensors (e.g., sensors 402 and 404 of FIG. 24A, contact sensor 408 of FIGS. 24B, 24F, and 24G, and / or other sensors described herein). In some embodiments, the one or more sensors include one or more contact sensors (e.g., contact sensor 408). In some embodiments, the one or more sensors include a 6-axis load cell (e.g., 6-axis load cell 404, FIGS. 24A and 24H). The robotic system also includes one or more processors and memory. The memory stores instructions executed by the one or more processors.

[0262] According to some embodiments of the present disclosure, the robotic system detects contact forces (e.g., Fc or F) or torques (e.g., Mc or τ) exerted on the robotic arm by an external object via one or more sensors. rcm ) is detected (714).

[0263] In some embodiments, in response to detecting 716 the contact force or torque, the contact force or torque (e.g., the magnitude of the contact force or torque) is calculated as a force (e.g., Fr) or torque (e.g., τ r ) and contact force (e.g., F limit ) or torque (e.g., τ limit ), the robotic system enables movement of the robotic arm in a trajectory based on a pre-established path or a pre-recorded path of the robotic arm.

[0264] In some embodiments, the trajectory corresponds to a reversal of a previous travel path performed prior to the detection of the force or torque.

[0265] In some embodiments, a contact force or torque is determined to be between a lower contact force limit or a lower torque limit and an upper contact force limit or an upper torque limit when its value is equal to the lower contact force limit or the upper contact force limit.

[0266] In some embodiments, the pre-established or pre-recorded path of the robot arm includes a pre-recorded path of a center of gravity of a link of the robot arm 718. In some embodiments, the pre-established or pre-recorded path of the robot arm includes a pre-recorded path of a joint of the robot arm or joint values ​​of multiple joints of the robot arm.

[0267] In some embodiments, the robotic system calculates from a pre-recorded path of the link center of mass a translational direction (e.g., D) along the pre-recorded path over a configurable period of time. t ) and the direction of rotational movement (e.g., D r ) (720). For example, the configurable period can be any period (e.g., duration) between 10 and 100 seconds. In some embodiments, at each time instance of the configurable period (e.g., every 1 second, every 2 seconds, etc.), the respective transition and rotational movement direction can be determined based on the recorded path.

[0268] In some embodiments, the robotic system moves at a first speed (e.g.,

[0269]

number

[0270]

number

[0271] For example, a first angle formed by the translational velocity of the robot arm and the direction of translational movement along a pre-recorded path can be expressed by the following equation:

[0272]

number

[0273]

number

[0274]

number

[0275] The second angle formed by the rotational speed of the robot arm and the direction of rotational movement along the pre-recorded path can be expressed by the following equation:

[0276]

number

[0277]

number

[0278]

number

[0279] In some embodiments, the first angle is within (e.g., less than and not exceeding) a first angle threshold (e.g., θ≦θ limit,f ), the second angle is within (e.g., less than and not exceeding) the second angle threshold (e.g., θ2≦θ limit,ω ), the robotic system may then move the joints of the robot arm in a pre-recorded path at a user command velocity (e.g.,

[0280]

number

[0281] For example, the robotic system may calculate the first and second angles at each time instance of a configurable period (e.g., every 1 second, every 2 seconds, etc.) to determine whether the first and second angles are within their respective angle thresholds, and according to some embodiments, determine whether the first angle is within (e.g., less than or equal to and not greater than) the first angle threshold for that time instance (e.g., θ≦θ limit,f ), and the second angle is within (e.g., less than or equal to but not greater than) a second angle threshold (e.g., θ2≦θ limit,ω ) and validate the movement of the joint of the robot arm according to the determination that the first and second angles are equal to or greater than the predetermined value.

[0282] In some embodiments, the first angle exceeds a first angle threshold (e.g., θ>θ limit,f ), and / or the second angle exceeds a second angle threshold (e.g., θ2>θ limit,ω ) the robotic system disables the movement of the robotic arm.

[0283] Referring again to FIG. 27, in some embodiments, the pre-established or pre-recorded path of the robot arm includes a pre-established or pre-recorded path of the pitch and / or yaw angles of the robot arm's remote center of motion (e.g., RCM 438, FIG. 24H) (722).

[0284] In some embodiments, the robotic system also calculates the average direction of motion (e.g., average velocity) along the pre-recorded path over a configurable period (e.g., 2 seconds to 100 seconds) from a pre-established or pre-recorded path of the robotic arm (e.g., pre-recorded path of the pitch / yaw angles of the RCM).

[0285]

number

[0286] In some embodiments, the robotic system calculates the angular velocity (e.g., ω req ) The robotic system can determine the magnitude of the torque using a multi-axis load cell between the links or on the distal end of the robotic arm, such as the six-axis load cell 404 of FIGS. 24A and 24H(ii). In some embodiments, the magnitude of the detected torque (e.g., |τ RCM |) is the lower reaction torque limit (e.g., τ R ) and upper torque limit (e.g., τ limit ) the robotic system determines a direction of the torque. The robotic system also determines a third angle formed by the direction of the torque and the angular velocity of the robot arm.

[0287] In some embodiments, the third angle formed by the direction of the torque and the angular velocity of the robot arm can be expressed by the following equation:

[0288]

number

[0289]

number

[0290]

number

[0291]

number

[0292]

number

[0293] In some embodiments, the third angle is within (e.g., less than or equal to and not greater than) a third angle threshold (e.g., θ3≦θ limit ), the robot system determines the average direction of movement along the pre-recorded path (e.g.,

[0294]

number

[0295] In some embodiments, in accordance with determining that the third angle exceeds the third angle threshold, the robotic system disables movement of the robotic arm.

[0296] 28 shows a flowchart diagram of a method 800 for detecting and responding to contact force and / or torque, according to some embodiments. According to some embodiments, method 700 is performed by one or more processors of a robotic system (e.g., a robotic medical system 200, such as shown in FIGS. 21 and 22, or a robotic surgical platform).

[0297] The robotic system includes a robotic arm (e.g., robotic arm 210 of FIGS. 21, 22, 23A, 23B, 24A, and 24H). In some embodiments, the robotic arm is a first robotic arm of two or more robotic arms of a robotic system (see, e.g., FIGS. 21 and 22). In some embodiments, the robotic system includes a single robotic arm.

[0298] The robotic system also includes one or more sensors (e.g., sensors 402 and 404 of FIG. 24A, contact sensor 408 of FIGS. 24B, 24F, and 24G, and / or other sensors described herein).

[0299] In some embodiments, the one or more sensors include one or more contact sensors (e.g., contact sensor 408, FIG. 24B). In some embodiments, the contact sensors are force and / or moment sensors that detect force and / or moment (e.g., torque). In some embodiments, the one or more sensors include a 6-axis load cell (e.g., 6-axis load cell 404).

[0300] The robotic system also includes one or more processors and a memory, the memory storing instructions that are executed by the one or more processors.

[0301] The robotic system detects contact forces (e.g., Fc or F) or torques (e.g., Mc or τ) exerted by an external object on the robot arm via one or more sensors. rcm ) is detected (814). In some embodiments, the contact force (e.g., Fc) and torque (e.g., Mc) are detected on the robot arm 210 via a sensing shroud (e.g., sensing shrouds 436-1 and / or 436-2 of FIG. 24H). In some embodiments, the contact force (e.g., F) and torque (e.g., τ rcm is detected on the robot arm 210 via a sensing shroud (e.g., sensing shroud 436-3 in FIG. 24H). For example, the contact force or torque may be any force or moment other than that caused by gravity. The contact force or torque may be in multiple directions.

[0302] In some embodiments, the contact force or torque is determined by a lower reaction force limit (e.g., Fr) or a lower torque limit (e.g., τ r ) or greater (816), the robotic system reduces the velocity of the robotic arm.

[0303] In some embodiments, the robotic arm includes one or more joints 818. Reducing the velocity of the robotic arm includes reducing 820 a respective velocity of each of the one or more joints of the robotic arm.

[0304] In some embodiments, reducing the respective velocity of each of the one or more joints includes reducing (822) the velocities of all joints by the same scale (e.g., the same percentage). For example, according to some embodiments, the robotic system may reduce the respective velocity of each of the joints by 1%, 2%, 5%, 10%, etc.

[0305] In some embodiments, the robotic system moves at a first speed (e.g.,

[0306]

number

[0307]

number

[0308]

number

[0309] Equation (7) shows that when the contact force Fc is greater than the lower reaction force limit (e.g., Fc > Fr), the robot joint velocity decreases as the contact force Fc increases. According to some embodiments, in this equation, F limit is an upper threshold level of force above which it may not be safe or desirable to move the robot arm in response to a detected force. According to some embodiments, (F limit -F r ) is a constant, so equation (7) shows that the higher the detected contact force Fc, the lower the command velocity

[0310]

number

[0311]

number

[0312]

number

[0313]

number

[0314] In some embodiments, reducing the velocity of the robot arm includes reducing (824) the angular velocity of the remote center of motion (e.g., RCM 438, FIG. 24H) of the robot arm.

[0315] For example, in some embodiments, the robotic system may adjust a first angular velocity (e.g., ω) of the robotic arm. req ) according to some embodiments. For example, according to some embodiments, the angular velocity of the robot arm may include the angular velocity of a link (e.g., link 302) of the robot arm or the angular velocity of a joint (e.g., 304) of the robot arm. rcm ≦τ r ), the robotic system enables movement of the robot arm at a first angular velocity. rcm >τ r ), the robot system determines a first angular velocity ω req is less than the command angular velocity (e.g., ω cmd ) In some embodiments, this scenario can be represented by the following equation:

[0316]

number

[0317] In equation (8), τ limit is an upper threshold level of torque above which it may be unsafe or undesirable to move the robot arm in response to a detected torque. According to some embodiments, (τ limit -τ r ) is a constant value, so equation (8) can be expressed as the detected torque τ rcm The higher the command angular velocity ω cmd Furthermore, according to some embodiments, the detected torque τ rcm is at least τ limit , the robot arm movement is not enabled (for example, τ rcm ≧τ limit When ω cmd =0).

[0318] In some embodiments, various aspects of method 500, method 700, or method 800 can be used independently for one or more of the robotic arms or can be combined.

[0319] D. Integrated Null Space Motion Control As described above, a robotic arm (e.g., robotic arm 210) can include multiple joints (e.g., joint 304, FIGS. 23A and 23B ), which provide multiple degrees of freedom (DoF). In some embodiments, the robotic arm can have at least seven joints, and thus, seven DoF. When a robotic arm has seven joints, one of the joints can be considered a redundant joint. Thus, a robotic arm with at least seven joints has at least one additional DoF (e.g., additional redundancy, or one redundant DoF). In some embodiments, one or more redundant DoFs can enable the robotic arm to move within null space to maintain the attitude of ADM 308 and / or the position of the RCM and to avoid collisions with other robot arms or objects. In some embodiments, according to some embodiments, while the robotic arm is moving within null space, different linkage positions and joint angles can be used to position the end effector of the robotic arm toward a particular attitude (e.g., location and / or orientation) and trajectory in space. In some embodiments, movement of the robotic arm's end effector can be via teleoperation, while in other embodiments, movement of the robotic arm's end effector can be via manual movement of the robotic arm or a slave clutch. In some embodiments, one or more redundant DoF enable the robotic arm to position and orient the medical instrument from a desired point in space, while allowing the physician to move the arm joint to a clinically convenient position away from the patient for improved access while avoiding arm collisions.

[0320] In some embodiments, a robotic arm with one DoF redundancy can be commanded to a desired pose while holding its remote center (e.g., during teleoperation). While delivering the arm in a desired pose, the same robotic arm can be used in parallel (e.g., simultaneously) for several purposes. According to some embodiments, these purposes can include kinematic collision avoidance (e.g., collisions between arms of a robotic system or between the arm and other system components such as the ground, an adjustable bar, or a bedtop), joint limit avoidance, excessive contact avoidance, admittance null-space motion for manual arm repositioning, manual bar repositioning, and / or bar optimization adaptation, and positioning joints in desired (e.g., preferred) locations. Each of these purposes may require a respective null-space motion of the robotic arm. If only one redundant DoF is added (or limited to one), these purposes may conflict with each other. Therefore, it is necessary to simultaneously optimize the objectives under various operating conditions of the robotic arm and control the null-space motion of the robotic arm in a balanced and optimal manner.

[0321] FIG. 29 shows a block diagram 900 of a kinematic architecture for the robotic system 200, according to some embodiments.

[0322] Block diagram 900 includes a master application 902. In some embodiments, the master application 902 is used by a surgeon during teleoperation to control an end effector of a robotic arm (e.g., robotic arm 210, FIGS. 21 and 22). In some embodiments, the master application 902 receives master controller commands (e.g., via commands from the surgeon) that are vectors containing the pose (e.g., position and / or orientation) of the end effector about the RCM.

[0323]

number

[0324] 29 also illustrates a novel unified null-space motion control module 904, according to some embodiments. In some embodiments, the unified null-space motion control module 904 runs in parallel (e.g., simultaneously) with the master application 902. According to some embodiments of the present disclosure, the unified null-space motion control module 904 manages multiple tasks (e.g., respective sets of operations for multiple task modules). In some embodiments, the multiple tasks include, among others, contact detection 906, bar optimization 908, collision and / or joint avoidance 910, null-space jogging 912, and preferred joint positions 914. According to some embodiments, the multiple tasks may also include other tasks 916. In some embodiments, at least one of the multiple tasks requires respective null-space motion of the robot arm at a given time.

[0325] In some embodiments, the plurality of tasks includes contact detection 906. As previously described in FIGS. 23A-24H , according to some embodiments, the robotic system includes a sensing architecture including one or more sensors, such as contact sensor 408, a six-axis load cell (e.g., six-axis load cell 404), a force sensor (e.g., A0 force sensor 402), and / or any other sensor (e.g., a capacitive sensor), that may be located along one or more links and / or joints of the robotic arm (e.g., link 302 and / or joint 304). According to some embodiments, the robotic system detects (e.g., senses and measures) contact forces and / or torques on the robotic arm using one or more sensors. In some embodiments, based on the detected contact forces and / or torques, the robotic system may determine a response scheme utilizing null-space motion of the robotic arm. For example, according to some embodiments, null-space control on the robotic arm may be activated to reduce the amount of contact force and / or torque according to the detected contact forces and / or torques.

[0326] Referring again to FIG. 29, in some embodiments, the contact detection 906 module detects two parameters:

[0327]

number

[0328]

number

[0329] In some embodiments, the plurality of tasks includes bar optimization 908. As described in FIG. 21, each of the robot arms and / or adjustable arm supports (e.g., bars) can be referred to as a respective kinematic chain. In some embodiments, the robot arm and its underlying bar can be considered a single kinematic chain. For example, in FIG. 22, robot arm 210-1 and its underlying bar 220-1 can be part of the same kinematic chain, according to some embodiments. In some embodiments, bar optimization includes optimizing the pose (e.g., position and / or orientation) of an underlying bar (e.g., bar 220-1) supporting the robot arm (e.g., robot arm 210-1) to maintain a static pose of the remote center of motion (RCM) of the end effector (e.g., ADM 308) of the robot arm 210 and / or its coupled tool 212 while moving the robot arm in null space. In some embodiments, bar optimization module 908 outputs the position (e.g., q) of the A joint of the robot arm to the unified null-space motion control module 904. In some embodiments, the bar optimization module 908 can be extended to cover manual bar repositioning, and the resulting output (e.g., q0) integrated in the same manner.

[0330] In some embodiments, the plurality of tasks also includes collision and / or joint avoidance 910. In some situations, the robotic arm may collide with other objects, such as another robotic arm, a patient support platform, and / or other objects in proximity to the robotic arm. Furthermore, in some situations, the joints of the robotic arm may be operating at or near their joint limits. According to some embodiments, in collision and / or joint avoidance 910, the robotic arm adjusts the trajectory of the end effector (e.g.,

[0331]

number

[0332] In some embodiments, the robotic system includes one or more encoders (e.g., joint encoders) positioned on one or more joints of the robotic arm. According to some embodiments, the joint encoders measure the positions and / or angles of the joints of the robotic arm and enable collision detection and handling according to the joint encoder data. In some embodiments, the robotic system creates a kinematic model based on the measured positions and / or angles of the joints. Collision and / or joint avoidance controls the null-space motion of the robotic arm based on a kinematic approach that uses measurements of the robotic system (e.g., positions and / or angles of the joints of the robotic arm). Thus, the Collision and / or Joint Avoidance 910 module is different from the Contact Detection 906 module, which uses sensor data to activate null-space control.

[0333] In some embodiments, the collision and / or joint avoidance module 910 calculates two parameters P c,i and P o,i to the integrated null space control module 904, and P c,i and P o,icorrespond to the Cartesian coordinates of the collision control point and the obstacle point. According to some embodiments, when the robotic arm is near an obstacle (such as another robotic arm, another object in the robotic system, or an external object), one or more points on the robotic arm that are closest to one or more corresponding points on the object can be identified. According to some embodiments, the collision control point is one or more points on the robotic arm. According to some embodiments, the obstacle point is one or more points on the obstacle of the robotic arm.

[0334] In some embodiments, collision and / or joint avoidance 910 assumes that the bar underneath the robot arm is stationary. In some situations, moving the robot arm in null space while keeping the bar underneath the robot arm in a stationary position may not be a solution. In these instances, according to some embodiments, the robot system (e.g., using integrated null-space motion control module 904) also invokes bar optimization module 908 in parallel to enable null-space motion of the robot arm by translating (and / or rotating and / or tilting) the underlying bar.

[0335] In some embodiments, the tasks also include null-space jogging 912 (e.g., robot arm null-space jogging and / or bar pose jogging). Null-space jogging allows a user to manually move the robot arm along its underlying bar (e.g., along the positive and negative y-axes, FIG. 22 ) in both directions without affecting the end effector pose (e.g., null space) at any time during arm movement. In some embodiments, null-space jogging can be initiated by pressing a button on the robot arm (e.g., button 312 in FIG. 23A or other input button), by using an external input such as a joystick, or by pressing a link on the robot arm equipped with built-in force, torque, and / or contact sensors. In some embodiments, null-space jogging involves utilizing translation of the underlying bar that is parallel to the translation of the arm base (e.g., along the positive and negative y-axes, FIG. 22 ) and extends the range of motion for jogging on each arm.

[0336] An example of null-space jogging is admittance null-space jogging. In some situations, when a surgeon is performing teleoperation, medical staff at the patient's side may need to access the patient. In these situations, the medical staff can manually control (e.g., manually manipulate) the null space available from the robotic arm itself and / or from the kinematic chain including the robotic arm and its underlying bar, and activate admittance null-space jogging to move the robotic arm to a pose that allows patient access. In other words, according to some embodiments, admittance null-space jogging allows a user to manually reposition the robotic arm and / or its joints to a preferred location while ensuring that the robotic arm moves within null space during manual repositioning. According to some embodiments, the null-space jogging module 912 outputs the velocity (e.g., δ) of the A joint to the integrated null-space motion control module 904.

[0337] FIG. 29 also shows that multiple tasks include preferred joint positions 914. In some embodiments, preferred values ​​exist for the poses of the robotic arm. For example, some poses (e.g., positions and / or orientations of the joints and / or links of the robotic arm) may be preferred due to the kinematic capabilities of the robotic system or because the poses are known to lead to a reduced likelihood of potential arm collisions during teleoperation. According to some embodiments, at the preferred joint positions 914, the robotic arm utilizes null-space motion to calculate corresponding preferred joint positions and move towards the preferred poses. In some embodiments, the preferred joint values ​​can be determined based on maneuver or kinematic metrics (e.g., maneuverability). According to some embodiments, the preferred joint positions module 914 informs the integrated null-space motion control module 904 of the preferred positions (e.g., q k,preferred ) is output.

[0338] In some embodiments, the integrated null-space motion control module 902 controls the null-space joint velocities of the robot arm.

[0339]

number

[0340]

number

[0341]

number

[0342] In block diagram 900:

[0343]

number

[0344] According to some embodiments, an initial inverse kinematic solution (e.g.,

[0345]

number

[0346]

number

[0347]

number

[0348]

number

[0349]

number

[0350]

number

[0351] 30A and 30C show a flowchart diagram of a method 1000 for controlling null-space motion of a robotic arm, according to some embodiments. According to some embodiments of the present disclosure, the method 1000 is performed by one or more processors of a robotic system (e.g., a robotic medical system 200, such as shown in FIGS. 21 and 22, or a robotic surgical platform).

[0352] The robotic system includes a user console (e.g., a physician console for performing teleoperation and other operations of the robotic system). The robotic system also includes a robotic arm (e.g., robotic arm 210 of FIGS. 21, 22, 23A, 23B, 24A, and 24H) (1004). In some embodiments, the robotic arm is a first robotic arm of two or more robotic arms of a robotic system (see, e.g., FIGS. 21 and 22). In some embodiments, the robotic system includes a single robotic arm. In some embodiments, the robotic arm has at least one degree of freedom redundancy. For example, in some embodiments, the robotic arm can have at least seven joints (e.g., joint 304, FIG. 23), thus providing at least seven DoFs (e.g., at least one redundant DoF). According to some embodiments, the robotic arm 210 with at least seven redundant DoFs has at least one more DoF than the minimum number of DoFs to perform a given task (e.g., six DoFs). According to some embodiments, if the robotic arm has seven joints, one of the joints can be considered a redundant joint. According to some embodiments, the one or more redundant joints can enable the robotic arm 210 to move within null space to maintain the attitude of the ADM 308 and the position of the RCM and to avoid collisions with other robotic arms or objects. The robotic system also includes an adjustable bar (e.g., bar 220, FIGS. 21 and 22) coupled to the robotic arm. The robotic system further includes one or more processors and memory. The memory stores instructions executed by the one or more processors.

[0353] According to some embodiments, the robotic system controls (1012) the null space motion of the robotic arm 210 and / or the adjustable bar 220 based on inputs from two or more of a plurality of tasks for execution by the robotic system.

[0354] 29 , the plurality of tasks includes a first task including contact detection of the robotic arm (e.g., contact detection 906), a second task including optimization of the adjustable bar (e.g., bar optimization 908), a third task including handling collisions and / or joint limits via kinematics (e.g., collision / joint avoidance 910), a fourth task including null-space jogging of the robotic arm and / or bar pose (e.g., null-space jogging 912), and a fifth task including movement toward a preferred joint position (e.g., preferred joint position 916) (1014). In some embodiments, each of the plurality of tasks requires a respective null-space movement of the robotic arm. In some embodiments, the robotic system includes a null-space motion control system (e.g., integrated null-space motion control module 904) that controls the null-space motion of the robotic arm in a manner that optimizes task execution.

[0355] In some embodiments, the multiple tasks relate to multiple objectives, such as kinematic collision avoidance, joint limit avoidance, over-contact avoidance, and zero-admittance space motion for manual repositioning of the arm.

[0356] In some embodiments, controlling the null-space motion of the robot arm includes moving 1016 one or more joints of the robot arm to a desired pose (e.g., position and orientation) at optimal null-space joint velocities.

[0357] For example, in FIG. 29, the master application 902 may generate master controller commands, including the pose (e.g., position and / or orientation) of the end effector of the robot arm, according to some embodiments.

[0358]

number

[0359]

number

[0360] In some embodiments, the robotic system controls the null-space motion of the robotic arm while allowing the end effector of the robotic arm to follow commands (1018). In some embodiments, the commands can be generated via teleoperation of the robotic arm by a surgeon. In other embodiments, the commands can be generated via manual manipulation of the robotic arm, such as via a slave clutch.

[0361] 29, an integrated null-space motion control module 904 controls the null-space motion of a robotic arm. The integrated null-space motion control module 904 can run in parallel with a master application 902 that controls the pose of the end effector of the robotic arm.

[0362] In some embodiments, the robotic system further includes one or more force sensors positioned on the robotic arm (1020).

[0363] In some embodiments, the one or more force sensors include a contact sensor (e.g., contact sensor 408) positioned on a link of the robotic arm 1022. For example, as depicted in Figures 24B, 24C, 24D, 24E, 24F, and 24G, contact sensor 408 is a force sensor that can be positioned on link 302 of the robotic arm.

[0364] In some embodiments, the one or more force sensors include a contact sensor positioned on a joint or distal end of the robotic arm (1024). For example, in some embodiments, contact sensor 408 of FIG. 24B can be positioned on joint 304 of robotic arm 210. Contact sensor 408 can also be located along the length of link 302, such as a link on a proximal portion and / or a link on a distal portion of robotic arm 210. FIG. 24G also shows contact sensor 408 positioned at the distal end of the robotic arm.

[0365] In some embodiments, the first task (eg, contact detection 906) further includes detecting 1026 a contact on the robot arm using one or more force sensors.

[0366] For example, according to some embodiments, the robotic system includes a sensing architecture including one or more sensors, such as a contact sensor 408, a six-axis load cell (e.g., six-axis load cell 404), a force sensor (e.g., A0 force sensor 402), and / or any other sensor (e.g., a capacitive sensor), that may be located along one or more links and / or joints of the robotic arm (e.g., link 302 and / or joint 304). These sensors detect contacts on the robotic arm. For example, according to some embodiments, the contact sensor 408 is a force sensor (or a force and moment sensor). According to some embodiments, the six-axis load cell 404 is a force and moment sensor.

[0367] In some embodiments, the robotic system further includes one or more force sensors (1028) positioned on the joints of the robotic arm. According to some embodiments, the second task includes adjusting (1030) the attitude (e.g., position and / or orientation) of the adjustable bar relative to the robotic arm 210 using the forces sensed on the one or more sensors.

[0368] 24A, according to some embodiments, the robotic system includes a force sensor 402 positioned on the A0 joint 304-1 of the robotic arm. According to some embodiments, the bar optimization 908 task includes using the force sensed on the A0 force sensor to adjust the pose (e.g., position and / or orientation) of a bar underneath the robotic arm.

[0369] For example, according to some embodiments, the robot arm and the underlying adjustable bar form one kinematic chain (or are part of the same kinematic chain). In some embodiments, bar optimization includes optimizing the pose (e.g., position and / or orientation) of an underlying bar (e.g., bar 220-1) that supports the robot arm (e.g., robot arm 210-1) to maintain a static pose of the robot arm's end effector (e.g., ADM 308) and / or the remote center of motion (RCM) of a tool coupled thereto while moving the robot arm in null space.

[0370] In some embodiments, the robotic system further includes one or more encoders (e.g., joint encoders) positioned on the joints of the robotic arm (e.g., to measure the position and / or angle of the robotic arm) 1032. According to some embodiments, the third task (e.g., joint collision / avoidance 910) includes detecting collisions and mitigating collisions via kinematic control using the one or more encoders 1034.

[0371] According to some embodiments, unlike the first task (e.g., Contact Detection 906), which initiates null-space motion according to data from one or more sensors of the robot arm, the third task (e.g., Joint Collision / Avoidance 910) uses joint positions and / or angles measured by joint encoders to build a kinematic model and mitigate joint collisions using null-space kinematic control.

[0372] In some embodiments, the robotic system prioritizes null-space movements for various tasks based on exclusivity, weighting, and / or switching.

[0373] In some embodiments, the robotic system prioritizes (1034) one or more tasks of the plurality of tasks based on preset mutual exclusivity among the tasks in the plurality of tasks.

[0374] For example, according to some embodiments, when a robotic system performs certain tasks, certain other tasks are disabled (e.g., by setting their weights to 0). In one example, according to some embodiments, when bar optimization 908 is enabled, link / joint collision avoidance 910 is disabled. In another example, according to some embodiments, when null space jogging 912 is used, all other tasks (e.g., contact detection 906, bar optimization 908, link / joint collision avoidance 910, and preferred joint position 914) are disabled.

[0375] In some embodiments, the robotic system assigns (1038) a respective weight to each of the multiple tasks.

[0376] For example, in some embodiments, the robotic system may assign a respective weight to each of a plurality of tasks based on the relative importance of the task, with more important tasks being given higher respective weights than less important tasks. In some embodiments, the weights are dynamically adjustable weights that are calculated on the fly based on currently sensed sensor data and / or joint encoder data and / or the current state of the robotic system (e.g., idle, in surgery, in setup, etc.).

[0377] In some embodiments, the robotic system prioritizes (1040) one or more of the plurality of tasks based on the relative magnitude of the weights of each of the plurality of tasks. For example, the prioritized task has the highest weight among the plurality of tasks. Unlike other prioritization schemes, such as exclusivity or switching (see below), in which one or more tasks may be disabled and therefore not considered in determining the null-space motion of the robotic arm, in a weighting scheme, according to some embodiments, all tasks are considered based on their relative importance as determined by their assigned weights.

[0378] In some embodiments, the robotic system switches 1042 between a distinct set of one or more tasks of the plurality of tasks based on a current state of the robotic system.

[0379] According to some embodiments, switching allows for different tasks to be enabled at different times depending on the state of the robotic system (e.g., during setup, surgery, in impedance mode, in admittance mode, etc.) to produce desired results in each state.

[0380] In some instances, a user may activate impedance mode during the setup procedure to manually manipulate the robotic arm. According to some embodiments, when the robotic arm is in impedance mode, collision and / or joint limit handling (e.g., collision / joint avoidance (910)), contact detection (906), and null space jogging (912) are switched off. According to some embodiments, bar optimization (908) can be activated to facilitate configuration of the robotic arm / adjustable bar kinematic chain into an optimized pose for surgery.

[0381] In another example, according to some embodiments, collision and / or joint avoidance (910) assumes that the bar underneath the robot arm is stationary. In some situations, according to some embodiments, moving the robot arm in null space while keeping the bar underneath the robot arm in a stationary position may not be a solution. In these examples, according to some embodiments, the robot system (e.g., using the integrated null-space motion control module 904) also invokes the bar optimization module 908 in parallel to enable null-space motion of the robot arm by translating (and / or rotating and / or tilting) the underlying bar.

[0382] In some embodiments, the preferred joint position module 914 is disabled by default and is only activated as an auxiliary feature in response to a user command. When activated, the robotic system switches to a different state where the cost function (see, e.g., FIG. 31 ) is enhanced with preferred joint positions, and other tasks are disabled or enabled, potentially with different weights.

[0383] According to another aspect of the present disclosure, the null space joint velocity

[0384]

number

[0385] The robotic system includes a robotic arm (e.g., robotic arm 210 of FIGS. 21, 22, 23A, 23B, 24A, and 24H). In some embodiments, the robotic arm is a first robotic arm of two or more robotic arms of a robotic system (see, e.g., FIGS. 21 and 22). In some embodiments, the robotic system includes a single robotic arm. The robotic system also includes an adjustable bar (e.g., bar 220, FIGS. 21 and 22) coupled to the robotic arm. The robotic system also includes one or more processors and memory. The memory stores one or more programs configured to be executed by the one or more processors.

[0386] According to some embodiments, the robotic system identifies (1108) a first plurality of tasks (e.g., S) for the robotic system. In some embodiments, the first plurality of tasks includes objectives (e.g., goals) of the robotic system (e.g., objectives to be achieved by a robotic arm (e.g., a single robotic arm, each robotic arm) of the robotic system). For example, according to some embodiments, the first plurality of tasks (e.g., objectives) includes kinematic collision avoidance, joint limit avoidance, excessive contact avoidance, admittance null-space motion for manual arm repositioning, and positioning robot joints to preferred locations. In some embodiments, the first plurality of tasks includes the tasks shown in block diagram 900. For example, according to some embodiments, the first plurality of tasks includes contact detection (906), bar optimization (908), collision / joint avoidance (910), null-space jogging (912), preferred joint positions (914), and / or other tasks 916.

[0387] In some embodiments, each task (e.g., s) of the first plurality of tasks (e.g., S) i ⊆S) is the corresponding null-space joint velocity (e.g.,

[0388]

number

[0389] In some embodiments, the first plurality of tasks includes two or more of: a first task including kinematic collision avoidance, a second task including joint limit avoidance, a third task including contact avoidance and zero-admittance space movement, and a fourth task including movement toward a preferred joint position (1112).

[0390] In some embodiments, the first task, which involves kinematic collision avoidance, corresponds to the collision / joint avoidance task (910) described in Figure 29. In some embodiments, the first task can be represented by the following equation:

[0391]

number

[0392]

number

[0393]

number

[0394] In some embodiments, the second task, which includes joint limit avoidance, corresponds to the collision / joint avoidance task (910) described in Figure 29. In some embodiments, the second task can be represented by the following equation:

[0395]

number

[0396]

number

[0397]

number

[0398]

number

[0399] In some embodiments, the second task is to calculate the current joint value

[0400]

number

[0401] In some embodiments, the third task, which includes contact avoidance and admittance null-space motion, corresponds to the contact detection task (906) and the null-space jogging task (912) in Figure 29. In some embodiments, the third task can be represented by the following equation:

[0402]

number

[0403] In some embodiments, the fourth task, which involves movement toward a preferred joint position, corresponds to the preferred joint position task (914) in Figure 29. In some embodiments, the fourth task can be represented by the following equation:

[0404]

number

[0405] In equations (9) to (12), s i (where i=1-4) are non-negative values ​​that represent the normalized "severity" of each of the corresponding null-space motion demands. For example, according to some embodiments, if a joint is at a configured joint limit, the null-space motion demand from this event has a normalized severity s=0, and if the same joint is away from the joint limit by a configured amount, then S=1. Using the fourth task as an example, according to some embodiments, if a joint is currently at its preferred joint position, then the current joint value q in equation (12) is k q k,preferred ,Thus, s4=0, which means there is no "severity" since the joint is already in its preferred joint position.

[0406] 31 , in some embodiments, the robotic system performs 1114 a null-space motion of the robotic arm based on first null-space joint velocities of the robotic arm determined by reducing (e.g., optimizing) a cost function (e.g., H(q)). The cost function H(q) includes 1116 a first cost corresponding to optimizing the adjustable bar and / or robotic arm null-space and / or bar pose jogging. According to some embodiments, the cost function also includes 1118 a plurality of second costs corresponding to each task of the first plurality of tasks.

[0407] In some embodiments, the cost function H(q) can be written as:

[0408]

number

[0409] The cost function H(q) is a first cost function corresponding to the optimization of the null space of the adjustable bar and / or the robot arm and / or the jogging posture of the bar.

[0410]

number

[0411] According to some embodiments, the cost function H(q) is a second cost function

[0412]

number

[0413] In some embodiments, the robotic system reduces 1120 the cost function using a gradient descent algorithm with successive step size reductions.

[0414] In some embodiments, H(q) is optimized using the steepest descent formula given by:

[0415]

number

[0416] According to some embodiments, the solution to the gradient descent formula is the null-space joint velocities of the robot arm:

[0417]

number

[0418]

number

[0419]

number

[0420]

number

[0421] In some embodiments, the robotic arm performs null-space motion of the robotic arm (1122) while allowing the end effector of the robotic arm to follow commands, such as during teleoperation of the robotic arm and / or during manual operation of the robotic arm (e.g., via a slave clutch).

[0422] For example, in Figure 29, according to some embodiments, the unified null space motion control module 904 controls the null space motion of the robotic arm. According to some embodiments, the unified null space motion control module 904 runs in parallel with the master application 902, which controls the pose of the end effector of the robotic arm.

[0423] In some embodiments, the robotic system moves (1124) one or more joints of the robotic arm to a desired pose (e.g., position and orientation) at a first null-spatial joint velocity.

[0424] In some embodiments, the robotic system assigns 1126 a first weight to the first task. According to some embodiments, the robotic system also assigns 1128 a respective second weight to each of a plurality of second costs.

[0425] For example, referring to equation (13), the robotic system may, according to some embodiments, assign a first weight w to the first cost. m According to some embodiments, the robotic system also assigns each of the plurality of second costs a respective second weight w i where i=1 to 4 (e.g., or another number corresponding to the number of tasks involved in the prioritization and consolidation scheme).

[0426] According to some embodiments, reducing the cost function includes minimizing the cost function H(q). In some embodiments, the cost function is minimized based on the exclusivity scheme described in FIG. 30. For example, in some embodiments, the first cost is used (i.e., w m is non-zero), the second cost is entirely ignored (e.g., w1, w2, w3, and w4 are all 0). According to some embodiments, this scenario applies to the situation when the robot arm receives a bar optimization command. In this example, according to some embodiments, the robot arm uses null space motion solely for that purpose.

[0427] In some embodiments, the second weight of each of at least one of the second costs is zero (1130).

[0428] In some embodiments, the assignment of a respective second weight to each of the plurality of second costs is performed according to an operational state of the robotic system.

[0429] For example, according to some embodiments, w1, w2, w3, and w4 are the sum of the time periods for each task (e.g., s) of a first plurality of tasks (e.g., S). i ⊆S). In some embodiments, the actual values ​​of the weights w1-w4 depend on the motion state of the robotic system or the severity of the null space motion request (e.g., s i ) may vary as a function of the joint position task weights. For example, according to some embodiments, in a coordinated table motion, higher weights are assigned to the kinematic collision avoidance task (e.g., s1) and the joint limit avoidance task (e.g., s2) than to the preferred joint position task (e.g., s4). That is, according to some embodiments, the weight w1 corresponding to the kinematic collision avoidance task s1 and the weight w2 corresponding to the joint limit avoidance task s2 have a larger value than the weight w4 corresponding to the preferred joint position task s4.

[0430] In some embodiments, only preferred joint positions are allowed in the bar optimization task. Thus, according to some embodiments, a user can set w4 to an appropriate weight and can disable all other requirements represented by the second cost by setting weights w1, w2, and w3 to zero. According to some embodiments, as another example of weights depending on requirement severity, when a zero admittance space motion / contact avoidance requirement appears or when s3>0, w1, w2, and w4 can all be set to zero, thereby allowing the user to have full control of the robot arm and achieve the user's goal.

[0431] 3. Implementation systems and terminology. The embodiments disclosed herein provide systems, methods, and apparatus for detecting and responding to interactions with a robotic arm while teleoperation is being performed using the robotic arm.

[0432] It should be noted that, as used herein, the terms "couple," "coupled," "coupled," or other variations of the word coupled, can indicate either an indirect connection or a direct connection. For example, when a first component is "coupled" to a second component, the first component may be either indirectly connected to the second component through another component, or directly connected to the second component.

[0433] The functionality for transitioning to a manual operating mode described herein may be stored as one or more instructions on a processor-readable medium or computer-readable medium. The term "computer-readable medium" refers to any available medium that can be accessed by a computer or processor. By way of example, and not limitation, such media may include random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, compact disc read-only memory (CD-ROM), or other optical disk storage, magnetic disk storage, or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Note that computer-readable media may be tangible and non-transitory. As used herein, the term "code" may refer to software, instructions, code, or data that is executable by a computing device or processor.

[0434] The methods disclosed herein include one or more steps or actions for achieving the described method. Method steps and / or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is required for the proper implementation of the described method, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.

[0435] As used herein, the term "plurality" refers to two or more. For example, a plurality of elements refers to two or more elements. The term "determining" covers a wide variety of acts, and thus, "determining" can include calculating, computing, processing, deriving, investigating, looking up (e.g., consulting a table, database, or another data structure), ascertaining, and the like. Also, "determining" can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and the like. Also, "determining" can include resolving, selecting, electing, establishing, and the like.

[0436] The phrase "based on" does not mean "based only on," unless expressly specified otherwise. In other words, the phrase "based on" refers to both "based only on" and "based at least on."

[0437] The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the present invention. For example, those skilled in the art will recognize that many corresponding substitutions, equivalent structural details, such as similar ways of fastening, attaching, coupling, or engaging tool components, equivalent mechanisms for producing specific actuation motions, and equivalent mechanisms for delivering electrical energy, may be employed. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0438] The following clauses describe some embodiments or implementations. Clause 1. A robotic system comprising: A robotic arm, one or more sensors; one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: detecting, via one or more sensors, a contact force or torque exerted on the robot arm by an external object; In response to detecting the contact force or torque, enabling a first set of controlled movements on the robot arm according to the detected contact force or torque in accordance with a determination that the magnitude of the contact force or torque is between a lower contact force limit or a lower torque limit and an upper contact force limit or an upper torque limit; A robot system that performs the following. Clause 2. The robotic system of clause 1, wherein enabling a first set of controlled movements on the robotic arm includes initiating null-space motion of the robotic arm. Clause 3. The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: 3. The robotic system of clause 1 or 2, wherein in response to detecting a contact force or torque, movement of a portion of the robotic system is disabled in accordance with a determination that the contact force or torque exceeds an upper contact force limit or an upper torque limit. Clause 4. The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: A robot system described in any of clauses 1 to 3, wherein in response to detecting a contact force or torque, the robot system cancels the activation of a first set of controlled movements on the robot arm in accordance with the detected contact force or torque in accordance with a determination that the contact force or torque is less than a downward contact force or downward torque. Article 5. the one or more sensors include one or more contact sensors; The contact force or torque is detected using one or more contact sensors; Item 1. A robot system according to any one of items 1 to 4. Clause 6. The robot system of clause 5, wherein the one or more contact sensors are located on links of the robot arm. Clause 7. The robot system according to clause 6, wherein the link of the robot arm is a distal link or a proximal link. Article 8. the one or more sensors include a multi-axis load cell; The contact force or torque is detected using a multi-axis load cell. 8. The robot system according to any one of clauses 1 to 7. Clause 9. The robotic system of clause 8, wherein the multi-axis load cell includes a six-axis load cell located at a distal portion of the robotic arm. Clause 10. The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: receiving a first user command including a first velocity of the robotic arm; pursuant to determining that the magnitude of the contact force is between the lower contact force limit and the upper contact force limit; Determining a direction of the contact force; Determining the direction of the torque; Determining a first angle formed by a translational velocity of the robot arm and a direction of the contact force; Determining a second angle formed by a rotational speed and a direction of torque of the robot arm; enabling movement of one or more joints of the robotic arm at a first velocity in accordance with determining that the first angle is within a first angle threshold and the second angle is within a second angle threshold; and disabling movement of the robot arm in accordance with at least one of (i) a determination that the first angle exceeds a first angle threshold or (ii) a determination that the second angle exceeds a second angle threshold. Clause 11. The robot system of clause 10, wherein the first angle threshold and the second angle threshold are determined according to a measurement uncertainty of one or more contact sensors used to detect the contact force. Clause 12. The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: receiving a second user command including a desired velocity of the robotic arm; pursuant to a determination that the magnitude of the torque is between the lower torque limit and the upper torque limit; Determining the direction of the torque; Determining a third angle formed by the direction of the torque and the desired velocity of the robot arm; enabling movement of the robot arm at the requested velocity in accordance with determining that the third angle is within a third angle threshold; and disabling movement of the robot arm in accordance with a determination that the third angle exceeds a third angle threshold. Clause 13. The robotic system of clause 12, wherein the magnitude of the torque is determined relative to a remote center of motion of the robotic arm. Clause 14. The robot system of clause 12 or 13, wherein the third angle threshold is determined according to the measurement uncertainty of a six-axis load cell used to detect torque. Article 15. A robotic system comprising: A robotic arm, one or more sensors; one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: detecting, via one or more sensors, a contact force or torque exerted on the robot arm by an external object; In response to detecting the contact force or torque, enabling movement of the robot arm in a trajectory based on a pre-established path or a pre-recorded path of the robot arm in accordance with a determination that the contact force or torque is between a lower force limit or a lower torque limit and an upper contact force limit or an upper torque limit; A robot system that performs the following. Clause 16. The robotic system of clause 15, wherein the one or more sensors include one or more contact sensors. Clause 17. The robot system of clause 15 or 16, wherein the one or more sensors include a six-axis load cell. Clause 18. A robot system according to any one of clauses 15 to 17, wherein the pre-established or pre-recorded path of the robot arm includes a pre-recorded path of the center of gravity of the links of the robot arm. Clause 19. The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: 19. The robot system of clause 18, wherein the direction of translational and rotational movement along the pre-recorded path over a configurable period of time is determined from the pre-recorded path of the link center of mass. Clause 20. A robot system according to any one of clauses 15 to 19, wherein the pre-established or pre-recorded path of the robot arm includes a pre-established or pre-recorded path of the pitch angle and / or yaw angle of the remote center of motion of the robot arm. Clause 21. The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: 21. The robotic system of clause 20, wherein from a pre-established or pre-recorded path of the robotic arm, an average direction of movement along the pre-recorded path over a configurable period of time is determined. Article 22. A robotic system comprising: A robotic arm, one or more sensors; one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: detecting, via one or more sensors, a contact force or torque exerted by an external object on the robot arm; reducing a velocity of the robot arm in accordance with a determination that the contact force or torque is equal to or greater than a lower reaction force limit or a lower torque limit; A robot system that performs the following. Article 23. The robotic arm includes one or more joints; Reducing the velocity of the robot arm includes reducing a respective velocity of each of one or more joints of the robot arm. 23. A robotic system according to clause 22. Clause 24. The robot system of clause 23, wherein reducing the respective velocity of each of the one or more joints comprises reducing the velocity of all of the joints by the same scale. Clause 25. A robot system according to any one of clauses 22 to 24, wherein reducing the velocity of the robot arm includes reducing the angular velocity of the remote center of motion of the robot arm. Clause 26. A robot system according to any one of clauses 22 to 25, wherein the one or more sensors include one or more contact sensors. Clause 27. The robot system of any one of clauses 22 to 26, wherein the one or more sensors include a six-axis load cell.

[0439] [Embodiment] (1) A robot system, A robotic arm, one or more sensors; one or more processors; a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: detecting a contact force or torque exerted on the robot arm by an external object via the one or more sensors; in response to detecting the contact force or the torque, enabling a first set of controlled movements on the robot arm according to the detected contact force or the torque in accordance with a determination that the magnitude of the contact force or the torque is between a lower contact force limit or a lower torque limit and an upper contact force limit or an upper torque limit; A robot system that performs the following. (2) The robot system of embodiment 1, wherein enabling a first set of controlled movements on the robot arm includes initiating null-space motion of the robot arm. (3) the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: A robotic system as described in embodiment 1, wherein in response to detecting the contact force or the torque, movement of a portion of the robotic system is disabled in accordance with a determination that the contact force or the torque exceeds the upper contact force limit or the upper torque limit. (4) the memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: A robot system as described in embodiment 1, wherein in response to detecting the contact force or the torque, the robot system cancels the activation of the first set of controlled movements on the robot arm in accordance with the detected contact force or the torque in accordance with a determination that the contact force or the torque is less than a downward contact force or a downward torque. (5) The one or more sensors include one or more contact sensors; the contact force or the torque is detected using the one or more contact sensors; A robot system as described in embodiment 1.

[0440] (6) A robot system as described in embodiment 5, wherein the one or more contact sensors are located on a link of the robot arm. (7) A robot system as described in embodiment 6, wherein the link of the robot arm is a distal link or a proximal link. (8) The one or more sensors include a multi-axis load cell; The contact force or the torque is detected using the multi-axis load cell. A robot system as described in embodiment 1. (9) The robot system of embodiment 8, wherein the multi-axis load cell comprises a six-axis load cell located at a distal portion of the robot arm. (10) The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: receiving a first user command including a first velocity of the robotic arm; in response to the determination that the magnitude of the contact force is between a lower contact force limit and an upper contact force limit; a) determining a direction of the contact force; b) determining the direction of said torque; c) determining a first angle formed by a translational velocity of the robot arm and the direction of the contact force; d) determining a second angle formed by the rotational speed of the robot arm and the direction of the torque; enabling movement of one or more joints of the robot arm at the first velocity in accordance with determining that the first angle is within a first angle threshold and the second angle is within a second angle threshold; A robot system as described in embodiment 1, which disables movement of the robot arm in accordance with at least one of (i) a determination that the first angle exceeds the first angle threshold or (ii) a determination that the second angle exceeds the second angle threshold.

[0441] (11) The robot system of embodiment 10, wherein the first angle threshold and the second angle threshold are determined according to measurement uncertainties of one or more contact sensors used to detect the contact force. (12) The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: receiving a second user command including a desired velocity of the robotic arm; In accordance with the determination that the magnitude of the torque is between the lower torque limit and the upper torque limit, determining a direction of the torque; determining a third angle formed by the direction of the torque and the desired velocity of the robot arm; enabling movement of the robot arm at the requested velocity in accordance with a determination that the third angle is within a third angle threshold; A robot system as described in embodiment 1, which disables movement of the robot arm in accordance with a determination that the third angle exceeds the third angle threshold. (13) The robot system of embodiment 12, wherein the magnitude of the torque is determined relative to a remote center of motion of the robot arm. (14) The robot system of embodiment 12, wherein the third angle threshold is determined according to a measurement uncertainty of a six-axis load cell used to detect the torque. (15) A robot system, A robotic arm, one or more sensors; one or more processors; a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: detecting a contact force or torque exerted on the robot arm by an external object via the one or more sensors; In response to detecting the contact force or the torque, enabling movement of the robot arm in a trajectory based on a pre-established path or a pre-recorded path of the robot arm in accordance with a determination that the contact force or the torque is between a lower force limit or a lower torque limit and an upper contact force limit or an upper torque limit; A robot system that performs the following.

[0442] (16) The robot system of embodiment 15, wherein the one or more sensors include one or more contact sensors. (17) The robot system of embodiment 15, wherein the one or more sensors include a six-axis load cell. (18) The robot system of embodiment 15, wherein the pre-established or pre-recorded path of the robot arm includes a pre-recorded path of a center of gravity of a link of the robot arm. (19) The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: A robot system as described in embodiment 18, wherein the direction of translational and rotational movement along the pre-recorded path over a configurable period of time is determined from the pre-recorded path of the link center of gravity. (20) The robot system of embodiment 15, wherein the pre-established or pre-recorded path of the robot arm includes a pre-established or pre-recorded path of a pitch angle and / or a yaw angle of a remote center of motion of the robot arm.

[0443] (21) The memory further includes instructions that, when executed by the one or more processors, cause the one or more processors to: A robot system as described in embodiment 20, wherein an average direction of movement along the pre-recorded path over a configurable period of time is determined from the pre-established path or the pre-recorded path of the robot arm. (22) A robot system, A robotic arm, one or more sensors; one or more processors; a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: detecting a contact force or torque exerted by an external object on the robot arm via the one or more sensors; reducing a velocity of the robotic arm in accordance with a determination that the contact force or the torque is equal to or greater than a lower reaction force limit or a lower torque limit; A robot system that performs the following. (23) The robot arm includes one or more joints, reducing the velocity of the robot arm includes reducing a respective velocity of each of the one or more joints of the robot arm. A robot system as described in embodiment 22. (24) The robot system of embodiment 23, wherein reducing the respective velocities of each of the one or more joints includes reducing the velocities of all of the joints by the same scale. (25) The robot system of embodiment 22, wherein reducing the velocity of the robot arm includes reducing the angular velocity of a remote center of motion of the robot arm.

[0444] (26) The robot system of embodiment 22, wherein the one or more sensors include one or more contact sensors. (27) The robot system of embodiment 22, wherein the one or more sensors include a six-axis load cell.

Claims

1. 1. A robotic system comprising: A robotic arm, one or more sensors; one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: detecting a contact force or torque exerted on the robot arm by an external object via the one or more sensors; In response to detecting the contact force or the torque, in accordance with a determination that the magnitude of the contact force or the torque is between a lower contact force limit or a lower torque limit and an upper contact force limit or an upper torque limit, actuating a movement of the robot arm within null space in accordance with the detected contact force or the torque; Let them do this, The null space is a space in which the robot arm can move and not result in movement of the end effector of the robot arm and / or the remote center of motion of the robot arm, thereby maintaining the position and / or orientation of the end effector of the robot arm.

2. The robotic system of claim 1, wherein the end effector includes a manipulator connected to the distal end of the robotic arm, and a medical tool removably attached to the manipulator.

3. The memory includes further instructions that, when executed by the one or more processors, cause the one or more processors to:

10. The robotic system of claim 1, wherein in response to detecting the contact force or the torque, movement of a portion of the robotic system is disabled according to a determination that the contact force or the torque exceeds the upper contact force limit or the upper torque limit.

4. The memory includes further instructions that, when executed by the one or more processors, cause the one or more processors to:

2. The robotic system of claim 1, wherein in response to detecting the contact force or the torque, the movement of the robot arm through null space in accordance with the detected contact force or the torque is aborted in accordance with a determination that the contact force or the torque is less than the lower contact force limit or the lower torque limit.

5. the one or more sensors include one or more contact sensors; the contact force or the torque is detected using the one or more contact sensors; The robot system of claim 1 .

6. The robotic system of claim 5 , wherein the one or more contact sensors are located on links of the robotic arm.

7. The robotic system of claim 6 , wherein the link of the robotic arm is a distal link or a proximal link.

8. the one or more sensors include a multi-axis load cell; The contact force or the torque is detected using the multi-axis load cell. The robot system of claim 1 .

9. The robotic system of claim 8 , wherein the multi-axis load cell comprises a six-axis load cell located at a distal portion of the robotic arm.

10. The memory includes further instructions that, when executed by the one or more processors, cause the one or more processors to: receiving a first user command including a first velocity of the robotic arm; in response to the determination that the magnitude of the contact force is between the lower contact force limit and the upper contact force limit; a) determining a direction of the contact force; b) determining the direction of the torque; and c) determining a first angle formed by a translational velocity of the robot arm and the direction of the contact force; d) determining a second angle formed by the rotational speed of the robot arm and the direction of the torque; enabling movement of one or more joints of the robot arm at the first velocity in accordance with determining that the first angle is within a first angle threshold and the second angle is within a second angle threshold; and disabling movement of the robot arm in accordance with at least one of: (i) a determination that the first angle exceeds the first threshold angle; or (ii) a determination that the second angle exceeds the second threshold angle.

11. The robotic system of claim 10 , wherein the first and second angle thresholds are determined according to a measurement uncertainty of one or more contact sensors used to detect the contact force.

12. The memory includes further instructions that, when executed by the one or more processors, cause the one or more processors to: receiving a second user command including a desired velocity of the robotic arm; In accordance with the determination that the magnitude of the torque is between the lower torque limit and the upper torque limit, determining a direction of the torque; determining a third angle formed by the direction of the torque and the desired velocity of the robot arm; enabling movement of the robot arm at the requested velocity in accordance with determining that the third angle is within a third angle threshold; and disabling movement of the robot arm in accordance with a determination that the third angle exceeds the third angle threshold.

13. The robotic system of claim 12 , wherein the magnitude of the torque is determined relative to the remote center of motion of the robotic arm.

14. The robotic system of claim 12 , wherein the third angle threshold is determined according to a measurement uncertainty of a six-axis load cell used to detect the torque.

Citation Information

Patent Citations

  • A movable surgical attachment platform controlled by the movement of a manually operated robotic arm.

    JP2015530906A

  • Systems and methods for tracking paths using null space

    JP2016515405A

  • System and method for positioning a manipulator arm by clutching in zero-space space simultaneously with zero-orthogonal space motion.

    JP2016516487A

  • Limited movement of the surgical mounting platform controlled by manual movement of the robotic arm

    JP2017513539A

  • System and method for surgical tool insertion using multiaxis force and moment feedback

    JP2018094404A