Studiul Si Proiectarea Unui Robot Mobil cu Două Roti Motoare
UNIVERSITATEA ,,LUCIAN BLAGA” SIBIU
FACULTATEA DE INGINERIE
Specializarea: MECATRONICĂ
LUCRARE DE LICENȚĂ
Coordonatorștiințific:
Prof.univ. dr. ing. Gabriel RACZ
Absolvent:
DAMIAN Alexander
2014
UNIVERSITATEA ,,LUCIAN BLAGA” SIBIU
FACULTATEA DE INGINERIE
Specializarea: MECATRONICĂ
Studiul și proiectarea unui robot mobil cu două roți motoare
Coordonator științific:
Prof.univ. dr. ing. Gabriel RACZ
Absolvent:
DAMIAN Alexander
2014
CUPRINS
Capitolul 1
INTRODUCERE
Conceptul de „Robotică”
Crearea de ființe artificiale care să execute operații similare cu cele executate de om a fost o idee prezentă în imaginația omenirii încă din cele mai vechi timpuri. Se spune despre Arhitas din Tarent (sec. V-VI î.e.n.) că ar fi construit un porumbel capabil să zboare. În secolul al XIII-lea Roger Bacon și Albert cel Mare au realizat un umanoid, care, la o atingere, putea deschidea ușași putea saluta prin înclinarea capului pe noul venit. În secolul al XV–lea, J.Müller a construit mai multe automate, printre care o muscă ce alerga în jurul mesei și un vultur așezat deasupra porțiicetățiiNürnberg care l-a salutat prin bătăi de aripi și înclinarea capului pe împăratul Maximilian sosit în oraș. În secolul al XV- lea, Leonardo da Vinci a construit un automat în chip de leu care l-a întâmpinat pe Ludovic al XIII-lea la Milano, umblând prin sala tronului, oprindu-se la picioarele suveranului, după care și-a desfăcut pieptul cu labele, lăsând să cadă de acolo crini albi, emblema regilor Franței.
Denumirea ROBOT a fost introdusă de către scriitorul ceh Karl Capek în lucrarea sa ,,Roboții universali ai lui Rossum”,(1921), plecând de la cuvântul ROBOTA = muncă, activitate de rutină. Traducerea acesteia (1923) în engleză a consacrat denumirea de robot pe plan internațional.Scriitorul Issac Asimov în povestirea SF ,,Runaround” (1940) formulează cele trei legi ale roboților și folosește pentru prima dată cuvântul robotică (robotics) cu înțelesul de știința care se ocupă de studiul sistematic al roboților.
Robotica este acea parte a științei care se ocupă cu studiul operațiilorumanoide și se situează la frontiera mecanicii cu informatica, electrotehnica,electronica și știința sistemelor și calculatoarelor, termotehnică, hidraulică. Operațiile umanoide sunt operațiile efectuate de către om cu ajutorul brațelorși picioarelor coordonate de organele de simț.
Robotica este așadar un domeniu multidisciplinar a cărui componență este evidențiată în Fig.1.1:
Fig. 1.1 Multidisciplinaritatea Roboticii
Istoria roboților începe în anul 1940 cu realizarea manipulatoarelor sincrone pentru mișcarea unor recipiente radioactive din spații supuse iradierii; etapă ce a ținut până în jurul anilor 1960;
Perioada 1960-1980 este perioada de revoluție a roboților, printr-o diversitate și aplicabilitate fără precedent în domeniul industrial;
Perioada 1980-1990 – deceniul roboților industriali de generația I și II și robotizarea productiei (industrie și servicii);
Începând din 1990 au apărut primii roboțiinteligenți, etapă în dezvoltare și în momentul de față.
Trei tehnologii au fost cruciale pentru dezvoltarea roboticii:
Tehnologia servomecanismelor;
Tehnologia electronică;
Tehnica de calcul.
În 1985 Simon Nof, editorul lucrării ,,Handbook of Industrial Robotics”, formulează legile roboticii aplicate:
roboții trebuie să înlocuiasca oamenii în locurile de muncă periculoase pentru aceștia;
roboții trebuie să înlocuiască oamenii în activități pe care aceștia nu doresc să le facă;
roboții ar trebui să înlocuiască oamenii în activități pe care ei le fac mai eficient.
Aparițiaroboților în epoca actuală poate fi justificată prin necesitatea adecvării omului la mediu, în scopul creșteriiproductivității, prin diminuarea efortului necesar realizării șicreștereacalității produselor. Inițialroboții erau folosiți în principiu pentru realizarea operațiilor de manipulare, operații care mai puteau fi realizate și cu ajutorul manipulatoarelor. Se dorește a nu se face confuzie între termenii de manipulatoare șiroboți pentru operații de manipulare deoarece ultimii amintiți au o structură mecanică mult mai complexă și sunt conduși după programe flexibile, iar primii menționați au o structură mecanică simplă și sunt conduși după programe rigide.
La început oamenii aveau o doză de neîncredere în aceste noi descoperiri tehnologice. În timp robotul a devenit tot mai cunoscut și tot mai apreciat pentru performanțele ridicate și pentru avantajele pe care le prezintă. Astăzi roboții sunt indispensabilifuncționăriisocietății umane a secolului XXI. Întâlniți atât în procesele de producție, cât și în alte arii de interes precum divertisment, transporturi, comunicații, medicină sau agricultură, roboțiiîmbunătățescperformanțele umane din punct de vedere cantitativ și calitativ. Mijloacele de transport moderne, aparatura electronică și electrocasnicăși mai tot ceea ce începe să ne marcheze stilul de viață vor devini automate, robotizate și autonome.
Următorul pas în noua evoluție industrială o să fie utilizarea roboților în toate domenile. Roboții vor ajunge la capacitatea de a imita orice acțiune a omului.(Fig. 1.2)
Deja există multe domenii în care roboții au luat locul oameniilor. Cei mai complexiroboți la ora actuală sunt cei folosiți de NASA la explorarea spațiului cosmic. Roboții umanoizi concepuți de NASA pentru viitoare misiuni spațiale vor fi cei mai bine antrenațiastronauțiși vor fi trimiși în acele zone care prezintă un risc deosebit pentru astronauții în carne și oase.
Conceptul de „Mecatronică”
Termenul “Mecatronică” (MECAnică + elecTRONICĂ) a fost conceput în 1969 deun inginer al firmei japoneze Yaskawa Electric și protejat până în 1982 ca marcă aacestei firme. Se referea inițial la completarea structurilor mecanice din construcțiaaparatelor cu componente electronice. În prezent termenul definește o științăinginerească interdisciplinară, care, bazându-se pe îmbinarea armonioasă a elementelordin construcția de mașini, electrotehnică și informatică, își propune să îmbunătățeascăperformanțeleșifuncționalitatea sistemelor tehnice.
Tot ceea ce numim azi un produs de înaltă tehnicitate, este în sine un produs mecatronic. Automobilul modern, mașinile-unelte cu comandă numerică, echipamentele periferice ale calculatoarelor, tehnica de telecomunicații, aparatura de cercetare, roboții, aparatura biomedicală, aparatura electrocasnică etc., sunt doar câteva exemple de produse mecatronice. Practic, mecatronica este prezentă în toate domeniile de activitate.
Mecatronica s-a născut ca tehnologie și a devenit foarte curând filosofie care s-a răspândit în întreaga lume, valențele creatoare fiind confirmate în toate domeniile de activitate. Apariția mecatronicii este rezultatul firesc al evoluției în dezvoltarea tehnologică. Această evoluție este sugestiv evidențiată în figura 1.3.
Fig. 1.3 Fluxul către integrarea mecatronică
Coloana vertebrală a mecatronicii o constituie tehnologia mecanică, care s-a dezvoltat către mecanizare. Progresele în domeniul tehnologiei electronice, apariția circuitelor integrate, mici ca dimensiuni, ieftine și fiabile, au permis includerea electronicii în structurile mecanice. Se realizează astfel primul pas către integrare: integrarea electromecanică.
Următorul pas în integrare a fost determinat de apariția microprocesoarelor. Cu aceleași caracteristici constructive ca și circuitele integrate, microprocesoarele au putut fi integrate în structurile electromecanice realizate anterior. Astfel, acestea pot preleva informații privind atât starea externă, a mediului, cât si cea internă, putând prelucra și stoca aceste informațiiși luând decizii în consecință privind comportarea sistemului.
Mecatronica reprezintă o viziune integratoare în domeniul tehnologic, așa cum este sugestiv arătat în figura 1.4. Această imagine sugerează că, în activitatea de concepție, abordarea tradițională în baza căreia ingineria mecanică studiază probleme specifice mișcării maselor, ingineria electrică respectiv electronică studiază probleme specifice mișcării electronilor, iar informaticienii studiază probleme specifice mișcăriiinformației, nu mai este posibilă. În structura unui produs mecatronic, practic nu se pot separa cele trei componente.
Fig. 1.4 Conceptul de mecatronică
Pe baza figurii 1.5, se pot analiza comparativ cele trei componente ale tehnologiei mecatronice. Comparația are în vedere originea resurselor, rezervele, cererea și ce înseamnă viața din punctul de vedere al celor trei elemente.
Analiza motivează interesul manifestat în întreaga lume pentru promovarea acestei tehnologii. Este evident că, realizând produse care înglobează multă informație (inteligență), performanțelefuncționale ale acestora cresc. Pe de altă parte, în acest mod se conservă resursele de material și energie. Dar, consumând mai puțin material și energie se procesează mai puțin, deci se poluează mai puțin. Rezultă astfel alte valențe ale tehnologiei mecatronice: este o tehnologie nedisipativă și mai puțin poluantă.
Conceptul de sistem mecatronic
Un sistem mecatronic este un sistem tehnic care integrează, într-o configurație flexibilă, componente mecanice, electronice și de comandă cu sisteme numerice de calcul, pentru generarea unui control inteligent al mișcărilor, în vederea obținerii unei multitudini de funcții. Cuvintele cheie în mecatronică sunt:
Integrareaspațială prin întrepătrunderea constructivă a subsistemelormecanice, electronice și de comandă;
Integrare funcțională, asigurată prin software.
Inteligență, raportată la funcțiile de control ale sistemului mecatronicșicaracterizată printr-o comportare adaptivă, bazată pe percepție, raționament,autoînvățare, diagnosticarea erorilor și reconfigurarea sistemului (comutarea pemodule intacte în cazul unor defecțiuni) etc.
Flexibilitate, caracterizată de ușurința cu care sistemul poate fi adaptat, sau sepoate adapta singur, la un nou mediu, pe parcursul ciclului său de funcționare;implică schimbarea adecvată a programelor de control (software) și nu a structuriisale mecanice sau electrice (hardware).
Fig.1.6 Diagrama bloc a unui sistem mecatronic
Din punct de vedere al caracteristicilor lor comportamentale, sistemelemecatronice se pot împărți în:
Sisteme mecatronice automate;
Sisteme mecatronice inteligente;
Rețelemecatronice inteligente.
Sistemele mecatronice automate sunt capabile să manevreze materiale și energie,comunicând cu mediul înconjurător și au capacitatea de auto-reglare, care le permite săreacționeze la schimbări previzibile ale mediului într-un mod programat anterior.Marea majoritate a sistemelor mecatroniceaparțin acestei categorii.
Sistemele mecatronice inteligente sunt capabile să realizeze un scop impus în condițiide incertitudine. Spre deosebire de sistemele automate, care sunt programate pentru ase comporta într-un mod dorit și sunt, în consecință, previzibile, sistemele inteligentepot atinge un scop specificat într-un mod imprevizibil. Ele sunt înzestrate cu un înaltnivel de flexibilitate, fiind capabile să răspundă la schimbări frecvente ale mediului,fără a fi necesară o reprogramare a lor. Această diferență calitativă în comportamenteste determinată de separarea bazei de cunoștințe (knowledgebase) de motorul derezolvare a problemei (inferenceengine), concept de bază în inteligența artificială.Exemple de astfel de sisteme sunt mașinile-unelte inteligente, roboțiiinteligenți,vehicule cu ghidare autonomă, avioane fără pilot, rachete auto-ghidate, compresoare
inteligente cu geometrie variabilă.
Rețelele de sistemeinteligente, interconectate mutual, saurețelemecatronice inteligente sunt capabile să decidă asupra comportamentului lor prin negocieri între unitățilecomponente autonome (nodurile rețelei). Fiecare componentă este un sistemmecatronic inteligent. Semnificativă este pentru acest fel de rețele capacitatea fiecăreiunități de a-șiîmbunătățiperformanțele prin auto-organizare (modificarea relațiilordintre unitățile componente, în scopul îmbunătățiriiperformanțelor globale alesistemului). Cele mai evoluate rețele sunt supuse unui continuu proces de evoluție(prin deconectarea și eliminarea unităților mai puțin utile și conectarea unor noi unitățicu efecte benefice pentru scopurile urmărite de rețea).
Proiectarea sistemelor mecatronice
Varianta de proiectare clasică, anterioară filozofiei mecatronice, presupuneaproiectarea unui produs, având o funcție mecanică (de execuție de mișcări sautransmitere de forțe) și înzestrat cu componente electrice și electronice și un sistem decontrol, în mai multe etape succesive. Această filozofie, utilizată în proiectarea unor produse complexe, a condus nunumai la soluții scumpe și ineficiente, dar a generat și multe efecte dezastroase.
Prin contrast, mecatronica are la bază principiile ingineriei concurente, impunând,încă din momentul demarării proiectării unui produs, munca într-o echipă, care includeatât ingineri de diferite specializări, cât șireprezentanți ai compartimentelor defabricație, marketing, din domeniul financiar etc. Colaborarea permanentă pe parcursulproiectării este esențială, întrucât sistemul mecanic influențează sistemul electronic, șiinvers, sistemul electronic are un rol important în proiectarea unei structuri mecaniceadecvate. Obținerea efectelor sinergetice poate fi realizată numai prin ingineriesimultană (fig.1.6).
Fig. 1.7Modelul proiectării simultane
Etapele proiectării unui sistem mecatronic:
Prima construcție de bază a procesului -(Mecanică, electrică, termodinamică)
Prima împărțire a funcțiilor de bază – Flux de energie; Flux de informații
Senzorică, Acționare, Energie auxiliară – Principii; Integrare constructivă; Prelucrare descentralizată a informației
Funcții de bază ale prelucrării informației – Comandă, Reglare; Supraveghere; Coordonare, Optimizare.
Deservire, Interfață om-mașină – Soluțiiconvenționale; Soluții noi.
Arhitectură Hardware – Microprocesoare (standard/speciale) ; Structură de bază descentrală-centrală ; Magistrală și protocol de comunicație.
Software – Probleme, cerințe; Structura software; Implementare(codificare); Validare; Limbaj; Capabilități de timp.
Integrarea funcționalăa procesului și electronicii prin prelucrarea informației – Adaptarea funcțiilor de bază; Amortizare electronică;Liniarizare prin algoritmi; Influențareamărimilor nemăsurabile.Domenii mari de lucru cu ajutorul algoritmilor adaptivi; Facilitățide învățare; Diagnosticarea erorilor.
Simplificarea construcției de bază – Cinematica, acționări descentralizate, Construcțieușoarășiflexibilă.
Măsuri pentru mărirea fiabilitățilorșisiguranței – Recunoașterea timpurie a erorilor;Redundanță” fail-safe”;Reconfigurare.
Utilizarea unor instrumente speciale de proiectare – Elaborarea de modele; Identificarea; Simularea (inclusiveHardware-in-the-Loop); Optimizarea funcțiilor (CAD)
Verificare experimentală – Pe componente; Întregul sistem.
Una dintre cele mai provocatoare probleme în proiectarea sistemelor mecatronice esteaceea a elaborării arhitecturii sistemului, respectiv a alegerii componentelor hardware(actuatori, senzori, electronică de putere, circuite integrate (ICs – IntegratedCircuits),microcontrollere, DSP-uri) și a modulelor software (algoritmii pentru realizareapercepțieiși controlului, fluxul de informațieșiachiziția datelor, simularea,vizualizarea șiprototiparea virtuală). Unul dintre cele mai importante secrete ale unei proiectări reușite constă înpăstrarea deschisă, cât mai mult timp posibil, a opțiunilor de proiectare. Laînceputul fiecărui proces de proiectare există a varietate mare de candidați lasoluționarea problemei respective și multă incertitudine privind cea mai potrivităsoluție. Această situație este mai acută în cazul sistemelor pentru carespecificațiile utilizatorului sunt foarte vagi, sau care au o dinamică înaltă. Regulade bază constă în reducerea incertitudinii în mod gradual, pas cu pas, evitându-seancorarea de o soluție de proiectare particulară, atât timp cât nu este strict necesar.
O modalitate de a păstra deschise opțiunile, legate de soluțiile problemei, esteoferită de amânarea selectării componentelor fizice până după selectareaconceptelor privind rezolvarea proiectului, interconectarea acestora într-un sistemde concepte adecvat și validarea proiectării conceptuale.
Domeniile de utilizare a sistemelor mecatronice
În Industrie
Elemente constructive ale mașinilor, cu electronică integrată;
Sisteme de injecție electronice;
Sisteme automate pentru comanda vehiculelor;
Mașini unelte cu comandă numerică;
Roboți industriali;
Roboți mobili șipășitori, de diferite tipuri șiconfigurații;
Vehicule cu ghidare automată;
Avioane militare autonome;
Rachete autoghidate;
Sisteme pentru condiționarea aerului;
Imprimante laser și plottere;
Sisteme pentru citirea/scrierea informației etc.
Fig. 1.8Sistem de injecție electronic
Fig. 1.9 Roboți industriali
În Agricultură, Medicină, Biomecanică
Roboți pentru industria alimentară;
Roboți agricoli;
Mașini agricole autonome;
Sisteme pentru irigații comandate prin calculator;
Roboți medicali;
Organe artificiale;
Dispozitive chirurgicale;
Aparate pentru investigații medicale complexe etc.
Fig. 1.10 Robot agricol
Fig. 1.11 Robot medical
Pentru Uz General
Camere fotoși video;
Aparatură video;
Antene TV cu poziționare automată;
Automate comerciale și bancare;
Gamă largă de aparatură electro-casnică “inteligentă“:
Mașini de spălat șimașini de cusut;
Roboți pentru servicii etc.
În Construcții
Roboți pentru construcții;
Sisteme de securitate automate
Automatizarea locuințelorși a clădirilor etc.
Produse Micro-Mecatronice
Micro-Mechanic-Electro-Systems (MEMS);
Micro-actuatori;
Micro-senzori;
Microsisteme etc.
Importanța mecatronicii
Mecatronica a deschis orizonturi nebănuite în toate domeniile, datorită stimulării efectului de sinergie. Prin faptul ca informația este componenta dătătoare de ton în mecatronică, impactul tehnologiei depășește sfera economicului, fiind esențial în domeniile social, cultural etc.
Aceasta explica interesul deosebit la nivelul CE și a țărilor comunitare de a lansa inițiativeși a dezvolta programe speciale pentru acest domeniu. Demersurile întăresc convingerea că în societatea informațională, relevanța culturală depinde de performanțele tehnice, tehnologice.
Importanța problemelor este confirmată și de inițiativeleși programele lansate la nivelul Comunității Europene. În martie 1986 – Comitetul Consultativ pentru Cercetare și Dezvoltare Industrială al Comunității Europene recunoaște că mecatronica este o nevoie majoră pentru cercetarea europeană și pentru programele educaționale.
Mecatronica a fost astfel recunoscută ca o realitate în continuă dezvoltare, atât în mediul economic cât și în cel educațional.
În prezent, pretutindeni în lume, mecatronica are o puternică dezvoltare. Definită ca fiind integrarea sinergetică a mecanicii de precizie cu electronica și informatica în scopul dezvoltării și fabricării de produse inteligente, ea reprezintă răspunsul la revoluția informatică, ce a produs și produce încă saltul de la societatea avansat industrializată la societatea informatizată. Odată cu creșterea exploziva a eficientei calculatoarelor, sistemele mecatronice au devenit comune în orice disciplină inginerească.
Investițiile în tehnologia informatică pot fi eficiente numai în măsura în care se asigură pregatireaspecialiștilor capabili să integreze informația în structurile produselor. Specialistul în mecatronică este un inginer cu un orizont larg, cu o pregătire multi- și interdisciplinară.
Educația mecatronică asigură acțiune în gândire, trăsături definitorii a specialistului în economia de piață. Laboratoarele interdisciplinare de mecatronică constituie baza pentru materializarea principiilor:”educație prin practică”, ”educație prin cercetare”. Abordările în acest sens mută accentul de pe latura informativă pe cea formativă.
Capitolul 2
ROBOTI MOBILI
2.1 Prezentare generala
Roboții mobili reprezintă un subiect de cercetare în plină ascensiune. Folosiți inițial în proiecte aparținând departamentelor de apărare din armată, și apoi în industrie pe post de vehicule ghidate autonom, roboții mobili constituie mai nou atracția principală a omenirii secolului XXI.
Proiecte desfășurate cu succes de corporații precum Sony (Aibo, Qrio) sau Honda (Asimo P2, P3) au constatat o capacitate mare de adopție a utilizatorilor pentru roboți în medii familiale. Mulți specialiști în domeniu presupun deja că până în anul 2050, în fiecare casă de pe planetă va exista cel puțin un robot cu formă humanoidă.
Studiile arată însă că pentru a putea implementa concepte din domenii precum inteligența artificială, este necesară construirea unor arhitecturi modulare, scalabile și eficiente, atât pentru componentele hardware ale robotului cât și pentru platformele software pe care acesta le utilizează. Aceste aspecte sunt încă la începutul dezvoltării lor, momentan existând destul de multe probleme și incompatibilități între diferitele standarde impuse de producători.
Pentru a putea defini un vehicul robot, trebuie în primul rând făcut apel la una din definițiile de bază ale unui robot: “un dispozitiv mecanic care poate fi programat pentru a îndeplini anumite sarcini ce-i sunt date prin control automat”. [8]
Cuvintele cheie din cadrul definiției de mai sus sunt: programat, respectiv control automat. Prin prisma acestora, se enunță definiția unui vehicul robot:
„Un vehicul robot este un vehicul echipat cu un mecanism de propulsie, cu capacitatea de a fi programat pentru locomoție sub control automat, functional pentru o anumită sarcină dată."
În practică există o diversitate mare de vehicule robot. O clasificare sumară a acestora este prezentată în figura de mai jos:
O primă clasificare care se poate observa din figura de mai sus, rezultă din faptul că se face o diferențiere între vehiculele ghidate, precum AGV-urile (en. Automated Guided Vehicles), și cele neghidate. Un vehicul ghidat este de regulă limitat la un set de traiectorii predefinite în spațiul său de lucru. Aceste traiectorii pot fi marcate prin șine, linii optice sau magnetice, sau pur și simplu pot fi alcătuite dintr-o serie de poziții programate aprioric în memorie. Vehiculele ghidate nu pot, sub nici o formă, să părăsească traiectoria prestabilită.
O a doua clasificare are la bază mediul în care operează vehicolul robot. În timp ce vehiculele robot ghidate sunt terestre, cele neghidate pot acționa și sub apă respectiv în spațiu. Cea mai mare categorie însă este cea a vehiculelor robot neghidate terestre, care la rândul lor se pot clasifica în funcție de tipul de sistem de locomoție. Dintre toate sistemele de locomoție, cele mai des întâlnite sunt cele cu roti.
In literatura de specialitate, vehiculele robot neghidate terestre cu roți se mai numesc și „roboți mobili” (en. Wheeled Mobile Robots) sau ,,vehicule robot mobile autonome”.
Un robot mobil este alcătuit dintr-o serie de componente, unele de natură fizică (hardware), iar altele de natură logică, computațională (software). Din punct de vedere al componentelor hardware, un robot mobil poate fi considerat [7] ca o colecție de sisteme pentru:
Locomoție: – modalitatea prin care robotul se mișcă în mediul său ambiant;
Sesizare (sistem senzorial): – modalitatea prin care robotul măsoară proprietățile lui și ale mediului înconjurător;
Procesare: – modalitatea prin care robotul procesează și ia decizii în legătură cu informațiile primite de la sistemul senzorial;
Comunicare: – modalitatea prin care robotul comunică cu alți roboți sau cu un operator din mediu.
2.2 Sisteme de locomotie
Locomoția este procesul care îi permite robotului mobil să se deplaseze prin mediu, prin acționarea anumitor forțe asupra sa. Studiul acțiunii acestor forțe se numește dinamica, iar studiul formulelor matematice asociate mișcării, fără aconsidera forțele fizice, se numește cinematică. [7]
Una din tehnicile de estimare a poziției unui robot mobil în mediul său se numește odometrie. Prin odometrie se calculează distanța parcursă de un robot mobil în funcție de cât de mult s-au rotit rotile acestuia. In cazul unei roti ideale, la fiecarerotație a acesteia se poate considera că robotul a parcurs o distanță egală cu 2πr, unde r reprezintă raza roții respective. în practică însă, datorită forțelor de frecare și a aluncărilor, estimările sunt mult mai puțin precise.
Un robot mobil aflat într-un plan are 3 grade de libertate: o poziție (x, y) și o orientare θ față de axa orizontală. Tripletul (x, y, θ) se mai numește și poziția (relativă sau absolută) a robotului mobil (en. robot pose) și constituie variabila efectivă de control a sistemului de locomoție.
Datorită faptului că un robot mobil nu are control complet asupra celor trei variabile, o serie de manevre mai mult sau mai puțin complexe trebuie îndeplinite pentru ca robotul mobil să ajungă dintr-o anumită poziție în alta. In literatura de specialitate, poziția de start se notează cu (xS, yS, θS), iar poziția unde trebuie să ajungă robotul cu (xg, yg, θg) [13], [14].
In dotarea unor roboți mobili, pe lângă roțile motoare, se regăsesc fie roți adiționale fie alte puncte de contact care nu fac altceva decât să asigure suportulrobotului. Cele mai des întâlnite sunt roțile de tip castor, roți care nu sunt de obicei considerate în ecuațiile cinematice ale robotului mobil.
Sistemele de locomoție pot avea proprietăți și componente diferite unul față de celălalt. în continuare se prezintă câteva dintre cele mai populare sisteme de locomoție ale roboților mobili.
2.2.1 Sisteme de locomoție diferențiale
Sistemele diferențiale (en. differential drive) sunt printre cele mai simple sisteme de locomoție întâlnite la un robot mobil. Un sistem diferențial este alcătuit din două roți montate pe un ax comun controlate prin două motoare separate, figura 2.2.
Cinematica se ocupă de relațiile între parametrii de control și comportamentul sistemului în spațiul stărilor. In cadrul unui sistem de locomoție diferențial, robotul trebuie să se rotească în jurul unui punct care se află pe axa comună a celor două roți motoare. Prin modificarea vitezelor celor două roți, traiectoria de rotație poate fi modificată. Vitezele celor două roți trebuie să respecte următoarea relație:
(2.1)
Unde vs reprezintă viteza roții din partea stângă, vd viteza roții din partea dreaptă, R reprezintă distanța dintre mijlocul axei celor două roți și centrul de curbură CC, ω viteza unghiulară, iar l distanța între cele două roți. Unghiul de rotație este reprezentat de θ. Rezolvarea sistemului de ecuații de mai sus duce la următoarele soluții:
(2.2)
Un caz special îl constituie vs=vd. Distanța R devine în acest caz infinită, deci robotul se va mișca în linie dreapta. Dacă vS=-vd, distanța R devine 0, iar robotul se va mișca pe loc în jurul mijlocului axei I. Pentru orice alte valoari ale lui vs și vd, robotul se va roti pe un cerc de rază R față de centrul de curbură.
O multitudine de puncte diferite de punctul de start se pot atinge prin alegerea vitezelor vS și vd. Determinarea unui punct care poate fi atins de robot prin manipularea parametrilor de control poarta numele de ecuațiile cinematice directe ale robotului.
Ecuația de mai sus descrie mișcarea de rotație a unui robot la o distanță R dintre mijlocul axei celor două roți și centrul de curbură CC cu viteza unghiulară ω.
Prin integrarea ecuației de mai sus, pornind de la un set de condiții inițiale (x0, y0, θ0), se poate determina poziția robotului la un timp t, pe baza parametrilor de control v1(t) și v2(t).
Determinarea parametrilor de control (vitezele vs și vd) pentru a ajunge într- un anumit punct deja stabilit, poartă numele de ecuațiile cinematice inverse ale robotului. Datorită faptului că rezolvarea sistemului de ecuații de mai sus este anevoioasă, se propun două cazuri speciale de mișcare a robotului cu sistem de locomoție diferențial.
In primul caz, dacă se egalează vS cu vd= v, ecuația de mai sus devine:
(2.5)
Astfel, pentru a deplasa un robot din (xS, yS, θs) în (xg, yg, θg), cu θg ≠ θS, se poate folosi legea a doua de control (vS = -vd) până în momentul în care θg = θS, urmând apoi a deplasarobotul folosind prima lege de control (vS = vd).
In al doilea caz, dacă se alege vs = -vd = v, ecuația devine:
(2.6)
2.2.2 Sisteme de locomoție sincrone
Intr-un sistem de locomoție sincron, fiecare roată poate fi controlată separat. Configurațiile tipice de sisteme de locomoție sincrone presupun existența a trei roți motoare așezate pe vârfurile unui triunghi echilateral (vezi figura 2.3).
Fig.2.3Sistem de locomoție sincron
Un tip de aranjament mecanic pentru un robot cu sistem de locomoție sincron este de a folosi două motoare, unul pentru a roti toate roțile într-o direcție, iar cel de-al doilea pentru a le mișca înainte sau înapoi.
Datorită faptului că toate roțile rămân paralele, roboții cu locomoție sincronă se rotesc în jurul centrului lor geometric.
Ecuațiile cinematice directe pentru un robot cu sistem de locomoție sincron, care se rotește cu viteza unghiulară ω și se deplasează cu viteza v, sunt:
2.2.3. Sisteme de locomoție tip tricicletă
Un sistem tip tricicletă este alcătuit din 3 roți, dintre care două în spate, pasive, și o roată în față, motoare, cu ajutorul căreia se poate stabili viteza de deplasare precum și direcția vehicolului. Robotul tip tricicletă este controlat prin unghiul α, respectiv prin viteza de deplasare v, vezi figura de mai jos.
Dacă roata din față este poziționată la un unghi α, robotul se va roti cu viteza unghiulară ω, la o distanța R pe direcția unei linii perpendiculare și care trece prin roțile din spate. R și ω sunt date de:
(2.8)
Ca și în cazul sistemului de locomoție diferențial, ecuațiile cinematice inverse sunt destul de complicate. Din aceleași considerente se analizează două cazuri speciale.
Dacă α=0, robotul se deplasează înainte, poziția lui fiind data de:
(2.9)
In cazul al doilea, dacă robotul este capabil să manevreze roata motoare la unghiuri de +/- 90 grade, atunci robotul se poate întoarce pe loc, iar poziția va fi datăde:
(2.10)
De notat faptul că, dacă roata din fața nu se poate roti la unghiuri de +/- 90 grade, este imposibil de a schimba orientarea robotului fară a-i schimba poziția.
2.2.4. Sisteme de locomoție Ackerman
Sistemele de locomoție Ackerman se regăsesc în majoritatea automobilelor. In modelul Ackerman, roțile din fața se pot roti individual, pentru a putea modifica distanța față de centrul de curbură aflat pe o linie perpendiculară care trece prin centrul roților din spate (vezi figura 2.5).
In sistemul de locomoție bazat pe modelul Ackerman, robotul se rotește în jurul unui punct aflat pe dreapta perpendiculară care trece prin mijlocul roților de pe spate, la o distanță R, dată de relația:
(2.11)
Pentru ca robotul să fie în mișcare de rotație, cea de-a doua roată motoare trebuie rotită cu un unghi α2, unde:
(2.12)
Mai multe detalii despre sistemul de locomoție Ackerman cât și despre alte diverse sisteme pot fi găsite în [12].
2.2.5. Odometria si erori de navigare
Odometria reprezintă metoda de navigare cea mai utilizată pe scară largă pentru poziționarea roboților mobili. Este bine cunoscut faptul că odometria oferă o precizie pe termen scurt, este ieftină, și permite rate de eșantionare foarte mari. Cu toate acestea, ideea fundamentală a odometriei este integrarea informației de mișcare incrementală în timp, ceea ce duce inevitabil la acumularea de erori. În special, acumularea de erori de orientare va cauza erori de poziționare mari care cresc proporțional cu distanța parcursă de către robot. În ciuda acestor limitări, cei mai multi cercetatori sunt de acord că odometria este o parte importantă a unui sistem de navigație pentru un robot și că sarcinile de navigație vor fi simplificate în cazul în care precizia odometrică poate fi îmbunătățită. Odometria este folosită în aproape toți roboții mobili, din diverse motive:
– Datele de odometrie pot fi combinate cu măsurători de poziție absolută pentru a oferi o estimare a poziției mai bună și mai de încredere [Cox, 1991; Hollingum, 1991; Byrne și colab, 1992.; Chenavier și Crowley, 1992; Evans, 1994].
– Odometria poate fi utilizată între actualizările absolute de poziție cu repere.de pe teren. Având în vedere precizia de poziționare necesară, acuratețea crescută a odometriei permite actualizări de poziție absolută mai puțin frecvente. Ca urmare, sunt necesare mai puține repere din teren pentru o distanță dată de parcurs.
– Mulți algoritmi de cartografiere și potrivire a reperelor din teren (de exemplu:. [Gonzalez et al, 1992; Chenavier și Crowley, 1992]), presupun că robotul își poate menține poziția destul de bine pentru a permite robotului să caute repere într-o zonă limitată și pentru a potrivi caracteristicile respective în zona limitată pentru a obține un timp de procesare scurt și pentru a îmbunătăți de corectitudinea de potrivire [Cox, 1991].
– În unele cazuri, odometria este singura informație de navigație disponibilă; de exemplu: atunci când nu este disponibilă o referință externă, atunci când circumstanțele împiedică introducerea sau selectarea marcajelor in mediul înconjurător, sau atunci când un alt subsistem senzor nu furnizează date utilizabile.
Odometria se bazează pe ecuații simple, care sunt ușor de implementat și care utilizează date de la encodere de roți incrementale de loc scumpe. Cu toate acestea, odometria este, de asemenea, bazată pepresupunerea că impulsurile de la encodere pot fi traduse în deplasariliniare în raport cu o suprafata. Un exemplu extrem este alunecarea roțiilor: în cazul în care o roată a alunecat, atunci encoder-ul asociat ar înregistra rotația roții, chiar dacă aceste rotații nu ar corespunde cu o deplasare liniară a roții. Pe langa asemenea, există multe alte motive mult mai subtile pentru inexactități în traducerea de valorilor encoder-ului roților în mișcare liniară. Toate aceste surse de erori se încadrează în una din cele două categorii: erori sistematice si erori nesistematice.
2.2.5.1 Erorile sistematice
– Diametrele roților inegale.
– Media diametrelor roților reale diferă de diametrul roților nominal.
– Ampatamentul efectiv diferă de ampatament nominal.
– Lipsa de aliniere a roților.
– Rezoluție encoder finită.
– Rata de eșantionare encoder finită.
2.2.5.2 Erori nesistematice
– Trecere peste o suprafata denivelată.
– Trecere peste obiecte neașteptate pe anumite suprafete.
– Derapajul roțior din cauza: suprafetelor alunecoase, supra-accelerării, rotatilor rapide, forțe externe (interacțiune cu elemente externe), forte interne (pe roti), contact absent între roată și podeaua.
Distincția clară între erorile sistematice și nesistematice este de mare importanță pentru reducerea efectivă a erorilor odometriei. De exemplu, erorile sistematice au o importanță ridicată, deoarece se acumulează în mod constant. Pe majoritatea suprafețelor interioare netede, erorile sistematice contribuie mult mai mult la erorile de odometrie, decât erorile nesistematice. Cu toate acestea, pe suprafețe aspre, cu iregularități semnificative, erorile nesistematice predomină. Problema cu erorile nesistematice este că ele pot apărea în mod neașteptat (de exemplu, atunci când robotul trece peste un obiect neașteptat pe o suprafață), și ele pot provoca erori mari de poziționare. De obicei, atunci când este instalat pe un robot mobil, un sistem hibrid de navigare, odometrie – puncte de reper, frecvența reperelor este determinată empiric și se bazează pe erorile sistematice din cel mai rău caz. Astfel de sisteme sunt susceptibile de a eșua, atunci când intervin una sau mai multe erori mari nesistematice.
Este de remarcat că mulți cercetători dezvoltă algoritmi care estimează incertitudinea poziției unui robot prin odometrie (de exemplu, [Tonouchi et al, 1994;. Komoriya și Oyama, 1994].). Prin această metodă, fiecare poziție calculată a robotului este înconjurată de o caracteristică "eroare eliptică", care indică o regiune de incertitudine pentru pozitia actuala a robotului (vezi figura 2.6) [Tonouchi și colab., 1994; Adams și colab., 1994]. De obicei, aceste elipse cresc cu distanța de parcurgere, până când o măsurătoare a poziției absolute reduce incertitudinea în creștere, și prin urmare, "resetează" mărimea erorii eliptice. Aceste tehnici de estimare de eroare trebuie să se bazeze pe parametri de estimare de eroare, derivați din observațiile de performanță odometrică ale vehiculului. În mod evident, acești parametri pot lua în calcul doar erorile sistematice, deoarece magnitudinea erorilor nesistematice este imprevizibilă.
2.2.5.3 Măsurarea Erorilor de Odometrie
O dificultate importantă, dar rareori abordată în robotica mobilă o reprezintă măsurarea cantitativă a erorilor de odometrie. Lipsa unor proceduri de măsurare bine definite pentru cuantificarea erorilor de odometrie rezultă în calibrarea slabă de platforme mobile și rapoarte incomparabile ale preciziei odometrice în comunicările științifice. Pentru a depăși această problemă, Borenstein și Feng [1995a; 1995c] au dezvoltat metode de măsurare cantitativă a erorilor sistematice din odometrie și, într-o măsură limitată, a erorilor de odometrie nesistematice. Aceste metode se bazează pe un model de eroare simplificat, în care două dintre erorile sistematice sunt considerate a fi dominante, și anume:
Eroarea datorată diametrelor roților inegale, definită ca:
Ed = DR / DL (2.13)
unde DRși DL sunt diametrele roților reale ale roților dreapta, respectiv stânga.
Eroarea cauzată de incertitudinea privind ampatamentul efectiv, definită ca
Eb = b actual / bnominal (2.14)
unde b reprezintă ampatamentul vehiculului.
Măsurarea erorilor sistematice din odometrie
Pentru a înțelege mai bine motivația metodei, va fi de ajutor investigarea mai întâi a unei metode aferente. Această metodă aferentă, este intuitivă și utilizată pe scară largă (de exemplu, [Borenstein și Koren, 1987; Cybermotion, 1988; Komoriya și Oyama, 1994; Russell, 1995], dar acesta este un test de evaluare fundamental impropriu pentru roboții mobili cu tractiune diferențială.
Calibrarea urmărind o traiectorie pătratică unidirecțională – O măsură greșită pentru Precizia Odometrică. Figura 2.7.a prezintă o traiectorie patrată unidirecțională de 4 × 4 m. Robotul pornește de la o poziție x0, y0, θ0, care este etichetată START. Zona de pornire ar trebui să fie situată în apropiere de colțul dintre doi pereți perpendiculari. Pereții servesc ca referință fixă, înainte și după cursă: măsurarea distanței dintre trei puncte specifice de pe robotul și pereți permite determinarea precisă a poziție și orientarii absolute a robotului.
Pentru a efectua testul, robotul trebuie să fie programat astfel incat sa parcurga intreaga traiectorie patratica prin toate cele patru colturi.
Calea de rulare va readuce vehiculul la zona de plecare, dar, din cauza erorilor de odometrie și controler, nu chiar precis în pozitia inițială. Deoarece acest test are drept scop determinarea erorilor de odometrie și nu erorilor de controler, vehiculul nu are nevoie să fie programat să revină la poziția sa inițială precis – revenirea la aproximativ zona de start este suficientă. La finalizarea căii de rulare pătratice (square path), testerul măsoară din nou poziția absolută a vehiculului, cu ajutorul pereților ficși luați ca referință. Aceste măsurători absolute sunt apoi comparate cu poziția și orientarea vehiculului calculat din datele de odometrie. Rezultatul reprezintă o serie de erori de poziție de întoarcere cauzate deodometrie și notată εx, εy, și εθ.
unde:
– εx = xabs – xcalc;
– εy = yabs – ycalc;
– εθ = θabs – θcalc;
εx, εy, εθ = erorile de pozitie si orientare datorate odometriei;
xabs, yabs, θabs= pozitia si orientarea absoluta a robotului;
xcalc, ycalc, θcalc = pozitia si orientarea robotului calculata prin odometrie.
Traiectoria prezentată în figura 2.7.a cuprinde patru segmente de linie dreaptă și patru rotații pure în jurul centrului de rotatie al robotului, la colțurile pătratului. Poziția finală a robotului prezentată în figura 2.7.a vizualizează eroarea de odometrie.La analiza rezultatelor acestui experiment, experimentatorul pot trage două tipuri diferite de concluzii: Eroarea de odometrie este rezultatul diametrele roților inegale, Ed, așa cum se arată de către traiectoria ușor curbată din figura 2.7.b (linia punctată). Sau, eroarea de odometrie este rezultatul incertitudinii cu privire la ampatament, E b. În exemplul din figura 2.7.b, Eb a cauzat robotul să se rotească 87 de grade în loc de 90 de grade dorite (traiectoria punctată din Figura 2.7.b).
După cum se poate vedea în figura 2.7.b, oricare dintre aceste două cazuri ar putea genera aproximativ aceeași eroare de poziție. Faptul că două surse diferite de eroare ar putea cauza aceeași eroare generală, poate conduce spre o greșeală gravă: corectarea doar a uneia dintre cele două surse de erori în software. Această greșeală este atât de gravă deoarece va produce rezultate aparent "excelente", așa cum se arată în exemplul din figura 2.8. În acest exemplu, se observă "imbunatatirea" performanței prin ajustarea ampatamentului b în software-ul de control. În conformitate cu ecuațiile odometriei pentru vehicule cu transmisie diferențială este nevoie doar de a crește valoarea b pentru a face ca robotul să se rotească mai mult în fiecare rotație nominală de 90 grade. În acest sens, se va ajusta curând valoarea b la o valoare “ideală” aparent, care va roti robotul la 93 de grade, prin urmare compensând efectiv eroarea de orientare de 3 grade generată pe fiecare latură ușor curbată atraiectoriei pătratice.
Este de reținut că o altă metodă de test des intalintă, estede a parcurge o traiectoriesub forma cifrei-8 [Tsumura et al., 1981; Borenstein și Koren, 1985; Cox,1991]. Această metodă poate avea aceleași deficiențe precum cea a traiectoriei drepte uni-directionale.
Calibrarea urmărind o traiectorie pătratică în ambele direcții
Exemplul detaliat din secțiunea precedentă ilustrează faptul că experimentul căii de rulare pătratice unidirecțională nu este adecvat pentru testarea performanței odometriei în cazul platformelor cu transmisie diferențială, deoarece poate ascunde cu ușurință două erori de odometrie cu compensare reciprocă.
Pentru a depăși această problemă, Borenstein și Feng [1995a; 1995c] au introdus experimentul căii de rulare pătratice bidirecționale, denumit "University of Michigan Benchmark (UMBmark)". "UMBmark" presupune ca experimentul de parcurgere a unei traiectorii pătratice să fie efectuat atât în sensul orar, cât și invers orar. Figura 2.9 prezintă eroarea dublu ascunsă de laexemplul din figura 2.8, care devine clar vizibilă atunci când traiectoria pătratică este parcursă în direcția opusă. Acest lucru este posibil, deoarece cele două erori sistematice dominante, se pot compensa una cu cealaltă, atunci când rulează într-o singură direcție, sau se adaugă reciproc și cresc eroarea generală atunci când rulează în direcția opusă.
Rezultatul experimentului bidirecțional s-ar putea să arate similar cu cel prezentat în figura 2.9, care prezintă rezultatele experimentale reale, cu un robot ce poartă o sarcină distribuită uniform. În acest experiment, robotul a fost programat să ruleze după o traiectorie pătratică de 4 × 4 metri, începând din punctul (0,0).
Pozițiile de oprire din cinci serii, fiecare în sensul acelor de ceasornic (cw) și invers acelor de ceasornic (CCW) sunt prezentate în figura 2.10.
De reținut este căfigura 2.10 este o vedere mărită a zonei țintă. Rezultatele pot fi interpretate după cum urmează:
● Pozițiile de oprire după parcurgerea traseului in sens orar și invers orar sunt grupate în două zone distincte.
● Distribuția rezultatelor după parcurgerea traseului în sens orar și invers orar este rezultatul unor erori nesistematice, cum ar ficele menționate în secțiunea sectiunea de mai sus. Cu toate acestea, figura 2.10 arată că într-un vehicul necalibrat, rularea pe o suprafată destul de netedă, contribuția erorilor sistematice la eroarea totală de odometrie pot fi notabil mai mari decât contribuția erorilor nesistematice.
După efectuarea experimentului UMBmark, s-ar putea dori obținerea unei singure valori numerice ce exprimă precizia odometrică (în raport cu erorile sistematice) a vehiculului testat. Pentru a reduce la minim efectul erorilor nesistematice, s-a sugerat [Komoriya și Oyama, 1994; Borenstein și Feng, 1995c] să se ia în considerare centrul de greutate al fiecărui grup de erori de poziționare în calitate de reprezentant pentru erorile sistematice de odometrie în direcțiile de parcurgere a traseului in sens orar și invers orar.
Coordonatele celor doua centre de greutate se calculează din rezultatele ecuației de mai jos:
unde:
n = 5 este numărul de încercări în fiecare direcție.
Valoarea absolută de compensare a celor două centre de greutate de la originesunt notate rc.g.,cw și rc.g., ccw și sunt date de relațiile:
În final, valoarea mai mare dintre rc.g., cw și rc.g., ccw este definită ca "măsură a preciziei odometrice pentru erorile sistematice ":
Emax, sist = max (rc.g.,cw, rc.g., ccw) (2.17)
Motivul pentru care nu se folosește media celor două centre de greutate rc.g., cw și rc.g., ccw este că aplicatiile practice necesită luarea în calcul a celei mai mari erori posibile de odometrie. De asemenea, trebuie reținutfaptul că eroarea de orientare finală εθ nu este considerată în mod explicit în expresia Emax, sist. Aceasta se datorează faptului că toate erorile sistematice de orientare sunt conținute în erorile de poziție finale. Cu alte cuvinte, din moment ce traiectoriile pătratice au laturi de lungime fixă, erorile sistematice de orientare se traduc direct în erori de poziție.
Măsurarea Erorilor Nesistematice
Unele concluzii cu privire la susceptibilitatea unui vehicul de a conduce la erori nesistematice pot fi derivate din răspândirea erorilor pozițieifinale, care a fost prezentată în figura 2.10. Atunci când se rulează procedura UMBmark pe suprafețe netede (de exemplu, o suprafață de beton, fără denivelări vizibile sau fisuri), indicarea magnitudinii erorilor nesistematice poate fi obținută prin calcululdeviației standard estimate σ. Cu toate acestea, Borenstein și Feng [1994] atenționează că există doar o valoare limitată la cunoașterea σ, din moment ce σ reflectă doar interacțiunea dintre vehicul și o anumită suprafață. Mai mult, se poate arăta că din compararea σ în cazul a doi roboți diferiți (chiar dacă rulează pe aceeași podea), nu se poate concluziona în mod necesar că roboții cu σ mai mare prezintă susceptibilitate mai mare a erorilor nesistematice.
În aplicațiile reale, este necesar ca cea mai mare perturbare posibilă să fie determinată și utilizată în testare. De exemplu, abaterea standard estimată a testului din figura 2.10 nu indică deloc ce eroare este de așteptat în cazul în care o roată a robotului trece neașteptat peste o denivelare sau fusurăîntr-o suprafață. Din motivele de mai sus, este dificil (poate imposibil) de a proiecta o procedură generală aplicabilă în testare cuantificabilă pentru erorile nesistematice. Cu toate acestea, Borenstein [1994] a propus un test ușor de reprodus, care ar permite compararea susceptibilității la erori nesistematice a vehiculelor cu transmisie diferențială. Acest test, numit "UMBmark extins", utilizează aceeași traiectorie pătratică parcursă în ambele sensuri precum UMBmark, dar, în plus, prezintă denivelări artificiale. Aceste denivelări artificiale sunt introduse printr-un cablu de tip casnic, rotund, electric (cum ar fi cablurile de alimentare). Un astfel de cablu are un diametru de aproximativ 9 până la 10 milimetri. Forma sa rotundă și învelișul de plastic permite chiar și roboților mici să-l traverseze, fără prea mult impact fizic. În testul UMBmark extins propus, cablul este plasat de 10 ori sub una din roțile robotului, în timpul mișcării. Pentru a asigura o mai bună repetabilitate pentru acest test și pentru a evita compensarea reciprocă a erorilor, Borenstein și Feng [1994] sugerează că aceste 10 denivelări să fie introduse cât mai uniform posibil. De asemenea, denivelările trebuie introduse în timpul primului segment drept al căii de rulare, și întotdeauna sub roata care se află în interiorul pătratului. Se poate observa [Borenstein, 1994b] că efectul cel mai vizibil pentru fiecare denivelare reprezintă o eroare de orientare în direcția roții care întâlnește denivelarea. În exemplul de mai jos, eroarea de orientare rezultată dintr-o denivelare de înălțime h = 10 mm este de aproximativ Δθ = 0.44° [Borenstein, 1994b].
În urma testelor se dorește determinarea parametrului care ar fi cel mai util pentru exprimarea susceptibilitatea vehiculului la erori nesistematice. Se consideră, de exemplu, Calea A și Calea B în figura 2.11. Dacă cele 10 denivelări necesare din testul extins UMBmark erau concentrate la începutul primului segment drept (așa cum se arată în exagerarea din Calea A), atunci eroarea de pozitionare finală ar fi foarte mică. În schimb, în cazul în care cele 10 denivelări s-au concentrat spre sfârșitul primului segment drept (Calea B din figura 2.11), atunci eroarea de poziționare finală ar fi mai mare. Din cauza acestei sensibilități de pozitionare, locația exactă a denivelărilor nu este o idee bună în utilizare,si nu se recomandă a se lua în considerare ca un indicator pentru susceptabilitatea unui robot la erori nesistematice. În schimb, eroarea de orietnare εθ trebuie utilizată. Deși este mai dificil de măsurat în cazul unghiurilor mici, valoarea lui εθreprezintă un indicator cantitativ mai consistent pentru compararea performanțelor diferiților roboți. Astfel, se poate măsura și exprima susceptibilitatea unui vehicul la erori nesistematice în termeni de eroare de orientare absolută medie, definită ca
unde:
n = 5 este numărul de experimente în sens orar sau sens antiorar, exponenții "sys" și "nonsys" indică un rezultat obținut fie din testul UMBmark obișnuit (de erori sistematice), fie din testul UMBmark extins (pentru erorile nesistematice). De reținut este că ecuația (2.18) îmbunătățește acuratețea în identificarea erorilor nesistematice prin eliminarea tendinței sistematice a vehiculului, având în vedere:
De asemenea, de reținut este faptul că argumentele dinΣ în ecuația (2.19) sunt valori absolute ale erorilor de orientare, fără semn. Acest lucru se datorează faptului că se dorește evitarea cazului în care două erori de orientare de semn opus se anulează reciproc. De exemplu, în cazul în care într-o cursă εθ=1°, iar în următoarea cursă εθ =-1°, atunci nu se poate trage concluzia că eroarea de orientare este 0. Folosind media de eroare de retur absolută calculată în (2.19), s-ar putea calcula corect εθ. Prin contrast, în ecuația (2.20) media aritmetică reală se calculează pentru identificarea unei tendințe fixe.
2.2.5.4 Reducerea Erorilor de Odometrie
Precizia odometriei în cazul platformelor mobile comerciale depinde, într-o oarecare măsură de design-ul lor cinematic și de anumite dimensiuni critice. Aici unele dintre considerațiile de design specifice afectează acuratețea odometriei:
Vehiculele cu un ampatament mic sunt mai predispuse la erori de orientare decât vehiculele cu ampatament mai mare. De exemplu, robotul LabMate cu transmisie diferențială de la TRC are un ampatament relativ mic de 340 de milimetri (13,4 in). Ca rezultat, Gourley și Trivedi [1994], sugerează ca odometria cu LabMate să fie limitată la aproximativ 10 metri (33 ft), înainte ca o nouă "calibrare" să fie necesară.
Vehicule cu rotile care poartă o parte semnificativă din greutatea totală sunt susceptibile de a induce derapaj atunci când are loc inversarea direcției ("efectul coșului de cumpărături"). În schimb, în cazul în care roțile poartă doar o mică parte din greutatea totală, atunci derapajul nu se va produce în momentul inversării direcției [Borenstein și Koren, 1985].
Este cunoscut faptul că, în mod ideal, roțile folosite pentru odometrie ar trebui să fie "muchie de cutit", subțiri și să nu fie compresibile. Rotilele ideale sunt din aluminiu cu un strat subțire de cauciuc pentru o mai bună tracțiune. În practică, acest design nu este posibil pentru toate vehiculele ușoare, deoarece roțile în conducerea diferențială sunt, de obicei și roțile motoare, care necesită o suprafață ceva mai mare de contact cu suprafața de rulare.
De obicei, tracțiunea sincronă, oferă o mai bună precizie odometrică decât vehiculele cu transmisie diferențială. Acest lucru este valabil mai ales atunci când trec peste denivelări ale suprafeței de rulare: denivelările arbitrare vor afecta doar o roată la un moment dat. Astfel, din moment ce celelalte două roți de antrenare rămân în contact cu solul, acestea asigură un plus de tracțiune și forță roții afectate de derapaj. Prin urmare, distanța totală parcursă se va reflecta în mod corespunzător în traiectoria indicată de odometrie.
Alte încercări de îmbunătățire a preciziei odometrice se bazează pe modelarea mai detaliată. De exemplu, Larsson și colab. [1994] au utilizat segmente circulare pentru a înlocui segmentele liniare din fiecare perioada de eșantionare. Beneficiile acestei abordări sunt relativ mici. Boyden și Velinsky [1994] au comparat (în simulări) tehnici odometrice convenționale, bazate doar pe cinematica, cu soluții bazate pe dinamica vehiculului. Ei au prezentat rezultatele simulării, pentru a arăta că atât în cazul roboților mobili cu transmisie diferențială, cât și în cazul celor cu transmisie convențională, modelul cinematic a fost precis numai la viteze mai mici, de până la 0,3 m / s, atunci când efectuează un viraj strâns. Acest rezultat coincide cu observațiile experimentale, care sugerează că erorile datorate derapajului roții poate fi redusă într-un oarecare grad prin limitarea vitezei vehiculului în timpul întoarcerii, și prin limitarea acceleratiilor.
Reducerea Erorilor de Odometrie Sistematice
În această secțiune se vor prezenta metode specifice pentru reducerea erorilor sistematice de odometrie. Atunci când sunt aplicate individual sau în combinație, aceste abordări pot îmbunătăți precizia odometrică prin ordine de magnitudine.
a.) Roți auxiliare cu encodere
Este posibil în general dea îmbunătăți precizia odometrică prin adăugarea unei perechi de roți encoder "muchie de cutit", care să nu fie de tracțiune, așa cum se arată conceptual în figura 2.11. Din moment ce aceste roți nu sunt utilizate pentru transmiterea energiei, ele pot fi fabricate foarte subțiri și cu doar un strat subțire de cauciuc.
Un astfel de proiect este fezabil pentru vehicule cu transmisie diferențială, transmisie triciclu, și vehicule Ackerman.
Hongo și colab. [1987] au construit un astfel de set de roți encoder, pentru a îmbunătăți precizia unui robot mobil cu transmisie integrală ce cântărește 350 kilograme (770 lb). Hongo și colab. raportează că, după o calibrare atentă, vehiculul lor a avut o marjă de eroare mai mică de 200 mm (8 in) pentru o distanță de cursă 50 de metri (164 ft). Suprafața solului pe care acest experiment a fost efectuat fost o suprafață “bine pavată”.
b.) Platforma mobilă trasă, cu encodere
O abordare alternativă este utilizarea unui platforme mobile de urmarire a robotului, respectiv trasa de acesta, cu două roți encoder [Fan et al, 1994.; 1995]. Un astfel de encoder "trailer" a fost recent construit și testat laUniversitatea din Michigan (a se vedea figura 2.12).
Acest trailer encoder a fost conceput pentru a fi atașat la un robot mobil. Așa cum a fost explicat în secțiunea de mai sus, este practic imposibil a folosi odometria cu vehiculele pe senile, datorită derapajelor numeroase între șenile și podea în timpul rotațiilor. Ideea encoder trailer-ului este de a efectua odometria ori de câte ori caracteristicile de sol permit să facă acest lucru. Când robotultrebuie să se deplaseze peste obstacole mici, scări, sau teren accidentat, encoder trailer-ul se va ridica. Argumentul pentru aceasta funcționare part-time a encoder trailer-ului este că în multe aplicații robotul va parcurge în mare măsură suprafețecare nu sunt netede și că, prin urmare, ar beneficia de cele mai multe ori de odometria encoder trailer-ului.
c.) Calibrarea sistematică
O altă abordare pentru îmbunătățirea preciziei odometrice fără dispozitive suplimentare sau senzori se bazează pe calibrarea atentă a unui robot mobil. Așa cum a fost explicat în secțiunea de mai sus, erorile sistematice reprezintă proprietăți inerente ale fiecărui robot individual. Acestea se schimba foarte încet ca urmare a uzurii sau distribuțiilor de sarcinii diferite. Astfel, aceste erori rămân aproape constante pe perioade lungi de timp [Tsumura și colab., 1981]. O modalitate de a reduce astfel de erori este calibrarea specifică vehiculului. Cu toate acestea, calibrarea este dificilă deoarece abaterile chiar și de minute în geometria vehiculului sau elementelor sale (de exemplu, o schimbare in diametrul roților datorită unei distribuții de sarcină diferită) pot cauza erori de odometrie substanțiale.
Borenstein și Feng [1995a; 1995b] au dezvoltat o procedură sistematică de măsurare și corectare a erorilor de odometrie. Această metodă necesită ca procedura UMBmark, descrisă mai sus, să fie rulată cu cel puțin cinci serii, fiecare în sensul acelor de ceasornic și invers acelor de ceasornic. Borenstein și Feng definesc două caracteristici noi, de eroare, care sunt semnificative numai în contextul testului UMBmark. Aceste caracteristici, numite de tip A și de tip B, reprezintă erori de odometrie de orientare. Un tip A este definit ca o eroare de orientare care reduce (sau crește) rotația robotului în timpul parcurgerii unei traiectorii pătrate în ambele sensuri orar și invers orar. Prin contrast, tipul B este definit ca o eroare de orientare care reduce (sau crește) rotația robotului în timpul parcurgerii unei traiectorii într-o singură direcție, dar crește (sau reduce) rotația, atunci când rulează în direcția opusă. Exemple de erori de TipA și de Tip B sunt prezentate în Figura 2.13 de mai jos.
Figura 2.13.a. prezintă un caz în care robotul se deplasează de patru ori pentru o valoare nominală de 90 de grade per rotație. Cu toate acestea, pentru că ampatamentul real al vehiculului a fost mai mare decât valoarea nominală,vehiculul de fapt s-a rotit doar 85 de grade în fiecare colț al traiectoriei pătratice. În exemplul din figura 2.13.b. robotul s-a rotit doar θtotal = 4 x 85° = 340° (în loc de valoarea dorită de θ = 360 °).
Se poate observa astfel că atât în cazul carcurgerii traiectoriei în sensul orar, cât și cel în sensul invers orar, robotul încheie rotația mai puțin decât cantitatea dorită, adică:
Prin urmare, eroarea de orientare este de tip A.
În figura 2.13.b este prezentată traiectoria unui robot cu diametrele roților inegale. Această eroare se exprimă într-un traseu curbat, care se adaugă la orientarea generală de la sfârșitul cursei în direcția inversă orar, dar reduce rotația generală în direcția invers orară, de exemplu,
Astfel, eroarea de orientare din figura 2.13.b. este de tip B.
Într-un parcurs real al traiectoriei erorile sunt de tip A și de tip B. Problema este, prin urmare, cum să se facă distincția între erorile de tip A și de tip B și cum să se calculeze factorii de corecție pentru aceste erori din erorile măsurate în poziția finală a robotului în testul UMBmark. Această problematică va fi abordată în continuare.
Figura 2.13 prezintă contribuția erorilor de tip A. Ne amintim că erorile de tip A sunt cauzate în cea mai mare parte de Eb. De asemenea, ne amintim că erorile de tip A influențează rotația la colțurile traiectoriei pătratice. Eroarea de rotație față de rotația nominală de 90° este notată cu α și măsurată în [rad].
Figura 2.13 arată contribuția erorilor de tip B. Ne amintim că erorile de tip B sunt cauzate în cea mai mare parte de raportul dintre diametrele roților Ed. De asemenea, ne amintim că erorile de TipB conduc spre o traiectorie ușor curbată în locul uneia drepte în decursul parcurgerii celor patru segmente drepte ale traiectorie pătratice programate. Datorită mișcării curbate, robotul va prezenta o eroare de orientare incrementală, notată cu β, la sfârșitul fiecărui segment drept.
Se omite derivarea expresiilor pentru α și β, care poate fi obținută din relații geometrice simple din figura 2.13 (a se vedea [Borenstein și Feng, 1995a] pentru o derivare detaliată). Formulele de calcul pentru α și βsunt prezentate mai jos :
Se obtine α în [°] și:
Se obtineβ în [°].
Folosind relațiile geometrice simple, raza de curbură R a traiectoriei curbilinii din figura 2.13.b poate fi aflată ca:
Odată ce raza R este calculată, este ușor să se determine raportul dintre cele două diametre de roți care au cauzat robotul să se deplaseze pe o curbă, în loc de o traiectorie dreaptă:
În mod similar se poate calcula eroarea de ampatament Eb. Având în vedere că ampatamentul b este direct proporțional cu rotația reală, se poate folosi proporția:
Astfel că:
unde, conform definiției din ecuația (2.25):
Odată ce Eb și Ed sunt calculate, este simplu a folosi valorile lor ca factori de compensare în software-ul de control [vezi Borenstein și Feng, 1995a; 1995b]. Rezultatul este o reducere de 10 – 20 de ori a erorilor sistematice.
Figura 2.14 arată rezultatul unei sesiuni de calibrare tipice. DR și DL sunt diametrele efective ale roților, iar b este ampatamentul efectiv.
Această procedură de calibrare poate fi realizată doar cu o ruletă de măsurare obișnuită. Este nevoie de aproximativ două ore pentru a executa procedura de calibrare completă și de a măsura erorile de poziționare individuale.
Reducerea Erorilor de odometrie nesistematice
Această secțiune prezintă metode de reducere a erorilor nesistematice de odometrie. Metodele discutate în secțiunea de mai sus se poate confunda, deoarece acestea au fost puse în aplicare pe platforme experimentale oarecum complexe. Cu toate acestea, metodele din această secțiunea pot fi aplicate în multe alte configurații cinematice.
a.) Referință reciprocă
Sugiyama [1993] a propus folosirea a doi roboti care pot măsura pozițiile lor reciproc. Când unul dintre roboți se mută într-un alt loc, altul rămâne, observă mișcarea, și determină noua poziție a primul robotului. Cu alte cuvinte, în orice moment robotul se localizează cu referire la un obiect fix: robotul fix. Cu toate acestea, abordarea stop and go limitează eficiența roboților.
b.) Corecția erorii de poziție internă
Un mod unic de reducere a erorilor de odometrie și chiar și mai mult, o reprezintă procedura de Corecție a Erorii Poziției Interne (IPEC). Cu această abordare, doi roboti mobili își corectează reciproc erorile de odometrie. Cu toate acestea,spre deosebire de abordarea descrisă în secțiunea a.), metoda IPEC funcționează când ambii roboți sunt în mișcare continuă, rapidă [Borenstein, 1994a]. Pentru implementarea acestei metode, este necesar ca ambii roboți să poată măsura distanța lor relativă și să o desfășoare în mod continuu și precis. Această punere în aplicare este denumită de Legătură Conformă Platformă Autonomă cu Eroare de Recuperare Poziție (CLAPPER).Această configurare oferă feedback în timp real cu privire la poziția relativă și orientarea celor două vehicule. Un encoder absolut la fiecare capăt al unui element rigid ce interconectează ambii roboți, măsoară rotația fiecărui vehicul cu o rezoluție de 0,3 grade, în timp ce un codificator linear este utilizat pentru a măsura distanța de separare în intervalul a 5 milimetri. Fiecare vehicul calculează propria sa poziție prin odometrie și poziția în manieră convențională, pe baza deplasării și a informațiilor de viteza derivate din encoderele roților din stânga și dreapta. Prin examinarea soluțiilor de odometrie percepute de cele două platforme robot împreună cu orientările lor relative cunoscute, sistemul CLAPPER poate detecta și reduce în mod semnificativ poziția erorilor, pentru ambele vehicule.
Principiul de funcționare se bazează pe conceptul ratei de creștere a erorii prezentat de Borenstein [1994a, 1995a], care face o distincție între erorile de odometrie de "creștere rapidă" și "creștere lentă". De exemplu, atunci când un robot cu tracțiune diferențială traversează o denivelare din podea, acesta va experimenta imediat o eroare de orientare apreciabilă (de exemplu, o eroare de creștere rapidă). Eroarea de deplasare laterală asociată, cu toate acestea, este inițial foarte mică (de exemplu, o eroare de creștere lentă), dar creste in mod nelimitat ca urmare a erorii de orientare. Algoritmul de corecție a erorii efectuează măsurători de poziție relativă cu o rată de actualizare suficient de rapidă (20 ms) pentru a permite fiecărui vehicul să detecteze erorile de creștere rapidă o orientării, bazându-se pe faptul că erorile de poziție laterale acumulate de ambele platforme în intervalul de eșantionare au fost mici.
Figura 2.15 explică modul în care funcționează această metodă. După ce traversează o denivelare, orientarea Vehiculului A se va schimbă (un fapt necunoscut pentru calculul de odometrie al Vehiculului A). Vehiculul A se așteaptă să "vadă” Vehiculul B de-a lungul extinderii liniei Le. Cu toate acestea, din cauza rotației suportate fizic de Vehiculul A, encoder-ul absolut al Vehiculului A va raporta că B este văzut acum de fapt de-a lungul liniei Lm. Diferența unghiulară între Le și Lm este eroarea de orientare de odometrie astfel măsurată în cazul Vehiculului A, care poate fi corectată imediat. Trebuie reținut faptul că, dacă Vehiculul B a întâlnit o denivelare în același timp, atunci rotirea rezultată a Vehiculului B nu ar trebui să afecteze măsurarea erorii de orientare.
Elementul de legătură, formează o referință pseudo-stabilă în coordonatele globale, propria orientare fiind dictată exclusiv de pozițiile relative ale punctelor sale finale, care la rândul lor sunt afectate doar prin deplasările laterale ale celor două vehicule. Având în vedere că deplasările laterale sunt de creștere lentă, elementul rigid se rotește foarte relativ puțin.
Trebuie remarcat faptul că nu este necesară o structură cinematicămai complexă a robotului pentru punerea în aplicare a metodei de corecție a erorii IPEC. Principiul de funcționare este ilustrat în figura 2.16. Rezultatele de simulare, indicând fezabilitatea punerii în aplicare a metodei IPEC pe un ansamblu cap tractor si semiremorca, au fost prezentate de [Borenstein, 1994b].
2.2.5.5Navigația inerțială
O metodă alternativă pentru îmbunătățirea odometriei o reprezintă navigația inerțială, dezvoltată initial pentru implementare pe aeronave. Tehnologia a fost rapid adaptată pentru utilizarea pe rachete și în spațiu, și a găsit drumul spre utilizarea maritimă. Principiul de funcționare implică detectarea continuă a accelerațiilor în moment din timp pe direcția atrei axe și integrarea în raport cu timpul a acestora, pentru a obține viteza și poziția. O platformă cu senzor giroscopic stabilizat este folosit pentru a menține orientarea consecventă a trei accelerometre pe parcursul acestui proces.
Deși destul de simplu ca și concept, punerea în aplicare este destul de solicitantă. Acest lucru este cauzat în principal de sursele de erori, care afectează în mod negativ stabilitatea giroscoapelor utilizate pentru a asigura corecția de atitudine. Rezultă costuriridicate de producție și de întreținere care au exclus efectiv orice aplicarea practică a acestei tehnologii în industria vehiculelor ghidate automat [Turpin, 1986]. De exemplu, un sistem de navigație inerțial de înaltă calitate (INS), cum ar fi cele folosite într-o aeronavă comercială va avea o deviere de 1850 de metri intr-o oră de funcționare, și un cost între $ 50K și 70K $ [Byrne et al., 1992]. Pachetele high-end INS utilizate în aplicații la sol au demonstrat performanță mai bună decât 0,1 la sută din distanța parcursă, dar costul cuprins între $ 100K la $ 200K, în timp ce versiunile de performanță mai mică (de exemplu, un procent din distanța parcursă) rula între 20K $ la $ 50K [Dahlin și Krantz, 1988].
Rezultatele experimentale de la Universitatea Montpellier din Franța [Vaganay et al, 1993a.; 1993b], de la Universitatea din Oxford, în Marea Britanie [Barshan și Durrant-Whyte, 1993; 1995], și de la Universitatea din Michigan indică o abordare pur inerțială de navigație dar prezentă avantaje nerealiste (de exemplu, sunt prea scumpe) pentru aplicații în robotică. Ca urmare, utilizarea hardware-ului INS în aplicatii de robotica de până acum a fost limitat în general la scenarii care nu sunt ușor adresabile prin alternative mai practice. Un exemplu de astfel de situație este prezentată de Sammarco [1990; 1994], care se prezintă din rezultatele preliminare în cazul unei INS folosit pentru a controla un vehicul autonom într-o aplicație din domeniul mineritului.
Navigația inerțială este atractivă mai ales pentru că este de sine stătătoare și nu necesită informație externă de mișcare pentru poziționare. Un avantaj important al navigației inerțiale este capacitatea sa de a oferi măsurători rapide, legate de dinamică și de latență redusă. Mai mult decât atât, senzorii de navigație inerțiali prezintă de obicei zgomot și surse de eroare care sunt independente de senzorii externi [Parish și Grabbe, 1993]. De exemplu, zgomotul și eroarea de la un sistem de navigație inerțial ar trebui să fie destul de diferit, față de, un sistem bazat pe repere fixe. Senzorii de navigație inerțială sunt de sine stătători, nu radiază și nu se blochează. Fundamental, giroscoapele oferă o modificare a deplasărilor unghiulare, iar accelerometrele furnizează informații despre modificarea vitezei. Informațiile dinamice sunt furnizate prin masuratori directe. Cu toate acestea, principalul dezavantaj este că modificarea vitezelor unghiulare, precum și modificarea vitezelor liniare trebuie să fie integrată o dată și de două ori (respectiv), pentru a oferi orientare și respectiv, poziție liniară.
Astfel, chiar și cele mai mici erori din cadrul variațiilor vitezelor ar conduce la erori mult mai mari in randul deplasarilor si pozițiilor. Cu prețuri cuprinse între 1.000 dolari și 5.000 dolari, aceste dispozitive au devenit acum mult mai potrivite pentru multe aplicații din robotică.
a.) Accelerometre
Adecvarea accelerometrelor pentru poziționarea roboților mobili a fost evaluată la diferite universități. In acest studiu informal s-a constatat că există un raport foarte slab semnal-zgomot la accelerații inferiore (de exemplu, în cazul rotaților la viteză mică). Accelerometrele, de asemenea, suferă în cazul derapajelor extinse, și sunt sensibile la terenuri neuniforme, deoarece orice perturbare dintr-o poziție perfect orizontală va cauza senzorul să detecteze accelerația gravitaționalăg. Un sistem inerțial de navigație vizează depășirea problemei din urmă prin includerea unui senzor de înclinație [Barshan și Durrant-Whyte, 1993;1995]. Informațiile legate de înclinare furnizate de senzorul au fost transmise accelerometrului pentru a anula componenta gravitațională ce se proiectează pe fiecare axă a accelerometrului. Cu toate acestea, rezultateleobținute din sistemul compensat-înclinare indică o rată de abatere a poziției de 1 la 8 cm / s (0.4-3.1 in / s), în funcție de frecvența modificărilor de accelerație. Aceasta este o rată de eroare inacceptabilă pentru majoritatea aplicațiilor din robotică.
b.) Giroscoapele
Giroscoapele au fost mult timp folosite în robotică pentru a diminua uneori informatiile eronate aleodometrieipentru roboții mobili. Barshan și Durrant-Whyte au dezvoltat un sistem INS sofisticat, utilizând două giroscoape, un accelerometru solid-state triaxial, și un senzor de înclinare pe două axe. Costul sistemului complet a fost de 5.000 de lire sterline (aproximativ 8.000 dolari). Două giroscoape diferite au fost evaluate în această lucrare. Unul a fost ENV-O5S Gyrostar de la [MURATA], iar celălalt a fost Solid State Angular Rate Transducer (START), giroscop fabricat de [GEC]. Barshan și Durrant-Whyte a evaluat performanța acestor două giroscoape și a constatat că au suferit o deviație relativ mare, de ordinul a 5 până la 15 °/ min. Cercetătorii de la Oxford au dezvoltat apoi un model al erorii giroscoapelor sofisticat, care a fost folosit ulterior într-un filtru Kalman extins. Figura 2.17 arată rezultatele experimentului pentru giroscopul START (partea stângă) și Gyrostar (partea dreaptă). Liniile punctuate subțiri reprezintă datele de ieșire brute din giroscoape, în timp ce liniile punctate groase reprezintă datele de ieșire după prelucrarea datelor brute din EKF.
Cele două grafice de sus în figura 2.17 prezintă zgomotul măsurat al celor două giroscoape în timp ce se află în stare de staționare.
Barshan și Durrant-Whyte au stabilit că deviația standard, folosită aici ca o măsură pentru cantitatea de zgomot, a fost de 0,16°/ s pentru giroscopul START și de 0,24 °/ S pentru Gyrostar. Rezultatul mai interesant din experimentul din figura 2.17 este abaterea unghiulară, prezentate în cele două grafice inferioare. În cele mai multe aplicații cu roboți mobili, interesantă esteîn poziționarea robotului, nu rația de schimbare a acesteia. Rația măsurată trebuie să fie, prin urmare, integrată pentru a obține poziția. După integrare, orice tendință constantă mică în măsurarea raței de schimbare se transformă într-o pantă constantă, eroare nelimitată, așa cum se arată în mod clar în cele două grafice inferioare din figura 2.17. La sfârșitul experimentului de cinci minute, START a acumulat o eroare de poziție de -70.8 grade, în timp ce în cazul Gyrostar a fost -59 grade (a se vedea liniile subțiri din figura 2.17). Cu toate acestea, cu EKF, erorile acumulate au fost mult mai mici: 12 grade a fost eroarea maximă de poziționare pentru giroscopul START, în timp ce cea a Gyrostar a fost de -3.8 grade.
In general, rezultatele de la aplicarea EKF arata o reducere cu cinci până la sase ori în măsurătoarea unghiulară după o perioadă de testare de cinci minute. Cu toate acestea, chiar și cu EKF, o rată de abatere de la 1 până la 3°/min poate fi în continuare de așteptat.
Komoriya și Oyama [1994] au efectuat un studiu pe un sistem care utilizează un giroscop din fibră optică, împreună cu informații de odometrie, pentru a îmbunătăți acuratețea generală de estimare a poziției. Această fuziune de informații de la două sisteme de senzori diferite, se realizează printr-un filtru Kalman.
Figura 2.18 prezintă o simulare computerizată a unui studiu de urmărire a unei traiectorii, fără (figura 2.18a) și cu (figura 2.18b) fuziunea de informații din giroscop. Elipsele arată fiabilitatea estimărilor de poziție (probabilitatea ca robotul să rămână în interiorul elipselor la fiecare poziție estimată este de 90 la sută din această simulare).
Pentru a testa eficiența metodei lor, Komoriya și Oyama, de asemenea, au efectuat experimente efective cu Melboy, robotul mobil prezentat în figura 2.18.
Într-un set de experimente Melboy a fost instruit să urmeze calea prezentată în figura 2.19a. Viteza maximă a Melboy a fost de 0,14 m / s (0,5 ft / s), iar acea viteză a fost mult redusă la colțurile traiectoriei.Erorile de poziție finale fără și cu informațiile giroscopice sunt comparate și afișate în figura 2.19b pentru 20 de curse. Figura 2.19b prezintă că abaterea de la estimarea erorilor de poziționare este mai mică în cazul în care datele giroscoapelor au fost folosite (de reținut că o abatere medie mare de la valorile medii indică erori nesistematice mari, așa cum se explică mai sus).
Komoriya și Oyama explică faptul ca abaterea notabilă de la valorile medii față de origine în ambele cazuri ar putea fi redusă prin atenta calibrare a erorilor sistematice a robotului mobil.
Este de reținut faptul prin descrierea acestui experiment [Komoriya și Oyama, 1994] nu este imediat evident cum “eroarea de estimare a poziției" (și-anume, cercurile) din figura 2.19b. au fost gasite.Aceste puncte ar trebui să fie măsurate prin marcarea pozițieifinale a robotului pe suprafata de rulare, (sau prin orice metodă echivalentă care înregistrează poziția absolută a robotului și o compară cu estimarea poziției calculată). Rezultatele graficului din figura 2.19b, cu toate acestea, par a fi prea exacte pentru eroarea absoluta a poziției robotului. O eroare de ordinul a câtorva centimetri, nu milimetri, ar fi de așteptat după parcurgerea traiectoriei din figura 2.19a (a se vedea, de exemplu, [Borenstein și Koren, 1987; Borenstein și Feng, 1995a; Russel, 1995].) De aceea, se interpretează datele din figura 2.19b ca prezentând o eroare de poziție care a fost calculată de către computerul de pe robot, dar nemăsurată absolut.
2.2.6.Concluzii
Odometria reprezintă o parte centrală a aproape tuturor sistemelor de navigație de roboți mobili.
Îmbunătățirea tehnicilor de odometrie nu va schimba natura lor elementară, de exemplu, chiar și pentru tehnici îmbunătățite de odometrie, actualizările periodice de poziție absolută sunt necesare.
Odometria mai precisă va reduce cerințele privind actualizările poziției absolute și va facilita soluția de reperare și poziționare în funcție de traseu.
Sistemele inerțiale de navigație singure sunt, în general, inadecvate pentru perioade de timp care depășesc câteva minute. Cu toate acestea, navigație inerțială poate furniza informații exacte pe termen scurt, de exemplu în cazul modificărilor de orientare din timpul unei manevre a robotului.
Compensarea software, de obicei prin intermediul unui filtru Kalman, poate îmbunătăți în mod semnificativ preciziea de măsurare a poziției.
2.3 Sisteme senzoriale
Senzorii sunt dispozitive care pot măsura diferite proprietăți ale mediului precum: temperatura, distanța, rezistența fizică, greutatea, mărimea, etc. [5]. Informația primită de la aceștia poate fi de cele mai multe ori contradictorie și imprecisă.
In cel mai general caz, senzorii pot fi împărțiți în două categorii[7], și anume:
Senzori de stare internă – senzori care oferă informații despre stareainternă arobotului mobil, spre exemplu nivelul bateriei, poziția roților, etc;
Senzori de stare externă – senzori care oferă informații despre mediulambiant în care robotul funcționează. Senzorii de stare externă se mai pot împărți la rândul lor în două categorii: senzori cu contact, mai precis acei senzori care culeg informația din mediu prin atingere (exemplu: senzor „bumper”), respectiv senzori fără contact, care preiau informația din mediu de la distanță (exemplu: cameră video, senzor ultrasonic, etc).
Un senzor poate fi activ sau pasiv. Senzorii activi sunt acei senzori care emit energie în mediu pentru a putea observa anumite caracteristici ale acestuia, spre deosebire de senzorii pasivi care primesc energie din mediu pentru a putea prelua informația.
La modul general, despre toate categoriile de senzori se pot enunța următoarele ipoteze:
– Orice senzor este afectat de zgomot;
– Orice senzor oferă o informație incompletă a mediului în care efectuează măsurătorile;
– Nici un senzor nu poate fi modelat complet.
De asemenea, toate tipurile de senzori sunt caracterizate printr-o serie de proprietăți, cele mai importante fiind[5]:
– Sensibilitatea: raportul dintre semnalul de ieșire și semnalul de intrare;
– Liniaritatea: exprimă dacă raportul dintre intrare și ieșire este constant;
– Intervalul de măsurare: diferența între distanța minimă și maximă măsurabilă;
– Timpul de răspuns: timpul necesar pentru ca informația de la intrare să fie observabilă la ieșire;
– Acuratețea: diferența între semnalul măsurat și semnalul real;
– Repetabilitatea: diferențele între măsurători succesive ale aceleiași entități;
– Rezoluția: exprimă cea mai mică unitate de incrementare a semnalului măsurat;
– Prețul senzorului;
– Puterea de calcul necesară pentru a interpreta rezultatele;
– Tipul de semnal la ieșire;
– Greutatea, mărimea și cantitatea de energie consumată pentru a face o măsurătoare.
Relația între proprietățile fizice de interese ale mediului și informația primită de la un senzor ar putea fi modelată prin ecuația:
(2.29)
In principiu, orice model al unui senzor ar trebui să includă și un model intern al zgomotului care poate afecta senzorul în momentul citirii informației. Problema de a recupera informația din mediu din datele primite de la senzor poate fi destul de complexă.
Un senzor este considerat instabil dacă pentru variații mici ale intrării, ieșirea se schimbă radical. In caz general, pentru un senzor cu ieșirea f(e), instabilitatea se referă la:
In principiu orice tip de senzor poate fi afectat de mai multe tipuri de erori. Dintre acestea, cele mai importante sunt erorile incidentale, erorile sistematice și erorile stohastice. Erorile incidentale apar ocazional și pot avea un efect neprevăzut asupra informației, ele provenind în cea mai mare parte de la măsurători efectuate greșit. Erorile sistematice au o influență predictibilă asupra acurateții informației, acestea provenind de la o interpretare greșită a parametrilor în algoritmii de estimare, sau din cauza unor neconcordanțe (incertitudini) în modelare. In fine, erorile stohastice, au un caracter aleator, ele diferind de fiecare dată când robotul execută aceeași operație.
In lumea roboților mobili se întâlnesc o mare varietate de tipuri de senzori. O clasificare de bază a acestora ar putea fi[7]:
– senzori de distantă – acei senzori care oferă informații despre distanțaîntre senzor și obiectul de măsurat din mediu;
– senzori de poziție acei – senzori care oferă informații despre pozițiarobotului în termeni absoluți;
– senzoride mediu – acei senzori care oferă informații despre diverseproprietăți și caracteristici ale mediului (exemplu: temperatură, culoare);
– senzori inerțiali – acei senzori care măsoară proprietăți diferențiale alepoziției robotului (exemplu: accelerația).
O altă clasificare a senzorilor se poate face în funcție de tipul de semnal primit, precum și de rolul senzorului în sistemul robotului mobil, îmbinând deci cele două clasificări de mai sus. In continuare, pentru descrierea diferitelor tipuri de senzori, se va folosi această abordare.
2.3.1 Senzori de contact
Cel mai des întâlnit tip de senzori de contact în lumea roboților mobili este reprezentat de senzorii bumper (en. to bump = a (se) lovii). Aceste dispozitive poti fi simple întrerupătoare care raportează o valoare binară, 0 sau 1, valoare corespondentă stării de fapt: deschis sau închis. Astfel, în momentul în care robotul echipat cu senzori de acest tip se lovește de un alt obiect, întrerupătorul se va închide semnalând acest lucru. Un exemplu de caz în care o anumită parte a unui robot mobil se atinge de un obiect din mediu este prezentat în figura 2.20.
Robotul din figura 2.20 are un sistem senzorial format din 8 senzori bumper, situați pe robot la circumferința acestuia. In momentul în care robotul se lovește de obiectul din mediu, senzorii aflați pe partea respectivă a robotului (în acest caz senzorul 4 și 5) vor raporta acest lucru.
Cu toate că senzorii bumper sunt folosiți pentru a evita lovirea robotului de obiecte din mediul ambiant în caz de coleziune cu acestea, dacă forța de impact este mare, detectarea coleziunii nu mai este suficientă pentru a evita distrugerea anumitor părți a robotului. Majoritatea roboților mobili folosiți în laboratoare nu sunt echipați cu sisteme de frânare active, și chiar dacă ar fi, pentru o anumită viteză, unui robot mobil tot i-ar lua o distanță considerabilă pentru a se opri brusc, datorită inerției motoarelor. Unele autovehicule au instalate totuși senzori bumper, nu atât pentru detectarea coleziunilor, cât pentru a absorbi din șocul produs la impactul cu un obiect extern.[7]
2.3.2 Senzori IR
Senzorii în infraroșu (IR) constituie cu siguranță categoria cea mai simplă de senzori de distanță folosită la un robot mobil. Metoda lor de funcționare este foarte simplă, fiecare senzor fiind echipat cu un emițător și un detector. Emițătorul transmite un fascicol de lumină în spectrul infraroșu (de regulă sunt folosite lungimi de undă în intevalul 880-990nm [9]), fascicol care se propagă în mediu, iar apoi se reflectă de obiectele aflate în acesta. Fascicolul reflectat este captat de componenta detector, urmând apoi ca printr-un calcul matematic simplu, să se estimeze o distanțăîntre senzorul infraroșu și obiectul detectat din mediu. Principiul de funcționare al unui senzor IR este prezentat în figura 2.21.
Atât emițătorul cât și detectorul au o rază de acțiune (en. field of view). în funcție de poziția obiectului în mediu, acesta poate fi detectat sau nu de către senzor. Dacă obiectul este prezent la intersecția razelor de acțiune a emițătorului și a detectorului, radiația reflectată de obiect va fi observată de detector, în caz contrar, obiectul nefiind detectat. Un exemplu de situație în care un anumit obiect din mediu nu poate fi detectat, este prezentat în figura 2.22.
Plecând de la ipoteza că toate obiectele din mediul în care robotul mobil operează au aceeași culoare, senzorul IR poate fi calibrat astfel încât să măsoare distanța între el și orice obiect din mediu aflat în câmpul său de acțiune la un moment dat. Astfel, intensitatea luminii reflectate de către obiect, este invers proporțională cu pătratul distanței până la obiectul respectiv.
In realitate însă, obiectele au culori diferite, rezultatele fiind în aceste cazuri diferite, unele obiecte reflectând o mai mare sau mai mică cantitate de lumină înapoi. Spre exemplu, suprafețele de culoare închisă (negru de exemplu) sunt aproape invizibile pentru majoritatea senzorilor IR (vezi figura 2.23 și figura 2.24).
De asemenea, informațiile primite de la senzorii IR sunt susceptibile la erori dacă în încăperea respectivă există o cantitate mai mare decât o valoare prag de lumină naturală (provenită de la soare).
In principiu, dacă un fascicol transmis este reflectat și detectat, se poate face asumpția că un obiect este prezent în mediu. Cazurile în care un fascicol de lumină în infraroșu este detectat el nefiind trimis de emițătorul senzorului sunt foarte rare.
Pe de altă parte, absența unui semnal transmis înapoi la detector nu semnifică neapărat faptul că nu exista nici un obiect în mediu. Datorita faptului că unele obiecte de culoare închisă nu reflectă lumina în spectrul infraroșu, se poate presupune că, în momentul în care un fascicol a fost trimis dar nu a fost receptat înapoi, cel puțin un obiect de culoare închisă există în câmpul de acțiune al senzorului.
Datorita motivelor enumerate mai sus, senzorii IR nu pot fi folosiți cu succes în detectarea și evitarea de obstacole. De asemenea, datorita faptului că obiectele din mediu au suprafețe de culori diferite, în expresia reală a funcției intensității de mai sus va mai apare o componentă de „reflectivitate” a luminii de către suprafața respectivă. Așadar, în cele mai multe cazuri, senzorul IR nu poate detecta cu precizie distanța la care se află obiectul respectiv.
Senzorii IR sunt de regulă senzori cu rază de acțiune relativ scurtă (maxim 50-l00cm) datorită faptului că intensitatea semnalului IR este invers proporțională cu pătratul distanței. [5]
Cu toate aceste probleme pe care senzorii IR le au, ei sunt destul de des folosiți la construcția roboților mobili, în primul rând datorită prețului extrem de mic pe care producătorii lor îl practică.
Senzorii IR cei mai des întâlniți în practică sunt fabricați de firma Sharp. Familia de senzori IR Sharp include atât senzori digitali (exemplu: GP2D02, GP2D05, GP2DI5 sau GP2Y0D02YK) cât și analogici (exemplu: GP2DI2, GP2DI20 sau GP2Y0A02YK).
2.3.3 Senzori ultrasonici
Categoria de senzori cea mai des întâlnită la un robot mobil o constituie, fără nici o îndoială, categoria senzorilor ultrasonici. întâlniți în literatura de specialitate și sub denumirea de sonar (en. SOund Navigation and Ranging), senzorii ultrasonici folosesc un principiu oarecum asemănător cu senzorii IR, dar în loc de a transmite fascicole luminoase, ei folosesc semnale acustice (sunete). Un emițător sonar transmite un semnal acustic în mediu, urmând apoi ca reflecția acestuia să fie recepționată de componenta detector a senzorului. Timpul în care semnalul este receptat înapoi de senzor precum și atenuarea semnalului reprezintă aspecte exploatate de diferitele tipuri de senzori sonar.
Suntele transmise de senzorii sonar sunt de regulă în spectrul de sunete ultrasonice, având o frecvență foarte înaltă pentru a nu putea fi detectate de urechea umană.
Principiul de funcționare al senzorilor sonar a fost împrumutat din lumea animală, atât liliecii cât și delfinii folosind aceleași tehnici pentru a localiza și identifica diferitele caracteristici ale unui anumit obiect.
Sensibilitatea unui senzor sonar nu este uniformă, ci consistă dintr-un lob principal și câteva loburi laterale mai mici. De asemenea, această sensibilitate diferă de la un senzor sonar la altul. Diferențele de sensibilitate ale unora dintre cei mai populari senzori sonar, și anume modelele Devantech SRF08 și SRFIO pot fi observate în figurile I I și I 2.
Dacă semnalul acustic trimis de emițător se propagă direct către un obiect, se reflectă de acesta și revine înapoi la detector, distanța până la obiectul respectiv poate fi calculată prin:
In formula de mai sus, t reprezintă intervalul de timp în care semnalul acustic ajunge de la emițător înapoi la detector, iar v reprezintă viteza sunetului emis în mediu, calculată cu formula:
v0 reprezintă viteza sunetului în aer la temperatura de 0 grade Celsius, iar T temperatura în grade Celsius. Astfel, se poate calcula viteza semnalului acustic în aer la o anumită temperatură. Spre exemplu, v=344m/s la T=20°C, respectiv v=346m/s la T=24°C.
Formula de mai sus este doar o aproximare. Viteza sunetului în practică mai este afectată și de densitatea aerului (altitudine) precum și de alți factori precum umiditatea aerului sau concentrația de praf în aer [7].
Majoritatea roboților mobili folosesc o configurație de senzori ultrasonici aranjați similar cu cei din figura 13.
Distanța minimă care poate fi măsurată de un senzor sonar, este dată de formula[5]:
Unde tb reprezintă durata pulsului în secunde. Spre exemplu, pentru tb=l.2ms, distanța minimă măsurabilă este de aproximativ 21 cm.
Similar, distanța maximă este dată de formula:
Unde tw reprezintă durata în secunde între pulsuri. În final, rezoluția senzorului sonar ales este calculată în funcție de numărul de pași de cuantificare disponibili pentru encoder q și de distanța maximă măsurabilă de senzor.
Din nefericire, nici senzorii ultrasonici nu sunt lipsiți de probleme. In primul rând, poziția exactă a unui obiect detectat este necunoscută, datorită funcției de sensibilitate a sonarului. Un obiect detectat la o distanță d de sonar poate fi oriunde în conul acestuia.
In al doilea rând, anumite suprafețe pot da naștere unor citiri eronate, semnalul acustic putând fi reflectat în altă direcție. Mai multe metode despre cum se pot elimina aceste erori poti fi găsite în [5].
In fine, o altă problemă poate să apară în momentul în care se folosesc configurații cu mai mulți senzori ultrasonici. Dacă semnalele de la acești senzori nu sunt codificate, și se dorește folosirea mai multor senzori simultan, este posibil ca semnalele senzorilor să interfereze unul cu celălalt, dând naștere la citiri complet eronate. O modalitate de evitare a acestei probleme o constituie folosirea senzorilor în mod secvențial.
Cu toate aceste probleme, senzorii ultrasonici sunt cu siguranță cea mai des întâlnită categorie de senzori de distanță folosită la construcția unui robot mobil. Prețul lor se încadrează între prețul foarte mic al senzorilor IR și prețul mult mai mare al altor categorii de senzori de distanță mai precise.
2.3.4 Senzori Laser
Una din cele mai precise categorii de senzori de distanță o constituie categoria senzorilor laser. Cu ajutorul acestor senzori se pot măsura distanța, viteza cât și accelerația anumitor obiecte din mediu față de robotul mobil. Principiul cu care operează un senzor laser este similar cu cel al unui senzor sonar, însă în loc de a trimite un semnal acustic, un puls scurt de lumină este trimis. Timpul între transmisia și recepția pulsului luminos este apoi folosit pentru a determina distanța până la obiectul respectiv.
Distanța maximă detectabilă a unui senzor laser poate fi de la câteva sute de metri la kilometrii sau chiar sute de kilometrii. Aceeași tehnologie a fost folosită pentru a măsura distanța de la Pâmânt la Lună cu acuratețe foarte mare.
Acuratețea distanței este undeva în domeniul milimetrilor, deci cu precizie de cateva zeci (chiar sute în unele cazuri) de ori mai mare decât cea a senzorilor ultrasonici.
Datorită capacităților sale, senzorul laser este însă foarte scump, majoritatea aplicațiilor nejustificând încă achiziționarea unui astfel de sistem.
Unul dintre cele mai cunoscute modele de senzori laser folosiți în robotică sunt modelele produse de firma SICK.
2.3.5 Senzori GPS
Sistemul de poziționare globală prin satelit (en. Global Positioning System) a fost inițial dezvoltat de către Departamentul de Apărare al Statelor Unite ale Americii începând cu anul 1973.
Sistemul este alcătuit din aproximativ 21 de sateliți [7], și permite oricărui receptor autorizat să-și calculeze poziția și viteza cu care se deplasează. Sistemul GPS nu poate fi folosit în interiorul clădirilor, deoarece el necesită ca între receptor și satelit să existe vizibilitate directă.
Momentan există mai multe implementări ale serviciului, printre care SPS (en. Standard Positioning System) disponibil pentru civili, respectiv PPS (en. Precise Positioning System), disponibil pentru armată. SPS are o acuratețe de aproximativ 100m pe orizontală, fapt pentru care nu este folosit prea mult în lumea roboților mobili.
Prin folosirea unei combinații de senzori GPS care comunică unul cu celălalt, este posibilă obținerea unei estimări mult mai precise de poziție. Sistemul astfel construit poartă denumirea de DPGS (en. Differential Global Positioning System), acuratețea lui fiind undeva între 1 și l0 m pentru civili, deci substanțial mai mare decât cea a sistemului SPS clasic, dar și decât cea a sistemului PPS. O implementare și mai precisă a unui sistem diferențial GPS este DCGPS (en. Differential Carrier Global Positioning System), cu ajutorul căruia se poate obține o acuratețe de aproximativ 1 mm.
Din punct de vedere al roboților mobili, este recomandată folosirea unor sisteme hibride de poziționare, prin folosirea informațiilor de la un sistem de senzori GPS și unul clasic. Mai multe informații despre GPS se pot regăsii în [7] și [9].
2.3.6 Senzori piroelectrici
Senzorii piroelectrici sunt traductoare care convertesc căldura într-un semnal electric[9]. Acești senzori sunt de regulă sensibili la lungimi de undă mari din spectrul infraroșu, zonă în care animalele și omul emit radiații. Schema de bază precum și modul de funcționare al unui senzor piroelectric sunt prezentate în figura 2.28.
După cum se poate observa și din figura 2.28, un senzor piroelectric are în general 2 detectori conectați în paralel, în fața cărora se poziționează o lentilă Fresnel pentru focalizarea semnalului.
Senzorii piroelectrici sunt folosiți pentru a detecta persoane umane sau surse de căldură în mediul ambiant. Fiind senzori de mișcare însă, este necesar ca fie senzorul sau robotul să se miște pentru a detecta subiectul, fie ca subiectul să se miște în fața senzorului. Semnalul de ieșire al senzorului piroelectric este dat de diferența semnalelor celor doi detectori paraleli.
Trebuie ținut cont că senzorii piroelectrici răspund la cea mai puternică sursă de căldură din câmpul lor vizual. Este deci posibilă situația în care, dacă un om este poziționat lângă o sursă de căldură mai mare, senzorul să simtă doar acea sursă, nu și pe om.
Datorită prețului lor relativ scăzut, senzorii piroelectrici constituie un arsenal bun pentru un robot mobil.
2.3.7Senzori video
Senzorii vizuali sunt reprezentați de regulă în lumea roboților mobili de camere video. In momentul de față senzorii de imagine folosesc două tehnologii: CCD și CMOS. Din punct de vedere al roboticistului însă, nu există diferențe esențiale între cele două tehnologii, astfel că, orice cameră video poate fi folosită cu succes.
Camerele video obțin o cantitate mare de informații din câmpul lor vizual. Procesarea acestor date poate necesita o putere de calcul ridicată, mai ales dacă se dorește obținerea unor performanțe optime din informațiile culese.
Una din aplicațiile cele mai des folosite ale camerelor video este urmărirea de culoare (en. blob tracking). Pentru a face uz de acest algoritm, este necesară alegerea unei anumite culori (reprezentată prin R, G, B) din mediu. Spre deosebire de ochiul uman însă, camera este destul de sensibilă la variații ale luminii, și va eșua în detectarea culorii alese. De asemenea, dacă culoarea aleasă nu este unică în spațiul de lucru, algoritmii de blobtracking se vor încurca, și vor oferi informații când despre obiectul de urmărit, când despre alte zone ale mediului în care se regăsește culoarea respectivă. Toate aceste neajunsuri pot fi însă eliminate prin folosirea unor algoritmi mult mai complecși, care fac parte însă din alt domeniu de studiu.
Pentru mai multe detalii privind modul în care funcționează camerele video, precum și algoritmii de procesare necesari pentru obținerea unor diferite informații a se consulta [5] respectiv [7].
2.3.8 Senzori de stare internă
După cum am afirmat deja, senzorii de stare internă sunt acei senzori care oferă informații despre starea internă a robotului mobil. Senzorii din această categorie oferă fie informații legate de poziția robotului (odometrie), fie informații referitoare la vitezele sau accelerațiile liniare respectiv unghiulare ale robotului (accelerometru, giroscop).
Senzorii care oferă informații despre poziție, se regăsesc de regulă sub forma encoderelor la motoarele robotului. Prin măsurarea rotației roților robotului, și apoi interpretarea acestei informații se poate estima poziția robotului. Semnalul provenit de la encodere poate oferi informații despre direcția în care se deplasează robotul, viteza cu care se deplasează robotul precum și distanța aproximativă care a parcurs- o robotul de la ultima evaluare.
Teoretic, poziția exactă a robotului ar putea fi dedusă doar din informațiile de odometrie provenite de la encodere, în sensul că distanța parcursă ar trebui să fie egală cu 2nr, unde r reprezintă raza roții respective. In practică însă, în cel mai bun caz, se poate știi doar că informația de la encodere conține o anumită eroare, și că această eroare de regulă nu scade niciodată. In cea mai rea situație, când roțile robotului alunecă, nu mai există nici o relație între mișcarea roților și mișcarea robotului. în acest caz, cantitatea de eroare este necunoscută, iar estimarea poziției robotului devine aproape imposibilă. Mai multe informații despre odometrie, precum și despre estimarea și corectarea erorilor se găsesc în [5] și [8].
Accelerometrul și giroscopul sunt considerați senzori inerțiali, deoarece aceștia măsoară derivata a doua a poziției (accelerația liniară, respectiv accelerația unghiulară) a robotului.
Accelerometrul face uz în esență de legea lui Newton, F = ma, precum și de relația F = kx2. Combinând cele două formule, se poate obține[5]:
Unde a este accelerația, m masa, iar k este constanta elastică. In practică, fiecare accelerometru măsoară accelerația pe o singură direcție. Astfel, montând 3 accelerometre, poate fi obținut un sistem senzorial omnidirecțional pentru accelerație.
Integrând semnalul obținut de la senzorii inerțial în funcție de timp, teoretic se poate obține poziția robotului. In practică însă, ieșirea unui sistem inerțial ieftin diferă foarte mult de realitate.
Două alte tipuri de senzori care intră în categoria senzorilor de stare internă sunt: compasul și inclinometrul. Inclinometrul este un dispozitiv simplu care măsoară orientarea față de vectorul gravitate, spre deosebire de compas care măsoară orientarea în raport cu câmpul magnetic al Pământului.
Senzorii care utilizează câmpul magnetic pentru a detecta direcția Nord sunt susceptibili la variații locale în câmpurile magnetice ambiente[5]. Diferite structuri de metal, chiar și robotul în sine, pot afecta într-un mod negativ această categorie de senzori, rezultatele fiind imprevizibile. Această categorie de senzori nu poate deci fi folosită în interiorul clădirilor, și chiar și în exterior, sunt necesare diverse calibrări ale acestora în raport cu robotul sau cu mediul înconjurător.
Cu toate acestea, compasul poate fi folosit ca și o referință locală în acele situații în care influențele externe sunt constante în timp.
2.3.9 Fuziunea datelor de la senzori
Pentru majoritatea sarcinilor atribuite unui robot mobil, folosirea unui singur tip de senzori nu poate da rezultate satisfăcătoare. Spre exemplu, pentru navigare, anumite obiecte din mediu pot fi detectate doar de senzori IR, iar altele doar de senzori sonar, și doar unele de ambele tipuri de senzori. Se pune deci problema găsirii unei metode care să combine într-un mod eficient informațiile de la o multitudine de senzori de categorii și caracteristici diferite. Termenul cel mai des întâlnit în literatura de specialitate este „fuziune de senzori” (en. data sensor fusion).
In contextul roboților mobili, fuziunea trebuie să fie efectuată pe următoarele trei nivele[7]:
– Trebuie să combine măsurători de la senzori de categorii diferite;
– Trebuie să combine măsurători din poziții diferite;
– Trebuie să combine măsurători efectuate la diferite intervale de timp.
Procesul de combinare al măsurătorilor din diferite poziții, intervale de timp sau senzori este oarecum similar procesului de interpolare, extrapolare și găsirea unei funcții matematice pentru un anumit set de date. în cea mai simplă formă statică, combinația măsurătorilor ar putea fi exprimată printr-o formulă de genul[l 5]:
O metodă mai complexă pentru fuziunea datelor de la senzori constă în folosirea rețelelor neuronale pentru a asocia ieșirea sistemului cu un set de intrări date. Un exemplu simplu este oferit în figura 2.29.
Exemplul din figura 2.29, combină datele provenite de la o serie de senzori ultrasonici (SI.. 16) cu datele provenite de la o serie de senzori interni ai robotului, date de odometrie. Aceste informații sunt introduse într-o rețea neuronală feed- forward, la ieșire fiind obținute comenzile pentru motoare sub forma vitezei liniare v și a vitezei unghiulare ω. Mai multe informații despre procesul de fuziune al datelor de la senzori folosind rețele neuronale pot fi găsite în [5], respectiv [15].
2.4 Unităti centrale de procesare
Sarcinile pe care un robot mobil trebuie să le îndeplinească pot să fie de la foarte simple la extrem de complexe. Totul depinde de scopul final al robotului mobil construit. In funcție de tipul de sarcini atribuite unui robot mobil, procesarea și descompunerea sarcinilor în acțiuni simple pe care robotul le poate executa necesită prezența unei unități centrale de procesare.
Unitatea centrală de procesare se poate afla fie pe robot (en. onboard), fie ladistanță conectată de acesta prin diverse metode (en. offboard). In mod normal, se dorește ca robotul mobil să fie autonom, deci să poată duce la bun sfârșit oarecum independent și sarcini mai complexe, fără intervenția unui program de control din partea utilizatorului, aflat la distanță. In multe cazuri însă, prezența unei unități de procesare pe robot duce la o autonomie scăzută a bateriei acestuia. O altă problemă ar putea fi creșterea în greutate a robotului, în funcție de tipul de unitate centrală de procesare aleasă. De asemenea, în cazul în care necesitățile computaționale sunt mari, s-ar putea ca o unitate centrală de procesare să nu existe astfel încât să se încadreze în limitele fizice și geometrice ale robotului, caz în care aceasta nu poate fi instalată.
Există totuși o serie de avantaje de a avea o unitate de procesare onboard:
Dispar întârzierile asociate comunicației între o unitate de procesare offboard și componentele electronice ale robotului;
In cazul unor probleme de comunicare, robotul poate acționa în continuare autonom;
Unitățile de procesare onboard au acces direct la hardware-ul robotului, în timp ce unitățile offboard trebuie să apeleze la un anumit protocol care să interfațeze între componente și unitate.
Evident, soluția cea mai bună este ca robotul să poate funcționa atât autonom prin intermediul unei unități de procesare onboard, cât și în regim de comunicare cu alte unități de procesare mai performante, care pot asigura necesitățile computaționale pentru sarcini mai complexe.
in practică unitățile de comunicare onboard se aleg astfel încât să aibă suficientă putere de calcul pentru a îndeplini majoritatea sarcinilor simple, cu specificația să nu consume prea multă energie. Unitățile offboard sunt de regulă reprezentate de calculatoare personale.
2.5 Sisteme de comunicare
Roboții mobili trebuie să posede capacități de comunicare fie cu alți roboți din mediu fie cu un operator uman, pentru a raporta dacă o anumită sarcină dată a fost îndeplinită cu succes, sau nu. Sistemele de comunicare aferente roboților mobili pot fi de 2 categorii: cu fir respectiv fără fir.
Comunicația cu fir este modalitatea cea mai simplă de transfer de date între robot și operator. O serie de probleme asociate transmisiei fără fir, dispar în cazul comunicației de date cu fir, cu prețul îngrădirii mobilității robotului. Avantajul principal al sistemelor de comunicare cu fir este acela că, pe lângă datele transmise între robot și operatorul uman, se mai poate transmite și curent electric, eliminând astfel necesitatea unei baterii onboard pe robot și mărind autonomia robotului.
Un dezavantaj direct al folosirii unui sistem de comunicare cu fir, ar fi faptul că spațiul de lucru al robotului va fi limitat de lungimea maximă admisibilă a cablului. De asemenea, cablul ar putea interfera cu sistemul de locomoție sau chiar cu senzorii, aceștia putând raporta valori eronate. Din aceste considerente, nu se recomandă folosirea sistemelor de comunicare cu fir decât în cazurile în care folosirea tehnologiilor fără fir ar fi o problemă (spre exemplu pentru vehicule robot din mediul acvatic).
Sistemele de comunicare fără fir se folosesc de o serie de tehnologii de transmitere a datelor prin aer (en. wireless), dintre care amintim: transmisia prin unde în spectrul infraroșu, bluetooth, radio modem-uri, WiFi, și altele.
Mecanismele de transmitere a datelor prin unde infraroșu sunt cele mai puțin robuste, ele neputând fi folosite decât la distanțe relativ mici. De asemenea, ele funcționează doar în linie dreaptă în câmp deschis, orice obstacol aflat între dispozitivele de transmisie-recepție obturând semnalul. Un alt dușman al tehnologiilor de transmitere în infraroșu este lumina solară.
Tehnologiile WiFi sunt deja răspândite în domeniul calculatoarelor personale, și oferă un suport complet de integrare al roboților în rețele de calculatoare. O problemă a acestor tehnologii ar fi faptul că sunt consumatoare de energie, lucru care nu este prielnic robotului mobil.
Eliminând problema energiei consumate, tehnologiile Bluetooth oferă servicii similare cu dispozitivele WiFi, însă distanța maximă admisibilă între emițător- receptor este mult mai mică decât în cazurile celorlalte tehnologii. In momentul de față, tehnologiile Bluetooth se folosesc în interiorul clădirilor, în laborator, unde distanța maximă fără repetor este de maxim 20m.
In fine, tehnologiile radio modem oferă o soluție wireless pentru acele dispozitive care sunt deja conectate prin cablu. Consumul de energie al modemurilor radio este de regulă redus, ele fiind optimizate pentru aplicații unde nu se dorește o viteză foarte mare de transmisie a datelor. Un mic experiment realizat în laborator a demonstrat folosirea cu succes a unei perechi de radio modemuri MaxStream în locul cablului RS232 deja existent pe un robot ActivMedia Pioneer 2.
2.6 Inteligentă, autonomie si control
Deoarece în lumea roboților mobili conceptele „inteligență” și „autonomie” sunt foarte strâns legate unul de celălalt, se vorbește de regulă doar despre roboți autonomi [8].
Inteligența este legată de capacitățile robotului de a observa, înțelege și învăța diferite aspecte ale sarcinilor sale. Cunoștințele dobândite pe parcursul procesului de învățare trebuie să ducă la performanțe mai bune pentru executarea sarcinilor pe viitor. De asemenea, prin procesul de înțelegere al anumitor fenomene, informațiile obținute pot duce la soluții pentru rezolvarea anumitor sarcini noi, sarcini pentru care robotul nu a fost proiectat inițial. In literatura de specialitate se vorbește despre aplicarea tehnicilor de inteligență artificială (en. artificial intelligence) pentru controlarea robotul mobil.
Inteligența unui robot este demonstrată prin modul în care robotul poate naviga eficient în mediu, cu alte cuvinte, prin modalitatea prin care procesul de navigare diferă de cazul în care acțiunile robotului ar fi controlate direct de un operator uman.
Autonomia unui robot mobil se referă la capacitatea acestuia de a executa independent sarcinile ce-i sunt date aprioric, fără intervenția unui operator uman. Dacă în executarea sarcinilor sale, robotul întâlnește situații pentru care nu a fost programat, este imperativ ca el să continue sa funcționeze corect, fără intervenție exterioară, îmbinând astfel conceptele de inteligență și autonomie.
Se spune despre un robot mobil că este automat dar nu autonom, în momentul în care o situație neașteptată care apare, duce la oprirea execuției sarcinii pe care robotul mobil o desfășura în momentul respectiv. Dacă robotul se poate descurca cu noua situație întâlnită, în sensul că o ignoră sau face mici ajustări și continuă sarcina, robotul are un grad mic de autonomie. Dacă însă robotul se adaptează perfect la situația nouă prin observarea caracteristicilor mediului, atunci gradul de autonomie al robotului mobil este mare. Similar, dacă sarcina robotului este exprimată in termeni vagi și robotul trebuie să se descurce la fața locului prin evaluarea situației, robotul este complet autnom. Elementele coordinative ale unui robot mobil sunt prezentate in figura 2.30.
Procesul de navigare determină mișcarea robotului mobil în mediul său de lucru. Procesul de percepție înregistrează și prelucrează datele de la senzori, transformându-le în ecuații de mișcare pentru navigator. Descompunerea in flocuri funcționale a navigatorului este prezentată in figura 2.31.
După cum se poate observa din figura de mai sus, prima etapă constă în prelucrarea datelor de la senzori, în funcție de modelul senzorial aferent existent. Rezultatul prelucrării se îmbină împreună cu sarcinile atribuite robotului mobil în procesul de planificare. în această etapă, un rol important îl joacă modelul mediului existent. Etapa finală este cea de control, în care rezultatele procesului de planificare se îmbină împreună cu modelul robot, trimițând comenzile necesare către motoarele robotului.
Pe măsura execuției algoritmilor de control, navigatorul trebuie să aibă în vedere și actualizarea celor 3 modele din baza de date. Erorile existente între modelele vechi și realitate trebuie minimizate, și noile modele calculate trebuie stocate în locul celor vechi. Cele trei modele nu vor fi perfecte niciodată datorită incertitudinilor existente în realitate. Pentru reducerea incertitudinilor se pot folosi diverși algoritmi de adaptare (exemplu – filtre Kalman).
Problema fundamentală a metodei de funcționare a navigatorului descrisă anterior este că necesită un timp de execuție mult prea mare[8]. La fiecare pas, comanda către motoare trebuie să fie calculată din datele de la senzori prin planificare. Datorită acestui fapt, robotul nu va putea niciodată naviga cu viteze mari.
O serie de calcule complexe vor beneficia de puterea de calcul a unității centrale de procesare.
Soluția problemei de mai sus se obține prin împărțirea funcțiilor navigatorului în două categorii: de nivel jos (nivel de ghidare), respectiv de nivel înalt (nivel planificare). Astfel se obține noua schemă arhitecturală a navigatorului, prezentată în figura 2.32.
Funcțiile de nivel jos sunt reprezentate printr-un controler de traiectorii și un estimator de poziție (nivelul de ghidare). Acest nivel acționează ca o buclă închisă rapidă. Funcțiile de nivel înalt, operează în paralel cu funcțiile de nivel jos, oferind informațiile necesare controlerului pentru a opera, dar la un interval de timp mai mare decât rata cu care operează nivelul ghidare.
In cea mai simplă formă, un robot mobil poate funcționa în buclă deschisă[9]. Operatorul sau algoritmul de control alege o viteză dorită pentru navigare iar viteza este transformată de un bloc convertor (bloc care conține diferite formule necesare conversie) în comenzi către motoare. Pentru a observa eroarea între viteza dorită și viteza reală, se pot folosi anumiți senzori. Schema unui sistem simplu în buclă deschisă ar putea arăta ca cea din figura 2.33.
Dezavantajele buclei deschise sunt evidente: în momentul în care condițiile din mediu se modifică, eroarea dintre viteza măsurată și viteza dorită va crește. In acest caz, algoritmul de control nu va putea face o compensare, deoarece el nu primește nici o informație din partea sistemului senzorial. Din acest motiv, bucla de reglare trebuie închisă prin introducerea informațiilor de la senzori înapoi în algoritmul de control, astfel încât eroarea să poată fi minimizată. Schema aferentă acestui tip de reglare este prezentată în figura 20.
Una din problemele asociate schemei de reglare în buclă închisă, în forma ei simplificată din figura 2.34, este aceea că în momentul în care spre exemplu se dorește deplasarea robotului către o anumită locație din mediu, din momentul în care se introduce viteza dorită și până în momentul în care aceasta se modifică apare o anumită întârziere (latență). Această întârziere se materializează prin faptul că robotul nu se va opri în locația dorită ci va continua să se deplaseze în continuare pentru puțin timp. Din această cauză pot să apară oscilații în jurul locației dorite, manifestate prin deplasarea robotului înainte și înapoi față de punctul de referință dorit. Soluția acestei probleme constă în folosirea unui controler de tipul PID, precum cel din figura 2.35.
Pe lângă controlerele clasice PID, unii cercetători studiază posibilitatea folosirii unor controlere mai complexe, cum ar fi controlerele optimale sau controlerele robuste. Un exemplu de astfel de controlere este dat în [13] și [14].
Din punct de vedere funcțional, schema de control clasică a unui robot mobil constă dintr-o serie de pași repetitivi:
– Robotul primește informații asupra mediului înconjurător de la senzorii săi;
– Robotul planifică ce să facă în continuare, construind un model al mediului de lucru, bineînțeles luând în calcul atât obiectivele pe termen scurt (spre exemplu – detectarea și ocolirea unui obstacol) cât și cele pe termen lung (exemplu – deplasarea dintr-o locație în alta în mediu);
– Robotul își pune în aplicare planul prin intermediul efectorilor.
Arhitectura funcțională prezentată este întâlnită în literatura de specialitate sub denumirea de ciclul „simte-gândește-acționează” (en. sense-think-act cyc/e)[5]. In figura 2.36, sistemul de control a fost descompus în 5 blocuri funcționale.
Blocul de percepție se ocupă de procesarea datelor primite de la senzorii robotului, date care se folosesc în continuare pentru construirea sau actualizarea unor anumite modele ale mediului în care robotul lucrează (în cadrul blocului de modelare).
Blocul de planificare, folosește modelul mediului pentru a decide un plan de acțiune pentru robot, în funcție de sarcinile ce îi sunt atribuite acestuia. Blocurile de execuție respectiv controlul motoarelor vor executa apoi setul de acțiuni generate de către planificator.
Pașii de mai sus vor fi repetați până în momentul în care robotul își duce la bun sfârșit sarcina ce i-a fost atribuită. O problemă care trebuie luată în calcul este rigiditatea modelului, care îl face foarte lent. La fiecare iterație a acestui algoritm, trebuie realizate toate operațiile din nou. Lent semnifică defapt că, la viteza cu care mediul se schimbă, obiectivele planificate de la început vor fi greu de atins. In final, algoritmul implementat ajunge să funcționeze ca o simplă buclă, ceea ce-l face oarecum inadecvat într-un mediu dinamic în continuă schimbare.
O arhitectură de control complet diferită a fost propusă de Rodney Brooks în [16] și apoi mai târziu de Ronald Arkin în [1], Această arhitectură (en. behavior- based) propune folosirea unui set de nivele (en. layers), fiecare nivel conținând un program de control capabil să lucreze la viteza cu care pot apare schimbări în mediul înconjurător (vezi figura 2.37). Această arhitectură asigură o cale pentru a putea construi si testa incremental un sistem de control pentru roboți. Prin calculul paralel, se mărește viteza de execuție a unei iterații, fiecare modul devenind autonom. Astfel se evită controlul centralizat, inteligența algoritmului fiind atribuită în totalitate planificatorului.
Nici modelul lui Brooks nu este lipsit de probleme, cea mai mare fiind aceea că, datorită faptului că robotul răspunde direct stimulilor din mediul în care acesta acționează, executarea unui set de sarcini aprioric stabilite devine foarte greoaie, dacă nu imposibilă.
Mai multe informații despre alte modalități de control a roboților mobili pot fi găsite în [5].
Capitolul 3
Studiul și proiectarea unui robot mobil cu două roți motoare
Scopul principal al acestei lucrari a fost acela de a proiecta si realiza un robot mobil cu două roți motoare si tractiune diferentiala. Acest robot mobil trebuiesă indeplinească anumite misiuni în cadrul concursului european Eurobot2014.
Pentru faza de început a proiectului, s-a plecat de la anumite caracteristici ce trebuie să le îndeplinească robotul mobil, cum ar fi dimensiunile mxime de gabarit: înaltimea maxima să fie de350 [mm] și perimetrul maxim de 750 [mm]. Două componente majore stau la baza acestui robot autonom mobil: componenta hardware si cea software. In această lucrare de diplomă sunt descrise doar aspectele ce stau la baza ansamblului harware al robotului făcându-se totuși anumite refeririși la componenta software.
În cele ce urmează sunt descrise componentele hardwareale robotului mobil si totodata sunt prezentate caracteristicile acestor componente.
3.1 Caracteristici ale robotului mobil cu două roți motoare
In figura 3.1 de mai jos este prezentat robotul mobil cu două roți motoare ce a fost proectat și realizat în cadrul departamentului, pentru concursul Eurobot 2014.
Legat de partea mecanică se poate spune că robotul este construit pe mai multe nivele, pe uncadrul de susțineresau șasiu confecționat din aluminiu. La partea exterioară structura este rigidizată cu capace de plexiglas. Masa totală a ansamblului este de 10Kg, iar viteza maximă pe care o poate atinge robotul este de 2 m/s. Partea de tracțiune are la bază două roți motoare, antrenate de două motoare electrice de curent continuu alimentate la o tensiune de 12 V. Transmisia de la motoare la roțile de tracțiune se face prin intermediul a două reductoare cu roți cilindrice cu dinți drepți cu un raport de transmisie de 50:1. Arborii de ieșire din reductor sunt cuplați cu roțile de tracțiune prin intermediul a două roți dințate conice dispuse la un unghi de 90 °, pentru schimbarea directiei de transmitere a miscarii si pentru a reduce gabaritul placii de baza a robotului. Roțile motoare sunt cu acționare independentă,diferențială. Pentru ca robotul automom să execute o mișcare de translație cele două roți de tracțiune trebuie să fie acționate in același sens. Pentru ca robotul să execute o mișcare de rotație cele două roți de antrenare trebuie sa fie acționate in sensuri diferite de rotație.Garda la sol(distanța dintre cel mai jos element mecanic și sol) este de minim 5 mm.
Legat de partea electrică trebuie precizat că întreaga alimentarea cu tensiune electrică este realizată prin intermediul unei baterii de 12 V cu o capacitate de 2 Ah. Partea de putere/de tracțiune ramăne alimentată la 12 V, pe când partea de comandăși control este alimentată la o tensiune de 5 V, redusă prin intermediul unor stabilizatoare de tensiune 12V-5V.Controlul robotului este realizat de o placă de dezvoltare Arduino Mega 2560. Pentru partea de detecție robot advers/obstacol s-au utilizat diveși senzori de precizie ridicată cum ar fi doi senzori Laser Sick si doi senzori ultrasonici de la Pololu.Pentru comanda motoarelor s-a utilizat un driver de motor de 24A dezvoltarea acestiua fiind făcută tot de către firma Pololu.
Înceea ce privește partea de programare aceasta s-a realizat in mediul specific de programare al plăcilor de dezvoltare de la Arduino, limbajul de programare fiind foarte asemanator cu limbajul C.
În cele ce urmează vor fi prezentate caracteristicile principale ale componentelor robotului mobil.
3.1.1 Placa de dezvoltare Arduino Mega 2560
Aceasta componentă electronică are la bază un microprocesor din familia AVR, repectiv un microcontroler ATmega2560. Conține: 54 de intrari și ieșiri digitale din care 15 pot fi utilizate ca și ieșiri PWM, 16 intrări analogice, 4 porturi UART, un cristal de quatrz (oscilator) de 16 MHz, un port de comunicație pe USB și un buton de Reset. S-a ales această placă de dezvoltare din simplul motiv că pentru aceste componente de la Arduino s-au dezvoltat totodată anumite (shield-uri) care sa faciliteze comanda anumitor motoare de curent continuu sau servo motoare, dar totodată si interfațarea cu anumiti senzori, des intălniți in aplicații din domeniul roboticii.
În figura 3.2 este prezentată placa de dezvoltare utilizată la comanda și controlul robotului mobil.
În figura 3.3 este prezentată schema electrică a plăcii de dezvoltare:
Ca și caracteristici principale se pot enumera următoarele:
– microcontroller: ATmega2560;
– tensiune de alimentare: 5V;
– interval al tensiunii de alimentare recomandat: 7 – 12 V;
– intrări/ieșiri digitale: 54;
– intrari analogice: 16;
– curentul maxim pe intrarile/ieșirile digitale: 40mA;
– memoria flash: 256 KB;
– frecventa de ceas: 16 MHz;
3.1.2Driver-ul pentru motoare Pololu Dual VNH5019
Acest driver de motoare de curent continuu este o componentă electronică de putere ridicată și foarte robustă. Pe langă acest fapt este compatibilă cu toate placile de dezvoltare de la Arduino, în special Arduino Mega2560. Motoarele ce pot fi operate de acest driver trebuie să se incadreze intre tensiunea de alimentare de 5.5V si 24V. De asemenea acestea pot controla un curent de 12A pe motor cand sunt utilizate doua motoare si de 24A cand este utilizat doar un singur motor de curent continuu. Curentul maxim abmisibil este de 60A. Aceste drivere pot oferi utilizatorului un feedback al curentului consumat si acceptă frecvente redicate de comanda PWM a motoarelor. În figura 3.4 este prezentat driverul pentru motoare Pololu Dual VNH5019:
3.1.4 Servo motoarele de curent continuu
În general, sunt similare în construcție cu generatoarele de curent continuu. Ele pot, de fapt să fie descrise ca generatoare care „funcționează invers”. Când curentul trece prin rotorul unui motor, este generat un câmp magnetic care generează o forță electromagnetică, și ca rezultat rotorul se rotește. Acțiunea periilor colectoare și a plăcuțelor colectoare este exact aceiași ca la generator. Rotația rotorului induce un voltaj în bobinajul rotorului. Acest voltaj indus are sens opus voltajului exterior aplicat rotorului. În timp ce motorul se rotește mai rapid, voltajul rezultat este aproape egal cu cel indus. Curentul este mic, și viteza motorului va rămâne constantă atât timp cât asupra motorului nu acționează nici o sarcină, sau motorul nu efectuează alt lucru mecanic decât cel efectuat pentru învârtirea rotorului. Când asupra rotorului se aplică o sarcină, voltajul va fi redus și un curent mai mare va putea să treacă prin rotor. Astfel, motorul este capabil să primească mai mult curent de la sursa care îl alimentează, și astfel să efectueze mai mult lucru mecanic.
Deoarece viteza rotației controlează trecerea curentului prin rotor, mecanisme speciale trebuie folosite pentru pornirea motoarelor cu curent continuu. Când rotorul se află în repaus, el, efectiv, nu are nici o rezistență, și dacă voltajul normal este aplicat, va trece un curent mare, ceea ce ar putea avaria periile colectoare sau motorul. Mijloacele obișnuite pentru prevenirea acestor accidente este folosirea în serie a unei rezistențe, la început, împreună cu rotorul, pentru a limita curentul până când motorul începe să dezvolte un curent suficient. Pe parcurs ce motorul prinde viteză, rezistența este redusă treptat, fie manual ori automat.
Viteza cu care un motor cu curent continuu funcționează, depinde de puterea câmpului magnetic care acționează asupra rotorului, cât și de curentul rotorului. Cu cât este mai puternic câmpul magnetic, cu atât este mai mică rata rotației necesare să creeze un curent secundar necesar pentru a contracara curentul aplicat. Din acest motiv viteza motoarelor cu curent continuu poate fi controlată prin variația câmpului curentului.
Fig. 3.5 Servo motoare de curent continuu
Deplasarea se realizează cu ajutorul a două servo-motoare de tip Futaba amplasate pe un șasiu deasupra căruia se afla placa de bază. Servo-motoarele sunt folosite pentru raza lor de acțiune (în general de la 90˚ la 270˚) și datorită momentului de torsiune precis pe care îl dezvoltă. Cele două motoare sunt modificate pentru a se roti încontinuu in ambele direcți.
Prin mișcarea în același sens a celor motoare se realizează deplasarea înainte, iar dacă se mișcă diferit sumobotul se va roti.
Poziția motorului este controlată printr-un impuls electronic numit impuls tren.
Fig. 3.6 – Impulsuri PWM
În prima imagine de mai jos impulsul tren acționează timp de 1500 μs și are o pauză de 20 ms. Impulsul de 1500 μs practic oprește motorul. Pentru a mișca motorul avem nevoie de un impuls cuprins între 1000 și 2000 μs.
Fig. 3.7 Impulsuri PWM
3.1.5 Stabilizatorul de tensiune D15V70F5S3
In figura 3.8 de mai jos este prezentat stabilizatorul de tensiune folosit la alimentarea partii electronice a robotului mobil. Acest stabilizator suporta tensiuni de intrare cuprinse in intervalul 4.5 – 24 V si livreaza o tensiune sau de 5 V sau de 3.3 V current continuu. Curentul maxim suportat este de 7A.
Specificatiile regulatorului D15V70F5S3 sunt prezentate mai jos:
– tensiunea minima de operare: Umin = 4.5 V;
– temsiunea maxima de poerare Umax = 24V;
– curentul maxim suportat Imax = 16 A;
– tensiunea minima de iesire Uout min = 3.3 V;
– tensiunea maxima de iesire Uout max = 5 V;
– curentul maxim suportat in regim continuu I = 7A;
3.1.6 Acumulatorul Makita 6270 DWAE
Acumulatorul utilizat pentru alimentarea intregului robot mobil esteprodus de Makita si are o tensiune nominala de 12 V si dezvolta un current de 2 Ah.Acest accumulator este conceput din mai multe celule ce au la baza tehnologia Ni-Cd. Acesta are avantajul principal de a oferi utilizatorului posibilitatea de incarcare rapida in mai putin de 30 min la intreaga capacitate. In figura de mai jos este prezentat acumulatorul Makita utilizat la alimentare. De asemenea acesta mai are avantajul de a avea dimensiuni reduse de gabarit in concordanta cu cele ale robotului.
3.1.4 Senzorii de distanta ultrasonici Parallax Ping
Senzorul de distanta ultrasonic de la Parallax utilizeaza undele sonore pentru determinarea distantei pana la un obiect aflat in vecinatatea sa. Raza sa de actiune este cuprinsa intre 2 cm si 3 m. Senzorul Ping are doi pini de alimentare la o tensiune de 5 V si un pin pentru conamda sa. Acest tip de senzor este compatibil cu diverse aplicatii in care este necesara masurarea distantei pana la anumite obiecte sau aflate in misacare sau stationare. In special apicatiile de baza sunt din domeniul roboticii dar totodata si in aplicatii legate de ssisteme de siguranta. Senzorul masoara distanta folosind unde sonore ce sunt emise cu o anumita frecventa de un sonar si in functie de timpul in care aceste unde sunt captate de receptor, distanmta este determinata. In figura 3.10 de mai jos este prezentat senzorul PING de la Parallax.
Caracteristicile de baza ale senzorului sunt prezentate in cele ce urmeaza:
– raza de actiune este cuprinsa intre 2cm – 3 m;
– tensiunea de alimentare este de 5V curent continuu;
– consumul de curent este de 30 mA;
– legatura cu o placa de comanda se face prin intermediul a trei pini: GND, VCC, semnal;
– spatiu de lucru relativ ingust;
– frecventa de lucru: 40 kHz;
– dimensiuni efective: h = 22mm, l = 16 mm, L = 46 mm;
– LED pentru indicare starii de functionare.
3.2. Alegerea motoarelor de curent continuu
Atunci când se are în vedere construcția unui robot mobil, alegerea motoarelor electrice pentru tractiune este o decizie dintre cele mai importante. In acest moment teoria se imbină cu practica. În continuare sunt prezentate cateva aspecte referitoare la alegerea motoarelor de curent continuu pentru partea de tracțiune a robotului mobil cu două roți motoare. Până la a ajunge să alegem motarele DC trebuie avute în vedere câteva aspecte sau caracteristici ale robotului mobil, respectiv: ce dimensiuni are acesta, ce greutate dobândește, cu ce viteză și acceleratie se va deplasa și nu în ultimul rând pe ce tip de suprafață va rula. De asemenea trebuie luată în calcul tensiunea de alimentare disponibilă pentru motoare.
Pentru a predimensiona partea de tracțiune și pentru a alege tipul de motor electric necesar trebuie determinate forțele ce acționează asupra robotului în timp ce acesta se deplasează pe o anumită suprafață. Se poate deduce faptul că cu cât robotul are masa mai mare cu atât motoarele electrice trebuie să fie mai puternice, deoarece forțele rezistente sunt mai mari. în timpul mișcării robotului pe o suprafață acesta trebuie să invingă forțele de frecare dintre roți si suprafața de rulare, forțele de frecare din interiorul motorului, forțele de inerție. În cazul în care acesta rulează pe un plan înclinat trebuie luată în considerare forța de greutate.
În continuare sunt prezentați pașii parcurși pentru determinarea turației și cuplului necesar motoarelor electrice. Pentru a menține o viteză constantă , motorul electric trebuie să dezvolte un cuplu motor care sa invingă momentul rezistiv de la axul motor. Dacă momentul motor este mai mic decât momentul rezistent, robotul va fi în repaos și acest lucru poate duce la adrerea infașurării motorului electric dacă el este alimentat în continuare. În figura 3.11 sunt reprezentate schematic forțele ce acționează asupra robotului în cel mai general caz:
Pentru a determina momentul motor pentru acținarea robotului trebuie calculate forțele rezistente ce se opun mișcării robotului. Astfel se vor determina următoarele forțe rezistive:
Forța de frecare are urmatoarea expresie:
Ff = μr·N(3.1)
unde:
– μr- reprezintă coeficientul de frecare și este aproximat la 0.01;
– N – reprezintă forța normală la suprafață și în cazul de față are expresia:
N = Gy = m· g·cos(α) (3.2)
unde:
– m – este masa robotului,10 [Kg];
– g – este accelerația gravitațională, 9.81 [m/s2];
– α- este unghiul de înclinare al pantei și în cazul de față se consideră 0 [ °];
Rezultă forța de frecare, după înlocuirea valorilor:
Ff = μr·m· g·cos(α) = 0.01·10·9.81·1=0.981 [N](3.3)
Componenta pe axa x a forței de greutate:
Gx = m· g· sin(α)=10· 9.81· 0 = 0 [N](3.4)
Forța de inerție:
Fi= m· a =10 ·2 =20[N] (3.5)
unde:
– a – reprezintă accelerația maxima a robotului 2 [m/s2];
În urma determinării forțelor rezistente ce acționează asupra robotului, se poate determina forța de tracțiune necesară acționării robotului mobil:
Forța de tracțiune are expresia:
Ft > Fi+Gx+Ff>20+0+0.981>21[N](3.6)
Totodată, forța de tracțiune are expresia:
Ft= Mm/r =21 [N] (3.7)
unde:
– Mm- momentul motor;
– r – raza roții 45 [mm] = 0.045 [m] ;
Rezultă momentul motor necesar la axul unei roți are expresia:
Mmr=(Ft·r)/2= 21·0.045/2 =0.945/2 = 0.4725 [Nm](3.8)
Viteza unghiulara a motorului electric se determina cu expresia de mai jos, avand in vedere ca viteza liniara de deplasare a robotului sa fie aproximativ 0.9 [m/s]:
ω =v/r =0.9/0.045 =20 [rad/s] (3.8)
Rezulta turatia motorului electric n= 190 [rot/min ].
Puterea motorului electric necesara pentru actionarea robotului este:
P = Mmr · ω =0.4725·20 = 9.45 [W](3.9)
In urma acestui calcul de dimensionare a motoarelor electrice de current continuu pentru actionarea robotului, s-au ales doua motoare Pololu 37D mm Gearmotors, ce au atasat la axul motor doua reductoare cu roti cilindrice cu dinti drepti si cu un raport de transmisie de 50:1. In figura 3.12 este prezentat un astfel de motor Pololu37D de mm.
Caracteristicile motoruluiPololu 37D de mm sunt prezentate mai jos:
dimensiunide gabarit: diametru D = 37 [mm], lungime max. l = 54 [mm];
masa motorului m = 0.2 [kg];
diametrul arborelui de iesire din reductor d = 6 [mm];
raportul de transmisie al reductorului i = 50:1;
tensiunea de alimentare U = 12 [v];
turatia la mers in gol n0 = 200 [rot/min];
curentul consumat la mers in gol I0 = 300 [mA];
curentul consumat cu axul blocat Imax = 5 [A];
cuplul maxim Mmax= 1.2 [Nm];
Puterea maxima consumata a motorului este determinata utilizand expresia:
P = U· Imax =12 ·5 = 60 [W](3.10)
3.3 Calculul angrenajului conic
Pentru calculul angrenajului conic prin care se realizeaza transmisia miscarii de la axul motor la roata de tractiune s-a plecat de la urmatoarele date de proiectare:
– momentul maxim de transmis: Mt = 120 daNmm;
– turația maximă de intrare : n1 = 200 rot/min
– raportul de transmitere: i = 1;
– unghiul dintre axe: = 900.
3.3.1Date ce se aleg preliminar.
– tipul danturii conice: dreaptă;
– profilul roții plane de referință: 0n = 200; h0an =1; h0fn = 1,25; C0n = 0,25 STAS 6844 – 90;
– materialul roților transmisiei: 41 Mo Cr 11 STAS 791 – 88
– tratament termic – îmbunătățire;
– duritate: 270 HB;
– R = 100 daN/mm2;
– 02 = 80 daN/mm2;
– tensiunea limită pentru solicitarea la contact: H lim = 80 daN/mm2;
– tensiunea limită la încovoierea dinților; F lim = 30 daN/mm2.
3.3.2 Calcule de predimensionare.
Lungimea preliminară a generatoarei conului de divizare, din condiția de rezistență la presiunea de contact:
(3.11)
unde:
– MM = Mt = 120 daNmm;
– coeficientul sarcinii dinamice KI = 1, pentru motor electric și funcționare uniformă;
– coeficientul sarcinii dinamice interne KV = 1,15 conform [ 10, tab.9.54 ];
– coeficientul distribuției neuniforme KHB = 1,15 la predimensionare, [ 10, tab.9.54 ];
– coeficientul de material ZM = 269, [ 11, tab.9.49 ];
– coeficientul punctului de rostogolire: ZHV = 1,77, pentru dantură nedeplasată;
– coeficientul lungimii de contact, ZEV = 0,9 , [ 10, tab. 9.54 ];
– coeficientul de lățime R = 0,2 , [ 10, tab. 9.54 ];
– rezistența admisibilă la presiunea de contact:
(3.12)
unde:
– la predimensionare se adoptă KHN = ZR = ZW = SH = 1, HP = H lim = 80 daN/mm2;
[mm] (3.13)
– valorile preliminare ale diametrelor de divizare:
d5 = 2Rcos 1 cud5 = 2 10,81 cos 450 = 15,24 mm;
Se adopta: d1 = 16 mm. D2 = id1 = 16 mm.
3.3.3 Calcule de dimensionare.
– modulul minim din condiția de rezistență la presiunea de contact:
[mm] (3.14)
– modulul minim din condiția de rezistență la încovoiere a bazei dintelui:
(3.15)
unde:
– coeficientul de repartiție frontală, K = 1, [ 10, tab. 9.54 ];
– coeficientul de formă al dintelui: YF = 2,25, [ 10, tab.9.54 ];
– rezistența admisibilă la încovoiere:
daN/mm2; [ 10, tab.9.54 ]
– numărul de dinți al pinionului: adopt Z5 = 16;
– numărul de dinți al roții conduse, Z6 = iZ6 = 116 = 16 dinți;
[mm] (3.16)
Adopt modulul m = 1.5 mm conform STAS 822 – 82.
3.3.4 Calculul parametrilor geometrici.
– raportul de transmitere: i = 1;
– unghiul conului de divizare la rostogolire:
– modulul normal (exterior) mn = 1.5 mm;
– înălțimea capului de divizare al dintelui:
h0a = m(h0an + xm) = 1.5(1 + 0,25) = 1,875 [mm] (3.18)
– înălțimea piciorului de divizare al dintelui:
h 0f = m(h0an + C0n + xm) = 1.5(1,25 + 0,25 +0,25) = 2,625 [mm] (3.19)
– diametrul de divizare pe conul frontal exterior:
d5 = mZ5 = 1,516 = 24 mm; d6 = mZ6 = 1.5·16 = 24 [mm] (3.20)
Fig. 3.13 Dimensiunile principale ale pinionului conic.
– diametrele de cap:
dC5 = dC6 = d5 + 2h0acos1 = 24 + 21,875cos 450 = 26 [mm] (3.21)
– diametrele de picior:
df5 = df6 = d5 + 2h0f cos 1 = 24+2 2,625cos 450 = 29 [mm](3.22)
– unghiul capului dintelui:
(3.23)
– unghiul piciorului dintelui:
(3.24)
– unghiul conului de cap:
a1 = δa2 = 1 + a1 = 30 26’+ 40 34’= 70 60’(3.25)
– unghiul conului de picior:
f1 = δf2 = 1 -f1 = 40 34’- 30 26’= 10 08’ (3.26)
– lățimea danturii:
b = ( 1…12 )m = 61,5 = 9 [mm](3.27)
3.4 Proiectarea asistata de calculator a robotului mobil
Etapa premaergatoare realizarii si constructiei robotului mobil autonom a fost aceea de a proiecta si modela anumite componente din structura robotului. Aceasta etapa a fost necesara dint-un motiv foarte important, acela de a respecta dimensiunile de gabarit impuse de regulile concursului Eurobot 2014. Inacest fel s-a incercat optimizarea la maxim a spatiului din interiorul carcasei robotuluiastfel incat sa poata fi inglobate componentele performante prezentate mai sus.
In figura 3.14 este prezentata partea de tractiune a robotului mobil realizata in CATIA V5:
Componentele principale caracteristice partii de tractiune a robotului mobil sunt urmatoarele:
Placa electronica de dezvoltare Arduino 2560 v3, utilizata la comanda si controlul robotului mobil;
Suport pentru placa de dezvoltare;
Reductor cu roti dintate cilindrice cu dinti drepti cu raport de transmisie de 50:1;
Rulment radial SKF 608 ZZ cu diametrul interior de 8mm;
Ax de transmiterea miscarii de la angrenajul conic la roata de tractiune;
Flansa pentru prinderea rotii motoare pe axul de transmitere a miscarii de la angrenajul conic;
Suport de sustinere a intregii parti de tractiune respectiv: a motoarelor, a reductoarelor, a placii de dezvoltare, a angrenajelor conice;
Encoder Pololu cu o rezolutie de 64 de impulsuri/rotatie;
Support pentru montarea bateriei cu prindere rapdida;
Motor de current continuu Pololu D37 mm;
Suportmobil encoder realizat din material textolit pentru o mai buna rezistenta mecanica dar totodata pentru reducere a greutatii;
Roata de tractiune cu diametrul D= 90 mm, confectionata din material plastic ce prezinta pe calea de rulare cauciuc pentru o mai buna tractiune;
Angrenaj conic cu rotile dispuse la 90 °, cu raport de transmisie de 1:1;
Ghidaj liniar cu bile, pentru stabilirea unui bun contact intre encoder si suprafata de rulare; Acest ghidaj permite contactul in permanenta dintre roata encoderului si suprafata de rulare, doar prin simpla forta de greutate a encoderului. Prin utilizarea acestui tip de ghidaj se reduce frecarea intre doua componentece se deplaseaza relativ una fata de cealalta. In cazul de fata suportul mobil al encoderului executa o miscare de translatie fata de suportul fix. Cursa maxima a acestui ghidaj este de 20 mm;
Suport fix al encoderului;
Placa de baza a robotului confectionata din aluminiu si debitata cu jet de apa, pentru a asigura o conturare de precizie;
In figura 3.15 este prezentata o componenta de baza in ansamblul robotic, respectiv este prezentat suportul motoarelor de curent continuu si lagarul rotilor de tractiune:
Aceasta componeta de baza a fost modelata in CATIA V5 si in urma acestei operatiuni s-a permis optimizarea la maxim a spatiului din interiorul robotului pentru asambrarea restului de componente. Realizarea acestei piese s-a facut pe o imprimanta 3D be baza unui format .stl importat din software-ul CATIA. Materialul din care este realizat este PLA de inalta densitate, iar componenta s-a realizat cu un factor de umplere de 80%. Acest lucru a condus la o buna rigiditate a piesei si astfel a dobandit o rezistenta mecanica ridicta.
Capitolul 4
Concluzii
In urma alegerii temei de licenta s-a realizat un studiu al literaturii de specialitate, de pe urma caruia s-a reusit clasificarea robotilor mobili in functie de tipul de locomotie al acestora, de mediul de operare si totodata de tipul de navigatie utilizat.
Ca si rezultat al proiectului s-a dezvoltat un robot mobil cu tractiune diferentiala actionat de doua motoare de curent continuu alimentate la o tensiune de 12V si cu o putere maxima de 60W.
Metoda de tractiune care sta la baza robotului este cea diferentiala si se bazeaza pe faptul ca cele doua roti motoare sunt actionate independent. Pentru miscarea de translatie a robotului rotile motoare trebuie actionate in acelasi sens de rotatie iar pentru a efectua o miscare de rotatie rotile trebuie actionate in sensuri diferite de rotatie.
Avantajul acestui tip de tractiune diferentiala este ca dimensiunile de gabarit ale robotului pot fi reduse si totodata ofera o posibilitate ridicata de schimbare a directiei in spatii restranse.
Cel mai mare dezavantaj este acela ca tractiunea diferentiala introduce anumite erori de pozitionare si orientare ale robotului, obtinute prin diametrele diferite ale rotilor motoare prin imprecizia asamblarii robotului.
Metoda de navigare aleasa este prin odometrie, la baza acestei metode se regasesc anumite expresii matematice bine definite prin care miscarea de rotatie a rotilor motoare se converteste in deplasarea liniara a robotului pe masa de joc si in orientarea acestuia fata de o anumita referinta absoluta.
Un avantaj al navigatiei prin odometrie este acela ca robotul se poate comanda doar prin controlul unei translatii si a unei rotatii. O problema majora a odometriei este ca la orientarea robotului exista un punct de inflexiune la 180° si -180°.
Pentru partea de comanda si control s-a utilizat o placa de dezvoltare Arduino Mega 2560 care prezinta o mare flezibilitate datorita numarului ridicat de intrari/iesiri analogice si digitale. De asemena prezinta o putere mare de calcul si dobandeste o memorie program de capacitate ridicata chiar si pentru aplicatii precum robotii mobili.
Senzorii Parallax Ping ofera precizie ridicata in determinarea distantei fata de un obiect sau obstacol la un pret de cost relativ scazut.
Totodata au fost dezvoltate diferite strategii de conducere a robotului pe masa de joc astfel incat acesta sa indeplineasca cu succes misiunile de pe tabla de joc.
Bibliografie
[1] Arkin, R. C., Behavior-Based Robotics”, MIT Press 1998;
[2] Aicardi., M., Casalino. C., Bicchi., A, Balescrino, A.,. „Cfosed Loop Steering of Unicycle-like Vehicles via Lyapunov Techniques.” IEEE Robocics & Automation magazine, March 1995;
[3] Branwyan., G., „Absolute Beginner's Guide to Building Robots”, Que. 2003;
[4] Brian P., Gerkey, „The PlayerfStage Project: Toofs for Multi-Robot and Distributed Sensor Systems”. In Proc. of the Intl. Conf. on Advanced Robotics (ICAR). pages 317-323. Coimbra. Portugal. July 2003;
[5] Brian P. Gerkey,.” Most Valuable Player: A Robot Device Server for Distributed Control”. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS). pages 1226-1231. Wailea. Hawaii. October 2001;
[6] Brooks., R., A, „A robust layered control system for a mobile robot „A.l. Memo 864, Artificial Intelligence, Massachusetts Institute of Technology. September 1985;
[7] Dudek. G., Jenkin. M. „Computațional Principles of Mobile Robotics”, Cambridge University Press. 2000;
[8] Fujimura. K., „Motion Planning in Dynamic Environments”, Springer-Verlag Tokyo. 1991;
[9] Hsiu, T., Richards., T., „Designing a Low cost, Expressive Educațional Robot”, The Robotics Institute, Carnegie Mellon University;
[10] Jones, J. , „Robot Programming: A practicai guide to Behavior-Based Robotics”, McGraw-Hill. 2004;
[11] Jung., B,. „Player TutoriaL”, USC Robotics Research Lab;
[12] Koenig. N., „Stage and Gazebo – The Instant Expert's Guide”, USC Robotics Research Lab, 15 Sept 2004;
[13] Miles. P, Carroll., T, „Build your own combat robot” McGraw-Hill. 2002;
[14] Nehmzow, U., „Mobile Robotics: A practicai introduction.” second edition. Springer-Verlag London. 2003;
[15] Rusu. B, „Sistem multiagent pentru roboți mobili: Robotux.”, proiect de diplomă, Universitatea Tehnică din Cluj-Napoca, Iunie 2004;
[16] Rusu., B., „On data fusion methods using Neural Networks, from a practicai implementation POV”, unpublished paper, May 2005;
[17] Sime., R., Sistem senzorial pentru robotul mobil” proiect de diplomă, Universitatea Tehnică din Cluj-Napoca, Iunie 2005.
[18] Turennout. P, „Autonomous Motion on Wheels”, Universiteitsdrukkerij T.U. Delft. 1994;
[19] Vaughan, R. T., Gerkey, B. P. , Howard, A., „On device abstractions for portable, reusable robot code”, In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS). Pag. 21-2427, Las Vegas, October 2003;
[20] Webers., C., Zimmer. R., „Robust tracking under uncertainties”, Oceans 2000;
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Studiul Si Proiectarea Unui Robot Mobil cu Două Roti Motoare (ID: 104579)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
