Robotitehnika
Robotite põlvkonnad
1. põlvkond
Üksikute liikumiste jada (juhtimiseks kasutati tikktrumleid, nukk-kettaid, tänapäeval lihtsaid PLC programme jms.)
2. põlvkond
Liikumistrajektooride programmeerimine tekstiredaktoriga. Tööstusrobotite programmeerimiskeeled tänapäeval:
- ABB - RAPID programming language,
- Kuka - KRL (Kuka Robot Language),
- Comau - PDL2,
- Yaskawa - INFORM,
- Kawasaki - AS,
- Fanuc - KAREL,
- Stäubli - VAL3,
- Universal Robots - URScript,
- Mitsubishi - MELFA Basic,
- ...
Paralleelselt teksti sisestamisele tekstiredaktoriga on tänapäeval kasutusel ka graafilisi programmeerimiskeeli, mis funktsionaalsuselt sarnanevad teksti sisestamisele tekstiredaktoriga (olekukaardil või algoritmi plokkskeemil põhinevad programmeerimiskeeled nt. MIT Scratch, Grafcet jt. või andmevoo plokkskeemil põhinevad tarkvaraarendusvahendid nt. Simulink Coder jt.).
Olgugi et loetletud keelte funktsionaalsus pole võrreldav üldotstarbeliste programmeerimiskeelte (C++ jt.) võimalustega, moodustavad need roboti ajamisüsteemiga tihedalt suhtleva nö selgroo.
Seepäeast on nendes üldjuhul olemas ka vahendid (ohjurid, teegid) väliste seadmetega (lisatelgede servoajamid, tööstusautomaatikavõrgud jms.) suhtlemiseks ja vajalike spetsiifiliste andmesideprotokollide teostamiseks.
3. põlvkond
Kolmanda põlvkonna puhul räägitakse rohkem kolmanda põlvkonna
robootikast, mitte niivõrd kolmanda põlvkonna robotitest.
Põhjus peitub selles et kolmanda põlvkonna funktsionaalsus ei tulene sageli
mitte roboti (masina) enda ehitusest või funktsionaalsusest vaid
lisatarkvarast, mis töötab robotist väljaspool (sh roboti
operatsioonisüsteemides, mida käivitatakse välistel arvutitel).
Näiteid kolmanda põlvkonna robootika tarkvara funktsionaalsusest:
- Programmeerimine toimub ülesande tasandil (task-level programming)
- Roboti töökohta hõlmavad detailsed virtuaalsed mudelid võimaldavad kogu
süsteemi juhtimist programmeerida ja detailides modelleerida ka täiesti ilma
füüsilise robotita (world modeling, off-line programming). Virtuaalses
robotitehnikas (virtual robotics) on viimasel ajal tulnud sarnaselt teistele
tehnikavaldkondadele (ehitus jt.) kasutusele mõiste "digitaalne kaksik"
(digital twin). Kolmemõõtmeliste virtuaalsete modelleerimiskeskkondade
modelleerimisvahendid (simulatsioonimudelid/imitatsioonmudelid)
võimaldavad koostada erineva detailsusega kinemaatikamudeleid
(analüütiline geomeetria) ja ka dünaamikamudeleid (füüsikalised
mehaanikamudelid) koos liikumistrajektooride planeerimisega.
- Roboti õpetamine ettenäitamisega (teaching by demonstration). See on viimastel aastatel eriti kiirelt arenenud koostöörobotite ehk cobotite (collaborative robots) puhul. Funktsionaalsust lisavad ka mitmesugused masinnägemise algoritmidega kaamerasüsteemid.
- Mitmesugused masinõppimise (machine learning) algoritmid.
- ...
Tegemist on põneva ja areneva valdkonnaga.
Tööstusrobotid
Tänapäeval võimaldavad detailsed kolmemõõtmelised mudelid ja dünaamikamudelid tööstusrobotite tarkvara arendada ja osaliselt katsetada ka ilma füüsilise robotita (off-line programming). Paljude Tallinna Tehnikaülikoolis olemasolevate vanema põlvkonna manipulaatorite kohta on uutes tarkvarapakettides olemas väga detailsed mudelid robotite juhtimistarkvara arenduse lihtsustamiseks.
ABB IRB1600-1.45
|
Mitsubishi RV1A
|
Mitsubishi RV2AJ
|
Universal Robots UR5
|
Fanuc ArcMate100iB
|
Liikurrobotite navigatsioonist
2020/2021 õppeaasta sügissemestri lõpus saadeti suur osa kursusest osavõtnutest koroonaviiruse tõttu eneseisolatsiooni.
Tõstatus küsimus, kuidas viia eneseisolatsioonis olijateni loenguplaani järgi kavandatud materjal. Lahenduseks olid videosalvestused auditooriumis.
ABB koostööroboti YuMi manipulaatorite kalibreerimine
Robotite manipulaatorite liigendite asendite täpseks määramiseks kasutatakse inkrementaalsete koodrite (incremental encoder) tüüpi impulsse väljastavaid asendiandureid.
Manipulaatori toite väljalülitamisel jäävad asendiandurid patareitoitele ja jooksvat asendit säilistatakse patareist todetavas kiires muutmälus (RAM). Kui patarei puudub või on tühjaks saanud, siis tuleb manipulaatori liigendeid uuesti kalibreerida.
ABB YuMi manipulaatoritel on kalibreerimiseks kaasas omapärane programm. Kalibreerimisprogrammi käivitamisel kalibreeritakse manipulaatori liigendi asendid liigendite ajamites olevate magnetite ja
Halli tajurite abil.
Manipulaatorite rakendused
2019/2020 kevadsemestril sai välja pakutud bakalaureusetöö teema tööstosroboti kasutamisest magnetvälja skannerina.
Töös teostatud lahenduses kasutati manipulaatori juhtimiseks paketti MATLAB.
Matemaatika - asendamatu abivahend inseneritöös
Maatriksarvutuste olulisus geomeetriliste mudelite analüüsil
Kuidas määratakse objekti asend ruumis? Mis on Euleri nurgad?
Enne kui saab hakata koostama robotite kinemaatikavõrrandeid ja neid lahendama, on vaja esmast arusaamist maatriksitest. Kuidas maatrikseid korrutatakse? Miks ei ole maatriksite korrutustehe kommutatiivne nagu arvude korrutamise tehe? Mis on ühikmaatriks?
Otseteisendus ja pöördteisendus
Mille poolest erinevad otseteisendus ja pöördteisendus? Miks on need olulised robotite mehaanika ja juhtimise projekteerimisel, kasutamisel?
Kvaterniooni leidmine nurkadest paketis MathCad
Otseteisenduse näide paketis MathCad
Pöördteisenduse näide paketis MathCad
Trigonomeetriliste funktsioonidega transendentsed võrrandid
Kui palju võib olla trigonomeetriliste funktsioonidega võrrenditel lahendeid? Kuidas võrrandeid praktikas lahendada?
Pöörülesannete puhul tuleb sageli tegemist teha transendentsete võrranditega (transcendental equations),
mille puudub ilmutatud lahend (closed-form solution). Sel puhul saab teha mitmesuguseid asendusi, milles trigonomeetriline funktsioon koos argumendiga asendatakse mõne uue muutuja või avaldisega.
Näide paketis MathCad
Kvaternioon
Mis eelise annab kvaterniooni (hüperkompleksarvu) kasutamine võrreldes trigonomeetrilise funktsiooni kasutamisega asendi määramisel ruumis?
Miks paljude tarkvarapakettide autorid eelistavad kvaternioone trigonomeetrilistele funktsioonidele?
Näide paketis MathCad
Kuidas kasutada kvaterniooni?
Jakobiaan
Milleks kasutatakse osatuletisi ja nendest koosnevaid maatrikseid (staatika- ja dünaamikamudelites)?
Näide paketis MathCad
Mis on Jakobiaan?
Tensor
Kuidas väljendub mittesümmeetrilise objekti inertsimoment kolmemõõtmelises ruumis? Kuidas viia Newtoni II seadus kolmemõõtmelisele kujule?
Näide paketis MATLAB
Kinemaatika pöördülesande lahendamine MATLAB SIMULINK keskkonnas ABB IRB1600-1.45 näitel
Viiteid
Madis Lehtla, 2019/2020
Tööstusrobotite alaseid lõputöid
-
Tööstuslike manipulaatorite ja liikurrobotite sidumine avatud lähtekoodiga tarkvaraplatvormiga ROS; autor: Andre Talvoja, 2021
Robotsüsteemid ja seonsortehnika -projekt MHK0035
Tööstusrobotitega seotud projekte (kevad 2019)
Alternatiivsed tööriistad tööstusrobotile IRB1600