This invention relates to the dynamic control of a magnetic field generated by two or more articulated magnets.
The robotic control and articulation of objects has been the subject of many investigations. The control of the direction and magnitude of a magnetic field created by a multiplicity of articulated source magnets is a more complex topic that has been studied only more recently. In such a situation, the relatively simple geometric relationships defining transformations between fixed and moving coordinate systems used in ordinary robotics must be supplemented with knowledge of the magnetic fields generated by the source magnets. These fields are typically represented by non-linear functions that most often are not trigonometric in nature. While this problem has been investigated in a few specific cases, no general method has been described that allows automatic control of the magnets to generate a specific magnetic field at a given point in space. Embodiments of the present invention describe a general solution to this problem.
One of the embodiments of the methods disclosed applies to operator-directed control of the magnetic field direction and magnitude generated by two articulated magnets in an operating region. In a specific application, the magnets considered are permanent magnets generally facing one another and the operating region is centered in between the two magnets. The operator-directed control is executed by means of electromechanical positioners that move the two magnets appropriately. The six degrees of freedom (three for each magnet) allow each magnet to translate along the line between the two magnet centers, and each magnet to rotate in two angles θ and φ along respective axes. Other similar embodiments that could be used to control a multiplicity of magnets to generate a specific magnetic field (direction and magnitude) at a specific point in space are also included in the present invention.
In magnetic navigation applications, it is desirable to change the orientation (and possibly magnitude) of the magnetic field at the operating point to orient the tip of a catheter or guide wire with respect to the field. The catheter or guide wire is then guided through the subject's vasculature while being simultaneously pushed at the proximal insertion point. It is further desirable to provide a “proper turn” from the initial to the final field vector at the given operating point. A proper turn is a rotation of the magnetic field direction in the plane formed by these two vectors. The concept of a proper turn and its execution is described in U.S. Pat. No. 6,702,804, issued Mar. 9, 2004, from application Ser. No. 09/678,640 filed Oct. 3, 2000, for Method for Safely and Efficiently Navigating Magnetic Devices in the Body, incorporated herein by reference.
The procedure to execute a proper turn in a preferred embodiment of the present invention entails setting a series of steps for the turn, i.e. finding intermediate field vectors (directions and magnitudes) which couple the two known (initial and target) field vectors at the operating point through the turn.
For each intermediate magnetic field vector the problem of finding the articulations or values of the parameters describing each of the degrees of freedom for the magnets necessary to generate the given field is the inverse problem of finding the field position, direction, and magnitude of magnets having specific articulations.
For each intermediate magnetic field vector at the operating point, and in one embodiment of the present invention, the inverse problem referred to above is solved in three steps. In the first step, the magnitude of the desired field at the operating point is apportioned to the two contributing fields of the two articulated magnets. In the second step, an approximate representation for each magnetic field generated by each magnet is used to ensure quick convergence of the algorithm to an approximate solution. In the third step, optimization methods are applied to a more accurate and mathematically complex field representation to obtain a refined estimate of the magnets control parameters and a more accurate field solution.
In the first step, the magnetic field apportionment algorithm operates under various constraints related to the nature of magnet design and field distributions to optimize field uniformity near the operating point.
In the second step, and in one embodiment of the present invention, a nested polynomial representation for each of the magnet fields enables an efficient solution to the inverse problem. These representations are based on calibration data acquired prior to any navigation procedure. Optimization operates separately for each magnet in consideration of the apportioned fields.
In the third step, and given that the output of the second step is in the neighborhood of the optimal solution, the inverse problem is formulated as a simultaneous optimization in all degrees of freedom, and the approximate polynomial field representation of step two is replaced by a more accurate field representation. One embodiment of the present invention uses a spherical harmonics expansion field representation.
In accordance with one aspect of the present invention, a multiplicity of N magnets (N>=2) is controlled to achieve a target magnetic field at a point in space (the operating point). The control algorithm proceeds in three steps. In the first step, the target field is apportioned between the N magnets. In the second step, the inverse problem of finding the magnets articulations that provide the apportioned field at the operating point is solved independently for each of the N magnets using a first level of magnetic field representation. In the third step, the problem of finding the magnet articulations that generate the target field at the operating point is formulated as a simultaneous constrained optimization problem for all N magnets. The third step uses the output of step two as a starting point in the neighborhood of the optimal solution and also uses a more accurate, second level of magnetic field representation for optimization.
The magnets preferably comprise one or more three types: permanent, permanent focusing, or electromagnetic, and are preferably permanent magnets.
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.
In one embodiment of the present invention, control of two permanent magnets enables dynamic generation of a specific magnetic field at an operating point. The operating point may be chosen anywhere within a sphere of specific radius centered mid way between the two magnets in their calibration frame positions (at θi=φi=0; i=1,2). To relate the magnetic fields generated by each of the two magnets to that present at the operating point, three Cartesian coordinates systems are defined: one associated with each of the two magnets, and a third associated with the subject (world coordinate system). A given vector, such as that representing the desired magnetic field at the operating point within the subject, can be represented in each of these coordinate systems through the usual coordinate transformations. The generation of a dynamic magnetic field at the operating point entails motion of the two magnets with respect to each other and also with respect to the subject. The position of the operating point in each magnet coordinate system will change, as well as the direction of the desired and intermediate field vectors. Accordingly, a series of intermediate magnetic field vectors that lie in a plane in the subject coordinate system will not in general lie in a plane of either of the magnet coordinate systems. The location and orientation of the two magnets at a given time is called the state of the system at that time. The system state evolves in time as necessary to carry out a proper turn.
The Cartesian referential frame (XM, YM, ZM) associated with each magnet is described in
Returning to
The following description of the preferred embodiment of the present invention is divided in three parts: A) Field representation; B) Navigation method; and C) Inversion method. In part A), various methods of describing the magnetic fields at several levels of accuracy and complexity are described. Part B) further formulates the problem of magnetic navigation as that of fitting intermediate field vectors that define a proper turn while meeting a number of design constraints. In Part C), for each of the intermediate magnetic field vectors, the inverse problem of finding the magnet articulations that generate such a magnetic field at the operating point is solved in three steps. The first step apportions the total magnetic field magnitude to each of the magnets. Step two finds an approximate solution by solving the inverse problem for each of the magnets independently, given the first level of magnetic field representation introduced above and the apportioned fields of step one. Step three finds an improved solution by simultaneously solving the problem for all magnets and using a more accurate field representation.
Part A): Field Representation
The magnet design is meant to generate a specific magnetic field in a three dimensional volume. Independently of the magnet design specifications, the generated fields can be represented to any level of accuracy by a finite element model or by three dimensional look-up tables. Such representations are inefficient in that they require storage of a large amount of data (in function of the desired accuracy) and lead to the use of computationally intensive three-dimensional interpolation methods. In one embodiment of this invention, the magnetic fields requirements are specific to magnetic navigation of catheters and guide wires in the body of a subject. In this embodiment, the actual fields generated by magnets designed per the corresponding specifications can be approximated to a very good accuracy by a basis expansion on spherical harmonic functions using a finite number of terms. In this representation, and referring to
However, such an expansion on spherical harmonics functions may not be the most efficient means to represent the field distribution within a given accuracy and a limited number of coefficients. Further, such a representation might not be optimal in terms of performing the inverse calculations that are necessary to determine the system state that will generate a specific field at the operating point. In one embodiment of the present invention, these two limitations are addressed by defining two levels of field representation. The first level of accuracy uses nested polynomials to provide a simplified field representation that allows efficient inversion algorithm convergence for each magnet independently to a state vector in the neighborhood of the optimum. In the second level of field representation accuracy, the coefficients of the spherical harmonics expansion are calculated by performing a least squares minimization between the representation and the actual field in a specified volume of interest. The volume of interest can be defined by a sphere that will encompass the operating point under all practical magnetic navigation situations. Such a local representation allows both a minimized error within the volume of interest for a given number of expansion terms as well as improved convergence of the inversion algorithm.
For a given magnet, on the central, symmetry plane (XM, ZM), the YM component of the magnetic field is small (nominally zero by design). Because the field direction and magnitude vary slowly with distance e from the central plane, and because in a typical navigation configuration the YM field components of the two facing magnets tend to combine destructively (the respective YM axes being coaxial but in opposite directions), in a first approximation it is natural ignore the YM field components. Any actual state vector optimization result obtained under this assumption for a target field within the navigation volume will include a small YM field resultant. Under this assumption, the field for each magnet at any point within a volume of interest can then be represented by its orientation in the associated (XM, YM) plane and magnitude. Referring to
This section details the field magnitude representation. The Bio-Savart law calls for the field magnitude created by an elemental electrical circuit to vary according to the inverse of the square of the distance. It suggests representing the inverse of a macroscopic magnet field magnitude by a polynomial function of distance ρ of limited degree. As inversion of the problem is a necessary step of the method, it is desirable to limit the polynomial order to two; such a representation is also sufficiently accurate for the object of the method. Accordingly, the field magnitude on any point of an iso-|B| curve 16 of
In a given (XM, ZM) plane, the field Z-component presents an odd symmetry with respect to axis ZM, and the variations along α for the coefficients a, b, and c can be efficiently represented by a fourth-degree polynomial in α:
a(α)=a0+a1α+a2α2+ . . . +a4α4
b(α)=b0+b1α+b2α2+ . . . +b4α4
c(α)=c0+c1α+c2α2+ . . . +c4α4
As indicated above, the field variations along YM are relatively slow, and accordingly each of the 15 coefficients a0, . . . ,a4,b0, . . . ,b4,c0, . . . ,c4 may in turn be represented by a fourth-degree polynomial function of YM. The resulting set of 75 coefficients accurately describes the field magnitude at any point in a volume that encompasses the navigation sphere.
This section details the field angle representation. Given the magnitude representation |B|=|B(ρ,α,γ)| which for fixed α and γ is a one-to-one function of the distance ρ, the field angle βM 14 can be represented by a function of |B| and α. That is, on a line 16 of constant |B|, the field angle βM, defined as the angle between the projection of the field vector onto the plane at YM=constant and the negative X axis of the (XM, YM) frame, is given by:
βM=ƒ(|B|,α).
As will be further described below, the control algorithm considers an operating point located on the ZM axis. For a given apportioned target field BT at the operating point, the projection of BT onto (XM, ZM) forms an angle βT, 0≦βT≦π, with respect to the −XM axis. The inverse algorithm then finds the angle αT such that βM=ƒ(|B|,αT)=βT−αT. As
α=d(|B|)β+e(|B|),β3.
The coefficients d and e can be modeled as quadratic functions of the field magnitude:
d(|B|)=d0+d1|B|+d2|B|2
e(|B|)=e0+e1|B|+e2|B|2
Each coefficient d0, d1, d2, e0, e1, e2, is then modeled as a cubic function of YM. Accordingly these 24 coefficients provide an accurate representation of the angle α(β).
These nested polynomial field representations for field magnitude and angle yield maximum errors of:
The navigation algorithm solves the problem of finding a time sequence of source magnets states such that the final sequence state provides an accurate and precise estimate of the target magnetic field at the operating point. As described above, the state of the system is completely determined given the two magnet Zi translation coordinates, rotation angles θi, and pivoting angles φi (i=1,2). The problem can be more formally stated as:
Additional requirements are imposed on the control method. It is often desired in a magnetic medical procedure that the resultant field magnitude at the operating point be kept essentially constant; as for each magnet the contributed field magnitude varies with distance from the magnet center, this is accomplished by translating the magnets to alleviate the field magnitude changes that are unavoidably associated with magnet reorientation (rotation and pivoting). In the preferred embodiment of a magnetic navigation system fixed and close-fitting covers enclose each of the magnets to ensure safety and subject access; the associated limits on magnet translation are magnet orientation-dependent, as illustrated in
A large number of inversion and optimization approaches are described in the literature. Linear problems formulated as least-squares estimation can be solved using matrix approaches. Such problems are written as:
Min∥Ax−b∥2
Degenerate inversion problems (that is, problems with an infinite number of solutions) can be regularized by including a weighted penalty term in the cost function; the additive combination of a degenerate and a non-degenerate quadratic being non-degenerate.
Non-linear constrained optimization problems have been investigated in a number of settings. For a problem formulated as:
Min ƒ(x)
s.t. gi(x)≦0,iεI
a general formalism leading to practical solutions uses a Lagrangian function:
Necessary conditions for local optimum have been given by Kuhn and Tucker. These conditions have also been extended to non-linear problems with both equality and non-equality constraints. It is also clear from the formalism above that a linear problem, such as that of fitting a polynomial to a series of data point, under specific equality and inequality constraints, can be represented and solved through the Lagrangian formalism.
The navigation algorithm proceeds in the following five steps, described in more details below, and illustrated in the flowchart 40 of
For each magnet and for each of the magnet coordinates Z, θ, φ, the requirements described above translate into four equality constraints (two for the initial and end velocities, and two for the beginning and end state conditions). The inequality requirements translate into additional constraints (four to six depending on the variable). It is possible to design exact methods that will achieve a proper turn by ensuring that intermediate field values lie exactly in the plane formed by the initial and end field vectors. However such methods are computationally expensive and are subject to oscillations (as attempt at polynomial interpolation will demonstrate). A more efficient method consists of specifying intermediate field values (themselves prescribing a proper turn), calculating by inversion the corresponding state values, and fitting these values by a functional. The inversion procedure gives the intermediate state values to be fitted, rather than interpolated, by a polynomial. As there are four equality constraints, and additional inequality constraints, a polynomial of at least degree six is prescribed. At least seven fit nodes or intermediate magnetic field values are used in this embodiment to keep the field close to that of a proper turn.
The algorithm begins by solving the inverse problem for each intermediate field value Bi. The inverse algorithm, described below in Part C), provides the intermediate state vector values to be approximated during navigation through the fitting procedure. Next, the total time Tf for the motion is estimated as follows. For each axis and for each segment joining two adjacent state values the absolute coordinate increment is calculated, and the total distance between initial and final state vector coordinates is then estimated as the sum of the absolute (linear) increments over all segments. Assuming parabolic velocity profiles and using velocity and acceleration constraints, and based on the total distances just calculated, the travel time needed for each axis is calculated. The maximum of all the total axes motion times (plus a small extra amount) gives the total initial motion time Tf. To find the intermediate times ti, the times needed for each axis to go from one intermediate position to the next with its maximum velocity are determined. The time needed by the slowest axis in each interval is retained, and all the intermediate times are scaled so that their sum equals the total motion time Tf.
An illustration of the resulting steps in magnet translation coordinate Zi for this procedure is shown in
Z(t)=y0+y1t+ . . . +y6t6
and similar equations are written for the variables θ(t), φ(t), for both magnets. It is noted that the ti values are not necessarily equally spaced. Solution for the polynomial coefficient can be carried out by means of the associated Vandermonde matrix (p=6):
Other basis function choices would lead to other matrix forms. It is desirable to scale the time values to a limited interval to increase numerical stability. This can be done, for example, by normalizing the time sample values by use of the series distribution mean m, and standard deviation σt: ti=(ti−mt)/σt.
The optimization in terms of the y coefficients that fit the Z(ti) values must be made subject to the four end point constraint in x and v. A suitable cost function will need four components with relative weights chosen as follows:
(Vandermonde inversion regularization).
The problem is then solved analytically for the yi coefficients by minimizing the cost functions subject to the four end point constraints v0=vf=0, x0=x(t0), xf=x(tf). This is solved by using a Lagrangian function L, setting ∂L/∂x and ∂L/∂λ to 0 and finding the corresponding Lagrange multipliers λj.
This procedure provides an initial set of fit coefficient values y0, y1, . . . , y6 for which the end point constraints have been satisfied. The next algorithm step tests whether the inequality constraints are also satisfied. If not, the algorithm increases the weight on the corresponding constraint(s). This procedure is iterated until all constraints are satisfied. Finally, if any velocity or acceleration constraint(s) is still violated, the time points are scaled, thereby increasing the total motion time, and the procedure is iterated.
The same method can be used if B is increased or reduced in magnitude only, but in that case, the intermediate target field vectors can be interpolated directly with no need for a polynomial fit.
Part C): Inverse Method
The inverse algorithm proceeds in three steps, further described below, and illustrated in the flowchart 90 of
Part C), Step One: Field Apportionment
This section details the geometric field magnitude allocation method. This method provides an apportionment of b=|BT| to b1, b2 (and therefore, as will be seen below, of BT to B1 and B2) by considering the magnitude bounds for each magnet. During navigation, and to maintain field strength, the two fields contribute constructively (additively, i.e., with both fields in the direction of the desired vector). In the procedure known as field reduction (not performed during navigation of a medical device in a subject), the fields contribute destructively (i.e., with the two fields in opposite directions).
For any particular target field, it is necessary to find whether the proposed apportioned fields are within the upper and lower bounds of each magnet. Different situations are illustrated in
This section details the penalized optimization field magnitude allocation method. The problem is formulated as a constrained optimization problem. There are six variables, consisting of the three field components for each of the two magnets. There are three equality constraints from the equation B1+B2=B. In addition there are four inequality constraints from the bounds l1≦b1≦u1 and l2≦b2≦u2. The components of the cost functions are chosen as follows:
In this section, the problem of apportioning a target magnetic field BT to N magnets is considered:
The geometric apportionment method for N=2 extends to the general case in a straightforward manner. As before, select the field direction for each magnet the same as BT. In order to apportion the magnitudes, define the hyperplane
the line L={bi=bj, ij, =1, . . . , N}, the rectangular polyhedron R={li≦bi≦ui}, and the point d=H∩L, L={bi=b/N i=1, . . . , N}. If the intersection of H and R is empty, meaning that there is no valid selection of individual field magnitudes that add up to the target magnitude, then select the vertex of R closest to H in Euclidean norm as the apportionment point. Since none of the edges of R can be parallel to H, this vertex is unique. If the intersection of H and R is nonempty, then it will define a polytope P of dimension N−1. The apportionment point is selected as the point in P closest to d in Euclidean norm. Since P is a closed convex set, this point is unique. Computationally this point can be found by solving the following linear least-squares problem:
min{∥y−d∥2, y εP}
and setting bi=yi. Since this is a quadratic program with linear equality and inequality constraints, it can be solved efficiently using the algorithm described in below.
Alternatively, the optimization field magnitude allocation method of above can be generalized for N magnets as follows: There are 3N variables, consisting of the three field components of the N magnets. There are three equality constraints from the equation
In addition there are 2N inequality constraints from the bounds li≦bi≦ui i=1, . . . , N. The components of the cost functions are chosen as follows:
to reduce the field gradient;
to reduce the fields components along the world coordinate axis perpendicular to the magnet surface; this constraint minimizes the amount of pivoting required;
to force the fields to add constructively. This can be solved using an iterative algorithm for constrained nonlinear programming.
Part C), Step 2: Independent Magnet Control using Polynomial Field Representations
In the previous step, the field apportionment of b to b1 and b2 and thus of BT to B1 and B2 was found. The problem solved in this section is to that of finding the state sub-vector x1 that yield B1 at the operating point. This step is carried out independently for each magnet using a first order magnet field representation.
First, the rotation angle θ1 is found such that B1 is contained in an (XM, ZM) magnet M1 plane. This is achieved by projecting B1 onto the (XM, YM) plane. The angle −θ1 is then the angle between −XM and the projection of B1.
Second, the pivoting angle φ1 is found that aligns the magnet ZM axis with the line from the magnet coordinate center to the operating point, i.e. brings the operating point to the (YM, ZM) plane. At this stage, the field magnitude bounds are determined.
The vector B1 now lies in an (XM, ZM) magnet plane; B1 forms a known angle β1 with the −XM axis.
The next step is then to determine the combination of variables (φ1, Z1) that will provide a field matching B1 at the operating point. This can be achieved in two ways:
In step 3, the problem of finding a state vector x that yields a total contributed field B(x) equal to the target field BT at the operating point is formulated as a penalized optimization problem by considering the multiple magnets simultaneously and by using a more accurate spherical harmonics field representation. This step will in general improve upon the solution found in step 2 and provide an optimized solution that more closely match the target magnetic field in angle and magnitude.
As a result of step 2, a state vector estimate x is available; that estimate was derived from independent inversion for each of the magnets using nested-polynomial field representations. The algorithm now proceeds to find a state vector x (for all magnets) that minimizes the Euclidian distance between the target and the estimated fields |BT−B(x)|2, using a more accurate field representation. There are potentially an infinite number of solutions. The Euclidian distance cost function may have a long shallow valley, for which convergence is difficult in at least one dimension. The following constraints regularize the problem and allow quick convergence to an optimum. First, a component is added to the cost function to minimize the distance to the solution of step 2 (with a small weight). Adding this term cups the end of the valleys, making the cost function locally convex and improving the likelihood of finding a unique solution. Another, independent non-linear constraint is to avoid interference of the stationary covers with the moving magnets. This might require that as the magnet pivots, the magnet be pulled back in Z. This constraint is shown in
At each step, the cover-related nonlinear constraints are locally approximated with linear chords of the Z(φ) curves as exemplified in
This algorithm has been tested by computer simulations for 30,000 points in the subject operation volume, in which the target field magnitude was 0.1 Tesla. Step 2 yields angle errors of less than 1.7 degrees in 95% of the samples, with a maximum of 11 degrees. In comparison, step 3 reduces the angle errors to less than 0.73 degrees in 95% of the samples, with a maximum of 2.9 degrees. For magnitude errors, step 2 yields less than 5.3 mTesla in 95% of the samples with a maximum of 9.4 mTesla. In comparison, step 3 reduces the magnitude errors to less than 4.3 mTesla in 95% of the samples, with a maximum of 8.4 mTesla. Histograms of these results are shown in
The extension of the methods of steps 2 and 3, described in sections [0050]-[0055] to more than two magnets (N≧3) is straightforward. Since step 2 is carried out for each magnet independently, it applies without modification. In step 3, the same cost function and constraints can be written in a space of dimension 3N, and the iterative solution procedure described above will find the solution, although it will take more computation time to perform.
Quasi-Continuous Navigation
In one embodiment of the algorithm, a target field BT is generated by the operator using an input device such as a joystick. At the same time, the operating point may remain fixed, or it may also be changed by the operator using another input device, such as a pointing device, or it may be automatically calculated by the system using a mechanical model of the interventional device being navigated. A new target field or a new operating point may be requested while the magnets are moving, along the trajectory calculated by the algorithm, corresponding to the previously requested field. In this case, the algorithm is modified as follows: The magnets are decelerated to stop at an intermediate position; during the deceleration, the path calculation is repeated, this time starting from the intermediate position and ending at the position corresponding to the newly requested target field; and the motion is started again. This may be repeated as often as necessary, whenever a new field request is generated by the operator, implementing a version of quasi-continuous navigation.
Haptic Feedback
During quasi-continuous navigation, it is useful to provide haptic feedback to the operator by applying a resistive force to the joystick. The force will indicate the subjective difficulty of the requested field change. The difficulty may be represented by making the resistive force proportional to either one of the following alternatives, or a combination of these:
More degrees of freedom may be added, by using a secondary articulation mechanism, in order to move each magnet together with its primary articulation mechanism, so as to obtain a better imaging angle or for patient access etc. The secondary mechanism may be floor- or ceiling-mounted, and may be constructed independent of the primary mechanism. During the motion of the secondary mechanism, the relationship between each magnet and its primary articulation mechanism remains the same, so that all the calculations described before for the three axes of motion, Z, θ and φ apply without modification. However, the relationship between each magnet and the patient changes. Therefore, it is desirable to coordinate the motions of the primary and the secondary mechanisms so that the generated field B remains the same in the patient. This may be accomplished by modifying the algorithm as follows: First intermediate points are selected along the motion trajectory for the axes of the secondary mechanism. At each intermediate time point, the transformation between the patient and each magnet frame is recalculated. Next, at each intermediate point, Part C Steps 1 and 2 are repeated for each magnet to find the corresponding joint positions of the primary mechanism to generate the target field. At the final time, Part C Step 3 is performed combining all magnets. Finally, Part B is performed separately for each magnet to determine the motion trajectory.
In one embodiment, the secondary mechanism performs a tilting motion that rotates each magnet and its primary mechanism around the imaging isocenter without changing the relationship between the magnet frames.
Feedback from a Magnetic Sensor
If it is desired to improve the accuracy of the generated magnetic field beyond the accuracy of the numerical representation in Part A, then one may use a high precision magnetic field sensor to measure the actual field vector Bm at the operating point. First, the navigation algorithm described in Parts B and C is performed to bring the magnets to a penultimate joint position x, with the corresponding measured field Bm(x). Let e(x)=BT−Bm(x) be the vector error between the target and measured fields. Denote the derivative of the field with respect to the joint state vector x by A(x)=∂B(x)/∂x. Corresponding to a small increment v in the joint position vector, the linear approximation of the field around the penultimate position x is B(x+v)≈B(x)+A(x) v. The increment is calculated as the minimizer of the cost function
∥A v−e∥2+vTR v
where R is a diagonal matrix with positive entries chosen by experience as weights to penalize large changes in the corresponding joint variable. Since the matrix R is positive definite, the unique increment v is found by solving the linear system
(ATA+R)v=ATe=AT(BT−Bm)
which constitutes a feedback law using the magnetic sensor. Then, the increment in the Z positions of the magnets are modified if necessary to satisfy the cover constraint in Part B. The time required to perform this increment is determined as the shortest time that satisfies the velocity and acceleration constraints in Part B.
If, after such an increment, the magnitude of error in the field vector is larger than a specified value, then the increment procedure is repeated starting from the modified joint vector x+v, until the error is small enough or a given maximum number of iterations is reached
The advantages of the above described embodiment and improvements should be readily apparent to one skilled in the art. Accordingly, it is not intended that the invention be limited by the particular embodiment or form described above, but by the appended claims.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/706,990 filed on Aug. 10, 2005, the entire disclosure of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5168231 | Aubert | Dec 1992 | A |
5654864 | Ritter et al. | Aug 1997 | A |
5931818 | Werp et al. | Aug 1999 | A |
6014580 | Blume et al. | Jan 2000 | A |
6015414 | Werp et al. | Jan 2000 | A |
6128174 | Ritter et al. | Oct 2000 | A |
6148823 | Hastings | Nov 2000 | A |
6152933 | Werp et al. | Nov 2000 | A |
6157853 | Blume et al. | Dec 2000 | A |
6212419 | Blume et al. | Apr 2001 | B1 |
6241671 | Ritter et al. | Jun 2001 | B1 |
6292678 | Hall et al. | Sep 2001 | B1 |
6296604 | Garibaldi et al. | Oct 2001 | B1 |
6298257 | Hall et al. | Oct 2001 | B1 |
6304768 | Blume et al. | Oct 2001 | B1 |
6315709 | Garibaldi et al. | Nov 2001 | B1 |
6330467 | Creighton, IV et al. | Dec 2001 | B1 |
6352363 | Munger et al. | Mar 2002 | B1 |
6364823 | Garibaldi et al. | Apr 2002 | B1 |
6375606 | Garibaldi et al. | Apr 2002 | B1 |
6385472 | Hall et al. | May 2002 | B1 |
6401723 | Garibaldi et al. | Jun 2002 | B1 |
6428551 | Hall et al. | Aug 2002 | B1 |
6459924 | Creighton, IV et al. | Oct 2002 | B1 |
6505062 | Ritter et al. | Jan 2003 | B1 |
6507751 | Blume et al. | Jan 2003 | B2 |
6522909 | Garibaldi et al. | Feb 2003 | B1 |
6524303 | Garibaldi | Feb 2003 | B1 |
6527782 | Hogg et al. | Mar 2003 | B2 |
6537196 | Creighton, IV et al. | Mar 2003 | B1 |
6542766 | Hall et al. | Apr 2003 | B2 |
6562019 | Sell | May 2003 | B1 |
6630879 | Creighton, IV et al. | Oct 2003 | B1 |
6662034 | Segner et al. | Dec 2003 | B2 |
6677752 | Creighton, IV et al. | Jan 2004 | B1 |
6702804 | Ritter et al. | Mar 2004 | B1 |
6733511 | Hall et al. | May 2004 | B2 |
6755816 | Ritter et al. | Jun 2004 | B2 |
6817364 | Garibaldi et al. | Nov 2004 | B2 |
6834201 | Gillies et al. | Dec 2004 | B2 |
6902528 | Garibaldi et al. | Jun 2005 | B1 |
6911026 | Hall et al. | Jun 2005 | B1 |
6968846 | Viswanathan | Nov 2005 | B2 |
6975197 | Creighton, IV | Dec 2005 | B2 |
6980843 | Eng et al. | Dec 2005 | B2 |
7008418 | Hall et al. | Mar 2006 | B2 |
7010338 | Ritter et al. | Mar 2006 | B2 |
7019610 | Creighton, IV et al. | Mar 2006 | B2 |
7020512 | Ritter et al. | Mar 2006 | B2 |
7066924 | Garibaldi et al. | Jun 2006 | B1 |
20010038683 | Ritter et al. | Nov 2001 | A1 |
20020019644 | Hastings et al. | Feb 2002 | A1 |
20020177789 | Ferry et al. | Nov 2002 | A1 |
20040006301 | Sell et al. | Jan 2004 | A1 |
20040019447 | Shachar | Jan 2004 | A1 |
20040064153 | Creighton et al. | Apr 2004 | A1 |
20040068173 | Viswanathan | Apr 2004 | A1 |
20040096511 | Harbum et al. | May 2004 | A1 |
20040133130 | Ferry et al. | Jul 2004 | A1 |
20040157082 | Ritter et al. | Aug 2004 | A1 |
20040158972 | Creighton, IV et al. | Aug 2004 | A1 |
20040186376 | Hogg et al. | Sep 2004 | A1 |
20040199074 | Ritter et al. | Oct 2004 | A1 |
20040249262 | Werp et al. | Dec 2004 | A1 |
20040249263 | Creighton, IV | Dec 2004 | A1 |
20040260172 | Ritter et al. | Dec 2004 | A1 |
20050020911 | Viswanathan et al. | Jan 2005 | A1 |
20050043611 | Sabo et al. | Feb 2005 | A1 |
20050065435 | Rauch et al. | Mar 2005 | A1 |
20050096589 | Shachar | May 2005 | A1 |
20050113628 | Creighton, IV et al. | May 2005 | A1 |
20050113812 | Viswanathan et al. | May 2005 | A1 |
20050119687 | Dacey, Jr. et al. | Jun 2005 | A1 |
20050182315 | Ritter et al. | Aug 2005 | A1 |
20050256398 | Hastings et al. | Nov 2005 | A1 |
20060009735 | Viswanathan et al. | Jan 2006 | A1 |
20060025679 | Viswanathan et al. | Feb 2006 | A1 |
20060036125 | Viswanathan et al. | Feb 2006 | A1 |
20060036163 | Viswanathan | Feb 2006 | A1 |
20060041178 | Viswanathan et al. | Feb 2006 | A1 |
20060041179 | Viswanathan et al. | Feb 2006 | A1 |
20060041180 | Viswanathan et al. | Feb 2006 | A1 |
20060041181 | Viswanathan et al. | Feb 2006 | A1 |
20060041245 | Ferry et al. | Feb 2006 | A1 |
20060058646 | Viswanathan | Mar 2006 | A1 |
20060074297 | Viswanathan | Apr 2006 | A1 |
20060079745 | Viswanathan | Apr 2006 | A1 |
20060079812 | Viswanathan | Apr 2006 | A1 |
20060093193 | Visawanathan | May 2006 | A1 |
20060094956 | Viswanathan | May 2006 | A1 |
20060100505 | Viswanathan | May 2006 | A1 |
20060114088 | Shachar | Jun 2006 | A1 |
20060116633 | Shachar | Jun 2006 | A1 |
20060144407 | Aliberto et al. | Jul 2006 | A1 |
20060144408 | Ferry | Jul 2006 | A1 |
Number | Date | Country | |
---|---|---|---|
20070038410 A1 | Feb 2007 | US |
Number | Date | Country | |
---|---|---|---|
60706990 | Aug 2005 | US |