the development of embedded negative input shaping

0 downloads 0 Views 4MB Size Report
Apr 3, 2010 - depan melalui aplikasi pembentukan Input Negatif untuk mengawal getaran bagi ... mereka dan menilai teknik kawalan getaran. Algorithme ...
THE DEVELOPMENT OF EMBEDDED NEGATIVE INPUT SHAPING FOR VIBRATION CONTROL OF A FLEXIBLE MANIPULATOR

SAZALIE BIN IBRAHIM

UNIVERSITY MALAYSIA PAHANG

UNIVERSITI MALAYSIA PAHANG

BORANG PENGESAHAN STATUS TESIS THE DEVELOPMENT OF EMBEDDED NEGATIVE INPUT SHAPING FOR VIBRATION CONTROL OF A FLEXIBLE MANIPULATOR 2009/2010 SESI PENGAJIAN:________________

JUDUL:

Saya

SAZALIE BIN IBRAHIM (870602-065071) ________________________________________________________________ ( 80922-11-5330 ) (HURUF BESAR)

mengaku membenarkan tesis (Sarjana Muda/Sarjana /Doktor Falsafah)* ini disimpan di Perpustakaan dengan syarat-syarat kegunaan seperti berikut: 1. 2. 3. 4.

Tesis adalah hakmilik Universiti Malaysia Pahang (UMP). Perpustakaan dibenarkan membuat salinan untuk tujuan pengajian sahaja. Perpustakaan dibenarkan membuat salinan tesis ini sebagai bahan pertukaran antara institusi pengajian tinggi. **Sila tandakan (  )

SULIT

TERHAD



(Mengandungi maklumat yang berdarjah keselamatan atau kepentingan Malaysia seperti yang termaktub di dalam AKTA RAHSIA RASMI 1972) (Mengandungi maklumat TERHAD yang telah ditentukan oleh organisasi/badan di mana penyelidikan dijalankan)

TIDAK TERHAD

Disahkan oleh:

___________________________ (TANDATANGAN PENULIS)

_________________________ (TANDATANGAN PENYELIA)

Alamat Tetap: NO 114 FELDA JENGKA 6, 26410 BANDAR JENGKA, PAHANG DARUL MAKMUR. Tarikh:

CATATAN:

MOHD ASHRAF BIN AHMAD ( Nama Penyelia)

Tarikh:

* ** 

Potong yang tidak berkenaan. Jika tesis ini SULIT atau TERHAD, sila lampirkan surat daripada pihak berkuasa/organisasi berkenaan dengan menyatakan sekali tempoh tesis ini perlu dikelaskan sebagai atau TERHAD. Tesis dimaksudkan sebagai tesis bagi Ijazah doktor Falsafah dan Sarjana secara Penyelidikan, atau disertasi bagi pengajian secara kerja kursus dan penyelidikan, atau Laporan Projek Sarjana Muda (PSM).

“I hereby acknowledge that the scope and quality of this thesis is qualified for the award of the Bachelor Degree of Electrical Engineering (Electronic)”

Signature

: ___________________________

Name

: MOHD ASHRAF BIN AHMAD

Date

: ___________________________

THE DEVELOPMENT OF EMBEDDED NEGATIVE INPUT SHAPING FOR VIBRATION CONTROL OF A FLEXIBLE MANIPULATOR

SAZALIE BIN IBRAHIM

This thesis is submitted as partial fulfillment of the requirements for the award of the Bachelor of Electrical Engineering (Hons.) (Electronic)

Faculty of Electrical & Electronics Engineering Universiti Malaysia Pahang

APRIL, 2010

ii

“All the trademark and copyrights use herein are property of their respective owner. References of information from other sources are quoted accordingly; otherwise the information presented in this report is solely work of the author.”

Signature

:

Author

: SAZALIE BIN IBRAHIM

Date

: 3 APRIL 2010

iii

Specially dedicated to My beloved parents, brothers and sister.

iv

ACKNOWLEDGMENT

Alhamdulillah, the highest thanks to God because with His Willingness I can complete the final year project in time.

I would like to express my gratitude to my dedicated supervisor, Sir Mohd.Ashraf Ahmad for guiding this project with clarity and that priceless gift of getting things done by sharing his valuable ideas as well as her knowledge.

I also would like to thank to my family, UMP lecturers especially Mrs Nurul Hazlina Nordin, electrical technicians, and my best colleagues at that have provide assistance at various occasions. Their views are useful indeed.

The great cooperation, kindheartedness and readiness to share worth experiences that have been shown by them will be always appreciated and treasured by me. Once again, thank you very much.

v

ABSTRACT

This project presents the investigation of embedded negative input shaping for vibration control of a flexible manipulator. The objective of this project is to control and reduce vibration by using negative input shaping approach. An unshaped bang-bang input is used to determine the characteristic parameters of the system for the design and evaluation of negative input shaping techniques. The negative input shaping algorithm is embedded in the Field-Programmable Gate Array board (FPGA). The embedded algorithm is then applied to the flexible manipulator model in Simulink. Experiment results of the response of the flexible manipulator to the input are presented in time and frequency domain. The effects of the derivative order of negative input shaping of the system are investigated.

vi

ABSTRAK

Projek ini mempersembahkan kajian berkaitan pembangunan skim kawalan depan melalui aplikasi pembentukan Input Negatif untuk mengawal getaran bagi sebuah manipulator robot boleh lentur. Objektif projek ini adalah untuk mengawal dan mengurangkan getaran dengan menggunakan aplikasi pembentukan Input Negatif. Tenaga putaran digunakan untuk menetukan parameter khusus untuk mereka dan menilai teknik kawalan getaran. Algorithme aplikasi pembentukan Input Negatif akan ditanam ke dalam papan ‘Field Programmable Gate Array’ (FPGA). Kemudian, algorithme ini akan di applikasikan ke atas manipulator boleh lentur dalam Simulasi. Keputusan simulasi tersebut akan dipersembahkan dalam domain masa dan frekuensi. Kesan tertib perbezaan pada aplikasi pembentukan Input Negatif terhadap prestasi sistem telah dikaji.

vii

TABLE OF CONTENTS

CONTENTS

PAGE

TITLE PAGE

i

STUDENT ADMITTANCE PAGE

ii

DEDICATION

iii

ACKNOWLEDGEMENT

iv

ABSTRACT

v

ABSTRAK

vi

TABLE OF CONTENTS

vii

LIST OF TABLES

x

LIST OF FIGURES

xi

LIST OF ABBREVIATIONS

xvii

LIST OF APPENDICES

xviii

1

II

INTRODUCTION 1.1

Background of Project

1

1.2

Objective of project

2

1.3

Scope of Project

2

1.4

Problem Statements

3

1.5

Thesis Outline

3

1.6

Significance of Study

4

LITERATURE RIVIEW 2.1

Introduction

6

2.2

Review of Input Shaping Method

6

2.3

Review of implementation Digital filter in FPGA

11

viii 2.4

III

Summary

11

DEVELOPMENT OF NEGATIVE INPUT SHAPING CONTROL TECHNIQUE 3.1

Introduction

12

3.2

Methodology

13

3.3

Block Diagram

14

3.4

The Flexible Manipulator System

14

3.4.1 Modelling Of The Flexible

16

Manipulator 3.5

Determination Natural Frequency,

19

Damping Ratio, And Bang-Bang Input 3.6

Develop Negative Input Shaping

20

3.7

Simulation Studies

24

3.7.1 Creating a Simulink Model

25

Experimental Studies

34

3.8.1 Xilinx ISE 10.1

34

3.8.2 Real Time Applications

40

3.7.3 Hardware Connection

49

3.8

IV

RESULTS 4.1

Introduction

54

4.2

Simulation Result

54

4.2.1 Power Spectral Density

54

4.2.2 Hub angle response (rad)

58

4.2.3 Displacement Response (m)

62

4.2.4 End Point Displacement Response (rad)

66

4.2.5 Velocity Response (rad/sec)

70

4.2.6 Acceleration response (m/sec/sec)

74

Experimental result

78

4.3

ix

4.4

V

4.3.1 Power Spectral Density

78

4.3.2 Hub angle response (rad)

83

4.3.3 Displacement Response (m)

86

4.3.4 End Point Displacement Response (rad)

89

4.3.5 Velocity Response (rad/sec)

92

4.3.6 Acceleration response (m/sec/sec)

96

Problem Of Project

100

CONCLUSION 5.1

Conclusion

101

5.2

Future Recommendation

101

VI

REFERENCE

102

VII

APPENDICES

104

x

LIST OF TABLES

TABLE NO

TITLE

PAGE

3.1

Values of a, b, and c

24

4.1

The Vibration At 16 Hz And 59 Hz

57

4.2

Time response Specification

61

4.3

Displacement

65

4.4

Time response Specification

69

4.5

Velocity

73

4.6

Acceleration

77

4.7

The Vibration At 15 Hz And 51 Hz

82

4.8

Velocity

95

4.9

Acceleration

99

xi

LIST OF FIGURES

FIGURE NO.

TITLE

PAGE

3.1

Flow chart of the research methodology

13

3.2

Project Block Diagram

14

3.3

Description of manipulator system

15

3.4

The bang-bang input.

20

3.5

Negative Zero Vibration

22

3.6

Negative Zero Vibration Derivative

23

3.7

Negative Zero Vibration Derivative-Derivative

24

3.8

Create a new model

25

3.9

Empty Simulink model

26

3.10

The block parameters of Step

27

3.11

The block parameters of Sum

28

3.12

The block parameters of Signal from Workspace

39

3.13

Simulink model of Subsystem

30

3.14

Block parameter box of Subsystem

31

3.15

Block parameter box of Demux

32

3.16

Finished Simulink Model 1

33

3.17

Configuration of hardware setup

34

3.18

Start up setting 1

35

xii 3.19

Start Up Setting 2

35

3.20

Start Up Setting 3

35

3.21

Start Up Setting 4

36

3.22

Start Up Setting 5

36

3.23

Floor Plan/IO/Pre-synthesis

36

3.24

Design Summary

37

3.25

iMPACT box

38

3.26

Progress download into FPGA board

38

3.27

Boundry Scan

39

3.28

Program button

39

3.29

The block parameter box of Digital Input

40

3.30

The block parameter box of Gain

41

3.31

The block parameter box of Sum

43

3.32

Finished Simulink Model 2

44

3.33

Configuration parameters-Solver

45

3.34

Configuration parameters-Hardware Implementation

46

3.35

System Target File Browser

47

3.36

Configuration parameters- Real-Time Workshop

47

3.37

Connect To Target simulation menu

49

3.38

Start Real-Time Code from the simulation menu

49

3.39

Expansion connector

50

xiii 3.40

FPGA connections to the J1 accessory header

51

3.41

FPGA connections to the J4 accessory header

51

3.42

The picture and pin assignment of the PC-Lab Card

52

(PCI-1710L/1710HGL) 3.43

ADAM-3968 SCSI 689

53

3.44

Connection of the FPGA, ADAM-3968 SCSI 689

53

terminal block and PCLab Card (PCI-1710L/1710HGL) 4.1

Power spectral density without Negative Input Shaping

55

4.2

Power spectral density with NZV

55

4.3

Power spectral density with NZVD

56

4.4

Power spectral density with NZVDD

56

4.5

Comparison of power spectral density

57

4.6

The percentage of vibration reduction at

58

16Hz and 59Hz 4.7

Hub angle response without Input Shaping

59

4.8

Hub angle response with NZV

59

4.9

Hub angle response with NZVD

60

4.10

Hub angle response with NZVDD

60

4.11

Comparison of hub angle response

61

4.12

Time response specification with different derivative

62

4.13

Displacement Response without Input Shaping

64

xiv 4.14

Displacement response with NZV

64

4.15

Displacement response with NZVD

64

4.16

Displacement response with NZVDD

64

4.17

Comparison of displacement response

65

4.18

The percentage of displacement reduction

66

4.19

End-point displacement response without Input Shaping

67

4.20

End-point displacement response with NZV

67

4.21

End-point displacement response with NZVD

68

4.22

End-point displacement response with NZVDD

68

4.23

Comparison of end-point displacement response

69

4.24

Time response specification with different derivative

70

4.25

Velocity response without Negative Input Shaping

71

4.26

Velocity response with NZV

71

4.27

Velocity response with NZVD

72

4.28

Velocity response with NZVDD

72

4.29

Comparison of velocity response

73

4.30

The percentage of velocity reduction

74

4.31

Acceleration response without Negative Input Shaping

75

4.32

Acceleration response with NZV

75

4.33

Acceleration response with NZVD

76

4.34

Acceleration response with NZVDD

76

xv 4.35

Comparison of acceleration response

77

4.36

The percentage of acceleration reduction

78

4.37

Power spectral density without Negative Input Shaping

79

4.38

Power spectral density with NZV

80

4.39

Power spectral density with NZVD

80

4.40

Power spectral density with NZVDD

81

4.41

Comparison of power spectral density

81

4.42

The percentage of vibration reduction

82

4.43

Hub angle response without Input Shaping

83

4.44

Hub angle response with NZV

84

4.45

Hub angle response with NZVD

84

4.46

Hub angle response with NZVDD

85

4.47

Comparison of hub angle response

85

4.48

Displacement response without Input Shaping

86

4.49

Displacement response with NZV

87

4.50

Displacement response with NZVD

87

4.51

Displacement response with NZVDD

88

4.52

Comparison of displacement response

88

4.53

End point displacement response without Input Shaping

89

4.54

End point displacement response with NZV

90

4.55

End point displacement response with NZVD

90

xvi 4.56

End point displacement response with NZVDD

91

4.57

Comparison of end point displacement

91

4.58

Velocity response without Negative Input Shaping

92

4.59

Velocity response with NZV

93

4.60

Velocity response with NZVD

93

4.61

Velocity response with NZVDD

94

4.62

Comparison of velocity response

94

4.63

The percentage of velocity reduction

95

4.64

Acceleration response without Negative Input Shaping

96

4.65

Acceleration response with NZV

97

4.66

Acceleration response with NZVD

97

4.67

Acceleration response with NZVDD

98

4.68

Comparison of acceleration response

98

4.69

The percentage of acceleration reduction

99

xvii

LIST OF ABBREVIATIONS

NZV

-

Negative Zero Vibration

NZVD

-

Negative Zero Vibration Derivative

NZVDD

-

Negative Zero Vibration Derivative Derivative

M

-

mass of trolley (kg)

m

-

mass of the load (kg)

𝑥

-

acceleration of trolley (m/s2)

𝑙

-

length of rope (m)

Ѳ

-

load swing angle (rad)

𝜃

-

angular acceleration of the load swing (rad/s2)

FT

-

applying torque in trolley (N)

g

-

gravity acceleration (m/s2)

xviii

LIST OF APPENDICES

APPENDIX

TITLE

PAGE

A

M-FILE FOR NZV, NZVD, NZVDD

104

B

CODING FOR PLOT GRAPH

111

C

CODING FOR FPGA

113

1

CHAPTER 1

INTRODUCTION

1.1

Background of Project

Flexible robot manipulators are often required to perform fast and precise motion control. Flexible robot manipulators exhibit many advantages over their rigid counterparts: they require less material, are lighter in weight, have higher manipulation speed, lower power consumption, require smaller actuators, are more maneuverable and transportable, are safer to operate, have less overall cost and higher payload to robot weight ratio. However, the flexibility of the system will create a vibration. One of the present challenges in the reduction of the vibration in the flexible manipulator is the optimization of desired input pattern with minimum vibration. The vibration is a concern of virtually every engineering discipline and mechanical engineers continually face the problem of vibration because mechanical systems vibrate when performance is pushed to the limit. The typical engineering solutions to vibration are to design ‘stiff’ systems, add damping to flexible system, or develop a good controller. Input shaping is another possibility for vibration control that can supplement methods. The shaping method is effective in reducing vibration in both feedfoward and feedback systems. This project focused on feedforward system by using negative input shaping technique to reduce the vibration. The shaping method involves convolution of a desired input with sequence of impulses to produce an input function that reduces vibration. An unshaped bang-bang input is used to determine the characteristic parameters of the system for the design and evaluation of negative input shaping techniques using simulation in matlab. Then, the negative input shaping algorithm is embedded in the Field-Programmable Gate Array

2 board (FPGA). The embedded algorithm is then applied to the flexible manipulator model in Simulink. Experiment results of the response of the flexible manipulator to the input are presented in time and frequency domain.

1.2

Objective

There are two objectives of this project:

1. The objective of this project is to control and reduce vibration of the flexible manipulator by using negative input shaping approach. 2. To investigate the effect of derivative order of negative input shaping to the performance of the system.

1.3

Scope of Project

The scope of study is divided into three main parts. The first part of the project is to study the dynamic characteristics of the flexible manipulator. The existing dynamic model of the system using finite element method will be used. The study is done to understand the dynamic behaviors of the flexible manipulator system. This is very an important part of the research in order to design a good controller for the system.

The second part of study is to find the negative input shaping algorithm to control the flexible manipulator system. This is including negative zero vibration (NZV) which is have three impulse, negative zero vibration derivative (NZVD) which is have five impulse and lastly negative zero vibration derivative derivatives (NZVDD) which is have seven impulse. This work will be carried out through simulation.

3 The last part is to develop the negative input shaping algorithm into FieldProgrammable Gate Array board (FPGA) by using HDL code. Then, the Negative Input shaping algorithm will be verified with simulation results.

1.4

Problem Statements

Most existing robotic flexible manipulators are designed and built in a manner to maximize stiffness, in an attempt to minimize system vibration and achieve good positional accuracy. High stiffness is achieved by using heavy material. As a consequence, such robots are usually heavy with respect to the operating payload. This, in turn, limits the operation speed of the robot manipulation, increases the actuator size, and boosts energy consumption and increase the overall cost. In order to solve these problems, robotic systems are designed to be lightweight and thus posses some level of flexibility. However, the flexibility of the system will create a vibration. The control of flexible robot manipulators to maintain accurate positioning is an extremely challenging problem. Problems arise due to precise positioning requirements system flexiblelity which leads to vibration. To solve this problem, input shaping technique is proposed in this project.

1.5

Thesis Outline

This thesis is composed of five chapters covering introduction, literature review, methodology, analysis and result and the last chapter is a conclusion and recommendation in future work.

Chapter 1 explains the background of the project, problem statements, objective and also the scopes. Dynamic characteristics of flexible manipulator and the difference order are main controller for control vibration.

4 Chapter 2 focused on the literature review for those parts that has been explained in Chapter 1. All the journals and books that are related to this project are used as a reference to guide and help completing this project. Each of this part is explain based on this finding.

Chapter 3 explains and discuss about the methodology that has been used in order to complete this project. There are two parts in this chapter which are the software development and hardware implementation. The discussion will be focusing on how to develop HDL code and embedded the code on Spartan 3E board. This chapter also discuss about the simulation design.

Chapter 4 will gives a result and analysis on the design for the system which consists SIMULINK Negative Input shaping using Matlab, and Xilinx.

Chapter 5 discussed the conclusion of development of this project. This chapter also discusses the recommendation for this system for future development or modification.

1.6

Significance of Study

An input shaping technique is presented for controlling vibration for flexible manipulator system. Vibration is eliminated by convolving a sequence of impulses, an input shaper, with a desired system command to produce a shaped input. The nature and distributed dynamic characteristics of the flexible manipulator system are highly nonlinear and complex is controlled by shaped input. This will ensure the flexible manipulator system to maintain accurate position. The implication of the reduction of vibration in flexible manipulator system using the input shaping enables it to be introduced in space structures, flexible aircraft wings and robotic manipulators. Another area of interest is in disk drives, where read or write heads mounted at the end of small but flexible assemblies must be removed rapidly to distant tracks while being subjected

5 to minimum residual vibrations. Thus, reducing the cost and increasing the production to its advantage.

6

CHAPTER 2

LITERATURE RIVIEW

2.1

Introduction

The vibration is a concern of virtually every engineering discipline and mechanical engineers continually face the problem of vibration because mechanical systems vibrate when performance is pushed to the limit. The typical engineering solutions to vibration are to design ‘stiff’ systems, add damping to flexible system, or develop a good controller. Input shaping is another possibility for vibration control that can supplement methods.

2.2

Review of Input Shaping Method

Input shaping improves response time and positioning accuracy by reducing residual vibrations in computer controlled machines. The method requires only a simple system model consisting of simple estimates of the natural frequencies and damping ratios. Input shaping is implemented by convolving a sequence of impulses, an input shaper, with a desired system command to produce a shaped input that is then used to drive the system.

Methods for controlling vibration can be roughly divided into feedback and feedforward approaches. Feedback methods are often the most desirable means of eliminating vibration [1]. Input shaping has proven to be an especially practical and effective method of reducing vibrations in flexible systems. This statement supported by several previous researches. It is known that giving the system an impulse will cause it

7 to vibrate, Garrido et al. [1] applied a second impulse to the system in the right moment so the vibration by the first impulse is cancelled. Singhose et al. [2] suggested only knowledge of the system natural frequency and damping ratio is required. The shaping method involves convolution of desired input with a sequence of impulses to produce an input function that reduces vibration.

Input shaping is a feedforward technique for reducing residual vibrations in computer controlled machines which does not depend on actuator limits or motion parameters [3]. According to Singhose and Pao [3], instead of using the bang-bang input as the reference signal, the wave form resulting from the convolution is used as the command signal. The shaped input that result from the convolution has a rise time which is longer than the unshaped input by an amount equal to the duration of the input shaper [3]. Besides, the input shaping is a form of Finite Impulse Response (FIR) filtering that places zeros near the locations of the flexible poles of the original system where the impulse amplitudes are equivalent to the filter coefficients [4].

The method is briefly described in this section [5]. A vibratory system can be modeled as a superposition of second-order systems each with a transfer function

𝐺(𝑠) =

𝜔 𝑛2

(2.1)

𝑠 2 +2𝜁𝜔 𝑛 𝑠+𝜔 2𝑛

where 𝜔𝑛 is the natural frequency and 𝜁 is the damping ratio of the system. Thus, the impulse response of the system at time t is

𝑦(𝑡) =

𝐴𝜔 𝑛 1−𝜁 2

𝑒 −𝜁 𝜔 𝑛 (𝑡−𝑡 0 ) 𝑠𝑖𝑛( 𝜔𝑛

1 − 𝜁 2 (𝑡 − 𝑡0 ))

(2.2)

where 𝐴 and 𝑡0 are the amplitude and time of the impulse, respectively. Further, the response to a sequence of impulses can be obtained using the superposition principle.

8 Thus, for N impulses, with 𝜔𝑑 = 𝜔𝑛

1 − 𝜁 2 , the impulse response can be expressed

as

𝑦 𝑡 = 𝑀 𝑠𝑖𝑛(𝜔𝑑 𝑡 + 𝛼)

(2.3)

Where

𝑀=

𝐵𝑖 =

(

𝑁 𝑖=1 𝑏𝑖

𝐴𝑖 𝜔 𝑛 1−𝜁 2

𝑐𝑜𝑠 ∅𝑖 )2 + (

𝑁 𝑖=1 𝑏𝑖

𝑠𝑖𝑛 ∅𝑖 )2 ,

𝑒 −𝜁𝜔 𝑛 (𝑡−𝑡 0 ) ,

∅𝑖 = 𝜔𝑑 𝑡𝑖 . and

𝛼 = tan−1 (

𝐵𝑖 cos 𝜙 𝑖 𝑁 𝑖=1( 𝐵 sin 𝜙 ) 𝑖

𝑖

𝐴𝑖 and 𝑡𝑖 are the magnitudes and times at which the impulses occur. The residual single mode vibration amplitude of the impulse response is obtained at the time of the last impulse, 𝑡𝑁 as

𝑉=

(𝑉12 + 𝑉22 )

(2.4)

Where

𝑉1 =

𝐴𝑖 𝜔 𝑛 𝑁 𝑖=1 1−𝜁 2

𝑒 −𝜁𝜔 𝑛 (𝑡−𝑡 0 ) 𝑐𝑜𝑠(𝜔𝑑 𝑡𝑖 ) ,

9 𝐴𝑖 𝜔 𝑛 𝑁 𝑖=1 1−𝜁 2

𝑉2 =

𝑒 −𝜁𝜔 𝑛 (𝑡−𝑡 0 ) 𝑠𝑖𝑛(𝜔𝑑 𝑡𝑖 ) .

To achieve zero vibration after the last impulse, it is required that both 𝑉1 and 𝑉2 in Eq. (2.4) are independently zero. Furthermore, to ensure that the shaped command input produces the same rigid body motion as the unshaped command, it is required that the sum of amplitudes of the impulses is unity. To avoid response delay, the first impulse is selected at time 𝑡𝑖 = 0. Hence by setting 𝑉1 and 𝑉2 in Eq. (2.4) to zero, 𝑁 𝑖=1 𝐴𝑖

= 1 and solving yields a two-impulse sequence with parameters as

𝑡1 = 0 , 𝑡2 =

𝐴1 =

𝜋 , 𝜔𝑑

1 𝐾 , 𝐴2 = 1+𝐾 1+𝐾 (2.5)

Where

𝐾 = 𝑒 −𝜁𝜋 /

1−𝜁 2

The robustness of the input shaper to errors in natural frequencies of the system can be increased by setting 𝑑𝑉/(𝑑𝜔𝑛 ) = 0. Setting the derivative to zero is equivalent of producing small changes in vibration corresponding to natural frequency changes. By obtaining the first derivatives of 𝑉1 and 𝑉2 in Eq. (2.4) and simplifying yields 𝑑𝑉1 𝑑𝜔 𝑛 𝑑𝑉2 𝑑𝜔 𝑛

=

𝑁 𝑖=1(𝐴𝑖 𝑡𝑖

𝑒 −𝜁𝜔 𝑛 (𝑡 𝑛 −𝑡 𝑖 ) 𝑐𝑜𝑠(𝜔𝑑 𝑡𝑖 )

=

𝑁 𝑖=1(𝐴𝑖 𝑡𝑖

𝑒 −𝜁𝜔 𝑛 (𝑡 𝑛 −𝑡 𝑖 ) 𝑠𝑖𝑛(𝜔𝑑 𝑡𝑖 )

(2.6)

Hence by setting Eq. (2.4) and (2.7) to zero and solving yields a three-impulse sequence with parameters as

10

𝑡1 = 0 , 𝑡2 = 𝐴1 =

𝜋 2𝜋 , 𝑡3 = , 𝜔𝑑 𝜔𝑑

1 2𝐾 , 𝐴2 = , 2 1 + 2𝐾 + 𝐾 1 + 2𝐾 + 𝐾 2

𝐾2 𝐴3 = 1 + 2𝐾 + 𝐾 2 (2.7) where K is as in Eq. (2.5). The robustness of the input shaper can further be increased by taking and solving the second derivative of the vibration in Eq. (2.4). Similarly, this yields a four-impulse sequence with parameters as

𝑡1 = 0 , 𝑡2 = 𝐴1 =

𝜋 2𝜋 3𝜋 , 𝑡3 = , 𝑡4 = 𝜔𝑑 𝜔𝑑 𝜔𝑑

1 3𝐾 , 𝐴 = , 2 1 + 3𝐾 + 3𝐾 2 + 𝐾 3 1 + 3𝐾 + 3𝐾 2 + 𝐾 3

3𝐾 2 𝐴3 = , 1 + 3𝐾 + 3𝐾 2 + 𝐾 3 𝐾2 𝐴4 = 1 + 3𝐾 + 3𝐾 2 + 𝐾 3 (2.8) where K is as in Eq. (2.5).

To handle other vibration modes, an input shaper for each vibration mode can be designed independently. Then the impulse sequences can be convoluted together to form a sequence of impulses that attenuate vibration at required modes. In this manner, for a vibratory system, the vibration reduction can be accomplished by convolving a desired system input with the impulse sequence. This yields a shaped input that drives the system to a desired location with reduced vibration.

11 2.3

Review of implementation Digital filter in FPGA Infinite impulse response (IIR) filters are widely used in digital signal processing

systems due to the following causes. IIR filters are rigorously analogous to well known and widely used analog filters. In most cases IIR filters are implemented by signal processors and ASICs, which architecture is adapted to filtering algorithms. For a long time IIR filters represent applications of FPGAs in the digital signal processing. Implementation IIR filters in FPGA has a set of advantages, such as full adaptation of implemented in FPGA structure to the filtering algorithm, high throughput, hardware utilization effectiveness, achieving high rate of calculating precision.

2.4

Summary After considering the review papers on the vibration control of the flexible

system using the input shaping method, most of the methods use observation from the simulated or experimental dynamic characteristic of the flexible system. Then, using the dynamic characteristics of the system, the amplitude and the time location of the impulses are determined to design the shaped input. The shaped input needs to redesign once the dynamic system changes due to load disturbance changes. Although the shaped input is quite robust to certain limit of variations in natural frequencies, the system needs to be re-simulated to observe and determine the new amplitude and the time location of the impulse sequences.

12

CHAPTER 3

DEVELOPMENT OF NEGATIVE INPUT SHAPING CONTROL TECHNIQUE

3.1

Introduction

This chapter described the methods used to reduce vibration of flexible manipulator which is negative input shaping. This method will be the guideline for other research. The methods explained in this chapter are very important procedure in order to ensure the flow of research move smoothly as planned. The methodology of this research is divided into six major sections:

i.

Modeling of a flexible manipulator.

ii.

Verification of mathematical model design.

iii.

Develop negative input shaping.

iv.

Simulation of model of a flexible manipulator using MATLAB.

v.

Experimental studies of a flexible manipulator using FPGA board.

vi.

Data collection and analysis controller design

13 3.2

Flow chart of project

Figure 3.1 illustrates the flow chart of the research methodology. It is very important to define the research methodology as it describes, predicts, select methods, controls, collects data, analyzes and elucidates the way the research has done. The project is illustrated in the flow chart below for more understanding.

Figure 3.1: Flow chart of the research methodolog

14 3.3

Block Diagram Of The Project Figure 3.2 show the block diagram of this project. Input shaping is implemented

by convolving a sequence of impulses, an input shaper, with bang-bang input. The shaped command that results from the convolution is then used to drive the flexible manipulator system in Simulink of Matlab in computer. The negative input shaping algorithm which is negative zero vibration (NZV), negative zero vibration derivative (NZVD) and lastly negative zero vibration derivative derivatives (NZVDD) will be embedded in Programmable Gate Array board (FPGA) by using HDL code which is connected to computer using PC-LabCard (PCL1710) terminal block. The output graph is presented in scope in Simulink.

Figure 3.2: Project block diagram

3.4

The Flexible Manipulator System

A description of the single-link flexible manipulator system considered in this work is shown in Figure 3.1, where XOY and POQ represents the stationary and moving co-ordinates frame respectively and τ represents the applied torque at the hub. E, I, ρ, A,

15 h, I, p and M represents Young modulus, area moment of inertia, mass density per unit volume, cross-sectional area, hub inertia and payload mass of the manipulator respectively. In this work, the motion of the manipulator is confined to the XOY plane. Since the manipulator is long and slender, transverse shear and rotary inertia effects are neglected. This allows the use of the Bernoulli–Euler beam theory to model the elastic behavior of the manipulator. The manipulator is assumed to be stiff in vertical bending and torsion, allowing it to vibrate dominantly in the horizontal direction thus, the gravity effects are neglected. Moreover, the manipulator is considered to have constant crosssection and uniform material properties throughout. In this study, an aluminium type flexible manipulator of dimensions 900 x 19.008 x 3.2004 mm3, E = 71.109 N/m2, I= 5.1924 m4 and ρ = 2710 kg/m3 is considered.

Figure 3.3: Description of manipulator system

16 3.4.1

Modelling Of The Flexible Manipulator

This section briefly describes modelling of the flexible robot manipulator system, as basis of a simulation environment for the development of feed-forward control strategies for vibration control of the system. In this investigation, the Finite element method with 10 elements is considered in characterizing the dynamic behavior of the manipulator incorporating structural damping and hub inertia. The equations of motion are expressed in state-space form. Simulation results of the dynamic behavior of the manipulator are presented in the time and frequency domains. The main step-in the Finite element analysis includes:

(a) Discretisation of the structure into elements; (b) Selection of an approximating function to interpolate the result; (c) Derivation of the basic element equation; (d) Calculation of the system equation; (e) Incorporation of the boundary conditions; (f) Solving the system equation with the inclusion of the boundary conditions.

In this manner, the flexible manipulator is treated as an assemblage of n elements and the development of the algorithm can be divided into three main parts: the FE analysis, state-space representation and obtaining and analyzing the system response For a small angular displacement θ (t) and a small elastic deflection w(x,t), the total displacement y(x,t) of a point along the manipulator at a distance x from the hub can be described as a function of both the rigid body motion θ (t) and elastic deflection w(x,t) measured from the line OX as: y(x,t) = xθ (t)+ (x,t)

(3.1)

Using the FE method, kinetic and potential energies of an element, yields the element mass matrix, M n and stiffness matrix, Kn as [6].

17

𝜌𝐴𝑙

𝑀𝑛 =

𝐾𝑛 =

420

𝐸𝐼 𝑙3

𝑚11 𝑚21 𝑚31 𝑚41 𝑚51

0 0 0 0 0

𝑚12 156 22𝑙 54 −13𝑙

0 12 6𝑙 −12 6𝑙

0 6𝑙 4𝑙2 −6𝑙 2𝑙2

𝑚13 22𝑙 4𝑙2 −13𝑙 −3𝑙2 0 −12 −6𝑙 12 −6𝑙

𝑚14 54 −13𝑙 156 22𝑙

𝑚15 −13𝑙 −3𝑙2 22𝑙 4𝑙2

0 6𝑙 2𝑙2 −6𝑙 4𝑙2

(3.2)

Where

𝑚11 = 140𝑙2 (3𝑛2 − 3𝑛 + 1) 𝑚12 = 𝑚21 = 21𝑙(10𝑛 − 7) 𝑚13 = 𝑚31 = 7𝑙2 (5𝑛 − 3) 𝑚14 = 𝑚41 = 21𝑙 10𝑛 − 3 𝑚15 = 𝑚51 = −7𝑙2 (5𝑛 − 2) l is the elemental length of the manipulator and n is the number of elements.

Assembling the element mass and stiffness matrices by utilising the Lagrange equation of motion, the desired dynamic equations of motion of the system can be obtained as:

𝑀𝑄 𝑡 + 𝐷𝑄 𝑡 + 𝐾𝑄 = 𝐹𝑡

(3.3)

where M, D and K are global mass, damping and stiffness matrices of the manipulator respectively. The damping matrix is obtained by assuming that the manipulator exhibits

18 the characteristics of Rayleigh damping. F(t) is a vector of external forces. Q(t) is a nodal displacement vector given as:

𝑄 𝑡 = 𝜃

𝑤𝑂

𝜃𝑂



𝑤𝑛

𝜃𝑛

𝑇

(3.4)

where w n (t) and θ n (t) are the flexural and angular deflections at the end point of the manipulator respectively.

With 10 elements, the M, D and K matrices in Equation (3.3) are of size m×m and F(t) is of size m×1, where m = 21. For the manipulator, considered as a pinned-free arm with the applied torque s at the hub, the flexural and angular deflections, velocity and acceleration are all zero at the hub at τ and the external force is F(t) = [τ 0 … 0]Τ . Moreover, in this work, it is assumed that Q(0) = 0 .

The matrix differential equation in Equation (3.3) can be represented in a state space form as:

𝑣 = 𝐴𝑣 + 𝐵𝑢 𝑦 = 𝐶𝑣

(3.5)

Where

0𝑚 −𝑀−1 𝐾 𝐶 = 𝐼2𝑚

𝐼𝑚 0 ×1 , 𝐵 = 𝑚−1 , −1 −𝑀 𝐷 𝑀

𝐴=

(3.6)

0m is an m×m null matrix, m I is an m×m identity matrix, 0 m×1 is an m×1 null vector:

𝑢= τ

0

𝑣= 𝜃

𝑤1

… 𝜃1

0

𝑇



𝑤𝑛

𝜃𝑛

𝜃

𝑤1

𝜃1



𝑤𝑛

𝜃𝑛

𝑇

(3.7)

19 Solving the state-space matrices gives the vector of states v, that is, the angular, nodal flexural and angular displacements, and velocities. Further details of the derivation of the dynamic equations of motion of the flexible manipulator using the FE method are given in [6].

So, the each variable are represented in the matrix form. The value must be fill in the flexible-link state space model before proceed to the simulation. The value of mass matrix, input matrix and output matrix are shown below:

0 0 0 𝐴= 0 0 0

0 0 0 −6175.8 21700.8 −1629.67 0 0 0 𝐵= 1173.24 1128.74 23.8429 𝐶= 1

3.5

1

1

0

0 0 0 −0.13525271𝑒 7 0.257311𝑒 7 −147554

0

1 0 0 0 0 0

0 1 0 7.8681 −2.5541 −0.334002

0

0 0 1 −341.145 745.786 −46.5154

(3.8)

Determination Natural Frequency, Damping Ratio, And Bang-Bang Input

The natural frequency is the vibration frequency of the system with all the damping is removed. An ideal flexible manipulator will vibrate at its natural frequency once it is released from an unstable position. In some cases, the energy in the excitation frequency is stronger than the energy in the natural frequency [6].

In this project, natural frequency for the experimental studies was obtained from the response of power spectral density of uncontrolled flexible manipulator system. The value obtained then will be multiply with 2π to get the exact value of the natural

20 frequency, ωn. For the damping ratio, it is calculated on the basis decay characteristic of the measured vibration signal.

A bang–bang torque has a positive (acceleration) and negative (deceleration) period allowing the manipulator to, initially, accelerate and then decelerate and eventually stop at a target location. Figure 3.4 shows a singleswitch bang–bang signal of amplitude 0.3 Nm used as an input torque, applied at the hub of the manipulator.

Figure 3.4: The bang-bang input

3.6

Develop Negative Input Shaping

Input shaping techniques based on positive input shaper have been proved to be able to reduce vibration of a system. In order to achieve higher robustness, the duration of the shaper is increased and thus, increases the delay in the system response. By

21 allowing the shaper to contain negative impulses, the shaper duration can be shortened, while satisfying the same robustness constraint. To include negative impulses in a shaper requires the impulse amplitudes to switch between 1 and –1 as Ai = (−1)i+1; i = 1,2,..., n

(3.9)

The constraint in Equation (3.9) yields useful shapers as they can be used with a wide variety of inputs. For a unity magnitude negative zero-vibration shaper, i.e. the magnitude of each impulse is |1|, the shaper duration is one-third of the vibration period of an undamped system, while the shaper duration for the positive shaper is half of the vibration period.

However, the increase in the speed of system response achieved using the Specified Negative Amplitude (SNA) input shapers is at the expense of some tradeoffs and penalties. The shapers containing negative impulses have tendency to excite unmodeled high modes and they are slightly less robust as compared to the positive shapers. Besides, negative input shapers require more actuator effort than the positive shapers due to high changes in the set-point command at each new impulse time location. To overcome the disadvantages, a modified SNA input shaper is introduced, whose negative amplitudes can be set to any value at the centre between each normal impulse sequences [7].

For this project, negative input shaping is anti vibration controller developed for this system. Based on researches that have been reviewed, input shaping technique can reduce the vibration of a system significantly. The negative input shaping control scheme will divide into three types which are negative zero vibration (NZV), negative zero vibration derivative (NZVD), and negative zero sway derivative-derivative (NZVDD).

Negative Zero vibration (NZV) shaper consists of three impulses response as shown in figure 3.4 NZV shaper does no take robustness constraint into account. It only

22 considers zero residual vibration, unity amplitude summation and time optimality constraints. By considering the form of NZV shaper shown in Figure 3.5, the amplitude summation constraints equation can be obtained as 2a − b =1

(3.10)

The values of a and b can be set to any value that satisfy the constraint in (3.10). However, the suggested values of a and b are less than |1| to avoid the increase of the actuator effort.

Figure 3.5: Negative Zero Vibration

Negative Zero Vibration-Derivative (NZVD) shaper consists of five impulses response as shown in Figure 3.6 The constraints equations considered in designing of NZVD shaper are zero residual Vibration, unity amplitude summation, time optimality constraints and first order robustness constraint. By considering the form of NZV shaper shown in Figure 3.5, the amplitude summation constraints equation can be obtained as 2a + c − 2b =1

(3.11)

The values of a, b,and c can be set to any value that satisfy the constraint in (3.11). However, the suggested values of a, b,and c are less than |1| to avoid the increase of the actuator effort.

23

Figure 3.6: Negative Zero Vibration Derivative

Negative Zero Vibration-Derivative-Derivative (NZVDD) shaper consists of seven impulses response as shown in figure 3.6. The constraints equations considered in designing of ZVDD shaper are zero residual vibration, unity amplitude summation, time optimality constraints and second order robustness constraint. By considering the form of NZVD shaper shown in Figure 3.7, the amplitude summation constraints equation can be obtained as 2a + 2c − 3b =1

(3.12)

The values of a, b, and c can be set to any value that satisfy the constraint in (3.12). However, the suggested values of a, b,and c are less than |1| to avoid the increase of the actuator effort.

24

Figure 3.7: Negative Zero Vibration Derivative-Derivative

The values of a, b, and c of NZV, NZVD and NZVDD that used in this project are shown in the Table 3.1 below.

Table 3.1: Values of a, b, and c

3.7

Input Shaper

a

B

c

NZV

0.7

-0.4

-

NZVD

0.5

-0.3

0.6

NZVDD

0.3

-0.2

0.5

Simulation Studies

Simulink provides a graphical user interface for building math models as block diagrams. The graphical interface is popular for developing dynamical models for many fields, such as electronics, hydraulics, chemistry, and especially, control systems [1].

Simulink is an environment for multidomain simulation and Model-Based Design for dynamic and embedded systems. It provides an interactive graphical environment and a customizable set of block libraries that let you design, simulate

25 implement, and test a variety of time-varying systems, including communications, controls, signal processing, video processing, and image processing.

Before set up the real project, the simulation result must be done first and this result should be compared with the experimental result that produced from the analog card. MATLAB Simulink was used for the simulation part.

3.7.1

Creating a Simulink Model

This procedure explains how to create a Simulink model for simulation studies part. A Simulink model has to be created before it can run a simulation: 1. Simulink is typed in the MATLAB Command Window. The Simulink Library Browser window is opened as shown in Figure 3.8. 2. From the toolbar, the Create a new model button is clicked.

Figure 3.8: Create a new model

An empty Simulink window is opened. With the toolbar and status bar disabled, the window looks like the Figure 3.9.

26

Figure 3.9: Empty Simulink model

3. In the Simulink Library Browser, Simulink is double-clicked, and the Sources is also double-clicked. Next, Step is clicked and dragged to the Simulink Window. Step is double-clicked. The Block Parameter dialog box opens. In the Step time box, 0.2 is entered. In the Initial value box, 0 is entered. In the Final value box, 0.3 is entered. In the Sample time box, 0.001 is entered. The Interpret vector parameter as 1-D check box is clicked. The Enable zero crossing detection check box is clicked. Then Apply and Ok is clicked. The Block Parameters dialog box is shown in the Figure 3.10.

27

Figure 3.10: The block parameters of Step

4. Step 3 is repeated three time by changing the value in Step time box to 0.5 and 0.8 and the Final value box to-0.6 and 0.3. other value is same as step 3. 5. In the Simulink Library Browser, Simulink is double-clicked, and the Commonly used blocks is also double-clicked. Next, Sum is clicked and dragged to the Simulink Window. Sum is double-clicked. The Block Parameter dialog box opens. In the Icon shape select box, rectangular is selected. In the List of sign box, one more +++ symbol is added. Others is not change as default. The Block Parameters dialog box is shown in the Figure 3.11.

28

Figure 3.11: The block parameters of Sum

6. The all Step output is connected to Sum by clicking-and-dragging a line between the blocks. 7. Then, in the Simulink library browser, Signal processing blockset is doubleclicked, and the Signal processing sources is also double-clicked. Next, Signal from workspace is clicked and dragged to the Simulink Window. Signal from workspace is double-clicked. The Block Parameter dialog box opens. In the Signal box, NZV is entered. In the Sample time box, 0.001 is entered. In the Sample per frame box, 1 is entered. In the From output after final data value by select box, holding final value is selected. Then Apply and Ok is clicked. The Block Parameters dialog box is shown in the Figure 3.12.

29

Figure 3.12: The block parameters of Signal from Workspace

8. Step 7 is repeated 2 times by changing the Signal box to NZVD and NZVDD but other value is same as step 7. 9. In the Simulink Library Browser, Simulink is double-clicked, and the Signal routing is also double-clicked. Next, Manual switch is clicked and dragged to the Simulink Window. 10. Step 9 is repeated 2 times. 11. The NZVD output is connected to first port of first switch by clicking-anddragging a line between the block and switch. Then NZVDD output is connected to second port of first switch by clicking-and-dragging a line between the blocks. 12. The NZV output is connected to first port of second switch by clicking-anddragging a line between the block and switch. Then the first switch output is connected to second port of second switch by clicking-and-dragging a line between the switch. 13. The Sum output is connected to first port of third switch by clicking-anddragging a line between the block and switch. Then the second switch output is connected to second port of third switch by clicking-and-dragging a line between the switch. 14. Then, In the Simulink Library Browser, Simulink is double-clicked, and the Commonly used blocks is also double-clicked. Next, Subsystem is clicked and

30 dragged to the Simulink Window. Subsystem is double-clicked. The new empty Simulink is open. 15. Next, the Simulink model like Figure 3.13 is created in the empty Simulink model of subsystem. Then, the Simulink model of subsystem is closed.

Figure 3.13: Simulink model of Subsystem

16. Right clicked at the block of subsystem, and clicked the mask subsystem. The Mask editor dialog box opens as shown in Figure 3.14. Then, parameters are clicked and add icon is also clicked. In the Prompt box, A is entered. In the Variable box, A is entered. This step is continued to add at the Prompt box and Variable box B, C and D. Then, Ok button is clicked. 17. The Subsystem block is double clicked again. The Block Parameter dialog box opens. The value of Equation 3.18 is entered in the Block Parameter dialog box as shown in Figure 3.14. Then, Ok button is clicked.

31

Figure 3.14: Block parameter box of Subsystem

18. The third switch output output is connected to first port of third switch by clicking-and-dragging a line between the block and switch. 19. Then, in the Simulink library browser, Signal processing blockset is doubleclicked, and the Signal management is double-clicked. Signal attributes is double-clicked. Next, Convert 2-D to 1-D is clicked and dragged to the Simulink Window. Signal from workspace is double-clicked. The Block Parameter dialog box opens. Then, Ok button is clicked. 20. In the Simulink Library Browser, Simulink is double-clicked, and the Commonly used blocks is also double-clicked. Next, Scope is clicked and dragged to the Simulink Window. 21. The Y- output of the Subsystem is connected to Scope by clicking-and-dragging a line between the block and switch. Then X- output of the Subsystem is connected to Convert 2-D to 1-D block by clicking-and-dragging a line between the blocks. 22. In the Simulink Library Browser, Simulink is double-clicked, and the Commonly used blocks is also double-clicked. Next, Demux is clicked and dragged to the Simulink Window. demux is double-clicked. The Block Parameter dialog box opens as shown in Figure 3.15. In the Number of outputs box, two is entered. Then, Ok button is clicked.

32

Figure 3.15: Block parameter box of Demux

23. Then, in the Simulink library browser, Simulink is double-clicked, and the Sinks is also double-clicked. Next, Signal to workspace is clicked and dragged to the Simulink Window. Signal to workspace is double-clicked. The Block Parameter dialog box opens. In the Variable name box, Angle is entered. This step is repeated 3 times by changing the Variable name box to Disp, Vel and Acc. 24. The Demux output is connected to Angle block a by clicking-and-dragging a line between the block. This step is repeated to Vel block. 25. In the Simulink Library Browser, Simulink is double-clicked, and the Commonly used blocks is also double-clicked. Next, Sum is clicked and dragged to the Simulink Window. 26. 2 of Demux output is connected to Sum block a by clicking-and-dragging a line between the block. Then, Sum output is connected to Disp block a by clickingand-dragging a line between the block. 27. In the Simulink Library Browser, Simulink is double-clicked, and the Continous blocks is also double-clicked. Next, Derivatives is clicked and dragged to the Simulink Window. This step is repeated two times. 28. Step 25 is repeated. 29. Two of Demux output is connected to the two of Derivatives block a by clickingand-dragging a line between the block. The Derivatives output is connected to Sum block a by clicking-and-dragging a line between the block. Then, Sum

33 output is connected to Acc block a by clicking-and-dragging a line between the block. The finished Simulink 1 model is shown in Figure 3.16.

Figure 3.16: Finished Simulink Model 1

30. Before run the Simulink model, the M-file must created for NZV, NZVD, NZVDD block. In the Matlab window File is clicked and continues by New and lastly M-file. The coding as in Appendix A was created. 31. Step 30 is repeated to created M-file for Angle, Disp, Vel and Acc. The coding as in Appendix B was created. The M-file for NZV, NZVD, NZVDD block must run first and then Finished Simulink Model 1 and lastly M-file for Angle, Disp, Vel and Acc to see the result. The result for the simulation will be discussed in chapter 4.

34 3.8

Experimental Studies

Figure 3.17: Configuration of hardware setup

3.8.1

Xilinx ISE 10.1

The Xilinx ISE 10.1 is used to interface between the software that contains the VHDL Code with FPGA (Spartan 3E) Board. The entire steps to downloading the program are explained below:

1. Figure 3.18, 3.19, 3.20, 3.21, and 3.22 show the Start up for the first step to the user to select the appropriate term based on the Board that use. After Start up 5 finished, the blank page is opnened. Then, can start make coding. The coding is shown as in Appendix C.

35

Figure 3.18: Start up setting 1

Figure 3.19: Start up setting 2

Figure 3.20: Start up setting 3

36

Figure 3.21: Start up setting 4

Figure 3.22: Start up setting 5 2. After finish the coding, User constraint is clicked and then floor plan/IO/presynthesis is clicked. This is to determine the pin that wants use.

Figure 3.23: Floor Plan/IO/Pre-synthesis

37 3. The synthesize-XST is run to view the synthesize report and to check the syntax error. The report shows the utilization of the program either exceeds the size of memory board or not. 4. After synthesis, design implementation is run which comprises thefollowing step: I.

Translate –which merges the incoming netlists and constraints into a Xilinx.

II.

Map –which fits the design into the available resources on the target device

III.

Place and Route – which place and routes the design to the timing constraints.

5. Then, the Generate Programming File is run. In this section, it will create a bit file that can be downloading to the Spartan 3E. The design summary is shown as in Figure 3.24.

Figure 3.24: Design summary

38 6. After generate program, configure target device run is and it will display the iMPACT box like in Figure 3.25 below and select finish.

Figure 3.25: iMPACT box

7. After finish button in the aiMPACT box is clicked, the progress dialog in Figure 3.26 show the progress download using cable from Xilinx software into FPGAboard.

Figure 3.26: Progress Download Into FPGA Board

8. After that, it will display boundry scan. This proses is to define which target device want to use and which .bit file want use. For xc3s500e, counter.bit file is used and open is clicked. For xcf40s and xc2c64e, it is not used and bypass is clicked.

39

Figure 3.27: Boundry Scan

9. After that, program is clicked and the bit file is downloading to the target device. The programming part is finished and the FPGA board is ready to use.

Figure 3.28: Program button Step 1 until 9 are repeated 2 times by changing the coding for NZVD and NZVDD.

40 3.8.2

Real Time Applications

(a)

Creating A Simulink Model

This procedure explains how to create a Simulink model for Real time workshop for experimental part to interface with the programming file from FPGA. A Simulink model has to be created before it can run a simulation:

1. Initial step is same as Step 1 and Step 2 of Simulation studies part. 2. Then, in the Simulink library browser, Real window target is double-clicked. Next, Digital input is clicked and dragged to the Simulink Window. Digital input is double-clicked. The Block Parameter dialog box opens. In the select box, Advantech PCL-1710[auto] is selected. In the Sample time box, 0.001 is entered. In the Input channels box, 1 is entered. In the Channel mode select box, Bit is selected. In the Output data type select box, A is selected. Then, Ok is clicked.

Figure 3.29: The block parameter box of Digital Input

41 3. Step 2 is repeated 7 times by changing in the Input channels box to 2, 3, 4, 5, 6, 7, 8. 4. In the Simulink Library Browser, Simulink is double-clicked, and the Logic & bit operation is also double-clicked. Next, Compare to zero is clicked and dragged to the Simulink Window. 5. The Digital input channel 1 output is connected to Compare to zero block by clicking-and-dragging a line between the block. 6. In the Simulink Library Browser, Simulink is double-clicked, and the Commonly used blocks is also double-clicked. Next, Gain is clicked and dragged to the Simulink Window. Gain is double-clicked. The Block Parameter dialog box opens. In the Gain box, 0.5 is entered. In the Multiplication select box, Element-wise[K*u] is selected. In the Sample time box, -1 is entered. Then, Ok is clicked.

Figure 3.30: The block parameter box of Gain

7. Step 6 is repeated 13 times by changing in the Gain box to 0.25, 0.125, 0.0625, 0.03125, 0.015625, 0.0078125, -5, -0.25, -0.125, -0.0625, -0.03125, -0.015625, and -0.0078125.

42 8. The Digital input channel 2 output is connected to 0.5 and -0.5 Gain block by clicking-and-dragging a line between the block. 9. The Digital input channel 3 output is connected to 0.25 and -0.25 Gain block by clicking-and-dragging a line between the block. 10. The Digital input channel 4 output is connected to 0.125 and -0.125 Gain block by clicking-and-dragging a line between the block. 11. The Digital input channel 5 output is connected to 0.0625 and -0.0625 Gain block by clicking-and-dragging a line between the block. 12. The Digital input channel 6 output is connected to 0.03125 and -0.03125 Gain block by clicking-and-dragging a line between the block. 13. The Digital input channel 7 output is connected to 0.015625 and -0.015625 Gain block by clicking-and-dragging a line between the block. 14. The Digital input channel 8 output is connected to 0.0078125 and -0.0078125 Gain block by clicking-and-dragging a line between the block. 15. In the Simulink Library Browser, Simulink is double-clicked, and the Commonly used blocks is also double-clicked. Next, Sum is clicked and dragged to the Simulink Window. Sum is double-clicked. The Block Parameter dialog box opens. In the Icon shape select box, rectangular is selected. In the List of sign box, one more +++++++ symbol is added. Others is not change as default. The Block Parameters dialog box is shown in the Figure 3.31.

43

Figure 3.31: The block parameters of Sum

16. Step 15 is repeated 1 times. 17. All of positive value Gain block output is connected to the first Sum block and all of negative Gain block is connected to the second Sum block by clicking and dragging a line between the block. 18. In the Simulink Library Browser, Simulink is double-clicked, and the Signal routing is also double-clicked. Next, Switch is clicked and dragged to the Simulink Window. 19. The first Sum block output is connected to the first port of Switch, Compare to zero block output is connected to the second port of Switch and the second Sum block output is connected to the third port of Switch by clicking-and-dragging a line between the block. 20. Then, step 15 to step 29 of Creating Simulink Model part is done. The Switch output is connected to Flexible Manipulator Block by clicking-and-dragging a line between the block and the finished Simulink Model 2 as in Figure 3.32.

44

Figure 3.32: Finished Simulink Model 2

(b)

Entering Configuration Parameters For Simulink

The configuration parameters give information to Simulink for runnning in simulation. Afetr create a Simulink model, the configuration parameters could be entered for Simulink.

1. In the Simulink window, Configuration Parameter is clicked from the Simulation menu. In the Configuration Parameter dialog box, the Solver tab is clicked. The Solver pane will open. 2. In the Start time box, 0.0 is entered. In the Stop time box, the amount of time that the model needs to run is entered which is 1.0 for 1 second.

45 3. In the Type select box, fixed- step is selected. Real-Time Workshop does not support variable step solvers. 4. In the Solver select box, ode5 [Dormand-Prince] is selected. 5. In the Fixed step size box, a sample time is entered which is 0.001 for a sample rate of 1000 samples/ second. 6. From the Tasking Mode select box, Single Tasking is selected. Multitasking is chosen for models with blocks that have different sample times. The Solver pane would look similar to the Figure 3.33.

Figure 3.33: Configuration parameters-Solver

7. One the following is done: 

Apply is clicked to apply the changes to the model and the dialog box is left open.



Ok is clicked to apply the changes to the model and the Configuration Parameters dialog box is closed.

46 (c)

Entering Simulation Parameters For Real-Time Workshop

The simulation parameters are used by Real-Time Workshop for generating C code and building a real-time application.

1. In the Simulink window, Configuration Parameter is clicked from the Simulation menu. In the Configuration Parameter dialog box, the Hardware Implementation tab is clicked. 2. In the Device type select box, 32-bit Real-Time Window Target is selected.

Figure 3.34: Configuration parameters-Hardware Implementation

3. The Real-Time Workshop node is clicked. The Real-Time Workshop pane will open. 4. In the Target selection, the Browse button is clicked at the RTW system target file list. The System Target File Browser will open as shown in Figure 3.35.

47 5. The system target file is selected for the Real-Time Windows Target and Ok is clicked.

Figure 3.35: System Target File Browser

The system target file rtwin.tlc, the template rtwin.tmf, and the make command make_rtw are automatically entered into the Real-Time Workshop pane. The RealTime Workshop pane would look similar to the Figure 3.36.

Figure 3.36: Configuration parameters- Real-Time Workshop 6. One the following is done: 

Apply is clicked to apply the changes to the model and the dialog box is left open.

48 

Ok is clicked to apply the changes to the model and the Configuration Parameters dialog box is closed.

(d)

Creating A Real-Time Application

Real-Time Workshop generates C code from the simulink model, and then the Microsoft Visual Basic C++ compiler compiles and links that C code into a real-time application. After parameters are entered into the Configuration Parameter dialog box for Real-Time Workshop, a real-time application could be built.

1. In the Simulink window, and from the Tools menu, it should be pointed to RealTime Workshop, and then clicked Build Model. 2. The simulink Model is connected to the real-time application.

(e)

Running A Real-Time Application

The real-time application is run to observe the behavior of the model in real tme with the generated code. The process of connecting consist of 

Establishing a connection between your Simulink model and the Kernel to allow exchange of commands, parameters, and logged data.



Running the application in real time.

After the real-time application is built, the model could be run in real time. 1. From the Simulation menu, External is clicked and than Connect To Target is connected from the Simulation menu. It can be seen in Figure 3.37. MATLAB will display the massage: Model rtwin_model loaded

49

Figure 3.37: Connect To Target simulation Menu

2. In the Simulation window and from the Simulation menu, Start Real-Time Code is clicked. It can be seen in Figure 3.38.

Figure 3.38: Start Real-Time Code from the simulation Menu

3.7.3

Hardware Connection

This part is discuss about the hardware connection between the FPGA board which is Xilinx Spartan3e board with ADAM-3968 SCSI 689 terminal block and PCLab Card (PCI-1710L/1710HGL).

(a)

Xilinx Spartan3e

The Spartan-3E family of Field-Programmable Gate Arrays (FPGA) is specifically designed to meet the needs of high volume, cost-sensitive consumer electronic applications.

50 The Spartan®-3E FPGA Starter Kit board provides a variety of expansion connectors for easy interface flexibility to other off-board components. The board includes the following I/O expansion headers (see Figure 3.39): 

A Hirose 100-pin edge connector with 43 associated FPGA user-I/O pins, including up to 15 differential LVDS I/O pairs and two Input-only pairs



Three 6-pin Peripheral Module connections



Landing pads for an Agilent or Tektronix connectorless probe

Figure 3.39: Expansion connector In this project only use 8 bit value. So, I use J1 and J4 expansion connector Spartan-3E board. The J1 header, shown in Figure 3.40, is the top-most 6-pin connector along the right edge of the board. It uses a female 6-pin 90° socket. Four FPGA pins connect to the J1 header, FX2_IO. These four signals are also shared with the Hirose FX2 connector. The board supplies 3.3V to the accessory board mounted in the J1 socket on the bottom pin.

51

Figure 3.40: FPGA connections to the J1 accessory header

The J4 header, shown in Figure 3.41, is located immediately to the left of the J1 header. It uses a 6-pin header consisting of 0.1-inch centered stake pins. Four FPGA pins connect to the J4 header, FX2_IO. These four signals are also shared with the Hirose FX2 connector. The board supplies 3.3V to the accessory board mounted in the J4 socket on the bottom pin.

Figure 3.41: FPGA connections to the J4 accessory header

52 (b)

ADAM-3968 SCSI 689 terminal block and PC-Lab Card (PCI1710L/1710HGL)

The PCI-1710/1710L/1710HG/1710HGL is a multifunction card for the PCI bus. Its advanced circuit design provides higher quality and more functions, including the five most desired measurement and control functions: 12-bit A/D conversion, D/A conversion, digital input, digital output, and counter/timer. ADAM-3968 SCSI 689 is low cost universal DIN-rail mounting screw terminal module for industrial applications with 68-pin SCSI female connector. It is to be used PCI-1710/L, PCI-1710HG/HGL, PCI-1711/L, PCI-1712/L, PCI -1716/L, PCI-1741U, PCI-1742U, PCI-1747U, PCI-1721, PCI-1723, PCI-1751, PCI-1753, PCI-1723, PCI-1780U. Figure 3.42 show the picture and pin assignment of the PC-Lab Card (PCI-1710L/1710HGL), and Figure 3.43 show the picture ADAM-3968 SCSI 689. Figure 3.44 show the connection of the FPGA, ADAM-3968 SCSI 689 terminal block and PC-Lab Card (PCI-1710L/1710HGL).

Figure 3.42: The picture and pin assignment of the PC-Lab Card (PCI1710L/1710HGL)

53

Figure 3.43: ADAM-3968 SCSI 689

Figure 3.44 : Connection of the FPGA, ADAM-3968 SCSI 689 terminal block and PCLab Card (PCI-1710L/1710HGL)

54

CHAPTER 4

RESULTS AND ANALYSIS

4.1

Introduction

In this chapter, the results were divided into two parts, which are simulation and experimental results. Each of the results were presented and analyzed. The simulation studies were done using MATLAB R2007b and experimental studies were done using Xilinx Spartan3e FPGA board.

4.2

Simulation Result

In this part, it will discuss about the simulation that has been done. The methodology for simulate the simulation has been discussed in chapter 3 before. This part will discuss about the simulation result or the output response graph and the analysis for the simulation. These projects have six graph of output response consist of the graph for frequency response, angle, displacement, velocity, end point displacement and acceleration.

4.2.1

Power Spectral Density Figure 4.1 show the response of the system without Negative Input Shaping

meanwhile Figures 4.2, Figures 4.3, and Figures 4.4 shows the response of system with the difference derivative order that is NZV, NZVD and NZVDD. Figure 4.5 shows the comparison between orders of the power spectral density and Table 4.1 shows the vibration at two mode which is at 16 Hz and 59 Hz. Figure 4.6 show the percentage of

55 vibration reduction taken at two mode which is at 16 Hz and 59 Hz. It are clearly proved that the vibration is reduce according to the derivative order of Negative Input Shaping.

Figure 4.1: Power spectral density without Negative Input Shaping

Figure 4.2: Power spectral density with NZV

56

Figure 4.3: Power spectral density with NZVD

Figure 4.4: Power spectral density with NZVDD

57

Figure 4.5: Comparison of power spectral density

Table 4.1: The vibration at 16 Hz and 5 9Hz MAGNITUDE OF VIBRATION ((m/sec/sec)*(m/sec/sec)/Hz) DERIVATIVE ORDER MODE1(16Hz)

MODE2(59Hz)

BANG-BANG

112800

5800

NZV

11600

1352

NZVD

8375

615.5

NZVDD

1024

302.4

58

Figure 4.6: The percentage of vibration reduction at 16 Hz and 59 Hz

4.2.2

Hub angle response

Figure above shows the hub angle response of the system. The output signal simulation without filter in Figure 4.7 will have a lot of vibration meanwhile the output signal with Input Shaping in Figures 4.8, Figures 4.9 and Figures 4.10 are give more smooth signal. The reduction of vibration hub angle of this system can showed by the deflation value of output signal such as without Input Shaping is 0.705 rad, be compared with NZV, NZVD and NZVDD are 0.6735 rad, 0.6745 rad and 0.6656 rad. Figure 4.11 show the comparison between orders of the hub angle response. So, it clearly showed that the hub angle reduced more vibration in higher order compared to the lower order of derivative. Table 4.4 show the time response spefication which is Rise Time, Settling Time and Overshoot. The value is get from the graph using Step info function in Matlab.

59

Figure 4.7: Hub angle response without Input Shaping

Figure 4.8: Hub angle response with NZV

60

Figure 4.9: Hub angle response with NZVD

Figure 4.10: Hub angle response with NZVDD

61

Figure 4.11: Comparison of hub angle response

Table 4.2: Time response specification SETTLING TIME Ts(ms)

RISE TIME Tr(ms)

OVERSHOOT %OS

1080

545.75

6.38

NZV

820.20

581

1.63

NZVD

885.65

545.51

1.78

NZVDD

885.72

542.51

0.4437

DERIVATIVE ORDER

BANG-BANG

62

Figure 4.12: Time response specification with different derivative

4.2.3

Displacement Response

Figure 4.13, Figure 4.14, Figure 4.15 and Figure 4.16 show the displacement response graph of the system. The vibration of displacement of the system without Negative Input Shaping in Figure 4.13 is higher which is 0.08803 m compared with the NZV in Figure 4.14 which is 0.04736 m, NZVD in Figure 4.15 is 0.04589 m and the value for NZVDD in Figure 4.16 is 0.03507 m. However Figure 4.17 show the comparison of all the difference derivative order and Figure 4.18 show the percentage of displacement reduction where it proved that the higher order of Negative Input Shaping can be used to reduced vibration in term displacement response as compared to the lower order. The displacement of each order of derivative is shown in Table 4.3.

63

Figure 4.13: Displacement response without Input Shaping

Figure 4.14: Displacement response with NZV

64

Figure 4.15: Displacement response with NZVD

Figure 4.16: Displacement response with NZVDD

65

Figure 4.17: Comparison of displacement response

Table 4.3: Displacement

Derivative Order

Displacement (m)

Bang-Bang

0.08803

NZV

0.04736

NZVD

0.04589

NZVDD

0.03507

66 100.00% 90.00% 80.00% 70.00% 60.16% 60.00% 50.00%

46.20%

47.87%

NZV

NZVD

40.00% 30.00% 20.00% 10.00% 0.00% NZVDD

Table 4.18: The percentage of displacement reduction

4.2.4

End Point Displacement Response

Figure 4.19, Figure 4.20, Figure 4.21, and Figure 4.22 show the end-point displacement response of the system. Figure 4.19 show the end-point displacement of the system without Input Shaping. The value of end-point displacement is higher which is 0.6687 rad compared with the NZV, NZVD and NZVDD system. Figure 4.20, Figure 4.21 and Figure 4.22 are shown the system with difference order of derivative. For the NZV the value is 0.6631 rad, NZVD is 0.6643 rad and NZVDD value is 0.6617 rad. All the change of end point displacement in this system are illustrated in Figure 4.23. So, it clearly prove that the higher order derivatives are suitable used for vibration reduced for flexible manipulator in this system. Table 4.4 show the time response spefication which is Rise Time, Settling Time and Overshoot. The value is get from the graph using Step info function in Matlab.

67

Figure 4.19: End-point displacement response without Input Shaping

Figure 4.20: End-point displacement response with NZV

68

Figure 4.21: End-point displacement response with NZVD

Figure 4.22: End-point displacement response with NZVDD

69

Figure 4.23: Comparison of end-point displacement response

Table 4.4: Time response specification

DERIVATIVE ORDER

SETTLING TIME Ts(ms)

RISE TIME Tr(ms)

OVERSHOOT %OS

BANG-BANG

755.63

418.65

0.8964

NZV

777.98

429.43

0.2225

NZVD

807.69

438.64

0.2410

NZVDD

827.95

441.09

0.0610

70

Figure 4.24: Time response specification with different derivative

4.2.5

Velocity Response

Figure 4.25 show the velocity response of the system without Negative Input Shaping. The value is 7.537 rad/sec where it is higher compare with the system are used Negative Input Shaping technique. The velocity graph showed the smooth signal when the Negative Input Shaping are used. From Figure 4.26, NZV the value for the velocity is 3.723 rad/sec, NZVD in Figure 4.27 the value is 3.108 rad/sec, and the NZVDD, the value for the velocity is 1.979 rad/sec. All the comparison of the the velocity are shown in Figure 4.29 and it indicate the higher order derivative also can be used to reduced vibration in term of hub velocity response. The velocity of each order of derivative is shown in Table 4.5 and the percentage of velocity reduction is shown in Figure 4.29.

71

Figure 4.25: Velocity response without Negative Input Shaping

Figure 4.26: Velocity response with NZV

72

Figure 4.27: Velocity response with NZVD

Figure 4.28: Velocity response with NZVDD

73

Figure 4.29: Comparison of velocity response

Table 4.5: Velocity

Derivative Order

Velocity (rad/sec)

Bang-Bang

7.537

NZV

3.723

NZVD

3.108

NZVDD

1.979

74 100.00% 90.00% 80.00%

73.74%

70.00% 58.76%

60.00% 50.00%

48.21%

40.00% 30.00% 20.00% 10.00% 0.00% NZV

NZVD

NZVDD

Figure 4.30: The percentage of velocity reduction

4.2.6

Acceleration response

Figure 4.31 illustrate the output signal of acceleration response without Negative Input Shaping. The signal are produced is not exaclty smooth compared with the output signal when using Negative Input Shaping. The value for NZV output signal in Figure 4.32 is 333.8 m/sec/sec, while the NZVD value in Figure 4.33 is 201.8 m/sec/sec and the value for the NZVDD in Figure 4.34 is 125.7 m/sec/sec. All the change in the system were illustrate in Figure 4.35 where comparison between the derivatives orders are made. The acceleration of each order of derivative is shown in Table 4.6 and the percentage of acceleration reduction is shown in Figure 4.36.

75

Figure 4.31: Acceleration response without Negative Input Shaping

Figure 4.32: Acceleration response with NZV

76

Figure 4.33: Acceleration response with NZVD

Figure 4.34: Acceleration response with NZVDD

77

Figure 4.35: Comparison of acceleration response

Table 4.6: Acceleration

Derivative Order

Acceleration (m/sec/sec)

Bang-Bang

704

NZV

333.8

NZVD

201.1

NZVDD

125.7

78 100.00% 90.00% 82.14% 80.00% 71.43% 70.00% 60.00%

52.59%

50.00% 40.00% 30.00% 20.00% 10.00% 0.00% NZV

NZVD

NZVDD

Figure 4.36: The percentage of acceleration reduction

4.3 Experimental result Experimental results were obtained by using both FPGA and MATLAB R2007b. After embedded the negative input shaping coding in FPGA, the coding is run to real time workshop in MATLAB. The results from MATLAB of each NZV, NZVD and NZVDD shaper were being compared with each other.

4.3.1

Power Spectral Density Figure 4.37 show the response of the system without Negative Input Shaping

meanwhile Figures 4.38, Figures 4.39, and Figures 4.40 shows the response of system with the difference derivative order that is NZV, NZVD and NZVDD. Figure 4.41 shows the comparison between orders of the power spectral density and Table 4.7 shows

79 the vibration at two mode which is at 15 Hz and 51 Hz. Figure 4.42 show the percentage of vibration reduction taken at two mode which is at 15 Hz and 51 Hz. It are clearly proved that the vibration is reduce according to the derivative order of Negative Input Shaping but not good as simulation result.

Figure 4.37: Power spectral density without Negative Input Shaping

80

Figure 4.38: Power spectral density with NZV

Figure 4.39: Power spectral density with NZVD

81

Figure 4.40: Power spectral density with NZVDD

Figure 4.41: Comparison of power spectral density

82 Table 4.7: The vibration at 15 Hz and 51 Hz MAGNITUDE OF VIBRATION ((m/sec/sec)*(m/sec/sec)/Hz) DERIVATIVE ORDER MODE1(15Hz)

MODE2(51Hz)

BANG-BANG

2361000

8324

NZV

2207000

4925

NZVD

871900

3346

NZVDD

678400

31.68

99.61%

100.00% 90.00% 80.00%

71.27% 70.00%

63.07% 59.80%

60.00% 50.00%

MODE 1 40.83%

MODE 2

40.00% 30.00% 20.00% 10.00%

6.52%

0.00% NZV

NZVD

NZVDD

Figure 4.42: The percentage of vibration reduction

83

4.3.2

Hub angle response

Figure 4.43, Figure 4.44, Figure 4.45 and Figure 4.46 below shows the hub angle response of the system. It different with simulation result because the graph is down to negative while simulation graph is up to positive. Figure 4.43 have a lot of vibration meanwhile the hub angle graph with Input Shaping are give more smooth. So, it clearly showed where the hub angle reduced more vibration in higher order compare to the lower order of derivative.

Figure 4.43: Hub angle response without Input Shaping

84

Figure 4.44: Hub angle response with NZV

Figure 4.45: Hub angle response with NZVD

85

Figure 4.46: Hub angle response with NZVDD

Figure 4.47: Comparison of hub angle response

86 4.3.3

Displacement Response

Figure 4.48, Figure 4.49, Figure 4.50 and Figure 4.51 show the displacement response graph of the system. Figure 4.48 showed displacement of the system without Negative Input Shaping in Figure 4.48, NZV in Figure 4.49, NZVD in Figure 4.50 and for NZVDD in Figure 4.51. Figure 4.52 showed the comparison all the difference derivative where it proved that the higher order of Negative Input Shaping can be used to reduced vibration in term displacement response compared to the lower order although the higher dispacement is same but the graph is more smooth.

Figure 4.48: Displacement response without Input Shaping

87

Figure 4.59: Displacement response with NZV

Figure 4.50: Displacement response with NZVD

88

Figure 4.51: Displacement response with NZVDD

Figure 4.52: Comparison of displacement response

89 4.3.4

End Point Displacement Response

Figure 4.53, Figure 4.54, Figure 4.55 and Figure 4.56 shows the end point displacement response of the system. It different with simulation result because the graph is down to negative while simulation graph is up to positive. Figure 4.53 have a lot of vibration meanwhile the end point displacement graph with Input Shaping are give more smooth signal. So, it clearly showed where the hub angle reduced more vibration in higher order compare to the lower order of derivative.

Figure 4.53: End point displacement response without Input Shaping

90

Figure 4.54: End point displacement response with NZV

Figure 4.55: End point displacement response with NZV

91

Figure 4.56: End point displacement with NZVDD

Figure 4.57: Comparison of end point displacement

92 4.3.5

Velocity Response

Figure 4.58 show the velocity response of the system without Negative Input Shaping. The value is -16.79 rad/sec where it is higher compared with the system used Negative Input Shaping technique. The velocity graph showed the smooth signal when the Negative Input Shaping are used. From Figure 4.59, NZV the value for velocity is 15.03 rad/sec, NZVD in Figure 4.60 the value is -13.64 rad/sec, and the NZVDD, the value for velocity is -11.08 rad/sec. All the comparison of the velocity are shown in Figure 4.61 and it indicate that the higher order derivative also can be used to reduced vibration in term of hub velocity response. The velocity of each order of derivative is shown in Table 4.8 and the percentage of velocity reduction is shown in Figure 4.62.

Figure 4.58: Velocity response without Negative Input Shaping

93

Figure 4.59: Velocity response with NZV

Figure 4.60: Velocity response with NZVD

94

Figure 4.61: Velocity response with NZVDD

Figure 4.62: Comparison of velocity response

95 Table 4.8: Velocity

Derivative Order

Velocity (rad/sec)

Bang-Bang

-16.79

NZV

-15.03

NZVD

-13.64

NZVDD

-11.08

40.00% 34%

35.00% 30.00% 25.00% 18.76%

20.00% 15.00% 10.48% 10.00% 5.00% 0.00% NZV

NZVD

Figure 4.63: The percentage of velocity reduction

NZVDD

96 4.3.6

Acceleration response (m/sec/sec)

Figure 4.64 illustrate the output signal of acceleration response without Negative Input Shaping. The signal are produced is not exactly smooth compare with the acceleration graph when using Negative Input Shaping. The value for NZV output signal in Figure 4.65 is -962.6 m/sec/sec, while the NZVD value in Figure 4.66 is -815.2 m/sec/sec and the value for the NZVDD in Figure 4.67 is -796.3 m/sec/sec. All the change in the system are illstrate in Figure 4.78 where comparison between the derivatives orders are made. The acceleration of each order of derivative is shown in Table 4.9 and the percentage of acceleration reduction is shown in Figure 4.71.

Figure 4.64: Acceleration response without Negative Input Shaping

97

Figure 4.65: Acceleration response with NZV

Figure 4.66: Acceleration response with NZVD

98

Figure 4.67: Acceleration response with NZVDD

Figure 4.68: Comparison of acceleration response

99 Table 4.9: Acceleration

Derivative Order

Acceleration (m/sec/sec)

Bang-Bang

-1032

NZV

-962.6

NZVD

-815.2

NZVDD

-796.3

25.00% 22.84% 21.01% 20.00%

15.00%

10.00% 6.72% 5.00%

0.00% NZV

NZVD

Figure 4.69: The percentage of acceleration reduction

NZVDD

100 4.4 Problem of the project

In this project, have a few problem, firstly Simulink HDL coder in MATLAB cannot generate correct HDL code from the signal block. As the solution, we must create HDL code using Xilinx software and embedded the value of the signal in FPGA.

The problem also arise when using FPGA board where the FPGA pin cannot initialize like common chips such as Microcontroller, PIC and so on. As the solution, read the manual of FPGA Spartan 3E to find the way to assign I/O pin.

Beside that, FPGA board only use the digital form number. So we cannot get the exact value of the decimal value in binary. For example, we want to insert the value of 0.3 in FPGA. So in binary the nearest value that we can embedded into FPGA is 0.2969.

Furthermore, if we embedded the value of the signal in FPGA, too many value of decimal must convert to binary if convert it manually. To make it easier, we must use FI function in MATLAB to convert decimal value to binary.

101

CHAPTER 5

CONCLUSION

5.1

Conclusion

Overall, this project achieves all of the objective which is to control and reduce vibration of the flexible manipulator by using negative input shaping approach. Another objective achieved is to investigate the effect of derivative order of negative input shaping to the performance of the system using FPGA. But the result using FPGA board is not good as Simulation result.

5.2

Future recommendation

For future development, use the digital filter to develop and implement on FPGA board through Xilinx from Matlab simulation. This is because we can develop an HDL code easily using FDA Tool in MATLAB R2007b.

Beside that, maybe can use compatible DSP (Digital Signal Processing) board with Matlab for future project where it cannot need software such as Xilinx to implementation of this project.

102

REFERENCE

[1]

Garrido, S., Abderrahim, M., Gimenez, A., and Balaguer, C. Anti-Swinging Input Shaping Control of an Automatic Construction Crane. Robotics Lab., University Carlos III of Madrid, Spain.

[2]

Singhose, W. E., Seering, W. P., and Singer, N. C. (1990). Shaping Inputs to Reduce Vibration: A Vector Diagram Approach. IEEE Journal. Pp. 922-927.

[3]

Singhose, W. E., and Pao, L. Y. (1996). Comparison of Input Shaping Techniques for Speed-Critical Multi-Mode Flexible Systems. IEEE International Conference on Control Applications Dearbon, MI. pp. 379-384.

[4]

Singer, N., Singhose, W., and Kriikku, E. (1997). An Input Shaping Controller Enabling Cranes to Move Without Sway. American Nuclear Society 7th Topical Meeting on Robotics and Remote Systems.

[5]

Z. Mohamed, J.M. Martins, M.O. Tokhi, J. Sa da Costa, M.A. Botto (2002). Vibration control of a very flexible manipulator system. Faculty of Electrical Engineering, Universiti Teknologi Malaysia, UTM Skudai, Johor 81310, Malaysia.

[6]

Tokhi, M. O., Mohamed, Z., Shaheed, M. H. (2001). Dynamic Characterisation of a Flexible Manipulator System. Robotica. 19(5): 571-580

[7]

Mohamed, Z., Chee, A.K., Mohd Hashim, A. W. I., Tokhi, M. O., Amin, S. H. M. and Mamat, R., 2006. Techniques for Vibration Control of a Flexible Manipulator. Robotica 24, pp. 499-511.

103 [8]

Singer N., Singhose. W, Kriiku E., (1997)., An input shaping controller enabling to move without sway, Master Thesis, American Nuclear Society 7th Topical Meeting on Robotics and Remote System

104

APPENDIX A M-FILE FOR NZV, NZVD, NZVDD

105

starting_time=0; simulation_time=1; sampling_time=0.001; t=starting_time:sampling_time:simulation_time;

for i=1:(0.2/sampling_time)+1 u(i,1)=0; end for i=(0.2/sampling_time)+1:(0.5/sampling_time)+1 u(i,1)=0.3; end for i=(0.5/sampling_time)+1:(0.8/sampling_time)+1 u(i,1)=-0.3; end for i=(0.8/sampling_time)+1:(4/sampling_time)+1 u(i,1)=0; end

% Negative ZV shaper (2-impulse) % mode 1 pi=22/7; z1=0.0086; k1=exp((-z1*pi)/((1-z1^2)^0.5)); wn1=94; wd1=wn1*(sqrt(1-z1^2)); %Determine the amplitudes and time location of the input shaper ip=3; tt1a(1)=0; tt1a(2)=0.5*(pi/wd1); tt1a(3)=pi/wd1; A1a(1)=0.7; A1a(2)=-0.4; A1a(3)=0.7; tt1a=tt1a./0.001; tt1a=round(tt1a); tt1a=tt1a.*0.001; for i=1 v1a(i,1)=A1a(1); end ni=1; while ni

Suggest Documents