### 國立臺灣大學電機資訊學院電機工程學系 博士論文

### Department of Electrical Engineering

**College of Electrical Engineering and Computer Science ** National Taiwan University

### Doctoral Dissertation

### 應用於虛擬實境之六自由度並聯式液壓平台之姿態 控制與沖淡濾波器設計

### Posture Control of a 6-DOF Parallel Hydraulic Manipulator and Washout Filter Design for Virtual Reality Application

### 陳聖化 Sung-Hua Chen

### 指導教授：傅立成 博士 Advisor: Li-Chen Fu, Ph.D.

### 中華民國 100 年 7 月

### July, 2011

## 致 致 致 致謝 謝 謝 **謝 **

在博士班的求學生涯中，首先要感謝的是我的指導老師－傅立成教授。因為老師 的指導和幫助，才使本論文能順利完成。老師治學的態度相當嚴謹，對於任何研究工 作無不致力於學理上的探討，使得我雖感受到壓力卻也習得做學問的方法。而更令我 佩服的是老師凡事堅持到底的精神，不管是研究或計劃，都以負責任、全力以赴的態 度奮鬥到最後。除了研究上的指導之外，老師待人處事的圓融風格及在各種國際場合 皆能應付自如的氣度，更是讓我受益良多。

感謝我的口試委員羅仁權教授、李祖聖教授、蔡清池教授、周至宏教授、蘇武昌 教授、鄭榮偉教授、林容杉教授、黃勤鎰教授，老師們的指正與建議使得本論文更加 完善。

感謝明理、正民、銘全、智富學長們的照顧與幫助，威文、定國、俊緯等學弟的 鼓勵與關懷，以及仁德大哥、博士後研究員正凱的寶貴意見。與你們的討論讓我解決 許多研究上的問題，並啟發我許多想法。特別感謝明理學長對我的研究和論文寫作上 的指導。還要感謝 ACL 實驗室歷屆的學長及學弟妹，彼此在課業與生活上的互相照 顧，讓我漫長的博士班生涯充滿了許多歡樂與珍貴的回憶。

最後感謝我的家人，讓我在衣食無慮的情況下完成學業。感謝過世的父親，給我 面對一切困難的勇氣，是我完成學業的動力。感謝母親從小對我無微不至的細心照顧。

還有哥哥和姊姊，謝謝你們對我一直持續的支持與關懷。

## 摘要 摘要 摘要 **摘要 **

駕駛模擬機是一個整合系統，其組成包含運動平台系統、電腦圖學，三維物理模 擬及動感演算法。本篇論文對應用於駕駛模擬機之液壓驅動史都華平台的非線性控制 問題進行探討，並且也討論動感法則之設計問題。

在本篇論文的第一部份，對於一般的 6-6 史都華平台，我們提出了一個以觀測器 為基礎的前向運動學解法，並且將此解法應用於設計一個輸出回授的滑動模式控制。

傳統的前向運動學解法若非計算負荷太重就是太複雜，因而無法使用於線上控制的架 構中。將本論文所提出的解法應用於輸出回授控制架構上，不須加裝額外的感測器便 可以達成運動平台的六自由度姿態控制。傳統所使用的控制方法乃是控制每一個驅動 器長度，相對的，我們提出的輸出回授控制器是直接在卡式座標系上控制平台姿態。

我們亦提出此設計的穩定性證明以確保控制誤差的收斂。

接著，我們提出了一個遞回步階控制策略，並結合了前述之觀測器為基礎的前向 運動學解法，以控制此六自由度之並聯式液壓平台。與傳統控制方法不同的是，我們 所提出的控制不只考慮平台動態，並且包含液壓驅動器的動態。此控制器的計設目的 在於移動平台追尋給定的姿態軌跡。我們對此控制亦驗證其穩定性以確保誤差收斂。

對前述之輸出回授控制與此遞回步階控制，我們皆呈現了數值模擬和實驗結果以驗證 設計的效能。

駕駛模擬機的擬真運動乃是由動感法則所產生的。本論文中應用了最佳沖淡濾波 器設計將人體感知誤差最小化以提供擬真的運動行為，此設計並考慮了模擬機的運動 空間限制。此濾波法則基於人體內耳庭系統，比較了模擬機駕駛者與真實載具駕駛者 的感受。成本函數包含駕駛者的感受誤差及平台的運動，將其最小化以達成最佳設計。

為補償最佳沖淡濾波器固定參數的缺點，我們應用了運動感知的模糊控制法則在線上 調整過濾之信號。模擬結果驗證了平台工作空間的使用效率以及相對於傳統沖淡濾波 器小的感知誤差。

關鍵詞：非線性控制、史都華平台、前向運動學、遞回步階控制、液壓驅動器、動感 法則、感知誤差

**Abstract**

The vehicle simulator is an integrated system which is a synthesis of motion platform system, computer graphs, 3-dimensional physics, and a motion cueing algorithm. This dissertation investigates the nonlinear control issues of a hydraulic actuated Stewart platform used as the motion platform in the vehicle simulator system, and the motion cueing algorithm.

In first part of this dissertation, an observer-based forward kinematics solution of a 6-6 Stewart platform is proposed and this algorithm is applied to implement an output feedback sliding mode control. The conventional forward kinematics solutions take too much computational load or are too complex to be carried out in the on-line control scheme. With the proposed solution, 6-DOF posture control of the moving platform can be achieved without installation of any external sensor after applying an output feedback control. In contrast with the conventional control scheme which aims to control individual leg length in actuator domain, the output feedback controller is proposed here to control the posture in Cartesian coordinates directly. The stability is proved to ensure convergence of the tracking errors.

After that, a backstepping control strategy is proposed to control the 6-DOF parallel hydraulic manipulator while incorporating the observed-based forward kinematics solver.

Different from conventional control methods, the proposed control considers not only the

platform dynamics but also the dynamics of the hydraulic actuators. The objective of controller design is to drive the moving platform such that its posture tracks a given trajectory. The stability of the whole system is thoroughly proved to ensure convergence of the tracking errors. Simulations and experimental results of the output feedback control in first part and the backstepping control are presented to validate the effectiveness of the design.

The realistic motion of the vehicle simulator is produced by the motion cueing algorithm. An optimal washout filter, taking into account the limitation of the simulator’s workspace, is applied here to minimize human’s perception error in order to provide realistic behavior. The filtering algorithm compares the human’s perception of driving simulator with that driving actual vehicle obtained based on the human vestibular model.

The cost function accounting for both the pilot’s sensation error and the range of platform motion is minimized. To compensate the drawback of fixed parameters in optimal washout filter, the fuzzy control rules of motion perception are applied to online adjust the filtered signals. The simulation results verify the efficient utilization of the platform workspace and less sensation error in comparison with that obtained by the classical washout filter.

Keywords: Nonlinear Observer, Stewart Platform, Forward Kinematics, Backstepping Control, Hydraulic Actuator, Motion Cueing Algorithm, Sensation Error.

**Contents **

致謝……….i

摘要………....ii

Abstract………..iii

Contents………..v

List of Figures………...vii

List of Tables………...ix

Chapter 1 Introduction...1

1.1 Motivation ... 1

1.2 Survey of Related Researches ... 4

1.3 Contributions ... 10

Chapter 2 Preliminary ... 13

2.1 Kinematics of 6-DOF Motion Platform ... 13

2.1.1 Inverse Kinematics... 13

2.1.2 Forward Kinematics ... 16

2.2 Dynamics of 6-DOF Motion Platform ... 17

2.3 Conventional Control Scheme... 20

2.4 Vestibular Mathematical Model ... 21

Chapter 3 Output Feedback Posture Control ... 25

3.1 Design of the Nonlinear Observer ... 25

3.1.1 MIMO affine nonlinear system ... 25

3.1.2 The Concept and Conditions of the Observer ... 26

3.1.3 Design the Observer for the Platform Model ... 30

3.2 Output Feedback Control ... 37

3.2.1 State Feedback Controller ... 37

3.2.2 Output Feedback Controller ... 40

3.3 Simulation Results ... 46

3.3.1 Effect of the Observer ... 46

3.3.2 Simulation of Output Feedback Control ... 51

3.4 Experimental Results ... 55

Chapter 4 Control of a Hydraulic Actuated Stewart Platform ... 61

4.1 Electro Hydraulic Actuator ... 61

4.2 Controller Design ... 66

4.2.1 Backstepping Controller ... 66

4.2.2 Stability Analysis ... 70

4.3 Simulation Results ... 74

4.4 Experimental Results ... 78

4.4.1 Observer Performance ... 79

4.4.2 Controller Performance ... 80

Chapter 5 Washout Filter Design ... 85

5.1 Classical Washout Filter ... 86

5.2 Optimal Washout Filter ... 90

5.2.1 Model for the Vestibular System ... 91

5.2.2 Integrated System... 95

5.2.3 Derivation of Optimal Design ... 96

5.3 Fuzzy Compensation Design ... 99

5.4 Simulation Results ... 101

Chapter 6 Conclusion ... 107

Bibliography………110

**List of Figures **

Figure 1.1 Schematics of the vehicle simulator ... 2

Figure 2.1 Top platform ... 14

Figure 2.2 Base platform... 15

Figure 2.3 Coordinate system of the Stewart platform ... 16

Figure 2.4 Stewart Platform Control Scheme with inverse kinematics ... 20

Figure 2.5 Mathematical model of otolith ... 22

Figure 2.6 Mathematical model of semicircular ... 22

Figure 3.1 Schematic of Output Feedback Control ... 46

Figure 3.2 Applying the nonlinear observer to solve the forward kinematics in real time ... 47

*Figure 3.3 Observed and actual translation along (a) x-axis, (b) y-axis, (c) z-axis, and over *
*(d) x-y plane ... 49 *

*Figure 3.4 Observed and actual rotations about (a) x-axis, (b) y-axis, (c) z-axis, and (d) *
enlargement of (b) ... 51

*Figure 3.5 Desired (solid) and actual (dashed) circular motion over (a) x-y plane, and along *
*(b) z-axis ... 52 *

Figure 3.6 Desired (solid) and actual (dashed) rotational motion in (a) roll angle, (b) pitch angle, and (c) yaw angle ... 54

Figure 3.7 Simulation results of output feedback control on model with mass uncertainty . 55
*Figure 3.8 Experimental results of observer performance in z-axis translation: (a) *
estimation and Newton-Rhapson algorithm, (b) estimation error ... 57

*Figure 3.9 Experimental results of observer performance in rotation about y-axis: (a) *
Estimation vs. Newton-Rhapson algorithm, (b) Estimation error due to Newton’s
method, (c) Estimation vs. tilt sensor measurement, (d) Estimation error due to
tilt sensor ... 58

Figure 3.10 Experimental results of output feedback sliding mode control in translation
*along: (a) z-axis, and (b) x-axis ... 59 *

Figure 4.1 Schematic diagram of an electrohydraulic servovalve ... 62

Figure 4.2 Schematic diagram of hydraulic servoacuator ... 62

Figure 4.3 Conventional joint-space control scheme ... 67

Figure 4.4 Observer-based backstepping Control Scheme ... 67

Figure 4.5 Simulation of position tracking ... 77

Figure 4.6 Simulation of estimation errors ... 78

Figure 4.7 The experimental setup ... 79

*Figure 4.8 Experimental results of observer performance in rotation about y-axis ... 80 *

Figure 4.9 Experimental results of regulation... 82

Figure 4.10 Position tracking of the sinusoidal wave ... 83

Figure 5.1 Schematic diagram of the driving simulator ... 86

Figure 5.2 Classical washout algorithm ... 87

Figure 5.3 Optimal washout filter design problem ... 91

Figure 5.4 Model of vestibular system subjected to surge linear motion and pitch angular motion ... 92

Figure 5.5 Influence of rotation on specific force in longitudinal mode ... 93

Figure 5.6 Optimal washout filter design with fuzzy control compensation ... 99

Figure 5.7 Membership functions (a) Sensation error (b) Time derivative of *u (c) Output *_{A}*u ... 101 **F*
Figure 5.8 Actual and Simulator inputs (a) Acceleration (b) Angular velocity ... 103

Figure 5.9 Sensation of vehicle and simulator operators (a) Sensed acceleration (b) Enlargement of (a) ... 104

Figure 5.10 Sensation errors of classical, optimal, and fuzzy-based optimal washout filters ... 105

**List of Tables**

Table 2.1 Human Vestibular Model Parameters [45] ... 22

Table 3.1 Simulation data of Stewart platform ... 47

Table 3.2 Translational motion trajectory of simulation Case 1 ... 48

Table 3.3 Rotational motion trajectory of simulation Case 2 ... 50

Table 3.4 Circular motion trajectory with output feedback control of simulation case 3 ... 52

Table 3.5 Rotational motion trajectory with output feedback control of simulation case 4.. ... 53

Table 3.6 Desired motion trajectory for simulation of output feedback control on model with uncertainties ... 54

Table 4.1 Simulation data of Hydraulic Actuators ... 75

Table 4.2 Reference trajectory of simulation ... 75

Table 5.1 Fuzzy control rules ... 100

**Chapter 1 ** **Introduction **

**1.1 Motivation **

The parallel manipulators with six degree of freedom (DOF) belong to one category of robotics. In 1965 [1], one kind of parallel manipulators called Stewart platform was proposed. In our research, the Stewart platform is used to be the vehicle simulator. The task of a simulator is to provide appropriate motion to the operators so that the operators feel realistic experience. One object of this dissertation is to design the controller to directly control the platform posture. The other is to develop a motion cue algorithm, so-called washout filter, to approximate actual human perception.

Figure 1.1 shows the schematics of the vehicle simulator. The 3D computer physics and computer graphics build a virtual environment. The operator can interact with the virtual environment via the joystick or steering wheel, and receive the visual information.

Then, the vehicular motion in the virtual environment is filtered through the washout filter to produce desired platform motion. An appropriate controller makes the platform closely tracks the desired trajectories. As a result, the operator would have realistic driving

experience via the visualization

Figure

In control issue, conven transform the desired posture to

and then to control the legs to follow those commands. Due (3 translations and 3 rotations), the desired posture

above-mentioned traditional control the preciseness of the inverse kinematics

proceed to the posture control via forward kinematics becomes an issue of Stew

In some applications, the parallel manipulators are used as instruments for measurement,

and the posture information

For these practical reasons, the development of forward kinemat

via the visualizationof the virtual environment and the platform motion.

Figure 1.1 Schematics of the vehicle simulator

conventional control method of the Stewart platform is

osture to the 6 desired leg length commands with inverse kinematics the legs to follow those commands. Due to lack of

(3 translations and 3 rotations), the desired posture can only be controlled indirectly via the mentioned traditional control in joint space. Sometimes, one can

inverse kinematics solution for the parametric error the posture control via forward kinematics becomes an issue of Stew

In some applications, the parallel manipulators are used as instruments for measurement,

information must be obtained from the leg lengths via forward kinematics.

For these practical reasons, the development of forward kinematics

of the virtual environment and the platform motion.

control method of the Stewart platform is first to commands with inverse kinematics

of posture information only be controlled indirectly via the

can hardly guarantee errors. Hence, how to the posture control via forward kinematics becomes an issue of Stewart platform.

In some applications, the parallel manipulators are used as instruments for measurement,

must be obtained from the leg lengths via forward kinematics.

ics solver becomes an

important issue of the parallel robots. In this dissertation, we plan to provide a solution of forward kinematics by using control technique. With a nonlinear observer, we can solve the forward kinematics problem, and at the same time we want to combine it with the output feedback controller to complete the task of posture control.

Owing to that the hydraulic actuators are more often used in parallel manipulators than electromechanical ones, the hydraulic dynamics becomes inevitable and should be taken into account while the controller is designed. Normally, the force (or torque) is proportional to current in electromechanical actuators, but the hydraulic ones do not have such a property. As a result, the controller which takes into account the hydraulic dynamics should be appealing and desirable. Here, we want to propose a control scheme to integrate the mechanical part and hydraulic actuators of the Stewart platform. This scheme also uses the nonlinear observer to provide the state of platform posture in real time. The backstepping control methodology is adopted here to handle such a complex cascaded system.

To provide a realistic driving experience for the operator on the motion platform is
another topic in our research. The realistic motion of the simulator is produced by the
*motion cue algorithm. In [2], Harris et al. constructed the motion perception model of a *
human by experiment; the experiment showed a dominance of the vestibular cue over the
visual cue in the motion perception model. Inspired with this perception model, the motion
cue algorithm called washout filter was designed to provide convincing and accurate

performance in virtual reality. In general, classical washout filter is open-loop and with fixed parameters. The scheme of the classical design did not consider the inefficiency of the workspace usage and perception errors of operators. Here, we try to design the washout filter considering the limited workspace of motion platform and human perception at the same time. We also want to create a feedback loop to calibrate the inaccuracy caused by the fixed parameters.

**1.2 Survey of Related Researches **

The Stewart platform with parallel robotic structure was proposed in 1965 [1]. Owing to its advantages of parallel structure, it evolved into a popular research topic of robotics in the 1980s. The manipulators using open-loop serial chains are known well to people. Such manipulators have the advantages of sweeping workspaces and dexterous maneuverability like human arms, though their ability of load carrying is rather poor due to the cantilever structure. In addition, their precision of positioning is also poorer than that in the parallel structure. These advantages and disadvantages of serial manipulators cause the necessity to develop a different manipulator to overcome these limitations so that it can be used in some special applications.

Generally speaking, compared with the open-loop serial chain manipulators, the close-loop parallel manipulators have the advantages such as higher rigidity, better

accuracy, higher load-to-weight ratio, and more uniform load distribution. Gough and Whitehall [3] described the actuators which act in parallel to share the common payload and designed a fully parallel-actuated mechanism in charge of controlling the six linear actuators. These manipulators originated from Stewart’s design and the mechanism of Gough and Whitehall are popular and called as “Stewart platform” or “Stewart-Gough platform” in recent years.

For the area of applications with low speed and large payload such as tool machine
and vehicle simulator, the Stewart platform has been extensively used. The dynamics and
*kinematics analysis of this platform become essential research topics. In 1992, Lewis et al. *

[4] derived the dynamics of the Stewart platform and proposed a scheme for milling application. Other studies [5-13] have conducted the dynamics analysis of the Stewart platform with methods of Lagrange equation, Newton-Euler equation, and principle of virtual work.

Owing to the special structure, the forward kinematics of parallel manipulators forms
highly nonlinear equations which lack of closed-form solutions and hence result in multiple
approximate solutions in contrast to the serial manipulators which generally have unique
forward kinematics solution. The most often used resolution method is the numerical
approach utilizing a simple Newton-Raphson algorithm, and the less often one is to apply
*elimination procedure to solve the high-order polynomial. Ku [14] and Liu et al. [15] used *

the Newton-Raphson method to address such problems subject to octahedral arrangement and to a 3-6 Stewart platform, respectively. However, the heavy burden of calculation makes this algorithm hard to be implemented in practice. In addition, choosing initial conditions is another issue to the convergence time and the correctness of the solutions.

Some researches [16-19] have been devoted to finding closed-form forward kinematics solutions by applying different elimination procedures, i.e., to eliminate the unknowns and to form a high-order polynomial with a single unknown. The elimination approaches can find all possible solutions, but the formulation is very complicated and the computational burden of finding all roots causes excessive consumption time. Moreover, the actual solution must be chosen from all these possible solutions. As a result, these methods fail to be suitable for real-time application. Another method is to solve the forward kinematics problem by using extra sensors. The authors in [20,21] proposed geometry formulation approaches by setting up extra sensors to solve the forward kinematics problems with a 3-6 and 6-6 Stewart platforms, respectively.

Some studies have tried to solve this problem by applying control technique. The
observer based forward kinematics solution avoids the inconvenience of iterative procedure
*and multiple solutions. Kang et al. [22] estimated the 6-DOF motion by building an *
estimator based on handling of the nonlinearity and uncertainty in the system, and
soundness of the proposed estimator is proved via Lyapunov stability analysis. To

*determine the constant bounds on all the nonlinear terms is very complex. Dalla Mora et al. *

[23] proposed a high gain observer for an affine nonlinear system. The observability for
*zero input together with satisfaction of an H**∞* Riccati-like inequality are proved to be
sufficient conditions for the existence of an exponential observer via Lyapunov stability
analysis. The work in [24] applied this state observer to an MIMO nonlinear system.

Some controller designs did not consider the complex dynamics, but considered kinematics only while applying independent joint-axis PID, sliding mode control [25,26], or adaptive control [27] to each actuator. However, to achieve high-performance tracking control of the platform, the dynamics should also be considered. For the purpose of direct posture control, the controller must be designed to take into account the system model, too.

Compared with electromechanical actuators, hydraulic ones are more often used in parallel manipulators, since they can produce large forces and rapid responses, and have high stiffness and durability [28]. Electromechanical actuators produce force (or torque) that is proportional to input current, but not in hydraulic ones. To obtain better performance, the hydraulic dynamics can’t be disregarded in the controller design of the Stewart platform.

In the research on hydraulic servovalve, Kim and Tsao [29] derived a linearized model for a two-stage flapper-nozzle type electrohydraulic servovalve from the intrinsic nonlinear state equations. Ziaei and Sepehri [30] used a discrete-time linear model to model the electrohydraulic servos and actuators, and then to identify it. In the aspect of platform

control, some researchers [27,31] considered the dynamics of actuators and developed joint-space control schemes of Stewart platforms. With force and pressure feedback, Davliakos and Papadopoulos [32] developed a fast model-based force tracking loop to achieve tracking control with electrohydraulic servosystems. Besides, nonlinear control techniques have been applied to hydraulic servosystems. Along this stream, Sirouspour and Salcudean [33] used backstepping approaches to developing a controller while employing Newton’s method as forward kinematics solution to acquire the states of the platform.

Many related researches on washout filter have been presented in the last three
decades. Classical washout filter is the first scheme that has been proposed which is
composed of linear low-pass and high-pass filters. The advantages are simplicity and easy
to adjust. The fixed scheme and parameters of the classical washout filter cause inflexibility
of the scheme and make the resulting simulator fail to meet all circumstances. Nahon and
Reid [34] suggested an adaptive washout algorithm with the same scheme as that for
classical washout filter and with self-tuning of the filter parameters. The optimal washout
algorithm [35] that takes into account the models for the vestibular system was proposed by
*Sivan et al. This algorithm uses techniques of optimal control and employs a cost function *
that depends on both sensation error and platform motion. The optimal algorithm designs
an optimal structure and a set of optimal parameters subject to the assumptions of human
*vestibular models and platform limitation by solving the Riccati equation. Telban et al. [36] *

formulated a linear optimal control problem similar to that in [35] and solved the Riccati equation in real time so that a scalar coefficient that increases control action can be tuned online. The magnitude of the scalar coefficient depends upon the platform motion. With large platform motion, the large coefficient increases and results in faster control actions.

*Nehaoua et al. [37] applied classical, adaptive, and optimal algorithms and compared *
performances of these algorithms in their driving simulators.

No matter what kind of platform is used as the simulator, the limited workspace is an
important issue in designing the motion cue algorithm. Several investigations that increase
the efficiency of the platform workspace have been presented. Huang and Fu [38] proposed
a senseless maneuver that moves the operator with the acceleration under the threshold
*value of human perception to conserve the workspace. Liao et al. [39] combined the *
classical washout filter with an adjustable scaling filter, a yawing washout filter, a dead
zone washout filter, and an adaptive washout filter in order to complete the motion
planning of the simulator in restricted workspace. A common method to this problem is the
*fuzzy control based washout filter proposed by Wang et al. [40]. That algorithm combined *
characters of motion perception and actual movement of a train to design the fuzzy control
rules.

**1.3 Contributions **

A posture control scheme using a forward kinematics solution is proposed in this dissertation. With only the six leg lengths, we can obtain the posture’s information and further achieve the posture control. This control scheme is actually an output feedback control with a nonlinear observer. The observer is designed to estimate states of the Stewart platform, which is apparently a nonlinear MIMO affine system. The observed states include platform translations and rotations about three axes and their first-order time derivatives, and the sliding mode controller produces feedback with these observed states. The performance can be seen in the simulations and experimental results.

To integrate the electro-hydraulic actuator into the overall system, we formulate the electro-servovalve model and the hydraulic dynamics as the nonlinear system. Then, the dynamics of both the platform and the hydraulic actuator of the Stewart platform are taken into account to develop the backstepping controller. Further, to tackle the transformation between different states in the platform dynamics (task-space) and in the actuator (joint-space) dynamics, the aforementioned observer-based forward kinematics solver is applied. It is shown that the posture of the platform will follow a desired trajectory as closely as possible, while ensuring the overall system stability. The feasibility is also shown with simulation and experimental results.

An optimal washout filter is developed by applying the algorithm [35] to the human vestibular system. The objective is to minimize the sensation error produced from the comparison of the human vestibular signals about the actual vehicle and the simulator. The optimal motion cue algorithm is then featured by systematic integration of linear filters that are determined through an off-line design process. For the drawback with fixed parameters of the optimal algorithm, the fuzzy control rules are further designed to eliminate the sensation errors. With sensation error and time derivative of input feedback, the fuzzy logic can provide an adjusting term to further eliminate the perception errors. In the simulations, the sensation errors of classical, optimal, and fuzzy-based optimal washout filters are compared to show the performance of this algorithm.

**Chapter 2 ** **Preliminary **

**2.1 Kinematics of 6-DOF Motion Platform **

The kinematics of a Stewart platform can be separated into inverse kinematics and forward kinematics. The former is to calculate each joint vector from the platform posture (translation and rotation). This solution can be obtained with simple equation of vector relation. The forward kinematics means to obtain the posture information with a given set of joint lengths. The following are the details of these relationships.

**2.1.1 Inverse Kinematics **

The Stewart platform is composed of top, base platforms, and 6 parallel actuators. The coordinate systems include the base frame (inertial frame) and the top frame (moving frame) which are shown in Figures. 2.1 and 2.2, respectively. The body coordinate is attached to the mass center of the moving platform and the fixed inertial coordinate is attached to the center of the base. The 6-DOF motion includes the 3-axis linear translations and rotations.

The 3-axis translations are represented as *p*_{x}*p*_{y}*p** _{z}*

*and the 3-axis rotations are*

^{T}### [

α β γ , where### ]

^{T}*p*

*,*

_{x}*p*

*,*

_{y}*p*

_{z}vertical (heave) motions, respectively

motions which are the rotating angle with respect to the 3 axes of the fixed frame. Each leg
*i *links the attachment point

this configuration, the attachment points

*i* *P* *Pi* *iy*

= ≡

**P**

*i* *B* *Bi* *iy*

= ≡

**B**

where *r** _{P}* and

*r*

*are the radii of top and base platforms 2, 6*

_{B}*P* *B*

π π

θ = θ = in our case.

, ,

*x* *y* *z*

*p* *p* *p *represent the longitudinal (surge), lateral (sway), and
vertical (heave) motions, respectively, whereas α β γ , , represent the roll, pitch, and yaw
motions which are the rotating angle with respect to the 3 axes of the fixed frame. Each leg

links the attachment points **P*** _{i}* and

**B**

*on the top platform and the base, this configuration, the attachment points*

_{i}**P**

*and*

_{i}**B**

*can be expressed as*

_{i}cos( ) sin( )

0

*P* *Pi* *ix*

*i* *P* *Pi* *iy*

*iz*

*r* *P*

*r* *P*

*P*
λ

λ

= ≡

,

( 1)

1, 3, 5

3 2

2, 4, 6

*P*
*Pi*

*Pi* *P i* *P*

*i* *i*

*i*
θ

λ π

λ λ _{−} θ

= − =

= + =

cos( ) sin( )

0

*B* *Bi* *ix*

*i* *B* *Bi* *iy*

*iz*

*r* *B*

*r* *B*

*B*
λ

λ

= ≡

,

( 1)

1, 3, 5

3 2

2, 4, 6

*b*
*Bi*

*Bi* *B i* *b*

*i* *i*

*i*
π θ

λ

λ λ _{−} θ

= − =

= − =

are the radii of top and base platforms

in our case.

Figure 2.1 Top platform

represent the longitudinal (surge), lateral (sway), and represent the roll, pitch, and yaw

motions which are the rotating angle with respect to the 3 axes of the fixed frame. Each leg the top platform and the base, respectively. In

can be expressed as

1, 3, 5 2, 4, 6

= − =

= + =

1, 3, 5 2, 4, 6

= − =

= − =

are the radii of top and base platforms, respectively, and

Generally speaking, the inverse kinematics of the parallel manipulator has

Given a set of position and orientation, the leg vector, pointing from attachment p

to **P , can be written as follows:**_{i}

*i* = *i* + − *i*

**l** **R** **P** **D B**

where

1 0 0 0 0

0 0 1 0 0

0 0 0 0 1

αβγ α β γ α α γ γ

= = −

**R** **R R R**

is the platform's rotation matrix

vector. **P and **_{i}^{p}**B*** _{i}* are the translational offset vectors of leg
base, respectively.

*S*

_{α}and

vectors can be seen in Figure

Figure 2.2 Base platform

e inverse kinematics of the parallel manipulator has

Given a set of position and orientation, the leg vector, pointing from attachment p

, can be written as follows:

*p*

*i* = αβγ *i* + − *i*

**l** **R** **P** **D B**

1 0 0 0 0

0 0 1 0 0

0 0 0 0 1

*C* *S* *C* *S* *r* *r* *r*

*C* *S* *S* *C* *r* *r* *r*

*S* *C* *S* *C* *r* *r* *r*

β β γ γ

αβγ α β γ α α γ γ

α α β β

−

= = −

−

≜

rotation matrix and **D**= *p*_{x}*p*_{y}*p** _{z}*

*is the platform*

^{T}are the translational offset vectors of leg *i *on the top platform and the
*and C*_{α} are defined as sin( )α and cos( )α .

Figure* 2.3. The length of the i-*th leg is given by

e inverse kinematics of the parallel manipulator has a unique solution.

Given a set of position and orientation, the leg vector, pointing from attachment point **B**_{i}

(2.1)

11 12 13

21 22 23

31 32 33

1 0 0 0 0

0 0 1 0 0

0 0 0 0 1

*C* *S* *C* *S* *r* *r* *r*

*C* *S* *S* *C* *r* *r* *r*

*S* *C* *S* *C* *r* *r* *r*

≜

is the platform's translation on the top platform and the

cos( ) . The relationship of
th leg is given by **l , and computing **_{i}

1 2 3 4 5 6
*T*

*len* =

**l** **l** **l** **l** **l** **l** **l** solves the inverse kinematics of the platform.

**D**

*p*

**P**

*i*

**l**

*i*

**B**

*i*

Figure 2.3 Coordinate system of the Stewart platform

We can obtain the complete solution of the inverse kinematics as follows:

2 2 2 2 2 2

11 12

21 22 31 32

2( )( )

2( )( ) 2( ) 2( )

for 1, 2, , 6.

*p* *p*

*i* *x* *y* *z* *P* *B* *ix* *iy* *x* *ix*

*p* *p* *p* *p*

*ix* *iy* *y* *iy* *ix* *iy* *z* *x* *ix* *y* *iy*

*p* *p* *p* *r* *r* *r P* *r P* *p* *B*

*r P* *r P* *p* *B* *r P* *r P* *p* *p B* *p B*

*i*

**l** = + + + + + + −

+ + − + + − +

= ⋯

(2.2)

The forward kinematics problem is the reverse of the inverse kinematics which means to obtain the position and orientation from the given 6 actuator lengths.

**2.1.2 Forward Kinematics **

In contrast to the inverse kinematics is the forward kinematics which plays an important role in the posture control or the motion visualization of the Stewart platform.

The problem involved here is simply the reverse of that of inverse kinematics, which means to obtain the position and orientation from the given 6 actuator lengths. Unfortunately, it is difficult to solve the problem because of the inherent nonlinearity and complexity. The general form of the problem can be obtained from (2.2) as follows:

2 2 2 2 2

11 12

2

21 22 31 32

( , , , , , )

2( )( )

2( )( ) 2( ) 2( ) 0

for 1, 2, , 6.

*i* *x* *y* *z*

*p* *p*

*x* *y* *z* *P* *B* *ix* *iy* *x* *ix*

*p* *p* *p* *p*

*ix* *iy* *y* *iy* *ix* *iy* *z* *x* *ix* *y* *iy* *i*

*f p p* *p*

*p* *p* *p* *r* *r* *r P* *r P* *p* *B*

*r P* *r P* *p* *B* *r P* *r P* *p* *p B* *p B*

*i*

**l**
α β γ

= + + + + + + −

+ + − + + − + − =

= ⋯

(2.3)

There are no closed-form solutions to express the translation and orientation variables

### (

*p*

_{x}^{, }

*p*

*, , , ,*

_{y}*p*

*α β γ*

_{z}### )

in general. The Newton-Raphson method is often used to solve theproblem, but the repetitive steps before solution convergence cause the real-time

application infeasible. Moreover, such method may even lead to infinite loops provided

selection of wrong initial values.

**2.2 Dynamics of 6-DOF Motion Platform **

The dynamics model of the Stewart platform is with high nonlinearity and system

uncertainties. Referring to [4], the general dynamics equations are as the standard form:

( ) ( , ) ( ) * ^{T}*( )

*M q q*ɺɺ+*C q q q*ɺ ɺ+*G q* =*J* *q u* (2.4)

where the state *q*=^{}*p*_{x}*p*_{y}*p** _{z}* α β γ

^{}

*∈ℝ includes the 3 translations and 3*

^{T}^{6}rotations,

*M q is the inertia matrix,*( )

*C q q q*( , )ɺ ɺ is the Coriolis and centrifugal force,

( )

*G q* * is the gravitational force, u is the torque vector output by the 6 actuators, and * *J q*( )
is the Jacobian matrix that transforms the joint torques to the force applied to the platform.

Some important system properties which will be used in the sequel are given below.

**Property 2.1. ** *C q qɺ*( , ) and *M q*ɺ( ) are bounded functions if *q* and *qɺ* are bounded.

( , )

*C q q*ɺ ɺ is a bounded function if *q*,*qɺ*, and *q*ɺɺ are bounded.

**Property 2.2. ** *M q*( ) is a symmetric and positive definite matrix. Moreover, for an
appropriate choice of *C q qɺ*( , ), *M q*ɺ( )−2 ( , )*C q q*ɺ can be a skew-symmetric matrix, which
means that *x** ^{T}*(

*M q*ɺ( ) 2 ( , ))−

*C q q x*ɺ =0, ∀ ∈

*x*ℝ

*. This property is well known in the robotics literature.*

^{n}**Property 2.3.** *C q x y*( , ) =*C q y x*( , ) , ∀*q x y*, , ∈ ℝ^{n}**. **

The inertia matrix *M ⋅*( ) can be written as:

44 45 46

54 55

64 66

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 ,

0 0 0 0

0 0 0 0

*m*
*m*
*M* *m*

*M* *M* *M*

*M* *M*

*M* *M*

=

where

2 2 2 2 2

44

45 54

46 64

2 2

55

66

,

( ) ,

, , ,

*x* *y* *z*

*x* *y*

*z*

*x* *y*

*z*

*M* *I C C* *I C S* *I S*

*M* *M* *I* *I C C S*

*M* *M* *I S*

*M* *I S* *I C*

*M* *I*

β γ β γ β

β γ γ β

γ γ

= + +

= = −

= =

= +

=

and Corilois and Centrifugal Matrix *C ⋅ can be explicitly written as: *( )

3 3 3 3

3 3 22

0 0

*C* 0

*C*

× ×

×

=

,

where

1 2 1 3 4 2 4

22 1 4 5 4 5

2 4 4 5 0

*K* *K* *K* *K* *K* *K* *K*

*C* *K* *K* *K* *K* *K*

*K* *K* *K* *K*

β γ α β γ α β

α γ γ α β

α β α β

− − − − + − +

= + +

− − −

ɺ ɺ ɺ ɺ ɺ ɺ ɺ

ɺ ɺ ɺ ɺ ɺ

ɺ ɺ

ɺ ɺ

2 2

1 2 2

3

4

5

( ),

( ),

( ),

1 ( )( )( ),

2

( ).

*x* *y* *z*

*x* *y*

*x* *y*

*x* *y*

*x* *y*

*K* *C S C I* *S I* *I*

*K* *C C S I* *I*

*K* *C S S I* *I*

*K* *C C* *S* *C* *S* *I* *I*

*K* *C S I* *I*

β β γ γ

β γ γ γ γ γ

β γ γ γ γ

γ γ

= + −

= −

= −

= − + −

= −

Moreover, the Jacobian Matrix *J ⋅*( )can be derived as:

*p* *p* *p*

*p* *p* *p*

*p* *p* *p*

*p* *p* *p*

*p* *p* *p*

*p* *p* *p*

*J*

**T** **T** **T** **T**

**1** **1** **1** **1** **1** **2** **1** **1** **3** **1**

**T** **T** **T** **T**

**2** **2** **1** **2** **2** **2** **2** **2** **3** **2**

**T** **T** **T** **T**

**3** **3** **1** **3** **3** **2** **3** **3** **3** **3**

**T** **T** **T** **T**

**4** **4** **1** **4** **4** **2** **4** **4** **3** **4**

**T** **T** **T** **T**

**5** **5** **1** **5** **5** **2** **5** **5** **3** **5**

**T** **T** **T** **T**

**6** **6** **1** **6** **6** **2** **6** **6** **3** **6**

**u** **u R P** **u R P** **u R P**

**u** **u R P** **u R P** **u R P**

**u** **u R P** **u R P** **u R P**

**u** **u R P** **u R P** **u R P**

**u** **u R P** **u R P** **u R P**

**u** **u R P** **u R P** **u R P**

=

where

1

2

3

3 2 1

3 1 2

2 1 3

| | ,

( ) ,

( ) ,

( ) , 0

( ) 0 if .

0

*p*

*i* *i* *i*

*i* *p*

*i* *i* *l**i*

*S X*
*S Y*

*S Z*

*v* *v* *v*

*S v* *v* *v* *v* *v*

*v* *v* *v*

**R** **P** **D B** **l**

**u** **R** **P** **D B**

**R** **R**

**R** **R** **R R**

**R** **R R** **R**

αβγ αβγ

αβγ

α β γ

α β γ

= + − =

+ −

=

=

=

−

= − =

−

The dynamics model can be further formulated as a 12-dimension standard affine MIMO

nonlinear system. For the purpose of design of nonlinear observer, this form will be discussed in Chapter 3.

**2.3 Conventional Control Scheme **

The control goal of the motion platform is to track the desired posture to provide the realistic motion for operator. Due to the lack of posture information, the direct posture control is infeasible. Conventional control method for Stewart platform is to transform the desired posture from task space to joint space and obtain the desired leg lengths. However, this indirect control method cannot acquire the trajectories of posture but only guarantees tracking of each actuator. Figure 2.4 shows the control scheme.

*u* ^{y}

^{y}

### ( )

_{d}*d*

*h q* *q*

+ −

Figure 2.4 Stewart Platform Control Scheme with inverse kinematics

In Figure 2.4, *q** _{d}* is the desired posture,

*h q*(

*) is the desired leg length which is transformed from*

_{d}*q*

_{d}*by inverse kinematics, u is the voltage input of each actuator, and y*

is the measurement of each leg length. The controller receives the errors of each leg length, and then controls each leg independently. Here, the PID controller is used to control individual actuator.

**2.4 Vestibular Mathematical Model **

The specific force should be first defined before we talk about the mathematical model of vestibular system. The specific force means the acceleration caused by non-gravitational force applied on the object. According the Newton’s second law, the acceleration is the applied force per unit mass, including the gravitational force and non-gravitational force.

So the total resulting acceleration can be expressed as:

ˆ ^{ng}^{g}

*v*

*F* *F*

*a* *f* *g*

*m* *m*

= + = + (2.5)

where *a** _{v}* is the acceleration of the vehicle,

*f*

^{ˆ}

^{F}

^{ng}= *m* is the non-gravitational force per
unit mass, or the specific force, and *g* ^{F}^{g}

= *m* is the gravitational acceleration of the vehicle.

The specific force ˆ*f is the summation of all non-gravitational forces applied on the *
vehicle. Since human can’t sense the gravitational acceleration, the specific force is the
linear acceleration that affects human perception. So, the specific force is the input of the
human vestibular model, and the other is angular velocity of the head.

Two mechanisms of the vestibular system work with receiving the specific force and angular velocity respectively. The otolith system receives the specific force and then

produces the perception of linear acceleration. Meanwhile, angular velocity goes through the semicircular cannels and creates the perception of rotation motion. The simplified sensation mechanisms of specific force and angular velocity proposed by Young and Oman are shown in Figures. 2.5 and 2.6, respectively.

Figure 2.5 Mathematical model of otolith

Figure 2.6 Mathematical model of semicircular Table 2.1 Human Vestibular Model Parameters [45]

Specific Force Sensation Model Parameter

Parameter Surge Sway Heave

τ*L* 5.33 5.33 5.33

τ*s* 0.66 0.66 0.66

τ*a* 13.2 13.2 13.2

*k * 0.4 0.4 0.4

*d**TH*(m/sec^{2}) 0.17 0.17 0.28

Rotational Motion Sensation Model Parameter

Parameter Roll Pitch Yaw

*T **L* 6.1 5.3 10.2

*T **s* 0.1 0.1 0.1

*T **a* 30 30 30

*δ**TH*(deg/sec) 3.0 3.6 2.6

The parameters of these mathematical models shown in Figure 2.5 and Figure 2.6 are
shown in Table 2.1. Threshold values, ranging from 0.17 to 0.28 m/s^{2} for linear
accelerations and for 1.6 to 2.0 deg/s for angular velocities. The acceleration and angular
velocities below the thresholds will not be sensed by human. These mechanisms eliminate
redundant motion signals and reserve the necessary parts. This property provides the basic
theory of design the washout filter.

**Chapter 3 **

**Output Feedback Posture Control **

**3.1 Design of the Nonlinear Observer **

**3.1.1 ** **MIMO affine nonlinear system **

The dynamic model described in (2.4) can be expressed in terms of state space representation for the purpose of designing the observer. The dynamic model is rewritten as the MIMO affine nonlinear system as

( ) ( ( )) ( ( )) ( )

*x t*ɺ = *f x t* +*g x t u t* (3.1)

where

*T* *T* *T*

*x*= *q* *q*ɺ

6 6 6 6 6 1

1 1

6 6

0 0

( ) 0 ( ) ( , ) ( ) ( )

*f x* *I* *x*

*M* *q C q q* *M* *q G q*

× × ×

− −

×

= − ɺ +−

6 6 1

( ) 0 .

( ) * ^{T}*( )

*g x* *M* *q J* *q*

×

−

=

(3.2)

The output*y*is the vector composed of 6 actuator lengths, and can be expressed as

### [

1 2 6### ]

( ) ( ) ( ) ( )^{T}

*y*=*h x* = *h q* *h q* ⋯ *h q* (3.3)
where

( ) ( ) * ^{p}* ( ) , 1, 2,..., 6.

*i* *i* *i* *i*

*h q* = **l** = **R**_{αβγ} *q* **P** +**D** *q* −**B** *i*= (3.4)

Note that the output vector*y*in fact can be measured through use of the LVDT (linear
variable displacement transducers).

The dynamic model described in (3.1)~(3.4) is in the form of an MIMO affine nonlinear system which can be expressed as

( ) ( )
( )
*x* *f x* *g x u*
*y* *h x*

= +

=

** **
ɺ

(3.5)

where *x ∈ ℝ** ^{n}*,

*y ∈ ℝ*

*, and*

^{m}*u ∈ ℝ*

*. By smoothness definition, the nonlinear functions ( )*

^{p}*f x* , *g x*( ), and *h x*( ) belong to *C*^{∞}* functions, and n=12, m=6, and p=6 in such a *
dynamic model.

**3.1.2 ** **The Concept and Conditions of the Observer**

To acquire the full states without numerical iteration, the observer-based forward kinematics approach is applied to realize our hereby proposed output feedback control. The nonlinear observers developed for a class of nonlinear systems [23,24] are applicable to our system model, (3.5), and hence will be adopted in this paper. Specifically, the form of the nonlinear observer designed for the nonlinear system (3.5) is shown as

ˆ ( )ˆ ( )ˆ 1( ) [ˆ ( )]ˆ
*x*ɺ= *f x* +*g x u Q*+ ^{−} *x K y h x*−

(3.6)

where ˆ ˆ ˆ ^{12}

*T* *T*

*x*=*q**T* *q* ∈

ɺ ℝ is the vector of the estimated states, *K*∈ ℝ^{12 6}^{×} is the

observer gain, and *Q*∈ ℝ^{12 12}^{×} is the observability matrix defined as
( ) ( )*x*

*Q x* *x*

∂Φ

≜ ∂ (3.7)
which is the Jacobian of the diffeomorphism map *z*= Φ( )*x* . The map transforms the
*original system in x-coordinate to that in z-coordinate with the technique of feedback *
*linearization which uses Lie derivatives of h(x) along a vector field f(x), namely, *

1 2

1

1

( ) ( ) ( ) ( )

( ) ( ) ( ) * ^{i}* ( ) , .

*T* *T* *T* *T*

*m*

*T* *m*
*l*

*i* *i* *f* *i* *f* *i* *i*

*i*

*x* *x* *x* *x*

*x* *h x* *L h x* *L h x*^{−} *l* *n*

=

Φ Φ Φ Φ

Φ

### ∑

=≜ …

≜ …

(3.8)

The linearized system in new coordinate is represented as

1 1

( ( )) ( ( ))

,

*z* *Az* *BL* *z* *FH* *z u*

*y* *Cz*

− −

= + Φ + Φ

=

** ** ** **

ɺ

(3.9)

and naturally the observer is chosen as

1 1

ˆ ˆ ( ( ))ˆ ( ( ))ˆ ( ˆ).

*z*ɺ= *Az*+*BL* Φ^{−} *z* +*FH* Φ^{−} *z u*+*K y Cz*−

(3.10)
where *z*ˆ= Φ( )*x*ˆ , the matrix functions *L*(Φ^{−}^{1}( ))*z* , *H*(Φ^{−}^{1}( ))*z* are considered as
nonlinear perturbations, and *Q x g x*( ) ( )=*FH x*( ). The design of the observer applies the
properties of a linear system, whereas invertibility of the map Φ ⋅( ) allows exact state
reconstruction. The sketch of the proof will be discussed below, and the details can be seen
in [23].

**Theorem 3.1 For the system (3.1) with ** *x ∈ ℝ** ^{n}*,

*y*∈ ℝ, and

*u*∈ ⊆ ℝ

*U*(SISO case), following assumptions hold:

**(A1) The system is drift-observable in ** ^{ℝ}* ^{n}*, and the map

*z*= Φ( )

*x*is uniformly Lipschitz

together with its inverse *x*= Φ^{−}^{1}( )*z* in ^{ℝ}* ^{n}* , with constants γ

_{Φ}and γΦ−1

respectively;

**(A2) the functions ** *L*(Φ^{−}^{1}( ))*z* , *H*(Φ^{−}^{1}( ))*z* are uniformly Lipschitz in ^{ℝ}* ^{n}*, with Lipschitz
constants γ and

*γ respectively;*

_{L}

_{H}**(A3) a constant ** *u** _{M}*> 0 exists such that

*u t*( ) ≤

*u*

*∀ ≥ ;*

_{M}*t*0

**(A4) for a given ** α > 0, a vector *K ∈ ℝ** ^{n}* and a symmetric positive definite matrix

*P*∈ ℝ

*n n*

^{×}exist that satisfy the following

*H*

_{∞}Riccati-like inequality

2 2

(*A*−*KC P*) +*P A*( −*KC*)* ^{T}* +

*BB*

*+*

^{T}*FF*

*+2α*

^{T}*P*+γ

*P*≤0 where γ

^{2}=γ

_{L}^{2}+

*u*

_{M}^{2}γ

_{H}^{2}. Then, the dynamic system (3.6) is such that

*x t*( )−

*x t*ˆ( ) ≤µ

*e*

^{−}

^{α}

^{t}*x*(0)−

*x*ˆ(0) .

**Proof. Recalling the system in z-coordinates (3.9) and the observer (3.10), the error **

**dynamics can be obtained as **

ˆ ˆ

( ) ( ( ) ( )) ( ( ) ( ))

*z*ɺɶ= *A KC z*− ɶ+*B L z* −*L z* +*F H z* −*H z u* (3.11)
where *z*ɶ= −*z* *z*ˆ** From assumptions (A2) and (A3), we have ** *L z*( )−*L z*( )ˆ ≤γ_{L}*z*ɶ and

( ( )*H z* −*H z u*( ))ˆ ≤*u** _{M}*γ

_{H}*z*ɶ , and the error dynamics can be written as

1 2

( )

*z*ɺɶ= *A KC z*− ɶ+*B*υ +*F*υ (3.12)
where υ_{1} =*L z*( )−*L z*( )ˆ and υ_{2} =( ( )*H z* −*H z u*( ))ˆ . To prove the estimation error
approaches zero, consider the positive definite function of *zɶ*

( )*z* *z P z** ^{T}* 1 .

ν ɶ = ɶ ^{−} ɶ (3.13)

The derivative of ν is