Professional Documents
Culture Documents
net/publication/308246185
CITATIONS READS
5 6,907
6 authors, including:
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.
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.
VI. RESULTS