Controlling movement of a surgical robot arm
By using a distributed control system and virtual pivot point technology, the problem of limited range of motion caused by joint limits and singularities in surgical robot systems has been solved, enabling more flexible and precise operation of surgical instruments.
Patent Information
- Application Number
- CN202180016703.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-02-25
- Filing Date
- 2021-02-16
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2041-02-16
AI Technical Summary
Existing surgical robot systems struggle to effectively avoid joint limits and singularities when controlling the position and orientation of surgical instruments, resulting in limited range of motion and affecting the flexibility and precision of surgical procedures.
A distributed control system, including a central controller and an arm controller, is adopted. Through virtual pivot point and orientation data processing, the wrist position and instrument drive joint position of the surgical robot arm are determined, the joint motion path is optimized, joint limits and singularities are avoided, and flexible instrument operation is achieved.
It improves the mobility and precision of the surgical robot system, expands the operating range of surgical instruments, and enhances the flexibility and accuracy of surgical operations.
Smart Images

Figure CN115151214B_ABST
Abstract
Description
Background Technology
[0001] The use of robots to assist and perform surgery is known. Figure 1 A typical surgical robot system is illustrated. The surgical robot 100 consists of a base 102, an arm 104, and an instrument 106. The base supports the robot and can be rigidly attached to, for example, the operating room floor, operating room ceiling, or a trolley. The arm extends between the base and the instrument. The arm is hinged by means of a plurality of flexible joints 108 along its length, which are used to position the surgical instrument relative to the patient in a desired location. The surgical instrument is attached to the distal end of the robotic arm. The surgical instrument penetrates the patient's body at its port to access the surgical site. The surgical instrument includes an axis that is articulated to a distal end effector 110 via joints. The end effector participates in the surgical procedure. Figure 1 In the diagram, the end effector is a pair of jaws. The surgeon controls the surgical robot 100 via a remote surgical console 112. The surgical console includes one or more surgical input devices 114. These can take the form of manual controllers or foot pedals. The surgical console also includes a display 116.
[0002] The control system 118 connects the surgeon's console 112 to the surgical robot 100. The control system receives input from the surgeon's input device and converts this input into control signals to move the joints of the robotic arm 104 and the end effector 110. The control system sends these control signals to the robot, where the corresponding joints are driven accordingly. Summary of the Invention
[0003] According to one aspect of the invention, a control system for a surgical robot system is provided, the surgical robot system including a remote surgeon's console and an articulated surgical robot arm, the articulated surgical robot arm including a series of joints extending from a base to an end for attachment to an articulated surgical instrument, the control system including: a central controller communicatively coupled to and remotely positioned away from an arm controller of the surgical robot arm, the central controller also communicatively coupled to a surgeon's input device of the surgeon's console, the central controller being configured to: receive from the surgeon's input device a command indicating a desired position of the distal end of the surgical instrument; convert the desired position of the distal end into: (i) a desired wrist position of the wrist of the surgical robot arm, and (ii) desired instrument-driven joint positions of those joints of the surgical robot arm that drive the joints of the articulated surgical instrument; and transmit the desired wrist position and the desired instrument-driven joint positions to the arm controller.
[0004] The wrist of the surgical robot arm may be located at a position where the rotation axes of a set of distal joints of the surgical robot arm intersect and / or the rotation axes of the joints of the articulated surgical instrument, wherein the set of distal joints of the surgical robot arm is located distal to the base.
[0005] The set of distal joints can be composed of a rolling joint, a pitching joint, a yaw joint, and another rolling joint in sequence.
[0006] The desired position of the articulated surgical instrument may include the position of the distal end and the orientation of the distal end.
[0007] The surgical instrument may be a surgical endoscope.
[0008] The surgical instrument can be configured to manipulate tissue, and the distal end of the surgical instrument can be an end effector.
[0009] The desired position of the articulated surgical instrument may also include the deployment of the two end effector elements of the end effector.
[0010] The instrument-driven joint can be positioned near the end of the surgical robot arm.
[0011] The device-driven joint may consist of only three joints.
[0012] The central controller can be configured to receive a virtual pivot point from the arm controller, the virtual pivot point being a position located in a port that the surgical instrument always passes through when inside the patient's body.
[0013] The central controller can be configured to receive from the arm controller instructions on the orientation of the surgical robot arm relative to its surrounding environment.
[0014] The central controller can use the received virtual pivot point and the received orientation indication of the surgical robot arm to convert the desired position of the distal end into the desired wrist position and the desired instrument drive joint position in the reference frame of the surgical robot arm.
[0015] According to one aspect of the invention, an arm controller is provided for a surgical robotic arm, the surgical robotic arm forming part of a surgical robot system including a remote surgeon's console, a central controller, and the surgical robotic arm, the surgical robotic arm including a series of joints extending from a base to an end for attachment to an articulated surgical instrument, the arm controller being configured to: receive a desired wrist position of the wrist of the surgical robotic arm and desired instrument-driven joint positions of those joints of the surgical robotic arm that drive the joints of the articulated surgical instrument; and for the remaining joints of the surgical robotic arm, determine joint positions such that the wrist of the surgical robotic arm adopts the desired wrist position, the remaining joints of the surgical robotic arm being joints that do not drive the joints of the articulated surgical instrument; and send control signals to a joint controller of the surgical robotic arm to drive the joints of the surgical robotic arm to the desired instrument-driven joint positions and the determined joint positions.
[0016] The wrist of the surgical robot arm may be located at a position where the rotation axes of a set of distal joints of the surgical robot arm intersect and / or the rotation axes of the joints of the articulated surgical instrument, wherein the set of distal joints of the surgical robot arm is located distal to the base.
[0017] The set of distal joints can be composed of a rolling joint, a pitching joint, a yaw joint, and another rolling joint in sequence.
[0018] The remaining joints may include at least seven joints.
[0019] The remaining joints may include eight sequential joints.
[0020] The eight sequential joints, in order from the base, can be roll joint, pitch joint, roll joint, pitch joint, roll joint, pitch joint, yaw joint, and roll joint.
[0021] The determined joint positions can be configured such that the surgical robot arm is optimally constructed such that: (i) any of the remaining joints are avoided from being near joint limits; and / or (ii) the surgical robot arm is avoided from being near joint singularities.
[0022] The central controller can be configured to: determine a virtual pivot point located in a port through which the surgical instrument always passes when inside the patient's body; and transmit the virtual pivot point to the central controller.
[0023] The central controller can be configured to transmit instructions to the central controller regarding the orientation of the surgical robot arm relative to its surrounding environment.
[0024] According to one aspect of the present invention, a surgical robot system is provided, comprising: a surgical robot arm including a series of joints extending from a base to an end for attachment to an articulated surgical instrument, and an arm controller; a remote surgical console including a surgeon input device; and a central controller communicatively coupled to the remote surgical console and the arm controller of the surgical robot arm, the central controller being configured to: receive from the surgeon input device a command indicating a desired position of the distal end of the surgical instrument; and convert the desired position of the distal end into: (i) a desired wrist position of the wrist of the surgical robot arm, and (ii) a drive The surgical robot arm determines the desired instrument-driven joint positions of those joints that actuate the joints of the articulated surgical instruments; transmits the desired wrist position and the desired instrument-driven joint position to the arm controller; and the arm controller is configured to: receive the desired wrist position and the desired instrument-driven joint position; and for the remaining joints of the surgical robot arm, determine joint positions such that the wrist of the surgical robot arm adopts the desired wrist position, the remaining joints of the surgical robot arm being joints that do not actuate the articulated surgical instruments; and drive the joints of the surgical robot arm to the received desired joint position and the determined joint position. Attached Figure Description
[0025] The invention will now be described by way of example with reference to the accompanying drawings. In the drawings:
[0026] Figure 1 A surgical robot system for performing surgical procedures is shown;
[0027] Figure 2 The surgical robot was shown;
[0028] Figure 3 It shows Figure 2 An exploded view of the joints of a surgical robot arm;
[0029] Figure 4 An exemplary manual controller for a surgeon's console is shown;
[0030] Figure 5 A schematic diagram of the control system of the surgical robot system is shown;
[0031] Figure 6 A flowchart illustrating the control method of the arm controller is provided.
[0032] Figure 7 This is a schematic diagram showing the orientation interface of two surgical robot arms;
[0033] Figure 8A flowchart illustrating the control method of the central controller is provided; and
[0034] Figure 9 A flowchart illustrating the control method of the arm controller is provided. Detailed Implementation
[0035] The following describes the control of the surgical robotic arm and attached surgical instruments. The control system is distributed, featuring an arm controller co-located with the surgical robotic arm and a central controller remotely positioned away from the surgical robotic arm. The surgical robotic arm and surgical instruments, along with a remote surgeon's console, form a [combination / system]. Figure 1 This is part of a surgical robot system of the type shown. A surgical robot system may include more than one surgical robot arm, each with attached surgical instruments and a co-positioned arm controller.
[0036] The control system and method described below are for a surgical robotic arm that holds surgical instruments, the instruments having an end effector at their distal end for manipulating the patient's tissues at the surgical site. The end effector can be, for example, a pair of jaws, a scalpel, a suture needle, etc. However, the same surgical robotic arm, control system, and method are equally applicable to surgical instruments for endoscopes, the endoscope having a camera at its distal end for capturing video feeds from the surgical site.
[0037] Figure 2 An exemplary surgical robot 200 is shown. The robot includes a base 201, which is fixed in place when a surgical procedure is being performed. The base 201 is suitably mounted to a chassis. Figure 2 In this design, the chassis is a trolley. This trolley can be a bedside trolley used to mount the robot at bed height. Alternatively, the chassis can be a device mounted on the ceiling or mounted on the bed.
[0038] A robotic arm 202 extends from the robot's base 201 to an end effector 203 for attachment to a surgical instrument 204. The arm is flexible. It is hinged by means of a plurality of flexible joints 205 along its length. Between the joints are rigid arm links 206. Appropriately, the joints are rotary joints. The robotic arm has at least seven joints between the base and the end effector. Figure 2 The robotic arm 200 shown has a total of eight joints between the base 201 and the end cap 203. Figure 2The robotic arm shown has only eight joints between the base and the end effector. These joints include one or more roll joints (each having a rotational axis on either side of the joint along the longitudinal direction of the arm link), one or more pitch joints (each having a rotational axis transverse to the longitudinal direction of the preceding arm link), and one or more yaw joints (each also having a rotational axis transverse to the longitudinal direction of the preceding arm link and also transverse to the rotational axis of the co-located pitch joint). Figure 2 In the example, joints 205a, 205c, 205e, and 205h are rolling joints; joints 205b, 205d, and 205f are pitch joints; and joint 205g is a yaw joint. The order of the joints from the base 201 of the robot arm to the end effector 203 of the robot arm is: roll, pitch, roll, pitch, roll, pitch, yaw, roll. Figure 2 There are no intermediate joints in it.
[0039] Figure 3 It shows Figure 2 The surgical robot arm has joints. The robot arm is hinged to a shoulder portion 301, an elbow portion 302, and a wrist portion 303. The shoulder portion 301 is adjacent to a base 201 and is formed by a rolling joint J1 205a adjacent to the base 201, followed by a pitch joint J2 205b. The pitch joint J2 has a rotation axis perpendicular to the rotation axis of the rolling joint J1. The elbow portion 302 is located between the shoulder portion 301 and the wrist portion 303. The elbow portion 302 is formed by a rolling joint J3 205c adjacent to the pitch joint J2 of the shoulder portion 301, followed by a pitch joint J4 205d. The pitch joint J4 has a rotation axis perpendicular to the rotation axis of the rolling joint J3. The wrist portion 303 is adjacent to the elbow portion 302. The wrist portion 303 consists of the rolling joint J5 205e of the pitch joint J4 adjacent to the elbow portion 302, followed by the pitch joint J6 205f and the yaw joint J7 205g, followed by the rolling joint J8 205h. (As follows) Figure 3 As shown above, pitch joint J6 and yaw joint J7 form a compound joint, which can be a ball joint. Pitch joint J6 and yaw joint J7 have intersecting axes of rotation.
[0040] The distal end of the robotic arm at the base can be hinged relative to the base by the movement of one or more joints of the arm. The rotation axes of a set of distal joints J5, J6, J7, and J8 in the wrist portion 303 intersect at a point on the surgical robotic arm. The description herein refers to the wrist. Suitably, the wrist is a portion of the robotic arm rigidly coupled to the distal end of the instrument when the instrument is attached to the robotic arm. The wrist has a position and orientation. For example, the position of the wrist can be the intersection of the rotation axes of J5, J6, J7, and J8. Alternatively, the position of the wrist can be the intersection of one or more rotation axes of a joint of the instrument. Alternatively, the position of the wrist can be the intersection of one or more rotation axes of a distal joint of the robotic arm with one or more rotation axes of a joint of the instrument. Figure 2 and Figure 3 The surgical robot arm shown has redundant joints. For a given wrist position relative to the base of the surgical robot arm, joints J1 to J4 have more than one configuration. Therefore, the surgical robot arm can adopt different postures while maintaining the same wrist position.
[0041] Surgical robotic arms can be combined with Figure 2 and Figure 3 The arms are joined differently as shown. For example, an arm may have fewer than eight or more than eight joints. An arm may include joints that allow movement other than rotation between corresponding sides of the joint, such as telescopic joints.
[0042] return Figure 2 The surgical robotic arm includes a set of motors 207. Each motor 207 drives one or more joints 205. Each motor 207 is controlled by a joint controller. The joint controller can be co-located with the motor 207. The joint controller can control one or more of the motors 207. The robotic arm includes a series of sensors 208, 209. For each joint, these sensors include a position sensor 208 for sensing the position of the joint, and a torque sensor 209 for sensing the torque applied about the rotational axis of the joint. One or both of the position sensor and the torque sensor for the joint can be integrated with the motor for that joint. The outputs of the sensors are transmitted to the control system.
[0043] Surgical instrument 204 is attached to a drive assembly at the end of robotic arm 203. This attachment point is always external to the patient. Surgical instrument 204 has an elongated profile with its central axis spanning between its proximal and distal ends, the proximal end of which is attached to the robotic arm, and the distal end approaching the surgical site within the patient's body. The surgical instrument can be configured to extend linearly parallel to the axis of rotation of joint 205h of the arm. For example, the surgical instrument can extend along an axis coinciding with the axis of rotation of joint 205h of the arm.
[0044] The proximal end and instrument shaft of the surgical instrument can be rigid relative to each other, and rigid relative to the distal end of the robotic arm when attached to it. An incision is made in the patient's body, through which a port is inserted. The surgical instrument can penetrate the patient's body through the port to access the surgical site. Alternatively, the surgical instrument can penetrate the body through a natural cavity to access the surgical site. At the proximal end of the instrument, the shaft connects to an instrument interface. The instrument interface engages with a drive assembly at the distal end of the robotic arm. Specifically, each instrument interface element of the instrument interface engages with a corresponding drive assembly interface element of the drive assembly. The instrument interface can be releasably engaged with the drive assembly. The instrument can be manually detached from the robotic arm without any tools. This allows the instrument to be quickly detached from the drive assembly and attached to another instrument during operation.
[0045] At the distal end of the surgical instrument, the distal end of the instrument axis is connected to an end effector via a hinged connection. The end effector participates in the surgical procedure at the surgical site. The end effector can be, for example, a pair of jaws, a pair of single-pole scissors, a needle holder, a perforated gripper, or a scalpel. The hinged connection includes several joints. These joints allow the orientation of the end effector to be changed relative to the instrument axis. The end effector itself may also include joints. Figure 2 and Figure 3 The end effector shown has a pair of opposing end effector elements 307, 308. The joints of the end effector are... Figure 3 The diagram above shows a pitch joint 304, a yaw joint 305, and a clamping joint 306. The pitch joint 304 is adjacent to the axis of the instrument and rotates about an axis perpendicular to the longitudinal axis of the instrument. The yaw joint 305 has an axis of rotation perpendicular to the axis of rotation of the pitch joint 304. The clamping joint 306 determines the deployment of the end effector element. In practice, the clamping joint 306 may be another yaw joint having the same axis of rotation as the yaw joint 305. Independent operation of the two yaw joints 305 and 306 can cause the end effector element to yaw uniformly and / or open and close relative to each other.
[0046] Driving force is transmitted from the robotic arm to the end effector in any suitable manner. For example, the joints of the instrument can be driven by drive elements such as cables, push rods, or push / pull rods. These drive elements engage the instrument interface at the proximal end of the instrument. The drive assembly at the end of the robotic arm includes instrument drive joints that transmit driving force from the surgical robotic arm to the instrument interface via the corresponding interface elements described above, and thereby to the instrument joints. These instrument drive joints in... Figure 3 The above shows joints J9 and J 10 and J 11 . Figure 3Three instrument drive joints are shown, each of which drives one of the three joints of the instrument.
[0047] Appropriately, the instrument drive joint is the sole device for transmitting driving forces to the instrument joint. A robotic arm may have more or fewer than three instrument drive joints. Surgical instruments may have more or fewer than three joints. For example... Figure 3 As shown, a device-driven joint may have a one-to-one mapping with the device joint it drives. Alternatively, a device-driven joint may drive more than one device joint.
[0048] A surgeon's console is remotely positioned away from one or more surgical robotic arms of a surgical robotic system. The surgeon's console includes one or more surgeon input devices and a display. Each surgeon input device enables the surgeon to provide control input to the control system. For example, a surgeon input device can be a manual controller, a foot controller such as a pedal, a touch-sensitive input controlled by a finger or another part of the body, a voice-controlled input device, an eye-controlled input device, or a gesture-controlled input device. The surgeon input device can provide several inputs that the surgeon can operate independently.
[0049] Figure 4 An exemplary manual controller 400 is shown. The manual controller is connected to a surgical console, for example, by a gimbal (not shown). This allows the manual controller to move with three translational degrees of freedom relative to the surgical console. Such movement can be used to command the corresponding movement of the end effector of an instrument. The manual controller can also rotate relative to the surgical console. Such movement can be used to command the corresponding rotation of the end effector of an instrument.
[0050] The manual controller shown is designed to be held in the right hand. A mirror-image manual controller can be held in the left hand. The manual controller includes a body 401 adapted for hand gripping. The manual controller may include additional inputs such as buttons, switches, levers, sliders, or capacitive sensor inputs, such as a trackpad 403. Figure 4 The manual controller includes a trigger 402. The trigger 402 is movable relative to the body 401. In the illustrated manual controller, the trigger 402 is rotatable relative to the body 401. Alternatively or additionally, the trigger can be linearly translated relative to the body 401. The movement of the trigger 402 relative to the body 401 can be used to command the opening and closing of the end effector elements of the instrument. The manual controller may include two triggers, each for independently controlling a single, different end effector element within the end effector elements.
[0051] A surgeon's console may include two or more surgeon input devices. Each surgeon input device can be used to control different surgical instruments. Thus, a surgeon can use a manual controller in their left hand to control one surgical instrument and a manual controller in their right hand to control another surgical instrument.
[0052] The control system connects the surgeon's console to one or more surgical robots. Figure 5 This control system is illustrated. A surgeon's console 501 is connected to a central controller 502 via a bidirectional communication link. Specifically, the surgeon's input device on the surgeon's console 501 is communicatively coupled to the central controller 502. The central controller 502 is connected via a bidirectional communication link to arm controllers 503, 504, and 505 of each surgical robot arm in the surgical robot system. Each arm controller is co-located with the surgical robot arm. The arm controllers may be located in a chassis supporting the surgical robot arm, such as in a trolley for the arm. The central controller is remotely located away from at least one location in the surgical robot arm. Alternatively, the central controller may be remotely located away from all surgical robot arm locations in the surgical robot system. The central controller may be located at the surgeon's console. Alternatively, the central controller may be co-located with one of the arm controllers. The central controller may be located remotely from the surgeon's console and all arm controllers.
[0053] The central controller includes a processor 506 and a memory 507. The memory 507 stores software code in a non-transitory manner, which can be executed by the processor 506 to enable the processor to control the surgeon's console and one or more surgical robotic arms and instruments in the manner described herein.
[0054] Each of the arm controllers includes a processor 508 and a memory 509. The memory 509 stores software code in a non-transitory manner, which can be executed by the processor 508 to enable the processor to control the surgeon's console and one or more surgical robotic arms and instruments in the manner described herein.
[0055] The central controller 502 receives commands from a surgeon input device. Commands from a surgeon input device indicate the desired position of the distal end of a surgical instrument. The desired position of the distal end of the surgical instrument includes the position of the end effector. The desired position of the distal end may also include the orientation of the distal end. The desired position of the distal end may also include the deployment of the two opposing end effector elements of the end effector. Commands from the surgeon input device may indicate the desired absolute position and / or orientation and / or deployment of the end effector. Alternatively, commands from the surgeon input device may indicate a desired change in the absolute position and / or orientation and / or deployment of the end effector.
[0056] The control system translates commands received from the surgeon's input device into drive signals to actuate the joints of its associated surgical robot arm and / or surgical instruments. This actuation of the joints causes the distal end to assume the desired position commanded by the surgeon's input device. Thus, in response to manipulation by the surgeon's input device, the control system controls the manipulation of the surgical instruments.
[0057] Commands received from the surgeon's input device are processed into drive signals to drive the joints of the surgical robot arm, distributed between the central controller 502 and the arm controller 503 of the surgical robot arm. As described in more detail below, the central controller 502 determines the wrist position and instrument drive joint positions of the surgical robot arm. It transmits these to the arm controller. The arm controller then determines the joint positions of the remaining joints to achieve the desired wrist position. The arm controller sends commands to the joint controllers distributed throughout the arm. The joint controllers then control the joint motors to drive the joints of the arm to move to the determined joint positions.
[0058] Figure 6 This is a flowchart illustrating the steps that can be performed by the arm controller during the setup mode of its surgical robot arm. At step 601, the arm controller determines a virtual pivot point of the surgical instrument within the patient's body. The virtual pivot point is the natural center of rotation of the instrument as it moves within the patient's body with a rigid axis. A port is inserted into the patient's abdominal wall. The port is approximately 2-10 cm long. The instrument is inserted into the patient's body through the port. The virtual pivot point lies along the length of the port. The exact location of the virtual pivot point depends on the patient's anatomy and therefore varies from patient to patient. The virtual pivot point can be determined using the following methods.
[0059] When the instrument is in the port, the operator moves the distal end of the robot arm generally laterally to the instrument axis. This movement causes the port to exert a lateral force on the instrument axis as the instrument axis passes through the port, resulting in the instrument applying torque to the joints of the arm—in this case, joints J6 205f and J7 205g—the axes of which are laterally to the longitudinal axis of the instrument axis. The position of each arm joint is measured by its associated position sensor 208, and this sensed position is output to the arm controller. The torque at each arm joint is measured by its associated torque sensor 209, and this sensed torque is output to the arm controller. Thus, when the operator moves the distal end of the robot arm laterally, the arm controller receives sensed input indicating the position and force at the arm joints. This information allows the controller to estimate: (a) the position of the distal end of the robot relative to the fixed base and (b) the vector of the instrument axis relative to the distal end of the robot. Since the instrument axis passes through the channel of the port, the channel of the port must lie on this vector. As the distal end of the robot arm is moved, the controller calculates multiple pairs of distal end positions and instrument axis vectors. These vectors converge from their respective distal positions to the location of a virtual pivot point in the port's channel. By collecting a series of these data pairs and then solving for the average position of the convergence of the instrument axis vectors, the arm controller determines the virtual pivot point relative to the base.
[0060] After determining the virtual pivot point relative to the fixed base of the robotic arm in its reference frame, at step 602, the arm controller transmits this virtual pivot point to the central controller. While the robot's base remains in the same fixed position, and the patient remains in the same position relative to the robot's base, the instrument's natural center of rotation within the patient's body remains the same. Therefore, before the surgical procedure, the arm controller can determine the virtual pivot point in calibration mode during robotic arm setup, and at this time, the virtual pivot point is transmitted to the central controller only once. Alternatively, when the robotic arm is moved during surgery, the arm controller can continuously or periodically recalculate the virtual pivot point during the surgical procedure based on sensor data transmitted from sensors to the arm controller. These sensors can be any one or a combination of: sensors on the robotic arm, such as sensors 208 and 209; and sensors external to the robotic arm, such as sensors on the instrument and / or port. Sensors external to the robotic arm can wirelessly transmit sensing data to the arm controller. The arm controller can then continuously or periodically transmit the recalculated virtual pivot point to the central controller during the surgical procedure. One reason for periodically recalculating the virtual pivot point is that, although the base of the robotic arm remains fixed during the surgical procedure, the patient's position relative to the base can change due to the patient's movement on the bed (e.g., due to breathing), and therefore the instrument's natural center of rotation shifts over time. If the base of the robotic arm moves, for example, if the instrument is removed from the body and the trolley with the robotic arm mounted is moved to a different position beside the patient's bed, the above method is repeated to calculate a new virtual pivot point.
[0061] At step 603, the arm controller may optionally transmit arm orientation data to the central controller. If the surgical robot system has two or more robotic arms, it is useful for the control system to evaluate the robotic arms in the same frame of reference. For example, to avoid collisions between the robotic arms during movement. Or to map the left and right directions in the reference frame of the manual controller, and the left and right end effector movements as shown in the video feed from the endoscope.
[0062] The robot arm base or chassis on which the robot arm is mounted may have an orientation interface that an operator can manipulate to identify the orientation of the robot arm relative to its surrounding environment. Figure 7 Orientation interface 701 of robotic arm 702 and orientation interface 703 of robotic arm 704 are shown. Robotic arms 702 and 704 are located on opposite sides of patient bed 705. The orientation interface can be, for example, a button accessible to an operator (e.g., a member of the bedside team) or a set of buttons. Each orientation interface may include four buttons, each indicating one of four directions, such as... Figure 7As shown in the diagram. These four directions are equally spaced, with 90° intervals between each direction, i.e., at 0°, 90°, 180°, and 270°. Alternatively, any number of directions can be indicated. For example, the interface may include a dial that can be rotated by the operator in 1° increments. The operator can provide input to the orientation interface of each robotic arm to identify the orientation of each robotic arm relative to its surroundings. For example, the operator can identify a common orientation from each robotic arm. For example, the operator can identify the orientation of the operating room wall 706 by actuating a button on each robotic arm facing wall 706. Figure 7 In this case, this will be done by actuating button C on orientation interface 701 and button B on orientation interface 703. As another example, the operator can identify the orientation of the robotic arm holding the endoscope by actuating a button on each robotic arm. The arm controller receives input from the orientation interface indicating the orientation of the surgical robotic arm relative to the surrounding environment and transmits this instruction to the central controller.
[0063] Step 603 is optional. Orientation data can be acquired by the central controller through other means. For example, the relative orientation of the surgical robotic arms may be known because these robotic arms are positioned in a predetermined orientation, such as if they are attached to the patient's bed in a predetermined orientation.
[0064] Figure 8 This is a flowchart illustrating the steps that can be performed by a central controller during the operation of a surgical robotic arm. At step 801, the central controller receives a virtual pivot point from the arm controller. At step 802, the central controller may (optionally) receive orientation data from the arm controller. At step 803, the central controller receives a command from the surgeon's input device instructing the desired position of the distal end of the surgical instrument. As described above, this desired position may include the desired position and / or orientation and / or deployment of the end effector.
[0065] At step 804, the central controller converts the desired position at the distal end into the desired wrist position and the desired instrument-driven joint position, as shown below.
[0066] The virtual pivot point received from the arm controller is in the robot arm's reference frame, i.e., relative to the robot arm base. The central controller uses orientation data to rotate the virtual pivot point from the robot arm reference frame to the common ground reference frame. This orientation data can be the orientation data received from the arm controller as described above. Alternatively, the orientation data can be predetermined, as described above, and retrieved from the central controller's parameter value storage device.
[0067] Figure 8A control loop is illustrated. In each iteration of the control loop, the central controller receives a command from the surgeon's input device instructing the desired position of the distal end of the surgical instrument. The central controller uses the command to update one or more parameters of the robotic arm that it calculated in the previous iteration of the control loop. All updated parameters, or a subset of parameters, are stored in storage device 807 and then retrieved from storage device 807 in the next iteration of the control loop. These parameters may include the desired position of the distal end in a common ground reference frame, the desired wrist position, and the desired instrument-driven joint position.
[0068] The desired wrist position includes the location of the wrist. The desired wrist position may also include the orientation of the wrist.
[0069] To determine the desired wrist position and the desired instrument-driven joint position at step 804, the central controller may first use commands from the surgeon's input device to determine the desired position of the distal end of the instrument relative to a common ground reference frame. Appropriately, the central controller performs this by retrieving the last desired position of the distal end relative to the common ground reference frame from storage device 807. The last desired position of the distal end relative to the common ground reference frame is then updated using commands from the surgeon's input device. For example, using… Figure 4 The central controller can convert the detected translation of the manual controller into the translation of the end effector, the detected rotation of the manual controller into the rotation of the end effector, and the detected trigger angle of the manual controller into the unfolding angle of the end effector element.
[0070] When updating the desired position of the distal end of the surgical instrument using commands received from the surgeon's input device, the central controller can use parameter values stored in memory. For example, the central controller can use stored parameter values identifying the current endoscope position, such as those received from position sensing data received by the central controller from the arm controller of the robotic arm holding the endoscope. The surgeon manipulates the surgeon's input device in response to a view from the endoscope, as seen on a console display. Therefore, the central controller rotates and / or translates the movements of the surgeon's commands to manipulate the surgeon's input device to account for the surgeon's observation orientation of the end effector. More specifically, the central controller uses the relative orientation between the endoscope orientation and the surgical instrument orientation to determine the rotation between manual controller movements and end effector movements.
[0071] The central controller can use stored parameter values that identify the mapping between the surgeon's input device and the distal end of the surgical instrument. For example, the central controller may have stored parameters that identify one or more of the following: the ratio between the translational movement of the surgeon's manual controller and the translational movement of the end effector; the ratio between the rotational movement of the surgeon's manual controller and the rotational movement of the end effector; and the relationship mapping the position of the trigger to the angular unfolding of the end effector element. The central controller applies these mappings when translating input from the surgeon's input device into an updated desired position of the distal end of the surgical instrument.
[0072] The central controller can use a clutch mode when updating the desired position of the end effector. The clutch mode allows for repositioning of the surgeon input device. This is desirable if the surgeon input device is in an ergonomically poor position or if it has reached its range of motion limitations. When the surgeon engages the clutch mode, the surgeon input device disengages from control of the surgical robot arm. Movement of the surgeon input device during clutch engagement does not translate into movement of the end effector. When the surgeon disengages the clutch mode, the surgeon input device re-engages control of the surgical robot arm. After re-engaging with the current end effector position, the central controller responds to clutch use by synchronizing the end effector position with the first command received from the surgeon input device. Therefore, if the surgeon input device has translated or rotated across its working area while the clutch is engaged, it will not cause a sudden movement of the end effector to accommodate the change in the surgeon input device's position from when the clutch mode is engaged to when it is disengaged.
[0073] When updating the desired position of the end effector, the central controller can use a synchronization model. The synchronization model takes into account when a joint or instrument in the surgical robot arm reaches its joint limits, or when the wrist is too close to a virtual pivot point. Similar to a clutch model, the central controller responds to the use of the synchronization function by synchronizing the end effector position with the first command received from the surgeon's input device after using the synchronization model with the current end effector position.
[0074] Once the central controller has determined the desired position of the distal end of the surgical instrument relative to the common ground reference frame using commands from the surgeon's input device and one or more of the parameters mentioned above, the central controller rotates the desired position of the distal end of the surgical instrument from the common ground reference frame to the robot arm reference frame.
[0075] Next, the central controller uses inverse kinematics to determine the positions of the instrument drive joints and wrist to achieve the desired position of the distal end of the surgical instrument in the robot arm reference frame. Any suitable inverse kinematics equations known in the art can be used.
[0076] The position of the wrist of the surgical robot arm relative to the distal end of the surgical instrument in the robot arm reference frame is fixed. The instrument is rigid, and the position of the wrist (as defined above) is a point located on the longitudinal axis of the instrument axis. The distance between the distal end of the surgical instrument and the wrist position is known: it is the length of the arm between the wrist and the end of the arm plus the length of the instrument minus any overlap between the arm and the instrument. When the instrument is inside the patient's body, the instrument axis always passes through a virtual pivot point. Since the virtual pivot point is known, there is a unique wrist position for a given distal end of the surgical instrument. Therefore, there is a one-to-one relationship between the distal end position and the wrist position. Thus, the central controller determines the desired wrist position in the robot arm reference frame based on the desired position of the distal end in the robot arm reference frame, the known virtual pivot point, and the known distance between the distal end and the wrist position.
[0077] The central controller translates the determined rotation of the end effector and the determined deployment of the end effector elements into the desired instrument drive joint positions. To do this, the central controller uses a stored mapping between the movement of each joint of the instrument and the movement of the instrument drive joints of the robot arm that drive that joint. This mapping can be changed before or during the operation, or during the calibration of the drive components. Figure 3 In an exemplary robot, the central controller determines the position of three instrument-driven joints.
[0078] At step 806, the central controller transmits the desired wrist position and the desired instrument drive joint position to the arm controller.
[0079] Then, the control loop returns to step 803, in which the central controller receives the next command from the surgeon's input device.
[0080] Figure 9 A control loop is shown, implemented by an arm controller to control the movement of the surgical robot arm as commanded by the surgeon's input device. At step 901, the arm controller receives the desired wrist position and the desired instrument-driven joint position from the central controller.
[0081] At step 902, the arm controller determines the joint positions of the remaining joints of the robotic arm (i.e., joints J1 to J8) that do not drive the instruments. The determined joint positions result in the wrist having the desired position received from the central controller. Taking into account the known fixed base position and the desired wrist position, the arm controller uses an inverse kinematics method to determine the joint positions of the remaining joints J1 to J8 of the arm. Any suitable inverse kinematics method known in the art can be used. The arm controller uses known parameter values 903 to determine the joint positions. These known parameter values include: the known structure of the robotic arm; the known dimensions and mass of each link and joint of the robotic arm; the known dimensions and mass of the attached surgical instruments; and the moment of inertia of the joints. The moment of inertia of the joints is calculated based on the joint acceleration. The joint acceleration can be determined using stored joint positions from previous iterations and the frequency of calculating the positions. The joint acceleration can be determined using stored joint velocities and the frequency of calculating the joint positions.
[0082] A robotic arm is said to be redundant if it has more joints than are needed to achieve the desired wrist position. This means there is more than one configuration of the arm joints that gives the wrist the desired position. In this case, the arm controller determines a set of joint positions for the robotic arm that gives it the optimal configuration. The optimal configuration can be defined by any one or a combination of the following criteria:
[0083] - Avoid structures where one or more arm joints are close to their joint limits.
[0084] - Avoid constructing the surgical robot arm near joint singularities. Some poses of the surgical robot arm may become monolithic, meaning it is impossible to perform subsequent movement of the end effector in all directions at limited joint velocities.
[0085] - Construction to avoid collisions with other objects within the working area of the surgical robot arm.
[0086] - A configuration preferred by operating room staff. For example, redundancy allows the elbow section 302 to be used in one or more positions for the same wrist location. One position of the elbow section may be preferred over another to allow the bedside team to more easily access the patient side.
[0087] Once the arm controller has determined the joint positions of all remaining joints of the robot arm, it proceeds to step 904. At step 904, the arm controller sends control signals to the joint controllers to control the joint motors to drive the robot arm joints to the desired machine-driven joint positions and the determined joint positions for the remaining joints. The control signals sent from the arm controller to the joint controllers may include the requested joint torque. Each joint controller converts the requested joint torque for a joint into a physical torque at that joint. This can be done using closed-loop current control of the brushless DC motors attached to it to drive the joints. The joint controller first determines the motor current to deliver the requested torque. This determination is based on stored parameters related to the motor type and gearbox of the joint. The joint controller also measures the current flowing in each phase of the motor, which serves as the input for the closed-loop torque control of the motor.
[0088] Then, the control loop returns to step 901, in which the arm controller receives the next set of desired wrist positions and desired instrument drive joint positions from the central controller.
[0089] In the above control method, commands from the surgeon's input device are processed into drive signals for the joints of the surgical robot arm and distributed between the central controller and the arm controller.
[0090] The central controller determines the instrument drive joint positions and wrist positions. The instrument's construction and length are required to determine these positions. By allocating processing as described herein, the arm controllers do not need to maintain details of the attached instruments. Therefore, if an instrument needs upgrading, changing its size or function, or if a new instrument is added to the system, only a software upgrade of the central controller is required. This can be done by downloading updated instrument data from the instrument's own memory. Alternatively, updated instrument dimensions can be visually measured and input into the central controller. The arm controllers on all surgical robot arms in the system will not require software upgrades. Therefore, separating control functions between the central controller and arm controllers, as described herein, makes the maintenance of the surgical robot system as a whole more efficient.
[0091] By distributing the processing as described herein, the arm controller performs fewer calculations and therefore consumes a lower level of processing power. This reduces the heat generated by the arm controller compared to performing all the processing described herein. For safety reasons, the surface temperature of the surgical robot arm is strictly limited during the procedure. Because the surgical robot arm is covered with a drape for aseptic purposes during the procedure, the surface temperature of the arm increases due to heat loss from the joint motors and other circuitry within the arm. By separating the control functions between the central controller and the arm controller as described herein, the arm controller is able to consume less processing power and therefore generate less heat loss, thus reducing its contribution to heating the surface of the arm.
[0092] The central controller is communicatively coupled to each robotic arm in the surgical robot system. The individual arm controllers are not communicatively coupled to each other. Therefore, each arm controller is unaware of the location or even the presence of any other robotic arms in the system. By enabling the central controller to determine the position of each robotic arm's wrist within the system, it can identify overlaps in the working areas of two adjacent robotic arms and thus identify potential collisions between the two robotic arms.
[0093] The arm controller has a high computational workload for other tasks, including: driving the robot arm's joints, receiving sensing data from joint sensors, communicating with entities outside the robot arm, controlling power application to the robot arm, and detecting faults within the robot arm. On the other hand, the central controller has a much lower computational workload. The central controller, which performs some of the joint position calculations, reduces the computational requirements of the arm controller, thus allowing it to dedicate processing power and, consequently, speed, to other tasks. Choosing to split the workload means that the central controller providing the wrist position and the instrument-driven joint positions to the arm controller only requires the arm controller to perform calculations within the robot arm's reference frame. The arm controller does not need to perform any coordinate transformations. These are all handled by the central controller.
[0094] The robot described in this article can be used for purposes other than surgery. For example, the port could be an inspection port in a manufactured item such as a car engine, and the robot could control observation tools to examine the inside of the engine.
[0095] The applicant hereby independently discloses each individual feature described herein, as well as any combination of two or more such features, provided that such features or combinations can be implemented based on this specification as a whole according to common general knowledge of those skilled in the art, regardless of whether such features or combinations of features solve any problem disclosed herein, and without limiting the scope of the claims. The applicant notes that aspects of the invention can consist of any such individual feature or combination of features. In view of the foregoing description, it will be apparent to those skilled in the art that various modifications can be made within the scope of the invention.
Claims
1. A control system for a surgical robotic system, the surgical robotic system including a remote surgeon console and an articulated surgical robotic arm, the articulated surgical robotic arm including a series of joints extending from a base to a distal end for attachment to an articulated surgical instrument, the control system comprising: an arm controller of the surgical robotic arm, the arm controller being co-located with the surgical robotic arm; and a central controller communicatively coupled to the arm controller and located remotely away from the arm controller, the central controller also being communicatively coupled to a surgeon input device of the surgeon console, the central controller being configured to: receive from the surgeon input device a command indicative of a desired position of a distal end of the surgical instrument; convert the desired position of the distal end into: (i) a desired wrist position of a wrist of the surgical robotic arm, and (ii) desired instrument drive joint positions of those joints of the surgical robotic arm that drive the joints of the articulated surgical instrument; and transmit the desired wrist position and the desired instrument drive joint positions to the arm controller.
2. The control system of claim 1, wherein the wrist of the surgical robotic arm is located on the surgical robotic arm at a location where rotational axes of a set of distal joints of the surgical robotic arm located distally of the base and / or rotational axes of the joints of the articulated surgical instrument intersect.
3. The control system of claim 2, wherein the set of distal joints consists in order of a roll joint, a pitch joint, a yaw joint, and another roll joint.
4. The control system of claim 1 or 2, wherein the desired position of the articulated surgical instrument includes a position of the distal end and an orientation of the distal end.
5. The control system of claim 1 or 2, wherein the surgical instrument is a surgical endoscope.
6. The control system of claim 1 or 2, wherein the surgical instrument is configured to manipulate tissue, and the distal end of the surgical instrument is an end effector, and wherein the desired position of the articulated surgical instrument further includes a deployment of two end effector elements of the end effector.
7. The control system of claim 1 or 2, wherein the instrument drive joints are located proximate to a distal end of the surgical robotic arm.
8. The control system of claim 1 or 2, wherein the instrument drive joints consist of only three joints.
9. The control system of claim 1 or 2, wherein the central controller is configured to receive from the arm controller a virtual pivot point, the virtual pivot point being a location in a port that is always traversed by the surgical instrument when inside a patient's body.
10. The control system of claim 9, wherein the central controller is configured to receive from the arm controller an indication of an orientation of the surgical robotic arm relative to a surrounding environment of the surgical robotic arm.
11. The control system of claim 10, wherein the central controller uses the received virtual pivot point and the received indication of the orientation of the surgical robot arm to convert the desired position of the distal end into a desired wrist position and a desired instrument drive joint position in a frame of reference of the surgical robot arm.
12. An arm controller for a surgical robot arm, the surgical robot arm forming part of a surgical robot system, the surgical robot system comprising a remote surgeon console, a central controller and the surgical robot arm, the surgical robot arm comprising a series of joints extending from a base to a distal end for attachment to an articulated surgical instrument, the arm controller being co-located with the surgical robot arm and configured to: receiving a desired wrist position of a wrist of the surgical robot arm and driving desired instrument drive joint positions of the joints of the articulated surgical instrument driven by the surgical robot arm; and determine joint positions for joints of the surgical robot arm other than joints that drive the articulated surgical instrument so as to cause a wrist of the surgical robot arm to adopt the desired wrist position; and send control signals to joint controllers of the surgical robot arm to drive joints of the surgical robot arm to the received desired instrument drive joint position and the determined joint positions.
13. The arm controller of claim 12, wherein the wrist of the surgical robot arm is located at a position on the surgical robot arm at which rotational axes of a set of distal joints of the surgical robot arm located distally of the base and / or rotational axes of joints of the articulated surgical instrument intersect.
14. The arm controller of claim 13, wherein the set of distal joints consists in order of: a roll joint, a pitch joint, a yaw joint and a further roll joint.
15. The arm controller of claim 12 or 13, wherein the remaining joints comprise at least seven joints.
16. The arm controller of claim 15, wherein the remaining joints comprise eight sequential joints, wherein the eight sequential joints are in order from the base: a roll joint, a pitch joint, a roll joint, a pitch joint, a roll joint, a pitch joint, a yaw joint and a roll joint.
17. The arm controller of claim 12 or 13, wherein the determined joint positions are determined so as to cause the surgical robot arm to adopt an optimal configuration, the optimal configuration being such that: (i) any of the remaining joints are avoided from being proximate to joint limits; and / or (ii) the surgical robot arm is avoided from being proximate to a joint singularity.
18. The arm controller of claim 12 or 13, configured to: determine a virtual pivot point, the virtual pivot point being located in a port that the surgical instrument always passes through when inside a patient’s body; and transmit the virtual pivot point to the central controller.
19. The arm controller of claim 12 or 13, configured to transmit to the central controller an indication of an orientation of the surgical robot arm relative to a surrounding environment of the surgical robot arm.
20. A surgical robot system comprising: A surgical robotic arm, the surgical robotic arm comprising: a series of joints extending from a base to a distal end for attachment to an articulated surgical instrument; and an arm controller co-located with the surgical robotic arm; a remote surgeon console comprising a surgeon input device; and a central controller communicatively coupled to the remote surgeon console and the arm controller of the surgical robotic arm, the central controller configured to: receive, from the surgeon input device, a command indicative of a desired position of a distal end of the surgical instrument; convert the desired position of the distal end into: (i) a desired wrist position of a wrist of the surgical robotic arm, and (ii) desired instrument drive joint positions of those joints of the surgical robotic arm that drive the joints of the articulated surgical instrument; transmit the desired wrist position and the desired instrument drive joint positions to the arm controller; and the arm controller configured to: receive the desired wrist position and the desired instrument drive joint positions; and determine joint positions for the remaining joints of the surgical robotic arm, the remaining joints of the surgical robotic arm being the joints that do not drive the joints of the articulated surgical instrument, so as to cause the wrist of the surgical robotic arm to assume the desired wrist position; and drive the joints of the surgical robotic arm to the received desired instrument drive joint positions and the determined joint positions.
Citation Information
Patent Citations
Master-slave manipulator and medical master-slave manipulator
CN103328160A
Medical robotic system with operatively couplable simulator unit for surgeon training
US8600551B2