Fuzzy based Gains Tuning of PD controller for joint position control of AIT Leg Exoskeleton-I...

6
Fuzzy based Gains Tuning of PD Controller for Joint Position Control of AIT Leg Exoskeleton-I (ALEX-I) Narong Aphiratsakun and Manukid Parnichkun School of Engineering Technology Asian Institute of Technology, P.O.Box 4, Klong Luang, Pathumthanee, 12120, Thailand {st103902, manukid}@ait.ac.th Abstract - This paper is focused on designing of Fuzzy based Gains Tuning of Proportional-Derivative (FTPD) controller for joints positions control of the Asian Institute of Technology’s Leg EXoskeleton-I (ALEX-I). The main objective of this research is to obtain the desired gait motion of the whole system. The gait data from simulation is used as the input (set point) of ALEX-I, this data is simulated based on body CM balancing criteria. Fuzzy Logic Controller applies five membership functions of error and rate of error, four K P and three K D singletons output gains are adjusted according with the defined fuzzy rules. The COGS defuzzification output is sent to ARM7 controllers which control all the system joints. The performance of FTPD controller is then compared with the conventional PD controller. The results show superior performance of FTPD in smaller position error, less percentage of power consumption and less oscillation of gait motion on ALEX-I. Index Terms - ALEX-I, Exoskeleton, Fuzzy Logic Control, PD Control, Fuzzy based Gains Tuning of PD Controller (FTPD). I. INTRODUCTION Nowadays many elders and patients have difficulties in their locomotion. All these people need to sit, stand, walk, and perform other activities to fulfill their daily tasks. They need assistance from other people or assistive devices such as walkers or wheelchairs. Exoskeletons are developed to help elders and patients in performing tasks that they normally have difficulties due to either their physical limitations or muscles’ fatigues. Wheelchairs are often incapable of transporting heavy materials over rough terrain or up staircases, lower extremity exoskeletons are developed to enhance the physical ability and intended to work as assistive devices that help eliminating the difficulties and risks during the locomotion of wearers. The lower extremity exoskeletons can also perform as the robotic prostheses that help improving the quality of lives for people who had lost their lower limbs so that they can again walk and perform daily activities. For this purpose, the exoskeleton has to be able to balance itself, carry the wearer, and walk even for the case that the lower part of the patient is completely paralyzed. A pioneer active exoskeleton appeared in 1960 in Belgrade [1]. This Belgrade exoskeleton is a human-sized lower extremity robot designed to help rehabilitate paraplegics. The Belgrade exoskeleton could only follow preprogrammed walking motions, which greatly limited its application. This system applied Zero Moment Point (ZMP) control, which has still been used in humanoid robots. Exoskeletons also find their applications in other various fields that draw a lot of interests from many robotics researchers who want to imitate the perfectly-designed and sophisticated biomechanics and human anthropometries. Some of the successful stories are HAL [2, 3] and BLEEX [4], which were designed for power enhancing and military missions respectively. HAL-3 was developed by the research team of Tsukuba in Japan who want to help the elders in performing their daily activities such as walking, sitting, and standing. Their latest model, HAL-5, is a whole-body suit unit, which is suitable for either the left or the right side paraplegic patient. The University of California, Berkeley implemented a hydraulic-actuated exoskeleton called BLEEX. BLEEX is focused on the power-enhanced legs for the application of carrying heavy loads in difficult terrains. The main objective for BLEEX is on military uses. In controlling joints of an exoskeleton, the conventional PD is widely used due to its simple structure and easy tuning of the gain values and was shown [2, 3]. In the underwater robot, Fuzzy-like PD controller was used [5]. The authors claimed the optimised result in real environment. Kim et al, [6] applied a Fuzzy-PD precompensator on a deadzone plant. Their works obtained good results for the plants that had deadzone area. The result also showed that the controller was robust to variations in deadzone non-linearlities. Jantzen [7] showed how to tune the additional Fuzzy controller to the existing PID controller in a system. This process also dealt with fine-tune of the nonlinear fuzzy controller. ALEX-I is designed and developed with the aim of being able to carry both external loads and the wearer. ALEX-I is modeled in MATLAB’s SimMechanics library. Consequently, precise gait pattern generation can be investigated based on the kinematics information of all moving links. ALEX-I structure designed has been previously reveals [8]. This structure was further research on conventional PD controller [9]. In this paper, Fuzzy based Gains Tuning of PD controller (FTPD) is introduced and added to the existing conventional PD controller. This paper describes the modification of the existing PD with FTPD controller. Section 2 briefly explained ALEX-I’s system; both mechanical hardware and electronics controller. The control system is highlighted in section 3. Section 4 Proceedings of the 2008 IEEE International Conference on Robotics and Biomimetics Bangkok, Thailand, February 21 - 26, 2009 978-1-4244-2679-9/08/$25.00 ©2008 IEEE 859

Transcript of Fuzzy based Gains Tuning of PD controller for joint position control of AIT Leg Exoskeleton-I...

Fuzzy based Gains Tuning of PD Controller for Joint Position Control of AIT Leg Exoskeleton-I (ALEX-I)

Narong Aphiratsakun and Manukid Parnichkun School of Engineering Technology

Asian Institute of Technology, P.O.Box 4, Klong Luang, Pathumthanee, 12120, Thailand

{st103902, manukid}@ait.ac.th Abstract - This paper is focused on designing of Fuzzy based Gains Tuning of Proportional-Derivative (FTPD) controller for joints positions control of the Asian Institute of Technology’s Leg EXoskeleton-I (ALEX-I). The main objective of this research is to obtain the desired gait motion of the whole system. The gait data from simulation is used as the input (set point) of ALEX-I, this data is simulated based on body CM balancing criteria. Fuzzy Logic Controller applies five membership functions of error and rate of error, four KP and three KD singletons output gains are adjusted according with the defined fuzzy rules. The COGS defuzzification output is sent to ARM7 controllers which control all the system joints. The performance of FTPD controller is then compared with the conventional PD controller. The results show superior performance of FTPD in smaller position error, less percentage of power consumption and less oscillation of gait motion on ALEX-I. Index Terms - ALEX-I, Exoskeleton, Fuzzy Logic Control, PD Control, Fuzzy based Gains Tuning of PD Controller (FTPD).

I. INTRODUCTION

Nowadays many elders and patients have difficulties in their locomotion. All these people need to sit, stand, walk, and perform other activities to fulfill their daily tasks. They need assistance from other people or assistive devices such as walkers or wheelchairs. Exoskeletons are developed to help elders and patients in performing tasks that they normally have difficulties due to either their physical limitations or muscles’ fatigues. Wheelchairs are often incapable of transporting heavy materials over rough terrain or up staircases, lower extremity exoskeletons are developed to enhance the physical ability and intended to work as assistive devices that help eliminating the difficulties and risks during the locomotion of wearers. The lower extremity exoskeletons can also perform as the robotic prostheses that help improving the quality of lives for people who had lost their lower limbs so that they can again walk and perform daily activities. For this purpose, the exoskeleton has to be able to balance itself, carry the wearer, and walk even for the case that the lower part of the patient is completely paralyzed.

A pioneer active exoskeleton appeared in 1960 in Belgrade [1]. This Belgrade exoskeleton is a human-sized lower extremity robot designed to help rehabilitate paraplegics. The Belgrade exoskeleton could only follow preprogrammed walking motions, which greatly limited its application. This system applied Zero Moment Point (ZMP)

control, which has still been used in humanoid robots. Exoskeletons also find their applications in other various fields that draw a lot of interests from many robotics researchers who want to imitate the perfectly-designed and sophisticated biomechanics and human anthropometries. Some of the successful stories are HAL [2, 3] and BLEEX [4], which were designed for power enhancing and military missions respectively. HAL-3 was developed by the research team of Tsukuba in Japan who want to help the elders in performing their daily activities such as walking, sitting, and standing. Their latest model, HAL-5, is a whole-body suit unit, which is suitable for either the left or the right side paraplegic patient. The University of California, Berkeley implemented a hydraulic-actuated exoskeleton called BLEEX. BLEEX is focused on the power-enhanced legs for the application of carrying heavy loads in difficult terrains. The main objective for BLEEX is on military uses.

In controlling joints of an exoskeleton, the conventional PD is widely used due to its simple structure and easy tuning of the gain values and was shown [2, 3]. In the underwater robot, Fuzzy-like PD controller was used [5]. The authors claimed the optimised result in real environment. Kim et al, [6] applied a Fuzzy-PD precompensator on a deadzone plant. Their works obtained good results for the plants that had deadzone area. The result also showed that the controller was robust to variations in deadzone non-linearlities. Jantzen [7] showed how to tune the additional Fuzzy controller to the existing PID controller in a system. This process also dealt with fine-tune of the nonlinear fuzzy controller.

ALEX-I is designed and developed with the aim of being able to carry both external loads and the wearer. ALEX-I is modeled in MATLAB’s SimMechanics library. Consequently, precise gait pattern generation can be investigated based on the kinematics information of all moving links. ALEX-I structure designed has been previously reveals [8]. This structure was further research on conventional PD controller [9]. In this paper, Fuzzy based Gains Tuning of PD controller (FTPD) is introduced and added to the existing conventional PD controller.

This paper describes the modification of the existing PD with FTPD controller. Section 2 briefly explained ALEX-I’s system; both mechanical hardware and electronics controller. The control system is highlighted in section 3. Section 4

Proceedings of the 2008 IEEEInternational Conference on Robotics and BiomimeticsBangkok, Thailand, February 21 - 26, 2009

978-1-4244-2679-9/08/$25.00 ©2008 IEEE 859

shows simulation, experiment, and results of gait cycle testing on ALEX-I by both FTPD and PD controllers. Finally, conclusions are made in section 5.

II. ALEX-I

ALEX-I has 12 DOF (6 DOF on each leg: 3 at the hip, 1 at the knee and 2 at the ankle), controlled by 12 DC motors. Each motor is coupled with a 1:100 gearhead and equipped with a 1024-pulse per revolution incremental encoder as a feedback sensor. The DC motors and Gearhead from Bonfiglioli model VF44P63B14 are used. PC104 and ARM7 are basically used as high level and low level controllers respectively. The desired set points sent from PC104 (master) to 12 ARM7 (slave) parallelly. Sending these set-points data in parallel allows the low-level 12 controller to acquire the data without delay. The details of these are discussed briefly in the following sub-sections. A. Mechanical Structure The lower limb exoskeleton mechanical structure is designed by a CAD software, SolidWorks. The CAD drawing is then imported to MATLAB development environment, which will is used to analyze the balanced gait motion through the simulation model. Aluminium 5083 with the density of 2657.27 Kg/m3 is mainly used for the frame structure. The prototype (front and side views) of ALEX-I is shown in Fig. 1. The weight of the ALEX-I is measured about 117.5 Kg excluding the weight of the backpack.

Fig.1: ALEX-I Mechanical Frame B. High and Low Level Controllers Architecture

In this work PC104 and ARM7 LPC2138 are used as high and low level controllers respectively. Overview of the controllers’ architecture is shown in Fig. 2(a). PC104 has 128 MB system memory and uses AMD Geode GX1 300 MHz as the main processor. PC104 is approximately 0.097 Kg with A/D and RS232 extension modules. ARM7 controller from Phillips is used in the inner loop to control the joint positions of ALEX-I. This 32 bit microprocessor is based on RISC architecture with 512 KB flash memory. Many functions are available such as PWM, UARTS, SPI, I2C and ADC/DAC. Parallel data transfer between high level and low level controllers is designed to obtain the maximum speed.

74LS244 and 74LS373 are used in buffer and latch circuits for data transferring from master to slave controllers. 74LS154 is used as data selector to select the slave controller. Photo of the controller system is shown in Fig. 2(b).

Fig. 2: (a) Overview of High and Low Level Controllers’ Architecture and (b) Controller Unit

C. Dynamic Model The equation of motion depends on the system parameters such as link masses, moments of inertia, etc. The Euler-Lagrange equation of motions [10] is expressed as

( )( ) ( , ) ( ) , ,I q q C q q q G q U q q q θ+ + = (1)

where ( ) nxnI q ∈ is the inertial matrix , ( , ) nC q q ∈ is the vector of the generalized Coriolis and centrifugal forces,

( ) nG q ∈ is the gravity vector, ( ), ,U q q q is the regressor and nθ ∈ is the parameter vector. Due to enormous computation

cost of 12 links, by ignoring the velocity dependent term C and velocity and acceleration terms ( ),U q q which has not

much effect in simulation. Then the dynamic model becomes

860

( )( ) ( )I q q G q U q θ+ = (2)

q

Gait Data Set Points

ALEXOuter LoopController

Inner LoopConttroller

dq

++

ZMP reference ∑

qΔ sq U

Fig. 3: Inner/Outer Loops Control Architecture

III. CONTROL SYSTEM

This section explained the inner loop control, joint position control, of ALEX-I. Conventional PD controller is the existing controller used in position control of ALEX-I’s postures. Fig. 4 shows the overall control system extended from Fig. 3. Fuzzy Logic Controller is added into the inner loop to adjust the gain values (KP and KD) to obtain the desired gait motion. Encoder feedback is used in the inner loop while the Ground Contact Pressure (GCP) data is obtained by force plates and acquired through PC104 which acts as the outer loop controller.

1 12θ −

1 12{ }desireθ −

1 12{ }actualθ −

1 12{ }compensateθ −

θΔ

Fig. 4: Inner Loop Control of ALEX-I A. The existing Inner Loop : Proportional-Derivative (PD) Control PD control is used to control each joint individually in the existing work [8, 9]. The twelve commands of 16-bits set points are sent from PC104, which determines the required posture motion of the whole system, to the low-level ARM7 controllers. In the inner loop, PD controller is used for tracking of set-point, dθ , received from the outer loop. The controller output ( )U s is given in (3). The gain values KP = 0.05 and KD = 0.02 are used in this work.

( ) ( ( ) ( )) ( )P d D dU s K s s K s s= Θ −Θ + Θ (3) 1024 pulses/rev incremental encoder is used as a position feedback sensor at each joint. LS7366 from LSI, is used to

obtain the quadrature A/B of the incremental encoder signal. This IC communicates through SPI with ARM7 processor and increases the quadrature counting up to four times. It increases the resolution of the encoders to 4096 pulses/rev. The inner PD close-loop control is shown in Fig. 5.

1s

Fig. 5: Conventional PD Controller in the inner loop B. The Modified Inner Loop : Fuzzy based Gains Tuning of PD (FTPD) Control

Fuzzy Logic Controller is applied in the loop of the system to adjust the gains KP and KD of each joint. The fuzzy rule consists of a set of antecedent-consequent linguistic rules of the form

IF e is PB AND e is Z THEN u is B (4)

The position error (e) and the rate of error ( e ) consist of 5 membership functions, negative big (NB), negative medium (NM), zero (Z), positive medium (PM) and positive big (PB). Membership functions e and e are used to adjust the gains of the proportional and derivative controller. All the membership functions are illustrated in Fig. 6.

(deg)e50000 25002500−5000−

(deg/ )e s1000000 5000050000−100000−

PK50 7525 100

DK8 124

310−×

30.25 10−× ×

Fig. 6: (a) Five set fuzzy input windows for position error (e) and

the rate of error ( e ), and (b) 4 outputs KP and 3 outputs KD windows

In this work, singleton output is used. The center of gravity method defined in [11] for singletons (COGS) is used to defuzzify the output u as

( )( )

i ii

ii

s su

sμμ

=∑∑

(5)

where is is the position of the singleton i in the output range,

( )isμ is the firing strength of rule i from the fuzzy table. The

861

rules of fuzzy logic controller (KP and KD values) are shown in Tables I-II. The overall process, implemented on the AMR7 controller, can be summarized in the flowchart in Fig. 7.

TABLE I THE FUZZY VALUE FOR KP

e NB NM Z PM PB

NB VB VB B S S NM B B M S M

Z B M S M B PM M S M B B

e

PB S S B VB VB

TABLE II THE FUZZY VALUE FOR KD

e NB NM Z PM PB

NB B B M S S NM B M S S S

Z M M S M M PM S S S M B

e

PB S S M B B

Fig. 7: Flow chart of FTPD Control for ALEX-I

IV. SIMULATION, EXPERIMENT, AND RESULTS

This section shows the simulation and experiment results of position control of all 12 joints of ALEX-I. The gait simulation is done in MATLAB which based on ZMP criteria. The FTPD is also simulated before used in the real testing. A. Simulation of Gait cycle and FTPD 1) Gait Cycle: Gait cycle for walking of ALEX-I is determined and shown in Fig. 8. This gait pattern is generated in MATLAB with SimMechanics library which was previously shown in [9]. Initially the walking cycle starts when the left leg is behind the right leg. ALEX-I then moves the body center of mass (CM) to the supported right foot and then starts left swing. At this stage, the body CM is then shifted back to the supported left foot, and then the right swing is started. The walking cycle ends when the right swing is completed.

10 20 30 40 50 60 70 80 90 100

-100

10

Gait data for Right and Left leg

Ank

le(R

)(deg

)

10 20 30 40 50 60 70 80 90 100-30

-20

-10A

nkle

(P)(d

eg)

10 20 30 40 50 60 70 80 90 100

204060

Kne

e(P

)(deg

)

10 20 30 40 50 60 70 80 90 100-40-20

020

Hip

(P)(d

eg)

10 20 30 40 50 60 70 80 90 100

-100

10

Hip

(R)(d

eg)

10 20 30 40 50 60 70 80 90 100-1

0

1

Hip

(Y)(d

eg)

Gait Cycle (100%)

right ankleleft ankle

Fig. 8: Simulation of gait pattern of walking cycle 2) FTPD: The control output is also simulated in MATLAB Fuzzy toolbox [12]. With the membership functions in Fig. 6 and rules from Tables I–II, KP and KD surface plots can be obtained as shown in Fig. 9 and Fig. 10 respectively. KP and KD parameters would be small under the following conditions; when e and e bear opposite values and when e and e are closed to zero values. KP and KD parameters would be small when the e and e are in the opposite sign to prevent the sudden reversed direction of the DC motor. In the case of e and e are near to zero values, KP and KD parameters are also be small to prevent of overshoot the compensated set point. B. Experimental of Gait Cycle Gait pattern generated from MATLAB simulation determined offline. This 16-bit offline data is send from

862

PC104 to 12 sets of ARM7 in parallel. Time interval between each command is 10ms. A plot of single joint (left ankle joint) response of ALEX-I is shown in Fig. 11. The figure shows the responses of the FTPD and PD controllers. It is observed that FTPD can track the input with superior performance than the PD controller. Fig. 13 shows the comparison between position error and controller output of FTPD and PD controllers. It is observed that position error is lower and also controller output (PWM) is smaller in FTPD.

Fig. 9: Control surface for 25 set rulebase for KP

Fig. 10: Control surface for 25 set rulebase for KD

80 85 90 95-30

-20

-10

0

10

20

30

post

ion(

deg)

Set point VS. Position for FTPD Controller for Ankle joint

80 85 90 95-30

-20

-10

0

10

20

30

t(ms)

post

ion(

deg)

Set point VS. Position for PD Controller for Ankle joint

setptFTPD

setptPD

Fig. 11: Plot of position input VS. FTPD and PD controllers’ response

75 80 85 90 95 100-10

0

10

20

30

erro

r(deg

)

Position error

75 80 85 90 95 1000

20

40

60

t(ms)

Con

trolle

r Out

put (

%)

Controller output

FTPDPD

FTPDPD

Fig. 12: Comparison results of a) position error and

V. CONCLUSION

This paper described ALEX-I in both mechanical and controller designs. A Fuzzy based Gains Tuning of Proportional-Derivative (FTPD) control was proposed for inner loop position control of all the 12 joints of ALEX-I.

This controller combined a fuzzy precompensator with the conventional PD controller. In the FTPD, the gains of KP and KD are based on the position error and rate of error of individual joints. FTPD controller has superior performance compared with the conventional PD controller. The experimental results shown that by using FTPD, the position error and power consumption were less.

In the future work, the authors will work on real time balancing control of ALEX-I.

ACKNOWLEDGMENT

This research is financially supported by National Electronics and Computer Technology Center (NECTEC), Thailand.

REFERENCES

[1] M. Vukobratovic, B. Borovac, “Zero Moment Point-Thirty five years of its live,” International Journal of Humanoid Robotics, pp.157-173, 2004.

[2] H. Kawamoto, Y. Sankai., “Comfortable Power Assist Control Method for Walking Aid by HAL-3,” Proceeding of the 2002 IEEE/SMC International Conference.

[3] H. Kawamoto, S. Kanbe., Y. Sankai, “Power Assist Method for HAL-3 Estimating Operator’s Intention Based on Motion Information,” Proceeding of the 2003 IEEE International Workshop on Robot and Human Interactive Communication, California, USA, pp. 67-72, October 31- November 2 2003.

[4] K. Kazerooni, J. L. Racine, L. Huang, R. Steger, “On the Control of the Berkeley Lower Extremity Exoskeleton (BLEEX),” Proceeding of the 2005 IEEE International Conference on Robotics and Automation, Barcelona, Spain, pp. 4353-4360, April 2005.

[5] I. S. Akkizidis, G. N. Roberts, P. Ridao, J. Batlle, “Design a Fuzzy-like PD controller for an underwater robot,” Elsevier Control Engineering Practice, pp. 471-480, 2003.

863

[6] J. H. Kim, J. H. Park, S. W. Lee, E. K. P. Chong, A Fuzzy Precompensator Design for PD Control of Systems with Deadzones, ECE Technical Report, Purdue Libraries, USA ,April1993.

[7] J. Jantzen, “Tuning Of Fuzzy PID Controller,” unpublished. [8] N. Aphiratsakun, M. Parnichkun, “Preliminary Study and Design of an

Exoskeleton,” Proceeding of the TRS Conference on Robotics and Industrial Technology (CRIT) 2007, Nakon Pathom, Thailand, pp.2-7, 14-15 June 2007.

[9] N. Aphiratsakun, K. Chirungsarpsook, M. Parnichkun, “Design and Balancing Control of AIT Leg Exoskeleton-I (ALEX-I),” Proceedings of 5th International Conference on Informatics in Control, Automation and Robotics (ICINCO), Funchal, Madeira-Portugal, pp. 151-158, 11-15 May 2008.

[10] M. W. Spong, S. Hutchinson, M. Vidyasagar, Robot Modeling and Control, John Wiley & Sons, Inc., pp. 294-299, 2006.

[11] G. J. Klir, U. S. Clair, B. Yuan, Fuzzy Set Theory Foundations and Applications, Prentice-Hall, Inc., 1997.

[12] D. Hanselman, B. Littlefield, Mastering MATLAB 7, Pearson Prentice Hall, 2005.

864