IP Library Granted Patent US 9,610,689
Granted Patent B2
US 9,610,689 · App. 15/057,073 · Granted Apr 4, 2017

Systems and methods for tracking a path using the null-space

Inventors: Nitish Swarup (Sunnyvale, CA); Arjang M. Hourtash (Santa Clara, CA); Paul W. Mohr (Mountain View, CA)
Assignee: Intuitive Surgical Operations, Inc.
B25J9/1643A61B34/20A61B34/30A61B34/37B25J18/007A61B2034/107A61B2034/2059G05B2219/40339G05B2219/40359G05B2219/40474
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,610,689
App. No.
15/057,073
Granted
Apr 4, 2017
Kind
B2
Abstract

Devices, systems, and methods for providing a desired movement of one or more joints of a manipulator arm having a plurality of joints with redundant degrees of freedom while effecting commanded movement of a distal end effector of the manipulator. Methods include defining a constraint, such as a network of paths, within a joint space defined by the one or more joints and determining a movement of the plurality of joints within a null-space to track the constraints with the one or more joints. Methods may further include calculating a reconfiguration movement of the joints and modifying the constraints to coincide with a reconfigured position of the one or more joints. Various configurations for devices and systems utilizing such methods are provided herein.

Claims (55)

1. A method for a manipulator arm, the manipulator arm comprising a movable distal portion that includes an end effector, a proximal portion coupled to a base, and a plurality of joints between the distal portion and the base, the plurality of joints having sufficient degrees of freedom to allow a range of differing joint states for a given state of the end effector, the method comprising:

defining a position-based constraint of one or more joints of the plurality of joints within a joint space of the plurality of joints, the position-based constraint including one or more paths corresponding to a desired movement of the one or more joints within the joint space of the plurality of joints;

receiving a manipulation command to move the end effector with a desired end-effector movement;

calculating an end-effector displacing movement of the plurality of joints to effect the desired end-effector movement, wherein calculating the end-effector displacing movement of the plurality of joints comprises calculating joint velocities of the plurality of joints from directions that correspond to the end effector moving;

calculating a tracking movement of the plurality of joints so as to move a position of the one or more joints of the plurality of joints towards the position-based constraint, wherein calculating the tracking movement of the plurality of joints comprises calculating joint velocities of the plurality of joints from directions that correspond to the end effector not moving; and

driving the plurality of joints according to the calculated movements so as to effect the end-effector displacing movement concurrently with the tracking movement.

2. The method of claim 1 , further comprising:

calculating values for a Jacobian of the manipulator arm, the joint velocities from directions that correspond to the end effector not moving being associated with a null space of the Jacobian, and the joint velocities from directions that correspond to the end effector moving being associated with a null-perpendicular space of the Jacobian.

3. The method of claim 1 , wherein a first path of the one or more paths of the position-based constraint has at least one dimension and is defined within a subspace of the joint space of the plurality of joints by at least two joints of the plurality of joints.

4. The method of claim 1 , wherein the one or more paths of the position-based constraint include a network of piecewise continuous paths within the joint space of the plurality of joints.

5. The method of claim 1 , wherein calculating the tracking movement comprises:

defining a potential field between a calculated position of the one or more joints of the plurality of joints and the one or more paths of the position-based constraint, wherein an increasing potential of the potential field corresponds to an increasing distance between the calculated position and the one or more paths;

determining from the potential field a potential between the calculated position and the one or more paths; and

calculating the tracking movement by using the potential to determine a direction from the calculated position towards the one or more paths.

6. The method of claim 1 , wherein calculating the tracking movement comprises:

determining a first movement of the plurality of joints within the joint space of the plurality of joints by evaluating a potential function of the one or more joints of the position-based constraint; and

determining the joint velocities of the plurality of joints for the tracking movement by projecting the first movement of the plurality of joints onto a null space of a Jacobian of the manipulator arm.

7. The method of claim 1 , wherein the distal portion of the manipulator arm includes an instrument holder that releasably supports a surgical instrument having an elongate shaft extending distally to the end effector, the shaft pivoting about a remote center of motion during surgery.

8. A system comprising:

a manipulator arm comprising a movable distal portion that includes an end effector, a proximal portion coupled to a base, and a plurality of joints between the distal portion and the base, the plurality of joints having sufficient degrees of freedom to allow a range of differing joint states for a given state of the end effector;

an input device for receiving a manipulation command to move the end effector with a desired end-effector movement;

one or more processors operably connected to the input device and the manipulator arm, the one or more processors being configured to perform operations including:

defining a position-based constraint of one or more joints of the plurality of joints within a joint space of the plurality of joints, the position-based constraint including one or more paths corresponding to a desired movement of the one or more joints within the joint space of the plurality of joints;

calculating an end-effector displacing movement of the plurality of joints to effect the desired end-effector movement, wherein calculating the end-effector displacing movement of the plurality of joints comprises calculating joint velocities of the plurality of joints from directions that correspond to the end effector moving;

calculating a tracking movement of the plurality of joints so as to move a position of the one or more joints of the plurality of joints towards the position-based constraint, wherein calculating the tracking movement of the plurality of joints comprises calculating joint velocities of the plurality of joints from directions that correspond to the end effector not moving; and

transmitting a command to the manipulator arm to drive the plurality of joints according to the calculated movements so as to effect the end-effector displacing movement concurrently with the tracking movement.

9. The system of claim 8 , wherein the operations further comprise:

calculating values for a Jacobian of the manipulator arm, the joint velocities from directions that correspond to the end effector not moving being associated with a null space of the Jacobian, and the joint velocities from directions that correspond to the end effector moving being associated with a null-perpendicular space of the Jacobian.

10. The system of claim 8 , wherein a first path of the one or more paths of the position-based constraint has at least one dimension and is defined within a subspace of the joint space of the plurality of joints by at least two joints of the plurality of joints.

11. The system of claim 8 , wherein the one or more paths of the position-based constraint include a network of piecewise continuous paths within the joint space of the plurality of joints.

12. The system of claim 8 , wherein calculating the tracking movement comprises:

defining a potential field between a calculated position of the one or more joints of the plurality of joints and the one or more paths of the position-based constraint, wherein an increasing potential of the potential field corresponds to an increasing distance between the calculated position and the one or more paths;

determining from the potential field a potential between the calculated position and the one or more paths; and

calculating the tracking movement by using the potential to determine a direction from the calculated position towards the one or more paths.

13. The system of claim 8 , wherein calculating the tracking movement comprises:

determining a first movement of the plurality of joints within the joint space of the plurality of joints by evaluating a potential function of the one or more joints of the position-based constraint; and

determining the joint velocities of the plurality of joints for the tracking movement by projecting the first movement of the plurality of joints onto a null space of a Jacobian of the manipulator arm.

14. The system of claim 8 , wherein the distal portion of the manipulator arm includes an instrument holder that releasably supports a surgical instrument having an elongate shaft extending distally to the end effector, the shaft pivoting about a remote center of motion during surgery.

15. A non-transitory readable memory storing a processor-implemented program for moving a manipulator arm, the manipulator arm comprising a movable distal portion that includes an end effector, a proximal portion coupled to a base, and a plurality of joints between the distal portion and the base, the plurality of joints having sufficient degrees of freedom to allow a range of differing joint states for a given state of the end effector, and the processor-implemented program including instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

accessing values that define a position-based constraint of one or more joints of the plurality of joints within a joint space of the plurality of joints, the position-based constraint including one or more paths corresponding to a desired movement of the one or more joints within the joint space of the plurality of joints;

accessing values for a manipulation command to move the end effector with a desired end-effector movement;

calculating an end-effector displacing movement of the plurality of joints to effect the desired end-effector movement, wherein calculating the end-effector displacing movement of the plurality of joints comprises calculating joint velocities of the plurality of joints from directions that correspond to the end effector moving;

calculating a tracking movement of the plurality of joints so as to move a position of the one or more joints of the plurality of joints towards the position-based constraint, wherein calculating the tracking movement of the plurality of joints comprises calculating joint velocities of the plurality of joints from directions that correspond to the end effector not moving; and

transmitting a command to the manipulator arm to drive the plurality of joints according to the calculated movements so as to effect the end-effector displacing movement concurrently with the tracking movement.

16. The readable memory of claim 15 , wherein the operations further comprise:

calculating values for a Jacobian of the manipulator arm, the joint velocities from directions that correspond to the end effector not moving being associated with a null space of the Jacobian, and the joint velocities from directions that correspond to the end effector moving being associated with a null-perpendicular space of the Jacobian.

17. The readable memory of claim 15 , wherein a first path of the one or more paths of the position-based constraint has at least one dimension and is defined within a subspace of the joint space of the plurality of joints by at least two joints of the plurality of joints.

18. The readable memory of claim 15 , wherein the one or more paths of the position-based constraint include a network of piecewise continuous paths within the joint space of the plurality of joints.

19. The readable memory of claim 15 , wherein calculating the tracking movement comprises:

defining a potential field between a calculated position of the one or more joints of the plurality of joints and the one or more paths of the position-based constraint, wherein an increasing potential of the potential field corresponds to an increasing distance between the calculated position and the one or more paths;

determining from the potential field a potential between the calculated position and the one or more paths; and

calculating the tracking movement by using the potential to determine a direction from the calculated position towards the one or more paths.

20. The readable memory of claim 15 , wherein calculating the tracking movement comprises:

determining a first movement of the plurality of joints within the joint space of the plurality of joints by evaluating a potential function of the one or more joints of the position-based constraint; and

determining the joint velocities of the plurality of joints for the tracking movement by projecting the first movement of the plurality of joints onto a null space of a Jacobian of the manipulator arm.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2017
From: SWARUP, NITISH; HOURTASH, ARJANG M.; MOHR, PAUL W.
To: INTUITIVE SURGICAL OPERATIONS, INC.
Reel/Frame 041289/0212 →
Continuity (3)
Continuation 14218862 · Mar 18, 2014
Provisional Application 61799444 · Mar 15, 2013
Related Publication 20160263746A1 · Sep 15, 2016