Education

Design of FPGA-based Sliding Mode Controller for Robot Manipulator

Description
One of the most active research areas in the field of robotics is robot manipulators control, because these systems are multi-input multi-output (MIMO), nonlinear, and uncertainty. At present, robot manipulators is used in unknown and unstructured situation and caused to provide complicated systems, consequently strong mathematical tools are used in new control methodologies to design nonlinear robust controller with satisfactory performance (e.g., minimum error, good trajectory, disturbance rejection). Robotic systems controlling is vital due to the wide range of application. Obviously stability and robustness are the most minimum requirements in control systems; even though the proof of stability and robustness is more important especially in the case of nonlinear systems. One of the best nonlinear robust controllers which can be used in uncertainty nonlinear systems is sliding mode controller (SMC). Chattering phenomenon is the most important challenge in this controller. Most of nonlinear controllers need real time mobility operation; one of the most important devices which can be used to solve this challenge is Field Programmable Gate Array (FPGA). FPGA can be used to design a controller in a single chip Integrated Circuit (IC). In this research the SMC is designed using VHDL language for implementation on FPGA device (XA3S1600E-Spartan-3E), with minimum chattering and high processing speed (63.29 MHz).
Categories
Published
of 22
11
Categories
Published
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Similar Documents
Share
Transcript
  • 1. Farzin Piltan, N. Sulaiman, M. H. Marhaban, Adel Nowzary & Mostafa Tohidian International Journal of Robotics and Automation, (IJRA), Volume (2): Issue (3) : 2011 173 Design of FPGA-based Sliding Mode Controller for Robot Manipulator Farzin Piltan SSP.ROBOTIC@yahoo.com Department of Electrical and Electronic Engineering, Faculty of Engineering, Universiti Putra Malaysia 43400 Serdang, Selangor, Malaysia N. Sulaiman nasri@eng.upm.edu.my Department of Electrical and Electronic Engineering, Faculty of Engineering, Universiti Putra Malaysia 43400 Serdang, Selangor, Malaysia M. H. Marhaban hamiruce@eng.upm.edu.my Department of Electrical and Electronic Engineering, Faculty of Engineering, Universiti Putra Malaysia 43400 Serdang, Selangor, Malaysia Adel Nowzary adnowzary@yahoo.com Industrial Electrical and Electronic Engineering SanatkadeheSabze Pasargad. CO (S.S.P. Co), NO:16 , PO.Code 71347-66773, Fourth floor Dena Apr , Seven Tir Ave , Shiraz , Iran Mostafa Tohidian mostafa.tohidian@gmail.com Industrial Electrical and Electronic Engineering SanatkadeheSabze Pasargad. CO (S.S.P. Co), NO:16 , PO.Code 71347-66773, Fourth floor Dena Apr , Seven Tir Ave , Shiraz , Iran Abstract One of the most active research areas in the field of robotics is robot manipulators control, because these systems are multi-input multi-output (MIMO), nonlinear, and uncertainty. At present, robot manipulators is used in unknown and unstructured situation and caused to provide complicated systems, consequently strong mathematical tools are used in new control methodologies to design nonlinear robust controller with satisfactory performance (e.g., minimum error, good trajectory, disturbance rejection). Robotic systems controlling is vital due to the wide range of application. Obviously stability and robustness are the most minimum requirements in control systems; even though the proof of stability and robustness is more important especially in the case of nonlinear systems. One of the best nonlinear robust controllers which can be used in uncertainty nonlinear systems is sliding mode controller (SMC). Chattering phenomenon is the most important challenge in this controller. Most of nonlinear controllers need real time mobility operation; one of the most important devices which can be used to solve this challenge is Field Programmable Gate Array (FPGA). FPGA can be used to design a controller in a single chip Integrated Circuit (IC). In this research the SMC is designed using VHDL language for implementation on FPGA device (XA3S1600E-Spartan-3E), with minimum chattering and high processing speed (63.29 MHz). Keywords: Robot Manipulator, Sliding Mode Controller, Chattering Phenomenon, FPGA, VHDL language.
  • 2. Farzin Piltan, N. Sulaiman, M. H. Marhaban, Adel Nowzary & Mostafa Tohidian International Journal of Robotics and Automation, (IJRA), Volume (2): Issue (3) : 2011 174 1. INTRODUCTION A robot is a machine which can be programmed as a reality of tasks which it has divided into three main categories i.e. robot manipulators, mobile robots and hybrid robots. PUMA 560 robot manipulator is an articulated 6 DOF serial robot manipulator. This robot is widely used in industrial and academic area and also dynamic parameters have been identified and documented in the literature. From the control point of view, robot manipulator divides into two main sections i.e. kinematics and dynamic parts. Estimate dynamic parameters are considerably important to control, mechanical design and simulation[1]. Sliding mode controller (SMC) is one of the influential nonlinear controllers in certain and uncertain systems which are used to present a methodical solution for two main important controllers’ challenges, which named: stability and robustness. Conversely, this controller is used in different applications; sliding mode controller has subsequent drawbacks i.e. chattering phenomenon, and nonlinear equivalent dynamic formulation in uncertain systems[1-2]. In order to solve the chattering in the systems output, boundary layer method should be applied so beginning able to recommended model in the main motivation. Conversely boundary layer method is constructive to reduce or eliminate the chattering; the error response quality may not always be so high. Besides using boundary layer method in the main controller of a control loop, it can be used to adjust the sliding surface slope to have the best performance (reduce the chattering and error performance)[3]. Commonly, most of nonlinear controllers in robotic applications need a mobility real time operation. FPGA-based controller has been used in this application because it is small device in size, high speed, low cost, and short time to market. Therefore FPGA-based controller can have a short execution time because it has parallel architecture [4-7]. This paper is organized as follows: In section 2, main subject of modelling PUMA-560 robot manipulator formulation are presented. Detail of classical sliding mode controller is presented in section 3. In section 4, the main subject of FPGA-based sliding mode controller is presented. In section 5, the simulation result is presented and finally in section 6, the conclusion is presented. 2. DYNAMIC FORMULATION OF ROBOT It is well known that the equation of an n-DOF robot manipulator governed by the following equation [1-2]: ࡹሺࢗሻࢗሷ ൅ ࡺሺࢗ, ࢗሶ ሻ ൌ ࣎ ( 1 ) Where τ is actuation torque, ࡹሺࢗሻ is a symmetric and positive define inertia matrix, ܰሺ‫,ݍ‬ ‫ݍ‬ሶሻ is the vector of nonlinearity term. This robot manipulator dynamic equation can also be written in a following form: ࣎ ൌ ࡹሺࢗሻࢗሷ ൅ ࡮ሺࢗሻሾࢗሶ ࢗሶ ሿ ൅ ࡯ሺࢗሻሾࢗሶ ሿ૛ ൅ ࡳሺࢗሻ ( 2 ) Where the matrix of coriolios torque is ࡮ሺࢗሻ, ࡯ሺࢗሻ is the matrix of centrifugal torques, and ࡳሺࢗሻ is the vector of gravity force. The dynamic terms in equation (2) are only manipulator position. This is a decoupled system with simple second order linear differential dynamics. In other words, the component ࢗሷ influences, with a double integrator relationship, only the joint variable‫ݍ‬௜, independently of the motion of the other joints. Therefore, the angular acceleration is found as to be[2]: ࢗሷ ൌ ࡹି૚ሺࢗሻ. ሼ࣎ െ ࡺሺࢗ, ࢗሶ ሻሽ 3
  • 3. Farzin Piltan, N. Sulaiman, M. H. Marhaban, Adel Nowzary & Mostafa Tohidian International Journal of Robotics and Automation, (IJRA), Volume (2): Issue (3) : 2011 175 ) This technique is very attractive from a control point of view. This paper is focused on the design FPGA-based controller for PUMA-560 robot manipulator. 2.1 PUMA 560 Dynamic Formulation Position control of PUMA-560 robot manipulator is analyzed in this paper; as a result the last three joints are blocked. The dynamic equation of PUMA-560 robot manipulator is given as ࡹሺࣂሻሷ ቎ ࣂ૚ ࣂሷ ૛ ࣂሷ ૜ ሷ ቏ ൅ ۰ሺࣂሻ ቎ ࣂሶ ૚ࣂሶ ૛ ࣂሶ ૚ࣂሶ ૜ ࣂሶ ૛ࣂሶ ૜ ቏ ൅ ࡯ሺࣂሻ ቎ ࣂሶ ૚ ૛ ࣂሶ ૛ ૛ ࣂሶ ૜ ૛ ቏ ൅ ࡳሺࣂሻ ൌ ൥ ࣎૚ ࣎૛ ࣎૜ ൩ ( 4 ) Where ࡹሺࢗሻ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ࡹ૚૚ ࡹ૚૛ ࡹ૚૜ ૙ ૙ ૙ ࡹ૛૚ ࡹ૛૛ ࡹ૛૜ ૙ ૙ ૙ ࡹ૜૚ ࡹ૜૛ ࡹ૜૜ ૙ ࡹ૜૞ ૙ ૙ ૙ ૙ ࡹ૝૝ ૙ ૙ ૙ ૙ ૙ ૙ ࡹ૞૞ ૙ ૙ ૙ ૙ ૙ ૙ ࡹ૟૟‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ( 5 ) ࡮ሺࢗሻ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ࢈૚૚૛ ࢈૚૚૜ ૙ ࢈૚૚૞ ૙ ࢈૚૛૜ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ࢈૛૚૝ ૙ ૙ ࢈૛૛૜ ૙ ࢈૛૛૞ ૙ ૙ ࢈૛૜૞ ૙ ૙ ૙ ૙ ૙ ૙ ࢈૜૚૝ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ࢈૝૚૛ ࢈૝૚૛ ૙ ࢈૝૚૞ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ࢈૞૚૝ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ( 6 ) ࡯ሺࢗሻ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ૙ ࡯૚૛ ࡯૚૜ ૙ ૙ ૙ ࡯૛૚ ૙ ࡯૛૜ ૙ ૙ ૙ ࡯૜૚ ࡯૜૛ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ࡯૞૚ ࡯૞૛ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙ ૙‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ( 7 ) ࡳሺࢗሻ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ૙ ࢍ૛ ࢍ૜ ૙ ࢍ૞ ૙ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ( 8 ) Suppose ‫ݍ‬ሷ is written as follows ࢗሷ ൌ ࡹି૚ሺࢗሻ. ሼ࣎ െ ሾ࡮ሺࢗሻࢗሶ ࢗሶ ൅ ࡯ሺࢗሻࢗሶ ૛ ൅ ࢍሺࢗሻሿሽ ( 9 ) and ‫ܫ‬ is introduced as ࡵ ൌ ሼ࣎ െ ሾ࡮ሺࢗሻࢗሶ ࢗሶ ൅ ࡯ሺࢗሻࢗሶ ૛ ൅ ࢍሺࢗሻሿሽ ( 1
  • 4. Farzin Piltan, N. Sulaiman, M. H. Marhaban, Adel Nowzary & Mostafa Tohidian International Journal of Robotics and Automation, (IJRA), Volume (2): Issue (3) : 2011 176 0 ) ‫ݍ‬ሷ can be written as ࢗሷ ൌ ࡹି૚ሺࢗሻ. ࡵ ( 1 1 ) Therefore ‫ܫ‬ for PUMA-560 robot manipulator can be calculated by the following equation ࡵ૚ ൌ ࣎૚ െ ሾ ࢈૚૚૛ࢗሶ ૚ࢗሶ ૛ ൅ ࢈૚૚૜ࢗሶ ૚ࢗሶ ૜ ൅ ૙ ൅ ࢈૚૛૜ࢗሶ ૛ࢗሶ ૜ሿ െ ሾ ࡯૚૛ࢗሶ ૛ ૛ ൅ ࡯૚૜ࢗሶ ૜ ૛ ሿ െ ࢍ૚ ( 1 2 ) ࡵ૛ ൌ ࣎૛ െ ሾ ࢈૛૛૜ࢗሶ ૛ࢗሶ ૜ሿ െ ሾ ࡯૛૚ࢗሶ ૚ ૛ ൅ ࡯૛૜ࢗሶ ૜ ૛ ሿ െ ࢍ૛ ( 1 3 ) ࡵ૜ ൌ ࣎૜ െ ൣ࡯૜૚ࢗሶ ૚ ૛ ൅ ࡯૜૛ࢗሶ ૛ ૛ ൧ െ ࢍ૜ ( 1 4 ) ࡵ૝ ൌ ࣎૝ െ ሾ ࢈૝૚૛ࢗሶ ૚ࢗሶ ૛ ൅ ࢈૝૚૜ࢗሶ ૚ࢗሶ ૜ሿ െ ࢍ૝ ( 1 5 ) ࡵ૞ ൌ ࣎૞ െ ሾ ࡯૞૚ࢗሶ ૚ ૛ ൅ ࡯૞૛ࢗሶ ૛ ૛ ሿ െ ࢍ૞ ( 1 6 ) ࡵ૟ ൌ ࣎૟ ( 1 7 ) 3. CLASSICAL SLIDING MODE CONTROL Sliding mode controller (SMC) is a powerful nonlinear controller which has been analyzed by many researchers especially in recent years. This theory was first proposed in the early 1950 by Emelyanov and several co-workers and has been extensively developed since then with the invention of high speed control devices[1-2]. A time-varying sliding surface ࢙ሺ࢞, ࢚ሻ is given by the following equation: ࢙ሺ࢞, ࢚ሻ ൌ ሺ ࢊ ࢊ࢚ ൅ ࣅሻ࢔ି૚ ࢞෥ ൌ ૙ ( 1 8 ) where λ is the constant and it is positive. To further penalize tracking error integral part can be used in sliding surface part as follows:
  • 5. Farzin Piltan, N. Sulaiman, M. H. Marhaban, Adel Nowzary & Mostafa Tohidian International Journal of Robotics and Automation, (IJRA), Volume (2): Issue (3) : 2011 177 ࢙ሺ࢞, ࢚ሻ ൌ ሺ ࢊ ࢊ࢚ ൅ ࣅሻ࢔ି૚ ቆන ࢞෥ ࢚ ૙ ࢊ࢚ቇ ൌ ૙ ( 1 9 ) The main target in this methodology is keep ࢙ሺ࢞, ࢚ሻ near to the zero when tracking is outside of ࢙ሺ࢞, ࢚ሻ. Therefore, one of the common strategies is to find input ࢁ outside of ࢙ሺ࢞, ࢚ሻ. ૚ ૛ ࢊ ࢊ࢚ ࢙૛ሺ࢞, ࢚ሻ ൑ െࣀ|࢙ሺ࢞, ࢚ሻ| ( 2 0 ) where ζ is positive constant. If S(0)>0՜ ‫܌‬ ‫ܜ܌‬ ‫܁‬ሺ‫ܜ‬ሻ ൑ െા ( 2 1 ) To eliminate the derivative term, we used an integral term from t=0 to t=࢚࢘ࢋࢇࢉࢎ න ࢊ ࢊ࢚ ࢚ୀ࢚࢘ࢋࢇࢉࢎ ࢚ୀ૙ ࡿሺ࢚ሻ ൑ െ න ࣁ ՜ ࡿ ࢚ୀ࢚࢘ࢋࢇࢉࢎ ࢚ୀ૙ ሺ࢚࢘ࢋࢇࢉࢎሻ െ ࡿሺ૙ሻ ൑ െࣀሺ࢚࢘ࢋࢇࢉࢎ െ ૙ሻ ( 2 2 ) Where ‫ݐ‬௥௘௔௖௛ is the time that trajectories reach to the sliding surface so, if we assume that S(‫ݐ‬௥௘௔௖௛ ൌ 0ሻ then: ૙ െ ࡿሺ૙ሻ ൑ െࣁሺ࢚࢘ࢋࢇࢉࢎሻ ՜ ࢚࢘ࢋࢇࢉࢎ ൑ ࡿሺ૙ሻ ࣀ ( 2 3 ) and ࢏ࢌ ࡿሺ૙ሻ ൏ 0 ՜ 0 െ ܵሺ૙ሻ ൑ െࣁሺ࢚࢘ࢋࢇࢉࢎሻ ՜ ࡿሺ૙ሻ ൑ െࣀሺ࢚࢘ࢋࢇࢉࢎሻ ՜ ࢚࢘ࢋࢇࢉࢎ ൑ |ࡿሺ૙ሻ| ࣁ ( 2 4 ) Equation (24) guarantees time to reach the sliding surface is smaller than |ࡿሺ૙ሻ| ࣀ if trajectories are outside of S(t). ࢏ࢌ ࡿ࢚࢘ࢋࢇࢉࢎ ൌ ࡿሺ૙ሻ ՜ ࢋ࢘࢘࢕࢘ሺ࢞ െ ࢞ࢊሻ ൌ ૙ ( 2 5 ) suppose S defined as ࢙ሺ࢞, ࢚ሻ ൌ ሺ ࢊ ࢊ࢚ ൅ ࣅሻ ࢞෥ ൌ ሺ‫ܠ‬ሶ െ ‫ܠ‬ሶ‫܌‬ሻ ൅ ૃሺ‫ܠ‬ െ ‫ܠ‬‫܌‬ሻ ( 2 6 ) The derivation of S, namely, ܵሶ can be calculated as the following formulation: ࡿሶ ൌ ሺ‫ܠ‬ሷ െ ‫ܠ‬ሷ‫܌‬ሻ ൅ ૃሺ‫ܠ‬ሶ െ ‫ܠ‬ሶ ‫܌‬ሻ ( 2 7 )
  • 6. Farzin Piltan, N. Sulaiman, M. H. Marhaban, Adel Nowzary & Mostafa Tohidian International Journal of Robotics and Automation, (IJRA), Volume (2): Issue (3) : 2011 178 suppose define the second order system as, ࢞ሷ ൌ ࢌ ൅ ࢛ ՜ ࡿሶ ൌ ࢌ ൅ ࢁ െ ࢞ሷ ࢊ ൅ ૃሺ‫ܠ‬ሶ െ ‫ܠ‬ሶ ‫܌‬ሻ ( 2 8 ) Where f is the dynamic uncertain, and also if ܵ ൌ 0 ܽ݊݀ ܵሶ ൌ 0, to have the best approximation ,ࢁ෡ defined by, ࢁ෡ ൌ െࢌ෠ ൅ ࢞ሷ ࢊ െ ࣅሺ‫ܠ‬ሶ െ ‫ܠ‬ሶ‫܌‬ሻ ( 2 9 ) A simple solution to get the sliding condition when the dynamic parameters have uncertainty is the switching control law: ࢁࢊ࢏࢙ ൌ ࢁ෡ െ ࡷሺ࢞ሬሬԦ, ࢚ሻ. ࢙ࢍ࢔ሺ࢙ሻ ( 3 0 ) Where the function of ࢙ࢍ࢔ሺࡿሻ defined as; ࢙ࢍ࢔ሺ࢙ሻ ൌ ൝ ૚ ࢙ ൐ 0 െ૚ ࢙ ൏ 0 ૙ ࢙ ൌ ૙ ( 3 1 ) and the ࡷሺ࢞ሬሬԦ, ࢚ሻ is the positive constant. Suppose to rewrite the equation (20) by the following equation, ૚ ૛ ࢊ ࢊ࢚ ࢙૛ሺ࢞, ࢚ሻ ൌ ‫܁‬ሶ. ‫܁‬ ൌ ൣࢌ െ ࢌ෠ െ ࡷ࢙ࢍ࢔ሺ࢙ሻ൧. ࡿ ൌ ൫ࢌ െ ࢌ෠൯. ࡿ െ ࡷ|ࡿ| ( 3 2 ) Another method is using equation (23) instead of (24) to get sliding surface ࢙ሺ࢞, ࢚ሻ ൌ ሺ ࢊ ࢊ࢚ ൅ ࣅሻ૛ ቆන ࢞෥ ࢚ ૙ ࢊ࢚ቇ ൌ ሺ‫ܠ‬ሶ െ ‫ܠ‬ሶ ‫܌‬ሻ ൅ ૛ࣅሺ‫ܠ‬ሶ െ ‫ܠ‬ሶ‫܌‬ሻ െ ૃ૛ሺ‫ܠ‬ െ ‫ܠ‬‫܌‬ሻ ( 3 3 ) in this method the approximation of ࢁ can be calculated as ࢁ෡ ൌ െࢌ෠ ൅ ࢞ሷ ࢊ െ ૛ࣅሺ‫ܠ‬ሶ െ ‫ܠ‬ሶ‫܌‬ሻ ൅ ૃ૛ሺ‫ܠ‬ െ ‫ܠ‬‫܌‬ሻ ( 3 4 ) To reduce or eliminate the chattering it is used the boundary layer method; in boundary layer method the basic idea is replace the discontinuous method by saturation (linear) method with small neighborhood of the switching surface. This replace is caused to increase the error performance. ࡮ሺ࢚ሻ ൌ ሼ࢞, |ࡿሺ࢚ሻ| ൑ ‫׎‬ሽ; ‫׎‬ ൐ 0 ( 3 5 ) Where ‫׎‬ is the boundary layer thickness. Therefore, to have a smote control law, the saturation function ࡿࢇ࢚ሺࡿ ‫׎‬ൗ ሻ added to the control law:
  • 7. Farzin Piltan, N. Sulaiman, M. H. Marhaban, Adel Nowzary & Mostafa Tohidian International Journal of Robotics and Automation, (IJRA), Volume (2): Issue (3) : 2011 179 ࢁ ൌ ࡷሺ࢞ሬሬԦ, ࢚ሻ. ࡿࢇ࢚ ቀࡿ ‫׎‬ൗ ቁ ( 3 6 ) Where ࡿࢇ࢚ ቀࡿ ‫׎‬ൗ ቁ can be defined as ࢙ࢇ࢚ ቀࡿ ‫׎‬ൗ ቁ ൌ ‫ە‬ ۖ ‫۔‬ ۖ ‫ۓ‬ ૚ ሺ࢙ ‫׎‬ൗ ൐ 1ሻ െ૚ ቀ࢙ ‫׎‬ൗ ൏ 1ቁ ࢙ ‫׎‬ൗ ሺെ૚ ൏ ࢙ ‫׎‬ൗ ൏ 1ሻ ( 3 7 ) Based on above discussion, the control law for a multi degrees of freedom robot manipulator is written as: ࣎ො ൌ ࣎ොࢋࢗ ൅ ࣎ො࢙ࢇ࢚ ( 3 8 ) Where, the model-based component ࣎ොࢋࢗ is compensated the nominal dynamics of systems. Therefore ࣎ොࢋࢗ can calculate as follows: ࣎ොࢋࢗ ൌ ൣࡹି૚ሺ࡮ ൅ ࡯ ൅ ࡳሻ ൅ ࡿሶ൧ࡹ ( 3 9 ) Where ࣎ොࢋࢗ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ࣎ࢋࢗ૚ෞ ࣎ࢋࢗ૛ෞ ࣎ࢋࢗ૜ෞ ࣎ࢋࢗ૝ෞ ࣎ࢋࢗ૞ෞ ࣎ࢋࢗ૟ෞ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ , ࡹି૚ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ࡹ૚૚ ࡹ૚૛ ࡹ૚૜ ૙ ૙ ૙ ࡹ૛૚ ࡹ૛૛ ࡹ૛૜ ૙ ૙ ૙ ࡹ૜૚ ࡹ૜૛ ࡹ૜૜ ૙ ࡹ૜૞ ૙ ૙ ૙ ૙ ࡹ૝૝ ૙ ૙ ૙ ૙ ૙ ૙ ࡹ૞૞ ૙ ૙ ૙ ૙ ૙ ૙ ࡹ૟૟‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ି૚ ࡮ ൅ ࡯ ൅ ࡳ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ࢈૚૚૛ࢗሶ ૚ࢗሶ ૛ ൅ ࢈૚૚૜ࢗሶ ૚ࢗሶ ૜ ൅ ૙ ൅ ࢈૚૛૜ࢗሶ ૛ࢗሶ ૜ ૙ ൅ ࢈૛૛૜ࢗሶ ૛ࢗሶ ૜ ൅ ૙ ൅ ૙ ૙ ࢈૝૚૛ࢗሶ ૚ࢗሶ ૛ ൅ ࢈૝૚૜ࢗሶ ૚ࢗሶ ૜ ൅ ૙ ൅ ૙ ૙ ૙ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൅ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬࡯૚૛ࢗሶ ૛ ૛ ൅ ࡯૚૜ࢗሶ ૜ ૛ ࡯૛૚ࢗሶ ૚ ૛ ൅ ࡯૛૜ࢗሶ ૜ ૛ ࡯૜૚ࢗሶ ૚ ૛ ൅ ࡯૜૛ࢗሶ ૛ ૛ ૙ ࡯૞૚ࢗሶ ૚ ૛ ൅ ࡯૞૛ࢗሶ ૛ ૛ ૙ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ൅ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ૙ ࢍ૛ ࢍ૜ ૙ ࢍ૞ ૙ ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬
  • 8. Farzin Piltan, N. Sulaiman, M. H. Marhaban, Adel Nowzary & Mostafa Tohidian International Journal of Robotics and Automation, (IJRA), Volume (2): Issue (3) : 2011 180 ࡿሶ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ࡿሶ૚ ࡿሶ૛ ࡿሶ૜ ࡿሶ૝ ࡿሶ૞ ࡿሶ૟‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ and ࡹ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ࡹ૚૚ ࡹ૚૛ ࡹ૚૜ ૙ ૙ ૙ ࡹ૛૚ ࡹ૛૛ ࡹ૛૜ ૙ ૙ ૙ ࡹ૜૚ ࡹ૜૛ ࡹ૜૜ ૙ ࡹ૜૞ ૙ ૙ ૙ ૙ ࡹ૝૝ ૙ ૙ ૙ ૙ ૙ ૙ ࡹ૞૞ ૙ ૙ ૙ ૙ ૙ ૙ ࡹ૟૟‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ Suppose that ࢙࣎ࢇ࢚ is computed as ࣎ො࢙ࢇ࢚ ൌ ࡷ. ࢙ࢇ࢚ ቀࡿ ‫׎‬ൗ ቁ ( 4 0 ) where ࣎ො࢙ࢇ࢚ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ࣎ࢊଙ࢙૚ෟ ࣎ࢊଙ࢙૛ෟ ࣎ࢊଙ࢙૜ෟ ࣎ࢊଙ࢙૝ෟ ࣎ࢊଙ࢙૞ෟ ࣎ࢊଙ࢙૟ෟ‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ , ࡷ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ࡷ૚ ࡷ૛ ࡷ૜ ࡷ૝ ࡷ૞ ࡷ૟‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ , ቀࡿ ‫׎‬ൗ ቁ ൌ ‫ۏ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ێ‬ ‫ۍ‬ ‫܁‬૚ ‫׎‬૚ ‫܁‬૛ ‫׎‬૛ ‫܁‬૜ ‫׎‬૜ ‫܁‬૝ ‫׎‬૝ ‫܁‬૞ ‫׎‬૞ ‫܁‬૟ ‫׎‬૟‫ے‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ۑ‬ ‫ې‬ ࢇ࢔ࢊ ࡿ ൌ ࣅࢋ ൅ ࢋሶ Moreover by replace the formulation (40) in (38) the control output is written as ; ࣎ො ൌ ࣎ොࢋࢗ ൅ ࡷ. ࢙ࢇ࢚ ቀࡿ ‫׎‬ൗ ቁ ൌ ൝ ࣎ࢋࢗ ൅ ࡷ. ࢙ࢍ࢔ሺࡿሻ , |ࡿ| ൒ ‫׎‬ ࣎ࢋࢗ ൅ ࡷ. ࡿ ‫׎‬ൗ , |ࡿ| ൏ ‫׎‬ ( 4 1 ) Figure 1 shows the position classical sliding mode control for PUMA-560 robot manipulator. By (41) and (39) the sliding mode control of PUMA 560 robot manipulator is calculated as; ࣎ො ൌ ൣࡹି૚ሺ࡮ ൅ ࡯ ൅ ࡳሻ ൅ ࡿሶ൧ࡹ ൅ ࡷ. ࢙ࢇ࢚ ቀࡿ ‫׎‬ൗ ቁ ( 4 2 )
  • 9. Farzin Piltan, N. Sulaiman, M. H. Marhaban, Adel Nowzary & Mostafa Tohidian International Journal of Robotics and Automation, (IJRA), Volume (2): Issue (3) : 2011 181 4. FPGA-BASED SLIDING MODE CONTROLLER Research on FPGA-based control of systems is considerably growing as their applications such as industrial automation, robotic surgery, and space station's robot arm demand more accuracy, reliability, high performance. For instance, the FPGA-based controls of robot manipulator have been reported in [5-6, 8-13]. Shao and Sun [8, 10]have proposed an adaptive control algorithm based on FPGA for control of SCARA robot manipulator. They are designed this controller into two micro base controller, the linear part controller is implemented in the FPGA and the nonlinear estimation controller is implemented in DSP. Moreover this controller is implemented in a Xilinx-FPGA XC3S400 with the 20 KHz position loop frequency. The FPGA based servo control and inverse kinematics for Mitsubishi RV-M1 micro robot is presented in[9, 11-12] which to reduce the limitation of FPGA capacitance they are used 42 steps finite state machine (FSM) in 840 n second. Meshram and Harkare [5-6] have presented a multipurpose FPGA-based 5 DOF robot manipulator using VHDL coding in Xilinx ISE 11.1. This controller has two most important advantages: easy to implement and flexible. Zeyad Assi Obaid et al. [13] have proposed a digital PID fuzzy logic controller using FPGA for tracking tasks that yields semi-global stability of all closed-loop signals. The basic information about FPGA has been reported in [4-5, 12-15]. A review of design and implementation of FPGA-based systems has been presented in [4]. The FPGA-based sliding mode control of systems has been reported in [7, 16-18]. Lin et al. [7] have presented low cost and high performance FPGA-based fuzzy sliding mode controller for linear induction motor with 80% of flip flops. The fuzzy inference system has 2 inputs ሺܵ & ܵሶሻ and one output ‫ܭ‬௙ with nine rules. Ramos et al. [16] have reported FPGA-based fixed frequency quasi sliding mode control algorithm to control of power inverter. Their proposed controller is implemented in XC4010E-3- PC84 FPGA from XILINX with acceptable experimental and theoretical performance. FPGA- based robust adaptive backstepping sliding mode control for verification of induction motor is reported in [17]. The introduction of language and architecture of Xilinx FPGA such as VHDL or Verilog in sliding mode control of robot manipulator will be investigated in this section. The Xilinx Spartan 3E FPGAs has 5 major blocks: Configurable Logic Blocks (CLBs), standard and high speed Input/output Blocks (IOBs), Block RAM’s (BRAMs), Multipliers Blocks, and Digital Clock Managers (DCMs). CLBs is include flexible look up tables (LUTs) to implement memory (storage element) and logic gates. There are 4 slices per CLB each slice has two LUT’s. IOB does control the rate of data between input/output pins and the internal logic gates or elements. FIGURE 1: Block diagram of classical sliding mode controller
  • 10. Farzin Piltan, N. Sulaiman, M. H. Marhaban, Adel Nowzary & Mostafa Tohidian International Journal of Robotics and Automation, (IJRA), Volume (2): Issue (3) : 2011 182 It supports bidirectional data with three state operation and multiplicity of signal standards. BRAMs require the data storage including 18-Kbit dual-port blocks. Product two 18-bit binary numbers is done by multiplier blocks. Self-calibrating, digital distributing solution, delaying, multiplying, dividing and phase-shift clock signal are done by DCM [15]. As shown in Figure 1, FPGA based sliding mode controller divided into two main parts: saturation part and equivalent part. To design FPGA based SMC controller using VHDL code, inputs and outputs is played important role. The block diagram of the FPGA-based sliding mode control systems for a robot manipulator is shown in Figure 2. Based on Figure 2 this block (controller) has 9 inputs and 3 outputs. Actual and desired displacements (inputs) are defined as 30 bits and the outputs (teta_dis) are defines as 35 bits in size. The desired inputs are generated from the operator and send to controllers for calculate the error and applied to sliding mode controller. To convert float input data to the integer it should be multiply input value by 1000000 and then save these new values in the input files. After the completing simulation, output response should be divided over 1000000 integers to real convert values. But due to simulator (XILINX ISE 9.1) limitations and restrictions on integer data length (32 bits) and it results are 33 bit’s words so at the first, controller results is divided over 2 and convert them to the integer part. Therefore the result should be divided over 500000 instead of 1000000. To robot manipulator’s FPGA based position sliding mode control, controller is divided into three main sub blocks; Figure 3 shows the VHDL code and RTL schematic in Xilinx ISE software. The table in Figure 4 indicates the Summary of XA Spartan-3E FPGA Attributes. As mentioned in above, the most significant resources are the LUT’s (610 out of 29504), CLB (77 out of 3688), Slice (305 out of 14752), Multipliers (27 out of 36), registers (397), and Block RAM memory (648 K) which there are 4 slices per CLB, each slice has two LUT’s. So, Nu
  • Search
    Similar documents
    View more...
    Related Search
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks
    SAVE OUR EARTH

    We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

    More details...

    Sign Now!

    We are very appreciated for your Prompt Action!

    x