Content uploaded by Daan Marinus Pool

Author content

All content in this area was uploaded by Daan Marinus Pool on Nov 28, 2017

Content may be subject to copyright.

Improved Stewart Platform State Estimation using Inertial and Actuator

Position Measurements

I. Miletovi´ca,∗,D.M.Pool

a,O.Stroosma

a,M.M.vanPaassen

a,Q.P.Chu

a

aDelft University of Technology, Kluyverweg 1, 2629HS Delft, The Netherlands

Abstract

Accurate and reliable estimation of the kinematic state of a six degrees-of-freedom Stewart platform is

a problem of interest in various engineering disciplines. Particularly so in the area of ﬂight simulation,

where the Stewart platform is in widespread use for the generation of motion similar to that experienced in

actual ﬂight. Accurate measurements of Stewart platform kinematic states are crucial for the application of

advanced motion control algorithms and are highly valued in quantitative assessments of simulator motion

ﬁdelity. In the current work, a novel method for the reconstruction of the kinematic state of a Stewart

platform is proposed. This method relies on an Unscented Kalman Filter (UKF) for a tight coupling of

on-platform inertial sensors with measurements of the six actuator positions. The proposed algorithm is

shown to be superior to conventional iterative methods in twomainareas. First,moreaccurateestimates

of motion platform velocity are obtained and, second, the algorithm is robust to inherent measurement

uncertainties like noise and bias. The results were validated on the SIMONA Research Simulator (SRS)

at TU Delft. To this end, an eﬃcient implementation of the algorithm was driven, in real time, by actual

sensor measurements from two representative motion proﬁles.

Keywords: Sensor integration, State estimation, Unscented Kalman Filter, Parallel robotics, Stewart

platform

1. Introduction

The Stewart platform [1] (see Figure 1) is a six degrees-of-freedom (DOF) parallel manipulator that is in

widespread use throughout various robotic discliplines. The main reasons for this are its relatively low mass,

high accuracy, rigidity and support for heavier loads as compared to conventional serial manipulators. Some

common applications include manufacturing [2], surgery [3,4]andmedicalrehabilitation[5,6]. Perhapsthe5

most popular application is that of vehicular motion simulation, e.g., aeronautical ﬂight simulation [7].

∗Corresponding author

Email addresses: I.Miletovic@tudelft.nl (I. Miletovi´c), D.M.Pool@tudelft.nl (D.M. Pool), O.Stroosma@tudelft.nl

(O. Stroosma), M.M.vanPaassen@tudelft.nl (M.M. van Paassen), Q.P.Chu@tudelft.nl (Q.P. Chu)

Preprint submitted to Control Engineering Practice March 3, 2017

Published as:

I. Miletovic, D. M. Pool, O. Stroosma, M. M. van Paassen, Q. P. Chu, “Improved Stewart

Platform State Estimation using Inertial and Actuator Position Measurements”, Control

Engineering Practice, Vol. 62 (May 2017), pp. 102-115.

https://doi.org/10.1016/j.conengprac.2017.03.006

Given this wide range of applications, obtaining an accurateestimateofaStewartplatform’skinematic

state is often of interest. A typical example is the application of advanced control techniques to Stewart

platforms, e.g., [8, 9]. An increasingly relevant application is also that of ﬂight simulator motion ﬁdelity

assessment. It is well known that humans perceive inertial self-motion predominantly by means of the10

vestibular system, which is sensitive to both speciﬁc force and angular acceleration [10]. Current eﬀorts to

quantify motion ﬁdelity therefore focus on the development and standardization of frequency-domain system

identiﬁcation methods to capture and specify the motion transfer characteristics of contemporary motion

cueing systems [11, 12]. Estimation of the kinematic state of a Stewart platform, however, is inhibited

by two particular diﬃculties. The ﬁrst is the inference of a Stewart platform’s position and attitude from15

measurements of its six actuator positions (the so-called forward kinematics problem). The second is the

subsequent inference of platform (angular) velocity and acceleration, as required by many of the typical

applications listed here.

The forward kinematics of the Stewart platform have been a subject of study for many decades [13].

Over the years, several authors have shown, for numerous possible platform geometries, that the forward20

kinematics of a Stewart platform has up to 40 possible solutions [14, 15, 16]. As already acknowledged by

Merlet, [17, 18], however, a closed-form algebraic method toobtainasingleunique solution for the platform

position and attitude based on only six actuator length measurements does not exist. As a result, a variety

of numerical methods to solve the forward kinematics have been developed [19, 18, 20]. A common limitation

of these eﬀorts to solve the forward kinematics of a Stewart platform, however, is that they are limited to25

inference of platform position and attitude only. Neither addresses the second problem, namely that of

inference of platform (angular) velocity and acceleration.Whilenumericaldiﬀerentiationofpositionand

attitude is applied to obtain the latter, the presence of measurement noise in physical sensors clearly renders

such an approach suboptimal. Nonlinear state observers have therefore also been relied upon to directly

evaluate the platform pose and velocity [21, 22]. These typically require an explicit model of both platform30

dynamics and, especially for hydraulically driven platforms, actuator dynamics. While these methods oﬀer

some robustness to model uncertainties, they lack an inherent mechanism to account for sensor uncertainties,

e.g., noise and bias. In light of the growing availability of both aﬀordable and accurate inertial sensors [23],

this paper presents a novel approach to estimate the kinematic state of a Stewart platform.

The proposed approach relies on the fusion of on-platform inertial sensors, encapsulated in an Inertial35

Measurement Unit (IMU), with the six available actuator position sensors. This is accomplished by using an

extension of the Kalman Filter (KF) [24] to nonlinear systems. Through this approach, the need for explicit

knowledge of motion platform and actuator dynamics is eliminated, while at the same time incorporating

robustness to measurement inaccuracies. The idea of using a Kalman ﬁlter-based method for such an

application is not new and has been widely demonstrated in, e.g., robotics [25, 26], aerospace [27, 28],40

biomedical engineering [29] and power plant control [30]. Applications to Stewart platforms, however,

2

remain limited to only a small number of DOFs [31, 32]. More recently, the Iterated Extended Kalman

Filter (IEKF) [33] was applied to extend the sensor fusion scheme to all six DOFs of the Stewart platform

[34]. The current work applies the more advanced Unscented Kalman Filter (UKF) [35], suitable for more

nonlinear problems, and presents both the simulation and real-time experimental validation of the proposed45

state reconstruction algorithm.

The paper is structured as follows. First, a brief introduction to the Stewart platform and its kinematics

is provided. Then, the proposed state reconstruction algorithm is introduced, followed by a veriﬁcation of

the algorithm on the basis of computer simulations. Subsequently, the validation of the proposed algorithm

on the SIMONA Research Simulator (SRS), using a real-time implementation driven by actual sensor mea-50

surements, is presented. This validation also includes a comparison to an iterative scheme commonly applied

to estimate the kinematic state of Stewart platforms. Finally, a brief discussion is provided and the paper

is concluded.

Figure 1: The SIMONA Research Simulator, using a Stewart platform as the motion providing mechanism [36].

2. Stewart platform kinematics

The kinematics of a Stewart platform are deﬁned by its geometry, shown in Figure 2. The coordinates of55

the joints on the lower (Figure 2b) and upper (Figure 2c) platform, in turn, determine the geometry of the

platform. The locations of these joints are conveniently speciﬁed with respect to the centroids of the joints

on the lower and upper platform. These centroids are typically referred to as the Lower Gimbal Point (LGP)

and Upper Gimbal Point (UGP), respectively. The origins of two right-handed reference frames Eaand Eb

are attached to the UGP and LGP, respectively. All joints on the lower and upper platforms lie equidistantly60

spaced with a certain distance (i.e., daor db) in pairs on a circle with a given radius (i.e., raor rb), such

that the coordinates of each joint (i.e., aiand bi)canbederivedfrombasictrigonometry. Notethateven

though this speciﬁc conﬁguration of the Stewart is used in thecurrentwork,theauthorsforeseenoissues

in applying the proposed methodology to any non-singular platform geometry.

3

Ea

Eb

1

2

3

4

5

6a1

b1

l1

(a) Perspective

ξb

θb

b1

b2

b3

b4

b5

b6

rb

xb

yb

db

(b) Lower platform

ξa

θa

a1

a2

a3

a4

a5

a6

ra

xa

ya

da

(c) Upper platform

Figure 2: The geometry of a Stewart platform.

The length of each of the connecting elements between the joints then follows from the geometry as:

li(c,Φ)=∥c+Tba(Φ)aa

i−bb

i∥∀i∈[1,...,6] (1)

The vector cdeﬁnes the position of the origin of reference frame Eawith respect to Eband is expressed in

Cartesian coordinates as:

c=!xyz

"!

(2)

Tba is the transformation matrix that describes the transformation aa

i→ab

iand therefore Equation (1)

depends on the attitude of frame Eawith respect to Eb. Here, attitude is represented using the Euler-

Rodrigues quaternion formulation [37, 38] for numerical eﬃciency. As such, the attitude vector is:

Φ=!e0exeyez"!

(3)

and the transformation matrices Tab and Tba can subsequently be deﬁned as [37]:

Tab =T!

ba =⎡

⎢

⎣

e2

x+e2

0

−e2

y−e2

z2(exey+eze0)2(exez−eye0)

2(exey−eze0)e2

y+e2

0

−e2

x−e2

z2(eyez+exe0)

2(exez+eye0)2(eyez−exe0)e2

z+e2

0

−e2

x−e2

y

⎤

⎥

⎦(4)

Equation (1) speciﬁes the so-called inverse kinematics of the Stewart platform. Inference of the platform

pose from knowledge of the length of each actuator is known as the forward kinematics of the motion

4

platform. While the inverse kinematics are trivial to compute, the forward kinematics cannot be expressed

in a closed algebraic form [17, 18]. To compute the forward kinematics of the platform iterative schemes

such as the Newton-Raphson (NR) or Gauss-Newton (GN) method [19] are therefore commonly applied.

Such methods iteratively compute the position and attitude of the motion platform, denoted collectively as

the platform pose vector p, from the measured actuator position vector lm:

pj+1 =pj+J−1

lp (pj)(lm−lj)(5)

until satisfactory convergence is reached (i.e., ∥pj+1 −pj∥≤egn) or until a ﬁxed number of iterations (i.e.,65

j≤Ngn)havebeenperformed. Jlp is the Jacobian of the actuator position vector lwith respect to the

platform pose vector p.

These iterative numerical methods are limited in that they lack inherent robustness to measurement

inaccuracies in the actuator position sensors and, moreover, provide information on platform pose only. As

knowledge of velocity and acceleration is also of interest, a novel approach based on a tightly-coupled fusion70

of on-platform inertial sensors with actuator position sensors is discussed and evaluated in the remainder of

this paper.

3. Stewart platform state reconstruction using sensor fusion

In [32], a novel sensor fusion scheme was proposed and evaluated for the reconstruction of the partial

(three DOF) kinematic state of a Stewart platform. This method relies on a tightly-coupled fusion of on-75

platform inertial sensors and actuator position sensors. Extensions of the well-known KF [24] to nonlinear

systems, namely the Extended Kalman Filter (EKF) and IEKF [33], were evaluated. The EKF uses di-

rect linearization of the nonlinear system in order to propagate the stochastic properties of the estimated

system state. The IEKF, in turn, iteratively corrects the estimated system state based on a consecutively

re-linearized observation model until satisfactory convergence of the estimated system state is attained. Sys-80

tems which are characterized by a highly nonlinear observation model typically beneﬁt from the application

of the IEKF. In case of the Stewart platform, it was demonstrated that, even for the reconstruction of the

partial kinematic state, the IEKF was required to attain convergence of the ﬁlter to the true system state.

In [34], the IEKF-based sensor fusion scheme from [32] was extended to all six DOF of the Stewart platform.

In the current work, the more advanced UKF [35], suitable for more nonlinear problems, is applied. The85

UKF, in contrast to the IEKF, does not rely on direct linearization and oﬀers enhanced robustness to system

nonlinearities.

This section will ﬁrst introduce the stochastic system model of the Stewart platform that forms the basis

of the proposed state reconstruction algorithm. The working principle of the KF and, speciﬁcally, the UKF90

is also brieﬂy recapitulated.

5

3.1. Stochastic system model of the Stewart platform

The basis of a typical sensor fusion scheme is formed by a stochastic system model that relates the

various availa ble physical sensor measurements to the parameters that determine the state of the dynamic

system under consideration. Such a model has the following general structure in the nonlinear case [33]:

˙

x(t)=f(x(t),u(t),t)+G(x(t),t)w(t)

y(t)=h(x(t),u(t),t)+v(t)

(6)

Here, the notation !is used to signify stochastic varia bles. xis the stochastic system state vector, u

is the input vector and yis the output or observation vector. The quantities wand vare the process

and observation noise vectors, respectively. These are commonly assumed to be white and Gaussian noise

processes:

v(t)∼N(0,R(t)) and E{v(t)v!(t+τ)}=R(t)δ(t)

w(t)∼N(0,Q(t)) and E{w(t)w!(t+τ)}=Q(t)δ(t)

(7)

The vector function f(·)andmatrixG(·)describetheevolutionofthestochasticprocessstateintime as

a function of the current value of the state, input and process noise vector, respectively. The equation in

which these terms appear is therefore referred to as the prediction model. Similarly, the vector function95

h(·) relates the value of the stochastic process state to the available observation vector and the equation it

appears in is therefore known as the observation model.

In case of the sensor fusion scheme proposed in [32, 34] for thereconstructionofthekinematicstateofa

Stewart platform, the input vector that drives the prediction of the system state consists of measurements

from an IMU. IMUs typically contain three accelerometers and three rate gyros:

u=!f!ω!"!

(8)

where fand ωare the speciﬁc force and angular rate vector, respectively, deﬁned in the right-handed

reference frame Eashown in Figure 2:

f=!fxfyfz"!

and ω=!pqr

"!

(9)

Based on this deﬁnition of the input vector, the stochastic system state is deﬁned as:

x=!c!V!q!λ!"!

(10)

where cis deﬁned as in Equation (2). qis the vector part of the quaternion deﬁned in Equation (3), that is:

q=!exeyez"!

(11)

6

The inclusion of the scalar part of the quaternion, e0,aspartofthestatevectorisnotrequiredbecauseof

the imposed unit norm constraint:

e2

0+e2

x+e2

y+e2

z=1 (12)

Vin Equation (10) is the inertial velocity of the reference point attached to the upper platform expressed

in reference frame Ea:

V=!uvw

"!

(13)

Finally, λis a vector that contains the six constant biases typically assumed inherent in measurements of

the inertial sensors (see, e.g., [27]):

λ=!λ!

fλ!

ω"!

=!λxλyλzλpλqλr"!

(14)

Note that the inclusion of the inertial sensor biases as part of the state vector allows for their estimation

in conjunction with the kinematic state of the platform. The observation vector is deﬁned to contain the

measured lengths of each of the six actuators:

y=!l1l2l3l4l5l6"!

(15)

Given these deﬁnitions in combination with knowledge on the geometry of the Stewart platform as shown

in Figure 2, it is possible to formulate expressions for the vector functions f(·)andh(·)aswellasthematrix

G(·) appearing in Equation (6). From basic kinematics, it follows:

f(x,u)=

⎡

⎢

⎢

⎢

⎢

⎢

⎢

⎣

˙

c

˙

V

˙

q

˙

λ

⎤

⎥

⎥

⎥

⎥

⎥

⎥

⎦

=

⎡

⎢

⎢

⎢

⎢

⎢

⎢

⎣

Tba(Φ)V

(f−λf)+Tab(Φ)g−(Ω×−Λ)V

Ωq(ω−λω)

0

⎤

⎥

⎥

⎥

⎥

⎥

⎥

⎦

(16)

where:

Ω×=

⎡

⎢

⎢

⎢

⎣

0−rq

r0−p

−qp 0

⎤

⎥

⎥

⎥

⎦

,Λ=

⎡

⎢

⎢

⎢

⎣

0−λrλq

λr0−λp

−λqλp0

⎤

⎥

⎥

⎥

⎦

(17)

and where Tab and Tba are transformation matrices. Furthermore, gis the gravitational acceleration and

Ωqis deﬁned as [37]:

Ωq=1

2

⎡

⎢

⎢

⎢

⎣

e0−ezey

eze0−ex

−eyexe0

⎤

⎥

⎥

⎥

⎦

(18)

7

Similarly, G(·)canbederivedas:

G(x)=

⎡

⎢

⎢

⎢

⎢

⎢

⎢

⎣

03×6

−I3Ωv

04×3−Ωq

06×6

⎤

⎥

⎥

⎥

⎥

⎥

⎥

⎦

,with Ωv=

⎡

⎢

⎢

⎢

⎣

0w−v

−w0u

v−u0

⎤

⎥

⎥

⎥

⎦

(19)

where I3is the three-dimensional identity matrix and Ωqis given by Equation (18). Finally, the observation

model contains the inverse kinematics of the motion platform:

h(x)=!l1(x)l2(x)l3(x)l4(x)l5(x)l6(x)"!

(20)

where li(x)followsfromthegeometrydepictedinFigure2asgivenbyEquation (1). Notice that, in

contrast to methods that rely on nonlinear state observers [21, 22], the kinematic system model presented

here requires no knowledge of motion platform or actuator dynamics. Moreover, note that Equation (20)100

contains information on the platform position and attitude for any non-singular geometry (which, for the

SRS, is the case [39]). Consequently, it can be shown that the stochastic system is fully observable, including

rate gyro and accelerometer bias [27].

3.2. The Unscented Kalman Filter

The stochastic system model deﬁned by Equation (6) can be used in combination with a nonlinear

recursive ﬁltering algorithm to reconstruct the stochastic system state in real-time. Extensions of the well-

known Kalman Filter (KF) [24, 33] to nonlinear systems are themostwidelyappliedclassofﬁltering

algorithms used for this purpose. The KF is a minimum-variance estimator that minimizes the posterior

variance of the stochastic process state at any discrete timetk:

minˆ

x(+)

k!trace )P(+)

k*" (21)

where the superscript (+) denotes posterior quantities and where Pkis the covariance of the stochastic105

process state at time tk. This optimization constitutes two distinct phases, as illustrated in Figure 3.

In the ﬁrst phase, the prediction,thestochasticsystemstateanditscovariancearepropagated in time

using the system input ukand the prediction model included within the stochastic system model given by

Equation (6). The second phase, the correction, uses the most recent observation vector ykin combination

with the observation model to correct the predicted quantities. This is done by means of the so-called110

Kalman gain matrix Kk.Forthecomputationofthismatrix,thestatisticalproperties of the process and

observation noises are explicitly taken into account through the noise covariance matrices Qkand Rk.

In implementations of the KF for nonlinear systems, the propagation of these statistical properties

becomes problematic and typically results in a suboptimal ﬁlter [40]. The fundamental reason for this is

8

Prediction

Correction

0

12

3

4

Kk

Qk

Rk

ˆ

x(+)

k

ˆ

x(−)

k

ˆ

x(−)

k+1

P(−)

k

P(−)

k+1

P(+)

k

ˆ

x0

P0

yk

uk

z−1

Figure 3: Schematic of the Kalman ﬁlter [24], illustrating the distinctive prediction and correction phases.

that a Gaussian process which undergoes a nonlinear transformation is, in general, no longer Gaussian115

[41]. Consequently, knowledge of the mean and covariance as propagated by the KF is insuﬃcient to

fully capture the probability distribution of the stochastic process. Nonetheless, the KF can be applied to

nonlinear systems by approximating the posterior mean and covariance of the stochastic system state. Such

approximations are typically still classiﬁed as optimal ﬁlters from a practical point of view. A common

approach is to use local linearization on the stochastic system model given by Equation (6), which results in120

the well-known Extended Kalman Filter (EKF) and Iterated Extended Kalman Filter (IEKF) [33]. A better

alternative to direct linearization of the stochastic system model is provided by the Unscented Kalman

Filter (UKF) [35]. The UKF approximates the nonlinear transformations of the stochastic system state

and its covariance using a technique known as the Scaled Unscented Transformation (SUT) [42]. Given a

general nonlinear function g(·), this technique entails the transformation of a deterministically calculated125

and symmetric set of samples Xaround the mean of a general random variable x,asshowninFigure4,to

obtain the transformed set of samples Y.Theposteriormeanandcovariance,¯

yand Pyy, can subsequently

be approximated as illustrated in the ﬁgure. This method is also referred to as statistical linearization and

its merits for nonlinear state reconstruction problems havebeendemonstratedinvariousapplicationsover

the years, e.g., [30, 29, 28].130

S={w(m),w

(c),X}

g(X)

Pxx

¯

x

S′={w(m),w

(c),Y}

Pyy

¯

y

Figure 4: Illustration of the SUT inspired by [35].

As outlined in [35, 42], the accuracy and numerical stabilityoftheUKFaremainlyinﬂuencedbya

9

total of three scalar parameters: κ,αand β. These parameters aﬀectthescalarsetofweightsw(m)and

w(c). Together with these set of weights, the collections Xand Yform the so-called sigma-points Sand

S′(see Figure 4), respectively, used to approximate the probability distributions of the state and output.

The parameters κ,αand βdetermine the distribution of sigma-points and can also be used to incorporate135

skewness or kurtosis of the probability distribution. In [43], several guidelines can be found for selecting

appropriate values for κ,αand β.

Using computer simulations, the next section will outline the veriﬁcation of the proposed UKF-based

sensor fusion scheme to the reconstruction of the kinematic state of a Stewart platform.

4. Veriﬁcation using computer simulations140

Before applying the proposed sensor fusion scheme to an actual Stewart platform, the method is evaluated

using computer simulations in combination with a representative kinematic model of the Stewart platform

of the SRS at TU Delft (see Figure 1). The parameters of the SRS’s platform geometry are summarized in

Table 1. The gravitatio n a l a c c eleratio n i s a s s u med to b e 9 . 8 0665 m/s2.

Table 1: Constants related to the geometry of the SRS (see Figure 2).

Constant Value Unit

ra1.60 m

rb1.65 m

da0.20 m

db0.60 m

lmin 2.08 m

lmax 3.33 m

These parameters, in combination with artiﬁcially generated and realistic motion proﬁles, are used to145

create simulated IMU and actuator position measurements that will be polluted using artiﬁcially generated

measurement noises. The noise-polluted signals are subsequently passed to the UKF for evaluation. All

computer simulations are performed using Python, with the open-source scientiﬁc libraries Numpy, Scipy

and Matplotlib [44, 45]. The simulation data is sampled at a rate of 100 Hz and, where necessary, use is

made of the forward Euler method for numerical integration.150

4.1. Motion proﬁles

The simulated sensor measurements are generated from two distinct motion proﬁles, both illustrated in

Figures 5 and 6. Tables 2 and 3 show the corresponding positions and attitudes of the motion platform

poses depicted. The ﬁrst motion proﬁle, denoted as Motion Proﬁle 1 (MP1), is selected because it activates

10

most of the six DOFs of the Stewart platform with relatively large amplitudes and therefore excites the155

highly nonlinear kinematics of the platform. After a lead-inperiodof10s,theUGPoftheplatformtraces

acircularpathwitharadiusof0.5 m in the horizontal plane with a period of ﬁve seconds. Superimposed

on this circular motion is a periodic roll and pitch motion with an amplitude of 10 deg/s and a period of

2.5s. Thisresultsinamaximumactuatortravelofapproximately 30 cm with respect to the neutral length

of 2.705 m.160

The second motion proﬁle, denoted as Motion Proﬁle 2 (MP2), ismorerepresentativefortypicalex-

periments performed on the SRS. This motion proﬁle has been recorded as part of a human-in-the-loop

(manual tracking) experiment [46] and features a relativelyhigh-frequencycombinedrollandpitchmotion

of small amplitude (max. of approximately 7 deg/s). In this case, the maximum actuator travel from the

neutral position is in the order of 10 cm. Several representative time traces of speciﬁc force, angular rate165

and actuator position corresponding to both motion proﬁles are also shown in Figure 7.

4.2. Simulated sensor data

The selected motion proﬁles are superimposed with simulated zero-mean Gaussian noise signals to obtain

the artiﬁcial sensor measurements used for veriﬁcation of the proposed algorithm. These noise signals

are fully deﬁned by the standard deviation of the Gaussian distribution used to sample the simulated170

measurements. The inertial sensors are assumed to be polluted by a constant bias as well. Estimates of

appropriate standard deviations and bias levels for the available inertial and actuator position sensors are

obtained from static measurements of the available measurement equipment for the SRS. The measurement

equipment on the SRS comprises an ISIS R

⃝IMU Rev. C manufactured by the Inertial Science Inc. R

⃝and

six Temposonics R

⃝R-series linear position sensors manufactured by the MTS R

⃝Systems [47].175

Figure 8 shows stationary measurements from a representative selection of sensors. Even though the

actual sensor noise is evidently non-Gaussian, for the simulated sensor measurements Gaussian sequences

are assumed. This allows for an evaluation of the theoretical accuracy attainable by the algorithm. The

static IMU and actuator position measurements are used to obtain estimates of noise standard deviations

and bias values, a summary of which can be found in Tables 4 and 5, respectively. The values shown in180

these tables, together with the available motion proﬁle data, are ﬁnally used to generate the simulated IMU

and actuator position measurements. A selection of these simulated signals is shown right in Figure 8.

4.3. Method

The performance of the UKF-based algorithm is assessed on the basis of the accuracy and robustness

of the algorithm. Accuracy reﬂects the error in the estimated quantities, while robustness pertains to the185

resilience of the algorithm to nonlinearities and model errors. Because the true values of estimated quantities

are often unknown in practice, accuracy and robustness are commonly evaluated on the basis of the so-called

11

(a) t=20.00 s (b) t=21.25 s

(c) t=22.50 s (d) t=23.75 s

Figure 5: Impression of motion platform pose during MP1.

Table 2: Motion platform coordinates during MP1.

t 20.00 21.25 22.50 23.75 s

x-0.07 0.49 0.06 -0.49 m

y-0.49 -0.07 0.49 0.07 m

z-2.39 -2.39 -2.39 -2.39 m

φ-4.76 2.71 -4.76 2.71 deg

θ-4.75 2.70 -4.75 2.70 deg

ψ0.19 0.06 0.20 0.06 deg

(e) t=11.50 s (f) t=16.80 s

(g) t=55.30 s (h) t=69.20 s

Figure 6: Impression of motion platform pose during MP2.

Table 3: Motion platform coordinates during MP2.

t 11.50 16.80 55.30 69.20 s

x0.00 0.00 0.00 0.00 m

y0.01 -0.02 0.00 0.01 m

z-2.38 -2.41 -2.39 -2.38 m

φ-2.59 3.86 -0.38 -3.57 deg

θ1.30 -1.59 1.30 -0.64 deg

ψ-0.14 -0.23 -0.67 -0.82 deg

12

020406080100

t(s)

−1.0

−0.5

0.0

0.5

1.0

1.5

fx(m/s2)

0102030405060708090

t(s)

−5.0

−2.5

0.0

2.5

5.0

fx(m/s2)

×10−1

020406080100

t(s)

−1.6

−0.8

0.0

0.8

1.6

p(rad/s)

×10−1

0102030405060708090

t(s)

−1.2

−0.6

0.0

0.6

1.2

p(rad/s)

×10−1

020406080100

t(s)

2.40

2.55

2.70

2.85

3.00

l1(m)

0102030405060708090

t(s)

2.64

2.68

2.72

2.76

2.80

l1(m)

020406080100

t(s)

2.40

2.55

2.70

2.85

3.00

l3(m)

0102030405060708090

t(s)

2.64

2.68

2.72

2.76

2.80

l3(m)

020406080100

t(s)

2.55

2.70

2.85

3.00

l5(m)

0102030405060708090

t(s)

2.60

2.65

2.70

2.75

2.80

2.85

l5(m)

Figure 7: Representative time traces corresponding to MP1 (left) and MP2(right).

Table 4: Estimates of standard deviations of measurement noises in IMU and actuator position measurements.

Parameter Value Unit Parameter Value Unit

σx6.680 ·10−4m/s2σl11.093 ·10−5m

σy8.578 ·10−4m/s2σl21.132 ·10−5m

σz6.915 ·10−4m/s2σl35.741 ·10−6m

σp1.545 ·10−4rad/s σl41.482 ·10−5m

σp1.770 ·10−4rad/s σl51.054 ·10−5m

σq1.791 ·10−4rad/s σl69.770 ·10−6m

Table 5: Estimates of IMU measurement biases.

Parameter Value Unit

λx4.898 ·10−1m/s2

λy-9.023 ·10−3m/s2

λz-1.894 ·10−1m/s2

λp-1.822 ·10−2rad/s

λp-5.067 ·10−3rad/s

λq-2.159 ·10−2rad/s

13

020406080100

t(s)

4.86

4.88

4.90

4.92

4.94

fx(m/s2)

×10−1

Mean Standard deviation

020406080100

t(s)

4.86

4.88

4.90

4.92

4.94

fx(m/s2)

×10−1

020406080100

t(s)

−1.90

−1.85

−1.80

−1.75

p(rad/s)

×10−2

020406080100

t(s)

−1.90

−1.85

−1.80

−1.75

p(rad/s)

×10−2

020406080

t(s)

−4

−2

0

2

4

l1(m)

×10−5

020406080100

t(s)

−4

−2

0

2

4

l1(m)

×10−5

020406080

t(s)

−4

−2

0

2

4

l3(m)

×10−5

020406080100

t(s)

−4

−2

0

2

4

l3(m)

×10−5

Figure 8: Selection of actual (left) and simulated (right) IMU and actuator position measurements for stationary motion base.

innovation sequence.TheinnovationappearsinthecorrectionstepoftheUKFasϵk=)yk−ˆ

y(−)

k*.Itcan

therefore be interpreted as the diﬀerence between the measured actuator positions, yk, and the reconstructed

measurements obtained from the estimated kinematic state of the Stewart platform. Similarly, the innovation190

covariance appears in the computation of the Kalman gain as Pϵ,k =Pyy,k , i.e., the estimated covariance of

the reconstructed measurements.

In case the process and observation noises wand vare both zero-mean Gaussian white noise, the

innovation sequences should also be zero-mean, Gaussian andwhiteforoptimalﬁlterperformance[48]. In

practice, this condition is most commonly veriﬁed by the observation that approximately 95 percent of the195

innovation sequence is within ±2σϵ,whereσϵis the standard deviation of the innovation obtained from the

diagonal elements of Pϵ[48]. The rate of convergence and similarity of the innovation to such an “optimal”

sequence is a measure of robustness. Since the current section deals with veriﬁcation of the algorithm using

simulated sensor measurements, however, additional information can be derived from the estimation errors

in the estimated states.200

4.4. Tuning of the UKF

Before the proposed algorithm can be applied to simulated sensor measurements, several parameters need

to be conﬁgured. The UKF needs an initial estimate of the stochastic process state and its corresponding

covariance as well as information about the process and observation noise covariances. In order to evaluate

the algorithm in the most general sense, the initial process state estimate and auto-covariance are chosen

14

arbitrarily far away from the true initial process state as:

ˆ

x0=[0 0 −1000000000000]

!

P0=diag+12,12,12,12,12,12,0.12

0.12,0.12,12,12,12,0.12,0.12,0.12,

(22)

The process and observation noise covariances selected are based on the values in Tables 4 and 5 as:

Qk=1.1·diag(σ2

x,σ

2

y,σ

2

z,σ

2

p,σ

2

q,σ

2

r)

Rk=1.1·diag(σ2

l1,σ

2

l2,σ

2

l3,σ

2

l4,σ

2

l5,σ

2

l6)

(23)

The ten percent increase in the magnitude of these covariances ensures some robustness against numerical

round-oﬀerrors. In the current work, the system and observation noise covariance are assumed constant.

Other parameters that inﬂuence the UKF are κ,αand β,whichareassignedvaluesof0,0.1and2,

respectively. These settings are in line with recommendations given in [43]. Except for α,whichifchosen205

too small degrades numerical stability, these parameters were not found to critically aﬀect the obtained

results.

4.5. Results

The proposed algorithm is subsequently applied to both MP1 and MP2. A representative selection of

the obtained results is shown in Figures 9, 10 and 11. It is evident that the UKF shows quick convergence210

and optimal ﬁlter performance for both motion proﬁles, as witnessed by the seemingly white and Gaussian

innovation sequences. In addition, both the platform statesaswellastheIMUbiasesareestimatedwitha

high accuracy. For most of the estimated quantities, the obtained accuracy is equivalent regardless of the

motion proﬁle evaluated. However, a periodic trend in the estimation errors of λz,wand zfor the case of

MP1 can observed. Such ﬂuctuations are typically associated with sub-optimal ﬁlter performance, although215

in this particular case the ﬂuctuations do not visibly propagate through to the innovation sequences.

The pronounced ﬂuctuations in λz,wand zfor MP1 can be explained by the physical limitations of

the SUT inherent in the UKF. The SUT still uses only the mean and covariance to describe the posterior

probability distribution of the estimated quantities. Higher order moments of the posterior probability

distributions are not taken into account, even though they may be important for fully capturing the eﬀect220

of the highly nonlinear platform kinematics for large motions.

As such, it can be expected that the more violent the platform motion, i.e., the more pronounced the

nonlinear platform kinematics, the more the performance of the UKF will degrade. Nonetheless, even for

the case of MP1, which is considered extreme for all practicalintentsandpurposes,positionisestimatedto

an accuracy of O(10−5)m,velocitytoO(10−4) m/s, attitude to O(10−6) rad and the IMU biases to O(10−5)225

m/s2and rad/s. In ﬂight simulation, accuracy requirements are closely related to human motion perception

15

thresholds. These are in the order of O(10−2)m/s

2for translations and O(10−3)rad/s

2for rotations [49].

Therefore, the accuracy attainable by the proposed algorithm is considered suﬃcient by a large margin for

the purpose of ﬂight simulator motion ﬁdelity assessment. However, requirements for other applications

may be far more stringent. An example is precision surgery, where a positional accuracy of the platform in230

the order of micrometers is required [3].

020406080100

t(s)

−5.0

−2.5

0.0

2.5

5.0

l1(m)

×10−5

Innovation (ϵ)Bounds (±2σϵ)

0102030405060708090

t(s)

−5.0

−2.5

0.0

2.5

5.0

l1(m)

×10−5

020406080100

t(s)

−4

−2

0

2

4

l3(m)

×10−5

0102030405060708090

t(s)

−2

0

2

4

l3(m)

×10−5

020406080100

t(s)

−6

−3

0

3

6

l5(m)

×10−5

0102030405060708090

t(s)

−5.0

−2.5

0.0

2.5

5.0

l5(m)

×10−5

Figure 9: Selection of innovation sequences for MP1 (left) and MP2 (right).

5. Validation on the SRS

The proposed state reconstruction algorithm is subsequently implemented and validated on the SIMONA

Research Simulator (SRS) at TU Delft [36]. First, a real-time implementation of the algorithm proposed

in Section 3 is discussed, after which the method of validation will be presented. Then, the tuning of the235

algorithm for application on the SRS will be discussed, followed by a presentation of the obtained results.

Finally, the validation is concluded with a comparison to a conventional iterative method (e.g., [19]) used

to reconstruct the kinematic state of a Stewart platform.

5.1. Real-time implementation

In order to be able to execute the proposed state reconstruction algorithm on the SRS in real-time240

and using physical sensor measurements, the algorithm was implemented in the software architecture of

the SRS, namely the Delft University Environment for Communication and Activation (DUECA) [50].

DUECA is a middleware software layer that takes care of many ofthecomplexissuesthatarisefrom

developing software that is suitable for execution on an operational full-ﬂight simulator in real-time. Typical

functionality includes the synchronization of processes with wall clock time, inter-process communication245

within a distributed computing environment and communication with simulator hardware (e.g., sensors,

controls, displays, etc.).

16

020406080100

t(s)

−2

−1

0

1

2

x(m)

×10−5

Estimation error (e) Standard deviation (σ)

0102030405060708090

t(s)

−2

−1

0

1

2

x(m)

×10−5

020406080100

t(s)

−2

−1

0

1

2

z(m)

×10−5

0102030405060708090

t(s)

−0.8

−0.4

0.0

0.4

0.8

z(m)

×10−5

020406080100

t(s)

−1.2

−0.6

0.0

0.6

1.2

u(m/s)

×10−4

0102030405060708090

t(s)

−0.8

0.0

0.8

1.6

u(m/s)

×10−4

020406080100

t(s)

−3.0

−1.5

0.0

1.5

3.0

w(m/s)

×10−4

0102030405060708090

t(s)

−1.0

−0.5

0.0

0.5

1.0

w(m/s)

×10−4

020406080100

t(s)

−5.0

−2.5

0.0

2.5

5.0

ex(-)

×10−6

0102030405060708090

t(s)

−6

−3

0

3

6

ex(-)

×10−6

020406080100

t(s)

−5.0

−2.5

0.0

2.5

5.0

ey(-)

×10−6

0102030405060708090

t(s)

−5.0

−2.5

0.0

2.5

5.0

ey(-)

×10−6

Figure 10: Selection of errors in estimated platform states for MP1 (left) and the MP2 (right).

020406080100

t(s)

−3.2

−2.4

−1.6

−0.8

0.0

λx(m/s2)

×10−4

Estimation error (e) Standard deviation (σ)

0102030405060708090

t(s)

−3.2

−2.4

−1.6

−0.8

0.0

λx(m/s2)

×10−4

020406080100

t(s)

−1.5

−1.0

−0.5

0.0

λz(m/s2)

×10−4

0102030405060708090

t(s)

−4

−2

0

2

4

λz(m/s2)

×10−5

020406080100

t(s)

−1.2

−0.6

0.0

0.6

λp(rad/s)

×10−5

0102030405060708090

t(s)

−0.8

−0.4

0.0

0.4

0.8

λp(rad/s)

×10−5

020406080100

t(s)

−0.8

−0.4

0.0

0.4

0.8

λq(rad/s)

×10−5

0102030405060708090

t(s)

−0.6

0.0

0.6

1.2

1.8

λq(rad/s)

×10−5

Figure 11: Selection of errors in estimated IMU biases for MP1 (left) and the MP2 (right).

17

The majority of the code base of DUECA is written in the C and C++computerlanguages,toallow

for high performance and favourable real-time characteristics. Software developed for the SRS is typically

encapsulated in so-called DUECA modules, which use the services provided by DUECA to ensure adherence250

to the various computational requirements and constraints.Theproposedalgorithmwasdevelopedasa

separate module in DUECA and thus in the C++ computer language. To support the complex matrix

algebra inherent in the UKF-based algorithm, use was made of the open-source Eigen library [51]. This

implementation was found to require an average computational time in the order of a few tenths of a

millisecond per measurement sample on modern desktop and server hardware. It is therefore considered255

more than adequate for execution on the SRS in real time at a nominal rate of 100 Hz.

5.2. Method

The method employed to validate the proposed algorithm is identical to the one used for the veriﬁcation

outlined in Section 4. That is, the same motion proﬁles (MP1 and MP2) will be used and the same criteria

to assess the performance of the algorithm will be applied. There are, however, a number of additional260

limitations and practical issues to consider in a real world application. One important limitation is the

lack of knowledge of the true kinematic state of the platform. In case of simulated sensor measurements,

the true state of the platform is known, such that the estimation error in each of the estimated states can

be evaluated (e.g., see Figures 10 and 11). In practice, the true states are of course not available and the

innovation sequences must be largely relied upon to assess the performance of the algorithm. However, in265

Section 5.5, a comparison to a traditional method which relies only on the actuator positions is presented.

Also, as shown in Figure 8, the actual sensor noise may be non-Gaussian, such that a degraded performance

can be expected.

An important issue to also take into consideration is the mounting location of the IMU. Until this point,

it was assumed that the the IMU was located in the UGP of the platform, i.e., the origin of reference frame

Eain Figure 2. In reality, this may not be the case for various practical reasons. As such, the algorithm

needs to be adapted to account for a generic IMU location. To illustrate the issue, the diﬀerence between

the speciﬁc forces in the UGP (or any arbitrary point on the platform) and at the IMU location can be

written as:

fimu −fugp =c!

imu )˙

Ω×+Ω

2

×*(24)

where cimu is the location of the IMU with respect to the UGP and where Ω×is given by Equation (17).

This equation shows that there is a mismatch between the speciﬁc forces in any two points on the moving

platform, which arises from the rotation of the platform. An elegant way to correct for this mismatch in the

proposed algorithm is to adapt the deﬁnition of the joint coordinates aiappearing in Equation (1) as:

aimu

i=ai−cimu ∀i∈[1,...,6] (25)

18

This eﬀectively moves the origin of frame Eain Figure 2 to the IMU location. The consequence of this

approach is that the complete estimate of the stochastic process state inferred by the algorithm corresponds270

to the IMU location. The state vector can, however, be re-calculated with respect to the UGP or any

arbitrary location on the platform using Equation (24) and its equivalent for platform velocity and position.

Other issues that aﬀect the performance of the proposed algorithm include: actuator position bias, time-

varying IMU biases, measurement time synchronization errors and IMU misalignment. Care was taken to

calibrate the actuator position sensors using laser-based distance measuring equipment so as to ensure the275

biases are no more than a few tenths of a millimetre in magnitude. For the brief motion proﬁles considered in

the current work, time-dependent variations in the IMU biases are negligible. It should be noted, however,

that for more prolonged measurements variations in the IMU biases can be accounted for by introducing

so-called random walks (e.g., [43]). This entails modeling the evolution of the biases in the stochastic

system model as artiﬁcial noises. Time delays between the inertial sensors and generic auxilliary position280

measurements are known to degrade accuracy, e.g., [52], and methods to account for such delays have been

proposed in the literature, e.g., [43, 53]. Their application, however, would entail a considerable increase

in the complexity of the proposed algorithm and are thereforebeyondthescopeofthecurrentwork. IMU

misalignment causes couplings between measurements from the rate gyros in the IMU. This eﬀect can be

minimized by careful alignment of the IMU with the orthogonalplatformaxes,butonecouldalsoattempt285

to incorporate rate gyro misalignment in the stochastic system model. This too is beyond the scope of the

current work, however.

5.3. Tuning of the UKF

Before the proposed algorithm was executed on the SRS in real-time, actual IMU and actuator position

measurements corresponding to MP1 and MP2 were collected foroﬀ-lineanalysisandtuning. Inthisanalysis,

the sensitivity of the algorithm to changes in the governing parameters of the UKF-based algorithm was

investigated. It was found that all but one of the UKF tuning parameters could remain unchanged with

respect to the settings presented in Section 4. This parameter turned out to be Qk,i.e.,thesystemnoise

covariance matrix. The magnitude of Qkhad to be increased by a factor of a thousand in order to obtain

favourable characteristics of the innovation sequences (see Section 4):

Qk=1000·diag(σ2

x,σ

2

y,σ

2

z,σ

2

p,σ

2

q,σ

2

r)(26)

where all the standard deviations used are as given in Table 4.Changesinthemagnitudeofthismatrixwere

found to have by far the largest impact on the results, whereas the state reconstruction algorithm seemed290

less sensitive to moderate changes in the magnitude of Rk. It is also not desirable to increase the magnitude

of Rkin this case, since the actuator position measurements are the sole basis for estimation of the biases

inherent in the IMU measurements. Moreover, as mentioned in Section 5.2, some deﬁciencies in the IMU

19

measurements are currently unaccounted for, e.g., IMU misalignment and time delays between IMU and

actuator position measurements. A more detailed analysis into the magnitude and eﬀect of time delays295

between the two sets of measurements was performed. This analysis revealed that the IMU measurements

are delayed by 10 to 50 ms with respect to the actuator position measurements. The delays were furthermore

found to be axis dependent and ﬂuctuating in time. An explanation for the delays on the software level (i.e.,

DUECA) could not be found and the issue is therefore likely caused by the IMU itself. Regardless of the

exact cause, it seems evident that from the perspective of theUKF,theIMUmeasurementsarelessreliable300

than the actuator position measurements. This is reﬂected in the signiﬁcantly higher magnitude of Qkwith

respect to Rkrequired to obtain favourable ﬁlter performance.

As discussed in Section 5.2, the last parameter required by the algorithm for application on the SRS is

the mounting location of the IMU. In the SRS, the IMU is located0.305behindand0.0105metersabove

the UGP, such that:

cimu =!−0.305 0 −0.0105"!

(27)

5.4. Results

The obtained results from real-time execution on the SRS are included in Figures 12, 13 and 14, which

show a selection of innovation sequences, state estimates and IMU bias estimates corresponding to both305

MP1 and MP2. Several conclusions can be drawn from these results.

First, from the innovation sequences, it can be seen that rapid convergence of the algorithm to zero-mean

values o ccurs for both mot ion proﬁles. Also, the i nnovation sequences are largely within the band that is

bounded by 2σϵ.Theamplitudeofthisbandisintherangeofonlyseveraltenths of a millimeter, indicating

high accuracy of the estimated states. However, the innovation sequences are evidently not characterized as310

white and are therefore indicative of sub-optimal ﬁlter performance [48]. This could be expected, given the

remaining (unmodelled) measurement uncertainties and the fact that the actual measurement noise is non-

Gaussian. It can be seen that the innovation sequences corresponding to MP1 clearly exhibit a component

that resembles the periodicity of the motion proﬁle. This eﬀect is less pronounced in case of MP2, which is

explained by the smaller amplitude of the motion in this proﬁle relative to the motion in MP1. In addition,315

anumberofshortperiodswithanelevatedvalueoftheinnovation sequences appear during both MP1 and

MP2. The cause of these “periodic beats” was traced to the actuator position measurements, which were

found to exhibit an identical periodic elevation in noise level. This increase in noise level was found to occur

synchronously over all six actuator position measurements and therefore could not be isolated to a single

(faulty) sensor. Consequently, the problem is likely situated in a databus that is aﬀected by some external320

disturbance. As it does not impact the validity of the presented results, however, a further consideration of

the issue is beyond the scope of the current work.

20

Regardless of all practical issues encountered, the state estimates shown in Figure 13 are highly accurate

nonetheless, as also illustrated by the generally small standard deviations calculated from the diagonal

elements of the covariance matrix Pk.Theestimatesoftheinertialsensorbiases,showninFigure14,show325

atrendofsomewhatslowerconvergencesimilarasobservedin the results from the computer simulations

presented in Section 4. A comparison to the static sensor measurements shown in Figure 8, however,

reveals that their values are also estimated accurately after a brief period of convergence. Note that a

minor mismatch may exist between the estimated IMU biases and the static measurements. This is because

the static measurements were recorded at a diﬀerent date and time than the validation experiments were330

performed. As such, temperature variations may slightly inﬂuence the true values of the inertial sensor

biases and small variations in their estimated values may therefore be observed when the experiments are

repeated at diﬀerent times or for an extended amount of time.

The promising results obtained from the validation experiments motivate a comparison of the proposed

state reconstruction algorithm to a traditional method to estimate the kinematic state of a Stewart platform.335

This comparison is the subject of the next section.

020406080100

t(s)

−1.2

−0.8

−0.4

0.0

0.4

0.8

l1(m)

×10−3

Innovation (ϵ)Bounds (±2σϵ)

020406080

t(s)

−6

−3

0

3

6

l1(m)

×10−4

020406080100

t(s)

−0.5

0.0

0.5

1.0

l3(m)

×10−3

020406080

t(s)

−4

−2

0

2

4

l3(m)

×10−4

020406080100

t(s)

−6

−3

0

3

6

l5(m)

×10−4

020406080

t(s)

−5.0

−2.5

0.0

2.5

5.0

l5(m)

×10−4

Figure 12: Selection of innovation sequences from real-time sensor data for MP1 (left) and MP2 (right).

5.5. Comparison with an iterative method

In Section 5, it was shown that the proposed UKF-based state reconstruction algorithm seems to con-

verge to accurate estimates of the kinematic state of the SRS and is also able to infer inherent IMU biases.

This brings about two distinct advantages over contemporaryiterativeschemescommonlyappliedtosolve340

the forward kinematics of a Stewart platform (e.g., [19]), which only provide direct estimates of position

and attitude. In such traditional methods, to obtain (angular) velocity and acceleration, numerical diﬀer-

entiation is required. As demonstrated, the proposed UKF-based algorithm does not rely on any numerical

diﬀerentiation to infer velocity and translational acceleration. Translational velocity is an element of the

21

020406080100

t(s)

−1.00

−0.75

−0.50

−0.25

0.00

0.25

x(m)

Estimated value Standard deviation (σ)

020406080

t(s)

−3.28

−3.20

−3.12

−3.04

−2.96

x(m)

×10−1

020406080100

t(s)

−5.0

−2.5

0.0

2.5

5.0

y(m)

×10−1

020406080

t(s)

−2

−1

0

1

2

y(m)

×10−2

020406080100

t(s)

−9

−6

−3

0

3

6

9

u(m/s)

×10−1

020406080

t(s)

−4

−2

0

2

4

u(m/s)

×10−2

020406080100

t(s)

−1.0

−0.5

0.0

0.5

w(m/s)

×10−1

020406080

t(s)

−6

−3

0

3

6

w(m/s)

×10−2

020406080100

t(s)

−4

−2

0

2

ex(-)

×10−2

020406080

t(s)

−4

−2

0

2

4

ex(-)

×10−2

020406080100

t(s)

−4

−2

0

2

4

ey(-)

×10−2

020406080

t(s)

−4.5

−3.0

−1.5

0.0

1.5

ey(-)

×10−2

Figure 13: Selection of estimated platform states from real-time sensor data for MP1 (left) and MP2 (right).

020406080100

t(s)

4.80

4.83

4.86

4.89

4.92

λx(m/s2)

×10−1

Estimated value Standard deviation (σ)

020406080

t(s)

4.905

4.920

4.935

4.950

λx(m/s2)

×10−1

020406080100

t(s)

−1.84

−1.76

−1.68

−1.60

−1.52

λz(m/s2)

×10−1

020406080

t(s)

−1.59

−1.56

−1.53

−1.50

−1.47

λz(m/s2)

×10−1

020406080100

t(s)

−1.88

−1.86

−1.84

−1.82

−1.80

λp(rad/s)

×10−2

020406080

t(s)

−1.92

−1.88

−1.84

−1.80

λp(rad/s)

×10−2

020406080100

t(s)

−0.25

0.00

0.25

0.50

0.75

λq(rad/s)

×10−2

020406080

t(s)

−0.3

0.0

0.3

0.6

0.9

λq(rad/s)

×10−2

Figure 14: Selection of estimated IMU biases from real-time sensor data for MP1 (left) and MP2 (right).

22

stochastic state vector (see Equation (10)) and is therefore inferred directly. Estimates of translational345

acceleration and angular velocity can be obtained from raw IMU measurements, corrected for bias using

real-time estimates from the proposed UKF-based algorithm.

In order to fully validate the proposed UKF-based state reconstruction algorithm, it is compared to a

traditional iterative scheme commonly applied to solve for the forward kinematics of Stewart platforms. The

algorithm selected is one that is currently used within the motion control system of the SRS [54], namely the350

Gauss-Newton (GN) method given by Equation (5). In order to compare the two algorithms, the error with

respect to set-points is computed for both MP1 and MP2. Note that this includes al l errors, i.e., control

system errors, transport delays and estimation errors. Some representative results are included in Figure 15.

This ﬁgure shows excerpts of timetraces of the errors in position, attitude and velocity estimated using both

algorithms for both motion proﬁles.355

The GN-based algorithm does not provide a direct estimate of platform velocity. For a fair comparison,

use is therefore made of a diﬀerentiator combined with a second-order Butterworth ﬁlter to compute velocity

from estimated position [55]:

B2(s)=Y(s)

U(s)=s

τ2

ds2+√2τds+1 (28)

The cut-oﬀfrequency of the ﬁlter is set to 25 Hz (i.e., τdof 0.04 s). Also note that, as the UKF-based state

estimates are inferred with respect to the location of the IMU, they must be translated to the platform’s

UGP for comparison to the GN-based estimates. This is done using the following kinematic entities:

ˆ

cugp =ˆ

c−Tba(ˆ

Φ)cimu

ˆ

Vugp =ˆ

V−(Ω×−ˆ

Λ)!cimu

(29)

where Ω×and Λare as deﬁned in Equation (17) and cimu is given by Equation (27). The notation ˆ

!

signiﬁes estimates that are derived from the UKF-based algorithm. Also note that Ω×contains raw angular

rate measurements from the IMU.

From insp e c t i on of Figure 15, it s e e m s t h at the UKF-base d a l g orithm generally attains better accuracy

than the GN-based algorithm. The diﬀerence is most apparent for MP1, where the error due to the phase360

lag incurred by the diﬀerentiating ﬁlter is clearly visible in the GN-based velocity estimate. This frequency-

dependent phase lag can be reduced by increasing the cut-oﬀfrequency of the ﬁlter, but this results in more

noise in the GN-based velocity estimates.

To conclude the comparison between the two algorithms, the corresponding standard deviations of the

errors in the estimates are illustrated in Figures 16 and 17 for MP1 and MP2, respectively. It can be seen365

that the UKF-based algorithm provides slightly improved estimates of position and attitude for both MP1

and MP2. However, by far the largest diﬀerence in favor of the UKF-based algorithm is observed in the

estimates of platform velocity for MP1. Here, the uand vestimates are found to be approximately twice as

accurate for the UKF-based algorithm. For MP2, the diﬀerence between the two methods is less pronounced.

23

This can be explained by the diﬀerent frequency spectrum of MP2 as compared to MP1. In this case, this370

means that the phase lag induced by the diﬀerentiating ﬁlter in the GN-based method has a smaller impact

on the observed error for MP2 than for MP1. As a ﬁnal note, it canbeseenthattheaccuracyofboth

algorithms is equivalent for those kinematic states that are barely excited, i.e., z,ψand wfor MP1 and y,

ψand vfor MP2.

05101520

t(s)

−2

−1

0

1

2

∆x(m)

×10−2

GN UKF

05101520

t(s)

−1.6

−0.8

0.0

0.8

1.6

∆x(m)

×10−3

05101520

t(s)

−6

−3

0

3

6

∆φ(rad)

×10−3

05101520

t(s)

−3.0

−1.5

0.0

1.5

3.0

∆φ(rad)

×10−3

05101520

t(s)

−6

−3

0

3

6

∆u(m)

×10−2

05101520

t(s)

−1.2

−0.6

0.0

0.6

1.2

∆u(m)

×10−2

Figure 15: Selection of estimation errors for UKF- and GN-based method to compute platform states in case of MP1 (left) and

MP2 (right).

0.00.81.6

σUKF (m) ×10−2

0.0

0.8

1.6

σGN (m)

×10−2

σx

σy

σz

0.02.55.0

σUKF (rad) ×10−3

0.0

2.5

5.0

σGN (rad)

×10−3

σφ

σθ

σψ

024

σUKF (m/s) ×10−2

0

2

4

σGN (m/s)

×10−2

σu

σv

σw

Figure 16: Standard deviations of errors in UKF- and GN-based estimates for MP1.

0.00.40.81.2

σUKF (m) ×10−3

0.0

0.4

0.8

1.2

σGN (m)

×10−3

σx

σy

σz

0.00.81.62.4

σUKF (rad) ×10−3

0.0

0.8

1.6

2.4

σGN (rad)

×10−3

σφ

σθ

σψ

0.00.30.60.91.2

σUKF (m/s) ×10−2

0.0

0.3

0.6

0.9

1.2

σGN (m/s)

×10−2

σu

σv

σw

Figure 17: Standard deviations of errors in UKF- and GN-based estimates for MP2.

24

6. Discussion375

In this paper, a novel algorithm to reconstruct the kinematicstateofaStewartplatforminanoperational

environment, namely that of the SIMONA Research Simulator (SRS) at TU Delft, was investigated. The

proposed algorithm relies on the fusion of inertial and actuator position sensors, realised using the Unscented

Kalman Filter (UKF) in conjunction with a purely kinematic model of a Stewart platform. This method

enables direct estimation of platform position, attitude and translational velocity. By means of this so-called380

tightly-coupled sensor fusion, it also becomes possible to account for inherent measurement uncertainties,

such as noise and inertial sensor bias. Furthermore, becauseoftherecursivenatureofthealgorithm,itis

possible to execute the algorithm in real-time.

The main contribution of this work is twofold. First, a rigorous veriﬁcation of the proposed algorithm,

using oﬀ-line simulations with simulated sensor measurements, was presented. This veriﬁcation has demon-385

strated, using two representative motion proﬁles, the theoretically attainable performance of the algorithm

in terms of accuracy and robustness. Some minor signs of sub-optimal ﬁlter performance could be observed

due to the strongly nonlinear kinematics of the Stewart platform. However, the overall performance of

the algorithm is remarkable, yielding highly accurate estimates and exhibiting a rapid rate of convergence

without a need for careful tuning of conﬁguration parameters and initial conditions. These results served390

as the basis for the second contribution of this work, namely a real-time implementation and validation

of the novel algorithm on the SRS. To this end, an eﬃcient implementation within DUECA, the software

framework of the SRS, was conceived. This implementation was found to easily meet the requirements for

real-time execution on the SRS.

During the tuning of the algorithm, a number of practical issues arising from the application in an395

operational environment were encountered. While some of these issues could be resolved in a relatively

straightforward manner, others were deemed beyond the scope of the current work. These issues relate to

measurement time synchronization, IMU misalignment and non-stationary noise levels in measurements.

Nonetheless, the overall results obtained from the validation were satisfying. That is, a direct comparison

of the results to those obtained from a traditional iterativescheme,commonlyappliedtosolvetheforward400

kinematics of Stewart platforms, were in favor of the proposed UKF-based algorithm.

There are a number of areas in which the proposed approach can be extended and improved. First,

potential issues pertaining to the sensory equipment and data acquisition system should be investigated

and resolved. These include minimizing measurement time synchronization errors, IMU misalignment, and

removing any external disturbances in the data acquisition system that may aﬀect measurement noise405

levels. Therefore, even though the present results already highlight the potential of the proposed algorithm

as an improved estimator for the kinematic state of a Stewart platform, the UKF-based algorithm can be

improved even further by, e.g., the use of a more modern and accurate IMU. Second, the robustness of the

25

state reconstruction algorithm itself could be improved as well. In the current work, the UKF system and

observation noise covariances were held constant, however, it could be investigated if adaptive modiﬁcation410

of these matrices yields improved results (see, e.g., [56]).Finally,adistinctadvantageoftheproposed

algorithm is its extendability with additional sensor measurements. For example, given angular acceleration

measurements [57], the kinematic model of the Stewart platform at the heart of the state reconstruction

algorithm could easily be modiﬁed to enable direct inferenceofangularvelocityandunbiasedangular

acceleration.415

7. Conclusion

In this paper, a novel method to reconstruct the kinematic state of a Stewart platform was presented

and validated using real-time sensor measurements on the SIMONA Research Simulator (SRS) at TU Delft.

The proposed method relies on an implementation of the Unscented Kalman Filter (UKF) to enable a

tighly-coupled fusion of on-platform inertial sensor data with measurements of actuator position. In a direct420

comparison, the approach is shown to have two main advantagesoverconventionaliterativemethodsfor

estimating the state of Stewart platforms in real time, enabling direct and accurate estimation of translational

platform velocity, as well as an inherent robustness to measurement uncertainties like sensor noise and bias.

The current work therefore demonstrates the eﬀectiveness oftheproposedmethodforStewartplatform

state estimation and its potential for supporting improved motion control and simulator motion ﬁdelity425

veriﬁcation.

References

[1] D. Stewart, A Platform with Six Degrees of Freedom, Proceedings of the Institution of Mechanical Engineers 180 (1965)

371–386.

[2] R. Alves De Sousa, J. Ferreira, J. Sa De Farias, J. Torro, D. Afonso, M. Martins, SPIF-A: On the Development of a New430

Concept of Incremental Forming Machine, Structural Engineering and Mechanics 49 (2014) 645–660.

[3] M. Wapler, V. Urban, T. Weisener, J. Stallkamp, M. D¨urr, A. Hiller, A Stewart Platform for Precision Surgery, Transac-

tions of the Institute of Measurement and Control 25 (2003) 329–334.

[4] L. Kratchman, G. Blachon, T. Withrow, R. Balachandran, R. Labadie, R. Webster, Design of a Bone-Attached Parallel

Robot for Percutaneous Cochlear Implantation, IEEE Transactions on Biomedical Engineering 58 (2011) 2904–2910.435

[5] M. Girone, G. Burdea, M. Bouzit, V. Popescu, J. Deutsch, Stewart Platform-Based System for Ankle Telerehabilitation,

Autonomous Robots 10 (2001) 203–212.

[6] Q. Liu, D. Liu, W. Meng, Z. Zhou, Q. Ai, Fuzzy Sliding Mode Control of a Multi-DOF Parallel Robot in Rehabilitation

Environment, International Journal of Humanoid Robotics 11 (2014).

[7] J. B¨urki-Cohen, A. Sparko, M. Bellman, Flight Simulator Motion Literature Pertinent to Airline-Pilot Recurrent Training440

and Evaluation, in: AIAA Modeling and Simulation Technologies Conference, Portland, OR, Aug. 8-11, 2011, pp. 187–203.

[8] I. Davliakos, E. Papadopoulos, Model-Based Control of a 6-dof Electrohydraulic Stewart-Gough Platform, Mechanism

and Machine Theory 43 (2008) 1385–1400.

26

[9] Y. Pi, X. Wang, Trajectory Tracking Control of a 6-DOF Hydraulic Parallel Robot Manipulator with Uncertain Load

Disturbances, Control Engineering Practice 19 (2011) 185–193.445

[10] F. A. M. Van Der Steen, Self-Motion Perception, Ph.D. thesis, Delft University of Technology, Faculty of Aerospace

Engineering, 1998.

[11] S. K. Advani, R. J. A. W. Hosman, M. Potter, Objective Motion Fidelity Qualiﬁcation in Flight Training Simulators, in:

AIAA Modeling and Simulation Technologies Conference and Exhibit,AIAA2007-6802,2007.

[12] Anonymous, ICAO Manual of Criteria for the Qualiﬁcation of Flight Simulation Training Devices, 2009. Third Edition.450

[13] B. Dasgupta, T. S. Mruthyunjayab, The Stewart Platform Manipulator: A Review, Mechanism and Machine Theory 35

(2000) 15–40.

[14] M. Raghavan, The Stewart Platform of General Geometry Has 40 Conﬁgurations, ASME Journal of Mechanical Design

115 (1993) 277–282.

[15] C. W. Wampler, Forward Displacement Analysis of General Six-In-Parallel SPS (Stewart) Platform Manipulators using455

Soma Coordinates, Mechanism and Machine Theory 31 (1996) 331–337.

[16] M. L. Husty, An Algorithm for Solving the Direct Kinematics of General Stewart Gough Platforms, Mechanism and

Machine Theory 31 (1996) 365–380.

[17] J. P. Merlet, Closed-Form Resolution of the Direct Kinematics of Parallel Manipulators using Extra Sensors, in: Pro-

ceedings of the IEEE International Conference on Robotics and Automation, Atlanta, GA, 2-6 May, volume 1, 1993, pp.460

200–204.

[18] J. P. Merlet, Solving the Forward Kinematics of a Gough-Type Parallel Manipulator with Interval Analysis, The

International Journal of Robotics Research 23 (2004) 221–235.

[19] J. E. Dieudonne, R. V. Parrish, R. E. Bardusch, An Actuator Extension Transformation for a Motion Simulator and an

Inverse Transformation applying Newton-Raphson’s Method, Technical Report D-7067, NASA, 1972.465

[20] W. Zhou, W. Chen, H. Liu, X. Li, A New Forward Kinematic Algorithm for A General Stewart Platform, Mechanism 87

(2015) 177–190.

[21] S. H. Chen, H. C. I., L. C. Fu, Applying a Nonlinear Observer to Solve Forward Kinematics of a Stewart Platform,

in: Proceedings of the IEEE International Conference on Control Applications, San Antiono, Texas, Sep. 3-5, 2008, pp.

1183–1188.470

[22] S. A. Maged, A. M. F. E. Bab, A. Abouelsoud, An Adaptive Observer for a Stewart Platform Manipulator using Leg

Position and Force Measurements, International Journal of Modelling, Identiﬁcation and Control 24 (2015) 62–74.

[23] M. N. Armenise, C. Ciminelli, F. Dell’Olio, V. M. N. Passaro, Advances in Gyroscope Technologies, Springer, 2010.

[24] R. E. Kalman, A New Approach to Linear Filtering and Prediction Problems, Transactions of the ASME, Journal of

Basic Engineering 82 (1960) 35–45.475

[25] P. C. Lin, H. Komsuoglu, D. E. Koditschek, Sensor Data Fusion for Body State Estimation in a Hexapod Robot With

Dynamical Gaits, IEEE Transactions on Robotics 22 (2006) 932–943.

[26] A. Assa, F. Janabi-Shariﬁ, A Robust Vision-Based Sensor Fusion Approach for Real-Time Pose Estimation, IEEE

Transactions on Cybernetics 44 (2014) 217–227.

[27] J. A. Mulder, Q. P. Chu, J. K. Sridhar, J. H. Breeman, M. Laban, Non-Linear Aircraft Flight Path Reconstruction:480

Review and New Advances, Progress in Aerospace Sciences 35 (1999) 673–726.

[28] P. Lu, L. Van Eykeren, E. J. Van Kampen, C. C. De Visser, Q. P. Chu, Double-Model Adaptive Fault Detection and

Diagnosis Applied to Real Flight Data, Control Engineering Practice 36 (2015) 39–57.

[29] A. Vaccarella, E. De Momi, A. Enquobahrie, G. Ferrigno, Unscented Kalman Filter Based Sensor Fusion for Robust

Optical and Electromagnetic Tracking in Surgical Navigation, IEEE Transactions on Instrumentation and Measurement485

62 (2013) 2067–2081.

27

[30] G. Hovland, T. Von Hoﬀ, E. Gallestey, M. Antoine, D. Farruggio, A. Paice, Nonlinear Estimation Methods for Parameter

Tracking in Power Plants, Control Engineering Practice 13 (2005) 1341 – 1355.

[31] M. A. Louda, D. C. Rye, M. W. M. G. Dissanayake, H. F. Durrant-Whyte, INS-based Identiﬁcation of Quay-Crane

Spreader Yaw, in: Proceedings of the IEEE International Conference on Robotics & Automation, Leuven, Belgium, May490

16-20, 1998, pp. 3310–3315.

[32] D. M. Pool, Q. P. Chu, M. Mulder, M. M. van Paassen, Optimal Reconstruction of Flight Simulator Motion Cues using

Extended Kalman Filtering, in: Proceedings of the AIAA Modeling and Simulation Technologies Conference and Exhibit,

Honolulu, Hawai, Aug. 18-21, AIAA-2008-6539, 2008.

[33] A. Gelb, Applied Optimal Estimation, The M.I.T. Press, 1974.495

[34] I. Miletovi´c, D. M. Pool, O. Stroosma, Q. P. Chu, M. M. van Paassen, Using Iterated Extended Kalman Filtering for

Estimation of a Hexapod Flight Simulator Motion State, in: Proceedings of the 11th PEGASUS-AIAA Student Conference,

Salon de Provence, France, 2015.

[35] S. J. Julier, J. K. Uhlmann, Unscented Filtering and Nonlinear Estimation, Proceedings of the IEEE 923 (2004) 401–422.

[36] O. Stroosma, M. M. Van Paassen, M. Mulder, Using The SIMONA Research Simulator For Human-Machine Interaction500

Research, in: AIAA Modeling and Simulation Technologies Conference and Exhibit, Austin, Texas, Aug. 11-14, AIAA-

2003-5525, 2003, pp. 1–8.

[37] W. F. Phillips, C. E. Hailey, Review of Attitude Representations Used for Aircraft Kinematics, Journal of Aircraft 38

(2001) 718–737.

[38] M. W. Soijer, Rotations as Double Reﬂections and Geometrical Derivation of Euler-Rodrigues Parameters, AIAA Journal505

of Guidance, Control and Dynamics 32 (2009) 313–318.

[39] S. K. Advani, M. A. Nahon, N. Haeck, J. Albronda, Optimization of Six-Degrees-of-Freedom Motion Systems for Flight

Simulators, Journal of Aircraft 36 (1999) 819–826.

[40] S. J. Julier, J. K. Uhlmann, A New Extension of the Kalman Filter to Nonlinear Systems, Proceedings of the International

Symposium on Aerospace/Defence Sensing, Simulation and Controls, Orlando, Florida, Apr. 20-25 (1997) 182–193.510

[41] A. Papoulis, S. U. Pillai, Probability, Random Variables and Stochastic Processes (Fourth Edition), McGraw-Hill, 2002.

[42] S. J. Julier, The Scaled Unscented Transformation, Proceedings of the American Control Conference, Anchorage, Alaska,

May 8-10 (2002) 4555–4559.

[43] R. Van Der Merwe, Sigma-Point Kalman Filters for Probabilistic Inference in Dynamic State-Space Models, Ph.D. thesis,

Oregon Health & Science University, 2004.515

[44] T. E. Oliphant, Python for Scientiﬁc Computing, Computing in Science and Engineering 9 (2007).

[45] J. D. Hunter, Matplotlib: A 2D Graphics Environment, Computing in Science and Engineering 9 (2007).

[46] P. M. T. Zaal, D. M. Pool, Multimodal Pilot Behavior in Multi-Axis Tracking Tasks with Time-Varying Motion Cueing

Gains, in: Proceedings of the AIAA Modeling and Simulation Technologies Conference, National Harbor, Maryland, Jan.

13-17, AIAA-2014-0810, 2014.520

[47] F. Ferrari, D. Marioli, A. Flammini, A. Taroni, Magnetostrictive Position Sensor, Technical Report, European Patent

Oﬃce, 2006.

[48] B. D. O. Anderson, J. B. Moore, Optimal Filtering, Prentice Hall Information and System Sciences Series, 1979.

[49] H. M. Heerspink, W. R. Berkouwer, O. Stroosma, M. M. van Paassen, M. Mulder, J. A. Mulder, Evaluation of Vestibular

Thresholds for Motion Detection in the SIMONA Research Simulator, in: Proceedings of the AIAA Modeling and525

Simulation Technologies Conference and Exhibit, August 15–18, San Francisco (CA), AIAA-2005-6502, 2005.

[50] M. M. Van Paassen, O. Stroosma, J. Delatour, DUECA - Data-Driven Activation In Distributed Real-Time Computation,

in: Proceedings of the AIAA Modeling and Simulation Technologies Conference and Exhibit, Denver, Colorado, Aug.

14-17, AIAA-2000-4503, AIAA, 2000.

28

[51] J. Benoˆıt, G. Guennebaud, Eigen C++ Template Library for Linear Algebra, Accessed: Apr. 14, 2016.530

http://eigen.tuxfamily.org/.

[52] I. Y. Bar-Itzhack, Y. Vitek, The Enigma of False Bias Detection in a Strapdown System During Transfer Alignment,

Journal of Guidance, Control, and Dynamics 8 (1985) 175–180.

[53] H. K. Lee, J. G. Lee, G. I. Jee, Calibration of Time Synchronisation Error in GPS/SDINS Hybrid Navigation, in:

Proceedings of the IFAC Symposium on Automatic Control in Aerospace, Bologna/Forli, Italy, Sep. 2-7, 2001.535

[54] S. H. Koekebakker, Model Based Control of Flight Simulator Motion Bases, Ph.D. thesis, Delft University of Technology,

2001.

[55] S. Butterworth, On the Theory of Filter Ampliﬁers, Experimental Wireless and The Wireless Engineer 7 (1930) 536–541.

[56] Y. Meng, S. Gao, Y. Zhong, G. Hu, A. Subic, Covariance Matching Based Adaptive Unscented Kalman Filter for Direct

Filtering in INS/GNSS Integration, Acta Astronautica 120 (2016) 171–181.540

[57] S. Ovaska, S. Vliviita, Angular Acceleration Measurement: A Review, IEEE Transactions on Instrumentation and

Measurement 47 (1998) 1211–1217.

29