Sei sulla pagina 1di 6

Admittance control of a 1-DoF robotic arm actuated

by BLDC motor
Artur Gmerek Edward Jezierski
Technical University of Lodz Technical University of Lodz
Institute of Automatic Control Institute of Automatic Control
Poland, 90-924 Lodz Poland, 90-924 Lodz
Email: artur.gmerek@p.lodz.pl Email: edward.jezierski@p.lodz.pl
Telephone: (+48) 0 42 631 25 40

Abstract— The aim of this paper is to analyze the admittance The combination of stiffness and damping control is
control of a single-axis mechanism actuated by brushless DC called impedance or admittance control. This is essentially
(BLDC) motor. There is also presented an examination of a PD position controller with position and velocity feedback
applied control architecture. Experiments consisted of the study
of high-speed contact of the manipulator with infinitely rigid gains. Adjusting these gains results in changes of mechanical
environment, as well as slow increase in force, which affected the impedance.
manipulator. There are presented simulation results, as well as Another type of an advanced architecture is hybrid
the practical study. The impedance controller drives the torque- impedance control which allows to change the stiffness and
controlled manipulator system. Force between the arm and the damping in position subspace, as well as switching to force
environment was estimated based on motor current. The paper
shows from practical point of view how to efficiently steer BLDC control subspace.
motors with admittance controllers. The concept of robot control with changes of its stiff-
ness and damping parameters was first introduced by
I. I NTRODUCTION Hogan [4]. It was, however, a general concept which
can be developed in many forms. In the concept of
Today’s robots are increasingly faced with situations in- impedance/admittance control, the control system modulates
volving contact with the surrounding environment. In case of the mechanical impedance/admittance of the manipulator. The
robot maneuver in unconstrained space, the motion should effective control of a robot with impedance/admittance con-
be fast and position vector should closely fit the desired troller requires the robot end-point to follow desired position
setpoint. However, when the robot is placed in a constrained and velocity very closely when the robot is not constrained
environment, it should be controlled in a non-destructive way. by the environment and desired reaction to movement in a
Moreover, the motion parameters in constrained environment constrained environment. The desired xd setpoint, also called
should be changed in accordance with desired stiffness of a virtual desired setpoint (or equilibrium point) should only
the manipulator. Such control is very desirable, for example, be reached in case of free motion, when no external forces
during assembly tasks or during cooperation with humans e.g. affect the robot [5]. In this paper it is called virtual setpoint
in social or rehabilitation robots. or virtual position.
In literature there are known many different control ar- The impedance controller in typical implementations has the
chitectures. Force control can be divided into implicit force position and velocity of the end-effector as inputs and gives
control and explicit force control. In implicit force control the motor torques as output. In admittance control, the desired
no sensors are involved [1]. In this type of control the joint compliant behavior is usually realized by an outer control loop.
servo gains are adjusted to achieve the desired stiffness of the The controller generates x setpoint based on the generalized
manipulator. In explicit force control there is a force input, environmental Fe forces and desired virtual xd setpoint. The
instead of position/velocity inputs [2]. controller maps Fe forces onto desired x setpoint.
The combination of pure position and force control is called The developed admittance controller can work without inner
hybrid control [3]. In this architecture matrix S selects which ”natural” control loops. The controller has environmental Fe
axes have to be position and which force controlled. forces, desired xd setpoint and x˙d velocity as an input. As a
A different type of control is applied to change the position result, controller produces position, velocity and acceleration
and velocity gains. One of the principal methods of this is which enter the block with model of the robot. From in-
stiffness control in which sense on the end-effector force is puts/outputs point of view, the controller without the dynamic
mapped to new motion commands. The controller can be model of the robot can be considered as admittance controller,
regulated by changing the stiffness of the actuators. while with the robot model - an impedance controller. In
Damping control is similar to stiffness control. The key the present paper the controller is considered to be the one
difference is that the damping affects the velocity circuit without a dynamic model of robot, therefore the admittance
instead of position. control definition will be used. Admittance control is often
called position-based impedance control. However discussed
considerations lose, their meaning, when two manipulators desi
red
q

accel
erat
ion
cooperate with each other. In this case the concept which robot
is impedance and which admittance, is usually a matter of
vi
rt
ual desi
red
convention. posit
ion i
nvers
ionof pos
iti
on
.
i
nerti
a
Adjustment of desired stiffness and damping to different des
vel
i
r
oc
ed
it
y

actuators depends on the type of actuator. In a pneumatic vi


rtual
v
elocit
y
drive the output signal controls the flow of a pneumatic
valve [6], while in the BLDC motor the output signal controls
an average voltage supplying the motor, by exploiting PWM
technique.Other differences are also connected with force
estimated basing on motor current, which involves a simple
signal processing for the BLDC motor.
The motivation underlying conducting of the research in this Fig. 1. Simulink model of an admittance controller
area is to effectively control a developed robot designed for
the upper limb rehabilitation.
force

II. A DMITTANCE CONTROL FORMULATION acceleration


Model in velocity
Admittance Matlab-Simulink
There are many versions of admittance/impedance con- virtual
acceleration controller
desired
acceleration
position

virtual
trollers. Mechanical impedance in s-domain is usually defined velocity desired velocity Comparison
virtual
position
desired block
as: Admittance
position
position
controller
Z(s) = Kd + Bd s + Md s2
velocity
Real Model
(1) acceleration

force

where Kd is stiffness diagonal matrix, Bd is damping diagonal


matrix and Md is inertia diagonal matrix. Accordingly, the
contact force which acts on the manipulator can be defined Fig. 2. Graphical representation of conducted experiments
as:
Fe = Kd (qd − q) + Bd (q˙d − q̇) + Md (q¨d − q̈) (2) III. E XPERIMENTS
The proposed admittance controller presented in this paper is Experiments have been conducted on a computer and real
based on the concept of inverse dynamics: model with BLDC drive. During the experiments the out-
put values have been compared (Fig. 2). The experiments
τ − Fe = B(q)q̈ + C(q, q̇)q̇ + g(q) + ff (q) (3) consisted of simulating the impact of environment on the
where q is a configuration vector, B is an inertia matrix, C manipulator, which results in excessive contact forces.
describes centrifugal and Coriolis forces, g corresponds to A. Control Architecture
gravity forces, ff is the vector of friction forces, and vector Simulations have been performed on two different models.
τ is composed of control torques and forces. By transforming The first experiment simulated rapid contact with very rigid
Equation (2) we get: environment. After that experiments have been done on the
q̈ = q¨d − Md−1 [Fe − Kd (qd − q) − Bd (q˙d − q̇)] (4) environment which properties changed with expanded manipu-
lator position. The whole control system consists of admittance
Equation (4) is a base to design the admittance controller used controller, the inverse dynamic model of a manipulator and
in a developed structure (Fig. 1). feedforward dynamic model. Tests have been done on a system
The controller works satisfactorily and stably with the with inner ”natural” loop, as well as without it (Fig. 3).
internal loop (also called ”natural loop”), as well as without
B. Dynamic model of manipulator
it. However, parameters of stiffness and damping should be
chosen reasonably to avoid instability in some cases. Admit- The dynamic model of the presented 1-DoF manipula-
tance controller is based on following inputs: virtual position, tor was determined from Lagrangian formulation. According
velocity and external force, which affects the manipulator. It to (Fig. 4) the robot can be described by the following
calculates desired position, velocity and acceleration. When no equation:
forces act on manipulator and it reaches the desired position 1 1 1
θ̈ = [ m2 l2 + m1 R2 ]−1 (τ − m2 glcosθ−ff ) (5)
and velocity profiles, there is no a force feedback. In this case, 3 2 2
there is no constraints and the controller should fit the desired The friction force was approximated by a standard Coulomb
trajectory well. In case when the external force appears, the formula with saturation:
controller changes the position, velocity and acceleration in
ff = g1 ∗ tanh(g2 ∗ θ̇) (6)
relevance to stiffness and damping changes. Stiffness and
damping also serve as gain of the regulators. where g1 and g2 are gains
Fig. 3. General scheme of the control system. In the middle-bottom of scheme it can be observed optional internal loop.

gravity forces

friction
m2

Environment
inertia R m1

Fig. 4. Diagram of a manipulator and its Simulink representation

b Fig. 6. Illustration of an environment impact

m which affected excessive changes in position and velocity of


k manipulator.
The second experiment assumed that the force increased in
relevance to velocity and position of the manipulator. Such an
environment can be modeled as mass-spring-damper. It can
be assumed that in this situation manipulator link reached an
object such as a sponge (Fig. 6). During the experiments the
Fig. 5. Mass-spring-damper model of an environment and its Simulink
representation measured output values of robot (q, q̇, q̈) were connected to
the environment model (Fig. 5). Transfer function of such an
environment is described by the formula:
C. Environment
q(s) 1
Simulations have been performed on two types of environ- = 2
(7)
Fe (s) (ms + bs + k)
ment impact. Firstly, there was considered the contact with
very rigid surface. In this situation the force rose rapidly, where m is a mass, b - damping and k - stiffness
Stiffness=0.001, Damping=1.2
2000 stiffness=1.2, damping=0.1
2000
1000

0
1500
−1000

−2000
0 2 4 6 8 10 12 14 16 18 20
time [s] 1000
Stiffness=0.01, Damping=10
2000

1000
500

0
−1000
0 2 4 6 8 10 12 14 16 18 20
time [s]
Stiffness=20, Damping=1.2
2000
−500

1000

0 −1000

−1000
0 2 4 6 8 10 12 14 16 18 20
time [s]
−1500
desired position position desired velocity velocity torque torque feedback 0 2 4 6 8 10 12 14 16 18 20
time [s]
desired position position desired velocity velocity torque torque feedback

Fig. 7. Results of simulations: time history of variables for different stiffness


and damping of the environment.
Fig. 8. Results of simulation: time history of variables for too low damping.

2500

D. Simulations stiffness=3 stiffness=0.01


damping=10 damping=10
In the first experiment it was assumed that the link hit a very 2000

rigid body. In this case, the force rapidly increased. Results of


experiments were presented on Fig. 7. The simulation shows 1500
that both systems with and without inner loop can achieve de-
sirable behavior. Robot should be controlled in such a way that
1000
it tracks the trajectory very closely, when no constrains appear,
and in order to avoid damage it should decrease its stiffness
before the contact with the rigid enivronment. However, when 500

the stiffness is to low, it can lead to repulse of the link (upper


graph on Fig. 7). On the other hand, when manipulator is to 0

rigid, the controller would not change position and velocity of


manipulator, what may lead to its destruction (bottom graph on −500
0 2 4 6 8 10 12 14 16 18 20
Fig. 7). The ideal situation presents a middle graph on Fig. 7. time [s]

desired position position desired velocity velocity torque torque feedback


In this case, the manipulator would stopped its motion. An
appropriate choice of damping gain is also very important. Too
Fig. 9. Results of simulation: comparison of time history of variables for
low value of this parameter may lead to oscillations (Fig. 8). rigid and complaint manipulator.
It was simulated that the environment changes its properties
(stiffness and damping) relatively slowly. In the second exper-
iment, when the environment was modeled by mass-spring- polarization relatively to velocity of the motor. This situation
damper, the controller should change its stiffness in relevance requires some sort of signal processing in order to properly
to the environment. Fig. 9 shows the behavior of the system map current to force, which affects the end-effector. Motor
with rigid and complaint manipulator, when force was changed current was registered and after that an envelope of the signal
as a result of the environment deflection. was calculated. Based on it, the force was finally designated.
Torque of the motor is proportional to the amplitude of an
E. BLDC motor - practical experiments
envelope of current. Velocity characteristics depends on the
Practical experiments have been conducted on the BLDC inertia of connected to it mass. Fig. 13 shows the time history
motor produced by Dunker Motoren. The inertial mass and an of the rotor velocity for different levels of current limiters.
arm were connected to the motor (Fig. 10). After checking the features of the motor, there have been
The control scheme of the motor is presented on Fig. 11. conducted admittance control experiments.
Before conducting the admittance/impedance control experi-
ments, the dynamic properties of the drive have been tested, IV. R ESULTS AND CONCLUSIONS
in order to calculate its mechanical time constant. Fig. 12 Simulation confirmed that different control architecture can
presents sample characteristics of the motor, how the position, be applied. For example, it is possible to achieve desirable
velocity and current versus time looks like. What is impor- compliance without inner position and velocity loop. It is,
tant is that current which appears in the drive changes its however, probable that in such case the system may be
Motor velocity characteristics at different current values
4500
logic power motor power
supply supply BLDC motor
4000

3500

3000

2500

velocity [rpm]
2000

1500

1000

500

−500
0 2 4 6 8 10 12 14
time[s]
4A 6A 8A 10A 12A 14A

Fig. 13. Time history of motor velocity at different current values.

external control panel inertial mass


carefully.
Fig. 10. Laboratory position with BLDC drive
After conducting various experiments, simulation results
were compared with the practical model results. The motor
parameters
was driven with a constant velocity and steadily increasing
Kp
change of position. After 14 and 35 seconds from the be-
Bd ginning of the experiment an external force was applied to
virtual
position Admittance
desired
position model of a 1-DoF
U current
velocity
the motor shaft (Fig. 14). This can be regarded as suddenly
robotic arm motor
controller
virtual
velocity
desired
velocity
I position
stopped by hitting an obstacle. In both cases the current limit
was at the level of 10A. In the first case, without adjusting
parameters (stiffness was high), in spite of the force, the
force force current
estimator system did not changed its behavior. The robot was not
easily forced due to the high rigidity of the motor, what
caused the increase in motor current level. In the second
part of experiments, after changing the values of stiffness
Fig. 11. Control scheme of BLDC motor and damping, the admittance controller changed position and
velocity just before an impact. This resulted in a decrease
18000
in the level of torque as compared to the first situation, as
well as motor has changed the direction of motion. The motor
16000
almost stopped, nevertheless it is very difficult to enter proper
14000
values of stiffness and damping, because of many uncertain
12000 parameters of the real robot. Changing the direction of motion
10000
is also a desirable behavior of the system in such situations.
velocity [rpm]
current [mA]

There were also carried out other experiments that showed


8000
how the selection of the admittance controller settings affect
6000 the behavior of the 1-DoF manipulator (Fig. 15, Fig. 16).
4000

2000
V. F UTURE W ORK
0
The developed admittance controller is only one of the
−2000
0 2 4 6 8 10 12 14
approaches presented firstly by Hogan [4]. There are also
t[s] other possibilities e.g. [7] or [8]. Future experiments will be
velocity current

focused on comparison of different impedance controllers.


Fig. 12. Sample characteristics of current and velocity from BLDC drive. After choosing the most optimal control architecture, the
The motor has adjustable current limiter. algorithm will be adopted to the rehabilitation robot control
used for upper extremity rehabilitation [9]. Some study will
be also decided upon in connection with verification of the
unstable. All the parameters should, therefore, be chosen very stability of solutions in different control architectures.
4
500 x 10
Velocity [rpm] 1
damping [Nm/rpm] velocity
Torque [50log(Nm)] damping
400

300 0.5

200

0
100

-0.5
-100

-200

-1

-300

-400
0 10 20 30 40 50 60 -1.5
time[s] 0 10 20 30 40 50 60 70 80 90 100
time[s]

Fig. 14. Time history of velocity due to torque and damping changes. The
graph shows how the system behaves at high values of stiffness, as well as Fig. 16. Time history of velocity, when damping is very low. Undying
when stiffness of the system was reduced before the collision with enironment oscillations can be observed. The motor has been accelerating more and more
(manifested by the increase in force). In the first case the motor has almost and at some time changing the direction of motion.
not responded, in the second case, the motor has changed its direction of
motion (the desired behavior).
[3] R. J. Anderson and M. W. Spong, “Hybrid impedance control of robotic
1600 manipulators,” vol. 4, no. 5, pp. 549–556, 1988.
velocity
damping [4] N. Hogan, “Impedance control: An approach to manipulation,” in Proc.
1400 American Control Conf, 1984, pp. 304–313.
[5] C. Ott, Cartesian Impedance Control of Redundant and Flexible-Joint
1200
Robots. Springer, 2008, vol. 49.
[6] G. Granosik, E. Jezierski, and M. Kaczmarski, “Modelling, simulation
and control of pneumatic jumping robot,” in Proc. European Robotics
1000
Symposium 2008, Springer Tracts in Advanced Robotics, 2008, pp. 155–
164.
800 [7] H. Kazerooni, “Robust, non-linear impedance control for robot manipu-
lators,” in Proc. IEEE Int. Conf. Robotics and Automation, vol. 4, 1987,
600 pp. 741–750.
[8] I. Bonilla, E. J. Gonzalez-Galvan, M. Mendoza, A. Loredo-Flores,
400 F. Reyes, and B. Zhang, “A vision-based, impedance control strategy for
industrial robot manipulators,” in Proc. IEEE Conf. Automation Science
and Engineering (CASE), 2010, pp. 216–221.
200
[9] A. J. Gmerek, “High-level controller for an arm rehabilitation robot -
positioning algorithms with respect to EMG data,” in Proc. 16th Int
0
Methods and Models in Automation and Robotics (MMAR) Conf, 2011,
pp. 182–187.
-200
0 10 20 30 40 50 60 70 80 90
time[s]

Fig. 15. Time history of velocity due to damping changes. The manipulator
is more compliance, when the damping is low. It manifests itself in lower
values of the velocity ripple.

ACKNOWLEDGMENT
This work is financially supported by the Ministry of
Science and Higher Education of Poland (Grant No. N N514
469339).

R EFERENCES
[1] D. Whitney, “Historical perspective and state of the art in robot force
control,” in Proc. IEEE Int. Conf. Robotics and Automation, vol. 2, 1985,
pp. 262–268.
[2] E. Jezierski, “On electrical analogues of mechanical systems and their
using in analysis of robot dynamic,” in Robot Motion and Control - Recent
Developments, Kozowski, Ed. Springer, 2006, pp. 391–404.