Force-Impedance Control: a new control strategy of robotic manipulators 1 1 Fernando Almeida , António Lopes , Paulo Abreu 1 1 IDMEC - Pólo FEUP, Faculdade de Engenharia da Universidade do Porto, Rua dos Bragas, 4099 Porto codex, Portugal {fga, aml, pabreu} fe.up.pt Abstract. A novel control strategy of robotic manipulators is presented in this paper: the force-impedance controller. This controller enables two kinds of behaviour: force limited impedance control and position limited force control. The type of behaviour only depends on the chosen manipulator trajectories. Free space error dynamics and post-contact manipulator dynamics may be independently chosen if a new impedance control architecture is used. Simulation results of a force-impedance controlled parallel manipulator, executing tasks that involve end-effector contact with uncertain environments of unknown stiffness, are presented. 1. Introduction Position control strategies have been successfully used on robotic tasks involving a null or week interaction between the manipulator and its environment. Good examples are provided by spray painting, welding and palletising tasks [1], [2], [3]. On the other hand, although the set of tasks requiring a strong interaction between the manipulator and the environment is very large [1], [4], [5], the use of robots on assembly, polishing, grinding and deburring tasks, as well as on the field of medical surgery [6], is still low due to control difficulties. The two main approaches to the control of the interaction of the manipulator and its environment are [4], [7]: − Hybrid Force-Position Control [8], [9]; − Impedance Control [1], [4], [10]. Hybrid control is motivated by the task analysis made by Mason [11]: on each direction of the task space, the environment imposes a force or a position constraint. These natural constraints are originated by the task geometry. Only the unconstrained variables may be controlled, their reference values being artificial constraints imposed by the task execution strategy. Hybrid control enables the tracking of position and force references, the task space being decomposed into force and position controlled directions. As the decomposition is based on an ideal model of the environment, the ever present modelling errors always lead to unwanted movements along the force controlled directions and unwanted forces along position controlled directions. This problem is more acute during the transition between free space and interactive movements, necessitating the use of some kind of controller switching strategy based on contact force information. Unfortunately, the switching process may induce an unstable manipulator behaviour [12], [13], [14], [15]. The impedance control objective is to control neither force nor position but their dynamic relation, the desired impedance, along each direction on the task space. Impedance controllers possess some inherent robustness to environment modelling errors [16], [17], [7]. Nevertheless, as contact forces cannot be directly imposed, they may grow in an uncontrolled manner due to modelling errors of the environment impedance. Controllers combining the hybrid and the impedance control approaches have been developed, their main objective being a robust behaviour under environment modelling errors [18]. The Hybrid Impedance Controller proposed by Anderson and Spong [19] uses an inner control loop for manipulator dynamics linearization and decoupling. Impedance control substitutes for the position control used on hybrid controllers position subspace. This way, a desired manipulator dynamic behaviour is imposed. Chiaverini and Sciavicco [16] combine a PD position control loop in parallel with a PI force control loop. The controller achieves the typical robustness of an impedance controller and the ability to follow position and force references of an hybrid controller. Position and force references must be specified for each task space direction. Control action is obtained as the sum of the two parallel loops control actions. Conflicting situations, as an unexpected contact, are naturally solved as force control always rules over position control, due to the integral control action. Unfortunately this may lead to an undesirable manipulator drift, along the contact surface, in the presence of environment modelling errors. Neither of the above controllers enable the definition, over a force controlled direction, of a free space trajectory up to the contact surface without the use of some sort of force measure based switching strategy. The novel force-impedance controller presented in this paper behaves itself as an impedance (position) controller up to contact set up. Afterwards, impedance or force control is achieved. This behavioural change is performed without the use of any supervising switching strategy. Section 2 presents a new impedance controller structure that enables a definition of different free space error dynamics and post-contact impedance. The novel forceimpedance controller is developed in section 3. Simulation results of an experimental parallel manipulator under force-impedance control are presented in section 4. Conclusions are drawn in section 5. 2. Impedance Control The control objective of an impedance controller is to impose, along each direction of the task space, a desired dynamic relation between the manipulator end-effector position and the force of interaction with the environment, the desired impedance. Usually, the desired impedance is chosen linear and of second order, as in a massspring-damper system. Higher order impedances have a less well known behaviour and require additional state variables. In order to fulfil the task requirements, the user chooses a desired end-effector impedance that may be expressed by equation 1, M d (x − x d ) + B d (x − x d ) + K d ( x − x d ) = − f e (1) where Md, Bd and Kd are constant, diagonal and positive definite matrices representing the desired inertia, damping, and stiffness system matrices. Vectors x and xd represent the actual and the desired end-effector positions, and fe represents the generalised force the environment exerts upon the end effector. If the manipulator is able to follow an acceleration reference given by [ x r = x d + M −1 d ⋅ − f e + B d (x d − x ) + K d (x d − x ) ] (2) it will behave as described by equation 1. So, x r is the reference for an inner loop acceleration tracking controller, that linearizes and decouples the manipulator nonlinear dynamics. xd fe xd Controlled System Bd + xd + − + + Kd − + + M −1 d − xr G aa (s) x 1 s x 1 s x Bd Fig. 1. Block diagram of an impedance controller Fig. 1 shows a block diagram of an impedance controller. The transfer function matrix Gaa(s) represents the non-ideal behaviour of the inner loop acceleration controller, such as finite bandwidth and incomplete decoupling. At low frequency, up to a maximum meaningful value, the acceleration controller must ensure that Gaa(s) may be taken as the identity matrix, I. Hence, and without loss of generality, the force-impedance controller will be presented for a single dof system. Under these conditions, and taking all values from Fig. 1 as scalar quantities, the end-effector position on the Laplace domain, X(s), is given by X (s) = X d (s) − G f (s) ⋅ Fe (s) (3) where G f (s ) = 1 M d s + Bd s + K d 2 (4) represents the desired manipulator admittance. The initial error between x and xd decays to zero, in free space, according to a characteristic equation equal to the desired impedance. The desired manipulator dynamics, expressed by equation 1, may also be implemented using a new, and more general, structure presented in Fig. 2. x ∆ represents the position changes, relative to the free space trajectory, due to the contact force fe. In this case, G f (s ) = 1 ⋅ M f s2 + B f s + K f (5) This new structure enables the independent definition of free space error dynamics, and post-contact, Gf(s), manipulator dynamics. In free space, the error between x and xd decays to zero with a dynamic behaviour given by the following characteristic equation: M x s 2 + Bx s + K x = 0 ⋅ (6) This extra degree of freedom may be used to improve free space error dynamics, without compromising the desired impedance under contact. Using the conventional structure presented in Fig. 1, a similar behaviour could only be obtained by switching controller gains (impedance). With the new control structure, the need for a supervising switching strategy is avoided. From equations 5 and 6 it is easily concluded that the impedance controller is stable as long as parameters Mx, Bx, Kx, Mf, Bf and Kf are chosen strictly positive. However, it should not be forgotten that the inner acceleration loop finite bandwidth (Gaa(s) ≠ I) may lead to instability if the desired manipulator dynamics are chosen too fast. xd xd Bx + xd + + 1 Mx Kx − − + + x − ∫ x ∫ x + Bx + + + fe + 1 Mf − x∆ ∫ x∆ ∫ x∆ + Bf + Kf Fig. 2. New impedance controller structure: free space error dynamics and manipulator impedance may be independently defined 3. The new Force-Impedance Controller The force-impedance controller presented on this paper combines the robustness properties of an impedance controller with the ability to follow position and force references of an hybrid controller. The proposed controller has two cascaded control loops (see Fig. 4): an impedance controller, as the one presented on the previous section, is implemented as a inner loop controller. An integral force controller is used as an external loop controller. This force controller acts by modifying the position reference, given by xd, in order to limit the contact force to a specified maximum value. For each task space direction the user must specify a, possible time variant, force reference, in addition to the desired position trajectory, impedance, and free space dynamics. The force reference has the meaning of a limiting value to the force the end-effector may apply to the environment. The static force-displacement relation imposed by the force-impedance controller is presented in Fig. 3. Positive force values are obtained with a “pushing” environment and the negative values with a “pulling” one. The contact force saturation behaviour is obtained by the use of limited integrators on the force control loop. While the manipulator is not interacting with the environment the controller ensures reference position tracking with the specified free space error dynamics. After contact is set up the controller behaviour may be interpreted in two different ways: − as a force limited impedance controller; − as a position limited force controller. If contact conditions are planed in such a way that the force reference (limit) is not attained, the manipulator is impedance controlled. If environment modelling errors result in excessive force, the contact force is limited to the reference value. If contact conditions are planed in order to ensure that the force reference is attainable, the manipulator is force controlled. When environment modelling errors result in excessive displacement, manipulator position is limited to its reference value. This kind of manipulator behaviour ensures a high degree of robustness to environment uncertainty. fe fd x∆+ Kd x∆− x∆ −α ⋅ f d Fig. 3. Static force-displacement relation imposed by the force-impedance controller Fig. 4 shows the force-impedance controller under a contact situation with a purely elastic environment. Its contact surface is positioned at xe and presents a stiffness Ke. In order to allow a choice of integrator gain, KF, that is not dependent on the desired manipulator stiffness, Kf, the force error is divided by it. When the force control loop is in action the end-effector position, on the Laplace domain, is described by the next equation, X (s) = X d (s) + Gx (s)U ( s) − G f (s)Fe (s) (7) where [ ] U (s) = Fd (s) − Fe (s) ⋅ KF 1 ⋅ s Kf (8) and Kx ⋅ M x s 2 + Bx s + K x G x ( s) = (9) Impedance Controller Force Controller xd + fd 1 −α − + + + u + 1 Kf + KF s − xe 0 KF s x Gx − + fe Ke − 0 Gf Fig. 4. Block diagram of the novel force-impedance controller interacting with an elastic environment of stiffness Ke Substituting equations 5, 8 and 9 in equation 7 the following relation results: X (s ) = PX (s) P ( s) P ( s) ⋅ X d ( s) + F ⋅ Fd (s) + E ⋅ X e ( s) Q X (s ) Q X ( s) Q X ( s) (10) where, )( ( PX (s) = K f s M x s2 + Bx s + K x M f s 2 + B f s + K f ( PF (s) = K F K x M f s 2 + B f s + K f ( ) ) (11) ) (12) ( PE (s) = K F K x K e M f s 2 + B f s + K f + sK e K f M x s2 + Bx s + K x ( )( ) Q X (s) = K f s M x s 2 + Bx s + K x M f s 2 + B f s + K f + ( ) ( ) ) K f K e s M x s + Bx s + K x + K x K F K e M f s 2 + B f s + K f ⋅ 2 (13) (14) If the desired manipulator free space error dynamics is made equal to the desired impedance, then Mx = Mf = Md, Bx = Bf = Bd, and Kx = Kf = Kd. Under this assumption the force-impedance controller can be simplified (see Fig. 5) and the manipulator position may be expressed as X (s) = (M s 2 d ( 2 ( 2 ( 2 ) + Bd s + K d s ) s M d s + Bd s + K d + K e s + K F K e KF ) s M d s + Bd s + K d + K e s + K F K e K F K e + sK e ) s M d s + Bd s + K d + K e s + K F K e X d ( s) + Fd (s) + (15) X e ( s) ⋅ If the Routh stability criteria is applied to equation 15, a maximum value of the force control loop integral gain, KF, is obtained as KF < Bd ( K d + K e ) Bd < ⋅ Md Ke Md (16) So, KF may be chosen in a manner that is independent of the environment stiffness Ke, increasing the controller robustness to environment modelling uncertainty. A similar stability analysis for the case when different free space error dynamics and post-contact impedance are desired is still under study. Impedance Controller xd xd + fd 1 −α KF s − + − KF s Bd xd Force Controller xe Controlled System 0 + 0 1 Kf + Kd − − + + + + + + M d−1 + xr Gaa (s) − x x x 1 s 1 s + − fe Ke Bd Fig. 5. Force-impedance controller: same free space error dynamics and post-contact impedance 4. Force-Impedance Controller Simulation Results A simulation of the force-impedance controller, when applied to the control of a 6 dof parallel manipulator, was performed. An experimental set-up is under construction: the Robotic Controlled Impedance Device (RCID). This is a fully parallel minimanipulator with a Merlet platform architecture [20], [21]. The RCID is coupled to an industrial manipulator: the latter one performs the large amplitude movements while the RCID is only used for the fine and high bandwidth movements needed for force-impedance control. The simulation program was developed on ACSL (Advanced Continuous Simulation Language) [22] and implements a discrete time version of the controller. Fully dynamic models of the manipulator, actuators, and transducers were included. The simulation also takes into account position, acceleration, and force measurement noises, as well as input and output quantization. The inner loop acceleration controller uses a 1 kHz sampling frequency and achieves a closed loop bandwidth of 400 rad/s. The force-impedance controller runs with a 500 Hz sampling frequency and includes a velocity observer having acceleration and position as input variables. The two simulation cases that are presented next were chosen in order to enable an easy performance evaluation of the force-impedance controller. The first case shows the force-impedance controller working as a force limited impedance controller. The task includes an approach to a contact surface, followed by a contact phase and, in the end, a pull back movement. During the contact phase, the end-effector must follow the surface xe, presented in Fig. 6(a), and the contact force must be limited to fd = 100 N. The desired trajectory xd was planed without taking into account a 2 mm hump on the contact surface and requires the end-effector to move 1 with a speed of 5 mm s− . Simulation results, with impedance matrices Md = diag([200 200 200 1 1 1]) (Kg; 4 4 4 1 1 Kg m), Bd = diag([1.2×10 1.2×10 1.2×10 40 40 40]) (N s m− ; N m s rad− ), and 5 5 5 1 1 Kd = diag([1.8×10 1.8×10 1.8×10 400 400 400]) (N m− ; N m rad− ), force 1 controller gain KF = 40 s− on all dof, and force environment stiffness 6 1 Ke = 2×10 N m− , are presented in Fig. 6(b), position tracking error norm, and Fig. 6(c), contact force. The manipulator tracks xd up to the contact surface. After impact, impedance is regulated. When the unexpected hump is attained, the contact force grows up quickly and is limited to its reference value. After the hump, and to the end of the contact phase, the controller returns to impedance control. Position tracking is regained when the end-effector goes back into free space. In the second case the force-impedance controller is used as a position limited force controller, tracking a reference force profile. After a free space approach to the contact surface, the end-effector must track a desired contact force profile and, in the end, do a pull back movement. The desired trajectory xd (Fig. 6(d)) was planned on the basis of an uncertain model of the environment, and requires the end-effector to 1 move with speed of 20 mm s− . Simulation results, using the same set of parameters as on the previous case, are presented in Fig. 6(e), position tracking error norm, and Fig. 6(f), reference force profile and actual contact force. During the approach phase, the manipulator follows the desired position trajectory up to the contact surface. After impact, a short period of impedance control is observed. When the desired force becomes attainable, force control starts. The desired force profile is followed up to the beginning of the pull out movement. During the pull out phase the controller returns to impedance control, enabling the manipulator to follow the desired free space position trajectory. 12 Environment / Reference Position (z − axis) (mm) Environment / Reference Position (z − axis) (mm) 12 10 8 6 4 2 0 −2 0 50 100 10 8 6 4 2 0 −2 0 150 50 Position (x − axis) (mm) 2.5 2.5 2 2 1.5 1 0.5 0 0 1 0.5 50 100 0 0 150 50 (b) 100 150 Position (x − axis) (mm) 200 250 200 250 (e) 140 140 120 120 Contact force / Reference force (N) Contact force / Reference force (N) 250 1.5 Position (x − axis) (mm) 100 80 60 40 20 0 0 200 (d) Position error (mm) Position error (mm) (a) 100 150 Position (x − axis) (mm) 100 80 60 40 20 50 100 Position (x − axis) (mm) (c) 150 0 0 50 100 150 Position (x − axis) (mm) (f) Fig. 6. Simulation results: (a), (b), and (c) - force limited impedance control case; (d), (e), and (f) - position limited force control case. (References are represented by dashed lines) 5. Conclusions The novel force-impedance controller presented on this paper enables the follow up of position and force trajectories, nevertheless achieving the robustness properties inherent to impedance controllers. If the new impedance control structure is used, different free space error dynamics and post-contact dynamics may be used, without the need of a switching strategy. Force limited impedance control and position limited force control may be implemented with the proposed force-impedance controller. The type of behaviour is only dependent on the chosen trajectories and does not necessitates any other decision mechanism. The simulation of a force-impedance controlled parallel mini-manipulator, the RCID, shows that good position, impedance, and force tracking is obtained The robust behaviour of the proposed controller is also enhanced by the fact that its parameters may be fully defined without the knowledge of the environment stiffness. This research was supported by Ministério da Ciência e Tecnologia - FCT, under the project nº PBIC/C/TPR/2552/95. References 1. Hogan, N.: Impedance Control: an Approach to Manipulation: Part I-III. ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 107 (1985) 1-24 2. Hogan, N.: Stable Execution of Contact Tasks Using Impedance Control. Proc. IEEE International Conference on Robotics and Automation (1987) 1047-1054 3. Mills, J. K., Goldenberg, A. A.: Force and Position Control of Manipulators During Constrained Motion Tasks. IEEE Transactions on Robotics and Automation, Vol. 5, N. 1 (1989) 30-46 4. Kazerooni, H., Sheridan, T. B., Houpt, P. K.: Robust Compliant Motion for Manipulators: Part I-II. IEEE Journal of Robotics and Automation, Vol. 2, N. 2 (1986) 83-105 5. De Schutter, J., Van Brussel, H.: Compliant Robot Motion: Part I-II. The International Journal of Robotics Research, Vol. 7, N. 4 (1988) 3-33 6. Ho, S. C., Hibberd, R. D., Cobb, J., Davies, B. L.: Force Control for Robotic Surgery. Proc. of the International Conference on Advanced Robotics (1995) 21-31 7. Seraji, H., Colbaugh, R.: Force Tracking in Impedance Control. The International Journal of Robotics Research, Vol. 16, N. 1 (1997) 97-117 8. Raibert, M., Craig, J.: Hybrid Position/Force Control of Manipulators. ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 102 (1981) 126-133 9. Khatib, O.: A Unified Approach for Motion and Force Control of Robot Manipulators: the Operational Space Formulation. IEEE Journal of Robotics and Automation, Vol. 3, N. 1 (1987) 43-53 10. Kazerooni, H.: On the Robot Compliant Motion Control. ASME Journal of Dynamic Systems, Measurement, and Control, Vol. 111 (1989) 416-425 11. Mason, M.: Compliance and Force Control for Computer Controlled Manipulators. IEEE Transactions on Systems, Man and Cybernetics, Vol. 11, N.6 (1981) 418-432 12. Whitney, D. E.: Historical Perspective and State of the Art in Robot Force Control. Proc. of the IEEE International Conference on Robotics and Automation (1985) 262-268 13. Paul, R. P.: Problems and Research Issues Associated with the Hybrid Control of Force and Displacement. Proc. of the IEEE International Conference on Robotics and Automation (1987) 1966-1971 14. Eppinger, S. D., Seering, W. P.: Understanding Banwidth Limitations in Robot Force Control. Proc. of the IEEE Int. Conference on Robotics and Automation (1987) 904-909 15. Lu, Z., Goldenberg, A. A.: Implementation of Robust Impedance and Force Control. Journal of Intelligent and Robotic Systems, Vol. 6 (1992) 145-163 16. Chiaverini, S., Sciavicco, L.: The Parallel Approach to Force/Position Control of Robotic Manipulators. IEEE Transactions on Robotics and Automation, Vol. 9, N. 4 (1993) 361-373 17. Lu, Z., Goldenberg, A. A.: Robust Impedance Control and Force Regulation: Theory and Experiments. The International Journal of Robotics Research, Vol. 14, N. 3 (1995) 225-254 18. De Schutter, J., Bruyninckx, H., Zhu, W.-H., Spong, M. W.: Force Control: a bird’s eye view. IEEE CSS/RAS International Workshop on Control Problems in Robotics and Automation: Future Directions (1997) 19. Anderson, R. J., Spong, M. W.: Hybrid Impedance Control of Robotic Manipulators. IEEE Journal of Robotics and Automation, Vol. 4, N. 5 (1988) 549-555 20. Merlet, J.-P., Gosselin, C.: Nouvelle Architecture pour un Manipulateur Parallele a Six Degres de Liberte. Mech. And Machine Theory, Vol. 26, N. 1 (1991) 77-90 21. Lopes, A. M., Almeida, F. G.: Manipulability Optimization of a Parallel Structure Robotic nd Manipulator. Proc. of the 2 Portuguese Conference on Automatic Control (1996) 243-248 22. MGA Software: ACSL Reference Manual, Edition 11.1 (1995)