Modeling and Control of High Speed Mechanisms Using Inverse ...

Proceedings **of** IMECE2006

2006 ASME International Mechanical Engineering Congress **and** Exposition

November 5-10, 2006, Chicago, Illinois, USA

Proceedings **of** IMECE2006

2006 ASME International Mechanical Engineering IMECE2006-13920

Congress **and** Exposition

November 5-10, 2006, Chicago, Illinois, USA

IMECE2006-13920

MODELLING AND CONTROL OF HIGH SPEED MECHANISMS USING INVERSE

DYNAMIC ANALYSIS

Yanzhi Li

Centre for Power Transmission **and** Motion **Control**

Department **of** Mechanical Engineering

University **of** Bath

Claverton Down, Bath BA2 7AY

Email: enpyl@bath.ac.uk

M. Necip Sahinkaya ∗

Centre for Power Transmission **and** Motion **Control**

Department **of** Mechanical Engineering

University **of** Bath

Claverton Down, Bath BA2 7AY

Email: ensmns@bath.ac.uk

ABSTRACT

**Inverse** dynamic analysis can be used in designing controllers,

but the computational requirements may prevent its use in

real time. A combined piecewise linearization **and** **of**f-line inverse

dynamic analysis approach has been exploited in this paper

to achieve the required computational efficiency with the convenience

**of** traditional linear controllers, coupled with the accuracy

**and** adaptability **of** inverse dynamic analysis.

The paper simulates a three-degree-**of**-freedom RRR planar

mechanism to demonstrate the techniques. An inverse dynamic

analysis **of** this mechanism is carried out for different desired

motions **and** for different operating speeds. A piecewise linearization

approach is introduced to represent the system as a multiinput

multi-output linear system with motion **and** speed dependent

coefficients.

A separate linearization method is developed to determine

the error dynamics **of**f-line. A st**and**ard linear-quadratic regulator

is applied to the linearized model for the design **of** a feedback

controller. The robustness against external disturbances **of**

the proposed adaptive linearized feed-forward **and** feedback controller

is examined by simulated examples. Most **of** the computationally

dem**and**ing inverse dynamic **and** linearization calculations

are carried out **of**f-line, therefore the technique **of**fers many

potential applications involving highly complex systems.

∗ Address all correspondence to this author.

Nomenclature

(ˆ·) denotes estimate

α **Speed** parameter

¯v Time average value **of** the motor voltage

∆R 2 Margin used to detect break points in the piecewise linearization

∆x Movement **of** x

ˆv Estimated motor voltage value

λ j Lagrange multiplier

0 Matrix or vector **of** zeros in the appropriate dimension

λ Vector **of** Lagrange multipliers

θ m Vector **of** motor angles, their first **and** second derivatives

A N × N array **of** a i, j functions

B **Control** input coefficient matrix

b Vector **of** parameters in the estimation

C 1 Coefficient matrix **of** function **of** q **and** t

C 2 Matrix **of** function **of** q, ˙q **and** t

D 1 ,D 2 Vectors **of** q, ˙q **and** t

F Constraint Jacobian matrix

Q Vector **of** generalized inputs

q Vector **of** generalized coordinates

Q,R LQR weighting matrices

U **Control** input vector

u **Control** vector

V Vector **of** voltage values

X Matrix **of** independent variables in the estimation

y Desired motion specifying coordinates

z State vector

1 Copyright c○ 2006 by ASME

θ c

θ i

a i, j

Absolute angle **of** the platform.

Angular position **of** the i th motor

Functions **of** generalized coordinates **and** time

b Linearized coefficients

f j Constraint equation

i, j,k Integers

J Cost function

K Number **of** degrees **of** freedom **of** the required motion

L Lagrangian function

M Number **of** degrees **of** freedom

N Number **of** generalized coordinates

n Number **of** data points in the estimation

P Covariance matrix for the recursive least square estimator

Q i Generalized input

q i Generalized coordinate

R 2 Goodness **of** fitness measure

t time

T s () Settling time (percentage in parenthesis)

u Normalized time

v i Voltage input to the i th motor

x any coordinate

x 0 Initial condition **of** x

x c ,y c Cartesian coordinates **of** the center **of** platform

Introduction

Parallel manipulators for high speed applications **of**fer many

advantages compared serial manipulators because closed loop

kinematic mechanisms lead to high stiffness **and** good dynamics

properties [1]. In addition, accuracy **and** reliability are also

improved by the elimination **of** cable transmissions **and** placing

the drive motors on the ground [2, 3]. There is increasing research

activity in the field **of** three or less degrees-**of** freedom

(DOF) Planar Parallel Manipulators (PPM). Although kinematic

problems with different combinations **of** joints **and** legs can be

successfully tackled [4–6], dynamic analysis is complicated because

**of** the existing **of** multiple closed loop chains.

Achieving accurate motion control at high speeds with

high dynamic performance requires accurate dynamic modeling

**of** multi-physics systems **and** nonlinear controllers to h**and**le

complex dynamic interactions between system components **and**

other connected systems. Various modeling techniques can be

used [7–9], but the analytical development **of** equations **of** motion

is tedious **and** prone to errors even with the help **of** symbolic

programming tools such as MATLAB [10], **and** MAPLE [11]. A

constraint Lagrangian based approach [12] is used in this paper,

where the equations are automatically developed by the s**of**tware

package Dysim [13, 14] from topological data. This is an object

oriented approach suitable for multi-phsyics systems. The model

developed can be used as part **of** other simulation environments

such as MATLAB **and** SIMULINK.

**Control**lers based on linear system theory do not always

function well, **and** various adaptive control algorithms have been

developed to improve performance. Due to the highly nonlinear

behavior **of** these systems, it is difficult to design a controller

to perform well for different motions **and** at different speeds.

**Inverse** dynamic analysis tools do however **of**fer high performance

**and** take into account nonlinear system dynamics [14–17].

They have been used to predict the controller inputs in order to

achieve a required motion, **and** various feed-forward controllers

have been suggested in the literature. **Inverse** dynamic analysis

can also be utilized in feedback controllers, but the computational

requirements usually prevent real-time implementation.

Previous work [18] introduced an linearization approach for

the system **and** error dynamics **of** a three DOF PPM by using the

inverse dynamics analysis **of**f-line. It was shown that accurate

linear models could be obtained for a specified motion that can

be used in real time. It resulted in three decoupled second order

equations, **and** the robustness under different motion speeds was

tested. **Control** issues using such linear models were discussed

in [19] **and** simulation results were presented. In this paper,

multistage recursive estimation is introduced by utilizing statistical

data to obtain more reliable **and** accurate piecewise linear

models for a specified motion. The same method is also applied

for the error model. The linearized error model is implemented

with a Linear Quadratic Gaussian (LQR) control algorithm

to ensure stability **and** improve performance.

System Dynamics

The Lagrangian equations **of** motion are [12]

( )

d ∂L

− ∂L N−M

+

dt ∂ ˙q i ∂q i

∑

j=1

λ j

∂f j

∂q i

= Q i , i = 1···N (1)

The symbols are defined in the nomenclature. The Lagrangian

function represents the total kinetic energy minus the total potential

energy **of** the system, **and** can be written in the following

general form in terms **of** the generalized coordinates:

L = 1 2

N

∑

i=1

N

∑

j=1

a i, j ˙q i ˙q j +

N

∑

i=1

a i,0 ˙q i + a 0,0 (2)

The functions a i, j s are functions **of** generalized coordinates **and**

time. Due to the use **of** superfluous coordinates, (N − M) constraint

equations are needed.

f j = 0 , j = 1···(N−M) (3)

2 Copyright c○ 2006 by ASME

Inserting (2) into (1) **and** double differentiating (3) gives the following

2N − M algebraic differential equations:

A 3

−θ 3

−θ c

[

AF

T

F 0

[ ] [ ]

][¨q D1 Q

= +

λ]

D 2 0

(4)

C 3

This can be solved for 2N − M unknowns, namely the second

derivatives **of** generalized coordinates **and** Lagrange multipliers,

**and** then the second derivatives can be integrated twice to obtain

the system forward dynamic response. The time history **of** Lagrange

multipliers is automatically calculated **and** can be used to

calculate the forces **of** constraints.

In inverse dynamics analysis, control inputs are calculated in

order to achieve a desired motion, which is specified in terms **of**

the second derivatives **of** the generalized coordinates. Assuming

that the required motion has K (≤ M) degrees **of** freedom, it can

be represented as follows:

A 1

B 3

C

B 1 C 2

C 1

B

θ 2

2

θ 1

Figure 1. Three degrees **of** freedom PPM

Table 1. Manipulator Data

A2

ÿ = C 1 ¨q − C 2 (5)

The control input vector U **of** dimension K can be added to the

generalized input vector with a coefficient matrix **of** B specifying

the location **of** the control action. There are various ways

**of** formulating an inverse dynamics model as discussed in [14],

but the general formulation can be written as follows by moving

the unknown control input vector to the left h**and** side in (4) **and**

using the desired motion as additional constraint equations:

⎡

⎣ A ⎤ ⎡ ⎤ ⎡

FT B ¨q

F 0 0⎦

⎣λ⎦=

⎣ D ⎤

1+Q

D 2

⎦ (6)

C 1 0 0 U ÿ+C 2

The above algebraic differential equations can be solved for the

second derivatives **of** the generalized coordinates, which can then

integrated twice to obtain the motion **of** the system. The required

control input vector **and** the Lagrange multipliers are automatically

calculated during this process.

The in-house simulation package Dysim [14] is used in this

paper. The program automatically develops the equation **of** motions

for the forward **and** inverse dynamic analysis from physical

data. It is suitable for multi-physics system, **and** its object oriented

properties allow the models to be used by other simulation

environments. Matlab/Simulink [10] environment is used to generate

the results in this paper.

Simulated System

The PPM shown in Fig. 1 is consist **of** two equilateral triangles,

**and** a moving platform B 1 B 2 B 3 connected to the ground

Object Length Diameter Mass Inertia

(i = 1···3) (m) (m) (kg) (gm 2 )

A i C i 0.17 0.02 0.144 0.3617

C i B i 0.15 0.02 0.127 0.2513

B 1 B 2 B 3 0.13 √ 3 - 0.331 0.1663

Center Load - 0.03 1.000 0.09

by three independent kinematic chains A i B i C i , i = 1···3. Each

chain has three independent revolute joints, **and** the actuators

are placed on the ground **and** connected to the manipulator at

A 1 ,A 2 ,**and**A 3 . The origin **of** the earth fixed coordinate system

is defined as the center **of** the triangle A 1 A 2 A 3 . The positions

**of** A 1 ,A 2 ,**and**A 3 are (−0.15 √ 3,−0.15) m, (0.15 √ 3,−0.15) m,

**and** (0,0.3) m respectively. Other relevant data for the manipulator

are shown in Table 1. The three angles θ 1 , θ 2 , **and** θ 3 are

driven by three similar dc-motors. Data for each motor are given

in Table 2.

The mechanical manipulator consists **of** 7 objects, namely

six connecting rods **and** the central platform. The properties **of**

each object **and** the connection information are fed to Dyism. The

program selects 21 generalized coordinates (three for each object)

for the mechanism **and** 3 generalized coordinates (charge

for each motor) for the motors. The total number **of** degrees **of**

freedom is 6; 3 mechanical **and** 3 electrical. The Lagrangian

function **and** the dynamic equations **of** motion including the 18

constraint equations are automatically developed. The program

also calculates the initial conditions **of** the superfluous coordin-

3 Copyright c○ 2006 by ASME

Table 2.

Motor Data

Parameter Value Unit

Power 50 Watt

Gear ratio 66 -

Resistance 0.4 Ohm

Induction 5 × 10 −5 mH

Torque Const. 8 × 10 −3 Nm/A

Back emf 8 × 10 −3 Nm/A

ates from the initial conditions **of** the user-selected independent

coordinates.

As a test trajectory, a point-to-point motion is used in this

paper. In order to minimize the vibration for high speed motions,

a third order exponential function is used to specify the motion.

The properties **of** this function were reported in [20, 21]. For the

motion **of** any coordinate x(t):

x = x 0 + ∆x (1 − e −(αt)3 ) (7)

This is a smooth **and** twice differentiable continuous function for

all values **of** t ≥ 0. Its first **and** second derivatives are zero at

the start **and** at the end **of** the motion. In addition, the motion is

controlled by a single parameter which gives complete control **of**

the motion speed. The speed parameter α determines the motion

speed, **and** related to the 1% **and** 5% settling times as follows:

T s (0.01)= 1.66

α , T s(0.05)= 1.44

α

The velocity **and** acceleration can be written as

(8)

ẋ = α∆x (3u 2 ) e −u3 (9)

ẍ = α 2 ∆x (6u − 9u 4 ) e −u3 (10)

where u = α t is the normalized time.

A straight line point-to-point motion **of** the platform is selected

as the desired motion. Only the acceleration-time history

is required for the inverse dynamic analysis. The Cartesian coordinates

**of** the center **of** gravity **of** the platform is initially set to

(-0.025, -0.025) m with an angle **of** θ c = 0deg. The final position

is specified as (0.025, 0.025) m with an angle **of** 10deg. The

motion duration is selected as 0.25 s. Equation (7) is applied to

ẍ c ,ÿ c , ¨θ c

**Inverse**

Dynamics

Figure 2.

V

θ m

Least Square

Estimation

Linearization process

Linearized

Model

Statistical

Data

all three coordinates **of** the platform, x c , y c **and** θ c to specify this

desired motion to the inverse dynamic modeling.

Piecewise Linearization

If the motor input voltages are selected as control inputs,

inverse dynamic analysis will generate the time history **of** control

voltages **and** the motor output coordinates (angles **and** their first

derivatives). Considering a decoupled linear model for one **of** the

motors, say the i th motor, the control voltage can be written in

the following form as described in [18, 19]:

v i (t)=b 0,i +b 1,i¨θ i +b 2,i˙θ i +b 3,i θ i (11)

If PPM is moving on a horizontal plane, the required motor

voltages at the end **of** the motion should approach to zero giving

the following constraint on the linearized parameters:

b 0,i = −b 3,i θ i (T s ) (12)

if the data from the simulation are stored in a discrete form, they

can be arranged in a matrix form as follows:

⎡

V = ⎢

⎣

v i (1)

v i (2)

···

v i (n)

⎤

⎡

⎥

⎦ , X= ⎢

⎣

¨θ i (1) ˙θ i (1) θ i (1)

¨θ i (2) ˙θ i (2) θ i (2)

··· ··· ···

¨θ i (n) ˙θ i (n) θ i (n)

⎤

⎥

⎦ (13)

This gives the following Least Square Estimator (LSE) **of** the

parameter vector b [22]:

ˆb =(X T X) −1 X T V (14)

The estimation process is illustrated in Fig. 2, where the vector

θ m contains motor angles, **and** their first **and** second derivatives.

Also the statistical data from the LSE, such as the goodness **of**

fit measure R 2 **and** the st**and**ard errors **of** each estimated coefficients

can be utilized to assess the accuracy **of** the linearized

model **and** significance **of** the estimated parameters. The goodness

**of** fit measure R 2 , corrected by the degrees **of** freedom **of**

4 Copyright c○ 2006 by ASME

the estimation, is defined as follows:

R 2 = 1 − n − 1 (1 − ∑n k=1 (v i(k) − ˆv i ) 2 )

n − 3 ∑ n k=1 (v i(k) − ¯v i ) 2

(15)

where n is the number **of** data points. If a high R 2 value (close

to 1) is obtained then the linearized model can be used in real

time implementations instead **of** the nonlinear inverse dynamic

analysis [18, 19] for the specified motion.

This paper extends the method to cases where the estimation

produces poor R 2 by breaking the motion duration into two or

more linearized sections. For this a recursive version **of** the LSE

is needed so that the estimates are updated at each time interval.

The recursive estimation **of** coefficient matrix at the k th time

interval, b(k) can be formulated as [23]:

LSE results (the numbers in parenthesis denote st**and**ard devi-

Parameters Motor 1 Motor 2 Motor 3

b i,1 -0.0312 0.0262 -0.0350

(0.0001) (0.0002) (0.0006)

b i,2 0.6645 0.6554 -1.2045

(0.0015) (0.0045) (0.0174)

b i,3 0.0299 0.3714 -22.358

(0.0155) (0.0495) (0.4521)

R 2 i 0.9989 0.9894 0.9251

Table 3.

ations)

ˆb(k) = ˆb(k−1)+P(k−1)X(k)[1 + X T (k)P(k − 1)X(k)] −1

×[V(k) − X T (k)ˆb(k − 1)] (16)

where the covariance matrix P is updated as follows:

V 1

(V)

1

0

−1

P(k)=[P(k−1) −1 +X(k)X T (k)] −1 (17)

The initial values **of** the coefficient estimates are taken as zero,

**and** the initial value **of** the P matrix is set to a very large diagonal

matrix.

The piecewise linearization break points are calculated by

an algorithm based on R 2 measurements at each time step. The

R 2 value should initially be increasing with each sampled data

until a peak value is achieved. If the subsequent measurements

**of** R 2 drops by a predefined margin ∆R 2 below the current maximum

value **of** R 2 , then the algorithm defines this point as the

break point **and** stops the estimation. The recursive estimator is

then initialized **and** started again until the next break point or end

**of** the motion is reached. This enables the linearized controllers

to be used in a wide range **of** applications involving highly nonlinear

systems **and** high speed motions. This process is demonstrated

by using a numerical example.

Numerical example: A sampling time interval **of** 0.0005 s

(sampling frequency **of** 2 kHz) is selected, which gives 501

sampling times including the initial values for the duration **of** the

motion. Straight LSE results by using the complete data set for

the simulated motion are shown in Table 3. Although a good fit is

obtain for all three motors, the R 2 value for Motor 3 is relatively

low. The calculated **and** linearized motor control voltages are

shown in Fig. 3. The lower R 2 for the Motor 3 can be observed

graphically from the figure.

Figure 4 shows R 2 values when RLSE is applied to the same

V 2

(V)

V 3

(V)

Figure 3.

voltages

−2

0 0.05 0.1 0.15 0.2 0.25

5

0

−5

0 0.05 0.1 0.15 0.2 0.25

1

0.5

0

−0.5

0 0.05 0.1 0.15 0.2 0.25

Time (s)

Calculated (solid) **and** linearized (dashed) motor control

data. As it can clearly be seen from the graphs that the R 2 value

for the Motor 3 is decreasing. A slight decrease for Motor 2 can

also be seen towards the end **of** the motion. When the piecewise

linearization option is selected with ∆R 2 = 0.01, no break

point was detected for Motor 1, but one breakpoint for Motor 2

at 339th sampling interval, **and** two break points for Motor 3 at

118th, 317th sampling intervals were detected. The calculated

5 Copyright c○ 2006 by ASME

R 2 R 2 R 2 3

2

1

1

0.8

0.6

0 100 200 300 400 500

1

0.8

0.6

0 100 200 300 400 500

1

0.8

0.6

0 100 200 300 400 500

Sampling numbers

V 1

(V)

V 2

(V)

V 3

(V)

0

−0.5

−1

−1.5

0

−2

−4

0.6

0.4

0.2

0

100 200 300 400 500

100 200 300 400 500

100 200 300 400 500

Sampling numbers

Figure 4.

R 2 values calculated at each sampling interval by the RLSE

Figure 5. Calculated (solid) **and** piecewise linearized (dashed) motor

control voltages

**and** piecewise linearized control voltages for all three motors are

shown in Fig. 5. The estimated parameters **and** the goodness **of**

fit values for Motor 2 **and** Motor 3 are given in table 4. A significant

improvement on the Motor 3 results is apparent from this

figure with a change **of** R 2 from 0.9251 to 1.0.

No attempt has been made to ensure continuity **of** the linearized

voltages between regions. This can be done by introducing

another constraint to the linearization process, but this would effectively

reduce the number **of** coefficients in the estimation thus

reducing the goodness **of** fit. The problem due to the jump discontinuity

could also be h**and**led by the error dynamic loop as

discussed later.

Error Dynamics

After successfully linearizing the inverse dynamic model to

provide the feed-forward control input to the system, it is necessary

to add feedback control to take into account the modeling

errors, unknown or unmeasured external disturbances, **and** measurement

noise. It has been shown previously that the error dynamics

for a nonlinear system can be significantly different than

the system dynamics [18]. A linearization process is applied to

the simulated errors, **and** proposed to be used in the feedback for

real-time implementation. A multi-frequency disturbance is introduced

at each motor sequentially, **and** the required changes

in the motor input voltages are calculated as shown in Fig. 6

**and** used in a RLSE algorithm to calculate the coefficients **of**

ẍ c ,ÿ c , ¨θ c

**Inverse**

Dynamics

Figure 6.

SPHS

V

¨θ 1 , ¨θ 2 , ¨θ 3

d i

**Inverse**

Dynamics

Least Square

Estimation

Error model linearization process

V

Linearized

Model

Statistical Data

the linearized error model. A Schroeder Phased Harmonic Sequence

(SPHS) [24] is used to generate a low-peak-factor multifrequency

signal with controllable power spectrum to represent

disturbances. A coupled linear model is considered for the error

dynamics. The disturbance levels on motor accelerations were

selected as 10% **of** the desired acceleration. When a disturbance

is introduced to the motion **of** each motor one at a time, the inverse

dynamics would produce variations **of** control voltages in

all three motors. Therefore, a total **of** 9 coefficients would be estimated

from each test. This would give a total **of** 27 coefficients

for the error model. Figure 7 shows the calculated voltage variations

in order to compensate for the motion errors introduced to

three motors, **and** compares these with the results obtained from

a linearized model. The goodness **of** values R 2 for 3 motors are

0.8667, 0.9626 **and** 0.8214. These are not as good as the R 2 values

obtained for linearizing the system in the previous section,

however the error models are not used directly in the feedback,

6 Copyright c○ 2006 by ASME

Table 4. Piesewise RLSE results for Motors 2 **and** 3

Parameters Region 1 Region 2 Region 3

Motor 2:

Data Range 1-339 340-501

b 2,1 0.0252 0.0335

b 2,2 0.6518 -0.0797

b 2,3 0.2569 -38.38

R 2 2 0.9898 0.9999

Motor 3:

Data Range 1-118 119-317 318-501

b 3,1 -0.0682 -0.0295 0.0063

b 3,2 -0.6596 -1.0297 1.0327

b 3,3 -12.982 -19.901 41.328

R 2 3 0.9903 0.9896 0.9969

V 1

(V)

V 2

(V)

V 3

(V)

0.05

0

−0.05

0.2

0

−0.2

0.04

0.02

0

−0.02

−0.04

0 0.05 0.1 0.15 0.2 0.25

Time (s)

but to design a LQR regulator. Although this is a path tracking

problem, the error dynamics can be treated as a regulator problem

as constant zero output is desired. Most **of** the nonlinearities

are compensated by the feed-forward path.

Linear Quadratic Regulator

A Linear Quadratic regulator is selected to achieve a stable

**and** optimum performance **of** the linearized error model. The

LQG regulator consists **of** an optimal state-feedback gain, which

minimizes a quadratic cost function as follows [25]:

J(z,u)=

∞

0

(

z T Qz + u T Ru ) dt (18)

where the state vector z corresponds to motion errors in angular

displacements, velocities **and** accelerations **of** three motors,

**and** the control vector u corresponds to corrections to the control

voltages. The diagonal weight matrices Q **and** R are selected by

using Bryson’s rule according to the maximum acceptable values

**of** the elements **of** the z **and** u vectors. The linearized error model

is used to form the LQR.

The overall control system is shown in Fig. 8. The controller

is tested by adding SPHS disturbance forces on the platform

along the x **and** y directions The results **of** the simulation are

shown in Fig. 9. The tracking errors in terms **of** x c , y c **and** θ c

are shown as a function **of** time during the motion. The results

Figure 7. Calculated (solid line) **and** linearized (dashed line) control

voltage variations to compensate for the disturbances in motor motions.

testing the LQR requlator control with disturbances on the plat-

Figure 8.

form

ẍ c ,ÿ c , ¨θ c

**Inverse**

Dynamics

V

θm

SPHS

LQG

d i

Forward

Dynamics

ẍ c ,ÿ c , ¨θ c

are also compared with the case where there is no LQR feedback

loop. The effectiveness **of** the suggested LQR control based on

the linearized error dynamics can be clearly seen from the figure.

Various simulation runs (not presented here) with different

disturbance levels were also made, **and** showed the ability **of** the

LQR controller to produce stable **and** accurate results when operating

under varying conditions.

Conclusions

In this paper, a numerical dynamic model for a three DOF

RRR PPM is built by using Lagrangian equations **and** the s**of**tware

Dysim, which utilizes a numerical coding system. Both

forward **and** inverse dynamics models are used in a Simulink environment

to design linear feed-forward **and** feedback controllers

for real-time implementations. The numerical linearization

θ m

7 Copyright c○ 2006 by ASME

x c

(m)

y c

(m)

θ c

(rad)

4 x 10−5

2

0

−2

0 0.05 0.1 0.15 0.2 0.25

10 x 10−5

5

0

−5

0 0.05 0.1 0.15 0.2 0.25

0

−5

5 x 10−5

−10

0 0.05 0.1 0.15 0.2 0.25

Time (s)

Figure 9. Tracking errors with (solid line) **and** without (dashed line) LQR

under SPH disturbance forces on the table.

process is for a specified motion. A RLSE approach is used to

develop a piecewise linearized model **of**f-line. An approach to

automatically calculate the break points is developed, **and** shows

that a very accurate generation **of** the nonlinear inverse dynamics

can be achieved.

An **of**f-line strategy is also developed to obtain a coupled

linearized error model from the nonlinear simulations. The error

dynamics are significantly different to the system dynamics. The

path following requirements are converted to a regulator problem

in the error model, **and** a LQR controller is designed to ensure

stability **of** the feedback loop **and** to optimize the trajectory

tracking performance. The designed regulator-based controller

is tested by applying external unknown disturbance forces

to the platform. The simulation results demonstrate good control

performance. The suggested linear controller not only deals

with the system nonlinearities, it is also robust against unknown

disturbances for high speed path following problems. This approach

performs all the computationally dem**and**ing calculations

**of**f-line, **and** synthesizes an optimized linear controller to be implemented

online.

REFERENCES

[1] Merlet, J. P., 2000. Parallel Robots. Kluwer Academic

Publishers, Dordrecht.

[2] Gosselin, C., **and** Angeles, J., 1988. “The optimum kinematic

design **of** a planar 3-degree-**of**-freedom parallel manipulator”.

Journal **of** **Mechanisms** Transmissions **and**

Automation in Design-Transactions **of** the Asme, 110(1),

pp. 35–41.

[3] Merlet, J. P., 2002. “Still a long way to go on the road for

parallel mechanisms”. In ASME DETC2002, 27th Biennial

**Mechanisms** **and** Robotics Conference.

[4] Daniali, H. R. M., Zsombormurray, P. J., **and** Angeles, J.,

1995. “Singularity analysis **of** planar parallel manipulators”.

Mechanism **and** Machine Theory, 30(5), pp. 665–678.

[5] Merlet, J. P., 1996. “Direct kinematics **of** planar parallel

manipulators”. In IEEE International Conference on Robotics

And Automation, pp. 3744–3749.

[6] Wang, L. P., Wang, J. S., Li, Y. W., **and** Lu, Y., 2003. “Kinematic

**and** dynamic equations **of** a planar parallel manipulator”.

Proceedings **of** the Institution **of** Mechanical Engineers

Part C-Journal **of** Mechanical Engineering Science,

217(5), pp. 525–531.

[7] Haug, E. J., 1989. Computer Aided Kinematics **and** Dynamics

**of** Mechanical Systems. Allyn **and** Bacon, Boston.

[8] Tsai, L. W., 1999. The Mechanics **of** Seriel **and** Parallel

Manipulators. John Wiley & Sons, New York.

[9] Schiehlen, W., 1990. Multibody Systems H**and**book.

Springer-Verlag, Berlin.

[10] MathWorks, 2006. http://www.mathworks.com/. Electronic

Citation.

[11] MapleS**of**t, 2006. http://www.maples**of**t.com/. Electronic

Citation.

[12] Wells, D. A., 1967. Schaum’s Outline **of** Theory **and** Problems

**of** Lagrangian Dynamics. McGraw-Hill, New York.

[13] Hazlerigg, A. D. G., **and** Sahinkaya, M. N., 1984. “Computer

aided design **of** non-linear systems”. In ACC 84 Conference,

pp. 1498–1503.

[14] Sahinkaya, M. N., 2004. “**Inverse** dynamic analysis **of** multiphysics

systems”. Proceedings **of** the Institution **of** Mechanical

Engineers Part I- Journal **of** Systems **and** **Control**

Engineering, 218(I1), pp. 13–26.

[15] Pang, H. S., **and** Shahinpoor, M., 1994. “**Inverse** dynamics

**of** parallel manipulator”. Journal **of** Robotic Systems, 11(8),

pp. 693–702.

[16] Khan, W. A., Krovi, V. N., Saha, S. K., **and** Angeles, J.,

2005. “Recursive kinematics **and** inverse dynamics for a

planar 3r parallel manipulator”. Journal **of** Dynamic Systems

Measurement **and** **Control**-Transactions **of** the ASME,

127(4), pp. 529–536.

[17] Geike, T., **and** McPhee, J., 2003. “**Inverse** dynamic analysis

**of** parallel manipulators with full mobility”. Mechanism

**and** Machine Theory, 38(6), pp. 549–562.

8 Copyright c○ 2006 by ASME

[18] Sahinkaya, M. N., **and** Li, Y., 2005. “**Inverse** dynamic analysis

**and** linearization **of** a high speed parallel mechanism”.

In ASME DETC2005, 29th **Mechanisms** & Robotics Conference,

Long Beach, USA.

[19] Sahinkaya, M. N., **and** Li, Y. Z., 2005. “Motion planning

**and** control **of** parallel mechanisms through inverse dynamics”.

In IUTAM Symposium on Vibration **Control** **of** Nonlinear

**Mechanisms** **and** Structures, Vol. 130, pp. 267–276.

[20] Sahinkaya, M. N., 2001. “Input shaping for vibration-free

positioning **of** flexible systems”. Proceedings **of** the Institution

**of** Mechanical Engineers Part I- Journal **of** Systems

**and** **Control** Engineering, 215(I5), pp. 467–481.

[21] Sahinkaya, M. N., 2004. “Exponential input shaping for vibration

free positioning **of** lightly damped multi-mode systems”.

In The Seventh International Conference on Motion

**and** Vibration **Control** (MOVIC’04), St.Louis, USA.

[22] Wallis, K. F., 1972. Introductory econometrics, 2nd ed.

Gray-Mills Publishing Ltd., London.

[23] Hsia, T. C., 1977. System identification least-squares methods.

D.C. Heath **and** Company, Massachusetts.

[24] Schroeder, M. R., 1970. “Synthesis **of** low-peak-factor signals

**and** binary sequences with low autocorrelation”. IEEE

Transactions on Information Theory, IT16(1), pp. 85–89.

[25] Franklin, G. F., Powell, J. D., **and** Emami-Nacini, A., 2002.

Feedback control **of** dynamic systems, 4th ed. Prantice Hall,

N.J.

9 Copyright c○ 2006 by ASME