Top Banner
23 4. UPUTE ZA RAD S UPRAVLJAČKOM APLIKACIJOM 4.1 Sučelje upravljačke aplikacije Sučelje je direktna komunikacijska veza izme đu čovjeka i računala, stoga mora biti osmišljena tako da na što jednostavniji i logi čan način pruži svu potrebnu kontrolu nad računalom. Sučelje upravljačke aplikacije je veza izme đu operatera robotske ruke i same robotske ruke posredstvom računala koje prima instrukcije od čovjeka, obrađuje ih, te ih dalje  prosljeđuje robotskoj ruci u formatu razumljivom upravljačkoj jedinici robotske ruke. Pokretanjem upravljačke aplikacije robotske ruke TeachMover vrši se duplim klikom na ikonu TeachMover.exe (Slika 4.1). Slika 4.1 Prikaz ikone za pokretanje aplikacije TeachMover  Nakon što je upravljačka aplikacija pokrenuta pojavljuje se po četni prozor u kojem se u kratkim crtama daju uputstva za rad s upravlja čkom aplikacijom (slika 4.2). Slika 4.2 Poč etni prozor aplikacije TeachMover
23

Teachmover Software

Mar 08, 2016

Download

Documents

ivo

Osnove pokretanja robotske ruke
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 1/23

23 

4.  UPUTE ZA RAD S UPRAVLJAČKOM APLIKACIJOM

4.1 Sučelje upravljačke aplikacije

Sučelje je direktna komunikacijska veza između čovjeka i računala, stoga mora bitiosmišljena tako da na što jednostavniji i logičan način pruži svu potrebnu kontrolu nad

računalom.

Sučelje upravljačke aplikacije je veza između operatera robotske ruke i same robotske

ruke posredstvom računala koje prima instrukcije od čovjeka, obrađuje ih, te ih dalje

 prosljeđuje robotskoj ruci u formatu razumljivom upravljačkoj jedinici robotske ruke.

Pokretanjem upravljačke aplikacije robotske ruke TeachMover vrši se duplim klikom

na ikonu TeachMover.exe (Slika 4.1).

Slika 4.1 Prikaz ikone za pokretanje aplikacije TeachMover

 Nakon što je upravljačka aplikacija pokrenuta pojavljuje se početni prozor u kojem se

u kratkim crtama daju uputstva za rad s upravljačkom aplikacijom (slika 4.2).

Slika 4.2 Poč etni prozor aplikacije TeachMover

Page 2: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 2/23

Page 3: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 3/23

25 

4.2.2  Uspostavljanje i prekidanje komunikacije računala s robotskom rukom

U poglavlju 4.2.1 je opisano namještanje parametara, te uspostavljanje komunikacije

računala i robotske ruke. U ovom poglavlju prikazat će se slučajevi koji se mogu dogoditi

 prilikom otvaranja ili zatvaranja komunikacije.

 Nakon što smo postavili parametre komunikacije, komunikaciju uspostavljamo

 pritiskom na tipku Start (slika 4.2). Ako su postavke uredno namještene, i ako su serijski

 portovi na računalu i mikrokontroleru ispravni, komunikacija je uspješno uspostavljena i rad s

aplikacijom može započeti. Uspješnost uspostavljenosti komunikacije možete vidjeti pod

oznakom Status, gdje će biti navedeno „Port Otvoren“ (slika 4.4). Pri tom se oznaka tipke iz

Start mijenja u Završi, i postaje tipka kojom se prekida komunikacija.

Slika 4.4 Komunikacijski dio suč elja prilikom uspješno uspostavljene veze

Ukoliko aplikacija iz nekog razloga ne može uspješno otvoriti konekciju, pod

oznakom Status će biti navedeno „Greška u komunikaciji“ (slika 4.5).

Slika 4.5 Komunikacijski dio suč elja u sluč aju greške

Page 4: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 4/23

26 

Greška u komunikaciju može nastati iz nekoliko razloga, koje možemo svrstati u dvije

grupe: greške prouzročene neispravnostima na računalu, te greške prouzročene

neispravnostima izvan računala.

Upravljačka aplikacija će sama prepoznati o kojoj grupi uzročnika se radi i dati preporuku kako otkloniti nastali problem (slika 4.6).

U slučaju neispravnosti na računalu, biti će prikazani sljedeći mogući uzroci:

•   pogrešan broj serijskog porta,

•  zauzetost serijskog porta od strane neke druge aplikacije na računalu,

•  neispravno sklopovlje serijskog porta na računalu.

U slučaju neispravnosti izvan računalu, biti će prikazani sljedeći mogući uzroci:

•  isključen izvor napajanja robotske ruke,

•  neispravan RS-232 kabel,

•  neispravan neki od elektroničkih elemenata na sklopovlju ruke.

Slika 4.6 Prikazi ekrana upravljač ke aplikacije u sluč aju neispravnosti

Page 5: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 5/23

27 

4.3 Upravljanje robotskom rukom pomoću upravljačkih alata

Robotska ruka TeachMover sastavljena je od 5 segmenata, pogonjenih sa šest koračnih

elektro motora.

Koristeći ovu upravljačku aplikaciju, TeachMover robotskom rukom možemo

upravljati na više načina, koje određujemo pomoću kontrola prikazanih na slici 4.7.

Slika 4.7 Kontrole za odabir nač ina rada

Upravljački dio aplikacije omogućava nam odabir načina upravljanja, te kontrolu

 pokreta robotske ruke preko ponuđenih upravljačkih tipki (slika 4.8).

Slika 4.8 Upravljač ki dio suč elja prilikom kontrole segmenata

Možemo odabrati dva načina upravljanja nad robotskom rukom: kontrola segmenata

robotske ruke, te kontrola svakog motora pojedinačno. Slika 4.8 prikazuje upravljačke tipke

 prilikom kontrole segmenata, a slika 4.9 prikazuje tipke prilikom kontrole pojedinačnih

motora.

Page 6: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 6/23

28 

Slika 4.9 Upravljač ki dio suč elja prilikom kontrole pojedinač nih motora

Pritiskom na neku od upravljačkih tipaka generira se upravljačka varijabla, koja se

robotskoj ruci šalje ovisno o odabiru načina zadavanja upravljačke varijable. Ponuđena su dva

nač

ina:

•  kontinuirano  – dok je god aktivna neka od upravljačkih tipki, upravljačka

varijabla se kontinuirano šalje robotskoj ruci,

•  korak po korak  – svaki pritisak na upravljačku tipku šalje robotskoj ruci samo

 jednom zadanu upravljačku varijablu.

4.3.1  Korištenje upravljačkih tipaka za upravljanje robotskom rukom

 Nakon što smo odabrali način upravljanja, robotsku ruku pokrećemo pritiskom na

neku od upravljačkih tipki. Za demonstraciju, pretpostavit ćemo da smo odabrali kontrolu

segmenata kao način upravljanja te kontinuirano slanje upravljačke varijable, pa upravljačke

tipke izgledaju kao što je prikazano na slici 4.10.

Slika 4.10 Upravljač ke tipke – kontrola segmenata

Page 7: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 7/23

29 

Pritiskom na neku od upravljačkih tipaka aktiviramo odabrani segment robotske ruke,

npr. rotaciju baze u desno, podizanje lakta prema gore, te pitch šake prema gore. Aktiviranjem

upravljačke tipke mijenja se njena slika s ciljem obilježavanja aktivnosti upravljačke tipke

(slika 4.11). Ponovnim pritiskom na aktiviranu tipku, prestaje djelovanje upravljačke tipke i

njena slika se vraća u prvobitno stanje. Neki od pokreta robotske ruke su povezani, na primjer

 prilikom podizanja lakta dolazi do stiskanja šake, pa je istovremeno potrebno pokrenuti i

motor šake kako bismo stisak šake održali nepromijenjen. Iz tog su razloga upravljačke tipke

lakta i stiska šake povezane na način da nije moguće istovremeno pokrenuti upravljačku tipku

 promjene položaja lakta i razine stiska šake. Pokretanjem upravljačke tipke za promjenu

 pozicije lakta dok je aktivna promjena stiska šake, isključuje se upravljačka tipka stiska šake i

uključuje se upravljačka tipka za promjenu položaja lakta. U tablici 4.1 je prikazan

međusobni odnos upravljačkih tipaka.

Slika 4.11 Upravljač ke tipke tijekom aktivacije

Tablica 4.1 Međ usobni odnos upravljač kih tipaka

SEGMENT KOJI SE ŽELI AKTIVIRATI

Segmenti ruke Baza Rame Lakat Šaka – pitch Šaka – roll Stisak šake 

   A   K   T   I   V   I   R   A   N   I   S   E   G   M   E   N   T

Baza ■  ■  ■  ■  ■  ■ 

Rame ■  ■  ■  ■  ■  ■ 

Lakat ■  ■  ■  ■  ■  □ 

Šaka– pitch ■  ■  ■  ■  □  ■ 

Šaka – roll ■  ■  ■  □  ■  ■ 

Stisak šake ■  ■  □  ■  ■  ■ 

■ - odabir ne utjeće na aktivirani segment; □ - odabir gasi aktivirani segment i aktivira željeni 

Page 8: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 8/23

30 

Potpuno isti principi rukovanja s upravljačkim tipkama vrijede i kad se kao način

upravljanja odabere mod kontrole nad pojedinačnim motorima robotske ruke, samo uz

različito obilježene upravljačke tipke i bez ograničenja prilikom odabira upravljačkih tipki

(slika 4.12).

Slika 4.12 Upravljač ke tipke - kontrola pojedinač nih motora

Ova faza razvoja upravljačke aplikacije ne obuhvaća upravljanje pomoću koordinata,

već direktno upravljanje pogonskim motorima, stoga nije moguće pratiti poziciju segmenata

robotske ruke u koordinatnom sustavu. Iz tog razloga potreban je oprez prilikom upravljanja

 jer pozicija nekih segmenata može otići izvan ograničenja slobodnog kretanja segmenata, i

tada će pogonski motori vrtjeti u prazno i može doći do pregrijavanja motora ili oštećenja

nekih mehaničkih dijelova robotske ruke. Navedena moguća oštećenja neće nastati trenutno

ili puštanjem rada motora nekoliko sekundi izvan ograničenja, već će nastati ako ostavimo

motore da rade izvan ograničenja duže vrijeme, a rizik se povećava radom pri većim snagama

motora tj. radom pri većim vrijednostima delay-a komunikacijske veze.

4.3.2  Prikaz pokrenutih motora

Upravljačka aplikacija sadrži i ekran gdje je moguće pratiti trenutačnu aktivnost

 pojedinih pogonskih motora (slika 4.13). Aktivnost motora je okretanje pogonske osovine, a

ona se može okretati u smjeru kazaljke na satu ili u smjeru obrnutom od kazaljke na satu.

Osim okretanja motor može biti u stanju mirovanja. Ovisno o trenutačnoj aktivnosti motora,

svaki motor je prikazan jednom od tri moguća simbola koja su s objašnjenjima prikazana na

slici 4.14.

Page 9: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 9/23

 

ruke.

(slika 4

i što je

klizača,

s cilje

4.3.3  Ko

Ovaj dio a

z stupanj

.15), važan

 položaj kl

 stisak je ja

larm lim

 da detekti

 stanje

mirovanj

Sli

Slika 4.1

trola para

likacije z

otvorenosti

 parametar

izača pom

či.

ta stiska s

a ostvaren

lika 4.15

ka 4.14 Si

3 Dio suč e

etara prihv

dužen je z

šake, koji

e i snaga s

knutiji ude

uži za prik 

st stiska ro

io suč elja

okreta

kazal 

boli namij

31 

 ja za prika

 

atnice

a kontrolu

se regulir 

tiska šake.

sno, tj. bli

az stanja

 botske šak 

a kontrolu

 je u smjer 

ke na satu

njeni prik 

 

 z pokrenuti

 parametar 

  upravljač

Snagu stis

ži crvenoj

ikroprekid

.

 parametar 

  okr 

 zu aktivno

h motora

 prihvatni

kim tipka

a namješta

zoni prika

ča ugrađe

 prihvatni

tanje u sm

od kazaljk 

ti motora

e tj. šake

a oznake

mo pomoć

anoj na sli

og u robot

e

eru obrnut 

e na satu

obotske

„Stisak“

klizača

ci ispod

ku ruku

m

Page 10: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 10/23

32 

4.3.4  Alati za snimanje i reprodukciju sekvenci

Prikazani dio sučelja upravljačke aplikacije (slika 4.16) sadrži alate koji omogućuju

snimanje te pohranjivanje sekvenci pod odabranim imenom i reprodukciju istih. Imena

snimljenih sekvenci prikazana su u okviru i pritiskom na tipku Delete mogu se izbrisati.

Slika 4.16 Alati za snimanje i reprodukciju sekvenci

Snimanje željene sekvence započinje pritiskom na tipku „Record“ i u tom trenutku se

otvara pomoćni prozor čić  u koji upisujemo ime pod kojim ćemo pohraniti sekvencu i

određujemo parametar povratka u početnu poziciju (slika 4.17).

Slika 4.17 Alati za snimanje i reprodukciju sekvenci

Parametar povratka je važan kad nakon snimanja sekvence želimo vratiti robotsku

ruku u položaj u kojem se nalazila u trenutku započinjanja snimanja. Nakon što se upiše

željeno ime sekvence, pritiskom na tipku „U redu“ započinjemo snimanje i sve dok traje

snimanje sekvence, tipka „Record“ je označena crvenom bojom (slika 4.18).

Page 11: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 11/23

33 

Slika 4.18 Alati za snimanje i reprodukciju sekvenci

Dok traje snimanje sekvence i dok je aktivan neki od pogonskih motora robotske ruke,

nije moguće prekinuti snimanje. Da bismo prekinuli snimanje potrebno je preko upravljačkih

tipaka prekinuti sve aktivnosti motora i tek tada se pritiskom na tipku „Record“ može

 prekinuti snimanje. Sve sekvence su pohranjene na disku računala u datoteci „sekvence.dat“,

koja se nalazi u istom direktoriju kao i sama upravljačka aplikacija.

Kada se želi reproducirati pohranjena sekvenca, potrebno je kliknuti na jedno od

 ponuđenih imena na listi pohranjenih sekvenci i kliknuti na tipku „Play“ i tada započinje

reprodukcija sekvence. Prilikom reprodukcije sekvence, tipki „Play“ se promijenila oznaka u

„Dovrši sekvencu“ i pritiskom na navedenu tipsku nastavlja se reprodukcija do trenutka kada

stanje reprodukcije dođe u početno stanje i tada se reprodukcija prekida. Osim na taj način,

reprodukcija se može prekinuti i tipkom „Stop“ koja istog trenutka prekida reprodukciju.

Trenutno stanje sekvence je moguće pratiti preko klizača smještenog ispod liste s imenima

sekvenci.

4.3.5  Tipka za povratak u početnu poziciju

Pritiskom na ovu tipku aplikacija pokreće robotsku ruku s ciljem da je vrati u početno

stanje u kojem je bila u trenutku pokretanja aplikacije.

Slika 4.19 Tipka za povratak u poč etnu poziciju

Page 12: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 12/23

34 

5.  METODE RADA UPRAVLJAČKIH APLIKACIJA TEACHMOVER

ROBOTSKE RUKE

Robotska ruka TeachMover sastoji se od elektroničkog i mehaničkog sklopovlja.

Elektronički dio je sastavljen od dvije cjeline, komunikacijske i cjeline s pojačalima, koje su

 povezane i kontrolirane mikrokontrolerom ATMEGA 16. Navedeni mikrokontroler je

upravljačka jedinica robotske ruke i zadatak mu je primiti upravljačke naredbe preko

komunikacijskog dijela, obraditi ih te ih dalje u obliku upravljačkih impulsa proslijediti cjelini

s pojačalima koja ih dalje prenosi pogonskim motorima robotske ruke.

Mikrokontroler prima upravljačke naredbe preko komunikacijskog dijela, čija je

ulazno-izlazna jedinica RS-232 port. Bilo koji uređaj koji posjeduje RS-232 port i aplikaciju

koja radi po standardu komunikacije, može upravljati robotskom rukom. Pod pojmom

standard komunikacije smatra se poznavanje skupa upravljačkih naredbi koje razumije

upravljački program upisan u memoriju mikrokontrolera.

PC osobno računalo je primjer uređaja koji ima ulogu posrednika između čovjeka koji

želi upravljati robotskom rukom i same robotske ruke. PC ima zadaću primiti informacije od

čovjeka, tj. operatera robotske ruke, obraditi ih i kreirati upravljačke naredbe prema standardu

komunikacije, te ih naposljetku preko komunikacijskog kanala poslati robotskoj ruci.

U sljedećim poglavljima opisat će se komunikacijski standard, nužan za komunikaciju

sučelja operatera robotske ruke i upravljačkog mikrokontrolera robotske ruke, programsko

rješenje upravljačkog programa za mikrokontroler robotske ruke, te programsko rješenje

windows upravljačke aplikacije koja ima zadaću primiti upravljačke naredbe od strane

operatera.

5.1 Standard komunikacije

Komunikacija između uređaja, koji šalje upravljačke naredbe robotskoj ruci, i robotske

ruke temelji se na primopredaji 8-bitnih kodnih riječi. Radi jednostavnosti opisa

komunikacije, uređaj ćemo pisati kao PC, a robotsku ruku ćemo predstaviti njezinom

upravljačkom jedinicom - mikrokontrolerom.

Komunikacija se odvija prema jednostavnom principu, prvu kodnu riječ  šalje PC,

mikrokontroler ju prima, prepozna i na osnovi nje šalje PC-u novu kodnu riječ, koja nosi

informaciju tj. opis sljedeće kodne riječi koja je potrebna mikrokontroleru.

Page 13: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 13/23

35 

 Na taj način, upravljačka aplikacija na PC-u uvijek zna koju kodnu riječ  treba poslati

mikrokontroleru da bi se postiglo ispravno djelovanje robotske ruke.

Kodne riječi koje propisuje standard komunikacije, njihov opis te njihova imena koja

se koriste u upravljačkim programima i aplikacijama, prikazane su u tablici 5.1.

Tablica 5.1 Kratak pregled konstanti komunikacijskog standarda

Ime konstante Binarni Dekadski Opis

tcEmptyTask 00000001 1Prazna naredba, šalje se tijekomtestiranja dostupnosti ili brzine veze

tcSetDelay1 00010000* 16*  Naredba za namještanje jedinica kod postavljanja vrijednosti delaya

tcSetDelay10 00100000* 32* Naredba za namještanje desetica kod

 postavljanja vrijednosti delaya

tcSetDelay100 00110000* 48* Naredba za namještanje stotica kod

 postavljanja vrijednosti delaya

tcCWBase 11000000* 192*Predstavlja osnovu za upravljačkunaredbu za CW okret motora robotske

ruke

tcCCWBase 10000000* 128*Predstavlja osnovu za upravljačkunaredbu za CCW okret motorarobotske ruke

tcSignalForCCW 00000001 1 Naredba kojom mikrokontroler tražiCCW upravljačku varijablu od PC-a

tcSignalForCW 00000011 3 Naredba kojom mikrokontroler tražiCW upravljačku varijablu od PC-a

tcHLAlarmAndWaitingForCW 00000111 7 Naredba kojom mikrokontroler tražiCCW upravljačku varijablu od PC-a iobavještava PC aplikaciju o stanjumikroprekidača stiska šake

tcAnswerOnEmptyTask 00001111 15Odgovor mikrokontrolera na praznunaredbu

* - navedeni broj je osnova, završni broj se mijenja ovisno o podatkovnom dijelu broja

 

Page 14: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 14/23

36 

5.1.1  Konstante komunikacijskog standarda

tcEmptyTask  

Konstanta  tcEmptyTask   je prazna naredba koju PC šalje mikrokontroleru prilikom

testiranja dostupnosti ili brzine komunikacijske veze. Odgovor mikrokontrolera na ovu

naredbu je slanje konstante tcAnswerOnEmptyTask .

Slika 5.1 Konstanta tcEmptyTask

tcSetDelay1, 

tcSetDelay10, 

tcSetDelay100 

Konstante  tcSetDelayX  čine skupinu tri konstante, koje određuje delay

komunikacijske veze. Oznaka X označava broj 1, 10 ili 100 tj. definira stupanj, tj. brojčanu

vrijednost delay-a u jedinicama, deseticama i stoticama. Sama vrijednost konstante prenosi

informaciju 0 tj. postavlja vremenski delay određenog stupnja u 0, pa je samoj konstanti

 potrebno pribrojiti i određenu brojčanu vrijednost.

 Npr. ako želimo delay komunikacijske veze postaviti u vrijednost 14 ms:

1.  PC mikrokontroleru šalje vrijednost (tcSetDelay1 + 4), tj. 00010100,

2.  nakon primitka navedene kodne riječi, mikrokontroler šalje tcSetDelay10 kao

zahtjev da mu se pošalje vrijednost desetica,

3.  PC mikrokontroleru šalje vrijednost (tcSetDelay10 + 1), tj. 00100001,

4.  nakon primitka navedene kodne riječi, mikrokontroler šalje tcSetDelay100 kao

zahtjev da mu se pošalje vrijednost stotica,

5.  PC mikrokontroleru šalje vrijednost (tcSetDelay100 + 0), tj. 00110000.

I tako je delay komunikacijske veze potpuno definiran.

Slika 5.2 Konstanta tcSetDelay1

Slika 5.3 Konstanta tcSetDelay10

01234567

10000000

01234567

00001000

01234567

00000100

Page 15: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 15/23

37 

Slika 5.4 Konstanta tcSetDelay100

tcCWBase 

Konstanta  tcCWBase  je osnova za kreiranje upravljačke naredbe koju PC šalje

mikrokontroleru kada želi okrenuti određene pogonske motore u smjeru kretanja kazaljke na

satu (CW). Sama vrijednost konstante ne aktivira nijedan od pogonskih motora, pa je prije

slanja potrebno definirati bitove unutar kodne riječi kao što je prikazano na slici 5.5. Svi

aktivni motora označavaju se bitom 1 u kodnoj riječi na mjestu koje im pripada, a neaktivni

motori s bitom vrijednosti 0.

Slika 5.5 Konstanta tcCWBase s prikazom rasporeda motora

tcCCWBase  

Konstanta  tcCCWBase  je osnova za kreiranje upravljačke naredbe koju PC šalje

mikrokontroleru kada želi okrenuti određene pogonske motore u smjeru suprotnom od

kretanja kazaljke na satu (CCW). Sama vrijednost konstante ne aktivira nijedan od pogonskih

motora, pa je prije slanja potrebno definirati bitove unutar kodne riječi kao što je prikazano na

slici 5.6. Svi aktivni motora označavaju se bitom 1 u kodnoj riječi na mjestu koje im pripada,

a neaktivni motori s bitom vrijednosti 0.

Slika 5.6 Konstanta tcCCWBase s prikazom rasporeda motora

tcSignalForCCW   , tcSignalForCW   , tcHLAlarmAndWaitingForCW  

Konstante tcSignalForCCW , tcSignalForCW i tcHLAlarmAndWaitingForCW su

signali koje mikrokontroler šalje PC-u, tj. upravljačkoj aplikaciji s namjerom da mu pošalje

novu upravljačku naredbu, CW ili CCW ovisno, koju je konstantu PC primio.

01234567

00001100

01234567

M1M5M3M6M4M201

01234567

M1M5M3M6M4M211

Page 16: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 16/23

38 

Konstanta tcHLAlarmAndWaitingForCW ima istu funkciju kao i tcSignalForCW ,

samo što uz funkciju signala za CW naredbu, šalje i signal koji javlja da je pritisnut

mikroprekidač na robotskoj ruci, tj. detektor stiska šake.

tcAnswerOnEmptyTask  

Konstanta tcAnswerOnEmptyTask  je signal koji šalje mikrokontroler robotskoj ruci

kao potvrdu da je primio konstantu tcEmptyTask.

Page 17: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 17/23

39 

5.2 Model komunikacije između računala i robotske ruke

Model komunikacije između računala i robotske ruke prikazan je blok shemom na slici

5.7. Upravljačka aplikacija odvija se na računalu (PC) i prima naredbe od strane čovjeka –

operatera robotske ruke. Algoritmi upravljačke aplikacije kreiraju upravljačku naredbu

 prilikom direktnog upravljanja pomoću upravljačkih tipki aplikacije ili je uzimaju iz datoteke

spremljenih sekvenci.

Upravljačka naredba se prosljeđuje RS-232 sklopovlju na računalu, koji preko

komunikacijskog kanala prenosi naredbu do komunikacijske cjeline na robotskoj ruci.

Komunikacijska cjelina naredbu prosljeđuje mikrokontroleru, čiji je upravljački program

obradi na način koji će biti opisan poglavlju 5.3, te naposljetku šalje upravljačke impulse

 pogonskim motorima.

Slika 5.7 Model komunikacije izmeđ u rač unala i robotske ruke

OTVARANJE RS‐232

KOMUNIKACIJE

ALGORITMI

KREIRANJA UPRAVLJAČKE 

NAREDBE

RS‐232 

SKLOPOVLJE

KOMUNIKACIJSKA 

CJELINA

RS‐232 MODUL

CJELINA S 

POJAČALIMA

POGONSKI

MOTORI

DIREKTNO

UPRAVLJANJE

SPREMLJENE 

SEKVENCE

BaudRate, Port

Delay

ROBOTSKA RUKA

MCU

UPRAVLJAČKA APLIKACIJA

MIKROKONTROLER

UPRAVLJAČKI 

PROGRAM

Page 18: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 18/23

40 

5.3 Upravljački program mikrokontrolera TeachMover robotske ruke

Mikrokontroler je upravljačka jedinica robotske ruke i zadatak mu je primiti

upravljačke naredbe preko komunikacijskog dijela, obraditi ih, te ih dalje u obliku

upravljačkih impulsa proslijediti cjelini s pojačalima, koja ih dalje prenosi pogonskim

motorima robotske ruke.

Proces obrade upravljačke naredbe obavlja program upisan u memoriju

mikrokontrolera. Program je pisan u AVR Studiu, programskoj platformi za izradu programa

namijenjenim ATMEL mikrokontrolerima, koristeći AVR-GCC kompajler.

5.3.1  Metoda rada upravljačkog programa mikrokontrolera

Metoda rada upravljačkog programa mikrokontrolera prikazana je na slici 5.8.

 Nakon što je dovedeno napajanje robotskoj ruci, mikrokontroler se pali i započinje s

izvođenjem upravljačkog programa zapisanog u memoriji. Deklariraju se sve potrebne

varijable i nizovi, te se određuje karakteristika portova tj. određuje se je li port ulazni ili

izlazni. Zatim slijedi iniciranje RS-232 komunikacije kako bi se mogla ostvariti komunikacija

između računala i mikrokontrolera. Važna je i deklaracija varijable TaskExecute, čija je

vrijednost 0 sve dok mikrokontroler ne primi i CW i CCW upravljačku naredbu.

 Nakon početnog dijela deklaracija, slijedi ulazak u radnu petlju. Radna petlja počinje

 primanjem upravljačke naredbe s RS-232 porta, koju program sprema u varijablu cTask .

Primljenu upravljačku naredbu možemo razlikovati kao aktuatorsku upravljačku

naredbu, koja nosi informaciju o pokretima pogonskih motora, i na sistemsku upravljačku

naredbu, koja mijenja sistemske postavke u programu mikrokontrolera. Ako primljena

naredba ima strukturu 0×××××××,  tj. MSB bit postavljen u 0, naredba je sistemska, ako

naredba ima strukturu 1×××××××, tj. MSB bit postavljen u 1, naredba je upravljačka.

Aktuatorska naredba može biti CW upravljačka naredba, koja nosi informaciju koje je

 pogonske motore potrebno pokrenuti u smjeru kazaljke na satu, a CCW upravljačka naredba

nosi informaciju koje je pogonske motore potrebno pokrenuti u smjeru suprotnom od kretanja

kazaljke na satu.

Ako je primljena CW upravljačka naredba, mikrokontroler šalje PC-u konstantu

tcSignalForCCW kao znak da mu pošalje CCW upravljačku naredbu, zatim se na temelju CW

Page 19: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 19/23

41 

upravljačke naredbe ažuriraju registri stanja motora. Nakon toga se provjerava stanje varijable

TaskExecute, a kako ona ima još vrijednost 0, program se vraća na početak petlje.

Ako je primljena CCW upravljačka naredba, mikrokontroler provjerava stanje

mikroprekidača stiska šake i ako je mikroprekidač  pritisnut, mikrokontroler šalje PC-ukonstantu tcHLAlarmAndWaitingForCW kao obavijest da je pritisnut mikroprekidač  i kao

znak da mu pošalje CW upravljačku naredbu. Ukoliko mikroprekidač nije aktiviran, konstanta

tcSignalForCW se šalje PC-u. Zatim se vrijednost varijable TaskExecute  postavlja u

vrijednost 1, te se na temelju CCW upravljačke naredbe ažuriraju registri stanja motora.

 Nakon toga se provjerava stanje varijable TaskExecute, a kako je ona postavljena u

vrijednost 1, program ažurira stanje izlaznih portova i na taj način pokreće motore na temelju

 prethodnog ciklusa naredbi tj. na temelju CW i CCW naredbe zajedno. Nakon ažuriranjastanja izlaznih portova, varijabla TaskExecute se postavlja u vrijednost 0.

Slika 5.8 Metoda rada upravljač kog programa mikrokontrolera

Page 20: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 20/23

42 

Ukoliko je primljena sistemska upravljačka naredba, program ju obrađuje na način

 prikazan blok shemom na slici 5.9.

 Najosnovnija sistemska naredba je tcEmptyTask, koja nema neko konkretno značenje,

već služi testiranje brzine komunikacijske veze PC – mikrokontroler. Nakon što je primljenanaredba tcEmptyTask, mikrokontroler šalje PC-u konstantu tcAnswerOnEmptyTask kao

odgovor da je uspješno primio naredbu tcEmptyTask.

 Najvažnija grupa sistemskih naredbi su naredbe za postavljanje delay-a komunikacijske veze.

Ako želimo delay komunikacijske veze postaviti u vrijednost 14 ms:

1.  PC mikrokontroleru šalje vrijednost (tcSetDelay1 + 4), tj. 00010100.

2.   Nakon primitka navedene kodne riječi, mikrokontroler šalje tcSetDelay10 kaozahtjev da mu se pošalje vrijednost desetica, te ažurira delay varijablu po principu

„delay = 4“.

3.  PC mikrokontroleru šalje vrijednost (tcSetDelay10 + 1), tj. 00100001.

4.   Nakon primitka navedene kodne riječi, mikrokontroler šalje tcSetDelay100 kao

zahtjev da mu se pošalje vrijednost stotica, te ažurira delay varijablu po principu

„delay = delay + 1×10“.

5.  PC mikrokontroleru šalje vrijednost (tcSetDelay100 + 0), tj. 00110000.

6.   Nakon primitka navedene kodne riječi, mikrokontroler šalje tcEmptyTask kao

obavijest da je primio informaciju, te ažurira delay  varijablu po principu

„delay = delay + 0×100“.

Slika 5.9 Blok shema procesiranja sistemske naredbe

Page 21: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 21/23

43 

5.4 Windows upravljačka aplikacija TeachMover robotske ruke

U poglavlju 4. objašnjeno je kako se rukuje s upravljačkom aplikacijom TeachMover

robotske ruke. U ovom poglavlju objasnit će se osnovni princip rada te aplikacije. Sama

aplikacija sadrži skup osnovnih alata za upravljanje robotskom rukom i kao takva predstavlja

osnovu za daljnji razvoj aplikacija namijenjenih TeachMover robotskoj ruci.

 Nakon što su unesene vrijednosti baud ratea, broj porta, te delay, aplikacija otvara

RS-232 port na računalu i omogućava primanje i slanje informacija. Ako je komunikacija

uspješno ostvarena, aplikacija postavlja delay tj. period komunikacijske veze preko već ranije,

u poglavlju 5.3.1, opisane procedure. Kad je uspješno izvršeno postavljanje delay-a, tad može

započeti izmjena naredbi između računala i mikrokontrolera.

Prvi korak u komunikaciji čini računalo, slanjem konstante tcCWBase

mikrokontroleru, a nakon primitka te naredbe, mikrokontroler šalje računalu konstantu

tcSignalForCCW. Prije no što računalo primi tu naredbu, ulazi u radnu petlju, te u njoj prvo

 prođe kroz proceduru DoEvents, kojoj je zadatak ustanoviti je li pritisnuta tipka za kraj

komunikacije. U slučaju da je tipka uistinu pritisnuta, pokreće se procedura zatvaranja

komunikacije i varijabla CommunicationEnd postavlja se u vrijednost True.

Zatim slijedi provjera stanja varijable CommunicationEnd i ako je vrijednost varijable

True, napušta se radna petlja i aplikacija ulazi u stanje mirovanja. U slučaju da je vrijednost

varijable False, tok programa nastavlja svoj put dalje kroz radnu petlju.

 Nakon te provjere, slijedi procedura gdje se izvršava primanje naredbe sa RS-232

 porta i njeno pohranjivanje i varijablu PortInput. Tada slijedi još jedna provjera, ovaj put

 provjera vrijednosti varijable PortInput. U slučaju da je vrijednost varijable jednaka konstanti

vbEmpty tj. vrijednosti 0, tok programa se vraća na početak radne petlje.

U slučaju da je vrijednost varijable PortInput različita od vbEmpty, tok programanastavlja svoj put kroz radnu petlju i radi grananje ovisno o vrijednosti varijable PortInput.

Ako je vrijednost varijable jednaka konstanti tcSignalForCCW, tcSignalForCW ili

tcHLAlarmAndSignalForCW, tok programa ulazi jednu od dvije moguće grane. Prije

grananja tok programa ulazi u proceduru HandLimitCheck, kojoj je zadatak ustanoviti stanje

mikroprekidača stiska robotske šake i na temelju postavke o jačini stiska donijeti odluku o

eventualnom gašenju pogonskog motora koji kontrolira stisak šake.

Page 22: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 22/23

44 

Ovisno je li riječ o signalu za CW ili CCW naredbu, programski tok ulazi jednu od

dvije grane. Obe grane su ekvivalente, jedina razlika je u tome što procedure unutar grana

šalju različite parametre kao svoje argumente. Vrijednost parametara je direktno povezana sa

vrstom signalne naredbe. Kako se u obe grane radi o istim procedurama, opis jedne grane

vrijedi i za drugu.

Spomenute grane sadrže tri procedure: PrepareTask, CountSteps i SendTaskToMCU.

PrepareTask kreira aktuatorsku upravljačku naredbu. Kreiranje se vrši na jedan od tri

moguća načina ovisno o odabranom načinu rada:

5.  Kontrola segmenata ili pojedinačna kontrola motora

Upravljačka naredba kreira se direktno pomoću upravljačkih tipki, kao što je

opisano u poglavlju 4.3.1.

6.  Reproduciranje snimljenih sekvenci 

Upravljačka naredba kreira se uzimanjem naredbi iz datoteke koja sadrži

snimljene sekvence.

7.  Vraćanje u početni položaj

Pritiskom na dugme „Vrati na početni položaj“, upravljačka aplikacija kreira

naredbe s ciljem da je vrati u početno stanje (početne pozicije segmenata) u kojem je

 bila u trenutku pokretanja aplikacije.

CountSteps procedura broji pomake pogonskih motora od trenutka pokretanja

aplikacije kako bi aplikacija imala informaciju o otklonu od početnog stanja.

Procedura SendTaskToMCU šalje upravljačku naredbu serijskom portu, koji ju dalje

 preko komunikacijskog kanala prosljeđuje mikrokontroleru.

 Nakon izlaska iz grane, tok programa ulazi u proceduru ShowMotorActivites koja na

ekranu prikazuje trenutačnu aktivnost pogonskih motora.

 Naposljetku tok programa ponovno ulazi na početak radne petlje i cijeli postupak se

 ponavlja.

Page 23: Teachmover Software

7/21/2019 Teachmover Software

http://slidepdf.com/reader/full/teachmover-software 23/23

Slika 5.10 Osnovna blok shema procesiranja windows upravljač ke aplikacije