Professional Documents
Culture Documents
Robotitehnika õppetool
Tõnu Lehtla
ROBOTITE JUHTIMINE
Tallinn
1994
Eessõna
Käesolev raamat on robotite juhtimisele pühendatud sarja esimene osa. Selles käsitletakse
robotite juhtimise üldpõhimõtteid ning nende programmjuhtimise teoreetilisi aluseid. Sarja
teises osas vaadeldakse robotite juhtseadmete ehitust, tarkvara ja programmeerimist. Kolmas
osa on pühendatud robotite adaptiivjuhtimissüsteemidele.
Raamatu koostamisel oli suureks abiks professor Olav Aarna, kellele autor on
tänulik paljude nõuannete ning kasulike märkuste eest.
AUTOR
TÕNU LEHTLA
2
1. JUHTIMISSÜSTEEMIDE ÜLDISELOOMUSTUS
Mõiste automaat tuleneb kreeka sõnast automatos, mille eestikeelne tõlge on isetoimiv.
Tehnikas tähendab automaat seadet, masinat või seadmete ja masinate kogumit, mis võib
töötada iseseisvalt inimese vahetu osavõtuta tööprotsessist. Juhtimise seisukohalt on isetoimiv
masin või masinate kogum automaatjuhtimissüsteem, mida võib tinglikult jagada
juhtimisobjektiks ja juhtseadmeks (joon. 1.1).
Häiringud
Juhtimisobjekt
Juhttoimed Väljundid
Juhtseade
Juhtimise eesmärk
3
Juhtimissüsteemis kulgevad mitmesugused infovood, mille suunad on joonisel 1.1 näidatud
nooltega. Juhtimisobjekti tööd iseloomustavad väljundid, mida on alati võimalik mõõta.
Objekti käitumist mõjutavad häiringud ning juhtseadme poolt antavad juhttoimed.
Juhttoimed moodustatakse sõltuvalt juhtimise eesmärgist ning objekti väljunditest. Kui
objekti väljundeid kasutatakse selleks, et mõjutada objekti enda käitumist, siis toimib
süsteemis tagasiside. Kõiki süsteeme liigitatakse sõltuvalt tagasiside olemasolust avatud ja
suletud süsteemideks. Avatud süsteemide hulka loetakse suhteliselt lihtsad süsteemid, kus
tagasisideahelad puuduvad, s. t. väljundid ei mõjuta juhtseadme tööd. Suletud süsteemides
kontrollitakse tagasiside abil objekti väljundeid ning korrigeeritakse kontrolli tulemuste järgi
süsteemi edasist tööd. Nüüdisaegsetes robotites kasutatavad juhtimispõhimõtted võib liigitada
kolme suurde rühma.
4
5
Iga juhitavat protsessi või seadet iseloomustab antud hetkel tema olek. Tehnilise
juhtimisobjekti olekut kirjeldavad paljud ajas muutuvad suurused. Nende muutujate väärtuste
lõplikku hulka ehk n-mõõtmelist reaalarvuliste komponentidega vektorit nimetatakse objekti
pidevaks olekuks. Roboti manipulaatori olekut kirjeldavad kõigi tema lülide kiirusvektorid ja
asendid.
Juhitav Olekud X
protsess Mõõte-
või seade seade
Juhtseade
Juhtimise eesmärk
6
Näiteks tuleb liikuda lühimat teed pidi, minimaalse energiakuluga või võimalikult väikese
ajavahemiku jooksul. Oluliseks üldistuseks on, et roboti korral ei tähenda liikumine
olekuruumis mitte ainult manipulaatori lülide asendi geomeetrilist muutumist, vaid kõigi roboti
olekut kirjeldavate suuruste muutumist. Tervikuna iseloomustavad roboti tööd nii
kujutispunkti pidev liikumine olekuruumis kui ka tema diskreetsete olekute vaheldumine.
x
2
Täidab
operatsiooni
B
Täidab
Täidab
operatsiooni
operatsiooni
AA
On välja
lülitatud On rikkis
0 x
1
Joonis 1.3. Olekutasand
7
Kujutispunkti juhtimine olekuruumis on aktuaalne kõigi keerukate süsteemide korral, mis on
mitmemõõtmelised, mitmelisidusad ja stohhastilised.
Lihtsad süsteemid on enamasti ühemõõtmelised, s. t. ühe sisendi ja ühe väljundiga. Sel juhul
on juhtimisobjekti oleku ja väljundi vaheline sõltuvus määratav suhteliselt lihtsa funktsiooniga
ning niisuguseid süsteeme saab edukalt juhtida ka väljundite järgi (joon. 1.4). Juhtimise
eesmärk on väljundi automaatne stabiliseerimine, muutmine etteantud seaduspärasuse järgi
või muutmine tundmatu (määramatu, juhusliku) seaduspärasuse järgi. Vastavaid süsteeme
nimetatakse stabiliseerimis-, reguleerimis- või järgivsüsteemideks.
Häiringud
Reguleerimisviga Tagasiside
8
Pideva või diskreetse programmi järgi töötavat automaatregulaatorit nimetatakse
programmregulaatoriks. Programmregulaator koosneb programm- ehk etteandeseadmest ja
regulaatorist. Programmseade salvestab, säilitab ning taasesitab programmi. Eri seadmetes
kasutatakse selleks mehaanilisi, magnetilisi, elektrilisi ja optilisi andmekandjaid. Regulaator
võrdleb objekti programmikohast olekut tegelikuga ning moodustab juhttoimed. Kui objekti
töörežiimi (olekut) juhitakse varem koostatud eeskirja (programmi) järgi, siis on tegu
programmjuhtimisega.
Kõik need teadmised on andmete ja reeglite näol koondatud kontrolleri teabebaasi (knowledge
base), mis jaguneb omakorda andmebaasiks (data base) ja reeglite baasiks (rule base).
Hägusloogika kontroller võib olla süsteemis ainus juhtseade (joon.1.6) või töötada ka
paralleelselt hariliku PI-regulaatoriga (joon.1.7), aidates parandada süsteemi töö kvaliteeti.
9
a) b)
u u
1 1
0,5
16 24 20
c)
u
NB NM NS Z PS PM PB
Hägusloogika
kontroller Otsustus-
loogika
Selgiti Hägusti
Teabebaas
10
e Hägus-
. loogika
e
kontroller
u Juhtimis- x
d/dt objekt
w PI-
regulaator
x
.
e e
1
4
5
2 6 5 1
4 t 3 7 e
7 6
2
3
11
Joonis 1.8. Süsteemi vea siirdeprotsess ja faasitrajektoor
12
Kokku on kahe muutuja seitsme erineva hinnangu korral võimalik moodustada 49 reeglit (7 x
7 = 49). Igale juhttoimele omistatakse arvväärtused. Hägusloogika reeglid saab esitada ka
tabeli kujul.
Hägusloogika reeglid
N N
JT = ∑ (un × U n ) / ∑ un ,
n=1 n=1
kus un - kuuluvusfunktsioon,
Un - kuuluvusfunktsiooni hägune väljundsuurus,
N - korraga toimivate kuuluvusfunktsioonide arv.
13
Mudeli järgi saab hinnata objekti tegelikku olekut ning prognoosida järgnevaid olekuid.
Modelleerimise täpsus sõltub objekti keerukusest. Paljud juhtimisobjektid pole piisava
täpsusega modelleeritavad. Alati ei saa täpselt hinnata ka kõiki objekti olekuid iseloomustavaid
suurusi. Näiteks mõõdetakse üht osa neist anduritega, teisi määratakse objekti mudelist
kaudsete arvutuste teel, kolmandatele antakse üksnes ligikaudne hinnang. On olemas objekte,
mille tööd iseloomustatakse vaid ligikaudsete mudelitega, või ka objekte, millest puuduliku
informatsiooni tõttu polegi võimalik luua mõistlikku mudelit. Sel juhul on tegu
määramatusega, mis oluliselt raskendab juhtimist, kuigi on teatud viisil matemaatiliselt
kirjeldatav. Mida suurem on juhtimisobjekti struktuuri ja parameetrite määramatus ning
keskkonnahäiringute kontrollimatu muutumise ulatus, seda raskem on objekti juhtida.
Täielikult determineerituiks loetakse objekte, mida saab täpselt modelleerida ning millele ei
mõju juhuslikud häiringud. Selliseid objekte saab põhimõtteliselt juhtida ka ilma tagasisideta,
s. o. avatud süsteemis. Kahjuks leidub reaalsete objektide hulgas determineeritud objekte
väga harva. Enamasti on juhtimissüsteemid suletud. Igasugune määramatus kompenseeritakse
andurite informatsiooniga. Juhtimise eesmärgi saavutamine sõltub selle informatsiooni
tõepärasusest ning informatsiooni kasutamise oskusest või juhtseadme intellektuaalsest
tasemest.
14
1.2. Robot kui automaatjuhtimisobjekt
15
Side Operaator Energia
teiste
juhtsead-
metega Juhitav energia
Ajamite
Juhtseade
toiteplokk
Videokaamera
Mõõte- ja
liiteseade
Töötsoon
Tehnoloogia-
seadmed Täiturseade
Ümbritsev keskkond
16
Juhttoimed on tavaliselt elektrilised pidev- või arvsignaalid, mis määravad ajamite
toitemuundurite väljastatavad energianivood. Roboti juhtimissüsteemi väljundid on
manipulaatori lülide asendi- ja kiirussignaalid, s. o. siseandurite signaalid, ning roboti
töökeskkonda ja tehnoloogiaseadmete tööd iseloomustavad välisandurite signaalid.
Juhtimissüsteemi häiringud on ajamite toitepinge või rõhu muutumine, teisaldatavate
esemete põhjustatud koormusjõud, robotsüsteemi transpordiseadmete töö ebatäpsus jms.
Seadesuurused on operaatori või teiste juhtseadmete poolt robotile antavad käsud. Põhiline
osa käskudest on salvestatud programmina juhtseadme mällu. Teise osa moodustavad käsud,
millega operaator või juhtarvuti sekkuvad operatiivselt roboti töösse.
Tuntakse robotite kolme põlvkonda, mida eristatakse sõltuvalt sellest, kui täpselt on roboti töö
formaliseeritav ning millise määramatuse korral on robot suuteline oma ülesandeid täitma.
Esimesse põlvkonda kuuluvad suhteliselt lihtsad robotid, mis talitlevad edukalt vaid täpselt
määratletud (determineeritud) tingimustes. Kuna mällu salvestatud programmi töötamise ajal
ei muudeta, siis on tegu jäiga programmjuhtimisega robotitega. Neil puudub ümbrusetaju ja
järelikult pole ka väliseid tagasisideahelaid. Manipulaatori liikumist ruumis juhitakse üksnes
sisemistelt asendi- ja kiiruseanduritelt saadud signaalide järgi. Esimese põlvkonna robotid
suudavad haarata esemeid, mille asend ja paigutus ruumis on roboti suhtes täpselt fikseeritud.
Seetõttu kasutatakse robotsüsteemis tehnoloogilisi abivahendeid, näiteks orienteeritakse
töödeldavad detailid eelnevalt ruumiliselt või paigutatakse need fikseeritud pesadega
kassettidesse. Nii suureneb oluliselt robotsüsteemi hind ning väheneb töö paindlikkus.
Kokkuvõtteks võib öelda, et esimese põlvkonna robotite juhtseadmete ülesandeks on
realiseerida jäigalt etteantud programm.
17
Teise põlvkonda kuuluvad ümbrusetajuga robotid, mis kohastuvad keskkonnas toimuvate
muutustega. Ümbrusetajuks vajaliku välise informatsiooni allikateks on mitmesugused puute-,
lähedus- ja lokatsiooniandurid ning masinnägemine. Teise põlvkonna robotite juhtimise
algoritm sõltub konkreetsest olukorrast töötsoonis. Eri olukorrad nõuavad robotilt erilaadset
tegutsemist. Seepärast peab teise põlvkonna robotite juhtseade lisaks juhtalgoritmi
realiseerimisele vajaduse korral ka algoritmi ümber häälestama. Roboti tööd juhib kõrgema
tasandi programm, mis sõltuvalt olukorrast muudab roboti tööprogrammi. See tähendab, et
keerukuse tõttu on otstarbekas jaotada juhtimisfunktsioonid eri tasandite vahel ning kasutada
hierarhilist juhtimist.
Iga järgmise tasandi algoritm juhib eelmise tasandi tööd, laiendades juhtseadme
funktsionaalseid võimalusi ning parandades juhtimise kvaliteeti. Seega täidab kolmanda
põlvkonna roboti juhtseade ka neid ülesandeid, mis esimese ja teise põlvkonna robotite korral
on inimese täita.
18
1.3. Robotite matemaatilised mudelid ja juhtimisülesanded
Σ:( T ,U , Qu , H , Qh , X , Y , ϕ, ψ ),
mille komponentideks on
T - reaalarvuliste ajahetkede hulk;
U - juhttoimete hetkväärtuste hulk;
Qu - lubatavate juhttoimete kui ajafunktsioonide hulk,
kusjuures u(t) ∈ Qu;
H - häiringute hulk;
Qh - lubatavate häiringute kui ajafunktsioonide hulk,
kusjuures h(t) ∈ Qh;
X - olekute hulk ehk olekuruum;
Y - väljundite hulk;
dx ( t )
ϕ: = F x ( t ), u( t ), h( t ), p ( t ), t (1.1)
dt
19
lahendiks algoleku xo = x(to) korral. ψ(*) on aga võrrandisüsteemi
ψ: y ( t ) = G x ( t ), h( t ), t (1.2)
Si = S ( ti , xi ) ∈ ( T × X )
x
2
Sf
o
o xf
1
2
o
xo
0 x1
20
Kui optimaaljuhtimise ülesanne õnnestub lahendada nii, et juhttoimete vektor u on ainult
ajafunktsioon u(t), kus t ∈ (to, tf), siis on tegemist optimaalse programmjuhtimisega.
Seejuures võib leitud programm u(*) olla soovitud olekutrajektooriks (seadesuuruseks) ühele
või mitmele alama taseme juhtimissüsteemile. Kui aga optimaaljuhtimise ülesande lahendiks
saadakse juhttoimete vektor u funktsioonina objekti olekust u[x(t)], siis võib väita, et
matemaatiliselt on lahendatud optimaalse tagasisidestatud süsteemi sünteesi ülesanne.
tf
kus K(*) ja L(*) on skalaarsed funktsioonid, mis iseloomustavad lõppoleku ja objekti tegeliku
olekutrajektoori kvaliteeti.
Lineaarsete süsteemide teooria on tänaseks väga põhjalikult läbi töötatud ning leidnud
ulatuslikku käsitlust erialakirjanduses. Seepärast kasutatakse mittelineaarsete süsteemide
uurimiseks valdavalt lineaarsete süsteemide teooriat. Oluliste mittelineaarsuste korral
jaotatakse need süsteemid lineaarseteks ja mittelineaarseteks osasüsteemideks, mis
märgatavalt lihtsustab süsteemide analüüsi ja sünteesi. Näiteks eraldatakse ülejäänud
21
süsteemist releetoimeline (binaarne) element või mõni muu oluliselt mittelineaarse
karakteristikuga element.
22
Mittelineaarse süsteemi lineariseerimine põhineb eeldusel, et statsionaarses režiimis on
süsteemi oleku kõrvalekalle soovitud olekust väike. Lineariseerimiseks kasutatakse mitut
moodust. Kõige lihtsam on süsteemi elementide mittelineaarsete karakteristikute asendamine
statsionaarse tööpunkti ümbruses lineaarsetega. Süsteeme, mida kirjeldavad mittelineaarsed
diferentsiaalvõrrandid, lineariseeritakse nende funktsioonide arendamisega Taylori ritta.
Näiteks diferentsiaalvõrrandi
∂ϕ ∂ϕ ∂ϕ
( ) 0 ∆u + ( ) 0 ∆u' + ( ) 0 ∆u" +...
∂u ∂ u' ∂u"
∂ϕ ∂ϕ ∂ϕ
...( ) 0 ∆y + ( ) 0 ∆y ' + ( ) 0 ∆y " +... ≈ 0. (1.4)
∂y ∂y ' ∂y "
t = π / ω max , (1.5 )
x ' ( t ) = F x p , x ( t ), p( t ), h( t ), u( t ) , (1.6)
kus x ' ( t ) = dx / dt ,
xp - manipulaatori soovitud olek ehk programmliikumine,
x(t) - manipulaatori tegelik olek,
p(t) - parameetrite vektor,
h(t) - häiringuvektor,
u(t) - juhttoimete vektor.
23
Roboti juhtimissüsteemi sünteesimisel leitakse tema juhtimisseadus. Sõltuvalt sellest millist
informatsiooni roboti juhtimiseks kasutatakse, mis on juhtimise eesmärk ning milliseid
kvaliteedinõudeid manipulaatori liikumisele esitatakse, võib juhtimisseadusel olla erisugune
matemaatiline kuju. Näiteks võib tuua järgmised juhtimisseadused:
1) u( t ) = U x p (t ) (1.7)
2) u( t ) = U x p ( t ), x ( t ) (1.8)
3) u( t ) = U x p ( t ), x ( t ), p( t ) (1.9)
4) u( t ) = U x p ( t ), x ( t ), p( t ), h( t ) (1.10)
Võrrandi (1.7) korral sõltub juhttoime ainult etteantud programmliikumisest xp(t). See
tähendab, et juhtimine toimub avatud süsteemis ning tagasisideahelad puuduvad. Teine
seadus (1.8) põhineb etteantud ja soovitud olekute võrdlemisel, mille tulemustest sõltuvalt
leitakse viga korrigeeriv juhttoime. Kolmas seadus arvestab olekute hindamisel ka parameetrite
muutumist. Funktsiooni p(t) saab leida juhtimisobjekti mudeli abil. Neljanda seaduse (1.10)
korral võetakse juhtimisel arvesse ka häiringusignaalid h(t). Kahjuks on enamikku häiringuid
raske mõõta, sest puuduvad sobivad andurid.
24
Juhtseadme riist- ja tarkvara koosneb elementidest ja plokkidest, mida ühendab kindel
struktuur. Enamiku juhtseadmete riistvara põhineb pooljuhtelementidel, alates transistoridest
ja dioodidest kuni suurte integraallülitusteni välja. Sõltuvalt integratsiooniastmest ja
funktsionaalsetest võimalustest on need elemendid paigutatud joonisel 1.11 eri
hierarhiatasanditele. Nendest koostatud juhtseadmed erinevad üksteisest ka keerukuse ja
funktsionaalsete võimaluste poolest. Robotite juhtseadmetest on lihtsaimad
programmeeritavad kontrollerid. Täiuslikemate robotite juhtimiseks kasutatakse ühe- ja
mitmeraalijuhtseadmeid.
Elementide arv
(integratsiooniaste)
10 9
Mitmeraali-
juhtseadmed,
Tarkvara
10 8 adaptiiv- ja
programmjuhtimine
10 7
Üheraalijuhtseadmed,
10 6 programmjuhtimine
10 5 Programmeeritavad
kontrollerid
10 4
Programmeeritav loogil. maatriks
10 3
Funktsionaalloogikalülitused
10 2
Loogikaelemendid
10 Riistvara
Diskreetsed elemendid
1
Hierarhiat loetakse süsteemi keerukuse tunnuseks. Teatud keerukusest alates ei suuda üks
keskjuhtseade enam kõiki juhtimisfunktsioone rahuldavalt täita. Siis võetakse
üheraalijuhtseadmete asemel kasutusele mitmeraalijuhtseadmed ning hierarhilise juhtimise
põhimõte. Kogu juhtimissüsteem muutub sel juhul mitmetasandiliseks. Juhtimisfunktsioonid
jaotatakse eri tasandite vahel: alumine tasand täidab suhteliselt lihtsaid, kuid kiiret reageerimist
nõudvaid ülesandeid, ülemised aga keerukamaid, üldisema iseloomuga ülesandeid.
Kahetasandilise süsteemi korral nimetatakse eri tasanditel toimuvat juhtimist vastavalt
lokaalseks ja keskjuhtimiseks. Roboti puhul juhitakse lokaalsel tasandil manipulaatori
ajameid, kusjuures iga ajamit juhib eraldi juhtplokk. Keskjuhtimine on ette nähtud
manipulaatori lülide liikumise kooskõlastamiseks ning roboti tööprotsessi korraldamiseks.
25
Mitmeraalijuhtseadmetes jaguneb ka tarkvara eri juhtimistasandite vahel. Seejuures
moodustab tarkvara riistvarast sõltumatu hierarhilise süsteemi, mis täiendab kogu
juhtimissüsteemi uute tasanditega. Näiteks võib tarkvara abil lisaks programmjuhtimisele luua
adaptiivjuhtimise või tehisintellekti tasandid, mille ülesandeks on programmide automaatne
muutmine või uute programmide koostamine.
Juhtseadmed võivad olla spetsiaalsed või universaalsed. Esimesed on ette nähtud ühetüübiliste
objektide ühetaoliseks juhtimiseks. Teised võimaldavad juhtida eri objekte (protsesse ja
seadmeid). Nii juhtseadmete riist- kui ka tarkvara liigitatakse spetsiaalseks ja universaalseks.
Seadmed, juhtplokid ja mehhanismid, mille konstruktsioon määrab üheselt nende
funktsioonid, on spetsiaalne ehk eririistvara. Sellele vastandina on universaalne riistvara
mitmeotstarbeline ja paindliku konstruktsiooniga. Universaalsus saavutatakse mehhanismide
ümberseadistamise, juhtseadmete ümberhäälestamise või ümberprogrammeerimise abil.
Mainitud tegevust võib nimetada unifitseerimiseks. Selle abil saab suhteliselt lihtsalt anda
seadmele uue otstarbe. Võrreldes unifitseerimise viise omavahel, osutub, et kõige tülikam on
mehhanisme ümber seadistada, kõige hõlpsam aga juhtseadmeid ümber programmeerida.
Seepärast kasutatakse universaalsete automaatide juhtimiseks ümberprogrammeeritavaid
juhtseadmeid.
26
ka universaalseks tarkvaraks. Robotsüsteemi juhtimiseks ettenähtud konkreetset töö-
programmi võib lugeda aga spetsiaalseks ehk eritarkvaraks.
27
Tarkvara moodustab juhtseadme riistvara ja inimese vahel hierarhilise (mitmekihilise)
süsteemi. Osa tarkvarast on vahetus kokkupuutes riistvaraga, osa inimesega. On otstarbekas, et
inimene täidab ainult neid spetsiifilisi ülesandeid, millega juhtseade toime ei tule. Niisuguseks
ülesandeks on näiteks robotile konkreetse tööprogrammi koostamine. Mida täiuslikum on
robot, seda mahukam on tema mällu salvestatud universaalne tarkvara, mida robot vajaduse
korral ilma inimese abita kasutab. Universaalse riistvara ja tarkvara ühitamise tulemusena on
loodud niinimetatud püsivara, mis tähendab püsimälukiipidesse salvestatud programme.
Inimese ja automaadi ning riist- ja tarkvara vahekordi näitab joonis 1.12, kus RV tähistab
riistvara, TV tarkvara ja PV püsivara. Indeksid u ja s tähistavad riistvara ja tarkvara
universaalseid ja spetsiaalseid osasid. Mida universaalsem on automaat, seda vähem peab
inimene kohandama teda uueks tööks. Joonisel näitab seda viirutatud alade pindala.
INIMENE AUTOMAAT
Kõrgkeeles programmeeritav
Probleemorienteeritud
automaat
kõrgkeeles
programmeerimine
TVs TVu PV RV u RVs
Kõrgkeeles programmeeritav
Masinorienteeritud
automaat
kõrgkeeles
programmeerimine
TVs TVu RV u RV s
Juhtimis-
objekt
Masinakoodis programmeeritav
Masinakoodis automaat
programmeerimine
TVs RV u RV s
Ümberhäälestatav automaat
Häälestamine
RVs
28
Automaatjuhtimise võimalusi on aastakümneid piiranud juhtseadmete riistvara tehniline tase.
Arvutustehnika tormiline areng on olukorda juhtimistehnikas muutnud. Raalid on
universaalsed juhtseadmed, mille riistvara ja tarkvara võimaldavad realiseerida väga keerukaid
juhtimisalgoritme. Seepärast on juhtimisel kujunenud määravaks nõutavate programmide ehk
tarkvara loomine.
Juba vanaaja meistritel õnnestus luua mehaanilisi automaate, mis töötasid varem salvestatud
programmi järgi. Nüüdisaegsete programmjuhtimissüsteemide otsesteks eelkäijateks olid aga
keskaegsed muusika- ja mänguautomaadid ning kõige tavalisemad mehaanilised kellad. Et
programmiga juhitav tegevus kulgeb alati reaalses ajas, siis sobisid seda liiki juhtimiseks kõige
paremini kellamehhanismid, mis ühendati täitureid käitavate mehaaniliste prog-
rammikandjatega. Programmikandjatena kasutati mitmesuguseid pöörlevaid kettaid ja
trumleid, mille pinnal olid programmi kohaselt avad, nukid või tikud. Seepärast nimetatakse
neid kas nukk-ketasteks või tikktrumliteks. Iga nuki, tiku või ava ülesanne on käitada
mehaanilise mõjutamisega või ka käsusignaali väljastamisega teatud täitur. Kuna ketas või
trummel liigub tsükliliselt, s. t. iga täispöörde järel hakkab programm korduma, nimetatakse
niisuguseid juhtseadmeid tsüklilisteks. Lihtsaid tsüklilisi mehaanilisi programmaatoreid
kasutatakse tänapäeval ulatuslikult paljudes majapidamismasinates, nagu pesu- ja
õmblusmasinad, rösterid, elektripliidid jms. Neid läheb tarvis ka tööstusseadmetes, sealhulgas
tööstusrobotite eelkäijates - teisaldusautomaatides. Teisaldusautomaat on muutumatu
tööprogrammiga automaatmanipulaator, mida kirjanduses nimetatakse ka autooperaatoriks.
Erinevalt robotitest pole ta ümberprogrammeeritav. Mehaaniliste programmaatorite eeliseks on
lihtsus ning suur töökindlus, kuid programmi vahetamiseks tuleb programmikandjal muuta
nukkide või tikkude asetust või programmikandja välja vahetada.
29
programmikandja mehaaniliselt ümber häälestada. Manipulaatori positsioonimispunktide
asukohta muudetakse aga, paigutades ümber teekonnalüliteid või piirikuid.
Fotodioodid
Valgusallikas
+
-
Tikktrummel
Kui osa trumli avasid täita programmi kohaselt tikkudega, teine osa aga jätta täitmata, siis
langeb valgus ainult teatud fotodioodidele ja nende signaalid käitavad programmi käsule
vastavad täiturid. Nii moodustab iga trumli avade rida ühe programmi käsu. Programmi
maksimaalne pikkus võrdub ridade arvuga trumlis. Pärast käsu täitmist pöördub trummel
automaatselt ühe rea võrra edasi. Avade arv reas ehk käsusõna pikkus sõltub robotile ja
tehnoloogiaseadmetele antavate juhtsignaalide arvust. Kirjeldatud programmiseade on näiteks
kasutusel tööstusroboti "Universal 5" juhtimissüsteemis. Analoogilisi või põhimõttelt
sarnaseid programmjuhtimisseadmeid kasutati paljudes maailma robotites, alates esimeste
tööstusrobotite loomisest kuni 1960. aastate lõpuni.
30
aste viia vastavusse programmi ühe käsuga ja eri kontaktipaaride ahelad ühendada roboti
täiturite lülitamiseks, saab komandokontrolleriga juhtida samuti nagu tikktrumlitega.
Juhtplokk
Signaalid
lõpplülititelt
31
1.6. Juhtimissüsteemide liigitus
Manipulaatori ajamite tööd juhib inimene nupplülitite abil edastatavate diskreetsete käskudega
või seadurilt väljastatavate signaalidega. Kui seadur on mehaaniliselt sidestatud manipulaatori
lülidega, on tegemist lihasjõu ja jäsemete liikumisulatuse võimendiga, mida nimetatakse
eksoskeletoniks (välisskeletiks). Enamasti on seadur sidestatud manipulaatoriga elektriliste,
pneumaatiliste või muud liiki signaalide abil. Jõu tagasimõjuga süsteemides tunneb
operaator seaduri abil manipulaatori lülidele mõjuvaid jõudusid, mis võimaldab tal reageerida
ootamatutele või silmale märkamatuks jäävatele takistustele töötsoonis.
Roboteid inimene vahetult ei juhi. Inimese ülesandeks on robot tööks ette valmistada.
Juhtimise seisukohalt tähendab see tööprogrammide koostamist ning sisestamist juhtseadme
mällu. Mida paindlikum ja iseseisvam peab robot olema, seda suuremat ja võimsamat tarkvara
ta vajab. Eristatakse jäiga programmiga ehk programmjuhtimisroboteid ja isekohastuva
programmiga ehk adaptiivjuhtimisroboteid. Eriti suure isekohastumisvõimega roboteid
nimetatakse intellektuaalseteks. Need kolm juhtimissüsteemi vastavad kolmele
robotipõlvkonnale. Põhiliselt kasutatakse tööstuses mitmesuguseid programm-
juhtimisroboteid. Neid on üksikasjalikult võrreldud tabelis 1.1.
32
Manipulaatorite ja robotite
juhtimissüsteemid
Programmjuhtimis-
Juhtimine Kontroll robotid
1. Nupplülititega 1. Visuaalselt
2. Seaduritega Adaptiivjuhtimisrobotid
2.1. Mehaanilise 2. Telepildi
sidestusega vahendusel
2.2. Jõu tagasi- 3. Andurite ja Intellektuaalsed
mõjuta telekontrolli robotid
2.3. Jõu tagasi- vahenditega
mõjuga
3. Bioimpulssidega Positsioon- või Adaptiivjuhti- Adaptiivjuhti-
kontuurjuhtimine mine isehääles- mine, iseprog-
4. Kõnega jäiga programmi tuva programmi rammeerimine
järgi järgi isemodelleeri-
mine, iseõppi-
mine ja iseorga-
niseerimine
Juhtimine Programmeerimine
33
Tabel 1.1
Programmjuhtimisrobotid
Programmjuhtimisroboti liik Põhilised juhtimisülesanded Infotöötluse ja infotöötlusvahendite Infokogumisseadmete liik ja töö
tunnused iseloom
Positsioonjuhtimisega robot Manipulaatori liikumise arvjuhtimine ja Manipulaatori liikumist kontrollitakse Kasutatakse asendit, kiirust ja ajamite
robotsüsteemi seadmete loogiline pidevalt, kuid positsioonitakse koormust määravaid andureid,
juhtimine. Seadmete töörežiimide diskreetsetes punktides. Tööseadme robotsüsteemi seadmete tööd ja
automaatne kontroll ja diagnostika. trajektoori pole võimalik teisaldatavate esemete paigutust
Infovahetus operaatoriga ning programmeerida, sest ajamid töötavad kontrollivaid andureid
juhtarvutitega.Roboti õpetamine üksteisest sõltumatult. Töödeldavate
programmide pikkus on mõnisada
sammu. Juhtimiseks sobivad lihtsad
välismäluga arvprogrammseadmed
Kontuurjuhtimisega robot Lisaks positsioonjuhtimisega robotile Manipulaatori liikumist kontrollitakse Sama nagu positsioonjuhtimisega
analüütiline programmeerimine ning pidevalt. Tõöseadme trajektoori suur robotitel
operaatori töö dialoogirežiimis tugipunktide arv võimaldab keerukaid
ruumilisi liikumisi. Trajektoori
interpoleerimine. Juhtimiseks sobivad
täiuslikud arvprogrammseadmed
34
Tabel 1.2.
Juhtseadmete tehnilised andmed
Juhtseadet Tsükliline Positsioonjuhtimine Kontuurjuhtimine
iseloomustav positsioonjuhtimine
tehniline näitaja
35
Positsioonjuhtimisega robotid sobivad töödeks, kus manipulaatori tööseadist (haaratsit või
tööriista) tuleb täpselt positsioonida ainult diskreetsetes punktides. Niisuguseid roboteid
kasutatakse esemete teisaldamisel, kontaktkeevitusel, stantsimisel jm. Lihtsamate teisalduste
korral kasutatakse tsüklilise positsioonjuhtimisega roboteid, millel on väike (kuni 10 igal
lülil) positsioonimispunktide arv. Programmjuhtimisrobotitest on kõige täiuslikumad
kontuurjuhtimisega robotid, mille tööseadised järgivad programmiga etteantud trajektoori.
Roboti loogilisel juhtimisel tuleb määrata tööoperatsioonide õige järjekord, kaitsta inimesi ja
seadmeid avariide eest ning signaliseerida ebanormaalsete režiimide tekkest. Tsüklilise
positsioonjuhtimisega robotites juhitakse loogikasignaalidega ka manipulaatori liikumist.
36
Anduri mõõtetäpsus ja väljastatava informatsiooni hulk on võrdelises seoses. Näiteks
vähem kui 0,1 %-se mõõtevea saavutamiseks peab signaal võimaldama eristada 1000 väärtust
ehk diskreetsusastet. Vastava kodeeritud informatsiooni edastamiseks tuleb kasutada vähemalt
10-järgulist kahendarvu, sest 210 = 1024. Manipulaatori lülide asendi mõõtmisel võib
diskreetsusastmete arv ühes koordinaadis olla 215...216. Anduri väljundsignaali kahendjärkude
arv määrab tavaliselt ka juhtseadme infosõna pikkuse, sest seadme töökiiruse seisukohast pole
signaali jaotamine osadeks ning nende järjestikune edastamine ja töötlemine otstarbekas. Mida
täpsem ja dünaamilisem on juhitav liikumine, seda pikem peab olema infosõna ning seda
suurem juhtseadme töökiirus.
37
Programmeeritavate kontrollerite korral kasutatakse robotsüsteemi seadmete ning
tehnoloogiaprotsessi loogiliseks juhtimiseks ettenähtud keeli, millel on suhteliselt lihtne
struktuur ja väike käsustik. Sageli kasutatakse nendes keeltes elektriliste releeskeemide
sümboolikat.
Roboti ja juhtseadme valik sõltub paljudest asjaoludest. Juhtseadme riist- ja tarkvara tehniline
tase võib olla väga erinev, mille kohta tabel 1.2 annab vaid üldise iseloomustuse. Konkreetse
robotsüsteemi loomisel tuleb teada ka seadme konstruktsiooni, töökindlust,
ekspluatatsioonitingimusi, hinda ja paljusid teisi andmeid, mida tabelis pole.
38
2. PROGRAMMJUHTIMISE ALUSED
Esimese põlvkonna robotite puhul tuleb juhtida: 1) manipulaatori haaratsi või tööriista
liikumist ning 2) robotsüsteemi seadmete talitlust. Niisugune ülesannete jaotus teeb roboti
juhtimissüsteemi loomise lihtsamaks, eriti kui robot täidab paljudest diskreetsetest
operatsioonidest ning ajalistest etappidest koosnevat tehnoloogiaprotsessi ning kui seadmete
talitluse juhtimine on küllalt keerukas.
Manipulaatori liikumine on pidev või tükati pidev protsess, mille iseloomu määravad ajamid.
Seepärast võib manipulaatori liikumise juhtimist käsitleda ajamite juhtimisena. Iga ajami
juhtimist saab vaadelda kahelt eri tasandilt. Esiteks, liikumise üldjuhtimise eesmärgiks on
soovitud programmliikumise (soovitud olekutrajektoori) süntees. Teiseks, liikumise lokaalne
juhtimine peab selle soovitud liikumise nõutava kvaliteediga realiseerima.
39
Ajamite sõltumatu juhtimise korral töötab iga ajam oma algoritmi järgi ning nende
vastastikust mõju ei arvestata. Iga ajam on vaadeldav omaette dünaamilise süsteemina, mille
juhtimiseks kasutatakse ajami dünaamilist mudelit. Ajami juhtseadme ülesandeks on
kõrvaldada soovitud ja tegeliku liikumise erinevusest tingitud viga. Juhtimissüsteem toimib
alles siis, kui viga on tekkinud, ning juhtimise seisukohast pole oluline, kuidas kulgeb
liikumine edaspidi. Sel põhimõttel töötab enamik roboti teisaldusmehhanismide ja tööpinkide
ettenihkemehhanismide käitamiseks mõeldud servoajameid. Ajamite sõltumatut juhtimist
kasutatakse positsioonjuhtimisega robotites, mis positsioonivad tööseadist täpselt
programmiga etteantud punktides. Seejuures pole oluline, millist trajektoori mööda liigub
roboti haarats või tööriist ühest punktist teise.
40
Energia
- AR - KR TM M R 1. lüli
KA
Prog- q
1
ramm- AA
seade
q
n
- AR - KR TM M R n. lüli
KA
AA
41
Energia
Soovitud . ..
q q q
liikumine
qn
Tegelik n. AA
Mõõteseade
liikumine
Oleku
hindaja q1
1. AA
Üldistatud
asendikoordinaadid
42
vajalikud asendisignaalid ning jättes arvestamata kiirus- ja kiirendusvektorite vahelised seosed.
Loomulikult halvendab see roboti juhtimise kvaliteeti, sest osa informatsiooni jääb kasu-
tamata. Juhtimismoodust ise nimetatakse juhtimiseks asendialgoritmi järgi. Juhul kui
kinemaatikaülesande lahendamisel leitakse ka kiirusvektorid, on tegemist juhtimisega
kiirusalgoritmi järgi.
Kinemaatiliste seoste kaudu saab määrata tööseadise või ajamite liikumisparameetrid. Sellest
ei piisa aga manipulaatori töö täielikuks kirjeldamiseks, sest kinemaatikavõrrandid ei arvesta
manipulaatori lülidele ja ajamitele mõjuvaid jõude. Liikumisel tekkivad jõud ja momendid
leitakse dünaamikavõrranditest. Roboti juhtimisel kasutatakse manipulaatori dünaamikat
modelleerivat programmi, mida nimetatakse manipulaatori dünaamika-mudeliks.
px
A
P = p y . (2.1)
p z
43
{ A} z
p
z
A
P
o
y
p
y
px
x
X xB X yB X zB
A
X B = Y x B . A
YB = Y y B . A
Z B = Y z B . (2.2)
Z xB Z yB Z zB
X xB X
yB X
zB
Y
B R = xB
A Y
yB Y
zB = [ A
X B, A
YB , A
ZB . ] (2.3)
Z xB Z
yB Z
z B
Koordinaadistiku ehk teljestiku {B} asend teljestiku {A} suhtes (joon. 2.4) määratakse
selle teljestiku alguspunkti asendivektoriga A PBO ning rotatsioonimaatriksiga BAR:
B
Lükatud teljestikus {B} esitatud asendivektorit P (joon. 2.5) kirjeldatakse koordi-
naadistikus {A} kahe vektori summana
A
P= BP+ APBO . (2.5)
44
{A } z {A } z
A A
xB
{B }
{B }
zB
0
y
B zB
AP
BO xB yy
B
yA xy y
A
B
.
xA zy
B yB
x
A
Joonis 2.4. Haaratsi või tööriista suunistuse määramine ning teljestiku pööramine
{Β } z
o
B
{Α } z A P
P
0 y
x
AP
BO
A
P= BAR ⋅ B P. (2.6)
B −1 B T A −1 A T
B R= AR = AR ; A R= B R = B R .
A B
(2.7)
45
Ortonormaalne süsteem on ortogonaalne ristuvate elementidega süsteem, mille elemendi
norm on 1. Transponeeritud maatriks AT leitakse maatriksi ridade asendamisel veergudega.
Pöördmaatriks A-1 arvutatakse üldjuhul valemiga:
1
A−1 = ( A ji ), (2.8)
det A
n
cik = ∑ (aij ⋅ b jk ). (2.9)
j =1
A
P= BAR ⋅ B P+ APBO . (2.10)
A
P= ABT ⋅B P , (2.11)
AP A
R A
PBO B P
= B
⋅ . (2.12)
_ _ _ _ _ _
1 0 0 0 1 1
46
Teisendusmaatriks võimaldab kompaktselt kirjeldada asendivektorite teisendamise
protseduuri, mis on väga oluline keeruka kinemaatilise ahelaga manipulaatorite matemaatilisel
kirjeldamisel. Eespool leitud seoseid kasutatakse nii vektorite kirjeldamiseks erinevates
koordinaadistikes kui ka nende asendi muutmiseks, s.o. translatsiooni- ja
rotatsioonioperaatoritena:
1 0 0 qX
0 1 0 qY
TRANS (Q, Q ) = , (2.13)
0 0 1 qZ
0 0 0 1
cos Θ − sin Θ 0 0
sin Θ cos Θ 0 0
ROT (Z , Θ) = , (2.14)
0 0 1 0
0 0 0 1
Mitu järjestikust koordinaatide teisendust võib ühendada liitteisenduseks ning leida sellele
vastava teisendusoperaatori:
B
P= BCT ⋅C P; A
P= ABT ⋅B P ,
millest
A
P= ABT ⋅BCT ⋅C P. (2.15)
Liitteisenduse maatriks
A B A
R PCO + PBO
B A
B RCR
A
T = B
. (2.16)
C
_ _ _ _
0 0 0 1
Pöördeteisenduse maatriksi BAT võib esitada kujul:
A
R T
− R ⋅ POB
A T A
A −1
AT = AT = BT .
B B B B
ehk (2.17)
_ _ _ _
0 0 0 1
47
Teisendusmaatriks BAT pole ortonormaalne (ristuvatest ühikvektoritest koosnev) ning järelikult
ei võrdu tema pöördmaatriks transponeeritud maatriksiga.
DT = AT ⋅D T DT = BT ⋅CT ⋅DT ,
E E A E E B C
ja
siis
AT ⋅ DT = BT ⋅CT ⋅DT ,
E A E B C
millest
E −1 E A C −1
CT = BT ⋅ AT ⋅DT ⋅DT .
B
(2.18)
Euleri nurgad. Keha suunistust saab peale rotatsioonimaatriksi määrata ka kolme sõltumatu
nurga abil. Rotatsioonimaatriksi 9 elementi on üksteisest sõltuvad. Nende kohta kehtib 6
tingimust, sh. 3 ühikvektori pikkuse kohta:
X = 1; Y = 1; Z =1 (2.19)
ja 3 nende ortogonaalsuse kohta:
X ⋅ Y = 0; X ⋅ Z = 0; Y ⋅ Z = 0. (2.20)
z zB zB
B
y α
B yB
yA yB yA yA
γ
β
x
B xB
x xB
A xA xA
48
Teljestiku üldistatud rotatsioonimaatriksi saab tuletada ka üksikute rotatsioonioperaatorite
kaudu:
kus
cα − sα 0
ROT ( Z B , α ) = sα cα 0;
A
0 0 1
cβ 0 sβ
ROT ( YB , β ) = 0
A
1 0 ;
− sβ 0 cβ
1 0 0
ROT ( X B ,γ ) = 0 cγ − sγ .
A
0 sγ cγ
cα ⋅ cβ cα ⋅ sβ ⋅ sγ − sα ⋅ cγ cα ⋅ sβ ⋅ cγ − sα ⋅ sγ
A
B R (γ , β ,α ) = sα ⋅ cβ sα ⋅ sβ ⋅ sγ + cα ⋅ cγ sα ⋅ sβ ⋅ cγ − cα ⋅ sγ . (2.22)
− sβ cβ ⋅ sγ cβ ⋅ cγ
Kui tähistada
r11 r12 r13
A
B R = r21 r22 r23 (2.23)
r31 r32 r33
ning võrrelda avaldisi 2.22 ning 2.23, saab leida teljestiku pööramise nurgad:
kus Atan2(rij
49
Pööramine üldistatud telje ümber
esitatakse pööramisena ümber üldistatud telje. Sel juhul kirjeldab teljestiku pööramist
üldistatud telje ühikvektor ning üks pöördenurk Θ. Üldistatud telje suunda kirjeldab vektor
K:
A = [k , k
y z] . (2.25)
T
kus cθ = cosθ , sθ = sin θ , υθ = 1 − cos θ ja AK = k x , k y , k z .
Valemi 2.26 abil saab lahendada ka pöördteisenduse ülesande ning leida etteantud
rotatsioonimaatriksi korral üldistatud telje AK ning pöördenurga Θ.
Kui
r11 r12 r13
A
B R = r21 r22 r23 ,
r31 r32 r33
siis
r + r + r −1
θ = A cos 11 22 33 (2.27)
2
ning
r32 − r23
1
K= r13 − r31 . (2.28)
2 sin θ
r21 − r12
50
2.3. Kiirusvektorite teisendamine
A
A B
( V )=
P
dB
P , (2.29)
dt
P(t + ∆t )− B P(t )
( V )=
B
B B dB
B
VP = P = lim . (2.30)
∆t
P
dt ∆t →0
A B
( V )=
P
A
B R⋅ B VP = BA R ⋅
dB
dt
P. (2.31)
Sageli vaadeldakse kiirusvektorit mingis teises koordinaadistikus {C}, mis liigub mingi
üldisema keskkonnakoordinaadistiku {U} suhtes kiirusega vC =U VC 0 , kus UVC 0 on
koordinaadistiku {C} alguspunkti kiirusvektor koordinaadistiku {U} suhtes. Summaarne
kiirusvektor leitakse vektorite liitmisega
U
VP =U VC0+ CVP . (2.32)
Nurkkiiruse vektorit võib vaadelda jäiga keha liikumist iseloomustava suurusena erinevalt
joonkiiruse vektorist, mis tähistab punkti liikumist. Nurkkiiruse vektori sümbol on Ω.
Koordinaadistiku {B} pöörlemist koordinaadistiku {A} suhtes iseloomustab nurkkiiruse
vektor AΩ B , mis on füüsiliselt koordinaadistiku {B} pöörlemistelg koordinaadistikus {A
}, kusjuures vektori pikkus näitab nurkkiiruse suurust (joon. 2.7).
51
a) b) A
Ω
B
{A}
A {B}
Ω
B
Ω∆ t
∆P
P(t +∆ t)
θ P(t)
1) kulgliikumisel
A
VP = AVB0 + BA R ⋅ AVP ; (2.33)
2) pöördliikumisel
A
VP = ( V )+
A B
P
A
ΩB×AP ehk VP = BAR ⋅ B VP + A Ω B × BAR ⋅ B P;
A
(2.34)
52
Olgu antud funktsioonid:
y1 = f1 ( x1 , x 2 , x 3 , x 4 , x5 , x6 );
y 2 = f 2 ( x1 , x2 , x3 , x 4 , x5 , x 6 );
y 3 = f 3 ( x1 , x2 , x3 , x 4 , x5 , x6 );
(2.36)
y 4 = f 4 ( x1 , x2 , x3 , x 4 , x5 , x 6 );
y 5 = f 5 ( x1 , x 2 , x 3 , x 4 , x5 , x6 );
y 6 = f 6 ( x1 , x 2 , x3 , x 4 , x 5 , x6 ).
∂f1 ∂f ∂f
δy1 = δx1 + 1 δx2 +... + 1 δx6 ;
∂x1 ∂x2 ∂x6
∂f ∂f ∂f
δy2 = 2 δx1 + 2 δx2 + ... + 2 δx6 ;
∂x1 ∂x2 ∂ x6 (2.38)
...
∂f 6 ∂f ∂f
δy6 = δx1 + 6 δx2 + ... + 6 δx6 .
∂x1 ∂x2 ∂ x6
53
Järjestikuliste lülide korral leitakse summaarne nurkkiirus valemiga:
i +1
ωi +1= i +1i R ⋅i ω i + Θ
& ⋅i+1Z ,
i +1 i +1 (2.42)
kus
i +1
0
Θ& ⋅ Z = 0
i +1
i +1 i +1
&
Θ i +1
i +1
( )
vi +1 = i +i1R⋅i v i + i +i1R ⋅ i ω i × i Pi +1 . (2.43)
x3
y3
L2
x
2
Θ2
y2
y
y1 0
x1
L1
Θ1
x0
Ülesande lahendamiseks tuleb koostada üksikute lülide teisendusmaatriksid ning seejärel leida
lülide kiirused:
c1 − s1 0 0 c 2 − s2 0 L1 1 0 0 L2
s c1 0 0 s c2 0 0 0 1 0 0
0
T = 1 ; 1
T = 2 ; 2
T = .
1
0 0 1 0
2
0 0 1 0
3
0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
54
Kiiruste leidmiseks kasutatakse valemeid (2.42) ja (2.43).
0 0
1
ω 1 = 0 ; 1
v1 = 0; (2.44)
Θ&
1
0
0 c2 s2 0 0 L1 s 2Θ & 1
&
2
ω 2 = 0 ; 2
v 2 = − s 2 c 2 0 L1Θ & = Lc Θ
1 1 2 1 ; (2.45)
Θ& +Θ
1
&
2
0 0 1 0 0
L1s 2Θ&1
3
ω 3= 2 ω 2 ; 3 & +L Θ
v 3 = L1c 2Θ 1 2 (
& +Θ
1 )
& .
2 (2.46)
0
55
2.4. Manipulaatori kinemaatikamudel
Pöörleva lüli i-1 pikkus (link length) on tema kahe pöörlemistelje i ja i-1 vaheline kaugus,
mida tähistatakse tähega ai-1.
Lüli väändenurk (link twist) iseloomustab olukorda, kus pöörlemisteljed i ja i-1 pole
paralleelsed. Lüli väändenurka αi-1 môôdetakse pöörlemistelgede projektsioonide vahel
tasandil, mille normaalid on risti môlema pöörlemisteljega. Tavaliselt on pöörlemisteljed
paralleelsed vôi risti ning väändenurk α = 0, α = 90° vôi α = -90°.
56
si
i-1
θi
a i-1
α i-1
Kahte järjestikulist lüli ühendaval kinemaatilisel paaril on telg, mille suhtes môlemad lülid
liiguvad. Lülide tsentrid vôivad olla nihutatud piki telge. Lüli nihkeks (line offset)
nimetatakse lülide tsentrite vahelist kaugust Si, mida môôdetakse piki nende ühist
pöörlemistelge .
Lüli pöördenurgaks (joint angle Θi) nimetatakse lüli suhtelist pöördenurka ümber
kinemaatilise paari telje, mida môôdetakse naaberlülide pikitelgede vahel.
Pärast seda, kui manipulaatori kõigi lülide ja kinemaatiliste paaride jaoks on määratud 4
eespool loetletud parameetrit, s.o. lüli pikkus, väändenurk, lülide nihe ning suhteline
pöördenurk kinemaatilise paari telje ümber, on otstarbekas koondada need parameetrid
tabelisse. Joonise 2.10 kinemaatilise ahela parameetrid on koondatud tabelisse 2.1.
Tabel 2.1
i αi-1 ai-1 Si Θi
1 0 0 0 Θ1
2 90o 0 S2 0
57
3 0 0 L2 Θ3
58
z1
x1 x2 y3
x3
z2
z3
y1
S2 L2 Θ3
Θ1
Keerulise paljudest lülidest koosneva kinemaatilise ahela korral teisendatakse koordinaate järk-
järgult, alates etteantud lülist (tavaliselt haaratsist või tööriistast) kuni paigalseisva aluseni, s. t.
roboti baaskoordinaadistikuni. Kui mingi punkti asend i. koordinaadistikus on määratud
raadiusvektoriga Pi , siis i-1. koordinaadistikus võib selle punkti raadiusvektori Pi-1 arvutada
valemiga:
cΘi − sΘ i 0 ai −1
sΘ ⋅ cα cΘ i ⋅ cα i −1 − sα i −1 − sα i −1 ⋅ d i
i −1 i i −1
iT = . (2.53)
sΘ i ⋅ sα i −1 cΘ i ⋅ sα i −1 cα i −1 cα i −1 ⋅ d i
0 0 0 1
59
Mitmelülilise manipulaatori kinemaatika kirjeldamiseks tuleb leida igale lülile sobiv
koordinaadistik nii, et selle alguspunkt asuks lüli alguses oleva kinemaatilise paari teljel.
Joonisel 2.11 ja 2.12 on näidatud roboti PUMA 560 manipulaatori kinemaatikaskeem koos
üksikute lülide koordinaadistikega. Selguse huvides on otstarbekas vaadelda seda näidet
lähemalt ning tuletada koordinaadistike teisendusmaatriksid.
z
2
x2
y z1
2
z3
y1
x3
x1
d3
a2
y
3
y4 x4
z4
x3 d4 x4
z4
a3
y
3
x x
6 5
z y
6 5
60
Roboti PUMA 560 manipulaatori kinemaatilised parameetrid on koondatud tabelisse 2.2.
Tabeli järgi võib välja kirjutada kõikide lülide teisendusmaatriksid. Summaarne
teisendusmaatriks 06T leitakse üksikute lülide teisendusmaatriksite korrutamisega, kusjuures
korrutamist on otstarbekas teha kahes etapis. Esiteks leitakse osakorrutised 46T ja 13T ning
seejärel 06T .
Tabel 2.2
i αi-1 ai-1 di Θ
1 0 0 0 Θ1
2 -90o 0 0 Θ2
3 0 a2 d3 Θ3
4 -90o a3 d4 Θ4
5 90o 0 0 Θ5
6 -90o 0 0 Θ6
cΘ1 − sΘ1 0 0 cΘ 2 − sΘ 2 0 0
sΘ cΘ1 0 0 0 0 1 0
0
T = 1 , 1
T = ,
1
0 0 1 0
2
− sΘ 2 − cΘ 2 0 0
0 0 0 1 0 0 0 1
cΘ 3 − sΘ 3 0 a2 cΘ 4 − sΘ 4 0 a3
sΘ cΘ 3 0 0 0 0 1 d 4
3 3
3T =
2
, 4T , (2.54)
0 0 1 d3 − sΘ 4 − cΘ 4 0 0
0 0 0 1 0 0 0 1
cΘ 5 − sΘ 5 0 0 cΘ 6 − sΘ 6 0 0
0 0 − 1 0 0 0 1 0
5T = 6T =
4 5
, ,
sΘ 5 cΘ 5 0 0 − sΘ 6 − cΘ 6 0 0
0 0 0 1 0 0 0 1
c5 c 6 − c5 s6 − s5 0
s c6 0 0
6T = 5T ⋅ 6 T =
4 4 5 6 , (2.55)
s5 c 6 − s5 s6 c5 0
0 0 0 1
61
c4 c 5c 6 − s 4 s 6 − c 4 c5 s6 − s 4 c6 − c 4 s5 a3
s 5c 6 − s5 s6 c5 d 4
3
T = 3
T ⋅ 4
T = . (2.56)
6 4 6
− s4 c 5 c 6 − c 4 s 6 s 4c 5 s 6 − c 4c 6 s 4 s5 0
0 0 0 1
c 23 − s 23 0 a 2 c2
0 0 1 d 3
3T = 2T ⋅ 3 T =
1 1 2 , (2.57)
− s 23 − c 23 0 − a2 s 2
0 0 0 1
kus 1
r11 = c23 c4c5c6 − s4 s6 − s23s5c6 ,
1
r21 = − s4 c5c6 − c4 s6 ,
1
r31 = − s23 c4c5c6 − s4 s6 − c23s5c6 ,
1
r12 = − c23 c4c5s6 + s4c6 + s23 s5s6 ,
1
r22 = s4c5s6 − c4c6 ,
1
r32 = s23 c4c5s6 + s4c6 + c23s5s6 ,
1
r13 = −c23c4 s5 − s23c5 ,
1
r23 = s4 s5 ,
1
r33 = s23c4 s5 − c23c5 ,
1
p X = a2c2 + a3c23 − d 4 s23 ,
1
pY = d 3 ,
1
pZ = − a3s23 − a2 s2 − d 4c23 .
6T = 1T ⋅6T .
0 0 1
Manipulaatori korral, mil on nii kulg- kui ka pöördliikumisega lülid, kasutatakse üldistatud
koordinaate. Sõltuvalt sellest kas on tegemist pöörd- või kulgliikumisega, määratakse
üldistatud koordinaat qi nurga- või pikkusühikutes:
62
qi = σ i ⋅ Θi + (1 − σ i ) ⋅ Si , (2.59)
Tabel 2.3
i αi-1 ai-1 di=Si Θi
1 90o 0 S1 Θ1
2 0 0 S2 Θ2
3 90o a3 0 Θ3
4 -90o 0 S4 0
5 90o 0 0 Θ5
6 0 0 S6 Θ6
x3
S4 x 4; x 5
y
2
y
6
y3 z3 Θ6
z x z5
2 2 S2 z4
y Θ3 z6
1
Θ5
z x
1 1 z
0
y0
x Θ1
0
63
Joonis 2.13. Kulg- ja pöördliikumistega manipulaatori kinemaatikaskeem
Teisendusmaatriksi 0nT tulbad määravad haaratsi telgede xn, yn, zn suuna ja koordinaadistiku
alguspunkti On asukoha (joon. 2.14) ristkoordinaadistikus.
64
zo
O'
nz x
n
O
n
y
n
z
n
O'ny
O
y
o
O'
nx
xo O'n
65
y
3 1
2 o
0 x
Peale asendi tuleb jälgida ja juhtida ka manipulaatori lülide kiirust. Lülide kiiruse arvutamiseks
kasutatakse koordinaatide teisendusmaatriksite tuletisi Ti'. Teisendusmaatriksi
'
diferentseerimisel leitakse Ti järgmine avaldis:
k '
iT = Ki⋅kiT ( qi' ), (2.66)
kus diferentseerimist iseloomustab maatriks Ki. Pöördliikumise korral
0 − 1 0 0
1 0 0 0
Ki = (2.67)
0 0 0 0
0 0 0 0
ja kulgliikumise korral
0 0 0 0
0 0 0 0
Ki = . (2.68)
0 0 0 1
0 0 0 0
66
Kulgliikumise kiiruse võib i. koordinaadistikus leida avaldisest
i
vi = ∑ (U i j ⋅ Pi ) ⋅ q 'j , (2.69)
j =1
kus
∂ Γi i
Ui = = ∏ Tj' , (2.70)
∂ q j j =1
kus 1≤ j ≤ i ja i = 1, 2, 3, ... , n.
Pöördliikumise kiirus ωi
ω i = ∑ (Γ j ⋅ K j ) ⋅ q j ,
i
(2.71)
j =1
kus
Γn = T1 ( q1 ) ⋅ T2 (q2 ) ⋅ T3 ( q3 )⋅...⋅Ti (qi ) ⋅ Tn ( qn ). (2.72)
Kj valitakse lüli liikumise iseloomu järgi avaldisest 2.67 või 2.68. Analoogiliselt saab leida ka
kõigi lülide kiirendused.
67
2.5. Roboti liikumise üldjuhtimine
za r1
r
2
oA
ya y
ϕ
ψ
xa
x
68
3) planeerib trajektoori ning liikumisdiagrammi. Sirgjoonelise liikumise korral määrab
juhtseade trajektoori sihi, sellel liikumise suuna ning ajalise seaduspärasuse;
4) leiab tööseadise soovitud liikumise jaoks jooksvate asendite projektsioonid ristkoordi-
naadistikus xe, ye, ze, vajaduse korral määrab ka kiirusvektori projektsioonid;
5) määrab soovitud liikumise jaoks vajalikud käelülide asendid ϕe, ψ e, ze ning väljastab
need ajamitele seadesignaalidena, s. t. lahendab manipulaatori kinemaatika
pöördülesande;
6) kordab eespool loetletud tegevusi kuni positsioonimispunkti jõudmiseni ning
seejärel peatab liikumise.
ALGUS
LÕPP
69
Manipulaatori kinemaatika otsene ülesanne lahendatakse järgmise võrrandisüsteemi abil:
xa = r1 cos ϕ + r2 sin( ϕ + ψ );
ya = r1 sin ϕ − r2 cos( ϕ + ψ ); (2.73)
za = za .
r = xe2 + ye2 ;
c = ( r 2 + r12 − r22 ) / ( 2r );
h = r12 − c 2 ;
r = c + d;
ϕ 1 = arctg( y e / x e ), kui xe > 0;
ϕ 1 = π 2, kui xe = 0; (2.74)
ϕ 1 = π + arctg( y e xe ), kui xe < 0;
ϕ 2 = arctg(h c ),
ϕ e = ϕ 1 + ϕ 2;
ψ e = arctg(d h ) − ϕ 2 ;
ze = ze .
r2 Ae
ye
ψe
d
r1 h
ϕ2
c
ϕ1
ϕ
e
0 xe x
Joonis 2.18. Nurkade ϕe ja ψ e leidmine tööseadise soovitud asendi Ae (xe, ye) korral
70
Kinemaatika pöördülesanne lahendatakse ja leitakse ajamite seadesignaalid ϕe, ψ e, ja ze.
Lahendamise eeldusena peab teadma soovitud liikumist ristkoordinaadistikus ehk tööseadise
asendi koordinaate xe, ye, ze. Trajektoori planeerimist alustatakse liikumise alg- ja lõppasendi
koordinaatide võrdlemisest ning liikumissuuna määramisest. Sirgjoonelise liikumise korral
määratakse positsioonimispunktide vaheline kaugus. Ristkoordinaadistikus arvutatakse
punktide A1 ja A2 vaheline kaugus (joon. 2.19) valemiga:
L12 = ( x2 − x1 ) 2 + ( y2 − y1 ) 2 + ( z2 − z1 ) 2 , (2.75)
kus x1, y1, z1 on algasendi ja x2, y2, z2 lõppasendi koordinaadid. Tööseadise poolt läbitud tee
võrdub sirgjoonelise liikumise korral tööseadise lõppasendi kaugusega algasendist ehk
L= ( xe − x1 ) 2 + ( ye − y1 ) 2 + ( ze − z1 ) 2 , (2.76)
A
o 2
L 12
A1 o
-x O x
k yx = ( y2 − y1 ) / ( x2 − x1 ) = 1 / k xy ;
k zx = ( z2 − z1 ) / ( x2 − x1 ) = 1 / k xz ;
k xy = ( x2 − x1 ) / ( y2 − y1 ) = 1 / k yx ; (2.77)
k zy = ( z2 − z1 ) / ( y2 − y1 ) = 1 / k yz ;
k xz = ( x2 − x1 ) / ( z2 − z1 ) = 1 / k zx ;
k yz = ( y2 − y1) / ( z2 − z1 ) = 1 / k zy .
71
Algasendi koordinaatide, läbikäidud tee ja liikumissuuna järgi arvutatakse tööseadise soovitud
asendi koordinaadid:
1
xe = x1 + L ⋅ sign( dx ) 2
;
(1 + k yx + k zx2 )
1
ye = y1 + L ⋅ sign( dy ) 2 2
; (2.78)
( k xy + 1 + k zy )
1
ze = z1 + L ⋅ sign( dz) ,
( k xz2 2
+ k yz + 1)
kus L on läbitud tee, x1, y1, z1 - algasendi koordinaadid ja dx, dy, dz - siirde diferentsiaalid
manipulaatori tööseadise liikumisel. Läbitud tee ning kiiruse sõltuvust ajast nimetatakse
liikumisdiagrammiks. Seepärast võib kirjutada:
L = X (t ) ja dL / dt = dX / dt = V ( t ). (2.79)
Roboti liikumist planeeriv programmeerija valib eri kujuga diagrammide vahel. Kolmnurkne
kiirusdiagramm tagab maksimaalse toimekiiruse, trapetsdiagramm energiasäästlikkuse ning
siinusdiagramm sujuvuse. Trajektoori läbimise aeg oleneb kiirusdiagrammi kujust.
Kolmnurkdiagrammi korral arvutatakse see valemiga:
L12
X ( t ) = L12 − 1 + cos( π ⋅ t / t L ) . (2.84)
2
72
X( t )
V(t)
L=X( t )
V( t )
L 12
0 t
Selleks et juhtida valitud seaduspärasuse järgi roboti liikumist, lahendatakse võrrandid (2.78),
asendades neis läbitud tee pikkuse L funktsiooniga X(t), mis on määratud avaldistega (2.83) ja
(2.84). Seejärel tuleb lahendada manipulaatori kinemaatika pöördülesanne ning leida ajamite
seadesuurused ϕe, ψe ja ze.
Θ(t)
Θ
f
Θo
0 t=tf t
73
Positsioonjuhtimisel kehtivad järgmised piirangud:
Θ0 = a0 ;
Θ f = a0 + a1t f + a2t 2f + a3t 3f ; (2.92)
Θ& 0 = a1;
Θ& f = a1 + 2a2t f + 3a3t 2f ,
millest
a0 = Θ 0; a1 = Θ& 0 ;
3 2 & 1 &
a2 = (Θ f − Θ 0) − Θ0− Θ f; (2.93)
t 2f tf tf
2 1
a3 = − 3 (Θ f − Θ 0 ) + 2 (Θ& f − Θ& 0 ).
tf tf
74
x
Asend
0,5
0
t
Kiirus
.
x
0
t
..
x Kiirendus
+
0 t t
f
Kui kontuurjuhtimise soovitud trajektoor on antud teatud rajapunktide reana Θi(t), saab seda
trajektoori planeerida kuuppolünoomide abil. Niisugust tükiti polünomiaalset funktsiooni
nimetatakse splainiks (spline). Kiirust vôib rajapunktides määrata kolmel viisil:
Kiiruse automaatseks määramiseks rajapunktides tuleb leida suhteliselt lihtsad ning arvutis
kergesti rakendatavad reeglid. Näiteks on loogiline lugeda kiirus teekonna märgi muutumisel
nulliks. Kuna trajektoori tõusunurga tangens võrdub kiiruse hetkväärtusega, vôib rajapunktis
arvutada näiteks trajektoori lõikude tõusunurgaga tangensite keskväärtuse ning omistada selle
väärtus rajapunkti kiirusele. Muidugi saab välja mõelda ka teisi rajapunkti kiiruse automaatse
määramise heuristilisi reegleid.
75
Kõige enam huvi pakub kolmas kiiruse määramise viis, mis tagab kiirenduse pidevuse ning ka
tükiti polünomaalse funktsiooni diferentseeritavuse rajapunktis.
Θ (t)
2
Θ (t)
1 v
to tv t
t t f2
f1
ning soovitakse neid ühendada mingis punktis v nii, et kiirendus seal oleks pidev, siis võib
välja kirjutada järgmised võrrandid:
Θ0 = a10 , sest t 1 = 0;
2 3
Θ v = a10 + a11t f 1 + a12 t f 1 + a13t f 1 , sest t 1 = tf1;
Θ v = a20 , sest kui t = tv, siis t 2 = 0; (2.95)
2 3
Θ v = a20 + a21t f 2 + a22 t f 2 + a23t f 2 , sest t 2 = tf2;
Kui lahendada võrrandid (2.95) tingimusi (2.96) arvestades, siis leitakse kuuppolünoomide
tegurid, mille korral on rajapunktis tagatud kiirenduse pidevus. Kui t f = tf1 = tf2, siis on
trajektoori punktid määratud võrdsete ajaintervallide järel:
76
a10 = Θ 0 ;
a11 = 0;
12Θ v − 3Θ f − 9Θ 0
a12 = ;
4t 2f
− 8Θ v + 3Θ f + 5Θ 0
a13 = ; (2.97)
4t 3f
a20 = Θ v;
3Θ f − 3Θ 0
a21 = ;
4t f
− 12Θ v + 6Θ f + 6Θ 0
a22 = ;
4t 2f
8Θ v − 5Θ f − 3Θ 0
a23 = .
4 t 3f
Θ
f
1. splain
2. splain
Lineaarne trajektoor
Θ
h
Θo
to tb tc th t f -tc t f - t b tf t
77
Sirgjoonelisele trajektoorile vastab ristkülikukujuline kiirusdiagramm, mis eeldab lõpmatu
suurt kiirendust käivitamisel ning aeglustust positsioonimisel ja on teoreetiliselt võimatu.
Praktikas on sellele lähedane väga aeglane ühtlase kiirusega liikumine. Kahe ruutparabooli
ühendamisel saadud trajektoor vastab kolmnurksele kiirendusdiagrammile, mis tagab
etteantud kiirenduse (ka jõudude ja momentide) korral maksimaalse toimekiiruse. Kõik
vahepealsed trajektoorid vastavad trapetsikujulisele kiirusdiagrammile. Kiirusdiagramm on
igal juhul keskpunkti Θh, th suhtes sümmeetriline.
&& t = Θh − Θb
Θ b , (2.98)
t h − tb
kus
1 && 2
Θb = Θ0+ Θ tb . (2.99)
2
&& t − Θ&& t t + ( Θ − Θ ) =
Θ
2
0, (2.100)
f b f 0
kus tf on liikumise soovitud kestus ja tb käivitusaeg. Teades kiirendust ja käivitusaega leitakse
t = [Θ&& t 2 + ( Θ − Θ )] / Θ
&& t . (2.101)
f b f 0 b
&& ≥ 4( Θ f − Θ 0)
Θ . (2.103)
t 2f
Võrratusmärk avaldises näitab, et väiksema kiirenduse puhul ei saa etteantud aja vältel liikuda
algpunktist lõpp-punkt.
78
Θ
k
Θ
j
Θ
i
ti tj tk t
Kui manipulaatori tööseadis peab täpselt läbima rajapunkti Oi ilma seal peatumata, tuleb
trajektoor planeerida lisatingimustega. Selleks võetakse etteantud rajapunkti lähedal
automaatselt kasutusele kaks pseudo-rajapunkti, üks ühel, teine teisel pool etteantud punkti
(joon. 2.26 ). Tulemusena möödub tegelik trajektoor pseudo-rajapunktidest ja läbib täpselt
etteantud punkti.
Pseudo-
rajapunktid
o o o
Tegelik
rajapunkt
79
y
A
o 2
A o
1
-x O x
Roboti juhtimisel arvestatakse, et tööseadis liigub ühest punktist teise liigendkäe lülide kahe
erisuguse asetuse korral. Ühel juhul paikneb lülisid ühendav liigend vasakul pool sirget OA =
r, teisel juhul aga sirgest paremal. Seepärast valitakse liikumise planeerimisel kõigepealt
käeliigendi sobiv asend ehk poos. Paljud robotid töötavad teatud tööruumis ainult kindla
poosiga. Liikumise ajal ei lubata poosi tavaliselt vahetada, sest sellega katkeb liikumise sujuvus
(joon. 2.27). Seepärast peab roboti juhtimise algoritm välistama poosi muutmise liikumise ajal.
Enne liikumise alustamist kontrollitakse, kas trajektoor on läbitav ilma poosi vahetamata.
80
2.6. Lokaalne juhtimine
Ajami liikumise stabiilsust hinnatakse ka süsteemi faasitrajektoori järgi. Ajami korral näitab
faasitrajektoor kiiruse sõltuvust läbitud teest ehk siirdest (joon. 2.28) ning ajami faasipunkti
(oleku kujutispunkti) liikumist tasandil (v, x) pärast seda, kui süsteem on mingi välise toime
tõttu tasakaalust välja viidud. Väliseks toimeks on näiteks koormuse järsk muutumine või
asendi uus seadesignaal. Ajami faasipunkt läheneb siis uuele etteantud positsioonimispunktile
x = 0, v = 0 kas perioodiliselt (joon. 2.28, a) või aperioodiliselt (joon. 2.28, b). Esimesel juhul
roboti tööseadis positsioonitakse võnkuvate liikumistega, mis paljude tööde korral pole
lubatud. Teisel juhul on ajami siirdeprotsess aperioodiline ning tööseadis läheneb
positsioonimispunktile ainult ühest suunast. Aperioodilise siirdeprotsessi korral on võimalik
asetada esemeid töötsoonis olevate takistuste lähedale, kus võnkumised võivad muidu viia
kokkupõrgeteni. Mõne töö puhul on aga väikese amplituudiga võnkumised
81
positsioonimispunkti ümber isegi kasulikud. Näiteks kui liite paremaks koostamiseks läheb
vaja teatud sobitusliikumisi. Faasitrajektoor on siis nullpunkti ümbritsev ellips, mis osutab, et
positsioonimispunkti ümber toimub pidev konstantse amplituudiga võnkeprotsess (joon.
2.28, c). Ellipsi sees olev trajektoor vastab mittestabiilsele liikumisele, kus faasipunkt eemaldub
positsioonimispunktist. Väljaspool ellipsit olevatel trajektooridel läheneb faasipunkt
positsioonimispunktile. Kõigi kolme faasitrajektoori siirdeprotsessid on joonisel 2.29.
a) v
-x x
b)
v
-x x
c)
v
-x x
82
a)
X
V x
0
b) t
X
V x
0
c) t
X x
V
0
t
83
Liikumise stabiilsuse ja nõutava kvaliteedi saavutamiseks leitakse sobiv juhtimisseadus ning
rakendatakse seda ajami juhtimisel. Selleks vaadeldakse ajamit kui juhtimisobjekti ning
koostatakse tema dünaamikamudel. Ajami mudel sõltub nii manipulaatori ehitusest kui ka
mootori, toitemuunduri ja andurite tööpõhimõtetest. Kõige enam kasutatakse robotites alalis-
voolumootoritega ajameid. Mootoreid toidavad suure toimekiirusega pooljuhtmuundurid, mis
ajami seisukohast on inertsivabad. Sama kehtib ka andurite ja mõõtemuundurite kohta. Ajami
tööd kirjeldab sel juhul järgmine diferentsiaalvõrrandite süsteem:
dIa
U = E + I a ⋅ Ra + La ;
dt
E = km Φ ω ;
Tm = k mΦ I a ;
Ts = f (ω , ϕ ); (2.104)
dω
J = Tm − Ts ;
dt
ω = dϕ / dt ,
dω
J = Tm ω , U ( t ) − Ts ( ω ), (2.105)
dt
kus U(t) on pinge muutumise seaduspärasus. Mootori momendi võib avaldada võrrandiga
Kui töötatakse avatud süsteemis, leitakse vajalik pinge muutumise seaduspärasus U(t),
lahendades võrrandid (2.105) ja (2.106).
1 dω
U (t ) = J + Ts (ω ) + E(ω ). (2.107)
pm dt
84
X( t ) ∆ x
V( t )
vt ∆ v
ve
xe
xt
0 t
1
U (t ) = ( J ⋅ a + Ts ) + k mΦ a ⋅ t . (2.108)
pm
Suletud süsteemis töötamisel juhitakse pinget sõltuvalt etteantud ja tegeliku kiiruse vahest:
U ( t ) = f ( ω e − ω t ). (2.109)
f = m ⋅ &&
x, (2.110)
85
kus x on punktmassi kiirendus ja f sellele toimiv jõud. Punktmassi positsioonjuhtimiseks
kasutatakse lihtsat juhtimisseadust:
f = − kv ⋅ x& + k p ( xs − x ), (2.111)
kus kv ja k p on kiirus- ja asendiregulaatori võimendustegurid, xs - soovitud
positsioonimispunkt, x - punktmassi tegelik asend ning x& selle kiirus. Võrrandite (2.110) ja
(2.111) ühendamisel saadakse punktmassi suletud positsioonjuhtimissüsteemi võrrand:
Kui lisaks soovitud asendile xs antakse ette ka soovitud kiirus x&S ja kiirendus x&& s, saadakse
mx&& = ( x&&s − x&&) + k v ( x& s + x& ) + k p ( x s − x ). (2.113)
Ühikmassi m =1 korral
e + k ve& + k p e = 0,
&& (2.114)
s2 + k v s + k p = 0, (2.115)
mille lahenditeks on
kv k v2 − 4 k p kv kv2 − 4 k p
s1 = − + ; s2 = − − . (2.116)
2 2 2 2
f m
..
xs + ..
Σ f=mx
+
+
kp kv
.
. e e
x
s
Σ
xs
Σ
86
87
Automaatjuhtimise teooriast on teada, et süsteemi karakteristliku võrrandi (2.115) juured
(2.116) määravad süsteemi stabiilsuse ning siirdeprotsesside omadused. Reaalarvuliste
juurtega süsteemi siirdeprotsess on aperioodiline, kompleksarvuliste juurtega süsteemi
siirdeprotsess aga võnkuv. Juurte avaldistest järeldub, et süsteemil on kriitiline sumbuvus,
juhul kui
k v2 − 4kp = 0.
(2.117)
f = α⋅ f ' + β, (2.120)
kus α ⋅ f ' kirjeldab punktmassi takistusvaba liikumist, β aga sellele mõjuvaid takistusjõude:
α = m; β = bx& + kx . (2.121)
k
f m
b
Niisugune teisendus võimaldab kasutusele võtta mudelil põhineva (model based) juhtimise,
mis taandab keeruka süsteemi masspunkti takistusvabaks positsioonjuhtimiseks. Viimases
toimib aga vea järgi (error driven) juhtimine:
'
f = xs + k ve& + k pe.
&& (2.122)
88
Süsteemi struktuur on joonisel 2.33. Sobivalt valitud tegurite α ja β korral võib keeruka
süsteemi taandada ühikpunktmassi takistuvabaks positsioonjuhtimiseks. Nendes tegurites
väljendub süsteemi mudel ning joonisel näidatud süsteem realiseerib nii mudeli kui ka vea
järgi positsioonjuhtimist.
Kui suletud süsteemis on ette antud võimendustegur k p = k sul , siis saab kriitilise sumbuvuse
jaoks leida avaldisest (2.122) juhtimisseaduse kiirusteguri ehk kiirusregulaatori ülekandeteguri:
kv = 2 ⋅ k sul . (2.123)
.
.. x
xs f' α
f Süsteem
Σ Σ .. .
m f=mx+bx+kx x
kp k .
v β,
. (bx+kx)
x
s
Σ
xs
Σ
See võrrand kehtib, kui masspunkti liikumist takistab kiiruse märgist sõltuv hõõrdejõud -
kuivhõõrdumine (Coulomb friction). Tegurid α ja β arvutatakse sel juhul järgmiselt:
89
Masspunkti m pöördliikumise korral, s.t. ka manipulaatorilüli pöördliikumise korral (joon.
2.34 ), kirjeldab süsteemi liikumisvõrrand:
'
T = αT + β, (2.127)
kus
α = ml 2 = J - inertsimoment;
β = vθ& + c ⋅ sign(θ&) + m lg⋅ cos(θ ).
T' = &&
θs + k v e& + k p e,
(2.128)
siis kujuneb ka süsteemi struktuur sarnaseks eespool vaadeldutega.
l
g
T
Θ
90
Vaatamata üldistatud dünaamikaülesande keerukusele õnnestub jäiga keha
positsioonjuhtimine ka sel juhul taandada ühikpunktmassi takistusvabale positsioon-
juhtimisele. Süsteemi struktuuriskeem on joonisel 2.35.
'
T = αT + β; α = M (θ ); β = V (θ , θ&) + G (θ ) + F (θ , θ&) (2.130)
ning positsioonjuhtimisseadus
T' = &&
θs + Kv E& + K p E ,
(2.131)
kus Kv ja K p on vektoritena esitatavad juhtimisseaduse võimendustegurid ja
E = θs − θ (2.132)
vektorina esitatav viga.
.. Θ
xs T' T
Σ M(Θ ) Σ Manipulaator Θ.
kp k . .
v V( Θ ,Θ )+G(Θ )+F(Θ Θ, )
.
xs
Σ
xs
Σ
91
2.7. Robotsüsteemi talitluse juhtalgoritmid
Robotsüsteemi soovitud talitlusele vastab teatud hulk soovitud olekuid ning nende olekute
kordumisi soovitud järjekorras. Robotsüsteemi talitluse käigus tekivad ka mittesoovitud
olekud, näiteks tõrked seadmete töös või avariid. Osa neist olekutest nähakse robotsüsteemi
loomisel ette. Osa mittesoovitud olekuid tekitavad asjaolud, mida on väga raske prognoosida,
nagu süsteemi üksikute elementide tõrked.
Töö ajalist kulgu lihtsas robotsüsteemis näitab tsüklogramm (vt. tabel 2.4). Teatud
operatsioonid vajavad töötingimuste automaatset kontrolli - kas detailid on salves olemas, kas
detaili asend on õige. Kui tingimused puuduvad, robotsüsteem peatub ning signaliseerib
takistustest.
92
Tabel 2.4
Robotsüsteemi tsüklogramm
Joonisel 2.36 on mitme eri töötsükli graafskeemid, kus ringid kujutavad süsteemi olekuid ja
nooled siirdeid. Lihttsükkel (joon. 2.36, a) sisaldab ainult tingimatuid siirdeid ning selle kulg
on täpselt ette määratud. Hargnev tsükkel (joon. 2.36, b) sisaldab nii tingimatuid kui ka
tingitud siirdeid. Näiteks võib süsteem olekust 1 siirduda olekusse 2 või ka olekusse 7.
Jõudnud tingitud siirdega olekusse 7, järgneb süsteemi tingimatu siire olekusse 8. Sageli on
süsteemi töös üks põhitsükkel ja rida alamtsükleid (joon. 2.36, c), mis täidetakse teatud
tingimustel. Keerukates süsteemides on erinevad töötsüklid üksteisega sageli tihedalt läbi
93
põimunud (joon. 2.36, d), nii et süsteem võib töötada kaua erinevatel tsükliharudel, ilma et
olekud täpselt samas järjekorras korduma hakkaksid.
a) b) 7
1 2 1
8
3 6 2
7
4 3 9
6 5
5 4
10
c) d) 6
11
12 1
10 5
2 2
1 7
4
3 12 3
9 8
11 10
4 9
6
8
5
94
peab roboti juhtseadmes olema küllalt täpne kell, mida aeg-ajalt sünkroniseeritakse välise
signaaliga, milleks võib näiteks olla kõrgema hierarhiatasandi arvuti signaal. Sisemiseks kellaks
on juhtseadmes taktimpulsside generaator, mille sagedust stabiliseerib kvartsresonaator.
Roboti olekut iseloomustavad kõigepealt manipulaatori asendi- ja kiirusandurite signaalid.
Lisaks kasutatakse mitmeid töörežiimide piirväärtusi kontrollivaid andureid, mis kontrollivad
mootori koormusvoolu, manipulaatori lülide piirasendeid jms. parameetreid. Kõik need
signaalid kokku võimaldavad fikseerida roboti oleku, mille alusel moodustatakse siirde- ja
juhtkäsud. Robotsüsteemi juhtimisel tuleb süsteemi oleku määramisel arvestada veel
signaalidega paljudelt robotiga koos töötavatelt tehnoloogia- ja transpordiseadmetelt,
sealhulgas ka tehisnägemisseadmetelt saabuva infoga. Robotsüsteemi töö ajal kontrollitakse
näiteks töödeldavate detailide temperatuuri, mõõtmeid, pinnasiledust, massi;
diagnostikaseadmed mõõdavad vibratsiooni ja müra. Seega võib süsteemi eri olekute arv
ulatuda mitmesajani ning süsteemi juhtimine osutuda küllalt keerukaks.
Manipulaatori asendi
Asend? kontroll ja tingimussiire
Ülesande täitmise
Ülesanne? kontroll ja tingimussiire
95
KIRJANDUS
96
SISUKORD
Eessõna 2
1. JUHTIMISSÜSTEEMIDE ÜLDISELOOMUSTUS 3
2. PROGRAMMJUHTIMISE ALUSED 35
KIRJANDUS 90
97
98