5
773 A Self Tuning PID Controller Using Wavelet Networks Rached Dhaouadi, Yousef Al-Assaf and Wissam Hassouneh American University of Sharjah, College of Engineering, Sharjah, UAE Abstract scheme for nonlinear systems is proposed using wavelet networks. The auto tuner consists of a discrete PID controller and a proposed new wavelet network structure called Dynamic Wavelet Network (DWN). The DWN consists of a static feedforward Wavelet Network in cascade with an autoregressive moving average (ARMA) model. The learning strategy for the wavelet network and PID controller is based on gradient descent. A recursive algorithm is developed to update the weights of the DWN and the parameters of the ARMA model. The performance of the proposed controller is demonstrated via extensive numerical simulations. The results are applied to a typical servomechanism with an input saturation as a hard nonlinearity, showing the feasibility of the proposed adaptive control system. I. INTRODUCTION Wavelet networks have received a lot of interest over the past few years in the area of control systems. Neural networks and wavelet theory, traditionally taught in two different disciplines, were integrated under the common theme of wavelet networks [1]-[3]. There are several advantages of combining wavelets and neural networks. Wavelet networks are universal approximators with the ability of achieving faster convergence than neural networks and the capability of dealing with inputs of higher dimensions [4]-[6]. Wavelet networks have been used for both static and dynamic modeling [7]-[9]. The capabilities of wavelet networks make them a good candidate for nonlinear system identification and control. In the framework of dynamic modeling of nonlinear systems, wavelet networks have been applied by Zhang [5] for the identification of a robot arm and were shown to perform much better than a linear Auto Regressive with exogenous input model. Yeung and Li [8] used algorithms for the identification of nonlinear multi-input dynamical systems to develop a rainstorm prediction tool. They used a wavelet network for identifying a state space model of the system using radar images as input and the rain gauge measurement as output. By comparing the wavelet network with the traditional neural network, they showed that the WN offered significant improvement in terms of speed, reliability and accuracy. Oussar, Rivals, Personnaz and Dreyfus [9] developed training algorithms for feedback wavelet networks used in the dynamic modeling of single-input-single-output (SISO) processes. The two algorithms were called feedforward wavelet predictor and feedback wavelet predictor. The first was used when it was assumed that noise was acting on the process input, while the second was used when it was assumed that noise was acting on the process output. They also presented an original initialization procedure that takes the locality of the wavelet functions into account. The initialization of the wavelets was based on the domain of the training data, in particular the minimum and maximum values. This procedure guaranteed the dilation and translation parameters were initialized so that the mother wavelet was at the center of the training sequence and extended over the whole input domain. When comparing with classical sigmoidal neural networks, they concluded that the two types of networks can perform equivalently in terms of accuracy and parsimony for low order nonlinear processes, provided proper initialization is done and efficient training algorithms are used. Adaptive controllers have been implemented using neural networks and, more recently, using wavelet networks to regulate nonlinear dynamic systems. J. Wang, F. Wang, J. Zhang and J. Zhang [10] presented a self-tuning PID controller based on the gradient decent learning algorithm with a neural network. The training of the NN was performed off-line so as to learn the dynamics of the plant, which required long training time. The P, I and D parameters were optimized on-line according to the cost function N i e J 1 (1) Where e i is the error between the set point and NN output at the i th step and N is the number of steps. By comparing the self-tuning PID controller to the common PID controller, they concluded that the new controller (i) could compensate for different process and environment uncertainties, (ii) was simple to configure since it did not require a process model, (iii) could track changes of process dynamics on-line, (iv) had all properties of common PID algorithm, and (v) could compensate for large dead time if it existed. Omatu [16] constructed an adaptive PID controller using two neural networks. The first NN was used to generate the P, I and D terms according to the cost function 2 2 ) 1 ( ) 1 ( 2 1 ) 1 ( 2 1 n y n r n e E (2) Where r(n) is the desired reference signal, y(n) is the plant output and n is the sample number. The second NN was used to emulate the plant. The proposed method was implemented in a SISO temperature control system and in an electric vehicle torque control system. The experimental results showed that the proposed method performed well in both systems. - In this paper a self tuning adaptive PID control 978-1-4244-1668-4/08/$25.00 ©2008 IEEE

[IEEE 2008 IEEE Power Electronics Specialists Conference - PESC 2008 - Rhodes, Greece (2008.06.15-2008.06.19)] 2008 IEEE Power Electronics Specialists Conference - A self tuning PID

  • Upload
    wissam

  • View
    218

  • Download
    6

Embed Size (px)

Citation preview

Page 1: [IEEE 2008 IEEE Power Electronics Specialists Conference - PESC 2008 - Rhodes, Greece (2008.06.15-2008.06.19)] 2008 IEEE Power Electronics Specialists Conference - A self tuning PID

773

A Self Tuning PID Controller Using Wavelet Networks

Rached Dhaouadi, Yousef Al-Assaf and Wissam HassounehAmerican University of Sharjah, College of Engineering, Sharjah, UAE

Abstractscheme for nonlinear systems is proposed using wavelet networks. The auto tuner consists of a discrete PID controller and a proposed new wavelet network structure called Dynamic Wavelet Network (DWN). The DWN consists of a static feedforward Wavelet Network in cascade with an autoregressive moving average (ARMA) model. The learning strategy for the wavelet network and PID controller is based on gradient descent. A recursive algorithm is developed to update the weights of the DWN and the parameters of the ARMA model. The performance of the proposed controller is demonstrated via extensive numerical simulations. The results are applied to a typical servomechanism with an input saturation as a hard nonlinearity, showing the feasibility of the proposed adaptive control system.

I. INTRODUCTION

Wavelet networks have received a lot of interest over the past few years in the area of control systems. Neural networks and wavelet theory, traditionally taught in two different disciplines, were integrated under the common theme of wavelet networks [1]- [3]. There are several advantages of combining wavelets and neural networks. Wavelet networks are universal approximators with the ability of achieving faster convergence than neural networks and the capability of dealing with inputs of higher dimensions [4]- [6]. Wavelet networks have been used for both static and dynamic modeling [7]- [9]. The capabilities of wavelet networks make them a good candidate for nonlinear system identification and control.

In the framework of dynamic modeling of nonlinear systems, wavelet networks have been applied by Zhang [5] for the identification of a robot arm and were shown to perform much better than a linear Auto Regressive with exogenous input model. Yeung and Li [8] used algorithms for the identification of nonlinear multi-input dynamical systems to develop a rainstorm prediction tool. They used a wavelet network for identifying a state space model of the system using radar images as input and the rain gauge measurement as output. By comparing the wavelet network with the traditional neural network, they showed that the WN offered significant improvement in terms of speed, reliability and accuracy. Oussar, Rivals, Personnaz and Dreyfus [9] developed training algorithms for feedback wavelet networks used in the dynamic modeling of single-input-single-output (SISO) processes. The two algorithms were called feedforward wavelet predictor and feedback wavelet predictor. The first was used when it was assumed that noise was acting on the process input, while the second was used when it was assumed that noise was acting on the process output.

They also presented an original initialization procedure that takes the locality of the wavelet functions into account. The initialization of the wavelets was based on the domain of the training data, in particular the minimum and maximum values. This procedure guaranteed the dilation and translation parameters were initialized so that the mother wavelet was at the center of the training sequence and extended over the whole input domain. When comparing with classical sigmoidal neural networks, they concluded that the two types of networks can perform equivalently in terms of accuracy and parsimony for low order nonlinear processes, provided proper initialization is done and efficient training algorithms are used.

Adaptive controllers have been implemented using neural networks and, more recently, using wavelet networks to regulate nonlinear dynamic systems. J. Wang, F. Wang, J. Zhang and J. Zhang [10] presented a self-tuning PID controller based on the gradient decent learning algorithm with a neural network. The training of the NN was performed off-line so as to learn the dynamics of the plant, which required long training time. The P, I and D parameters were optimized on-line according to the cost function

N

ieJ1

(1)

Where ei is the error between the set point and NN output at the ith step and N is the number of steps.

By comparing the self-tuning PID controller to the common PID controller, they concluded that the new controller (i) could compensate for different process and environment uncertainties, (ii) was simple to configure since it did not require a process model, (iii) could track changes of process dynamics on-line, (iv) had all properties of common PID algorithm, and (v) could compensate for large dead time if it existed.

Omatu [16] constructed an adaptive PID controller using two neural networks. The first NN was used to generate the P, I and D terms according to the cost function

22 )1()1(21)1(

21 nynrneE (2)

Where r(n) is the desired reference signal, y(n) is the plant output and n is the sample number.

The second NN was used to emulate the plant. The proposed method was implemented in a SISO temperature control system and in an electric vehicle torque control system. The experimental results showed that the proposed method performed well in both systems.

- In this paper a self tuning adaptive PID control

978-1-4244-1668-4/08/$25.00 ©2008 IEEE

Page 2: [IEEE 2008 IEEE Power Electronics Specialists Conference - PESC 2008 - Rhodes, Greece (2008.06.15-2008.06.19)] 2008 IEEE Power Electronics Specialists Conference - A self tuning PID

774

Lekutai [12] presented two self-tuning wavelet network controllers. The first was a self-tuning wavelet network controller. The controller was constructed with a wavelet network utilizing twenty wavelets and was implemented in the control of a nonlinear dynamic system. The second network was an adaptive PID controller. The controller was constructed using the same sized wavelet network and was implemented in the control of the same nonlinear dynamic system. The author observed that in the first scheme the WN tracked the set-point reference faster than the actual plant, while in the second scheme the plant response was faster than the WN. The proposed controllers were also utilized in the cases when Gaussian noise contaminated the input of the WN and when Gaussian noise contaminated the output of the plant. The controllers were found to perform better in the case of input noise contamination than in the case of output noise contamination. While the self-tuning wavelet network controller was found to provide quicker tracking adjustment to control changes, the adaptive PID controller was found to be more robust and less sensitive to noise.

Cheng, Chen and Shiau [13] developed an adaptive wavelet network controller by using the technique of feedback linearization, the adaptive control scheme and the H optimal control theory. They obtained an inversion-based nonlinear controller by employing the technique of feedback linearization. They then developed the structure of the adaptive wavelet controller using the certainty equivalent principal of adaptive control theory. The H optimal control theory was used to obtain the adaptive wavelet network control law and the parameter update algorithm. Two examples, an inverted pendulum system and a two-link robotic system, were given to illustrate the proposed controller’s design procedure and performance. In both examples the controller was shown to perform well by attenuating the tracking error. Wai and Chang [14] presented an intelligent control system for an induction servo motor drive utilizing a wavelet network. The WN controller had adaptive learning rates that were derived using the discrete-type Lyapunov stability theorem to guarantee the convergence of the tracking error. The authors used a four layer wavelet network with fourteen one-dimensional wavelets and seven two-dimensional wavelets. A periodic reference signal was used to test the effectiveness of the proposed control system and the simulation and experimental results showed that the controlled servo motor drive had good tracking control performance and good robustness to uncertainties under wide operating ranges.

The goal of this work is to investigate wavelet networks for system identification and control. The first part of this work focuses on the design of wavelet networks for nonlinear system identification, where the nonlinearity is identified explicitly as a cascaded block to the linear part of the system [15]. The second part addresses the design of a nonlinear controller by utilizing a wavelet network for the self-tuning control problems of highly nonlinear systems. The proposed method shows how a wavelet network can be combined with a self-tuning control algorithm to control known or unknown discrete-time complex systems. The gradient descent learning algorithm has been deployed to construct this adaptive controller. The control scheme used in this work is an adaptive PID controller based on a self-tuning

wavelet network. The original contributions of this work are introducing new wavelet network architecture and defining an adaptive mechanism for the PID controller parameters. The proposed wavelet network and wavelet-based controller are applied to first order and second order nonlinear systems, and the effect of noise on their performance is analyzed.

This paper is organized as follows: section two introduces a general overview of the methodology used and explains the use of wavelet networks in the dynamic modeling of nonlinear systems. Section three presents the control structure and design of an the adaptive PID-DWN controller. Simulation results and the performance of the controller are discussed in section four. The conclusion of this work is given in section five.

II. DYNAMIC WAVELET NETWORK

A wavelet network approximates any desired signal y(t) by generalizing a linear combination of a set of daughter wavelets a,b(t), which are generated by dilation, a, and translation, b, from a mother wavelet (t):

abttba ,

(3)

Where the dilation factor a > 0. A conventional wavelet network has the architecture

shown in Figure 1, where the network output is computed as

Ni

kkkj

Nw

jj axacy

10

1

ˆ (4)

The network has an input layer having Ni inputs, a wavelet layer having Nw weighted wavelet neurons and an output layer having a linear output neuron. The coefficients of the linear part of the network are called direct connections.

Conventional wavelet networks used for modeling multi-input processes use multidimensional wavelets [9]which can be constructed as the product of Ni scalar wavelets:

Ni

kjkj z

1

)( (5)

jk

jkkjk d

mxz (6)

Ni is the number of input variables, and mj and dj are the translation and dilation vectors respectively.

Nw

2

1 c1

c2

cNw

x1

xNi

y

1x2 a1

a2 a0

aNi

Figure 1. Conventional Wavelet Network

Page 3: [IEEE 2008 IEEE Power Electronics Specialists Conference - PESC 2008 - Rhodes, Greece (2008.06.15-2008.06.19)] 2008 IEEE Power Electronics Specialists Conference - A self tuning PID

775

The proposed model of the wavelet network scheme is called Dynamic Wavelet Network (DWN). The DWN is designed for the dynamic modeling of nonlinear single input single output (SISO) systems and is comprised of two cascaded sections: a single input single output feed-forward wavelet network and a recursive filter. The DWN architecture is shown in Figure 2.

jkjk

jj

jk

jk

jk

jj

jk dzc

mz

zc

my 1ˆ (14)

where )(....)()....()( 21 jNjkjjjk

j zzzzz

, and

2

2jkz

jkjk ezz (15) The network output is computed as

)(ˆ)()(ˆ1

10

mkynkukyN

mm

N

nn

(7) jk

jk

jk

jj

jk

jk

jk

jj

jk dz

zc

dz

zc

dy (16)

N is the order of the system, n are the feedforward coefficients and m are the feedback coefficients of the filter. The output of the nonlinear wavelet network section is written as

k = 1,…, Ni and j = 1,…, Nw

The components of the vector given in equation (10) for the DWN are:

011

1 )()( akuakckuNw

jjj

(8) 010

1

00

ˆˆa

mkya

nkuaky N

mm

N

nn

(17)

111

1

01

ˆˆa

mkya

nkuaky N

mm

N

nn

(18) Wavelet network training is based on minimizing the following quadratic cost function:

Np

n

nnNp

n

n yyeJ1

2

1

2 ˆ21

21)( (9)

j

N

mm

j

N

nn

j cmky

cnku

cky ˆˆ

1

1

0

(19)

j

N

mm

j

N

nn

j mmky

mnku

mky ˆˆ

1

1

0

(20) Where is the error between the target output, , and the corresponding wavelet network output, , for training pattern n, and Np is the number of elements in the training set.

nnn yye ˆ

nyny

j

N

mm

j

N

nn

j dmky

dnku

dky ˆˆ

1

1

0

(21)

The network parameters are represented by the set .For the conventional wavelet network, = {mjk, djk, cj, ak,a0}, with j = 1, …, Nw and k = 1, …, Ni, where a0 is the output bias, ak are the direct connection weights, cj are the wavelet neuron output weights, mjk are the translations and djk are the dilations. For the DWN, the additional parameters n are the feedforward coefficients and m are the feedback coefficients. The minimization is performed based on the gradient descent algorithm. The partial derivative of the cost function with respect to is:

where j = 1,…, Nw

n

N

mm

n

mkynku

ky ˆˆ1

1 (22)

for n = 0,…, N

m

N

mm

m

mkymkyky ˆˆˆ1

(23)

for m = 1,…, N Np

n

nn y

eJ

1

ˆ (10) The network parameters set is updated every epoch

by using

)1()( kJk (24) The components of the above vector for the conventional wavelet network are:

0ay (11)

kk

xay , for k = 1,…, Ni (12)

Where is the learning rate and is the momentum coefficient. The learning rate and momentum coefficient are set in the interval (0, 1). The training is performed to achieve a specified mean squared error value, given by

jjc

y , for j = 1,…, Nw (13) J

Nyy

NMSE

p

Np

n

nn

p

2ˆ11

2 (25)

1

z-1

u(k)

u1(k) (k)

c1

cj

cNw

j

Nw

1

0a1

z-1

a0

1

1nz-1

Nz-1 m

N

z-1

z-1

Figure 2. Dynamic Wavelet Network

Page 4: [IEEE 2008 IEEE Power Electronics Specialists Conference - PESC 2008 - Rhodes, Greece (2008.06.15-2008.06.19)] 2008 IEEE Power Electronics Specialists Conference - A self tuning PID

776

III. SELF TUNING PID CONTROLLER

Figure 3 shows the block diagram of the network topology based on the PID controller. The tuning of the PID gains is achieved by minimizing the cost function

T

k

T

k

kekykrF1

2

1

2 )(ˆ21)(ˆ)(

21 (26)

Where r(k) is the desired set point and (k) is the wavelet network output. The digital PID controller can be expressed in discrete time as follows:

)]2()1(2)([)()]1()([)1()(

kkkDkIkkPkuku (27)

Where P, I and D are proportional, integral and derivative terms, u(k) is the plant input at kT, where T is the sampling interval, and

)()()( kykrk (28) The P, I and D parameters are considered part of the

cost function F, and are optimized and updated according to the gradient descent algorithm. The PID controller parameters are represented by the set , i.e. = {P, I, D}. The partial derivative of the cost function with respect to is:

T

k

kykeF

1

)(ˆ)(ˆ (29)

From Equation (7), the derivative equations of the above vector with respect to the DWN output, (k), are:

Pmky

Pnku

Pky N

mm

N

nn

ˆˆ1

1

0

(30)

Imky

Inku

Iky N

mm

N

nn

ˆˆ1

1

0

(31)

Dmky

Dnku

Dky N

mm

N

nn

ˆˆ1

1

0

(32)

From Equation (8), the derivative equations of the above vector with respect to the DWN intermediate output, u1(k), are:

Nw

j j

kz

jj dekzca

Pku

Pku j

1

2)(

21

1 11)()()(2

(33)

Nw

j j

kz

jj dekzca

Iku

Iku j

1

2)(

21

1 11)()()(2

(34)

Nw

j j

kz

jj dekzca

Dku

Dku j

1

2)(

21

1 11)()()(2

(35)

Where 2

2kz

jj

j

ekzk , and j

jj d

mkukz

The derivative equations of the above vector with respect to the plant input, u(k), are:

)1()()1()( kkP

kuPku (36)

)()1()( kI

kuIku (37)

)2()1(2)()1()( kkkD

kuDku (38)

The controller parameters are updated every sampling interval by

PFkP P)( (39)

IFkI I)( (40)

DFkD D)( (41)

Where P, I, D are the proportional, integral and derivative parameter learning rates, respectively.

IV. SIMULATION ANALYSIS

Figure 4 shows the simulation results of the PID tuning with a second order system and a hard input saturation of 0.6.

422)( 2 ss

sG (42)

The response of the system to a sinusoidal reference is shown during the first cycle, middle cycle and final cycle of tuning. The system shows a very good tracking performance. The plots of the PID terms during the simulation were shown aalso to have a steady convergence to the final values KP =29.478, KI = 0.546, and KD = 3.5x10-11.

In the cases of input and output noise contamination, performance of the controller was shown to be unaffected by input noise resulting in SNR values of 61.63 dB and 41.63 dB. However, in the case of output noise contamination, performance of the controller was shown to be greatly affected by output noise in the case of a second order system resulting in SNR values of 58.65 dB and 38.65 dB.

r(k) PID Controller

NonlinearPlant

y(k) -+ (k)

PID Self Tuning

DWN

u(k)

e(k) -

+

(k)

uy

P I D

Figure 3. Adaptive PID-DWN Controller

Page 5: [IEEE 2008 IEEE Power Electronics Specialists Conference - PESC 2008 - Rhodes, Greece (2008.06.15-2008.06.19)] 2008 IEEE Power Electronics Specialists Conference - A self tuning PID

777

0 1 2 3 4 5 6 7 8 9 10-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

Time (sec)

Am

plitu

de

ReferencePlant Output

0 5 10 15 20 25 30 35 40 45 50-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

Time (sec)

Am

plitu

de

ReferencePlant Output

(a) (b)

1.995 1.9955 1.996 1.9965 1.997 1.9975 1.998 1.9985 1.999 1.9995 2

x 104

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

Time (sec)

Am

plitu

de

ReferencePlant Output

1.999 1.9991 1.9992 1.9993 1.9994 1.9995 1.9996 1.9997 1.9998 1.9999 2

x 104

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

Time (sec)

Am

plitu

de

ReferencePlant Output

(c) (d) Figure 4. PID tuning with a Sinusoidal reference: (a) Initial Cycle, (b)-(c) middle cycles and (d) Final Cycle.

V. CONCLUSION

This paper presented the design and implementation of an adaptive PID controller for nonlinear systems using wavelet networks. The proposed control scheme was tested with a first order and a second order nonlinear system with input saturation. The PID-DWN controller successfully tracked the sinusoidal and step reference signals by tuning online the PID gains.

REFERENCES

[1] S. S. Iyengar, E.C. Cho, V.V. Phoha, Foundations of Wavelet Networks and Applications, Chapman & Hall/CRC, June 2002.

[2] Q. Zhang, A. Benveniste, “Wavelet Networks”, IEEE Trans. on Neural Networks, Vol. 3, Nov. 1992, pp.889-98.

[3] Q. Zhang, “Regressor Selection and Wavelet Network Construction”, INRIA, Signal Processing, Automatic and Computer-Integrated Manufacturing, Project AS, No. 1967, April 1993, pp. 1-21.

[4] Y. Zhuang, J.S. Baras, “Identification of Infinite Dimensional Systems Via Adaptive Wavelet Neural Networks”, Institute for Systems Research and Department of Electrical Engineering, Technical Research Report T.R. 93-64, The University of Maryland, pp. 1-21.

[5] Q. Zhang, “Using Wavelet Network in Nonparametric Estimation”, Signal Processing, Automatic and Computer-Integrated Manufacturing, Project AS, No. 833, June 1994, pp. 1-44.

[6] S. Li, S. Chen, “Function Approximation Using Robust Wavelet Neural Networks”, Department of Information Management, National Kaohsiung First University of Science and Technology, Kaohsiung, Taiwan, ROC, and School of

Computer Science, Florida International University, Miami, FL., pp. 1-6.

[7] Y. Oussar and G. Dreyfus, “Initialization by Selection for Wavelet Network Training”, Neurocomputing, Vol. 34, 2000, pp. 131-43.

[8] L.F. Yeung and X.W. Li, “Multi-Input System Identification and its Applications Using Wavelet Constructive Method”, Proceedings of the IEEE Conference on Decision and Control, Vol. 3, Dec. 11-13, 1996, pp. 3230-35.

[9] Y. Oussar, I. Rivals, L. Personnaz, and G. Dreyfus, “Training Wavelet Networks for Nonlinear Dynamic Input-Output Modeling”, Neurocomputing, Vol. 20, 1998, pp. 173-88.

[10] J. Wang, F. Wang, J. Zhang, J. Zhang, “Intelligent controller using neural network”, Department of Automatic Control, Northeastern University, Shenyang, Liaoning, 110006, China, 1995, pp.755-761.

[11] S. Omatu, “Dynamical Systems Regulation by Neuro-Controllers”, Faculty of Engineering, University of Tokushima, Tokushima, 770, Japan, 1995, pp.590-599.

[12] G. Lekutai, “Adaptive Self-tuning Neuro Wavelet Network Controllers”, Electrical Engineering Department, Virginia Polytechnic Institute and State University, Blacksburg, Virginia, March 31, 1997, pp. 1-112.

[13] Y.-M. Cheng, B.-S. Chen, F.-Y. Shiau, “Adaptive Wavelet Network Control Design for Nonlinear Systems”, Department of Electrical Engineering, National Tsing-Hua University, Hsin-Chu, Taiwan, 1998, pp.783-799.

[14] R.-J. Wai, J.-M. Chang, “Intelligent control of induction servo motor drive via wavelet neural network”, Department of Electrical Engineering, Yuan Ze University, Chung Li, 320, Taiwan, 2002, pp.67-76.

[15] Wissam Hassouneh, Rached Dhaouadi, and Yousef Al-Assaf, “Dynamic Modeling of Nonlinear Systems Using Wavelet Networks,” Journal of Robotics and Mechatronics, Vol.20 No.1, 2008, pp. 178-187.