Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
HARDSTOP DETECTION AND HANDLING FOR SURGICAL TOOL
Document Type and Number:
WIPO Patent Application WO/2023/062457
Kind Code:
A1
Abstract:
The disclosed embodiments relate to systems and methods for a surgical tool or a surgical robotic system. One example system for detecting a hardstop for a surgical tool includes a wrist connected to and driven by a plurality of cables of a tool driver, a plurality of sensors configured to detect forces associated with the plurality of cables one or more processors configured to perform a comparison of the forces associated with the plurality of cables, selected a highest tension cable from the plurality of cables based on the comparison of the forces associated with the plurality of cables, set a force assigned to the highest tension cable to a predetermined value, calculate a variable torque threshold for the wrist based on a sum of the predetermined value for the highest tension cable and detected forces for remaining cables in the plurality of cables, receive a joint torque value for the wrist, perform a comparison of the received joint torque value for the wrist to a variable wrist torque threshold and identify a hardstop based on the comparison of the received joint torque value for the wrist to the variable wrist torque threshold.

Inventors:
ZHANG XIAOBIN (US)
ZHOU RENBIN (US)
HARIRI ALIREZA (US)
Application Number:
PCT/IB2022/058649
Publication Date:
April 20, 2023
Filing Date:
September 14, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
VERB SURGICAL INC (US)
International Classes:
A61B34/00; A61B34/30; A61B90/00; B25J3/00; B25J9/10; B25J9/16; B25J11/00; B25J15/02
Domestic Patent References:
WO2020118149A12020-06-11
WO2019164856A12019-08-29
Foreign References:
US20210146539A12021-05-20
US20190274769A12019-09-12
US20180214219A12018-08-02
Attorney, Agent or Firm:
LANE, David A. et al. (US)
Download PDF:
Claims:
Title: HARDSTOP DETECTION AND HANDLING FOR SURGICAL TOOL  What is claimed is:  1.  An apparatus for detecting a hardstop for a surgical tool including a plurality of  sensors and a wrist coupled to a plurality of cables, the apparatus comprising:    one or more processors configured to:   select a highest tension cable from the plurality of cables based on a  comparison of the forces associated with the plurality of cables;  set a force assigned to the highest tension cable to a predetermined  value;   calculate a variable wrist torque threshold for the wrist based on a sum of  the predetermined value for the highest tension cable and detected forces for  remaining cables in the plurality of cables; and  identify a hardstop based on a comparison of a received joint torque value  for the wrist to the variable wrist torque threshold.     2.  The apparatus of claim 1, the one or more processors configured to:  when the comparison indicates that the received joint torque value for the wrist  exceeds the variable wrist torque threshold, generate a user message with an  instruction to move the wrist.    3.  The apparatus of claim 2, wherein the instruction to move the wrist include an  instruction to move in a yaw direction closer to a home position, an instruction to move  in a  pitch direction closer to the homing position, or operate an end effector of the  wrist.     4.  The apparatus of claim 1, wherein the forces (F1, F2, F3, and F4) associated with  the plurality of cables are determined from respective motor torque sensors and  associated with pulley dimensions (R11, R12, R21, R22, R31 and R32) for respective  pulleys for the cables.     5.  The apparatus of claim 4,  wherein the variable wrist torque threshold for a pitch  angle is a minimum pitch angle when one cable is the highest selected cable or a  maximum pitch angle when another cable is the highest selected cable.    6.  The apparatus of claim 5, wherein when the comparison indicates that the  variable wrist torque threshold is less than the minimum pitch angle, then the wrist is  hitting a hardstop on a negative side of a pitch joint of the surgical tool; or      wherein when the comparison indicates that the variable wrist torque threshold  is greater than the maximum pitch angle, then the wrist is hitting a hardstop on a  positive side of the pitch joint of the surgical tool.    7.  The apparatus of claim 4,  wherein the variable wrist torque threshold for a yaw  angle is a minimum yaw angle when one cable is the highest selected cable or a  maximum yaw angle when another cable is the highest selected cable.   

8.  The apparatus of claim 7, wherein when the comparison indicates that the  variable wrist torque threshold is less than the minimum yaw angle, then the wrist is  hitting a hardstop on a negative side of a yaw joint of the surgical tool; or      wherein when the comparison indicates that the variable wrist torque threshold  is greater than the maximum yaw angle, then the wrist is hitting a hardstop on a positive  side of the yaw joint of the surgical tool.    9.  The apparatus of claim 1, the one or more processors configured to:    activate a hardstop handling phase in response to the comparison of the received  joint torque value for the wrist to a variable wrist torque threshold.    10.  The apparatus of claim 9, the one or more processors configured to:    identify a user input wrist angle; and    provide a motor command independent of the user input angle when the  received joint torque value for the wrist exceeds the variable wrist torque threshold.    11.  The apparatus of claim 10, the one or more processors configured to:    provide a second motor command based on the user input angle when the  received joint torque value for the wrist does not exceed the variable wrist torque  threshold.     12.   The apparatus of claim 1, the one or more processors configured to:     identify a user input jaw angle for a jaw of the surgical tool;   calculate a force error as a difference between the force assigned to the highest  tension cable to the predetermined value; and  compensate for the force error to modify the user input jaw angle with a  proportional control algorithm.     13.  The apparatus of claim 12, the one or more processors configured to:    activate a catching up algorithm for the jaw;     latch a last joint command from a proportional control algorithm as an initial jaw  catching up amount;    identify a subsequent user input jaw angle to open the jaw or close the jaw; and    generate a jaw command adjusted based on the subsequent user input jaw  angle.     14.  The apparatus of claim 13, the one or more processors configured to:    subtract the initial jaw catching up amount from the subsequent user input jaw  angle for a jaw command when the user input jaw angle is to open the jaw; or .    15.  The apparatus of claim 13, the one or more processors configured to:    subtract a predefined step size from the subsequent user input jaw angle for a  jaw command when the user input jaw angle is to close the jaw.    16.  A method for detecting a hardstop for a surgical tool including a plurality of  cables, the method comprising:  select a highest tension cable from the plurality of cables;  set a force assigned to the highest tension cable to a predetermined value;   calculate a variable wrist torque threshold for a wrist of the surgical tool based  on a sum of the predetermined value for the highest tension cable and detected forces  for remaining cables in the plurality of cables; and  identify a hardstop or a risk of hardstop based on a comparison of a received  joint torque value for the wrist to the variable wrist torque threshold.     17.  The method of claim 16,  wherein the forces (F1, F2, F3, and F4) associated with  the plurality of cables are determined from respective motor torque sensors and  associated with pulley dimensions (R11, R12, R21, R22, R31 and R32) for respective  pulleys for the cables.     18.  The method of claim 17,  wherein:  the variable wrist torque threshold is a minimum pitch angle when a first cable or  second cable is the highest selected cable; or  the variable wrist torque threshold is a maximum pitch angle when a third cable  or a fourth cable is the highest selected cable; or  the variable wrist torque threshold is a minimum yaw angle when the first cable  or the fourth cable is the highest selected cable; or  the variable wrist torque threshold is a maximum yaw angle when another cable  the second cable or the third cable is the highest selected cable.   

19.  The method of claim 18, wherein when the comparison indicates that the  variable wrist torque threshold is less than the minimum pitch angle, then the wrist is  hitting a hardstop on a negative side of a pitch joint of the surgical tool; or      wherein when the comparison indicates that the variable wrist torque threshold  is greater than the maximum pitch angle, then the wrist is hitting a hardstop on a  positive side of the pitch joint of the surgical tool; or   wherein when the comparison indicates that the variable wrist torque threshold  is less than the minimum yaw angle, then the wrist is hitting a hardstop on the negative  side of a yaw joint of the surgical tool; or      wherein when the comparison indicates that the variable wrist torque threshold  is greater than the maximum yaw angle, then the wrist is hitting a hardstop on the  positive side of the yaw joint of the surgical tool.    20.   An apparatus for detecting a hardstop for a surgical tool, the apparatus  comprising:    a memory configured to store a maximum cable force for the surgical tool and a  set of measured forces associated with a set of cables for the surgical tool;    a controller configured to determine a highest tensioned cable from the set of  measured forces for the set of cables and calculate a variable wrist torque threshold  based on the maximum cable force and the set of measured forces,    wherein the controller compares the variable wrist torque threshold to a  received joint torque value for a wrist of the surgical tool and identifies a risk of  hardstop is response to the received joint torque value for the wrist exceeding the  variable wrist torque threshold.              

Description:
HARDSTOP DETECTION AND HANDLING FOR SURGICAL TOOL  FIELD  [0001]      This disclosure relates to hardstop detection and han dling during  operation of a surgical tool.   BACKGROUND  [0002]      Minimally‐invasive surgery (MIS), such as laparoscopi c surgery, involves  techniques intended to reduce tissue damage during a surgical procedure. For example,  laparoscopic procedures typically involve creating a n umber of small incisions in the  patient (e.g., in the abdomen), and introducing one  or more surgical tools (e.g., end  effectors and endoscope) through the incisions into t he patient. The surgical procedures  may then be performed using the introduced surgical  tools, with the visualization aid  provided by the endoscope.  [0003]      Generally, MIS provides multiple benefits, such as re duced patient  scarring, less patient pain, shorter patient recovery periods, and lower medical  treatment costs associated with patient recovery. Rece nt technology development  allows more MIS to be performed with robotic systems  that include one or more robotic  arms for manipulating surgical tools based on command s from a remote operator. A  robotic arm may, for example, support at its distal end various devices such as surgical  end effectors, imaging devices, cannulae for providing  access to the patient's body cavity  and organs, etc. In robotic MIS systems, it may be desirable to establish and maintain  high positional accuracy for surgical instruments supp orted by the robotic arms.  [0004]      In some example, the surgical end effectors may contact a hardstop in the body or elsewhere. The hardstop may be a part of the body or another substantially rigid object that the end effector contacts. While some systems provide feedback to the user regarding contact with a hardstop, other systems may provide no feedback or only video. It may be impossible to identify the hardstop with no feedback and difficult to identify the hardstop with only video. The following disclosure provides a system, apparatus, and method for the identification of hardstops and handling of hardstops by a surgical tool. SUMMARY  [0005]      Disclosed herein is a robotically assisted surgical e lectro‐mechanical  system designed for surgeons to perform minimally inv asive surgery. A suite of  compatible tools can be attached/detached from an ins trument driver mounted to the  distal end of a robotic arm, enabling the surgeon t o perform various surgical tasks. The  instrument drivers can provide intracorporeal access t o the surgical site, mechanical  actuation of compatible tools through a sterile inter face, and communication with  compatible tools through a sterile interface and user  touchpoints. The system detects an  obstacle or hardstop experienced by the tool.  [0006]      One apparatus for detecting a hardstop for a surgica l tool comprises a  wrist connected to and driven by a plurality of cab les of a tool driver, a plurality of  sensors configured to detect forces associated with t he plurality of cables one or more  processors configured to perform a comparison of the forces associated with the  plurality of cables, selected a highest tension cable  from the plurality of cables based on  the comparison of the forces associated with the plu rality of cables, set a force assigned  to the highest tension cable to a predetermined valu e, calculate a variable torque  threshold for the wrist based on a sum of the pred etermined value for the highest  tension cable and detected forces for remaining cable s in the plurality of cables, receive  a joint torque value for the wrist, perform a compa rison of the received joint torque  value for the wrist to a variable wrist torque thre shold and identify a hardstop based on  the comparison of the received joint torque value fo r the wrist to the variable wrist  torque threshold.  BRIEF DESCRIPTION OF THE DRAWINGS  [0007]      FIG. 1 illustrates an example operating room environm ent including a  surgical robotic system.  [0008]      FIG. 2 illustrates an example surgical robotic system  including a robotic  arm, a tool driver, and a cannula loaded with a su rgical tool.  [0009]      FIG. 3A illustrates an exemplary tool driver with a loaded surgical tool.  [0010]      FIG. 3B illustrates an exemplary tool driver without a loaded surgical tool.  [0011]      FIGS. 4A and 4B illustrate an end effector of an e xemplary grasper having  a robotic wrist, a pair of opposing jaws, and a pu lley and cable system for coupling the  robotic wrist and the pair of jaws to the actuators  of a tool driver.  [0012]      FIG. 5 illustrates pulleys of the pulley and cable  system of FIGS. 4A and 4B.  [0013]      FIG. 6 illustrates a controller for the robotic wris t, tool driver and/or  surgical tool.  [0014]      FIG. 7 illustrates a mapping for the tool driver to  the surgical tool.  [0015]      FIG. 8 illustrates a sensor array and a detailed em bodiment of the  controller.  [0016]      FIG. 9 illustrates an example flow chart for example  operations of the  controller.  [0017]      FIG. 10 illustrates an example proportional controller  for jaw handling.   [0018]      FIG. 11 illustrates an example flow chart for anothe r example operation of  the controller  DETAILED DESCRIPTION  [0019]      FIG. 1 is a diagram illustrating an example operatin g room environment  with a surgical robotic system 100. As shown in FIG . 1, the surgical robotic system 100  comprises a user console 110, a control tower 130,  and a surgical robot 120 having one  or more surgical robotic arms 122 mounted on a surg ical platform 124 (e.g., a table or a  bed etc.), where surgical tools with end effectors a re attached to the distal ends of the  robotic arms 122 for executing a surgical procedure. The robotic arms 122 are shown as  table‐mounted, but in other configurations, the robo tic arms may be mounted in a cart,  a ceiling, a sidewall, or other suitable support sur faces.  [0020]      Generally, a user, such as a surgeon or other opera tor, may be seated at  the user console 110 to remotely manipulate the robo tic arms 122 and/or surgical  instruments (e.g., teleoperation). The user console 11 0 may be located in the same  operation room as the robotic system 100, as shown  in FIG. 1. In other environments,  the user console 110 may be located in an adjacent or nearby room, or teleoperated  from a remote location in a different building, city , or country. The user console 110 may  comprise a seat 112, pedals 114, one or more handhe ld user interface devices (UIDs)  116, and an open display 118 configured to display, for example, a view of the surgical  site inside a patient. As shown in the exemplary us er console 110, a surgeon sitting in  the seat 112 and viewing the open display 118 may  manipulate the pedals 114 and/or  handheld user interface devices 116 to remotely contr ol robotic arms 122 and/or  surgical instruments mounted to the distal ends of t he arms 122.  [0021]      In some variations, a user may also operate the sur gical robotic system  100 in an “over the bed” (OTB) mode, in which  the user is at the patient’s side and  simultaneously manipulating a robotically‐driven tool/ end effector attached thereto  (e.g., with a handheld user interface device 116 hel d in one hand) and a manual  laparoscopic tool. For example, the user’s left han d may be manipulating a handheld  user interface device 116 to control a robotic surgi cal component, while the user’s right  hand may be manipulating a manual laparoscopic tool. Thus, in these variations, the  user may perform both robotic‐assisted minimally inv asive surgery (MIS) and manual  laparoscopic surgery on a patient.  [0022]      An end effector may be configured to execute a surg ical operation such as  cutting, grasping, poking, or energy emission. The su rgical tool may be manipulated  manually, robotically, or both, during the surgery. F or example, the surgical tool may be  a tool used to enter, view, or manipulate an intern al anatomy of the patient. In an  embodiment, the surgical tool is a grasper that can grasp tissue of the patient. The  surgical tool may be controlled manually, directly by  a hand of a bedside operator or it  may be controlled robotically, via sending electronic commands to actuate movement.  [0023]      During an exemplary procedure or surgery, the patient  is prepped and  draped in a sterile fashion to achieve anesthesia. I nitial access to the surgical site may be  performed manually with the robotic system 100 in a stowed configuration or  withdrawn configuration to facilitate access to the s urgical site. Once the access is  completed, initial positioning and/or preparation of t he robotic system may be  performed. During the procedure, a surgeon in the us er console 110 may utilize the  pedals 114 and/or user interface devices 116 to mani pulate various end effectors and/or  imaging systems to perform the surgery. Manual assist ance may also be provided at the  procedure table by sterile‐gowned personnel, who may  perform tasks including but not  limited to, retracting tissues or performing manual r epositioning or tool exchange  involving one or more robotic arms 122. Nonsterile p ersonnel may also be present to  assist the surgeon at the user console 110. When th e procedure or surgery is completed,  the robotic system 100 and/or user console 110 may  be configured or set in a state to  facilitate one or more post‐operative procedures, in cluding but not limited to, robotic  system 100 cleaning and/or sterilization, and/or healt hcare record entry or printout,  whether electronic or hard copy, such as via the us er console 110.  [0024]      In some aspects, the communication between the surgic al robot 120 and  the user console 110 may be through the control tow er 130, which may translate user  input from the user console 110 to robotic control  commands and transmit the control  commands to the surgical robot 120. The control towe r 130 may also transmit status  and feedback from the robot 120 back to the user c onsole 110. The connections  between the surgical robot 120, the user console 110  and the control tower 130 may be  via wired and/or wireless connections and may be pro prietary and/or performed using  any of a variety of data communication protocols. An y wired connections may be  optionally built into the floor and/or walls or ceil ing of the operating room. The surgical  robotic system 100 may provide video output to one  or more displays, including displays  within the operating room, as well as remote display s accessible via the Internet or  other networks. The video output or feed may also b e encrypted to ensure privacy and  all or portions of the video output may be saved t o a server or electronic healthcare  record system.  [0025]      Prior to initiating surgery with the surgical robotic  system, the surgical  team can perform the preoperative setup. During the  preoperative setup, the main  components of the surgical robotic system (table 124 and robotic arms 122, control  tower 130, and user console 110) are positioned in  the operating room, connected, and  powered on. The surgical platform 124 and robotic ar ms 122 may be in a fully‐stowed  configuration with the arms 122 under the surgical p latform 124 for storage and/or  transportation purposes. The surgical team can extend the arms from their stowed  position for sterile draping.  [0026]      After draping, the arms 122 can be partially retract ed until needed for use.  A number of conventional laparoscopic steps may be p erformed including trocar  placement and installation. For example, each sleeve  can be inserted with the aid of an  obturator, into a small incision and through the bod y wall. The sleeve and obturator  allow optical entry for visualization of tissue layer s during insertion to minimize risk of  injury during placement. The endoscope is typically p laced first to provide hand‐held  camera visualization for placement of other trocars.  [0027]      After insufflation, if required, manual instruments ca n be inserted through  the sleeve to perform any laparoscopic steps by hand . Next, the surgical team may  position the robotic arms 122 over the patient and  attach each arm 122 to its  corresponding sleeve. The surgical robotic system 100 has the capability to uniquely  identify each tool (endoscope and surgical instruments ) as soon as it is attached and  display the tool type and arm location on the open or immersive display 118 at the user  console 110 and the touchscreen display on the contr ol tower 130. The corresponding  tool functions are enabled and can be activated usin g the master UIDs 116 and foot  pedals 114. The patient‐side assistant can attach a nd detach the tools, as required,  throughout the procedure. The surgeon seated at the  user console 110 can begin to  perform surgery using the tools controlled by two ma ster UIDs 116 and foot pedals 114.  The system translates the surgeon’s hand, wrist, an d finger movements through the  master UIDs 116 into precise real‐time movements of  the surgical tools. Therefore, the  system constantly monitors every surgical maneuver of the surgeon and pauses  instrument movement if the system is unable to preci sely mirror the surgeon's hand  motions. In case the endoscope is moved from one ar m to another during surgery, the  system can adjust the master UIDs 116 for instrument  alignment and continue  instrument control and motion. The foot pedals 114 m ay be used to activate various  system modes, such as endoscope control and various  instrument functions including  monopolar and bipolar cautery, without involving surge on's hands removed from the  master UIDs 116.  [0028]      The surgical platform 124 can be repositioned intraop eratively. For safety  reasons, all tooltips should be in view and under a ctive control by the surgeon at the  user console 110. Instruments that are not under act ive surgeon control are removed,  and the table feet are locked. During table motion, the integrated robotic arms 122 may  passively follow the table movements. Audio and visua l cues can be used to guide the  surgery team during table motion. Audio cues may inc lude tones and voice prompts.  Visual messaging on the displays at the user console  110 and control tower 130 can  inform the surgical team of the table motion status.   [0029]      FIG. 2 is a schematic diagram illustrating one exemp lary design of a  robotic arm, a tool driver, and a cannula loaded wi th a robotic surgical tool. As shown in  FIG. 2, the example surgical robotic arm 200 may in clude a plurality of links (e.g., a link  202) and a plurality of actuated joint modules (e.g. , a joint 204) for actuating the  plurality of links relative to one another. The join t modules may include various types,  such as a pitch joint or a roll joint, which may  substantially constrain the movement of  the adjacent links around certain axes relative to o thers. Also shown in the exemplary  design of FIG. 2 is a tool driver 230 attached to the distal end of the robotic arm 200. The  tool driver 230 may include a cannula 214 coupled t o its end to receive and guide a  surgical instrument (e.g. such as endoscopes, staplers , etc.). The surgical instrument 220  (or “tool”) may include an end effector 222 at  the distal end of the tool 220. The  plurality of the joint modules of the robotic arm 2 00 can be actuated to position and  orient the tool driver 230, which actuates the tool 220 for robotic surgeries.  [0030]      FIGS. 3A and 3B are schematic diagrams illustrating  an exemplary tool  driver with and without a loaded tool adjacent, resp ectively, in accordance with aspects  of the subject technology. As shown in FIGS. 3A and  3B, in one variation, the tool driver  230 may include an elongated base (or “stage”) 3 10 having longitudinal tracks 313 and a  tool carriage 320, which is slidingly engaged with t he longitudinal tracks 313. The stage  310 may be configured to couple to the distal end  of a robotic arm such that articulation  of the robotic arm positions and/or orients the tool  driver 230 in space. Additionally, the  tool carriage 320 may be configured to receive a to ol base 352 of the tool, which may  also include a tool shaft 354 extending from the to ol base 352 and through the cannula  214, with the end effector 222 disposed at the dist al end.  [0031]      Additionally, the tool carriage 320 may actuate a se t of articulated  movements of the end effector, such as through a ca ble system or wires manipulated  and controlled by actuated drives. The tool carriage 320 may include different configurations of actuated drives. For example, the rotary axis drives may include a motor with a hollow rotor and a planetary gear transmission at least partially disposed within the hollow rotor. The plurality of rotary axis drives may be arranged in any suitable manner. For example, the tool carriage 320 may include six rotary drives 322A- 322F arranged in two rows, extending longitudinally along the base that are slightly staggered to reduce width of the carriage and increase the compact nature of the tool driver. As shown in FIG. 3B, rotary drives 322A, 322B, and 322C may be generally arranged in a first row, while rotary drives 322D, 322E, and 322F may be generally arranged in a second row that is slightly longitudinally offset from the first row.

[0032] FIGS. 4A and 4B are schematic diagrams illustrating an end effector of an exemplary tool having a robotic wrist, a pair of opposing jaws, and a pulley and cable system for coupling the robotic wrist and the pair of jaws to actuators of a tool driver. Note that although the following tool model and controller design are described with reference to the exemplary surgical robotic grasper, the proposed control system for position and grip force control may be adapted to any tools that include an end effector coupled to a tool shaft via a robotic wrist, which allows multi-axial motion (e.g., pitch and yaw) of the end effector. Similar tools include, but not limited to, needle drivers, monopolar scissors, monopolar hook, bipolar forceps, and other instruments. A needle driver or needle holder includes opposing grippers for holding a needle and operates in a similar manner to the graspers (e.g. open/close, yaw, and pitch) described in detail herein. A set of monopolar scissors are double action scissors with curved plans that also operate in a similar manner to the graspers (e.g. open/close, yaw, and pitch). A set of bipolar forceps includes two tips designed to grasp, manipulate and coagulate selected  tissue and also operate in a similar manner to the graspers (e.g. open/close, yaw, and  pitch).  [0033]      As shown in FIG. 4A, the pair of opposing jaws 401 A and 401B are movably  coupled to a first yoke 402 of the robotic wrist v ia an extended axle 412 along a first axis  410. The first yoke 402 may be movably coupled to  a second yoke 403 of the robotic  wrist via a second extended axle 422 along a second  axis 420. The pair of jaws 401A and  401B may each be coupled or integrally formed with  pulleys 415A and 415B respectively,  via the extended axle 412, so that both jaws can r otate about the axis 410. Pulleys 425A,  425B, 425C and 425D are coupled to the extended axl e 422 and rotate around the axis  420. The pulleys 425A, 425B, 425C and 425D are arra nged into a first set of pulleys 425B  and 425C on one side of the yoke 402 and a second  set of pulleys 425A and 425D on the  other side of the yoke 402. The pulleys 425A and 4 2C are outer pulleys and the pulleys  425B and 425D are inner pulleys. Similarly, the thir d set of pulleys 435A, 435B, 435C and  435D are coupled to a third extended axle 432 and  rotate around the axis 430, which is  parallel to the axis 420.  [0034]      The end effector 222 (grasper) can be actuated to m ove one or both of  the jaws 401A and 401B in a variety of ways around  the axis 410. For example, the jaws  401A and 401B may open and close relative to each  other. The jaws 401A and 401B may  also be actuated to rotate together as a pair to p rovide a yaw motion of the end effector  222 (grasper). In addition, the first yoke 402, the pulleys 415A and 415B, and the jaws  401A and 401B can rotate about the axis 420 to pro vide a pitch motion of the end  effector 222 (grasper). The motion of the robotic wr ist and/or the jaws of the tool can  be affected by controlling four independent cables 40 5A‐405D. As shown in FIG. 4A,  cable 405A may start (or terminates) from one side  of the pulley 415A and route along  pulleys 425A and 435A, and cable 405B is configured to terminate at the other side of  the pulleys 415A and route through pulleys 425B and 435B. Similarly, another pair of  cables 405C and 405D can be coupled to the jaw 401 B. For example, cable 405C extends  from one side of the pulley 415B to pulleys 425C a nd 435C; and cable 405D routes  through pulleys 425D and 435D and terminates at the other side of pulley 415B. The  third set of pulleys 435A, 435B, 435C and 435D are arranged in such a way as to keep  the cables 405A‐405D affixing to the second set of  pulleys 425A‐425D and prevent the  cables from slipping or sliding relative to the pull eys 425A‐425D.  [0035]      Controlling the motions of the end effector 222 (gra sper) via four  independent cables has several advantages. One advanta ge may be the reduction of the  number of cables that extend from the tool base 352  to the robotic wrist compared to  typical on‐market designs using six cables (or thre e cable loops with six cable ends). Less  number of cables can reduce the tool size as well  as complexity of the wrist assembly,  which may benefit minimally‐invasive surgical procedu res or non‐surgical applications.  Furthermore, arrangement of four independent cables in stead of two or three cable  loops not only allows independent control of the ten sion on each cable without the  need for pre‐tensioning of the cables, but also en ables variable compliance in the wrist  joints and increased sensitivity to external loads. A dditionally, it is possible to readjust  tension on each cable independently, which can furthe r increase tool performance.  [0036]      As shown in FIGS. 4A and 4B, the end effector 222 (grasper) can be  actuated to move the jaws 401A and 401B in a varie ty of ways such as grasping (e.g.,  jaws rotating independently about axis 410), yaw (e.g ., jaws rotating together about axis  410), and pitch (e.g., jaws rotating about axis 420)  by imparting motion to one or more  of the pulleys 415A, 415B, 425A, 425B, 425C, and 42 5D to thereby impart motion on the  first yoke 402 and/or one or both of the jaws 401A  and 401B. Cables 405A‐405D can be  grouped into two antagonistic pairs, that is, when o ne cable of the antagonistic pair is  actuated or tensioned, while the other cable is loos ened, the jaw will rotate in one  direction. Whereas when only the other cable is tens ioned, the jaw will rotate in an  opposite direction.  [0037]      For example, cables 405A and 405B are the first ant agonistic pair for  moving jaw 401A, and cables 405C and 405D are the  second antagonistic pair for  controlling jaw 401B. When cable 405A is tensioned ( e.g., by at least one of the rotary  drives 322A‐322F) while cable 405B is loosened, jaw  401A closes (moving towards the  opposite jaw 401B). On the other hand, when cable 4 05B is tensioned and cable 405A is  loosened, jaw 401A opens (moving away from the oppos ite jaw 401B). Similarly, when  tensioned, cable 405C closes jaw 401B (moving towards  the opposite jaw 401A) and  cable 405D opens jaw 401B (moving away from the opp osite jaw 401A) while the other  cable loosens. As another example, grip force between  the jaw 401A and jaw 401B can  be achieved by continuing to tension both cable 405A  and cable 405C (while cable 405B  and cable 405D are loosened) after the jaws are clo sed (touching each other).  [0038]      In case when both cables of an antagonistic pair ar e tensioned at the same  time while both cables of the other pair are loosen ed, the pulley 415A or pulley 415B do  not rotate. Instead, the first yoke 402 together wit h the jaws 401A and 401B are  imparted by the pulleys 415A and 415B to pitch abou t the axis 420. For example, when  the pair of cables 405A and 405B are both tensioned  simultaneously while the pair of  cable 405C and 405D are loosened, the jaws (together  with the yoke 402) pitch out of  the plane of the paper. Whereas when both cables 40 5C and 405D are tensioned  simultaneously and the pair of cables 405A and 405B are kept loose, the jaws pitch into  the plane of the paper.  [0039]      FIG. 4B is a schematic diagram illustrating example  angle definitions for  various motions of the end effector 221 (grasper). T he angles are defined in reference to  axes 410 and 420, as well as an axis 452 of the  first yoke 402 and an axis 453 of the  second yoke 403. For example, as shown in FIG. 4B, an angle (θ 1 ) between axis 452 and  the axis 453 may represent the rotation angle of th e yoke 402 around axis 420, which  may also be defined as the pitch angle (θ pitch ) of the end effector 222 (grasper) (while in FIG. 4A, the axis 452 of the yoke 402 is superimpo sed over the axis 453 of the yoke 403  because the jaws are staying in the reference positi on, i.e., no pitch motions). In  addition, angles (θ 2 ) and (θ 3 ) can represent the angles between each of the  jaws 401A  and 401B and the axis 452 of the yoke 402 (as the  origin), respectively. To differentiate  the sides of the axis 452, angles (θ 2 ) and (θ 3 ) may take on different signs. For example,  angle (θ 2 ) is negative and angle (θ 3 ) is positive, as illustrated in FIG. 4B.  [0040]      In order to perform control tasks, it is often bene ficial to define a  consistent coordinate frame for the joint angles. For  example, the jaw angle (θ jaw ) may  be defined as the angle between the two jaws 401A  and 401B, and the yaw angle (θ yaw )  may be defined as the angle between the axis 452 a nd the line bisecting the jaw angle.  These angles may be defined according to Equations 1 ‐3:  θ pitch  = θ 1    Eq. 1  θ yaw  = 1/2(θ 2  + θ 3 )   Eq. 2  θ jaw  = θ 2  ‐ θ 3    Eq. 3  [0041]      The transformation between angles in FIG. 4B and the  defined angles are  as described in Equation 4:    Eq. 4      [0042]      FIG. 5 illustrates pulleys of the pulley and cable  system of FIGS. 4A and 4B  according to the following nomenclature can be establ ished for pulley geometries:  a) r11 is the radius of the outer pulleys 425A and  425C on which cables 405A and    405C are residing, respectively;  b) r12 is the radius of the inner pulleys 425B and  425D on which cables 405B and  405D are residing, respectively (r11 may or may not be equal to r12);  c) r21 is the radius of pulley 415A on the side t hat cable 405A is residing (with  reference to the center of pulley 415A and axle 412  as shown in FIG. 4A);  d) r22 is the radius of pulley 415A on the side t hat cable 405B is residing (with  reference to the center of pulley 415A and axle 412  as shown in FIG. 4A);  e) r31 is the radius of pulley 415B on the side t hat cable 405C is residing; and  f) r32 is the radius of pulley 415B on the side t hat cable 405D is residing.  [0043]      While in the above example symmetrical design, r31=r2 1, r32=r22 and r21  (as shown in FIG. 4A), in some other designs it is  possible to have r31=r21=r32=r22, as  wells as r11=r12.  [0044]      The fundamental equation that relates cable tensions  (ξ[4×1]) or the  forces in the cables (F[4x1]) to joint torques (τ[3 ×1]) is presented by Equation 5:    Eq. 5a  [0045]      where matrix (B) has the form given by Equation 5b:   Eq. 5b  [0046]      The joint torques may include the pitch joint τ pitch , yaw joint τ yaw , which  may be τ yaw  = τ jaw1  + τ jaw2  in the example of FIGS. 4A and 4B, and the cable tensions may  be the forces in the cables (F[4x1]), as shown by  Eq. 6.  Eq. 6  [0047]      The kinematic relationship that relates the ideal cab le displacements  (assuming no cable elasticity) and jaw angles are de scribed in Equation 7:    Eq. 7  [0048]      Here q = [q 1  q 2  q 3  q 4 ] T  is the displacement of cables in the ideal c ase where  the cables are rigid. Therefore, the relationships in  expanded form are described as  Equation(s) 8:  [0049]      where θ 1  is the pitch joint angle, and  θ 2  and  θ 3  are the joint angles of jaw  A and jaw B, respectively (see FIG. 3). In reality,  the cables may be somewhat elastic, and  the cable forces and elongation follow the Hook’s  law as shown in Equation(s) 9:  [0050]      where k is cable elasticity (assuming the four cable s are similar), and x is  the actuator displacements. The actuator displacements then may be related to the joint  angles for the end effector 222 in two different co ordinate frames.   [0051]      If the cables cannot be assumed to be elastic, the above equations may be  replaced with the nonlinear equation relating the cab le elongation and force.  [0052]      The angular position and grip force of a distal end  effector of a robotic  surgical instrument. The end effector may include a  robotic wrist and a pair of opposing  members (e.g., jaws or claws), each being movable be tween an open position and a  closed position actuated by two antagonistic cables.  A total of four cables may each be  driven by an independent actuator or motor. The cont rol system may include feedback  loops involving position and velocity feedback from t he actuators and force feedback  measured on the four cables, to effect desired posit ion and grip force. In some  implementations, the actuator controllers may be runni ng a position plus feedforward  current mode. For example, a position controller may drive the distal end effector to the  desired angular position in space based on the posit ional feedback, while a grip force  controller provides additional feedforward current base d on the grip force measured by  load cells on the four cables to achieve the desire d grip force between the opposing  members.  [0053]      FIG. 6 is an illustration of a subsystem or a part  of the surgical robotic  system 100, for detecting engagement of a surgical t ool 240 to a tool driver 230 (tool  driver) of a surgical robotic arm 122. The surgical robotic arm 122 may be one of the  surgical robotic arms of surgical robotic system 100 illustrated and discussed with  respect to FIG. 1. The control unit 210 may be par t of for example the control tower in  FIG. 1. As discussed in more detail herein, the eng agement may be detected by control  unit 210 based on one or more rotary motor operatin g parameters of one or more  actuators (e.g., actuator 238‐j) in the tool driver  230.  [0054]      There is a tool driver 230 to which different surgi cal tools (e.g., surgical  tool 240, as well as other detachable surgical tools  for rotation of an endoscope camera,  pivoting of a grasper jaw, or translation of a need le) may be selectively attached (one at  a time.) This may be done by for example a human  user holding the housing of the  surgical tool 240 in her hand and moving the latter  in the direction of arrow 280 shown  until the outside surface of the surgical tool 240  in which there are one or more tool  disks (e.g., tool disk 244‐i) comes into contact w ith the outside surface of the tool driver  230 in which there are one or more drive disks (e. g., drive disk 234‐j). The one or more  tool disks and/or one or more drive disks may be i mplemented by pucks, which may be  formed of plastic or another durable material. In th e example shown, the tool driver 230  is a segment of the surgical robotic arm 122 at a distal end portion of the surgical robotic  arm 122. A proximal end portion of the arm is secu red to a surgical robotic platform,  such as a surgical table that shown in FIG. 1 desc ribed above.  [0055]      Control unit 210 is configured to control motion of the various motorized  joints in the surgical robotic arm 122 (including th e drive disks 234) through which  operation of end effector 222 (its position and orie ntation as well as its surgical function  such as opening, closing, cutting, applying pressure, etc.) which mimics that of a user  input device is achieved. This is achieved via a me chanical transmission in the surgical  tool 240, when the surgical tool 240 has been engag ed to transfer force or torque from  the tool driver 230. The control unit 210 may be i mplemented as a programmed  processor, for example as part of the control tower 130 of FIG. 1. It may respond to one  or more user commands received via a local or remot e user input (e.g., joystick, touch  control, wearable device, or other user input device communicating via console  computer system.) Alternatively, the control unit 210 may respond to one or more  autonomous commands or controls (e.g., received form  a trained surgical machine  learning model that is being executed by the control  unit 210 or by the console  computer system), or a combination thereof. The comma nds dictate the movement of  robotic arm 122 and operation of its attached end e ffector 222.  [0056]      An end effector 222 may be any surgical instruments,  such as jaws (e.g., as  shown in FIGS. 4A and 4B), a cutting tool, an endo scope, spreader, implant tool, etc.  Different surgical tools each having different end ef fectors can be selectively attached  (one at a time) to robotic arm 122 for use during a surgical or other medical procedure.  The end effector 222 depicted in the example of FIG . 5 is jaws located at a distal end of  the surgical tool 240 and that may be retracted int o, or extend out of, a cannula as  shown (e.g., a thin tube that may be inserted into a patient undergoing a surgical  procedure).  [0057]      The robotic arm 122 includes a tool driver 230, in which there are one or  more actuators, such as actuator 238‐j. Each actuat or may be a linear or rotary actuator  that has one or more respective electric motors (e.g ., a brushless permanent magnet  motor) whose drive shaft may be coupled to a respec tive drive disk 234‐j through a  transmission (e.g., a gear train that achieves a giv en gear reduction ratio). The tool  driver 230 includes one or more drive disks 234 tha t may be arranged on a planar or flat  surface of the tool driver 230, wherein the figure  shows several such drive disks that are  arranged on the same plane of the flat surface. Eac h drive disk (e.g., drive disk 234‐j) is  exposed on the outside surface of the tool driver 2 30 and is designed to mechanically  engage (e.g., to securely fasten via snap, friction, or other mating features) a mating tool  disk 244‐j of the surgical tool 240, to enable di rect torque transfer between the two.  This may take place once for example a planar or f lat surface of the surgical tool 240 and  corresponding or mating planar or flat surface of th e tool driver 230 are brought in  contact with one another.  [0058]      Furthermore, a motor driver circuit (for example, ins talled in the tool  driver 230 or elsewhere in the surgical robotic arm 122) is electrically coupled to the  input drive terminals of a constituent motor of one or more of the actuators 238. The  motor driver circuit manipulates the electrical power drawn by the motor in order to  regulate for example the speed of the motor or its torque, in accordance with a motor  driver circuit input, which can be set or controlled  by control unit 210, which results in  the powered rotation of the associated drive disk (e .g., drive disk 234‐j).  [0059]      When the mating drive disk 234‐j is mechanically e ngaged to a respective  tool disk 244‐j, the powered rotation of the drive  disk 234‐j causes the tool disk 244‐j to  rotate, e.g., the two disks may rotate as one, ther eby imparting motion on, for example,  linkages, gears, cables, chains, or other transmission  devices within the surgical tool 240  for controlling the movement and operation of the en d effector 222 which may be  mechanically coupled to the transmission device.  [0060]      Different surgical tools may have different numbers o f tool disks based on  the types of movements and the number of degrees of  freedom in which the  movements are performed by their end effectors, such as rotation, articulation,  opening, closing, extension, retraction, applying press ure, etc.   [0061]      Furthermore, within the surgical tool 240, more than one tool disk 244  may contribute to a single motion of the end effect or 222 to achieve goals such as load  sharing by two or more motors that are driving the mating drive disks 234, respectively.  In another aspect, within the tool driver 230, there  may be two or more motors whose  drive shafts are coupled (via a transmission) to rot ate the same output shaft (or drive  disk 234), to share a load.   [0062]      In yet another aspect, within the surgical tool 240,  there may be a  transmission which translates torque from two drive d isks 234 (via respective tool disks  244) for performing complementary actions in the same  degree of freedom, e.g., a first  drive disk 234‐j rotates a drum within the housing  of the surgical instrument 240 to take  in one end of a rod, and a second drive disk 234 i rotates another drum within the  housing of the surgical instrument 240 to take in t he other end of the rod. As another  example, the extension and the shortening of an end effector along a single axis may be  achieved using two tool disks 234‐i, 234‐j, one  to perform the extension and another to  perform the retraction. This is in contrast to an e ffector that also moves in one degree of  freedom (e.g., extension and shortening longitudinally along a single axis of movement)  but that only needs a single tool disk to control  its full range of movement. As another  example, an effector that moves in multiple degrees  of freedom (e.g., such as a wristed  movement, movement along multiple axes, activation of an energy emitter in addition  to end effector movement, etc.) may necessitate the  use of several tool disks (each  being engaged to a respective drive disk). In anothe r type of surgical tool 240, a single  tool disk 244 is sufficient to perform both extensio n and retraction motions, via direct  input (e.g., gears). As another example, in the case  of the end effector 222 being jaws,  two or more tool disks 244 may cooperatively control  the motion of the jaws, for load  sharing, as discussed in greater detail herein.  [0063]      In yet another aspect, within the surgical tool 240,  there may be a  transmission which translates torque from two drive d isks 234 (via respective tool disks  244) for performing complementary actions in the same  degree of freedom, e.g., a first  drive disk 234‐i rotates a drum within the housing  of the surgical tool 230 to take in one  end of a cable, and a second drive disk 234‐j ro tates another drum within the housing of  the surgical tool 230 to take in the other end of the cable. As another example, the  extension and the shortening of an end effector alon g a single axis may be achieved  using two tool disks 234‐i, 234‐j, one to perfor m the extension and another to perform  the retraction, for example via different cables. Thi s is in contrast to an effector that also  moves in one degree of freedom (e.g., extension and shortening longitudinally along a  single axis of movement) but that only needs a sing le tool disk to control its full range of  movement. As another example, an effector that moves in multiple degrees of freedom  (e.g., such as a wristed movement, movement along mu ltiple axes, activation of an  energy emitter in addition to end effector movement, etc.) may necessitate the use of  several tool disks (each being engaged to a respecti ve drive disk). In another type of  surgical tool 240, a single tool disk 244 is suffic ient to perform both extension and  retraction motions, via direct input (e.g., gears). A s another example, in the case of the  end effector 246 being jaws, two or more tool disks  244 may cooperatively control the  motion of the jaws, for load sharing, as discussed  in greater detail herein.  [0064]      FIG. 7 illustrates an example of the surgical tool  240 including rotary  device assignments or mapping for tool disks TD1‐5 (TD 6 is unused in this example). In  this example, tool disk TD5 is mapped to the roll  axis 258 of the end effector, which is  illustrated as jaw 251 and may comprise a first opp osing jaw 401A and a second  opposing jaw 401B. The tool disk TD5 may be coupled  to one or more gears that drive  the wrist to rotate about the roll axis. Each oppos ing jaw is assigned two tool disks. For  example, the first opposing jaw 401A may be assigned  to tool disk TD1 for opening the  jaw (i.e., increasing the angle between the first op posing jaw 401A and the second  opposing jaw 401B) and tool disk TD3 for closing th e jaw (i.e., decreasing the angle  between the first opposing jaw 401A and the second  opposing jaw 401B). The tool disk  TD1 may be coupled to a cable that rotates pulley  415A in a first direction and the tool  disk TD3 may be coupled to a cable for rotating pu lley 415A in a second direction.  [0065]      Similarly, the second opposing jaw 401B may be assig ned to tool disk TD2  for opening the jaw (i.e., increasing the angle betw een the first opposing jaw 401A and  the second opposing jaw 401B) and tool disk TD4 for  closing the jaw (i.e., decreasing the  angle between the first opposing jaw 401A and the s econd opposing jaw 401B). The tool  disk TD2 may be coupled to a cable that rotates pu lley 415B in a first direction and the  tool disk TD4 may be coupled to a cable for rotati ng pulley 415B in a second direction.  [0066]      In some embodiments, when surgical tool 240 is first  attached to or  installed on tool driver 230 such that the tool dis ks are brought substantially into  coplanar and coaxial alignment with corresponding driv e disks (though the tool and  drive disks are perhaps not yet successfully engaged) , control unit 210 initially detects  the type of the surgical tool 240. In one embodimen t, surgical tool 240 has an  information storage unit 242, such as a solid state memory, radio frequency  identification (RFID) tag, bar code (including two‐d imensional or matrix barcodes), etc.,  that identifies its tool or end effector information,  such as one or more of identification  of tool or end effector type, unique tool or end e ffector ID, number of tool disks used,  location of those tool disks being used (e.g., from a total of six possible tool disks 244‐e,  f, g, h, i, j), type of transmission for the tool disks (e.g., direct drive, cable driven, etc.),  what motion or actuation a tool disk imparts on the  end effector, one or more tool  calibration values (e.g., a rotational position of th e tool disk as determined during factor  testing/assembly of the tool), whether motion of the end effector is constrained by a  maximum or minimum movement, as well as other tool  attributes. In one embodiment,  the information storage unit 242 identifies minimal i nformation, such as a tool ID, which  control unit 210 may use to perform a lookup of th e various tool attributes.  [0067]      The tool driver 230 may include a communication inte rface 232 (e.g., a  memory writer, a near field communications, near fiel d communication (NFC),  transceiver, RFID scanner, barcode reader, etc.) to r ead the information from the  information storage unit 242 and pass the information  to control unit 210. Furthermore,  in some embodiments, there may be more than one inf ormation storage unit in surgical  tool 240, such as one information storage unit assoc iated with each tool disk 244. In this  embodiment, tool driver 230 may also include a corre sponding sensor for each possible  information storage unit that would be present in a given tool.  [0068]      After surgical tool 240 is attached with tool driver  230, such that tool disks  are brought into alignment and are superimposed on c orresponding drive disks  (although not necessarily mechanically engaged), and a fter the tool disk information is  obtained, e.g., read by control unit 210, the contro l unit 210 performs an engagement  process to detect when all of the tool disks that  are expected to be attached to  respective drive disks are mechanically engaged with  their respective drive disks (e.g.,  their mechanical engagement has been achieved, or the  tool driver 230 is now deemed  engaged with the tool). That is, attaching the surgi cal tool 240 with the tool driver 230  does not necessarily ensure the proper mating needed for mechanical engagement of  tool disks with corresponding drive disks (e.g., due to misalignment of mating features).  The engagement process may include activating one or more motors of an actuator  (e.g., actuator 238‐j) that drives a corresponding  drive disk 234‐j. Then, based on one or  more monitored motor operating parameters of the actu ator 238‐j, while the latter is  driving the drive disk 234‐j, the mechanical engage ment of the tool disk 244‐i with a  drive disk 234‐j can be detected. This process may  be repeated for every drive disk 234  (of the tool driver 230) that is expected to be cu rrently attached to a respective tool disk  244 (e.g., as determined based on the tool disk inf ormation obtained for the particular  surgical tool 240 that is currently attached.)  [0069]      Upon detecting that a particular type of surgical to ol 240 has been  attached with the tool driver 230, the control unit 210 activates one or more actuators  (e.g., motors) of the tool driver 230 that have bee n previously associated with that type  of surgical tool 240. In some embodiments, each actu ator that is associated with a  corresponding drive disk 234 of surgical tool 240 ma y be activated simultaneously,  serially, or a combination of simultaneous and serial  activation.   [0070]      FIG. 8 illustrates an example of the surgical tool  240 that utilizes five tool  disks, such as tool disks 244‐e, f, g, i, j, arr anged in a coplanar fashion on a mating  surface of its housing. Each tool disk contributes t o at least a portion of the movement  and/or activation of end effector 222. Upon detecting  the attachment of surgical tool  240 with tool driver 230 (e.g., joining of mating s urfaces of the respective housings),  control unit 210 (or its processor 312 while executi ng instructions stored in memory  314) performs a process which determines that only t he corresponding five drive disks,  such as drive disks 234 e, f, g, i, j, are to be  turned (a corresponding actuator 238 is  activated) to perform the engagement process.  [0071]      In some embodiments, the motor operating parameters m onitored by the  control unit 210 (via sensors 236) are interpreted t o mean successful mechanical  engagement of a tool disk with a drive disk. The c ontrol unit 210 is in communication  with and receives sensor data from sensor 236 in an  example sensor array including any  combination of a presence sensor 341, a torque senso r 342, a position sensor 343, an  electrical sensor 345, an optical sensor 347, and a force sensor 348. The sensor array  may include separate sensors for different degrees of  freedom of the surgical tool (e.g.,  closure joint, roll joint, or other operation of the  surgical tool). That is, the sensor array,  or one or more sensors thereof, may be repeated for  multiple tool disks 244 in the tool  driver 230.   [0072]      The measurements may include measurements of torque a pplied by the  actuator 238‐j as measured by the torque sensor 34 2 or the force sensor 348,  measurements of current by the electrical sensor 345 supplied to a motor of the  actuator 238‐j when attempting to drive the actuato r to move at a certain velocity (e.g.,  where the sensor 236‐j may include a current sensi ng resistor in series with a motor  input drive terminal), measurements of electrical impe dance by the electrical sensor 345  as seen into the input drive terminals of the motor  of the actuator 238 when attempting  to drive the motor to move at a certain velocity ( e.g., where the sensor 236‐j may also  include a voltage sensing circuit to measure voltage of the motor input drive terminal),  speed of the actuator 238‐j (e.g., where the optic al sensor 347 may include a position  encoder on an output shaft of the actuator 238‐j  or on a drive shaft of the motor), as  well as other parameters referred to here as motor  operating parameters. The  measurements may include presence data from the prese nce sensor 341, implied from  any sensor in the sensor array 236, or determined f rom the interaction between the  information storage unit 242 and the communication in terface 232. The position sensor  343 is illustrated separately but may be implemented using a combination of the  presence sensor 341, the torque sensor 342, the elec trical sensor 345, the optical sensor  347, and the force sensor 348. In one example, addi tional sensors of the same type may  be used for the position sensor 343.   [0073]      While monitoring the one or more motor operating par ameters of a  particular actuator, when one or more of these param eters satisfies (e.g., meets or  reaches) a predetermined condition or threshold, the  detection of such a situation can  be interpreted by control unit 210 as a mechanical  engagement event. Note that  satisfying the predetermined condition may for example  mean that the monitored  operating parameter exhibits certain changes, as per  the threshold, relative to an  operating parameter of another motor that is part of  the same actuator 238‐j or that is  part of another actuator 238‐i which his being con trolled by the control unit 210  simultaneously during the engagement detection process.   [0074]      In some embodiments, detection of certain motor opera ting parameters  during operation of the actuator 238‐j, such as on e or more of i) torque that satisfies  (e.g., rises and reaches) a torque threshold, ii) mo tor current that satisfies (e.g., rises and  reaches) a current threshold, iii) impedance that dro ps below an impedance threshold,  iv) motor speed dropping below a motor velocity thre shold, or a combination thereof,  are used by control unit 210 to determine that mech anical engagement of tool disk 244‐j  to drive disk 234‐j has occurred. The following ar e some examples of such a process.  [0075]      The control unit 210 including its programmed process or 312 may be  integrated into the surgical robotic system 100 (FIG.  1) for example as a shared  microprocessor and program memory within the control  tower 130. Alternatively, the  control unit 210 may be implemented in a remote com puter such as in a different room  than the operating room, or in a different building than the operating arena shown in  FIG. 1. Furthermore, control unit 210 may also inclu de, although not illustrated, user  interface hardware (e.g., keyboard, touch‐screen, mic rophones, speakers) that may  enable manual control of the robotic arm and its at tached surgical tool 240, a power  device (e.g., a battery), as well as other component s typically associated with electronic  devices for controlling surgical robotic systems.   [0076]      Memory 314 is coupled to one or more processors 312  (generically  referred to here as a processor for simplicity) to  store instructions for execution by the  processor 312. In some embodiments, the memory is no n‐transitory, and may store one  or more program modules, including a hardstop detecti on algorithm 325, a relative  tracking algorithm 236 for hardstop handling, an abso lute tracking algorithm 237 for  hardstop handling, and a jaw catchup algorithm 328 f or hardstop handling, whose  instructions configure the processor 312 to perform t he calibration and calibration  evaluation processes described herein. In other words,  the processor 312 may operate  under the control of a program, routine, or the exe cution of instructions stored in the  memory 314 as part of the calibration algorithm 316 and the calibration evaluation  algorithm 315 to execute methods or processes in acc ordance with the aspects and  features described herein. The memory 314 may include  one or more settings,  coefficient values, threshold values, tolerance values,  calibration values for the surgical  tool 240 and/or the tool driver 230. These values m ay be stored in memory 314 as a  configuration file, table, or matrix. Some values in the configuration file may be provided  by the user, some may be accessed or retrieved base d on identifiers of the surgical tool  240 or tool driver 230, and others may be set by  the control unit 210.   [0077]      FIG. 9 illustrates a procedure or technique that may  be carried out by any  of the systems described herein, for example, by a  controller, such as the control unit  210. Each act in FIG. 9 may refer to a separate p rocess that may have many steps. The  sequence illustrated is only an example and the step s may be performed in any order.  Additional, different, or fewer acts may be included.   [0078]      At S101, a hardstop detection phase is performed. Th e hardstop may be  an obstacle that is contacted by the end effector 2 22. The hardstop may be defined  according to the degree of freedom or axis of the  wrist that encounters the hardstop.  Thus, the end effector 222 may experience a pitch h ardstop when a hardstop is detected  in the pitch degree of freedom, a yaw hardstop when  a hardstop is detected in the yaw  degree of freedom, and/or a roll hardstop when a ha rdstop is detected in the roll degree  of freedom.  Opening or closing the jaw may also e xperience hardstops. These hardstops  may be analyzed separately or movement of the jaw m ay be a factor for the associated  axis (e.g., the jaw may contribute to hardstop handl ing in the yaw axis). The hardstop  may be an obstacle contacted within the body of the  patient.   [0079]      As described above, each or one or more of the act uators 238 (motors)  may be associated with a sensor such as the torque sensor 342. Respective torque  sensors 342 measure the torque on actuators 238. The  tension in a cable coupled to the  actuator 238 is determined based on the measured tor que. The torque on the actuator  238 measured by the torque sensor 342 multiplied by the radius of the actuator 238  and/or radius of the transmission pulley is equal to  the tension in the respective coupled  cable. As an example, the tensions or cable forces  (F1, F2, F3, and F4) may correspond to  any order of the cables 405A, 405B, 405C, and 405D,  for example in the order of Table 1.   Table 1  [0080]      The control unit 210 receives values for the cable  forces directly from or  derived from the data collected at the respective to rque sensors 342. The control unit  210 determines which of the cable forces is the gre atest. For example, the data in Table  1 may be sorted or each cable force is compared to  each other cable force. The control  unit 210 selects the highest tensioned cable based o n the comparison of forces. The  control unit 210 assigned a predetermined value or p redetermined force to the selected  highest tensioned cable. The predetermined force may  have been previously entered by  the user (e.g., via input device 317, which may inc lude one or more UIDs) or otherwise  stored in memory 314. The predetermined force may be  determined from the material  properties of the cable or the end effector 222. Th e predetermined force may be a rated  force that can be experienced by the cable before t here is a significant risk of the cable  breaking or other damage occurring at the end effect or 222. The predetermined force  may be provided by the manufacturer of the cable. T he predetermined force may be  determined experimentally through testing the cable or  the end effector 222.   [0081]      At S103, a torque comparison is performed using torq ue threshold for the  joints of the wrist and modified cable forces. A re lationship is stored by the control unit  210 that relates the torque of the joint of a wris t to the radius of a pulley and the force  of a cable acting on the pulley. The control unit  210 calculates the torque thresholds for  a given joint based on at least one modified cable force, which is the predetermined  force that is substituted for the selected highest t ension cable. For example, the control  unit 210 may calculated one or more torque threshold s based on the forces (F1, F2, F3,  and F4) associated with the plurality of cables are determined from respective motor  torque sensors and associated with pulley dimensions  (R11, R12, R21, R22, R31 and R32)  for respective pulleys for the cables. The torque th resholds may be considered variable  torque thresholds because the values change depending on the measured values from  the motor torque sensors. In other words, each of t he following torque thresholds  change in real time or substantially real time as t he forces on the cables change. In each  case, one of the force values is held constant, whi le the others fluctuate according to the  data from the motor torque sensors. In each of the following eight scenarios  (corresponding to Equations 10a‐h) a variable torque  threshold for the wrist is based on  a sum of the predetermined value for the highest te nsion cable and detected forces for  remaining cables in the remaining cables.  [0082]      Equation 10a provides a variable wrist torque maximum  threshold for the  pitch angle of the wrist. The values F1, F2, and F4 are based on the measured  torque values (e.g., from the respective actuators 23 8). In this case, the cable for F3  corresponds to the selected highest tensioned cable,  which means rather than the  measured torque value for F3, the predetermined force  is substituted as F3’.   Eq. 10a  [0083]      Equation 10b provides a variable wrist torque maximum  threshold for the  pitch angle   of the wrist. The values F1, F2, and F3 are base d on the measured  torque values (e.g., from the respective actuators 23 8). In this case, the cable for F4  corresponds to the selected highest tensioned cable,  which means rather than the  measured torque value for F4, the predetermined force  is substituted as F4’.   Eq. 10b  [0084]      Equation 10c provides a variable wrist torque minimum  threshold for the  pitch angle  of the wrist. The values F2, F3, and F4 are based on the measured  torque values (e.g., from the respective actuators 23 8). In this case, the cable for F1  corresponds to the selected highest tensioned cable,  which means rather than the  measured torque value for F1, the predetermined force  is substituted as F1’.  Eq. 10c  [0085]      Equation 10d provides a variable wrist torque minimum  threshold for the  pitch angle  of the wrist. The values F1, F3, and F4 are based on the measured  torque values (e.g., from the respective actuators 23 8). In this case, the cable for F2  corresponds to the selected highest tensioned cable,  which means rather than the  measured torque value for F2, the predetermined force  is substituted as F2’.  Eq. 10d  [0086]      Equation 10e provides a variable wrist torque maximum  threshold for the  yaw angle of the wrist. The values F1, F3, and F4 are based on the measured  torque values (e.g., from the respective actuators 23 8). In this case, the cable for F2  corresponds to the selected highest tensioned cable,  which means rather than the  measured torque value for F2, the predetermined force  is substituted as F2’.   Eq. 10e  [0087]      Equation 10f provides a variable wrist torque maximum  threshold for the  yaw angle of the wrist. The values F1, F2, and F4 are based on the measured  torque values (e.g., from the respective actuators 23 8). In this case, the cable for F3  corresponds to the selected highest tensioned cable,  which means rather than the  measured torque value for F3, the predetermined force  is substituted as F3’.   Eq. 10f  [0088]      Equation 10g provides a variable wrist torque minimum  threshold for the  yaw angle  of the wrist. The values F2, F3, and F4 are base d on the measured  torque values (e.g., from the respective actuators 23 8). In this case, the cable for F1  corresponds to the selected highest tensioned cable,  which means rather than the  measured torque value for F1, the predetermined force  is substituted as F1’.   Eq. 10g  [0089]      Equation 10h provides a variable wrist torque minimum  threshold for the  yaw angle   of the wrist. The values F1, F2, and F3 are base d on the measured  torque values (e.g., from the respective actuators 23 8). In this case, the cable for F1  corresponds to the selected highest tensioned cable,  which means rather than the  measured torque value for F1, the predetermined force  is substituted as F1’.   Eq. 10h  [0090]      In addition to the selection of the highest tensione d cabled described  above, the control unit 210 may select the torque t hreshold equations based on a  comparison of two or more cable forces. For example,  when F3>F4, Equation 10a is  selected (rather than Equation 10b) for the variable wrist torque maximum threshold for  the pitch angle . Otherwise, or when F4>F3, Equation 10b is selec ted. In another  example, when F1>F2, Equation 10c is selected (rat her than Equation 10d) for the  variable wrist torque minimum threshold for the pitch  angle   Otherwise, or when  F2>F1, Equation 10d is selected.  [0091]      In another example, when F2>F3, Equation 10e is s elected (rather than  Equation 10f) for the variable wrist torque maximum  threshold for the yaw angle  Otherwise, or when F3>F2, equation 10f is selected . In another example, when F1>F4,  Equation 10g is selected (rather than Equation 10h)  for variable wrist torque minimum  threshold for the yaw angle   Otherwise, or when F4>F1, equation 10h is select ed.  [0092]      After the variable torque threshold for the wrist is  calculated or at specific  time intervals as the variable torque threshold for  the wrist is calculated, the control  unit 210 compares the variable torque threshold to t he joint torque calculated based on  motor torque measured by the torque sensor on motor or tool driver end.  [0093]      The control unit 210 may receive data indicative of the torque at the pitch  joint and/or data indicative of the torque at the yaw joi nt   The control unit  210 compares the received joint torque to the calcul ated variable torque threshold(s).  When the comparison indicates that the variable wrist  torque threshold  then the wrist is hitting a hardstop on the negativ e side of a pitch joint of the  surgical tool. When the comparison indicates that the  variable wrist torque threshold  then the wrist is hitting a hardstop on the positiv e side of the pitch joint of  the surgical tool. When the comparison indicates that  the variable wrist torque  threshold  then the wrist is hitting a hardstop on the negativ e side of a yaw  joint of the surgical tool. When the comparison indi cates that the variable wrist torque  threshold  then the wrist is hitting a hardstop on the positiv e side of the yaw  joint of the surgical tool.  [0094]      For each case, the graphical user interface on the  input device 317 may  notify the user that the pitch or yaw is hitting t he limit, and display instructions to ask  the user to move a specific joint angle (e.g., pitc h or yaw) closer toward the center  position (e.g., homing position), or close the jaw.  The notification may include a text  message to indicate the direction that is needed to move away from the hardstop. The  notification may include a graphical message, for exa mple including an image of the UID,  to illustrate the direction that is needed to move  away from the hardstop.  [0095]      At S105, when the torque comparison indicates that n one of the variable  torque thresholds have been exceeded, the system retu rns to normal operation. During  normal operation, the user commands received at the  UID of user input 317 specify one  or more positions, wrist angles, or jaw angles for  the surgical tool 230 are received at the  control unit 210. The control unit 210 calculates th e actuator commands necessary to  move the wrist and/or jaw to the desired position.     [0096]      At S107, when the torque comparison indicates that o ne or more of the  variable torque thresholds have been exceeded, any co mmands received from the user  (e.g., via user input 317) are modified in a hardst op handling phase or hardstop handling  mode. The variable torque threshold may be exceeded  when the joint torque is greater  than a maximum torque threshold or when the joint t orque is less than a minimum  torque threshold. The control unit 210 may activate  the hardstop handling mode in  response to the comparison indicating that one of th e variable torque thresholds has  been exceeded. In one example, the hardstop handling mode may be activated when  the variable torque threshold has been exceeded for  a predetermined amount of time  or a predetermined number of samples or comparisons.    [0097]      In the hardstop handling phase, the control unit 210  receives commands  from the user input 317 and modifies those commands depending on the type of  hardstop. In one example, the control unit 210 ignor es those commands. The hardstop  handling phase may include any combination of pitch  tracking and handling S109, yaw  tracking and handling S111, and jaw tracking and han dling S113.  [0098]      The pitch tracking and handling S109 examples occur  when the variable  pitch torque threshold is met. That is, when the co ntrol unit 210 receives a command to  pitch left when the hardstop is detected already at the negative side of the pitch, the  control unit 210 will not command the wrist to pitc h left. When the hardstop is no  longer present, as indicated by the pitch joint torq ue returning to the acceptable range,  the command may be followed to instruct the wrist t o pitch left. In some embodiments,  the command to pitch left is reduced by a predeterm ined percentage. Conversely, when  the control unit 210 receives a command to pitch ri ght when the hardstop is detected  already at the positive side of the pitch angle, th e control unit 210 will not command the  wrist to pitch right. When the hardstop is no longe r present, as indicated by the pitch  joint torque returning to the acceptable range, the  command may be followed to  instruct the wrist to pitch right.  [0099]      The yaw tracking and handling S111 examples occur wh en the variable  yaw torque threshold is met. When the control unit  210 receives a command to increase  the yaw angle of the wrist, but when the hardstop  is detected already at the positive  direction of yaw, the control unit 210 will not com mand the wrist to increase the yaw  angle. When the hardstop is no longer present, as i ndicated by the yaw joint torque  returning to the acceptable range, the command to in crease the yaw angle may be  followed. Conversely, when the control unit 210 recei ves a command to decrease the  yaw angle of the wrist, but when the hardstop is d etected already at the negative  direction of yaw, the control unit 210 will not com mand the wrist to decrease the yaw  angle. When the hardstop is no longer present, as i ndicated by the yaw joint torque  returning to the acceptable range, the command to de crease the yaw angle may be  followed.   [00100]      These examples are summarized in Table 2. Pitch trac king examples are in  cases 1 and 2, and yaw tracking examples are cases 3 and 4.  Table 2  [00101]      It should be noted Cases 1‐4 are not mutually exc lusive. Cases 2 and 4, for  example, could be true at the same time. The hardst op handling phase may include  simultaneous and independent determinations for all ca ses.   [00102]      The jaw handling and tracking S113 may be performed independently or  in combination with the pitch tracking and handling  S109 and/or the yaw tracking and  handling S111. Depending on the particular surgical t ool 240 and end effector 222 the  angle of the end effector 220 may impact hitting ha rd stops on another axis such as any  combination of pitch, yaw, and roll. For example, tu rning to FIGS. 4A and 4B when the  end effector includes a jaw. The position of the ja w may cause the surgical tool 240 to  hit the hardstop. In the example of FIGS. 4A and 4 B, the jaw opens about the yaw angle.  Thus, opening the jaw may contribute to hitting the hardstop in the yaw direction.    [00103]      The control unit 210 is configured to receive jaw a ngle commands from  the input device 317. A jaw angle command may indic ate a desired angle for the jaw.  The jaw angle command may include multiple angle val ues such as 401 as a first angle  for jaw 401A and a second angle for jaw 401B. The jaw angle command may include a  value for the difference between the first angle for  jaw 401A and the second angle for  jaw 401B. The jaw angle may be controlled using an absolute tracking mechanism that  map a certain position from the input device 317 to  an absolute jaw angle. The input  device 317 may include a pressure sensor that determ ines the user’s movement and  maps that measurement to the absolute jaw angle.  [00104]      The hardstop handling phase may include jaw handling when the jaw  angle command indicates a nonzero jaw angle. The con trol unit 210 determines whether  a jaw angle has been received from the control unit  317. When a jaw angle has been  received, the control unit 210 activates the jaw han dling mode, which may be referred  to as the jaw handling phase. In another example, t he control unit 210 compares the jaw  angle to a minimum level (e.g., 5 degrees) and acti vates the jaw handling mode when  the received jaw angle exceeds the minimum level.  [00105]      The jaw handling mode may be performed by the contr ol unit 210 using a  proportional controller. FIG. 10 illustrates an exampl e jaw handling proportional  controller 501 for the jaw handling and tracking S11 3. The jaw handling proportional  controller 501 compensates the jaw joint command from  the user to protect the cables.   [00106]      The input of the jaw handling proportional controller  501 includes a force  error between the predetermined cable force (e.g., ma ximum cable force or F nominal  such  as 140N) and the highest cable force (Max(F i ) = Max(F1, F2, F3, F4)) from among the four wrist cables, having respective cable forces F1, F2, F3, and F4. Specifically, as  implemented by control unit 210, a subtractor 502 ma y calculate a difference between  the Max(F i ) and F nominal . The output of the jaw handling proportional  controller 501 is a  joint angle control value 503 that is used as the  modified joint command for the jaw. The  modified joint command may be negative. Because when the hardstop handling has  been activated, the highest cable force must be larg er than the predetermined value  (e.g., 140N). This negative jaw command may be conve rted into a motor command 504  following inverse kinematic calculation for the roboti cs wrist control.   [00107]      Consistent with the earlier hardstop handling phase f or pitch and yaw, the  jaw handling proportional controller 501 and the jaw tracking and handling phase may  be stopped when jaw joint command returns to zero o r less than zero. The control unit  210 continues to compare the jaw joint command to z ero or the minimum threshold and  deactivates the jaw tracking and handling mode when  the jaw joint command is equal to  zero or less than the minimum threshold. In addition , for the jaw on the yaw axis as  shown by FIGS. 4A and 4B, the jaw handling proporti onal controller 501 and the jaw  tracking and handling phase may be stopped when the yaw joint angle returns to the  acceptable range   The control unit 210 continues to  compare the yaw joint angle and deactivates the jaw tracking and handling mode when  the jaw joint angle is greater than the  and less than the  [00108]      The control unit 210 may perform a jaw command catc hup algorithm S 115  in response to the jaw handling and tracking S113.  When the jaw tracking and handling  phase has occurred (e.g., there was a nonzero jaw c ommand received from the user  while a corresponding hardstop was detected) and is  no longer present, the control unit  210 proceeds to the jaw command catchup phase.   [00109]      Using the embodiment of FIGS. 4A and 4B as an exam ple, when the yaw  torque returns to a nominal value  if the jaw handling  mechanism was activated previously, there may be a d iscrepancy between the user’s  command (e.g., from the input device 317 include UID ) for the jaw and the actual jaw  command that the motors are following. Therefore, to re‐sync the motor command with  the UID jaw command and prevent a sudden jump in j aw position control, the following  catching up algorithm for the jaw may be implemented .  [00110]      In the catching up algorithm, the last joint command  output from the Jaw  handling P controller may be latched as the initial jaw catching up amount. The control  unit 210 may define the initial jaw catching up amo unt as the last joint command from  the joint angle control 503.   [00111]      The control unit 210 subsequently identifies one or  more subsequent UID  commands from user input 317 and generates a jaw co mmand adjusted based on the  subsequent user input jaw angle.   [00112]      If the user’s UID command for jaw is an increasin g angle (i.e., the user is  instructing to further open the jaw) or not changing  (i.e., the user is instructing to keep  current jaw open angle), then the jaw catching up a mount will be subtracted from the  user’s jaw command, and the overall jaw command is  used for jaw position control.  Thus, the control unit 210 is configured to subtract  the initial jaw catching up amount  from the subsequent user input jaw angle for a jaw command when the user input jaw  angle is to open the jaw.  [00113]      If the user’s UID command for jaw is reducing (i. e., the user is instructing  to close the jaw), the jaw catching up amount is r educed by a predefined step size until  the total catching up amount is smaller than the pr edefined step size. This step size is  defined to be less than user noticeable jaw movement  angle. In this way, the catch up  amount will reduce to 0 if the user is closing the  jaw for certain time cycles. Thus, the  control unit 210 is configured to subtract the prede fined step size from the subsequent  user input jaw angle for a jaw command when the us er input jaw angle is to close the  jaw.  [00114]      The control unit 210 determines whether the catch up  amount has  reached zero. When the catch up amount has reached  zero, the operation routine will  return to normal (e.g., the control unit 210 returns  to S105).  [00115]      FIG. 11 describes a process for handling one or mor e hardstops. The  process may be performed by a programmed processor ( also referred to here as  processor or controller), configured according to inst ructions stored in memory (e.g., the  processor 312 and the memory 314 of FIG. 8, where  the processor 312 is configured  according to the instructions of the calibration cont rol 316 and the calibration  evaluation 315). Additional, different, or fewer acts than those in FIG. 11 may be  performed.   [00116]      At act S201, the processor 312 performs a force com parison of the forces  associated with a set of cables. The forces may be described in sensor data such as from  a force sensor associated with each cable (e.g., for ce transducer coupled to the cable).  The forces may be calculated based on data received from torque sensors coupled to  actuators coupled to the respective cables. The proce ssor 312 selects a highest tension  cable from the cables based on the comparison of th e forces associated with the  plurality of cables.   [00117]      At act S203, the processor 312 sets a predetermined value to the highest  tension cable. For example, first the processor 312  selects a highest tensioned cable  from the cables based on the comparison of the forc es associated with the plurality of  cables. Then, the processor 312 sets the force of t he highest tensioned cable to a  predetermined value. That is, the processor 312 remov es or deletes the detected force  value for the highest tension cable and replaces it with the predetermined value.   [00118]      At act S205, the processor 312 calculates a threshol d for the wrist based  on a sum of the predetermined value for the highest  tension cable and detected forces  for remaining cables in the plurality of cables. The  threshold corresponds to a failure of  the highest tensioned cable, represented by the prede termined value, and the threshold  fluctuates according to the forces that are being me asured for the other cables.  The  threshold may correspond to any joint of the wrist  such as roll, pitch, or yaw.  [00119]      At act S207, the processor 312 also receives sensor data for the wrist. The  sensor data may be generated by a torque sensor cou pled to the wrist. A different  sensor may be used for each of the joints of the  wrist.   [00120]      At act S209, the processor 312 performs a comparison  of the received  joint torque value for the wrist to a variable wris t torque threshold. In some examples,  the comparison results in an indication (e.g., failur e or alert) when the received joint  torque value exceeds the variable wrist torque thresh olds (e.g., either less than the  minimum value when the variable wrist torque threshol d is a minimum threshold or  greater than the maximum value when the variable wri st torque threshold is a maximum  threshold). In some examples, the comparison results  in an indication (e.g., failure or  alert) when the received joint torque value reaches  a predetermined range of the  variable wrist torque threshold. The predetermined ran ge may indicate that the  threshold is becoming close to being met. In other  words, the end effector may have just  begun to contact the hardstop. The predetermined rang e is an indication that the end  effector is at risk of hitting the hardstop.   [00121]      At act S211, the processor 312 identifies a hardstop  or risk of hardstop  based on the comparison of the received joint torque  value for the wrist to the variable  wrist torque threshold. When the hardstop is contacte d, the processor 312 may instruct  the associated actuators 238 to stop or stop increas ing or decreasing depending on  whether a maximum threshold or a minimum threshold i s passed. When the comparison  indicates that the received joint torque is within t he predetermined range of the  threshold, the processor 312 may modify the commands such that one or more  velocities of the associated actuators 238 is reduced . The amount of reduction may be  calculated in proportion to the difference between th e received joint torque value and  the variable wrist torque threshold. In either case, an instruction message may be  displayed for the user. When the comparison indicates  that the received joint torque  value returns to the interval between the minimum an d maximum for the variable wrist  torque threshold, the processor 312 returns the proce ss to normal operation and/or  stops modifying commands received from the user.  [00122]       Herein, the phrase “coupled with” is defined to  mean directly connected  to or indirectly connected through one or more inter mediate components. Such  intermediate components may include both hardware‐ a nd software‐ based  components. Further, to clarify the use in the pendi ng claims and to hereby provide  notice to the public, the phrases “at least one o f <A>, <B>, … and <N>“ or “at  least one  of <A>, <B>, … <N>, or combination s thereof” are defined by the Applicant in the  broadest sense, superseding any other implied definiti ons hereinbefore or hereinafter  unless expressly asserted by the Applicant to the co ntrary, to mean one or more  elements selected from the group comprising A, B,   and N, that is to say, any  combination of one or more of the elements A, B,   or N including any one element  alone or in combination with one or more of the ot her elements which may also include,  in combination, additional elements not listed.   [00123]      The disclosed mechanisms may be implemented at any l ogical and/or  physical point(s), or combinations thereof, at which  the relevant information/data (e.g.,  message traffic and responses thereto) may be monitor ed or flows or is otherwise  accessible or measurable, including one or more gatew ay devices, modems, computers  or terminals of one or more market participants, e.g ., client computers, etc.  [00124]      One skilled in the art will appreciate that one or more modules described  herein may be implemented using, among other things, a tangible computer‐readable  medium comprising computer‐executable instructions (e. g., executable software code).  Alternatively, modules may be implemented as software code, firmware code,  specifically configured hardware or processors, and/or a combination of the  aforementioned.   [00125]      The operations of computer devices and systems shown in Figures 1‐25  may be controlled by computer‐executable instructions  stored on a non‐transitory  computer‐readable medium. For example, the exemplary computer device or control  unit 210 may store computer‐executable instructions, generate electronic messages,  extracting information from the electronic messages, e xecuting actions relating to the  electronic messages, and/or calculating values from th e electronic messages to facilitate  any of the algorithms or acts described herein. Nume rous additional servers, computers,  handheld devices, personal digital assistants, telephon es and other devices may also be  connected to control unit 210.   [00126]      As illustrated in FIG. 3, the computer system may i nclude a processor 312  implemented by a central processing unit (CPU), a gr aphics processing unit (GPU), or  both. The processor 312 may be a component in a va riety of systems. For example, the  processor 312 may be part of a standard personal co mputer or a workstation. The  processor 312 may be one or more general processors,  digital signal processors,  specifically configured processors, application specific  integrated circuits, field  programmable gate arrays, servers, networks, digital c ircuits, analog circuits,  combinations thereof, or other now known or later de veloped devices for analyzing and  processing data. The processor 312 may implement a s oftware program, such as code  generated manually (i.e., programmed).   [00127]      The computer system includes memory 314 that can com municate via a  bus. The memory 314 may be a main memory, a static  memory, or a dynamic memory.  The memory 314 may include, but is not limited to, computer‐readable storage media  such as various types of volatile and non‐volatile storage media, including but not  limited to random‐access memory, read‐only memory, programmable read‐only  memory, electrically programmable read‐only memory, e lectrically erasable read‐only  memory, flash memory, magnetic tape or disk, optical media and the like. In one  embodiment, the memory 314 includes a cache or rando m‐access memory for the  processor 312. In alternative embodiments, the memory 314 is separate from the  processor 312, such as a cache memory of a processo r, the system memory, or other  memory. The memory 314 may be an external storage d evice or database for storing  data. Examples include a hard drive, compact disk ( CD”), digital video disc (“DVD”),  memory card, memory stick, floppy disk, universal ser ial bus (“USB”) memory device, or  any other device operative to store data. The memory  314 is operable to store  instructions executable by the processor 312. The fun ctions, acts or tasks illustrated in  the figures or described herein may be performed by the programmed processor 312  executing the instructions stored in the memory 314. The functions, acts or tasks are  independent of the particular type of instructions se t, storage media, processor or  processing strategy and may be performed by software,  hardware, integrated circuits,  firmware, micro‐code and the like, operating alone  or in combination. Likewise,  processing strategies may include multiprocessing, mult itasking, parallel processing and  the like.  [00128]      The computer system may further include a display un it 319, such as a  liquid crystal display (LCD), an organic light emitti ng diode (OLED), a flat panel display, a  solid‐state display, a cathode ray tube (CRT), a p rojector, a printer or other now known  or later developed display device for outputting dete rmined information. The display  319 may act as an interface for the user to see t he functioning of the processor 312, or  specifically as an interface with the instructions st ored in the memory 314 or elsewhere  in the control unit 210.   [00129]      Additionally, the computer system may include an inpu t device 317  configured to allow a user to interact with any of the components of the system. The  input device 317 may be a number pad, a keyboard,  or a cursor control device, such as a  mouse, or a joystick, touch screen display, remote c ontrol or any other device operative  to interact with the control unit 210.  [00130]      The present disclosure contemplates a computer‐readab le medium that  includes instructions or receives and executes instruc tions responsive to a signal, so that  a device connected to a network can communicate voic e, video, audio, images or any  other data over the network. Further, the instruction s may be transmitted or received  over the network via a communication interface 318.  The communication interface 318  may be a part of the processor 312 or may be a s eparate component. The  communication interface 218 may be a physical connect ion in hardware. The  communication interface 318 is configured to connect  with a network, external media,  the display unit 319, or any other components in th e system, or combinations thereof.  The connection with the network may be a physical c onnection, such as a wired  Ethernet connection or may be established wirelessly. Likewise, the additional  connections with other components of the system may  be physical connections or may  be established wirelessly.   [00131]      The illustrations of the embodiments described herein are intended to  provide a general understanding of the structure of  the various embodiments. The  illustrations are not intended to serve as a complet e description of all of the elements  and features of apparatus and systems that utilize t he structures or methods described  herein. Many other embodiments may be apparent to th ose of skill in the art upon  reviewing the disclosure. Other embodiments may be ut ilized and derived from the  disclosure, such that structural and logical substitut ions and changes may be made  without departing from the scope of the disclosure.  Additionally, the illustrations are  merely representational and may not be drawn to scal e. Certain proportions within the  illustrations may be exaggerated, while other proporti ons may be minimized.  Accordingly, the disclosure and the figures are to b e regarded as illustrative rather than  restrictive.   [00132]      While this specification contains many specifics, thes e should not be  construed as limitations on the scope of the inventi on or of what may be claimed, but  rather as descriptions of features specific to partic ular embodiments of the invention.  Certain features that are described in this specifica tion in the context of separate  embodiments can also be implemented in combination in  a single embodiment.  Conversely, various features that are described in th e context of a single embodiment  can also be implemented in multiple embodiments separ ately or in any suitable sub‐ combination. Moreover, although features may be descri bed as acting in certain  combinations and even initially claimed as such, one or more features from a claimed  combination can in some cases be excised from the c ombination, and the claimed  combination may be directed to a sub‐combination or  variation of a sub‐combination.  [00133]      Similarly, while operations are depicted in the drawi ngs and described  herein in a particular order, this should not be un derstood as requiring that such  operations be performed in the particular order shown  or in sequential order, or that all  illustrated operations be performed, to achieve desira ble results. In certain  circumstances, multitasking and parallel processing may  be advantageous. Moreover,  the separation of various system components in the d escribed embodiments should not  be understood as requiring such separation in all em bodiments, and it should be  understood that the described program components and  systems can generally be  integrated together in a single software product or  packaged into multiple software  products.