Systems and methods for controlling a robotic manipulator or associated tool
US-10952801-B2 · Mar 23, 2021 · US
US12004829B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12004829-B2 |
| Application number | US-202016896404-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 9, 2020 |
| Priority date | Jun 9, 2020 |
| Publication date | Jun 11, 2024 |
| Grant date | Jun 11, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Various approaches to solve for inverse kinematics may be used for teleoperation of a surgical robotic system. In one approach, an iterative solver solves for the linear component of motion independently from solving for the angular component of motion. One solver may be used to solve for both together. In another approach, all limits (e.g., position, velocity, and acceleration) are handled in one solution. Where a limit is reached, the limit is used as a bound in the intermediate solution, allowing solution even where a bound is reached. In another approach, a ratio of limits of position are used to create a slow-down region near the bounds to more naturally control motion. In yet another approach, the medical-based teleoperation uses a bounded Gauss-Siedel solver, such as with successive-over-relaxation.
Opening claim text (preview).
We claim: 1. A method for teleoperation of a surgical robotic system, the method comprising: receiving a user command to move a surgical tool mounted on a robotic arm during the teleoperation; solving iteratively, by a first optimization of a solver, for linear motion of the move in a first stage of kinematics, the solving in the first stage providing a solution from the first optimization for the linear motion without solving for angular motion; solving iteratively, by a second optimization of the solver, for the angular motion of the move in a second stage separate from the first stage of the kinematics, the solving in the second stage providing a solution from the second optimization for the angular motion without solving for the linear motion where the solving in the second stage and corresponding solution for the angular motion is independent of the solving in the first stage and corresponding solution for the linear motion, the iterative solving for the angular motion and corresponding second optimization being decoupled as a separate solving than the iterative solving for the linear motion and corresponding first optimization such that any limit violation affects the linear motion and angular motion independently due to the decoupling; and moving the robotic arm and/or surgical tool based on the solutions for the linear motion and the angular motion. 2. The method of claim 1 wherein receiving during the teleoperation comprises receiving where the robotic arm has one or more joints locked in place with a fixed remote center of motion at a patient entry point. 3. The method of claim 1 wherein receiving comprises receiving the user command where the teleoperation is for fewer than six degrees of freedom, and wherein solving for the linear motion and/or solving for the angular motion includes solving with a Jacobian matrix for six degrees of freedom with zero terms for the linear and/or angular motion not in the fewer than six degrees of freedom. 4. The method of claim 1 wherein solving for the linear motion comprises solving with all limitations on a linear component of the move of the robotic arm being in a first single solution, and wherein solving for the angular motion comprises solving with all limitations on an angular component of the move of the robotic arm being in a second single solution. 5. The method of claim 4 wherein the first single solution comprises a first term including positive and negative position, velocity, and acceleration bounds as all of the limitations, and wherein the second single solution comprises a second term including positive and negative position, velocity, and acceleration bounds as all of the limitations. 6. The method of claim 1 wherein solving for the linear motion and/or solving for the angular motion comprises solving with a limit violation effecting the linear motion and the angular motion independently due to the separate first and second stages. 7. The method of claim 1 wherein solving for the linear motion and/or solving for the angular motion comprises solving with a position, velocity, or acceleration limit used as a result in a solution. 8. The method of claim 1 wherein solving for the linear motion and solving for the angular motion each comprises solving with a first control loop nested in a second control loop, the first control loop including a bound generator operating with the solver and a termination check for iterative solving by the solver, the second control loop including a forward kinematic determination of a position of the surgical tool, a command generation of the move from the user command and the position of the surgical tool, the move provided to the second control loop, and a second termination check receiving termination from the first control loop. 9. The method of claim 1 wherein solving for the linear motion and/or solving for the angular motion comprises solving with a position limit ratio defining a region of slow down to approach a position limitation of a joint of the robotic arm. 10. The method of claim 1 wherein solving for the linear motion and/or solving for the angular motion comprises solving with the solver comprising a Bounded Gauss-Seidel solver. 11. The method of claim 10 wherein solving with the Bounded Gauss-Seidel solver comprises solving with successive-over-relaxation. 12. The method of claim 10 wherein the Bounded Gauss-Seidel solver clamps an intermediate solution to a bound in position, velocity, or acceleration of the robotic arm. 13. A method for teleoperation of a surgical robotic system, the method comprising: receiving an input command to move a surgical tool mounted on a distal end of a robotic arm during the teleoperation; solving for motion by the robotic arm or the surgical tool with an iterative solution using an inverse kinematic solver where the iterative solution includes solution considering all limits on the motion within the iterative solution and corresponding optimization for the solving, the limits on the motion including a position limit, a velocity limit, and an acceleration limit, the position limit, velocity limit, and acceleration limit each comprising a hardware, safety, or operation bound on the motion; and moving the surgical tool and/or the robotic arm based on the iterative solution. 14. The method of claim 13 wherein solving comprises solving with a bounded Gauss-Seidel solver with successive-over-relaxation. 15. The method of claim 13 wherein solving comprises clamping an intermediate solution of the iterative solution to one of the limits. 16. The method of claim 13 wherein solving comprises solving for a linear motion in one stage and solving for angular motion in another stage, each of the stages having the iterative solution independent of the other stage. 17. A surgical robotic system for teleoperation, the surgical robotic system comprising: a robotic arm; a surgical instrument coupled to a distal end of the robotic arm; and a controller configured to solve for motion of the robotic arm and/or surgical instrument during the teleoperation and in response to a move command, the solution using a bounded Gauss-Seidel solver with successive-over-relaxation in iterative solving, wherein the controller is configured to clamp an intermediate solution of the iterative solving of the bounded Gauss-Seidel solver to a position, velocity, or acceleration bound of the robotic arm and/or surgical instrument, the clamp allowing the bounded Gauss-Seidel solver to determine the motion without violating the position, velocity, or acceleration bound in further iterations of the iterative solving, the intermediate solution being a solution for position, velocity, or acceleration before a last iteration of the bounded Gauss-Seidel solver where the position, velocity or acceleration of the intermediate solution is set at the position, velocity, or acceleration bound as the clamp. 18. The surgical robotic system of claim 17 wherein the controller is configured to solve with the bounded Gauss-Seidel solver where the solution includes all limits on position, velocity, and acceleration of the robotic arm and surgical instrument in the solution. 19. The surgical robotic system of claim 17 wherein the controller is configured to solve for linear and angular components of the motion, the solution for the linear components being independent of the solution for the angular components.
acceleration, rate control · CPC title
characterised by movement of the arms, e.g. cartesian coordinate type (B25J9/06 takes precedence) · CPC title
using limit-switches, -stops · CPC title
Calculation of inertia, jacobian matrixes and inverses · CPC title
non-linear control combined or not with linear control · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.