Abstract The paper compares  various  approaches  to  imple- menting  a  compliant Cartesian  behavior  for  robotic manipulators: impedance,  admittance  and  stiffness control.  A  new controller structure  is proposed, which consists  of  an  impedance controller  enhanced  by  lo- cal  stiffness  control.  This structure consistently takes into account  the  two  time  scale  property  of  the joint and  Cartesian  control loops.  The DLR light-weight robot,  with  its position,  torque and  impedance  inter- faces  on joint  level,  is  an adequate platform for  the implementation of  the presented methods. 63444
The experi- mental results are  discussed and  a critical comparison of  the performance  with different  controllers is made. As  an  application for  the new  control  structure, the fast and  intuitive teaching of  an insertion task  (piston into a motor block) is described. 1  Introduction Applications  in which  a robot’s end-effector  inter- acts with the environment  require a suitable compliant behavior to  be implemented  in Cartesian space. A well established framework  to manage  this task  is given by impedance  control  [8]. The aim  of  an  impedance controller  is  to establish  a mass-damper-spring  rela- tionship between  the Cartesian position  Ax  and  the Cartesian force f: f  = MAX  + DkAh +  Kkh,  (1) where M, Dk  and Kk  are positive definite matrices representing  the  virtual  inertia, damping and  stiff- ness  of  the  system.  If  the  focus  is  on  the  stiffness and  damping properties,  there  exist  various  control strategies  to implement  this behavior on a real robot system.  In this paper  we  will  focus on admittance control,  impedance control and stiffness control.  The first method  is widely used,  since a position  control interface is available on every robotic system.  In con- trast, the last  two methods require  a joint  torque or joint impedance  interface.  The  usefulness  of  direct current command as a torque  interface  is  limited for most  robots  by  the  disturbing  influence of  the  fric- tion.  The joints of  the DLR light-weight  robots  are equipped with torque sensors, enabling joint position, torque and stiffness control.  Thus,  they  are an ade- quate platform  for  the implementation and compari- son of  the aforementioned  Cartesian control methods [7]. An  overview of  the controller architecture of  the DLR robots is given in section  2. The  paper  first  considers  the  classical structures of  admittance,  impedance and stiffness control, with a  special  focus  on  the  last method,  which is  quite common  for  robotic  hands but  rarely  used for  arms. It  turns  out that  stiffness  control  leads  to  substan- tial  geometrical  errors  for  high displacements.  The use of  a conservative congruence  transformation does not  improve  the  results  considerably.  In this  paper we  propose  a new control strategy, which  consists in impedance control augmented by  local stiffness con- trol.  This  approach  combines  the  benefits  of  both control methods  in  terms of  geometric accuracy  and attainable stiffness range. 2  Overview of  the LWR  controller ar- chit  ect  ure Fig. 1  gives an overview of  the controller structure implemented  on DLR’s light-weight  robots.  The  joint control is computed  in  a decentralized  manner, on  a signal processor  in  each  joint,  with  a  sampling  rate of  3kHz.  A  flexible  joint  model  is  assumed  for  the robots  [3].  The motor position  q1  and joint  torque T  are available from measurements.  Their derivatives are computed numerically. With these four signals  it is possible  to implement  joint controllers with  full state feedback. Conditions for  the passivity of  the controllers were derived  in  [2].  The  joint  controller  is  actually  an impedance controller, which,  depending on  the com- manded joint  stiffness, can be parameterized as a po-sition controller  (kdes = kma)  or a torque controller (kdes  ---*  0).  Every  lms the joints receive  the desired Values {&d,  qld,  +d, ~d},  the variable parameters for the joint controllers as  well as  a feed-forward motor torque command term from the central robot controller.  The measured values  are transmitted with  the same sam- pling rate from the joints to the Cartesian level. The  robot  dynamics,  the  kinematics  and  the  in- verse  kinematics  are computed  in  the  central robot controller.  In every Cartesian cycle the gains for  the joint controllers  are  also  computed  as a  function  of the desired stiffness and the current value of  the iner- tia matrix. This structure is well suited for the implementation and testing of various Cartesian control strategies. For example, the Cartesian force controller can be  imple- mented either by  using  the  transposed Jacobian and accessing  the joint  torque  interface,  or  by  using  the inverse kinematics and accessing the  joint position  in- terface.  In a similar way, the structure can be used  to implement admittance,  impedance and  stiffness con- trol. 3  Impedance control methods In this  section we  summarize the  three  aforemen- tioned control  methods,  which  can  be  used  to  ob- tain  the desired compliant  robot  behavior  in  Carte- sian space.  Therefore it is useful to keep in mind that regardless of  the control method, the motor  torque  is eventually the value commanded to the robot. 3.1  Admittance Control The Cartesian force at the end-effector is measured in  the  case of  admittance  control by  a  6DOF  force- torque sensor.  The force vector is used  to generate a desired Cartesian position Xd. Using the inverse kine- matics K-l,  this displacement is converted to desired joint positions.  The joint  position controller Pn  then generates the motor  torques: where 42  is  the  link side position  of  the joints.  This method  is  the most  commonly used  one, since most robots  have only  a position  interface.  The  advan- tages  are  that  the high gain position  controllers  can compensate  for  the  friction in  the  joints and  that, for  the  implementation  of  high  stiffness,  low  gains are  needed  in  the  Cartesian control  loop.  Hence  it is  clear  that  stability  problems  will  appear  for  low desired  stiffness  and damping,  for  which  the  band- width  of  the  Cartesian control  loop approaches  the joint  bandwidth. This problem  is  even more  notice- able  for  flexible  joint  robots,  since in  that  case  the bandwidth  of  joint  control  is more  critical.  Further problems arise in  the  vicinity  of  singularities,  where Cartesian position control can  typically  lead  to fast, destabilizing movements. 3.2  Impedance Control The  impedance control  uses  directly  the  equation (l),  in which  the actual Cartesian position x  = K(q2) is computed from  the position 42 using direct kinemat- ics. Using the transposed Jacobian JT(q2),  the Carte- sian  force  is  transformed  into  desired  joint  torques. The  joint  torque controller 7~  then generates the mo- tor torque command: f = KkAX  f DkAi 4  Td  =  JT(q2)f 4 -+  Tm =  TR{Td)  (3) To obtain good results with this method, a  joint  torque controller which  can  overcome  the  joint friction  dis- turbance is very useful.  The impedance controller  is, in  principle,  complementary  to  the  admittance  con- troller.  It is well suited for low stiffness and damping, which  now  require  low  gains  in  the  Cartesian  loop, while  the bandwidth of  the torque  controller is opti- mally  exploited.  The  stability  problems will  appear correspondingly  for high Cartesian stiffness. The behavior at singularities  is  also different from that  of  the  admittance controller.  Components of  f, which  act  in  singular directions,  are  not  mapped  to the joint space.  The movement in  the vicinity of  sin- gularities will be stable and smooth, but the stiffness matrix will be distorted. 3.3  Stiffness control From  the  previous two methods  one can  see  that appropriate performance can be achieved  if  the gains in  the Cartesian  control  loop  axe  substantially lower than  those in  the joint controllers.  This  leads  to the idea of  converting the desired Cartesian  stiffness and damping to corresponding matrices for the  joint stiff- ness Kj and damping Dj. Assuming  that the desired Cartesian matrices are changing  rather slowly, there is no need  for very high Cartesian sampling rates.  The joint  impedance controller  SR  can  then  be  used  to generate the desired motor torque. 3.4  Limitations of  the stiffness controller The mapping 7 as well  as  the matrices  {Kj,  Dj} have only a  local meaning.  Kj  and Dj  give  a  local relationship between the  joint  torque and the  joint  po- sition or the joint  velocities, respectively. '  In the early work  of  [14], only  the first  term of  (5) is mentioned.  The  importance  of  the  second  term, which  reflects  the  position  dependent  change  of  the Jacobian  is  pointed  out  in  19,  5, 6,  11.  The  idea  of mapping  the Cartesian  stiffness  to  the joint  stiffness is biologically motivated.  The human  arm  is  able to change its stiffness by contracting antagonistic muscle pairs  [9, 121.  In case of  robotic manipulators, this can be accomplished only by means of  control,  the  input for  the robot  is always the motor torque. The direct  implementation of  a Cartesian  stiffness with the control law: rd  = K~(IC-'{XO}  -  q2) -  DjQz  (6) leads,  at  least  for  higher  displacements Ax  from  the desired position,  to substantial errors  in  the stiffness matrix.  The reason for these errors is the local char- acter of  (5). The last  term in  (5) does not completely eliminate  this error, because  = KkJ(q2) is also valid only locally. Here,  the Jacobian is implicitly 'For  sake of  simplicity, we  used here  the  somewhat sloppy expression  from  [9]  of  the  derivative of  a matrix  by  a  vector .w.  Writing  the  expression  for  every  row  of  Kji  with i = 1,.  .  ,  ,  N eliminates  the ambiguity. The resulting matrix  is of course equivalent also to the formulation of  the conservative congruence transformation in  [5, 61. assumed to be constant, despite of being multiplied by a big displacement Aqz. 4  Impedance  controller  enhanced  by local stiffness control In this  section,  a  new  controller  structure  for  the implementation  of  Cartesian  stiffness  is  presented. Based on the remarks in the previous section, the new controller structure is designed with the following con- siderations in mind: (Al) J(q2)  and x  = K(qz) may be computed  in a slower (A2) The robot has a fast joint control loop, for which the time delay is negligible, so that 42  x q2j. (A3)  (6)  is valid only locally. Cartesian control loop. Notations:  The  signals,  which  are  measured  or computed  in  the Cartesian  loop  are denoted  by  the index []k. The index uj refers to signals determined in the joint control loop, while  the real  (instantaneous) values have no index.  Furthermore, for  the difference signals, the notations Aqk  =  qo -  qk  and Aqj = Qk -  qj are used.  Considering (Al),  it  follows that  : AX  XO-XXXO-~~--  (q2j -  q2k) = =  Axk -k  J(q2k)bj  (7) This leads to the following expression for the stiffness induced component of  the desired joint torque: 7dK  =  JT(q2)KkAx  =  JT(qzk)KkAXk 4- The  first term corresponds  to  the impedance  controller on  Cartesian  level.  The  second  term  corresponds to the stiffness controller, as described in  [14]. Here, in contrast  to (6),  the stiffness controller acts only  locally, in  the  vicinity  of  the  last  Cartesian  position.  This helps overcoming the slower Cartesian sampling rate by  the faster joint controller. The third term corresponds  to the correction term in (5),  which ensures the conservativeness of  the map- ping.  Since the  term  contains  the Cartesian  elastic force for  the  complete displacement Kkhxk,  it  can not  always be  ignored,  although  the variation'  of  the Jacobian within a  Cartesian cycle  is  small. Finally, the  fourth  term  depends on  the  square of  the  small displacement Aq2j  and consequently has no practical significance. In a similar way one obtains for the damping term: The second  term  in  this expression may again be  ig- nored. manded to  the  torque controller.  To exploit the perfor- mance of  the joint controller optimally,  it  is more ad- vantageous  to use the  joint stiffness controller instead. The  term JT(q2k)KkAsk  is computed in  the Cartesian loop and  is sent as a commanded torque value  to the stiffness controller.  The  terms  JT(q2k)KkJ(q2k)  and KkAx  are  also computed  in every Carte- sian  cycle and represent  a constant desired  stiffness, which  is  commanded  to  the joint  controllers  for  the duration of  this step. Remark:  In  the  current,  decentralized joint  con- troller  structure, only the diagonal terms of  the stiff- ness and damping matrices can be implemented using the  joint impedance controller.  The torques produced by the off-diagonal elements are computed on the cen- tral computer in a  joint  level task (at  the bus sampling rate of  lms) and are added  to the desired torques. The desired  torque  rd  = TdK  -I-  TdD  can be  com- qZ=qZk 5  Experimental results The controller structures, which were described in sec. 3 and sec. 4,  have been implemented on the DLR light-weight  robots. In this  section  an experiment  is described, which compares  the performance of  the var- ious  controllers.  During  the experiment,  the desired position  is kept constant. A very  low stiffness is com- manded  in  one  translational direction  (y), while  the desired stiffness  in  the  other Cartesian  directions  is high. Regardless  of  the forces applied by the user hand at the end-effector, the robot  should consequently be able to move only in  the y-direction.  The controllers are compared  in  terms of  the minimal  and maximal stiffness  that  can be  achieved, as well  as in  terms of the geometric accuracy  for  high  displacements.  The commanded values for the stiffness are summarized in table 1. 2Since the  focus of  this  work  is  on  the  structures  of  the impedance controller,  the values  for the rotational stiffness were deliberately  chosen high,  so  that  the particular representation of orientations has no significant effects on the results, as  pointed out  in  [4,  IS]. Table  1:  Commanded values  for  the diagonal Carte- sian  stiffness matrix X  IYI z  I  roll  I  pitch  I  yaw 3000  I  100  I  3000  I  200  I  200  I  200 U  N/m  I N/m  I N/m  I "/rad  I "/rad  I "/rad  11 The pure impedance controller showed up the poor- est performance in terms of  achievable stiffness range. As  expected,  it was  not  possible  to  implement  high stiffness with  this controller.  The stiffness  for which stability was  preserved, was  by  a  factor  of  10  lower than  for  the  other  controllers.  Reasons for  this are the  high  gains needed  in  the  Cartesian control  loop and  the  limited  bandwidth  of  the  joint  torque  con- troller.  Closing the impedance control  loop on Carte- sian level leads to a cascaded structure. For high stiff- ness,  the  separation principle  for  the  time  constants of  the  two  stages of  the  cascade is violated.  A com- parison between  the  impedance controller  and  other structures from the point  of  view  of  geometric accu- racy was therefore not possible. The  stiffness controller  implemented with (6),(5) shows up very good stiffness and damping range per- formances. Since the  stiffness and  the  damping  are implemented  inside  the  fast joint controllers,  it was possible to vary the stiffness  from zero (torque control) to high values  in  the range of  the position controller. Moreover,  typical  stability  problems encountered  by force controlled robots at contacts with hard surfaces were absent here,  even for high velocity  impacts.  An important  drawback of  the method  is, however,  the poor performance in  terms of  geometric accuracy for high displacements.  As  it can be  seen  in  fig.  2  and fig.  3,  the  trajectory  described  by  the  robot  corre- sponds to  the desired straight  line only  in  a  vicinity of  the desired position, but becomes curved for higher displacements.  In these positions,  the Cartesian stiff- ness matrix is very distorted, for reasons presented  in section  3.4.  This  effect was  not  substantially  influ- enced by  the use of  a conservative or nonconservative congruence transformation.  This fact  severely  limits the practical applicability  of  the method. The other two curves in fig. 2 and fig. 3 present  the results  for  the  impedance controller  enhanced  by lo- cal stiffness control (section 4),  with conservative and nonconservative congruence transformation.  Due  to the use of  the impedance controller,  the geometric ac- curacy  is  considerably improved, while  the  stability problems with the  impedance controller are eliminated by  the fast joint stiffness control.  The advantages of a high stiffness  range and a high bandwidth  are pre- served. Fig. 4  and  fig. 5 show  the measurements  for the  same  controller  together with  the  field  of  forces applied by  the user  and measured by  a 6DOF  force- torque sensor.  (Notice  that  in this case, the force sen- sor is used only  for displaying  the forces, the controller itself needs only joint position  and joint  torque mea- surements.)  Fig. 4  also shows  the robot  in  the initial configuration (20). Finally, fig. 6 and fig. 7 compare  the performance of the admittance controller with  that  of  the controller from section 4.  It can be seen that from respect to ge- ometric  accuracy,  the  admittance controller  still has the best  performance. This can be explained by  the fact  that  the method  explicitly uses  inverse kinemat- ics  and  that the high gains of  the position  controller compensate for the effects of  friction. Nevertheless,  the  admittance  controller  also  has some drawbacks compared to the controller from sec- tion  4. An  important  one  is  related  to  the behavior in  the vicinity of  singularities.  Since in  this situation inverse kinematics may lead to high joint velocity, the admittance controller  tends  to become  unstable.  In contrast,  the other controller decreases  its sensitivity, since  forces at  the end-effector can not be measured by the joint  torque sensors.  The controller remains sta- ble,  only  the  Cartesian  stiffness matrix  is  distorted. Another drawback is related  to the bandwidth of  the admittance controller.  Low  stiffness can be  achieved only if  damping is considerably  increased, still leading to a low bandwidth of the force controller implemented on  the Cartesian  level.  This  leads  to stability prob- lems  at contact  or  impact with  hard  surfaces, unless the velocity of  the robot  is considerably reduced. As  a  conclusion  it  can  be  stated  that  admittance control  is  a  good  choice  for  applications  where  geo- metric accuracy  is  relevant  and the  contacted  envi- ronment does not  have a very high stiffness.  This  is, for  example,  the case for  force-feedback  applications [13]. In applications where a high bandwidth  is more important, while geometric accuracy is  required only in  a  fairly large vicinity of  the desired  position,  the impedance controller enhanced by  local stiffness con- trol is a better choice. 5.1  The behavior in  the null-space The  DLR  light-weight  robots are  7DOF redun- dant manipulators [7]. The control methods presented above  are  influencing only  the TCP behavior of  the robot  [ll].  The explicit control of  the robot motion in the null-space is not addressed in  this paper.  Results obtained with the DLR  light-weight  robot, which  are related  to  these  topics  are reported  in  [15]. Never- theless,  it  is worth mentioning  the  implicit  behavior in the null-space, resulting  from the presented control methods.  Both  the  impedance and  the  stiffness con- troller  lead  to zero stiffness in  the null-space. Forces applied  in  null  space direction can move  the  joints, while keeping the TCP at the same position.  The ad- mittance  controller is,  by  contrast,  implicitly  stiff  in the  null space.  In both  cases,  the  behavior can be changed by explicitly projecting some forces or move- 6  An application:  Automatic piston insertion via teaching by demonstra- t  ion As  an  application  for  the controller  structure pro- posed in section 4,  the task  "teaching and automatic insertion of  a piston  into a motor  block"  is presented (fig. 8). Teaching  is realized by guiding  the robot with the human  hand, just  using the internal torque sens- ing. It was  initially  known  that  the axes of  the holes in the motor block were vertically oriented.  In the teach- ing phase,  high stiffness components  for  the orienta- tions  were  commanded, while  the  translational  stiff- ness was set  to zero.  This  allowed only  translational movements to be demonstrated by  the human opera- tor. In the second phase,  the taught trajectory  has  au- tomatically  been reproduced  by  the  robot.  In  this phase, high values were assigned for  the translational stiffness, while the stiffness for the rotations was low. This enabled the robot  to compensate for the remain- ing position errors.  In this experiment,  the assembly was  fulfilled automatically  four  times faster  than  by the human  operator in  the  teaching phase.  For  two pistons,  the total time  for  the assembly was 6s. 
上一篇:地下车库的污染物扩散英文文献和中文翻译
下一篇:视觉伺服系统英文文献和中文翻译

液压扭矩扳手系统技术英文文献和翻译

互联网教育”变革路径研究进展【7972字】

ASP.net+sqlserver企业设备管理系统设计与开发

LiMn1-xFexPO4正极材料合成及充放电性能研究

网络语言“XX体”研究

老年2型糖尿病患者运动疗...

我国风险投资的发展现状问题及对策分析

张洁小说《无字》中的女性意识

新課改下小學语文洧效阅...

安康汉江网讯

麦秸秆还田和沼液灌溉对...