Robotai ir robotika PDF

Document Details

FlatterJasper7622

Uploaded by FlatterJasper7622

Tags

robotics robots robotics technology robotics theory

Summary

Šiame dokumente aprašoma robotų ir robotikos tema. Pateikiama informacija apie robotų apibrėžimą, klasifikaciją ir įvairius robotų pritaikymo aspektus.

Full Transcript

Robotai ir robotika. Mobilioji robotika. 1 Roboto ir robotikos apibrėžimai Robotų klasifikacija Mobilioji robotika TurinysRobotų programavimo aplinkos ir kalbos Kas ‘išrado’ robotus? Terminą „robotas“ 1920 m. sukūrė čekų rašytojas Karelas Čapekas teatro spektaklyj...

Robotai ir robotika. Mobilioji robotika. 1 Roboto ir robotikos apibrėžimai Robotų klasifikacija Mobilioji robotika TurinysRobotų programavimo aplinkos ir kalbos Kas ‘išrado’ robotus? Terminą „robotas“ 1920 m. sukūrė čekų rašytojas Karelas Čapekas teatro spektaklyje „R.U.R“ (“Rossumo universalūs robotai”). Dirbtiniai žmonės, panašūs į androidus Sukurti darbui Kas yra robotas? (1) ◼ Robotas – „mechaninė mašina atliekanti užprogramuotas užduotis“. ◼ Robotas yra „automatinis įtaisas, kuris atlieka paprastai žmonių atliekamus veiksmus“ [Webster, 1993]. ◼ Robotas – „mašina, kuri gali suvokti aplinką, reaguoti į ją ir veikti“ [A. Machworth]. ◼ Robotas yra „perprogramuojamas daugiafunkcinis manipuliatorius suprojektuotas transportuoti medžiagas, detales, įrankius ar specializuotus įtaisus naudojant įvairius užprogramuotus judesius ir skirtas įvairių užduočių atlikimui“ [The Robot Institute of America, 1979] Roboto apibrėžimai 1. Mechaninis požiūris: mašina, kuri gali atlikti užduotis be žmogaus intervencijos, naudodamasi savo fizinėmis dalimis, pvz., griebtuvais. 2. Programavimo požiūris: techninė sistema, kuri gali vykdyti programuotas instrukcijas, kad atliktų konkretų darbą ar užduotį. 3. Interaktyvumo požiūris: įrenginys, kuris gali suvokti savo aplinką (naudodamasis sensoriais) ir reaguoti į ją tam tikrais būdais. 4. Autonomijos požiūris: mašina, kuri gali atlikti užduotis autonomiškai, t.y. be nuolatinės žmogaus priežiūros ar valdymo. 5. Praktinis požiūris: įrenginys, kuris gali automatiškai atlikti darbus ar užduotis, kurios anksčiau buvo atliekamos žmogaus. Kas yra pramoninis robotas? (2) ◼ Pramoniniai robotai: dažniausiai robotinės rankos arba manipuliatoriai ◼ Pramoninis robotas yra programinės įrangos kontroliuojamas mechaninis įtaisas, kuris naudoja jutiklius, norėdamas nukreipti vieną ar daugiau galinių vykdymo įtaisų, užprogramuotų atlikti judesius, kad būtų galima manipuliuoti fiziniais objektais. ◼ Naudojami gamyboje, konvejerinėse linijose, detalių surinkimui ◼ Tam tikra prasme antropomorfiniai Kas yra antropomorfinis robotas (androidas)? Androidas yra robotas ar kita dirbtinė būtybė, sukurta taip, kad būtų panaši į žmogų Humanoidinis robotas yra robotas, savo forma primenantis žmogaus kūną. Pramoniniai manipuliatoriai yra antropomorfiniai ta prasme, kad jie modeliuoja žmogaus ranką. Kas yra robotika? Terminą „Robotika“ I. Asimovas sukūrė 1941 m. Robotika – tarpdisciplininė mokslo sritis apie robotų kūrimo, gamybos ir naudojimo metodus Tikslas: kurti mašinas, kurios gali padėti žmonėms Robotika Elektros Kompiuteris inžinerija Mokslas Jutikliai Suvokimas valdymas Judėjimas Planavimas Mechanikos Inžinerija Mechanizmai Mechanika Robotų Industriniai robotai Automatiškai valdomas, programuojamas manipuliatorius veikiantis 3 ar daugiau ašyse [IOS standartas 8373:1994] Mažesnėmis materialinėmis sąnaudomis robotai gali atlikti gamybines funkcijas besikeičiančios gamybos aplinkos sąlygomis. Naudojami gamybos linijų automatizavimui, mažinant žmogiškąjį faktorių, dirbant kenksmingomis aplinkos sąlygomis. Naminiai (buitiniai) robotai ◼ Naudojami atlikti įvairius namų apyvokos darbus (kambarių valymas, baseino valymas, kiemo tvarkymas, žolės pjovimas). Medicininiai robotai ◼ Naudojami žmonių sveikatos gerinimui: ❑ operacijoms atlikti, ❑ slaugyti, ❑ bioniniai protezai, ❑ nanorobotai. Derliaus nuėmimas Kokybės kontrolė Žemės ūkio Sėja Sodinimas robotai Dirvožemio stebėjimas Purškimas Kariniai robotai ◼ Skirti padėti atlikti karinius veiksmus ◼ Naudojami ieškant sprogmenų, perimetro apsaugai, įrangos transportavimui nesaugioje zonoje Pentagono padalinio DARPA robotizuotas šuo „Big Dog“ Aptarnavimo robotai ◼ Naudojami aptarnavimo sferoje, baruose, rūbinėse, bilietų pardavimo kasose, muziejuose Laisvalaikio (pramogų) robotai ◼ Atkartoja įvairias emocijas ir judesius ◼ Gali būti liūdni, linksmi, bendraujantys su žmonėmis ◼ Dažniausiai būna žaislai Tyrinėjimo robotai ◼ Robotai, kurie dažniausiai naudojami įvairiuose moksliniuose tyrimuose (pvz., kosmose). ◼ Pvz., robotas-vėžlys, kuris gali judėti ir nardyti po vandeniu naudodamas tik priekines ir užpakalines galūnes, kaip tikras jūros vėžlys. Robotų skirstymas pagal AFR ◼ Association Francaise de Robotique (AFR) : ❑ Type A: Rankiniu būdu valdomi įtaisai (telerobotai) ❑ Type B: Automatiniai įtaisai ❑ Type C: Programuojami robotai ❑ Type D: Programuojami robotai gebantys rinkti duomenys apie savo aplinką Robotų kartos ◼ Robotai gali būti skirstomi į kartas ❑ Pirmos kartos robotai gali atlikti žmogaus užduotį tik jiems gerai pritaikytomis nekintamomis sąlygomis ir valdomi pagal nekintančią programą ❑ Antros kartos robotai turi jutiklius ir sugeba prisitaikyti prie kintančios aplinkos ❑ Trečios kartos robotai su dirbtiniu intelektu. Tai tobuliausia adaptyvių sistemų klasė, gebanti apdoroti plataus diapazono informaciją, kryptingiau elgtis kintančioje aplinkoje ❑ Ketvirtos kartos – robotai, kurie gali vystytis ir apmokyti kitus robotus, arba kurie yra sudaryti iš mechaninės ir biologinės dalių Robotics and Industry 4.0 New era of industrial production ❑ 3D printers ❑ Advanced robotics ❑ New materials ❑ Internet of Things ❑ Cyberphysical systems ❑ Cloud computing ❑ Big data Autonominiai automobiliai Nanorobotai Itin mažas dydis (nm) Naudojamas medicinoje žmogaus kūno ligoms aptikti ir (arba) gydyti Gali būti sukonstruoti kaip fraktaliniai robotai, sudaryti iš mažų komponentų Gali lengvai pakeisti savo formą Robotų spiečiai Daugelio robotų valdymas Dronai (oro, povandeniniai) Gamtos įkvėptas būrio intelektas Kolektyvinis elgesys Robotų internetas Sudėtingų skaičiavimų (vaizdo/balso atpažinimo) perkėlimas į debesį „Robot-As-A-Service“ (RaaS) – robotas kaip paslauga Paskirstyta užduočių sprendimo duomenų bazė Protingesni robotai Robotų technologijos istorija ◼ The Progress of Robot Technology (50 min) ◼ https://www.youtube.com/watch?v=YMH68F3TWpM Mobilusis robotas Mobilus robotas yra...... robotas, galintis judėti aplinkoje valdomas kompiuterio (autonomiškai) arba operatoriaus.... automatinis mechaninis mechanizmas, galintis pats judėti ir pasirinkti kryptį. Mobilioji robotika yra robotikos šaka, nagrinėjanti mobilių robotų konstravimą ir valdymą (algoritmus ir jų programavimą) Mobiliojo roboto komponentai Valdiklis – „smegenys“, mikroprocesorius arba įterptasis mikrovaldiklis Jutikliai – IR, ultragarso, šviesos, lytėjimo ir kt. Pavaros – varikliai, kurie judina robotą Maitinimo sistema - nuolatinės srovės maitinimas (kuris yra akumuliatorius) Važiuoklė – fizinė roboto struktūra Autonomiškumas Autonomiškumas - gebėjimas savarankiškai priimti sprendimus Autonomiškas robotas gali suvokti savo aplinką, priimti sprendimus, ir judėti remdamasis tuo, ką jis suvokia ir (arba) kaip buvo užprogramuotas Mobiliosios robotikos problemos Judėjimas (Localization): mechanika, kinematika, dinamika ir valdymo teorija. Suvokimas (Perception): signalų analizė, kompiuterinė vizija ir jutiklių technologijos. Pažinimas (Cognition): analizuoja jutiklių duomenis ir priima sprendimus Navigacija (Motion Control): planavimo algoritmai, informacijos teorija ir dirbtinis intelektas. Judėjimas Techniniai reikalavimai manevringumas, valdomumas, reljefo sąlygos, efektyvumas stabilumas Ratiniai mobilieji robotai Paprastas dizainas, mažiau sudėtingas valdymas, lengvas balansavimas, aukšta stabilumas Blogai juda per kliūtis, pvz., uolėtą reljefą, aštrius paviršius ar mažos trinties vietas. Mobiliųjų robotų skirstymas pagal ratų skaičių Vieno rato balansuojantys robotai iš prigimties nestabilus reikia stabilumo kontrolės Valdymui reikalingas giroskopas, kuri Balansuojančio roboto valdymas matuoja posvyrio kampą ir akselerometras. Dviejų ratų balansuojantys robotai Nėra stabilumo - Reikia balansavimo https://www.youtube.com/watch?v=fFwkQZr8wnQ Trijų ratų robotai Du varomieji ratai su papildomu laisvai besisukančiu ratu, kad išlaikytų roboto pusiausvyrą Valdomas trečiasis ratas skirtas judėjimo krypčiai keisti Daugelio ratų robotai Mobilių robotų taikymai Stebėjimas ir tyrinėjimas, Patruliavimas ir žvalgyba, gelbėjimo operacijos, pramonės automatika, statyba, pramogos, asmeninės paslaugos, transportas ir daug kitų pramoninių ir nepramoninių pritaikymų. Programavimo platformos ◼ Grafinės ❑ MRDS VPL ❑ Lego NXT (LabView) ❑ RoboLab ❑ RIS ◼ Scenarijų ❑ Python ❑ Perl Robotics ❑ Lua ◼ C kalbos dialektai ❑ Easy C ❑ Robot C ◼ Sisteminės ❑ Java, C-Sharp ROBOTC ◼ C programavimo kalbos dialektas skirtas robotų programavimui ◼ Lengva naudoti tiek pradedantiems, tiek patyrusiems naudotojams ◼ Specialūs kintamieji robotikos objektams – varikliams, jutikliams ◼ Paprastos vienos eilutės komandos ◼ Pavyzdys: variklio valdymas ◼ NXT - motor[motorA] = 100; // Įjungti variklį Motor A @ 100% ◼ Palaikomos platformos ❑ Mindstorms – NXT ir EV3 ❑ VEX Cortex, VEX IQ ❑ Arduino Uno, Mega, Mega 2560 RobotC example: Driving forward #pragma config(Motor, port2, rightMotor, tmotorNormal, openLoop, Reversed) #pragma config(Motor, PORT3, leftMotor, tmotorNormal, openLoop) task main () { wait1Msec(2000); Robot // Waits for 2000 millisecond (2 seconds) // Move forward at full power for 3 seconds, then stop motor [rightMotor] = 127; // Run at full (127) forward power motor [leftMotor] = 127; // Run at full (127) forward power wait1Msec(3000) // Wait 3000M (3 sec) - motor stay on !! } // program ends, and the robot stops 2 RobotC Graphical ◼ RobotC grafinė aplinka programavimui ❑ http://www.robotc.net LeJOS: Programavimas Java ❑ Atviro kodo objektinė kalba – Java poaibis ❑ Java tipai, bibliotekos klasės (java.lang, java.util, java.io) ❑ Sinchronizacija, tiesioginis jutiklių ir variklių valdymas ❑ Robotics API biblioteka ❑ Navigacija (odometrija) ❑ Elgsena („subsumption“ architektūra) ❑ Vaizdų apdorojimas ◼ Parsisiųsti ❑ http://lejos.sourceforge.net/ ◼ Mokomasis vadovas ❑ http://lejos.sourceforge.net/tutorial/ ◼ Knygos ❑ https://lejos.sourceforge.io/books.php 47 Java programos pavyzdys ❑PyGame: imitavimo ap linka Python IDE ❑ PyBluez: Bluetooth ryš ys ❑ Python NXT: Python PyBluez PyGame NXT bibliotekos skirtos Lego , ❑ Pyro - Python Robotics Pyro- https://pypi.org/project/ Robotics/ Python NXT ◼ Programos ❑ Švieso jutiklis ❑ Ultragarso jutiklis ❑ Garso jutiklis Python NXT: http://home.com cast.net/~dplau/nxt_python/index.html Programavimas Python Bibliotekos PyBluez: http://org.csail.mit.edu/pybluez/ Programavimas Python 1 ◼ #!/usr/bin/env pybricks-micropython ◼ from pybricks import ev3brick as brick 2 ◼ from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, ◼ InfraredSensor, UltrasonicSensor, GyroSensor) ◼ from pybricks.parameters import (Port, Stop, Direction, Button, Color, ◼ SoundFile, ImageFile, Align) ◼ from pybricks.tools import print, wait, StopWatch ◼ from pybricks.robotics import DriveBase ◼ PyBricks: Python SDK for Databricks REST API ◼ MicroPython Python 3 kalbos poaibis skirtas mikrovaldiklių programavimui įrenginiuose su ribotais resursais ◼ pyboard – elektronikos schemų valdymui skirta biblioteka, leidžianti paleisti žemo lygmens Python OS 50 Arduino platforma ir jos programavimas Arduino - platforma, kuri naudoja Atmel firmos mikrokontrolerį. Tai mažas kompiuteris, kurio pagalba galima valdyti įvairius įrenginius. Ši platforma yra labai populiari pasaulyje, nes yra atviro kodo ir pasižymi didelėmis galimybėmis. Arduino buvo pristatytas 2005 metais. Jis buvo kuriamas išskirtinai studentams, kad jie galėtų lengvai ir nebrangiai programuoti mikrokontrolerius. Programavimui naudojama Arduino IDE aplinka, programuojant specialia kalba, kuri remiasi C/C++ sintakse. Arduino IDE Arduino platformos yra programuojamos kalba, kuri yra specialiai sukurta tokio kontrolerio programavimui. Ji yra pagrįsta C ir C++ kalbomis. Darbo lange pateikiamas, taisomas ar derinamas programos kodas Example of Arduino program setup() function ◼ initializes the serial communication at a baud rate of 9600. loop() function ◼ reads the analog input from pin A0, ◼ sends the data over serial communication, and ◼ waits for 1 sec before repeating the process. Virtualus robotų modeliavimas ◼ Problemos ❑ Techninė robotų dalis yra brangi ❑ Aparatūrą sunku testuoti ❑ Įvairūs apribojimai gali neleisti dirbti lygiagrečiai ◼ Pranašumai ❑ Lengva išmokti ❑ Lengvas prototipų kūrimas ❑ Geras mokymosi ir tyrimų įrankis ◼ Trūkumai ❑ Nėra “triukšmo” ❑ Nepilni arba netikslūs duomenys ❑ Priderinimas reikalauja daug laiko CopeliaSim (V-REP) Kas tai yra? Bendrosios paskirties robotų imitatorius su integruota kūrimo aplinka Ką gali? Modeliuoti ir imituoti jutiklius, mechanizmus ir robotines sistemas Sąsajos (įskiepiai, scenarijai, Remote API,...) Daugelio kalbų palaikymas (C/C++, Java, Python, Lua, Matlab, Octave, Lua, Urbi) Fizikos simuliatoriai (Bullet, ODE, Vortex, Newton) Platformos (Windows, MacOS, Linux) Tipiniai Greitas prototipų kūrimas taikymai? Greitas algoritmų kūrimas Sistemų imitavimas Demonstravimas ir t.t. https://www.coppeliarobotics.com/ Scenos objektaiScenos objektai Kameros Kameros Jungty s Jungtys Apšvietima s Apšvietimas Formo s Formos Koordina čių siste mo s Scenos objekta i Koordinačių sistemos Scenos objektai umo j utiklia i Atstumo jutikliai Veidrodži a i Veidrodžia Vykdytuva i Pagrindiniai struktūriniai elementai Vykdytuvai Regėjimo daviklia i Keli a i Regėjimo davikliai Keliai Skaičiavimo moduliai (Fizika / dinamiks usidūrimai, griebi mas,...a ) Skaičiavimo modulia i D:\v_rep\web \helpFile s\en\i mages \features \collisi on. pn g Skaičiavimo moduliai...) D:\v_rep\web \helpFile s\en\i mages \features \pathPla nning. p ng Susidūri mų aptikim as Susidūrimų aptikimas D:\v_rep\web \helpFile s\en\i mages \features \ik.pn g Kelio planavima s (įskaitant žmogau s) (įskaitant žmogaus) Tiesioginė / atvirkštinė kine ma tik a Tiesioginė / atvirkštinė kinematika Fizika / dinamika (susidūrimai, griebimas, D:\v_rep\web \helpFile s\en\i mages \features \distance.pn g Atstumo skaičiavimas Atstumo skaičiavimas Kelio planavimas Webots ❑ „Webots“ yra mobilių robotų atviro kodo modeliavimo programinė įranga https://cyberbotics.com/ mBot robotai mBlock aplinka mBlock - grafinė programavimo aplinka sukurta Scratch 2.0 pagrindu. Paprasta, intuityvi Scratch 2.0 grafinė sąsaja Bevielis ryšys: Bluetooth arba 2.4GHz bevielis ryšys komunikavimui su robotu Arduino režimas: galimybė lengvai pereiti į programavimą tekstiniu režimu Lengva naudoti Blokinis programavimas Spalvos žymi skirtingas Block-based programming komandas Įvykiais grįstas valdymas Kai kurios komandos turi parametrus Drag‘n‘drop stilius

Use Quizgecko on...
Browser
Browser