report

52
شگاه صنعتي دان امیرکبیر)یک تهرانپلي تکن( مهندسي برقانشکده دوژه درس پر هوش محاسباتي موضوع: کنترل فاز ی و عصب ي فاز یقاوم ربات م نگارش رامت ین برته سید مجتب ي حق ي نیما جنات یان مجتبي حاج يری میتاد درس اس عبدالهي دکتر فرزانه بهمن ماه39

Transcript of report

Page 1: report

امیرکبیردانشگاه صنعتي

)پلي تکنیک تهران( دانشکده مهندسي برق

هوش محاسباتيپروژه درس

موضوع:

مقاوم ربات یفاز يو عصب یکنترل فاز

نگارش

برته ینرامت

يحق يمجتب سید

یانجنات نیما

میریيحاج مجتبي

استاد درس

دکتر فرزانه عبدالهي

39ماه بهمن

Page 2: report

صفحه فهرست عناوین

1............................................................................................................................................. مقدمه .1

1.......................................................................................................................... ربات یمدلساز .2

1................................................................................................................................ کینماتیک 2.1

1..................................................................................................... میمستق کینماتیک 2.1.1

2.1.2 .............................................................................................................................................. 2

4 .....................................................................................................معکوس کینماتیک 2.1.2

4 ................................................................................................ یلیفرانسید روش 2.1.2.1

5....................................................................................................... یهندس روش 2.1.2.2

6 ................................................................................................................................. کینامید 2.2

9 ................................................................................................................ یفاز کنترلر یطراح .2

11 ................................................................................................................. یساز هیشب جینتا 2.1

12 .................................................................................................. یعصب یفاز کنترلر یطراح .4

12 ................................................................................................................................... مقدمه 4.1

15 ........................................................................ سرعت یعصب-یفاز سنسور بدون کنترل 4.2

15 ................................................................................................... یرخطیغ گر تیرو 4.2.1

FNN ................................................................................................ 11 کننده کنترل یطراح 4.2

22 ............................................................................................... متلب طیمح در یساز ادهیپ 4.4

26 ................................................................................ ها یساز هیشب در آمده بدست جینتا 4.5

simmech ......................................................................... 41 طیمح در ربات شنیمیان ساخت .5

Page 3: report

42 ..................................................................................................................................... مراجع و منابع

42 ................................................................................................................................................:وستیپ

Page 4: report

مقدمه

1

مقدمه .1

کنیم و سپس یک کنترل فازی ما در این پروژه ابتدا یک ربات دو لینک بر اساس روش الگرانژ مدلسازی مي

و نسدبت بده باشدد نماییم.در ادامه به دلیل اینکه خطای این کنترلر فازی زیاد ميبرای این ربات طراحي مي

نمداییم کده نسدبت بده اوم طراحي ميباشد یک کنترلر عصبي فازی مقمينمقاوم نیز اغتشاش و اصطحکاک

-انجام مدي PDباشد.و درانتها یک مقایسه بین کارایي این کنترلر و کنترلر اغتشاش و اصطحکاک مقاوم مي

شود.آورده مي simmechنهایتا انیمیشن ساخته شده این ربات در محیط دهیم. و

مدلسازی ربات .2

ربات را بیان کنیم.خواهیم مدل مراحل بدست آوردن مدل در این بخش مي

کینماتیک 2.1

باشد.این بخش شامل کینماتیک مستقیم و معکوس مي

کینماتیددددددددددددددددددددددددددددددددددک مسددددددددددددددددددددددددددددددددددتقیم 2.1.1

Page 5: report

مدلسازی ربات

2

2.1.2

. در 2و کینماتیک معکوس 1ها، همواره دو مسیر وجود دارد؛ کینماتیک مستقیمبرای مسائل کینماتیکي ربات

کینماتیک مستقیم هدف آن است تا با در اختیار داشتن موقعیت هر کدام از مفاصل ربات، بتوان موقعیت

هر قسمت از ربات بر اساس وظیفه تعیین شده را در هر دستگاه مختصات مطلوب محاسبه کرد.

سته به کاربرد ربات، ربات را در قالب پارامترهای مفاصل مدل کنیم. وظیفه ربات ب 9در واقع مایلیم تا وظیفه

باشد. بنابراین کافي است تا با استفاده از پارامترهای دیناویت د 5و یا جهت 4تواند به صورت موقعیتمي

( 1توان از ماتریس تبدیل )های تبدیل وظیفه مورد نظر را بدست آوریم. بدین منظور ميهارتنبرگ و ماتریس

( دست یافت. 9توان به )مي 1و جدول 1 شکلا توجه به ( و همچنین ب1استفاده کنیم. با استفاده از )

ای با دو کنید بازوی تحت کنترل، یک ربات دو درجه آزادی صفحهنیز مشاهده مي 1 شکلهمانطور که در

مفصل چرخشي است.

ای.. ساختار بازوی ربات دو درجه آزادی صفحه1 شکل

D. پارامترهای1 جدول H ای.برای ربات دو درجه آزادی صفحه

a d

Forward Kinematics 1

Inverse Kinematics 2 Task 3

Position 4

Orientation 5

1l 2q

1q

2l 3l

Page 6: report

مدلسازی ربات

2

0 1 2l m 2

0 1

2 1l m 0 0 *

1q 2

3 1l m 0 0 *

2q 9

(1) 1 1

1 3 1 1 4 4

4 4

00 1

0 0 0 1

i i i i i i

i i i i i i

i i

q q q i q

iiq q q i qi i

i

i

C S C S S a C

S C C C S a SR dH

S C d

(2)

1 1 1 2 2 2

1 1 1 2 2 21 2 3

0 1 2

0 01 0 0 0

0 0 1 0 0 0, ,

0 1 0 2 0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1

q q q q q q

q q q q q q

C S C C S C

S C S S C SH H H

(9)

1 2 1 2 1 2 1

1 2 1 2 1 2 1

3 1 2 3

0 0 1 2

4 4

0

0 0 1 0

0 2

0 0 0 1

q q q q q q q

q q q q q q q

C S C C

H H H HS C S S

-ایم بنابراین مختصات نوک ربات در دستگاه مبدا را ميبا توجه به اینکه وظیفه را در نوک ربات تعریف کرده

( محاسبه نمود.4توان به صورت )

(4)

1 2 1

1 2 1

3

0

4 1 4 1

0

0 0

0 2

1 1

q q q

EEf

q q q

C C

X HS S

قادر به حرکت اسدت بندابراین zو xای بوده و تنها در دوراستای از آنجاییکه ربات مورد نظر از نوع صفحه

( ساده نمود.5ای نوک ربات را به صورت )توان موقعیت لحظهمي

Page 7: report

مدلسازی ربات

4

(5) 1 2 1

1 2 12

EEf q q q

EEf q q q

x C C

z S S

کینماتیک معکوس 2.1.2

در مسائل کینماتیک معکوس هدف آن است تا با در اختیار داشتن موقعیت هر قسمت از ربات در دستگاه

بسته مختصات بتوان به موقعیت مفاصل دست یافت، حال آنکه حل این دسته از مسائل همیشه دارای پاسخ

نیستند. دو روش بسیار رایج به منظور دستیابي به کینماتیک معکوس ربات به ترتیب روش دیفرانسیلي و

شوند.روش هندسي هستند که در ادامه هر کدام تشریح مي

یفرانسیليروش د 2.1.9.1

ه فرض کنید که موقعیت ربات در دستگاه مختصات مبدا با استفاده از پارامترهای دیناویت د هارتنبرگ ب

( محاسبه شود. در این رابطه تنها موقعیت مفاصل متغیر بوده و در لحظه موقعیت وظیفه ربات در 6صورت )

هر دستگاه مختصاتي وابسته با وضعیت مفاصل ربات است.

(6) 1 2 ... , 1,...,T

EEf i mX F q x x x i n

برابر با ماتریس ژاکوبین Jیافت. در این رابطه ( دست8)توان به ( مي6با مشتق گرفتن از طرفین معادله )

توان ساختار ماتریس ( مي3دهد. در )ربات را نشان مي است که در هر لحظه تغییرات مفاصل به وظیفه

برابر با تعداد mبرابر با تعداد درجات آزادی ربات و nژاکوبین را مشاهده نمود. توجه داشته باشید که

درجه وظیفه است.

(7) EEf i i

d d d dqX F q F q

dt dt dq dt

(8) EEfX Jq

Page 8: report

مدلسازی ربات

5

(3)

1 1 1 1

1 2 3

2

1

1

,

n

m n

m m

n m n

x x x x

q q q q

x

qJ m n

x x

q q

( 11توان سرعت متناظر مفاصل را به صورت )با در اختیار داشتن ماتریس ژاکوبین و سرعت وظیفه ربات مي

mدر صورت برابر بودن درجه آزادی و درجه وظیفه ربات ) n) ( ( در حالت )11وn m) آورد.بدست

(11) 1

1 1 1 1,n n n n n n n nX J q q J X m n

(11) 1

1 1 1 1,T T

m m n n n n m m n n m nX J q q J J J X m n

شود.( محاسبه مي12در مسئله مورد بررسي در این گزارش ماتریس ژاکوبین مربعي بوده و به صورت )

(12) 1 2 1 1 2

1 2 1 1 2

2 2

2 2

, 1,2q q q q qEEf

q q q q qi

S S SXJ i

C C C

روش هندسي 2.1.9.2

توان با در اختیار داشتن موقعیت ای است، ميکه ربات تحت کنترل یک ربات دو درجه آزادی صفحه از آنجا

نوک ربات در دستگاه 0 0,x z داریم:2 شکل، وضعیت هر کدام از مفاصل را بدست آورد. با توجه به

ای.آزادی صفحه. کینماتیک معکوس هندسي برای ربات دو درجه 2 شکل

2l

0x

0z

1x

1y 2x

2y

3y 3x

Current state

Page 9: report

مدلسازی ربات

6

(19) 1 2

x EEf

z EEf EEf

P x

P z l z

(14)

22 2 2 2 2 2 2 2

3 2 3 2

2

1 2 1 2

2 1 ,2 2

x z x zl l P P l l P Pq atg

l l l l

(15) 1 3 2 2 3 22 , 2 ,z xq atg P P atg l Sin q l l Cos q

توجه داشته باشید که موقیعت نوک ربات در دستگاه مختصات base به صورت,T

EEf EEfx z و در

دستگاه 0 برابر ,T

x zP P ای به صورت زیر است:است. همچنین موقعیت مفاصل برای حالت آینه

(16)

22 2 2 2 2 2 2 2

3 2 3 2

2

1 2 1 2

2 1 ,2 2

x z x zl l P P l l P Pq atg

l l l l

(17) 1 3 2 2 3 22 , 2 ,z xq atg P P atg l Sin q l l Cos q

دینامیک 2.2

ای از معادالت ریاضي هستند که رفتار دینامیکي بازوی معادالت دینامیکي برای رفتار حرکتي ربات، مجموعه

نظیر معادالت کینماتیکي، در این قسمت نیز مسائل به دو بخش دینامیک مستقیم کنند. رباتیکي را مدل مي

شوند. در مسأله دینامیک مستقیم، گشتاور تولیدی موتورها، مفاصل ربات را به حرکت و معکوس تقسیم مي

شود.آیند و براساس موقعیت هر لحظه مفاصل، موقعیت ربات در دستگاه مختصات وظیفه تعیین ميميدر

حال آنکه در مسأله دینامیک معکوس، براساس مسیر دلخواه در دستگاه وظیفه ربات، وضعیت متناظر

شوند و سپس به منظور حرکت مطلوب ربات، گشتاوری مفاصل اعم از موقعیت، سرعت و شتاب محاسبه مي

م تا گشتاور شود. در واقع به دنبال این موضوع هستیبرای به حرکت درآوردن موتورهای ربات اعمال مي

Page 10: report

مدلسازی ربات

1

متناظر برای یک حرکت خاص را محاسبه و تولید کنیم.

(، 13( و )18کنیم. در معادله )به منظور استخراج روابط دینامیکي بازو ربات از معادله الگرانژ استفاده مي

سرعت خطي مرکز liPموقعیت مرکز جرم، liPانرژی پتانسیل ، iuانرژی جنبشي، ikام: iبرای لینک

iسرعت دوراني مرکز جرم، iWجرم،

CMiI ممان اینرسي در دستگاه مرکز جرم iCM ،0

C M iR ماتریس

تبدیل مختصات دستگاه iCM به دستگاه base .است

(18) 1 1 1 1

2 2 2 2

T T T T CMi i base

i i li li i i i i li li i base CMi CMi ik m P P W I W m P P W R I R W

(13) 0 0TT

i li iu P m g

(21) 1

n

i i

i

L K U k u

(21) , 1,...,i

i i

d L Li n

dt q q

2ای شکل به طول ربات تحت کنترل دارای دو لینک استوانه 3 1l l m 5و سطح مقطع به شعاعir cm

1imها نیز است، وزن هرکدام از لینک kg 1باشد. همچنین طول پایه ربات برابر مي 2l m است. بنابراین

داریم:

(22) 1 1 2 1

1 1 2 1

1 2

1 1

2 2,

1 12 2

2 2

q q q q

l l

q q q q

C C C

P P

S S S

Page 11: report

مدلسازی ربات

8

(29) 1

1

1 1

1 1

2 2

01

02

q

l l

q

Sq qP J

q qC

(24)

1 2 1 1 2

1 2 1 1 2

1 1

2 2

2 2

1

2

q q q q q

l l

q q q q q

S S Sq qP J

q qC C C

(25)

1 2 1 1 2

1 2 1 1 2

1 1

2 2

2 2

1

2

q q q q q

l l

q q q q q

S S Sq qP J

q qC C C

(26)

2

2

2

1 10 0

4 12

1 10 0 , 1,...,

4 12

10 0

2

i i i

i

CMi i i i

i i

m r m

I m r m i n

m r

(27) 1 1 1 2 1 2

1 1 1 2 1 2

1 2

0 0

1 0 0 , 1 0 0

0 0

q q q q q q

CM CM

base base

q q q q q q

S C S C

R R

C S C S

2شود.( محاسبه مي28با ترکیب روابط عنوان شده، دینامیک ربات به صورت ) 2M ماتریس اینرسي معادل

2ربات و 1CG است.ماتریس معادل اثر وزن، شتاب کوریولیس و جانب مرکز

(28) 1 1

2 2 2 1

2 22 1 2 1

qM CG

q

(23)

2 2

2

2 2

2 22

2

2 2

10 3 6 4 3 6

6 6

4 3 6 1 1

6 4 3

q q

q

m r C m r C

Mm r C

mr m

Page 12: report

طراحی کنترلر فازی

9

(91)

2 2 1 1 2

2 1 2

2

2 1 2

2 12

1

2 1

2 3

2

2

q q q q q

q q q

m q S q q S gC gC

CGm q S gC

کنترلر فازیطراحي .9

ها نرمالیزه ساختار کلي یک کنترلر فازی رایج نشان داده شده است. در چنین کنترلری، ورودی 9 شکلدر

گیرند.شده و سپس در اختیار سیستم فازی قرار مي

. ساختار کنترلر فازی.9 شکل

در مسأله پیش رو کنترلر مورد نظر دارای دو ورودی de q q در بازه 10,10 و

de q q در بازه

20,20 باشد. خروجي مورد نظر نیز برابر با گشتاور وارد شده به موتورها در بازه مي 1 20,20 و

1 10,10 است )با توجه به اینکه بار روی موتور اول بیشتر است بنابراین کران گشتاور آن نیز بزرگتر

و همچنین ساختار کلي 4 شکلاست(. بر این اساس با روش سعي و خطا توابع عضویت ورودی و خروجي در

قابل Manipulator_Controller.fisآید. فایل کنترلر فازی در ( بدست مي91کنترلر فازی به صورت )

دسترسي است.

Page 13: report

طراحی کنترلر فازی

11

. توابع عضویت ورودی و خروجي برای کنترل ربات دو درجه آزادی.4 شکل

(91)

Rules:

And method: Min

Or method: Max

Implication: Min

Aggregation: Max

Deffuzification: Centroid

نتایج شبیه سازی 9.1

توان نتیجه عمکرد کنترل فازی را در قالب خطای موقعیت و سرعت هر کدام از مفاصل های زیر ميدر شکل

بینیم کنترلر مورد نظر عملکرد به مراتب بهتری روی مفصل دوم دارد که علت مشاهده نمود. همانطور که مي

بودن اثر وزن وارده به مفصل دوم نسبت داد. کنترلر فازی قادر است تا در عین توان در کمتر آن را مي

های سیستم تحت کنترل، نتیجه قابل قبولي را ارائه کند.داشتن ساختار ساده، فارغ از پیچیدگي

e e

1

e e

2

Page 14: report

طراحی کنترلر فازی

11

. خطای تعقیب سرعت و موقعیت برای مفصل اول.5 شکل

Page 15: report

طراحی کنترلر فازی

12

. خطای تعقیب سرعت و موقعیت برای مفصل دوم.6 شکل

Page 16: report

صبیفازی عکنترلر طراحی

12

طراحي کنترلر فازی عصبي .4

کنترلر فازی عصبي برای ربات دو لینک طراحي کنیم.خواهیم یک در این بخش از پروژه مي

مقدمه 4.1

لینک که توسط یک موتور سروو کنترل مي شود مي تواند به صورت nبه طور کلي مدل دینامیک یک ربات

زیر بیان شود:

(92) e T aK i

(99) e m m m m mJ B

(94) t a a a a E mR i L i K

nکه

e R ،بردار تورک الکترومغناطیسيn n

TK R ،ماتریس قطری از ثوابت تورک موتورn

ai R

nبردار جریان های آرمیچر، n

mJ R ،ماتریس قطری اینرسي لحظه ایn n

mB R ضرایب میرایي

,پیچشي، , n

m m m R شفت موتور است. به ترتیب معرف بردارهای مکان، سرعت و شتابn

m R

nبردار تورک بار،

n R ،بردار ولتاژ های ورودی آرمیچرn n

aR R ،ماتریس قطری مقاومت آرمیچرn n

aL R ،ماتریس قطری اندوکتانس آرمیچرn n

EK R ماتریس قطری ضرایب نیروی متحرکه

لینک رابطه nسروو برای تحریک یک ربات DC( است. برای استفاده از موتور EMFالکتریکي بازگشتي )

و بردار مکان شفت موتور qبین بردار مکان نقطه اتصال m .به صورت زیر بیان مي شود

(95) 1,..., 1,..., 1,..., 1,...,[ | ] | / | / |r ri i n ri i n mi i i n i mi i nG diag g withg q

nکه n

rG R یک ماتریس قطری مثبت معین از ضرایب چرخ دنده هایn اتصال است که المان های

ri|,...,1روی قطر آن به صورت i ng .تعیین شده استmi وiq و به ترتیب، المان های مکان شفت موتور

به ترتیب، المان های بردار های کنترل تورک هستند که برای کنترل جهت miو iمکان اتصال هستند.

نقطه اتصال و تورک بار استفاده مي شوند.

Page 17: report

صبیفازی عکنترلر طراحی

14

ای ورودی آرمیچر را به صورت مي توان بردار ولتاژ ه Giبا استفاده از معادالت سیستم و با استفاده از تعریف

زیر تعریف نمود:

(96) ( ) ( )t n n n n n n n n n n EnL R L J q R J L B q R B K q

در این تعریف داریم:

1 1( ) , ( ) , ,

T T

n a r T n a r T n r r m n r r m

En E r

L L G K R R G K J G G J B G G B

and K K G

لینک به فرم الگرانژ به صورت زیر معرفي مي nبعد از معرفي دینامیک محرک، رفتار مکانیکي یک ربات

شود:

(97) ( ) ( , ) ( ) ndM q q c q q q g q

,که nq q R .بردارهای سرعت و شتاب مفصل هستند( ) n nM q R .ماتریس اینرسي است

( , ) n nC q q R ( ماتریس نیروهای کوریولیس و مایل به مرکزcentripetal .است )g( ) nq R بردار

nگرانش،

dn R معرف بردار اغتشاش های خروجيl و ترم اصطکاک( )f q و دینامیک های ناشناخته

نشان دهنده نمایي از روبات دو لینک آمده است. 1است. شکل

به دست مي آید: با ساده سازی ریاضي و انجام محاسبات، معادالت ربات به اضافه ی محرک به صورت زیر

(98) 1( )[ ( , ) ( ) ( ( )) ] ( , , )d rq M q C q q q g q n I M q q q

ماتریس هماني است. با معرفي متغیر های حالت به صورت Iکه 1 2 3, ,x q x q x مي توان معادالت

حالت را به صورت زیر نوشت:

(93) 1 2x x

(41) 2 1 2 3 3( , , )rx x x x x

(41) 3 1 2( , , )a t tx x x

در این جا فرض مي شود که متغیر های حالت سیستم بردارهای مکان، سرعت و شتاب مفصل بوده و تنها

( قابل اندازه گیری است. qبردار مکان مفصل )

,در قسمت بعد، فرض مي شود که مکان دلخواه مفصل و همچنین مشتق آن ) n

d dx x R .معلوم هستند )

است که تنها با داشتن اطالعات از مکان مفصل بتواند AFNNVSCهدف این مطالعه ایجاد یک شماتیک

Page 18: report

صبیفازی عکنترلر طراحی

15

کنترلي ایجاد نماید که در حضور عدم قطعیت پارامتریک داخلي و اغتشاش خارجي بردار مکان مفصل، بردار

مکان دلخواه مفصل را دنبال نماید.

سرعت عصبي-کنترل بدون سنسور فازی 4.2

استفاده شده است. از رویتگر FNNدر روش ارائه شده، از یک رویت گر غیرخطي و یک کنترل کننده

برای ایجاد ورودی کنترلي FNNغیرخطي برای تخمین اطالعات سرعت استفاده شده و کنترل کننده

)یعني بردار ولتاژهای ورودی آرمیچر( t استفاده شده است. این دو قسمت از روش را به صورت مجزا

توضیح مي دهیم:

رویت گر غیرخطي 4.2.1

برای از بین بردن نیاز به دانستن اطالعات سرعت مفصل، از رویت گری با معادالت زیر استفاده مي کنیم:

(42) 1 2 1 1ˆ ˆz z L z

(49) 2 3 2 1

0ˆ ˆ

t

tz z L z dt

(44) 3 3 1z L z

1که داریم: 1 1 1ˆ ˆz q z x z ،1همچنین ماتریس های 2 3, , n nL L L R ماتریس های مثبت معین و

متقارن بهره ها هستند. حالت های تخمین زده سده ی مکان و سرعت مفصل به صورت زیر تعریف مي

گردد:

(45-a) 1 1ˆ ˆx z

(45-b) 2 2 1 1ˆ ˆx z L z

با این تعاریف، معادالت حال برای دینامیک های تحمین زده شده به صورت زیر بدست مي آید:

1 2 2

1 2 2

11 1 1

1 1 2 2 2 2

11 1 1

1 1 2 2 2 2

2

1

[ ... ... ... ... ]

[ ... ... ... ... ]

p p p n r

p p p n r

b

n n n n

n n

n n n n

n n

n

r pb

m m m m m m m R

s s s s s s s R

n n

Page 19: report

صبیفازی عکنترلر طراحی

16

برای منفي eqبرای این که مکان مفصل از مکان دلخواه دنباله روی کند، ابتدا یک بردار کنترل مجازی

انتگرال بردار ولتای آرمیچر طراحي مي شود. یعني: 0( )

t

tp dt با استفاده از تخمین سرعت به جای .

مقدار واقعي آن خواهیم داشت:

(46) 3 2 1 2

ˆˆ ˆeq z L z x Le Ke

1که داریم: ˆ ˆ

de x x 1خطای تخمین و de x x .خطای دنبال کردن مکان مفصل استK یک

1باید به گونه ای تعیین شوند که L1و kماتریس مثبت معین و متقارن مي باشد. دقت داریم که

1L K

نیز مثبت معین باشد. حال با این تعاریف، فرم جدید معادالت حالت دینامیک های رویت گر به صورت زیر

بدست مي آیند:

(47-a) 1 2ˆ ˆx x

(47-b) 2 3 2 1 1 1ˆ ˆ

eqx z L z L z p که در این معادالت

,eq

t eq

p p

p

حال با این تعاریف، قانون کنترلي پایدارساز برای بردار ولتاژ ورودی آرمیچر به صورت زیر بدست مي آید:

(48) 1

1 sgn( )sc eq yp L e k p

لیاپانوف کاندید شده دارای تعریف زیر است:تابع

( ) / 2T T

scV e e p p

با استفاده از قانون کنترلي بدست آمده، مشتق تابع لیاپانوف به صورت زیر بدست مي آید:

1

1 0T T

scV e L Ke p p

به صفر eبا استفاده از معادالت و با تابع لیاپانوف معرفي شده، مي توان نتیجه گرفت که خطای دنبال کردن

میل مي کند.

باوجود این که با قانون کنترلي باال، پایداری سیستم تامین گردید، در حالتي که دینامیک های سیستم و

ال این قانون کنترلي در محیط واقعي ممکن است سرعت مفصل نامعلوم باشد و یا دچار اغتشاش شوند، اعم

Page 20: report

صبیفازی عکنترلر طراحی

11

ممکن kyعملي نباشد و یا باعث شود که پایداری سیستم از بین برود. همچنین انتخاب بهره ی باال برای

( در ورودی کنترلي شود. برای تضمین پایداری سیستم با وجود chatteringاست باعث ایجاد اثر نوساني )

عصبي در بخش بعدی معرفي مي گردد تا بتواند قانون کنترلي تعریف شده -عدم قطعیت، یک ساختار فازی

را تقلید کند و قوام پایداری را نیز تضمین نماید.

FNNطراحي کنترل کننده 4.9

استفاده مي شود که دارای یک بخش کنترل AFNNSCبرای کنترل موثرتر مکان مفصل، از یک ساختار

شکل این ساختار به صورت زیر است:و یک رویت گر غیرخطي است. FNNکننده

دارای الیه های ورودی، عضویت، قانون و خروجي است و به صورت FNNهمچنین، ساختار چهارالیه شبکه

شکل زیر مي باشد:

Page 21: report

صبیفازی عکنترلر طراحی

18

( است که شامل خطای دنبال کردن leعصبي، المان های خطای ترکیب شده )-ورودی های شبکه فازی

)ˆردن تخمین رده شده مکان مفصل و مشتق خطای دنبال ک )e فازی، المان -مي شود. خروجي شبکه عصبي

فازی -های بردار ولتاژ ورودی آرمیچر خواهد بود. نحوه تولید سیگنال و توابع اولیه در هر الیه از شبکه عصبي

به صورت زیر خواهد بود:

)الیه ی اول، ورودی های زباني .1 1,...,2 )l

be b n .را به الیه بعدی منتقل مي کند

الیه ی عضویت ورودی ها را با استفاده از توابع تعلق فازی با تعریف زیر، فازی سازی مي کند: .2

(43) 2 2( ) exp[ (e m ) / (s ) ]j l l j j

b b b b be

mدر تعریف باال ,and,sj j

b b به ترتیب ضریب انحراف و میانگین تابع گاوسین برای هر ورودی

د که به این الیه وارد شده اند. برای نشان دادن حالت کلي که شامل شاخه های مختلف مي هستن

باشد که به ترتیب ورودی های شبکه تعیین مي گردند، از سمبل bpn استفاده مي کنیم تا تعداد

برای میانگین و ضریب مجزایي از توابع تعلق را نشان دهیم. برای سادگي نشان دادن دو تعریف

انحراف توابع گوسین به صورت زیر تعریف مي کنیم:

1 2 2

1 2 2

11 1 1

1 1 2 2 2 2

11 1 1

1 1 2 2 2 2

[ ... ... ... ... ]

[ ... ... ... ... ]

p p p n r

p p p n r

n n n n

n n

n n n n

n n

m m m m m m m R

s s s s s s s R

Page 22: report

صبیفازی عکنترلر طراحی

19

2که

1 b

n

r pbn n

.نشان دهنده تعداد کل توابع تعلق است

م های ورودی را در هدکند و هر نود در ایدن الیده سدیگنالالیه قوانین مکانیزم استنتاج فازی را اعمال مي 9

شود:گرداند. خروجي این الیه به صورت زیر داده ميضرب نموده و حاصل ضرب را به عنوان خروجي برمي

(51) 2

1

( )n

k j l

k jb b b

b

l w e

)که در آن 1, , )k yl k n بیانگرkباشد. امین خروجي الیه قوانین ميk

jbwی اوزان بین الیده دهنده، نشان

برابدر تعدداد ynشوند. همچنین عضویت و الیه قوانین بوده که تمامي این وزنها برابر واحد در نظر گرفته مي

باشد.کل قوانین مي

دهند. هدر ندود باشد و نودهای این الیه متغیرهای زباني خروجي را نشان مي. الیه چهارم الیه خروجي مي4

( 1, , )oy o i n های ورودی محاسدبه در این الیه که خروجي را به صورت حاصل جمع تمامي سیگنال

شود:کند به صورت زیر نمایش داده ميمي

(51) 1

yn

o

o k k

k

y w l

و نمایش برداری آن به صورت زیر خواهد بود:

(52) 1 2 fnnW ( ,W, , )T l

ny y y y l e m s

که در آن:

1 1 1

1 2

2 2 2T1 2

1 2

1 2

W w w w

y

y

y

n

n

n

n n n

n

w w w

w w w

w w w

(59) 1 2w

y

o o o

o nw w w

(54) T

1 2 ynl l l l

( را تقلید نموده و اطمینان ایجداد 48ی )شبکه عصبي فازی معرفي شده است تا قانون کنترلي پایدار کننده

نماید که عملکرد کنترلي به صورت مقاوم و بدون نیاز به اطالعات سیسدتم و کنتدرل جبدران شدده کمکدي

Page 23: report

صبیفازی عکنترلر طراحی

21

توسدط مین عملکرد پایدار کنترل، قوانین تنظدیم پارامترهدای شدبکهضپذیرد. عالوه بر این، برای تانجام مي

اند. بر اساس توانایي قدرتمند تقریب شبکه [ و تئوری پایداری لیاپانوف استخراج شده4الگوریتم پروجکشن ]

*ای مانند بهینه FNN[ کنترل 5عصبي فازی ]

fnn ی برای آموزش قانون کنترلي پایدار کننددهsc وجدود

شود.دارد که به صورت زیر نمایش داده مي

(55) * * * * * *

sc fnn ( ,W ,m ,s ) W lle

*بردار خطای بازسازی کمینه و که در آن * *W ,m ,s ی پارامترهای مقادیر بهینهW,m,s ی عصبي شبکه

در الیه عضویت شبکه عصدبي s*و m*ی بردار خروجي الیه قوانین به ازای به پارامترهای بهینه l*فازی و

شود:باشند. بنابراین قانون کنترلي شبکه عصبي فازی به صورت زیر در نظر گرفته ميفازی مي

(56) fnn

ˆˆ ˆˆ ˆ ˆ( , W,m,s) Wll

t e

ˆکه در آن ˆ ˆW,m,s هایي از پارامترهای بهینه هستند که توسط الگوریتم تنظیم که در ادامده توضدیح تخمین

در الیه sو mبردار خروجي الیه قوانین به ازای به پارامترهای برداری lگردند. داده خواهد شد فراهم مي

( یک خطای تقریبي به صدورت زیدر 55( از رابطه )56عضویت شبکه عصبي فازی است. با کم کردن رابطه )

گردد:تعریف مي

(57) * * *

scˆ ˆW W W Wt l l l l

*که در آن ˆW=W -W و* ˆl l l سازی برای تبدیل توابع عضویت باشد. در این پروژه از تکنیک خطيمي

استفاده شده است. lبه فرم خطي جزئي به صورت بسط سری تیلور

(58)

1 1

1

2 22 * *

ˆ ˆ| |

ˆ ˆ( ) ( ) o o

yy y

T T

T T

n m s n

nn n

T Tm m s s

l l

m sll l

lm sl m m s s l m l s

l l l

m s

*که در آن ˆm m m ،* ˆs s s و* *,m s ی پارامترهای مقادیر بهینه,m s وˆ ˆ,m s تخمیني از* *,m s

1ynو در نهایت

no R

باشدهای مرتبه باالتر ميبردار ترم

Page 24: report

صبیفازی عکنترلر طراحی

21

T

1 2

ˆ|

T

1 2

ˆ|s

;y y r

y y r

n n n

m

m m

n n n

s

s

ll ll R

m m m

ll ll R

s s s

( خواهیم داشت58بازنویسي رابطه )با

(53) * ˆm s nl l l m l s o

شود که:( نشان داده مي57( در )53با جانشین نمودن )

(61)

* * *

* *

*

ˆ ˆ ˆˆ ˆW W W W

ˆˆ ˆ ˆ(W W) (W W) (W W) W

ˆ ˆ ˆW W W W W W

ˆ ˆ ˆW W W

m s n

m s n

m s m s n

m s

l l l l m l s o l

l l m l s o

l l m l s l m l s o

l l m l s y

W*شود که در آن فرض مي W Wm s ny l m l s o به صورتyy k .محدود شدده باشدد.

باشد.نشانگر نرم اقلیدسي مي

: 1تئوری

شدود را درنظدر بگیریدد. در ( بیدان مي98لینکي که دینامیک عملگرهای آن توسط معدادالت ) nیک ربات

( ، قدانون کنترلدي 45( با تبدیالت حالت )44( تا )42صورتي که استراتژی غیرخطي رویتگر مانند معادالت )

( و قوانین تطبیق برای پارامترهای شدبکه عصدبي فدازی بدا اسدتفاده از 56شبکه عصبي فازی مانند معادله )

طراحدي شدده AFNNVSC( طراحي گردند؛ آنگاه، عملکرد کنترلي پایددار سیسسدتم 69( تا )61روابط )

گردد اگر:تضمین مي

(61-a)

ˆ ˆifˆ

ˆˆ ˆor and 0

T

w o o w

o

o w o o

p l w bw

w b p w l

(61-b)

2ˆ ˆ ˆ ˆ ˆ/ˆ

ˆˆ ˆif and 0

T T T

w o w o o o o

o

o w o o

p l p l w w ww

w b p w l

Page 25: report

صبیفازی عکنترلر طراحی

22

(62-a)

TT

T

ˆ ˆW ifˆ

ˆˆ ˆor and W 0

m m m

m m

p l m bm

m b p l m

(62-b)

TT 2T T T

T

ˆ ˆ ˆ ˆ ˆW W /ˆ

ˆˆ ˆif and W 0

m m m m

m m

p l p l mm mm

m b p l m

(69-a)

TT

T

ˆ ˆW ifˆ

ˆˆ ˆor and W 0

s s s

s s

p l s bs

s b p l s

(69-b)

TT 2T T T

T

ˆ ˆ ˆˆ ˆW W /ˆ

ˆˆ ˆif and W 0

s s s s

s s

p l p l ss ss

s b p l s

|که در آن 1,...,o o i np عناصر بردارp ،ˆow ی تخمیني از بدردار پدارامتر بهینده*

ow و, ,w m s هدای نرخ

,باشند و آموزش با مقدار مثبت مي ,w m sb b b باشند.ی پارامترها ميباندهای محدود کننده

(ادامه موجود است)اثبات در

لینکدي بدا در نظدر گدرفتن nبرای یدک ربدات ADNNVSCبا آنالیز طراحي کنترل، شمای روند اجرای

دینامیک عملگرها به صورت زیر خواهد بود:

1: مشددخن نمددودن قدد ا ل 2 3, , ,n n n n n nL R L R L R گر جهددت اعمددال بدده اسددتراتژی مشدداهده

(.45( و تبدیل حالت )44( تا )42غیرخطي ارائه شده در روابط )

n: مشخن نمودن ق ا د ا nK R برای محاسبه بردار گشتاور کنترلي مجازیeq

nR ( 46در رابطه )

1ی شدهبا استفاده از بردارهای مشاهده

nx R 2وˆ nx R.

fnn: محاسبه ساختار شبکه عصبي فازی ق ا سواˆ nR های و مشخن نمودن ورودیFNN بده وسدیله

به عنوان عناصر بردار ولتاژ ورودی آرماتور. FNNهای و خروجي lumpedبردار خطای

( بدا انتخداب مناسدب 69( تدا )61در روابدط ) FNN: اجدرای قدوانین تطبیدق پارامترهدای ق ا چهدررا

, , , , ,w m s w m sb b b .برای تضمین پایداری سیستم

Page 26: report

صبیفازی عکنترلر طراحی

22

(.56ی بردار خروجي کنترل در ): محاسبهق ا چهررا

تواند برای کنترل موقعیت مطرح شده مي AFNNVSCهای طراحي گفته شده در باال روش بر اساس قدم

لینکي استفاده گردد. به این ترتیب یک رفتار کنترلي پایددار بددون نیداز بده اطالعدات سیسدتم، nیک ربات

گردد. گیری سرعت و طراحي کنترل کمکي تضمین مياندازه

، درایدو موتدور DC: در حالت کلي معادله مکانیکي یک سروودرایو الکتریکي )مانند درایدو موتدور 1مالحظه

گدردد. ( بیدان مي99( بدا اسدتفاده از رابطده )PMSMنکرون مغناطیس دائدم یا درایو موتور س IMالقایي

( سداده 92بنابراین با اعمال جریان مناسب یا کنترل جهت میدان، گشتاور الکترومغناطیسدي مانندد رابطده )

DCدر حالت پایا نسبتا مشدابه بده رفتدار موتدور PMSMیا IMگردد به این ترتیب رفتار دینامیکي مي

تواند به به صدورت یدک عددم قطعیدت آل روی کنترل جهت میدان ميدر حالت گذرا، اثر غیر ایده باشد.مي

lumped برای سیستم در نظر گرفته شود. بنابراین شمای سیسدتمAFNNVSC تواندد ارائده شدده مي

نیز به خوبي کار کنند. ACبرای عملگرهایي با موتور جریان متناوب

در ی مینیمم یعني دار بودن بردار خطای بازسازی شده، کرانFNNقریب : بر مبنای قابلیت ت2مالحظه

*ی ی از پدیش تعیدین شددهگردد. عالوه بدر آن پارامترهدای بهینده( تضمین مي55رابطه ) * *(W ,m ,s در (

FNN های دار تعلق دارند. و تخمینبه یک محدوده مقادیر کرانˆ ˆ ˆ(W,m,s) بده از مقادیر پارامترهای بهینه

ی مقیدد خواهدد درون یک محددوده FNNعلت عملکرد الگوریتم پروجکشن در قوانین تطبیق پارامترهای

خواهد شد. همچنین خروجي الیه قوانین مقید به (W,m,s)ماند وبنابراین منجر به خطای تخمین محدود

|دوده صفر تا یک خواهد بود مح 1,...,( [0,1])yk k nl ضدرب در زیرا از توابع عضویت گوسین و استنتاج حاصل

,های الیه قوانین استفاده شده است. در نتیجه، طبق بسط سری تیلور ترم ,m s nl l o دار و نیز مقادیری کدران

W*ن محدود خواهند داشت. بنابراین فرض محدود بدود W Wm s ny l m l s o ( بده 61در رابطده )

yyصورت k رسدد و اساسدا حتي اگر سیستم دارای عدم قطعیت و اغتشاش باشد نیز معقول به نظر مي

باشدد. بدر طبدق رابطده ارائه شدده نمي AFNNVSCبرای اعمال سیستم ykنیازی هم به دانستن مقدار

برای مقابلده بدا شکسدت احتمدالي تحلیدل پایدداری در مدوارد بحراندي کده Kو 1L(، انتخاب مناسب 57)

yy k باشد.اتفاق بیفتد مفید مي

Page 27: report

صبیفازی عکنترلر طراحی

24

( دو فداکتور مهدم عبارتندد از بدردار 48ی )در رابطده scی ایدار کننده: با تحلیل قانون کنترلي پ9مالحظه

( قابدل 46. همان گونه که در رابطه )eqو بردار گشتاور کنترلي مجازی eها خطای تعقیب موقعیت مفصل

3از eqمشاهده است بردار 1 2ˆ ˆˆ , , , ,z z x e e ( مشدتق بدردار 47( و )45تشکیل شده است. بدر اسداس روابدط )

3نسبت به بردارهای eی تعقیب یعني زده شدهخطای تخمین 1 2ˆˆ , ,z z x هدای اسدت. در حالدت کلدي ورودی

FNN هدای شوند زیرا با افزایش تعداد ورودیتا حد ممکن کوچک انتخاب ميFNN سدایز شدبکه عصدبي

و eای فوق و کاهش سایز شبکه بردارهای های رابطهیابد. با در نظر گرفتن تحلیلفازی به شدت افزایش مي

e های شبکه به عنوان ورودیNNF گیرند.برای تقریب قانون کنترلي پایدار کننده مورد استفاده قرار مي

نتریج آزمریشگرهی

گذاری کارایي شمای کنترلي ارائه شده استتفاده شده است.از یک ربات دو لینکي مانند شکل زیر برای صحه

کنند به شرح زیدر مي کار DCجزییات پارامترهای سیستم رباتیک که عملگرهای آن به وسیله سرووموتور

است.

پررلمتر مق لر لح

Page 28: report

صبیفازی عکنترلر طراحی

25

2kg m 53.7 10 1mJ

2kg m 41.47 10 2mJ

N ms 51.3 10 1mB

N ms 52 10 2mB

/Nm A 0.21 1TK

/Nm A 0.23 2TK

2.8 1aR

4.8 2aR

mH 3 1aL

mH 2.4 2aL

/ radVs 42.42 10 1EK

/ radVs 42.18 10 2EK

mm 205 1tl

mm 210 2tl

mm 154.8 1cl

mm 105 2cl

kg 3.55 1m

kg 0.75 2m

2/m s 9.8 g

- 60 1rg

- 30 2rg

باشند. هددف کنتدرل در جدول فوق مربوط به اولین و دومین موتور عملگر یا لینک مي 2و 1های زیرنویس

تنظیم و کنترل زوایای مفاصل ربات برای تولید یک مسیر سینوسي بدوده و سیسدتم عصدبي فدازی شدمای

Page 29: report

صبیفازی عکنترلر طراحی

26

AFNNVSC ورودی، عضویت، هاینورون در الیه 2و 81، 12، 4ارائه شده در این مساله به ترتیب دارای

N(negative)های فازی مربوطه برای هر سیگنال ورودی به سه دسته باشد. مجموعهقوانین و خروجي مي

،Z(zero) وP(positive) شوند. به عبارت دیگر در این مساله با توابع عضویت گوسین در نظر گرفته مي

4b ،1 2 3 4 3p p p pn n n n ،12rn 81وyn 2بوده وn باشد. تعداد توابدع عضدویت یدا مي

قوانین مرتبط است. در حالت اتصداالت های سیستم به اندازه پایگاه دادهبا در نظر گرفتن ورودی pbnهمان

2قوانین از رابطه کامل، تعداد کلي

1

n

y pbbn n

گردد. اگر انتخاب تعداد قوانین بدیش از حدد محاسبه مي

کم باشد ممکن است موجب عملکرد رو به زوال شبکه گردد در حالي که خصوصیات کنترلي بداال بدا تعدداد

ین تعداد توابع عضویت به یابي است. بنابراتری قانون به بهای سنگین شدن هزینه محاسباتي قابل دستبیش

گردد. برای تخمین پارامترهای طور معمول با یک مصالحه بین حجم محاسبات و عملکرد کنترلي انتخاب مي

گدردد. بدرای نمونده مقددار معموال از فرآیندهای کاوشي بر مبنای سعي و خطدا اسدتفاده مي FNNی اولیه

محاسدبه گردندد. تداثیر leتوانند بر مبنای بیشدینه تغییدرات میانگین و انحراف استاندارد توابع گوسین مي

گردد.های غیرمناسب برای پارامترهای اولیه با استفاده از متد آموزش آنالین بازیابي ميانتخاب

ئه شده، کنتدرل تناسدبي انتگرالدي دیفرانسدیلي ارا AFNNVSCبرای نشان دادن برتری عملکرد کنترلي

(PIDC) و نتایج کنترل گشتاور محاسدبه شدده(CTC) [6 کنتدرل ،]T-FNNC از ندوعTSK [7 و ]

گرددقانون کترلي به صورت زیر بیان مي PIDCگردند. در کنترل [ نیز بررسي مي6] RNFNCکنترل

(64) p i d

0K (t) K ( ) K ( )

t

t e e t dt e t

dکه در آن i pK ,K ,K باشند. مقدادیر عدددی های تناسبي، انتگرالي و دیفرانسیلي ميبه ترتیب ماتریس بهره

باشند.ها در این کنترل به صورت زیر ميبهره

1 2 3

600 0 550 0 450 0, ,

0 600 0 500 0 400

4500 0 1000 0 50 0 100 0, , ,

0 4300 0 350 0 50 0 50

0.19 , 0.02 , 0.03 , 10 , 1 , 1

p i d

w m s w m s

L L L

K K K K

b b b

1های الزم به ذکر است که بهره 2 3, ,L L L وK اند که با در نظر گدرفتن محددودیت ای انتخاب شدهبه گونه

روی تالش کنترلي، ملزومات پایداری و شرایط عملکردی ممکن، عملکرد کنترلي گذرای بهتری در آزمدایش

pحاصل گردد. طراحي i dK ,K ,K با مصالحه بین عملکرد کنترلي بهتر و محدود نمودن مقدار تالش کنترلي

Page 30: report

صبیفازی عکنترلر طراحی

21

)های آموزش پذیرد. انتخاب نرخصورت مي , , )w m s با نرخ همگرایي بردار خطای حالت در ارتباط است

)و مقدار کران پارامترها , , )w m sb b b گردندد. بدرای با توجه به محدوده معقول برای ضرایب شبکه انتخاب مي

گرددبه صورت زیر تعریف مي (MSE)گین مقایسه عملکرد کنترل خطای مجذور میان

(65)

2

1

1MSE ( ) ( )

T

i di

r

q r x rT

( مقددار 93باشدند. طبدق رابطده )مي dxو qعناصر بدردار dixو iqگیری، کل لحظات نمونه Tکه در آن

خطای مجذور میانگین نرمال تعقیب موقعیت با استفاده از یک مقدار واخد با یک درجه برای بررسي عملکرد

گیرد.نترل مورد استفاده قرار ميک

باشد.( به صورت زیر مي97( و )96های روابط )جزئیات عناصر بردارها و ماتریس

1 1

21 1 1 1 1 1

22 2 2 2

2 2 2 2

21 11 1

1 222 22 2

2 211 12 1 1 2 1 2 2

21 22

0 00

, ,0

0 0

00, ,

00

M MM( )

M M

a a

r T r T r mn n n

a a r m

r T r T

E rr mn En t t t

E rr m

c t c

L R

g K g K g JL R J

L R g J

g K g K

K gg BB K

K gg B

m l m l m lq

2 2

2 1 2 2 2 2 2 1 2 2

2 2

2 2 2 1 2 2 2 2

2 1 2 2 2 2 1 2 2 1 2

2 1 2 2 1

1 1 1 2 1 1 2 2 1 2

2 cos( ) cos( )

cos( )

sin( ) sin( )( )C( , )=

sin( ) 0

cos( ) cos( ) cos( )( )

t c c t c

c t c c

t c t c

t c

c t c

m l l q m l m l l q

m l m l l q m l

m l l q q m l l q q qq q

m l l q q

m gl q m gl q m gl q qg q

2 2 1 2cos( )cm gl q q

باشند.و روابط باال به شرح زیر مي ربات پارامترهای نشان داده شده در شکل

پارامتر تعریف

iزاویه مفصل iq

iجرم لینک im

iطول کامل لینک til

iطول مرکز جرم لینک cil

Page 31: report

صبیفازی عکنترلر طراحی

28

g شتاب گرانش زمین

iثابت گشتاور موتور TiK

iممان اینرسي موتور miJ

iضریب میرایي پیچشي موتور miB

iاندوکتانس آرماتور موتور aiL

iمقاومت آرماتور موتور aiR

iبرگشتي موتور EMFضریب EiK

iولتاژ آرماتور ورودی موتور موتور ti

باشد.مربوط به لینک یا موتور دوم مي 2مربوط به لینک یا موتور اول و زیرنویس 1ها زیرنویس که در آن

:1لثبرت تئوری

Vبا تعریف یک کاندیدای تابع لیاپانوف R به صورت زیر

(66) 1 1 1 1 1( , , , , ) tr(WW )+ +

2 2 2 2 2

T T T T T

w m s

V e p W m s e e p p m m s s

گیری از رابطه باال نسبت به زمانباشد. با مشتقمي (trace)اپراتور تریس (.)trکه در آن

(67) 1 1 1ˆ ˆ ˆtr(WW )T T T T T

w m s

V e e p p m m s s

1با استفاده از تعاریف 1 1z x x 1وˆ ˆ

de x x 1توان بردار خطای تعقیب موقعیت مفاصل )مي de x x )

1را به صورت ˆe e z 1و مشتق آن را به صورت

ˆe e z ( را مي67بازنویسي نمود. همچنین رابطه ) توان

1با استفاده از فرمول 1ˆ

de x z x .به صورت زیر نوشت

(68) 1 1

1 1 1ˆˆ ˆ ˆ( ) tr(WW )T T T T T

d

w m s

V e x z x p p m m s s

(:68در ) (47)با جانشین نمودن رابطه

(63)

1

1 1 2 3 eq 2 1 eqˆ ˆ ˆL ( L ) [ ]

1 1 1ˆ ˆ ˆtr(WW )

T T

d t

T T T

w m s

V e x x z p z x p

m m s s

Page 32: report

صبیفازی عکنترلر طراحی

29

شود( به صورت زیر بازنویسي مي63( رابطه )57( و )48( و )47با استفاده از روابط )

(71) 1

1

1 1 1ˆ ˆ ˆL K sgn( ) tr(WW )T T T T T T T

y

w m s

V e e p p p k p p m m s s

شود( نتیجه مي71( در )61با جانشین نمودن )

(71)

1

1L K sgn( )

1 1 1ˆˆ ˆ ˆtr(WW ) W W W

T T T T

y

T T T T T T

m s

w m s

V e e p p k p p p y

p l m p l m s p l s

1بدددددددددددددا تعریدددددددددددددف ˆˆtr(WW ) WT T

w

w

V p l

ˆ WT T

m m

m

V m p l m

و

1ˆ WT T

s s

s

V s p l s

گردد.( به صورت زیر بازنویسي مي71رابطه )

(72) 1

1L K sgn( )T T T T

y w m sV e e p p k p p p y V V V

شود کده، اگدر بدردار ( به این صورت پیگیری مي69( تا )61[ در روابط )4ی اصلي الگوریتم پروجکشن ]ایده

پارامتر درون مجموعه مقید شده یا روی مرز آن باشد ولي جهت حرکت آن به سمت درون مجموعده باشدد

(( از یک قانون تطبیقدي سداده بدر مبندای روش سدنتز لیاپدانوف 69( تا )61های )در فرمول a)مانند روابط

ر پارامتر روی مرز مجموعه مقید بدوده و جهدت حرکدت آن بده سدمت گردد. در صورتي که بردااستفاده مي

گدردد ی معدین تصدویر مي(( بردار گرادیان روی ابرصدفحه69( تا )61های )در فرمول bبیرون باشد )روابط

ˆ*بنابراین از o w ow b w ،*ˆ

mm b m و*ˆss b s گردد.ياستفاده م

به صدورت wV( استفاده گردد، 61مانند رابطه ) FNNهای خروجي در صورتي که قوانین تطبیق برای وزن

زیر نشان داده خواهد شد:

(-61aاز )

(79) 0 1

1 ˆ ˆ ˆˆtr(WW ) W ( ) W 0n

T T T

w o o

w

V p l p w l p l

(-61b)از

Page 33: report

صبیفازی عکنترلر طراحی

21

(74)

2*

0 1

2*

0 1

1 ˆ ˆ ˆˆ ˆ ˆ ˆ ˆtr(WW ) W ( ) I- / W

ˆˆ ˆ ˆ ˆ( ) /

nT T T T

w o o o o o o

w

nT

o o o o o o

V p l p w w w w w l p l

p w w w w w l

*که در آن ˆo o ow w w و*

ow بردار بهینه پدارامترow وˆow بدردار تخمیندي از*

ow اسدت. بدا اسدتفاده از

*ˆo w ow b w شرط 2 22* * *ˆ ˆ ˆ ˆ0.5 0T

o o o o o o ow w w w w w w باشدد. بندابراین برقرار مي

0wVتوان نتیجه گرفت که مي .

بده mV( طراحدي گدردد 62در صورتي که قانون تطبیق برای مقدار میانگین توابع گوسین به صورت رابطه )

صورت زیر بازنویسي خواهد شد:

(-62aاز )

(75) ˆ( / W ) 0T T

m m mV m p l m

(-62bاز )

(76) 2

2

ˆ ˆW W W

ˆ

ˆˆW

ˆ

TT T T

m m m m

TT

m

mmV p l p l p l m

m

m mp l m

m

ˆ*با استفاده از mm b m شرط 2 22* * *ˆ ˆ ˆ ˆ0.5 0Tm m m m m m m باشد. برقرار مي

0mVتوان نتیجه گرفت که بنابراین مي .

( طراحي گدردد 69گوسین به صورت رابطه )در صورتي که قانون تطبیق برای مقدار انحراف استاندارد توابع

sV :به صورت زیر بازنویسي خواهد شد

(-69aاز )

(77) ˆ( / W ) 0T T

m s sV s p l s

(-69bاز )

Page 34: report

صبیفازی عکنترلر طراحی

21

(78) 2

2

ˆˆW W W

ˆ

ˆˆWˆ

TT T T

s s s s

TT

s

ssV p l p l p l s

s

s sp l s

s

ˆ*با استفاده از ss b s شرط 2 22* * *ˆ ˆ ˆ ˆ0.5 0Ts s s s s s s باشد. بنابراین برقرار مي

0sVتوان نتیجه گرفت که مي .

abبا توجه به نامساوی a b ( به صورت زیر بازنویسي مي72رابطه )گردد

(73)

1

1

1

1

1

1

1

1

sgn( )

sgn( ) sgn( )

sgn( )( )

T T T T

y

T T T T

y

T T T

y

T T

V e L Ke p p k p p p y

e L Ke p p k p p p p y

e L Ke p p p p k y

e L Ke p p

)بدددا توجددده بددده اینکددده ( ), ,W, , ) 0V e t p m s باشدددد کددده یدددک تدددابع منفدددي نیمددده معدددین مي

( ( ), ,W, , ) ( (0), ,W, , )V e t p m s V e p m s که ایدن بیدانگر کرانددار بدودن .( ), ,W, ,e t p m s باشدد. بدا مي

1تعریف تابع

1( ) T Th t e L Ke p p V گیری از آن نسبت به زمان خواهیم داشتو انتگرال

(81) 0

( ) ( (0), ,W, , ) ( ( ), ,W, , )t

h t dt V e p m s V e t p m s

)با توجه به کراندار بودن (0), ,W, , )V e p m s و غیرصعودی و محدود بودن( ( ), ,W, , )V e t p m s نتیجه زیر

گرددحاصل مي

(81) 0

lim ( )t

th t dt

)همچنین از کراندار بودن )h t توان با استفاد ه از لم ميBarbalat [8نشان داد که 3و ]lim ( ) 0t

h t

که .

)دهد که این نشان مي )e t وp 1کنند. با اسدتفاده از روابدط نهایت به صفر میل ميدر زمان بيˆe e z و

1ˆe e z 1ی توان رابطهمي 1 1 1

ˆ ˆ ˆ ˆe e e e z z e e z z را به دست آورد. هنگامي که بدردار

نیدز در زمدان 1zو eتوان نتیجه گرفت که به صفر میل کند، مي eها یعني خطای تعقیب موقعیت مفصل

ˆکنند زیرا نهایت به صفر میل ميبي ˆe e 1و 1z z را 1برابر صفر خواهند بود کده ایدن اثبدات تئدوری

نماید.تکمیل مي

Page 35: report

صبیفازی عکنترلر طراحی

22

پیاده سازی در محیط متلب 4.4

این مقاله در اینجا چون تعداد قوانین این مقاله توضیح داده شده در باال زیاد بود متلدب بدا سازیبرای پیاده

اسدت پیداده [1]که تقریبا مثدل همدین مقالده [10]شد به دلیل برای مقاله ه دچار ميمشکل کمبود حافظ

مقاله عینا مثل توضیحات،روش بدست آورد قوانین تطبیق این دو سازی شده است ) الزم به توضیح است که

باشند فقط تعداد قوانین این مقاله کمتر است و قابل پیاده سازی برای سیستم ما(.هم مي

-.)برنامه مربوط به این بخدش در فایدل .باشدسیستم کشیده شده در نرم افزار سیمولینک به صورت زیر مي

قرار دارد.(. RNFNCهای ارائه شده سیمولینک

طور که در گزارش آورده شدده اسدت مدا بدرای ایدن .همانآورده شده است 1ست کد مربوط به پلنت در پیو

باشد:به صورت زیر مي سیمولینک مربوط به این بلوکسیستم اغتشاش و اصحکاک هم داشتیم که

Page 36: report

صبیفازی عکنترلر طراحی

22

شود.ها استفاده ميبرای گرفتن خروجي scoupبلوک

Page 37: report

صبیفازی عکنترلر طراحی

24

باشد.مياستفاده شده به صورت زیر کنترليمدار مربوط به بلوک

Page 38: report

صبیفازی عکنترلر طراحی

25

هآورده شدد 2برنامه مربوط بده ایدن تدابع در پیوسدت باشد.سازی قوانین تطبیق ميتازه اول مربوط به تابع

)که بده دلیدل حجدم زیداد در اینجدا آورده باشدتابع دوم یا پاییني نیز مربوط به شبکه عصبي فازی مياست.

.برنامده مربدوط بده باشدد مدي Lm,Lsها ژاکدوبین که برای ساختن آن نیاز به ساختن ماتریس نشده است(

.آورده شده است 9و پیوست L_m_and_L_sبرنامه های ژاکوبین در ساختن این ماتریس

باشد:ورودی به سیستم فازی عصبي به صورت زیر ميشماتیک مربوط به سازنده خطای

Page 39: report

صبیفازی عکنترلر طراحی

26

شبیه سازی هانتایج بدست آمده در 4.5

رادیان استفاده شده است. 1.5ها از یک ورودی سینوسي با دامنه سازیدر اینجا برای انجام شبیه

باشدددددد.ردیدددددابي مربدددددوط بددددده موقعیدددددت لیندددددک اول بددددده صدددددورت زیدددددر مدددددي

باشد.که حالت بزرگ شده آن به صورت زیر مي

Page 40: report

صبیفازی عکنترلر طراحی

21

ردیابي برای لینک دوم به صورت زیر در آمد است.

:باشدحالت بزرگنمایي شده این لینک نیز به صورت زیر مي

Page 41: report

صبیفازی عکنترلر طراحی

28

قبولي انجام شده است.شود ردیابي به صورت کامل با خطای قابل های باال دیده ميهمانطور که از شکل

.باشدبه صورت زیر ميها برای هر یک از این لینکخطای مربوط به این سیستم

-ها نسدبت بده سدیگنال اصدلي بسدیار کدم مديشود خطای مربوط به هر یک از لینکهمانطور که دیده مي

شود کمتر ثانیه اعمال مي 1ها برای زماني که سیگنال سینوسي در لحظه .حتي خطای هر یک از لینکباشد

باشد.رادیان مي 1.12از

Page 42: report

صبیفازی عکنترلر طراحی

29

را بر روی این سیستم اجدرا PDاینکه این روش کنترلي را با یک روش دیگر مقایسه کنیم یک کنترلر برای

باشد. ) برنامه مربدوط دیم که نتیجه آن به صورت زیر ميکردیم و آن را با خطای کنترلر خودمان مقایسه کر

آورده شده است.( PDدر فایل سیمولینک PDبه کنترلر

باشند.توابع عضوت ما به صورت زیر مي m,sدر انتها نحوه همگرایي و به روز شدن پارامترهای

Page 43: report

صبیفازی عکنترلر طراحی

41

Page 44: report

طراحی و ساخت انیمیشن

41

simmechساخت انیمیشن ربات در محیط .5

سازی شد و فایل آن در شبیه MATLabنرم افزار simmechساختار ربات نیز با استفاده از ابزار

.Manipulator slx سازی شده را مشاهده کرد.توان ربات شبیهمي 7 شکلقابل دسترسي است. در

.simmechسازی ربات دو درجه آزادی در محیط . شبیه7 شکل

است . که به دلیل حجم باالی آن قابدل ارسدال در ضمن فیلم مربوط به کار این شبیه سازی نیز آماده شده

باشد .نمي

Page 45: report

طراحی و ساخت انیمیشن

42

منابع و مراجع

Wai, R-J., et al. "Adaptive fuzzy-neural-network velocity sensorless

control for robot manipulator position tracking." Control Theory &

Applications, IET 4.6 (2010): 1079-1093. [1]

Wai, R-J., and Rajkumar Muthusamy. "Design of Fuzzy-Neural-Network-

Inherited Backstepping Control for Robot Manipulator Including

Actuator Dynamics." Fuzzy Systems, IEEE Transactions on 22.4 (2014):

709-722.

[2]

Sherif Kamel, H., et al. "A Fuzzy Logic Controller for a two link

Functional MAnipulator." International Journal of Computer Networks

and Communications. [3]

Wang, Li-Xin. A course in fuzzy systems. Prentice-Hall press, USA, 1999. [4]

Lin, Chin-Teng, and CS George Lee. "Neural fuzzy systems." PTR

Prentice Hall (1996). [5]

Wai, Rong-Jong, and Po-Chen Chen. "Robust neural-fuzzy-network

control for robot manipulator including actuator dynamics." Industrial

Electronics, IEEE Transactions on 53.4 (2006): 1328-1349. [6]

Wai, Rong-Jong, and Po-Chen Chen. "Intelligent tracking control for

robot manipulator including actuator dynamics via TSK-type fuzzy neural

network."Fuzzy Systems, IEEE Transactions on 12.4 (2004): 552-560. [7]

Åström, Karl J., and Björn Wittenmark. Adaptive control. Courier

Corporation, 2013. [8]

Khalil, Hassan K., and J. W. Grizzle. Nonlinear systems. Vol. 3. New

Jersey: Prentice hall, 1996. [9]

Wai, R. J., & Chen, P. C. (2006). Robust neural-fuzzy-network control for

robot manipulator including actuator dynamics. Industrial Electronics,

IEEE Transactions on, 53(4), 1328-1349.

[10]

Page 46: report

طراحی و ساخت انیمیشن

42

:پیوست

کدهای مربوط به شبیه سازی ها

:1پیوست

function [dx1,dx2,dx3] = fcn(vt,x1,x2,x3,nd,ddx2)

% parameters value

jm1=3.7*10^-5;

bm1=1.3*10^-5;

kt1=0.21; jm2=1.47*10^-4;

bm2=2*10^-5;

kt2=0.23; ra1=2.8;

la1=3/1000;

ke1=2.42*10^-4; ra2=4.8;

la2=2.4/1000;

ke2=2.18*10^-4; lt1=205/1000;

lc1=154.8/1000;

m1=3.55; lt2=210/1000;

lc2=105/1000;

m2=0.75; g=9.8;

gr1=60;

Page 47: report

طراحی و ساخت انیمیشن

44

gr2=30;

q1=x1(1,1);

q2=x1(2,1);

q=[q1;q2]; dq1=x2(1,1);

dq2=x2(2,1);

dq=[dq1;dq2]; dddq=[0;0];

dddq=ddx2; tau1=x3(1,1);

tau2=x3(2,1);

tau=[tau1;tau2]; % inertia matrix of robot

M11=m1*(lc1^2)+m2*(lt1^2)+m2*(lc2^2)+2*m2*lt1*lc2*cos(q2);

M12=m2*(lc2^2)+m2*lt1*lc2*cos(q2);

M21=M12;

M22=m2*(lc2^2); M=[M11 M12;M21 M22]; % matrix of centripetal and coriolis force

C11=-m2*lt1*lc2*sin(q2)*dq2;

C12=-m2*lt1*lc2*sin(q2)*(dq1+dq2);

C21=m2*lt1*lc2*sin(q2)*dq1;

C22=0; C=[C11 C12;C21 C22]; % gravity

g1=m1*g*lc1*cos(q1)+m2*g*lt1*cos(q1)+m2*g*lc2*cos(q1+q2);

g2=m2*g*lc2*cos(q1+q2); g_q=[g1;g2]; % other matrix

Ln=[la1/(gr1*kt1) 0;0 la2/(gr2*kt2)];

Page 48: report

طراحی و ساخت انیمیشن

45

Rn=[ra1/(gr1*kt1) 0;0 ra2/(gr2*kt2)];

Jn=[(gr1^2)*jm1 0;0 (gr2^2)*jm2];

Bn=[(gr1^2)*bm1 0;0 (gr2^2)*bm2];

Ken=[ke1*gr1 0;0 ke2*gr2]; Omega_r=inv(M)*(-C*dq-g_q-nd+(eye(2)-M)*tau); dx1=x2;

dx2=Omega_r+x3;

ddq=dx2;

Omega_A=inv(Ln)*(-Ln*Jn*dddq-(Rn*Jn+Ln*Bn)*ddq-(Rn*Bn+Ken)*dq-

Rn*tau+(eye(2)+Ln)*vt);

dx3=Omega_A-vt;

:2پیوست

function [dw_hat1,dw_hat2,dm_hat,ds_hat] =

fcn(e,w_hat1,w_hat2,L_hat,L_m,L_s,m_hat,s_hat)

%% positive learning rates

%main param is a1=1500; a2=0.9; a3=0.9;

a1=1500;

a2=0.9;

a3=0.9; %% positive parameter bounds

% main param is b_omega=10; b_m=1; b_s=1;

b_omega=10;

b_m=1;

b_s=1; %% update law

e1=e(1,1);

e2=e(2,1); W_hat=[w_hat1 w_hat2]';

Page 49: report

طراحی و ساخت انیمیشن

46

if norm(w_hat1)<b_omega || (norm(w_hat1)==b_omega &&

(e1*w_hat1'*L_hat)<=0)

dw_hat1=a1*e1*L_hat';

elseif norm(w_hat1)==b_omega && (e1*w_hat1'*L_hat)>0

dw_hat1=a1*e1*L_hat'-a1*e1*L_hat'*(w_hat1'*w_hat1)/norm(w_hat1)^2;

else

dw_hat1=zeros(1,25);

end

if norm(w_hat2)<b_omega || (norm(w_hat2)==b_omega &&

(e2*w_hat2'*L_hat)<=0)

dw_hat2=a1*e2*L_hat';

elseif norm(w_hat2)==b_omega && (e2*w_hat2'*L_hat)>0

dw_hat2=a1*e2*L_hat'-a1*e2*L_hat'*(w_hat2'*w_hat2)/norm(w_hat2)^2;

else

dw_hat2=zeros(1,25);

end

if norm(m_hat)<b_m || (norm(m_hat)==b_m && e'*W_hat*L_m*m_hat<=0)

dm_hat=a2*(e'*W_hat*L_m)';

elseif norm(m_hat)==b_m && e'*W_hat*L_m*m_hat>0

dm_hat=a2*(e'*W_hat*L_m)'-

a2*(e'*W_hat*L_m*(m_hat*m_hat'/(norm(m_hat)^2)))';

else

dm_hat=zeros(10,1);

end

if norm(s_hat)<b_s || (norm(s_hat)==b_s && e'*W_hat*L_s*s_hat<=0)

ds_hat=a3*(e'*W_hat*L_s)';

elseif norm(s_hat)==b_s && e'*W_hat*L_s*s_hat>0

ds_hat=a3*(e'*W_hat*L_s)'-

a3*(e'*W_hat*L_s*(s_hat*s_hat'/(norm(s_hat)^2)))';

else

% ds_hat=zeros(10,1);

ds_hat=a3*(e'*W_hat*L_s)';

end

Page 50: report

طراحی و ساخت انیمیشن

41

:9پیوست

clc

clear all

syms e1 e2

e=[e1 e2];'

syms m11 m12 m13 m14 m15 m21 m22 m23 m24 m25

m=[m11 m12 m13 m14 m15 m21 m22 m23 m24 m25]

syms s11

s12 s13 s14 s15 s21 s22 s23 s24 s25

s=[s11 s12 s13 s14 s15 s21 s22 s23 s24 s25]

np=5; % number of membership function

b=2; % number of input error

m1=reshape(m,5,2);'

s1=reshape(s,5,2);'

% counter=1;

% Mu_m=zeros (4،9);

for i=1:b

for j=1:np

Mu_m(i,j)=exp(-((e(i)-m1(i,j))^2)/(s1(i,j)^2));

% counter=counter+1

end

end

Page 51: report

طراحی و ساخت انیمیشن

48

w_m_r=1;

counter=1;

for i=1:5

for j=1:5

L(counter)=w_m_r* Mu_m(1,j)* Mu_m(2,i);

counter=counter+1;

end

end

L_m=jacobian(L',m);

L_s=jacobian(L',s);

Page 52: report

طراحی و ساخت انیمیشن

49