Abstract:
Beginning with a successive commanded end-effector destination shift, the method of the invention, which includes a calculation corresponding to a special algorithm of inverse kinematics using the Jacobi Matrix in the control of a manipulator, effects an optimization of weighted criteria (energy criteria and reference-position criteria) in a real time cycle. The method of the invention can be used in interactive path guidance of a kinematically-redundant manipulator.

Description:
FIELD OF THE INVENTION 
     The invention relates to a method of command control for an interactive path guidance of a kinematically-redundant manipulator based on end-effector destination shifts commanded by a programmer with the aid of a manual control ball or the like, in connection with a calculation according to an algorithm of inverse kinematics with the use of the Jacobi Matrix of kinematics. 
     REVIEW OF THE RELATED TECHNOLOGY 
     Methods of command control for a path guidance of a kinematically-redundant manipulator on the basis of end-effector destination shifts commanded by a programmer, in connection with a calculation according to an algorithm of inverse kinematics using the Jacobi Matrix, are known from Siciliano, B., Sciavicco, L.; &#34;Modelling and Control of Robot Manipulators,&#34; McGraw-Hill Companies (1996), pp. 95 to 101, and Vukobratovic, M., Kircanski, N.: &#34;Kinematics and Trajectory Synthesis of Manipulation Robots,&#34; Springer-Verlag, Tokyo, 1986, pp. 105 to 122. 
     In this connection, a known method that includes a calculation of a generalized inverse of the Jacobi Matrix possesses a few advantageous properties, but is also associated with a number of disadvantages. For example, a smoothness of the calculated articulated path and low wear of the robot drive are attained through minimization of the local articulated position offset (local energy criteria). In addition, the spacing between the articulated positions of the physical articulated stops is taken into consideration through the optimization of global criteria in the zero space of the Jacobi Matrix. Disadvantages of this method are that it cannot guarantee that path limitations will be maintained with physical articulated stops, an unstable behavior occurs in singular robot position due to a (generalized) inversion of the Jacobi Matrix, and inefficient robot path courses are possible when conflicting local and global criteria exist. 
     In another known method, in which a calculation of the transposed Jacobi Matrix is performed, the commanded end-effector destination is attained iteratively corresponding to a representation of reverse kinematics. An advantageous feature of this method is a stable behavior in singular robot positions, because the Jacobi Matrix is not inverted. However, path limitations are not considered with physical articulation stops and maximum articulation speeds. Superordinate heuristics must be constructed to meet these requirements. Inefficient path courses occur in the form of interference movements of the end effectors, because the cartesian linear movement commanded by the manual control ball cannot be transferred exactly to the end effector of the manipulator. Moreover, the robot drive is subjected to high material wear due to abrupt passage through singular robot positions and because of a generally insufficiently-smooth articulation path (no consideration of local energy criteria). A further negative consequence is a low convergence speed, that is, a sacrifice of real-time capability, because no practical, optimum strategy is known for determining the positively-defined cartesian stiffness matrix. 
     DE 33 44 633 C2 describes a real-time control in which the redundant articulations that are not necessary for the movement of an end effector are held securely for calculating the articulation speed, which simplifies the calculation of the inverse Jacobi Matrix. This type of calculation is performed for at least one of the articulation combinations. The speeds for each articulation are then determined through averaging of the calculated articulation speed. Thus, in the prior art, a weighting of the articulation speeds takes place. 
     U.S. Pat. No. 5,430,643 also describes a real-time method; in this case, the inverse Jacobi Matrix is calculated. The method known from this U.S. patent document takes into consideration weight values for the articulation speeds, as well as path limitations for at least a graphic simulation of the robot&#39;s movements. 
     SUMMARY OF THE INVENTION 
     It is the object of the invention to provide a method of command control for an interactive path guidance of a kinematically-redundant manipulator, with which path limitations are reliably maintained through physical articulation stops and maximum allowable articulation speeds, and no superordinate heuristics are required for checking the determined solution for allowability with respect to the path limitations, and making corrections if necessary. 
     In accordance with the invention, which relates to a method of command control for an interactive path guidance of a kinematically-redundant manipulator of the type mentioned at the outset, this object is accomplished in that 
     beginning with a commanded end-effector destination shift and the current actual value (q i ) of the articulation position of the manipulator, a new articulation position (q i+1 ) is calculated 
     with consideration of a quality function (f(q)), which is parameterized by non-negative weighting values (α j , β j ) 
     and consideration of path limitations through physical articulation stops (q min , q max ), maximum articulation speed (q max ) and the kinematic equation represented by the Jacobi Matrix, 
     which articulation position predetermines the new values for the articulation regulator, with the quality function being the sum of energy criterion and reference-position criterion, the energy criterion being calculated from 
     (q-q i ) t  diag(α j )(q-q i ) 
     and the reference-position criterion being calculated form 
     (q-q ref ) t  diag(β j )(q-q ref ) 
     and the value q ref  being a predetermined articulation-position value that is determined such that the sequence of calculated articulation-position values (q i ) runs near this reference-position value; 
     beginning with an articulation-position value q 1  as a starting point, an allowable optimization vector is determined on the basis of the quality function with respect to all active constraints that indicate which path limitations have been attained, and this vector is scaled according to the inactive constraints that indicate which path limitations have not been attained; 
     the scaled optimization vector is added to the articulation-position value calculated in the previous iteration step; 
     and the optimum quality of these articulation-position values is evaluated based on the quality function and the constraints activated in the newly-calculated articulation position. 
     According to an advantageous refinement to the method of the invention, the Jacobi Matrix of kinematics is used to define the desired cartesian, translatoric (transactional) or rotary end-effector destination shift Δx d   t  and Δx d   t  per sampling time ΔT starting with a commanded end-effector destination shift Δx c  :=(Δx l ,Δx r ) at a time T i , with Δx t  ε 3  and Δx r  ε 3  respectively indicating the translatoric or rotary component of the commanded end-effector destination shift, and Δx max   t  and Δ max   r  respectively defining the maximum (scalar-value), translatoric or rotary, cartesian position offset of the end effector per sampling time ΔT: ##EQU1## (the quantity |x| of a vector x is determined here and hereinafter by its euclidian norm ##EQU2## the desired end-effector destination shift is explained by Δx d  :=(Δx d   t ,Δx d   t ), and the energy criteria and reference-position criteria can be suitably weighted corresponding to the predominant, problem-specific requirements in that each axis j is allocated two positive numerical values α j , β j , which are predetermined by the programmer, with the value α j  serving in the weighting of an energy criterion that evaluates the difference between two adjacent, calculated articulation positions of axis j, and the value β j  serving in the weighting of a criterion that evaluates the deflection of the articulation position q j  from a reference value q ref  j, which is also predetermined by the programmer, like the physical articulation stops q min , q max  of the manipulator, which relate to path limitations, and the articulation-speed limitations q&#39; max , such that an allowable, optimum articulation-position offset Δq i  is calculated in the attainment of the method&#39;s output values to effect a desired end-effector destination shift Δx i   d  at time T i-1  during the time interval ΔT, with the algorithm of inverse kinematics that progresses in an initialization phase and a subsequent optimization phase. The current nominal value is provided to the articulation regulators from q i+1   soll  :=q i   soll  +Δq i  (the articulation regulators correspondingly proceed with q i   soll ); allowable articulation-position offset is understood to mean that the articulation-position value that has been updated with Δq satisfies the physical articulation stops q min , q max  corresponding to q min  ≦q soll  +Δq≦q max , and Δq satisfies the articulation speed limitations q&#39; max  corresponding to |Δq|≦q&#39; max  ΔT, and that the type of optimum quality of Δq can be determined by a programmer through the quality-criterion weighting α,β, and the sampling time ΔT is dimensioned, corresponding to ΔT≧max(Δt q ,Δt r ), such that the computing time Δt q  for calculating an optimum, allowable articulation-position offset Δq, and the adjustment time Δt r , which the regulators require for adapting the axial positions to the nominal values q soll , lie within the time span ΔT. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     In connection with the above-described features of the invention, FIG. 1 illustrates a representation of the input/output flux of the inverse kinematics in a real-time grid. 
     The base structure of the special method of the invention, which utilizes an inverse kinematics for command control, is illustrated schematically in FIG. 2. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The method of the invention results in a smoothness of the calculated articulation path, and low wear of the robot drive through minimization of the local articulation-position offset (local energy criteria). &#34;Narrow&#34; articulation paths around a reference position (e.g., zero position) are attained. Articulation stops are advantageously avoided extensively, or approached gently or with low wear. This behavior is caused by a delay effect of the robot axes, which acts proportionally to the distance from the reference position. In addition, a stable behavior occurs in singular robot positions, because the Jacobi Matrix is not inverted. Another advantage is the occurrence of efficient path courses through the exact transfer of the cartesian linear movement commanded by the manual control ball to the end effector of the manipulator. 
     The following is an algorithmic description of the method of the invention. 
     J i , i=1, . . . , ndof indicates the columns of the Jacobi Matrix of kinematics, in point q 0  of the current manipulator position, ndof indicates the number of articulations and ε i  :=q&#39; max  ΔT indicates the maximum allowed articulation-position offset per sampling time ΔT. With ##EQU3## and J.sub.ε :=(J 1  ε 1 ,J 2  ε 2 , . . . , J ndof  ε ndof ), the incremental kinematic equation is as follows: 
     
         (pΔx.sup.d.sub.t,qΔx.sup.d.sub.r)=J.sub.ε y.(1) 
    
     Because of the path limitations, the following box limitations result for ##EQU4## Here q 0  indicates the most recently calculated, allowable nominal-position set, to whose values the axes of the robot have already been adjusted, the values representing the actual value. 
     Further define: ##EQU5## So that all path limitations can be met, according to the kinematic equation (1), the desired end-effector destination shift is subjected to a centric extension described in the form of two scalars: 
     
         0≦p≦1, 0≦q≦1. 
    
     The values p, q are maximized with the method of the invention such that all path limitations are maintained. 
     Define b:=(0,0,0,0,0,0,y min ,0,0,-y max ,-1,-1)ε 2n+6 , x:=(y,p,q) and the auxiliary values Δx t  :=(Δx d   r ,0,0,0)ε 6 ,Δx r  :=(0,0,0,Δx d   r )ε 6  and the matrix Aε 2n+6 ,n with n:=ndof+2: ##EQU6## 
     Here I n  ε n ,n indicates the unit matrix. Furthermore, α i , i=1, . . . , 2n+6 indicate the lines of A. 
     The weights α, β of the criteria are represented by the diagonal matrix Λε n ,n, as the Cholesky factor of the Hess Matrix, from the scaled sum of the energy criterion (q-q 0 )  t  diag (α i )(q-q 0 ) and the reference-position criterion (q-q ref )  t  diag (β j )(q-q ref ). Their main diagonal elements are: ##EQU7## 
     The base structure of the special method of the invention, which utilizes an inverse kinematics for command control, is illustrated schematically in FIG. 2. 
     An algorithm used in the method of the invention for inverse kinematics is described in more detail in conjunction with FIG. 2. In the used algorithm of inverse kinematics, first an initialization phase configured as follows is performed: 
     counting index: k=0; starting value: x k  =(y k ,p k ,q k )=0; kmax&gt;7; use m k  :=8 to initialize the matrix of active constraints A t  ε m .sbsp.k.sup.,n : ##EQU8## initialize the index quantity J k  :=(j 1   k  j 2   k , . . . ,j 2n+6   k ) for characterizing the active, singular and inactive, constraints: ##EQU9## initialize the orthogonal triangular factorization of A: 
     
         (r.sub.k,J.sub.k,Y.sub.k,Z.sub.k,L.sub.k,S.sub.k):=Φ.sup.A.sub.0 (A,m.sub.k,J.sub.k); 
    
     initialize the orthogonal, regular triangular factorization of Z:=ΛZ k  : 
     (Q Z   k ,R Z   k ):=Φ Z   0  (Z,r k ); 
     initialize the vector 
     g 0  εR n  :g k  :=2(β scal   1  (y 1   k  -y 1   ref )+α scal   1  y 1   k , . . . , β scal   ndof  (y ndof   k  -y ndof   ref )+α scal   ndof  y ndof   k ,p k  -1,q k  -1). 
     The following abbreviated form is used for g k  : 
     
         2(β.sup.scal.sub.i (y.sup.i.sub.k -y.sup.i.sub.ref)+α.sup.scal.sub.i y.sup.i.sub.k,p.sub.k -1,q.sub.k -1). 
    
     In the used algorithm of inverse kinematics, an optimization phase constructed as follows is next: 
     I. Calculate the direction of optimization d k  : 
     
         R.sup.Z.sub.k d.sub.aux =-Q.sup.Z.sub.k Z.sub.k g.sub.k. 
    
     From this, determine d aux  through reverse substitution. 
     
         R.sup.Z.sub.k d.sub.z =Q.sup.Z.sub.k d.sub.aux. 
    
     From this, determine d z  through reverse substitution. Define the direction of optimization: 
     
         d.sub.k :=Z.sub.k d.sub.z. 
    
     II. Determine the maximum step width s k  and the index j i0   k  of the limiting secondary condition: ##EQU10## 
     (In the event of ambiguity, select the j0 having the smallest index i0.) 
     III. Check optimum quality and update all matrix and index values. 
     (a) If s k  &lt;1 (secondary condition j i0   k  has become active): 
     i. If m k  &lt;n (there are still inactive constraints): 
     x k+1  =x k  +s k  d k ,x k+1  =(y k+1 ,p k+1 ,q k+1 ); 
     g k+1  =2(β scal   i  (y i   k+1  -y i   ref )+α scal   i  y i   k+1 ,p k+1  -1,q k+1  -1). 
     Update matrix factorizations and index quantity: 
     (r k+1 ,m k+1 ,J k+1 ,Y k+1 ,Z k+1 ,L k+1 ,S k+1 ):=.PHI. A   +  (i0,r k ,m k ,J k ,Y k ,Z k ,L k ,S k ). 
     Check x k+1  for optimum quality: 
     If Z q   t+1  g k+1  =0; 
     and λ k+1  =LLS(r k+1 ,m k+1 ,g k+1 ,Y k+1 ,L k+1 )≧0 
     then: Go to Step IV. 
     Otherwise: k=k+1 (increase iteration index) 
     If k&gt;kmax: Go to Step IV. 
     Otherwise: Determine the orthogonal, regular triangular factorization of 
     Z:=ΛZ k+1  : 
     (Q Z   k+1 ,R Z   k+1 ):=Φ Z  (Z,r k+1 ). 
     Go to Step I. 
     ii. If m k  =n (corner of the allowable range is attained; 
     exchange of active constraints is necessary): 
     x k+1  =x k  +s k  d k ,x k+1  =(y k+1 ,p k+1 ,q k+1 ); 
     g k+1  =2(β scal   i  (y k+1  -y ref )+α scal   i  y i   k+1 ,p k+1  -1,q k+1  -1); 
     λ k  =LLS(r k+1 ,m k+1 ,g k ,Y k ,L k ). 
     Release a direction having the highest optimization potential: ##EQU11## Update matrix factorizations and index quantity: 
     (r k ,m k ,J k ,Y k ,Z k ,L k ,S k ):=Φ - .sup.A (j0,r k ,m k ,J k ,Y k ,Z k ,L k ,S k ). 
     Activate constraint j i0   k . 
     Update matrix factorizations and index quantity: 
     (r k+1 ,m k+1 ,J k+1 , Y k+1 ,Z k+1 ,L k+1 ,S k+1 ):=Φ A   +  (i0,r k ,m k ,J k , Y k ,Z k ,L k ,S k ). 
     Check x k+1  for optimum quality: 
     If Z t   k+1  g k+1  =0; 
     and λ k+1  =LLS(r k+1 ,m k+1 ,g k+1 ,Y k+1 ,L k+1 )≧0 
     then: Go to Step IV. 
     Otherwise: k=k+1 (increase iteration index) 
     If k&gt;kmax: Go to Step IV. 
     Otherwise: Determine the orthogonal, regular triangular factorization of 
     Z:=ΛZ k+1  : 
     (Q Z   k+1 ,R Z   k+1 ):=Φ Z  (Z,r k+1 ). 
     Go to Step I. 
     (b) If s k  =1 (no new active constraint). 
     x k+1  =x k  +d k ,x k+1  =(y k+1 ,p k+1 ,q k+1 ); 
     g k+1  =2(β scal   i  (y k+1  -y ref )+α scal   i  y k+1 ,p k+1  -1,q k+1  -1). 
     Update matrix factorizations and index quantity: 
     (r k+1 ,m k+1 ,J k+1 ,Y k+1 ,Z k+1 ,L k+1 ,S k+1 ):=(r k ,m k ,J k ,Y k ,Z -   k ,L k ,S k ). 
     Check x k+1  for optimum quality: 
     If Z l   k+1  g k+1  =0; 
     and λ k+1  :=LLS(r k+1 ,m k+1 ,g k+1 ,Y k+1 ,L k+1 )≧0 
     then: Go to Step IV. 
     Otherwise: Release a direction having the highest optimization potential: ##EQU12## Update matrix factorizations and index quantity: (r k+1 ,m k+1 ,J k+1 ,Y k+1 ,Z k+1 ,L k+1 ,S k+1  =Φ A   -  (j0,r k ,m k ,J k ,Y k ,Z k ,L k ,S k ). 
     k=k+1 (increase iteration index) 
     If k&gt;kmax: Go to Step IV. 
     Otherwise: Determine the orthogonal, regular triangular factorization of Z:=ΛZ k+1  : 
     (Q Z   k+1 ,R Z   k+1 ):=Φ Z  (Z,r k+1 ) 
     Go to Step I. 
     IV. Solution x k+1  is determined. Stop! 
     End of algorithm of inverse kinematics. 
     Definition of the function LLS: 
     
         λ=LLS(r,m,g,Y,L). 
    
     
         λ.sub.i :=0,i=r+1, . . . , m; 
    
     
         λ.sub.nL :=(λ.sub.r+1, . . . , λ.sub.m); 
    
     
         L.sup.t λ.sub.L =Y.sup.t g. 
    
     From this, determine λ L  ε r  through reverse substitution. Define the output value of the function: 
     λ:=(λ L ,λ nL ). 
     With I eq  :=1+max 1 ≦i≦m |λ(i)|, set the components of λ that are among the secondary conditions of Equation (1) at the value l eq . 
     End of the function LLS. 
     Definition of the function Φ +  : 
     (r,m,J,Y,Z,L,S)=Φ A   +  (i0,r,m,J,Y,Z,L,S). 
     Activate constraint  l  j i0 . The j i0  -th line of A is indicated by α j0  &#39; with j0:=j i0 . 
     Define Q 1  :=(Y,Z) and form α:=Qα j0 . Partition α:=(α Y ,α Z ) with α Y  ε r  and α Z  ε n-r . 
     Determine the Householder reflection Hε n-r ,n-r so that: 
     
         |60 .sub.Z |e.sub.l =Hα.sub.Z, 
    
     with e 1  :=(1, 0, . . . , 0)ε n-r . Define the unitary transformer Hε n ,n according to: ##EQU13## Define the unitary transformer: 
     
         Q:=HQ; 
    
     Update indices: ##EQU14## Update matrix factorizations: Y is the partial matrix of Q t  that includes columns 1 through r of Q t . 
     Z is the partial matrix of Q l  that includes columns r+1 through n of Q l . ##EQU15## End of the function Φ + . Definition of the function Φ -  : 
     (r,m,J,Y,Z,L,S)=Φ A   -  (i0,r,m,J,Y,Z,L,S). 
     Inactivate constraint j j0 . 
     If j0&gt;r: (Eliminate singular, active secondary condition) 
     Update indices: 
     r:=r; 
     m:=m-1; 
     Exchange constraints: ##EQU16## Update matrix factorizations: Y:=Y; 
     Z:=Z; 
     L:=L; 
     S:=(S 1 , . . . , S j0-r-1 , S j0-r+1 , . . . , S m-r ), 
     where S i  indicate the S columns. 
     If j0≦r: (Eliminate regular, activate constraint) 
     R results from R:=L 1  through striking of the j0-th column. The elements of R that occur at the locations (j0,j0+1), (j0+1 j0+2), . . . , (r,r+1) are canceled through left multiplication with a sequence of unitary elimination matrices 
     E j0 ,j0+1, . . . , E r-1 ,r ε r ,r. Define linear transformers: 
     R:=E r-1 ,r E r-2 ,r-1 . . . E j0 ,j0+i R; 
     S:=E r-1 ,r E r-2 ,r-1 . . . E j0 ,j0+1 S; ##EQU17## Q t  :=(Y,Z); Q:=E r-1 ,r E r-2 ,r-1 . . . E j0 ,j0+1 Q; 
     If the last line of S is zero, or if r=m: 
     update indices: 
     r:=r-1; 
     m:=m-1; 
     Exchange constraints: ##EQU18## Update matrix factorizations: Y is the partial matrix of Q t  that contains columns 1 through r of Q t . 
     Z is the partial matrix of Q t  that contains columns r+1 through n of Q t . If r&gt;m, stroke the last line of S and R. Set: 
     
         L:=R.sup.t ; 
    
     
         S:=S; 
    
     Otherwise (convert singular, active constraint into a regular, active constraint): 
     Determine the element of the last line of S with the smallest index l0 such that: 
     
         S.sub.r,l0 ≠0. 
    
     Exchange column l0 and column 1 of S. Define linear transformer: 
     
         R:=(R,S.sub.l0), 
    
     where S i0  indicates the l0-th column of S. 
     Update indices: 
     
         r:=r; 
    
     
         m:=m-1; 
    
     Exchange constraints: ##EQU19## Update matrix factorizations: Y is the partial matrix of Q t  that includes columns 1 through r of Q t . 
     Z is the partial matrix of Q t  that includes columns r+1 through n of Q t . 
     
         L:=R.sup.t ; 
    
     
         S:=(S.sub.2, . . . , S.sub.l0-1,S.sub.1,S.sub.l0+1, . . . , S.sub.m-r), 
    
     End of the function Φ. 
     Definition of the function Φ A   0  : 
     (r,J,Y,Z,L,S):=Φ A   0  (A,m,J). 
     1. Define: 
     
         A.sup.0 :=A, i:=0. 
    
     2. Define the following matrix recursion: 
     
         A.sub.i+1 :=H.sub.i A.sup.i,i≧0. 
    
     The unitary transformer H i  ε n ,n is explained as follows: ##EQU20## The Householder reflection H i  ε n-i ,n-i is defined such that: 
     
         |α.sup.i.sub.k0 |e.sub.l =H.sub.i α.sup.i.sub.k0. 
    
     with e 1  :=(1,0, . . . , 0)ε n-i . Here the vectors α i   k  ε n-i ,k=1, . . . , n-i indicate the columns of the matrix 
     A i  ε n-i ,m-i : ##EQU21## Moreover, 1≦k0≦n-i is the smallest index with α i   k0  ≠0. If no such k0 exists, then go to Step III; otherwise, go to Step IV. 
     3. Define indices: 
     
         r:=i; 
    
     
         j:=(j, . . . , j.sup.2n+6). 
    
     Define matrix factorizations: 
     
         Q:=H.sub.r-1 H.sub.r-2 . . . H.sub.0 ; 
    
     Y is the partial matrix of Q t  that includes columns 1 through r of Q t . 
     Z is the partial matrix of Q t  that includes columns r+1 through n of Q t . 
     T is the matrix that results from the stroking of lines r+1 through n from A i+1 . 
     Define Lε r ,r, and Sε r ,m-r, according to: 
     
         (L.sup.t,S):=T. 
    
     Stop: Function Φ A   0  has been performed completely! 
     4. Exchange column i+k0 with column i+1 in A i . ##EQU22## Set j k  :=j k  ∀k, increase the counting index i=i+1 and go to Step II. 
     End of function Φ A   0 . 
     Definition of function Φ Z   0  : 
     
         (Q.sup.Z,R.sup.Z):=Φ.sup.Z.sub.0 (Z,r). 
    
     Determine the QR triangular factorization of Z: ##EQU23## Here Q Z  ε n ,n indicates a unit matrix, and R Z  ε r ,r indicates an upper triangular matrix. 
     End of function Φ Z   0 . 
     The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without undue experimentation and without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. The means and materials for carrying out various disclosed functions may take a variety of alternative forms without departing from the invention. 
     Thus the expressions &#34;means to . . . &#34; and &#34;means for . . . &#34; as may be found in the specification above and/or in the claims below, followed by a functional statement, are intended to define and cover whatever structural, physical, chemical or electrical element or structure may now or in the future exist carries out the recited function, whether or not precisely equivalent to the embodiment or embodiments disclosed in the specification above; and it it intended that such expressions be given their broadest interpretation.