Adjusting joint space velocity of a surgical robotic arm
By calculating and adjusting the joint space velocity of the surgical robot arm, the problem of inconsistent ease of movement of the end effector in different directions was solved, achieving a natural and consistent manipulation experience for the operator.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- AURIS HEALTH INC
- Filing Date
- 2019-11-18
- Publication Date
- 2026-07-21
AI Technical Summary
The end effectors of surgical robotic arms have inconsistent levels of ease of movement in different directions, causing the operator to feel unnatural when manipulating them.
The joint space velocity is calculated by a programmed processor, and the joint space velocity of the surgical robot arm is adjusted to make it feel consistent when moving in all directions. The potential joint velocity in the longest principal axis direction is calculated using inverse kinematics equations and inverse Jacobian determinants, and the actual joint velocity is adjusted according to the joint velocity limit.
It provides operators with an isotropic ease when manipulating the surgical robotic arm, improving the naturalness and consistency of the operation.
Smart Images

Figure CN114599302B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to digital control techniques for providing a consistent sense of ease to the operator of both the surgical robotic arm and the end effector when repositioning the end effector. Background Technology
[0002] Minimally invasive surgery (MIS), such as laparoscopic surgery, involves techniques designed to minimize tissue damage during surgical procedures. For example, a laparoscopic procedure typically involves making multiple small incisions inside the patient (e.g., in the abdomen) and introducing one or more instruments and at least one endoscopic camera through these incisions. The surgical procedure is then performed using the introduced instruments, with visualization aids provided by the camera. Generally, MIS offers multiple beneficial effects, such as reduced patient scarring, less patient pain, shorter recovery times, and lower medical costs associated with patient recovery.
[0003] MIS can be performed using a surgical robotic system comprising several robotic arms. Each arm has a surgical tool or instrument, with an end effector at its tip, such as a clamp, scissors, or endoscopic camera, which is inserted into the patient's body at the surgical site. Surgical procedures are performed on the patient's body tissues using the arms and end effectors, which are "remotely" manipulated by an operator (e.g., a surgeon). The surgical robotic system ensures that the position and orientation of the end effectors will mimic the manipulation of a user input device (UID) in the surgeon's hand. This is achieved by a digital control system that tracks the movement of the UID and, in response, calculates appropriate commands for the motor joints of the arms, resulting in the movement of the end effectors simulating the movement of a handheld UID. Summary of the Invention
[0004] When an operator manipulates an end effector at the end of a surgical robotic arm (remotely via a UID in their hand), they may not know in which direction the end effector can move more easily. They might expect the control of the end effector to be isotropic, i.e., capable of moving at the same speed in all directions and for all possible configurations of the arm (e.g., joint angles). However, in reality, surgical robotic arms are not isotropic. For any given configuration of the arm (including the given set of joint angles the arm is currently in), the ease with which the end effector moves in all directions varies. Consider a human arm—a human hand swings from left to right faster than it swings back and forth. Even though people have this understanding of their own bodies, they typically do not have the same understanding of the behavior of a surgical robotic arm.
[0005] The aspects disclosed herein are digital control methods designed to provide operators manipulating the end effectors on a surgical robotic arm with an isotropic or uniform sense of ease. This makes the system feel more natural to the operator.
[0006] In one aspect, a method for adjusting the joint space velocity of a surgical robotic arm has the following operations, performed by a programmed processor. For a given configuration of the surgical robotic arm, a task space velocity (e.g., linear or translational velocity, based on a UID tracking sequence) is received. For each active joint of the arm, a potential joint velocity is calculated by i) generating a vector having the norm of the received task space velocity and having an orientation along the longest principal axis of the velocity ellipsoid of the end effector, and ii) applying the inverse kinematics equations of the arm to this vector to generate a potential joint velocity. When the calculated potential joint velocity exceeds the joint velocity limit of the corresponding joint, a ratio between i) the joint velocity limit and ii) the potential joint velocity is calculated. The joint space velocity limit may be defined by the mechanical characteristics of the active (maneuvering) and passive joints and may be greater than or less than the calculated maximum potential joint space velocity. This ratio is then applied (e.g., multiplied) to an initial joint space velocity, which may be a conversion of the received task space velocity to joint space, to generate an adjusted joint space velocity (for a given surgical robotic arm configuration).
[0007] Adjusted joint space velocity provides a more consistent and effortless experience for the operator manipulating the UID. This method of controlling the end effector movement gives the operator a consistent and effortless experience in all directions.
[0008] The foregoing summary does not include an exhaustive list of all aspects of this disclosure. It is contemplated that this disclosure encompasses all systems and methods that can be implemented by all suitable combinations of the aspects outlined above, as well as those disclosed in the detailed description below and specifically pointed out in the claims section. Such combinations may have specific advantages not specifically described in the foregoing summary. Attached Figure Description
[0009] Several aspects of this disclosure are illustrated herein by way of example and not by way of limitation in the accompanying drawings, wherein similar reference numerals indicate similar elements. It should be noted that references to “a” or “an” aspect in this disclosure do not necessarily refer to the same aspect, and they refer to at least one. Furthermore, for the sake of brevity and to reduce the total number of drawings, a given drawing may be used to illustrate features of more than one aspect of this disclosure, and not all elements in the drawing may be necessary for a given aspect.
[0010] Figure 1 This is an overview diagram of the operating room layout equipped with a surgical robot system.
[0011] Figure 2It shows how the region or direction of the end effector linear velocity is affected by the required maximum end effector velocity, and that different surgical robot arm configurations have different maximum joint velocities.
[0012] Figure 3 An exemplary surgical robotic arm in action is depicted, along with a velocity ellipsoid for a given configuration of the arm.
[0013] Figure 4 This is a flowchart of the process for adjusting the joint space velocity of a surgical robot arm. Detailed Implementation
[0014] Several aspects of this disclosure will now be explained with reference to the accompanying drawings. Where the shape, relative positions, and other aspects of the described parts are not explicitly defined, the scope of the invention is not limited to the parts shown, which are shown for illustrative purposes only. Furthermore, while many details have been set forth, it should be understood that some aspects of this disclosure may be practiced without these details. In other instances, well-known circuits, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0015] See Figure 1 This is a drawing view of an exemplary surgical robot system 1 in an operating room. The robot system 1 includes a user console 2, a control tower 3, and one or more surgical robot arms 4 that can be mounted to a surgical robot platform 5 (e.g., a table, bed, etc.). Figure 1 An example of arm 4 being mounted to a table or bed for placing a patient is shown. System 1 can be combined with any number of devices, tools, or accessories for performing surgery on patient 6. For example, system 1 may include one or more surgical tools 7 for performing surgical procedures. Surgical tool 7 may be an end effector attached to the distal end of surgical arm 4 for performing surgical procedures.
[0016] Each surgical tool 7 can be manually manipulated, robotically manipulated, or both during surgery. For example, a surgical tool 7 can be a tool for accessing, viewing, or manipulating the internal anatomy of a patient 6. In one embodiment, the surgical tool 7 is a gripper capable of grasping the patient's tissues. The surgical tool 7 can be manually controlled by a bedside operator 8; or it can be robotically controlled via actuated movement of its attached surgical robotic arm 4. The robotic arm 4 is shown as a tabletop system, but in other instances, the arm 4 can be mounted on a trolley, ceiling, or sidewall, or in another suitable structural support.
[0017] Generally, a remote operator 9 (such as a surgeon or other operator) can use the user console 2 to remotely manipulate the arm 4 and / or attached surgical tools 7, for example, through remote operation. The user console 2 may be located in the same operating room as the rest of the system 1, such as... Figure 1 As shown. However, in other environments, the user console 2 may be located in an adjacent or nearby room, or it may be located in a remote location, such as in different buildings, cities, or countries. The user console 2 may include a seat 10, foot controls 13, one or more handheld user input devices (UIDs) 14, and at least one user display 15 configured to display a view, for example, of a surgical site within the body of a patient 6. In the exemplary user console 2, a remote operator 9 sits in the seat 10 and views the user display 15 while manipulating the foot controls 13 and the handheld UID 14 to remotely control the arm 4 and the surgical instrument 7 (which is mounted on the distal end of the arm 4).
[0018] In some variations, the bedside operator 8 can also operate the system 1 in a "bedside" mode, where the bedside operator 8 (the user) is now positioned to one side of the patient 6 and simultaneously manipulates robot-driven tools (end-effectors attached to arm 4), for example, holding a handheld UID 14 and a manual laparoscopic tool with one hand. For instance, the bedside operator's left hand can manipulate the handheld UID to control the robotic components, while the bedside operator's right hand can manipulate the manual laparoscopic tool. Therefore, in these variations, the bedside operator 8 can perform both robot-assisted minimally invasive surgery and manual laparoscopic surgery on the patient 6.
[0019] During the exemplary procedure (surgical operation), patient 6 is aseptically prepared and covered with a sterile drape for anesthesia. Initial access to the surgical site can be manually performed (to facilitate access to the surgical site) while the arms of robotic system 1 are in a retracted or withdrawn condition. Once access is complete, initial positioning or preparation of robotic system 1, including its arms 4, can be performed. The surgery then continues, with a remote operator 9 at user console 2 using foot controls 13 and UID 14 to manipulate various end effectors and, possibly, imaging systems to perform the surgery. Artificial assistance can also be provided at the operating table or surgical table by a bedside person (e.g., bedside operator 8) wearing sterile surgical gown, who can perform tasks on one or more arms of robotic arms 4, such as tissue retraction, manual repositioning, and tool changes. Non-sterile personnel may also be present to assist remote operator 9 at user console 2. When a procedure or surgical operation is completed, System 1 and User Console 2 can be configured or set to a certain state to facilitate the completion of postoperative procedures, such as cleaning or disinfection, and the input or printing of health records via User Console 2.
[0020] In one embodiment, the remote operator 9 holds and moves UID 14 to provide input commands, thereby moving the robotic arm actuator 17 in the robotic system 1. UID 14 may be communicatively coupled to the rest of the robotic system 1, for example, via a console computer system 16. UID 14 may generate spatial state signals corresponding to the movement of UID 14, such as the orientation and orientation of the UID's handheld housing, and these spatial state signals may be input signals for controlling the movement of the robotic arm actuator 17. The robotic system 1 may use control signals derived from the spatial state signals to control the proportional movement of the actuator 17. In one embodiment, a console processor of the console computer system 16 receives the spatial state signals and generates corresponding control signals. Based on these control signals controlling how the actuator 17 is energized to move a segment or connector of the arm 4, the movement of a corresponding surgical tool attached to the arm may simulate the movement of UID 14. Similarly, the interaction between the remote operator 9 and UID 14 may generate, for example, a gripping control signal that causes the jaws of the gripper of the surgical tool 7 to close and grip the tissue of the patient 6.
[0021] The surgical robot system 1 may include a plurality of UIDs 14, wherein a corresponding control signal is generated for each UID that controls the actuators and surgical instruments (end-effectors) of a respective arm 4. For example, a remote operator 9 may move a first UID 14 to control the movement of an actuator 17 located in the left robotic arm, wherein the actuator responds by moving links, gears, etc. in the arm 4. Similarly, movement of a second UID 14 by the remote operator 9 controls the movement of another actuator 17, which in turn moves other links, gears, etc. of the robot system 1. The robot system 1 may include a right arm 4 fixed to a bed or table on the right side of the patient, and a left arm 4 located on the left side of the patient. The actuators 17 may include one or more motors, which are controlled such that they drive the joints of the arm 4 to rotate, for example, to change the orientation of the endoscope or gripper of the surgical instrument 7 attached to the arm relative to the patient. The movement of a plurality of actuators 17 in the same arm 4 may be controlled by spatial state signals generated from a particular UID 14. The UID 14 may also control the movement of the corresponding surgical instrument gripper. For example, each UID14 can generate a corresponding gripping signal to control the movement of an actuator (e.g., a linear actuator) that opens or closes the jaws of a gripper at the distal end of the surgical tool 7 to grip tissue in the patient 6.
[0022] In some respects, communication between platform 5 and user console 2 can be achieved via control tower 3, which translates user commands received from user console 2 (and more specifically from console computer system 16) into robot control commands transmitted to arm 4 on robot platform 5. Control tower 3 can also transmit status and feedback from platform 5 back to user console 2. The communication connection between robot platform 5, user console 2, and control tower 3 can be via wired and / or wireless links, using any suitable data communication protocol from a variety of data communication protocols. Any wired connection can optionally be integrated into the floor and / or walls or ceiling of the operating room. Robot system 1 can provide video output to one or more displays, including displays within the operating room and remote displays accessible via the Internet or other networks. Video output or feeds can also be encrypted to ensure privacy, and all or part of the video output can be stored on a server or electronic healthcare record system.
[0023] The surgical robotic arm 4 is a kinematically redundant manipulator because it has at least seven joints, which can be assigned joint position variables q1, q2, ..., qN. The joints connect their adjacent rigid connections in a sequence, for example, as shown below. Figure 3 As shown, it terminates at the distal end or end effector 20. Arm 4 performs joint movement, causing the end effector 20 to be positioned within the body cavity of the patient 6. The end effector 20 is part of a surgical instrument 7 attached to joint qN, see [link to surgical instrument 7]. Figure 1 Some joints may be passive under mechanical constraints, while others are active or kinematic. Some joints can be rotational, while others can be prismatic. Joint position variables represent the relative displacement (e.g., angle, linearity) between adjacent joints.
[0024] A coordinate system, known as the task space, can be defined in which the end effector 20 or its tip moves. This movement is controlled as a whole by joint position variables q1, q2, ... qN, which can form joint vectors in a coordinate system known as the "joint space." A set of forward kinematic equations defines a function that determines the Cartesian position and orientation of the end effector 20 in the task space based on the joint space (the joint positions of arm 4). A set of inverse kinematic equations defines an inverse function that determines the values of the joint position variables q1, q2, ... qN based on the task space position and orientation of the end effector 20.
[0025] More relevant than considerations of the ease of manipulating the end effector 20 is the velocity kinematics of the surgical robot arm 4. This defines the relationship between the linear velocity (task space linear velocity) of the end effector 20 and the joint velocity variables dq1 / dt, dq2 / dt, ..., dqN / dt (and joint angular velocity and joint linear velocity if the arm contains prismatic joints). In this respect, Figure 2 This is used to illustrate several concepts. First, it is shown how the maximum speed achievable by the end effector 20 (when arm 4 is driven by the control system) is inconsistent in all directions. This is due to the multi-connected, multi-jointed nature of the surgical robot arm 4 and the fact that the end effector 4 is not restricted in moving in any direction (but of course, its speed is limited due to the limited power of the motor joints). The directions in which the end effector 20 can be driven at a given maximum taskspace speed are limited—there are directions in which the end effector 20 cannot be driven at that speed, as shown in the nine examples illustrated. Figure 2 Three columns corresponding to three different maximum taskspace velocities are also shown. In each column, it can be seen how the workspace capable of satisfying a given maximum taskspace velocity increases with the available maximum joint velocity. If the available maximum joint velocity increases, then there are more directions that can satisfy the desired maximum taskspace velocity.
[0026] consider Figure 2 The three lines in the diagram each illustrate how (i.e., by reducing the maximum task space velocity) the workspace can be expanded to satisfy the maximum task space velocity. Therefore, in order to produce a nearly isotropic system in which the end effector 20 can move easily in most (if not all) directions, Figure 2 This indicates that the maximum taskspace velocity needs to be sufficiently reduced, while the maximum joint space velocity needs to be sufficiently high. These two aspects need to be linked—the maximum joint velocity (primarily determined by the motor power and gear ratio in the moving joints) and the maximum taskspace velocity (potentially driven by clinical needs)—to address how to ensure isotropic ease of movement of the end effector 20 on the surgical robotic arm 4. It may also be necessary to adjust the taskspace velocity to meet given joint velocity requirements while achieving isotropic ease of movement. Now, combining… Figure 3 and Figure 4 The flowchart presents a systematic approach to solving such problems, in which joint space velocity is limited or regulated in certain situations, allowing the operator to perceive isotropic motion (when the end effector 20 is remotely operated via handheld UID14).
[0027] Figure 3An exemplary surgical robot arm 4 is shown, having joints associated with corresponding joint position variables q1, q2, ... qN, and an end effector 20 positioned within the body cavity of a patient 6 (who lies on a table as part of a surgical robot platform 5). For any given configuration of arm 4, where "configuration" here refers to a specific instance of a set of joint variables q1, q2, ... qN, a velocity ellipsoid can be calculated. This velocity ellipsoid is a 3D surface defining the maximum available taskspace linear velocity, at which the end effector 20 can be driven along various directions defined by this 3D surface at this maximum taskspace linear velocity. This can also be referred to as a maneuverability ellipsoid. The ellipsoid can be calculated using the inverse Jacobian determinant of arm 4. The longest principal axis of the velocity ellipsoid is shown, and it represents the direction in which the maximum taskspace linear velocity can be achieved. If there exists a configuration where the calculated ellipsoid is exactly a sphere (shown in dashed lines), then in this configuration, arm 4 is considered isotropic—the operator will experience consistent ease in all directions.
[0028] In one aspect, the digital control algorithm that continuously updates motor control commands for the active or motorized joints of the surgical robot arm is modified by executing the following method for adjusting the joint space velocity of the arm. The goal of this process is to provide the operator with a consistently easy experience in all directions, as the operator manipulates the end effector 20 via a handheld UID14. Reference Figure 4 The process flowchart (involving operations performed by a programmed processor in the surgical robotic system) determines the longest principal axis of the velocity ellipsoid for a given surgical robotic arm configuration (operation 404). This is also referred to as the maneuverability ellipsoid ME or linear velocity ME. However, the longest principal axis can be calculated directly without calculating the entire ME, or the longest principal axis can be determined based on first calculating the ME using the inverse Jacobian determinant of arm 4, and then checking the ME to determine the longest principal axis.
[0029] Next, the task space velocity (e.g., received based on the current element of the UID tracking sequence) is applied to the longest principal axis to produce a new vector. This new vector can be considered as the maximum or worst-case task space velocity along the longest principal axis (or, if the origin of the ellipsoid is at (0,0,0), along the semi-axis of the longest principal axis). If ME is normalized to 1, this vector may need to be transformed to find the maximum task space linear velocity (e.g., in meters per second) on the longest principal axis. The maximum task space velocity is then applied to calculate (or be transformed into) the potential joint space velocity (operation 406). This can be done using the inverse kinematic equations for arm 4 (including the inverse Jacobian determinant). The potential joint space velocity represents the velocity at which the active joint needs to change its position so that the end effector 20 exhibits the maximum task space velocity.
[0030] The process then proceeds to operation 408, in which the ratio of i) potential joint space velocity and ii) joint space velocity limit of the surgical robot arm 4 is calculated. The joint space velocity limit can be a vector, whose components or values respectively refer to the maximum velocity of the active joints of the surgical robot arm 4. In one aspect, the joint space velocity limit (vector) can remain constant for various configurations of the arm 4. This ratio is then applied (e.g., multiplied) to an initial joint space velocity, which can be a conversion of the received task space velocity to a joint space velocity, to produce an adjusted joint space velocity (operation 410).
[0031] If the joint space velocity limit of the surgical robot arm configuration is greater than the potential joint space velocity, the adjusted joint space velocity is made the same as the initial joint space velocity (this is the result of converting the received task space velocity into joint space velocity). In other words, in this case, the initial joint space velocity can be applied without change to update motor control commands. However, if the joint space velocity limit is less than the potential joint space velocity, a ratio less than 1 is applied as a scaling factor for the initial joint space velocity. Thus, consistency across all directions is achieved effortlessly, as the digital control algorithm will automatically limit any requested joint space velocity in this way to ensure it does not exceed the joint space velocity limit. An example of its implementation is as follows. Consider a digital control algorithm that detects a change in the configuration of arm 4 and receives a new task space velocity consistent with the UID tracking sequence (so that the end effector 20 can simulate the tracking position and orientation of UID 14). The control algorithm (e.g., using inverse kinematics including an inverse Jacobian determinant) converts the new task space velocity into a new or initial joint space velocity. In a conventional approach, the algorithm would simply apply the new joint space velocity as is to update multiple motor control commands for the motorized joints of control arm 4. However, here, for each of the multiple active joints in arm 4, the corresponding potential joint velocity is calculated by applying the received new task space velocity along the longest principal axis of the velocity ellipsoid of the current configuration of arm 4 (e.g., generating a new vector with a new task space velocity norm and oriented along the direction of the longest principal axis). When the corresponding potential joint velocity exceeds the joint velocity limit of the corresponding joint, the ratio between i) the joint velocity limit and ii) the corresponding potential joint velocity is calculated.
[0032] Then, based on this ratio, a corresponding adjusted joint velocity is generated for each of the multiple active joints. Therefore, in this case, the joint space velocity limit is less than the potential joint space velocity, and as a result of applying the ratio, the adjusted joint space velocity is less than the joint space velocity limit. In other words, if the potential joint space velocity exceeds the joint space velocity limit by a certain threshold amount (e.g., determined by comparing the potential joint space velocity with the joint space velocity limit), the algorithm modifies the new joint space velocity by applying the ratio so as not to exceed the joint space velocity limit (before applying the modified new joint space velocity to update the motor control commands). The modified new or adjusted joint space velocity is applied to update the multiple motor control commands controlling the multiple motor joints (active joints) of the surgical robot arm 4. The updated motor control commands are used to control the motor joints of arm 4 such that the end effector 20 is driven to a new task space position according to the new UID position (indicated by the UID tracking sequence).
[0033] The above process can be repeated by calculating i) the updated potential joint space velocity and ii) the updated ratio of the joint space velocity limit of the surgical robot arm, and applying this updated ratio to the conversion of the new task space velocity to generate another adjusted joint space velocity for the new task space velocity. This can be done without recalculating the longest spindle if the configuration of arm 4 remains unchanged.
[0034] When there are two or more joints among multiple movable joints whose potential joint velocities exceed their respective joint velocity limits, several ratios are calculated (using the method described above), each ratio for each of the two or more joints. Then, the smallest of these ratios is selected, or in other words, the movable joint whose potential joint velocity exceeds its joint velocity limit the most. For example, if both joints a and b exceed their respective limits, but joint a exceeds its limit by a greater degree than joint b, then joint a is selected to calculate the ratio. In other words, the ratio of the corresponding potential joint velocity of joint a to its joint velocity limit is then selected to generate corresponding adjusted joint velocities for all movable joints. As mentioned above, this can be accomplished by multiplying the initial joint space velocities of all movable joints by the selected ratio for joint a.
[0035] Without changing the configuration of arm 4, Figure 4The process can continue as follows. Upon receiving another task space velocity from the end effector (on the distal end of the surgical robot arm 4), as in box 406, another corresponding potential joint velocity is calculated for each of the active joints by applying the other task space velocity along the longest principal axis of the velocity ellipsoid (since the arm configuration has not changed, it is not necessary to recalculate the longest principal axis, i.e., box 404 can be omitted).
[0036] If the other corresponding potential joint speed does not exceed the joint speed limit of the corresponding joint, the other corresponding potential joint speed remains unchanged (box 410 is essentially omitted, or equivalently, the ratio in box 410 is set to 1); otherwise, if the other corresponding potential joint speed does exceed the joint speed limit of the corresponding joint, a new ratio is calculated in box 408.
[0037] It should be noted that in some cases, a new ratio can be calculated without calculating a new underlying joint space velocity corresponding to the new task space velocity. This contrasts with situations where the configuration of the surgical robot arm changes—in which case the updated longest principal axis (i.e., the principal axis of the ellipsoid under the new configuration) is needed to calculate the new ratio. In cases where only the norm of the task space velocity changes (its orientation remains unchanged relative to the immediately preceding or previous task space velocity), the new ratio can be calculated as follows. After receiving the new task space velocity v_b, it is compared with the previous task space velocity v_a, and then the new ratio is calculated by scaling the previous ratio with v_a / v_b. For example, if the previous ratio was 0.6 and v_b = 2 * v_a, then the new ratio will be 0.3. This is because the joint space velocity limit is fixed, the longest principal axis has not changed, and the only change (relative to the previous task space velocity) is the norm of the new task space velocity.
[0038] For purposes of explanation, the foregoing description uses specific nomenclature to provide a thorough understanding of the invention. However, it will be apparent to those skilled in the art that specific details are not required to practice the invention. The foregoing description of specific embodiments of the invention has been provided for illustrative and descriptive purposes. These are not intended to be exhaustive or to limit the invention to the specific forms disclosed; various modifications and alterations can be made to this disclosure in light of the foregoing teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to best utilize the invention and its various embodiments with various modifications suitable for the contemplated particular uses.
Claims
1. A method for adjusting the joint space velocity of a surgical robotic arm, the method comprising: a) Calculate the longest principal axis of the velocity ellipsoid configured for the surgical robotic arm; b) Receive the task space velocity and apply the norm of the task space velocity along the longest principal axis to calculate the potential joint space velocity using inverse kinematics; d) Calculate the ratio of i) the potential joint space velocity and ii) the joint space velocity limit of the surgical robot arm; as well as e) Apply the ratio to the initial joint space velocity to produce an adjusted joint space velocity.
2. The method according to claim 1, wherein, The joint space velocity limit is less than the potential joint space velocity, and the adjusted joint space velocity is less than the joint space velocity limit.
3. The method according to claim 2, further comprising: Receive new task space speed; Convert the new task space velocity into a new joint space velocity; The new ratio is calculated by comparing the new task space velocity with the previous task space velocity. as well as The new ratio is applied to the new joint space velocity to produce a new, adjusted joint space velocity.
4. The method according to claim 3, further comprising: The new, adjusted joint space velocity is applied to update the motor control commands for multiple motor joints controlling the surgical robotic arm.
5. The method according to claim 1, further comprising: In response to detecting a configuration change in the surgical robotic arm, a new longest principal axis of the velocity ellipsoid for the changed configuration is calculated. The system receives a new task space velocity and generates a new vector having the norm of the new task space velocity and the orientation of the new longest principal axis, and calculates an updated potential joint space velocity based on the new vector. Calculate the ratio of i) the updated potential joint space velocity and ii) the updated joint space velocity limit of the surgical robotic arm, and The updated ratio is applied to the conversion of the new task space velocity to produce an updated, adjusted joint space velocity.
6. The method according to claim 5, further comprising: The updated, adjusted joint space velocity is applied to update the multiple motor control commands controlling the multiple motor joints of the surgical robotic arm, such that the end effector on the arm is driven to a new task space position according to the new UID position indicated by the UID tracking sequence.
7. The method according to claim 1, further comprising: The velocity ellipsoid is calculated using the inverse Jacobian determinant of the arm.
8. A surgical robot system, comprising: Surgical robotic arm; processor; as well as The memory, in which instructions are already stored, when executed by the processor a) Calculate the longest principal axis of the velocity ellipsoid for the first configuration of the surgical robotic arm. b) Apply the task space velocity to the longest principal axis to generate a new vector, and calculate the potential joint space velocity based on the new vector. c) Calculate the ratio of i) the potential joint space velocity and ii) the joint space velocity limit of the surgical robotic arm, and d) Use the ratio to generate the adjusted joint space velocity.
9. The surgical robot system according to claim 8, wherein, The memory already stores additional instructions, which, when executed by the processor: In response to the end effector on the surgical robotic arm being guided to a new task space position, a second configuration of the surgical robotic arm is determined; and Repeat operations a) to d) for the second configuration to generate an adjusted joint space velocity for the second configuration.
10. The surgical robot system according to claim 8, wherein, The memory already stores the first configuration, which includes... Current joint spatial position data of multiple joints of the surgical robotic arm.
11. The surgical robot system of claim 10, wherein, The first configuration also includes Joint space velocity limit data of multiple motor joints of the surgical robotic arm.
12. The surgical robot system according to claim 8, wherein, The joint space velocity limit is less than the potential joint space velocity, and the adjusted joint space velocity is less than the potential joint space velocity.
13. The surgical robot system according to claim 12, wherein, The memory has additional instructions, which, when executed by the processor: Calculate the new task space velocity based on the UID tracking sequence; The new task space velocity is applied to the longest principal axis to generate another new vector, and a new potential joint space velocity is calculated based on the other new vector. Calculate the new ratio of i) the new potential joint space velocity and ii) the joint space velocity limit of the surgical robot arm; as well as The new ratio is used to generate a new, adjusted joint space velocity.
14. The surgical robot system of claim 13, wherein, The memory has additional instructions, which, when executed by the processor... The new, adjusted joint space velocity is applied to update the motor control commands for multiple motor joints controlling the surgical robotic arm.
15. The surgical robot system according to claim 8, wherein, The memory has additional instructions that, when executed by the processor, calculate the ratio in the following manner: For each of the multiple active joints in the surgical robot arm, a potential joint velocity along the longest principal axis of the velocity ellipsoid is calculated based on the task space velocity. as well as When the potential joint velocity exceeds the joint velocity limit of the corresponding joint, calculate the ratio between i) the joint velocity limit and ii) the potential joint velocity of the corresponding joint.
16. A method for adjusting the speed of a surgical robotic arm, the method comprising: a) Determine the velocity ellipsoid of an end effector configured for a robot arm having multiple movable joints, wherein the end effector is positioned at the distal end of the robot arm; b) For each of the plurality of active joints, the corresponding potential joint velocity is calculated by applying the mission space velocity along the longest principal axis of the velocity ellipsoid; c) When the corresponding potential joint velocity exceeds the joint velocity limit of the corresponding joint, calculate the ratio between i) the joint velocity limit and ii) the corresponding potential joint velocity; as well as d) Generate a corresponding adjusted joint speed for each of the plurality of movable joints based on the ratio.
17. The method according to claim 16, wherein, The corresponding potential joint velocities include linear velocity or angular velocity.
18. The method of claim 16, further comprising: The task space velocity is converted into the initial joint space velocity, wherein... Generating the corresponding adjusted joint velocity involves multiplying the initial joint space velocity by a calculated ratio.
19. The method of claim 16, further comprising: When two or more joints among the plurality of movable joints have a corresponding potential joint velocity exceeding the joint velocity limit of the corresponding joint, calculate the plurality of ratios for each of the two or more joints; and The smallest of the plurality of ratios is selected to generate the corresponding adjusted joint speed for each of the plurality of movable joints.
20. The method of claim 16, further comprising: Receive another task space velocity from the end effector; For each of the plurality of active joints, another corresponding potential joint velocity is calculated by applying the other mission space velocity along the longest principal axis of the velocity ellipsoid; and If the other corresponding potential joint speed does not exceed the joint speed limit of the corresponding joint, then the other corresponding potential joint speed remains unchanged; otherwise, if the other corresponding potential joint speed does exceed the joint speed limit of the corresponding joint, then the other corresponding potential speed and the joint speed limit are used to calculate a new ratio.
21. A method for adjusting the joint space velocity of a surgical robotic arm, the method comprising: a) Calculate the longest principal axis of the velocity ellipsoid for the first configuration of the surgical robotic arm; b) Apply the task space velocity to the longest principal axis to generate a new vector, and calculate the potential joint space velocity based on the new vector; c) Calculate the ratio of i) the potential joint space velocity and ii) the joint space velocity limit of the surgical robotic arm; d) Apply the ratio to the initial joint space velocity to produce an adjusted joint space velocity; as well as e) Drive the surgical robotic arm based on the adjusted joint space velocity.
22. The method according to claim 21, wherein, The joint space velocity limit is less than the potential joint space velocity, and the adjusted joint space velocity is less than the joint space velocity limit.
23. The method according to claim 22, further comprising: Receive new task space speed; Convert the new task space velocity into a new joint space velocity; In the case where only the norm of the new task space velocity changes, the new ratio is calculated by scaling the previous ratio with the ratio of the new task space velocity to the previous task space velocity. as well as The new ratio is applied to the new joint space velocity to produce a new, adjusted joint space velocity.
24. The method according to claim 23, wherein, Driving the surgical robotic arm includes: The new, adjusted joint space velocity is applied to update the motor control commands for multiple motor joints controlling the surgical robotic arm.
25. The method according to claim 21, further comprising: In response to detecting a configuration change of the surgical robotic arm, the longest principal axis of the velocity ellipsoid for the changed configuration is calculated. The system receives a new task space velocity and generates a new vector having the norm of the new task space velocity and the orientation of the longest principal axis, and calculates an updated potential joint space velocity based on the new vector. Calculate the ratio of i) the updated potential joint space velocity and ii) the updated joint space velocity limit of the surgical robotic arm, and The updated ratio is applied to the conversion of the new task space velocity to produce an updated, adjusted joint space velocity.
26. The method according to claim 25, further comprising: The updated, adjusted joint space velocity is applied to update the multiple motor control commands controlling the multiple motor joints of the surgical robotic arm, such that the end effector on the arm is driven to a new task space position according to the new UID position indicated by the UID tracking sequence.
27. The method according to claim 21, wherein, Calculating the potential joint space velocity includes applying the norm of the task space velocity along the longest principal axis of the velocity ellipsoid for the surgical robot arm, and the method further includes: The velocity ellipsoid is calculated using the inverse Jacobian determinant of the arm.
28. A surgical robot system, comprising: Surgical robotic arm; processor; as well as The memory, in which instructions are already stored, when executed by the processor a) Generate a vector by applying the task space velocity to the longest principal axis of the velocity ellipsoid in a first configuration of the surgical robotic arm and calculate the potential joint space velocity based on the vector. b) Calculate the ratio of i) the potential joint space velocity and ii) the joint space velocity limit of the surgical robotic arm, and c) Use the ratio to generate the adjusted joint space velocity.
29. The surgical robot system according to claim 28, wherein, The memory already stores additional instructions, which, when executed by the processor: In response to the end effector on the surgical robotic arm being guided to a new task space position, a second configuration of the surgical robotic arm is determined; and Repeat operations a) to c) for the second configuration to generate an adjusted joint space velocity for the second configuration.
30. The surgical robot system of claim 28, wherein, The memory already stores the first configuration, which includes... Current joint spatial position data of multiple joints of the surgical robotic arm.
31. The surgical robot system according to claim 30, wherein, The first configuration also includes Joint space velocity limit data of multiple motor joints of the surgical robotic arm.
32. The surgical robot system according to claim 28, wherein, The joint space velocity limit is less than the potential joint space velocity, and the adjusted joint space velocity is less than the potential joint space velocity.
33. The surgical robot system according to claim 32, wherein, The memory has additional instructions, which, when executed by the processor: Calculate the new task space velocity based on the UID tracking sequence; The new task space velocity is applied to the longest principal axis to generate a new vector, and a new potential joint space velocity is calculated based on the new vector; Calculate the new ratio of i) the new potential joint space velocity and ii) the joint space velocity limit of the surgical robot arm; as well as The new ratio is used to generate a new, adjusted joint space velocity.
34. The surgical robot system according to claim 33, wherein, The memory has additional instructions, which, when executed by the processor... The new, adjusted joint space velocity is applied to update the motor control commands for multiple motor joints controlling the surgical robotic arm.
35. The surgical robot system according to claim 28, wherein, The memory has additional instructions that, when executed by the processor, calculate the ratio in the following manner: For each of the multiple active joints in the surgical robotic arm, the potential joint velocity is calculated based on the task space velocity; and When the potential joint velocity exceeds the joint velocity limit of the corresponding joint, calculate the ratio between i) the joint velocity limit and ii) the potential joint velocity of the corresponding joint.
36. A method for adjusting the speed of a surgical robotic arm, the method comprising: a) For each of the multiple active joints of the surgical robot arm, the corresponding potential joint velocity is calculated by applying the received task space velocity along the longest principal axis of the velocity ellipsoid of the current configuration of the surgical robot arm. b) When the corresponding potential joint velocity exceeds the joint velocity limit of the corresponding joint, calculate the ratio between i) the joint velocity limit and ii) the corresponding potential joint velocity; c) Generate a corresponding adjusted joint velocity for each of the plurality of movable joints based on the ratio; as well as d) Drive the surgical robot arm by applying the corresponding adjusted joint speed to the corresponding joint.
37. The method of claim 36, wherein, The corresponding potential joint velocities include linear velocity or angular velocity.
38. The method of claim 36, further comprising: The task space velocity is converted into the initial joint space velocity, wherein... Generating the corresponding adjusted joint velocity involves multiplying the initial joint space velocity by a calculated ratio.
39. The method of claim 36, further comprising: When two or more joints among the plurality of movable joints have a corresponding potential joint velocity exceeding the joint velocity limit of the corresponding joint, calculate the plurality of ratios for each of the two or more joints; and The smallest of the plurality of ratios is selected to generate the corresponding adjusted joint speed for each of the plurality of movable joints.
40. The method according to claim 36, further comprising: Receive another task space velocity; For each of the plurality of active joints, another corresponding potential joint velocity is calculated based on the other task space velocity by applying the other task space velocity to the longest principal axis to generate a new vector and calculating the other corresponding potential joint velocity based on the new vector; and If the other corresponding potential joint speed does not exceed the joint speed limit of the corresponding joint, then the other corresponding potential joint speed remains unchanged; otherwise, if the other corresponding potential joint speed does exceed the joint speed limit of the corresponding joint, then a new ratio is calculated as in b).