Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Aerospace Science and Technology 15 (2011) 353–365

Contents lists available at ScienceDirect

Aerospace Science and Technology


www.elsevier.com/locate/aescte

Optimal task space control design of a Stewart manipulator for aircraft stall
recovery
Ashraf Omran a,∗ , Ayman Kassem b
a
Department of Aerospace Engineering, Old Dominion University, Norfolk, VA, USA
b
Department of Aerospace Engineering, King Fahd University, Saudi Arabia

a r t i c l e i n f o a b s t r a c t

Article history: This paper presents an algorithm to develop a mission-based optimal task space control for a Stewart
Received 16 December 2008 manipulator. The proposed algorithm consists of two optimization phases. The first phase seeks an
Received in revised form 14 August 2010 optimal polynomial approximate model for the forward kinematics of a Stewart manipulator using
Accepted 17 August 2010
a predicted square error cost function. The second phase optimally tunes the controller gains in order
Available online 21 August 2010
to meet special mission requirements. Genetic algorithms are used in both phases as the optimization
Keywords: method. A stall recovery maneuver, one of the most dangerous flight conditions, is selected as the test
Stall recovery case. The proposed mission-based optimal task space control shows the capability to reduce the error in
Stewart kinematics training the pilot for stall recovery maneuver.
Dynamics © 2010 Elsevier Masson SAS. All rights reserved.
Optimal control
Genetic algorithms

1. Introduction by a universal joint. Each leg has an upper part telescoping in-
side a lower part by an independent electric or hydraulic actuator
A stall, as a threat to safe flight, is a condition in aerodynamics through a prismatic joint, where the lengths of these legs change
and aviation where the angle of attack increases beyond a certain the position and orientation of the platform. Because of the high
point such that the airflow starts to separate and lift begins to de- force-to-weight ratio, accuracy, and rigidity, Stewart manipulator’s
crease dramatically. Usually, the stall scenario starts by turning the applications were not limited to a flight simulator only, but also
thrust off, known as gradual stall, or by a sudden change in the el- included some other technologies such as machine tool, crane, un-
evator deflection, known as abrupt stall. If the pilot fails to execute derwater research, air-to-sea rescue, satellite dish positioning, and
the proper recovery or delays his action, the aircraft may develop a telescopes. This widespread applicability of Stewart mechanisms
high-risk sink rate or roll off into a spin with a high possibility of leads to an on-going research on its dynamics and control [28,29,
a ground impact. In this case, the pilot requires adequate training 10–22,24–26,4–6,8,2].
by practicing the recovery technique many times on flight simu- Two control architectures are commonly used for a Stewart ma-
lators before trying to execute such maneuvers on a real aircraft nipulator: joint space control [25,26,29,17] and task space control
[1,27]. [14,11]. The joint space control architecture is developed by con-
As an elegant design for simulating flight conditions for training trolling each leg as a single-input single-output (SISO) system. The
pilots, in 1965, Gough Stewart proposed a mechanical linkage with error between the actual and desired joint position is used as a
an octahedral assembly of struts that enables a platform to move feedback signal to the controller. Although the joint space control
simultaneously in all six degrees of freedom, three translational has a simple structure because there is a closed form solution for
motions (surge, sway, and heave) and three rotational motions the inverse kinematics model of a Stewart manipulator, this control
(pitch, roll, and yaw) [28]. The acceleration forces of this move- scheme is unable to provide a high tracking performance in the
able plate can emulate the physical feeling of piloting an aircraft case of a high amplitude maneuvers such as stall recovery. A joint
in forward, backward, or turning motions. As shown in Fig. 1, the space control doesn’t account for the dynamic coupling of the ma-
moving plate is connected to the base plate by six legs. A spheri- nipulator. On the other hand, task space control accounts for the
cal joint is employed to connect the upper part of each leg to the dynamic coupling of the manipulator, where the measures of joint
movable plate, while the lower part is connected to the base plate space are mapped into a task space through direct kinematics. The
task space control is exacerbated by the fact that the forward kine-
matics of a Stewart manipulator has no unique solution. Dietmaier
* Corresponding author. [5] has addressed 40 possible solutions. There have been several
E-mail address: aomra001@odu.edu (A. Omran). attempts to solve the forward kinematic problem using combined

1270-9638/$ – see front matter © 2010 Elsevier Masson SAS. All rights reserved.
doi:10.1016/j.ast.2010.08.009
354 A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365

nique. Section 6 gives simulation results to examine the proposed


algorithms. Finally, in Section 7, the conclusion is summarized.

2. Motion cue of stall recovery maneuver

2.1. Stall recovery scenario

There are two stall scenarios, abrupt and gradual stalls. In the
case of abrupt stall, when a sudden change in elevator deflection
is generated without any change in the value of the power, a jump
in the value of the angle of attack is observed. The aircraft then
pitches up more nearly vertical, losing airspeed. The gradual stall,
on the other hand, is usually caused by turning the thrust off. Con-
sequently, the aircraft starts to descend and the closed loop eleva-
tor of the altitude hold grows until the saturation limit is reached.
The gradual stall is more common than the abrupt stall when the
engine abruptly ceases operating due to mechanical failure or a
sudden increase in the engine load. There is an alarm inside most
of the aircrafts to warn the pilot of the gradual stall. The pilot then
starts to bring the elevator back to the normal setting. An interest-
ing study for the stall maneuver and its characterization is given
in Ref. [27] for Princeton’s Avionics Research Aircraft (ARA).
Taken from a real flight test of ARA at an altitude 2438 m
Fig. 1. Stewart manipulator. (800 ft), the time histories of total speed V , angle of attack α ,
pitch rate q, and elevator deflection δe are presented in Ref. [27]
procedures such as neural network [19,22], fundamental geometric and shown here in Fig. 2, which presents the gradual stall and its
calculation [12,13], and Taylor series expansion [20]. In Ref. [15], recovery over 45 seconds. The pilot initiated this stall of ARA by
the authors developed an efficient algorithm to approximate the retarding the power stick to 30.5 cm, which is very close to a zero
forward kinematics of a Stewart manipulator for task-space control thrust. Because of the altitude-hold autopilot, the elevator auto-
applications, which is referred to in this paper. matically keeps moving in order to compensate for the losses in
Generic inputs such as a step signal are usually used to opti- the altitude, which takes almost 10 seconds. This action leads to
mally tune the controller gains of Stewart manipulators when the reach the elevator limit −30 deg. At the same time, the angle of
task space mission profiles are non-deterministic as reported in attack α and pitch angle θ increase up to 20 deg. The angle of at-
Refs. [21,16]. For example, in real-time interaction by the pilot of tack settles down to this value with some light-to-moderate buffet
the simulated aircraft, task-space trajectories cannot be known a of 0.5 deg, while the pitch angle oscillates with the phugoid fre-
priori and controllers cannot be tuned a priori for specific tracks quency with some light buffet. The pilot then receives the alarm
that are yet unknown. A generic controller able to deal with all of the gradual stall and starts to react, which takes roughly 15 sec-
possible trajectories is therefore clearly preferable. In some indus- onds more (see Fig. 2). By bringing the elevator back to the normal
trial applications, on the other hand, Stewart manipulators repeat setting at time t = 25 seconds, the pilot recovers this stall. If the
the same task hundreds or thousands of times such as in car as- pilot is not well trained for such a maneuver with a fast correct
semblies, welding, and cutting machines. In aerospace applications, reaction, the aircraft would start to lose altitude, which endangers
the life of the pilot and the aircraft. For that reason, there is need
more specifically, training the pilot for a stall or spin recovery sce-
for a precise and repeated training for such a maneuver.
nario or increasing his capability in a specific set of maneuvers
(pull-up, turn, roll, high g-load, pilot-induced oscillation, falling
2.2. Washout filter
leaf, and nose-slice) requires repeating the same mission many
times. Designing control based on this particular mission provides
Confined by the physical movements of a Stewart manipulator,
a superior control performance compared to the no-information a motion cueing strategy, also called a washout filter or motion
control as proved by the authors in Ref. [18]. However, the control drive algorithm, was apparently designed to allow a transforma-
scheme in Ref. [18] is a joint scheme control, which is unable to tion from the aircraft motion to the workspace of the upper plate
deal with a high amplitude mission such as in the case of stall re- (pilot’s cab). Schmidt and Conrad [23] summarized the mathemati-
covery. In order to apply this mission-based optimization for such cal approach to the design of this washout filter for all-axis motion
high amplitude missions, a task space is sought in this paper and a generator. Fig. 3 shows the schematic diagram of the washout filter
stall recovery maneuver is chosen as a case study. The controller’s for multi-degrees of freedom case. There are two channels to mod-
gains are optimally tuned based on this stall recovery maneuver’s ify the motion: translation channel and rotational channel and in
information using genetic algorithms (GAs). between there is a compromise channel, which creates side force
The rest of the paper is organized as follows: Section 2 de- cues using the rotational acceleration.
scribes the stall recovery scenario and a way to filter the aircraft’s The translation drive channel receives the force vector f B in the
motion to the Stewart manipulator’s motion. For simulation, equa- cab frame. A scaling and limit cutting block is applied to this force
tions of motion of a Stewart manipulator are set forth in Section 3 vector and then passed to the cab reference washout filter with a
including both kinematics and dynamics models. In Section 4, transfer function
a task space PD controller is fully described and the optimal gain-
s2
tuning problem is then outlined using mission information. Sec- Gc = (1)
tion 5 presents an algorithm to develop an approximate model of s2 + 2ζc ωnc s + ωnc
2

the forward kinematics, as a requirement for a task space control. The cab reference washout in Eq. (1) is a high pass filter to atten-
For such an algorithm, a genetic algorithm is used as a search tech- uate the constant level terms in f B in addition to the avoidance of
A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365 355

Fig. 2. Gradual stall recovery for ARA.

Fig. 3. Washout filter block diagram.

coupling between the channels. The output signal from the cab ref- aligned with the total specific force vector by adding a small ro-
erence washout is then transformed into the inertial frame by the tational signal at the end of the rotational channel. This small
matrix T i /c and a gravity term is added to cancel the gravity term rotational signal creates an illusion of sustained acceleration while
in the force f B . Thus, the pilot senses only the difference between slowely tilting. This process is called tilt coordination, which comes
the acting and the gravitational accelerations. The final step before after a low-pass filtering of the force f B by LPF1 with a trans-
the double integration is the inertial reference washout, which is fer function G l (s) = 1/(s2 + 2ζ ωnl + ωnl
2
). Selecting the constants of
also a second order high pass filter as well as in the case of Eq. (1) these filters, as a function of the aircraft’s type and the geometrical
but with a damping ration ζi and natural frequency ωni . The iner- configuration of the operated Stewart manipulator, is an optimiza-
tial reference washout provides the force from tilts and the force tion problem by itself to maximizing the cue recovery and keeping
involving past history of inertial acceleration in addition to return- the motion within the works space of the operated manipulator. In
ing the motion X to a zero value over the time [23]. this paper, the constants of the filters (frequencies and damping)
In the case of the rotational channel, after scaling and limiting are taken from Ref. [23] and the scaling constants are adjusted to
the angular velocity ω B in the cab reference, there is a body ref- the selected configuration of Stewart manipulator.
erence washout, a first order high pass filter G b (s) = s/(s + σb ).
This body reference washout eliminates the coupling between the 3. Manipulator equations of motion
channels and indirectly limits the gimbal angle quantities. The
matrix M transforms the angular velocities from the body frame 3.1. Kinematics model
to the Euler angles’ rates. The gimbal reference washout G g (s) =
s/(s + σ g ), works on returning the angles’ signals back to zero and In Fig. 4, there are two frames describing the motion of the
avoiding the anomalous specific force cues due to coupling of the moving plate: an inertial frame ( X , Y , Z ) located at the center of
translation channels. the base plate and a body frame (x B , y B , z B ) located at the center
In the case of a very slow variation of vehicle acceleration, of the moving plate with the z B -axis pointing outward. The angle
when the environment appears stable to the pilot, the gravity is between the local x B -axis of the moving plate and the line of the
356 A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365

Fig. 5. Leg mechanism.

Fig. 4. Joints’ positions on the moving plate.   


−Sθ 1 0 ψ̇
ω p = S ϕ C θ 0 Cϕ ϕ̇ (4)
joint J ui is denoted by βi and the angle between the X -axis of
Cϕ Cθ 0 −Sθ θ̇
the lower plate and the line of the joint J li is denoted by αi . The
position of the joints J ui and J li are defined in the inertial frame The mechanism of the leg i = 1, 2, . . . , 6 is shown in Fig. 5. The leg
as [15,18]: has three degrees of freedom: two rotational and one translational
 T  T motion. The leg can rotate around the universal joint axes ( Z leg and
P IJ li = X liI Y liI Z liI = R l cos(αi ) R l sin(αi ) 0 y bl ), while the upper part of the leg is sliding inside the lower part
by an actuating force F . The motion of each leg is considered by
i = 1, 2, . . . , 6
 B T two frames: a leg fixed frame ( X leg , Y leg , Z leg ) located at the joint
P IJ ui = X ui B
Y ui B
Z ui = R plate P BJui + T plate
I
J li parallel to the inertial frame and a leg body frame (xbl , y bl , zbl )
located at the same point with the xbl -axis pointing upward. The
where
rotation sequence of the leg starts by rotating around the Z leg -axis
  T T by an angle Γi , followed by a rotation about the y bl -axis by an
P BJui = X ui
B B
Y ui B
Z ui= R u cos(βi ) R u sin(βi ) 0
  angle εi . The rotational angles are then calculated by:
Cθ Cψ Sϕ Sθ Cψ − Cϕ Sψ Cϕ Sθ Cψ + Sϕ Sψ

R plate = Cθ Sψ Sϕ Sθ Sψ + Cϕ Cψ Cϕ Sθ Sψ − Sϕ Cψ and −1
I
Y ui − Y liI
−Sθ Sϕ Cθ Cϕ Cθ
Γi = tan
 
I
X ui − X liI
x(t )
I
T plate = y (t ) (2)
I
Z ui − Z liI
εi = tan−1 (5)
z(t ) + h I
( X ui − X liI )2 + (Y ui
I
− Y liI )2
In Eq. (2), R plate is the transformation matrix from the body frame
(x B , y B , z B ) to the inertial frame ( X , Y , Z ), where C refers to angle The transformation matrix R legi from (xbl , y bl , zbl ) frame to ( X leg ,
cosine and S refers to angle sine. The angles ψ (yaw), θ (pitch), Y leg , Z leg ) frame is then given by [15,18]
I
and φ (roll) are Euler angles. The translation vector T plate includes  
x(t ), y (t ), and z(t ) as the surge, sway, and heave motion’s com-
C εi C Γi − S Γi − S εi C Γi
ponents of the upper plate, where h is the nominal height of the R legi = C εi S Γi C Γi − S εi S Γi (6)
upper plate. The length vector of the ith leg L iI can then be com- S εi 0 C εi
puted as [15,18]:  i of the ith leg with respect to the leg body
The angular velocity ω
L iI = P IJ ui − P IJ li , i = 1, 2, . . . , 6 frame is defined as [15,18]
 ˙ 
or Γi sin(εi )
 ω i = −ε̇i (7)
L 2i = C θ C ψ R u cos(βi ) + ( S ϕ S θ C ψ − C ϕ S ψ ) R u sin(βi ) Γ˙i cos(εi )
2
+ x(t ) − R l cos(αi ) 3.2. Dynamic model and simulation

+ C θ S ψ R u cos(βi ) + ( S ϕ S θ S ψ + C ϕ C ψ ) R u sin(βi )
2 The dynamic model of Stewart manipulators have been inves-
+ y (t ) − R l sin(αi ) tigated by many methods. Based on the results that have been
 2 shown by Khalil and Guegan [10], Newton–Euler method has
+ − S θ R u cos(βi ) + S ϕ C θ R u sin(βi ) + z(t ) + h (3)
emerged to be the most effective way to model Stewart manipula-
Based on Eq. (3), the inverse kinematics has a closed form. tor dynamics. In Newton–Euler method, the kinetic system of the
The angular velocity ω p of the upper plate is [15,18] manipulator is described by 24 governing equations, six equations
A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365 357

Fig. 6. SimMechanics/SimuLink Stewart manipulator model.

for the movable plate, and the others for the legs. For complete- ali Translational acceleration of the ith lower leg
ness, the dynamic equations of Stewart manipulator are listed here. au i Translational acceleration of the ith upper leg
More details of the derivation are given in Refs. [10,24]. Based on a p Translational acceleration of the upper plate
the leg mechanism shown in Fig. 2, the 18 force and moment 
g Gravitational acceleration
equations of the six legs are α p Angular acceleration of the upper plate
f i Reaction force between the spherical joint and the upper
mu i r u i · (−
g + au i ) = F i − f xi , i = 1, 2, . . . , 6
  plate
mli rli × (−
g + ali ) + mu i r u i × (−
g + au i ) + [ I u i ] + [ I li ] α
i
  For numerical simulation, SimMechanics has been used in this
 i × [ I u i ] + [ I li ] ω
+ω  i − L i × f i = 0 (8) paper. SimMechanics is a block diagram modeling environment
The six force and moment equations of the upper plate are working under the SimuLink/Matlab toolbox, which provides an ef-
ficient simulation tool for rigid body machines and their motion. It
6
allows specifying bodies and their mass properties, their possible
m p a p = m p 
g+ T
R plate R legi f i motions, kinematic constraints, and to initiate and measure body
i =1 motions. Fig. 6 shows the block diagram of the Stewart manipu-
6 lator in SimMechanics. The upper plate is a rigid body connected
p + ω
[ I p ]α  p × [ I p ]ω
p = rbi × R plate
T
R legi f i (9) by six legs. Each leg has two rigid bodies: upper leg and lower
i =1 leg. The upper leg is connected to the upper plate by a spheri-
where cal joint, while it is connected to the lower leg by a cylindrical or
prismatic joint. The lower leg is connected to the base by a uni-
mli Mass of the ith lower leg versal joint. Six actuators are set at the cylindrical joints to move
mu i Mass of the ith upper leg the upper leg yielding to a change in the total length of each leg.
mp Mass of the upper plate There are six sensors to measure the variation of each leg’s length
[ I li ] Invariant inertia matrix of the ith lower leg and one sensor to measure the position and angular velocities of
[ I ui ] Variant inertia matrix of the ith upper leg the upper plate. Note these sensors measure the position and an-
[I p ] Inertia matrix of the upper plate gular velocities in body frame. From a practical point of view, the
rli Position vector of the ith lower leg sensor of the upper plate is not used to close the feedback pro-
ru i Position vector of the ith upper leg cess, thus such a sensor requires an inertia navigation system to
L i Length vector of the ith leg compute the inertial position and orientation form available mea-
rbi Position vector of the joint J li surements (body frame). The sensors of the legs are used to close
ω i Angular velocity of the ith leg the control loop leading to a need for an accurate forward kine-
ω p Angular velocity and acceleration of the upper plate matics model to estimate the task space displacements.
358 A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365

In Eq. (10), X c is the command task space of the mission passed


from the washout filter, X is the estimated task space vector from
the measured joint space vector L, J is the Jacobian matrix, and F
is the force vector acting on the prismatic joints of the legs. Root
locus and state space feedback based on linear theory are the com-
mon methodologies used to design the controller gains (K pi and
K di ). When the nonlinearity is significant (as in the case of Stew-
art manipulator), it is difficult to use such methods and to isolate
the influence of each gain on the response. Optimal gain tuning
for the controller based on the nonlinear simulation are applied in
[8,6,2,4], which is demonstrated herein using GA. In the next sec-
tion, a mission-based optimization technique is used to tune the
Fig. 7. Block diagram of joint space controller of Stewart manipulator. controller gains.

4. Step-response and mission-based optimal control 4.2. Optimal gain tuning

4.1. PD controller in task space Searching for optimal K p and K d is one of the objectives of this
research. Unlike the traditional gain tuning optimization technique
As shown in Fig. 7, the control law of the PD task space control
where the optimal controller gains are optimally tuned based on
of the Stewart manipulator is given by
the response of generic input, the influence of including the mis-
F = W τ = W K P e + W K d ė sion information for tuning the controller gains is considered in
this research. The overall assigned task (maneuver) of the manip-
= K P [ W ]( X c − X ) + K d [ W ]( Ẋ c − Ẋ ) ulator is defined herein as the mission. Each mission is a set of
F = [ F1 F2 · · · F 6 ]T , X = [ x y z ϕ θ ψ ]T steering points associated with time. The steering point is defined
⎡ ⎤ as the upper plate’s position vector and orientation vector at a spe-
K p1 0 ··· 0
cific time. The controller gain K p and K d are then tuned based
⎢ .. .. ⎥
⎢ 0 K p2 . . ⎥ on the nonlinear response of the manipulator during this mis-
KP = ⎢


⎥ sion’s information that the manipulator expected to operate onsite.
⎣ .. .. ..
. . . 0 ⎦ The results of this mission-based optimal gain tuning can improve
0 · · · 0 K p6 industrial robots’ performance and accuracy especially when the
⎡ ⎤ onsite tasks are repeated in the same way hundreds or thousands
K d1 0 ··· 0
⎢ .. ⎥ of times. In the case of the flight simulator, more specifically, the
⎢ 0 ..
K d2 . . ⎥ main purpose is to provide a realistic motion cue. Based on em-
Kd = ⎢
⎢ .

⎥ pirical knowledge and theoretical consideration, the pilot does not
⎣ . .. ..
. . . 0 ⎦ sense the position or the velocity, but he senses the translational
0 · · · 0 K d6 and rotational accelerations. In order to design a controller, which
is able to reduce the error of the sensed accelerations for a specific
W (x, y , z, φ, θ, ψ) = J −1 (x, y , z, φ, θ, ψ)
⎡ ∂ L1 ∂ L1 ∂ L1 ∂ L1 ∂ L1 ∂ L1 ⎤ maneuver such as stall recovery, mission-based optimal control
∂x ∂y ∂z ∂φ ∂θ ∂ψ is employed using the following proposed acceleration cost func-
⎢ ⎥ tion
⎢ ∂ L2 ∂ L2 ∂ L2 ∂ L2 ∂ L2 ∂ L2⎥
⎢ ∂x ∂y ∂z ∂φ ∂θ ∂ψ ⎥
=⎢ . .. ⎥ n =6
t =tspan 
⎢ . .. .. .. .. ⎥  d2 en (t ) 
⎣ . . . . . . ⎦ F mission = wn   n = 1, 2, . . . , 6
∂ L6 ∂ L6 ∂ L6 ∂ L6 ∂ L6 ∂ L6
 dt 2  dt ,
n =1 t =0
∂x ∂y ∂z ∂φ ∂θ ∂ψ
where

∂ Li R u [C θ C ψ C βi + ( S ϕ S θ C ψ − C ϕ S ψ ) S βi ] + x(t ) − R l C αi
= , i = 1, 2, . . . , 6
∂x Li

∂ Li R u [C θ S ψ C βi + ( S ϕ S θ S ψ + C ϕ C ψ ) S βi ] + y (t ) − R l S αi
=
∂y Li

∂ Li R u [ S ϕ C θ S βi − S θ C βi ] + z(t ) + h
=
∂z Li

∂ Li R u S βi [ S ϕ ( R l S αi −ψ + xS ψ − yC ψ ) + C ϕ ((− R l C αi −ψ + xC ψ + y S ψ ) S θ + (h + z)C θ )]
=
∂ϕ Li

∂ Li − R u [ S βi S ϕ ( R l C αi −ψ C θ − (xC ψ + y S ψ )C θ + (h + z) S θ ) + ((− R l C αi −ψ + xC ψ + y S ψ ) S θ + (h + z)C θ )C βi ]


=
∂θ Li

∂ Li R u [(C ϕ C ψ S βi + C βi C θ S ψ + S βi S ϕ S ψ S θ )(x − R l C αi ) + (C βi C ψ C θ − C ϕ S βi S ψ + C ψ S βi S ϕ S θ )( y − R l S αi )]
= (10)
∂ψ Li
A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365 359

where If the value of this bit is “1”, the equivalent predictor vector
q i is then counted in the structure of the regression model; if the
e 1 (t ) = xref (t ) − x(t ), e 2 (t ) = y ref (t ) − y (t ) value is “0”, q i is omitted. In the case of 3rd order polynomial, the
switching factor is 284 . The optimization problem is then defined
e 3 (t ) = zref (t ) − z(t ), e 4 (t ) = ϕref (t ) − ϕ (t ) to minimize the so-called predicted squared error (PSE) cost func-
tion to find the minimum number of predictors with minimum
e 5 (t ) = θref (t ) − θ(t ), e 6 (t ) = ψref (t ) − ψ(t ) (11) error, defined by
The cost function in Eq. (11) is used to minimize the integral of the 2J K 2
acceleration error d2 e /dt 2 , where e is the difference between the F PSE = + σmax (15)
N N
reference and measured coordinates in task space. The cost func-
2
tion is the sum of the scaled acceleration errors in task space co- The constant σmax is the prior upper-bound estimate of the square
ordinates X = [x, y , z, φ, θ, ψ] T . Scaling factors w n , n = 1, 2, . . . , 6 error between future data and the model. The F PSE function de-
are tuned to normalize the error for all the coordinates. In this pends on the mean squared fit error J / N and a term proportional
case, the time span is defined as the total time span of mission. to the number of terms in the model.
Searching for the optimal SF or optimal structure model is a
5. Optimal kinematics approximation via simulation discontinued optimization problem. For that reason, GA is used.
Thus, most conventional optimization techniques depend on slope
or curvature of the response surface which is not available in the
5.1. Optimal regression model
current problem. The procedure can be summarized as:

The authors developed an algorithm for approximating the 1. Generate a binary vector SF.
Stewart manipulator’s forward kinematics in Ref. [15]. This tech- 2. Construct the Q matrix from Eq. (14).
nique uses the predicted squared error (PSE) cost function and 3. Compute the regression constant using LSE.
genetic algorithms to find an optimal structure for the forward 4. Compute the F PSE cost function in Eq. (15).
kinematics model by reducing the number of predictors in the
model without affecting the required accuracy for control applica- Unlike the previously proposed technique of solving the forward
tions. The algorithm starts by using the inverse kinematics’ model kinematics using the GA online in Ref. [3], the current technique
for seeding N regression points in order to relate the task space uses the GA to find the optimal SF or the optimal approximate
coordinates X = [xyzφθψ] as a function of the joint space coordi- regression model offline. This regression model is then employed
nates L = [ L 1 L 2 L 3 L 4 L 5 L 6 ]. The seeded regression points are tabu- to solve the forward kinematics. In other words, GA is not used
lated in the two matrices online for solving the forward kinematics. Thus, Ref. [3] shows that
⎡ ⎤ there is no advantage in using GA to solve the forward kinematics
x1 y1 z1 ϕ1 θ1 ψ1 in the case of the Stewart manipulator and GA may take longer
⎢ x2 y2 z2 ϕ2 ψ2 ⎥ than the Newtown–Raphson iteration scheme.
⎢ θ2 ⎥
MX = ⎢
⎢ .. .. .. .. ..

.. ⎥
⎣ . . . . . . ⎦ 5.2. Genetic algorithms
xN y N z N ϕN θN ψN
⎡ ⎤ There are two optimization phases required in this research:
L 11 L 21 · · · L 61
a) tuning the control in the case of mission-based and step
⎢L L 22 ··· L 62 ⎥
⎢ 12 ⎥ response-based optimization as mentioned in Section 4.1 and
ML = ⎢
⎢ .. .. .. .. ⎥
⎥ (12) searching for an optimal SF for each task space coordinate in
⎣ . . . . ⎦ order to develop an approximate forward kinematic model. In
L 1N L 2N · · · L 6N both cases, Genetic algorithm is used because it is now con-
sidered as one of the most popular global optimization and
Six regression problems seek to approximate each task space co- search techniques. The first obvious application of the algorithm
ordinate (x, y , . . . , ψ ) as a function of the joint space coordinates. traced back to 1962 when the algorithm was introduced for
If 3rd order polynomials are selected to such regression models, studying adaptive systems [9]. The main advantages of GA are
there are K = 84 different predictors q defined by its global optimization performance and the ease of distribut-
ing its calculations among several processors or computers as
q = Lli L m n
j Lk where l + m + n  3 it operates on the population of solutions that can be evalu-
ated concurrently. It is a very simple method, generally applica-
l, m, n = 1, 2, 3 and i , j , k = 1, 2, . . . , 6 (13)
ble, not inclined to local optimization problems that arise in a
In order to achieve an optimal regression structure, a switch- multimodal search space, that require special mathematical treat-
ing factor SF = [ sf 1 sf 2 · · · sf K ] is used. This factor is a K - ment. Moreover, the algorithm is more suited to discontinuous
dimensional vector. Each element (sf k ) of this vector is a binary problems, unlike the conventional gradient-based searching algo-
bit to disable or enable the vector q i as revealed by: rithms.

SF = [ 1 1 0 . . . 0 0 1 ... 0 1]
⎡q q2,1 q3,1 . . . qi −1,1 qi ,1 qi +1,1 . . . q K −1,1 q K ,1 ⎤
1,1
⎢ q1,2 q2,2 q3,2 . . . qi −1,2 qi ,2 qi +1,2 . . . q K −1,2 q K ,2 ⎥
Q=⎢
⎣ .. .. .. .. .. .. .. .. .. .. ⎥ ⎦ (14)
. . . . . . . . . .
q 1, N q 2, N q 3, N . . . q i −1 , N q i , N q i +1 , N . . . q K −1 , N q K , N
360 A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365

Table 1 Basically, the genetic algorithm works based on the mecha-


Pseudo code of GA. nism of natural selection and evolutionary genetics. The algorithm
BEGIN GA starts by coding the variables to binary strings (chromosomes). Ev-
Make initial population at random. ery chromosome has n genes. The gene is a binary bit with value
WHILE NOT (stopping condition) DO
zero or one. Three main operations control the procedure of the
BEGIN
Select parents from the population. GA: reproduction, crossover, and mutation. Reproduction is a pro-
Produce offspring from the selected parents (crossover). cess to select the parent from a generation. The process is based
Mutate the individuals. on survival of the fittest (highest performance index). In this way,
Extend the population adding the offspring to it.
Reduce the extended population.
the reproduction process guides the search for the best individ-
END uals (high performance index). After the individuals are selected,
Output the best individual found. the crossover process is then used to swap between two chromo-
END GA somes using specific probabilistic decisions. The crossover process
generates offspring carrying mixed information from swapped par-
ents (chromosomes). Mutation is the mechanism to prevent the

Table 2
Simulation parameters of Stewart manipulator.

Variable Description Value Unit


Lu Length of upper leg 0.95 m
Ll Length of lower leg 0.95 m
ruo Outer radius of upper leg 0.03 m
rlo Outer radius of lower leg 0.05 m
rli Inner radius of lower leg 0.03 m
mlu Mass of upper leg 37.17 kg
mll Mass of lower leg 37.17 kg
I xl , I yl , and I zl Lower leg moment of inertia 0.0632, 2.8536, and 2.8536 kg m2
I xu , I yu , and I zu Upper leg moment of inertia 0.0094, 1.592, and 1.592 kg m2
Ru Radius of the movable plate 0.4 m
Rl Radius of base plate 1 m
mu Mass of the movable plate 194.71 kg
α Joint angles of base plate [−50, 50, 70, 170, −170, −70] deg
β Joint angles of upper plate [−2, 2, 118, 122, −122, −18] deg
K pL Lower boundary of K p 104 N/m
K pu Upper boundary of K p 106 N/m
K dL Lower boundary of K d 100 N s/m
K du Upper boundary of K d 104 N s/m

Table 3
Regression coefficients of the approximate forward kinematics model.

Coeff. Value Coeff. Value Coeff. Value Coeff. Value Coeff. Value Coeff. Value
x 12
K 26 0.229 y 12
K 12 0.006 z 21
K 46 −0.405 ϕ K 21
16 0.582 θ K 12
46 −0.093 ψ K 21
12 −1.252
x 12
K 46 −0.049 y 21
K 34 0.125 z 12
K 36 −0.065 ϕ K 21
23 −0.104 θ K 12
15 −0.068 ψ K 11
26 0.928
x 21
K 26 −0.167 y 11
K 16 0.459 z 12
K 25 −0.407 ϕ K 21
26 −0.048 θ K 11
56 −0.006 ψ K2
1 0.267
x 12
K 16 −0.341 y 21
K 13 0.282 z 21
K 34 0.072 ϕ K 11
35 0.435 θ K 21
23 0.328 ψ K3
4 0.160
x 11
K 14 −0.048 y 12
K 56 0.143 z 11
K 36 0.282 ϕ K 11
34 1.462 θ K 11
45 0.025 ψ K 11
13 −0.598
x 21
K 13 −0.233 y 11
K 56 0.381 z 3
K4 0.002 ϕ K 12
36 −0.293 θ K 12
14 −0.843 ψ K 11
25 −0.102
x 11
K 36 0.303 y 111
K 125 0.309 z 11
K 45 0.413 ϕ K 12
16 0.040 θ K 12
12 −0.155 ψ K 12
16 0.513
x 21
K 36 −0.281 y 11
K 14 −0.685 z 21
K 36 −0.229 ϕ K 12
13 −0.374 θ K 11
34 −0.268 ψ K 21
12 1.400
x 12
K 13 0.357 y 12
K 14 0.051 z 12
K 16 0.076 ϕ K 11
16 −1.893 θ K 11
13 −0.201 ψ K 111
124 0.212
x 11
K 12 −0.317 y 1
K6 −0.316 z 12
K 15 −0.294 ϕ K 12
25 −0.013 θ K 11
14 1.445 ψ K 21
16 −0.767
x 21
K 23 −0.074 y 3
K5 0.076 z 12
K 46 0.049 ϕ K 21
14 −0.088 θ K 11
23 −0.982 ψ K 12
14 −0.454
x 11
K 16 −0.032 y 111
K 456 −0.005 z 12
K 26 −0.222 ϕ K 12
45 0.170 θ K 21
56 0.135 ψ K3
2 0.545
x 12
K 24 −0.003 y 111
K 256 −0.256 z 21
K 56 0.505 ϕ K 111
456 −0.267 θ K1
6 −1.063 ψ K2
4 0.162
x 21
K 45 0.046 y 111
K 123 −0.454 z 111
K 236 0.252 ϕ K 111
356 −0.289 θ K1
5 2.091 ψ K 21
14 −0.089
x 111
K 245 −0.014 y 111
K 126 0.362 z 11
K 26 0.29 ϕ K 111
345 −0.541 θ K 111
134 0.564 ψ K 11
12 −0.506
x 3
K2 −0.003 y 111
K 246 −0.187 z 12
K 56 −0.436 ϕ K 111
235 0.278 θ K2
5 −0.538 ψ K 11
56 −0.406
x 111
K 126 0.534 y 111
K 235 0.175 z 111
K 125 0.739 ϕ K 111
146 −0.563 θ K1
1 −1.131 ψ K 111
245 0.525
x 11
K 26 −0.003 y 111
K 156 −0.545 z 21
K 12 −0.352 ϕ K 111
145 0.434 θ K2
3 −0.088 ψ K 21
26 −0.336
x 111
K 125 −0.049 y 111
K 124 0.194 z 111
K 145 −0.106 ϕ K 111
136 0.863 θ K2
4 0.616 ψ K 12
45 −0.150
x 1
K6 0.063 y 3
K1 −0.049 z 111
K 136 0.039 ϕ K 111
146 1.433 θ K 111
235 −0.083 ψ K 21
56 0.113
x 3
K6 0.089 y 21
K 12 −0.194 z 2
K1 0.212 ϕ K2
1 −0.216 ψ K 12
23 −0.398 ψ K1
6 −0.556
x 1
K5 −0.071 y 3
K4 −0.104 z 2
K4 0.025 ϕ K3
6 −0.027 ψ K 11
24 0.249 ψ K 12
31 0.350
x 2
K3 0.044 y 3
K3 −0.124 ϕ K 21
46 −0.187 ϕ K1
4 −1.298 ψ K 21
13 0.199 ψ K 111
246 −0.505
x 111
K 134 −0.047 z 12
K 24 0.175 ϕ K 21
15 −0.125 θ K 12
26 0.119 ψ K 12
24 0.042 ψ K 111
236 0.264
y 11
K 24 0.345 z 21
K 24 −0.151 ϕ K 12
46 0.741 θ K 11
25 0.202 ψ K 21
15 −0.065 ψ K 111
156 −0.439
A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365 361

Table 4
Computational expenses of the proposed forward kinematics model.

Surge Sway Heave Roll Pitch Yaw


Number of terms of the proposed model 24 24 25 26 22 30
Number of terms of the full Taylor expansion model 80 80 80 80 80 80
Number of multiplications of the proposed model 62 66 67 65 48 80
Number of multiplications of the full Taylor expansion model 216 216 216 216 216 216

Fig. 8. Task space coordinates for the gradual stall recovery maneuver.

algorithm from centering on local optimal points by adding some a random population of size 20 chromosomes (first generation or
degree of randomness. The process is performed by alternation of the parents). Both crossover and mutation processes are applied
the gene from zero to one or from one to zero with the mutation to these chromosomes in order to produce the offspring. The par-
point determined uniformly at random. The mutation rate should ents are combined with their offspring in order to be ranked based
be considered carefully since the higher mutation rate means a on their fitness given by the cost function in Eq. (15). From both
greater number of generations are required for the algorithm con- parents and offspring, the 20 chromosomes with the highest fit-
vergence and a low mutation rate may lead to a convergence for ness function values are then selected to be the new generation.
a local minimum. The algorithm maintains a constant size of gen- In this way, each generation has a fixed population size of 20 or
eration by selecting the fittest chromosomes from parents and off- no generation overlap. The process is then repeated. The algorithm
spring. The algorithm iteratively operates to converge for schema converges when all the chromosomes in the same generation share
matches within a given tolerance. Roughly, a genetic algorithm the same genetic heritage. This optimization code was conducted
works as shown in Table 1. Further description of genetic algo- many times with different starting points (initial solution) and it
rithms can be found in Refs. [9,7]. converges to the same solution every time. The algorithm is con-
vergent for all the optimization problems. The average number of
6. Results and discussion generations for convergence is 3500. The resultant optimal regres-
sion structure is
The parameters listed in Table 2 are used in this paper to
validate the proposed algorithms. The first step is to develop an X
approximate model of the forward kinematics using the algo- X= K ilmn l m n
jk L i L j L k and l + m + n  3, l, m, n = 1, 2, 3
rithm in Section 5. A population of 15 000 samples was seeded
i , j , k = { 0, 1 , 2 , . . . , 6 }
from the inverse kinematics model in Section 3. The number of
predictors generated is 84. Six optimization problems are then X = {x, y , z, ϕ , θ, ψ} (16)
considered to model the translational {x(t ), y (t ), z(t )} and ro-
tational {φ(t ), θ(t ), ψ(t )} motions in terms of joint space vari- The values of the regression coefficients are given in Table 3.
ables { L i (t ), i = 1, 2, . . . , 6}. Genetic algorithms then propagate the Table 4 shows the computational expenses of the resultant for-
search for an optimal SF for each motion. Since 284 possible struc- ward kinematics model. The computational expense of each ex-
tures are assigned to be candidates for the optimization search, pression is computed as the number of terms and the number of
the length of each chromosome is coded by 84 bits. For the six- multiplication operations. For example, the yaw expression has 30
optimization problems, the genetic algorithm starts by generating terms: 21 cubic/tri-linear terms, 8 quadratic/bi-linear terms, and
362 A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365

Fig. 10. Position error from approximating the forward kinematics.

Fig. 9. Active joint displacements for the gradual stall recovery maneuver.

one linear term. The total number of the multiplication in this ex-
pression is 80 (21 × 3 + 8 × 2 + 1) operations. Compared to the
full Taylor expansion given in Ref. [20], the total number of terms
is 84: 56 cubic/tri-linear terms, 21 quadratic/bi-linear terms, 6 lin-
ear terms, and 1 constant term. The total number of multiplication
is then 216 operations. Such comparison proves that the proposed
technique has the capability to deliver an optimal forward kine-
matics model for Stewart manipulator. Herein, the optimality is
defined in terms of saving memory and computation expenses. The
yaw motion example indicates that there is a 65% savings in the
number of terms and a 63% savings in the number of multipli-
cations. This example is the worst-case in the overall model (see
Table 4). More discussion on the validation and robustness of this
model is presented by the authors in Ref. [15].
The time histories of the stall recovery maneuver, shown in
Fig. 2, are now passed to the washout filter in order to generate
the command signals for the Stewart manipulator. The parameter
of the washout filter was taken from Ref. [23]. For the translation
Fig. 11. Velocity error from approximating the forward kinematics.
drive channel, all the filters have a damping ratio ζ = 1 and fre-
quencies ωn = 2.5 rad/s, 4 rad/s, and 4 rad/s for x-, y-, and z-axes
respectively. All the first order filters in the rotational channel have tuning using genetic algorithms starts by generating random initial
a time constant σ = 1 1/s. The low pass filters of the tilt coordi- populations of the controller gains K p = diag([ K p1 K p2 . . . K p6 ])
nation have a damping ratio ζ = 1 and frequencies ωn = 5 rad/s and K d = diag([ K d1 K d2 . . . K d6 ]), where “diag” denotes the di-
and 8 rad/s for x- and y-axes respectively. Note: there is no tilt agonal of the matrix. The fitness of each individual is evaluated
coordination for z-axis. The resultant task space coordinates based from the inversion of Eq. (11). Thus, a genetic algorithm works
on this washout filter are given in Fig. 8 and their equivalent leg for maximizing and the control-tuning problem aims to minimize
displacements are given in Fig. 9. the error. The new generation is selected from the current pop-
Before tuning the control gains, it is important to investigate
ulation and passed to the next iteration of the algorithm. There
the accuracy of the developed approximate forward kinematics
is a possibility of receiving an unstable behavior for some ran-
model (listed in Table 3) for the current stall maneuver. The time
domly chosen control gains. In order to avoid such an unstable
histories of the legs in Fig. 9 are passed to this approximate for-
response, a two-second test simulation is initially conducted on
ward kinematics model. Figs. 10 and 11 show the normalized er-
each individual set of gains. If the error during these first 2 sec-
rors between the estimated and actual task space coordinates E k =
onds violates a specific threshold limit, the simulation will stop
[ ekx ekx ekθ ] and their equivalent derivatives Ė k = [ ėkx ėkx ėkθ ].
Thus, this model will be used in the case of PD control, whereby and set the fitness value to zero. The parameters of the genetic
position and velocity errors are a matter of concern. It is clear how algorithm are set at: 1) the mutation rate is 10%, 2) each genera-
adequate the model is. The maximum normalized position error tion has a fixed population size of 100 or no generation overlap,
appears in the surge motion by ekx = −0.68% at time t = 30.2 s, and 3) the maximum number of generations is 500. The optimiza-
while the maximum normalized velocity error appears in the pitch tion code was conducted many times from different starting points
rotation by ekθ = 1.05% at time t = 28.3 s. (initial solution). In the initial five runs, GA reaches the maxi-
After checking the accuracy of the developed approximate for- mum number of generations without convergence. Starting from
ward kinematics model, the model is then used inside the control the sixth run, GA convergences and this convergence is passed to
loop in order to transform the measured legs’ displacements (joint the next run. After the 8th run even with changing the mutation
space displacements) to the task space displacements. The optimal rate, GA keeps converging at the same value of K p = diag([3.17 ×
A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365 363

Fig. 12. System response in the task space position displacements.

Fig. 13. System response in the task space velocity displacements.

105 , 3.03 × 105 , 5.87 × 105 , 1.07 × 105 , 1.85 × 105 , 4.74 × 105 ]) and overall response is accurate enough to deliver the same feeling to
K d = diag([7.96 × 103 , 6.95, 5.09, 4.23 × 104 , 7.02 × 103 , 6.51]). The the pilot.
response of the system based on these gains is shown in Figs. 12–
7. Conclusion
14. It is clear that there is a high match between the desired and
measured signals in the cases of position and velocity and this In this paper, an algorithm to design an optimal control for a
match is reduced in the case of the acceleration. However, the Stewart manipulator based on mission-information has been of-
364 A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365

Fig. 14. System response in the task space acceleration displacements.

fered. The algorithm has two optimal phases: a forward kinematics [8] K. Haruhisa, L. Geng, Gain tuning in discrete-time adaptive control for robots,
approximation and a gain tuning search. The approximate forward in: SICE Annual Conference in Fukui, August, 2003.
[9] J. Holland, Adaptation in Natural and Artificial Systems, The University of
kinematics model shows a significant reduction in the computa-
Michigan Press, 1975.
tional expense and an adequate accuracy level. This approximate [10] W. Khalil, S. Guegan, Inverse and direct dynamic modeling of Gough–Stewart
kinematics model is used to construct a PD task space control loop, robots, IEEE Transactions on Robotics and Automation 20 (2004) 754–761.
whereby the control gains are optimally tuned to reduce the accel- [11] H. Kim, Y. Cho, K. Lee, Robust nonlinear task space control for 6 DOF parallel
eration error delivered to the pilot. The response of the Stewart manipulator, Automatica 41 (6) (2005) 1591–1600.
[12] K. Liu, J. Fitzgerald, F. Lewis, Kinematic analysis of a Stewart platform manipu-
manipulator based on these optimal gains shows a match between
lator, IEEE Transactions on Industrial Electronics 40 (2) (1993) 282–293.
the desired and the measured acceleration in the case of the stall [13] K. Liu, F. Lewis, M. Fitzgerald, Solution of nonlinear kinematics of a parallel-
recovery maneuver. Thus, it is very important to avoid any wrong link constrained Stewart platform manipulator, Circuits, Systems, and Signal
emulation for training the pilot to such a dangerous maneuver, Processing (Special Issue on “Implicit and Robust Systems”) 13 (23) (1994)
which affects his response to execute successful recovery action. 167–183.
[14] I. Nag, W. Chong, High speed tracking control of Stewart platform manipula-
tor via enhanced sliding mode control, in: IEEE International Conference on
Acknowledgement Robotics & Automation, Leuven, Belgium, May 1998, pp. 2716–2721.
[15] A. Omran, M. Bayoumi, A. Kassem, G. El-Bayoumi, Optimal forward kinematics
The authors gratefully thank Mr. Jeremy Roadcap, research as- modeling of Stewart manipulator using genetic algorithms, Jordan Journal of
sistant at Old Dominion University, USA, for his help in producing Mechanical and Industrial Engineering 3 (4) (2009) 280–293.
[16] A. Omran, G. El-Bayoumi, M. Bayoumi, A. Kassem, Genetic algorithm based op-
the graphics.
timal control for a 6-DOF non-redundant Stewart manipulator, International
Journal of Mechanical Systems Science and Engineering 2 (2) (2008) 73–79.
References [17] A. Omran, M. Elshabasy, A note on: Inverse dynamic control of parallel manip-
ulators, Proceedings of the Institution of Mechanical Engineers, Part C, Journal
[1] S. Anderson, Historical overview of stall/spin characteristics of general aviation of Mechanical Engineering Science 224 (1) (2010) 25–32.
aircraft, Journal of Aircraft 16 (2) (1979) 455–461. [18] A. Omran, A. Kassem, G. El-Bayoumi, M. Bayoumi, Mission-based optimal con-
[2] H. Baogang, K. George, G. Raymond, New methodology for analytical and opti- trol of Stewart manipulator, Aircraft Engineering & Aerospace Technology Jour-
mal design of fuzzy PID controllers, IEEE Transactions on Fuzzy Systems 7 (5) nal 81 (3) (2009) 147–153.
(1999) 521–539. [19] P. Parikh, S. Lam, A hybrid strategy to solve the forward kinematics problem in
[3] R. Boudreau, N. Turkkan, Solving the forward kinematics of parallel manip- parallel manipulators, IEEE Transactions on Robotics 21 (1) (2005) 18–25.
ulators with a genetic algorithm, Journal of Robotic Systems 13 (2) (1996) [20] H. Sadjadian, H. Tahghirad, Comparison of different methods for computing the
111–125. forward kinematics of a redundant parallel manipulator, Journal of Intelligent
[4] M. Chris, Genetic algorithms for auto-tuning mobile robot motion control, Res. and Robotic Systems 44 (3) (2005) 225–246.
Lett. Inf. Math. Sci. 3 (2002) 129–134. [21] Y. Sait, O. Ibrahim, K. Metin, H. Ghingiz, Optimization of the PD coefficient
[5] P. Dietmaier, The Stewart–Gough platform of general geometry can have 40 in a flight simulator control via genetic algorithms, Aircraft Engineering &
real postures, in: Advances in Robot Kinematics: Analysis and Control, Kluwer Aerospace Technology Journal 74 (2) (2002) 147–153.
Academic Publishers, 1998, pp. 7–16. [22] L. Sang, C. Han, The estimation for forward kinematics solution of Stewart
[6] L. Faa-Jeng, L. Chih-Hong, On-line gain tuning using RFNN for linear syn- platform using the neural network, in: IEEERSJ International Conference on In-
chronous motor, in: IEEE, PESC, vol. 2, 2001, pp. 766–771. telligent Robots & Systems, 1999, pp. 501–506.
[7] David E. Goldberg, Genetic Algorithms in Search, Optimization and Machine [23] F. Schmidt, B. Conrad, Motion drive signals for piloted flight simulators, Tech-
Learning, Addison–Wesley, 1989. nical Report CR-1601, NASA, 1969.
A. Omran, A. Kassem / Aerospace Science and Technology 15 (2011) 353–365 365

[24] F. Shaowen, Y. Yu, W. Yuanqing, Comments on “A Newton–Euler formulation [27] F. Stengel, B. Nixon, Stalling characteristics of a general aviation aircraft, Journal
for the inverse dynamics of the Stewart platform manipulator” by B. Dasgupta of Aircraft 19 (6) (1982) 425–434.
and T.S. Mruthyunjaya [Mech. Mach. Theory 33 (1998) 1135–1152], Mechanism
[28] D. Stewart, A platform with six degrees of freedom, Proceedings of the Institu-
and Machine Theory 42 (12) (2007) 1168–1671.
tion of Mechanical Engineers 180 (5) (1965) 371–386.
[25] S. Stan, R. Balan, V. Maties, Modelling design and control of 3DOF medical par-
allel robot, Journal Mechanika 74 (6) (2008) 68–71. [29] C. Szep, S. Stan, V. Csibi, R. Balan, Study of design, kinematics and accuracy
[26] S. Stan, R. Balan, V. Maties, C. Rad, Kinematics and fuzzy control of ISOGLIDE3 modelling of 3 degrees of freedom robot, Journal Mechanika 77 (3) (2009) 58–
medical parallel robot, Journal Mechanika 75 (1) (2009) 62–66. 61.

You might also like