Abstract:
A system and method for controlling tendon-driven manipulators that provide a closed-loop control of joint torques or joint impedances without inducing dynamic coupling between joints. The method includes calculating tendon reference positions or motor commands by projecting a torque error into tendon position space using a single linear operation. The method calculates this torque error using sensed tendon tensions and a reference torque and internal tension. The method can be used to control joint impedance by calculating the reference torque based on a joint position error. The method limits minimum and maximum tendon tensions by projecting the torque error into the tendon tension space and then projecting ii back into joint space.

Description:
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     The invention described herein may be manufactured and used by or for the U.S. Government for U.S. Government (i.e., non-commercial) purposes without the payment of royalties thereon or therefore. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates generally to a system and method for controlling a tendon-driven manipulator using closed-loop control. In particular, the joint angle and torque in the joints of the manipulator are controlled in such a way that it reduces coupled transient joint motions and allows for independent motion of the joints. 
     2. Discussion of the Related Art 
     Dexterous robot systems typically comprise robot arms and hands that operate to grasp and manipulate objects or parts during assembly or other applications. The term “robot manipulator” is used to describe all or part of one or more robot arms and hands. Tendon-driven robot manipulators are robot manipulators that are actuated using tendons or cables that allow the actuators to be located outside of the part of the manipulator being controlled. Tendon transmissions are frequently used to actuate distal joints in robot manipulators. They can improve strength-to-weight ratios by allowing actuators to be located closer to the base of the manipulator. They also give the mechanical designer more flexibility in actuator selection. For example, when the manipulator is a tendon-driven finger in a humanoid robotic hand, the actuators are typically located in the forearm area of the robotic arm. In this case, tendons extend from the forearm actuators to the fingers, where they are attached. 
     It is sometimes the case that the number of tendons in a tendon-driven manipulator is associated with a corresponding motion by multiple tendons. This is the case with “n+1” tendon arrangements where n+1 tendons bi-drectionally actuate n joints. n+1 tendon arrangements are useful because they allow bi-directional joint actuation with a minimum number of actuators. However, this presents an extra control burden because the resulting physical coupling between tendons and joints must be decoupled in the control system. During control, the actuators must move multiple tendons so that the tendons do not stretch or break as the manipulator joints move. For one joint motion, there is a plurality of tendon motions that are required to make the joint motion. Thus, there is a complex motion between joint motion and tendon motion. 
     Known control schemes for controlling the actuators that actuate the tendons are typically hierarchical in nature. Each actuator is associated with a single controller that controls the position of a single tendon or the force applied by a single tendon. A higher level controller sends commands to each of the single-tendon controllers so as to realize a particular joint motion or torque. When this hierarchical approach to control is used, the dynamics of the low-level controllers cause coupled joint motions. In other words, because each low-level controller controls a single tendon, and the motion of a single tendon causes multiple joints to move, the dynamics of the low-level controllers cause coupled joint motions. As a result of this coupling, multiple joints may move when motion of only a single joint is desired. Thus, undesired motions occur in the robotic manipulator. 
     It is frequently desirable to control joint compliance and torque in tendon-driven manipulators. This is particularly true for robot hands where the tendon driven manipulators are fingers. For these applications, precise control of the dynamics of the forces applied to the environment by the fingers is paramount. For example, compliance control in the joints of robot fingers is an effective way to wrap the fingers around an object, thereby maximizing the contact surface area and improving the grasp. Alternatively, a robot may grasp and lift an object more robustly when the contact forces are accurately controlled. In these applications, it is essential to control joint positions and forces independently and in a dynamically accurate way. 
     SUMMARY OF THE INVENTION 
     A system and method for controlling the joint torque and impedance of a tendon-driven robot manipulator is disclosed. The method includes calculating tendon reference positions or motor commands by projecting a torque error into tendon position space using a single linear operation. The method calculates the torque error using sensed tendon tensions and a reference torque and internal tension. The method can be used to control joint impedance by calculating the reference torque based on a joint position error. The method limits minimum and maximum tendon tensions by projecting the torque error into the tendon tension space and then projecting it back into the joint space. 
     Additional features of the present invention will become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a perspective view of a robotic finger including a plurality of tendon driven joints where the tendons that control the joints are controlled by a closed-loop control of joint angle and torque; 
         FIG. 2  is a block diagram of a control scheme for the tendons shown in  FIG. 1 ; and 
         FIG. 3  is a plan view of a joint system showing a tendon arrangement. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     The following discussion of the embodiments of the invention directed to a system and method for controlling tendon-driven manipulators is merely exemplary in nature, and is in no way intended to limit the invention or its applications or uses. 
     The following embodiments apply the present invention to the control of a tendon-actuated finger. However, the present invention can be applied to any tendon-driven robot manipulator. Consider the perspective view of a robotic finger  10  for a robotic arm shown in  FIG. 1 . The robotic finger  10  includes three finger sections, namely, a tip section  12 , an intermediate section  14  and a base section  16 . The tip section  12  includes a pad  18 , the intermediate section  14  includes a pad  20  and the base section  16  includes a pad  22  that allow the finger  10  to effectively grasp a particular part (not shown). The finger sections  12 ,  14  and  16  and the pads  18 ,  20  and  22  can be made of any suitable material, such as aluminum, for a particular application. The tip section  12  pivots relative to the intermediate section  14  on a shaft  24  and the intermediate section  14  pivots relative to the base section  16  on a shaft  26 . 
     The joints of the finger  10  are manipulated by tendons  28  in a manner that is well understood in the art. The tendons  28  are coupled to tension sensors  32 , typically in the forearm area of the robotic arm. The tension sensors  32  provide a signal of the tension in the tendons  28  that provides an indication of the force on the finger  10 . The tendons  28  provide a pulling force that is actuated by a suitable actuator, such as motors  34 . 
     Assuming that all joints are revolute, the relationship between tendon tensions and joint torques can be described by:
 
τ= Rf   (1)
 
Where τ if the vector of n joint torques and f is a vector of m≧n+1 tendon tensions.
 
     Note that by inverting this relationship, a set of tendon tensions that generates a specified torque can be calculated as:
 
 f=R   +   τ+N ( R )λ  (2)
 
Where R +  is the pseudo-inverse of R and N(R) is the null space of R.
 
     The requirements that it be possible to generate arbitrary bi-directional joint torques while applying strictly positive tendon tensions is known as force closure and can be expressed as two constraints on R. First, in order to be able to generate arbitrary joint torques, R is required to be surjective. Second, a λεR m−n  must exist such that every element of N(R)λ is strictly positive. When these conditions are met, the elements of equation (2) can be made strictly positive by scaling λ by the necessary amount. 
     Let W be the orthogonal compliment of R such that RW T =0. Vectors of tendon tension in the span of W can be referred to as internal tendon tensions. Furthermore, for convenience, the matrix R shall be augmented with its orthogonal complement, resulting in a square and full rank matrix P: 
     
       
         
           
             
               
                 
                   P 
                   = 
                   
                     ( 
                     
                       
                         
                           R 
                         
                       
                       
                         
                           W 
                         
                       
                     
                     ) 
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     Using this notation gives: 
                     (         τ           t         )     =   Pf           (   4   )               
Where t describes the internal tendon tension of the system.
 
     Using a virtual work argument, it can be shown that P can also be used to describe the relationship between tendon velocities and joint velocities. Let {dot over (x)}describe a vector of m tendon velocities and let {dot over (q)} describe a vector of n joint velocities. Then: 
                     x   .     =       P   T     ⁡     (           q   .               θ   .           )               (   5   )               
Where θ describes the internal tendon velocity of the system, i.e., the set of tendon velocities that do not generate any joint velocity. Because internal tendon velocities do not cause the joints to move, it is only possible for the internal tendon velocity to be non-zero in the context of elastic tendons.
 
     It will be useful to write these relationships in the frequency domain and to distinguish between the portion of the tendon attached to the actuator and the portion attached to the manipulator. Let X a  be the position of the tendon at the point that is attached to the linear actuator. Let X j  be the position of the tendon at the point that it is attached to the joint. When using joint-space tendon control, it is useful to express tendon positions in joint space. Recall that the relationship between joint velocities and tendon velocities given in equation (5) allowed for non-zero internal tendon velocities {dot over (θ)}. These internal velocities are only possible on the actuator side of the tendon. On the actuator side: 
                       X   a     ⁢   s     =         P   T     ⁡     (           Q   a               Θ   a           )       ⁢   s             (   6   )               
Where Q a  and Θ a  describe the position of the actuator-side tendons in terms of joint-space variables.
 
     Integrating equation (6) gives: 
                     X   a     =       P   T     ⁡     (           Q   a               Θ   a           )               (   7   )               
Where the constant of integration is assumed to be implicit in the measurement of X a .
 
     On the joint side of the tendon, no internal velocities are possible because there is no elasticity between the joint-side tendon and the joint. Therefore, Θ j  is always zero and:
 
 X   j   =R   T   Q   j   (8)
 
Where, again, the integration constant is assumed to be implicit in the X j  measurement.
 
     One embodiment of the invention uses joint-space torque control in the context of a proportional integral controller. For this control law, the desired joint space behavior is: 
                     (           Q   a   *               Θ   a   *           )     =       (       K   p     +       κ   i     s       )     ⁢     (       (           τ   *               t   *           )     -     (         τ           t         )       )               (   9   )               
Where Q* a  and Θ* a  are joint-space actuator commands, and s is the Laplace variable.
 
     Using equations (4) and (7) gives: 
                           X   a   *     =       ⁢         P   T     ⁡     (       K   p     +       K   i     s       )       ⁢     (       (           τ   *               t   *           )     -   Pf     )                   =       ⁢       (       K   p     +       κ   i     s       )     ⁢     (         P   T     ⁡     (           τ   *               t   *           )       -       P   T     ⁢   Pf       )                   =       ⁢       (       K   p     +       κ   i     s       )     ⁢     (         R   T     ⁢     τ   *       +       W   T     ⁢     t   *       -       P   T     ⁢   Pf       )                     (   10   )               
Where k p  and k i  are assumed to be multiples of identity.
 
     As was done for tendon space control, the joint torque reference can be used to implement a joint compliance law as:
 
τ*= K   c ( Q*   j   −Q   j )  (11)
 
     The resulting joint space compliance law is: 
     
       
         
           
             
               
                 
                   
                     X 
                     a 
                     * 
                   
                   = 
                   
                     
                       ( 
                       
                         
                           K 
                           p 
                         
                         + 
                         
                           
                             κ 
                             l 
                           
                           s 
                         
                       
                       ) 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             R 
                             T 
                           
                           ⁢ 
                           
                             
                               K 
                               c 
                             
                             ⁡ 
                             
                               ( 
                               
                                 
                                   Q 
                                   j 
                                   * 
                                 
                                 - 
                                 
                                   Q 
                                   j 
                                 
                               
                               ) 
                             
                           
                         
                         + 
                         
                           
                             W 
                             T 
                           
                           ⁢ 
                           
                             t 
                             * 
                           
                         
                         - 
                         
                           
                             P 
                             T 
                           
                           ⁢ 
                           Pf 
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
           
         
       
     
     The control law of equation (12) is illustrated by a block diagram in  FIG. 2  for a system  40  showing process control for the algorithm within a controller  36  that controls a motor  34  to control the tension on the tendon  28  so that the desired joints are moved. The control algorithm identifies a particular joint command that is provided to a comparator  42  to generate an error signal between the joint command and a joint value at the output of the system  40 . The joint command is a desired position for the particular joint being controlled. The error signal is provided to a desired stiffness block  44 , identified as a proportional gain for a proportional controller, that identifies a desired joint stiffness. The proportional gain at the box  44  and a desired internal tendon tension signal are combined at block  46  and the combined signal is sent to a tension limiting portion  48  of the system  40 . The tension limiting portion  48  adjusts the internal tension of the tendon  28  based on specified minimum and maximum tendon tensions. The tendon limiting portion  48  includes an inverse block  50  that converts the signal from the joint space to the tendon space using linear mapping. A limiting block  52  provides limiting in the tendon space, and a block  54  converts the signal back from the tendon space to the joint space as a toque reference signal. 
     The signal is then provided to a summation junction  56  in a torque controller portion  58  of the system. The torque controller portion  58  operates in the torque space. The summation junction  56  receives a torque feedback signal from a block  60  and a signal from a b block  62 . The torque controller portion  58  is a proportional/integral controller that is controlling the torque of the specific joint that provides a joint displacement signal. Boxes  64  and  66  integrate the signal. Box  68  converts the signal from the desired joint displacement to a desired tendon displacement. 
     The tendon displacement signal is sent to the motor  34  to control the tendon tension. It is assumed that the motor contains a high-speed position controller. The effect of sending the signal to the motor  34  is modeled by a passive robot dynamics portion  70  of the system  40 . A summation junction  72  models the amount by which the tendon  28  is stretched between the actuator and manipulator. A block  74  models the tendon stiffness and calculates the resulting tendon tensions. Boxes  76 ,  78  and  80  in the robot dynamics portion  70  all define the inertia and physical coupling of the robotic system. Using the joint displacement signal, the passive robot dynamics portion  70  models the position of the joints that is embodied in the joint value that is fed back to the comparator  42 . 
     Another embodiment of the invention uses joint-space torque control in the context of a proportional derivative controller. For this control law, the desired joint space behavior is: 
                     (           Q   a   *               Θ   a   *           )     =       (           Q   a               Θ   a           )     -         k   d     ⁡     (           Q   a               Θ   a           )       ⁢   s     +       k   p     ⁡     (       (           τ   *               τ   *           )     -     (         τ           τ         )       )                 (   13   )               
Where k d  and k p  are the proportional and derivative gains.
 
     This control law can be written in the tendon space as:
 
 X*   a   =X   a   −k   d   X   a   s+k   p ( R   T   τ*+W   T   t*−P   T   Pf )  (14)
 
     Incorporating the desired joint reference position, the corresponding tendon space impedance law is:
 
 X*   a   =X   a   −k   d   X   a   s+k   p ( R   T   K   c ( Q*   j   −Q   j )+ W   T   t*−P   T   Pf )  (15)
 
     Note the similarity between equations (14) and (15). The only difference between the two control laws is the use of P T  versus P −1 . Using the transpose of the inverse produces the decoupled motion in the joint-space. This is analogous to the duality associated with the Jacobian in the Cartesian control of serial manipulators. Consider the two control laws: J −1 Δx and J T Δx. The first produces straight line motion in Cartesian space, while the second produces coupled Cartesian motion. 
     The foregoing discussion discloses and describes merely exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion and from the accompanying drawings and claims that various changes, modifications and variations can be made therein without departing from the spirit and scope of the invention as defined in the following claims.