SYSTEMS AND METHODS FOR SAFE COMPLIANT INSERTION AND HYBRID FORCE/MOTION TELEMANIPULATION OF CONTINUUM ROBOTS
20170182659 ยท 2017-06-29
Inventors
- Nabil Simaan (Nashville, TN)
- Andrea Bajo (Fort Lauderdale, FL, US)
- James L. Netterville (Nashville, TN, US)
- C. Gaelyn Garrett (Nashville, TN, US)
- Roger E. Goldman (New York, NY, US)
Cpc classification
B25J9/1633
PERFORMING OPERATIONS; TRANSPORTING
A61B90/06
HUMAN NECESSITIES
Y10S901/30
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
B25J9/1625
PERFORMING OPERATIONS; TRANSPORTING
Y10S901/50
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
Y10S901/01
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
A61B2090/064
HUMAN NECESSITIES
G05B2219/40184
PHYSICS
B25J9/1602
PERFORMING OPERATIONS; TRANSPORTING
International classification
A61B90/00
HUMAN NECESSITIES
Abstract
Methods and systems are described for controlling movement and an applied force at the tip of the continuum robot that includes a plurality of independently controlled segments along its length. An estimated force at the tip of the continuum robot is determined based on measurements of loads and positions of each segment. A reference position command and a force command are received from a user interface. The reference position command indicates a desired movement for the distal end of the continuum robot and the force command indicates a desired force to be applied by the tip of the continuum robot to a tissue surface. The position of the continuum robot is adjusted to cause the tip of the continuum robot to apply the desired force to the tissue surface based on the estimated force at the tip of the continuum robot, the reference position command, and the force command.
Claims
1. A method of controlling movement of a continuum robot and an applied force at a tip of the continuum robot, the continuum robot including a plurality of independently controlled segments along a length of the continuum robot, the method comprising the acts of: determining an estimated force at the tip of the continuum robot based on measurements of loads and positions of each segment of the plurality of independently controlled segments of the continuum robot; receiving a reference position command and a force command from a user interface, the reference position command indicating a desired movement for a distal end of the continuum robot and the force command indicating a desired force to be applied by the tip of the continuum robot to a tissue surface; and adjusting a position of the continuum robot to cause the tip of the continuum robot to apply the desired force to the tissue surface based on the estimated force at the tip of the continuum robot, the reference position command, and the force command.
2. The method of claim 1, wherein receiving the reference position command and the force command from the user interface includes receiving the reference position command indicating that the desired movement of the distal end of the continuum robot is in a first direction, and receiving the force command indicating that a direction of the desired force to be applied by the tip of the continuum robot to the tissue surface is opposite the first direction of the desired movement of the distal end of the continuum robot.
3. The method of claim 1, wherein adjusting the position of the continuum robot includes augmenting the desired movement for the distal end of the continuum robot by determining a set of allowable motions for the continuum robot, determining a set of allowable forces for the continuum robot, projecting the set of allowable motions and the set of allowable forces as projection matrices into a joint space corresponding to a manipulator control, translating motion commands from the manipulator control into one or more task specific wrenches using an inverse of an inertia matrix, and translating the one or more task specific wrenches into a joint-torque vector command using a Jacobian matrix.
4. The method of claim 3, wherein adjusting the position of the continuum robot further includes regulating the force applied by the robot tip to a value of the desired force.
5. The method of claim 4, wherein adjusting the position of the continuum robot includes adjusting the positioning of the continuum robot based on the joint-torque vector command using a joint-space PID controller.
6. The method of claim 1, further comprising: determining a plurality of forces acting on the plurality of independently controlled segments along the length of the continuum robot, the plurality of forces including a generalized force acting on each segment of the plurality of segments, each force of the plurality of forces including a magnitude and a direction; and comparing each generalized force of the plurality of forces to a respective expected generalized force for each of the plurality of segments, the expected generalized force being based on the position of the continuum robot, wherein adjusting the position of the continuum robot including adjusting the position of each segment of the plurality of segments based on a difference between the determined generalized force and the expected generalized force for each of the plurality of segments.
7. The method of claim 6, wherein adjusting the position of the continuum robot further includes adjusting the position of each segment of the plurality of segments to minimize the difference between the determined force and the expected generalized force for each of the plurality of segments.
8. The method of claim 6, further comprising, after advancing the distal end of the continuum robot to a target location, bracing the continuum robot against surfaces of the cavity by adjusting the position of each segment of the plurality of segments to increase a difference between the determined generalized force and the expected generalized force for each of the plurality of segments until the difference reaches a threshold.
9. The method of claim 6, wherein adjusting the position of the continuum robot includes operating each of a plurality of actuators to advance or retract one of a plurality of back-bone structures relative to the continuum robot, the plurality of back-bone structures each extending through the length of the continuum robot and being coupled to at least one of the plurality of segments.
10. The method of claim 9, wherein determining a plurality of forces acting on the plurality of segments along the length of the continuum robot by the surrounding cavity includes measuring a force exerted on one of the plurality of back-bone structures by one of the plurality of actuators.
11. The method of claim 10, wherein measuring the force exerted on one of the plurality of back-bone structures includes determining a force required to hold the continuum robot in a current position while counteracting external forces acting on the plurality of segments by the surrounding cavity.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
DETAILED DESCRIPTION
[0067] Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways.
[0068]
[0069]
[0070] The inset 131 of
[0071]
[0072] A continuum robot 100 can be inserted into various cavities to reach a target location. Once the distal end of the continuum robot 100 is positioned at the target location, tools emerging from the distal end of the continuum robot 100 are used to perform operations.
[0073]
[0074]
[0075] Once the continuum robot has been sufficiently inserted into the cavity and the distal end of the continuum robot has reached its target location, the same compliant insertion techniques can be used to brace the continuum robot against the surfaces of the cavity. Bracing the continuum robot provides additional stability and allows for more accurate placement and maneuvering of the tools emerging from the distal end of the continuum robot. To brace the continuum robot, the controller 301 adjusts the position of each segment of the continuum robot to increase the difference between the measured generalized force and the expected generalized force on each end disc 127. To prevent damage to the continuum robot structure, the controller 301 ensures that the difference between the expected generalized force and the measured generalized force (i.e., the magnitude of the wrench) does not exceed a defined threshold.
[0076] The following nomenclature is used to describe the kinematics of the continuum robot, the mathematical modeling, and the specific techniques used to map external wrenches to a generalize force to provide for compliant insertion: [0077] A.sub.i i.sup.th row of A [0078] A.sup.[i] i.sup.th column of A [0079] [A].sub.ij Entry at the ith row and jth column of the matrix A [0080] n Number of segments of the continuum robot [0081] m Number of secondary backbones in each continuum segment [0082] C.sub., S.sub. Abbreviated form of the cosine and sine respectively where c.sub.=cos and s.sub.=sin [0083] .sub.(k) Bending angle for an individual segment [0084] .sub.(k) Bending plane angle for an individual segment [0085] .sub.(k) Configuration space vector for an individual segment, .sub.(k)=[.sub.(k), .sub.(k)].sup.T [0086] .sub.a Augmented configuration space vector for the multi-segment continuum robot, .sub.a=[.sup.T.sub.(1), . . . , .sup.T.sub.(n)].sup.T [0087] u, v, .sub.w Unit basis vectors of an arbitrary coordinate frame such that [u, v, .sub.w]=I .sup.33 [0088] {b.sub.(k)} Base frame of the kth segment [0089] {g.sub.(k)} End frame of the kth segment [0090] .sup.cP.sub.ab Position vector pointing from point a (or the origin of frame {a}) to point b (or the origin of frame {b}) expressed in frame {c} [0091] .sup.aR.sub.b Rotation matrix describing the orientation of frame {b} with respect to frame {a} [0092] .sup.cv.sub.b/a Linear velocity of frame {b} with respect to frame {a}, expressed in frame {c} [0093] .sup.c.sub.b/a Angular velocity of frame {b} with respect to frame {a}, expressed in frame {c}
[0094] .sup.ct.sub.b/a Twist of frame {b} with respect to frame {a}, expressed in frame {c}: .sup.ct.sub.b/a=[.sup.cv.sup.T.sub.b/a, .sup.c.sup.T.sub.b/a].sup.T [0095] J.sub.q(k) A Jacobian matrix linearly mapping the configuration space velocities to joint velocities such q.sub.(k)=J.sub.q(k) .sub.(k) [0096] J.sub.v(k) A Jacobian matrix linearly mapping the configuration space velocities to linear velocities such that v=J.sub.v(k) .sub.(k) [0097] J.sub.(k) A matrix linearly mapping of the configuration space velocities to angular velocities such that =J.sub.(k) .sub.(k) [0098] J.sub.t(k) A linear mapping of the configuration space velocities to the twist such that t=J.sub.t(k) .sub.(k) and
[0111] The pose of the k.sup.th segment continuum robot (as illustrated in
.sub.(k)=[.sub.(k), .sub.(k)].sup.T (1)
[0112] where ().sub.(k) denotes a variable associated with the k.sup.th segment. .sub.(k) defines the bending angle of the segment measured from the plane defined by the base disk, {u.sub.b(k), v.sub.b(k)}, and the direction normal to the end disk w.sub.g(k). .sub.(k) defines the orientation of the bending plane of the segment as measured from the plane to the u.sub.b(k) about w.sub.b(k).
[0113] The inverse kinematics of the segment relating the configuration space, .sub.(k), to the joint space, q.sub.(k)=[q.sub.1,(k), q.sub.2,(k), . . . , q.sub.m,(k)].sup.T, is given by
L.sub.j,(k)=L.sub.(k)+q.sub.j,(k)=L.sub.(k).sub.j,(k).sub.(k). (2)
where L.sub.j,(k) is the length of the j.sup.th secondary backbone of the k.sup.th segment for j=1, . . . , m, L.sub.(k) is the length of the primary backbone of the k.sup.th segment, .sub.j,k=r cos .sub.j,k; .sub.j,(k)=.sub.(k)+(j1)(2/m), and .sub.(k)=.sub.(k)/2.
[0114] The instantaneous inverse kinematics can be described by differentiating (2) to yield
{dot over (q)}.sub.(k)=J.sub.q(k) {dot over ()}.sub.(k) (3)
where the Jacobian J.sub.q(k) is given by
[0115] The direct kinematics of the k.sup.th segment is given by the position b(k)Pb(k)g(k) and orientation b(k)Rg(k) of the segment end disk with respect to its base disk. For
the kinematics takes the form
where {circumflex over (v)}=[0, 1, 0].sup.T, =[0, 0, 1].sup.T and the frames {g(k)} and {b.sub.(k)} are shown in
the formulation singularity,
resolves to
.sup.b.sup.
.sup.b.sup..sup.33 (8)
[0116] By differentiating (5) and (6), the instantaneous direct kinematics takes the form
.sup.b.sup.
where, for
the Jaconian J.sub.t.sub.
and for
the formulation singularity,
is resolved by applying l'Hpital's rule, to yield
Using Euler beam bending analysis and neglecting gravitational potential energy, the total energy of the continuum robot is given by
where the potential elastic energy of the k.sup.th segment is given by
[0117] The principle of virtual work and the energy expression (12) are used to obtain a statics model for the k.sup.th continuum segment as
J.sub.q .sub.
where .sub.(k) represents the actuation forces on the secondary backbones, U.sub.(k) is the gradient of the potential energy, and w.sub.e,(k) is the external wrench applied to the end disk of the k.sup.th continuum segment. The energy gradient U.sub.(k) is calculated with respect to a virtual displacement in configuration space. .sub.(k)=[.sub.(k), .sub.(k)].sup.T and is given by
[0118] The statics expression (13) projects both the actuation forces T.sub.(k) and perturbation wrench w.sub.e,(k) w into the configuration space of the continuum segment, .sub.(k) Thus, after projecting the wrench from three-dimensional Cartesian space, .sup.6, into the configuration space,
.sup.2, the projected generalized force on the segment resides in the vector space controllable within the framework of the single-segment kinematics of equation (1). This projection eliminates the requirements for explicit determination of wrenches required by conventional compliance algorithms and casts the interaction force minimization problem into the configuration space of the continuum segment.
[0119] If the wrench acting on the end disk that is projected into the configuration space of the k.sup.th segment is defined as the generalized force vector
f.sub.(k)=J.sub.t,.sub.
Applying equation (13) to the generalized force expression, the i.sup.th row of the generalized force f.sub.(k) can be written as
f.sub.i=U.sub.i[J.sub.q.sup.T].sub.iT=U.sub.i[J.sub.q.sup.[i]].sup.TT (16)
where J.sub.q.sup.[i] denotes the i.sup.th column of J.sub.q.
[0120] For small perturbations from an equilibrium configuration, the stiffness of the individual continuum segment can be posed in the configuration space as
f=K.sub.(17)
where the stiffness is given by the Jacobian of the generalized force with respect to configuration space perturbation. Thus, the elements of k.sub.are given by:
The elements of the stiffness matrix (18) can be expanded as
The first term of the configuration space stiffness, H.sub. is the Hessian of the elastic energy of the segment given by
The individual elements of the Hessian, H.sub., are given by
The second term of equation (19) expands to
Finally, the third term of equation (19) can be expanded by applying a simplifying assumption based on the relative geometry of the backbones in remote actuated continuum system configurations. The stiffness of the continuum robot, as measured from the actuation forces at the proximal end of the actuation lines, is a function of strain throughout the length of the actuation lines. As illustrated in
[0121] The axial stiffness along the length of a given actuation line can then be expressed as
where
and A denotes the cross-sectional area of the backbone.
[0122] For continuum robotic systems with remote actuation that are designed to access deep confined spaces, the lengths of the non-bending regions of the actuation lines far exceed that of the bending regions, L.sub.cL.sub.b. The stiffness will therefore be dominated by the non-bending regions of the actuation lines. Local perturbations of the backbones at the actuation unit can be expressed as
Expanding terms by applying the chain rule and using the instantaneous inverse kinematics of equation (3),
is given by
The configuration space stiffness therefore reduces to
[0123] Using the generalized force and stiffness as defined in equations (15) and (31), a compliant motion controller can be constructed to minimize the difference between the expected and measured actuation forces in the secondary backbones. The controller provides compliant motion control of each continuum segment subject to a perturbing wrench at the end disk of the segment. This wrench approximates a multitude of small perturbation forces acting along the length of a continuum segment during an insertion through a tortuous path (e.g., a cavity of unknown size, shape, and dimensions). In an analogy to a linear spring model with an equilibrium position, f=k(x.sub.eqx), there exists an equilibrium pose {.sup.b.sup.
[0124] For multi-segment continuum robots, a pose exists in the overall configuration space that minimizes the augmented generalized force on the system. The augmented generalized force vector for an n-segment continuum robot
f.sub.a=[f.sub.(1).sup.T . . . f.sub.(n).sup.T].sup.T (32)
is associated with the augmented configuration space
.sub.a=[.sub.(1).sup.T . . . .sub.(n).sup.T].sup.T (33)
[0125] The configuration space stiffness of an individual segment is generalized as the following to result in the augmented configuration space stiffness of the multi-segment continuum robot
[0126] An error function is defined as the distance in configuration space from the current configuration, .sub.a to the desired configuration .sub.ad, as
e.sub..sub.
For a passive wrench condition, the equilibrium pose and corresponding configuration space remain fixed, e.g., .sub.ad=0. For external wrenches changing slowly with respect to the compliant control update rate, this condition becomes .sub.ad0 and hence negligible when taking the time derivative of e.sub..sub.
e.sub..sub.
[0127] For small perturbations, the distance in configuration space is given as .sub.a=.sub.a.sub.
f.sub.a=K.sub..sub.
Where f.sub.af.sub.a for the small perturbations. This assumption holds for robots that are calibrated such that f.sub.a0 for unloaded movements throughout the workspace.
[0128] During control of a continuum system the estimated generalized force {circumflex over (f)}.sub.a is calculated using the idealized statics model of f.sub.a based on the estimate of the energy and measured actuation forced as in equation (16). This estimate is contaminated by an error due to un-modeled friction and strain along the actuation lines, perturbations from circulate-bending shape of individual segments, deviations in the cross-section of the backbones during bending, and uncertainties in the elastic properties of the NiTi backbones. Thus without compensation, the generalized force estimate takes the form
{circumflex over (f)}.sub.a,uncompensated=f.sub.a+(38)
where f.sub.a is given by equation (16).
[0129] The generalized force error X, is identified using the definition in equation (38) for movements of the continuum robot through its workspace with no externally applied wrenches. During this unloaded movement, the wrench at the end disk is w.sub.e=0 and equation (15) predicts f.sub.a=0. In an ideal continuum robot lacking backlash, friction and other un-modeled effects, the prediction of the generalized force based on the measured values of the actuation forces T.sub.(k) in equation (16) for each segment would also return f.sub.a=0. However, the actual kinetostatic effects cause f.sub.a=0 and this deviation forms that we seek to estimate. In order to compensate for the errors due to the interaction between segments, non-linear regression via Support Vector (SV) machines is investigated and applied.
[0130] These model errors are highly dependent on the pose of the robot and the path in the configuration space to this pose. To compensate for the error, a feed forward term is added to equation (38) to reduce the effects of during compliant motion control such that the compensated generalized force estimate is given by
{circumflex over (f)}.sub.a=f.sub.a+{circumflex over ()}. (39)
An augmented compliant motion controller, taking into account the estimates of the un-modeled error, {circumflex over ()}, takes the form
{dot over ()}.sub.a=A{circumflex over (f)}.sub.a (40)
where and A correspond respectively to positive definite scalar and matrix gains to be chosen by the operator.
[0131] A compliant motion controller utilizing the error compensation techniques described above, results in a system error that is uniformly bounded for any generalized force error by
e.sub..sub.
[0132] The dynamics of the error in the configuration space applying equation (40) to equation (36) and accounting for equation (39) is represented as
.sub..sub.
[0133] A Lyapunov function candidate of the error system for compliant control, represented by equation (42), can be defined as
v(e.sub..sub.
where P is any symmetric positive definite matrix. Differentiating equation (43) with respect to time and accounting for equation (42) yields
{dot over (V)}(e.sub..sub.
Choosing the control and Lyapunov weighting matrices as A=K.sub..sub.
{dot over (V)}(e.sub..sub.
A controller implementing these techniques relies on the invertibility of the configuration space stiffness. The block diagonal matrix is constructed of the sub-matrices, K.sub..sub.
For control purposes, the effect of singular poses can be mitigated using a singularity robust inverse of the configuration space stiffness.
[0134] Noting the expression e.sub..sub.
[0135] Assuming the bound on the generalized force error, represented by equation (41), and applying the identity e.sub..sub.
e.sub..sub.
Applying the Schwarz inequality e.sub..sub.
e.sub..sub.
thus proving the stability of the controller given the bounds on the compensation error.
[0136] The techniques described above illustrate controller stability for estimation uncertainties, that are small with respect to the system error, e.sub..sub.
[0137] Bounds for the sensitivity of the compliant motion controller, defined by equation (40), are limited by the error in canceling the generalized force uncertainties, {circumflex over ()}. For small load perturbations to the continuum robot, the errors in the generalized force, , are well approximated by a function of the robot pose in configuration space .sub.a and the trajectory leading to this pose, .sub.a. Furthermore, the trajectory required to achieve a pose influences the friction and backlash in the system at the current pose. The performance of the controller depends on canceling deviations from the idealized model. As specified in equation (39), this cancellation is carried out by a feed-forward term, {circumflex over ()} that is obtained though off-line training and online estimation of the model error via support vector regression (SVR).
[0138] SV machines provide a method for nonlinear regression through mapping of the input vectors into a higher dimensional feature space. Parameters for the estimation are learned by application of empirical risk minimization in this feature space through convex optimization. A subset of the training data forms the support vectors which define the parameters for regression. The robustness and favorable generalization properties with noisy data, coupled with a compact structure which allows real-time function estimation during motion control motivate the choice of a SV machine.
[0139] To estimate the error in the generalized force based on an initial unloaded exploration of the workspace, the SV Regression (-SVR) is employed along each dimension of the generalized force. The -SVR algorithm provides a means for controlling the sparsity of support vectors, therefore providing robustness to over-fitting while simultaneously reducing the number of control parameters required to be defined.
[0140] The training set for the -SVR contains input pairs {X.sub.[l], y[l]}.sub.t=1.sup.N based on the pose and generalized force gathered during an exploration of the continuum robot workspace in the absence of external perturbing forces. For the i.sup.th component of the generalized force, the input is given as
where Nis the number of training samples,
is the maximum recorded magnitude of the i.sup.th row of .sub.a over the set 1 [1, N], and .sub.a is the configuration space velocity. This expression normalizes each element of the input vector x.sub.[l] to the range of [1, 1] for all data in the training set.
[0141] Given these training input vector pairs, -SVR provides a method for estimating the function
f(x)=w, (x)
+b (49)
where ({umlaut over (,)}) is the inner product space, w and b are parameters to be determined by the convex optimization and (.) R.sup.4th.fwdarw.R.sup.n.sup.
[0142] As specified in equation (49), the SVR algorithm allows mapping of the input space to a higher dimensional vector space. Uncertainties in predicting the generalized force, including friction and non-linear bending, are modeled by exponential functions. As such, a Gaussian radial basis function (RBF) kernel
k(x.sub.[l],x[.sub.m])=e.sup.(x.sup.
is chosen as a suitable candidate for higher dimensional mapping.
[0143] The resulting -SVR model for function estimation with a new input vector, x*, is given by
It should be noted that only those training points x.sub.[.sub.
[0144] Software, such as LibSVM, provided by C. C. Chang and C. J. Lin at http://www.csie.ntu.edu.tw/cjlin/libswm, is employed for solving for the optimal parameters of equation (51) for each coordinate of the generalized force independently. The measured error in the generalized force and the output of the regression for each component of the error compensation, equation (51), is presented for a sample data set in
[0145] The -SVR displays good generalization to the untrained data. The compensation provides a minimum of 1.4 times reduction in the RMS error for .sub.4 and a maximum of 2.5 times reduction for .sub.1. While the -SVR reduces errors on average, the compensation is locally imperfect as can be seen by maxima in the error in the directions exceeding the measured errors,
[0146]
[0147] Joint force sensors 701 provide actuation force measurements for individual segments of the continuum robot, T.sub.(m). The actuation forces are utilized to determine a Jacobian matrix linearly mapping the configuration space velocities to joint velocities (step 703). The Jacobian matrix 703 is multiplied by the energy gradient 705 at step 707. The estimated augmented generalized force errors 709 are filtered by a low pass filter 711. At step 713, the filtered force error is multiplied by the combination of the Jacobian matrix 703 and the energy gradient 705 to provide an estimated augmented force, F.sub.a. In order to reduce aberrant motions of the controller due to modeling and estimation errors, a dead-band filter 715 is applied to the estimated generalized force to reduce joint motion due to uncompensated errors.
[0148] The inverse of the configuration space stiffness 717 is applied to determine difference, .sub.a, in the configuration space between the current configuration of the continuum robot and the desired configuration. The controller then determines the configuration space vector for an equilibrium pose of the continuum robot (step 719). The Jacobian matrix mapping configuration space velocities to joint velocities is applied to the determined equilibrium pose of the continuum robot (step 721) to determine joint positions, q, for the equilibrium pose. An integral 723 is applied and the output provided to a Joint PID controller 725 that adjusts the position of the continuum robot segments to conform to the detected forces.
[0149] In the examples described above, the compliant motion controller uses a feed forward term for compensation of model uncertainties. The sum of the uncertainty estimate and the expected generalized force are filtered through a dead-band to prevent motion by the controller due to errors in the compensation. Thus, generalized forces less than the threshold of the deadband filter will be neglected and the threshold for this filter therefore forms a tradeoff between the sensitivity to external perturbations and insensitivity to errors in the model and compensation.
[0150] In order to quantify the effects of the controller and thresholding, the sensitivity of the controller to external wrenches was quantified on a single-segment continuum robot.
[0151] The optical tracking system 1109 provides a specification for the linear accuracy of the device while the experiment requires an orientation prediction. The linear accuracy can be used to estimate the orientation accuracy of the optical tracking system 1109 by noting the orientation of a vector that is calculated based on the position of two marker points. The smallest linear distance between marker points of 48.5 mm used for the orientation estimation occurs at the base marker system 1103. Although the direction marker perpendicular to the thread is significantly shorter, this direction is not used for computing the direction vector of the Kevlar thread 1105. An RMS error of 0.2 mm at a moment of 24.25 mm corresponds to an orientation error of less than 0.5.
[0152] For the sensitivity measurement at each pose, the segment was guided into position by manually applying an external wrench and allowing the continuum structure to comply to the sampled configuration. The pose estimate was measured via the nominal kinematics and was verified by an embedded magnetic tracker system 1108 with an RMS orientation accuracy of 0.5. The load direction was measured via the optical trackers after a 10 gram weight was applied to the Kevlar thread to straighten the thread length between the optical markers. Calibration weights were added to the load in 1 gram increments until the threshold for motion was exceeded. The dead-band of the controller was set during the sensitivity experiments as
f.sub.120 Nmm, f.sub.210 Nmm. (52)
These thresholds were determined empirically based on the error compensation in the generalized force and the stability of the controller.
[0153] Sensitivity measurements were recorded for 28 poses shown for the odd samples in
[0154] The sensitivity measurements provide an opportunity to evaluate the contribution of the model uncertainties and the compensation by -SVR. Under ideal conditions in which the generalized force is undisturbed by uncertainty, equation (15), the applied force required to induced motion can be estimated as the minimum force required to exceed the motion threshold defined by equation (52). The minimum force required to exceed the threshold in the direction of the applied force measured for each pose based on the idealized model is provided in addition to the measured force in
[0155] Noting the experimental setup is sized appropriately for use in exploration and intervention during minimally invasive sinus surgery, the compliant controller for this robot demonstrated adequate sensitivity for this application. Average interaction forces for functional endoscopic sinus surgery have been measured at 2.21 N and forces required to breach the sinus walls ranged between 6.06 N and 17.08 N. The compliant motion controller demonstrated in these experiments obtains a comfortable margin of safety for exploration and interaction.
[0156] To evaluate the controller in the setting of an application, a two segment continuum robot was inserted into an acrylic tube with a three-dimensional shape comprised of multiple out of plane bends. The tube was mounted to an insertion stage that autonomously brought the tube into contact with the robot in a manner analogous to blind insertion into a cavity and subsequent retraction. The controller had no prior knowledge of the geometry of the tube or the path plan of the insertion stage. As illustrated in
[0157] The generalized force estimates during insertion and retraction are presented in
[0158] Trans-Nasal Throat Surgery
[0159] Minimally Invasive Surgery of the throat is predominantly performed trans-orally. Although trans-oral (TO) access provides a scarless access into the airways, its outcomes are affected by complications, high cost, and long setup time. Continuum robotic systemssuch as described hereincan be used to provide trans-nasal (TN) access to the throat. Furthermore, as described below, a hybrid position/compliant motion control of a rapidly deployable endonasal telerobotic system can also be used to safely manipulate the robot during trans-nasal access. The system uses a unique 5 mm surgical slave with force sensing capabilities used to enable semiautomation of the insertion process. Working channels in the continuum robot allow the deployment of surgical tools such as a fiberscope, positioning sensors, grippers, suction tubes, cautery, and laser fibers. The treatment of vocal fold paralysis is chosen as a benchmark application and a feasibility study for collagen injection is conducted. Experiments on a realistic human intubation trainer demonstrated successful and safe TN deployment of the end effector and the feasibility of robotic-assisted treatment of vocal nerve paralysis.
[0160]
[0161] The robotic system of
[0162] The system can operate in both passive and semi-active modes. The passive mode is based on a standard telemanipulation architecture where the operator guides the end-effector via a master manipulator (the Phantom Omni) while observing endoscopic images provided by the in-hand fiberscope. The semi-active mode is used to reach the surgical site. During the semi-active mode the surgeon commands the insertion depth while the continuum manipulator autonomously complies with the anatomy using a variation of the compliance motion controller described above.
[0163]
[0164]
[0165] The position and orientation of end-effector frame B.sub.3 in B.sub.0 may be described by the following augmented configuration space vector:
=[.sub.1 .sub.1 q.sub.ins .sub.2 .sub.2 .sub.3 .sub.3].sup.T (53)
where, q.sub.ins is the insertion depth and angles .sub.k and .sub.1, are defined similarly for the passive segment (k=1) and active segments (k=2, 3) as depicted in
with: L.sub.1=q.sub.ins, L.sub.2, and L.sub.3 being the lengths of the first and second active segments. .sub.k=.sub.k/2, and operator Rot(a,b) being the rotation matrix about axis b by angle a. Note that, since the first segment is passive, .sub.1 and .sub.1 are not directly controllable. In the remainder of this example, we assume that .sub.1 and .sub.1 and the origin of from B.sub.1 are measured by a magnetic tracker (the position and the orientation frame B.sub.1 is known). Hence, the forward kinematics is calculated using .sub.1 and .sub.1 and B.sub.1 along with joing values q.sub.1, i=1 . . . 6.
[0166] The configuration space vector relates to the joint space vector as
q()=[q.sub.ins q.sub.2().sup.T q.sub.3().sup.T].sup.T (58)
where q.sub.2 and q.sub.3 are the amount of pushing-pulling on the secondary backbones of active segments 2 and 3. In particular
where =2/3, r is the radial distance of the secondary backbone from the center of the base disk, .sub.0=.sub.0/2, .sub.1=.sub.1/2, and R.sub.ij is element ij of rotation matrix .sup.wR.sub.1 obtained from the magnetic sensor placed at the based of the first active segment. Note that angles .sub.0 and .sub.0 allow us to work in local frame B.sub.0 decoupling the kinematics of the distal active and passive segments from shape variations of the passive stem.
[0167]
[0168] (1) Compliant Motion Control: Compliance Motion Control (CMC), as described above, allows multi-backbone continuum robots with intrinsic actuation sensing to autonomously steer away from constraints without a priori knowledge of the contact nor the external wrench. In the following, the CMC control mechanism is modified in order to use only information about actuation forces sensed on the most distal segment. This control law allows the robot to actively comply to the circle-shaped nasopharyngeal tube. If actuation force information on the second active segment is available, the actuation force error is defined as:
.sub.e.sub.
where .sub.3 are the expected actuation forces and .sup..sub.3 are the sensed actuation forces acting on the third segment respectively. We now project the actuation force error, .sub.e3, into the configuration space of the distal segment obtaining the generalized force error:
f.sub.e.sub.
where J.sub.q is the Jacobian matrix that relates the configuration space velocities to the joint space velocities.
[0169] Hence, the desired configuration space velocity vector that steers the robot away from the unknown contact is:
{dot over ()}.sub.c=K.sub..sub.
where K.sub.2 is the configuration space stiffness matrix of the second segment and
Note that Equation (65) is a simplification of the algorithm presented above for compliant motion control for mulitple segments. In the case of TN insertion, assuming an overall circular shape of the entire manipulator, both segments need to bend by the same angle in order pass through the nasopharyngeal tube.
[0170] (2) Motion Control: Telemanipulation of the surgical slave is achieved by defining a mapping between the movement of the master's end-effector and the desired motion directions in the fiberscope image space as shown in
[0171] The desired position and orientation of distal segment are given as follows:
.sup.2p.sub.3,des=.sup.2p.sub.3,curr+.sup.2R.sub.3,currp.sub.des,master (67)
.sup.2R.sub.3,des=.sup.2R.sub.3,currR.sup.TR.sub.des,masterR (68)
where matrix R defines the transformation between the camera-attached frame (
In Equation (69), J.sub.2 is the Jacobian matrix of the distal segment:
matrix transforms the desired twist into gripper frame
And selection matrix defines a desired subtask
In this example, matrix selects the third, fourth, and fifth rows of the Jacobian matrix allowing to control only 3 DoF: translation along z.sub.3 and tilting about x.sub.3, y.sub.3. As a result, we only invert a square 33 matrix and control only the desired DoFs.
[0172] Finally, the augmented desired configuration space velocity vector is given as follows:
{dot over ()}.sub.m=[{dot over (q)}.sub.ins 0 0 {dot over ()}.sub.2 {dot over ()}.sub.2].sup.T (73)
[0173] (3) Projection Matrices: Depending on the operational mode (insertion or telemanipulation) the configuration space can be partitioned in directions in which motion needs to be controlled, T, and directions in which compliance needs to be controlled, C. Similar to wrench and twist systems in the hybrid motion/force control formulation, these two spaces, T and C, are orthogonal and their sum returns the configuration space (T+C=). It is, therefore, possible to construct two projection matrices, and .sup., that project desired configuration space velocities into the motion space T and into the compliance space C:
=T(T.sup.TT).sup.T.sup.T (74)
where T is a 5m matrix in which its columns define a base of T and superscript indicate the pseudo-inverse. For example, in the case of compliant insertion, configuration variables q.sub.ins, .sub.2, and .sub.3 will be position-controlled while variables .sub.2 and .sub.3 will be compliance-controlled allowing the segment to adapt to the shape of the nasal conduit. Hence, matrix T is defined as:
[0174] (4) Actuation Compensation: The desired joint variables are computed using a theoretical kinematics model and a model-based actuation compensation.
[0175] Motion Force Control of Multi-Backbone Continuum Robots
[0176] This section presents a general framework for hybrid motion/force control of continuum robots. The examples described below assume that the kinematic model is known and that the robot is equipped with a device for measuring or estimating environmental interaction forces. This information can be provided by a dedicated miniature multi-axis force sensor placed at the tip of the robot or by an intrinsic wrench estimator of the types. A multi-backbone continuum robot with intrinsic wrench estimation capabilities is used to demonstrate the hybrid motion/force control framework. The following assumptions specifically apply to multi-backbone continuum robots with intrinsic force sensing. Different assumptions are necessary for different types of robots but the fundamental control framework remain invariant.
[0177] Assumption 1: The continuum robot bends in a circular shape and gravitational forces are negligible.
[0178] Assumption 2: The continuum robot is able to sense actuation forces via load cells placed between each actuation line and its actuator.
[0179] Assumption 3: The geometric constraint is known and the environment is rigid. This information is used for both the hybrid motion/force controller and the intrinsic wrench estimation. However, because of the innate compliance of continuum robots and as demonstrated by experimental results, an exact knowledge of the geometric constraint is not necessary.
[0180]
[0181]
[0182] Control ArchitectureA First-Order Model of Contact: Hybrid motion/force control aims at controlling the interaction of two rigid bodies by decoupling control inputs into allowable relative motions and constraining wrenches. The control inputs are specifically generated to maintain contact between the two bodies by simultaneously generating motion directions that do not break the contact state and apply the desired interaction wrench. For example, in the case of frictionless point contact (as illustrated in
[0183] Regardless of the type of contact, it is possible to define two dual vector sub-spaces, one containing wrenches F.sup.6, and the other containing motion screws M.sup.6. The reciprocal product between these two spaces is defined as the rate of work done by a wrench f.sub.i acting on a motion screw m.sub.j. In the case of rigid bodies, under conservative contact, the bases of the two spaces must satisfy the reciprocity condition. At any given time, the type of contact between the two rigid bodies defines two vector sub-spaces: a n-dimensional space of normal vectors NF.sup.6 and a (6n)-dimensional space of tangent vectors TM.sup.6, where n is the degree of motion constraint. The bases of these two spaces can be defined by a 6n matrix N and a 6(6n) matrix T. The columns of N and T are respectively any n linearly independent wrench in N and any 6n linearly independent motion screw in T. As a consequence of the reciprocity condition and the contact constraint, the scalar product of any column of N with any column of T is zero, i.e.
N.sup.TT=0 (77)
[0184] For example, for the contact constraint depicted in
Although in many situations matrices N and T are simply the composition of canonical vectors in IR.sup.6 and can be obtained by inspection, this is not the case when dealing with complex interaction tasks and multi-point contacts.
[0185] The efficacy of hybrid motion/force control stems from its ability to produce adequate motion and force control inputs that do not violate the reciprocity condition (Equation 77). The reciprocity of the control inputs is enforced by projecting each control input into the correct subspace by pre-multiplication of a projection matrix. We, therefore, define two projection matrices .sub.f and .sub.m that project any control input into consistent wrenches and twists respectively:
.sub.f=N(N.sup.TN).sup.1N.sup.T
.sub.m=T(T.sup.TT).sup.1T.sup.T=I.sub.f. (79)
[0186] According to the classical formulation of hybrid motion/force control, the frame-work inputs are defined by the desired twist t.sub.ref=[v.sub.ref.sup.T w.sub.ref.sup.T].sup.T and the desired interaction wrench at the operational point w.sub.ref=[f.sub.ref.sup.T m.sub.ref.sup.T].sup.T.
[0187] At any given time, the wrench error is given by:
w.sub.e=w.sub.refw.sub.curr (80)
where w.sub.curr is the sensed wrench.
[0188] The output of the motion controller, t.sub.des, is first projected onto the allowed motion space M.sup.6 via projection matrix .sub.m as defined in equation (79) and then onto the configuration space velocity of the manipulator via the pseudo-inverse of the Jacobian matrix J.sub.t.sup.:
{dot over ()}.sub.m=J.sub.t.sup..sub.mt.sub.des. (81)
One the other hand, the output of the motion controller w.sub.des can be obtained with a conventional PI control schemes:
w.sub.des=K.sub.f,pw.sub.e+K.sub.f,i/w.sub.e. (82)
[0189] Similarly to the motion controller, the desired wrench wdes is first projected into the allowed wrench space F.sup.6 via projection matrix .sub.f as defined in equation (79), then into the generalized force space via the transpose of the Jacobian matrix J.sub.t. The generalized force is the projection of the task-space wrench acting at the end effector into the configuration space of the manipulator. Finally into the configuration velocity space of the continuum manipulator via the configuration space compliance matrix K.sub..sup.1:
{dot over ()}.sub.f=K.sub..sup.1J.sub.t.sup.T.sub.fw.sub.des. (83)
[0190] Using equations (81) and (83) the motion and force control inputs are merged into a configuration space velocity vector {dot over ( )} that does not violate the contact constraint:
{dot over ()}={dot over ()}.sub.m+{dot over ()}.sub.f. (84)
[0191] Equation (84) provides the desired configuration of the continuum manipulator that accomplishes both the desired motion and force tasks without violating the contact constraint. The next step in the control architecture is to generate joint-level commands to accomplish the desired tasks. Because of the flexibility of the arm, actuation compensation is required for both achieving the desired pose and applying the desired wrench at the end-effector. Using the statics model, the desired actuation forces .sub.d are obtained as follows:
.sub.des=(J.sub.q.sup.T).sup.(UJ.sub.t.sup.T.sub.fw.sub.ref) (85)
[0192] According to a model-based actuation compensation scheme, the desired joint-space compensation is given by:
=K.sub.a.sup.1.sub.des (86)
where K.sub.a.sup.1 designates the compliance matrix of the actuation lines.
[0193] By combining equations (84) and (86), the desired joint-space control input is obtained as follows:
q.sub.des={circumflex over (q)}.sub.des()+(87)
where q.sub.des() is the joint's positions associated with configuration () according to the theoretical inverse position analysis.
[0194] The hybrid motion/force control architecture for continuum robots with intrinsic force sensing is summarized in
[0195] Compensation Uncertainties: During control of the real continuum robot there will be a deviation between the desired actuation force vector .sub.des and the sensed actuation force vector .sub.curr. This deviation is due to friction and extension in the actuation lines, perturbation of the bending shape from the ideal circular configuration, and geometric and static parameters. Thus, the sensed actuation force vectors is as follows:
.sub.curr=.sub.des+. (88)
[0196] Force deviation is a function of the configurations of the manipulator and the joint-space velocities {dot over (q)}. Several methods have been proposed in order to characterize friction and uncertainties. A discrete Dahl model for friction compensation in a master console may be implemented. A Dahl friction model can also be implemented into the control architecture of steerable catheters. Friction estimation and compensation can also be used in the control of concentric tube robots. A non-linear regression via Support Vector regressors might also be used to compensate for lumped uncertainties in multi-backbone multi-segment continuum robots.
[0197] Wrench Estimation: Continuum robots with actuation force sensing allow to estimate external wrenches acting at the tip. Using a statics model, the external wrench acting at the tip of the continuum robot is given by:
S.sub.e and W.sub.se contain a priori knowledge of the contact constraint and guide the estimation algorithm. The a priori knowledge is defined by contact normal vector {circumflex over (n)}.sub.n and contact tangential vector n.sub.t. These two vectors define the plane in which the sensible component of the external wrench lies.
[0198] Experimental Results: In order to validate the proposed framework, the control algorithms were implemented on the one-segment multi-backbone continuum robot of
[0199] The remainder of this section is organized as follows. First, the experimental setup is presented. The continuum robot manipulator and required equipment are described. Second, the estimation of uncertainties such as friction and un-modeled actuation forces are presented. Finally, three experiments are presented: force regulation in the x and direction, shape estimation, and stiffness characterization.
[0200] The Continuum ManipulatorDirect Kinematics: The surgical slave of
p.sub.5.sup.0=p.sub.1.sup.0+R.sub.1.sup.0p.sub.3.sup.1+R.sub.4.sup.0p.sub.5.sup.4
R.sub.5.sup.0=R.sub.4.sup.0Rot(,{circumflex over (z)})Rot(,)Rot(,{circumflex over (z)}) (90)
where R.sub.1.sup.0=I, p.sub.1.sup.0=[0 0 q.sub.ins].sup..Math.p.sub.3.sup.2=[0 0 d].sup..Math.d is the distance between frames {4} and {5} (see
=[ q.sub.ins].sup.T. (91)
[0201] In order to achieve configuration , the secondary backbones of the continuum robot (i=1, 2, 3) are shortened or lengthened as follows:
q.sub.i=r cos(.sub.i)(.sub.0). (92)
where .sub.i=+(i1), =2/3, and r is the radial distance of each secondary back-bone from the centrally-located backbone. Similarly to the configuration space, we define the augmented joint-space vector q IR.sup.4 as:
q=[q.sub.1 q.sub.2 q.sub.3 q.sub.ins].sup.T. (93)
[0202] Differential Kinematics: The tool twist t.sup.T=[v.sup.T .sup.T] is given by:
t=J.sub.t{dot over ()}(94)
where {dot over ( )} is the rate of change of the configuration space vector and
where c.sub.y=cos(y), s.sub.y=sin(y), A.sub.1=L sin ()(sin()1), and A.sub.2=L cos()(sin()1). Similarly, the configuration space velocities are related to the configuration space velocities as:
[0203] Statics: Using virtual work arguments we can derived the following first order linear relationship:
[0204] Configuration Space Stiffness: The configuration space stiffness is used for compliant motion control. Let the wrench acting on the end disk that is projected into the configuration space of the k.sup.th segment be given as the generalized force vector
f.sub.(k)=J.sub.t.sub.
Applying equation (97) to the generalized force expression, the i.sup.th row of the generalized force f(.sub.k) can be written as
f.sub.i=U.sub.i=[J.sub.q.sup.T].sub.i=U.sub.i[J.sub.q.sup.[i]].sup.T. (99)
where J[i] denotes the ith column of Jq.
[0205] For small perturbations from an equilibrium configuration, the stiffness of the individual continuum segment can be posed in the configuration space as
f=K.sub.(100)
where the stiffness is given by the Jacobian of the generalized force with respect to configuration space perturbation. Thus, the elements of K are given by:
[0206] The elements of the stiffness matrix (equation (101)) can be expanded as
The first term of the configuration space stiffness, H, is the Hessian of the elastic energy of the segment given by
The axial stiffness along the length of a given actuation line can then be expressed as
where
and A denotes the cross-sectional area of the backbone.
[0207] For continuum robotic systems with remote actuation designed to access deep confined spaces, the lengths of the non-bending regions of the actuation lines far exceed that of the bending regions, L.sub.cL.sub.b. The stiffness will therefore be dominated by the non-bending regions of the actuation lines. Local perturbations of the backbones at the actuation unit can be expressed as
[0208] Expanding terms by applying the chain rule and using the instantaneous inverse kinematics, is given by
The configuration space stiffness therefore reduces to
[0209] Kinematic and Static Parameters: The numerical value of the kinematic andstatic parameters defined in the previous sections are reported in the table of
is the second area moment of each backbone.
[0210] Estimation Uncertainties: Uncertainties are due to: 1) deviation of the kinematic and static parameters from the nominal ones reported in the table of
[0211] Methods: The continuum manipulator of
[0212] Results:
[0213]
[0214]
[0215]
[0216] Several methods can be used to characterize friction and uncertainties. In this work, we populated a lookup table using the data shown in
[0217] Force Regulation: This section presents force regulation experimental results. The goal of these experiments is to demonstrate the ability of the controller to regulate a predetermined force in both x and y directions at different configurations. As illustrated in
[0218] Methods: In order to test the force estimation and force controller efficacy in the x direction the continuum robot is bent to the following three configurations: 1) =80, =0, 2) =60, =0, and 3) 1) =40, =0. At each configuration, a reference force magnitude of 5 gr, 10 gr, and 15 gr were commanded. Data from the force estimator and the ATI Nano 17 were compared and the rise time and steady state error computed.
[0219] In order to test the force estimation and force controller efficacy in the y direction the continuum robot is bent to the following configurations: 1) =80, =0, 2) =60, =0, and 3) 1) =40, =0. At each configuration, a reference force magnitude of 10 gr is tested. Data from the force estimator and the ATI Nano 17 are compared and the rise time and steady state error are computed.
[0220] Results:
[0221]
[0222] The experimental results demonstrate both that the hybrid motion/force control is able to regulate forces of different magnitudes in different directions and that the accuracy depends on the configuration of the manipulator. Steady state error in the x direction between the force sensed by the ATI Nano 17 and the intrinsic force estimator are mainly due to residual un-modeled uncertainties as the more energy is stored into the system (=/2 zero energy, =0 maximum energy). These uncertainties are static and dynamic friction, bending shape, and extension/contraction of the actuation lines. Steady state error in the y direction is due to uncompensated uncertainties for side motions {dot over ( )}/=0 and the much more compliance of the continuum manipulator in the direction at this particular configuration.
[0223] As shown in
[0224] Force Regulated Shape Estimation: This section presents environment's shape estimation experimental results. The goal of these experiments is to demonstrate simultaneous force and motion control. The user is able to control the end-effector while free of contact and engage the force control in pre-determined directions when in contact with the environment.
[0225] The experimental setup of
[0226] Methods: The 5 mm continuum robot is equipped with a plastic probe having a 5 mm radius sphere at the interaction point. The sphere reduces the impingement of the probe into the soft tissue. A 0.9 mm magnetic coil is delivered through one of the robot's working channels and secured to the probe. A silicon diamond-shaped extrusion is placed in a YZ plane at a distance of approximately 18 mm from the robot's reference frame as shown in
[0227] The end-effector's motions in the y and z directions were commanded via a Force Dimension Omega 7 with 3-axis force feedback. Position commands were sent over the Local Area Network (LAN) using User Datagram Protocol (UDP) at 100 Hz. The end-effector' s position was acquired at 125 Hz using the Ascension Technology trakSTAR 2 and sent over the LAN using UDP at 100 Hz. The high-level motion and force controllers and the wrench estimator run at 200 Hz while the low-level joint controller run at 1 kHz. Switching between full motion control and hybrid motion/force control was enabled using the 7th axis of the Omega 7 (gripper).
[0228] The continuum robot, under full motion telemanipulation mode, is guided to reach a point on the silicon phantom. Once hybrid motion/force control is enabled, the continuum robot autonomously regulates a force of 0.1 N in the x direction. Position data of the probe were only collected when the sensed force in the x direction was smaller or equal to 0.05 N and the hybrid motion/force controller was engaged. These conditions ensured that each data point was actually on the surface of the sil-icon phantom. Switching between full motion/force control and hybrid motion/force control allowed to cover a workspace of 18 mm30 mm40 mm.
[0229] Ground truth shape data was obtained using a second probe equipped with an-other 0 0.9 mm magnetic coil as shown in
[0230] Position data from the electro-magnetic tracker were stored and linearly interpolated using Matlab function griddata. This function interpolates the surface at query points on the YZ plane and returns the interpolated value along the x direction. Multiple data points are automatically averaged during the interpolation.
[0231] Results: The estimated shape using the continuum robot is shown in
[0232] The very small inertia of the continuum manipulator allows the force controller to maintain contact with the unknown surface without perfect knowledge of the tangent and normal vectors at the contact point. These experiments demonstrate the efficacy of the proposed hybrid motion/force control scheme to perform independent motion and force regulation. The intrinsic compliance of the continuum manipulator also makes the impact phase stable allowing for safe and smooth transitions between full motion control and hybrid motion/force control.
[0233] Stiffness Imaging: This section presents experimental results on stiffness characterization of soft tissues using the proposed hybrid motion/force controller. The goal of the experiment is to build a stiffness image of the surrounding environment using both position and force data. One way to build such image is to repetitively scan the surface applying different force and recording the displacement of each point between scans.
[0234] Methods: Five consecutive surface scans were completed under hybrid motion/force control applying respectively 5 gr, 10 gr, 15 gr, 20 gr, and 25 gr. After selecting the desired force magnitude, the operator guides the robot to cover the designated area (as shown in
[0235] Position data during each scan were recorded from the electro-magnetic sensor placed at the tip along with the sensed force in the x direction and smoothed by spline interpolation. Because of the position RMS of the Ascension Technologies trakSTAR 2 it was chosen to use the first and the last scan in order to obtain a better noise/signal ratio.
[0236] Results: The estimated surfaces under 5 Gr force control and 25 Gr force control are shown in
[0237] In order to characterize the difference in stiffness along the surface (not the absolute stiffness) a linear spring-model is used.
[0238] Thus, the invention provides, among other things, systems and methods for controlling the pose of a multi-segmented continuum robot structure to adapt to the unknown dimensions of a cavity. The shape and position of the individual segments of the continuum robot are continually adjusted as the continuum robot is advanced further into the cavity, thereby providing for compliant insertion of a continuum robot into an unknown cavity. Various features and advantages of the invention are set forth in the following claims.