Joint spatial velocity regulation of a surgical robotic arm.
The digital control methodology adjusts joint spatial speed on surgical robot arms to ensure uniform movement, addressing inconsistent speeds and enhancing operator precision and natural feel.
Patent Information
- Application Number
- JP2022523939
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-10-24
- Filing Date
- 2019-11-18
- Publication Date
- 2025-02-03
- Estimated Expiration
- 2039-11-18
AI Technical Summary
Surgical robot arms do not provide uniform ease of movement for the end effector, leading to inconsistent operator experience due to varying joint speeds in different directions, which affects the natural feel and precision of remote operation.
A digital control methodology adjusts joint spatial speed by calculating potential joint speeds based on task spatial speed and joint limits, ensuring uniform ease of movement by applying ratios to initial speeds, thus aligning with the operator's intuitive sense.
The method provides a uniform sense of ease in all directions, enhancing the operator's natural feel and precision when controlling the end effector, thereby improving the surgical robot's usability and accuracy.
Smart Images

Figure 0007625593000001 
Figure 0007625593000002 
Figure 0007625593000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to digital control techniques for providing operators of surgical robotic arms and end effectors with a uniform sense of ease when repositioning the end effector. [Background technology]
[0002] Minimally-invasive surgery (MIS), such as laparoscopic surgery, involves techniques intended to reduce tissue damage during a surgical procedure. For example, laparoscopic surgery typically involves making several small incisions in a patient (e.g., in the abdomen) and introducing one or more tools and at least one endoscopic camera into the patient through the incisions. The surgical procedure is then performed using the introduced tools with visualization assistance provided by the camera. In general, MIS offers multiple advantages, including reduced scarring for the patient, less pain for the patient, shorter recovery time for the patient, and lower costs of medical treatments associated with the patient's recovery.
[0003] MIS can be performed using a surgical robotic system that includes several robotic arms. Each arm has a surgical tool or instrument at its end, an end effector such as grasping jaws, scissors, and an endoscopic camera, that is inserted into the patient's body at the surgical site. The surgical procedure is performed on the patient's body tissue using the arms and end effectors that are "remotely" operated by an operator (e.g., a surgeon). The surgical robotic system ensures that the position and orientation of the end effector mimics the manipulation of a user input device (UID) in the surgeon's hand. This is possible by a digital control system that tracks the movement of the UID, and in response, appropriate commands are calculated for the motorized joints of the arms, resulting in end effector movements that mimic the movements of the handheld UID. Summary of the Invention [Means for solving the problem]
[0004] When an operator manipulates the end effector at the end of a surgical robotic arm (remotely via their hand and UID), they may not have knowledge of which direction they can more easily move the end effector in. They expect that the control of the end effector should be isotropic, able to move at the same speed in all directions and for all possible configurations (e.g., joint angles) of the arm. However, in reality, surgical robotic arms are not isotropic. For any given configuration of the arm (including the range of joint angles the arm currently finds itself in), the ease of moving the end effector is not the same in all directions. Considering a person's actual arm, the person can swing their hand from left to right faster than they can push forward and backward. Even if a person has an understanding of their body, they typically will not have the same understanding of the behavior of a surgical robotic arm.
[0005] Various aspects of the disclosure herein are digital control methodologies that aim to create a sense of isotropic or uniform ease for an operator manipulating an end effector on a surgical robotic arm, which may allow the system to feel more natural to the operator.
[0006] In one aspect, a method for regulating joint space velocities of a surgical robotic arm includes the following operations performed by a programmed processor: For a given configuration of a surgical robotic arm, task space velocities (e.g., linear or translational velocities based on a UID tracking sequence) are received. For each of the active joints of the arm, a potential joint velocity is calculated by i) generating a vector having the norm of the received task space velocities and oriented along the longest principal axis of the end effector's velocity ellipse, and ii) applying an inverse kinematic equation for the arm to the vector to generate a potential joint velocity. When the calculated potential joint velocity exceeds the joint velocity limit of the respective 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 properties of the active (motorized) and passive joints and may be greater than or less than the calculated maximum potential joint space velocity. The ratio is then applied (e.g., multiplied) to the initial joint-space velocity, which may be a transformation of the received task-space velocity to joint space, to generate an adjusted joint-space velocity (for a given surgical robotic arm configuration).
[0007] The adjusted joint spatial velocities can provide a more uniform feeling of ease to the operator manipulating the UID. This manner of controlling the movement of the end effector can give the operator a uniform feeling of ease in all directions.
[0008] The above summary does not include an exhaustive list of all aspects of the present disclosure. The present disclosure is intended to include all systems and methods that can be implemented from all suitable combinations of the various aspects summarized above, as well as those disclosed in the Detailed Description below, and particularly those pointed out in the Claims section. Such combinations may have certain advantages not specifically described in the above summary. [Brief description of the drawings]
[0009] Some aspects of the present disclosure are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which like reference symbols refer to similar elements. It should be noted that references to "an" or "one" aspect in the present disclosure are not necessarily to the same aspect, but they do mean at least one. Also, for the purposes of brevity and reducing the total number of figures, a given figure may be used to illustrate features of more than one aspect of the present disclosure, and not all elements in a figure may be required for a given aspect. [Figure 1] FIG. 1 is a schematic diagram of an operating room setup including a surgical robotic system. [Diagram 2] 1 illustrates how the region or direction of end effector linear velocity is affected by the required maximum end effector velocity and for different surgical robotic arm configurations having different maximum joint velocities. [Diagram 3] 1 illustrates an exemplary surgical robotic arm in motion and a velocity ellipse for a given configuration of the arm. [Figure 4] FIG. 1 is a flow diagram of a process for adjusting the joint space velocities of a surgical robotic arm. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Some aspects of the present disclosure will now be described with reference to the accompanying drawings. Whenever the shape, relative position, and other aspects of the described parts are not explicitly defined, the scope of the present disclosure is not limited to only the parts shown, which are intended for illustrative purposes only. Also, although numerous details are described, it is understood that some aspects of the present disclosure can be implemented without these details. In other cases, well-known circuits, structures, and techniques have not been shown in detail so as not to obscure the understanding of this description.
[0011] Reference is now made to FIG. 1, which is a depiction of an exemplary surgical robotic system 1 in a surgical theater. The robotic system 1 includes a user console 2, a control tower 3, and one or more surgical robotic arms 4 that may be mounted to a surgical robotic platform 5, e.g., a table, bed, or the like. FIG. 1 shows an example in which the arms 4 are mounted to a table or bed on which a patient rests. The system 1 may incorporate any number of devices, tools, or accessories used to perform surgery on a patient 6. For example, the system 1 may include one or more surgical tools 7 that are used to perform surgery. The surgical tools 7 may be end effectors attached to the distal end of the surgical arms 4 to perform a surgical procedure.
[0012] Each surgical tool 7 may be manipulated manually, robotically, or both during surgery. For example, the surgical tool 7 may be a tool used to enter, view, or manipulate the internal anatomy of the patient 6. In one embodiment, the surgical tool 7 is a grasping instrument that may grasp tissue of the patient. The surgical tool 7 may be manually controlled by a bedside operator 8, or robotically controlled by the actuation movement of a surgical robotic arm 4 to which it is attached. Although the robotic arm 4 is shown as a table-mounted system, in other configurations the arm 4 may be mounted to a cart, ceiling, or sidewall, or another suitable structural support.
[0013] In general, a teleoperator 9, such as a surgeon or other operator, may use a user console 2 to remotely operate (e.g., teleoperate) the arm 4 and / or attached surgical tool 7. The user console 2 may be located in the same operating room as the rest of the system 1, as shown in FIG. 1. However, in other environments, the user console 2 may be located in an adjacent or nearby room, or in a remote location, e.g., in a different building, city, or country. The user console 2 may include a seat 10, a foot-operated control 13, one or more handheld user input devices, a UID 14, and at least one user display 15 configured to display, for example, a view of a surgical site within a patient 6. In the exemplary user console 2, the teleoperator 9 sits on the seat 10 and views the user display 15 while operating the foot-operated control 13 and the handheld UID 14 to remotely control the arm 4 and the surgical tool 7 (mounted at the distal end of the arm 4).
[0014] In some variations, the bedside operator 8 may also operate the system 1 in a "bed-facing" mode, where the bedside operator 8 (user) is now at the side of the patient 6 and is operating a robotically driven tool (end effector attached to arm 4) simultaneously with a manual laparoscopic tool, for example, with a handheld UID 14 held in one hand. For example, the bedside operator's left hand may be operating a handheld UID to control the robotic components, while the bedside operator's right hand may be operating a manual laparoscopic tool. Thus, in these variations, the bedside operator 8 may perform both robotically assisted minimally invasive surgery and manual laparoscopic surgery on the patient 6.
[0015] During an exemplary procedure (surgery), the patient 6 is sterilely prepped and draped to achieve anesthesia. Initial access to the surgical site may be performed manually while the arms of the robotic system 1 are in a stowed or retracted state (to facilitate access to the surgical site). Once access is complete, an initial positioning or preparation of the robotic system 1, including its arms 4, may be performed. The surgery then proceeds with the remote operator 9 of the user console 2 utilizing the foot control 13 and UID 14 to operate the various end effectors and possibly the imaging system to perform the surgery. Manual assistance may also be provided at the procedure bed or table by sterile gowned bedside personnel, e.g., bedside operator 8, who may perform tasks such as retracting tissue, performing manual repositioning, and tool changes for one or more of the robotic arms 4. Non-sterile personnel may also be present to assist the remote operator 9 of the user console 2. Once the procedure or surgery is completed, the system 1 and user console 2 may be configured or set to a state that facilitates post-operative procedures such as cleaning or sterilization and entry or printing of medical records via the user console 2.
[0016] In one embodiment, the teleoperator 9 holds and moves the UID 14 to provide input commands to move the robotic arm actuator 17 of the robotic system 1. The UID 14 may be communicatively coupled to the rest of the robotic system 1, for example, via the console computer system 16. The UID 14 may generate spatial state signals corresponding to the movements of the UID 14, e.g., the position and orientation of the handheld housing of the UID, which may be input signals to control 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, which control how the actuator 17 is energized to move segments or links of the arm 4, the movement of a corresponding surgical tool attached to the arm may mimic the movement of the UID 14. Similarly, interaction between the remote operator 9 and the UID 14 may generate a grasp control signal that, for example, causes the jaws of a grasper of the surgical tool 7 to close to grasp tissue of the patient 6 .
[0017] The surgical robotic system 1 may include several UIDs 14, for each of which a respective control signal is generated to control the actuators and surgical tools (end effectors) of the respective arms 4. For example, the teleoperator 9 may move a first UID 14 to control the movement of an actuator 17 in the left robotic arm, which responds by moving joints, gears, etc. in that arm 4. Similarly, movement of a second UID 14 by the teleoperator 9 controls the movement of another actuator 17, which in turn moves other joints, gears, etc. of the robotic system 1. The robotic system 1 may include a right arm 4 fixed to a bed or operating table on the right side of the patient, and a left arm 4 on the left side of the patient. The actuator 17 may include one or more motors controlled to drive the rotation of a joint of the arm 4, for example to change the orientation of an endoscope or a grasping instrument of a surgical tool 7 attached to that arm, relative to the patient. The movement of several actuators 17 in the same arm 4 may be controlled by spatial state signals generated from a particular UID 14. The UIDs 14 may also control the movement of a respective surgical tool grasper. For example, each UID 14 may generate a respective grasp signal to control the movement of an actuator, such as a linear actuator, that opens and closes the jaws of a grasper at the distal end of the surgical tool 7 to grasp tissue within the patient 6.
[0018] In some embodiments, communication between the platform 5 and the user console 2 may be via a control tower 3, which may convert user commands received from the user console 2 (more specifically, from the console computer system 16) into robotic control commands that are sent to the arm 4 on the robotic platform 5. The control tower 3 may also transmit status and feedback from the platform 5 back to the user console 2. The communication connections between the robotic platform 5, the user console 2, and the control tower 3 may be via wired and / or wireless links using any suitable of a variety of data communication protocols. Any wired connections may optionally be built into the floor and / or walls or ceiling of the operating room. The robotic system 1 may provide a video output to one or more displays, including displays in the operating room as well as remote displays that are accessible via the Internet or other networks. The video output or feed may also be encrypted to ensure privacy, and all or portions of the video output may be stored on a server or electronic medical record system.
[0019] The surgical robotic arm 4 is a kinematically redundant manipulator in that it has several joints, numbering at least seven joints, which can be assigned joint position variables q1, q2, ... qN. The joints connect their adjacent rigid links in a sequence, terminating in a distal tip or end effector 20, as shown, for example, in FIG. 3. The arm 4 articulates such that the end effector 20 is located within the body cavity of the patient 6. The end effector 20 is part of the surgical tool 7 that is attached to joints qN (see FIG. 1). Some of the joints may be passive, subject to mechanical constraints, while others are active or motorized. Some of the joints may be rotational and others may be prismatic. The joint position variables represent the relative displacements (e.g., angular, linear) between adjacent links of the joints.
[0020] A coordinate system called task space may be defined in which the end effector 20 or tip moves. This motion is governed by the collective joint position variables q1, q2, ... qN, which may form joint vectors in a coordinate system called "joint space". A set of forward kinematic equations defines functions that determine the "task space" Cartesian position and orientation of the end effector 20 with respect to joint space (the positions of the joints of the arm 4). A set of inverse kinematic equations defines inverse functions and determines the values of the joint position variables q1, q2, ... qN with respect to the task space position and orientation of the end effector 20.
[0021] More relevant to the consideration 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 of the end effector 20 (task space linear velocity) and the joint velocity variables dq1 / dt, dq2 / dt, ... dqN / dt (joint angular velocities, and also joint linear velocities if the arm includes prismatic joints). In this regard, FIG. 2 is used to illustrate some concepts. First, it illustrates how the maximum achievable velocity of the end effector 20 (when the arm 4 is driven by a control system) is not uniform in all directions. This is due to the multi-link, multi-joint nature of the surgical robot arm 4 and the fact that the end effector 4 is not constrained to move in any direction (of course the velocity is limited due to motorized joints with finite power). As can be seen in the nine examples shown, there are limited directions in which the end effector 20 can be driven at a given maximum task space velocity, but there are directions in which the end effector 20 cannot be driven at that velocity. Figure 2 also shows three columns corresponding to three different maximum task spatial velocities. In each column, we see how the workspace in which a given maximum task spatial velocity can be met increases as a function of the maximum available joint velocity. If the maximum available joint velocity increases, there are more directions in which the desired maximum task spatial velocity can be met.
[0022] Considering the three rows of FIG. 2, each row shows how to expand the workspace by being able to meet the maximum task spatial velocity, i.e., by lowering the maximum task spatial velocity. Thus, to generate an almost isotropic system that can move the end effector 20 with uniform ease in most, if not all, directions, FIG. 2 suggests that the maximum task spatial velocity needs to be sufficiently lowered while the maximum joint spatial velocity needs to be sufficiently high. To solve the problem of how to ensure a sense of isotropic ease in moving the end effector 20 on the surgical robot arm 4, it is necessary to link these two aspects, i.e., the maximum joint velocity (most often determined by the motor power and transmission ratio of the active joints) and the maximum task spatial velocity (which may originate from clinical needs). It may also be desirable to adjust the task spatial velocity so that a given joint velocity requirement can be met, and a sense of isotropic ease is achieved. A systematic approach to solving such problems is now presented in conjunction with the flow diagrams of Figures 3 and 4, in which joint spatial velocities are limited or adjusted under certain circumstances, thereby enabling the operator (when remotely manipulating the end effector 20 via the handheld UID 14) to feel isotropic movement.
[0023] FIG. 3 shows an exemplary surgical robotic arm 4 with joints associated with respective joint position variables q1, q2, ... qN, and an end effector 20 positioned within the body cavity of a patient 6 (lying on a table as part of a surgical robotic platform 5). For any given configuration of the arm 4, where "configuration" refers to a particular instance of the set of joint variables q1, q2, ... qN, a velocity ellipse can be calculated, which is a 3D surface that defines the maximum available task-space linear velocity at which the end effector 20 can be driven in various directions defined by the 3D surface. This may also be referred to as a manipulability ellipse. The ellipse can be calculated using the inverse Jacobian of the arm 4. The longest principal axis of the velocity ellipse is shown in the figure and represents the direction in which the maximum task-space linear velocity may be achieved. If there exists a configuration in which the calculated ellipse is essentially spherical (shown by the dotted line), then in that configuration the arm 4 is considered isotropic and the operator experiences uniform ease in all directions.
[0024] In one aspect, the digital control algorithm that continuously updates the motor control commands that control the active or motorized joints of the surgical robotic arm is modified by implementing the following method to adjust the joint spatial velocity of the arm. The goal of the process is for the operator to experience uniform ease in all directions as he manipulates the end effector 20 via the handheld UID 14. Referring to the process flow diagram of FIG. 4, which refers to the operations performed by a programmed processor in the surgical robotic system, the longest principal axis of the velocity ellipse for a given surgical robotic arm configuration is determined (operation 404). This is also referred to as the manipulability ellipse, ME, or linear velocity ME. However, the longest principal axis may be calculated directly without the need to calculate the entire ME, or may be determined based on first calculating the ME using the inverse Jacobian of the arm 4 and then examining the ME to determine the longest principal axis.
[0025] 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 generate a new vector. This new vector may be considered to be the maximum or worst case task space velocity in the direction of the longest principal axis (or the longest principal semi-axis if the origin of the ellipse is at (0,0,0)). If the ME is normalized to 1, a transformation of this vector may be required to find the maximum task space linear velocity (e.g., in units of meters / second) that is on the longest principal axis. The maximum task space velocity is then applied to calculate (or transform) the potential joint space velocity (operation 406). This can be done using the inverse kinematic equations (including the inverse Jacobian) of the arm 4. The potential joint space velocity represents how fast the active joints need to change their positions in order for the end effector 20 to exhibit the maximum task space velocity.
[0026] The process then continues with operation 408 where i) the potential joint space velocity and ii) the joint space velocity limit of the surgical robotic arm 4 are calculated. The joint space velocity limit may be a vector whose components or values, respectively, refer to the maximum velocities of the active joints of the surgical robotic arm 4. In one aspect, the joint space velocity limit (vector) may not change for various configurations of the arm 4. A ratio is then applied (e.g., multiplied) to the initial joint space velocity, which may be a conversion of the received task space velocity to joint space velocity, to generate an adjusted joint space velocity (operation 410).
[0027] 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 to be the same as the initial joint space velocity (resulting from the transformation of the received task space velocity into joint space). In other words, the initial joint space velocity in that case can be applied without modification to update the motor control command. However, if the joint space velocity limit is less than the potential joint space velocity, a ratio less than 1 is applied to the initial joint space velocity as a downscaling factor. As a result, a uniform sense of ease in all directions is achieved, since the digital control algorithm thus automatically limits any requested joint space velocity not to exceed the joint space velocity limit. An example of how this works is as follows: The digital control algorithm detects a changed configuration of the arm 4 and considers receiving a new task space velocity that follows the UID tracking sequence (the end effector 20 can mimic the tracked position and orientation of the IUD 14). The control algorithm transforms the new task space velocity into a new or initial joint space velocity (e.g., using inverse kinematics including the inverse Jacobian). In a conventional approach, the algorithm simply applies the new joint space velocity as is to update several motor control commands that control the motorized joints of the arm 4. However, here, for each of the multiple active joints of the arm 4, a respective potential joint velocity is calculated by applying the received new task space velocity along the longest principal axis of the velocity ellipse of the current configuration of the arm 4 (e.g., generating a new vector having the norm of the new task space velocity and oriented in the direction of the longest principal axis). When each potential joint velocity exceeds the joint velocity limit of the respective joint, a ratio between i) the joint velocity limit and ii) the respective potential joint velocity is calculated.
[0028] Then, a respective adjusted joint velocity for each of the plurality of active joints is generated based on the ratio. Thus, in such a situation, 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 some threshold amount (e.g., as 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 to it so that it does not exceed the joint space velocity limit (before applying the modified new joint space velocity to update the motor control command). The modified new or adjusted joint space velocity is applied to update the plurality of motor control commands that control the plurality of motorized joints (active joints) of the surgical robot arm 4. The updated motor control commands function to control the motorized joints of the arm 4 such that the end effector 20 is driven to a new task space position according to a new UID position (indicated by the UID tracking sequence).
[0029] The above process can be repeated to obtain new task space velocities by calculating an updated ratio between i) the updated potential joint space velocity and ii) the joint space velocity limit of the surgical robot arm, and applying the updated ratio to a transformation of the new task space velocity to generate another adjusted joint space velocity. This can be done without the need to recalculate the longest spindle if the configuration of the arm 4 does not change.
[0030] In the case where there are two or more joints in the multiple active joints, where the respective potential joint velocities exceed the respective joint velocity limits, several ratios are calculated (using the above approach) for each one of the two or more joints. Then, the minimum of these ratios, or in other words, the active joint whose respective potential joint velocities exceed its joint velocity limit the most, is selected. For example, if both joints a and b exceed their respective limits, but joint a exceeds its limit more than joint b exceeds its limit, joint a is selected to calculate the ratio. In other words, the ratio of each potential joint velocity of joint a to its joint velocity limit (of joint a) is selected and used in generating the respective adjusted joint velocities of all of the active joints. As described above, this can be done by multiplying the initial joint spatial velocities of all of the active joints by the selected ratio (of joint a).
[0031] 4 may continue as follows, in the situation where the configuration of the arm 4 does not change: upon receiving another task space velocity of the end effector (on the distal end of the surgical robot arm 4), another respective potential joint velocity is calculated for each of the active joints by applying the another task space velocity along the longest principal axis of the velocity ellipse, as in block 406 (because the configuration of the arm has not changed, the longest principal axis does not need to be recalculated, i.e., block 404 can be omitted).
[0032] If each other potential joint velocity does not exceed the joint velocity limit of the respective joint, then each other potential joint velocity remains unchanged (block 410 is essentially omitted, or equivalently, the ratio of block 410 is set to unity). If each other potential joint velocity does exceed the joint velocity limit of the respective joint, then a new ratio is calculated in block 408.
[0033] Note that in some situations, the new ratios can be calculated without having to calculate new potential joint spatial velocities that correspond to the new task spatial velocities. This is in contrast to when the configuration of the surgical robotic arm is changed, in which case the new ratio needs to be calculated using the updated longest principal axis (that of the ellipsoid in the new configuration). The new ratio can be calculated, for example, as follows in a situation where only the norm of the task spatial rate changes (its orientation remains unchanged with respect to the immediately preceding or previous task spatial rate): After receiving the new task spatial rate v_b, compare it with the previous task spatial rate v_a, and then calculate the new ratio by scaling the previous ratio as v_a / v_b. For example, if the previous ratio is 0.6 and v_b=2 * v_a, the new ratio would be 0.3. The reason for this is that the joint space velocity limits are fixed, the longest principal axis is unchanged, and the only change (relative to the previous task space velocity) is in the norm of the new task space velocity.
[0034] The foregoing description, for purposes of explanation, uses specific terminology to provide a thorough understanding of the invention. However, it will be apparent to one skilled in the art that specific details are not required to practice the present invention. Thus, the foregoing descriptions of specific embodiments of the present invention are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations are possible in light of the above teachings. The present embodiments have been chosen and described in order to best explain the principles of the invention and its practical application, so that they may enable others skilled in the art to best utilize the invention in its various embodiments with various modifications as appropriate for the particular applications contemplated.
[0035] [Embodiment] (1) A method for adjusting joint space velocities of a surgical robotic arm, the method comprising: a) calculating the longest principal axis of a velocity ellipse of a surgical robotic arm configuration; b) receiving a task space velocity and applying a norm of the task space velocity along the longest principal axis to calculate a potential joint space velocity using inverse kinematics; d) calculating a ratio between i) the potential joint space velocity and ii) the joint space velocity limit of the surgical robotic arm; e) applying the ratio to the initial joint space velocity to generate an adjusted joint space velocity. (2) The method of embodiment 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) receiving a new task space rate; and Transforming the new task space velocities into new joint space velocities; and calculating a new ratio based on comparing the new task space rate to the previous task space rate; 3. The method of claim 2, further comprising applying the new ratio to the new joint space velocity to generate a new adjusted joint space velocity. (4) The method of claim 3, further comprising updating a plurality of motor control commands for controlling a plurality of motorized joints of the surgical robotic arm by applying the new adjusted joint spatial velocities. (5) in response to detecting a changed configuration of the surgical robotic arm, calculating a new longest principal axis of a velocity ellipse of the changed configuration; and receiving a new task space velocity, generating a new vector having a norm of the new task space velocity and the new orientation of the longest principal axis, and calculating an updated potential joint space velocity based on the new vector; Calculating an updated ratio between i) the updated potential joint space velocity and ii) the joint space velocity limit of the surgical robotic arm; 2. The method of claim 1, further comprising: applying the updated ratio to a transformation of the new task space velocity to generate another adjusted joint space velocity.
[0036] (6) The method of embodiment 5, further comprising applying the updated adjusted joint space velocities to update a plurality of motor control commands that control a plurality of motorized joints of the surgical robot arm such that an end effector on the arm is driven to a new task space position according to a new UID position indicated by a UID tracking sequence. (7) The method of claim 1, further comprising calculating the velocity ellipse using an inverse Jacobian of the arm. (8) A surgical robot system, comprising: A surgical robotic arm; A processor; and a memory having instructions stored therein, the instructions, when executed by the processor, a) calculating the longest principal axis of a velocity ellipse for a first configuration of said surgical robotic arm; b) applying the task space velocity to the longest principal axis to generate a new vector and calculating potential joint space velocities based on the new vector; c) calculating a ratio between i) the potential joint space velocity and ii) a joint space velocity limit of the surgical robotic arm; d) A surgical robotic system that uses the ratio to generate adjusted joint space velocities. (9) the memory storing therein further instructions, which when executed by the processor: determining a second configuration of the surgical robotic arm in response to an end effector on the surgical robotic arm being directed to a new task space location; 9. The surgical robot system of claim 8, wherein the surgical robot system generates an adjusted joint space velocity for the second configuration by repeating operations a) to d) for the second configuration. (10) The memory stores therein the first configuration, and the first configuration is 9. The surgical robot system of claim 8, further comprising current joint space position data for a plurality of joints of the surgical robot arm.
[0037] (11) The first configuration, 11. The surgical robot system of claim 10, further comprising joint space velocity limit data for a plurality of motorized joints of the surgical robot arm. (12) The surgical robot system of 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 memory further comprises instructions which, when executed by the processor, Calculate the new task space velocity according to the UID tracking sequence; Transforming the new task space velocities into new joint space velocities; Using the new potential joint space velocities, calculate new ratios as in b) and c) without recalculating the longest principal axis; 13. The surgical robot system of claim 12, further comprising: applying the new ratio to the new joint space velocity to generate a new adjusted joint space velocity. (14) The memory further comprises instructions that, when executed by the processor, 14. The surgical robot system of claim 13, wherein the new adjusted joint spatial velocities are applied to update a plurality of motor control commands that control a plurality of motorized joints of the surgical robot arm. (15) The memory has further instructions, which when executed by the processor, adjust the ratio to: calculating, for each of a plurality of active joints in the surgical robot arm, a potential joint velocity value along the longest principal axis of the velocity ellipse based on the received task space velocities; 9. The surgical robot system of claim 8, wherein when the potential joint velocity exceeds a joint velocity limit of the respective joint, the calculation is performed by calculating the ratio between i) the joint velocity limit and ii) the potential joint velocity of the respective joint.
[0038] (16) A method for adjusting the speed of a surgical robotic arm, said method comprising: a) determining an end effector velocity ellipse for a robot arm configuration, the robot arm having a plurality of active joints, the end effector being positioned at a distal end of the robot arm; b) calculating, for each of the plurality of active joints, a respective potential joint velocity by applying the received task space velocity along the longest principal axis of the velocity ellipse; c) when the respective potential joint velocity exceeds a joint velocity limit of the respective joint, calculating a ratio between i) the joint velocity limit and ii) the respective potential joint velocity; d) generating a respective adjusted joint velocity for each of the plurality of active joints based on the ratio. (17) The method of claim 16, wherein each potential joint velocity comprises a linear velocity or an angular velocity. (18) The method of claim 16, further comprising converting the task space velocities to initial joint space velocities, and generating each adjusted joint velocity comprises multiplying the initial joint space velocity by the calculated ratio. (19) when there are two or more joints in the plurality of active joints, the respective potential joint velocities of which exceed the respective joint velocity limits of the respective joints, calculating a plurality of the ratios of the two or more joints; 17. The method of claim 16, further comprising selecting a minimum of the plurality of the ratios for use in generating the respective adjusted joint velocity for each of the plurality of active joints. (20) receiving another task space velocity of the end effector; calculating, for each of the plurality of active joints, another respective potential joint velocity by applying the another task space velocity along the longest principal axis of the velocity ellipse; 17. The method of claim 16, further comprising: leaving the other respective potential joint velocities unchanged if the other respective potential joint velocities do not exceed the joint velocity limit of the respective joint; and calculating a new ratio as in c) if the other respective potential joint velocities exceed the joint velocity limit of the respective joint.
Claims
1. 1. A surgical robotic system, comprising: A surgical robotic arm; A processor; and a memory having instructions stored therein, the instructions, when executed by the processor, a) calculating the longest principal axis of a Manipulability Ellipse (ME) of a first configuration of the surgical robotic arm i) using a ME calculated using an inverse Jacobian of the surgical robotic arm or ii) directly without calculating the entire ME; b) generating a new vector having a norm of the calculated or derived task space velocity based on a user input device (UID) tracking sequence and oriented in the direction of the longest principal axis, and calculating potential joint space velocities based on the new vector; c) calculating a ratio between i) the potential joint space velocity and ii) a joint space velocity limit of the surgical robotic arm, wherein the joint space velocity limit is determined by a motor power and a transmission ratio of each active joint of the surgical robotic arm; d) when the potential joint space velocity exceeds the joint space velocity limits of a plurality of active joints in the surgical robot arm, using the ratio to generate adjusted joint space velocities from initial joint space velocities resulting from transformation of the calculated or derived task space velocities into the joint space to be less than the joint space velocity limits; The longest principal axis of the manipulability ellipse represents the direction in which a maximum task spatial velocity may be achieved.
2. The memory has further instructions stored therein, which, when executed by the processor, determining a second configuration of the surgical robotic arm in response to an end effector on the surgical robotic arm being directed to a new task space location; 10. The surgical robot system of claim 1, further comprising: a first actuator for rotating the first configuration; a second actuator for rotating the second configuration; and a third actuator for rotating the second configuration.
3. The memory stores therein the first configuration, the first configuration comprising: The surgical robotic system of claim 1 including current joint space position data for a plurality of joints of the surgical robotic arm.
4. The first configuration, 4. The surgical robotic system of claim 3, further comprising joint space velocity limit data for a plurality of motorized joints of the surgical robotic arm.
5. The memory further comprises instructions which, when executed by the processor, Calculating or deriving a new task spatial velocity based on a user input device (UID) tracking sequence; Transforming the new task space velocities into new joint space velocities; 2. The surgical robot system of claim 1, further comprising: calculating new potential joint space velocities as in b) without recalculating the longest principal axis when a configuration of the surgical robot arm does not change; calculating new ratios as in b) and c) using the new potential joint space velocities without recalculating the longest principal axis; and applying the new ratios to the new joint space velocities to generate new adjusted joint space velocities.
6. The memory further comprises instructions which, when executed by the processor, 6. The surgical robotic system of claim 5, further comprising: applying the new adjusted joint spatial velocities to update a plurality of motor control commands that control a plurality of motorized joints of the surgical robotic arm.
7. 1. A method of operating a processor for adjusting a joint spatial velocity of a surgical robot arm included in a surgical robot system having a processor, the method comprising: a) the processor i) calculating a longest principal axis of a manipulability ellipse (ME) of a surgical robotic arm configuration using an inverse Jacobian of the surgical robotic arm or directly without calculating the entire ME; b) the processor calculating or deriving task space velocities based on a user input device (UID) tracking sequence, the processor generating a vector having a norm of the calculated or derived task space velocities and oriented in the direction of the longest principal axis, and calculating potential joint space velocities using inverse kinematics; d) the processor calculating a ratio between i) the potential joint space velocity and ii) a joint space velocity limit of the surgical robotic arm, wherein the joint space velocity limit is determined by a motor power and a transmission ratio of each active joint of the surgical robotic arm; e) when the potential joint space velocity exceeds the joint space velocity limits of a plurality of active joints in the surgical robotic arm, the processor applies the ratio to an initial joint space velocity to generate an adjusted joint space velocity from the initial joint space velocity resulting from transformation of the calculated or derived task space velocity into the joint space to be less than the joint space velocity limits; A method of operating a processor, wherein the longest principal axis of the manipulability ellipse represents a direction in which a maximum task spatial velocity may be achieved.
8. Calculating or deriving a new task spatial velocity, where only the norm has been changed from the task spatial velocity, when the configuration of the surgical robot arm is not changed; Transforming the new task space velocities into new joint space velocities; and calculating a new ratio based on comparing the new task space rate to the previous task space rate; 8. The method of claim 7, further comprising: applying the new ratio to the new joint space velocity to generate a new adjusted joint space velocity.
9. 9. The method of claim 8, further comprising: applying the new adjusted joint spatial velocities to update a plurality of motor control commands that control a plurality of motorized joints of the surgical robotic arm.
10. responsive to detecting a changed configuration of the surgical robotic arm, calculating a new longest principal axis of a manipulability ellipse for the changed configuration; in response to detecting a changed configuration of the surgical robotic arm, calculating or deriving a new task space velocity, generating a new vector having a norm of the new task space velocity and the new orientation of the longest principal axis, and calculating updated potential joint space velocities based on the new vector; responsive to detecting a changed configuration of the surgical robotic arm, calculating an updated ratio between i) the updated potential joint space velocity and ii) the joint space velocity limit of the surgical robotic arm; 8. The method of claim 7, further comprising: in response to detecting a changed configuration of the surgical robotic arm, applying the updated ratio to a transformation of the new task space velocity to a new joint space velocity to generate another adjusted joint space velocity.
11. 11. The method of claim 10, further comprising applying the different adjusted joint-space velocities to update motor control commands that control a plurality of motorized joints of the surgical robotic arm such that an end effector on the surgical robotic arm is driven to a new task space position according to a new user input device (UID) position indicated by a user input device (UID) tracking sequence.
Citation Information
Patent Citations
Master / slave manipulator
JP2005349563A
Surgical assistant device
JP2013034830A
Operation control device for insertion instrument
JP2015107138A
Systems and methods for using zero space to anisotropically emphasize manipulator joint motion
JP2016512733A
Positioning arm for surgical navigation system
JP2019037774A