You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/308246185

Understanding the Implementation of Impedance Control in Industrial Robots

Conference Paper · October 2016


DOI: 10.1109/LARS-SBR.2016.52

CITATIONS READS
5 6,907

6 authors, including:

Gustavo Lahr João Victor Rocha Soares


Istituto Italiano di Tecnologia University of São Paulo
23 PUBLICATIONS   38 CITATIONS    1 PUBLICATION   5 CITATIONS   

SEE PROFILE SEE PROFILE

Henrique Garcia A.A.G. Siqueira


University of São Paulo University of São Paulo
6 PUBLICATIONS   11 CITATIONS    176 PUBLICATIONS   1,489 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Design and Analysis of Adaptive-Robust Force Controllers of Series Elastic Actuators for Impedance Control of SEA-based Rehabilitation Robotic Devices View project

Knowledge discovery and data mining for rehabilitation robotics View project

All content following this page was uploaded by Gustavo Lahr on 07 August 2019.

The user has requested enhancement of the downloaded file.


Understanding the Implementation of Impedance Control in Industrial
Robots
Gustavo J. G. Lahr, Joao V. R. Soares, Henrique B. Garcia, Adriano A. G. Siqueira and Glauco A. P. Caurin
Engineering School of Sao Carlos
University of Sao Paulo
Sao Carlos, Brazil
gjgl.lahr@gmail.com

Abstract— This work studies two different algorithms for the Although many innovative applications use this technique,
simulation and implementation of impedance control. Potential it is not an trivial task to achieve, therefore it is worth to
applications for using force control can be found in the whole present its corresponding algorithmic implementation.
industry and academia. Since its proposal, impedance control
became one of the most used force control techniques, dealing This paper proposes a clearer explanation on impedance
with the non linear nature of contact and ensuring stability. control implementations to discrete systems, such as micro-
To take advantage of the technique, one may implement in controllers, PCs, and industrial robots. Two different im-
different ways, although, in the literature it is hard to find plementations are proposed for the same controller. Both
explicit algorithms to help the development. This paper presents methods are modeled, numerically simulated, and tested.
two different impedance control methods that lead to similar
responses to contact. Responses to force step input and contact Two situations of stable behavior are presented: a force step
stabilization with stiff environment tasks are presented using as input without contact and a coupled dynamic situation
computer simulations as well as experimental tests. Results with stiff contact.
show that both algorithms accomplish good results for the
second order controller in a no-contact situation compared to II. IMPEDANCE CONTROL
the simulation. In the meanwhile, for a stiff contact, the algo- The exchange of work between two bodies, defined in
rithms show a stable interaction, but with results different from
the simulated, suggesting that the coupled dynamics is subject
[6] as the scalar product of the force1 and the displacement
to many disturbances and uncertainties, which the impedance vectors 1, represents a good metric to quantify the contact.
controller still offer a stable execution.
dW = F • dX (1)
I. INTRODUCTION If the forces are almost zero (F → 0), the exchanged work
Interaction control has been a subject of study in the is null, and the system may be treated as isolated in the
last decades, and it gained even more space with the ad- space with pure position control. A situation like this can be
vances in power electronics, computer power, and sensors found when machining soft materials, such as polystyrene
[1]. Research on interaction should provide robots better and other low density polymers. On the other hand, if
knowledge of environment which cannot be achieved using there is a kinematic constraint, then the displacements are
other sensor. Additionally, many applications can only be null (dX → 0), and a pure force control may be applied,
implemented using force and torque control, for example, disregarding position control, e.g. robots performing pressing
precision assembly tasks [2], high assistance mechanisms for tasks.
rehabilitation purposes [3] or surgery assistance [4]. However, many applications do not have a negligible work
In manipulation tasks, dexterity should be provided to the exchange, i.e. the scalar product is non-zero, therefore force
fingers of a robotic hand or a gripper, in a manner that it control techniques should take this situation into account.
would not allow a grasped object to slip. At the same time, Hogan [6] proposed the Impedance Control theory which
they must not impose excessive contact forces causing some deals with all work components. Its stability is independent
damage to the object. Moreover, industrial applications need of the contact body [7], though the performance changes
to interact to the environment in a wide range of everyday from one environment to another [8].
activities, for example, polishing, deburring, machining and Simplistically, impedance control may be understood as a
many assembly tasks [5]. complex scheme behaving as a second order dynamic system,
The difficulty is due to contact’s nonlinear behavior, where where the user must decide about the coefficients in the
classical techniques are not recommended [1], [6]. Other characteristic equation, that defines the system parameters.
approaches were developed, dealing with the transition from Figure 1 displays a simplified model of a mechanical assem-
unconstrained to constrained motion, and one technique is bly, with inertia, spring and damper components. Equation
called impedance control, proposed by Hogan [6]. Since its 1 Force here includes the meaning of forces and torques in the 3 Cartesian
publishing, impedance control gained a huge space in force axis, the same applies to displacement, which is equivalent to position and
control, arguably one of the most successful in its field. rotation.
Fig. 1. Second order system model with interaction force Fig. 2. Block diagram for integration method admittance control

(2) describes the model’s ODE in time domain, where x(t) as an impedance [12]. Nonetheless, traditional industrial
is the displacement of the TCP (Tool Center Point), ẋ(t) robots are good sources of velocities due to their high gear
and ẍ(t) are its derivatives, Fint (t) is the interaction force ratios. They are only capable of reading the forces of the
with the environment, M is the inertia component, B is the environment with the aid of a force-torque sensor, what
energy dissipation term from the viscous damper, and K is defines the aspect of an admittance. Since the robotics market
the stiffness of the equivalent system. still dominated by traditional robots [13], the next section
covers the implementation in traditional ones.
M ẍ(t) + B ẋ(t) + Kx(t) = Fint (t) (2)
III. MATH
Equation (3) shows the relation between the input position
The theory for impedance control commented at section
and the output torque at the actuators [6]. It takes into
I only deals with continuous-time situations. Most of ap-
account the parameters defined in (2), and the inertial cou-
plications today are developed with micro controllers or
pling torques (C), the robot’s Jacobian (J) and acceleration
computers, which works at discrete-time, thus, a transfor-
coupling terms (G). It shows how to implement a desired
mation from the Laplace domain to discrete domain is
second order behavior into the real system. The constants
presented. Equation (2) suffers a domain change by applying
M , B, and K are the same as equation 2, while I(θ) is
the Laplace transform with null initial conditions, leading to
the manipulator real inertia, and the pair X0 and V0 are the
(4). The following sections manipulate (4) depending on the
desired manipulator position and velocity, respectively.
causality desired.

Tact = I(θ)J−1 (θ)M −1 K[X0 − L(θ)] + S(θ) X(s)(M s2 + Bs + K) = Fint (s) (4)
−1 −1
+ I(θ)J (θ)M B[V0 − J(θ)] + V (ω)
(3) Since admittance needs effort input and flow output, (4)
+ I(θ)J−1 (θ)M −1 Fint − Jt (θ)Fint
may be write in the transfer function form obtained in (5).
− I(θ)J−1 (θ)G(θ, ω) + C(θ, ω) X(s) and Fint (s) are in the Laplace domain, while the other
Causality is an important concept for impedance theory, terms are the same constants used in equation (2).
which is directly connected with the exchange of energy
X 1
between the systems. Power is defined as the relationship of (s) = (5)
F M s2 + Bs + K
two elements: effort and flow. There is no physical system
capable of imposing both simultaneously, so either a system Two methods are presented: the integration, with two
receives the effort as input and defines flow as output, or integration steps, and the discretization, which is defined by
vice-versa [11]. Every domain has its own variables for this the transformation from Laplace domain to the difference
evaluation, such as velocity and current as flow variables for equation form. Both are presented in the next sections with
mechanical and electrical domains, respectively, and force their simulation and experiments.
and voltage as effort. 1) Integration method: This method was presented by
If the system is capable of receiving flow as input and Caccavale et al. [14], specifically for industrial robots. Figure
imposes an effort as output, it is, by definition, an impedance. 2 displays the block diagram for this method (adapted from
On the other hand, if effort is input and flow, output, it [14]).
is an admittance. This concept defines the implementation Three simple steps are the core of this approach and are
that is desired for each system. As an environment is often presented from equations (6) to (8). The user must define
composed by inertias, it accepts force and gives acceleration, the values for the inertia M , the damper B, the spring K,
defining an admittance. To deal with the causality, the then the force value acquired from the sensor suffers the
acceleration output of the inertia must connect to another subtraction of the stiffness and damping portions. The result
system that accepts flow as input. This way, the robot must is multiplied by the inverse of the inertia matrix, and its net
be an impedance, naming the technique. value is the acceleration, ∆ẍ, (6) from that amount of forces.
Collaborative robots are designed to have the capability to
offer forces and torques as outputs, allowing then to behave ∆ẍ(k) = M −1 (f (k) − K∆x(k) − B∆ẋ(k)) (6)
Ts
∆ẋ(k) = (∆ẍ(k) + ∆ẍ(k − 1)) + ∆ẋ(k − 1) (7)
2
Ts
∆x(k) = (∆ẋ(k) + ∆ẋ(k − 1)) + ∆x(k − 1) (8)
2
To obtain the correction, one then integrates two times:
once to obtain velocity, ∆ẋ (7) and a second integration to
Fig. 3. Block diagram for discretization admittance control
get position, ∆x (8). This is the reason the method is called
in this work as integration. It obtains the correction from
the force input, which, combined with the desired position
constants as used in the integration. Equation (10) is the
(pRef ), results in the actual displacement executed by the
only implementation line needed for this method.
robot (pAct ).
By the end of the code, the user updates the values x(k) =[Ts2 f (k) + 2Ts2 f (k − 1) + Ts2 f (k − 2)
in time and send the correction to the controller. Ts is − (2KTs2 − 8M )x(k − 1)
the controller loop period and it is usually defined by the (10)
− (4M − 2BTs + KTs2 )x(k − 2)]
hardware, although some applications it could be chosen by
the programmer. ∗ 1/(4M + 2BTs + KTs2 )
These equations are easy to implement in any micro Algorithm 2 displays the pseudo code for the discretization
controller and PC, which all deal with discrete events. Also, method, which also needs to define the gains for the second
it is possible to implement directly into industrial robots, order system. It also deal with a reference trajectory and
once they work in discrete. The pseudo code for this method a actual trajectory send to the robot. The values of mass,
is described at Algorithm 1, exactly as it is implemented for damper and spring do not have to be hard defined, it may
the experiments in this work. be resulted from an on-the-fly user change.

Algorithm 1 Integration Method - 1 GDL Algorithm 2 Discretization Method - 1 GDL


1: M ← user def ined inertia 1: M ← user def ined inertia
2: B ← user def ined damper 2: B ← user def ined damper
3: K ← user def ined stif f ness 3: K ← user def ined stif f ness
4: ∆x(0) ← x0 4: x(0) ← x0
5: ∆ẋ(0) ← ẋ0 5: f (0) ← f0
6: ∆ẍ(0) ← ẍ0 6: loop:
7: loop: 7: f (k) ← updated f orce value f rom sensor
8: f (k) ← updated f orce value f rom sensor 8: x(k) = [Ts2 f (k)+2Ts2 f (k −1)+Ts2 f (k −2)−(2KTs2 −
9: ∆ẍ(k) ← M −1 (f (k) − K∆x(k) − B∆ẋ(k)) 8M )x(k − 1) − (4M − 2BTs + KTs2 )x(k − 2))]/(4M +
10: ∆ẋ(k) = (Ts /2)[∆ẍ(k) + ∆ẍ(k − 1)] + ∆ẋ(k − 1) 2BTs + KTs2 )
11: ∆x(k) = (Ts /2)[∆ẋ(k) + ∆ẋ(k − 1)] + ∆x(k − 1) 9: x(k − 2) ← x(k − 1)
12: ∆x(k − 1) ← x(k) 10: x(k − 1) ← x(k)
13: ∆ẋ(k − 1) ← ẋ(k) 11: f (k − 2) ← f (k − 1)
14: ∆ẍ(k − 1) ← ẍ(k) 12: f (k − 1) ← f (k)
15: pAct ← pRef + ∆x(k) 13: pAct ← pRef + x(k)
16: goto loop. 14: goto loop.

2) Discretization method: This method takes into account


IV. SIMULATION
the theory to transform from Laplace domain to Z domain
[15] using the Tustin’s approximation, related by (9), where Two simulations and experiments were carried out. For
Ts is the loop’s time step. Thus, equation (9) is substituted each task, both integration and discretization were simulated.
at (5), obtaining the direct relation between the correction All results use Matlab.
output and the force input. 1) a 39.24 N pure force step input (4 kg mass);
2) a stiff contact with known environment of 320 kN/m.
2 z−1
s≈ (9) The first experiment is characterized by a known weight
Ts z + 1
of a mass placed on the TCP. When the whole system
The Appendix brings the full deduction of this method, from is stabilized, the weight is quickly removed. Therefore,
Laplace to difference equations, while it is just presented the system which was stable at the position defined by
here the final formula for the open-loop correction (Figure weightmass /stif f ness, should go to zero.
3). The simulations and experiments for the discretizaton The result is plotted at Figure 4 for both controllers. The
method were conducted with the same M , B, and K parameters used were M = 20 kg, B = 250 N s/m, and
Fig. 4. Open-loop simulation of both methods for a step force input Fig. 5. Closed-loop simulation of both methods for contact with a stiff
environment

K = 4000 N/m. This experiment takes into account the


two open-loop simulations in Figures 2 and 3.
For the contact situation, the robot touches a spring with
known stiffness of Ke = 320 kN/m. An external force loop
was closed around the loops presented at Figures 2 and 3,
with a reference force of 150 N.
However, there is a difference in the impedance control
parameters: since the environment is almost two orders
of magnitude higher than the controller (Ke/K = 80),
this would lead to chatter in the contact [8]. A controller
capability of transferring energy is increased in an impedance
matching case, meaning that the robot-controller system
should have the same order of magnitude of the environment,
leading to a stable and with good performance contact
[9]. That said, a new impedance controller candidate was
defined, which is each parameter increased one thousand,
resulting in M = 20, 000 kg, B = 250, 000 N s/m, and Fig. 6. Experimental set for the force step experiment
K = 4, 000, 000 N/m.
To reach the simulation for this case, two simplifications
were introduced: this only takes into account the moment 64-bit Windows 10 PC connected via Ethernet using UDP
after the contact is reached and, until the end of the experi- protocol, running a C# program with framework v.4.6.
ment, the system never looses the interaction situation. This For the first experiment, the robot TCP was positioned
way it is possible to simulate without the inherent nonlinear perpendicularly to the ground and a known mass of 4 kg
behavior of contact. was dropped at its tip. Since the dropping is a hard task
Either discretization and integration methods have a simi- to allow without uncertainties, the evaluation was done by
lar time response, with the differences generated by numer- removing the mass very fast. The setup is presented at Figure
ical approximations. 6.
At the second experiment, both controllers were submitted
V. EXPERIMENTS to the same situation of contact stabilization, touching a
A Kuka KR16 industrial robot and KR C2 controller spring with stiffness of 320 kN/m. It was placed directly
equipped with a Delta model force-torque sensor from ATI into the ground, which was the most stiff platform available,
Industrial Automation was used for the experiment. All sets as shown at Figure 7. Assuming the ground is infinitely stiff
could only be done with the RSI (Robot Sensor Interface) for the forces applied in this setup, it is possible to compare
v.2.3 installed [10], a package from Kuka that allows the both approaches at the same situation.
user to have access to all sensors and implement advanced Applying all the same values of M , B and K used at the
controllers. The discretization algorithm was implemented at simulation, the main idea is to check the differences in the
the Kuka controller, using objects from the RSI, while the time domain for both methods. The contact force desired is
integration method was implemented on an external Intel i7 150 N in Z direction, which is perpendicular to the ground.
TABLE I
T IME RESPONSES

Mp [%] tr [s] ts [s] ωn [ rad


s
]

Force step Sim. Discretization 21.3 0.17 0.63 12.9


Integration 27.7 0.14 0.75 14.3
Real Discretization 19.9 0.17 0.65 12.4
Integration 24.9 0.17 0.61 13.6
Stiff contact Sim. Discretization 25.1 0.13 0.35 13.3
Integration 30.2 0.12 0.49 14.8
Real Discretization 21.7 0.44 2.62 4.0
Integration 19.6 0.46 2.66 3.8

Fig. 7. Robot and tool at the stiff contact task

VI. RESULTS

To compare all the results, the same metrics are used,


and the given results are presented at Table I. It displays the
overshoot (Mp ) and rise time (tr ), which follow the same rule
for both experiments. Also, it shows the the settling time (ts )
and natural frequency (ωn ), and this time are different for the
step input and coupled experiments: the step input follows a
10 % rule for the ts and the controller own frequency, while
for the coupled system, the settling time holds a 5 % rule,
and the frequency is determined from the coupled system.
Table I shows the results for all the simulations and
experiments. Figures 8 and 9 show the results from the step Fig. 8. Response of step input experiment
input and stiff contact experiments, respectively.
Results show that for the step input force experiment,
all data are really close, meaning that the controller and
the simulation present a close dynamic behavior. For the
overshoot, for example, the difference for the discretization
is 6.5% and 10.1% for the integration, which represent the
major differences at this experiment, but for the settling time
at the integration method. Settling time and natural frequency
presented a difference of 3% and 4% for the discretization
method, and 18% and 5% for the integration.
Moreover, the values for the two simulation in the stiff
contact also displayed similar results for all metrics, but
both had considerable different values compared to the real
experiment. Only the overshoot showed a proximity (8% for
discretization and 32% for integration), but the rise times
were three times higher than the simulated. A difference that
increases for the natural frequency, which was almost five
times higher, and the settling times were three times higher
for discretization and four times higher for the integration.
This indicates that the coupled system dynamics may be Fig. 9. Response of contact situation with spring experiment
higher order than the second order proposed. However, the
system still reaches contact with notable stability.
VII. CONCLUSIONS ACKNOWLEDGMENT
Two different methods were implemented for discrete We would like acknowledge to FAPESP (processes
systems and had similar results. Both present good response 2013/07276-1, 2015/07484-9 and 2015/24343-0), EM-
times compared to the simulation in the step force input BRAER (cooperation project GSI-1168-15), CNPq, CAPES
experiment, and even the stiff contact situation went with and the School of Engineering of Sao Carlos, University of
different metrics, the contact was stable. Sao Paulo.
One important consideration must be done about the R EFERENCES
integration method. Its implementation includes the multi-
[1] L. Villani and J. de Schutter, Force Control, in Springer Handbook of
plication with the inverse of the inertia, so M values close Robotics, B. Siciliano and O. Khatib, Eds. Berlin, Heidelberg: Springer
to zero or significantly smaller than B and K leads to Berlin Heidelberg, 2008, pp. 161184.
instability. Also, if the inertia, stiffness and damper values [2] Chen and Y. Liu, Robotic assembly automation using robust compliant
control, Robot. Comput. Integr. Manuf., vol. 29, no. 2, pp. 293300,
do not rise together, if in the controller one of its three 2013.
parameters is significantly higher than the two others, than [3] H. I. Krebs, G. A. de P. Caurin, and L. Battistella, Rehabilitation
the controller also will not be stable. robotics, orthotics, and prosthetics for the upper extremity, in Textbook
of Neural Repair and Rehabilitation, 2nd ed., M. Selzer, S. Clarke,
All experiments were conducted for one degree of free- L. Cohen, G. Kwakkel, and R. Miller, Eds. Cambridge: Cambridge
dom, which may be generalized to the six degrees if needed, University Press, 2014, p. 760.
or intermediate stages between both. [4] R. C. Luo, J. Wang, C. K. Chang, and Y. W. Perng, Surgeons third
hand: An assistive robot endoscopic system with intuitive maneuver-
The stiff contact experiment provides the most interesting ability for laparoscopic surgery, in 5th IEEE RAS/EMBS International
and non intuitive result, leading to an understand that the Conference on Biomedical Robotics and Biomechatronics, 2014, pp.
coupled dynamics may be a higher order, i.e. it is not 138143.
[5] R. Bogue, Finishing robots: a review of technologies and applications,
restricted to second order, as assumed in the model. Also, Ind. Robot An Int. J., vol. 36, no. 1, pp. 612, 2009.
other possible sources of uncertainties were neglected in the [6] N. Hogan, Impedance control: An approach to manipulation: Parts I-
model, such as compliance in the joints, in the force sensor III, J. Dyn. Syst. Meas. Control. Trans. ASME, vol. 107, no. 1, pp.
17, 1985.
and in the environment. [7] N. Hogan, Stable execution of contact tasks using impedance control,
in Proceedings. 1987 IEEE International Conference on Robotics and
APPENDIX Automation, 1987, vol. 4, pp. 10471054.
[8] L. J. Love and W. J. Book, Environment estimation for enhanced
From equation (5), applying the Tustin’s approximation impedance control, Proc. IEEE Int. Conf. Robot. Autom., vol. 2, no.
3, pp. 18541859, 1995.
(9), it is possible to obtain the transfer function in the Z [9] Sharon, N. Hogan, and D. E. Hardt, The macro/micro manipulator:
domain. An improved architecture for robot control, Robot. Comput. Integr.
Manuf., vol. 10, no. 3, pp. 209222, Jun. 1993.
X 1 [10] Kuka, Kuka.RobotSensorInterface 2.3, Kuka GmbH, Augsburg, 2009.
(z) = =
Z (M ( Ts (z+1) )2 + B( T2s (z−1)
2 (z−1)
(z+1) ) + K)
[11] P. J. Gawthrop and G. P. Bevan, Bond-graph modeling, IEEE Control
Syst. Mag., vol. 27, no. 2, pp. 2445, Apr. 2007.
[12] R. Bischoff, J. Kurth, G. Schreiber, R. Koeppe, A. Albu-Schaeffer,
(Ts2 z 2 + 2Ts2 z + Ts2 ) A. Beyer, O. Eiberger, S. Haddadin, A. Stemmer, G. Grunwald,
= and G. Hirzinger, The KUKA-DLR Lightweight Robot arm - a new
C1 z 2 + C2 z + C3 reference platform for robotics research and manufacturing, Robotics
(ISR), 2010 41st International Symposium on and 2010 6th German
where : C1 = (4M +2BTs +KTs2 ), C2 = (−8M +2KTs2 ) Conference on Robotics (ROBOTIK). pp. 18, 2010.
[13] IFR, Industrial Robot Statistics, 2016. [Online]. Available:
C3 = (4M − 2BTs + KTs2 ) http://www.ifr.org/industrial-robots/statistics/. [Accessed: 12-Jan-
2016].
[14] F. Caccavale, C. Natale, B. Siciliano, and L. Villani, Integration for
Now, multiplying the right side for z −2 /z −2 : the next generation, IEEE Robot. Autom. Mag., vol. 12, no. 3, pp.
5364, Sep. 2005.
X (T 2 + 2Ts2 z −1 + Ts2 z −2 ) [15] G. F. Franklin, D. J. Powell, and M. L. Workman. ”Digital Control of
(z) = s ⇔
Z C1 + C2 z −1 + C3 z −2 Dynamic Systems”, 3rd ed. Half Moon Bay, CA: Ellis-Kagle Press,
2006.
⇔ X(z)[C1 +C2 z −1 +C3 z −2 ] = F (z)[Ts2 +2Ts2 z −1 +Ts2 z −2 ]

The time delay rule in the transformation from Z domain to


difference equation [15].
0
z −n F (z) = f (k−n), where : n ≥ 0, k = k Ts and k 0 ∈ N

This way, it is possible to obtain the equation (10).


x(k) =[Ts2 f (k) + 2Ts2 f (k − 1) + Ts2 f (k − 2)
− (2KTs2 − 8M )x(k − 1)
− (4M − 2BTs + KTs2 )x(k − 2)]
∗ 1/(4M + 2BTs + KTs2 )

View publication stats

You might also like