Control system for a surgical robot

CN115334996BActive Publication Date: 2026-10-16CMR SURGICAL LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180025532.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-31
Filing Date
2021-03-29
Publication Date
2026-10-16
Estimated Expiration
2041-03-29

AI Technical Summary

Benefits of technology

[0025] According to a second aspect of the invention, a method for controlling a surgical robotic arm is provided, the surgical robotic arm including a series of joints and one or more torque sensors, the configuration of the surgical robotic arm being capable of being altered by the series of joints, each torque sensor being configured to sense torque at a joint in the series of joints, the method comprising controlling the configuration of the surgical robotic arm to be altered in response to an externally applied force or torque by: receiving sensing data from the one or more torque sensors, the sensing data indicating a sensed torque state of the surgical robotic arm caused by the externally applied force or torque; mapping the sensed torque state to a selected torque state in a set of candidate torque states; and sending a command signal to the surgical robotic arm to drive the robotic arm such that the configuration of the robotic arm is altered to conform to the selected torque state.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115334996B_ABST
    Figure CN115334996B_ABST
Patent Text Reader

Abstract

A control system of a surgical robotic arm, the surgical robotic arm comprising a series of joints through which a configuration of the surgical robotic arm can be changed, and one or more torque sensors, each torque sensor configured to sense a torque at a joint of the series of joints, the control system configured to control the configuration of the surgical robotic arm to be changed in response to an externally applied force or torque by: receiving sensory data from the one or more torque sensors, the sensory data indicative of a sensed torque state of the surgical robotic arm resulting from the externally applied force or torque; mapping the sensed torque state to a selected torque state of a set of candidate torque states; and sending a command signal to the surgical robotic arm to drive the robotic arm such that the configuration of the robotic arm is changed so as to conform to the selected torque state.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] This invention relates to a control system for a surgical robotic arm.

[0002] Surgical robotic systems can be used to perform invasive medical procedures. Figure 1 A typical surgical robotic system is demonstrated. A surgical robotic system 100 is shown, which performs invasive medical procedures on a patient 102 positioned on an operating table 103. The surgical robotic system 100 includes an arm 101. The arm 101 carries surgical instruments 106, such as tools for performing cutting or grasping, or imaging devices, such as endoscopes. The arm 101 can manipulate its carried surgical instruments to perform various aspects of the invasive procedure.

[0003] Prior to invasive surgery, a member of the operating room staff (such as a bedside nurse) typically assists in setting up the surgical robotic system 100. During the invasive procedure, the surgical robotic system is typically controlled by the surgeon from a remote control console (not shown). During invasive medical procedures, a member of the operating room staff is also typically required to be near the operating table 103—so that they can attend to the patient (e.g., clean the surgical site). After the invasive surgery, a member of the operating room staff typically assists in discontinuing the use of the surgical robotic system 100.

[0004] Therefore, it is crucial to improve the safety and ease with which operating room staff can interact with surgical robotic systems before, during, and after invasive medical procedures. Summary of the Invention

[0005] According to a first aspect of the invention, a control system for a surgical robotic arm is provided, the surgical robotic arm including a series of joints and one or more torque sensors, the configuration of the surgical robotic arm being capable of being altered via the series of joints, each torque sensor being configured to sense torque at a joint in the series of joints, the control system being configured to control the configuration of the surgical robotic arm to be altered in response to an externally applied force or torque by: receiving sensing data from the one or more torque sensors, the sensing data indicating a sensed torque state of the surgical robotic arm caused by the externally applied force or torque; mapping the sensed torque state to a selected torque state in a set of candidate torque states; and sending a command signal to the surgical robotic arm to drive the robotic arm such that the configuration of the robotic arm is altered to conform to the selected torque state.

[0006] The control system can also be configured to iteratively execute a control loop, the control loop including the receiving step, the mapping step, and the sending step.

[0007] The sensed torque state can be represented by a column vector comprising torque data received from each of the one or more torque sensors.

[0008] The control system can be configured to determine one or more forces corresponding to a selected torque state, each force indicating a force acting on a point of the robot arm due to the externally applied force or torque, the force being defined relative to a direction defined for the point.

[0009] For each determined force, the control system can be configured to: determine the position of the point of the surgical robotic arm, thereby compensating for the force acting at the point by moving the point to the determined position; and send a command signal to the surgical robotic arm to drive the point of the surgical robotic arm to the determined position.

[0010] The control system can be configured to determine: a force acting at a single point on the robotic arm; and / or at least one force acting at each of n points on the robotic arm, where n>1.

[0011] Each torque state in the set of candidate torque states may correspond to one or more corresponding forces, and each torque state is the product of its corresponding one or more forces and the Jacobian matrix.

[0012] Each torque state in the candidate torque state set can be an element of the image of the Jacobian matrix.

[0013] When the control system is configured to determine the force acting at a single point, the Jacobian matrix may be a first Jacobian matrix that represents how changes in the joint angles of one or more of the series of joints will alter the position of the single point of the robotic arm.

[0014] When the control system is configured to determine at least one force acting at each of the n points, the Jacobian matrix may be a second Jacobian matrix, which represents how a change in the joint angle of one or more of the series of joints will alter the position of each of the n points.

[0015] The second Jacobian matrix can represent how a change in the joint angle of each joint in a subset of the joints in the series of joints will change the position of the first point among the n points, and how a change in the joint angle of each joint in a different subset of the joints in the series of joints will change the position of the second point among the n points.

[0016] The control system may be configured to determine, based on the current operating mode of the robotic arm, whether to control the configuration of the surgical robotic arm to be changed in response to an externally applied force or torque: (i) a force acting on a single point of the robotic arm; or (ii) at least one force acting on each of the n points of the robotic arm.

[0017] The control system may be configured to: calculate the determinant of the second Jacobian matrix to estimate the current configuration of the surgical robot arm; interpolate between the force acting at a single point on the robot arm determined using the first Jacobian matrix and the force acting at the same point among n points on the robot arm determined using the second Jacobian matrix, wherein the forces are weighted according to the calculated determinant of the second Jacobian matrix; and control the configuration of the surgical robot arm to be changed in response to externally applied forces or torques based on the interpolated forces.

[0018] The control system may also be configured to: map the sensed torque state to a selected torque state using the Mur-Penrose pseudoinverse of the Jacobian matrix, and determine the one or more forces corresponding to the selected torque state.

[0019] The selected torque state can be the torque state in the candidate torque state set that has the lowest Euclidean distance from the sensed torque state.

[0020] The selected torque state can be the torque state in the candidate torque state set that has the lowest minimum square distance from the sensed torque state.

[0021] The control system may also be configured to weight the sensing data received from each of the one or more torque sensors according to a determined noise interference level associated with each torque sensor, such that a larger weight is applied to the sensing data received from the torque sensor that is determined to be associated with a lower level of noise interference.

[0022] The surgical robotic arm may also include an attachment for surgical instruments at the distal end of the robotic arm, and the control system may be configured to cause the robotic arm to operate in the following modes: a surgical mode, wherein the surgical instruments attached to the attachment are inside the patient's body; and an instrument retraction mode, wherein the surgical instruments are retractable from the patient's body in response to an externally applied force or torque.

[0023] In the instrument retraction mode, the control system may be configured to multiply the Jacobian matrix by a column vector representing the direction of an axis parallel to the longitudinal axis of the surgical instrument, such that the one or more forces include forces acting along an axis parallel to the longitudinal axis of the surgical instrument.

[0024] The surgical robotic arm may also include one or more sets of motors, each of which is configured to drive a joint in the series of joints in response to a command signal sent by the control system.

[0025] According to a second aspect of the invention, a method for controlling a surgical robotic arm is provided, the surgical robotic arm including a series of joints and one or more torque sensors, the configuration of the surgical robotic arm being capable of being altered by the series of joints, each torque sensor being configured to sense torque at a joint in the series of joints, the method comprising controlling the configuration of the surgical robotic arm to be altered in response to an externally applied force or torque by: receiving sensing data from the one or more torque sensors, the sensing data indicating a sensed torque state of the surgical robotic arm caused by the externally applied force or torque; mapping the sensed torque state to a selected torque state in a set of candidate torque states; and sending a command signal to the surgical robotic arm to drive the robotic arm such that the configuration of the robotic arm is altered to conform to the selected torque state. Attached Figure Description

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

[0027] Figure 1 Demonstrates a typical surgical robotic system.

[0028] Figure 2 Demonstrating a surgical robotic system.

[0029] Figure 3 A surgical robotic arm demonstrating a surgical robotic system.

[0030] Figure 4 This is a flowchart illustrating the first control loop, which is executed by the control system to change the configuration of the surgical robot arm in response to an externally applied force or torque.

[0031] Figure 5 This is a flowchart illustrating the second control loop, which is executed by the control system to change the configuration of the surgical robot arm in response to an externally applied force or torque.

[0032] Figure 6It is a schematic diagram that shows the mapping from the sensed torque state to the selected torque state in the set of candidate torque states in two dimensions.

[0033] Figure 7 This is a flowchart illustrating a control loop executed by a control system to change the configuration of the surgical robot arm in response to an externally applied force or torque in instrument retraction mode. Detailed Implementation

[0034] The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application. Various modifications to the disclosed embodiments will be apparent to those skilled in the art.

[0035] The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Therefore, the invention is not intended to be limited to the illustrated embodiments, but rather accorded the widest scope consistent with the principles and features disclosed herein.

[0036] Figure 2 Demonstrating a surgical robotic system. Figure 2 A surgical robotic system 200 is shown for performing invasive medical procedures on patient 202. Patient 202 is positioned on an operating table 203. The surgical robotic system 100 includes a robotic arm 201. Although Figure 2 A robotic arm 201 is shown, but it should be understood that a surgical robotic system may include any number of robotic arms. The robotic arm 201 extends from a base 209 at its proximal end. The robotic arm 201 includes a plurality of joints 204 through which the configuration of the robotic arm can be altered.

[0037] The robotic arm 201 includes an attachment for a surgical instrument 206 at its distal end. The surgical instrument may have an elongated handle with an end effector at its distal end for performing various aspects of an invasive surgical procedure. The elongated handle of the surgical instrument may define its longitudinal axis. For example, the surgical instrument may be a cutting or grasping device or an imaging device (such as an endoscope). The surgical instrument 206 may be inserted into a patient's body 202. The surgical instrument 206 may be inserted into the patient's body 202 via a port.

[0038] The robotic arm 201 is configured to be remotely controlled in response to input received at a remote surgical console 220. The surgeon can provide input to the remote console 220. The remote surgical console includes one or more surgical input devices 223. These surgical input devices may take the form of manual controllers and / or foot pedals. The surgical console also includes a display 221.

[0039] The control system 224 connects the surgeon's console 220 to the surgical robotic arm 201. 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 201 and the surgical instruments 206. The control system 224 sends these control signals to the robotic arm, where corresponding joints are driven accordingly. The control system 224 can be detached from the remote surgeon's console 220 and the robotic arm 201. The control system 224 can be co-located with the remote surgeon's console 220. The control system 224 can be co-located with the robotic arm 201. The control system 224 can be distributed between the remote surgeon's console 220 and the robotic arm 201.

[0040] The configuration of the robotic arm 201 can be controlled in response to external forces applied directly to the robotic arm. For example, a member of the bedside team (e.g., an operating room nurse) can apply forces or torques directly to the robotic arm (e.g., by pushing the joints of the robotic arm). This behavior will be described in further detail herein.

[0041] Figure 3 An example of robot arm 301 is shown. Figure 2 The robotic arm 201 shown in the image can have the same... Figure 3 It has the same features as the robotic arm 301 shown in the image.

[0042] The robotic arm includes a base 309. The robotic arm has a series of rigid arm components. Each arm component in the series is engaged to the preceding arm component via corresponding joints 304a to 304g. Joints 304a to 304e and 304g are rotary joints. Joint 304f consists of two rotary joints whose axes are orthogonal to each other, as in a Hooke's joint or a universal joint. The point where the axes of joints 304e to 304g intersect may be referred to as the "wrist". The robotic arm can be coupled with... Figure 3 The arms engage differently. For example, joint 304d may be omitted, and / or joint 304f may allow rotation about a single axis. The robotic arm may include one or more joints that allow movement between corresponding sides of the joint other than rotation, such as prismatic joints, through which instrument attachments may slide linearly relative to a closer portion of the robotic arm.

[0043] The joints are configured to allow the configuration of the robotic arm to be altered, thereby allowing the distal end 330 of the robotic arm to move to any point in the three-dimensional workspace, generally shown at 335. One way to achieve this is that the joints have... Figure 3 The arrangement shown is illustrated. At least within region 335, other combinations and configurations of the joint can achieve a similar range of motion. More or fewer arm components may be present.

[0044] The distal end of the robotic arm 330 has an attachment 316 by means of which a surgical instrument 306 can be releasably attached. The surgical instrument has a linear rigid handle 361 and an end effector 362 at the distal end of the handle. The end effector 362 includes means for performing surgery, such as cutting, grasping, or imaging devices. As described herein, the distal joint 304g can be a rotary joint. The surgical instrument 306 and / or attachment 316 can be configured such that the instrument extends linearly parallel to the axis of rotation of the distal joint 304g of the robotic arm. In this example, the instrument extends along an axis coinciding with the axis of rotation of the joint 304g.

[0045] Joints 304e and 304f of the robotic arm are configured such that a surgical instrument 306 can be guided in any direction within a cone using the distal end of the robotic arm 330, held at any position within the working volume 335. This cone is generally shown as 336. One way to achieve this is that the end portion of the arm includes a pair of joints 304e and 304f, whose axes are arranged relative to each other as described above. Indeed, in the example where joint 304e is a rotary joint and joint 304f consists of two rotary joints (as described herein), this joint arrangement allows the surgical instrument to be guided in any direction on a spherical surface (not shown). Other mechanisms can achieve similar results. For example, if the instrument extends in a direction not parallel to the axis of joint 304g, joint 304g may affect the orientation of the instrument.

[0046] Surgical instrument 306 can be inserted into the patient's body through port 317. Port 317 may include a hollow tube 317a. Hollow tube 317a can pass through the patient's external tissue 302 to limit damage to those tissues during insertion and removal of the surgical instrument and when manipulating the instrument within the patient's body. Port 317 may include a collar 317b. Collar 317b prevents port 317 from being inserted too deeply through the patient's external tissue 302.

[0047] The robotic arm 301 includes a series of electric motors 310a to 310h. Except for a compound joint 304f servoed by two electric motors, each motor is arranged to drive rotation about a corresponding joint of the robotic arm. The motors are controlled by a control system (such as...) Figure 2The control system 224 shown herein controls the system. The control system may include a central controller, one or more arm controllers, and one or more joint controllers. The central controller may exert control over the robotic surgical system (e.g., including one or more robotic arms). Each arm controller may exert control over the robotic arm. Each joint controller may exert control over one or more joints of a series of joints of the robotic arm. Each of the central controller, arm controllers, and joint controllers may include a processor and memory. The memory stores software code in a non-transient manner, which may be executed by the processor to cause the processor to output control signals in the manner described herein. In other examples, the control system may include a single controller, a pair of controllers, or any other number of controllers configured to perform the functions of the central controller, one or more arm controllers, and one or more joint controllers described herein.

[0048] The robotic arm 301 may include a series of sensors 307a to 307h and 308a to 308h. For each joint, these sensors may include one or more position sensors 307a to 307h for sensing the rotational position of the joint, and force or torque sensors 308a to 308h for sensing the force or torque applied about the joint's rotational axis. The composite joint 304f may have two sets of sensors. The position and / or force or torque sensors for the joint may be integrated with the motors for the joint. In the example, each joint may include two position sensors, including a first position sensor at the motor and a second position sensor directly at the joint. The robotic arm may also include one or more current sensors to measure the current supplied at one or more of the motors 310a to 310h to ensure that the current actually supplied to the motor corresponds to the current required by the control system of the motor. The outputs of the sensors are transmitted to the control system, where they form inputs to the processor.

[0049] The control system receives sensing data from position sensors 307a to 307h and force or torque sensors 308a to 308h. Based on the position sensors, the control system can determine the current configuration of the robotic arm. For example, the control system can store the mass of each component of the robotic arm (e.g., joints and arm components) and surgical instruments, the distance of its center of mass from the previous joint of the robotic arm, and the relationship between the center of mass and the position output of the position sensor of the previous joint. The current configuration of the robotic arm can be inferred by other means. Using this information, the control system can model the gravitational effects on the components of the robotic arm for the current configuration of the robotic arm and estimate the force or torque generated by gravity on each joint of the robotic arm. The control system can then drive the motors 310a to 310h of each joint to apply a force or torque exactly opposite to the calculated gravity, so that the configuration of the robotic arm is maintained regardless of the gravitational effects.

[0050] Operating room staff members (such as operating room nurses) can interact with the surgical robotic arm 301 before, during, and after invasive medical procedures. To improve the ease and safety of such interactions, a control system (e.g., Figure 2 The control system 224 can control the configuration of the robotic arm 301 in response to forces applied directly to the robotic arm by a member of the operating room staff (e.g., by pushing the joints of the robotic arm). The control system 224 is configured to receive sensing data from force or torque sensors 308a to 308h, the sensing data indicating the sensed force or torque generated at the surgical robotic arm by an externally applied force or torque; process the received sensing data; and send command signals to the surgical robotic arm to drive the robotic arm such that the configuration of the robotic arm is changed to conform to the externally applied force or torque.

[0051] The control system enables the surgical robotic arm 301 to operate in a variety of different modes—where the robotic arm's command response to externally applied forces or torques differs. To achieve this, the processing performed by the control system on the received sensor data can be different in each of these modes. Three examples of such modes are compliant mode, surgical mode, and instrument retraction mode. These modes will be described in further detail herein.

[0052] compliance mode

[0053] In compliant mode, the control system commands the surgical robotic arm to change its configuration in response to externally applied forces or torques. In this way, an operating room nurse can push or pull any part of the robotic arm to a desired position, and that part will move to and remain in that position regardless of gravity acting on that part or any parts dependent on it. The behavior of the robotic arm in this mode can be termed compliant behavior. Members of the operating room staff may use compliant mode before or after invasive medical procedures (e.g., during operating room setup or cleanup). As further described herein, the control system may also induce certain parts of the robotic arm to exhibit compliant-like behavior during invasive medical procedures.

[0054] For example, the compliant mode can be used to insert a surgical instrument into port 317 in the patient's body. That is, the compliant mode can be used to insert the end effector 362 of the surgical instrument into port 317. (See reference) Figure 3 An operator (e.g., a member of the operating room team) can grasp one or both of the robotic arm 301 and surgical instruments 306. The operator can then apply an external force or torque, and the control system responds to the external force or torque by changing the configuration of the robotic arm 301 such that the elongated axis of the instrument's handle 361 is substantially aligned with the channel through the hollow tube 317a of the port 317. The operator can then apply an external force (e.g., pushing or pulling) or torque (e.g., twisting) to the robotic arm and / or the instrument, and the control system responds to the external force or torque by moving the instrument substantially parallel to its elongated axis and moving the instrument into the channel in the port 317.

[0055] Figure 4 This is a flowchart illustrating the first set of steps executed by the control system to change the configuration of the surgical robotic arm in response to externally applied forces or torques. The control system can be configured to execute... Figure 4 The set of steps shown is iterated multiple times. That is, the control system can execute steps 401, 402, 403, and 404 sequentially, and then return to step 401 to repeat the sequence. In other words, Figure 4 This is a flowchart illustrating the first control loop, which is executed by the control system to change the configuration of the surgical robot arm in response to an externally applied force or torque.

[0056] In step 401, sensing data is received from one or more force or torque sensors on the robotic arm, indicating the sensed force or torque generated at a portion of the surgical robotic arm by the externally applied force or torque. The received sensing data may actually indicate the force or torque generated by gravity acting on a portion of the robotic arm, as well as the force or torque generated by externally applied forces or torques at that portion of the surgical robotic arm. The received sensing data may also indicate vibration, inertia, and / or acceleration at a portion of the robotic arm, as well as the force or torque generated by externally applied forces or torques at that portion of the surgical robotic arm. The control system may be able to distinguish between gravity, external forces, and vibration, inertia, and / or acceleration at a portion of the robotic arm by filtering the sensing data. For example, a low-pass filter may be used to identify vibration at a portion of the robotic arm, since torque measurements associated with arm vibration are typically higher in frequency than measurements generated by gravity and externally applied forces or torques. As described herein, the control system may model the gravitational effects on the components of the robotic arm for the current configuration of the robotic arm, and thereby estimate the force or torque generated by gravity on a portion of the robotic arm. Therefore, the sensor data can be adjusted first to disregard forces or torques generated by gravity acting on a portion of the robot arm and / or any vibrations, inertia, and / or accelerations at that portion of the robot arm. For example, forces or torques generated by gravity acting on a portion of the robot arm and / or vibrations, inertia, and / or accelerations at that portion of the robot arm can be subtracted from the sensor data. Alternatively, the sensor data can be digitally analyzed (e.g., by filtering the sensor data described in this paragraph), where the control system considers only forces or torques generated by externally applied forces or torques.

[0057] The control system can independently consider the forces or torques acting at each of a series of joints in the robotic arm. In this case, the portion of the robotic arm is a joint within a series of joints.

[0058] Conversely, a portion of the robotic arm can be a point defined relative to the robotic arm itself, or a point defined relative to the surgical instrument. A point defined relative to the robotic arm may or may not be on the robotic arm, but may have a fixed spatial relationship with it. A point defined relative to the surgical instrument may or may not be on the surgical instrument, but may have a fixed spatial relationship with it. For example, a point could be the "wrist".

[0059] Externally applied forces or torques at a defined point on a robotic arm or instrument can generate forces or torques at multiple joints of the robotic arm. Therefore, sensing data can include sensed force or torque data from multiple force or torque sensors, which are parsed by the control system to determine the force or torque generated at the defined point by the externally applied forces or torques. To determine the resultant force or torque at the defined point based on the measured forces or torques acting locally at each of the multiple joints, the orientation of the rotation axis of each joint in the global reference frame can be considered. In this way, forward kinematics can be used to determine the contribution of the forces or torques measured at each joint to the forces or torques acting at the defined point. The control system may also simultaneously consider the forces or torques acting at the defined point and at one of the series of joints. That is, the control system can consider in parallel: (i) the forces or torques acting at the defined point, and (ii) the forces or torques acting at one of the series of joints of the robotic arm.

[0060] In step 402, the position of the portion of the surgical robotic arm is determined using a reference position, thereby compensating for the sensed force or torque by moving the portion of the surgical robotic arm to the determined position. That is, the position is determined such that by moving the portion of the surgical robotic arm to the determined position, the sensed force or torque generated by an externally applied force or torque will be yielded, conformed to, or reduced (e.g., reduced to zero).

[0061] The reference position is the position to which the control system is configured to drive the surgical robotic arm to when no external force or torque is applied. For example, the reference position could be the position of the portion of the robotic arm before the application of an external force. The reference position can initially be determined using position sensors 307a to 307h. Alternatively, the reference position can initially be determined by the user, for example, through input received at the surgeon's input device. Thereafter, the reference position can be iteratively updated, as further described herein.

[0062] Determining the position of the portion of the surgical robotic arm using the reference position may include determining a position that satisfies a mass-spring-damper model having position terms that depend on the reference position and the determined position. Examples 1 and 2 are detailed examples illustrating how step 402 may be performed.

[0063] Example 1

[0064] In Example 1, a portion of the robotic arm is joint j, one of a series of joints in the robotic arm, and the sensing data indicates the sensed torque τ generated at said joint by an externally applied force or torque. j Using reference position θj,ref Determine the angular position θ of the joint. j Angular position θ j The position θ is determined to satisfy the following j :

[0065]

[0066] Where M, D, and K are constants. For example, M can be the mass constant, D can be the damping constant, and K can be the spring constant. K(θ) j -θ j,ref The position item depends on the determined position and the reference position. It is the velocity term that depends on the first derivative of the determined position with respect to time. It is the acceleration term that depends on the second derivative of the determined position with respect to time. The velocity can be approximated by dividing the difference between consecutive angular positions of joint j by the sampling rate. For acceleration Similar approximate calculations can be performed.

[0067] Angular position θ of each joint in a series of joints j It can be determined independently based on Example 1.

[0068] Example 2

[0069] In Example 2, the portion of the robot arm is the defined point p, and the sensing data indicates the sensed force f acting in one direction at the defined point due to an externally applied force or torque. p The direction is relative to the direction of the sensed force as defined. The direction does not need to correspond to the geometry of the robotic arm. A reference position S is used. p,ref Determine the position S of the point p Location S p The position S is determined to satisfy the following formula p :

[0070]

[0071] Where M, D, and K are constants. For example, M can be the mass constant, D can be the damping constant, and K can be the spring constant. K(S) p -S p,ref ) is a position item that depends on the determined location and the reference location. DS p It is the velocity term that depends on the first derivative of the determined position with respect to time. It is the acceleration term that depends on the second derivative of the determined position with respect to time. The velocity can be approximated by dividing the difference between consecutive angular positions of joint j by the sampling rate. For acceleration Similar approximate calculations can be performed.

[0072] Return to Figure 4 In step 403, a command signal is sent to the surgical robotic arm to drive a portion of the surgical robotic arm to the determined position. The control system can use inverse kinematics to determine the angular position of a series of joints of the robotic arm required to position the portion of the surgical robotic arm in the determined position. The control system can control one or more motors 310a to 310h to drive the portion of the surgical robotic arm to the determined position. In this way, a member of the bedside staff may feel that the robotic arm is moving freely in response to the force or torque applied—when in fact it is the motors of the robotic arm that are driving the movement.

[0073] Returning to Examples 1 and 2, the constants M, D, and K can influence the "feeling" of the robotic arm by operating room staff interacting with it. The mass constant M is an inertial term and determines how easily the control system can cause a portion of the robotic arm to accelerate / decelerate in response to a force or torque. The damping constant D determines how easily the control system can cause a portion of the robotic arm to respond to changing forces or torques. For example, the damping constant D can be set so that the control system is less likely to cause the robotic arm to move in response to high-frequency forces or torques (such as vibrations)—in contrast to lower-frequency forces or torques (such as pushes or torsions applied by members of the bedside team). For example, vibrations might be generated by the vibration of an electric motor that can be caused by friction. It is undesirable for the control system to cause the configuration of the robotic arm to change in response to high-frequency forces or torques generated by these vibrations. Therefore, the constants M and D can be chosen such that the mass-spring-damper model acts as a digital filter—filtering out such high-frequency forces or torques. The spring constant K determines the amount of force or torque required by the control system to cause a change in the position of a portion of the robotic arm. The constants M, D, and K can be predetermined by the control system and stored as inputs. The M, D, and K constants can be user-configurable, allowing operating room staff to alter the "feel" of the robotic arm according to their personal preferences. Different M, D, and K constants can be set for use in different modes.

[0074] In step 404, if the difference between the reference position and the determined position is greater than a threshold displacement, the reference position is updated. If the difference between the reference position and the determined position is less than the threshold displacement, the control system maintains the reference position used in step 402 of the current iteration of the control loop for the next or subsequent iteration. As described herein, the reference position is the position to which the control system is configured to drive the surgical robotic arm to when no external force is applied to the portion. Thus, in this way, the control system can cause the robotic arm to operate "elastically" or "plastically" in response to an externally applied force or torque. Elastic operation means that the robotic arm displaces from one position in response to an externally applied force or torque, but returns to that position when the externally applied force or torque is no longer applied. Elastic operation occurs when the reference position is not updated in successive iterations of the control loop. Plastic operation means that the robotic arm displaces from one position in response to an externally applied force or torque, and maintains that position even when the externally applied force or torque is no longer applied. Plastic operation occurs when the reference position is not updated in the continuous iterations of the control loop.

[0075] The threshold displacement can be predetermined by the control system and stored as an input. The magnitude of the threshold displacement can affect the "feel" of the robotic arm for operating room staff interacting with it. In other words, the magnitude of the threshold displacement can be a determining factor in whether the control system causes the robotic arm to operate "elastically" or "plastically" in response to externally applied torque or force. Different threshold displacements can be set for use in different modes. The threshold displacement can be user-configurable, for example, allowing operating room staff to alter the "feel" of the robotic arm according to their personal preferences.

[0076] In the example, returning to reference example 1, the threshold displacement can be determined by θ. displacement The reference position θ can be updated if the following conditions are met. j,ref :‖θ j,ref -θ j ||>θ displacement Reference position θ j,ref It can be updated to equal θ j ±θ displacement In this way, when the sensed torque exceeds K×θ displacement During the sustained threshold time period, the robotic arm exhibits plastic operation. K×θ displacement It is the torque constant because K and θ displacementThese are all constants. Therefore, the robotic arm operates plastically when the sensed torque exceeds a threshold time period for which the torque constant persists. The threshold time period depends on how quickly the robotic arm reaches the determined position (e.g., the speed and acceleration at which the control system commands the robotic arm to move—which can depend on the velocity and acceleration terms of the mass-spring-damper model described herein, respectively) and how frequently the control system determines whether to update the reference position. For example, the control system might assess whether the reference position should be updated at a frequency of 5 kHz. This frequency can be predetermined by the control system and stored as an input. This frequency can affect the "feeling" of the robotic arm by members of the operating room staff interacting with it. Different frequencies can be set for use in different modes.

[0077] Figure 5 This is a flowchart illustrating the second set of steps executed by the control system to change the configuration of the surgical robot arm in response to externally applied forces or torques. (Reference) Figure 5 The described set of steps can be referenced. Figure 4 The described set of steps are used in combination. (See reference) Figure 5 The described set of steps can also be independent of the reference. Figure 4 The described set of steps are used for this purpose.

[0078] The control system can be configured to execute Figure 5 The set of steps shown is iterated multiple times. That is, the control system can execute steps 501, 502, and 503 sequentially, and then return to step 501 to repeat the sequence. In other words, Figure 5 This is a flowchart illustrating the second control loop, which is executed by the control system to change the configuration of the surgical robot arm in response to an externally applied force or torque.

[0079] When the robotic arm includes one or more torque sensors 308a to 308h, a reference can be used. Figure 5 The described set of steps involves each torque sensor configured to sense torque at a joint in a series of joints of a robotic arm. Sensing data provided by some torque sensors may contain interference, such as noise. That is, the sensing data may include multiple outliers, outliers, and / or erroneous values ​​due to factors other than the factor of interest. Therefore, while it is possible to use the raw sensing data output by the torque sensors (e.g., in...) Figure 4 In step 402), but it is preferred to further process the sensor data in order to reduce the amount of noise it contains.

[0080] In step 501, the control system receives sensing data from the one or more torque sensors, the sensing data indicating the sensed torque state of the surgical robotic arm caused by the externally applied force or torque. As described herein, the received sensing data can actually indicate the torque generated by gravity acting on a portion of the robotic arm and / or any vibration, inertia, and / or acceleration at said portion of the robotic arm, as well as the torque generated by externally applied force or torque at said portion of the surgical robotic arm. Therefore, the sensing data can be adjusted first for the torque generated by gravity acting on a portion of the robotic arm and / or any vibration, inertia, and / or acceleration at said portion of the robotic arm.

[0081] In step 502, the sensed torque state is mapped to a selected torque state from the candidate torque state set. The candidate torque state set can be the set of permissible torque states of the robot arm. The candidate torque state set can be encoded in a function. The candidate torque state set can be predetermined.

[0082] Figure 6 This is a schematic diagram 600 showing, in two dimensions, the mapping from the sensed torque state 602 to the selected torque state 601 in the candidate torque state set 601. Figure 6 In this model, the set of candidate torque states is encoded in a linear function 601. The sensed torque state 602 is not a solution to the linear function 601—for example, it lies outside the set of states mapped by the function. The sensed torque state 602 is mapped or projected to the torque state that is the closest solution to the linear function 601—in this case, the selected torque state 603. The selected torque state 603 can be the torque state in the candidate torque state set that has the lowest Euclidean or least square distance to the sensed torque state 602. The selected torque state 603 can be determined by iteratively refining the approximation of which torque state in the candidate torque state set has the lowest Euclidean or least square distance to the sensed torque state 602.

[0083] The sensed torque state can be represented by a column vector comprising torque data received from each of one or more torque sensors. The torque state can be represented in any other suitable manner. Each torque state in the candidate torque state set can correspond to one or more corresponding forces. Each torque state can be the product of its corresponding one or more forces and a Jacobian matrix. The torque state can be represented in joint space. Forces can be represented in Cartesian coordinates. The Jacobian matrix transforms changes in joint space into changes in Cartesian coordinates. Each torque state in the candidate torque state set can be an element of a graph of the Jacobian matrix. The graph of the matrix is ​​the set of values ​​to which the matrix can be mapped.

[0084] Example 3 is a detailed example illustrating how step 502 can be performed.

[0085] Example 3

[0086] In Example 3, a single point p is defined relative to the robot arm or relative to the machine. For an external force f applied at p, it is possible to derive said force f by applying the principle of virtual work to the net joint torque τ. The net joint torque τ can be referred to as the torque state and can be represented by a column vector comprising torque data received from each of one or more torque sensors. According to this principle, if point p is moved a distance... A series of joints need to be moved at different angles. Then if at p If a force is applied in the direction of , then the torque τ seen through joint j will be . j and Proportional. This can be expressed by the following formula: This information can be obtained from the Jacobian matrix J according to the following formula. p Encode:

[0087]

[0088] Jacobian matrix J p Represents the net joint angle θ = (θ1,…,θ) n A small change in will shift point p to a certain extent. Each joint in a series of joints in the robot arm can be considered. That is, the column vector can include torque data received by torque sensors at each joint from joints 304a to 304g. Alternatively, a subset of joints in a series of joints in the robot arm can be considered. For example, only the joints adjacent to the defined point p—or any number of joints on either side of the defined point—can be considered.

[0089] As described in this paper, the sensing data indicating the sensed torque state τ typically contains noise interference. Therefore, there are multiple sensed torque states, among which... In other words, the sensed torque state τ is not the Jacobian matrix J. p The elements of the image. In other words, for one or more sensed torque states τ, there will be no force f that is f = J. p -1 The solution to τ.

[0090] Therefore, as described in this paper, the sensed torque state τ is mapped to a selected torque state in the candidate torque state set. Selected torque state It is the Jacobian matrix J p The elements of the image. This can be expressed as Selected torque state It can be the torque state in the candidate torque state set that has the lowest Euclidean distance or the lowest square distance to the sensed torque state τ.

[0091] Return to Figure 5 In step 503, the control system sends a command signal to the surgical robotic arm to drive the robotic arm, causing the configuration of the robotic arm to be changed to comply with, compensate for, or conform to a selected torque state (e.g., For example, with the selected torque state. Torque data related to each joint below Can be used as a reference Figure 4 The inputs are the mass-spring-damper model described in Example 1.

[0092] Returning to step 502 and Example 3, optionally, the control system can determine the force corresponding to the selected torque state. For example, after the selected torque state has been determined... Then, the control system can be solved by... To determine the stress f. Force f can represent the force acting at a defined point due to an externally applied force or torque, relative to a direction defined for that point. To define it. Typically, the Jacobian matrix J... p This will not be invertible. This is because the number of joints n considered is usually different from the number of Cartesian axes (e.g., x, y, z), and therefore the Jacobian matrix will not be a square in this case. Therefore, in order to solve... Confirmed Since the Jacobian matrix is ​​not invertible, a right inverse function can be used. Other solutions exist for approximating the inverse of a non-invertible matrix.

[0093] Alternatively, the Moore-Penrose pseudoinverse of the Jacobian matrix can be used to map the sensed torque state to a selected torque state and determine the force corresponding to the selected torque state in one step. For example, the force f can be determined based on the sensed torque state τ according to the following equation:

[0094] f = J p + τ (Equation 4)

[0095] J p + It is J p The Moore-Penrose pseudo-rebel.

[0096] The control system can send command signals to the surgical robotic arm to drive it, causing the arm's configuration to change in order to comply with, compensate for, or conform to a predetermined force f. For example, force f can be used as a reference. Figure 4 The inputs are the mass-spring-damper model described in Example 2.

[0097] Returning to step 702, the control system may instead determine at least one force acting at each of the n points of the robot arm, rather than determining a force acting at a single point p as in Example 3, where n > 1. Example 4 is a detailed example illustrating how step 502 can be performed in this manner.

[0098] Example 4

[0099] In Example 4, two points are defined relative to the robotic arm. The first point is the "wrist" (e.g., the point where the axes of joints 304e to 304g intersect), and the second point is the "elbow" (e.g., the point defined relative to joint 304d). For an external force f applied to the elbow... elbow The force f can be derived by applying the principle of virtual work to net joint torque. elbow The net joint torque can be referred to as the torque state and can be represented by a column vector comprising torque data received from each of one or more torque sensors. Based on this principle, if the elbow movement distance... A series of joints need to be moved at different angles. If at the elbow If a force is applied in the direction of , then the torque τ seen through joint j will be . j and Proportional. This can be expressed by the following formula: In Example 4, the force applied to the wrist is considered relative to three directions (Cartesian directions x, y, and z). The x, y, and z directions can be defined in a global reference frame. Alternatively, the x, y, and z directions can be defined in a local wrist reference frame. For example, the z direction could be the same as the direction of the instrument, and x and y could be defined as perpendicular to the z direction and perpendicular to each other. In this example, the x, y, and z directions can vary with wrist movement. and In relation to f in this article elbow The same process is described. This information can be processed according to the Jacobian matrix J as follows. p Encode:

[0100]

[0101] Jacobian matrix represents the net joint angle θ = (θ1,…,θ) n A small change in will alter the position of each of the n points to a certain extent. In Example 4, two points are considered—the elbow and the wrist—but it is possible to consider any number of points. For example, points can be defined relative to the tip of an instrument.

[0102] In Example 4, the force applied to the wrist is considered relative to three directions (Cartesian directions x, y, and z). Forces acting at a point can be considered relative to any number of directions.

[0103] Each joint in a series of joints in a robotic arm can be considered. Alternatively, a subset of joints in a series of joints in a robotic arm can be considered. For example, only the joints adjacent to each point (such as the wrist and elbow) can be considered—or any number of joints on either side of these points. Different subsets of joints can be considered for each point. In practice, this can be achieved by setting the entries in the Jacobian matrix corresponding to the unconsidered joints to zero.

[0104] In Example 4, the sensed torque state can be mapped to a selected torque state in the same manner as described in Reference Example 3. That is, the sensed torque state is mapped to a selected torque state from the set of candidate torque states. The selected torque state is an element of the image of the Jacobian matrix shown in Equation 5. The selected torque state can be the torque state in the set of candidate torque states that has the lowest Euclidean distance or the minimum squared distance to the sensed torque state.

[0105] After the sensed torque state has been mapped to the selected torque state, in step 503, the control system sends a command signal to the surgical robotic arm to drive the arm, causing the arm's configuration to change to conform to, compensate for, or match the selected torque state. For example, in the case of being in the selected torque state... Torque data related to each joint below Can be used as a reference Figure 4 The inputs are the mass-spring-damper model described in Example 1.

[0106] Alternatively, in Example 4, at least one force acting at each point can be determined by identifying those forces corresponding to the selected torque state. In Example 4, the force acting on the elbow is determined by... elbow One force at the wrist and three forces acting at the wrist. and This can be achieved in a similar manner to that described in Reference Example 3. That is, after mapping the sensed torque state to the selected torque state, this can be achieved by simply rearranging Equation 5 if the Jacobian matrix is ​​invertible, or by using a function such as a right-hand inverse if the Jacobian matrix is ​​not invertible. Alternatively, the Moore-Penrose pseudoinverse of the Jacobian matrix can be used to map the sensed torque state to the selected torque state and determine multiple forces f corresponding to the selected torque state in one step. elbow , and

[0107] The control system can then send command signals to the surgical robotic arm to drive it, causing the arm's configuration to change to comply with, compensate for, or conform to each of the defined forces. For example, force f elbow , and Can be used as a reference Figure 4 The inputs are the mass-spring-damper model described in Example 2.

[0108] Optionally, after receiving sensing data indicating the torque state of the robotic arm in step 501, the control system may, based on an estimate of the current configuration of the robotic arm, determine in steps 502 and 503 whether to control the configuration of the surgical robotic arm to be changed in response to an externally applied force or torque, according to the forces acting at: a single point of the robotic arm as determined according to Example 3; or at least one force acting at each of the n points of the robotic arm as determined according to Example 4; or by using a weighted combination of the force acting at a single point of the robotic arm as determined according to Example 3 and the forces acting at the same points of the n points of the robotic arm as determined according to Example 4.

[0109] For example, when the Jacobian matrix used in Example 4 considers sensing data received from torque sensors at only a subset of joints in a series of joints—such as those adjacent to several defined points—the method described with reference to Example 4 can reduce the accuracy of resolving forces or torques applied to certain parts of the robotic arm. For example, if the control system operates in a mode in which it anticipates that an external force or torque will be applied to a part of the robotic arm (which cannot be accurately resolved using the method described with reference to Example 4), the control system can determine whether the configuration of the surgical robotic arm is altered in response to an externally applied force or torque based on the force acting at a single point on the robotic arm (as described with reference to Example 3) and considering sensing data received from all torque sensors.

[0110] In another example, the configuration of the robotic arm allows two or more of the directions considered at multiple defined points to be aligned (e.g., in Example 4, the direction considered at the elbow 304d and one of the x, y, or z directions considered at the wrist joints 304e to 304g). This can be referred to as a single configuration of the robotic arm. When the robotic arm adopts a single configuration, the accuracy of resolving the applied force or torque acting at a single point (such as the elbow) is reduced by any of the methods described with reference to Examples 3 and 4. Therefore, in this case, the control system can use each of the methods described with reference to Examples 3 and 4 to estimate the force acting at a single point (e.g., the elbow) of the robotic arm and interpolate between these determined forces to determine the force acting at the elbow that will be used to control the configuration of the surgical robotic arm. For example, Equation 6 can be used to interpolate between the forces determined using each of the methods described with reference to Examples 3 and 4.

[0111]

[0112] Where β is a weighted value that varies with the determinant of the Jacobian matrix, representing the degree to which a small change in the net joint angle will alter the position of each of a plurality of points (e.g., the Jacobian matrix in Equation 5). The determinant of this Jacobian matrix provides an estimate of the current configuration of the robotic arm. For example, if the determinant of this Jacobian matrix is ​​below a threshold (e.g., closer to zero), the control system can apply greater weight to the forces determined to act at said point using the method described with reference to Example 3. If the determinant of this Jacobian matrix is ​​above a threshold (e.g., further from zero), the control system can apply greater weight to the forces determined to act at said point using the method described with reference to Example 4.

[0113] When the robotic arm employs a single configuration, the control system can also be configured to consider a smaller subset of the joints in a series of joints of the robotic arm using each of the methods described with reference to Examples 3 and 4 before interpolating between the determined forces according to Equation 6. The subset of joints to be considered may depend on the nature of the singleness of the robotic arm configuration and the point where the force will be resolved (e.g., the joints near said point).

[0114] Optionally, the control system may determine that one or more torque sensors are subjected to greater noise interference than other sensors. In this case, the control system can assign more importance to the sensing data received from the sensors determined to be subjected to less noise interference. To achieve this, the control system can assign weighting values ​​α1,…,α n This is applied to the sensing data received from each torque sensor. For example, the inverse Jacobian matrix described in Example 3 or 4 can be weighted using a diagonal matrix with weights corresponding to each value in the torque state. That is, each weight α n It can be associated with terms in the inverse Jacobian matrix, which is related to the sensing data τ. n The joint j associated with the torque sensor n Angle θ n The changes are related. In the example where the Moore-Penrose pseudoinverse is used to map the sensed torque state to a selected torque state and determine the force corresponding to the selected torque state in one step, a diagonal weighting matrix encoding the weights to be applied to the sensing data received from each torque sensor can be integrated into the Moore-Penrose pseudoinverse of the Jacobian matrix. The control system can determine the importance to be applied to each torque sensor, such that... The values ​​are for α1,…,α n Minimize, where α n It is a weighted value applied to the sensing data received from the nth torque sensor.

[0115] Surgical model

[0116] During invasive surgery, the surgical robotic arm can operate in surgical mode. In surgical mode, surgical instruments are placed inside the patient's body. The control system commands the surgical robotic arm so that its configuration responds to a remote surgeon's console (such as...). Figure 2 The input received at the remote surgeon console 220 (as shown in the diagram) is modified. The surgeon may provide input to the remote console 220, for example, via one or more surgeon input devices 223.

[0117] When operating in surgical mode, the control system can induce certain parts of the robotic arm to exhibit compliant-like behavior—such as reference... Figure 4 and Figure 5 As described herein, for example, the configuration of the elbow joint 304d can be altered in response to external forces, provided that the position and orientation of the instrument 306 remain unaffected. This compliant behavior, when the robotic arm is operating in surgical mode, allows, for example, a member of the operating room staff to move the elbow of the robotic arm so that it can be approached by the patient during surgery. This compliant behavior can also be a beneficial safety feature, for example, enabling the alteration of the robotic arm's configuration if a member of the operating room staff "bumps" into the surgical robotic arm.

[0118] To implement this type of compliant behavior, the control system can define a permissible area or volume for one or more parts of the robot (e.g., wrist joint assemblies 304e to g304) such that the movement of those parts in response to externally applied forces or torques is restricted within the permissible area or volume. The permissible area or volume is defined such that movement within said area or volume in response to externally applied forces or torques does not affect the position and orientation of the device 306.

[0119] Return to reference Figure 4 In step 401, in surgical mode, the received sensor data may indicate the force or torque generated by gravity acting on a portion of the robotic arm, any vibration, inertia, and / or acceleration at that portion of the robotic arm, the force or torque generated by externally applied force or torque at that portion of the surgical robotic arm, and another force or torque generated at that portion of the surgical robotic arm by the robotic arm driven by the control system in response to input received at the remote surgeon's console. Therefore, the sensor data may be adjusted first to disregard the force or torque generated by gravity acting on a portion of the robotic arm and / or any vibration, inertia, and / or acceleration at said portion of the robotic arm, and / or the force or torque generated at that portion of the robotic arm by the motors driving the robotic arm in response to input received at the remote surgeon's console. For example, the force or torque generated by gravity acting on a portion of the robotic arm, and the force or torque generated by the motors driving the robotic arm in response to input received at the remote surgeon's console, may be subtracted from the sensor data.

[0120] Instrument retraction mode

[0121] The instrument retraction mode can be used to retract instrument 306 from the patient's body. Retraction of the instrument from the patient's body may be necessary after invasive surgery has been completed. Retraction of the instrument from the patient's body may also be necessary during surgery. For example, during invasive surgery, it may be necessary to change or replace the instrument attached to the surgical robotic arm. That is, it may be necessary to change the instrument to use a different instrument with different capabilities, or it may be necessary to replace the instrument if the instrument attached to the robotic arm malfunctions.

[0122] In instrument retraction mode, the control system can induce the surgical robotic arm 301 to exhibit compliant behavior—such as reference... Figure 4 and Figure 5 The described behavior. The control system enables this compliant behavior, allowing operating room staff members to retract instruments from the patient's body. The control system can cause the configuration of the robotic arm to change in response to externally applied forces or torques (e.g., manual pushing or pulling by operating room staff members) so that instrument 306 can retract from the patient's body along an axis parallel to the instrument's longitudinal axis. Reference Figure 3 The longitudinal axis of instrument 306 can be coaxial with the instrument handle 361. That is, in instrument retraction mode, the control system can cause the configuration of the robotic arm to change in response to external forces, but restricts the degrees of freedom of the robotic arm, so that the surgical instrument can only move linearly in a direction parallel to and / or coaxial with its longitudinal axis. Instrument 306 retracts from the patient's body along an axis parallel to the longitudinal axis of the instrument, so as to minimize or eliminate damage or destruction to the patient's surrounding tissues during instrument retraction.

[0123] Figure 7 This is a flowchart illustrating a set of steps executed by a control system to alter the configuration of the surgical robot arm in response to externally applied forces in instrument retraction mode. The control system can be configured to execute... Figure 7 The set of steps shown is iterated multiple times. That is, the control system can execute steps 701, 702, and 703 sequentially, and then return to step 701 to repeat the sequence. In other words, Figure 7 This is a flowchart illustrating a control loop executed by a control system to change the configuration of the surgical robot arm in response to an externally applied force or torque in instrument retraction mode.

[0124] During the initialization of the instrument retraction mode, the control system receives sensing data from one or more position sensors 307a to 307h, which indicates the rotational position of one or more joints in a series of joints of the robotic arm. Using this sensing data, the control system determines the position of a point on the robotic arm or instrument, and a direction parallel to the longitudinal axis of the surgical instrument intersecting the defined point. This point can be defined relative to the distal end of the robotic arm or relative to the surgical instrument.

[0125] In step 701, the control system receives sensing data from one or more force or torque sensors, the sensing data indicating the sensed force or torque generated at a defined point by an externally applied force or torque. As described herein, the received sensing data may actually indicate the force or torque generated by gravity acting on the defined point, and / or any vibration, inertia, and / or acceleration at the defined point, as well as the force or torque generated at the defined point by an externally applied force or torque. Therefore, the sensing data can be adjusted first for the force or torque generated by gravity acting on the robot arm and / or any vibration, inertia, and / or acceleration at said portion of the robot arm.

[0126] In step 702, the control system analyzes the sensed force or torque to determine the component of the sensed force or torque acting in a direction parallel to the longitudinal axis of the surgical instrument attached to the accessory.

[0127] In an example where the device extends along an axis coinciding with the rotation axis of joint 304g, the control system can use sensor data to determine whether the applied external force coincides with the longitudinal axis of the device (and is therefore inherently parallel to said longitudinal axis). In an example where the device extends linearly parallel to (but not necessarily coaxial with) the rotation axis of the end joint 304g of the robot arm, the control system can use sensor data to determine whether the applied external force is parallel to the longitudinal axis of the device.

[0128] To analyze the sensed force or torque, the control system can be implemented with reference to... Figure 5 The method described is similar. That is, sensing data can be received from one or more torque sensors, indicating the sensed torque state produced at a defined point by an externally applied force or torque. The control system can then resolve the sensed torque state by mapping it to a selected torque state from a set of candidate torque states. (See reference...) Figure 5 As described, each torque state in the candidate torque state set can be an element of a picture of a Jacobian matrix. After the sensed torque states have been mapped to selected torque states, the control system can determine a stress, which indicates the force acting at a defined point and in a direction parallel to the longitudinal axis of the surgical instrument due to an externally applied force or torque. In instrument retraction mode, the control system can be configured to multiply the Jacobian matrix by a column vector representing the direction of an axis parallel to the longitudinal axis of the surgical instrument, such that the force determining the corresponding force includes (e.g., only) the force acting along an axis parallel to the longitudinal axis of the surgical instrument. Example 5 is a detailed example illustrating how step 702 can be performed.

[0129] Example 5

[0130] In Example 5, a point p is defined relative to the robot arm or relative to the instrument. For an external force f applied at p, it is possible to derive the direction along the longitudinal axis parallel to the instrument axis by applying the principle of virtual work to the net joint torque τ. The force f acting on the surface. This information can be obtained from the Jacobian matrix using the following formula. Encode:

[0131]

[0132] Among them, direction It has components The unit vector, and It is a 1 x n Jacobian matrix, wherein the Jacobian matrix represents the net joint angle θ = (θ1, ..., θ2). n Smaller changes will be in the direction The degree to which point p is moved upwards. A reference can be used. Figure 5 And any of the methods described in Example 3, according to the expression The force f is determined using the sensed torque τ. This is because the Jacobian matrix has been multiplied by a column vector representing the direction of the axis parallel to the longitudinal axis of the surgical instrument. Therefore, determining one or more forces corresponding to the torque state includes (e.g., only) forces acting along an axis parallel to the longitudinal axis of the surgical instrument.

[0133] Return to Figure 7 In step 703, a command signal is sent to the surgical robotic arm to drive it, causing the arm's configuration to change to conform to, compensate for, or match the resolved force or torque component. For example, the force f determined according to Example 5 can be used as a reference. Figure 4 The inputs are the mass-spring-damper model described in Example 2, used to determine how the configuration of the surgical robot arm should be changed. Since the force f includes only the component of the applied force or torque acting at the defined point and in a direction parallel to the longitudinal axis of the surgical instrument, the position to which the defined point will be driven, as determined according to Example 2, will be in a direction parallel to the longitudinal axis of the surgical instrument.

[0134] For other modes (not described in detail in this article), please refer to the reference. Figure 7 The principle described resolves forces in one or more different directions (e.g., the direction perpendicular to the axis of the instrument handle).

[0135] The control system can also be configured to define a stop position based on a defined location on the robotic arm or instrument. The stop position can be a location parallel to the longitudinal axis of the surgical instrument, where the control system prevents the defined point from being further driven toward the patient. Defining the stop position prevents the operator of the surgical robotic arm (e.g., a member of the bedside staff) from pushing the instrument (e.g., a retracting instrument, or a new instrument that has been replaced with a retracting instrument) too deeply into the patient's body. This prevents injury to the patient.

[0136] If the control system determines that the surgical instrument cannot be fully retracted from the patient, it may optionally notify the operator of the surgical robotic arm (e.g., a member of the bedside staff). The control system may use data from position sensors 307a to 307h to determine that the current angular position of one or more joints is too close to the end of their range of motion, thus preventing instrument retraction from the patient. This determination may be made when the instrument retraction mode is initialized, or during its use. If the surgical instrument cannot be fully retracted from the patient using the instrument retraction mode, the control system may automatically cause the position of one or more joints of the surgical robotic arm to be adjusted to the center of their range of motion—in a manner that maintains the position and orientation of the instrument—or the control system may cause the surgical robotic arm to operate in surgical mode, enabling operation in response to a remote surgeon's console (such as…). Figure 2 The remote surgeon console 220 shown in the image receives input and adjusts one or more joints.

[0137] When in instrument retraction mode, the control system may optionally enable the instrument and / or instrument attachments to be rotatable. That is, the control system may allow a joint (e.g., joint 304g) of a series of joints having an axis of rotation parallel to the longitudinal axis of the instrument to rotate during instrument retraction. This rotational freedom can assist operating room staff in removing or replacing instruments. For example, it may be necessary for the operator to be able to rotate the instrument to remove obstructions from the end effector as the instrument retracts from the patient, or for the operator to be able to rotate the instrument attachment to more easily replace the instrument with an alternative.

[0138] To achieve this, the control system can also execute a reference. Figure 4 The method described in Example 1 is used to control the angular displacement of a joint (e.g., joint 304g). The control system can perform this method independently (e.g., independently of but simultaneously with) controlling the linear displacement of the defined point along a direction parallel to the longitudinal axis of the instrument. This may be particularly suitable when the joint (e.g., joint 304g) is located further away than the defined point. This is because changes in the angular position of the joint do not cause displacement or orientation changes at the defined point.

[0139] For example, the control system may also be configured to receive sensing data from a force or torque sensor, the sensing data indicating the sensed force or torque generated at a rotary joint in a series of joints by an externally applied force or torque, the rotation axis of the rotary joint being parallel to the longitudinal axis of the surgical instrument. Optionally, the control system may be configured to refer to... Figure 5 The described method processes the received torque value. The control system can then use a reference angular position to determine the angular position of the rotary joint, thereby compensating for the sensed force or torque by moving the rotary joint to the determined angular position. The reference angular position is the angular position to which the control system is configured to drive the rotary joint when no external force is sensed at the rotary joint. The control system can use the mass-spring-damper model described with reference to Example 1 to determine the angular position. The control system can use the mass-spring-damper model described with reference to Example 1 to determine the velocity and acceleration at which the joint will move to the position. The control system can be configured to send command signals to the surgical robot arm to drive the rotary joint to the determined angular position. The “elastic” and “plastic” operation of the rotary joint can be referenced herein. Figure 4 Implement it as described.

[0140] The robotic arm described in this article can be used for purposes other than surgery. For example, the port could be an inspection port in a manufactured product such as a car engine, and the robot could control inspection instruments for observing the inside of the engine.

[0141] 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 may include 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 are possible within the scope of the invention.

Claims

1. A control system for a surgical robotic arm, the surgical robotic arm including a series of joints and one or more torque sensors, the configuration of the surgical robotic arm being capable of being altered via the series of joints, each torque sensor being configured to sense torque at a joint in the series of joints, the control system being configured to control the configuration of the surgical robotic arm to be altered in response to an externally applied force or torque by: Sensing data is received from the one or more torque sensors, the sensing data indicating the sensed torque state of the surgical robotic arm caused by the externally applied force or torque; A single torque state in the candidate torque state set is selected by mapping the sensed torque state to a selected torque state in the candidate torque state set, which is a plurality of predetermined permissible torque states of the robotic arm. as well as Command signals are sent to the surgical robotic arm to drive it, causing the arm's configuration to change to match the selected torque state.

2. The control system of claim 1, further configured to iteratively execute a control loop, the control loop including the receiving step, the selecting step, and the sending step.

3. The control system of claim 1 or 2, wherein the sensed torque state can be represented by a column vector comprising torque data received from each of the one or more torque sensors.

4. The control system of claim 1 or 2, wherein the control system is configured to: Determine one or more forces corresponding to the selected torque state, each force indicating a force acting on a point of the robot arm due to the externally applied force or torque, the force being defined relative to a direction defined for that point.

5. The control system of claim 4; wherein the control system is configured for each determined force: Determine the position of the point on the surgical robotic arm, thereby compensating for the force acting at the point by moving the point to the determined position; and Command signals are sent to the surgical robotic arm to drive the point of the surgical robotic arm to the determined position.

6. The control system of claim 5, wherein the control system is configured to determine: Forces acting at a single point on the robotic arm; and / or Acting on the robot arm n At least one force at each of the points, where n >1.

7. The control system of claim 6, wherein each torque state in the set of candidate torque states corresponds to one or more corresponding forces, and wherein each torque state is the product of its corresponding one or more forces and a Jacobian matrix.

8. The control system of claim 7, wherein each torque state in the set of candidate torque states is an element of the image of the Jacobian matrix.

9. The control system as claimed in claim 7, wherein: When the control system is configured to determine the force acting at a single point, the Jacobian matrix is ​​a first Jacobian matrix that represents how changes in the joint angles of one or more of the series of joints will alter the position of the single point of the robotic arm.

10. The control system as claimed in claim 9, wherein: When the control system is configured to determine the action on n When at least one force is applied at each of the points, the Jacobian matrix is ​​a second Jacobian matrix, which represents how changes in the joint angles of one or more joints in the series of joints will alter the... n The position of each of the points.

11. The control system of claim 10, wherein the second Jacobian matrix represents how a change in the joint angle of a subset of joints in the series of joints will alter the... n The position of the first point in the series of joints, and how changes in the joint angles of each joint in different subsets of the joints in the series of joints will alter the... n The position of the second point among the points.

12. The control system of claim 6, wherein the control system is configured to: Based on the current operating mode of the robotic arm, determine whether to control the configuration of the surgical robotic arm to be changed in response to an externally applied force or torque according to the following: (i) A force acting at a single point on the robotic arm; or (ii) The action on the robot arm n At least one force at each of the points.

13. The control system of claim 10, wherein the control system is configured to: Calculate the determinant of the second Jacobian matrix in order to estimate the current configuration of the surgical robotic arm; The force acting on a single point of the robot arm, determined using the first Jacobian matrix, and the force acting on the robot arm, determined using the second Jacobian matrix. n Interpolation is performed between forces at the same points in the points, wherein the forces are weighted according to the calculated determinant of the second Jacobian matrix; The configuration of the surgical robotic arm is controlled by interpolation force and is altered in response to externally applied force or torque.

14. The control system of claim 7, further configured to: The sensed torque state is mapped to a selected torque state using the Mur-Penrose pseudoinverse of the Jacobian matrix, and the one or more forces corresponding to the selected torque state are determined.

15. The control system of claim 1 or 2, wherein the selected torque state is the torque state in the set of candidate torque states that has the lowest Euclidean distance from the sensed torque state, or wherein the selected torque state is the torque state in the set of candidate torque states that has the lowest minimum square distance from the sensed torque state.

16. The control system of claim 1 or 2, further configured to weight the sensing data received from each of the one or more torque sensors according to a determined noise interference level associated with each torque sensor, such that a larger weight is applied to the sensing data received from the torque sensor determined to be associated with a lower level of noise interference.

17. The control system of claim 7, wherein the surgical robotic arm further includes an accessory for surgical instruments at the distal end of the robotic arm, and wherein the control system is configured to cause the robotic arm to operate in the following modes: Surgical mode, wherein the surgical instruments attached to the accessory are inside the patient's body; and Instrument retraction mode, wherein the surgical instrument is capable of retracting from the patient's body in response to an externally applied force or torque.

18. The control system of claim 17, wherein in the instrument retraction mode, the control system is configured to multiply the Jacobian matrix by a column vector representing the direction of an axis parallel to the longitudinal axis of the surgical instrument, such that the one or more forces include forces acting along the axis parallel to the longitudinal axis of the surgical instrument.

19. The control system of claim 1 or 2, wherein the surgical robotic arm further comprises one or more sets of motors, each motor in the set being configured to drive a joint in the series of joints in response to a command signal sent by the control system.

20. A method for controlling a surgical robotic arm, the surgical robotic arm including a series of joints and one or more torque sensors, the configuration of the surgical robotic arm being capable of being altered by the series of joints, each torque sensor being configured to sense torque at a joint in the series of joints, the method comprising controlling the configuration of the surgical robotic arm to be altered in response to an externally applied force or torque by: Sensing data is received from the one or more torque sensors, the sensing data indicating the sensed torque state of the surgical robotic arm caused by the externally applied force or torque; A single torque state in the candidate torque state set is selected by mapping the sensed torque state to a selected torque state in the candidate torque state set, which is a plurality of predetermined permissible torque states of the robotic arm. as well as Command signals are sent to the surgical robotic arm to drive it, causing the arm's configuration to change to match the selected torque state.

Citation Information

Patent Citations

  • Surgical robot and control method thereof

    US20130116706A1

  • Robotic system and method for backdriving the same

    US20170128136A1

  • Surgical robotic arm admittance control

    WO2019074670A1