Method for navigating a robotic surgical catheter
10603124 ยท 2020-03-31
Assignee
Inventors
Cpc classification
A61B2034/2061
HUMAN NECESSITIES
A61B2034/715
HUMAN NECESSITIES
A61B34/20
HUMAN NECESSITIES
Y10S901/09
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
A61B2034/301
HUMAN NECESSITIES
International classification
A61B34/00
HUMAN NECESSITIES
B25J9/10
PERFORMING OPERATIONS; TRANSPORTING
Abstract
Autonomous closed loop control of a flexible tendon-driven continuum manipulator having a sensor at a distal tip is performed by measuring spatial attributes of a sensor at the distal tip and estimating an orientation of a base of an articulating region of the flexible tendon-driven continuum manipulator from a kinematic model and the spatial attributes of the sensor. The manipulator control in a task space uses the estimated orientation, a desired trajectory in the task space, and the position of the sensor at the distal tip. The sensor at the distal tip may be a magnetic sensor, impedance sensor, or optical sensor.
Claims
1. A method for autonomous closed loop control of a flexible tendon-driven continuum manipulator having a sensor at a distal tip and a passive region decoupled from an articulating region, the method comprising: measuring spatial attributes of the sensor at the distal tip of the flexible tendon-driven continuum manipulator, wherein the spatial attributes include a position of the sensor at the distal tip; estimating an orientation of a base of the articulating region of the flexible tendon-driven continuum manipulator, wherein the orientation is estimated from a kinematic model of the flexible tendon-driven continuum manipulator and from the measured spatial attributes of the sensor at the distal tip of the flexible tendon-driven continuum manipulator; controlling the flexible tendon-driven continuum manipulator in a task space using the estimated orientation of the base of the articulating region, a desired trajectory in the task space, and the position of the sensor at the distal tip.
2. The method of claim 1 wherein the measured spatial attributes further include an orientation of the sensor at the distal tip of the flexible tendon-driven continuum manipulator; and wherein the orientation is estimated by transforming the orientation and the position to coordinates of the base through a curvature calculated from the kinematic model.
3. The method of claim 1 wherein the measured spatial attributes further include a displacement of the sensor at the distal tip of the flexible tendon-driven continuum manipulator; and wherein the orientation is estimated using a non-linear filter.
4. The method of claim 1 wherein the sensor at the distal tip is a magnetic sensor, impedance sensor, or optical sensor.
5. The method of claim 1 wherein the sensor at the distal tip is the only sensor on the flexible tendon-driven continuum manipulator.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION OF THE INVENTION
(13)
(14) Embodiments of the present invention as based on the insight that the anatomy's effect on the robotic manipulator can be approximated as a rotation of the model-based Jacobian. Two implementations are described that estimate the orientation using a magnetic position sensor at the robot's distal tip, enabling task-space control in unknown, constrained environments. One method, {circumflex over (R)}.sup., determines the orientation of the robot's model using the measured orientation of the distal tip 112. In the second approach, {circumflex over (R)}.sup.x, a nonlinear filter transforms the tip's measured change in position into an orientation estimate.
(15) In experiments by the inventors, these methods are validated on the manipulator in free space at three pre-rotated positions (=0, 45, 90) and compared to model-based control and model-less control in an autonomous trajectory-following task through an anatomically accurate silicone phantom of a human lung. The results show that by rotating the model-based Jacobian through either of the two methods presented, feedback control successfully navigates the continuum manipulator farther into the lung phantom than static model-based control and model-less control.
(16) The following notation will be used in the description that follows. Model-based curvature parameters are denoted by [s.sub.m, .sub.m, .sub.m]. Motor displacements are denoted [q.sub.1, . . . , q.sub.5]. Task space coordinates are denoted [x, y, z]. Model-based Jacobian is denoted by J.sub.m. Estimated Jacobian is denoted . Constrained Jacobian inverse is denoted .sub.cstr.sup.1. A vector v expressed in frame D is denoted .sup.Dv. Rotation from frame C to frame D is denoted .sub.C.sup.DR. Z-Y-Z Euler angles are denoted [, , ]. Estimated Euler angles between the base and ground frames are denoted [{circumflex over ()}, {circumflex over ()}, {circumflex over ()}]. Rotation about the Z, Y, Z axes by angles , , , respectively, are denoted R.sub.zyz(, , ). Rotation estimation method using measured tip orientation is denoted {circumflex over (R)}.sup.. Rotation estimation method using measured tip displacement is denoted {circumflex over (R)}.sup.x. Base, tip and ground frames are denoted by B, T, G, respectively.
(17) Robot Kinematics
(18) The estimation methods used in embodiments of the present invention use a kinematic model of the 4-tendon continuum manipulator.
(19) The tendon displacement is related to curvature as follows:
(20)
The curvature is related to position and orientation, in base frame B, as follows:
(21)
(22) After the initial tensioning, this model assumes inextensible pull wires and an incompressible catheter body. It ignores internal friction and inertial effects. Without tension sensing, tension control was approximated by enforcing equal and opposite tendon displacement of antagonistic pairs, [(q.sub.1, q.sub.3), (q.sub.2, q.sub.4)]. This tension control method is an oversimplification, and dead zones are apparent when the wire displacements change directions.
(23) Model-Based Jacobian
(24) In embodiments of the present invention, the methods to control the robot in task space (x, y, z) use the Jacobian. The Jacobian derivation is shown as follows:
(25) The Jacobian is shown as the partial derivative of the catheter kinematics, as follows.
(26)
(27) where the [:,k] notation refers to the k-th column of the matrix.
(28) Rotation Estimation
(29) We now describe how the orientation of the base of the manipulator's articulating region is estimated. The rotation of the robot's base frame relative to the ground frame, .sub.B.sup.GR, is defined by the estimated Euler angles, [{circumflex over ()}, {circumflex over ()}, {circumflex over ()}]. The R.sub.zyz(, , ) rotation matrix was chosen to describe the robot rotations; however, another choice of axes would lead to equivalent results. The R.sub.zyz(, , ) rotation describes an intrinsic rotation about the Z axis by , then about the resulting Y axis, shown as Y axis, by , and finally about the resulting Z axis, shown as Z, by , in
(30)
(31) This R.sub.zyz(, , ) rotation matrix is used to rotate the model-based Jacobian in the following way:
(32)
(33) The implementation of the rotation estimation depends on the type of spatial attributes of the sensor that are measured. For example,
(34) Orientation Based Rotation Estimation ({circumflex over (R)}.sup.)
(35) In the {circumflex over (R)}.sup. implementation of
(36) The magnetic position sensor measures the tip orientation in the global coordinate frame as azimuth, elevation, and roll. This orientation is converted into Euler angles, .sub.T.sup.G[, , ], which define the rotation .sub.T.sup.GR of the tip frame in the ground frame. The curvature of the catheter is converted into a rotation .sub.T.sup.BR from the base to the tip. The base frame relative to the ground frame is then determined.
(37)
Displacement based Rotation Estimation ({circumflex over (R)}.sup.x)
(38) In the {circumflex over (R)}.sup.x implementation of
(39) Many clinical devices, including cardiac catheters, do not measure the orientation of the end effector. In this case, an estimate of the base rotation can be determined using the measured change in position, [x, y, z]. Due to the nonlinear relationship between the measured change in position and the base orientation, [{circumflex over ()}, {circumflex over ()}, {circumflex over ()}], we use non-linear estimation techniques, such as the extended and unscented Kalman filters. These filters develop a minimum mean squared error estimate of the state. The following formulation adheres to the convention for the measurement update step of the unscented Kalman filter (UKF):
x.sub.t+1=x.sub.t+v(22)
y.sub.t=h(x.sub.t,q.sub.t)+w(23)
In this formulation, the state, x, is the three Euler angles describing the orientation of the robot base, [{circumflex over ()}, {circumflex over ()}, {circumflex over ()}]. The motor displacements, q, are treated as known constants rather than part of the robot's state to be estimated.
x.sub.t:=[{circumflex over ()}.sub.t,{circumflex over ()}.sub.t,{circumflex over ()}.sub.t](24)
y.sub.t:=[x.sub.t,y.sub.t,z.sub.t](25)
q.sub.t:=[q.sub.1t, . . . ,q.sub.5t,q.sub.1t, . . . ,q.sub.5t](26)
h(x.sub.t,q.sub.t):=R.sub.zyz({circumflex over ()}.sub.t,{circumflex over ()}.sub.t,{circumflex over ()}.sub.t)J.sub.m(q.sub.t)q.sub.t(27)
Because there is no a priori knowledge of how the base orientation will change over time, the time update step only serves to reintroduce uncertainty in the estimate of the Euler angles. The UKF parameters are set to: =0.05, =2, =0.1, and the sensor noise, w, is empirically set to 0.25. To further mitigate noise, the measurement update is only performed after a displacement of of least 2.2 mm is measured, and the measured and expected displacements are normalized before each update.
(40) The observability analysis of {circumflex over (R)}.sup.x shows that two linearly independent expected displacements enable the state to be fully observed. To determine the observability of the state, the linearized measurement matrix, H, is introduced. To clarify between the state, x.sub.t=[.sub.t, .sub.t, .sub.t], and the expected displacements along the coordinate axes, x.sub.m=[x, y, z], the state will be explicitly written as [.sub.t, .sub.t, .sub.t] when possible.
(41)
Introducing another, linearly independent measurement at t=2, makes the observability matrix full rank. Note that the linearized time update, F.sub.t, is the identity and is omitted.
(42)
(43) In practice, this is accomplished with an insertion and a tendon displacement or two perpendicular tendon displacements.
(44) Control Loop
(45) The control loop for autonomous navigation control of the manipulator in a task space is shown in
(46) The desired position in global coordinates x.sub.desired is compared at 600 to the current position measurement, x.sub.sensed, using a proportional gain, k, of 1 to define the desired displacement, x. The current estimate of the base orientation and Jacobian, =R.sub.zyz({circumflex over ()}, {circumflex over ()}, {circumflex over ()})J.sub.m(q), is used at 602 to determine the desired motor velocity, q.sub.desired, through an augmented Jacobian inverse, J.sub.cstr.sup.1. The augmented Jacobian includes two rows to ensure the equal and opposite displacement of antagonistic tendons, [(q.sub.1, q.sub.3), (q.sub.2, q.sub.4)].
(47)
(48) The desired motor velocity q.sub.desired is automatically scaled down if this velocity exceeds the preset velocity threshold, and then it is used to control the robot 604.
(49) In one implementation, robot 604 provides a sensed position x.sub.sensed from a sensor at the distal tip. Two sensed positions are used to determine a sensed displacement. This sensed position is fed back to the start of the loop at 600 and also provided to rotation estimation block 606. Sensed current motor position q.sub.sensed sensed from the robot 604 is sent to model kinematics block 608.
(50) The model kinematics block 608 feeds the model-based Jacobian J.sub.m and the expected displacement x.sub.expected into the rotation estimation block 606, which then updates the estimate of the base orientation and the estimated Jacobian, .
(51) In another implementation, robot 604 also provides a sensed orientation from a sensor at the distal tip. The method parallels the displacement method described above. This sensed orientation is provided to rotation estimation block 606 with the model-based Jacobian J.sub.m and the expected orientation [s.sub.m, .sub.m, .sub.m], which is calculated from the model kinematics block 608. The rotation estimation block 606 then updates the estimate of the base orientation and the estimated Jacobian, .
(52) If the sensed position, x.sub.sensed, is within of the desired point, the next way point in the trajectory is set as the desired position, x.sub.desired. In this embodiment, the trajectory is assumed to be a list of positions for the robot to reach sequentially, which are determined prior to starting the control. In another embodiment, x.sub.desired is a function of x.sub.sensed and may change every cycle.
(53) The control loop runs at 100 Hz, and all the parameters are filtered using a 5 Hz 2nd order low-pass Butterworth filter.
(54) Experimental Testing
(55) The inventors have tested the estimation techniques in an ideal setting in free space and in a silicone lung phantom. The estimation techniques are compared to both a static model-based technique (MBC) and a model-less control (MLC) method.
(56)
(57) A computer 706 with an i5 processor and 16 GB RAM ran the high-level control loop at 100 Hz. A distal electromagnetic position tracker 708 (trakSTAR, Ascension Technology/NDI, Ontario, Canada) provides real-time position sensing. For the test, a second sensor was fixed to the base of the articulating region to provide a reference orientation measurement. The RMS accuracy of the position sensors is 1.4 mm and 0.5 degrees.
(58) Rotation in Free Space
(59) Prior to navigating the constrained space of the lung, free space experiments were performed which showed the robot following a trajectory given a fixed, unknown base orientation. A square trajectory is defined in the global YZ plane, beginning with a 10 mm insertion along the X axis. The trajectory of way points are hit sequentially, moving to the next point after the tip enters within 2 mm of the current way point.
(60) In
(61) The configurations show the effect of misalignments between the kinematic model's orientation and the true orientation. In each trial, the kinematic model's neutral axis aligns with the =0 orientation, and the trace shows the average of 4 runs.
(62) In each of the three configurations, the two rotation estimation methods, {circumflex over (R)}.sup. and {circumflex over (R)}.sup.x, completed the trajectory by successfully estimating the base rotation. The static model fails to complete the trajectory when =90, and only the successfully reached way points are shown. In the case with =45, the static model completes the trajectory despite the improper mapping.
(63)
(64) The measured orientation is taken from the reference sensor fixed to the base of the robot. The average and range of four runs are shown as a line and shaded region, respectively, in
(65) Lung Navigation
(66) To simulate the constraints of a bronchoscopy procedure, the lung navigation task is performed in an anatomically accurate silicone phantom of the human airways (702,
(67) The lung navigation task demonstrates the value of the rotation estimation schemes in highly constrained and tortuous environments. Both {circumflex over (R)}.sup. and {circumflex over (R)}.sup.x complete the full trajectory. In contrast, MLC reaches three way points before the robot steers into to the lung wall and pulls the tendon, q.sub.2, to a dangerous level, resulting in the manual termination of the run. The MBC run is terminated after two way points, after driving into the wrong branch (see detail of
(68) In
(69) Discussion
(70) The navigation experiments in the lung phantom confirm that a rotation of the manipulator's base can approximate the unknown environmental constraints on a flexible continuum manipulator in the lung's airways. The experiments also show that {circumflex over (R)}.sup. and {circumflex over (R)}.sup.x are fairly similar in their outcomes, and superior to existing techniques. The key difference is that {circumflex over (R)}.sup. uses instantaneous orientation measurements, while {circumflex over (R)}.sup.x uses position displacements. Because of this difference, the two methods have different advantages. Using instantaneous orientation measurements makes {circumflex over (R)}.sup. robust to environmental disturbances such as a breathing, whereas {circumflex over (R)}.sup.x runs the risk of incorporating the environmental disturbance into the expected motion of the robot, resulting in inaccurate mappings. On the other hand, {circumflex over (R)}.sup.x can adapt better to a poor initial model of the manipulator, particularly when the mismatch involves a roll about the neutral axis.
(71) In conclusion, the present invention provides a method of autonomous navigation of a continuum manipulator based on estimating the orientation of its articulating region base using a conventional distal sensor. As shown in the flowchart of