Professional Documents
Culture Documents
Mariapaola D’Imperio
There are a lot of people to whom I want to express my gratitude for their constant presence in
my life during these years. Immeasurable appreciation and deepest gratitude for the help and
support are extended to the following persons who in one way or another have contributed in
making this dream come true.
My dad, my mum and my brother for their love and their unlimited patience. They were,
and they are my constant source of encouragement and enthusiasm.
Prof. Darwin G. Caldwell for having given to me the possibility of being a student at the
Istituto Italiano di Tecnologia.
Dr. Ferdinando Cannella for letting me jump on board of the most interesting, crazy,
complex experience of my life, thrusting in me since the first moment we worked together.
All the AIAL teem members for being friends more than colleagues, specially for
supporting me during stressful and difficult moments and for sharing a lot of happy times
together.
Dr. Luca Carbonari, Prof. Gustavo M. Cerda and Eng. Daniele Catelani for the accuracy
in supervising my job and for the unconditional support given every time I’ve asked for. Dr.
Claudio Semini and to all the HyQ guys for the help provided for any experimental test.
My friend and "long term" roommate for being part of this dream, with her care and
presence, since the very beginning.
All the members of the RST group at the Tecnhical University of Dortmund, specially
Prof. Torsten Bertram and Eng. Myrel Alsayegh, for giving to me a great opportunity in
being one of their member during my intern ship period.
All the researches, technicians and administrative peoples belonging to the Advanced
Robotics Department for the assistance given to me along these three years.
At last, but not the least, I would to say thanks to all the friends and relatives that shared
with me this important step of my life.
Abstract
Nowadays robotic design field witnessed an increasing interest towards the realization of
highly dynamic machines. The success of those platforms, capable of attaining highly
dynamic performances, must be pursued through an effective cooperation of several tech-
nological aspects, such as mechanics, control and electronics. The integration of these
subsystems represents a challenging issue which is even exacerbated by extreme dynamic
working conditions that robots are expected to achieve. For these reasons, research is needed
for developing various strategies, novel design methods and reliable tools to assist designers
in the simulation of complex mechatronic systems.
A rising solution is represented by developing Virtual Prototype Models (VPMs) able
to reproduce the systems behaviour for the purposes of both system design and controller
development. The work presented in this thesis aims to follow this strategy. However,
building a good VPM could be very difficult due to the simultaneous presence both of
complex physical phenomena and control laws; moreover modelling a high level model could
be very risky and, maybe, not always useful for control purposes. To overcome this risk,
this thesis proposes a step-wise method involving parametric identification procedures and a
hierarchical modelling development.
A proper parametric identification guarantees the model reliability and as a consequence
the allowance to use it for further investigation and improvement of the robot. The possibility
of having a hierarchical model, from the other side, has a double advantage: in the direction
of the complexity increasing, it allows working with a reduced number of parameters to
identify step by step; then, when the most complex model is achieved and validated, it is
possible to go back and simplify it in order to achieve simulation times compatible with the
real time operation required from the control architecture.
Following this approach several modelling methodologies and approaches have been
evaluated and applied in this thesis. Among the outcomes, there are two that can be considered
the major ones: the non-linear Maxwell model of an hydraulic actuation system and a flexible
model of a 2 DOFs robot based on the screw theory approach. Both of the models produced
good results as is it possible to notice from the agreement between numerical and experimental
results estimated by an analysis on the residual.
viii
As a future investigation can be considered the simplification of the flexible link formula-
tion in order to approach the real-time control requirements; the development of develop new
links, in terms of material and geometry, with the purpose of linearising the behaviour in
impulsive conditions as running or hammering ones; the design of a new test rig for testing
the hydraulic cylinder with the aim of overpassing some of the deficiency encountered with
the actual experimental data.
Table of contents
List of tables xv
1 Introduction 1
1.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Robotic Actuation 81
4.1 State of Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.2 Hydraulic Actuation Systems . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.3 Hydraulic Actuators Modelling . . . . . . . . . . . . . . . . . . . . . . . . 86
4.3.1 Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.3.2 Hydraulic Force . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.3.3 Mass conservation principle . . . . . . . . . . . . . . . . . . . . . 87
4.3.4 Mass conservation principle: integral form . . . . . . . . . . . . . 87
4.3.5 Mass conservation principle: derivative form . . . . . . . . . . . . 91
5 Parametric Identification 93
5.1 State of Art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.2.1 Application 1: Structural Parameters Identification via Least Square
Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.2.2 Application 2: Hydraulic Parameters Identification exploiting hys-
teretic phenomena analysing the whole Robotic System . . . . . . . 106
5.2.3 Application 3: Hydraulic Parameters Identification via Least Square
Method by analysing the whole Robotic System . . . . . . . . . . . 108
5.2.4 Application 4: Hydraulic Parameters Identification via Grey Box
Method by analysing a stand alone actuator . . . . . . . . . . . . . 111
5.2.5 Application 5: Hydraulic Parameters Identification via NARX Method
by analysing the whole Robotic System . . . . . . . . . . . . . . . 115
References 133
5.1 Masses and inertias of leg bodies: CAD model vs identification results. . . 105
5.2 Stiffness and Damping Estimated Coefficients. Low gain (150 [Nmrad −1 ])
and High gain (300 [Nmrad −1 ]). σ is the standard deviation. . . . . . . . . 107
5.3 Stiffness and Damping Estimated Coefficients . . . . . . . . . . . . . . . . 111
5.4 Hydraulic parameters estimated by Grey Box modelling . . . . . . . . . . . 115
5.5 Available variables for computation of the NARX model at step k. . . . . . 117
Introduction
CONCEPT CONCEPT
PHYSICAL PHYSICAL
PROTOTYPE PROTOTYPE
Fig. 1.1 Design process for legged robots. (a) Traditional approach: few correlations be-
tween the mechanical and control. (b) Proposed approach: integration between mechanics
and control since the early stages of the development process of a robotic system.
Massive and bulky robots generate high forces in the interaction with the external envi-
ronment that can damage their structures or can create unwanted feedback for the control
system [103]. Those actions increase with the rise of the dynamic capabilities of such
machines, in fact for example, in a running legged robot, the ground reaction force registered
on the limbs can reach 2.5 times its total weight [75]. In the other side, thinking to the
biomedical robots or the manipulators that have to interact with humans, the forces exerted
from the interaction can damage the counterpart. Watching closer at this human robotic
interaction, it has to be considered that in the near future the humans that interact with robots
are not only the trained workers of an assembly line but also common people, not trained,
which will use a robot at their home [86].
If those robots are conceived as flexible, their structure becomes lighter and more compli-
ant, that results in faster and safer robotic systems. When the structural flexibility is taken
into account, in fact, the aforementioned integrated approach permits not only to deeply
consider the relationship between structural capabilities and control algorithm requests, but
also to exploit the optimal solutions in terms of energy consumption. However, one of the
main drawbacks of adding flexibility is the arising of unwanted vibrations, that must be
1.1 Motivations 3
taken in account by the control algorithm to prevent resonance phenomena and to guarantees
precision in task performing.
By tradition the aforementioned integration, especially in the development process of
high dynamic capabilities robots, is based on the trade-off between active and passive
compliance [35]: the former is obtained by tuning the robot stiffness and damping properties
via feedback control using the actuators to absorb the energy due to the reaction forces with
the external environment [12, 19]; the latter one, instead, directly acts on the mechanical
properties of the robot [70] through springs or shock absorbers to prevent the structure from
damages. The first solution affects the system controllability at certain speed while the
second one add additional mass and modifies the system natural frequencies. For these
reasons, researches look forward a valid trade-off between the two solutions.
The schema in Fig.1.1.a describes the current state of art of that trade-off. Following
the robot specifications, both the mechanical designer and the control designer work for the
same concept producing two different models with the aim of developing the robot from the
scratch to its physical set-up. The model produced by the mechanical designer is focused
on the geometric properties definitions, on the materials choice, on the robot operational
requirements diagnosis and on the construction/manufacturing feasibility [98]. At the same
time, the control designer develops the specific algorithm according to the tasks that the robot
has to perform. When the structural model is ready, the rigid bodies inertia properties are
used for creating the robot multi-body model in order to test the control algorithm. This is
generally done by using software as Gazebo, V-Rep, Webots, SL, Robotran, etc [63] thanks
to the fact that they permit to use the same script to control both the virtual model and the
physical robot.
The aforementioned solution guarantees a fast physical prototype development but it as
some drawbacks as the high time and costs required for the improvements. Moreover it tends
to be conservative in the choice of the tasks that the robot has to perform.
1.1 Motivations
The solution proposed in this thesis aims to overpass the aforementioned limits looking
forward a strategy based on a full integration between mechanics and control since the
beginning of the development process. Some of the technologies here mentioned are used in
industry since a couple of decades [88, 1, 114, 10]. The novelty of the present work consists
in the application of some well known techniques to complex robotic architectures as legged
robots. The idea here illustrated aims to develop Virtual Prototype Models (VPMs) able
to reproduce the systems behaviour for the purposes of both system design and controller
4 Introduction
development. Figure 1.1.b describes the proposed method: the VPM is connected strictly
both with the CAD to exchange the geometrical and mechanical properties and, moreover, it
is integrated in the control algorithm to guarantee better controllability. Then when the best
design, both from mechanical and from the control side is chosen, and the whole physical
prototype is built and assembled, the VPM results can be compared with experimental test
ones.
According to the idea proposed here, the risk of having a control law designed for
the wrong mechanical system will be strongly reduced. Moreover, there are several other
advantages in using such a model, as for example the possibility to study the robot under
extreme performance conditions, while considering time-cost reductions in simulation and
control application. In extreme conditions, like the impact ones, in fact, it is difficult to have
an effective force control since the contact time is too short. A numerical model can overpass
this issue because its results does not depend on the measurement instruments response time.
Every improvement, both from the structural and from the control side, can be immediately
simulated within a global analysis.
However, building a good VPM could be very difficult due to the simultaneous presence
both of complex physical phenomena and control laws. Modelling a high level model could
be very risky and, maybe, not always useful for control purposes. From one side, if not
all the parameters involved in the simulation are well known, it easy to get wrong and
misleading results; from the other side, instead, in the control tuning, it is required to have a
real-time operation, that cannot be achieved with a very complex VPM. For these reasons,
the strategy adopted in this thesis is focused both on parametric identification procedures and
on a hierarchical modelling development [98].
• Chapter 3 deals with the kinematic and dynamic modelling of flexible robotic systems
and flexible connections. Following the same schema illustrated for the previous
chapter, even in this case the kinematics and dynamics analysis are presented both
for in R3 and in R6 . One of the two applications described in this chapter regards
again the leg of an Hydraulic Quadruped robot. In this case a sensitivity analysis
of the flexible connections is studied. The second applications instead, refers to the
Technische Universität Dortmund Omnielastic robot with the purpose of creating a
VPM of a flexible robot exploitable for control purposes.
• Chapter 5 concludes the core of the thesis, addressing one the key point of the entire
modelling process: the identification of the parameters. Among the many possibilities
offered from the identification field, a detailed description is provided for the methods
used here. The applications of this chapter are five, all of them use as physical set-up
one leg of an Hydraulic Quadruped robot. More in detail, the first application regard
the structural parameters identification procedure, while the remaining four are focused
on the analysis of the actuation system.
6 Introduction
• Chapter 6 address conclusions and future work that should be done as a consequence
of this work.
• Application I contains the Matlab codes used in one of the identification procedure of
Chapter 5.
In this section the kinematic and dynamic analysis of a robotic multibody sistem is presented,
with particular reference to rigid bodies and rigid connections. The chapter starts with
the discussion about some theoretical aspects regarding the aforementioned analyses and
then ends with a couple of applications. The first one is related to the Kompact Actuated
modulaR Limb (KARL), developed at the Advanced Industrial Automation Lab-IIT, designed
to investigate the influences of having a compact actuation in an anthropomorphic limb;
while the second one, regards one leg of the Hydraulically Quadruped robot, developed at
the Dynamic Legged System Lab-IIT with the purpose of investigating the dynamics of an
articulated mechatroni
rigid or flexible. The rigid ones are based on a distance equation between points belonging to
the two connected bodies, while, the flexible ones are based on a force transmission between
the same points.
A RMBS can be actuated by electric, hydraulic, pneumatic motion system or by one of
their possible combination, i.e. electro-hydraulic [113]. A detailed discussion on this topic is
illustrated in Chapter 4.
As happens for each robotic system, the complete behaviour of these mechanisms are
analysed by means of kinematic and dynamic analysis [26]. In this chapter the kinematic
and dynamic analysis of a RMBS with rigid bodies, connected by rigid joints and having a
serial kinematic chain is presented.
J3
B0 B3 J4
B4
J1 J7
B6 J5
B1 J2 J6
B2 B5
Fig. 2.1 Robotic multibody system schema. The left side (composed by the bodies B0 , B1 , B2
and by the joints J1 , J2 , J3 ) shows a typical open loop chain; while the right side (composed
by the bodies B3 , B4 , B5 , B6 and by the joints J4 , J5 , J6 , J7 ) is representative of a closed loop
chain.
to reach a particular position in the robot workspace [36]. In this second case it is called
inverse kinematic analysis.
In case of a serial RMBS, the direct kinematic analysis is straight forward and much
easier than for the parallel ones; the opposite happens for the inverse kinematic analysis. The
direct kinematic analysis for serial RMBS it is easier due to the fact that, when the joints
variables values are known, the end effector position is unequivocally determined. The same
does not happen for parallel RMBS, where generally it is needed to solve highly coupled
nonlinear equations with few closed form solutions available. As mentioned, the inverse
kinematic analysis, instead, presents exactly the opposite problems for the two classes. For
serial RMBS sometimes there is no unique relation between the end effector position and
its joints variables; while for the parallel ones, the actuator displacement can be computed
independently starting from the end effector position [109].
• the zi axis is aligned with the j(i+1) joint axis, with an arbitrary positive rotations;
10 Rigid Multi-Body Modelling
Fig. 2.2 The four Denavit–Hartenberg Parameters: θ is the angle about the previous z, from
old x to the new x axis; α is the angle about the common normal, from old z to the new z
axis; d is the distance along the previous z axis to the common normal; a is the length of the
common normal. Courtesy of Prof. C. S. George Lee
The base reference system and the end effector one don’t follow the aforementioned rule,
in particular the former one has the zi axis parallel to the first joint axis while the last one has
the xn on the normal to the last joint. Each reference system can be described with respect to
the previous one by using four parameters, instead of six: three of them are associated to the
RMBS geometry, while the forth one is referred to the body motions. Figure 2.2 reports a
detailed description of all the available parameters.
The reference point coordinates tend to eliminate some disadvantages of the previous
set, because the position of each element belonging to the RMBS is described by absolute
coordinates. For planar RMBS this description results in two Cartesian coordinates and one
angle, while, in case of spatial RMBS it is given by three Cartesian coordinates and the
angular orientation of the reference frame. All of them are referred to an inertial reference
system. The choice of this coordinate system conduces to a larger number of parameters than
the previous choice, but also to sparse matrices that are easier to compute.
2.2 Kinematic Analysis 11
The Euler angles fully represents this family of coordinates [30]. It consists in three
parameters useful to describe the orientation of a rigid body in a three dimensional space.
A generic rotation around the three axis x,y,z respectively of three angles ψ, θ , φ can be
described by the Euler vector
u = [ψ, θ , φ ]T (2.1)
φ (q,t) = 0 (2.3)
The polynomial approach is based on a hierarchical analysis of the RMBS which consists in
subdividing the mechanism in elementary substructures easy to analyse, in order to reduce
the number of the unknown [62]. According to Keung [71], there are four main substructures
in every RMBS: Point-Line (P-L), Point-Body (P-B), Line-Line (L-L) and Line-Body (L-B).
• Point-Line structure. In this structure (Fig. 2.3.a) there is only one movable coordinate
system, the one located in B(x, y). Its position can be determined as
x = L1 cos(θ1 ) or x = L2 cos(θ2 )
(2.4)
y = L1 sin(θ1 ) or y = L2 sin(θ2 )
From the previous relations is clear that only a couple of parameters is needed to
describe the position of point B in the local reference coordinates system (S0 ), respec-
tively (L1 , θ1 ) or (L2 , θ2 ). Being the structure in Fig. 2.3.a a planar structure, both
the sine (Eq. 2.5) and the cosine laws (Eq. 2.6, 2.7, 2.8) can be applied to find the
2.2 Kinematic Analysis 13
B1(x,y) B1(x,y)
θ3 z0
L1
y0
L2 λ1
β1 a13
y θ
A3(a,a3)
β1 P
A1(0,0) B1(x,y) Q
θ1 θ2 a12 β3 a23
x
A1(0,0) A2(a2,0)
x0
A2(a,0)
a b
reciprocal relationships. For each angle and length choosen, there are two possibile
configurations of point B referred to S0 , both of them are mirrored respect to the line
passing trough (A1 , A2 , A3 ).
• Point-Body structure. In this structure (Fig. 2.3.b) there are two geometric entities to
consider: point B1 and the body identified by points (A1 , A2 , A3 ). This represents a
classical tetrahedral structure whose triangles are governed by the cosine law and only
the position of the point B1 (x, y, z) needs to be determined. With the same procedure
applied for the P-L case, it is possible to estimate point B location with respect to S0 .
Even in this case, for each angle and length, there will be two possible positions for B,
mirrored respect to the plane passing through (A1 , A2 , A3 ).
14 Rigid Multi-Body Modelling
• Line-Line structure. In this schema (Fig. 2.4.a) the analysis must be conduced on two
lines, more in detail it is needed to describe the position of the line B1 B4 respect to the
A1 A4 . The position of the i-th point of the B1 B4 line, referred to S0 is given by
B 0i = L 1 A B + b i k (2.9)
where
L 2i = (B
B0i − A i )(B
B0i − A i ) (2.10)
⎡ ⎤⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤⎡ ⎤
r l r ai l ai
⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ 1 2
L 1 b i ⎣0⎦ ⎣m ⎦ − L 1 ⎣0⎦ ⎣ 0 ⎦ − b i ⎣m ⎦ ⎣ 0 ⎦ = (Li − L12 − b2i − a2i ) (2.11)
2
t n t 0 n 0
L 1 b i (ll r + nt ) − L 1 a i r − a i b i l = d i (2.12)
that represents a set of (j-1) equations and where di is the distance we are looking for.
In order to solve the system, a couple of condition is still needed. Those are
r2 + t 2 = 1
(2.13)
l +m +n = 1
2 2 2
Once the expression for r, t, l, m, n is found, the location of the line respect to S0 is
determined.
• Line-Body structure. In this structure (Fig. 2.4.b) the two geometric entities to consider
are a line and a body identified by the points (A1 , A2 , A3 , A4 , A5 ). With the same
procedure applied for the L-L case, it is possible to determine the position of point B
with respect to S0 .
Since all the equations for the aforementioned substructures are referred to a local
reference system S p , it is needed to refer those positions to a global reference system
by means of rotation and translation matrices. This generally results in a system of
non-linear equations with more than two unknown. In order to find a solution, it is
necessary then, to reduce the number of the unknown by means of proper substitution
2.2 Kinematic Analysis 15
xp B4(b4) B5( 5)
b xp
zp B3(b3,0,0)
B4(b4,0,0)
B3(b3)
B2(b2)
B2(b2,0,0) B1(b1)
B1(0,0,0)
L1 L3 L5
L1 L3 L4
L4 L2
z0 L2 z0
y0 y0 A5(ax,ay,0)
x0 x0
A4(ax,ay,0)
A1(0,0,0) A2(ax,0,0)
A2(a2,0,0) A4(a4,0,0)
A1(0,0,0) A3(a3,0,0) A3(ax,ay,0)
a b
as for example the cosine and sine functions of some angles. Once the substitution has
been done, the function will be analysed by means of proper matrices as the Sylvester
one as detailed in the Application 1.
The solution based on the DH method consists in writing the loop closure equation and
in simplifying it according to some geometrical rmsb characteristics. The procedure
starts by describing the position of each point belonging to the mechanism by means
of homogeneous transformations from one reference system to the next one. There are
four main allowed transformations according to the DH method which are
– Rotation T (z, θ ) around and translation T (z, d) along the z axis, respectively
⎡ ⎤ ⎡ ⎤
cos(θ ) −sin(θ ) 0 0 1 0 0 0
⎢ sin(θ ) cos(θ ) ⎥ ⎢ 0⎥
⎢ 0 0⎥ ⎢0 1 0 ⎥
T (z, θ ) = ⎢ ⎥ T (z, d) = ⎢ ⎥ (2.14)
⎣ 0 0 1 0⎦ ⎣0 0 d 0⎦
0 0 0 1 0 0 0 1
– Rotation T (x, α) around and translation T (x, a) along the x axis, respectively
⎡ ⎤ ⎡ ⎤
1 0 0 0 1 0 0 a
⎢0 cos(α) −sin(α) 0⎥ ⎢0 0⎥
⎢ ⎥ ⎢ 1 0 ⎥
T (x, α) = ⎢ ⎥ T (x, a) = ⎢ ⎥ (2.15)
⎣0 sin(α) cos(α) 0⎦ ⎣0 0 1 0⎦
0 0 0 1 0 0 0 1
16 Rigid Multi-Body Modelling
According to this method, the position of a generic point of the mechanism can be
found with
pn =0 A n p (2.16)
where 0 A n is the transformation matrix which consider all the translations and rotations
needed to describe the path from the base to the end effector (at the opposite n A 0 =0 A −1
n
is the matrix needed to follow the inverse path). More in detail
0
A n =0 A 11 A 2 ...i−1 A n−1
i An (2.17)
where
n−1
A i = T (z, θ )T
T (z, d)T
T (x, α)T
T (x, a) (2.18)
The solution of the Eq. (2.3) via Newton-Raphson method consists in the system
linearization through Taylor series, as in Eq. (2.19), around an approximated value of
the desired solution qi .
where φq is the Jacobian matrix and it is a linear transformation that maps the joint
space in the workspace, Eq. (2.20).
⎡ δ φ1 δ φ1 ⎤
δ q1 ... δ qn
⎢ ⎥
φq = ⎣ ... ... ... ⎦ (2.20)
δ φm δ φm
δ q1 ... δ qn
2.2 Kinematic Analysis 17
The Eq. (2.19) gives as results the vector q, which is an approximation of the solution.
From another point of view, usign the Eq. (2.19) instead of Eq. (2.3) means to
approximate the solution space with its tangent in a specific point. The results of this
method are much more accurate as much as the approximation is close to the real
solution; said in other words, that means closer is the approximated value chosen,
easier and faster is the solution convergence [26].
The second step in performing a kinematic analysis is the study of the mechanism
velocities by means of the so called velocity analysis, performed with a twofold reason:
investigation and diagnoses of the mechanism velocity space. The first one is needed
for all of those RMBS working under determinate speed conditions, i.e. spray machines,
laser or cutter, welding robots, etc; while, the second one, is necessary for each type of
RMBS, because it permits to determine the workspace space characteristics.
– the linear velocity represents the body position variation and it is given by Eq.
(2.21).
dp
v= (2.21)
dt
where p is the position of the body respect to a fixed or moving reference frame.
• Euler Angles. Considering φ , θ and ψ as the three Euler angles, the angular
velocity is then obtained by means of their differentiation with respect the
18 Rigid Multi-Body Modelling
RR T
Ω = Ṙ (2.25)
The velocity analysis for RMBS can be solved both in R3 and in R6 : in the first case
the linear and angular velocity vectors are considered separately one from the others,
while in the second one, they are grouped in one single vector called screw.
⎡ ⎤
$1
⎢ ⎥
⎢$2 ⎥
⎢ ⎥
s ⎢$3 ⎥
$= =⎢ ⎥ (2.26)
so × s + λ s ⎢$ ⎥
⎢ 4⎥
⎢ ⎥
⎣$5 ⎦
$6
2.2 Kinematic Analysis 19
where s represent a unit vector lying on the screw axis; so is the distance between the
studied point respect to the screw axis. The first three elements describes the angular
velocity of a body, while the last three are the translational ones.
For a revoulte joint, since d = 0, the screw becomes
s
$= (2.27)
so × s
0
$= (2.28)
s
$ = q̇
$ (2.29)
⎡ ⎤
Mx
⎢ ⎥
⎢My ⎥
⎢ ⎥
⎢Mz ⎥
W =⎢
⎢F ⎥
⎥ (2.30)
⎢ x⎥
⎢ ⎥
⎣ Fy ⎦
Fz
Once the concepts of the linear velocity and angular velocity of a body are known,
and, having defined the screw-based approach, it is time to derive the RMBS velocity
equations [18, 106] for a serial manipulator.
Generally speaking, for the R3 case, those are obtained by differentiating respect to
the time the Eq. (2.3), that becomes
20 Rigid Multi-Body Modelling
φq (q,t)q̇ + φt = 0 (2.31)
where φq is the Jacobian matrix, q̇ is the vector of the dependent velocities and φt is the
constraint equations partial derivative. For simplicity of writing, from now ongoing,
the Jacobian matrix will be represent by the letter J. This one in R3 is described as
conventional Jacobian and its formula is
⎡ f1 f1 ⎤
δ q1 ... δ qn
⎢ ⎥
J = ⎣ ... ... ... ⎦ (2.32)
fm fm
δ q1 ... δ qn
n
$n = ∑ q̇
$i (2.33)
i=1
where
Js = $2 ...
$1 $n (2.34)
The singularity analysis is the one that permits to determine the RMBS workspace
limitations by the identification of all the configuration in which the Jacobian matrix
looses its full rank.
According to Donelan [36], it is important to study the RMBS singularities several
reasons as for example: the analysis of the loss of freedom conditions or the ones that
determine the loss of control, the study of the mechanical advantages acquired from
the system in such conditions, etc.
If, in a determined configuration, the Jacobian matrix becomes singular, the mechanism
will loose one or more degrees of freedom or the control system fails, because the
velocity and acceleration values become higher and higher. Close to a singularity
configuration, furthermore, large movement in the joint space produce in a small or
negligible movement in the end effector space.
2.2 Kinematic Analysis 21
The third and last step in performing a kinematic analysis regards the acceleration
study. Following the same concepts of the velocity one, there are both the linear and
the angular acceleration.
The first one is a vectorial quantity and it is the time rate of change of the linear velocity,
obtained by means of
dv
a= (2.35)
dt
while the second one is a scalar quantity and represents the time rate changes of the
angular velocity. The angular acceleration can be calculated by
dΩ
α= (2.36)
dt
n
$̇ = ∑ $i q̈ + ∑ q̇i q˙j $i × $ j (2.38)
i=1 i< j
2.3 Dynamics
The dynamic analysis aims to determine the motion equations of the bodies due to the
presence of external forces [43]. This type of analysis requires an a priori knowledge
of the bodies positions, velocities and above all the inertial properties of the system.
The dynamical analysis could be both direct and inverse. The first one permits to
estimate the end effector position given in input a desired torque/force values or a
kinematic controlled angles/displacements. It provides as output a non-linear coupled
set of equations called "motion equations". The second one, at the opposite, is focused
on the identification of the driving torques/forces values and of the joints reaction
needed to obtain a specific motion. It generally reaches a closed form formulation and
it is useful for the robots control.
– Newton Euler. The Newton Euler approach [112, 120] is based on the dynamical
equations of each body that composes the RMBS. Once these ones are written,
by coupling them, it is possible to reach the explicit form of the system dynamic
2.3 Dynamics 23
equation. Considering the generic body belonging to the RMBS, the dynamic
equilibrium equation respect to the translation is given by
where f is the force acting on a specific joint, as shown in Fig. 2.5, g is the
gravity acceleration, mi represents the i-th mass and v̇Ci is the i-th center of mass
translational acceleration.
The dynamic equilibrium respect to the rotation, instead, is written as
d
(Ii ωi ) = Ii ω̇i + ωi ∧ (Ii ωi ) (2.40)
dt
which, after several manipulations becomes
– Virtual Work Principle. The Virtual Work Principle [111, 92] states that a
RMBS is in equilibrium, both static and dynamic, if the virtual work (W ) generated
by a system of generic forces ( fi ) acting on the system, Eq. (2.42) is null:
N
δW = ∑ fi · δ ri (2.42)
i=1
• Undetermined Multipliers. This method starts from the N-E equations for a
RMBS which states that
24 Rigid Multi-Body Modelling
mi a i = F i + R i (2.43)
where mi and ai are the mass and the acceleration of the (i − th) particle,
while F i and R i are the total external and total reaction force respectively.
By multiplying the Eq. (2.43) by a virtual displacement δ ri , it will be
n n n
∑ miaiδ r i = ∑ F iδ r i + ∑ Riδ r i (2.44)
i=1 i=1 i=1
∂ fi
δ ri = 0 (2.46)
∂ ri
while if the system is non-holonomic2 , we have to consider
A ji · δ r i = 0 (2.47)
n s
∂ fi m n n
∑ (RRi,x − ∑ λk − ∑ μ j (A
∂ x k j=1
A ji )x )δ x i + ∑ [Y ]i δ yi + ∑ [Z]i δ zi = 0
i=1 k=1 i=1 i=1
(2.49)
1A holonomic constraint is defined by a function g(t, q) = 0, where t represents the time while q is the
vector containing the system coordinates, [132]
2 A non-holonomic constraint is defined by a function g(t, q, q̇) = 0, where includes the system veloci-
ties, [132]
2.3 Dynamics 25
∂ fi m
mi ai = Fi + λk + ∑ μ j (A
A ji ) (2.51)
∂ rk j=1
and
N
∑ A i j · v j + A it = 0 (2.53)
j=1
d ∂L ∂L
( )− = Qk (2.54)
dt ∂ q˙k ∂ qk
where L(qk , q̇k ) = T (qk , q̇k ) −V (qk ) is the so called Lagrangian, qk are the
system generalized coordinates while Qk are the non-conservative forces.
The Kinetic energy for a RMBS is expressed as
where rCi is the center of mass position respect to a global reference system.
26 Rigid Multi-Body Modelling
The expression of the generalized forces, instead, derives from the virtual
displacement principles. A virtual displacement, δ pi , is an ideal displace-
ment, allowed by the RMBS constraints, caused from a generic force Fi that
acts on the system. It is estimated by using the following relation
n
∂ pi
δ pi = ∑ ∂ qk ∂ qk (2.57)
k−1
because
r
∂ pi
n
Qk = ∑ Fi ∑ = Fi τi,k (2.60)
k−1 k−1 ∂ qk
Starting from the Eq. (2.54) and substituting in it the Eq. (2.55, 2.56, 2.60) a
new formulation for the Lagrangian is then obtained. By manipulating it, it
is possible to reach the equations of the motion.
2.4 Applications
The two applications of this chapter regards the Kompact Actuated modulaR Limb
(KARL) and one of the leg of the HyQ robot. The first one contains a global kinematic
analysis of a new conceived RMBS starting from a position analysis carried out with a
polynomial approach and reaching the singularities investigation. The work presents
even some device performances thanks to some experimental tests done with a physical
prototype. The HyQ study is more focused on the dynamic aspects investigated by the
virtual works principle. However a kinematic analysis is also required. In this case it is
based on the DH method.
2.4 Applications 27
Medial Medial
Distal
c. p. Distal c. p.
a b
Fig. 2.6 KARL Mechanism: a) Physical set-up; b) Multibody Model. The connection points
(c.p.) illustrates the position where the mechanism is linked to the external frame, that in this
case is represented from the blue environment.
Mechanism Description
KARL is a general purpose limb whose design strategy is focused on two goals:
modularity and inertia reduction [33, 34]. The robot main body modularity must be
interpreted both in terms of the multiple usages of the same object and in terms of easy
implementation by means of a simplified 2R chain schema with reduced number of
connection points (c.p.) within the robot main body. A suitable arrangement of the
actuators, which are close to the global rotation axis of the structure, allows a reduction
of the inertial effects due to the mass of such components.
The mechanism consists of two main bodies called Medial and Distal mutually con-
nected by a revolute joint. The Medial is directly attached to the external frame and it
carries the whole actuation system; the Distal, joined to the Medial, has only the aim
of supporting the end effector (gripper or ankle). For these reasons, the dimension of
the Medial section is bigger compared to the Distal one as shown in Fig. 2.6.
The actuation system is composed of two linear stepper motors, with maximum thrusts
of, respectively, 300[N] and 600[N] which are hinged to the c.p. and whose strokes
are parallel to each other as shown in Fig. 2.7. The Actuator 1 (S1), related to q1 ,
is responsible of the Medial rotation with respect to the fixed frame, it weights 0.65
kg and it maximum speed is 70[mms−1 ]. Actuator 2 (S2), is responsible of q2 and it
allows the Distal rotation with respect to the Medial frame, it weights 0.20[kg] and its
maximum speed is 55[mms−1 ] as shown in Fig. 2.8. The rotational workspace devoid of
singularities reachable with such actuation are: −25o < q1 < 75o and 31o < q2 < 154o .
The device modularity also extends to the electronics in order to make easy reproduc-
tion and coordination of several devices. An RS485 bus connects the drivers allowing
28 Rigid Multi-Body Modelling
C
DEVICE DIMENSIONS [mm]
0
A=[0 0 0]T
L2
1B=[300 50 0]T
1
S1=[20 40 0]T D
1S -20 0]T l1 B
2=[-20
2 S1 P1
P3=[-50 0 0]T
P3
l1=230
l2
l2=150 A
P2
L1=304.1 L1
S2
L2=300 O
synchronous operation of all the motors. In this prototype the motors are controlled
in position, by use of a SMCI36 compact and high-performance stepper motor and
BLDC motor output stage from Nanotec. This set-up allows a precision positioning up
to 0.1[mm] and a linear speed of 100[mms−1 ] .
The development process which led to the prototype sizing of actuators and structures
has been based on a Multibody Model of the mechanism that exploits the capabilities
of such RMBS Fig. 2.6.
Position Kinematics
The kinematics of the robotic device has been conceived to realize a modular limb
feasible for being used in different applications. To this aim, a specific design has
been studied with the main target of leaving the limb as much as possible independent
from the frame to which it is connected. The linear actuators, which solidly move with
the medial body, actuate the two DOFs through properly shaped closed kinematics
linkages. The two DOFs of the device are independent and can operate separately.
Thus, the Direct and Inverse Kinematic Problems (DKP and IKP respectively) can
be tackled separately for the two rotations q1 and q2 . In this analysis, the polynomial
approach has been used because it was retained the most suitable for describing a serial
modular mechanism.
2.4 Applications 29
q2
^` x
y
^` B
P1
yS G P3
y 1 P
^` G 2 q1
x
A x
S2
O
– Direct Kinematic Problem. For the first link, the kinematics is fully described by
the equation:
0 T
0
P1 − 0O P 1 − 0 O = l12 (2.61)
where 0 O is the origin of reference frame {0} and 0 P 1 is the connection point
among the screw of Actuator 1; the length l1 is a constant parameter depending
on the geometry of the mechanism. The position of point 0 P 1 is related to the
rotation of the first revolute joint q1 :
0P
1
1P
1 R z (q1 ) 0 3×1 1P
1
= 0T 1 = (2.62)
1 1 0 1×3 1 1
where R z (q1 ) is a rotation around the x axis of angle q1 and 1 P 1 expresses the
position of the point with respect to reference frame
T
{1} : 1 P 1 = δ1 cos α + 1 S1,x δ1 sin α + 1 S1,y 0 (2.63)
by c21 + s21 = 1. Thus, solution of equation (2.61), i.e. the solution of the DKP, is
given by the vanishing set of polynomials:
T
0
Π1 : 0 P 1 − 0 O P 1 − 0 O − l12
(2.64)
Π2 : c21 + s21 − 1
Π1 : 1 π ci s j
∑ i, j 1 1
i, j = 0..2
i+ j ≤ 2
2 π ci s j
(2.65)
Π2 : ∑ i, j 1 1
i, j = 0..2
i+ j ≤ 2
where 1 πi, j and 2 πi, j are functions of both the geometrical parameters and the
stroke δ1 . The vanishing set of Eq. (2.65) can be now be rebuilt in terms of
the Sylvester matrix of the system by keeping one of the two unknowns as a
parameter, for example s1 :
⎡ ⎤
2 1
1π s j 1π j 1π
∑
⎢ j=0 0, j 1 ∑ 1, j s1 2,0 0 ⎥
⎢ j=0 ⎥ ⎡ 0⎤
⎢ 2 1 ⎥ c
⎢ j
∑ 1 π0, j s1
j
∑ 1 π1, j s1 1π ⎥ ⎢ 1⎥
⎢ 0 2,0 ⎥ ⎢ 1 ⎥
⎢ j=0 j=0 ⎥ ⎢c1 ⎥
⎢ 2 ⎥ ⎢ 2⎥ = 0 (2.66)
⎢ 2 1 ⎥
j
⎢ ∑ π0, j s1
j
∑ 2 π1, j s1 1π
2,0 0 ⎥ ⎣c1 ⎦
⎢ j=0 ⎥ c3
⎢ j=0
⎥ 1
⎣ 1π ⎦
2 1
j j
0 ∑ 2 π0, j s1 ∑ 2 π1, j s1 2,0
j=0 j=0
Thus, the variety of polynomials Π1 and Π2 must belong to the kernel of the
matrix appearing in (2.66), hereby called M 1 . In order to have a non-trivial
solution, M 1 must be singular, therefore det M 1 = 0. Such condition provides
a univariate polynomial of degree 2 in s1 , whose zeros represent the assembly
modes [20] of the DKP. Back-substitutions of the values of s1 in (2.66) yields to
the solution of the DKP.
An analogous process can be used for rotation q2 , starting from the equation:
1 T
1
P2 − 1P3 P 2 − 1 P 3 = l22 (2.67)
where 1 P 2 expresses the position of the point with respect to reference frame
T
{1} : 1P
2 = δ2 cos α + 1 S 2,x δ2 sin α + 1 S2,y 0 (2.68)
2.4 Applications 31
1P
3
2P
3 Rz (q2 ) 03×1 2P
3
= 1T 2 = (2.69)
1 1 0 1×3 1 1
T
{2} : 2 P 3 = 2P
3,x 0 0 (2.70)
The rotation matrix in this last equation can be written in terms of c2 = cos q2 and
s2 = sin q2 so as to obtain, together with the relation c22 + s22 = 1, two polynomials
Π3 and Π4 of degree 2:
T
1
Π3 : 1 P2 − 1 P3 P2 − 1 P3 − l22
(2.71)
Π4 : c22 + s22 − 1
whose vanishing set provides the solution to the DKP of the linkage system
attached to Actuator 2 by relating the stroke of the second actuator δ2 to the
rotation q2 of the Distal body of the mechanism. The solution is obtained
following the same procedure applied for q1 .
In conclusion, for every couple of strokes δ1 and δ2 four different configurations
can be found for the device, corresponding to all the combinations of the obtained
values of q1 and q2 . Such four poses correspond to many positions of the end-
effector of the device that could be located, for example, at point C .
– Inverse Kinematic Problem. This brief section is dedicated to the solution of the
IKP of the mechanism, i.e. the relation subsisting among a given position of the
end-effector and the strokes of the two actuators. For such task, the polynomials
Π1 and Π3 can be used again considering unknown the strokes δ1 and δ2 and as
parameters the variables c1 , s1 , c2 and s2 . Under these hypotheses, both Π1 and
Π3 are univariate polynomials of degree 2 in the respective unknown stroke. For
each of them two assembly modes are found corresponding to the zeros of the
respective polynomial for a total amount of four possible combinations of δ1 and
δ2 . In conclusion, for a given position of the end-effector eight possible sets of
strokes are found for the device, four for each set of rotations q1 and q2 .
– Velocity Kinematics. In this section the velocity kinematics of the proposed
mechanism is analysed. To this aim, the coordinates of the point C on plane x − y
32 Rigid Multi-Body Modelling
L1 c1 + L2 (c1 c2 − s1 s2 )
0
C= (2.72)
L1 s1 + L2 (s1 c1 + c1 s2 )
The determinant of the Jacobian matrix in the last equation vanishes when (q2 =
0, π). Such configurations are external to the workspace of the limb and therefore
they are not relevant singularities for the mechanism.
On the other hand, it is worth studying the behaviour of the two actuation linkages,
which could fall into singular configurations. The derivatives of the four constraint
polynomials Π1 , Π2 , Π3 , Π4 are used to this purpose. For example, the velocities
of the bodies of the first linkage are ruled by:
∂ Π1 ∂ Π1 ∂ Π1
∂ c1 ∂ s1 ċ1
∂ Π2 ∂ Π2 = − ∂∂Πδ12 δ̇1 (2.74)
∂ c1 ∂ s1 ṡ1 ∂δ 1
ċ1
Ψ = Γ δ̇1 (2.75)
ṡ1
Inversion of system (2.75) allows obtaining a constraint matrix which relates the
stroke rate of the first actuator to the angular velocity q̇1 through the rates of the
two variables c1 and s1 :
ċ1
= Ψ−1 Γδ̇1 (2.76)
ṡ1
Singularities of the matrix Ψ de facto represent the singular configurations to
whom the first linkage is subject:
det Ψ = 4 A0,y c1 − A0,x s1 δ1 cos α + 1 S1,x +
(2.77)
−4 A0,x c1 + A0,y s1 δ1 sin α + 1 S1,y
Substitution of the solutions of the DKP (2.66) into (2.77) allows finding the
values of the actuation parameter δ1 which makes the determinant det Ψ vanished.
2.4 Applications 33
The following stroke values are found for the chosen set of geometrical parameters
of the device: δ1 = 0.2534, −0.2797, 0.1720, −0.1983 m. From a geometrical
point of view, such condition correspond to particular cases for which it occurs
the alignment either of points A -OO-P
P1 or of points S 1 -O
O-PP1 . Such four values
bound the device workspace. In the present case study it is valid the range the
range 0.1720 ≤ δ1 ≤ 0.2534 m.
Similarly, the singularities of the actuation linkage connected to the second
actuator can be found. To this aim, it is possible to consider the matrix:
∂ Π3 ∂ Π3
∂ c1 ∂ s1
Ω= ∂ Π3 ∂ Π4 (2.78)
∂ c1 ∂ s1
Also in this case, the solutions of the DKP can be substituted into vanishing
set of equation (2.79) to find the singular configurations of the second actuation
linkage, which are for the given geometry: δ2 = 0.3848, 0.2481, 0.5026, 0.1302
m corresponding to the four alignment conditions of points B -PP2 -P
P3 .
The present prototype exploits the range of strokes included in 0.1302 ≤ δ2 ≤ 0.2481 m,
to whom it corresponds the angular range 31o < q2 < 154o .
Device Performance
The knowledge of the differential kinematics allows the estimation of the per-
formance of the device. In order to have a more affordable relation between
velocities and forces exerted by the actuators as well as rotation rates and torques
in the joint space, some mathematical manipulation of the differential kinematics
is still needed. To this aim, the equations defining parameters ci and si are consid-
ered: ci = cos qi and si = sin qi . Derivation with respect to time of such equations
provides:
ċi −si
= q̇i (2.80)
ṡi ci
T
The vector −si ci is hereby called Ψ i . Considering the first actuator, rela-
tion (2.80) can be substituted into equation (2.75) to obtain the needed relation
34 Rigid Multi-Body Modelling
∂ Π1
∂ δ1
q̇1 = δ̇1 (2.82)
s1 ∂∂Πc 1 − c1 ∂∂Πs 1
1 1
∂ Π3
∂ δ2
q̇2 = δ̇2 (2.83)
s2 ∂∂Πc 3 − c2 ∂∂Πs 3
2 2
or, as done before for the first linkage, q̇2 = λ2 δ̇2 . These last two equations can
be collected in matrix form to obtain a matrix Λ that relates the vector of strokes
rates δ̇i to the vector of rotation rates q̇i :
q̇1 λ1 0 δ̇1
= −→ q̇q = Λ δ̇δ (2.84)
q̇2 0 λ2 δ̇2
The matrix Λ gives information about the capability of the actuation linkages to
transform the linear velocities of the two strokes into angular velocities of the
Medial and Distal bodies. Moreover, Λ can be usefully exploited, as far as a
Jacobian matrix, to evaluate the torques exerted in the space of rotations q1 and
q2 by two forces applied by the two actuators: τ = Λ −T F , where τ is the vector
of the torques in the space of rotations q1 and q2 and F is a vector collecting the
forces exerted by the two actuators in the direction of the two strokes δ1 and δ2 .
Experimental Tests
This section shows the the outcomes from a set of experiments conducted on the
device prototype. The main aim is to investigate the behaviour of the mechanism
in two different operative conditions. The limb has been tested in a vertical
arrangement, with gravity acceleration acting in direction of the y axis of reference
frame {0} and in a horizontal arrangement, with gravity acceleration acting on
2.4 Applications 35
g g
Fig. 2.9 Experimental results at different velocities for both vertical and horizontal arrange-
ment of the device; curves are shown for given actuators trajectories in terms of rates of
the revolute joints (q̇1 and q̇2 ), force exerted by the actuators (F1 and F2 ) and the equivalent
torques τ1 and τ2 at joints q1 and q2 .
36 Rigid Multi-Body Modelling
a direction perpendicular to the leg plane (z axis of reference frame {0} for
example).
For each condition, different velocities have been tested, starting from low speed
(Actuator 1 speed = 2.2[mms−1 ] and Actuator 2 speed = 2.6[mms−1 ] ) to high
speed (Actuator 1 speed = 9.0[mms−1 ] and Actuator 2 speed = 10.6[mms−1 ]). The
experimental quantities have been measured in terms of forces strokes detected by
2 loadcells mounted in series with each motor (Burster 8417) and displacement
were estimated from the actuators strokes.
Two sets of values are reported in Fig. 2.9 for each one of the investigated
arrangements. Besides the forces F1 and F2 exerted by the two actuators, the
curves also show the behaviour of the mechanism in terms of angular velocities
and torques ranges of the two revolute joints q1 and q2 . Such information are
obtained by means of the matrix Λ .
As well expected, the strokes of the two linear motors are much higher when the
limb is arranged in vertical configuration. Moreover it is possible to observe a
low frequency oscillation in the curves corresponding to horizontal arrangement.
This undesired effect is mostly due to the low quality of the materials used for
prototypation of KARL. It is authors’ opinion that such inconvenient can be
overcome by a more reliable physical model, which is at this time object of
design seen the interesting results obtained. This conclusion is due to the fact that
most part of the bodies of the device has been realized by means of 3D printing
techniques. The coupling of these components with those having a much higher
density (such as the stepper actuators) causes a disproportionate ratio between
the masses of the actuators and the cross sections of many bodies. This fact also
makes not possible to envisage more interesting tests with loads coming from
tasks of locomotion or manipulation of heavy objects. For sake of truth it is
important to remark that the present prototype has been built only to proof the
kinematic feasibility of the proposed mechanism, a more complete prototype for
testing the aforementioned performances, is at present object of study.
Main Achievements
Robot description
The robotic platform which has inspired the model presented in this section is the
Hydraulically Quadruped robot (HyQ, see Fig. 2.10, [117]. It weights 70 [kg], it
is 1 [m] long and each of its four legs has three degrees of freedom each: two in
the sagittal plane (hip and knee flexion/extension) and one in the transversal one
(hip adduction/abduction). The torso doesn’t influence the system mobility, it has
only to carry the instruments and acts like a support for the four legs.
HyQ is designed to perform high dynamic tasks like jumping, running, climbing,
etc. Cause of these dynamic capabilities are challenging to deal with, therefore,
it is necessary to integrate a perfect combination between structural aspects and
control. The solution proposed in this thesis is based on the Virtual Prototyping
approach: it consists of developing a Multibody Model (MBM) in a proper
software environment, which is able to perform dynamical and structural analysis
integrated with the control.
However, building a good MBM could be very difficult due to the simultaneous
presence of both complex physical phenomena and control laws. On the other
hand, if all the parameters involved in the simulation are not well known, it is
easy to achieve wrong or misleading results. For these reasons, a parametric
identification for both the structural and the hydraulic parameters it is required.
The first step to achieve this aim is to investigate the system dynamics as will
be discussed in the next paragraphs. Once the dynamics is well known, the
identification can take place, as presented in Chapter 5.
This work focuses on the modelling of one of the robot legs and represents a
preliminary step to product of a complete MBM of the HyQ. The main goal
is identifying some of the robot physical parameters with the aim of produc-
ing a more reliable model which could be validated by experimental results.
Since the legs hold the biggest contribution to the mobility of that machine, the
identification process must have been started by their analysis first.
38 Rigid Multi-Body Modelling
Fig. 2.10 The Hydraulically Quadruped Robot HyQ on the left side and one of its leg on the
right.
Kinematics
In order to provide a complete dynamic description of the robotic leg, firstly its
kinematics should be understood. In the following, the mathematical relations
which describe the position and the velocities of each body of the mechanism are
explained, [31].
where 0 H 1 = 0 T 1 1 H 1 , 0 H 2 = 0 T 1 1 T 2 2 H 2 , 0 K 1 = 0 T 1 1 T 2 2 K 1 and 0 K 2 =
0 T 1 T 2 T 3 K are the transformation matrices, which are detailed later,
1 2 3 2
2.4 Applications 39
In the leg plane, the position kinematics can be fully described through the
loop closure equation a + b + c + d = 0 (red vectors in Fig. 2.11.B) whose
expansion yields to:
where LUL and LLL respectively describe the length of the upper leg A-BB and
C.
the lower leg B -C
The solution of the DKP allows writing the position vector of point 0 A as
T
a function of the two rotations q1 and q2 : 0 A = 0 yA . By using this
starting point and relative coordinates, the position and the orientation of
each body along the main kinematic chain can be computed as well as the
position of their centers of gravity:
0cg
1 = 0T 1cg
1 1
0cg
2 = 0T 1T 2cg
1 2 2 (2.88)
0cg
3 = 0T 1T 2T 3cg
1 2 3 3
I 3×3 0A
0T
1 =
0 1×3 1
R z (θ2 ) B
2
2T
3 =
0 1×3 1
where R z (α) indicates the rotation matrix around the vertical axis z =
T
0 0 1 of an angle α. It should be noticed that the vectors 1 c g 1 , 2 c g 2 ,
3cg are constants depending on the design geometry of the robot bodies.
3
As already the orientation of the hydraulic actuators mentioned in Eq. (2.85),
the coordinates of their centers of gravity are obtained through:
0cg
4 = 0T 4cg
4 4
0cg
6 = 0T 6cg
6 6
(2.90)
0cg
5 = 0T 5cg
5 5
0cg
7 = 0T 7cg
7 7
0 ŝs
1 z ∧ 0 ŝs1 z 0H
1
0 ŝs
2 z ∧ 0 ŝs2 z 0K
1
0T
4 = 0T
6 =
0 1×3 1 0 1×3 1
y y {2}
1
H2
cg1 x
H1 4
cg4 H1 {1} H1
2
H2 1 cg 1 5cg5 y
H2 x y {5} x
A A cg4 A y
cg5 x {4} y
2
K1 H2 H2
LU K1 2
cg2 {6}
K1 K1 x
L
6cg cg2
6 b
q1 cg6 B q1 x
B cg7 x
K2 y
7
cgBK K2 3K
2
{7} K2 {3}
y q2 y
LL
a cg3
L
3
cg3
c
C y {0}
x d x
O O C O x C
(A) (B) (C)
Fig. 2.11 The HyQ Robotic Leg: (a) Geometry, (b) Position of the reference frames (c)
Position vectors of relevant points.
⎢ 2⎥ ⎢ ⎢ 0 1 ⎥ q̇1
⎢ ⎥ = ⎢ ∂ s1 ∂ s1 ⎥ ⇒ q̄q˙ = Ψ q̇q (2.92)
⎣ ṡ1 ⎦ ⎣ ∂ q1 ∂ q2 ⎥ ⎦ q̇2
∂ s2 ∂ s2
ṡ2 ∂q ∂q 1 2
The velocities of the centers of mass can be found by simply deriving the
direct kinematics equations as expressed in Eq. (2.88) and (2.90). As an
example, differentiation of 0 c g1 yields:
⎡ ⎤
1 cg
S,x
⎢1 ⎥
0 c˙g
1 = ⎣ cgS,y + LUL cos q1 + LLL cos (q1 + q2 )⎦ =
d
dt
0
⎡ ⎤ (2.93)
0
⎢ ⎥
= ⎣−LUL q̇1 sin q1 − LLL (q̇1 + q̇2 ) sin (q1 + q2 )⎦
0
Besides the linear velocity of the center of gravity, the angular velocity of
each member must be found. To achieve this aim, the well known skew
42 Rigid Multi-Body Modelling
where i is the number of the reference frame attached to the respective body,
i.e. frame {1} for the slider, frame {2} for the upper leg, frame {3} for the
lower leg, frame {4} for the hip cylinder, frame {5} for the hip beam, frame
{6} for the knee cylinder and frame {7} for the knee beam.
Linear and angular velocities can be collected in a matrix form with the
classical Jacobian formulation. For the ith body it is:
⎡ ∂ 0 ∂ 0 ∂ 0 ∂ 0
⎤
∂ q1 ωi,x ∂ q2 ωi,x ∂ s1 ωi,x ∂ s2 ωi,x
⎢ ∂ 0 ∂ 0 ∂ 0 ∂ 0 ⎥⎡ ⎤
⎢ ω ∂ q2 ωi,y ∂ s1 ωi,y
⎥
∂ s2 ωi,y ⎥ q̇1
⎢ ∂ q1 i,y
⎢ ∂ 0ω ∂ 0 ∂ 0 ∂ 0 ⎥⎢ ⎥
∂ q2 ωi,z ∂ s1 ωi,z ∂ s2 ωi,z ⎥ ⎢q̇2 ⎥
0ω
⎢ i,z
= ⎢ ∂∂q10
i
∂ 0 ∂ 0 ∂ 0 ⎥⎢ ⎥ (2.95)
0 c˙g ⎢ ⎥⎣ ⎦
i ⎢ ∂ q1 cgi,x ∂ q2 cgi,x ∂ s1 cgi,x ∂ s2 cgi,x ⎥ ṡ1
⎢ ∂ 0 cg ∂ 0 ∂ 0 ∂ 0 ⎥ ṡ
⎣ ∂ q1 i,y ∂ q2 cgi,y ∂ s1 cgi,y ∂ s2 cgi,y ⎦ 2
∂ 0 ∂ 0 ∂ 0 ∂ 0
∂ q1 cgi,z ∂ q2 cgi,z ∂ s1 cgi,z ∂ s2 cgi,z
Equation (2.95) is the typical formulation ẋxi = J i q̄q˙ where J S is the Jacobian
matrix of the i-body. Substitution of Eq. (2.92) eliminates the two actuation
rates ṡ1 and ṡ2 from velocity equations:
ẋxi = J i ψ q̇ (2.96)
d
ẍxi = (JJ i ψ q̇) = J i ψ q̈q + J̇J i ψ + J i ψ̇ q̇q (2.97)
dt
2.4 Applications 43
Dynamics
This section proposes the dynamics modelling of the robotic leg, worked out
using the virtual work principle approach [31]. The motion equations are here
determined by means of the virtual work principle. It requires the definition of
the 6 dimensional wrenches whose components collect resultants of active and
inertial forces and torques acting on each body, computed with respect to the
respective center of mass. Such vector can be written as:
ni −0 ϒi 0 ω̇i − 0 ωi ∧ 0 ϒi 0 ωi + n e,i
Wi = = (2.98)
Fi mi (gg − ẍxi ) + f e,i
where 0 ϒi is the inertia tensor of the ith body expressed with respect to the
fixed reference frame {0} and mi is its mass; n e,i and f e,i are two external
actions acting the body. The vector g is the gravity acceleration vector g =
T
0 −9.81 0 m/s2 . The wrench W i can be rewritten in a more computable
form by defining the two mass matrices:
0ϒ 03×3 0Ω 0ϒ 03×3
i i i
mi = γi = (2.99)
0 3×3 mi I 3×3 0 3×3 0 3×3
0 3×1 (2.100)
+m
mi − γi J i ψ q̇q +WW e,i
g
T
where W e,i = f Te,i n Te,i
is the vector of external actions on the body i. The
principle of virtual works states then:
7
δ q T τ + ∑ δ x Ti W i = 0 (2.101)
i=1
7
τ +ψ T
∑ J Ti W i = 0 (2.103)
i=1
This last equation describe the dynamics of the articulated leg by relating the
kinematics of the mechanism to the equivalent torques exerted by the actuators
on the two revolute joints. By substituting the Eq. (2.100) in the Eq. (2.103), and
after several manipulation is possible to reach the typical formulation
τ + M (qq) q̈q +V
V (qq, q̇q) + G (qq) + F e = 0 (2.104)
where the contribution given by inertial effects, Coriolis and centrifugal accelera-
tions, gravity acceleration and external actions are collected as here detailed:
- M (qq) is the mass matrix of the mechanical system and, thanks to expansion
in Eq. (2.104) can be collected as:
7
M (qq) = −ψ T ∑ J Ti m iJ i ψ (2.105)
i=1
- V (qq, q̇q) collects the efforts due to Coriolis and centripetal accelerations and
it is:
7
V (qq, q̇q) = −ψ T ∑ J Ti m i J̇J i + Γ i J i ψ + m i J i ψ̇ q̇q (2.106)
i=1
7
0 3×1
G (qq) = ψ T ∑ J Ti mi g
(2.107)
i=1
2.4 Applications 45
The three indices represent the roles played by the mass matrix (μM ), the
Coriolis vector (μV ) and the gravity vector (μG ) on the torques that the
motors exert during a given motion (qq,q̇q,q̈q). It is worth remarking that such
percentages do not reflect the global efforts of the motors because they are
not affected by the signs of the torques as seen in Eq. (2.109) . Nevertheless
they still give information about the contribution of each part of the model.
Therefore, the indices μM , μV and μG have been computed for different
values of velocity and acceleration of the revolute joints, in the whole
workspace of the leg (−40o ≤ q1 ≤ 60o , −140o ≤ q2 ≤ −20o ). Three dif-
ferent ranges of velocity and acceleration have been chosen, corresponding
to three different working conditions: a low duty (LD) range of opera-
tive conditions (comparable with velocities obtained for a HyQ walking,
−2.5 ≤ q̇i ≤ 2.5 [rad/s], −1.25 ≤ q̈i ≤ 1.25 rad/s2 ), a medium duty (MD)
range (for tasks such as fast walking of the HyQ robot, −5 ≤ q̇i ≤ 5 [rad/s],
−2.5 ≤ q̈i ≤ 2.5 rad/s2 ) and a high duty (HD) (squat jump, −10 ≤ q̇i ≤
10 [rad/s], −5 ≤ q̈i ≤ 5 rad/s2 ).
Many points have been analysed within the 6-dimensional space of q, q̇q, q̈q
for the three given working conditions. For each point of the workspace, the
higher values of μM , μV and μG have been recorded. Results are shown in
46 Rigid Multi-Body Modelling
Fig. 2.12. As well visible, the gravity effect represents the most relevant
contribution to the dynamic of the leg in all the LD, MD and HD work
conditions (average values: for LD μG = 99.17%, for MD μG = 97.28%, for
HD μG = 90.90%). The mass matrix grows his effect with the acceleration
of the revolute joints, but it still remains marginal with respect to the effect
of gravity accelerations (average values: for LD μM = 6.57%, for MD
μM = 12.09%, for HD μM = 20.34%). Not even the Coriolis vector can be
neglected in every achievable working condition, because of the variability
of its effect in the different conditions (average values: for LD μV = 34.93%,
for MD μV = 65.57%, for HD μV = 87.30%).
Main Achievements
This work contributed to the field of legged robotic systems by setting a procedure
that permits to highlight which is the role played by the different components of
the motion equation on the overall system dynamics. The procedure is general,
and it can be extended to any RMBS and it permits the simplification of the
dynamics model in specific working conditions. In the case analysed here, for
instance, the out coming results suggest to neglect the contribution of the mass
matrix, M (qq), in the less severe working conditions.
2.4 Applications 47
PG PM PV
í í í
í í í
í í í
q2 [deg]
q2 [deg]
q2 [deg]
LOW DUTY í í í
-2.5 < qi < 2.5
[rad s-1] í í í
-1.25 < qi < 1.25 í í í
[rad s-2]
í í í
í í 0 20 60 í í 0 20 60 í í 0 20 60
q1 [deg] q1 [deg] q1 [deg]
í í í
í í í
í í í
q2 [deg]
q2 [deg]
q2 [deg]
MEDIUM DUTY
-5 < qi < 5 í í í
[rad s-1] í í í
-2.5 < qi < 2.5
[rad s-2] í í í
í í í
í í 0 20 60 í í 0 20 60 í í 0 20 60
q1 [deg] q1 [deg] q1 [deg]
í í í
í í í
q2 [deg]
q2 [deg]
Fig. 2.12 Influence of dynamic components for three different working conditions.
Chapter 3
This chapter is focused on the analysis of flexible robotic mechanisms and flexible
connections. Adding flexibility to the RMBS permits to reduce the robots total
weight, to increase the safety within the human-robotic interaction and, moreover,
to prevent structural damages due to the energy absorption guaranteed by the
deformations. The first part of this chapter contains a description of flexible
robots examples and an introduction on the methods used to study the kinematics
and dynamics of those structures; while in the second part, two applications
are illustrated. The first one regards the sensitivity analysis on the joints of one
leg of the Hydraullically Quadruped robot; while, the second one, presents the
modelling of the Technische Universität Dortmund Omnielastic Robot with the
purpose of develop a structural model to integrate with the control algorithm.
aa b
c d
Fig. 3.1 Flexible robot examples: a) IST robot, b) SSRMS remote manipulator, c)TUDOR
and d) Cheetah MIT
considering the structural flexibility there are two that can be considered as the
main ones: a non proper evaluation of the torque requirements for the motors
and a non precise estimation of the end effector position [38]. For these reasons,
the flexibility started to be considered in the RMBS analysis: by some pioneer
examples, where the bodies were treated as black box elements depending on
the DOFs of the two edges, to more complicated solutions represented by the
non-linear finite elements [47].
The panorama of flexible robotics is wide and it goes from manipulators to
legged robots, from pure research to industrial applications. Many advantages
can be brought by taking into consideration the flexibility of the RMBS, i.e. the
optimization of the energy consumption, the improvement of their industrial
productivity, the more safe human-robotic interaction, the possibility to reach
high speed movement and so on. The design of a flexible robot might bring to a
weight reduction and, due to that, a lower need in terms of energy is guaranteed.
3.2 Kinematics 51
If the robot is lighter, it can reach higher speeds and better manoeuvrability in
the same working conditions of its rigid counterpart [38]. The human-robotic
interaction is not always possible if the robot is bulky and massive, but it will be
for sure safer in case the dimension and the rigidity of it will decrease [73].
Some examples of flexible RMBS are the IST manipulator developed at the Techni-
cal University of Lisbon (Fig. 3.1.a), the space station remote manipulator system
(SSRMS) (Fig. 3.1.b), the aerospace dual arm flexible manipulator (ADAM)
designed from Tohou University, the flexible leg developed at Delph University
or the one designed from the Beihang University, the cheetah robot developed
at MIT (Fig. 3.1.d), the TUDOR robot from the TU-Dortmund Uiversity (Fig.
3.1.c) and many others. The flexibility in the IST manipulator is exploited by
positioning its flexible links in order to have the higher flexibility in horizontal
direction with respect to the other ones. It is used for the investigation of force
control strategies [89]. The SSRMS is a 7 DOF RMBS having an high payload
to manipulator mass ratio, required since it is a space robot, and its workspace
dimension has a diameter of 17.6 [m] when it is fully stretched [123]. The flexible
legs have the purpose of reproducing the muscle functions as energy store and
return [8, 82]. The flexible spine of the MIT Cheetah robot is designed with
the purpose of achieving high speed running capabilities [119]. TUDOR robot,
developed at TU Dortmund with the same philosophy of the IST one, it is studied
for control algorithm purposes [87].
Having highlighted which are the advantages of adding flexibility to a robotic
system and having evaluated some performances of existing flexible robot, it is
possible to address the motivation of this chapter: modelling the aforementioned
structural capabilities with the aim of integrating them in a control algorithm
for achieving a global development process since the early stage of the design,
specially for robots with high dynamic performances.
3.2 Kinematics
The kinematics of flexible bodies is based on a key point: the elastic displacement
presence. Those can be estimated by means of a global or a local reference
system [121, 128]. If the body displacements are described by a global reference
approach, the flexible behaviour is treated by means of mathematical formulations
able to describe large rotations and displacements. These ones, generally speakin,
are based on complex beam theories which give in output high non-linear equa-
52 Flexible Multi-Body Modelling
,Y n
E2
On
no
Xp
xp
e 2,Y k
n
3 ,Z
up
E
Ok
E1 , X
e 3,Z k Yp n
t
rn
e 1,X
Yn
k
n
rp
YI On
Zn
Xn
ZI OI XI
Fig. 3.2 Global reference system represented in yellow, body reference system highlighted in
green, section reference frame drawn in blue while point position represented by red arrows.
Courtesy of J. Sa da Costa
tions. At the opposite, if the displacement are treated by a body reference frame,
everything is based on small displacements approach. It results in a coupled
motions PDEs equations since it commonly uses the structure shape functions.
This second approach is closed to the formulation used in the control theory.
The body configuration, according to the global reference approach, is given once
the position vector of its extremity nodes, x p and x q is known [11]. These are
respectively expressed by means of two orthonormal reference triads [eexp , eyp , ezp ]
q q q
and [eex , e y , e z ], which, in turns, depend both from the rotation given by the rigid
body motion, and here described by the rotation matrix Re and from the rotation
due to the deformation and estimated by means of Rq and R p respectively, as in
Eq. (3.1).
q q q
[eexp , e yp , e zp ] = R p Re [eex , e y , e z ] [eex , e y , e z ] = Rq Re [eex , e y , e z ] (3.1)
3.2 Kinematics 53
where [eex , e y , e z ] is the inertial reference frame. The two rotation matrices related
to the deformation can be parametrized with Euler parameters [68, 55] λ =
[λ0 , λ1 , λ2 , λ3 ]T as
⎡ ⎤
λ02 + λ12 − λ22 − λ32 2(λ1 λ2 − λ0 λ3 ) 2(λ1 λ3 + λ0 λ2 )
⎢ ⎥
Ri = ⎣ 2(λ1 λ3 + λ0 λ2 ) λ02 − λ12 + λ22 − λ32 2(λ2 λ3 − λ0 λ1 ) ⎦ (3.2)
2(λ1 λ3 + λ0 λ2 ) 2(λ2 λ3 − λ0 λ1 ) λ02 − λ12 − λ22 + λ32
At the end, the nodal coordinates vector can be written as function of both the
reference frame location and orientation as expressed in
T T T T
x = r p , λ p , rq , λ q (3.3)
Once the positions and the velocities have been estimated, the remaining inter-
esting quantity to take in account, to calculate the body potential energy and to
compute the motion equation of the system, is the body deformation ε .
ε = D(xx) (3.5)
where
⎧
⎪
⎪ ε1 = l − l0
⎪
⎪
⎪
⎪
q q
ε2 = l0 (eezp · e y − e yp · e z )/2
⎪
⎪
⎨ ε = −l e · e p
3 0 l z
(3.6)
⎪
⎪
q
ε4 = l0 e l · e z
⎪
⎪
⎪
⎪ ε5 = l0 e l · e yp
⎪
⎪
⎩ q
ε6 = −l0 e l · e y
shenko beam approach. This one considers both bending and shear deformation
and moreover, it assumes that the plane beam cross sections before deformation
remain plane after it. Since, the stiffness of a RMBS in its longitudinal direction
is much larger than the one in its transversal plane, it is reasonable to consider
the beam natural fibre as inextensible and assume that the beam natural axis is a
straight line in the undeformed configuration. In order to remain in the first order
theory, then, the strains need to be considered small. This approximation is co-
herent with the choice of the most common materials used in robotic application:
their linear behaviour corresponds to small strains.
A synthesis of all the previous hypotheses conduces to the formulation of the
flexible body movement as a composition of a rigid rotation, from the inertia ref-
erence system OI , XI ,YI , KI (Fig. 3.3) to the body reference system On , Xn ,Yn , Kn
and a subsequent elastic deformation, estimated by means of the relative position
between the cross section reference frame Ok , Xk ,Yk , Kk (Fig. 3.3) and the body
one On , Xn ,Yn , Kn (Fig. 3.3) [128].
The position of the k-th cross section with respect to the body reference system is
given by X p ; the position of a generic point p, that belongs to the aforementioned
cross section, with respect to the k-th reference system is given by he vector Yp
(Fig. 3.3); the p position analyzed by the inertial reference fremae, instead, is
giben by the r p (Fig. 3.3) and, at the end, the p position expressed with respect
to the inertial reference frame is represented by rn (Fig. 3.3). Having these
informations, the kinematics equations of of point pare given by
r p = r n + Rnx p (3.7)
r p = r n + R n (xxk + R ek Y p ) (3.8)
r p = r n + Rn (X
X k + uk + Rek Y p ) (3.9)
Xp
dxx p dX
X p ) = R Tek
D (X − (3.11)
dX1 dX1
Deflection Screw
In this thesis, it was chosen to use the local reference approach which makes use
of the geometric quantity called deflection screw (s(μ,t)) [115], whose aim is to
represent the Timoshenko beam from the screw theory point of view. This choice
guarantees concise symbolic equations for both kinemtics and dynamics, easy
to manipulate. As widely discussed in relevant past works [115, 116, 108, 83],
s(μ,t) can be treated according the Lie algebra, so that the deflections are assumed
to be small. The position and orientation of each point of the beam respect to its
undeformed position are then represented by
⎡ ⎤
θx (μ)
⎢ ⎥
⎢ θy (μ)⎥
⎢ ⎥
θ ⎢θz (μ)⎥
s (μ) = =⎢
⎢ v (μ) ⎥
⎥ (3.12)
v ⎢ x ⎥
⎢ ⎥
⎣ vy (μ) ⎦
vz (μ)
where θ represent the small rotations of the axes while v is the translational vector
in the body stressed state. Assuming that the undeformed beam has the center
on the z-axis and that is represented by a straight line according to Timoshenko
approach, the transformation from the global reference system to the generic
position is expressed by means of the H transformation matrix
R 0
H= (3.13)
TR R
I3 0
H= (3.14)
I3 T I3
with
⎡ ⎤
0 −1 0
⎢ ⎥
T = ⎣1 0 0⎦ (3.15)
0 0 0
d
s
= s + Bss (3.16)
dμ
⎢ ⎥
⎢ θy
⎥
⎢ ⎥
θ
⎢ θz
⎥
s =
=⎢
⎢v
− θ ⎥
⎥ (3.17)
v +k ×θ ⎢ x y⎥
⎢
⎥
⎣vy + θx ⎦
v
z
(3.18)
v + 2kk × θ
A detailed analysis of the Eq. (3.17) allows relating the deflection screw derivative
to the beam properties. In fact, according to the De Saint Venant principle [49]
Fz Mz Mx My
d
dμ pz = EA ; dμ θz
d
= GJ ; dμ θx
d
= EJx ; dμ θy
d
= EJy (3.19)
3.2 Kinematics 57
and, being valid the Timoshenko approximation, the centre line gradient can be
replaced by the bending angles plus the loss of slope due to the shear factor, so
that
Fy
p
x − θy = Fx
ax GA ; p
y + θx = ay GA (3.20)
By substituting the Eq. (3.19) and Eq.(3.20) in the Eq. (3.17) it then obtained
⎡ ⎤
Mx
⎢ EJ
My ⎥
x
⎢ EJ ⎥
⎢ y ⎥
⎢ Mz ⎥
⎢ ⎥
s
= ⎢ GJ ⎥ (3.21)
x ⎥
⎢ a FGA
⎢ xF ⎥
⎢ y ⎥
⎣ ay GA ⎦
Fz
EA
⎤ ⎡
Mx
⎢ ⎥
⎢My ⎥
⎢ ⎥
⎢Mz ⎥
W =⎢
⎢F ⎥
⎥ (3.22)
⎢ x⎥
⎢ ⎥
⎣ Fy ⎦
Fz
s
= diag EJx , EJy , GJ , ax GA , ay GA , EA
1 1 1 1 1 1
W (3.23)
where
EJx , EJy , GJ , ax GA , ay GA , EA
1 1 1 1 1 1
c = diag (3.24)
s
= cW (3.25)
58 Flexible Multi-Body Modelling
3.3 Dynamics
There are several approaches in literature for the dynamic analysis of a flexible
RMBS, many of those are derived by energetic principle thanks to the fact that a
flexible RMBS stores potential energy in the links, joints and eventually actuators.
Generally speaking, dealing with a flexible body modelled as a continuous
dynamical system having infinitive DOFs, it means work with non-linear coupled
both ODEs and PDEs equations. This approach, then, requires long time for
computations and, moreover it usually does not bring to an exact solution and it
also imposes strict constraints on the control development as well [38].
Among the many possibilities described in literature for the dynamic analysis of
the flexible RMBS, in this thesis four groups are mainly investigated: namely the
modal formulation, the finite elements approach, the lumped parameters model
and the screw theory method [38].
- In the modal formulation the beam deflection is described by means of a
truncated modal series given by a spatial mode eigen function Ψi (η) and a
time dependent mode amplitude ξi (t) of mode eigen function [127, 17, 69,
99]. That, in the three main directions are expressed by
⎧ nj
⎪
⎨ u j (η,t) = ∑i=1 Ψi (η) ξi (t)
uj uj
nj
v j (η,t) = ∑i=1 Ψi (η)v j ξi (t)v j (3.26)
⎪
⎩ nj
w j (η,t) = ∑i=1 Ψi (η)w j ξi (t)w j
where j indicates the link, s represents the spatial coordinate, l j is the
link length, η = lsj and η j is the modes numbers used to describe the link
deflection.
The aforementioned mode eigen function Ψi (η) comes from the Euler-
Bernulli beam theory of the bending vibrations and depends on the bound-
ary conditions coming from the constraints; while the time dependent
mode amplitude ξi (t) lays on the initial condition of the system. The Ci
are coefficient needed to normalize the mode eigen function according to
1
0 [Ψi (η)] dη = 1.
2
include depends on the system natural frequencies: if for example the robot
cannot operate on the higher range of values cause of the constraints imposed
by the actuators, it is no needed to take in account the mode-shape related to
the high frequency. Once the displacement in the three main directions are
known, is it possible to estimate both the kinetic and the potential energy, to
calculate the Lagrangian and afterwards write down the motion equations as
shown in the previous chapter. However, the main limitation of this approach
is the difficulty to describe the mode-shape in case of non constant cross
sections.
- The finite element method [14, 100, 89] concept is based on the assumption
that one body is represented by a domain of several elements interconnected
by means of constraint equations. Each element is located in the 3D dimen-
sion, thanks to the position and by the specific relationship between two
nodes (i.e. it could be a spring, a spring-damper, a beam element, etc) of its
nodes. Those elements can be linear or having 2 or 3 dimensions.
The dynamics written according to this theory follows a similar principle
respect to the modal formulation: the displacement of a point belonging to
the structure is expressed by means of a shape function, φi j , that multiplies
the system nodal coordinates u2i j−2+k . The shape function, according to this
formulation, are Hermitian and those are expressed by:
x2 x3
φ1 (xi j ) = 1 − 3 l 2i j + 2 l 2i j ;
ij ij
x2 x3
φ2 (xi j ) = xi j − 2 l 2i j + l 2i j ;
ij ij
xi3j
(3.27)
φ3 (xi j ) = 3xi j − 2 l 3 ;
2
ij
x2 xi3j
φ4 (xi j ) = − liijj + li2j
;
4
yi j (xi j ,t) = ∑ φk (xi j )u2i j−2+k (3.28)
k=1
( j − 1)l i + x i j
r i j = r i j,r + r i j, f = r O,i + TOi (3.29)
yi j
These can be described even as a rigid displacement respect to the global
reference system, r O,i plus a local deflection expressed in terms of global
reference system by means of the rotational matrix T iO . The local deflection,
at the end, is given by the position along the x axis (( j − 1)li + x i j ) and the
one along the y axis (yyi j ).
As happens for the modal formulation, even in this case, given the body posi-
tion it is possible to calculate the Lagrangian and then the motion equations.
m2, I2
K2
θ2 q2
Jm2
m1, I1 r2
Jm1 K1
θ m2
θ1 q1
r1
m1
θ
l
1
Ek = ṡsT nṡsd mu (3.33)
2 0
where n is the inertia density described as
n = ρdiag(Jx , Jy , J, A, A, A) (3.34)
By summing the contribution of both the Potential and the Kinetic Energy, it
is possible to define the so called Lagrangian density
1
L = (ṡsT nṡs − s
T kss
) (3.35)
2
and, by the integration of the Eq. (3.35) the Lagrangian function is then
obtained
l
L= L d mu (3.36)
0
Having said that, the motion equations are derived by manipulating this
expression
∂L ∂ ∂L ∂ ∂L
− − =0 (3.37)
∂φ ∂ μ ∂φ
∂t ∂ φ
62 Flexible Multi-Body Modelling
hip cylinder
hip beam SU
knee cylinder cilindrical connections
load
cells translational connections
knee beam UL
normal contact
upperleg force tangential contact
force
a b c d
force plate lowerleg knee spring
Fig. 3.4 a) Instrumented HyL; b) Virtual model with rigid bodies; c) Hip and knee spring-
damper systems plus HyL 2 DOFs: SU represents the angle between the vertical to the
upperleg axis while UL is the relative angle between upperleg and lowerleg; d) HyL internal
and external connection plus contact forces.
3.4 Applications
The applications of this chapter regard two of the methods aforementioned:
the lumped mass model and the deflection screw one. The first method
is applied to one of the HyQ legs in order to analyse the joint flexibility
influence on the leg behaviour while the second one regards the modelling of
the TUDOR robot with the aim of creating a model exploitable for control
purposes.
The robotic mechanism studied in this application is one of the Hydraulic leg
(HyL) of the legs of the HyQ robot, completely detailed in the Application 2
of chapter 2.
Model
The HyL virtual prototype model (VPM) (Fig. 3.4.b) is developed by MSC
ADAMS and Simulink software respectively and it is aimed to deal with all
the dynamic issues of the multi-body model.
The VPM system is composed by five main assemblies: Slider, Upperleg,
Lowerleg, Hip piston and Knee piston. Each of them has been modelled
3.4 Applications 63
as a rigid body with distributed inertia. Two different HyL VPMs are built
starting from the aforementioned bodies: the first one is the Rigid Connected
Model (RCM) while the second is the Flexible Connected Model (FCM).
RCM. The connections in the RCM are based on the surface contact, usually
defined as lower pairs. Considering two bodies A and B and the vectors
that describe the position and rotation of each of them, the constraint law is
represented by Eq. (3.38) both for translations and for rotations.
x Ai · (uuA − u B ) − di = 0;
(3.38)
cos(θi (xxi · xk )) − sin(θi (xxk · xk )) = 0
A B A B
Fn = kc δ n + cc δ̇ (3.41)
According to the relative speed between bodies, this model determines the
value of that force by applying a proper coefficient (μs for the static condition
and μd for the dynamic one) to the value of the weight of the structure W .
All these parameters depend on the nature of the bodies that collide. In the
work presented here the empirical values for the aforementioned parameters
are kc = 2855Nmm−1 , δ = 0.1mm, n = 1.1, cc = 1Nmm−1 s−1 , μs = 0.7,
μd = 0.55.
3.4 Applications 65
The VPM sensors are reproduced by angle, position, velocity and accelera-
tion measurements in the VPM.
The VPM actuation system is modelled with two spring-dampers as shown
in Fig.3.4.c. Each spring-damper is characterized by its own stiffness k and
damping c coefficients(their estimation can be found in the Application 2 of
Chapter 5).
The VPM control algorithm estimates the errors between the current posi-
tion (measured from the dynamics in MSC ADAMS) and the desired position
(coming from the experimental tests) and send back to MSC ADAMS the
torque proper value to apply for the next step.
Experimental Tests
The experimental tests required for this analysis have the aim of harvesting
data useful both for the modelling and the validation stage of the HyL MBM.
Three different tests are performed, namely: static, quasi static and drop
tests. Static tests results are useful to check the mass distribution of MBM;
quasi static tests and drop tests output measurements, instead, are useful
both for modelling the actuators and for validating the MBM, in low speed
conditions and impulsive ones respectively.
The HyL motion behaviour is governed by a PD control system. It has
the aim to modify the stiffness and the damping of the whole hydraulic
system by adjusting the P and D gain values. All the tests are carried out
in two different conditions: low stiffness and high stiffness. In the first case
P = 150 [Nmrad −1 ], in the second one P = 300 [Nmrad −1 ] while D is kept
constant all the time D = 6 [Nmrad −1 s−1 ].
In this campaign of experiments the leg is instrumented with two angular en-
coders (Avago AEDA3300 BE1, up to 80000 counts per revolution, resolution
0.0045deg) place on hip and knee joints; one displacement sensor (Absolute
Encoder austriamicrosystem AS5045, signal 12Bit, resolution 0.0879deg)
installed on the slider, two load cells (Burster 8417, force range 0-5 kN, ac-
curacy 0.5 %) installed on the actuators strokes and a force plate (KISTLER
9260AA6, force range 2.5[kN] for Fx , Fy and 0 − 5[kN] for Fz ) which act as
the ground where the leg stands or drop on. The vertical movement of the
structure during all the tests is ensured by a sleeve attached to the slider and
moving on a vertical bar (Fig.3.4.a).
66 Flexible Multi-Body Modelling
Static test. The static tests are carried out starting from the initial position
of the HyL, that depends on the chosen gain value. Afterwards a group of
three different payloads are applied on it: 0 kg, 3 kg and 7 kg. The results
of the first stage of the test, when no load is applied, are useful to measure
the internal reaction forces due to the robot own weight. The measured
quantities are the force on the hip and knee pistons,the SU and UL rotations,
Fig. (3.4.c) and the Grounr Reaction Force (GRF).
Quasi static test. The quasi static experimental tests starts with the HyL leg
standing in its equilibrium position on the ground. Afterwards it is pulled
up and pushed down several times, following a sinusoidal movement. The
measured quantities are the same of the static test.
Drop test. During the drop tests the HyL leg is left up to reach 5cm above
the gruond, then it is released and dropped. The outputs were the same of
the previous tests.
Half of the data coming from both the Quasi Static and the Drop Test are
used to identify the k and c parameters for both the actuators, in low speed
and impulsive conditions respectively, as described in the Application 2
of Chapter 5. The remaining data, instead, have been used to validate the
numerical model.
Comparison
Three different groups of analysis are carried out using HyL MBM. In the
first two RCM and FCM models are simulated without control laws, while
in the third one FCM is tested with control law. For each of them the MBM
performs three different tests namely static, quasi static and drop test in order
to reproduce the same behaviour of the experimental campaign. The bushing
mechanical characteristics are taken from bearing commercial datasheets.
The control law used in the presented model is a closed loop PD control with
the same gain values applied during the experimental tests.
The input of the first two groups of simulations are the measured displace-
ment laws of SU and UL joints (Fig. 3.4.d) as well as the estimated coefficient
k and c (this study can be found in the Application 2 of Chapter 5). The
main outputs are the forces registered by both the hip and knee springs with
the aim of validating the aforementioned coefficients and to perform a joint
sensitivity analysis.
3.4 Applications 67
The third group of simulations, instead, is the closest to the physical tests,
thanks to the fact that the joints rotations are governed by control laws and
not by ideal motions like for the other simulations. The input data are the
vertical movements of the slider and once the k and c coefficients for the
springs. The output are the SU and UL numerical angles.
The results of the first two group of simulations have the aim to validate
the estimation of the k and c coefficients used for modelling the numerical
springs and to evaluate the influence of using flexible joints instead of rigid
connections in the development of this MBM. In Fig. 3.5 is it possible to
verify that the numerical curves are both qualitatively and quantitatively near
to the experimental ones. As expected, the FCM results are closer than the
RCM ones. Figure 3.6 addresses the results of the third group of simulations.
As an example, here it is reported the only the FCM Quasi Static numerical
results, because they represent as well the other simulations. These tests in
fact involve a wide range for angle variation respect to the static and drop
tests. The agreement between experimental and numerical results shows that
the MBM is able to predict the behaviour of the physical leg.
Main Achievements
In this work a simplified MBM for one leg of an hydraulic quadruped robot
has been developed and tested. That model represents the first stage of the
3.4 Applications 69
Model
l2 l1
2
E
E
y 3
3
y 2
y
x x x
E 3
z z 1
2
z
z
1
x
1
y l0
l0= 0,65 m;
l1= 0,44 m;
l2= 0,41 m.
Fig. 3.7 Technische Universität Dortmund Omnielastic Robot schema. Curtesy of Dr. Eng.
Jorn Mahlzan.
P1
P1 P2
P0 P2 P0 P3
a b
where Pi are the point required to give an orientation to the curve, Fig. 3.8,
si is the parameter that describes the beam axis while i represent the number
of the bodies belonging to the RMBS that, in this case are two.
In the study here presented a cubic curve has been chosen to describe the
beam deflection in since it is able to detect the third modeshape, thanks to the
capabilities of such polynomial of detecting a concavity change. However,
this choice requires an high computational effort even for testing one single
link, so that the opportunity of using a second order curve has been evaluated.
Thanks to the the good agreement with the results coming from the third
order polynomial due to the fact that the the experimental tests performed
at this stage are able to excite mostly the first frequency of the system, the
choice of a second order polynomial curve has been done.
As aforementioned, the Bezier curve is parametrized by means of a modified
Frenet frame. More in detail, the Frenet frame [143] is represented by a triad
T , N , B where T is the tangent to the curve, N is the normal vector while B
is the bi-normal vector. These are expressed by
⎧
⎪
⎨
T
dT
ds = κN
N;
N
dN
= −κTT + τB; (3.44)
⎪
⎩
ds
B
dB
ds = τN
N
where κ is the curvature while τ is the tangent. If the analysed curve has a
vanishing second derivative, a different parametrization can be chosen. For
example the Bishop representation could be suitable, where the triad is given
by T, N1 , N2 and that is obtained by
⎧
⎪
⎨
T
ds =
dT
κ 1 N 1 + κ2 N 2 ;
N1
dN
ds = κ1 T + τB; (3.45)
⎪
⎩ N2
dN
ds = κ2 T
where κ1 , κ2 are the two curvature.
In the case here illustrated, however, those two approaches are not totally
suitable because they generate a discontinuity passing by the global to the
local reference system. For these reasons, the reference frame chosen for
this study has the first element of the triad equal to the Frenet one, while the
others two respect the rule of the minimum rotation for going to one point of
the curve to the next one. This last choice allows the Lie algebra application
to this formulation.
72 Flexible Multi-Body Modelling
with
and
ẋx = [q˙1 , ..., q̇n , ṗ1x j , ṗ1y j , ṗ1z j , ... ṗT x j , ṗTy j , ṗT z j ] (3.48)
where qi are the rigid rotation of the system, p are the points coordinates
that describe the centreline position, n represents the system DOFs, T is
the number of the links belonging to the RMBS while the other terms are
referred to the derivative of those aforementioned variables.
For computational reasons, it is needed to add at this formulation, an aug-
mented vector called Y that contains the system generalized coordinates and
the frame reference system parameters x ∗ , expressed by
x
Y= ∗ (3.49)
x
The relationship between Y and the system coordinates is given by
∂Y
Y dxx
Y=
Ẏ = Ψẋx (3.50)
∂ x dt
where Ψ indicates the constraint matrix. The relationship between x ∗ and
the generalized coordinates derivative, instead, is given by
∂ x ∗ dY
Y
ẋx∗ == Ji Ψẋx (3.51)
∂YY dt
This Jacobian J i expresses the variation of the frame direction during the
deflection and, for these reasons it can be used to determine the deflection
screw. Since the analysis respects the Lie algebra conditions, the deflection
screw ξ can be determined by
3.4 Applications 73
ξ = J iδ θ (3.52)
where δ θ is the variation between two subsequent tangent to the curve and,
more in detail
ti − t(i−1)
δθ = (3.53)
ds
Once all the aforementioned quantities are determined, is it possible to write
the Virtual Works Principle in the form
where 0 ϒi is the inertia tensor of the ith body expressed with respect to the
fixed reference frame {0} and mi is its mass; ne,i and fe,i are two external
actions acting the body. The vector g is the gravity acceleration vector
T
g = 0 −9.81 0 m/s2 . The wrench Wi can be rewritten in a more
computable form by defining the two mass matrices:
0ϒ 03×3 0Ω 0ϒ 03×3
i i i
mi = γi = (3.55)
03×3 mi I3×3 03×3 03×3
0
Wi = −mi 0 ẍi∗ − γi 0 ẋi∗ + mi +We (3.56)
g
0 ∗
ẍi = JΨ
˙ ẋ + J Ψ̇ẋ + JΨẍ (3.57)
By substituting the Eq. (3.51) and the Eq. (3.57) in the Eq. (3.56) it is
possible to write
2
δ xT τ + ∑ δ x∗ Ti Wi = 0 (3.60)
i=1
Since the S-function has the aim to integrate the ẍ in order to determine the
X, it is convenient to write the dynamics equation in its inverse formulation
as
where
- M (x) is the mass matrix of the mechanical system and, thanks to expan-
sion in Eq. (3.62) can be collected as:
2
M (x) = −ψ T ∑ JTi miJi ψ (3.65)
i=1
3.4 Applications 75
- V (x, ẋ) collects the efforts due to Coriolis and centripetal accelerations
and it is:
2
B (x, ẋ) = −ψ T ∑ JTi mi J̇i + Γ i Ji ψ + mi Ji ψ̇ ẋ (3.66)
i=1
2
03×1
G (x) = ψ T ∑ JTi mi g
(3.67)
i=1
∂ξ
where Jde f = ∂x
The dynamic here presented has been implemented in Matlab/Simulink
environment by means of an S-function integrated by using an ode15s. The
simulation parameters are 0.004 as a timing step while total time is 24s in
order to reproduce two oscillations as in the experimental tests. The function
receives in input the torque exerted by the two actuators and provide in output
the Y (Eq. (3.49)). The torques are obtained by a PD control algorithm
that has as a desired position the ones coming from the experimental tests
(discussed in next section) and as a current position the output from the
simulation. Each link is represented by an adequate number of elements able
to describe the physical set-up behaviour.
Experimental Tests
a b
a b c
d e f
Fig. 3.10 TUDOR experimental tests: a) same sinusoidal input and same low speed for both
joints, b) same sinusoidal input actuator 2 speed higher than actuator 1 speed, c) opposite
condition of case b, d) same same sinusoidal input and same high speed for both joints, e)
opposite sinusoidal input at the same low speed for both the actuators, f) opposite sinusoidal
input but same high speed for both the motors.
3.4 Applications 77
Model Validation
The flexible model validation is carried out by comparing the output results
from the model with the same physical quantity measured during the exper-
imental tests. More in detail, in this study, the comparison is based on the
strain measurements (ε) (Fig. 3.11). The experimental value is obtained by
the gauges measurements, while the one coming from the model is estimated
by means of the plane bending formula (Eq. (3.6)) [40]
dx
dφ = ε (3.69)
z
where, according to the theory here used, dφ is the angular variation calcu-
lated by the screw, while ds represents the element length. As is it possible
to notice, the model output are closer both qualitatively and quantitatively to
the experimental data as it is possible to evaluate in Fig. 3.12 and Fig. 3.2.
Main Achievements
In this work a structural model for a flexible robot is presented. That model
is developed according to the screw theory and, more in detail, it is based
on the screw theory approach since it is conceived to be used and exploited
for control algorithm development purposes. The screw theory, in fact, it
is widely used in robotics because it permits to simplify the kinematic and
dynamic analysis thanks to the use of six-dimensional vectors. The model
here presented is able to reproduce the behaviour of the physical test rig, to
which it is inspired, while it is performing planar motions. That is guaranteed
by the comparison between the experimental and numerical strains. Since
the strains are one of the most complex characteristic to detect, it is possible
to claim that if those coincide, even the other quantities as position, speed
and accelerations agree. Further investigations regards the model validation
while it is performing 3D motions and its integration in the control algorithm
schema for studying optimized trajectory.
78 Flexible Multi-Body Modelling
i-th element
L2 belonging to L2
L1 i-th element
belonging to L1 strain gauge 2
location
a b
y z strain gauge 1
location
a<b
b a
c
x
Fig. 3.11 TUDOR Scheme: a) flexible links schematic representation; b) numerical model
and strain gauges locations; c) flexible link section orientation.
-3
2 x 10
-3
2 x 10
1.8 1.8
1.6 1.6
1.4 1.4
Strain [-]
Strain [-]
1.2 1.2
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 5 10 15 20 25 0 5 10 15 20 25
Time [s] a Time [s] b
Fig. 3.12 TUDOR Flexible Model Validation: a) Comparison numerical experimental strain-
gauge 1; b) Comparison numerical experimental strain-gauge 2. Green lines represent the
experimental values, while the blue ones are the numerical data.
Chapter 4
Robotic Actuation
b
a
c d e
f g
Fig. 4.1 Robotic actuation system examples. Electric actuation: a) Walkman [39] and
b) ABB industrial robot [39]. Hydraulic actuation: c) HyQ2max quadruped robot [118],
d)ATLAS humanoid robot [39] and e)Harvester lift [133]. Pneumatic actuation: f) Air
Hopper Grasshopper Robot [22] and g) Bionic Handling Assistant [51].
84 Robotic Actuation
M
Electric
Motor
Bidirectional Differential
Gear Pump Pressure
Relief Valve Transducer
Position Feedback
good ratio between force exerted and volume occupied and, thanks to the
larger operation bandwidth they are classified as more responsive then the
other families. At the opposite, the electric motors are not incline to fast
acceleration cause of the greater inertia proper of their manufacture. The
pneumatic actuation system, instead, is less efficient and it exhibits a time
delay in responding to the input than the hydraulic one due to the fluid
compressibility [3]. Another difference between the fluid based on and the
electrical actuators regards the heat dissipation capacities: in the former one,
thanks to the fluid circulation, the heat is easily dissipated; while the second
one can dissipate the heat only by means of convective air motions generated
in close proximity to robots [9].
a b
the fixed displacement pump with speed controller mover or the ones with
pressure relief valve [46]. Commonly those pumps are actuated by an
electric motor for indoor applications because it does not produce gases,
while internal combustion engines are mostly used in outdoor applications.
The hydraulic flow is governed by servovalves. Those can be: pressure valves,
like the ones in charge of determining the actuator pressure operational level;
check valves that allow the fluid flow only in one direction; flow valves if
they control the flow rate and, as a consequence, they limit the actuators
maximum speed; the directional valves that switch the flow from one side
to another [65]. The one used in this work is manufactured by MOOG
Inc. 2003 and it has the following characteristics: weight 92 [g], bandwidth
≥ 250 [Hz], flow capability 7.5 [ min
l
], Fig. 4.3.a.
The dynamics of this valve is totally described by
Kspool
Δxv (s) = Δu(s) (4.1)
1 2
ωv2
s + 2D
ωv s + 1
v 2
where Kspool is the parameter that transforms the input current to the spool
position in a steady-state, ωv is the valve spool angular frequency, Dv is the
valve spool damping. More in detail the valve spool is an internal movable
part located in the valve housing which opens or closes the valve channels
and governs the flow direction and magnitude. The spool natural frequencies
indicate how fast the valve can move. Since it is difficult to measure directly
the spool position, it is useful to reverse the aforementioned formula and to
express it in terms of valve input u
86 Robotic Actuation
1 1
Δuv (s) = Δu(s) = Δxv (s) (4.2)
1 2
ωv2
s + 2D
ωv s + 1
v 2 Kspool
The actuators have the purpose of converting the energy coming from the
valves into mechanical energy used to move the system [65]. The type of
actuator mainly investigated in this thesis is the hydraulic cylinder, whose
geometry and dynamics are detailed later in the text. Regarding the charac-
teristics of the physical setup used in the experimental tests, it is possible to
say that it is an asymmetric cylinder produced by HOERBIGER and having
a stroke length of 80mm.
4.3.1 Geometry
An asymmetric cylinder (Fig. 4.4) is composed by a hollow cylindrical body
and by a stroke which separates the internal volume in two chambers having
different transversal section, respectively there are the piston area (A p ) and
the annular area (αA p ). The α coefficient represents the ratio between these
two chambers.
F = A p pa − αA p pb (4.3)
The pressure in each chamber is obtained from the application of the mass
conservation principle [44, 96]. The law of conservation of mass states
that for any system closed to all transfers of matter and energy, the mass
of the system must remain constant over time. The integral form of the
aforementioned law can be summarized in Eq. (4.4); the differential form,
instead, is represented by the Eq. (4.5).
d(ρV )
qin − qout = (4.4)
dt
δρ
+ ∇ · ρ(
v) = 0 (4.5)
δt
where ρ is the oil density while qin , qout and V are the input and output flows
and the volume of each chamber respectively.
dρ dV
qin − qout = V+ ρ (4.6)
dt dt
where
dρ ∂ρ ∂P
= (4.7)
dt ∂ P ∂t
while
∂ρ β
= (4.8)
∂P ρ
The term β appearing in previous equation is the oil bulk modulus: since it
plays a fundamental role in the whole hydraulic dynamics (next paragraph is
dedicated to its details).
Coming back to the flow equation, by substituting the Eq. (4.7) and Eq. (4.8)
in Eq. (4.6) is then obtained
ρ dP dV
qin − qout = V+ ρ (4.9)
β dt dt
88 Robotic Actuation
becomes
ρ
qa = ṗa va + v̇a ρ (4.10)
β
where, considering the chamber volume obtained by multiplying the chamber
transversal section area by the stroke position and assuming that "chamber
a" is the biggest one: va = A p x p while v̇a = A p x˙p , since A p = const. By
manipulating the Eq. (4.10), it is then possible to determine the formula for
the "chamber a" pressure variation, as shown in Eq. (4.11)
βe
ṗa = (qa − A p ẋ p ) (4.11)
va
and, using the same mathematical steps and hypothesis but opposite flow
direction, the same result for "chamber b"
βe
ṗb = (−qb − αA p ẋ p ) (4.12)
vb
The two chambers volumes could be described by Eq. (4.13) and Eq. (4.14)
va = Vpl + A p x p (4.13)
Bulk modulus
The term β that appears in Eq. (4.8) is the oil bulk modulus and it significantly
influences the hydraulic dynamics [66, 74]. For mineral oils, analysed in a
range of temperatures (-40,+120) [degC] and pressures ≤ 450[bar], assume
values in this range (1400-160 [MPa]). The aforementioned values drop
dramatically in case of air presence in the oil. This change can be estimated
by the following equation [65]
4.3 Hydraulic Actuators Modelling 89
chamber a DAp
Ap
va,pa
vb,pb F
chamber b
qa qb
uv = 1 uv =-1 0
ps pt
1 + rv
βe = βisen 1 (4.15)
rv κβp
p0 κ
1+ p
where βisen is the isentropic bulk modulus of the oil without entrained air;
rv = VVG0
L0
is the ratio between the volume of the gas at the atmospheric pressure
compared to the liquid volume at the same pressure; p0 is the atmospheric
pressure while p is the oil pressure; κ represents an isoentropic coefficient
and, generally speaking its value is 1.4.
Fluid Flow
The fluid transmission from the pump to the actuators is regulated by valves,
that can be solenoid valves or servovalves. As mentioned before, this thesis is
mainly focused on the analysis of servovalves whose behaviour is governed
by the spool displacement: it establishes the flow direction and magnitude.
The fluid motion in input or in output from the two chambers is totally
modelled by the formula of the flow through an orifice Eq. (4.16). It depends
not only from the dimension and characteristic of the orifice, but also from
the difference of pressure across it, like described by Eq. (4.16).
90 Robotic Actuation
Fig. 4.5 Influence of the entrained air on the bulk modulus values [65]
! ! √
2p 2p Cd W 2 " "
q = Cd α(uv ) = Cd Wuv = √ uv p = Kv uv p
ρ ρ ρ
(4.16)
where Cd is the discharge coefficient (Cd ≈ 0.6 is often assumed), α(uv ) =
Wuv , W is the area gradient, ρ represents the oil density, Kv is the valve gain,
u represents the input current to the valve.
In "chamber a", the flow is described by Eq. ( 4.17)
√
Kv u pr − pa , u>0
qa = √ (4.17)
Kv u pa − pt , u≤0
Force
Summarizing all the previous informations and considering that the closed
form solution for the pressure formula is known in terms of derivative; by
4.3 Hydraulic Actuators Modelling 91
substituting the Eqq. (4.9 - 4.18) in Eq. (4.3) is then possible to achieve the
hydraulic force variation formula.
A pβ e A pβ e
Ḟh = (qa − A p x˙p ) − α (−qb + A p ẋ p ) (4.19)
va vb
1 α2 qa αqb
Ḟh = −β eA2p + x˙p + β eA p + (4.20)
va vb va vb
⎧ √ √
⎪
⎪ 1 α2 pr − pa α pb − pt
⎪
⎨ − β eA p v + v x˙p + β eA p Kv u
2
+ , u>0
a b va vb
Ḟh = √ √
⎪
⎪ 1 α2 pa − pt α pr − pb
⎪
⎩ − β eA p
2
+ x˙p + β eA p Kv u + , u≤0
va vb va vb
(4.21)
Following that procedure it is possible to obtain the derivative expression
for the force, knowing the stroke displacement and the pressure in each
chamber.
δρ δρ
+a =0 (4.22)
δt δx
where a = 0 represents the wave propagation speed.
The problem statement requires the identification of the IC (initial conditions)
and the BC (boundary conditions) [7]. To fix them, it is useful to get the link
between the density and volume of a fluid
ρ(x,t) V (x,t)
=− (4.23)
ρ0 V0
where ρ0 is the fluid initial density, V0 is the fluid initial volume and x is the
fluid direction.
92 Robotic Actuation
Parametric Identification
In this section one of the key steps for building a RMBS model will be
analyzed: namely the parametric identification. The major role played from
it is due to the importance that a proper choice of parameters has for the
model validation. In fact, having good estimated parameters results in a
reliable RMBS model that is useful both for the analysis of the current
physical test rig and for planning future development. There are many
different methods in literature used for the parametric identifications; they
could be linear [50, 80] or non-linear [52, 101], continuous or discrete time
based on; etc. The methods studied and applied during this research will be
described in this chapter. As happens for the other chapters, after a theoretical
introduction of those methods, a set of applications is then presented.
K nowle dge
Kinematic and Model
A priori
Geometric Accuracy
Information Specification
Modeling
Experiment
R obot Ide ntific a tion P roc e dure
Design
Data
Acquisition
Parameter
Estimation
mainly centred on the analysis of the second family, for these reasons the
geometrical ones will be not treated anymore in the following sections.
The dynamical parameters estimation require a process that can be summa-
rized in five main steps: Modelling, Design of Experiments, Data Recording
and Data Analysis, Parameters Estimation and Model Validation [125], Fig.
5.1.
The Modelling phase consists of writing the RMBS dynamical equations, as
described both in Rigid Multi-Body Modelling and in Flexible Multi-Body
Modelling chapters, highlighting the parameters influence in those formulas.
The equations of motion for a RMBS are commonly highly non-linear, due to
the presence of large displacements, however they are linear with respect to
5.1 State of Art 95
the parameters [110]. This peculiarity lets to extract from the direct dynamic
equation
M (qq) q̈q +V
V (qq, q̇q) + G (qq) = τ (5.1)
the vector p , that is the one containing all the RMBS dynamic parameters, as
shown in Eq. (5.2)
M (qq, p ) q̈q +V
V (qq, q̇q, p ) + G (qq, p ) = τ (5.2)
that can be then manipulated with the aim of reaching a system of equations
of the unknown parameters p , as expressed by the inverse dynamic model of
the RMBS in Eq. (5.3)
Once the model is ready is then possible to proceed with the Design of Exper-
iment stage, that consists in selecting an input signal able to properly excitate
the system with the aim of recording valuable output data that guarantee an
accurate parameter estimation. Afterwards, during the experimental tests,
the output Data will be Recorded and then Processed in order to reach the
Parametric Identification required. The Model Validation Phase that con-
cludes the cycle, consists in giving in input to the RMBS the aforementioned
estimated parameters and verifying if the corresponding outputs are similar
to the ones coming from the physical set-up.
After its validation, the RMBS model permits to exploit the robot capabil-
ities under extreme performance conditions, while considering time-cost
reductions in simulation and control application. In some conditions, like
the extreme ones, it is difficult to have an effective force control since the
contact time is too short. Using the model permits to overpass this issue
because its results do not depend on the measurement instruments response
time. Every improvement, both from the structural and from the control
side, can be immediately simulated within a global analysis. The time for
one simulation is shorter than the time needed for machining a modified
prototype or for arranging an experimental test. At last, since it is a virtual
model, it is possible to run different simulations at the same time. Thanks
to the higher number of design considered, the quality of the robot could
increase exponentially [144].
96 Parametric Identification
y y=ax+b
(x6,y6)
en
(x4,y4) e6
(xn,yn)
e4 e5
(x2,y2) (x5,y5)
e2 e3
(x3,y3)
e1 x
(x1,y1)
Fig. 5.2 Generic dataset and their approximation by means of a linear regression.
represents the best approximation to the (xn , yn ) [97] (Fig. 5.2). This
goal is achieved by reducing, as much as possible, the "distance" between
the dataset and its approximated function. For the linear regression
5.1 State of Art 97
shown in Fig. 5.2 it is needed to determine find a set of values (a, b) that
minimize the error function, shown in Eq. (5.5)
N
E(a, b) = ∑ (yn − (axn + b)))2 (5.5)
n=1
∂E ∂E
= 0, =0 (5.6)
∂a ∂b
that are
∂E
∂a = ∑N
n=1 2(yn − (axn + b)))(−xn );
∂E (5.7)
∂b = ∑N
n=1 2(yn − (axn + b))).
N 2 N N
a ∑n=1 n ∑n=1 n
x x ∑n=1 n n
x y
= (5.9)
b ∑n=1 xn (∑n=1 1
N N
∑N
n=1 yn
∂ 2E ∂ 2E
∂ a2 ∂ a∂ b ∑N 2 N
n=1 2xn ∑n=1 2xn
H= ∂ 2E ∂ 2E
⇒ (5.10)
∂ a∂ b ∂ b2
∑N
n=1 2xn −2
If the H eigenvalues (α) assumes all positive values, the aforementioned
matrix is positive definite and the solution we are looking for effectively
minimize the error, Eq. (5.11).
H − I α) = 0 ⇒ α > 2(xn2 + 1)
det(H (5.11)
98 Parametric Identification
d
f (θ , φ ) = ∑ ak κ(βk (φ − γk )) (5.15)
k=1
where
θ = αk , βk , γk k = 1, ..., d (5.16)
5.1 State of Art 99
starting from the known past input-output data Z t−1 . Once this function
is known, is then possible to estimate the prediction error by means of
θ# (t|θ ))2
N = argminθ (y(t) − y (5.19)
In this thesis, the predictor function was built according to the System
Identifaction Toolbox provided by Matlab [81]. It is based on ODE
equations and it can deal with both frequency domain and time domain
input data. It can generate both single and multiple output data. The core
of this modelling consists in writing the state space matrix as a function
of a selected parameters. This matrix is generated from the following
systems of equations respectively in
⎧
⎪
⎨ ẋ(t) = F(t, x(t), u(t), par1, par2, ....parN);
y(k) = H(t, x(t), u(t), par1, par2, ....parN) + e(t); (5.22)
⎪
⎩
x(0) = x0 .
ψ(t) = [y(t − 1), ..., y(t − n), u(t − 1), ..., u(t − m)] (5.24)
where θ = [θ1 , ..., θnθ ]T is the vector containing all the parameters while
φ (t) = [φ1 (t), ..., φn (t)] is the regressor. In the NARX modelling, the
θ
key role is played by the regressor structure, since the predictions are
linear in the parameters, as will be described in the Application 4 of this
chapter.
force [N]
force [N]
stroke displacement [m] stroke displacement [m]
a b
Fig. 5.3 Stiffness and Damping Coefficient Identification: a) from a hysteretic phenomena, b)
from an impulsive phenomena.
where F(t) is the force that moves the piston, c is the damping coefficient,
ω represents the force frequency and X is the maximum displacement
amplitude.
The c coefficients for the high speed tests are estimated starting from the
same measurement of the low speed tests by analyzing the momentum
conservation as in Eq.5.27 [94].
2π 2 2
mv2i = c Δl (5.27)
ΔT max
where mv2i represents the kinetic energy of the body during the dropping,
ΔT is the time of the drop, Δlmax is the compression of the element that
absorbs the impact energy and in our case is represented by the piston
length. The kinetic energy has to consider the F(t)imp on the ground and
the potential energy due to the weight of the leg (mgΔT ), as shown in
102 Parametric Identification
Eq. 5.28.
ΔT
mvi = −mgΔT + F(t)imp dt (5.28)
0
That choice is due to the fact that the impulsive phenomena, registered
in this work, not always present a perfectly closed hysteresis loop as
shown in (Fig. 5.3.b).
5.2 Applications
The dynamical model used for this application is the one regarding the Hy-
draulic Leg (HyL) and described in the Application 2 of the Rigid Multi-Body
Modelling chapter. The parameters investigated are respectively masses and
inertias of the HyL mechanical components.
The experiments carried out for this identification process aimed to inves-
tigate the leg behaviour during low speed motions. To this aim, the static
settling of HyL has been analysed. The test consists of recording the leg
behaviours when it is disturbed from its equilibrium configuration. More in
detail, the disturbance was produced by the application of an additional mass
of 3 [kg]. The actuators were controlled by means of a simple proportional
law, with a settling point equal to the starting configuration. The experi-
mental set-up used in these tests is the instrumented leg aforementioned in
Application 1 of Chapter 3.
Signal processing
The output data from the mentioned campaign of experiments are then pro-
cessed. Figure 5.4.a, 5.4.b, 5.4.c show the data collected from one of the tests.
As visible, the rates of the two revolute joints do not exceed the maximum
value of ∼ 0.1 [rad/s] with a very small angular displacements, which is
well ascribable to a low duty work condition. With such measurements, the
recorded torques have been used for identification of system parameters.
Parameters estimation
The parameters are estimated by applying the Eq. (5.3) to a sufficient point
of dataset till reaching a overdetermined system of equation in p, Eq. (5.29)
2
1
0
−1
a
−2
0.2
0.1
0
-0.1
−0.2 b
0.5
0.25
0
-0.25
−0.5 c
40
30
20
10
0 d
0 1 2 3 4 5 6 7 8 9 10
time [s]
Table 5.1 Masses and inertias of leg bodies: CAD model vs identification results.
ρ = (Φ ΦT τ
ΦT Φ )Φ (5.30)
The results of this identification are shown in Tab. 5.1, where the inertia
of the two bodies of each actuator has been computed as a whole, being
the two members subjected to an identical angular velocity. The values
reported denote a misleading identification some of the body properties,
probably due to a poor set of configurations taken into consideration, as
happens for the τ1 in Fig. 5.4.d. Anyhow, the results look promising and it
is worth considering as a future development of this research to perform a
more accurate experimental campaign specifically aimed at the identification
process.
Model validation
The newly identified parameters are then given in input to the analytical
model in order to proceed with its validation, that is obtained by comparing
the output torque coming from both the analytical and experimental set-up
as shown in Fig. 5.4. As it is understandable from the results analysis,
this kind of experiment is not sufficient to give a satisfactory answer to the
106 Parametric Identification
Main Achievements
Model
The model used for the application here presented is the HyL multibody
model (MBM) already introduced in Chapter 3, Application 1. As afore-
mentioned, in this RMBS model, the two pistons are modelled as spring
damper elements, reason for why there are two main parameters to investi-
gate, namely the stiffness (k) and the damping (c) coefficients for both of
them.
The experimental tests carried out for the present application are the same
ones presented in the Application 1 of the Capter 3 of this thesis.
5.2 Applications 107
Table 5.2 Stiffness and Damping Estimated Coefficients. Low gain (150 [Nmrad −1 ]) and
High gain (300 [Nmrad −1 ]). σ is the standard deviation.
F = kδ (5.31)
According to the Eq. 5.31, k coefficients are estimated from the the slope of
the best approximation line of the force-displacement curves obtained both
for the low speed and impact as shown in Fig. 5.3. While the c parameters
are estimated by means of the Eq. (5.26) and Eq. (5.27).
The coefficient estimated for both the low and high speed conditions are
summarized in Tab.5.2. The results for the stiffness coefficient are much
more accurate then the damping ones, due to the fact that the c coefficients
estimation strictly depends on the not always well defined hysteresis areas.
However, thanks to statistical analysis carried out on the experimental data,
it is possible to affirm that the estimated c and k coefficients have a Gaussian
distribution. The 95% confidence intervals on the means are performed for
these parameters in each condition, using the t-distribution with four degrees
108 Parametric Identification
2500 315
1000
0 290 -1000
0 2 4 6 8 10 290 295 300 305 310 315 320
Time [s] a Stroke displacement [mm] b
Fig. 5.5 a) Experimental data for a quasi static test; b) Signal processing
of freedom. Results show that each measured value is included in its relative
interval, in this way measurement reliability is assured. For all the statistical
analyses R software [105] was used.
Model Validation
At last stage of this procedure there is the model validation. The estimated
parameters are used to model the two actuators of the HyL VPM and the
results obtained from this numerical model are compared with the ones
coming from a proper set of experimental test as detailed in Application 1 of
Chapter 3. The agreement between numerical and physical results allows
to declare the model validation and its capability to represents the physical
set-up.
⎧ √ √
⎪
⎪ 1 α2 pr − pa α pb − pt
⎪
⎨ − β A p v + v ẋ p + β A p Kv u
2
+ , u>0
a b va vb
Ḟh = 2 √ √
⎪
⎪ 1 α p − p α p − p
⎪
⎩ − β Ap
2
+ ẋ p + β A p Kv u
a t
+
r b
, u≤0
va vb va vb
(5.32)
where there are two parameters to estimate; namely oil bulk modulus β and
the valve coefficient Kv . The remaining ones, instead, are all geometrical
quantities that, for this case study, are completely known.
The total hydraulic force is represented by
+ 1 + sign(u) − 1 − sign(u)
Ḟh = Ḟh + Ḟh (5.33)
2 2
where Ḟh is the hydraulic force; Ḟh+ express the hydraulic force when the
current u has positive values while, at the opposite Ḟh− is measured when u
assumes negative values. All the other terms are detailed in Chapter 4.
The experiments are carried out by using the instrumented HyL, completely
described in the Application 2 of the Rigid Multy-Body Modelling chapter. In
addition to the already described instruments, in this case there were added
two pressure sensors for each actuator, able to measure both the reservoir
Pr and tank Pt pressures. In order to investigate the behaviour of each
single piston, during the experimental tests the actuation for the two DOF
was decoupled. A series of sinusoidal movement were given in input with
different amplitudes (0.1 < θ < 0.6 [rad] hip piston; 0.33 < θ < 0.99 [rad]
knee piston) and frequencies (0.6 < f req < 1.8 [Hz] for both the actuators).
The difference in the chosen amplitude for the two joints depends on their
kinematics capabilities.
The parametric identification here presented start from the two parameters are
estimated by the application of the Least Squares Method by manipulating
the Eq. (5.33) in order to obtain the following linear system
AX = B (5.34)
110 Parametric Identification
1
X= β (5.35)
Kv
A is the regression matrix defined as
A = Ḟ(t) z (5.36)
where
√ √
pr − pa α pb − pt
z = −A p u + (5.37)
va vb
and B is given by
A21 A22
B = −ẋ p + (5.38)
va vb
⎡ 2 ⎤
⎡ ⎤ A1 A22
−ẋ p (1) (1) +
Ḟ(1) z(1) ⎢ a2
v v b (1) ⎥
⎢ ⎥
⎢ A1 A22 ⎥
⎢Ḟ(2) z(2) ⎥ 1 ⎢−ẋ p (2) v (1) + v (2) ⎥
⎢ ⎥ β ⎢ a b ⎥
⎢ . . .⎥ = ⎢ . ⎥ (5.39)
⎢ ⎥ K ⎢ ⎥
⎢ ⎥ v ⎢ ⎥
⎣ . . .⎦ ⎢ . ⎥
⎣ 2 ⎦
Ḟ(n) z(n) A A2
−ẋ (n) p
1
+ 2 va (n) vb (n)
AT A)−1 A)B
X = ((A B (5.40)
The x p is estimated by the leg kinematics while ẋ p and Ḟh are obtained by a
differentiation of x p and Fh signals respectively. The two chamber pressures
Pa , Pb , instead, are calculated starting from the supply and tank pressure
values pr , Pt , according to the Eq. (5.41)
Pa0 = P2s0 ; Pb0 = P2s0
(5.41)
Pa + Pb = pr + Pt
Model Validation
The results of this identification are shown in Tab. (5.3). It is noticed that
there is a big fluctuation when the frequency increases and moreover the
results are not consistent with the reference datasheets values. The first issue
most probably depends on the not proper sampling rate of the actual control
5.2 Applications 111
system: its steps are too large to capture the high frequency variation of the
state variables. The inconsistency with the nominal values, instead, is mainly
due to the non-linearities which affect the test-rig and which are in most of
the cases non predictable, those can be summarized in:
- presence of the air bubble in the oil: it induces the variation of the
bulk modulus magnitude of several percentage points, from 50% in low
pressure conditions to 1 − 2% in high pressure conditions, [58];
- pressures signals not constant: most of the theoretical methods require a
steady pressure while in the set-up used for this study, it is not possible
to have that specific signal [64];
- low sampling frequency: in order to detect a high frequency behaviour,
proper of an hydraulic system, it is needed a sampling rate higher than
1[kHz], [64].
For these reasons a different modelling procedure was tested as detailed in
the following Application.
PRESSURE SENSORS
The physical set-up used for the presented experiments is a test rig properly
created for investigating the behaviour of one single actuator. It is called
force controller one dimension (fc1d) and it is represented in Fig. 5.6. As it
is possible to notice from the picture, the cylinder chambers are fixed to the
ground by means of an external case rigidly connected to the bench table;
while the stroke is able to move along the longitudinal axes of the piston.
That is guaranteed by a connection with two parallel road which also act
as support for an external mass needed to exploit the actuator dynamical
capabilities. Without this mass applied, in fact, there is no reaction from the
environment on the cylinder and as a consequence it not possible to estimate
the hydraulic force exerted.
The set-up is governed by an open loop control system and the input used
are mainly two: the chirp signal and the random gaussian (rgs) one, five
times for each signal. The chirp signal is a "sinusoidal with a gradually
increasing frequency ωk " [45]
where
5.2 Applications 113
30 65 50
60
20 0.5 0.5 0.5
55
xp [mm]
xp [mm]
xp [mm]
u [-]
u [-]
u [-]
0 50 0 0 0
45
0 - 0.5 - 0.5 - 0.5
40
í 35 í
0 2000 3000 4000 5000 0 200 300 400 500 0 200 300 400 500
Time [ms] Time [ms]
Time [ms]
Pt and Ps [bar]
Pt and Ps [bar]
Pt and Ps [bar]
k
ωk = ωstart +
(ωend − ωstart ) (5.43)
N
The rgs, instead is a discrete white noise with a flat spectrum. It generates a
much larger set of frequency in less time then the one required for the chirp
signal.
The fc1d is instrumented with a loadcell (Burster 8417, force range 0-5
kN, accuracy 0.5 %) mounted in axis with respect to the cylinder stroke
and used to measure the hydraulic force; a piezometric slider (Burster 8709,
displacement range 0-250 mm, accuracy 0.05 %) located parallely to the
cylinder stroke and used to detect the stroke displacement; two pressure
sensors (Trafag 8251 , pressure range 16 or 25 MPa, accuracy 0.5 %)
located on a manifold, rigidly connected with the cylinder chambers, and
able to measure the reservoir and tank pressure.
The parameters are estimated by means of the Grey Box modelling technique.
More in detail the Matlab System Identification toolbox has been used, as
114 Parametric Identification
Model Validation
N
d n F (t) M
d m x (t)
∑ an d tn
= ∑ d tm
bm (5.44)
n=0 m=0
F u(k)
u(k-1)
NARX y(k+1)
k1 u(k-n+1)
k0
s
c1 y(k-m+1)
y(k-1)
y(k)
a b
Fig. 5.8 a) Proposed simplified Maxwell-Model; b) scheme of implementation for the NARX
model.
force when the expression of both pressures and fluxes (see Chapter 4)
are substituted with the main difference that the parameters appearing in
equation (5.45) determine the behaviour of the visco-elastic system but, in
general, are conceived to replicate an intrinsically dissipative phenomenon.
For this reason, the meaning given to such unknowns should be rearranged
to accomplish the purpose of fitting the behaviour of the hydraulic actuator.
To this aim, the model here proposed makes use of non-constant parameters,
depending on system inputs as described in the following section.
The Maxwell model described by Eq. (5.45) has been exploited to build a
discrete Nonlinear AutoRegressive eXogenous model (NARX model) able to
trace the behaviour of the hydraulic actuators for a given feeding pressure as
a function both of its inputs and of the previous states of the system itself, as
schematically represented in Fig.5.8.b.
In a very general way, the output of a NARX model at step k + 1 is expressed
by [65]:
ϕ , Θ)
y (k + 1) = f (ϕ
T (5.46)
ϕ (k) = y (k) , . . . , y (k − m + 1) , u (k) , . . . , u (k − n + 1)
Table 5.5 Available variables for computation of the NARX model at step k.
Θ∗ , ϕ )
Θ = h (Θ (5.48)
Stroke, s [m]
0.32
0.35
0.31
0.34
0.30
0.29
0.10 0.10
Valve control, uv
Valve control, uv
0.05 0.05
0.00 0.00
-0.05 -0.05
-0.10 -0.10
25 25
0 0
Force, F [N]
Force, F [N]
-25 -25
-50 -50
-75 -75
-100 -100
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
HIP KNEE
Measured value
Fig. 5.9 Tests used for identification of the NARX model: actuator strokes, valve control
signals and exerted forces for a dynamic motion and a static test.
5.2 Applications 119
While the piston stroke s and the control signal u are a known at the current
step k, as well as at their previous steps, the value F is not directly known
since it represents a value predicted by the model and not measured on the
actual system. To reduce the dependency of the model output on the present
value of the thrust, the time derivative Ḟ (k) is here numerically computed
by means of a central derivative:
F (k + 1) − F (k − 1)
Ḟ (k) = (5.50)
2δt
Equation (5.50) also allows relating the derivative of the force not only to
past values of F but also to the system output, i.e. to the value that the force
F is going to assume at step k + 1. This strategy is instead not required for
the time derivative of the piston stroke ṡ (k) which can be simply computed
as:
s (k) − s (k − 1)
ṡ (k) = (5.51)
δt
Equations (5.50) and (5.51) can then be substituted in the Maxwell model to
obtain an expression for F (k + 1):
1 c1 −1
F (k + 1) = 1 +2δt k1 [k0 (s (k) − s0 ) +
s(k)−s(k−1) (5.52)
+c1 k0
k1 +1 δt + ck11 F(k−1)
2δt
-3.00 15.0
-3.25 7.5
-3.50 0.0
-3.75 -7.5
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
HIP KNEE
Measured value
Estimated value
Fig. 5.10 Measured and estimated values of s0 and k0 for a static test: the measured values
are computed as in the paragraph Use of static tests.
where d1 , d2 , .., dn+m are the maximum degrees chosen for the n + m ele-
ments of the regressor vector ϕ ; the coefficients i ϑδ1 ,δ2 ,..δn+m are the system
parameters that must be identified and which compose the vector Θ ∗ . It is
worth remarking that the coefficients of the polynomials are identified to
copy the behaviour of the actual system even though they do not have a
direct correlation to it.
The number of parameters involved in the computation of the NARX model,
i.e. the number of elements in Θ∗ , are a function both of the number of regres-
sors to be used for computation and of the maximum degrees d1 , d2 , .., dn+m
of the fitting polynomials. The data collected with experimental tests has
been used for this purpose as described in the remainder of the section.
· Use of Static Tests.
The static experiments have been used first; for such tests the strokes of the
two actuators are controlled to a constant position, so that s (k) = s (k − 1) =
... = s (k − m + 1) and consequently ṡ (k) = 0. The same simplification
cannot be performed for Ḟ since, as visible Fig. 5.10, the measured force
presents a high variability also in static conditions.
Equation (5.52) is modified accordingly:
−1
1 c1 c1 F (k − 1)
F (k + 1) = 1 + k0 (s (k) − s0 ) + (5.54)
2δt k1 k1 2δt
122 Parametric Identification
The expression (5.54) can be formulated for each collected point of the static
tests. Defining the matrix Ω s , as
⎡ ⎤
F(k−1)
s (k) , 2δt , 1
⎢ ⎥
⎢ s (k − 1) , F(k−2)
1⎥
Ωs = ⎢ 2δt , ⎥ (5.56)
⎢ ..., ..., ... ⎥
⎣ ⎦
F(k−m−1)
s (k − m) , 2δt , 1
a right pseudo inverse can be computed for each instant to obtain:
⎡
⎤
1 c1 −1
k 1 + 2δt k1
⎢ c0
⎥
⎢ 1 1 + 1 c1 −1 ⎥ = Ω Ts Ω s Ω Ts −1 F (k + 1) (5.57)
⎣ k1
2δt k1 ⎦
1 c1 −1
−k0 s0 1 + 2δt k1
where k represents all the regressors chosen for the identification procedure.
The system of equations can be solved in the unknowns k0 , s0 and ck11 for
each collected instant to obtain several values for such unknowns. Naming
T
−1
α1 α2 α3 = Ω Ts Ω s Ω Ts F (k + 1) for each measured instant it is
obtained:
α2
α2 −1
k0 (k) = α1 1 + 2δt 1 − 2δt
s0 (k) = − αα31 (5.58)
c1
α2 −1
k1 (k) = α2 1 − 2δt
At this point, the static tests have been used to trace the parameters k0 , s0
and ck11 under different conditions. Such behaviours can then be interpolated
with a proper polynomial. It is assumed here that the registered values of ck11
under static conditions are not reliable due to the fact that the spring k1 and
the damper c1 should not play any role in the Maxwell model under ideal
static conditions (ṡ = 0 and Ḟ = 0). Nonetheless, the force derivative cannot
be considered null as mentioned in the previous section and that implies
the presence of ck11 in the Eq. (5.57). Thus, being such estimation strictly
depending on an undesired phenomenon observed during static tests, the
5.2 Applications 123
δ1
Θk0 = ∑ k0 ϑ
δ1 ,δ2 u (k) s (k)δ2
δ1 = 0, ..3
δ2 = 0, ..3
δ1 + δ2 ≤ 3
δ1 δ2 (5.59)
Θs0 = ∑ s0 ϑ
δ1 ,δ2 u (k) s (k)
δ1 = 0, ..3
δ2 = 0, ..3
δ1 + δ2 ≤ 3
The degree of these polynomials have been chosen after several attempts,
while looking for a proper compromise between effectiveness of the resulting
model and number of coefficients required for the computation.
The ten parameters k0 ϑδ1 ,δ2 and the ten s0 ϑδ1 ,δ2 can be computed through a
simple quadratic regression on the values of k0 (k) and s0 (k) as computed in
(5.58). The problem is formulated as follows:
T
k 0 = u 0 s 0 u 0 s 1 ... u 3 s 0 k0 ϑ0,0 k0 ϑ0,1 . . . k0 ϑ
3,0 (5.60)
where k 0 is the column vector containing all the collected values of k0 (k) ac-
cording to Eq. (5.58) and u δ1 s δ2 are the ten column vectors collecting
the val-
ues of the monomials u (k)δ1 ·s (k)δ2 . Defining the matrix ϒ = u0 s0 u0 s1 . . . u3 s0 ,
the coefficients can be computed through computation of the left pseudo
inverse of matrix ϒ :
T
−1 T
k0 ϑ
0,0
k0 ϑ
0,1 ... k0 ϑ
3,0 = ϒT ϒ ϒ k0 (5.61)
With a similar strategy, also the values of the four s0 ϑδ can be achieved:
−1 T
s0 ϑ
0,0
s0 ϑ
0,1 ... s0 ϑ
3,0 = ϒT ϒ ϒ s0 (5.62)
0.32 0.05
0.31 0.00
0.30 -0.05
0.29 -0.10
1.50 0.0
Damping, c1 [kgs-1]
0.75 -5.0
-10.0
0.00
-15.0
-0.75 -20.0
-1.50 -25.0
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
HIP KNEE
Measured value
Estimated value
Fig. 5.11 Measured and estimated values of c1 and k1 for a dynamic test: the measured values
are computed as described in the paragraph Use of dynamic tests.
The graphs shown in Fig. 5.10 points out that the evaluated parameter s0
assumes a negative value for the presented static test for both the Hip and
the Knee joints. It is worth remarking that this value is not fixed since it
is computed as a polynomial of degree 3 of both the control signal u (k)
and the actuator stroke u (k). However, the present value is coherent with
the proposed measured force, which is negative, and the evaluated stiffness
k0 > 0.
1 c1 −1
where Fel = 1 + 2δt k1 k0 (s (k) − s0 ). As previously done for the static
tests, equation (5.63) is solved for every instant k through the right pseudo
inverse of matrix Ω d
where
⎡ ⎤
F(k−1)
Fel , ṡ (k) ,
⎢ 2δt ⎥
⎢Fel , ṡ (k − 1) , F(k−2) ⎥
Ωd = ⎢⎢ ...
2δt ⎥
⎥ (5.64)
⎣ ... ... ⎦
F(k−m−1)
Fel , ṡ (k − m) , 2δt
⎡
⎤
−1
1 + 2δt
1 c1
⎢c
k1 1 c1 −1 ⎥
⎢ 1 (k0 + k1 ) 1 + ⎥ = Ω Td Ω d Ω Td −1 F (k + 1) (5.65)
⎣ k1 2δt k1 ⎦
c1
1 c1 −1
k1 1 + 2δt k1
Stroke, s [m]
0.325 0.325
0.300 0.300
0.275 0.275
0.250 0.250
0.20 0.20
Valve control, uv
Valve control, uv
0.10 0.10
0.00 0.00
-0.10 -0.10
-0.20 -0.20
0 0
-20 Fo rce, F [N] -20
Force, F [N]
-40 -40
-60 -60
-80 -80
-100 -100
0 2 4 6 8 10 0 2 4 6 8 10
Time [s] Time [s]
HIP KNEE
Measured value
Estimated value
Fig. 5.12 Narx model output of both Hip and Knee actuators for a dynamic test used for
calibration.
Model Validation
The identified NARX model has been tested by comparison with measured
data collected with experimentation on the test rig. Figure 5.12 shows the
behaviour of the full model while compared with the sinusoidal tests used
for calibration of parameters. As well expected, this kind of comparison
provides a good result and the model overlaps the actual behaviour of the
hydraulic actuators.
A more significant evaluation of the model can be performed by comparison
with motions different from those used for the identification of the parameters.
To this aim, combined motions of the two actuators have been performed and
analysed. Figure 5.15 also shows the collected data. As visible, the actuators
have been controlled with harmonic laws of motion with different frequency
5.2 Applications 127
-25.0 -0.5
-50.0 -1.0
0 5 10 15 20 25
50.0 1.0
25.0 0.5
0.0 0.0
-25.0 -0.5
-50.0 -1.0
0 2 4 6 8 10 -20 -10 0 10 20
Time [s] Lags [steps k]
HIP KNEE
Measured value
and amplitude. The results provided by the model are compared with the
measured forces.
The validation tests show that the model is able to trace the overall trend
of the actual system even if it shows a low sensitivity to interaction with
external forces given, in the present case, by the presence of two links
connected in serial configuration. It must be said that the curves of Fig.
5.14 are computed in open loop and they are not part of a forward dynamics
simulations. Different results might be obtained with simulation of the whole
mechanical system with a closed loop control.
A numerical estimation of the model quality is also provided in Fig. 5.14.
The deviation among the computed NARX model and the collected data is
provided as σ = (|F| − |F ∗ |)/|F|, where F is the measured force and F ∗ is
the value predicted by the NARX model at each step.
The value of σ provides an indices which indicates the quality of the pro-
posed modelization. Even though such parameters owns peaks of about
40%, the average values of the errors are respectively σhip = 9.093% and
σknee = 7.754%.
In addition an analysis of residual has been carried out to verify the NARX
model. The procedure consists of determining the residual, as the difference
between the measured and estimated values, in our case the two pistons
forces, and to proceed with an Autocorrelation and Cross correlation between
the aforementioned value and a noise signal. The Autocorrelation permits
to compare a signal with itself while the Cross correlation, instead, permits
128 Parametric Identification
-25.0 -0.5
-50.0 -1.0
0 5 10 15 20 25
50.0 1.0
25.0 0.5
0.0 0.0
-25.0 -0.5
-50.0 -1.0
0 2 4 6 8 10 -20 -10 0 10 20
Time [s] Lags [steps k]
HIP KNEE
Measured value
to investigate how much two signal are similar each other. A signal is
autocorrelated with itself and cross correlated with a second one, if the
results of the aforementioned analysis is equal to zero1 .
As it is possible to notice in Fig. 5.13 the Hip actuators is very well identified
by using the Maxwell model, since the difference between the estimated
and measured force is null and Autocorrelation and Cross correlation results
tend to zero. The same does not happen for the Knee actuator, where, even
if the estimated force values give good results, the test on the identification
procedures is not satisfying. The Autocorrelation shows the presence of a
sinusoidal hidden signal and the Cross correlation does not tend to zero (Fig.
5.14). It might be caused from the coupled dynamic of the leg, that does
not permit to isolate the Knee behaviour. This is much evident in Fig. 5.15,
where the results of a combined motion test are shown.
Main Achievements
0.350 50.0
Residual, HH [N]
Stroke, s [m]
0.325 25.0
0.300 0.0
-25.0
0.275
-50.0
0.250 0 2 4 6 8 10
0.10 1.0
0.5
0.00
0.0
-0.10 -0.5
-0.20 -1.0
0 0 5 10 15 20 25
1.0
Force, F [N]
-50 0.5
0.0
-100
-0.5
-150 -1.0
0 2 4 6 8 10 -20 -10 0 10 20
Time [s] Lags [steps k]
HIP KNEE
Measured value
Estimated value
Fig. 5.15 Narx model output of both Hip and Knee actuators for a combined motion.
pistons and at last the fluctuation of the feeding pressure are examples of
the issues which are hardly identifiable and affect the experimental test rig.
Despite the presence of such problems, the non-linear solution reaches a
good approximation of the phenomena as can be seen from the agreement
between numerical and experimental results and, moreover, from the residual
analysis.
Chapter 6
This thesis has proposed a solution for the integrated approach required
for developing an high complex robotic systems. Nowadays in fact, the
panorama of robotic is wide and it has stressed the limit of the traditional
development process of those machines. The thesis contains a detailed
collection of methods and simulation techniques, to use in the development
process of reliable robotic virtual model to properly integrate with the control
algorithm, and several applications regarding both the development of new
robotic devices or the investigation of some existing ones.
Among all the models here presented, two can be selected as the main ones:
the first one regards the structural model of a flexible 2DOFs robot, while the
second one concerns the dynamic model of an hydraulic actuators. Both of
them reached great results as is it visible from the agreement with between
numerical and experimental results. More in detail the strains detected with
the structural model achieved an accuracy of 85% with respect to the data
coming from the experimental tests, while the errors between the numerical
hydraulic cylinder and its experimental counterpart are less than 10%.
[2] Aggogeri, F., Borboni, A., Adamini, R., and Faglia, R. (2015). A
fuzzy logic to solve the robotic inverse kinematic problem. In Applied
Mechanics and Materials, volume 772, pages 488–493. Trans Tech Publ.
[4] Bai, S., Zhou, L., and Wu, G. (2013). Handbook of Manufacturing
Engineering and Technology, chapter Manipulator Dynamics. Springer
London.
[5] Basso, M., Giarre, L., Groppi, S., and Zappa, G. (2005). Narx models of
an industrial power plant gas turbine. Control Systems Technology, IEEE
Transactions on, 13(4):599–604.
[6] Battaglia, E., Bianchi, M., D’Angelo, M., D’Imperio, M., Cannella, F.,
Scilingo, E., and Bicchi, A. (2015). A finite element model of tactile flow
for softness perception. volume 2015-November, pages 2430–2433. cited
By 0.
[8] Bi, S.-S., Zhou, X.-D., and Marghitu, D. B. (2012). Impact modelling
and analysis of the compliant legged robots. Proceedings of the Institution
of Mechanical Engineers, Part K: Journal of Multi-body Dynamics, page
1464419312441451.
[10] Blomdell, A., Dressler, I., Nilsson, K., and Robertsson, A. (2010).
Flexible application development and high-performance motion control
based on external sensing and reconfiguration of abb industrial robot
controllers. In 2010 IEEE International Conference on Robotics and
Automation, pages 62–66.
134 References
[11] Boer, S., Aarts, R., Meijaard, J., Brouwer, D., and Jonker, J. (2014). A
nonlinear two-node superelement for use in flexible multibody systems.
Multibody system dynamics, 31(4):405–431.
[12] Bosworth, W., Kim, S., and Hogan, N. (2014). The effect of leg
impedance on stability and efficiency in quadrupedal trotting. pages
4895–4900.
[13] Boyer, F. and Porez, M. (2015). Multibody system dynamics for bio-
inspired locomotion: from geometric structures to computational aspects.
Bioinspiration & biomimetics, 10(2):025007.
[14] Bricout, J., Debus, J., and Micheau, P. (1990). A finite element model
for the dynamics of flexible manipulators. Mechanism and Machine
Theory, 25(1):119–128.
[15] Cannella, F., Dimperio, M., Canali, C., Rahman, N., Chen, F., Catelani,
D., Caldwell, D. G., and Dai, J. S. (2016). Origami carton folding analysis
using flexible panels. pages 95–106.
[16] Cannella, F., Garinei, A., D’Imperio, M., and Rossi, G. (2014). A
novel method for the design of prostheses based on thermoelastic stress
analysis and finite element aanalysis. Journal of Mechanics in Medicine
and Biology, 14(05):1450064.
[17] Cannon, R. H. and Schmitz, E. (1984). Initial experiments on the
end-point control of a flexible one-link robot. The International Journal
of Robotics Research, 3(3):62–75.
[18] Carbonari, L., Battistelli, M., Callegari, M., and Palpacelli, M. (2013).
Dynamic modelling of a 3-cpu parallel robot via screw theory. Mech. Sci,
4(1):185–197.
[19] Carbonari, L., Bruzzone, L., and Callegari, M. (2011). Impedance
control of a spherical parallel platform. International Journal of Intelligent
Mechatronics and Robotics, 1(1):40–60.
[20] Chablat, D. and Wenger, P. (1998). Working modes and aspects in fully
parallel manipulators. volume 3, pages 1964–1969.
[21] Cheli, F. and Pennestrì, E. (2006). Kinematics and dynamics of multi-
body systems. Casa Editrice Ambrosiana, Milano.
[22] Chung, M. (2010). Air hopper grasshopper robot. Available on line.
[23] Clarke, R. (1994). Asimov’s laws of robotics: Implications for infor-
mation technology. 2. Computer, 27(1):57–66.
[24] Corinaldi, D., Palpacelli, M.-C., Carbonari, L., Bruzzone, L., and
Palmieri, G. (2014). Experimental analysis of a fractional-order control
applied to a second order linear system. In Mechatronic and Embedded
Systems and Applications (MESA), 2014 IEEE/ASME 10th International
Conference on, pages 1–6. IEEE.
References 135
[25] D’Angelo, M., Cannella, F., Memeo, M., D’Imperio, M., and Bianchi,
M. (2015). Preliminary fingertip pressure area distribution via experimen-
tal test and numerical model. cited By 0.
[27] De Jalon, J. G., Unda, J., and Avello, A. (1986). Natural coordinates
for the computer analysis of multibody systems. Computer Methods in
Applied Mechanics and Engineering, 56(3):309–327.
[31] D’Imperio, M., Cannella, F., Carbonari, L., Rahman, N., and Cald-
well, D. G. (2015a). Dynamic modelling and analysis of an articulated
robotic leg. In MESA 2015 - 11th IEEE/ASME International Conference
on Mechatronic and Embedded Systems and Applications, Conference
Proceedings.
[32] D’Imperio, M., Cannella, F., Chen, F., Catelani, D., Semini, C., and
Caldwell, D. G. (2014). Modelling legged robot multi-body dynamics
using hierarchical virtual prototype design. In Biomimetic and Biohybrid
Systems, pages 59–71. Springer.
[33] D’Imperio, M., Carbonari, L., Rahman, N., Canali, C., and Cannella, F.
(2015b). Karl: A new bio-inspired modular limb for robotic applications.
In Advanced Intelligent Mechatronics (AIM), 2015 IEEE International
Conference on, pages 183–188. IEEE.
[34] D’Imperio, M., Carbonari, L., Rahman, N., Canali, C., and Cannella,
F. (2015c). A novel parallely actuated bio-inspired modular limb. In
Intelligent Robots and Systems (IROS), 2015 IEEE/RSJ International
Conference on, pages 347–352.
[35] Ding, L., Gao, H., Deng, Z., Song, J., Liu, Y., Liu, G., and Iagnemma,
K. (2013). Foot–terrain interaction mechanics for legged robots: Model-
ing and experimental validation. The International Journal of Robotics
Research, 32(13):1585–1606.
[66] Jinghong, Y., Zhaoneng, C., and Yuanzhang, L. (1994). The variation
of oil effective bulk modulus with pressure in hydraulic systems. Journal
of dynamic systems, measurement, and control, 116(1):146–150.
[67] Johnson, M., Shrewsbury, B., Bertrand, S., Wu, T., Duran, D., Floyd,
M., Abeles, P., Stephen, D., Mertins, N., Lesman, A., et al. (2015). Team
ihmc’s lessons learned from the darpa robotics challenge trials. Journal
of Field Robotics, 32(2):192–208.
[69] Karray, F., Tafazolli, S., and Gueaieb, W. (1999). Robust tracking of a
lightweight manipulator system. Nonlinear Dynamics, 20(2):169–179.
[70] Kazemi, M., Valois, J.-S., Bagnell, J., and Pollard, N. (2014). Human-
inspired force compliant grasping primitives. Autonomous Robots,
37(2):209–225.
[73] Khatib, O., Yokoi, K., Brock, O., Chang, K., and Casal, A. (1999).
Robots in human environments: Basic autonomous capabilities. The
International Journal of Robotics Research, 18(7):684–696.
[95] Mentrasti, L., Cannella, F., Pupilli, M., and Dai, J. S. (2013). Large
bending behavior of creased paperboard. i. experimental investigations.
International Journal of Solids and Structures, 50(20):3089–3096.
[96] Merritt, H. E. (1967). Hydraulic control systems. John Wiley & Sons.
[103] Pratt, G. A., Williamson, M. M., Dillworth, P., Pratt, J., and Wright,
A. (1997). Stiffness isn’t everything. In experimental robotics IV, pages
253–262. Springer.
[106] Rico, J., Gallardo, J., and Duffy, J. (1999). Screw theory and higher
order kinematic analysis of open serial and closed chains. Mechanism
and Machine Theory, 34(4):559–586.
References 141
[122] Sjöberg, J., Zhang, Q., Ljung, L., Benveniste, A., Delyon, B., Gloren-
nec, P.-Y., Hjalmarsson, H., and Juditsky, A. (1995). Nonlinear black-
box modeling in system identification: a unified overview. Automatica,
31(12):1691–1724.
[123] Stieber, M. E., McKay, M., Vukovich, G., and Petriu, E. (1999).
Vision-based sensing and control for space robotics applications. Instru-
mentation and Measurement, IEEE Transactions on, 48(4):807–812.
[124] Stigler, S. M. (1978). Mathematical statistics in the early states. The
Annals of Statistics, pages 239–265.
[125] Swevers, J., Verdonck, W., and Schutter, J. D. (2007). Dynamic model
identification for industrial robots. Control Systems, IEEE, 27(5):58–71.
[126] Synge, J. L. (1960). Classical dynamics. In Principles of Classical
Mechanics and Field Theory/Prinzipien der Klassischen Mechanik und
Feldtheorie, pages 1–225. Springer.
[127] Theodore, R. J. and Ghosal, A. (1995). Comparison of the assumed
modes and finite element models for flexible multilink manipulators. The
International journal of robotics research, 14(2):91–111.
[128] Tokhi, M. O. and Azad, A. K. (2008). Flexible robot manipulators:
modelling, simulation and control, volume 68. Iet.
[129] Tolar, J. (1988). On a quantum mechanical d’alembert principle. In
Group theoretical methods in physics, pages 268–274. Springer.
[130] Tsai, L.-W. (1999). Robot analysis: the mechanics of serial and
parallel manipulators. John Wiley & Sons.
[131] Uicker, J., Denavit, J., and Hartenberg, R. (1964). An iterative method
for the displacement analysis of spatial mechanisms. Journal of Applied
Mechanics, 31(2):309–314.
[132] van Brunt, B. (2004). Holonomic and nonholonomic constraints. The
Calculus of Variations, pages 119–133.
[133] Verhaeghe, D. O. and Missotten, B. M. (2012). Lifting system for a
harvester. US Patent App. 14/233,557.
[134] Whittaker, E. T. (1970). A treatise on the analytical dynamics of
particles and rigid bodies: with an introduction to the problem of three
bodies. CUP Archive.
[135] Wiener, N. (1961). Cybernetics or Control and Communication in the
Animal and the Machine, volume 25. MIT press.
[136] Woods, R. L. and Lawrence, K. L. (1997). Modeling and simulation
of dynamic systems.
References 143
21 %converting pressure to Pa
22 PISTON_dsp_hst_ps= PISTON_dsp_hst_ps*1e5;
23 PISTON_dsp_hst_pt= PISTON_dsp_hst_pt*1e5;
24 PISTON_dsp_hst_pa= PISTON_dsp_hst_pa*1e5;
25 PISTON_dsp_hst_pb= PISTON_dsp_hst_pb*1e5;
26
146 Grey box identification for hydraulic piston
35
44 FileName = ...
'HydPiston_OpenLoop_CurDyn_NonLin_est_v3'; ...
% File describing the model structure.
45
57
67 par.Kvc = par.Kvc*100000;
68 Kvc= par.Kvc; %valve orifice coefficient ...
m^3/(As)
69 par.Cli=0;
70 Cli= par.Cli; %leakage in the piston
71
72 %Parameters_True_values = ...
[Be,L_cyl,Ap,alfa,Vpl,Wv,Dv,Kvc,ML,BL,KL,Cli]
73
76 Parameters = ...
[1e8/1e7;L_cyl;Ap;alfa;Vpl;Wv;Dv;0.1;3;1;589.927;Cli]; ...
% Initial parameters ...
[Be,L_cyl,Ap,alfa,Vpl,Wv,Dv,Kvc,ML,BL,KL]
77
78 Pa0=(Ps+Pt)/2;
79 Pb0=(Ps+Pt)/(1+alfa);
80 Pa0=alfa*Pb0;
81
82 InitialStates = ...
[PISTON_dsp_hst_pa(1);PISTON_dsp_hst_pb(1);...
83 ...PISTON_dsp_hst_xp(1);0;0;0]; % ...
Initial initial states.
84
85 Ts = 0; % Time-continuous system.
86
94
98 %[Ps,Pt,Be,L_cyl,Ap,alfa,Vpl,Wv,Dv,Kvc,ML,BL,KL,Cli]
99 setpar(nlgr, 'Name', {'Be' 'L_cyl' 'Ap' 'alfa' 'Vpl' ...
'Wv' 'Dv' 'Kvc' 'ML' 'BL' 'KL' 'Cli'});
100 setpar(nlgr, 'Minimum', {eps(0) eps(0) eps(0) eps(0) ...
eps(0) eps(0) eps(0) eps(0) eps(0) eps(0) eps(0) ...
0}); % All parameters > 0.
101 %%%MB max Kvc parameter, and max Be after scaling GAMC
102 setpar(nlgr, 'Maximum', {2e10/1e7 0.2 1e-2 2.0 1e-4 ...
2*pi*500 1.0 2e-4*100000 10 1e3 1e9 10}); % All ...
parameters > 0.
103 setpar(nlgr, 'Minimum', {1e5/1e7 eps(0) eps(0) eps(0) ...
eps(0) eps(0) eps(0) eps(0) 0.01 .10 100.0 0}); ...
% All parameters > 0.
104
121 % nlgrrk23tb.Algorithm.SearchMethod='lsqnonlin';
122 nlgrrk23tb.Algorithm.SearchMethod='lm';
123 % nlgrrk23tb.Algorithm.SearchMethod='gn';
124 %nlgrrk23tb.Algorithm.Criterion='Det'; % Cost ...
function can be 'Det' or Trace of E'*E where E is ...
prediction error.
125 %--------------------------------------------
126
127 %[Ps,Pt,Be,L_cyl,Ap,alfa,Vpl,Wv,Dv,Kvc,ML,BL,KL,Cli]
128 %ORIG
129 setpar(nlgrrk23tb, 'Fixed', {false true true true ...
true true true false false false false false}); ...
%estimate Be,Kvc,ML,BL,KL,Cli
130 %setpar(nlgrrk23tb, 'Fixed', {false true true true ...
true true true false true true true true}); ...
%estimate Be,Kvc
131 %setpar(nlgrrk23tb, 'Fixed', {false true true true ...
true false false false false false false false}); ...
%estimate Be,Kvc,ML,BL,KL,Cli,Dv,Wv
132
5 %par=struct('Be',Be,'L_cyl',L_cyl,'Ap',Ap,...
6 ...'alfa',alfa,'Vpl',Vpl,'Wv',Wv,'Dv',Dv,'Kvc',Kvc,...
7 ...'ML',ML,'BL',BL,'KL',KL,Cli,'f0',f0,'k',k,...
150 Grey box identification for hydraulic piston
8 ...'ucurrent',ucurrent);
9
10 incurrent=input(1);
11 Ps=input(2);
12 Pt=input(3);
13 %
14 %y(1)=pressure chamber Pa
15 %y(2)=pressure chamber Pb
16 %y(3)=piston position
17 %y(4)=piston velocity
18 %y(5)=valve dynamics current
19 %y(6)=valve dynamics
20
21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22 % Hydraulic Parameters %
23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24
25 % %Pressures
26 % Ps = par.Ps; %source pressure
27 % Pt = par.Pt; %return pressure
28 %
29 % Be = par.Be; %bulk modulus
30 % Vpl= par.Vpl; %volume in pipes
31 % L_cyl= par.L_cyl; %cylinder length
32 %
33 % Ap= par.Ap; %piston area;
34 % alfa= par.alfa; %(piston area - rod area)/Ap
35 % Wv= par.Wv; %valve bandwidth rad/s
36 % Dv= par.Dv; %valve damping ratio
37 %
38 % ML= par.ML; %total load mass kg
39 % BL= par.BL; %load damping Ns/m
40 % KL= par.KL; %load stiffness N/m
41 %
42 % Kvc= par.Kvc; %valve oriffice ...
coefficient m^3/(As)
43
44 %Cylinder leakage
45 %Cli = 1.7*10^-13; %m3/(s.Pa)
46 %Cli = 0; %m3/(s.Pa)
47
51 L_cyla=L_cyl/2+y(3);
52 L_cylb=L_cyl/2-y(3);
53
54 if (L_cyla>L_cyl)
55 y(3)=L_cyl/2;
56 y(4)=0;
57 L_cyla=L_cyl/2+y(3);
58 L_cylb=L_cyl/2-y(3);
59 end
60 if (L_cylb>L_cyl)
61 y(3)=-L_cyl/2;
62 y(4)=0;
63 L_cyla=L_cyl/2+y(3);
64 L_cylb=L_cyl/2-y(3);
65 end
66
67 if (L_cyla<0)
68 y(3)=-L_cyl/2;
69 y(4)=0;
70 L_cyla=L_cyl/2+y(3);
71 L_cylb=L_cyl/2-y(3);
72 end
73
74 if (L_cylb<0)
75 y(3)=L_cyl/2;
76 y(4)=0;
77 L_cyla=L_cyl/2+y(3);
78 L_cylb=L_cyl/2-y(3);
79 end
80
81 %Volume
82 Va = Ap*(L_cyla);
83 Vb = alfa*Ap*(L_cylb);
84 Va0 = Vpl + Va;
85 Vb0 = Vpl + Vb;
86
87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
88 % Valve Dynamics %
89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
90
91
a b c
proposed here to validate the VPM. This technique permits the evaluation
of superficial stress patterns on the prosthesis subjected to a cyclic load. A
loading rig was built to test the prosthesis and, the results coming from this
experimental test campaign were compared with the VPM ones.
The loads applied on the VPM aimed to simulate the static and dynamic
most severe conditions requested by the ISO 10328-2006 as shown in Fig.
B.2.
The virtual leg is externally fixed to the ground and remotely loaded follow-
ing the alignment requested from the rules. The internal constraints, instead,
are mainly revolute joints and fixed ones. Those aims to reproduce the
existence, in the real prototype, of submechanisms reciprocally connected
by hinges.
A linear static analysis was performed as the structure must be able to work
within linear elastic conditions; thus the stresses values generated by the
loads applied in different positions according to the standards, had to be
lower than the yield stress.
The experimental tests were carried out by using the Thermoelastic Stress
Analysis (TSA). It is a measurement technique based on the increment
of temperature of an object when it is stressed. More in detail, when a
mechanical component is cyclically loaded, the superficial distribution of
temperature measured by a thermal camera can be used to evaluate the
superficial stress field on the component. The load frequency is important
because the mechanical component being tested should be in an adiabatic
condition during the cyclical loading; in this condition, the fluctuations of
superficial temperature are mainly due to the thermoelastic effect caused by
the load, and the differential thermal superficial map is proportional to the
sum of the principal stress on the surface. The Thermoelastic system adopted
here in is a Delta Therm 1560 manufactured by Stress Photonics composed
of a CCD IR focal plane array thermal camera and a lock-in amplifier,
156 Virtual prototype models not in robotics
a b
Fig. B.2 a) Prostheses standard load line offset keys: 1 - top reference plane, T, 2 - knee
reference plane, K, 3 - plane at any height u ¼ ux, 4 - ankle reference plane, A, 5 - bottom
reference plane, B. (b) Prostheses VPM with Condition 1 loads applied.
a b
Fig. B.3 (a) TSA and (b) VPM contour results (Von Mises stresses [MPa]) with steel and
titanium. The solid yellow line indicates the cross section where the stress is measured.
time domain signals into digital frequency information that can be processed
by a PC.
A dynamic 10[Hz] bimodal wave axial load with 1250[N] amplitude was
applied to the prosthesis. TSA was only used here to validate the VPM: a
human walking gait was not simulated during the experiments, so the method
of measurement did not incorporate the ground reaction force measurement
nor the motion analysis to assess the performance of the prosthesis at a walk-
ing gait. This permitted us to avoid the loading of frequencies characteristic
of the gait which are too low to obtain the adiabatic conditions required
for the application of TSA. During compression of the prosthesis, a Stress
Photonics camera was able to record the temperature in dynamic images due
to the dynamic system of the instrument. Post-processing was performed to
detect most stressed areas and thus to validate the VPM. Once this validation
takes place, the VPM can be used to test several different materials as teak,
that cannot be easily tested experimentally.
Fig. B.4 TSA and VPM section results (Von Mises stresses [MPa]) along the cross sections
yellow line in Fig. B.3.a and Fig. B.3.b.
Fig. B.5 3D CAD Model of the right distal phalanx: (a) cross and longitudinal sections of the
distal phalanx with four layers of microstructures: epidermis, dermis, bone and subcutaneous
tissue, (b) mesh with glass plate (longitudinal view), (c) mesh with glass plate (cross section
view).
Fig. B.6 Test Rig with its main parts: (1) stepper linear actuator, (2) laser, (3) fingerholder
and rigid flat surface, (4) force sensor, (5) camera and lens.
with a stepper linear actuator that that drives the human fingertip against the
flat rigid surface, three load cells able to measure the contact force and an
high resolution camera that registers the images of fingertip contact area.
Table B.3 Force Values at 1 mm, 2 mm and 3 mm of indentation and 1 mm/s of velocity:
average and standard deviation.
Force [N]
1 mm 2 mm 3 mm
Trial 1 0.129 0.825 4.761
Trial 2 0.111 0.811 4.759
Trial 3 0.118 0.867 4.669
Trial 4 0.114 0.874 4.672
Trial 5 0.103 0.829 4.761
Average±STD 0.115±0.01 0.841±0.03 4.724±0.04
Numerical 0.132 0.646 3.510
RMSE[%] 12.8 (-)23.1 (-)25.6
Table B.4 Experimental and Numerical Area Values [mm2 ] comparison for different level of
pressure distribution.
3 mm
Experimental Numerical RMSE[%]
5-10 [kPa] 10.2±0.80 7.75 (-)24.0
10-15[kPa] 9.32±2.41 7.55 (-)19.0
15-20[kPa] 8.02±3.10 10.5 23.6
20-25[kPa] 9.50±2.16 12.5 24.9
25-30[kPa] 11.5±1.42 13.5 14.8
30-35[kPa] 12.4±2.56 14.6 15.0
35-40[kPa] 15.2±3.56 17.5 13.4
40-45[kPa] 28.1±4.12 21.0 (-)25.0
B.3 Multi-body model of a reconfigurable origami carton with flexible panels 163
VPM for further investigations regarding the tactile flow, especially the ones
that cannot be detected with in vivo results.
a b
the masses and inertia properties are calculated considering that the carton
panels are made in paper while the actuators are made in steel (Tab. B.5).
The aforementioned flexible panels are meshed by using tetrahedral elements
having quadratic behaviour. The mesh results were 125 elements for each
panels. The carton constraints is named crease and it is represented by
torsional flexible connections which have a finite stiffness
Kc = 0.009375 ∗ cl (B.2)
where Kc [Nmm−1 ] is the stiffness crease while cl [mm] represents the crease
length, around the revolution axis and infinite stiffness around the other two.
This valued come from the experimental tests carried out on the cartonboard
and crease [95]. The choice of having flexible connection instead of rigid
one is necessary in order to overpass mechanisms singularities. The closing
operation is ensured thanks to the contact laws established between actuators
and panels. It is based on Hertzian Law
0 i f x > xl
F= (B.3)
k(x1 − x) − cẋ i f x ≤ x1
e
where x is the actual distance between the two objects (defined with a
displacement function), ẋ is the time rate of change of the variable x, x1
B.3 Multi-body model of a reconfigurable origami carton with flexible panels 165
a b
Fig. B.8 a) Origami carton with rigid bodies (rMBM), b) Origami carton with flexible rigid
bodies (fMBM)
is the trigger distance used to determine when the contact force turns on
and off, k is the stiffness coefficient, e is the stiffness force exponent and
c is the damping coefficient. In this work we have used x1 = 0.1[mm], k =
1150[Nmm−1 ], e = 2, c = 0.680[Nsmm−1 ].
permits to the panels to adapt to the external forces, as shown in Fig. B.9.
Moreover the contact generates the oscillations; the flexible model shows
higher amplitude and lower frequencies, as expected for bodies with lower
stiffness.
Rear Panel
1,80
RIGID PANEL
1,60 FLEXIBLE PANEL
1,40
1,20
Contact Force [N]
1,00
0,80
0,60
0,40
0,20
0,00
0 10 20 30 40 50 60 70 80 90
Degree [°]
Fig. B.10 Comparison results among flexible, rigid panels and analytical solution.
B.3 Multi-body model of a reconfigurable origami carton with flexible panels 167
is modeled via analytical and numerical approach. Then the flexibility was
added to this model. At the end the comparison between the two model was
carried out. This results showed that the flexibility permits to have lower
forces, but higher amplitude during the oscillation due to the contact forces.