PREDICTIVE CONTROL FOR MODERN INDUSTRIAL ROBOTS
Algorithms and their applications
Květoslav Belda, Josef Böhm
Department of Adaptive Systems
Institute of Information Theory and Automation, Academy of Sciences of the Czech Republic
Pod vodárenskou věží 4, 182 08 Prague 8 – Libeň, Czech Republic
Pavel Píša
Department of Control Engineering
Faculty of Electrical Engineering, Czech Technical University in Prague
Karlovo nám. 13, 121 35 Prague 2, Czech Republic
Keywords: Predictive control, Redundant manipulators, Robotics, Steady-state error problem.
Abstract: Industrial robots comprise substantial parts of machine tools and manipulators in production lines. Their
present development stagnates in their control. Traditional approaches, e.g. NC (numerical control) systems
combined with PID/PSD structures, provide control of the tool drives as separate units only, but not solve
the control from view of the whole machine system. On the other hand, in control theory, there are a lot of
approaches, in which the information on tool dynamics and kinematic relations can be involved. The main
contribution of this paper is to introduce various utilization and modifications (not only control tasks) of one
such approach – model-base predictive control. The control is being developed for modern industrial robots
based on parallel configurations. The modifications of predictive algorithm are substantiated by real
laboratory experiments. The paper concerns with basic control design and its possibilities to remove
positional steady-state error. Quadraticaly-optimal trajectory planning is outlined in it.
1 INTRODUCTION
Industrial robots comprise substantial parts of ma-
chine tools and manipulators in production lines.
Their present development stagnates in their control,
which should ensure not only high accuracy, but also
economical and safe operation.
Traditional approaches, e.g. Numerical Control
systems (NC
systems) combined with PID/PSD stru-
ctures, provide control of the robots only from view
of their drives considered as separate units. It means
that whole robotic system is taken into account
as a set of drives and their relations. These relations
are given by mechanical constrains arising from real
robot structure – real mechanism. In those appro-
aches, the relations are considered only as distur-
bances acting to individual drives. This concept
yields no possibilities for further increase of opera-
tional accuracy and load capacity.
Modern control approaches can involve the most
of properties of whole robotic system through its
mathematical model. It is obtained by virtue of ma-
thematical-physical analysis or some numerical
identification method. Such control approaches are
generally called model-based approaches. They can
design, just by use of the mathematical model,
corresponding and energetically reasonable control
actions.
One of modern model-based approaches is multi-
step Predictive control (Ordys and Clarke 1993). It is
applicable in new developed industrial robots (e.g.
Neugebauer, ed., 2002), which are based on redun-
dantly actuated parallel structures. They represent
multi-input multi-output systems and their redundant
actuation solving the problem of workspace
singularities (Belda et al. 2003) deter mines different
number of their inputs and outputs.
In use of parallel robots, model-based control
can be fully utilized, for more complicacy of the
robot structure. Control based on model can better
distribute the input energy in the structure. Example
of two parallel structures is shown in Figure 1.
3
Belda K., Böhm J. and Píša P. (2005).
PREDICTIVE CONTROL FOR MODERN INDUSTRIAL ROBOTS - Algorithms and their applications.
In Proceedings of the Second International Conference on Informatics in Control, Automation and Robotics - Robotics and Automation, pages 3-10
DOI: 10.5220/0001155800030010
Copyright
c
SciTePress
drive3
y
x
drive1 drive2
drive4 drive3
y
x
drive1 drive2
drive4
drive1
drive4
z
drive3
x
drive2
drive1
drive4
z
drive3
x
drive2
‘Crosshead’ ‘Sliding Star’
Figure 1: Planar parallel robots: horizontal and vertical
Although the parallelism is appeared in robotics
in the sixties - Stewart platform in 1965 (Tsai,
1999), their wider development started in the nine-
ties (Neugebauer, ed., 2002). The parallel robots are
promising way, how to significantly improve accu-
racy, speed and stiffness of machine tools. They can
be simply understood as movable truss constructions
or as movable work platforms supported by a set
of parallel arms (Tsai, 1999).
The main contribution of this paper is to demon-
strate various utilization and modifications (not only
control tasks) of predictive control; if it can achieve
acceptable dynamic control errors and solve steady-
state error problem. The theoretical results imple-
mented in algorithms are substantiated by real
laboratory experiments with redundant parallel
structure ‘Sliding Star’ (Figure 1, 3).
2 MODEL-BASED APPROACH
The model-based approaches use the model as prior
information (feed-forward). It enables to predict
future behavior of a controlled system. Considering
future requirements and behavior, the input energy
can be optimized (Ordys and Clarke, 1993).
The models can be expressed in different forms.
In case of multi-input multi-output structures
(MIMO systems), as robots are, the model is useful
expressed by state-space formulation. State-space
model more clearly expresses the relations among
inputs and outputs and their coupling.
2.1 Composition of the Robot Model
Generally, the robot is a multibody system. Its
model is represented by pure equations of motion.
They are composed mostly from Lagrange’s
equations (e.g. Stejskal and Valášek, 1996). Then
the mathematical model described the real system
is given by a set of differential equations (1)
uyyyy )(),( gf +=
(1)
where input vector u can represent only forces,
caused by torques on drives in case of horizontal
configuration
τ
Fu
=
(2)
or these forces enlarged by gravitational forces
in case of vertical configuration
τ
FFu +=
g
(3)
The equations (2) and (3) serve for final
determination of real control actions – force effects
required from drives. Furthermore, this arrangement
provides the equality
0yy =),(
f for arbitrary y from
range of definition and zero time derivatives
0y
=
in spite of presence of gravitational forces, which are
added to inputs (equation (3)).
The function
),( yy
f produces that the equation
(1) is nonlinear for state
TT
],[],[
21
xxyyX ==
.
One of ways to cope with nonlinearity is to use some
kind of linearization. In the following subsection,
one linearizing technique is introduced.
2.2 Exact Linearization
The subsection 2.2 deals with the linearization based
on differences. Against standard linearization using
partial derivatives, the resultant form is usable not
only in the working point, but also in its wider
neighbourhood.
The nonlinearity in the equation (1) can be
linearized as follows (Valášek and Steinbauer, 1999)
yyyyyyyy
),(),(),(
21
aa +=f
(4)
and transformed in state-space form
=
=
2
1
21
),(
)(
x
x
aa
10
yy
y
Xf
f
(5)
Provided that the nonlinear function
),( yy
f
and point
TT
],[],[
21
xxyyX ==
are given; X
belongs to the range of definition of the function;
zero elements in X are substituted by suitable
nonzero number
0
κ
to prevent zero division.
Furthermore, two types of state variables are
assumed: generally outputs x
1
= y and their time
derivatives x
2
= y
; i.e.
TTT
xxxx ]],,[],,,[[],[],[
2221121121
""
=== xxyyX
(6)
ICINCO 2005 - ROBOTICS AND AUTOMATION
4
Finally, the assumption from previous section
has to be also fulfilled for arbitrary y and zero
y
]
2
arbitrary,
1
[)(),( 0xxXX0Xfyy =====
rrr
f
(7)
Then the decomposition indicated by equation
(4) can be reached. Its algorithm starts from second
state variables x
2
(i.e. according to the equation (6):
order is
{x
21
,
x
22
,
···,
x
11
,
x
12
,
···}
i.e.
{21,
22,
···,
11,
12,
···}) (8)
The order is given by amount of the information
included in the function f(X) and assumption (7).
The indicated order of selection will considerably
simplify decomposition, as it will be shown later.
In view of previous assumptions, the exact
linearization-decomposition is expressed as follows:
++
+
= "
DD
12
12
11
11
.
)(
.
)(
)( x
x
x
x
ff
Xf
"
DD
+
+
+ )0(
)0.(
)(
)0(
)0.(
)(
22
22
21
21
x
x
x
x
ff
(9)
(Note: The dots before variables in denominators
mark division ‘element by element’; division of all
elements of differences by scalar
xij
.)
In detail, the equation (9) is written that way
=)(Xf
···
.
)]([)]([
···)(
).(
)]([)]([
21
21
23
,
22
,0,
13
,
12
,
1123
,
22
,
21
,
13
,
12
,
11
1111
1111
0,0,0,
13
,
12
,
11
0,0,0,
13
,
12
,
11
+
+
+
=
x
x
xx
xx
T
xxxxx
T
xxxxxx
r
r
T
xx
r
x
T
xxx
ff
ff
(10)
The individual fractions of the equation (10) are
columns of the coefficients of the matrices
),( yya
1
and
),(
2
yya
with following internal structures
0yya =),(
1
,
=
%#
"
22
2
21
2
12
2
11
2
2
aa
aa
a
(11)
The first column group (matrix
),(
1
yya
)
contains only zeros due to differences being also
zeros - the vector function equals zeros for zero time
derivatives; see equation (6) – e.g. numerator of the
first column of
),(
1
yya
is
0ff = )]0,0,0,,,([)]0,0,0,,,([
131211131211
T
r
T
xxxxxx
(12)
2.3 Discrete State-Space Formulation
Let the linear (or linearized) differential equation
or the system of differential equations with separate
the highest derivation on left side are assumed
uyyyyyyyyyfy )(),(),(),( g++==
21
aa
(13)
Then, its continuous state-space form is written as
=
=
=
+=
)(
;;
1
21
2
1
x
0
B
aa
10
A
x
x
X
uBXAX
g
CC
CC
[]
21
ccC
XCy
=
=
C
C
(14)
For real-time control the system (14) has to be
discretized, because continuous realization is not
feasible. The reason is that the model of the robot
needs certain time for its own composition and real
control systems are usually realized discretely.
The discretization of the model has to be realized
also in finite time. Therefore, the conventional
discretization technique (Šulc, 1999)
)()()1(
)(
kdekek
k
k
C
k
CC
uBXX
AA
+
+
+=+
δδ
δ
τδδδ
τ
(15)
is provided by finite expansion of exponential
function
)(
e .
Finally, then the discrete state-space model is
written as follows
)(
)(
)(
)(
)1( k
k
k
k
k uB
X
X
C
A
y
X +
=
=+
(16)
This model (16) is initial form for further
explanation of design of predictive algorithm.
3 PREDICTIVE CONTROL
Generalized Predictive Control is a multi-step con-
trol (Ordys and Clarke, 1993) as well as a similar
approach – Linear Quadratic Control (Phillips and
Nagle, 1995). It offers more powerful control actions
than standard PID controllers and therefore it gains
significant and widespread application in industrial
process control. Its basic formulation can be
adapted, without difficult modifications, for multi-
input multi-output (MIMO) systems.
The control is based on local optimization
of quadratic cost function (quadratic criterion)
()()
{}
+=
+=
++++
N
Noj
jkjk
T
jkjk
k
J
1
)()()()(
wyQwy
y
{}
=
++
+
Nu
j
jk
T
jk
1
)1()1(
uQu
u
(17)
The criterion is expressed in step k. N is a hori-
zon of optimization, No is a horizon of initial
insensitivity and Nu is a control horizon.
Q
y
and Q
u
are output and input penalizations and
y
(k+j)
and
u
(k+j 1)
are input and output values.
PREDICTIVE CONTROL FOR MODERN INDUSTRIAL ROBOTS - Algorithms and their applications
5
The predictive control combines together both
feed-forward part and feed-back part. The former,
feed-forward part is represented by prediction
via mathematical model of the controlled system
(parallel robot). It forms the dominant part of control
actions. The latter, feed-back, closed from measured
outputs, compensates some model inaccuracies
and certain bounded disturbances.
In spite of mentioned incontestable advantages of
predictive control, it can cause, in general point
of view, occurrence of steady-state errors. It is
happened not only when penalizations in quadratic
cost function are nonzero but also e.g. when
unmeasured disturbances occur.
It can be solved by modification of generalized
predictive algorithm, which will be explained
thereinafter.
3.1 Equations of Prediction
The prediction is fundamental part of the design.
It defines the character of the algorithm. Generally,
let us consider two types of algorithms:
absolute algorithm (standard)
incremental algorithm (modified standard)
Absolute algorithm generates directly values
of the control actions, their full (absolute) values.
The algorithm arises from the model (14) or (16)
without any changes. On the other hand, incremental
algorithm generates only increments of the control
actions. To obtain incremental/integrative character,
the integrator has to be added to the model of the system.
The following lines show this addition
uyyyyyyyyyfy )(),(),(),( g++==
21
aa (18)
uduuduu
~
)(' ===
tdt (19)
after insertion of equation (19) to (18), it is obtained
uyyyyfy
~
'''))',((''' g++==
21
aa
(20)
Then continuous state-space formulation is
u
0
0
x
x
x
10
0
0
010
x
x
x
~
][][
3
2
1
21
3
2
1
+
=
g
aa
(21)
+=
===
C
C
C
C
CC
B
0
B
A0
010
AX
x
x
x
uBXAX
~
;
][
~
;
~
3
2
1
~
~~
~
~
TT
ccC ]'',',[],,[];[
~
321
~
~
yyyxxxX0CCXCy ====
(22)
Extended state
X
~
is computed by state observer
(Anderson and Moore, 1979). This modified model
(22) has the same form as state-space model (14).
If it is discretized according to (15), then obtained
model is the same as (16). That form is generally
correct and it will be used in the following text also
for the modification (21) and (22).
Using considered discrete state-space form (16),
the equations of prediction are usually expressed as
)1(
)1(
)(
)(
)(
)(
1
1
)(
)(
)(
)(
)(
)(
)1(
)1(
+
+
+
+
+
+
+
+
+
+
+
+
+
+
=
=
=
=
Nk
Nk
k
k
k
k
N
N
k
k
k
k
N
N
Nk
Nk
k
k
Bu
Bu
CBu
Bu
Bu
Bu
A
A
C
C
X
X
X
X
A
A
A
A
C
C
y
X
y
X
"
"
%##
#
(23)
and in matrix notation, they are given that way
uGfy +=
()
k
N
X
CA
AC
f
= #
,
=
CB
0
B
B
AC
C
G #
"
%
"
#
1N
(24)
Vector
f represents free responds (u = 0) from time
instant k. The product
G
u compensates differences
of free responds from desired values within horizon
of optimization N (Ordys and Clarke, 1993).
3.2 Computation of Control Actions
The control actions are obtained by minimization
of quadratic criterion (17). It can be simply rewritten
to the following matrix product (Belda et al. 2002)
=
=
u
wy
Q0
0Q
Q0
0Q
uwy
u
y
u
y
],)[(
TT
k
J
JJ ×=
T
(25)
where y
is a vector composed according to (24)
(time step k+1, · · ·, k+N), w is a vector of desired
values, corresponding to vector
y
and u is a vector
of designed future inputs, again in discrete time
instants for the whole horizon (k, · · ·, N - 1).
The product (25) is more suitable form that can
be decomposed in two parts so-called square roots
of the criterion. From mathematical point of view
the minimization of square root is more straight-
forward.
If the square root of the criterion on the right side
is selected and expression of prediction (24)
is inserted in this square root, then the criterion is
given
=
=
0
fwQ
u
Q
GQ
u
wy
Q0
0Q
J
y
u
y
u
y )(
(26)
J is a column vector and its Euclidean norm equals
a cost of the square root of the criterion.
ICINCO 2005 - ROBOTICS AND AUTOMATION
6
The objective is to search for such u, which
minimizes the square root (26) i.e. the control u
minimizes the norm |J| of the criterion. In case of
square root (26), the minimization leads to a system
of algebraic equations with more rows than
columns – over-determined system:
0
0
fwQ
u
Q
GQ
y
u
y
=
)(
0buA =
(27)
For optimization of the criterion, the orthogonal
triangular decomposition (Golub and Van, 1989;
Lawson and Hanson, 1974) is used. It reduces
excess rows of matrix A [(2·N·i)×(N·i)] and elements
of vector b [2·N·i] (i is a number of DOF) into upper
triangular matrix R and a vector c according
to the following scheme:
T
TT
Q
b
b
Qu
u
A
A
Q
/
=
=
cuR =
(28)
=
A u
b
=
R
1
0
u c
c
z
1
(29)
Vector c
z
is a lost vector, whose Euclidean norm
|c
z
| is equal value of square root J (i.e. J = c
z
T
c
z
).
To obtain unknown control actions u, only upper
part of the system (29) is need
11
1
1
)( cR
c
u
uR
T
=
=
(30)
Since a matrix R
1
is upper triangle, then the con-
trol u is given directly by back-run procedure.
The penalizations Qu and Qy (usually selected
as
Qy
=
diag(λ
y
),
λ
y
=1
and
Qu
=
diag(λ
u
), 1,0
u
λ
)
determines magnitude of the redistributed loss
in considered horizon of the prediction N.
The horizons Nu and No have not direct
utilization here. Control horizon Nu is usually equal
horizon of prediction N; lower values provide
equality of control actions at the end of optimization
horizon – useless for robot motion. Initial insen-
sitivity horizon No is also directly useless. It causes,
that control differences at the beginning of the hori-
zon N are not considered.
The different choice of ratio of penalization λ
u
/λ
y
together with horizon N enables to generate control
actions that the available drives were not fitfully
exerted. However, distributed changes of torques
are achieved with the cost of certain loss (error),
that theoretically equals value of the criterion.
3.3 Quadraticaly-Optimal Trajectories
As one interesting possibility, the predictive control
offers, due to its several horizons (N, No, Nu), planning
trajectories by record of outputs from simulation.
The task is defined as follows: let us have two points
– start and end, and at the same time, a path
(trajectory) is not conditioned, only end-point must
be achieved (Figure 2). In such case, we can use
predictive control with specific setting of the output
horizons N and No. If we set, that the horizon
maxNN
=
and kNNo
=
, where k is order of the
controlled system, then the quadratic criterion will
consider only last k differences among predicted
end-point and its reference value. Thus, the matrix G
and corresponding differences (w - f) in the criterion
(27), are reduced only on their last k rows and
elements respectively
=
0
0
fw
fw
1
0
CB
0
.
CAB
.
.
.
1
CB
.
BCA
0
1
BCA
BCA
0
0
fw
10
1
01
G
#
#
#
#
"
"
"
"
"
"
"
#
#
#
N
kN
NN
kN
)(
)(
21
(31)
Lower unit matrix in (31) corresponds to dimen-
sion of input penalization. Such form, specifically
last k rows of matrix G and corresponding
differences (wf), causes quadratic distribution
of energy to individual inputs (control actions)
within whole horizon Nmax.
If indicated procedure would be applied, then the
control process has no information, in which step
should stop. Difference of horizons N and No is still
the same. Information on stopping the control
process is given by horizon No.
Described sequence represents specific dead-
bead control spread within time. Thus, it is not
necessary to achieve end point during minimal
number of steps (= order of system) in control
process, but on the other hand (from reasons of
feasibility by drives) it is better to distribute the
input energy uniformly without rapid turns in some
wider horizon. Its length should arise from
technological requirements.
The sequence can be used only once under
condition, that the system is linear and horizon No is
a little bit lower than horizon N; i.e. value No gives
the length of horizon, on which the system should
stop after previous
)( No-maxN steps.
Figure 2: One example of planned trajectory
z
xx
end
star
t
PREDICTIVE CONTROL FOR MODERN INDUSTRIAL ROBOTS - Algorithms and their applications
7
In case of nonlinear systems, the sequence has
to be repeated with progressively shortened horizon N
min,minmax max, NN,-NNN 1,1: += "
(32)
where the value
minN is suitable selected,
not exceed number approx. 20 (k < Nmin < 20).
The higher numbers do not improve the process.
The repetition provides the changes of model during
planning of the trajectory according to real state
of the controlled system i.e. it respects nonlinearity
by changing of models in compliance with real
positions and velocities of the robot.
4 LABORATORY EXPERIMENTS
RESULTS AND CONCLUSIONS
For laboratory tests, robot ‘Sliding Star’ was used.
It represents vertical planar parallel configuration
with different levels of potential energies (i.e. gra-
vitational force has to be considered) and redundant
actuation. The aim of the experiments was control
based on described predictive algorithms (control
circuit in Figure 4) fulfilling a given trajectory (time
histories of control process Figure 5 and 6).
Figure 3: Lab model of parallel robot ‘Sliding Star’
Figure 4: Control scheme for predictive control and PSD controller for comparison (discrete form of PID)
ICINCO 2005 - ROBOTICS AND AUTOMATION
8
Figure 5: Absolute GPC – Steady state error is evident (ts = 0.02s; N = 10, Nu = 10, No = 0,
λ
u
= 1e-6)
Figure 6: Incremental GPC – Steady state error converges to zero (ts = 0.02s; N = 10, Nu = 9, No = 1,
λ
u
= 1e-6)
The control circuit (Figure 4) is composed
in MATLAB-Simulink environment, where the pre-
dictive control algorithm itself was realized as cap-
sulized C-coded s-function in Simulink block (Belda
et al. 2004). This control circuit (Simulink scheme),
after its compilation and uploading to digital signal
processor, was used for real time tests of control
on laboratory model of parallel robot ‘Sliding Star
(Figure 3). The robot model has three degrees
of freedom (movement in direction x and z and
rotation
ψ
around perpendicular axis y), but it is
redundantly actuated by fourth rotational DC motors
with gearings and motion screws. The screws
provide transformation of rotation of the motors
to straight-line motion.
The circuit contains not only the block of con-
troller and block representing robot interface, but
also other necessary blocks as blocks of generating
trajectory, model composition, discretization, kine-
matical transformations, measurement of current,
safety logical blocks etc.
The Figures 5 and 6 well present the difference
of the results of real control process with different
predictive algorithms.
In the upper parts of figure left sides, the testing
trajectory (shape ,S’) is shown. In lower parts, there
are consecutively time histories of position error,
desired rotation (besides rectilinear motion the robot
performs also rotation), and just error of rotation.
On right sides of the figures, there are times
histories of foursomes control actions – real values
of torques on appropriate drives.
The Figure 6 shows the improvement of control
process, when the incremental modification of pre-
dictive algorithm is used. Indicated error in position
in steady-state (let us say undesirable offset) is
evident in Figure 5. On the other hand, the error
in Figure 6 converges to zero.
error
error
PREDICTIVE CONTROL FOR MODERN INDUSTRIAL ROBOTS - Algorithms and their applications
9
0 1 2 3 4
-0.2
-0.1
0
0.1
0.2
time [s]
ex = xd-x [m]
0 1 2 3 4
-0.2
-0.1
0
0.1
0.2
time [s]
ey = yd-y [m]
01234
0
0.1
0.2
time [s]
exy = sqrt(e
2
)[m]
0 1 2 3 4
-20
-10
0
10
20
time [s]
error = psid-psi [°]
0 1 2 3 4
-0.2
-0.1
0
0.1
0.2
time [s]
ex = xd-x [m]
0 1 2 3 4
-0.2
-0.1
0
0.1
0.2
time [s]
ey = yd-y [m]
01234
0
0.1
0.2
time [s]
exy = sqrt(e
2
)[m]
0 1 2 3 4
-20
-10
0
10
20
time [s]
error = psid-psi [°]
Figure 7: Time histories of differences at quadratically-optimal trajectory planning for trajectory in Figure 8
-0.1 -0.05 0 0.05 0.1
-0.1
-0.05
0
0.05
0.1
-0.1 -0.05 0 0.05 0.1
-0.1
-0.05
0
0.05
0.1
Figure 8: Really planned trajectory for ‘Sliding Star’
On the basis of shown results (representative
selection only) model-based control can be effective.
It can achieve acceptable control errors. Model-based
control can also meet some additional requirements
not only from control point of view. One of examples
can be quadratically-optimal trajectory planning (exam-
ple in Figures 7 and 8) described in subsection 3.2.
The presented simple trajectory planning is basic
idea, which can solve avoidance of obstacles not
only in robot workspace.
ACKNOWLEDGEMENTS
The authors appreciate the kind support by the Grant
Agency of the Czech Republic:
grant (101/03/0602, 2003/05), “Redundant drives
and measurement for hybrid machine tools”
and
grant (102/05/0271, 2005/07), “Methods of Predic-
tive Control, Algorithms and Implementation”.
REFERENCES
Anderson, B.D.O. and Moore, J. B. (1979). Optimal
Filtering, Prentice-Hall, Inc.
Belda, K., 2002. Control of Redundant Parallel Structures
of Robotic Systems, Dissertation, Czech Technical
University in Prague.
Belda, K., Böhm, J., and Valášek, M., 2003. State-Space
Generalized Predictive Control for Redundant Parallel
Robots. Mechanics Based Design of Structures and Ma-
chines, Marcel Dekker, Vol. 31, No. 3, pp. 413 - 432.
Belda, K., Böhm, J., Píša, P., Valášek, M. (kbweb © 2004)
GPC pages: http://www.utia.cas.cz/AS/belda/.
Golub, H., G. and Van, Ch., F., L., 1989. Matrix Compu-
tations, The Johns Hopkins Univ. Press.
Lawson, Ch. and Hanson, R., 1974. Solving Least Square
Problems, Prentice-Hall, Inc., New York.
Neugebauer, R.
ed., 2002. Development Methods and Application
Experience of Parallel Kinematics, Reports from the IWU
Vol. 16, ISBN 3-928921-76-2, IWU Chemnitz.
Ordys, A. and Clarke, D., 1993, A State - Space Des-
cription for GPC Controllers. Int. J. Systems SCI.,
Vol. 24, No. 9, pp. 1727 - 1744.
Phillips, L., and Nagle, T., 1995. Digital Control Systems
Analysis and Design, Prentice Hall, New Jersey.
Sciavicco, L. and Siciliano, B., 1996. Modeling and
Control of Robot Manipulators, The Mc-Graw Hill
Companies, Inc., New York.
Stejskal, V. and Valášek, M. 1996. Kinematics and Dyna-
mics of Machinery, Marcel Dekker, New York.
Šulc, B., 1999. Theory of automatic control. Script
of the Czech Technical University, Prague (in Czech).
Tsai, L.-W., 1999. Robot analysis, The Mechanics of Se-
rial and Parallel Manipulators, John Wiley & sons,
Inc., New York.
Valášek, M. and Steinbauer, P., 1999. Nonlinear Control
of Multibody Systems, Euromech, pp. 437-444, Lisabon.
ICINCO 2005 - ROBOTICS AND AUTOMATION
10