Raven II Surgical Robot

Learning Accurate Kinematic Control of Cable-Driven Surgical Robots Using Data Cleaning and Gaussian Process Regression

Jeffrey Mahler, Sanjay Krishnan, Michael Laskey, Siddarth Sen, Adithyavairavan Murali,
Ben Kehoe, Sachin Patil, Jiannan Wang, Mike Franklin, Pieter Abbeel, Ken Goldberg

Image cannot be displayed Image cannot be displayed
Workspace for autonomous surgical debridement
with the Raven II Surgical robot.
PhaseSpace setup for tracking the pose and
velocity of the Raven instrument

A video of training the Raven with the Phasespace system and then performing mock surgical debridement.



Case 2014 Submission [PDF]

Precise control of industrial automation systems with non-linear kinematics due to joint elasticity, variation in cable tensioning, or backlash is challenging; especially in systems systems that can only be controlled through an interface with an imprecise internal kinematic model. Cable-driven Robotic Surgical Assistants (RSAs) are one example of such an automation system, as they are designed for master-slave teleoperation. We consider the problem of learning a function to modify commands to the inaccurate control interface such that executing the modified command on the system results in a desired state. To achieve this, we must learn a mapping that accounts for the non-linearities in the kinematic chain that are not accounted for by the system's internal model. Gaussian Process Regression (GPR) is a data-driven technique that can estimate this non-linear correction in a task-specific region of state space, but it is sensitive to corruption of training examples due to partial occlusion or lighting changes. In this paper, we extend the use of GPR to learn a non-linear correction for cable-driven surgical robots by using i) velocity as a feature in the regression and ii) removing corrupted training observations based on rotation limits and the magnitude of velocity. We evaluate this approach on the Raven II Surgical Robot on the task of grasping foam damaged tissue fragments, using the PhaseSpace LED-based motion capture system to track the Raven end-effector. Our main result is a reduction in the norm of the mean position error from 2.6 cm to 0.2 cm and the norm of the mean angular error from 20.6 degrees to 2.8 degrees when correcting commands for a set of held-out trajectories. We also use the learned mapping to achieve a 3.8x speedup over past results on the task of autonomous surgical debridement.

Problem Setup and Method

We consider the problem of learning how to command an automated system that uses an imprecise internal kinematic model such that executing the command results in the system reaching a desired state. To accomplish this, we model the necessary command correction as a function consisting of a rigid transformation to correct for registration errors, and Gaussian Process Regression (GPR) to correct for non-linearities. To correct for hysteresis effects, we also include velocity as a feature in GPR. These regression methods are particularly sensitive to outliers in the training set because of their quadratic losses. In our system, these outliers occur to to partial occlusions of the LEDs in one or more of the cameras, which results in poor conditioning of the localization of the LEDs. To address this, we use a combination of Least of Median Squares (LMEDS) and thresholding based on physical constraints of our system to remove corrupted training obervations. We study the effect of using our data cleaning method on the accuracy of the trained command correction function.

Results

We used a four camera PhaseSpace motion capture system to record time-synchronized pairs of pose observations and commands to the Raven II surgical robot as it performed the surgical debridement task with random tissue positions. We used these recordings to train a command correction function using our 3 step process of data cleaning, rigid transformation, and Gaussian Process Regression with velocity features. Our experiments indicate that our method is able to significantly reduce both the mean position error and the mean orientation error. Furthermore, our entire pipeline is necessary to achieve the lowest error. We also used the trained correction function on the original debridement task, resulting in a 3.8x speedup since the replanning interval was no longer necessary. The results suggest that this method could also be useful for precise control of other automation systems with kinematic non-linearities or systems which can only be controlled through an interface that uses an inaccurate internal model, as is common in proprietary systems.

Table cannot be displayed

Code

The matlab and python code for running our experiments can be found at our Raven II github repository