Robotic surgical systems with independent roll, pitch, and yaw scaling
11547504 · 2023-01-10
Assignee
Inventors
Cpc classification
B25J9/1605
PERFORMING OPERATIONS; TRANSPORTING
A61B2034/102
HUMAN NECESSITIES
A61B90/37
HUMAN NECESSITIES
B25J11/008
PERFORMING OPERATIONS; TRANSPORTING
A61B34/10
HUMAN NECESSITIES
International classification
A61B34/10
HUMAN NECESSITIES
A61B90/00
HUMAN NECESSITIES
A61B34/00
HUMAN NECESSITIES
Abstract
A robotic surgical system includes a linkage, an input device, and a processing unit. The linkage moveably supports a surgical tool relative to a base. The input device is rotatable about a first axis of rotation and a second axis of rotation. The processing unit is in communication with the input device and is operatively associated with the linkage to rotate the surgical tool about a first axis of movement based on a scaled rotation of the input device about the first axis of rotation by a first scaling factor and to rotate the surgical tool about a second axis of movement based on a scaled rotation of the input device about the second axis of rotation by a second scaling factor that is different from the first scaling factor.
Claims
1. A robotic surgical system comprising: a linkage moveably supporting a surgical tool relative to a base; an input device rotatable about a first axis of rotation and a second axis of rotation; and a processing unit in communication with the input device and operatively associated with the linkage to rotate the surgical tool about a first axis of movement based on a scaled rotation of the input device about the first axis of rotation by a first scaling factor and to rotate the surgical tool about a second axis of movement based on a scaled rotation of the input device about the second axis of rotation by a second scaling factor different from the first scaling factor.
2. The robotic surgical system according to claim 1, wherein the second scaling factor is less than the first scaling factor.
3. The robotic surgical system according to claim 1, wherein the first scaling factor is 1.0.
4. The robotic surgical system according to claim 1, wherein the input device is rotatable about a third axis of rotation and the processing unit is operatively associated with the linkage to rotate the surgical tool about a third axis of movement based on a scaled rotation of the input device about the third axis of rotation by a third scaling factor.
5. The robotic surgical system according to claim 4, wherein the third scaling factor is equal to the second scaling factor.
6. The robotic surgical system according to claim 4, wherein the third scaling factor is greater than the first scaling factor.
7. The robotic surgical system according to claim 4, wherein the second scaling factor is less than the first scaling factor.
8. The robotic surgical system according to claim 4, wherein the first scaling factor is 1.0.
9. The robotic surgical system according to claim 4, wherein the third scaling factor is different from the first and second scaling factors.
10. The robotic surgical system according to claim 4, wherein the second scaling factor is less than the first scaling factor and the third scaling factor is greater than the first scaling factor.
11. A robotic surgical system comprising: a linkage moveably supporting a surgical tool relative to a base; an input device rotatable about a first axis of rotation and a second axis of rotation; and a processing unit in communication with the input device and operatively associated with the linkage to rotate the surgical tool about a first axis of movement based on a scaled rotation of the input device about the first axis of rotation by a first scaling factor and to rotate the surgical tool about a second axis of movement based on a scaled rotation of the input device about the second axis of rotation by a second scaling factor different from the first scaling factor, wherein at least one of the first and the second scaling factors is dynamically varied as the input device is rotated about the respective axis.
12. The robotic surgical system according to claim 11, wherein the second scaling factor is less than the first scaling factor; preferably wherein the first scaling factor is 1.0.
13. The robotic surgical system according to claim 11, wherein the input device is rotatable about a third axis of rotation and the processing unit is operatively associated with the linkage to rotate the surgical tool about a third axis of movement based on a scaled rotation of the input device about the third axis of rotation by a third scaling factor.
14. The robotic surgical system according to claim 13, wherein the third scaling factor is equal to the second scaling factor.
15. The robotic surgical system according to claim 13, wherein the third scaling factor is greater than the first scaling factor.
16. The robotic surgical system according to claim 13, wherein the third scaling factor is different from the first and second scaling factors.
17. The robotic surgical system according to claim 14, wherein the second scaling factor is less than the first scaling factor.
18. The robotic surgical system according to claim 14, wherein the first scaling factor is 1.0.
19. The robotic surgical system according to claim 14, wherein the second scaling factor is less than the first scaling factor and the third scaling factor is greater than the first scaling factor.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Various aspects of the present disclosure are described herein below with reference to the drawings, which are incorporated in and constitute a part of this specification, wherein:
(2)
(3)
(4)
DETAILED DESCRIPTION
(5) Embodiments of the present disclosure are now described in detail with reference to the drawings in which like reference numerals designate identical or corresponding elements in each of the several views. As used herein, the term “clinician” refers to a doctor, a nurse, or any other care provider and may include support personnel. Throughout this description, the term “proximal” refers to the portion of the device or component thereof that is closest to the clinician and the term “distal” refers to the portion of the device or component thereof that is farthest from the clinician. In addition, as used herein the term “neutral” is understood to mean non-scaled.
(6) This disclosure generally relates to the scaling of movement of an input device of a user interface to movement of a tool of a robotic system during a surgical procedure. In particular, this disclosure relates to the scaling of movement about a roll axis, a pitch axis, and a yaw axis. The scaling about each of these axes may be positive (i.e., increase the movement of the tool with respect to movement of the input device), negative (i.e., decrease the movement of the tool with respect to movement of the input device), or neutral (i.e., equal to the movement of the tool with respect to movement of the input device). The scaling of the movement in a positive manner may allow a clinician to have increased dexterity from what is allowed by human anatomy. For example, when a wrist action (e.g., about the roll axis) is scaled in a positive manner, a clinician may be able to rotate a tool a full rotation in each direction with a quarter rotation of the wrist of the clinician.
(7) Referring to
(8) The user interface 40 includes a display device 44 which is configured to display three-dimensional images. The display device 44 displays three-dimensional images of the surgical site “S” which may include data captured by imaging devices 16 positioned on the ends 14 of the arms 12 and/or include data captured by imaging devices that are positioned about the surgical theater (e.g., an imaging device positioned within the surgical site “S”, an imaging device positioned adjacent the patient “P”, imaging device 56 positioned at a distal end of an imaging arm 52). The imaging devices (e.g., imaging devices 16, 56) may capture visual images, infra-red images, ultrasound images, X-ray images, thermal images, and/or any other known real-time images of the surgical site “S”. The imaging devices transmit captured imaging data to the processing unit 30 which creates three-dimensional images of the surgical site “S” in real-time from the imaging data and transmits the three-dimensional images to the display device 44 for display.
(9) The user interface 40 also includes input handles 42 which are supported on control arms 43 which allow a clinician to manipulate the robotic system 10 (e.g., move the arms 12, the ends 14 of the arms 12, and/or the tools 20). Each of the input handles 42 is in communication with the processing unit 30 to transmit control signals thereto and to receive feedback signals therefrom. Additionally or alternatively, each of the input handles 42 may include input devices 46 (
(10) With additional reference to
(11) For a detailed discussion of the construction and operation of a robotic surgical system 1, reference may be made to U.S. Pat. No. 8,828,023, the entire contents of which are incorporated herein by reference.
(12) As detailed above, the user interface 40 is in operable communication with the robotic system 10 to perform a surgical procedure on a patient; however, it is envisioned that the user interface 40 may be in operable communication with a surgical simulator (not shown) to virtually actuate a robotic system and/or tool in a simulated environment. For example, the surgical robot system 1 may have a first mode where the user interface 40 is coupled to actuate the robotic system 10 and a second mode where the user interface 40 is coupled to the surgical simulator to virtually actuate a robotic system. The surgical simulator may be a standalone unit or be integrated into the processing unit 30. The surgical simulator virtually responds to a clinician interfacing with the user interface 40 by providing visual, audible, force, and/or haptic feedback to a clinician through the user interface 40. For example, as a clinician interfaces with the input handles 42, the surgical simulator moves representative tools that are virtually acting on tissue. It is envisioned that the surgical simulator may allow a clinician to practice a surgical procedure before performing the surgical procedure on a patient. In addition, the surgical simulator may be used to train a clinician on a surgical procedure. Further, the surgical simulator may simulate “complications” during a proposed surgical procedure to permit a clinician to plan a surgical procedure.
(13) The movement of the tools 20 is scaled relative to the movement of the input handles 42. When the input handles 42 are moved within a predefined workspace, the input handles 42 send control signals to the processing unit 30. The processing unit 30 analyzes the control signals to move the tools 20 in response to the control signals. The processing unit 30 transmits scaled control signals to the robot base 18 to move the tools 20 in response to the movement of the input handles 42. The processing unit 30 scales the control signals by dividing an Input.sub.distance (e.g., the distance moved by one of the input handles 42) by a scaling factor S.sub.F to arrive at a scaled Output.sub.distance (e.g., the distance that one of the ends 14 is moved). The scaling factor S.sub.F is in a range between about 1 and about 10 (e.g., 3). This scaling is represented by the following equation:
Output.sub.distance=Input.sub.distance/S.sub.F
It will be appreciated that the larger the scaling factor S.sub.F the smaller the movement of the tools 20 relative to the movement of the input handles 42.
(14) For a detailed description of scaling movement of the input handle 42 along the X, Y, and Z coordinate axes to movement of the tool 20, reference may be made to commonly owned International Patent Application Serial No. PCT/US2015/051130, filed on Sep. 21, 2015, and entitled “Dynamic Input Scaling for Controls of Robotic Surgical System,” and International Patent Application No. PCT/US2016/14031, filed Jan. 20, 2016, the entire contents of each of these disclosures is herein incorporated by reference.
(15) Referring also to
(16) Rotation of the input device 46 about each of the RPY axes may be scaled in a different manner to rotation of the tool 20. For example, rotation of the input device 46 about the control shaft 43, i.e., rotation about the roll axis “R”, may be scaled in a positive manner, rotation of the input device 46 about the pitch axis “P” may be scaled in a neutral manner, and rotation of the input device 46 about the yaw axis “Y” may be scaled in a negative manner. Any other combinations of scaling are contemplated herein and form a part of the present disclosure.
(17) Rotation of the tool 20 is scaled in response to rotation of the input device 46 about a respective one of the RPY axes. The movement about the respective RPY axis is measured in degrees which are scaled by a scaling factor S.sub.F similar to movement along the XYZ coordinate axes as detailed above. Continuing the example above, with rotation about the roll axis “R” scaled in a positive manner, a roll scaling factor RS.sub.F is less than 1.0, e.g., in a range of about 0.10 to about 0.95, such that an Output.sub.angle is greater than an Input.sub.angle about the roll axis “R”. In addition, with rotation about the pitch axis “P” scaled in a neutral manner, a pitch scaling factor PS.sub.F is equal to about 1.0 such that an Output.sub.angle is equal to an Input.sub.angle about the pitch axis “P”. Further, with rotation about the yaw axis “Y” scaled in a negative manner, a yaw scaling factor YS.sub.F is greater than 1.0, e.g., in a range of about 1.10 to about 10.0, such that an Output.sub.angle is less than an Input.sub.angle about the yaw axis “Y”. It is contemplated that each of the RPY scaling factors RS.sub.F, PS.sub.F, and YS.sub.F may be equal to another one of the RPY scaling factor or each of the RPY scaling factors may be different from one another.
(18) Additionally or alternatively, one of the RPY scaling factors may be varied as the input device 46 is rotated about a respective one of the RPY axes from an idle position to a limit of movement about the respective RPY axis. For example, as the input device 46 is rotated from an idle position (
(19) It is contemplated that one or more of the RPY scaling factors may be varied after swapping or switching tools (e.g., tool 20) attached to the end of an arm 12 to align the input device 46 with the tool when the tool is attached misaligned from the input device 46. Specifically, the RPY scaling factor in each direction may be more negative when the clinician moves the input handle 46 away from a centered or aligned position and may be more positive when the clinician moves the input handle 46 towards the centered or aligned position until the tool is aligned with the input device 46. When the tool is aligned with the input device 46, the RPY scaling factors return to operating in a symmetrical manner, positive, neutral, or negative.
(20) In another embodiment of the present disclosure, the rotation of the tool 20 about the RPY axes may be throttled in response to the displacement of the input device 46 from an initial or idle position to a displaced or rotated position. In such embodiments, when the input device 46 is in the idle position as shown in
(21) Alternatively, the velocity of the rotation of the tool 20 about the particular RPY axis may vary in response to angular displacement of the input device 46 about the particular RPY axis. For example, when the input device 46 is rotated from an idle position (
(22) As detailed below, a method for scaling the rotation of the tool 20 about the roll axis “R” is detailed below in accordance with the present disclosure. The method scales the orientation or rotation of the tool 20 based on the rotation of the input device or handle 46 in a world frame of the user interface 40. The orientation of the input handle 46 in the world frame is represented as R.sub.orientation=.sub.handle.sup.worldR. The processing unit 30 (
(23) The neutral orientation can be defined in the world frame as a matrix .sub.neutral.sup.worldR such that any orientation of the handle R.sub.orientation is relative to the neutral orientation as follows:
R.sub.orientation=.sub.handle.sup.worldR=.sub.neutral.sup.worldR.Math..sub.handle.sup.neutralR
(24) The scaling S can then be applied to the .sub.handle.sup.neutralR such that:
R.sub.scaled=.sub.virtualhandle.sup.worldR=.sub.neutral.sup.worldR.Math.S[.sub.handle.sup.neutralR]
Combining the two expressions above yields:
R.sub.scaled=.sub.neutral.sup.worldR.Math.S[(.sub.neutral.sup.worldR).sup.−1.Math.R.sub.orientation]
(25) The scaling of rotation of the input handle 46 by a fixed scaling factor can be expressed as Euler rotation vectors such that a rotation vector “R” can be scaled by multiplying the rotation vector by a scalar “s” as:
S.sub.1(s)[r]=sr
When the inputs and outputs are rotation matrices, conversions are necessary such that:
S.sub.1(s)[R]=r2R[s.Math.R2r[R]]
with r2R[r] being the conversion of an Euler rotation vector “R” to a rotation matrix and R2r[R] being a conversion of a rotation matrix “R” to an Euler rotation vector.
(26) The above expression may suffer from aliasing based on a rigid body rotation having one matrix representation but having an infinite number of rotation vector representations that differ in multiples of 2π. If large rotations of the tool 20 are allowed, the conversion of the rotation vector may alias in different ways such that the same pose is mapped to a number of rotation vector values which may cause a discontinuity in the scaled output. To avoid discontinuities, the aliasing is removed from the rotation vector “R” by changing the magnitude by a multiple of 2π so the rotation vector “R” matches the previous orientation. This anti-aliasing function can be represented as AA[r] such that the final expression is as follows:
S.sub.1(s)[R]=r2R[s.Math.AA[R2r[R]]]
(27) The scaling of the input handle 46 may also be specific to a given axis such that rotation about each axis is scaled in a different manner. For example, scaling about the pitch or yaw axes may be scaled in a different manner or separately from scaling about the roll axis. To separate the scaling of individual axes, the relative orientation .sub.handle.sup.neutralR is decomposed into a pitch and yaw component and a roll component such that .sub.handle.sup.neutralR=R.sub.py.Math.R.sub.roll. A uniform scaling can then be applied to each of the R.sub.py and R.sub.roll by converting each rotation to Euler rotation vectors and then scaling the angle. The pitch/yaw component R.sub.py can be scaled by a pitch/yaw scaling factor S.sub.py and the roll component R.sub.roll can be scaled by a roll scaling factor S.sub.roll. It will be appreciated that rotations greater than 2π should be avoided to avoid aliasing as detailed above.
(28) The separated scaling can be represented as:
R.sub.scaled=.sub.neutral.sup.worldR.Math.S.sub.1(S.sub.py)[R.sub.py].Math.S.sub.1(S.sub.roll)[R.sub.roll]
where S.sub.1(s)[R] represents uniform scaling of the rotation “R” by a factor “s”.
(29) Extracting R.sub.roll from (.sub.neutral.sup.worldR).sup.−1R.sub.orientation takes into account the orientation of an axis of the input handle 46 and scales the roll with respect to the axis of the input handle 46. The R.sub.py is scaled relative to the neutral orientation taking into account that by calculating R.sub.py by removing the extracted R.sub.roll depends on the direction of the input handle 46 or the roll axis “R” of the handle (
(30) It may be beneficial to perform an axis specific orientation as a single operation. Such method of using a single operation is described herein in accordance with the present disclosure that calculates a physical orientation that would correspond to a scaled orientation. From this single operation, feedback may be provided to a clinician to represent errors in the scaled orientation or when constraints are reached due to a reduced degree of freedom of the tool 20 (i.e., approaching or reaching a singularity) or reaching an edge of the workspace. The single operation would be an inverse to be accurate in all orientations. Specifically, the aliasing should be accounted for in each of the scaled rotations.
(31) The single operation would avoids decomposition, as described above, and combines the scaling that scales rotations about the roll axis by a scaling factor S.sub.roll, scales rotations with no roll component by a different scaling factor S.sub.py, and handles intermediate rotations in a manner in between. Such a scaled rotation can be represented as:
R.sub.scaled=.sub.neutral.sup.worldR.Math.S.sub.2(.sup.neutralu.sub.roll,s.sub.roll,s.sub.py)[.sub.neutral.sup.worldR]
Where .sub.neutral.sup.worldR=(.sub.neutral.sup.worldR).sup.−1R.sub.orientation is the overall rotation away from the neutral orientation and S.sub.2(.sup.neutralu.sub.roll, s.sub.roll, s.sub.py)[.sub.neutral.sup.worldR] is the combined scaling operator that is derived as describe below. It should be noted that S.sub.2 depends on the s.sub.roll and s.sub.py scaling factors and on the direction of the roll axis .sup.neutralu.sub.roll with respect to the neutral frame.
(32) Another method of using anisotropic scaling to calculate a scaled orientation of the tool 20 is described in accordance with the present disclosure. The anisotropic scaling scales behavior of the input handle 46 by three parameters in addition to an input rotation. The first parameter is the fixed axis “w” where (|w|=1) (i.e., the roll axis “R” detailed above), the second parameter is scaling factor s.sub.0, and the third parameter is scaling factor s.sub.w. The scaling factor s.sub.0 and the scaling factor s.sub.w may be equal to one another or different from one another. Rotation about the axis “w” is scaled by the scaling factor s.sub.w and rotation about any axis perpendicular to the axis “w” (i.e., axis v⊥w,|v|=1) is scaled by the scaling factor s.sub.0. For the anisotropic scaling to be accurate it should satisfy the following conditions: first, that rotation about the axis “w” or rotation about any axis perpendicular to the axis “w” is accurately scaled by either scaling factor s.sub.0 or scaling factor s.sub.w respectively; second, that rotation about any intermediate axis is scaled by a factor between scaling factors s.sub.0 and s.sub.w; and third, that when s.sub.0=s.sub.w the scaling corresponds to an isotropic rotation scaling.
(33) To anisotropically scale the behavior of the input handle 46, the operator S.sub.2, which is inspired by the Householder Transform for Reflections, is applied to the Euler rotation vector “R” detailed above such that the rotation vector “r” is expressed as follows:
S.sub.2(w,s.sub.w,s.sub.0)[r]=(s.sub.0I+(s.sub.w−s.sub.0)ww.sup.T)AA[R2r[R]]
where r2R[r] is the conversion of an Euler rotation vector “R” to a rotation matrix, R2r[R] is the conversion of a rotation matrix “R” to an Euler rotation vector, and AA[r] removes aliasing from a rotation vector “R” by changing the magnitude of the rotation vector “R” by some multiple of 2π.
(34) The verification of the anisotropic scaling is accurate in the conditions detailed above are described below. In a first condition, S.sub.2λw=s.sub.wλw and S.sub.2 μv, since w.sup.Tw=1 and w.sup.Tv=0. In the second condition for rotation that is neither about the axis “w” nor independent of axis “w”, the rotation axis may change direction (i.e., if s.sub.ws.sub.0, the axis moves away from the “v” plane towards ±w; or in the opposite direction) and the rotation angle is scaled by a factor between s.sub.0 and s.sub.w. Finally, when the scaling factor s.sub.0=s.sub.w, then S.sub.2(w, s.sub.w, s.sub.0)=s.sub.0I, to satisfies the third condition.
(35) The inverse for the final transform for the anisotropic scaling can be calculated as follows:
(36)
(37) When the axis “w” is variable, vector operations can be used to calculate S.sub.2x=s.sub.0x+(s.sub.w−s.sub.0)(w.sup.Tx)w. For example, the vector operations can be [10*,5+] then to recompute [27*,9+] and use └9*,6+┘ as the operator matrix. By using the vector operations as in place of the trigonometry may reduce the cost and/or time of performing the above anisotropic scaling method.
(38) While several embodiments of the disclosure have been shown in the drawings, it is not intended that the disclosure be limited thereto, as it is intended that the disclosure be as broad in scope as the art will allow and that the specification be read likewise. Any combination of the above embodiments is also envisioned and is within the scope of the appended claims. Therefore, the above description should not be construed as limiting, but merely as exemplifications of particular embodiments. Those skilled in the art will envision other modifications within the scope of the claims appended hereto.