28
УНИВЕРЗИТЕТ У НИШУ МАШИНСКИ ФАКУЛТЕТ ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА Семинарски рад Ниш. 2015. Предметни наставници: Студент: проф. др Жарко Ћојбашић проф. др Љиљана Радовић Лазар Лазаревић (бр. индекса: У47/14)

Inteligentno Racunarsko Upravljanje Seminarski Rad

Embed Size (px)

DESCRIPTION

Seminarski rad iz inteligentnog racunarskog upravljanja

Citation preview

Page 1: Inteligentno Racunarsko Upravljanje Seminarski Rad

УНИВЕРЗИТЕТ У НИШУ

МАШИНСКИ ФАКУЛТЕТ

ИНТЕЛИГЕНТНО РАЧУНАРСКО

УПРАВЉАЊЕ И РОБОТИКА

Семинарски рад

Ниш. 2015.

Предметни наставници: Студент:

проф. др Жарко Ћојбашић проф. др Љиљана Радовић

Лазар Лазаревић (бр. индекса: У47/14)

Page 2: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

1

SEMINARSKI RAD IZ PREDMETA “INTELIGENTNO RAČUNARSKO UPRAVLJANJE I ROBOTIKA”

Kandidat: Lazar Lazarević br. ind. U47/14 tel. 063/ 8081065 S a d r ž a j s e m i n a r s k o g r a d a : Deo A.1: Definisati meki račun, fazi sisteme, fazi logiku, teoriju fazi skupova, neuro mreže i genetske algoritme, navodeći izvore i literaturu odakle su preuzete definicije (2 strane). Deo A.2: U Matlabu kreirati neuro mrežu koja aproksimira funkciju dve promenljive na opsegu [-3,3] za obe promenljive. Podatke za obučavanje mreže kreirati tačnim izračunavanjem vrednosti funkcije na zadatom opsegu sa korakom promenljivih 0.2. Opisati postupak i dobijeno rešenje (3 strane). Za istu funkciju i na istom opsegu genetskim algoritmom u Matlabu pronaći globalni minimum funkcije, pa opisati postupak i dobijeno rešenje (3 strane). Funkcije su definisane u posebnom dokumentu. Deo B.1: Na osnovu knjige “Uvod u robotiku” M. Vukobratović (preuzeti sa https://db.tt/mu1iTYDD ) i inoviranjem sadržaja samostalnom pretragom drugih izvora (posebno koristiti knjigu “Handbook of robotics” https://db.tt/xYNTm7jo ) napraviti Power Point prezentaciju do 30 slajdova na temu zadatu u posebnom dokumentu. Prezentaciju odštampati u okviru seminarskog rada (4-6 slajdova po strani) i priložiti na CD medijumu.

NAPOMENA: Obim seminarskog rada treba da bude definisanog obima. Kandidat može

predmetnim nastavnicima predložiti zamenu dela sadržaja prema svojim afinitetima pod uslovom da se drži nastavnih sadržaja obrađenih u okviru predmeta. Kandidati su u obavezi da urađeni seminarski rad brane kroz razgovor sa predmetnim nastavnicima. Na ispitu je potrebno da imate uradjen seminarski rad koji ćete braniti, kao i da proučite prvih 150 strana (5 glava) iz knjige P Subašić 'Fazi logika i neuro mreže', koju preuzmite sa https://db.tt/FzCHrb1p tako da ste u stanju da razgovarate o sadržaju knjige bez učenja formula i izvodjenja napamet.

U Nišu, 17.03.2015.god. Predmetni nastavnici: ___________________________

p r o f . d r Ž a r k o Ć o j b a š i ć

p rof . d r L j i l j an a R ad ov i ć

E-mail: [email protected] Tel. 063/8351936

Page 3: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

2

САДРЖАЈ

САДРЖАЈ ................................................................................................................................................................. 2

ДЕО А.1 ..................................................................................................................................................................... 3

МЕКИ РАЧУН .................................................................................................................................................... 3

ФАЗИ СИСТЕМИ .............................................................................................................................................. 3

ФАЗИ ЛОГИКА ................................................................................................................................................. 4

ТЕОРИЈА ФАЗИ СКУПОВА .......................................................................................................................... 5

НЕУРО МРЕЖЕ ................................................................................................................................................ 6

ГЕНЕТСКИ АЛГОРИТМИ............................................................................................................................. 9

ДЕО А.2 ................................................................................................................................................................... 11

Креирање неуронске мреже функције две променљиве ........................................................ 11

Одређивање глобалног минимума функције генетским алгоритмом ............................ 18

ДЕО Б.1 ................................................................................................................................................................... 21

Сензори у роботици (PowerPoint презентација) ........................................................................ 21

ЛИТЕРАТУРА ...................................................................................................................................................... 26

СПИСАК СЛИКА ................................................................................................................................................. 27

Page 4: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

3

ДЕО А.1

МЕКИ РАЧУН У компјутерској науци, меко рачунарство (soft computing) је употреба непрецизних решења на рачунски тешким задацима, као што су решавање НП-комплетних (НП -Недетерминистичко Полинимијално време) проблема, за које не постоји познати алгоритам за израчунавање тачног решења у полиномијалном времену. Меко рачунарство се разликује од конвенцијалног (тврдог) рачунарства у томе што, за разлику од тврдог рачунарства, толерише непрецизност, неизвесност, делимичну истину и апроксимацију. У ствари, узор за меко рачунарство је људски ум. Решења меког рачунарства су непредвидива, непрецизна и између 0 и 1. Меко рачунарство је постало формална област изучавања компјутерских наука у раним деведесетим годинама прошлог века. Ранији рачунски приступи су могли да моделују и прецизно анализирају само релативно просте системе. Комплекснији системи који се развијају у биологији, медицини, хуманистичким наукама, менаџменту и сличним областима често су остајали недокучиви конвенционалним математичким и аналитичким методама. Треба истаћи да су једноставност и комплексност система релативни, и да су и многи конвенционални математички модели били захтевни, а уједно и веома продуктивни. Меко рачунарство се суочава са непрецизношћу, неизвесношћу, делимичном истином и апроксимацијом, како би постигло практичност, робусност и ниску цену решења. Као такво, оно чини основу значајном броју техника машинксог учења. Постоји основна разлика између меког рачунарства и вероватноће. Вероватноћа се користи када немамо довољно информацијада би решили проблем, а меко рачунарство се користи када немамо довољно информација о проблему. Ове врсте проблема потичу из људског ума са свим својим сумњама, субјективносима и емоцијама; пример може бити одређивање одговарајуће температуре собе, како би се људи осећали пријатно. Меко рачунарство представља комплементарни и синергистички скуп рачунарских методологија око фази логике, неуро-рачунарства, генетичког рачунарства и пробабилистичког рачунарства. Области од интереса за ове методологије унутар меког рачинарства су:

- Фази логика: апроксимативно закључивање, гранулација информација, рачунање

речима;

- Неуро-рачунарство: учење, адаптација, класификација, моделирање и

идентификација система;

- Генетско рачунарство: синтеза, подешавање параметара и оптимизација путем

систематског случајног претраживања и еволуције;

- Пробабилистичко рачунарство: Обрада неизвесности, пробабилистичке мреже,

предвиђање, системи засновани на хаосу.

ФАЗИ СИСТЕМИ Експертни системи вештачке интелигенције су ланци знања повезани међусобним правилима. Претраживање, током закључивања, одвија се у свим правцима и грана се кроз структуру базе знања, налик дрвету, и што се дубље претражује, расте и ширина „дрвета“. Ови системи су неитерактивни.

Page 5: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

4

Фази системи немају велики број разгранатих правила, али су потпуно итерактивни. Свако правило за закључивање, само за себе, представља фази експертни систем, али у некој мери, тј. са неким степеном значаја. Фази закључивање оцењује важности свих чињеница различитим степеном припадности, у интервалу од 0 до 1. При томе се не користе правила при доношењу закључака, већ принципи. У процесу фази закључивања одређује се са каквим степеном фази чињенице утичу на велики број неодређених принципа.Фази закључивање не може да се представи једном тачном зависношћу. Принципи имају димензију коју правила немају, димензију тежине или важности. Они зу назив за општију категорију која се карактерише са прилагођавањем и примењивањем нових правила. Правила само одређују тј. дефинишу резултате. Када се јави неки неочекивани резултат, правило се напушта или мења. Принципи не раде на тај начин, они само наводе на закључке, али не коначно, и опстају непромењени све док не буду превазиђени. Сваки принцип дозвољава постојање читавог спектра изузетака. Сви принципи се држе заједно са неким степеном у свакој одлуци, баш као што сва фази правила доприносе до крајњег закључка или одлуке. У модерној теорији фази системи се називају и системи засновани на фази правилима. Фази правила показују како целина излазних величина може да зависи од целине улазних величина. Многе апликације захтевају само пар фази правила за веома прецизан и добар систем контроле или прорачуна. Фази систем захтева само делимично попуњену матрицу лингвистичких правила, што је неупоредиво једноставније од пројектовања и тренинга неуронских мрежа, где се захтева дефинисањенелинеарног динамичког система, довољног броја примера за тренирање мреже, и сам процес тренирања на основу динамичког система. Фази системи израчунавају вредности функција на основу фази правила, а неуронске мреже на основу тачака са нумеричким карактеристикама. Неке особине фази система су фази скупови, непрецизне вредности, делимично попуњена фази асоцијативна матрица и није потребно додатно обучавање система.1

ФАЗИ ЛОГИКА Људи имају изузетну способност да резонују и доносе одлуке у окружењу неизвесности, непрецизности, непотпуности информација, и пристрасности знању, истини и класној припадности. Главни циљ фази логике је формализација/механизација ове способности. Шта је фази логика? Да би одговорили на ово питање, упоредићемо овај приступ са конвенцијалном логиком. Основе класичне логике је учврстио још у античкој Грчкој Аристотел. Ова логика се заснива на јасним и прецизно утврђеним правилима, а почива на теорији скупова. Неки елемент може да припада неком скупу или да не припада. Скупови имају јасно одређене границе. Тако су овакви скупови, па са њима и логика, названи енглеском речи crisp, која има значење – јасан, бистар. Фази је енглеска реч која би могла да се преведе као магловито, нејасно, мутно. У фази логици није прецизно дефинисана припадност једног елемента одређеном скупу, већ се припадност мери у, рецимо, процентима. Фази логика је форма логике са више истинитосних вредности која се бави

1 Б. Анђелковић, Истраживање и развој нових метода за прорачун стезних склопова применом

неуронских мрежа и фази логике, Машински факултет, Ниш, 2009.

Page 6: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

5

апроксимативним више него фиксираним и тачним размишљањем. У поређењу са традиционалном бинарном логиком, где елементи могу имати тачну (1) и нетачну (0) вредност, елементи код фази логике могу имати вредности са степеном тачности између 0 и 1. Фази логика је проширена како би руководила концептом делимичне истине, где вредност истине може да се креће од потпуно тачне, до потпуно нетачне. Осим тога, када се користе језичке променљиве, ови степени се могу управљати одређеним функцијама.2 Фази логика, као основа фази система, омогућује доношење одлука на основу непотпуних информација. Овај концепт је пуно природнији него што се то на први моменат мисли. Наиме , постоје ситуације у којима није могуће знање о систему репрезентовати на апсолутно прецизан начин. Чак је више ситуација у којима морамо да користимо непрецизне констатације. На пример „Марко је висок човек“, „Онај аутомобил се приближава јако великом брзином“су непрецизне реченице, а ипак их свакодневно користимо. Да бисмо били у стању репрезентовати знање о оваквим системима морамо да се одрекнемо класичне (бинарне) логике у којој је нешто или тачно или нетачно (црно или бело) и да користимо фази логику („све је нијанса сиве боје“). Логику са више од два истинита исказа развио је пољски логичар Лукашијевич тридесетих година прошлог века, тиме што је увео исказ „делимично тачно“. А зачетником фази теорије, какву данас познајемо у технологији и инжењерству, сматра се професор Лотфи Зедех, који је у свом делу „Фази скупови“ увео појам фази логике, и отворио пут за примену логике са више истинитосних исказа. 3

ТЕОРИЈА ФАЗИ СКУПОВА Теорија фази скупова представља погодан математички апарат за моделирање различитих процеса у којима доминира неизвесност, вишезначност, субјективност, неодређеност, итд. Пре свега, теорија фази скупова омогућава третирање оних недовољно прецизних појава које се не могу моделирати само теоријом вероватноће или интервалном математиком. Према томе, неодређеност као појам може се посматрати кроз следеће категорије:

- Када дати услови који карактеришу појам не одређују јединствено очекивани

резултат, овакве појаве се обично моделирају теоријом вероватноће;

- Када није могуће (а није ни потребно) прецизно знати посматране вредности,

овакве неодређености се обично третирају интервалном математиком;

- Када неодређеност потиче од непрецизности у комуникацији међу људима

(нпр. Високи људи, ниска температура, слаба продаја), овакве неодређености

се моделирају теоријом фази скупова.

За разлику од класичне теорије скупова, која веома прецизно дефинише границу која раздваја елементе који припадају одређеном скупу од елемената који му не припадају (црне фигуре на шаховској табли, скуп играча једног фудбалског тима), код теорија фази скупова ова граница није прецизна (високи мушкарци, лепи аутомобили).

2 V. Novak, I. Perfilieva, J. Močkor: Mathematical principles of fuzzy logic, Kluwer Academic, Boston /Dordrecht,

1999. 3П. Субашић: Фази логика и неуронске мреже, Техничка књига, Београд, 1997.год

Page 7: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

6

Математички, фази скуп А се дефинише као скуп уређених парова xμA X, , где је Х

коначан скуп x1 + x2 + ... + xn, а A(x)функција припадности (+ означава унију, а не

математичку операцију сабирање). У теорији фази скупова, осим крајњих граница функција припадности може да узме и било коју другу вредност из затвореног интервала [0,1]. Према томе, дефинисани фази скуп А је уређени пар A=x, A(x), при чему је A(x) степен припадности елемента x скупу А. Уколико је A(x) веће, утолико има више истине у тврђењу да елемент х припада скупу А. Фази скуп А дефинисан на скупу Х се најчешће приказује у облику:

У случају да Х није коначан скуп, фази скуп А дефинисан на скупу Х се изражава као:

При чему симбол ∫нема значење интеграла. Овај симбол треба схватити као унију,

или набрајање бесконачно много елемената скупа Х.4

НЕУРО МРЕЖЕ Човек користи сложен „уређај“ за адаптацију. То је његов мозак. Просечан мозак садржи око 1011 неурона – ћелија које су повезане на веома сложен начин.

Нервна ћелија се састоји од тела, дендрита и аксона. Дендрити служе за прихватање сигнала од других неурона и представљају продужетке тела ћелије. Тело ћелије сакупља податке са више улаза. Аксон је један дугачак продужетак који преноси сигнал од тела ћелије до других неурона. Тачка контакта аксона једне ћелије и дендрита друге ћелије назива се синапса. Неке неуронске структуре су дефинисане на рођењу, док се други развијају учењем.

Слика 1. 1 Биолошка нервна ћелија

4 [3]

Page 8: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

7

Пошто су адаптација и учење неке од основних карактеристика интелигенције, истраживачи и научници су се заинтересовали како да и машине учине прилагодљивим променљивој околини.

На основу мозга човека и животиња, направљен је рачунарски модел вештачког неурона, међутим, по степену сложености појединачних неурона, а нарочито по броју и организацији вештачких неуронских мрежа, модели вештачких неурона и неуронских мрежа су далеко иза оних које постоје у мозгу.

Неуронска мрежа у рачунарским наукама представља веома повезану мрежу елемената који обрађују податке. Овакви системи су способни за прикупљање, меморисање и коришћење експерименталног знања. Неуронске мреже су у стању да изађу на крај са проблемима који се традиционалним приступом тешко решавају, као што су говор, и препознавање облика. Једна од важнијих особина неуронских мрежа је њихова способност да уче на ограниченом скупу примера.

Не постоји јединствена дефиниција неуронских мрежа, али, могу се дефинисати на следећи начин5:

Неуронска мрежа је систем састављен од више једноставних процесора (јединица, неурона), сваки од њих има локалну меморију у којој памти податке које обрађује. Те јединице су повезане комуникационим каналима (везама). Подаци који се овим каналима размењују су обично нумерички. Јединице обрађују само своје локалне податке и улазе које примају преко конекције. Ограничења локалних оператора се могу отклонити током тренинга.

Вештачке неуронске мреже су колекција математичких модела које симулирају неке од посматраних особина биолошкух нервних система и повлаче сличности са прилагодљивим биолошким учењем. Сачињене су од великог броја међусобно повезаних неурона (обрађујућих елемената) који су, слично биолошким неуронима, повезани својим везама које садрже пропусне (тежинске) коефицијенте, које су по улози сличне синапсама.

Учење се код биолошких система обавља путем регулисања синаптичких веза које повезују аксоне и дендрите неурона. Учење типичних догађаја путем примера се остварује преко тренинга или открића до тачних сетова података улаза/излаза који тренирају алгоритам понављањем, подешавајући пропусне коефицијенте веза. Ове везе меморишу знање потребно за решавање специфичног проблема.

Већина неуронских мрежа има неку врсту правила за „обучавање“, чиме се коефицијенти веза између неурона подешавају на основу улазних података. Другим речима, неуронске мреже „уче“ преко примера и поседују способност за генерализацију после тренинга.

Вештачки неурони, као и биолошки, имају једноставну структуру и имају сличне функције као и биолошки неурони. Тело неурона се назива чвор или јединица.

Вештачки неурон је једноставни елемент процесирања, који извршава једноставну математичку функцију. Улазне вредности у неурон приказане су са nxxx ,......, 21 , где је n

укупан број улаза у неурон. Свака улазна вредност се прво множи тежинским

5 [1]

Page 9: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

8

коефицијентом njwij ,......2,1, где је i редни број неурона у неуронској мрежи. Овако

помножене вредности се затим сабирају и добија се вредност ip :

n

j

jiji xwp

1

Ова се вредност користи као улаз у нелинеарну функцију , која зависи од параметра - прага активације. Ова зависност је најчешће таква да се одузима од ip и при том

се њихова разлика користи као улаз у нелинеарну функцију . Тако се добија вредност израза i - тог неурона:

n

j

jijii xwpy

1

Вештачке неуронске мреже имају паралелну дистрибуирану архитектуру са великим бројем чворова и веза. Свакој вези између два чвора придружена је тежински коефицијент.

Слика 1. 2 Модел вештачког неурона

Од вредности параметра зависи излаз функције неурона тако што се вредност функције мења на вредност 1 ако сума вредности улазних величина премаши праг активације. Тада се, обично каже, да је неурон активан.

Вредности тежинских фактора njwij ,......2,1, могу да се мењају тј. прилагођавају

улазним и излазним подацима како би се постигла минимална грешка у односу на задате податке. Овај процес прилагођавања тежинских фактора се назива учењем тј. тренирањем неуронске мреже. Модел неуронске мреже

Неуронску мрежу чине:

Архитектура (топологија) мреже, односно начин повезивања неурона

Преносна функција неурнона

Закони учења

Архитектуру вештачке неуронске мреже представља специфично уређење и повезивање неурона у облику мреже. По архитектури, неуронске мреже се разликују према броју неуронских слојева. У пракси се најчешће примењују Multi – Layer мреже. Топологија неуронске мреже односи се на њену структуру и повезаност неурона.

Обично сваки слој прима излазне податке из претходног слоја, а своје излазе шаље наредном слоју. Први слој се назива улазни, последњи је излазни, остали слојеви се

Page 10: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

9

обично називају скривеним слојевима. Једна од најчешћих архитектура неуронских мрежа је са три слоја.

Структура мреже је одређена бројем нивоа и бројем чворова по нивоу. Постоје три нивоа:

Улазни ниво, чији неурони представљају улазне јединице мреже и који прилагођавају узорак за процесирање у мрежи;

Скривени ниво, чији чворови представљају скривене јединице мреже и обезбеђују нелинеарност мреже;

Излазни ниво, са излазним неуронима, који кодирају могуће вредности и придружују их узорку после анализе.

Као и њен биолошки узор, вештачка неуронска мрежа није способна да реагује на основу претходно дефинисане структуре мреже на њој непознати проблем. Неуронска мрежа мора да се обучи. Обучавање се врши на основу коначног броја познатих веза између улазних и излазних података. За неуронску мрежу се каже да је потпуно обучена тј. тренирана када је одговор мреже на улазни податак при обучавању у односу на очекивани излаз у жељеним границама одговарајуће толеранције грешке.

Слика 1. 3 Вишеслојна неуронска мрежа

Учење неуронске мреже се своди на учење из примера којих би требало да буде више да би мрежа могла да се понаша прецизније у каснијој експлоатацији. Процес учења доводи до кориговања синаптичких тежина. Када узорци који се представљају мрежи не доводе више до промене ових коефицијената, сматра се да је мрежа обучена. Постоје три типа обучавања:

Надгледано обучавање – мрежи се представљају улазни подаци и очекивани излазни подаци;

Обучавање оцењивањем -мрежи се не представљају очекивани излазни подаци него јој се после извесног времена представља оцена претходног рада. Један од примера је мрежа која учи да балансира штап. Кад год штап падне, мрежи се прослеђује оцена претходног рада, на пример, у облику угаоног одступања штапа од равнотеже.

Самоорганизација – мрежи се представљају искључиво улази.

ГЕНЕТСКИ АЛГОРИТМИ Генетски алгоритми су хеуристичка метода оптимизације која решава одређене рачунарске проблеме симулирајући механизам природне еволуције.

Page 11: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

10

Појам генетског алгоритма као модела предложен је 60-их година прошлог века од стране Џона Холанда, који је у своме делу „Адаптација у природним и вештачким системима“ (Adaptation in natural and artificial systems) проучавао моделе адаптивног понашања. Он је у свом раду предложио генетски алгоритам као рачунарски процес који имитира еволутивни процес у природи. Овај алгоритам се често назива прост генетски алгоритам или канонски генетски алгоритам. Прост генетски алгоритам користи бинарну репрезентацију, просту селекцију, укрштање са једном тачком прекида и просту мутацију. Прост генетски алгоритам је често био тема многих ранијих студија и још увек се користи као мерило за новије генетске алгоритме. Овај алгоритам има пуно мана:

- Бинарна репрезентација је сувише рестриктивна;

- Мутација и укрштање које користи могу да се примењују само за бинарне и

целобројне репрезентације;

- Селекција је осетљива на конвергирајуће популације са блиским вредностима

услова;

- Конвергенција ка решењу је јако спора.

За еволутивне процесе, као и за генетске алгоритме може се установити: - Постоји популација јединки;

- Неке јединке су боље прилагођене околини;

- Боље јединке имају већу вероватноћу преживљавања и репродукције;

- Особине јединки записане су помоћу генетског кода;

- Деца наслеђују особине родитеља;

- Јединке могу мутирати.

Код генетских алгоритама јединке представљају тренутне апроксимације решења проблема који се решава. Свака јединка се кодира и свакој јединки се придружује одређена мера квалитета – fitness, која се одређује помоћу функције циља. Приликом иницијализације генерише се почетна популација. Она се обично генерише случајним избором решења и домена. Дозвољено је да се почетно решење добијено неком другом методом оптимизације дода почетној популацији. Затим, следи процес који се понавља док год се не задовољи услов заустављања. Тај процес се састоји од извршавања генетских оператора селекције, укрштања и мутације. Осим процене квалитета која се мора обавити над јединкама, све операције генетског алгоритма се спроводе над кодираним јединкама. Вишеструком применом оператора селекције углавном лоше јединке изумиру, а боље остају и у следећем кораку се укрштају. Укрштањем се преносе особине родитеља на децу. Мутацијом се мењају особине јединки случајном променом гена. Један овакав поступак омогућује да из генерације у генерацију расте просечан квалитет популације.

Једна од примене генетског алгорима јесте решавање проблема оптимизације, што подразумева одређивање оптимума (минимума или максимума) реалне функције променљивих на унапред датим скупом. За одређивање променљивих за које је функција оптимална могу да се примене и класичне методе. Међутим, уколио функција има више локалних екстремума, класичне методе моделирања се увек крећу према локалном минимуму или максимуму, при чему он може бити глобални, што се не може одредити из резултата. Генетски алгоритми одређују положај гобалног оптимума у простору с више локалних екстремума.

Page 12: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

11

ДЕО А.2

Креирање неуронске мреже функције две променљиве Функција: z = x.*cos(x).*sin(y) MATLAB6 је окружење за нумеричке прорачуне и програмски језик који производи фирма MathWorks. MATLAB омогућава лако манипулисање матрицама, приказивање функција и фитовање, имплементацију алгоритама, стварање графичког корисничког интерфејса као и повезивање са програмима писаним у другим језицима.

MATLAB је скраћеница од „MATrix LABoratory“ („лабораторија за матрице“). Изумео га је касних 1970их Клив Молер(eng. Cleve Moler), шеф катедре за информатику на Универзитету „Нови Мексико“.

Процена је да преко милион људи запослених у индустрији и на универзитетима користиMATLAB.

MATLAB je могуће набавити заједно са Simulinkom као и бројним додацима.

Додаци су сврстани по следећим категоријама:

Математика и оптимизација

Статистика и анализа података

Контрола и анализа система

Процесирање сигнала и комуникација

Обрада слике

Тест и мјерења

Финансијско моделовање и анализа

Повезивање са другим апликацијама

Повезивање база података и извјештавање

Дистрибуирано рачунање

У Matlab програмском пакету користићемо се скриптама (.м фајловима) како би лакше манипулисали програмским кодом. На почетку креирамо скрипту за извршење задате функције (слика 2.1). Програмским кодом дефинишемо да функција има две улазне иједану излазну променљиву.

6 Интернет страница www.wikipedia.com 10.05.2015. год у 14:50 (CET)

Page 13: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

12

Слика 2. 1 Креирање функције „lazar.m“

Потребно је скрипту снимити у радни фолдер, под екстензијом „.m“, и на даље ће се све скрипте и варијабле снимати у исти фолдер, како би се могле позивати из командног прозора Matlabа.

Креирану функцију позивамо укуцавањем имена функције, и уношењем улазних параметара у загради (нпр. z= lazar(2,1); где z представља решење функције за улазне параметре 2 и 1).

Како бисмо имали појам о изгледу стварне функције на задатом опсегу променљивих, генерисаћемо графички приказ функције. То ћемо урадити тако што ћемо креирати квадратну матрицу, чија ће величина бити једнака броју променљивих на задатом опсегу (-3 до 3са кораком 0,2), а то је 31, a њени елементи ће бити решења функције „lazar“ за адекватне улазне променљиве.

Креирамо нову скрипту која садржи код као на слици 2.2, и снимимо је у радни фолдер под жељеним именом са екстензијом „.m“.

Слика 2. 2 Генерисање кода за графички приказ функције „lazar“

Page 14: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

13

Покретањем кода скрипте притиском на дугме “Run“, извршиће се више акција: - Дефинисаћемо помоћне матрице„pom1“ i „pom2“, на опсегу од -3 до 3 са кораком

0,2,

- дефинисаћемо помоћну матрицу за цртање графика, и

- позваћемо функцију „surf“ која служи за 3D приказ функција.

Задата функција на дефинисаном опсегу треба да изгледа као на слици 2.3.

Слика 2. 3 Изглед функције „lazar“ на опсегу [-3,3]

У радном простору Matlaba („workspace“) појавиће се дефинисане матрице (слика 2.4).

Слика 2. 4 Варијабле у одељку „worksace“

Пошто смо видели како задата функција треба да изгледа на задатом опсегу са задатим кораком променљивих, можемо приступити креирању неуро мреже.

Да би обучили неуро мрежу, потребно је да дефинишемо матрицу, која ће се састојати из скупа парова улаза и излаза задате функције (функције „lazar“),на опсегу од -3 до 3, са кораком 0,2.

Креирамо нову скрипту, којом ћемо дефинисати жељене променљиве. Скрипта треба да садржи код као на слици 2.5.

Page 15: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

14

Слика 2. 5 Креирање променљиве за обуку неуронске мреже

Покретањем скриптедобијамо матрицу „trening“ коју ћемо користити за тренирање неуро-мреже (слика 2.6).

Слика 2. 6 Елементи варијабле „trening“

Варијабла „trening“ је матрица од 961х3, код које су прве две колоне улазне променљиве, а трећа колона је решење функције lazarза вредности улазних променљивих из истог реда. Овако дефинисаном матрицом можемо обучити неуро-мрежу да апроксимира задату функцију.

ANFIS editor се користи за креирање, тренинг и тестирање Сугено фази система. Типично фази правило код Сугено фази модела има форму:

„Ако је х исто што и А, и у исто што и В, онда је z=f(x,y).“

Назив ANFIS је акроним, и потиче из имена Adaptive Neuro-Fuzzy Inference System. Користећи задати улазно/излазни скуп података, ANFIS формира фази систем закључивања (FIS) код којег су параметри функција чланица подешавани користећи

Page 16: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

15

алгоритам повратне пропагације или у комбинацији са методом најмање квадратне грешке. Овакав приступ омогућава да фази систем учи на основу података које моделира.

ANFIS editor се покреће тако што се у командном прозору укуца наредба „anfisedit“.

Слика 2. 7 Радно окружење ANFIS editora

Након уношења команде, отвара се прозор као на слици 2.7. У овом прозору уносимо параметре, тако што селектујемо training i worksp. па онда кликнемо на Load Data...У новоотвореном прозору унесемо име варијабле trening па кликнемо ОК.

Након ове акције, у ANFIS едитору ће се приказати 2D апроксимација функције која је направљена на основу података из матрице trening (слика 2.8 a)).

Слика 2. 8 а) 2D апроксимација функције „lazar“, б) креирање ФИС

Затим треба формирати структуру неуро мреже тако што генеришемо ФИС. Оптимални резултати се постижу ако се селектује Sub. clusteringи након клика на Generate FIS...у новоотвореном прозору оставимо подразумеване параметре (слика 2.8 б)).

Генерисањем ФИС-а на овај начин, добијамо структуру неуро-мреже дату на слици 2.9.

Page 17: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

16

Слика 2. 9 Изглед структуре креиране неуро мреже

Пошто смо креирали структуру, сада можемо да тренирамо неуро мрежу. Приликом тренирања, дефинишемо параметре – одступање од резултата, и број епоха тренирања. Желимо да нам грешка буде што ближа 0 (у идеалном случају једнака 0), а већим бројем епоха постижемо све мање одступање. Приказаћемо два случаја, са поређењем изгледа реалне функције и добијене апроксимације неуро мреже. У првом случају ћемо за број епоха ставити 2, и добијени резултати су приказани на сликама 2.10 а) б) в) и г)

Слика 2. 10 а) тренирање неуро реже, б) тестирање неуро мреже, в) изглед апроксимиране ф-је, г) изглед

реалне ф-је

Page 18: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

17

Видимо да је код тренинга остварена грешка од 0,3311 (а), а то је у овом случају значајна грешка, што се може видети код изгледа апроксимиране функције (в) у поређењу са изгледом реалне функције (г). Грешка приликом тестирања неуро мреже је била 0,32975, што се може видети на слици б), где црвени маркери означавају резултате тестирања неуро мреже у односу на плаве маркере, који представљају вредности реалне функције. У другом случају повећавамо број епоха на 300, и добијени резултати су приказани на сликама 2.11 а), б), в) и г).

Слика 2. 11 а) тренирање неуро реже, б) тестирање неуро мреже, в) изглед апроксимиране ф-је, г) изглед

реалне ф-је

Са слика можемо да закључимо да су резултати код другог случаја знатно бољи, и да је функција скоро верно апроксимирана. Грешка код тренинга је свега 0,012258, што би се повећањем епоха тренинга незнатно смањило, грешка тестирања је 0,012238, и видимо да су плави маркери готово идеално покривени црвеним, и на крају, изглед апроксимиране функције је много приближнији изгледу реалне функције. На овај начин смо успешно креирали неуро мрежу, која апроксимира реалну функцију. Са слике 2.11 а) можемо видети како се креће крива грешке у односу на број епоха. Приметимо да тежи нули, и да тежи засићењу. Међутим, извршавање 700 епоха тренирања, захтева доста времена, па, уколико нам резултати нису толико битни, можемо одабрати било који мањи број епоха, ако нам је остварена грешка допустива. На овај начин штедимо временски ресурс.

Page 19: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

18

Креирану неуро мрежу снимимо у радни простор тако што из менија file одаберемо опцију„export“, па онда „tо workspace“.У новоотвореном прозору доделимо неуро мрежи жељено име, и кликнемо ОК (слика 2.12).

Слика 2. 12 Снимање неуро мреже и поглед на варијабле у радном простору

Сада у радном простору имамо варијаблу „neunet“ коју можемо користити даље у програму. Један од начина на који можемо да користимо сачувану неуро мрежу јесте, да проверимо вредности за жељене улазне величине, и упоредимо их са вредностима реалне функције.

Слика 2. 13 Упоредни преглед резултата неуро мреже и реалне ф-је за исте улазне променљиве

На слици 2.13 видимо вредности неуро мреже и реалне функције за различите улазне параметре, и колика је разлика у решењима.

Одређивање глобалног минимума функције генетским алгоритмом Налажење глобалног минимума функције на датом опсегу, извршићемо ограниченом оптимизацијом помоћу генетског алгоритма. Како би ово урадили, потребно је претходно да раније генерисану функцију „lazar“променимо тако што ћемо уместо улазних варијабли х и у писати х(1) и х(2), и на тај начин генерисати нову функцију „lazar1.m“ (слика 2.14).

Page 20: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

19

Слика 2. 14 Креирање функције „lazar1.m“

За покретање програма за оптимизацију помоћу генетског алгоритма, у командном пољу куцамо „optimtool('ga')“ након чега се отвара нови прозор као на слици 2.15. У новоотвореном прозору уносимо име функције са префиксом @, a за број варијабли уносимо 2. Унесемо границе у којима ће се вршити оптимизација, и у пољуOptions, пронађемо plot functions, па штиклирамо опцијуBest fitness.

Слика 2. 15 Радно окружење програма за оптимизацију

Након што смо унели параметре, оптимизацију покрећемо кликом на дугме Start. Као резултат ове акције, добијамо вредност глобалног минимумакоја се аутоматски исписује у пољу испод дугмета Start, и та вредност је изражена као Objective function value.У пољу испод овог (Final point) налазе се вредности променљивих за које се добија глобални минимум функције.

Page 21: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

20

Слика 2. 16 Резултати оптимизације и графички приказ посупка оптимизације

Број у пољу current iterationозначава из колико итерација је генетски алгоритам нашао глобални минимум, а на графику који се генерисао могу се видети резултати после сваке итерације(слика 2.16). Црним тачкама су означена решења под најбољим условима, а плавим резултати под најгорим. Број итерација код налажења глобалног минимума зависи од постављених услова. У овом случају оптимизација се зауставила када је просечна промена вредности из услова постала мања од промене вредности из опција. Могуће је да се догоди да генетски алгоритам при сваком покретању да различите резултате. То се дешава јер генетски алгоритам користи генератор произвољних бројева при итерацијама.

Page 22: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

21

ДЕО Б.1

Сензори у роботици (PowerPoint презентација)

УНИВЕРЗИТЕТ У НИШУ

МАШИНСКИ ФАКУЛТЕТ

Интелигентно рачунарско управљање и роботика

Студент: Лазар Лазаревић Професор: др Жарко Ћојбашић

Сензори у роботици

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Шта су роботи?Робот (од чешког и словачког - роб,робота, у буквалном смислу рад) је електро-механичка

јединица која је у стању да аутономно, по неком програму, или под контролом човека изводи одређене задатке. Роботи се користе за извођење задатака опасних, тешких или

напорних за људе.

Роботски системи представљају средства комплексне

аутоматизације производних процеса чијом се употребом у потпуности може елиминисати ручни рад како при помоћним,

тако и при основним технолошким операцијама.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Шта су роботи?

Први роботи су били прости и била им је потребна асистенција човека у раду зато што нису имали имплементиране модуле за аквизицију и репродукцију информација о свом окружењу.

За неке класе задатака, међутим, било је потребно изостављање човека као активног учесника у раду, због природе самих задатака. Због тога се јавила потреба за аутоматизацијом процеса управљања роботима.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Управљање робота

Управљање роботског система било би релативно просто, када би постојао модел комплетног окружења и када би роботски актуатори могли да извршавају покрете перфектно у односу на тај модел. На жалост, у већини случајева, такав модел није доступан, и перфектно извршавање механичких покрета никада није реална претпоставка.Увођењем сензора, и коришћењем

информација које они дају у алгоритмима управљања, остварена је адаптивност робота околини. Улога сензора је да пруже информацију о стању околине и стању роботског система као основу за управљање, доношење одлуке и интеракцију са другим елементима из окружења, нпр. са људима.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Производња и примена сензора који дефинишу стање околине као иметоде обраде информација са ових сензора развијали су се паралелно сароботиком. Рани радови на тему перцепције робота претпостављали су дасе може направити један универзални модел за целокупно окружење.

Касније се успоставило да овакав приступније реалан. Наиме, посматрајући роботекоји се данас употребљавају у разноразнимапликацијама, јасно је да су потребни

посебни сензори иинформације о окружењукоје они дају за различитесистеме, и да величина којуобрађују зависе од задаткакоји роботи обављају.

Сензори у роботици

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Постоје различити начини за класификацију сензора, у зависности од тога шта мере, и како врше то мерење. Сензори могу да буду мерни претварачи, односно да једну физичку величину претварају у другу, и могу да буду такви да одмах дају дигиталну вредност мерене величине, или одређени код вредности.

Проприоцептивни сензори се користе за мерење унутрашњег стања робота, као нпр. позиције различитих степена слободе, температуре, напона на главним компонентама, струје мотора, силе којом се делује на ефектор. Екстероцептивни сензори се користе за генерисање информације о окружењу из аспекта даљине до неког објекта, интерактивних сила, густине ткива...

Сензори у роботици

Page 23: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

22

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Сензори у роботици

У пракси се као неизоставни део робота користе:

Сензори позиције робота:• Резолвери,• Енкодери, • Потенциометри;

Сензори околине:• Сензори силе,• Тактилни сензори,• Ултразвучни сензори,• Роботска визија.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

• Играју важну улогу у управљању манипулативним роботима, јер обезбеђују поуздану информацију о положају робота, а користе се и у формирању управљачког сигнала сервоа.

• Њихова основна сврха је да обезбеђују непрекидну информацију о величинама које дефинишу стање самог робота – величинама унутрашњих координата и њихових временских извода.

Сензори у роботици

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Резолвери

Сензори позиције

Резолвери спадају у групу електромеханичких давача позиције. Сензори из ове групе се састоје из обртног дела (ротора) на коме се налазе побудни намотаји и статора на коме се налазе индукторски намотаји.

Код резолвера се на статору налазе два намотаја који су постављени међусобно под углом од 90°. Принцип рада је заснован на електромагнетној индукцији. На побудне намотаје ротора доводи се наизменични напон који ствара променљиво магнетно поље, и индукује у статору наизменичну струју. Однос амплитуда напона на статору је функција угла закретања између статора и ротора.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Резолвери

Сензори позиције

На амплитуду излазног напона не утиче варијација напона и фреквенције напајања, температуре, електричног оптерећења статора, влажности, итд.

Раније је постојао проблем јер, електромеханички давачи претварају угао у амплитуду напона, која је аналогна величина, и нису се без адекватног дигиталног конвертора могли применити у системима који оперишу дигиталним информацијама. Међутим, данас постоје дигитални резолвери, чиме је решен проблем додатних модула код оваквог начина естимације информација.

Типична тачност резолвера је 3 лучне минуте, али се применом више пари полова ова резолуција побољшава значајно. Ако се постави n полова, тачност се повећава n пута, па онда износи 3’/n.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Енкодери

Сензори позиције

Енкодери представљају једну широку класу дигиталних сензорских система који се користе за мерења линијских и угаоних помераја. Ради се о чисто дигиталним системима који кодирају угаону или линијску позицију коришћењем одговарајућих електромеханичких склопова

Постоји више врста енкодера (оптички, контактни, магнетни) али су у пракси најзаступљенији оптички енкодери.

Оптички енкодери могу бити апсолутни или инкрементални. Апсолутни енкодери мере апсолутну позицију, која је дефинисана конструктивним решењем склопа у оквиру кога функционишу. Инкрементални енкодери мере релативни положај у односу на неку унапред познату иницијалну координату (угаону или линијску).

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Енкодери

Сензори позиције

Резолуција енкодера сразмерна је величини поља на маски.

Оптички енкодери поседује оптичке елементе – фото диоде и фото транзисторе, од којих је једно извор (предајник) а друго пријемник.

Поред њих, енкодер садржи и маску, на којој се налазе прозирна и непрозирна поља. Ова поља наизменично прекидају пут светлости од предајника ка пријемику, и на тај начин генеришу бинарну информацију. Са пријемника се сигнал даље води на електронику за прилагођење сигнала.

Page 24: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

23

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Енкодери

Сензори позиције

Апсолутни енкодер има два основна дела: кућиште (статор) и обртни део (ротор). Обртни део је везан за улазну осовину и мери њен угао обртања. Обртни део је у облику диска на коме се налази неколико концентричних путања, а на свакој од њих се смењују прозирна и непрозирна поља.

Код апсолутних енкодера посоји онолико светлосних извора и детектора, колико концентричних путања има на диску. У истој сразмери је и број проводника потребан за спровођење сигнала са детектора. Због сложене конструкције, апсолутни енкодер је доста скупљи и мање поуздан од инкременталног.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Енкодери

Сензори позиције

Инкрементални eнкодери раде на принципу генерисања поворке импулса чијим се бројањем израчунава угаони померај. Енкодер дистрибуира одређени број импулса у једној својој ротацији. Излаз може да буде једна линија импулса (канал „А“) или две линије импулса (канали „А“ и „В“) које су фазно померене једна у односу на другу, како би се одредио смер ротирања. Фазни померај између канала се зове квадратура.

Опционо, може се генерисати још сигнала код инкременталног енкодера. На пример, може се генерисати индекс, односно „Z“ канал, који у ствари представља генерисан један импулс по једној пуној ротацији енкодера, који служи за потврду број импулса на каналима А и В.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Потенциометри

Сензори позиције

Потенциометри спадају у најједноставније даваче позиције. Њима се могу мерити транслаторна и угаона померања, а раде на принципу зависности електричне отпорности од угла закретања, или помераја. Састоји се од отпорника, који може да буде од жице, угљеника, или неког другог отпорног материјала, преко којег се креће клизач који је везан за обртну осовину. Добијени напон се након тога мора провести кроз А/Д конвертор, да би добијена информација могла да се обради рачунаром.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Поређење перформанси – механичке карактеристике

Сензори позиције

Код резолвера, једини део који би могао бити извор грешки су контакти прстенова ротора. Међутим, промене контактних особина не утичу на тачност, и то је велика предност резолвера у срединам где је присутна вибрација. Такође, јако су отпорни на удар и разне облике механичког напрезања.

Енкодери су веома осетљиви на удар и вибрације, пошто постоји могућност ломљења диска, а пошто се информација о углу узима директно са диска који вибрира, те се вибрације преносе и на излазни сигнал.

Код потенциометра, контактна отпорност између клизача и отпорног прстена је случајна величина, и директно утиче на тачност, а при вибрацијама је тај контакт непоуздан.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Поређење перформанси – утицај околине

Сензори позиције

Код резолвера спољашњи фактори практично не утичу на тачност.Оптички енкодери раде у ужем температурном опсегу, због ограничења која намећу лед диоде и оптички детектори. Влажност може довести до деформације диска, а прашина утиче на оптички део давача и значајно деградира перформансе.Код потенциометра, температура утиче на промену отпорности отпорног материјала, а такође и трајно деформише ручицу клизача.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Поређење перформанси – тачност и поузданост

Сензори позиције

Резолвери и енкодери имају приближно исту статичку тачност, док потенциометри који достижу ту тачност имају високу цену, и нису исплативи. Комерцијални резолвери могу радити до брзине од 6000 о/мин, а енкодери до 750 о/мин. Потенциометри имају ограничену примену при оваквим брзинама због несигурности контакта при обртању и брзом трошењу давача чији се век мери максималним бројем обртаја.У погледу средњег времена рада између отказа као и укупног радног века, најбољи су резолвери, после њих су енкодери са посебним светлосним изворима, и на крају лествице су потенциометри.

Page 25: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

24

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Сензори околине

Сензори у роботици

Управљање роботима има за циљ да се робот преведе из једног положаја у други и при том опише задату путању (трајекторију).

Ово управљање не води рачуна о контакту робота са околином, већ је чисто позиционо.

За неке задатке, као што је састављање механичких делова, укључивање информације о силама реакције које се јављају при контакту у алгоритам управљања може бити довољно за успешно и поуздано извршење задатка.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Сензори силе

Сензори околине

Сензор силе има еластични механички елемент (опругу или штап) који се деформише под утицајем силе која се мери и тиме претвара силу у величину деформације.Уз њега се налази неки претварач који ову деформацију претвара у електрични сигнал (мерна трака, индуктивни претварач, фотоелектрични детектор итд.).Код робота нам је потребна информација о сили и моменту реакције околине, дакле о шест величина. Та информација се добија или преко сензора силе постављеним у зглобовима робота, или, у хватаљци робота где се директно мере силе реакције.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Сензори силе

Сензори околине

Сензор силе/момента у зглобу робота:Више мерних трака уграђених на еластичне елементе мере еластичне деформације у различитим смеровима, а тиме и силе/моменте који дјелују на зглоб робота.Излазни сигнали i добијени са мерних трака пропорционални су деформацијама у смеровима у којима су траке постављене.Вредности елемената калибрацијске матрице cij зависе од конструкције сензора.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Тактилни сензори

Сензори околине

Тактилни сензори код робота опонашају осетљивост човекових прстију и налазе се у хватаљци робота. Они имају за задатак да управљачком систему дају информације о положају предмета који је у хватаљци (место и оријентација), његовом облику, расподели сила које делују на њега и клизању предмета (брзина и смер). На основу ових информација може се извршити препознавање предмета из задате класе, одређивање механичких својстава према степену деформације предмета, корекција силе којом се делује на њега, промена оријентације ради успешног извршења одређеног задатка исл.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Ултразвучни сензори

Сензори околине

Примена ултразвучних сензора на роботима обухвата две активности: одређивање одстојања од робота до неког објекта у околини и формирање слике околине на основу добијене информације. Ултразвучни сензори имају предност над визијом у томе што могу обезбедити 3-D информацију о околини робота и не захтевају посебне услове осветљења радног простора.Ултразвучни сензор се састоји из два основна дела: извора (одашиљача) ултразвучних таласа и одговарајућег пријемника.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Ултразвучни сензори

Сензори околине

Принцип рада је заснован на мерењу времена од тренутка када извор емитује ултразвучни импулс до тренутка када се тај импулс, рефлектован од околине, детектује у пријемнику.Импулси су обично модулисани (фазно, временски), да би се разликовали на пријемнику.

Page 26: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

25

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Роботска визија

Сензори околине

Улога роботске визије као сензора је да управљачком систему да информацију о изгледу и просторној расподели објеката који се налазе у околини робота.У сензоре визије убрајају се оптички сензори који имају за циљ да одреде одстојање од сензора до посматраног објекта. Слика је резултат рефлексије светлости од објекта у смеру камере.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Роботска визија

Сензори околине

Употребом једне камере добија се 2D слика. Иста 2D слика може приказивати различите просторе. Из једне слике простора не могу се одредити удаљеност од камере до објекта нити димензије објекта. Реконструкција 3D структуре из 2D слике није једнозначна. За одређивање удаљености од камере до објекта и/или димензије објекта мора се користити више слика са више камера. Друга камера треба бити постављена под одређеним углом у односу на претходну.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Роботска визија

Сензори околине

За успешан рад сензора визије неопходно је обезбедити добру осветљеност радног простора. Фактори који утичу на изглед сцене у којој робот ради су осветљење, објекат који се посматра, околина објекта, врста сензора и сам робот.Објекат утиче на изглед слике својим обликом, оптичким особинама материјала, обрађеност његове површине.Ови фактори битно утичу на погодан распоред осветљења који је потребно остварити, тип осветљења.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Роботска визија

Сензори околине

Што се тиче околине објекта, могуће је да услед лошег контраста може бити знатно отежана екстракција ивица објекта, а самим тим и његово јасно детектовање на добијеној слици. Променом углова осветљења могу се остварити сенке које овај проблем решавају, али могу евентуално заклонити неке важне елементе сцене.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

Роботска визија

Сензори околине

Примена ласера заједно са одговарајућим оптичким детекторима код робота је најчешће везана за одређивање одстојања од сензора до неког објекта, али се ово лако може проширити на 3-D скенирање радног простора.Ласерски скенер може имати поље гледања од 360º акосе користи ротирајуће зрцало.

Звучни сензори региструју звук (као и чуло слуха човека), ултразвучни сензори региструју звук који људи не чују али чују неке животиње (нпр. слепи миш), сензори додира реагују на додир са било којим објектом, сензори уз помоћ којих робот види зову се светлосним (или оптичким), инфрацрвени сензори омогућују да се регистровање топлотног зрачења тела, уз помоћ жироскопа као дела сензора робот може да одреди свој положај у односу на силу земљине гравитације итд.

ИНТЕЛИГЕНТНО РАЧУНАРСКО УПРАВЉАЊЕ И РОБОТИКА

ЗакључакРазвој сензора, и обрада информација које они дају, и даље је веома активна област истраживања у роботици. Компјутерска визија и сензори у медицини су саме по себи велике и разнолике области. И дан данас се развијају нове фундаменталне и примењене технике у обради сигнала. Заправо, може се рећи да је перцепција и даље једна од најзахтевнијих области истраживања робота.Методе које су представљене су репрезенти најчешће коришћених техника у роботици. Међутим, постоји још много других, а свакодневно се развијају нове.

Page 27: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

26

ЛИТЕРАТУРА

[1] Б. Анђелковић, Истраживање и развој нових метода за прорачун стезних

склопова применом неуронских мрежа и фази логике, Машински

факултет, Ниш, 2009.

[2] V. Novak, I. Perfilieva, J. Močkor, Mathematical principles of fuzzy logic, Kluwer

Academic, Boston /Dordrecht, 1999.

[3] П. Субашић, Фази логика и неуронске мреже, Техничка књига, Београд, 1997.

[4] М. Вукобратовић, Увод у роботику, Институт „Михајло Пупин“, Београд 1986.

[5] B. Siciliano, O. Khatib, Springer Handbook Of Robotics, Springer Science &

Business Media, Berlin Heidelberg, 2008.

[6] М. Поповић, Сензори у роботици, Виша електротехничка школа, Београд,

1996.

[7] M. Поповић, Сензори и мерења, Завод за уџбенике и наставна средства,

Српско Сарајево, 2004.

[8] М. Вукићевић, Фази системи као подршка одлучивању, Центар за пословно

одлучивање Факултета организационих наука, Београд, 2009.

[9] URL1. https://en.wikipedia.org/wiki/Main_Page, Wikipedia, the free

encyclopedia

Page 28: Inteligentno Racunarsko Upravljanje Seminarski Rad

Интелигентно рачунарско управљање и роботика

27

СПИСАК СЛИКА Слика 1. 1 Биолошка нервна ћелија ............................................................................................................ 6

Слика 1. 2 Модел вештачког неурона ....................................................................................................... 8

Слика 1. 3 Вишеслојна неуронска мрежа ................................................................................................. 9

Слика 2. 1 Креирање функције „lazar.m“ .............................................................................................. 12

Слика 2. 2 Генерисање кода за графички приказ функције „lazar“ ........................................ 12

Слика 2. 3 Изглед функције „lazar“ на опсегу [-3,3] ........................................................................ 13

Слика 2. 4 Варијабле у одељку „worksace“ .......................................................................................... 13

Слика 2. 5 Креирање променљиве за обуку неуронске мреже ................................................. 14

Слика 2. 6 Елементи варијабле „trening“ .............................................................................................. 14

Слика 2. 7 Радно окружење ANFIS editora ........................................................................................... 15

Слика 2. 8 а) 2D апроксимација функције „lazar“, б) креирање ФИС..................................... 15

Слика 2. 9 Изглед структуре креиране неуро мреже .................................................................... 16

Слика 2. 10 а) тренирање неуро реже, б) тестирање неуро мреже, в) изглед апроксимиране ф-је, г) изглед реалне ф-је ........................................................................................ 16

Слика 2. 11 а) тренирање неуро реже, б) тестирање неуро мреже, в) изглед апроксимиране ф-је, г) изглед реалне ф-је ........................................................................................ 17

Слика 2. 12 Снимање неуро мреже и поглед на варијабле у радном простору ............... 18

Слика 2. 13 Упоредни преглед резултата неуро мреже и реалне ф-је за исте улазне променљиве ........................................................................................................................................................ 18

Слика 2. 14 Креирање функције „lazar1.m“ ......................................................................................... 19

Слика 2. 15 Радно окружење програма за оптимизацију ............................................................ 19

Слика 2. 16 Резултати оптимизације и графички приказ посупка оптимизације ......... 20