Aiding risk mitigation during motion of a surgical robot

The control system aids in mitigating surgical robotic collisions by providing visual and haptic feedback to adjust input devices, ensuring continuous surgical control and reducing workflow disruptions.

WO2026104803A1PCT designated stage Publication Date: 2026-05-21CMR SURGICAL LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
CMR SURGICAL LTD
Filing Date
2025-11-11
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

Existing surgical robotic systems face disruptions and increased operation times due to collision events, which require pausing surgery and switching to compliant mode, disrupting the surgical workflow.

Method used

A control system that detects impending trajectory limits and calculates directions to move the surgical robot away from these limits, providing visual and haptic feedback to the surgeon to adjust their input device, allowing continuous control without crossing the limits.

Benefits of technology

Enables continuous surgical control by avoiding collisions and trajectory limits, reducing surgery disruptions and operation times.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure GB2025052454_21052026_PF_FP_ABST
    Figure GB2025052454_21052026_PF_FP_ABST
Patent Text Reader

Abstract

A control system for aiding risk mitigation whilst controlling motion of a surgical robot. The control system receives an input signal from a surgeon input device at a surgeon console and sends an output signal to the surgical robot to cause motion of the surgical robot in accordance with the input signal. The control system: detects that the surgical robot has reached but not crossed a trajectory limit, and in response: calculates a direction or range of directions to move the surgical robot in so as to move the surgical robot away from the trajectory limit; transforms the calculated direction or range of directions to move the surgical robot in into a transformed direction or range of directions to move the surgeon input device in; and outputs an indication of the transformed direction or range of directions to the surgeon console comprising outputting a haptic indication to the surgeon input device in the transformed direction.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] AIDING RISK MITIGATION DURING MOTION OF A SURGICAL ROBOT

[0002] BACKGROUND

[0003] It is known to use robots for assisting and performing surgery. Figure 1 illustrates a typical surgical robotic system. A surgical robot 100 consists of a base 102, an arm 104 and an instrument 106. The base supports the robot, and may itself be attached rigidly to, for example, the operating theatre floor, the operating theatre ceiling or a cart. The arm extends between the base and the instrument. The arm is articulated by means of multiple flexible joints 108 along its length, which are used to locate the surgical instrument in a desired location relative to the patient. The surgical instrument is attached to the distal end of the robot arm. The surgical instrument comprises a shaft connected to a distal end effector 110 by a jointed articulation 111. The instrument penetrates the body of the patient at a port and extends into the body such that the end effector is located at the surgical site, where it engages in a surgical procedure.

[0004] A surgeon controls the surgical robot 100 via a remote surgeon console 112. The surgeon console comprises one or more surgeon input devices 114. These may take the form of a hand controller or foot pedal, for example. The surgeon console also comprises a display 116.

[0005] A control system 118 connects the surgeon console 112 to the surgical robot 100. The control system receives sensory inputs from the robot 100 and command inputs from the surgeon input device(s) 114. The control system uses these inputs to calculate control signals to move the joints of the robot arm 104 and instrument 106. The control system sends these control signals to the robot, where the corresponding joints are driven accordingly.

[0006] A typical surgical robotic system comprises two or more surgical robots 100, each connected to control system 118, and each under the control of one of the surgeon input devices 114 at the surgeon console. The surgical instrument attached to the end of the surgical robots in the system may be different. For example, one may be an implement for performing surgery such as graspers or a scalpel, whilst another may be an endoscope for illuminating the surgical site and imaging the surgery.

[0007] During surgery, events occur which are problematic for the continuance of the surgery. When these events occur, the surgical robot is in a position or configuration in which the control system cannot or should not carry out a commanded motion from the surgeon input device. As an example, the surgical robot may have been involved in a collision, either with an external object such as another surgical robot of the system, or with itself. If the surgeon input device were to command a movement which would cause the surgical robot to move further into the collision, that movement might not be possible or sensible for the surgical robot to try to carry out. Trying to drive the robot arm joints to carry out that movement might damage the surgical robot and / or the object with which it collided. Even if the surgical robot itself is not damaged, the unexpected external force on the surgical robot is likely to counter the commanded motion from the surgeon input device such that the instrument tip does not move as commanded by the surgeon.

[0008] Methods to recover from collisions, and methods to avoid collisions from happening are known. These methods generally involve pausing the surgery and disconnecting the surgeon input device from controlling the surgical robot, such that movement of the surgeon input device does not affect the position of the surgical robot. The surgical robot is then placed in a compliant mode in which members of the operating room can manipulate the robot arm. Thus, a member of the operating room moves the robot arm away from the site of the collision or potential collision. Once the problematic event has been mitigated in this way, the surgical robot is put back into surgical mode. Control of the surgical robot by the surgeon input device is reengaged, such that movement of the surgeon input device once again controls the position of the end effector. The surgery can thus resume. Whilst effective at resolving the collision or potential collision, these methods significantly disrupt the surgical workflow and increase operation times.

[0009] Some surgical systems utilise surgical robots with arms having one or more redundant joint. Collision avoidance methods are known for such systems which utilise the redundancy to try to avoid collisions whilst enabling the surgeon to continue the surgery. Upon detecting that a collision is imminent, the control system tries to utilise the redundancy of the robot arm to move the robot arm in such a way as to avoid the collision without changing the position or orientation of the end effector. Thus, the collision avoidance method can be implemented alongside carrying out other motion commanded by the surgeon input device. Whilst effective in some collision scenarios, others cannot be avoided solely by utilising the redundancy of the robot arm, i.e. without moving the position or orientation of the end effector.

[0010] There is a need for an improved response to events which are problematic for the continuance of the surgical procedure, which mitigates the risk of the event whilst enabling the surgeon to continue operative control of the end effector via manipulation of the surgeon input device.

[0011] SUMMARY OF THE INVENTION

[0012] According to an aspect of the invention, there is provided a control system for aiding risk mitigation whilst controlling motion of a surgical robot, the control system being configured to receive an input signal from a surgeon input device at a surgeon console and send an output signal to the surgical robot to cause motion of the surgical robot in accordance with the input signal, the control system being further configured to: detect that the surgical robot has reached but not crossed a trajectory limit; in response to detecting that the surgical robot has reached but not crossed the trajectory limit: calculate a direction or range of directions to move the surgical robot in so as to move the surgical robot away from the trajectory limit; transform the calculated direction or range of directions to move the surgical robot in into a transformed direction or range of directions to move the surgeon input device in; and output an indication of the transformed direction or range of directions to the surgeon console.

[0013] Outputting the indication may comprise outputting a visual indication of the transformed direction or range of directions on a display at the surgeon console.

[0014] The visual indication may comprise an arrow pointing in the transformed direction or a direction of the transformed range of directions. The arrow may convey the transformed direction or a direction of the transformed range of directions in 3-dimensions.

[0015] The arrow may be overlaid on an image of a surgical site on the display, located over or proximal to an instrument at the surgical site, the instrument being under the control of the surgeon input device.

[0016] The visual indication may represent a volume encompassing the transformed range of directions.

[0017] The volume may be overlaid on an image of a surgical site on the display, located over or proximal to an instrument at the surgical site, the instrument being under the control of the surgeon input device.

[0018] Outputting the indication may comprise outputting a haptic indication of the transformed direction to the surgeon input device.

[0019] The haptic indication may comprise applying a force to the surgeon input device in the transformed direction.

[0020] The force may be between 0 and 3N.

[0021] The haptic indication may only be output following actuation of an input on the surgeon input device.

[0022] The haptic indication may only be output for the duration that the input on the surgeon input device is actuated.

[0023] The control system may be further configured to: receive an input signal indicating movement of the surgeon input device in the transformed direction or a direction within the transformed range of directions; and send an output signal to the surgical robot to cause motion of the surgical robot in accordance with the input signal received from the surgeon input device.

[0024] The control system may, whilst performing the steps listed above, respond to input signals from the surgeon input device by sending output signals to the surgical robot to cause motion of the surgical robot in accordance with the input signal.

[0025] The control system may, for each input signal from the surgeon input device: determine if the input signal indicates movement of the surgeon input device towards the trajectory limit; send output signals to the surgical robot to cause motion of the surgical robot in accordance with input signals which are determined not to indicate movement of the surgeon input device towards the trajectory limit; and prevent output signals to the surgical robot being generated in response to those input signals which are determined to indicate movement of the surgeon input device towards the trajectory limit.

[0026] The control system may, as the surgical robot moves in accordance with input signals from the surgeon input device, iteratively recalculate the state of the surgical robot relative to the trajectory limit, and if the surgical robot is within a predefined proximity of the trajectory limit: recalculate a direction or range of directions to move the surgical robot in so as to move the surgical robot away from the trajectory limit; transform the calculated direction or range of directions to move the surgical robot in into a transformed direction or range of directions to move the surgeon input device in; and output an indication of the transformed direction or range of directions to the surgeon console.

[0027] The control system may, upon determining that the surgical robot is outside the predefined proximity to the trajectory limit, end the risk mitigation aiding process.

[0028] The trajectory limit may be one or more of: a collision site, a predefined proximity to a collision site, a workspace boundary, a predefined proximity to a workspace boundary, a range of motion limit of a joint of the surgical robot, and a predefined proximity to a range of motion limit of a joint of the surgical robot. The control system may calculate a direction to move the surgical robot in so as to move the surgical robot away from the trajectory limit by calculating a volume, the direction being along an axis defining a geometric middle of the volume.

[0029] The control system may calculate a direction to move the surgical robot in so as to move the surgical robot away from the trajectory limit by calculating a volume, and determining the direction to be along an axis within that volume which satisfies a set of criteria, those criteria including one or more of: being within a predefined proximity to the geometric middle of the volume; being outside a predefined proximity to another trajectory limit; and being outside a predefined proximity to the site of a previous collision.

[0030] BRIEF DESCRIPTION OF THE FIGURES

[0031] The present invention will now be described by way of example with reference to the accompanying drawings. In the drawings:

[0032] Figure 1 illustrates a surgical robot system for performing a surgical procedure;

[0033] Figure 2 illustrates a surgical robot arm;

[0034] Figure 3 illustrates an exploded view of the joints of the surgical robot arm of figure 2; Figure 4 is a schematic diagram illustrating the control system of a surgical robotic system; and

[0035] Figure 5 is a flowchart of a control method for aiding risk mitigation whilst controlling motion of a surgical robot.

[0036] DETAILED DESCRIPTION

[0037] The following describes a surgical robotic system of the type illustrated and described with reference to figure 1. The surgical robotic system comprises one or more surgical robots comprising a surgical robot arm and surgical instrument, along with a remote surgeon console. The remote surgeon console is connected to the surgical robot arm(s) via a control system. The control system includes a central controller located remotely from the surgical robot arm(s). The control system may also include a robot arm controller per surgical robot arm co-located with that surgical robot arm. The control system and methods described in the following are done so with respect to a surgical robot arm holding a surgical instrument having an end effector at its distal end for manipulating tissue of a patient at a surgical site. The end effector may be, for example, a pair of jaws, scalpel, suturing needle etc. However, the same surgical robot arm, control system and methods apply equally to a surgical instrument which is an endoscope having a camera at its distal end for capturing a video feed of a surgical site.

[0038] Figure 2 illustrates an exemplary surgical robot 200. The robot comprises a base 201 which is fixed in place when a surgical procedure is being performed. Suitably, the base 201 is mounted to a support structure. In figure 2, the support structure is a cart 210. This cart may be a bedside cart for mounting the robot at bed height. Alternatively, the support structure may be a ceiling mounted device, or a bed mounted device.

[0039] A robot arm 202 extends from the base 201 of the robot to a terminal end 203 for attaching to a surgical instrument 204. The arm is flexible. It is articulated by means of multiple flexible joints 205 along its length. In between the joints are rigid arm links 206. Suitably, the joints are revolute joints. The robot arm has at least seven joints between the base and the terminal end. The robot arm 200 illustrated in figure 2 has eight joints in total between the base 201 and the terminal end 203. The robot arm illustrated in figure 2 has only eight joints between the base and the terminal end. The joints include one or more roll joints (which have an axis of rotation along the longitudinal direction of the arm links on either side of the joint), one or more pitch joints (which have an axis of rotation transverse to the longitudinal direction of the preceding arm link), and one or more yaw joints (which also have an axis of rotation transverse to the longitudinal direction of the preceding arm link and also transverse to the rotation axis of a co-located pitch joint). In the example of figure 2: joints 205a, 205c, 205e and 205h are roll joints; joints 205b, 205d and 205f are pitch joints; and joint 205g is a yaw joint. The order of the joints sequentially from the base 201 of the robot arm to the terminal end 203 of the robot arm is: roll, pitch, roll, pitch, roll, pitch, yaw, roll. There are no intervening joints in figure 2.

[0040] The joints of the surgical robot arm of figure 2 are illustrated on figure 3. The robot arm is articulated by eight joints. Roll joint Ji 205a is adjacent to the base 201, and is followed by a pitch joint J2205b. The pitch joint J2 has a rotation axis perpendicular to the rotation axis of the roll joint Ji. Roll joint J3 205c is adjacent to the pitch joint J2, and is followed by a pitch joint J4 205d. The pitch joint J4 has a rotation axis perpendicular to the rotation axis of the roll joint J3. Roll joint J5 205e is adjacent to the pitch joint J4, and is followed by a pitch joint Je205f and a yaw joint J7205g, followed by a roll joint Js 205h. The pitch joint Je and yaw joint form a compound joint, which may be a spherical joint. The pitch joint Je and the yaw joint J7 have intersecting axes of rotation.

[0041] The end of the robot arm distal to the base can be articulated relative to the base by movement of one or more of the joints of the arm. The rotation axes of the set of distal joints Js, Je, J7 and Js all intersect at a point on the surgical robot arm. Reference is made to a wrist. Suitably, the wrist is a portion of the robot arm which rigidly couples to the distal end of an instrument when that instrument is attached to the robot arm. The wrist has a position and an orientation. For example, the position of the wrist may be the intersection of the rotation axes of J5, Je, J7 and Js. Alternatively, the position of the wrist may be the intersection of one or more rotation axes of joints of the instrument. Alternatively, the position of the wrist may be the intersection of one or more rotation axes of the distal joints of the robot arm and one or more rotation axes of joints of the instrument. The surgical robot arm illustrated in figures 2 and 3 has a redundant joint. For a given position of the wrist relative to the base of the surgical robot arm, there is more than one configuration of the joints Ji to J4. Thus, the surgical robot arm can adopt different poses whilst maintaining the same wrist position.

[0042] The surgical robot arm could be jointed differently to that illustrated in figures 2 and 3. For example, the arm may have fewer than eight or more than eight joints. The arm may include joints that permit motion other than rotation between respective sides of the joint, for example a telescopic joint.

[0043] Returning to figure 2, the surgical robot arm comprises a set of motors 207. Each motor 207 drives one or more of the joints 205. Each motor 207 is controlled by a joint controller. The joint controller may be co-located with the motor 207. A joint controller may control one or more of the motors 207. The robot arm comprises a series of sensors 208, 209. These sensors comprise, for each joint, a position sensor 208 for sensing the position of the joint, and a torque sensor 209 for sensing the applied torque about the joint's rotation axis. The torque applied about a joint's rotation axis includes any one or combination of the following components: torque due to gravity acting on the joint, torque due to inertia, and torque due to an external force applied to the joint. One or both of the position and torque sensors for a joint may be integrated with the motor for that joint. The outputs of the sensors are passed to the control system.

[0044] The surgical instrument 204 attaches to a drive assembly at the terminal end of the robot arm 203. This attachment point is at all times external to the patient. The surgical instrument 204 has an elongate profile, with a shaft spanning between its proximal end which attaches to the robot arm and its distal end which accesses the surgical site within the patient's body. The surgical instrument may be configured to extend linearly parallel with the rotation axis of the joint 205h of the arm. For example, the surgical instrument may extend along an axis coincident with the rotation axis of the joint 205h of the arm.

[0045] The proximal end of the surgical instrument and the instrument shaft may be rigid with respect to each other and rigid with respect to the distal end of the robot arm when attached to it. An incision is made into the patient's body, through which a port is inserted. The surgical instrument may penetrate the patient's body through the port to access the surgical site. Alternatively, the surgical instrument may penetrate the body through a natural orifice of the body to access the surgical site. At the proximal end of the instrument, the shaft is connected to an instrument interface. The instrument interface engages with the drive assembly at the distal end of the robot arm. Specifically, individual instrument interface elements of the instrument interface each engage a respective individual drive assembly interface element of the drive assembly. The instrument interface is releasably engageable with the drive assembly. The instrument can be detached from the robot arm manually without requiring any tools. This enables the instrument to be detached from the drive assembly quickly and another instrument attached during an operation.

[0046] At the distal end of the surgical instrument, the distal end of the instrument shaft is connected to an end effector by an articulated coupling. The end effector engages in a surgical procedure at the surgical site. The end effector may be, for example, a pair of jaws, a pair of monopolar scissors, a needle holder, a fenestrated grasper, or a scalpel. The articulated coupling comprises several joints. These joints enable the pose of the end effector to be altered relative to the direction of the instrument shaft. The end effector itself may also comprise joints. The end effector illustrated in figures 2 and 3 has a pair of opposing end effector elements 307, 308. The joints of the end effector are illustrated on figure 3 as a pitch joint 301, a yaw joint 302 and a pinch joint 303. The pitch joint 301 is adjacent to the shaft of the instrument and rotates about an axis perpendicular to the longitudinal axis of the instrument shaft. The yaw joint 302 has a rotation axis perpendicular to the rotation axis of the pitch joint 301. The pinch joint 303 determines the spread of the end effector elements. In practice, the pinch joint 303 may be another yaw joint which has the same rotation axis as the yaw joint 302. Independent operation of the two yaw joints 302, 303 can cause the end effector elements to yaw in unison, and / or to open and close with respect to each other.

[0047] Drive is transmitted from the robot arm to the end effector in any suitable manner. For example, the joints of the instrument may be driven by driving elements such as cables, push rods or push / pull rods. These driving elements engage the instrument interface at the proximal end of the instrument. The drive assembly at the terminal end of the robot arm comprises instrument drive joints which transfer drive from the surgical robot arm to the instrument interface via the respective interface elements described above, and thereby to the instrument joints. These instrument drive joints are shown on figure 3 as joints J9, J10 and Ju. Figure 3 illustrates three instrument drive joints, each one of which drives one of the three joints of the instrument.

[0048] Suitably, the instrument drive joints are the only means by which drive is transferred to the instrument joints. The robot arm may have more or fewer than three instrument drive joints. The surgical instrument may have more or fewer than three joints. The instrument drive joints may have a one-to-one mapping to the instrument joints that they drive, as shown in figure 3. Alternatively, an instrument drive joint may drive more than one instrument joint.

[0049] The surgeon console is located remotely from the one or more surgical robot arms of the surgical robotic system. The surgeon console comprises one or more surgeon input devices and a display. Each surgeon input device enables the surgeon to provide a control input to the control system. A surgeon input device may, for example, be a hand controller, a foot controller such as a pedal, a touch sensitive input to be controlled by a finger or another part of the body, a voice control input device, an eye control input device or a gesture control input device. The surgeon input device may provide several inputs which the surgeon can individually operate.

[0050] For example, the surgeon input device may be a hand controller connected to the surgeon console, for example by a gimbal arrangement. This enables the hand controller to be moved with three degrees of translational freedom with respect to the surgeon console. Such movement may be used to command corresponding movement of the end effector of the instrument. The hand controller may also be rotated with respect to the surgeon console. Such movement may be used to command corresponding rotation of the end effector of the instrument. The hand controller may also have one or more actuatable buttons, switches, sliders, levers, joystick or touch pad. These may be used to control further actions, such as clutching (i.e. disabling and reenabling operative control of the end effector via the hand controller), applying energy (for an electrosurgical instrument), and controlling the view displayed on the console display.

[0051] The surgeon console may comprise two or more surgeon input devices. Each surgeon input device may be used to control a different surgical instrument. Thus, for example, a surgeon may control one surgical instrument using a hand controller in his left hand, and control another surgical instrument using a hand controller in his right hand.

[0052] A control system connects the surgeon console to the one or more surgical robots. Such a control system is illustrated in figure 4. The surgeon console 401 is connected by a bidirectional communications link to a central controller 402. Specifically, the surgeon input device(s) of the surgeon console 401 are communicatively coupled to the central controller 402. The central controller 402 is connected by a bi-directional communications link to an arm controller 403, 404, 405 of each surgical robot arm of the surgical robotic system. Each arm controller is co-located with a surgical robot arm. The arm controller may be located in the surgical robot arm. Alternatively, the arm controller may be located in the support structure which supports the surgical robot arm, for example in the cart onto which the surgical robot arm is mounted. The central controller is remotely located from at least one of the surgical robot arms. Suitably, the central controller is remotely located from all the surgical robot arms in the surgical robotic system. The central controller may be located at the surgeon console. Alternatively, the central controller may be co-located with one of the arm controllers. The central controller may be located remote from both the surgeon console and all the arm controllers.

[0053] The central controller comprises a processor 406 and a memory 407. The memory 407 stores, in a non-transient way, software code that can be executed by the processor 406 to cause the processor to control the surgeon console and the one or more surgical robot arms and instruments in the manner described herein.

[0054] Each of the arm controllers comprises a processor 408 and a memory 409. The memory 409 stores, in a non-transient way, software code that can be executed by the processor 408 to cause the processor to control the surgeon console and the one or more surgical robot arms and instruments in the manner described herein.

[0055] The central controller 402 receives commands from the surgeon input device(s). The commands from the surgeon input device indicate a change in the desired position and / or pose of a distal end of a surgical instrument. The control system converts the commands received from the surgeon input device to drive signals. This conversion is carried out by one or a combination of the central controller and the surgical robot arm controller of the surgical robot arm associated with the surgeon input device. The robot arm controller sends the drive signals to the joint controllers of the surgical robot arm and / or surgical instrument associated with the surgeon input device. Those joint controllers respond by driving the joint motors accordingly. The joints are thereby driven to cause the end effector to adopt the desired position and / or pose commanded by the surgeon input device. Manipulation of the surgical instrument is thereby controlled by the control system in response to manipulation of the surgeon input device.

[0056] The control system receives inputs from the position and torque sensors on the joints of the surgical robot arms. The control system determines the current configuration of a surgical robot arm using the known sequence of joints and links in the arm, and the sensed joint positions. From the current configuration of the surgical robot arm and the attached surgical instrument, and the known mass and dimensions of the links and joints of the robot arm and instrument, the control system determines the torque due to gravity acting on each joint. The control system sends gravity compensating drive signals to the joint controllers of the robot arm. The joint controllers respond by driving the joint motors so as to counteract the force ofgravity acting on each joint. In other words, each joint motor applies a torque which exactly opposes the calculated gravitational force acting on the joint. In the absence of commands from the surgeon input device and / or external forces (other than gravity) acting on the robot arm, the robot arm is thereby held in position against gravity. It does not droop under the force of gravity. In practice, each drive signal sent by the control system to a joint controller for driving a joint motor may be resolved into a component which drives the joint in accordance with the input received from the surgeon input device, and a component which counteracts gravity.

[0057] The control system may drive the surgical robot in a compliant manner so as to conform to external forces applied to the surgical robot. Specifically, the torque sensors 209 detect external forces applied to the robot arm. The external force may be, for example, a member of the bedside team applying a force to the robot arm (for example by pushing the robot arm). As described above, the sensed torque about a joint's rotation axis includes any one or combination of the following components: torque due to gravity acting on the joint, torque due to inertia, and torque due to an external force applied to the joint. The control system deducts the torques due to gravity and inertia from the sensed torque about a joint to determine the component of the torque about that joint due to an external force. The control system then determines drive signals to drive the joint so as to conform with the external force. The control system sends the drive signals to the joint controller controlling that joint. The joint controller controls the motor of that joint to drive the joint as commanded by the control system. In this way, when external forces are applied to joints of the robot arm, each joint is driven to comply with those forces. Thus, the robot arm is compliant to the force applied to it by an operator. A surgical robot is operable in a number of different operating modes. In a surgical mode, the surgical robot moves under the control of the surgeon input device whilst the surgical instrument is located inside the patient's body at the surgical site. More specifically, the control system responds to inputs from the surgeon input device by determining movements of the joints of the surgical robot arm and surgical instrument which would cause the end effector of the surgical instrument to move as commanded by the surgeon input device. The control system also determines movements of the joints of the surgical robot arm to counteract gravity. The control system then sends control signals to the joint controllers of the surgical robot arm which cause the joint controllers to drive the surgical robot arm joints accordingly. The surgical mode may be a partially compliant mode, or a fully non-compliant mode. If non-compliant, then the control system will not drive the robot arm to conform to any external forces acting on the robot arm, except so as to counteract gravity. If partially compliant, the control system may drive the robot arm to conform to some external forces acting on the arm. For example, the control system may respond to an external force by conforming to that external force if it is able to do so without moving changing the position or orientation of the distal end of the robot arm from that commanded by the surgeon input device. For example, the control system may conform to a force applied to the elbow joint 205d.

[0058] In a calibration mode, the surgical robot is fully compliant. Thus, the control system responds to external forces acting on the robot arm by driving the robot arm joints to conform to those forces. The calibration mode is primarily used during setup of the surgical robotic system prior to the beginning of the surgery. For example, a surgical instrument may be attached to the robot arm during the calibration mode and a member of bedside staff may manoeuvre the robot arm so as to insert the surgical instrument into the port in the patient's body along the desired direction to reach the surgical site. Should a robot arm and its support structure be moved, or relocated during an operation, the calibration mode is used again to manoeuvre the robot arm into position. In the calibration mode, the control system does not convert detected manipulation of the surgeon input device(s), or any other input from the surgeon input device(s), to drive signals for moving joints of the robot arm. Events occur whilst in surgical mode which are problematic for the continuance of the surgery. These events occur where the surgical robot is in a position or configuration in which the control system cannot or should not carry out a commanded motion from the surgeon input device. This is because to do so could cause damage to the surgical robot arm or instrument or the patient. The surgery is halted until the event has been dealt with. Examples of such events include:

[0059] a collision between the surgical robot arm and an object external to the surgical robot, such as another surgical robot arm.

[0060] a collision between the surgical robot arm and itself.

[0061] a part of the surgical robot arm has reached a workspace boundary. The workspace of a surgical robot arm may be bounded by objects external to it, such as a wall of the operating theatre and the patient bed.

[0062] the surgical instrument has reached a workspace boundary,

[0063] the surgeon input device has reached a workspace boundary.

[0064] one or more joints of the surgical robot arm have reached a limit of their range of motion.

[0065] During surgical mode, the control system commands joint positions of the joints of a surgical robot arm in the control signals it sends to the joint controllers of the arm. During surgical mode, the control system continually receives sensed positions of the joints of the surgical robot arm from the position sensors at the robot arm joints. For each joint, the control system performs a control loop in which it commands a joint position, following which it receives a sensed position of that joint, and then compares the sensed joint position to the commanded joint position to determine a joint position error. In the next iteration of the control loop, the control system generates the next commanded joint position for that joint so as to minimise the position error. If the joint position error persists in subsequent iterations of the control loop, and the control system also detects a spike in the current through the motor driving the joint, then the control system concludes that the robot arm has experienced a clash. The clash may be a collision, either with an external object or itself. The clash may be that the robot arm or surgical instrument has reached a workspace boundary. This clash detection method may be carried out at the arm controller of the surgical robot arm which has experienced the clash. The arm controller subsequently sends a clash detection signal to the central controller. Alternatively, the clash detection method may be carried out at the central controller. Alternatively, the clash detection method may be partially carried out at the arm controller of the surgical robot arm which has experienced the clash and partially carried out at the central controller.

[0066] Each joint of a surgical robot arm has a range of motion over which it can move, for example a range of joint angles through which it can rotate about its axis. That range of motion is bounded at either end by a joint limit. The control system stores in memory the joint limits of each joint. For each joint, the control system performs a control loop in which it compares the commanded joint position to the joint limits. If the commanded joint position matches or exceeds the joint limit, then the control system concludes that the joint limit has been reached. Alternatively, or in addition, for each joint, the control system may perform a control loop in which it compares the sensed position of the joint (from the position sensor at the joint) to the joint limits. If the sensed joint position matches or exceeds the joint limit, then the control system concludes that the joint limit has been reached.

[0067] The surgeon input device has a workspace. For example, a hand controller is tethered to the surgeon console via a gimbal arrangement and linkage, and thus has a limited volume within which it can be moved around. This volume is the hand controller workspace and is bounded by a workspace boundary. That workspace boundary may be defined by the mechanical joint limits of the joints of the hand controller gimbal arrangement and linkage. The control system tracks the position of the hand controller within the workspace from sensed positions received from position sensors at the joints of the hand controller gimbal arrangement and linkage. The control system thus determines when the hand controller has reached the boundary of the workspace.

[0068] The surgical instrument has a workspace boundary. This may be bounded in part by physical structures within the body, such as the interior of the abdomen wall. It may also be bounded by limits on the range of depths of the instrument tip within the body. The control system calculates a natural rotation centre of the instrument when the instrument is inserted into the body. The natural rotation centre lies at a point along the length of the port. The control system calculates the position of the instrument tip relative to that natural centre of rotation. The instrument's workspace is bounded by a minimum and maximum distance of the instrument tip from the natural centre of rotation. The control system thus determines when the instrument tip has reached the boundary of its workspace.

[0069] Events such as those listed above can be addressed by changing the mode of the surgical robot from the surgical mode to the calibration mode. The surgeon input device is disengaged from operatively controlling the surgical robot. The calibration mode is a fully compliant mode, thus a member of the operating room staff may move the arm, as described above in a compliant manner, in order to move the surgical robot away from the location of the event. Once the surgical robot has been moved away from the site of the event, the mode can then be changed back to surgical mode, and the surgery resumed. This approach is a safe process for mitigating the risk caused by the event. However, it can result in significant delays to the surgery should such events frequently occur, alongside significant frustration for the surgeon and other operating room staff.

[0070] The following describes an approach which enables resolution of events such as those described above, whilst allowing the surgeon to retain control of the surgery. The control system aids risk mitigation by detecting that an event has happened, or will happen if the current motion is maintained, and aids the surgeon to cause the surgical robot arm to change direction so as to move the robot arm away from the site of the event.

[0071] Figure 5 illustrates a method performed by the control system in order to mitigate risk caused by an event such as one of those described above. During the whole of the risk mitigation process, the surgeon input device(s) remains in operative control of the surgical instrument. Thus, the control system responds to input signals received from the surgeon input device by sending output signals to the surgical robot to cause motion of the surgical robot in accordance with the input signals.

[0072] At step 501 the control system detects that the surgical robot has reached but not yet crossed a trajectory limit. The trajectory limit may be any event in the motion of the surgical robot during the surgical mode which is problematic for the continuance of the surgery. For example, the trajectory limit may be: a collision site.

[0073] a predefined proximity to a collision site. The predefined proximity may be X cm away from the collision site. For example, X may be a value in the range 1 to 5cm. The control system knows the relative location of the surgical robot and the object with which it is at risk of colliding. In the case of a collision with itself, the control system stores the geometry of the robot arm including the sequence of limbs and joints in the robot arm, the length of each limb, and the position of each joint. Thus, the control system iteratively calculates the pose of the robot arm as it moves. From this, it calculates whether any point of the robot arm is within the predefined proximity of another point of the robot arm. In the case of a collision with an object external to the surgical robot, the relative location of the surgical robot and external object are known to the control system. For example, for a collision with another surgical robot arm, the control system may store the locations of each of the surgical robots and / or their support structures, such as the carts on which they are mounted. The control system stores the geometry of each robot arm and iteratively calculates the pose of each robot arm as described above. From this, the control system calculates whether any point of one robot arm is within the predefined proximity of a point on the other robot arm.

[0074] a workspace boundary of the surgical robot arm.

[0075] a predefined proximity to a workspace boundary of the surgical robot arm. The predefined proximity may be X cm away from the workspace boundary. For example, X may be a value in the range 1 to 5cm. The control system knows the relative location of the surgical robot within the workspace boundary. As above, the control system may store the location of the surgical robot and / or its support structure relative to a map of the workspace of the surgical robot arm. The control system iteratively calculates the pose of the robot arm as described above, and hence calculates whether any point of the surgical robot arm is within a predefined proximity to the workspace boundary of the surgical robot arm.

[0076] a workspace boundary of the surgical instrument.

[0077] a predefined proximity to a workspace boundary of the surgical instrument. The predefined proximity may be X mm away from the workspace boundary. For example, where a workspace boundary of the instrument is a minimum or maximum depth of the instrument tip from the natural rotation centre of the instrument in the port, the predefined proximity may be X mm from that minimum or maximum depth. For example, X may be a value in the range 2 to 10 mm. X may be a value in the range 20 to 60 mm.

[0078] a workspace boundary of the surgeon input device. For example, this may be when any joint of the surgeon input device reaches the workspace boundary.

[0079] a predefined proximity to a workspace boundary of the surgeon input device. The predefined proximity may be X mm away from the workspace boundary. For example, X may be a value between 10 and 50 mm. The control system may implement this trajectory limit as having been reached when any joint of the surgeon input device reaches the predefined proximity from the workspace boundary.

[0080] a range of motion limit of a joint of the surgical robot arm.

[0081] a predefined proximity to a range of motion limit of a joint of the surgical robot arm. The predefined proximity may be different for different joints of the surgical robot arm. The predefined proximity may be X degrees under the mechanical range of motion limit of the joint. For example, X may be a value between 0° and 2°. X may be a value between 0.2° and 2°. The control system receives the sensed position of each joint from the position sensor located at the joint, from which it determines whether the predefined proximity has been met.

[0082] At step 501, the control system detects that the surgical robot has reached, but not crossed the trajectory limit. The control system detects, for example through the mechanisms described above, that the trajectory limit has been reached. Upon reaching the trajectory limit, the control system moves on to step 502. At step 502, in response to detecting that the surgical robot has reached but not crossed the trajectory limit, the control system calculates a direction or range of directions to move the surgical robot in so as to move the surgical robot away from the trajectory limit. The control system may immediately calculate the direction or range of directions in response to detecting that the surgical robot has reached but not crossed the trajectory limit. Alternatively, the control system may wait for a predetermined time period after detecting that the surgical robot has reached but not crossed the trajectory limit before calculating the direction or range of directions. That predetermined time may be between 0.1 and 2 seconds. Thus, in the case that the trajectory limit is a pre-emptive limit utilised for the purpose of avoiding a hard limit, the control system does not wait for the surgical robot to move beyond the pre-emptive limit closer to the hard limit before moving to step 502. Examples of hard limits are: mechanical limits, such as range of motion limits; collision locations, and workspace boundaries. Examples of pre-emptive limits are predefined proximities to the hard limits described above.

[0083] The control system's implementation of step 502 is dependent on the trajectory limit that the surgical robot has been detected to have reached. Suitably, the control system calculates a direction or range of directions to move the wrist of the surgical robot arm in in order to move the surgical robot away from the trajectory limit. Examples of the direction calculation are explained below.

[0084] In the example that the trajectory limit is the site of a collision with an object external to the surgical robot, the control system may calculate a direction to move the wrist in as follows. The control system calculates the torque acting on the wrist as a result of the collision with the object, that torque being the residual torque component once the gravitational torque component and driven torque component have been deducted from the sensed torque at the wrist. The control system calculates the direction of step 502 to be the direction to move the wrist in so as to comply with the residual torque component.

[0085] In the example that the trajectory limit is a predefined proximity to a collision site, the control system may calculate a direction to move the wrist in as follows. As described above, the control system iteratively calculates the pose of each robot arm as it is moved. The control system stores the relative locations of the surgical robot arms, for example via storing the locations of their support structures. Thus, the control system calculates the separation of any point on one robot arm to any point on another robot arm. Once one point on the robot arm reaches the predefined proximity to a point on another robot arm, the control system calculates the point of contact between the two arms if they were to continue along their current trajectories. The control system calculates the direction of step 502 to be the direction to move the wrist so as to cause the robot arm to move away from the point of collision in an opposing direction to the movement of the robot arm towards the point of collision.

[0086] In the example that the trajectory limit is the site of a collision of the surgical robot with itself or a predefined proximity to such a self-collision site, the control system may calculate a range of directions to move the wrist in as follows. The control system calculates a volume in which the wrist is to move as a volume which excludes the volume occupied by the support structure on which the surgical robot is mounted. The support structure may be, for example, a cart. Thus, the calculated range of directions for the wrist to move in is every direction away from the support structure.

[0087] In the example that the trajectory limit is that the elbow joint of the surgical robot arm has reached a maximum range of motion limit, i.e. the surgical robot arm is fully outstretched, the control system may calculate the direction to move the wrist in as towards the first joint 205a at the base of the robot arm. This causes the robot arm to close at the elbow.

[0088] In the example that the trajectory limit is that the wrist joint of the surgical robot arm has reached a minimum range of motion limit, i.e. the surgical robot arm is inflected, the control system may calculate the direction to move the wrist in as a rotation of the joint that has reached the joint limit in a direction opposing the minimum joint angle.

[0089] In the example that the trajectory limit is a predefined proximity to a range of motion limit of a joint of the surgical robot arm, the control system may calculate the direction to move the wrist in in the same manner as if the trajectory limit is the range of motion limit of that joint.

[0090] In the example that the trajectory limit is that the surgical instrument tip has reached a maximum depth boundary, i.e. the surgical instrument tip will be too deep inside the body if pushed in any further, the control system may calculate the direction to move the wrist in as along the shaft of the instrument away from the body. In the example that the trajectory limit is that the surgical instrument tip has reached a minimum depth boundary, i.e. the surgical instrument tip will be too shallow inside the body if retracted any further, the control system may calculate the direction to move the wrist in as along the shaft of the instrument towards the body.

[0091] In the example that the trajectory limit is a predefined proximity from the workspace boundary of the surgical instrument, the control system may calculate the direction to move the wrist in in the same manner as if the trajectory limit is the workspace boundary of the surgical instrument.

[0092] In the example that the trajectory limit is a workspace boundary of the surgical robot arm, or a predefined proximity to the workspace boundary of the surgical robot arm, the control system may calculate a range of directions to move the wrist in as follows. The control system calculates a volume in which the wrist is to move as a volume which excludes the volume beyond the workspace boundary. Thus, the calculated range of directions for the wrist to move in is every direction away from the workspace boundary.

[0093] Where the control system has calculated a volume or range of directions within which the wrist of the surgical robot arm can safely move to move away from the trajectory limit, it may calculate an optimal direction within that volume.

[0094] The single optimal direction may be calculated as the geometric middle of the volume. The direction may be along a straight line through the geometric centre of the volume. Alternatively, the direction may be along a curved or winding line through the geometric centre of the volume.

[0095] However, along the geometric middle of the volume may not be the best direction to move the wrist in. Following a collision or near collision, moving the wrist along the geometric middle of the volume moves the surgical robot arm away from the site of the collision. However, it may move it closer to another trajectory limit. For example, it may move it closer to a joint limit of one of the robot arm joints.

[0096] Thus, the single optimal direction may be calculated as being along a line which satisfies a set of criteria. For example, the control system may initially calculate the geometric middle of the volume, but only adopt the calculated geometric middle as the optimal direction if it satisfies a set of criteria. The set of criteria may include one or more of:

[0097] Is the geometric middle outside a predefined proximity of one or more other stored trajectory limits?

[0098] Is the geometric middle outside a predefined proximity to the site of a previous collision? This predefined proximity may be a greater distance than the predefined proximity to a trajectory limit collision.

[0099] If the answers to the criteria are all yes, then the calculated geometric middle is adopted as the optimal direction.

[0100] If the answer to one or more criterion is no, then a second line is calculated which is inside the calculated volume and near to but different from the geometric middle of the volume. That second line is compared to a set of criteria. That set of criteria may include one or more of:

[0101] Is the second direction within a predefined proximity to the geometric middle of the volume?

[0102] Is the second direction outside a predefined proximity of one or more other stored trajectory limits?

[0103] Is the second direction outside a predefined proximity to the site of a previous collision? This predefined proximity may be a greater distance than the predefined proximity to a trajectory limit collision.

[0104] If the answers to the criteria are all yes, then the second direction is selected to be the optimal direction. If the answer to one or more criterion is no, then further lines are calculated which are inside the calculated volume and near to but different from the geometric middle of the volume. Each further line is iteratively compared to this set of criteria, until all criteria are satisfied. Once all criteria are satisfied, the line of that iteration is selected as the optimal direction.

[0105] Where the control system has calculated a volume or range of directions within which the wrist of the surgical robot arm can safely move to move away from the trajectory limit, it may reduce the volume or range of directions to satisfy a set of criteria. For example, the control system may compare the calculated volume or range of directions to the set of criteria. The set of criteria may include one or more of:

[0106] Is the calculated volume or range of directions wholly outside a predefined proximity of one or more other stored trajectory limits?

[0107] Is the calculated volume or range of directions wholly outside a predefined proximity to the site of a previous collision? This predefined proximity may be a greater distance than the predefined proximity to a trajectory limit collision.

[0108] If the answers to the criteria are all yes, then the calculated volume or range of directions is maintained. However, if the answer to one or more criterion is no, then the calculated volume or range of directions is reduced so as to exclude the portion of the volume or portion of the range of directions which is inside the predefined proximity to another trajectory limit or site of a previous collision. The reduced volume or reduced range of directions is then adopted as the calculated range of directions at step 502.

[0109] Once the control system has calculated the direction or range of directions to move the surgical robot away from the trajectory limit at step 502, it goes on to step 503. At step 503, the control system transforms the calculated direction or range of directions to move the surgical robot in into a transformed direction or range of directions to move the surgeon input device in. To implement step 503, the control system may use the reverse transformation that it uses to convert control signals it receives from the surgeon input device from the frame of reference of the surgeon input device to the frame of reference of the surgical robot arm which it then uses to calculate drive signals for joints of the surgical robot arm. The frame of reference of the surgeon input device may be the same as the frame of reference of the video feed from the camera at the surgical site which is displayed on the display of the surgeon console. Thus, to implement step 503, the control system may use the transformation from the surgical instrument frame of reference to the camera frame of reference.

[0110] Once the control system has calculated the transformed direction or range of directions at step 503, it then moves to step 504 where it outputs an indication of the transformed direction or range of directions to the surgeon console. The indication outputted may be visual and displayed on the surgeon console. The indication outputted may be output directly to the surgeon input device as a haptic indication. Typically, the display at the surgeon console has an icon associated with each surgical instrument at the surgical site which is visible in the video feed of the surgical site on the display. This icon may be located at the periphery of the display. The icon may be on the display outside the area which displays the video feed. The icon generally indicates the status of the surgical instrument. For example, the icon may identify that the surgical instrument is under the control of a particular one of the surgeon input devices. For an electrosurgical instrument, the icon may identify whether that instrument is "hot", i.e. whether energy is being supplied to that instrument. The indication of the transformed direction may be output as a direction icon next to the surgical instrument icon, thereby associating the direction icon with the surgical instrument which is to be moved to mitigate the risk of the trajectory limit that has been reached. The direction icon may thus also be located on the periphery of the display outside the area which displays the video feed.

[0111] Alternatively, or in addition, the indication of the transformed direction may be output as a direction icon overlaid on the video feed of the surgical site on the display. The direction icon may be located over or proximal to the image of the instrument which is controlled by the surgical robot arm that has reached the trajectory limit. In this way, the direction icon is associated with the surgical instrument which is to be moved to mitigate the risk of the trajectory limit that has been reached.

[0112] Whether an icon located on the periphery of the display, or overlaid on the video feed of the surgical site, the direction icon may appear as an arrow pointing in the transformed direction or an optimal direction of the transformed range of directions. In the case of an icon overlaid on the video feed of the surgical site, the arrow may be overlaid on the instrument tip. The direction of the arrow is the direction the surgeon can move the surgeon input device so as to cause the surgical robot to move away from the identified trajectory limit. The arrow may be static. The arrow may be animated. The animation may indicate the motion to be copied by the surgeon to move the surgeon input device away from the trajectory limit. The arrow may convey a 3-dimensional motion to be copied. For example, the arrow may convey motion into or out of the screen. Such 3-dimensional motion may be conveyed using a 2-dimensional or a 3-dimensional arrow by virtue of: colour and / or shade gradients of the arrow, for example a lighter shaded tail may be perceived as being further into the screen than a darker shaded nose; proportions of the arrow, for example a smaller nose may be perceived as being further into the screen than a larger tail; animation.

[0113] The size of the arrow may indicate how far the surgeon input device is to be moved in the direction of the arrow. A smaller arrow indicates only a small movement is needed to move sufficiently away from the trajectory limit. A larger arrow indicates a large movement is needed to move sufficiently away from the trajectory limit.

[0114] The proportions of the arrow may indicate the direction that the surgeon input device is to be moved in. For example, a large tail and small nose to the arrow indicates the surgeon input device is to be moved away from the surgeon. A small tail and big nose to the arrow indicates the surgeon input device is to be moved towards the surgeon.

[0115] The arrow may be graded in colour and / or shade. The grading / shading may indicate a larger or smaller movement is needed to move sufficiently away from the trajectory limit. The grading / shading may indicate the direction to move the surgeon input device in.

[0116] The arrow may be surrounded by a bounded volume. The bounded volume may represent the calculated volume in which the surgeon input device can be moved to move away from the trajectory limit, with the arrow representing the optimal direction to move the surgeon input device in within that volume.

[0117] To indicate a transformed range of directions, the control system may implement any of the outputs described above, but substituting a single arrow for a set of splayed arrows. In this case, the splayed arrows all extend from the same origin, which represents the current state of the surgical robot at the time that the control system detects the trajectory limit has been reached but not crossed. The arrow heads span the transformed range of directions.

[0118] To indicate a transformed range of directions, the control system may output an indication of a transformed volume on the surgeon's display. The transformed volume is that calculated at step 503 from a volume calculated at step 502. The transformed volume is overlaid on an image of the surgical site on the display. The volume may be located over or proximal to the image of the surgical instrument which is controlled by the surgical robot arm that has reached the trajectory limit. In this way, the volume is associated with the surgical instrument which is to be moved to mitigate the risk of the trajectory limit that has been reached. The volume may be associated with the surgical instrument in another manner. For example, the volume may be colour coded. In this case, the displayed transformed volume is the volume within which the surgeon input device is to be moved to move the surgical robot away from the trajectory limit. Alternatively, the control system may overlay an exclusion volume on the display of the video feed. The exclusion volume is the remainder of the imaged volume once the transformed volume has been deducted. Thus, the transformed range of directions is indicated to the surgeon as the volume on the display which is not depicted as excluded. The exclusion volume may be indicated by a false colour, shading, or other pictorial marker.

[0119] Suitably, where the indication of the transformed direction or range of directions is overlaid on the video feed of the surgical site, the surgeon has the option to remove the indication. This may be via an actuatable input on the surgeon input device. It may be via a menu system visible on the display which the surgeon navigates by manipulating the surgeon input device.

[0120] As mentioned above, the indication of the transformed direction may be a haptic indication output to the surgeon input device. Where the surgeon input device is a hand controller, the haptic indication may be a force applied to the hand controller in the transformed direction. Suitably, that force is between 0 and 3 Newtons. The force feedback may only be applied to the hand controller upon actuation of an input on the surgeon console. This input may be on the same hand controller as the one to which the force is to be applied. Alternatively, the input may be elsewhere on the surgeon console, such as a switch on the console arms, a pedal, or an icon on a touchscreen. Suitably, upon actuation of the input on the surgeon input device, the force gradually increases from 0 Newtons to the maximum feedback force over a few milliseconds. Similarly, when the input is no longer actuated, the force gradually decreases from the maximum feedback force to 0 Newtons over a few milliseconds. This gradual application and removal of the force feedback provides the surgeon with time to adjust the force that he / she is applying to the hand controller accordingly, and thus avoids jolty movement of the hand controller. An example scenario is as follows. The control system detects that the surgical robot has reached but not yet crossed a trajectory limit. The control system outputs an indication of this to the surgeon console. For example, the control system may output an audio alert that risk mitigation is advised and / or may output a visual indication of the transformed direction or range of directions as described above. The surgeon is therefore aware that action needs to be taken to mitigate the risk. The surgeon actuates an input on the hand controller, for example holds down a button on the hand controller. The control system responds to this by providing force feedback to the hand controller which pushes it in the transformed direction or a selected direction of the range of directions. The control system provides the force for the duration that the surgeon actuates the input on the hand controller. Once the surgeon stops actuating the input on the hand controller, the control system stops providing the force feedback. This is a safety mechanism to ensure force is only applied to the hand controller when explicitly requested by the surgeon. If the hand controller moves so that the surgical robot moves sufficiently far away from the trajectory limit that risk mitigation is no longer needed, then the control system stops providing the force feedback even if the input on the hand controller continues to be actuated.

[0121] In addition to the force applied to the hand controller in the transformed direction, the control system may additionally provide a resistive force to the hand controller should it be moved in a different direction. That resistive force may be applied if the hand controller is moved in any direction other than the transformed direction or a direction within the transformed range of directions. Alternatively, the resistive force may be applied only if the hand controller is moved towards the trajectory limit or a hard limit which the trajectory limit is proximal to.

[0122] Instead of, or in addition to, the resistive force, the control system may provide a haptic rumble to the hand controller should it be moved in a different direction. The haptic rumble may be applied to the hand controller if it is moved in any direction other than the transformed direction or a direction within the transformed range of directions. Alternatively, the haptic rumble may only be applied if the hand controller is moved towards the trajectory limit or a hard limit which the trajectory limit is proximal to. In order to resolve the event, the surgeon moves the surgeon input device in the transformed direction indicated or a direction within the range of transformed directions indicated. The control system receives an input signal from the surgeon input device indicating movement of the surgeon input device in the transformed direction or a direction within the transformed range of directions. The control system responds to this by converting the input signal from the surgeon input device into control signals to drive the joints of the surgical robot arm so as to cause the surgical robot to move in accordance with the input signal. Consequently, the surgical robot moves away from the trajectory limit. That movement may not change the position and orientation of the end effector of the surgical instrument at the surgical site. But more likely, it will change the position and / or orientation of the end effector of the surgical instrument at the surgical site.

[0123] As the surgical robot is moved, the control system iteratively recalculates the state of the surgical robot relative to the trajectory limit. Specifically, the control system calculates the new configuration (position and pose) of the surgical robot compared to the last iteration, and determines whether the surgical robot is within a predefined proximity of the trajectory limit. If the surgical robot is within a predefined proximity of the trajectory limit, the control system reperforms steps 502, 503 and 504 of figure 5. The transformed direction indicated in a subsequent iteration of steps 502, 503 and 504 of figure 5 may be the same as or different to the initial indicated transformed direction. For example, if the surgeon input device was moved in a different direction to the indicated optimal direction, the control system may calculate a different direction to be the geometric middle of the volume in a subsequent iteration of the control loop.

[0124] If the control system determines that the surgical robot is outside the predefined proximity to the trajectory limit, then the control system ends the risk mitigation aiding process. The resolution of the situation is indicated to the surgeon. This may be by means of the alerts disappearing. For example, one or more of the following may happen: the audio alert may cease, visual alerts on the display such as flashing surgical instrument icons may cease, the visual indications of the transformed direction on the display may disappear, the force feedback at the surgeon input device may cease. Thus, the control method described herein enables the surgeon to recover from the events described without having to pause the surgery or disconnect the surgeon input device from having operative control over the surgical instrument. Disruption to the surgical workflow is thereby minimised.

[0125] The time taken to recover from the event is reduced compared to prior art methods by virtue of the control system not only indicating to the surgeon console that the event is happening and that action is to be taken, but specifically identifying the direction, or range of directions, in which to move the surgeon input device to resolve the situation.

[0126] The control methods described herein enable the surgeon to retain operative control of the surgical instrument via manipulation of the surgeon input device whilst an event is occurring which is problematic for the continuance of the surgery. The control system responds to movements of the surgeon input device during the event by controlling the robot arm to move accordingly. This includes movements of the surgeon input device which are not in the indicated transformed direction as well as movements of the surgeon input device which are in the indicated transformed direction. The control system may apply some limitations on those movements of the surgeon input device which it responds to by controlling the surgical robot to move accordingly. The control system may, for each input signal from the surgeon input device, determine if the input signal indicates movement of the surgeon input device towards the trajectory limit. The control system may only control the surgical robot to move in accordance with those input signals which are determined not to move the surgical robot towards the trajectory limit. The control system may prevent control signals for driving the joints from being generated in response to those input signals which it determines would move the surgical robot towards the trajectory limit.

[0127] As described with reference to figure 4, the control system may be distributed between arm controllers located at the surgical robot arms and a central controller located elsewhere in the surgical robotic system. For example, the central controller may be physically located at the surgeon console. The steps in the control method described herein may be implemented either wholly at the arm controller of the surgical robot arm experiencing the event, or wholly at the central controller, or partially at the arm controller and partially at the central controller. For example, the arm controller may perform steps 501 and 502 of figure 5, and the central controller perform steps 503 and 503 of figure 5.

[0128] Each arm controller typically only stores information about the surgical robot arm it controls. The individual arm controllers of different surgical robots in a surgical robotic system are not aware that the other surgical robots are in the system. Conversely, the central controller is connected to all the arm controllers of the system, and so receives data about all the surgical robots. Thus, for the case where the trajectory limit is a collision with another surgical robot or a predefined proximity to a collision with another surgical robot, the central controller may perform at least steps 502, 503 and 504 of figure 5. The central controller has information about the current configuration of both the surgical robots involved, and thus can calculate that the two surgical robots have collided with each other, or their proximity to a potential collision site. The central controller is then able to calculate a direction for each surgical robot arm to move in which causes both robot arms to move away from the collision.

[0129] The robot described herein could be for purposes other than surgery. For example, the port could be an inspection port in a manufactured article such as a car engine and the robot could control a viewing tool for viewing inside the engine.

[0130] The applicant hereby discloses in isolation each individual feature described herein and any combination of two or more such features, to the extent that such features or combinations are capable of being carried out based on the present specification as a whole in the light of the common general knowledge of a person skilled in the art, irrespective of whether such features or combinations of features solve any problems disclosed herein, and without limitation to the scope of the claims. The applicant indicates that aspects of the present invention may consist of any such individual feature or combination of features. In view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the invention.

Claims

CLAIMS1. A control system for aiding risk mitigation whilst controlling motion of a surgical robot, the control system being configured to receive an input signal from a surgeon input device at a surgeon console and send an output signal to the surgical robot to cause motion of the surgical robot in accordance with the input signal, the control system being further configured to:detect that the surgical robot has reached but not crossed a trajectory limit; in response to detecting that the surgical robot has reached but not crossed the trajectory limit:calculate a direction or range of directions to move the surgical robot in so as to move the surgical robot away from the trajectory limit; transform the calculated direction or range of directions to move the surgical robot in into a transformed direction or range of directions to move the surgeon input device in; andoutput an indication of the transformed direction or range of directions to the surgeon console comprising outputting a haptic indication to the surgeon input device in the transformed direction.

2. A control system as claimed in claim 1, wherein outputting the indication comprises outputting a visual indication of the transformed direction or range of directions on a display at the surgeon console.

3. A control system as claimed in claim 2, wherein the visual indication comprises an arrow pointing in the transformed direction ora direction of the transformed range of directions.

4. A control system as claimed in claim 3, wherein the arrow conveys the transformed direction or a direction of the transformed range of directions in 3-dimensions.

5. A control system as claimed in claim 3 or 4, wherein the arrow is overlaid on an image of a surgical site on the display, the arrow located over or proximal to an instrument at the surgical site, the instrument being underthe control of the surgeon input device.

6. A control system as claimed in claim 2, wherein the visual indication represents a volume encompassing the transformed range of directions.

7. A control system as claimed in claim 6, wherein the volume is overlaid on an image of a surgical site on the display, the volume located over or proximal to an instrument at the surgical site, the instrument being under the control of the surgeon input device.

8. A control system as claimed in any preceding claim, wherein the haptic indication comprises applying a force to the surgeon input device in the transformed direction.

9. A control system as claimed in claim 8, wherein the force is between 0 and 3N.

10. A control system as claimed in any of claims 8 to 9, wherein the haptic indication is only output following actuation of an input on the surgeon input device.

11. A control system as claimed in claim 10, wherein the haptic indication is only output for the duration that the input on the surgeon input device is actuated.

12. A control system as claimed in any preceding claim, further configured to:receive an input signal indicating movement of the surgeon input device in the transformed direction or a direction within the transformed range of directions; and send an output signal to the surgical robot to cause motion of the surgical robot in accordance with the input signal received from the surgeon input device.

13. A control system as claimed in any preceding claim, further configured to, whilst performing the steps of claim 1, respond to input signals from the surgeon input device by sending output signals to the surgical robot to cause motion of the surgical robot in accordance with the input signal.

14. A control system as claimed in claim 13, further configured to, for each input signal from the surgeon input device:determine if the input signal indicates movement of the surgeon input device towards the trajectory limit;send output signals to the surgical robot to cause motion of the surgical robot in accordance with input signals which are determined not to indicate movement of the surgeon input device towards the trajectory limit; andprevent output signals to the surgical robot being generated in response to those input signals which are determined to indicate movement of the surgeon input device towards the trajectory limit.

15. A control system as claimed in any preceding claim, further configured to, as the surgical robot moves in accordance with input signals from the surgeon input device, iteratively recalculate the state of the surgical robot relative to the trajectory limit, and if the surgical robot is within a predefined proximity of the trajectory limit:recalculate a direction or range of directions to move the surgical robot in so as to move the surgical robot away from the trajectory limit;transform the calculated direction or range of directions to move the surgical robot in into a transformed direction or range of directions to move the surgeon input device in; andoutput an indication of the transformed direction or range of directions to the surgeon console.

16. A control system as claimed in claim 15, further configured to, upon determining that the surgical robot is outside the predefined proximity to the trajectory limit, end the risk mitigation aiding process.

17. A control system as claimed in any preceding claim, wherein the trajectory limit is a collision site.

18. A control system as claimed in any of claims 1 to 16, wherein the trajectory limit is a predefined proximity to a collision site.

19. A control system as claimed in any of claims 1 to 16, wherein the trajectory limit is a workspace boundary.

20. A control system as claimed in any of claims 1 to 16, wherein the trajectory limit is a predefined proximity to a workspace boundary.

21. A control system as claimed in any of claims 1 to 16, wherein the trajectory limit is a range of motion limit of a joint of the surgical robot.

22. A control system as claimed in any of claims 1 to 16, wherein the trajectory limit is a predefined proximity to a range of motion limit of a joint of the surgical robot.

23. A control system as claimed in any preceding claim, configured to calculate a direction to move the surgical robot in so as to move the surgical robot away from the trajectory limit by calculating a volume, the direction being along an axis defining a geometric middle of the volume.

24. A control system as claimed in any of claims 1 to 22, configured to calculate a direction to move the surgical robot in so as to move the surgical robot away from the trajectory limit by calculating a volume, and determining the direction to be along an axis within that volume which satisfies a set of criteria, those criteria including one or more of:being within a predefined proximity to the geometric middle of the volume; being outside a predefined proximity to another trajectory limit; and being outside a predefined proximity to the site of a previous collision.