Beruflich Dokumente
Kultur Dokumente
net/publication/308648024
CITATIONS READS
6 3,689
6 authors, including:
44 PUBLICATIONS 123 CITATIONS
KU Leuven
11 PUBLICATIONS 34 CITATIONS
SEE PROFILE
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Catalin Stefan Teodorescu on 26 March 2018.
I. INTRODUCTION
Based on previous experience [1], at Flanders Make (Bel-
gium), we have recently built a prototype robot that can
execute fast pick-and-place operations (see Fig. 1a). It is
an open research platform intended to be used for testing
advanced control, vision and gripper techniques. This knowl- (a) photo
edge is valuable for companies interested in manufacturing
commercial robots, specifically during prototyping phase. 𝛽
These robots can be used in agriculture as well as industry,
with better capabilities than human operators.
Description of the Experimental Setup
The overall experimental setup was intended to be modular
allowing easiness in replacing each sub-assembly. From a 𝛾
high level overview, it can be divided into:
• robot arm (see Fig. 1a): it has 4 degrees-of-freedom (DOF) 𝛼
𝑧0b
permitting: (i) rotation about an horizontal axis, such that
the arm can execute up-down movement with an angle
α; (ii) rotation of the entire arm about a vertical axis,
with an angle β ; (iii) translation along a linear unit, with (b) CAD drawings with joint variables
distance z0b ; (iv) rotation of the gripper 360◦ , with angle
Fig. 1: The 4-DOF operational robot, able to execute fast
γ. Specifically its gripper is able to pick round objects of
pick-and-place of round objects.
a few centimeters in diameter. In the future, we intend
replacing it with another gripper capable of handling long
regular objects (e.g., cylinder, rectangular box).
• vision system: it consists of: (i) two cameras that are fixed System). It hosts the post-processing software, dealing with
on a rigid frame attached to the ground; they are intended recognition and localization of objects.
to be used for rough localization of objects; (ii) one camera • control system: it consists of: (i) one interface laptop PC
attached on the gripper (see Fig. 1a); it is intended to be running Simulink. It is used for online monitoring and
used for precise recognition of objects; (iii) one dedicated to generate code for (ii) one dedicated Triphase real-time
industrial PC running Ubuntu with ROS (Robot Operating target attached to numerous Beckhoff I/O terminals. The
1 C.S. Teodorescu, S. Vandenplas and B. Depraetere are with latter send out and receive signals to control the motors,
Flanders Make, Celestijnenlaan 300, bus 4027, B-3001 Heverlee, as well as safety.
Belgium {stefan.teodorescu, steve.vandenplas, • safety system: multiple measures have been taken in order
bruno.depraetere}@flandersmake.be to (i) protect the people, as well as to (ii) protect the robot.
2 J. Anthonis is with Octinion, Romeinsestraat 18, B-3001 Heverlee,
Belgium janthonis@octinion.com In Fig. 2 one can see that the robot is placed inside a cage.
3 A. Steinhauser and J. Swevers are with Division of Production, It consists of a reasonably high fence and a door with
Machine Design and Automation (PMA), Department of Mechanical an Euchner MGB locking device mounted on it. During
Engineering, Katholieke Universiteit Leuven, Celestijnenlaan
300B, B-3001 Heverlee, Belgium {armin.steinhauser, operation mode, access inside the cage is forbidden by
jan.swevers}@kuleuven.be keeping the door locked. To unlock it, there are two ways:
(i) by pushing the emergency stop button, which simulta- • dimensioning of electric motors: this topic will be ad-
neously cuts off power to motors, or dressed later on in section II-C.
(ii) by pushing a blue button: it has the meaning of • advanced feedforward model-based control: see later on,
requesting permission to go in. Only when the robot section III-E.
has a safe attitude, e.g. at standstill, will the door be
B. Dynamical model
allowed to unlock. In this situation, motors operation is
only disabled via software, instead of physically cutting For the reasons that will be mentioned earlier, it is impor-
off power as previously. tant to have a dynamical model available that is sufficiently
representative of physical phenomena. To achieve this, we
have used two approaches developed in parallel. Each one
of them has its advantages as well as drawbacks, summarized
in table I.
The first approach was to calculate a simplified dynamical
model using the textbook [2, §7]. From the Euler-Lagrange
equations of motion adding also nonconservative torques, we
derived the following nonlinear system of coupled differen-
tial equations:
M(q)q̈ + (C(q, q̇) + Bd ) q̇ + τC (q̇) + g(q) + τs (q) = R τm (1)
or equivalently, using the linearity in the parameters property
[2, §7.5.3]:
Fig. 2: Safety fence and door lock with emergency stop Y (q, q̇, q̈)θ = R τm (2)
button.
where
Other safety-related hardware actions include a lamp with • q, q̇, q̈ are vectors of dimension n representing joint
multiple colors indicating the operational status of the position, velocity and acceleration, respectively; q =
robot (green, orange, red); various shock absorbers (see (z0b α β γ) is constructed using Denavit-Hartenberg
Fig. 1a): (i) spring-damper systems positioned at the two convention [2, §3];
ends of the linear unit, (ii) deforming metal sheet for • M(q) represents inertia matrix;
the rotation β . Software actions include bypassing control • C(q, q̇) accounts for the Coriolis and centrifugal forces
decisions that might endanger the robot, and using instead contributions;
a safe fallback control. • Bd is a diagonal constant matrix of the cumulated viscous
The paper is organized as follows: section II focuses on damping between motors and links;
dynamic modeling, followed by control design and results in • τC (q̇) is the Coulomb friction torque vector
section III. The paper ends with conclusions in section IV. • g(q) accounts for the gravity forces vector;
• τs (q) stands for the spring effect acting only on α-DOF;
II. D IMENSIONING MECHANICAL AND ELECTRICAL
this spring is visible in Fig. 1a, positioned on the diagonal
COMPONENTS
of the parallelogram frame;
A. Nominal parameters • R is a diagonal positive matrix of cumulated gear ratios.
Advanced mechanical design CAD tools1 are quite valu- These gears are situated between motors and links and used
able for multiple reasons. On the one hand they allow 3D for torque amplification and speed reduction;
visualization of the final product (see Fig. 1b), assembled • τm is the vector of motor torques;
using custom-made parts (some of these components will be • Y (q, q̇, q̈) is the regressor matrix;
laser printed, increasing the total price of the setup) as well • θ is the parameter vector consisting of products and/or
as off-the-shelf ones. On the other hand, the CAD software sums of physical parameters
is able to compute (estimate) quite accurately physical quan- In our previous work [3, Appendix II] we have provided
tities associated to robot links, like the mass, position of the details on the content of aforementionned vectors, matrices,
center of mass, inertia tensor matrix. for a 2-DOF, 2-link robot. Actually that was a simplified
The datasheets publicly available on manufacturers’ web- version of our current 4-DOF robot, where the β and γ-DOF
site provide other parameters like: (i) rotor inertia, torque are fixed once and for all.
constant for motors; (ii) gear ratio, mass moment of iner-
tia for gearboxes; (iii) mass of carriage, conversion factor The second approach was to use a multibody software.
between rotation and translation for linear units. Instead of opting for commercial products (e.g., MapleSim),
All these form the nominal parameters and are necessary we were mainly interested in open source alternatives. After
for building a dynamical model which finds its utility in: careful selection we decided to use Robotran [4]. Using a
high-level interface, the user can easily specify the properties
1 we have used Autodesk Inventor Professional 2015 of links and joints, and the software automatically generates
the dynamical model. An interesting feature is that in the end, 50
200 0.4
the user has access to readily implementable code (Matlab, 40
180
0.3
Phyton but also C/C++). It is based on ODEs after applying 30
160
successive transformations on top of (1). Its main drawbacks 0.2
−0.5
Fig. 6: Schematic diagram of the closed-loop control system.
−1
βref(t) [rad]
𝑜𝑐1 𝑜𝑐2
𝑦c
𝑥c
Fig. 8: Led.
𝑜𝑐1 𝑜𝑐2
conclusion is that randomly positioning the robot was not a
(b) situation2 for placing objects good idea. Probably, better ideas include pre-defining points
in the workspace of the robot, such that when stacking them
Fig. 7: Stereo vision: Example where the algorithm of inter-
together to form 3 by 3 matrices, their determinant is as big
secting epipolar lines will fail to distinguish two different
as possible, or alternatively the condition number is as small
situations and consequently calculate positions of yellow
as possible.
objects. Here we used pinhole lens model: the origins oc1 and
oc2 of the camera coordinates are at the center of projection C. Trajectory planning
[2, §11].
Once the positions of the identified objects that need to
be picked are transformed from the camera frame into robot
5 and provide efficient means to control a wide range of
4 applications.
3 Experimental results show that simple PID control with
2
anti-windup and static friction compensation works quite
1
well for this robot. For tuning purpose, one can recall the
0
analogy with mechanical systems: the P term acts as a virtual
spring, while the D term acts as a damper between desired
−1
and current position.
−2
A straightforward trial-and-error tuning procedure is pre-
−3
sented hereafter. Use a step reference. Start first by adjusting
−4
h(1,1) h(1,2) h(1,3) h(1,4) h(2,1) h(2,2) h(2,3) h(2,4) h(3,1) h(3,2) h(3,3) h(3,4) the P gain, while keeping the I and D gains to zero. Gradually
increase its value until a satisfactory P gain candidate is
Fig. 9: Experimental identification of elements h(i, j) of the found. Now observe the high frequency oscillations around
transformation matrix Hc0 ; i and j correspond to rows and the desired reference. Gradually increase the D gain in order
columns, respectively. In green: identified values; in red: to mitigate these oscillations: the D action is mostly visible
average value; in blue: standard deviation. at high speeds, while negligible at low speeds. A PD control
with high gains is preferable for:
• achieving fast performance
inertial frame, the solution of the inverse kinematics problem • avoiding systematic overshoot: this situation is particularly
can be used to generate time-dependent reference trajectories dangerous at the boundaries of robot’s workspace where
the robot might hit hardware protection systems.
qref (t) = zref ref ref ref
0b (t), α (t), β (t), γ (t)
See results in Fig. 11.
Actually, multiple grabbing positions are possible for some
objects situated on the table.
Smooth point to point trajectories are generated over a 1
finite time horizon: they start from the current position of 0.5
Normalized
βref
position
robot arm and end into the basket. Here, two approaches have 0 β
been studied: using quintic polynomials [3, §IV] and proxi-
−0.5
mate time-optimal servo [11]. The latter has the theoretical
advantage of using the analytic solution of an optimization −1
0 5 10 15 20
problem.
1
In order to validate results in simulation, a virtual environ- τref
m,β
ment has been developed (see Fig. 10). It allows visualization 0.5
Normalized
0
experimental platform.
−0.5
Robot represented in inertial frame
(Denavit−Hartenberg convention) −1
0 5 10 15 20
Time [s]
0.6
Fig. 11: Experimental results using PD control for β -axis.
0.5 z0−axis Normalized value of 1 corresponds to maximum allowed:
0.4 x0−axis
(i) position in the upper figure; (ii) torque in the lower figure.
y0−axis
y0−axis
0.3
prismatic joint
0.2 revolute joint
rigid link Next, the control designer should decide whether to use
0.1 gripper
the I action. It is useful for reducing static error, however at
0
−0.2
the cost of systematic overshoot due to its memory effect.
0
0
0.2
−0.2 To tune it, the I gain is gradually increased making sure
−0.4
0.4 the overshoot is within satisfactory performance. The anti-
x0−axis
z0−axis windup is a must as soon as motors are pushed towards their
maximum capacity, in order to avoid integrator windup (see
Fig. 10: Virtual environment used to test trajectory planning.
[12, §3.5]).
(x0 , y0 , z0 ) represents robot’s inertial frame.
To overcome Coulomb friction effects, notably at higher
speeds, we appended in series the block depicted in Fig. 12.
D. Feedback control Especially, it was necessary for controlling the z0b -axis.
Non-model-based control techniques are often the result It was interesting for us to note that aforementioned PID
of human operator intuition. They are easy to understand control performed quite well. The main reasons were that:
0.15
0.1
model used for feedback control and the real plant, there will
Normalized output [−]
0.05
be a minor offset in the tracking error. To correct it, use the
0 simple feedback parallel action, namely the PID independent
−0.05 axis control presented in section III-D.
−0.1
An alternative to this combined feedback and feedforward
−0.1 −0.08 −0.06 −0.04 −0.02 0 0.02
Normalized input [−]
0.04 0.06 0.08 0.1 control approach is the robust optimal nonlinear control [3].
To understand it, mechanical concepts like (1) are no longer
Fig. 12: Coulomb friction compensation, smoothed around enough, making people that are not familiar enough with
the origin. Normalized value of 1 corresponds to maximum Lyapunov theory uneasy. A reaction and criticism we got
motor torque. from industry was that it is too mathematically involved, to
the level of loosing physical insight. For this reason, this
direction has not been pursued.
• some axes motions were sufficiently decoupled: e.g., the
up-down α-motion has negligible effect on the left-right IV. CONCLUSIONS
β -motion as well as on the z0b linear translation; In this paper we presented the succession of steps that
• on the other axes where coupling effect was non- we followed in order to make available a robotic research
negligible, the existing powerful motors tuned with high platform. Methodology to design, build, control and commis-
gains, ensured efficient attenuation of the coupling ef- sion prototype robots is valuable for companies interested in
fect: e.g., z0b linear translation will consequently generate producing them: we presented the selected tools (including
movement on β ; software) and focused on lessons learned. Consequently, we
• robot is quite sturdy, built with rigid links. believe the value of this paper is that it might be used as a
A few reasons might motivate the usage of advanced guideline for companies, as well as academia interested in
control, where PID are known to perform poorly: developing their own prototypes faster.
• when robot is mechanically built using lighter materials, R EFERENCES
links become flexible and can therefore vibrate; [1] J. Stoev, S. Gillijns, A. Bartic, and W. Symens, “Badminton playing
• when total price of the robot is downsized by a factor robot - a multidisciplinary test case in mechatronics,” in 5th IFAC
5: by downsizing motors and/or replacing current expen- Symposium on Mechatronic Systems, September 2010, pp. 725–731.
[2] M. W. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling and
sive mechanical sub-assemblies with low-cost ones, new Control. Hoboken, NJ: John Wiley & Sons, 2005.
control challenges appear: e.g. gearboxes with significant [3] C. S. Teodorescu and S. Vandenplas, “A robust optimal nonlinear
backlash. In general, it is still an open question nowadays control for uncertain systems: Application to a robot manipulator,”
in IEEE Multi-Conference on Systems and Control, Sydney, Australia,
how to design robots that exhibit high performance while September 2015.
still being cheap. [4] J.-C. Samin and P. Fisette, Symbolic Modeling of Multibody Systems,
With these ideas in mind, we address next, the topic of ser. Solid Mechanics and Its Applications. Springer Science &
Business Media, 2003, vol. 112.
advanced feedforward control. [5] J. Swevers, C. Ganseman, D. B. Tükel, J. De Schutter, and
H. Van Brussel, “Optimal robot excitation and identification,” IEEE
E. Feedforward control Transactions on Robotics and Automation, vol. 13, no. 5, pp. 730–740,
Model-based control techniques offer a certain number of October 1997.
[6] J. Swevers, W. Verdonck, and J. De Schutter, “Dynamic model
advantages including: identification for industrial robots,” IEEE Control Systems, vol. 27,
• accounting for coupling effects between axes; no. 5, pp. 58–71, October 2007.
[7] J. Currie and D. I. Wilson, “OPTI: Lowering the barrier between open
• achieve higher precision. source optimizers and the industrial MATLAB user,” in Foundations of
In particular, the flatness-based approach [13, §6.2.2] con- Computer-Aided Process Operations, N. Sahinidis and J. Pinto, Eds.,
Savannah, Georgia, USA, January 2012.
sists of inverting the nominal plant model (2): given a priori [8] P.-A. Bliman and M. Sorine, “Easy-to-use realistic dry friction models
desired trajectories qref (t) together with their higher order for automatic control,” in Proc. 3rd European Control Conf., Roma,
derivatives q̇ref (t) and q̈ref (t), the reference control torques Italy, September 1995.
[9] H. Olsson, K. J. Astrom, C. C. de Wit, M. Gafvert, and P. Lischinsky,
are calculated accordingly: “Friction models and friction compensation,” Eur. J. Control, vol. 4,
no. 3, pp. 176–195, 1998.
τmref (t) = R−1Y (qref (t), q̇ref (t), q̈ref (t))θ (4) [10] L. Sciavicco and B. Siciliano, Modelling and control of robot manip-
ulators, 2nd ed. London: Springer-Verlag, 2000.
where matrix R is always invertible (see section II-B). [11] R. L. Kosut, G. F. Franklin, and M. L. Workman, “Adaptive proximate
A feature that makes this control particularly interesting is time-optimal servomechanisms: Continuous time case,” in Proc. IEEE
the simplified tuning procedure. Actually, tuning parameters American Control Conf., June 1987, pp. 589–594.
[12] K. J. Åström and T. Hägglund, Advanced PID Control. Research
are physical quantities: e.g. if we know beforehand that the Triangle Park, NC: ISA - Instrumentation, Systems, and Automation
gripper is going to handle an object of 1 kg, then we need Society, 2006.
to update accordingly one parameter, corresponding to this [13] J. Lévine, Analysis and Control of Nonlinear Systems: A Flatness-
based Approach, ser. Mathematical Engineering. Berlin, Germany:
mass. Springer, 2009.
This feedforward control block is not intended to work
alone. Due to slight mismatch between the nominal plant