Design and Experimentation of a Neural Network Controller
for a Spherical Parallel Robot
Donatello Tina, Luca Carbonari and Massimo Callegari
Department of Industrial Engineering & Mathematical Sciences, Polytechnic University of Marche, Ancona, Italy
Keywords: Neural Networks, Robot Control, Parallel Kinematics Machines.
Abstract: The paper deals with a neural network control for the gravity compensation of a parallel kinematics robot.
The network has been designed in a simulation environment then it has been implemented in robot’s
controller by using an FPGA device that is part of an embedded system. After the training phase, several
experiments have been performed on the prototype manipulator and the related datasets have been collected
and elaborated. In the end, a comparative analysis has shown the improved performance of the neural
network controller with respect to the inverse dynamics one, mainly due to the well-known difficulties in
deriving explicit models of friction and play in the joints.
1 INTRODUCTION
During the last two decades, research in the
Artificial Neural Network (ANN) field has increased
significantly in different branches of science. To the
best of our knowledge, King and Hwang (1989) first
theorized the application of ANN for robotics
applications; Narendra and Parthasarathy (1990)
demonstrated that Neural Networks can be also
usefully exploited for the modelling of dynamic
systems as well as for the control of automated
machinery. Other recent robotics applications for
neural networks are the solution of the kinematics of
a parallel manipulator (Zhang and Lei, 2011) and the
control of a planar robot (Serrano, 2011).
Field Programmable Gate Arrays (FPGA) can
perform a large number of parallel operations at very
high time rates and their architecture is very suitable
for the implementation of real time neural networks.
As a matter of fact remarkable realisations are
available already in scientific literature, e.g.
Orlowska-Kowalska et al. (2011) used an FPGA-
based ANN for the state estimation of a two mass
system with elastic couplings.
The main target of the present work is the
realisation of a gravity compensation module for the
control of a prototype parallel manipulator, named
Sphe.I.Ro. whose kinematics allows only motions of
pure rotation. The computation of the analytic model
of machine’s statics is quite burdensome due to the
presence of the closed kinematics chains. Therefore
an ANN has been created in order to obtain a
reliable and efficient static model of the robot, that is
able to provide the actuation forces needed to
maintain a certain configuration in the orientation
space.
Figure 1: Photograph of the Sphe.I.Ro. robot.
2 THE Sphe.I.Ro. ROBOT
Sphe.I.Ro. (Spherical Innovative Robot) is a parallel
kinematic machine developed at the robotics
laboratory of the Polytechnic University of Marche.
It is made by three identical serial chains connecting
the moving platform to the fixed base, as shown in
Figure 1; each leg is composed of two links: the first
one is connected to the base by a cylindrical joint
(C) while the second link is connected to the first
250
Tina D., Carbonari L. and Callegari M..
Design and Experimentation of a Neural Network Controller for a Spherical Parallel Robot.
DOI: 10.5220/0004047602500255
In Proceedings of the 9th International Conference on Informatics in Control, Automation and Robotics (ICINCO-2012), pages 250-255
ISBN: 978-989-8565-21-1
Copyright
c
2012 SCITEPRESS (Science and Technology Publications, Lda.)
one by a prismatic joint (P) and to the end-effector
by a universal joint (U); for this reason its
mechanical architecture is commonly called 3-CPU.
Figure 2 shows a sketch of robot’s kinematics: when
the translations of the three cylindrical joints are
actuated, the end effector is only allowed to perform
pure rotations around a fixed point of the space
(Callegari et al., 2004). The large number of passive
prismatic pairs, typical of parallel kinematics, causes
high friction losses, which represent a relevant
disturbance for motion control and make quite
difficult the realisation of a good dynamic model of
the robot. Therefore the A.’s decided to turn to an
empirical model that could robustly take into
account these phenomena; in particular, the resort to
ANN’s systems proved able to fit the physical
behaviour of machine, obviously after a proper
training phase.
Figure 2: Schematic representation of robot’s kinematics.
3 DESIGN OF THE ANN SYSTEM
3.1 ANN Model
If the model of a single neuron is taken into
consideration, its output can be expressed as:
(1)
where x is the input vector, W is a weighting vector,
b is the bias number and σ is the activation function.
According to Cybenko’s theorem (Cybenko, 1989) a
static feedforward net with one hidden layer of
neurons has been chosen, with the number of
neurons n to be selected after some simulation trials,
as explained in the following section; the input of
the net are the 3 displacements q
i
of the actuators
while the output is represented by the 3 forces f
i
that
keep the robot at rest in the assigned configuration.
The resulting model of the whole net has the form:
 
 
(2)
where: 

;

;

;

.
3.2 Simulation Network
A simulation model of the network was developed in
order to select the appropriate number of neurons for
the hidden layer and to tune the training procedures.
Both kinematic and dynamic models of the robot
were available already (Callegari et al., 2004, 2012):
it is remarked that the latter has been built according
to the virtual work principle, therefore resulting very
compact and efficient, potentially allowing a real-
time use.
Once set up the simulation environment, several
parameters of the ANN have been changed to look
for best gravity compensation performance. Every
net configuration has been tested after a proper
training, realized by using data sets of about 3 500
different orientations inside robot’s workspace. If
the latter is mapped into the joint space, it is
represented by a tetrahedron whose lateral faces are
singularity surfaces (Carbonari, 2012). For each test
configuration, the gravity force reflected to the
actuators was calculated by using the mathematical
model, therefore obtaining both input (joint
positions) and output (reflected gravity forces) data
set for the training of the net.
The ANN training has been performed by means
of the Levemberg-Marquard back-propagation
algorithm (Hagan and Menhai, 1994). The back-
propagation algorithm needs data to be pre-
processed in order to normalize the input of the net.
Nets with different numbers of neurons have
been investigated (see Table 1 for details); in each
case, the training has been interrupted when the
output error or the gradient became lower than a
given threshold. Simulation results showed that 20
neurons are a good compromise between net
complexity and net performance. It is noted that a
mean square error of about 26 mN has been achieved
throughout the workspace for the 20 neurons net:
this, for a mean actuation effort of about 48 N,
corresponds to a relative error lower than 1%.
Table 1: Training performance of different nets
(simulation).
Training stop criterion
No. of
neurons
Gradient
threshold
Actual
gradient
15
0.009
0.0090
20
0.009
0.0080
25
0.009
0.0500
30
0.009
0.0072
40
0.009
0.0088
Design and Experimentation of a Neural Network Controller for a Spherical Parallel Robot
251
4 ANN IMPLEMENTATION ON
FPGA
The performance of the artificial neural network has
been experimented on the Sphe.I.Ro. robot, whose
control architecture is briefly described in the
following. The parallel robot is actuated by three
brushless linear motors, whose drivers are connected
to a PXI platform (by National Instruments) which
performs both control and supervision tasks. The
PXI device hosts an FPGA board, which deals with
several processes, such as managing encoders
signals, commanding the brakes of the 3 linear axes,
running the neural network and operating the pre-
and post-processing of network’s input and output.
By grouping the elementary operations of the
ANN for layers, it is possible to implement the net in
LabView by means of two nested for loops, as
shown in Figure 3: the inner one for the
multiplication between the input and the
corresponding weight, and the outer one for the
implementation of neuron’s calculations. Figure 3
shows the hidden layer of the ANN, in case 20
neurons are used: x is the input vector of the net and
W is the weights matrix, where w
ij
represents the j
th
weight of i
th
neuron. It is noted that the activation
function σ
H
is the same for all the neurons. The
activation function has been realised by means of the
sigmoid tanh(x). According to Kwan (1992) an
approximation of a sigmoid function can be
implemented by using a sigmoid-like second-order
piecewise function
:



(3)
where and determine respectively the slope and
the gain of the nonlinear function (3) while L
represents the amplitude of the non-linear region.
Figure 3: Scheme of the neural network structure
implemented on the FPGA device.
In this work L=2 was used, see Figure 4. This
makes possible to evaluate the activation function by
means of two multiplications and one summation.
Figure 4: Sigmoid activation function σ_H (x) and its
approximation Γ(x).
5 CONTROL ALGORITHM
DESCRIPTION
The implementation of the software in the LabView
environment has been made through its typical
graphic language. Two types of code had to be
written: the ANN has been implemented on the
FPGA board while all other control software had to
run on the PXI controller, which supervises the user
interface and manages the manipulator’s control
system.
Furthermore an interrupt-based procedure
ensures the synchronization between the different
hardware components: in fact, the two devices run at
different clock rates, i.e. a maximum clock rate of
40 MHz for the FPGA board and 10 MHz for the
PXI controller. In order to optimize the FPGA
performance, the code has been partitioned into
different processes, able to perform in-parallel
different real-time tasks, i.e. encoder’s signals
processing, motor driving, ANN system computation
and safety procedures management.
In the PXI controller a Virtual Instrument was
implemented, by exploiting a series of routines that
guarantee the correct execution of the ANN on the
FPGA. In fact the net was designed and tuned in
Matlab and then adapted for real-time execution in
the LabView environment. Thus relevant data of the
net, such as weights matrix, bias vector, pre-process
and post process settings, were first set up in the
Matlab simulation environment and then exported to
the LabView one.
It is useful to assess and compare the
computation efforts needed by both gravitational
compensation models.
As for the ANN model, of course the
computation burden depends upon the number of
neurons that compose the net. For the net that has
ICINCO 2012 - 9th International Conference on Informatics in Control, Automation and Robotics
252
(a) (b)
Figure 5: Norm of the error on different surfaces of joints space (different scales are used): (a) surface close to home
configuration, (b) surface close to workspace boundaries.
been actually implemented on robot’s controller
(one hidden layer with 20 neurons, 3 input and 3
output), the computation of gravity forces requires
166 multiplications and 43 summations.
If the analytical model is used, a huge number of
non linear operations must be used. In particular, an
algorithm based on this model involves 8305
operations, of which 532 are trigonometric
operation.
6 RESULTS
6.1 Simulation Tests
Several tests have been performed in order to
estimate the performances of the ANN gravity
compensation module. First, the entire workspace of
the Sphe.I.Ro. robot has been investigated through
computer simulation, by computing the gravity
compensation forces with the two available models,
i.e. the analytical model and the neural network
model. The deviation between the two models can
be evaluated as:


 




(4)
where

are the 3 motor thrusts compensating
the gravity force computed by the mathematical
model while

is the corresponding force
vector evaluated by the ANN in the simulation tests.
Each point of the surface visible in Figure 5a
represents a specific robot’s pose in the
neighbourhood of home configuration while the
surface of Figure 5b lays closer to workspace
boundaries. In both cases the norm of error vector
(4) is represented by different colour levels. Since
darker regions mean higher error values, it is
apparent that the error is relevant (
0.4 N) only
within a very limited region of the space. As a
matter of fact, the error becomes lower and lower as
the home configuration is approached: this is due
both to the choice of the training points and to the
increasing isotropy of robot kinematics. In fact,
during training, the points of the dataset have been
made denser in this part of the workspace, where
most operations are carried on.
The behaviour of both the neural network and the
analytical model can be better visualized in the task
space. To this aim, the orientation of the platform is
described by means of the elevation, azimuth and
torsion angles (

). By keeping the torsion angle
(
as a parameter, the error in the orientation space
can be represented as a function of elevation and
azimuth only: for instance, each point of the surface
in Figure 6a represents the norm of the error for a
configuration that is given by elevation
(the angle
around the base circle) and azimuth
(the polar
distance from the centre of the base circle). Figure 6
and Figure 7 represent the error evaluated in
simulation for a null torsion angle (

) and for a
torsion angle

respectively: this task space
representation clearly shows how the error increases
while workspace boundaries are approached, even if
it is pretty limited anyhow. It is noted that the peak
error values emerging in these figures are higher
than the errors that can be read in Figure 5 because
the corresponding points are external to those
surfaces and therefore they are not mapped there.
The prototypal machine is affected by significant
friction forces and bodies deformations, which can
be hardly evaluated in symbolic models, therefore it
was expected that the ANN based model would
perform better than the analytic model: the following
experimental tests aimed at assessing this point.
Design and Experimentation of a Neural Network Controller for a Spherical Parallel Robot
253
Figure 6: Error plot in the orientation space for

(simulation tests).
Figure 7: Error plot in the orientation space for

(simulation tests).
6.2 Experimental Tests
In order to collect the experimental dataset for the
training of the net, a PID controller has been used to
bring (and keep) the manipulator in all the selected
points of the workspace. Once Sphe.I.Ro. had been
driven to a new pose, the forces necessary to
maintain the robot in such configuration have been
recorded by measuring the current absorbed by
motors. The brushless linear motors used to drive the
rig have a proportional dependence between current
and force: the related constant is called thrust
constant” (K
t
) and is provided by the manufacturer.
During the experimental tests, the robot has been
commanded to attain several orientations in the
workspace (different from the ones in the training
set) and the actual forces required by the actuators,

, have been compared with both the forces
estimated by the ANN,

, and the ones
provided by the analytical model,

. The arising
errors are:


 




(5)


 




(6)
Figure 8 allows a comparison between the
behaviours of the two models of gravity
compensation (analytical and ANN based): since the
two graphs have quite similar values, some critical
indicators are collected in Table 2.
In order to get more insight into this key issue,
Table 2 also presents the experimental performance
Figure 8: Actuation forces errors in different points of the

space:

(a) and

(b) for
=0;

(c)
and

(d) for
=15°.
of the ANN based controller, in case the training is
performed on the simulation data set (in place of the
on-field training); all the data are provided for both
torsion angles (
=0° and
=1). It can be seen that
the performance of the ANN controller is better than
the analytical based one in all conditions tests, but
the difference is scarcely substantial. As could be
expected, such difference in performance becomes
smaller as the boundaries of the workspace are
approached and/or the values of the torsion angle
increases since less points have been taken in these
conditions for ANN training and, on the other hand,
the analytical model is able to capture, at least
partially, the rapidly changing manipulator’s
dynamics close to singular configurations.
In the end, it can be useful to investigate the
causes of the not completely satisfying behaviour of
the ANN based compensation: first of all, due to the
relevant time needed by on-line experiments, only
100 points have been considered to build the
experimental data set for net training (while 3000
points have been used in the simulations). Secondly,
due to the lag induced by static friction, for any
configuration of the manipulator there exist a whole
range of actuation forces that keep the machine in
equilibrium under the effect of gravitational force:
such effect surely affected the training phase and
thus the performance of the ANN compensation.
0
0.4
0.8
1.2
1.6
60
80
40
20
0
340320
300
280
260
||E||
240
ICINCO 2012 - 9th International Conference on Informatics in Control, Automation and Robotics
254
Table 2: Performance indexes of gravity compensation
models.
Max
error[%]
Ave
error[%]
ANN compensation
(on-field training)
=0°
7,0
2,8
=15°
11,5
4,6
ANN compensation
(simulation training)
=0°
9,0
3,8
=15°
13,6
4,9
Analytical model
compensation
=0°
8,5
3,8
=15°
12,6
5,4
7 CONCLUSIONS
The aim of this work was to investigate the
performance of ANN’s for the gravity compensation
of a spherical parallel manipulator. The availability
of an analytical model of robot’s dynamics allowed
to design the net through computer simulation and to
port the software to the real-time control hardware
after a first (preliminary) tuning.
After the on-field net training phase, more tests
have been performed to evaluate the compensation
effectiveness: the manipulator has been commanded
to reach several poses in the task space and the
output of the ANN has been compared with the
actuation forces actually needed; the same
comparison has been made with the actuation forces
provided by the analytical model of robot’s inverse
dynamics.
The results of the tests showed that the ANN
controller behaves better than the algorithmic one,
even if the improvements are not very relevant. It is
reckoned that better performances could be obtained
by a more extensive training on the field and in case
the mechanical structure were less influenced by
static friction, as is the present case: the influence of
this factor could be assessed by further
experimentation, by measuring the gravitational
actions with the manipulator in (slow) motion.
From the computational point of view, on the
other hand, the ANN based compensation
overperforms the analytical model, whose
computation is rather time consuming indeed.
REFERENCES
Callegari, M., Carbonari, L., Palmieri, G. and Palpacelli,
M.-C. (2012). Parallel Wrists for Enhancing Grasping
Performances. In: Grasping in Robotics, G. Carbone
ed., Springer, 2012. (In press)
Callegari, M., Marzetti, P., Olivieri, B. (2004). Kinematics
of a Parallel Mechanism for the Generation of
Spherical Motions, in J. Lenarcic and C. Galletti (eds),
On Advances in Robot Kinematics, Kluwer, pp.449-
458.
Carbonari, L. (2012). Extended analysis of the 3-CPU
reconfigurable class of parallel robotic manipulators.
Ph.D. Thesis, Polytechnic University of Marche,
Ancona, Italy
Cybenco, G. (1989). Approximation by Superpositions of
a Sigmoidal Function. Mathematics Control, Signals
and Systems, Vol. 4, no. 2, pp. 303-314.
Hagan, M.T. & Menhai, M. (1994). Training feed-forward
networks with the Marquardt algorithm, IEEE
Transactions on Neural Networks, Vol.5, No. 6,
pp.989-993
King, S.-Y., and Hwang, J. -N. (1989). Neural network
architectures for robotic applications. IEEE
Transactions on Robotics and Automation, Vol. 5, no.
5, pp. 641-657.
Kwan, H. K. (D. of E. E.). (1992). Simple sigmoid-like
activation function for digital hardware
implementation. Electronics Letters, Vol. 28, no. 15,
pp. 1379-1380.
Narendra, K. S. and Parthasarathy, K. (1990).
Identification and control of dynamical systems using
neural networks, IEEE Transaction on Neural
Networks, Vol. 1, no. 1, pp. 4-27.
Orlowska-Kowalska, K and Kaminski, M, (2011). FPGA
Implementation of the Multilayer Neural Network for
speed estimation of the Two-Mass Drive System.
IEEE Transaction on Industrial Informatics, Vol. 7,
no.3, pp. 436445.
Serrano, F. E. (2011). Neural Networks Models for
Control and Identification of a Two Links Robotics
Manipulator. Proceedings CONCAPAN XXXI.
Zhang, D., & Lei, J. (2011). Kinematic analysis of a novel
3-DOF actuation redundant parallel manipulator using
artificial intelligence approach. Robotics and
Computer-Integrated Manufacturing, Vol. 27, no. 1,
pp. 157-163.
Design and Experimentation of a Neural Network Controller for a Spherical Parallel Robot
255