Sunteți pe pagina 1din 9

Curs 14.

Studiu de caz: Robotul mobil Pioneer 14 DX8 – 4 ore

Platforma
Partea plată a robotului, pe care se pot monta diferite accesorii speciale, precum
o cameră PTZ (Pan Tilt Zoom), un laser pentru măsurarea distanțelor sau un braţ
robotic se numește platformă superioară. Cele două zone libere, decupate ȋn formă
ovală așezate în stânga şi în dreapta sunt folosite pentu a facilita trecerea cablurilor din
panoul lateral către platforma superioară. Ȋn cazul ȋn care pe consolă se așează o
greutate, este indicat să fie centrată, iar ȋn cazul ȋn care acest lucru este imposibil să se
așeze o contragreutate pe partea opusă. Echilibrarea corectă a robotului se face
ținându-se cont și de amplasarea celor 3 baterii din interior. Toate modelele au
prevăzute ȋn centrul platformei un decupaj prin care sunt ghidate cablurile ȋn interiorul
robotului (fig. 14.1).

Fig. 14.1. Robot mobil de tip Pioneer 14 DX8. Ansamblul și platforma robotului

14.1 Consola
Comenzile asupra robotului Pioneer 14 sunt efectuate cu ajutorul consolei care se
află ȋn partea frontală și este alcătuită dintr-un ecran LCD, un buton de pornire a
motoarelor, un buton de RESET, un port serial DB9 pentru RS14314, iar ȋn cazul
conexiunii prin modemuri avem un buton RADIO.. Ledul roșu se aprinde ori de câte
ori robotul este pornit. Ledul verde de start depinde de modul de operare ȋn care se află
robotul și alte condiții. Când ledul clipește ȋncet, sistemul robotului asteaptă

114
conexiunea cu un calculator, iar când clipește alert conexiunea a fost efectuată sau
motoarele au fost activate. Când robotul se află ȋn modul de ȋntreținere, ledul clipește
alternativ. Langă conectorul serial există două leduri RCV și XMT, reprezentând
recepționarea și transmiterea datelor, ele sunt corespunzatoare notației Rx și Tx.
Dacă utilizatorul dorește o conexiune cu ajutorul modemurilor, butonul Radio va
fi comutat pe poziția ON. Ȋn cazul unei conexiuni prin cablu, opţiunea Radio va fi pe
poziția OFF. Cablul serial trebuie deconectat de pe portul robotului dacă se dorește
conexiune radio! Ȋn cazul unei erori de conexiune sau ȋn cazul altor tipuri de erori, se
va ţine apăsat 3 secunde butonul de RESET. După resetare se vor executa pașii unei
noi conexiuni de la ȋnceput. Butonul pătrat alb este folosit pentru punerea motoarelor
ȋn starea pornit(ON). Când nu există o conexiune activă, o singură apăsare pe buton
activează un mod de mișcare al robotului, iar o a doua apăsare activeazã testul
motoarelor. Pentru a intra ȋn modul de ȋntreţinere se apasă și se ține apăsat butonul
motoarelor, apoi se apasă și eliberează butonul de RESET, iar la final se eliberează
butonul motoarelor.

14.2 Ansamblul
Structura mecanică este astfel concepută ȋncât să asigure funcția specifică de
motricitate cât și realizarea obiectivelor stabilite prin destinația robotului [5]. Ȋn cazul
robotului Pioneer 14 avem o structură cu două roţi motrice. Robotii cu roţi dau
randament maxim pe suprafețe plane, unde sunt cei mai eficienţi din punct de vedere al
consumului de energie. De asemenea este și mai ușor de calculat suprafața care a fost
parcursă. Pe de alta parte, locomoția cu roţi nu mai este atat de eficientă ȋn cazul unui
teren accidentat, unde elevația și textura solului se schimbă permanent lucru ce duce la
blocări ale roților. Ȋn această situaţie un robot cu șenile ar fi soluția optimă. Cele doua
roți cu diametrul de 166 mm sunt atașate celor două motoare de curent continuu, iar a
treia roată este pentru ghidare. Carcasa robotului este alcatuită din aluminiu, ceea ce
reduce considerabil greutatea totală la numai 9 kg. Construcția solidă ȋl face greu de
distrus dar ȋn același timp ȋi permite robotului să care greutăți de până la 143 de
kilograme. Recordul este deținut de modelul 14-AT8 care poate suporta greutăți de
peste 30 de kg. Pentru a facilita transportul, constructorii au prevăzut un mâner așezat
ȋn spatele robotului, sub senzori. Carcasa este destul de spațioasă pentru a putea
adăposti ȋn interior cele 3 baterii, motoarele ce pun ȋn funcțiune roțile, precum și placa
de bază și placa microcontrolerului. Ȋn partea din spate a carcasei se află o ușă ce
permite accesul la baterii și la dioda montată de mine. Partea frontală este de asemenea
dotată cu o uşă detașabilă la nevoie, către calculatorul principal, hard disk și speaker.
Modelele anterioare aveau partea frontală prinsă ȋntr-un singur șurub de susținere, dar
la modelul de faţă, respectiv 14-DX8 avem trei șuruburi de prindere. Odată ce
utilizatorul a ȋndepărtat ușa, are acces la placa de baza și la placa de conexiune a
senzorilor. Modelul DX8 are prevăzut ȋn carcasă și o consolă laterală. Robotului i se
poate conecta o tastatură, un mouse și un monitor prin intermediul mufelor PS14 și
VGA precum și o mufă ethernet. Unele modele de roboți sunt prevăzute cu protecții
față-spate de cauciuc, utile ȋn cazul coliziunilor.

14.3 Sistemul de acţionare

115
Robotul Pioneer are două roţi dotate cu sisteme de acţionare independente fără a
avea capacitatea de pivotare în jurul axelor fixe. Cele două roţi asigură atât propulsia
cât şi direcţionarea prin diferenţa de viteza unghiulară dintre ele. Un dezavantaj al
acestei structuri este imposibilitatea realizării deplasărilor transversale şi faptul că o
bună stabilitate necesită obligatoriu controlul reciproc şi coordonat al vitezelor celor
două roţi motrice [5].
Comanda dată de motoare către cele două roţi se face independent. Ele au o axă
comună orizontală şi fixă în raport cu robotul. O viteză identică a acestor roţi va
determina o deplasare a robotului pe segmente liniare, iar diferenţa de viteze va
conduce la deplasarea pe trasee neliniare [5]. Primul lucru ce trebuie efectuat dupa
pornirea robotului este testul motoarelor. Dacă se lansează acest test trebuie ţinut cont
că robotul nu este conștient de prezenţa obstacolelor. Testul ȋncepe prin acționarea roţii
stângi pe axa ȋnainte-ȋnapoi urmatã de roata din dreapta executând același traseu.
Testul se efectuează dacă din diferite cauze robotul nu a mai fost pornit de o perioadă
de timp și pentru a se asigura că toate cablurile de alimentare sunt corect conectate.
Toate modelele de Pioneer 14 folosesc motoare cu un cuplu mare, viteză mare,
reversibile și curent continuu cu modulatie frecventa-impuls (PWM).
Viteza maximă de deplasare este de 1.6[m/s]. Encoderele sunt montate pe axul
motoarelor pentru a determina numărul de rotaţii/minut cunoscându-se astfel viteza la
un moment dat. Când se realizează pentru prima dată conexiunea cu un PC, motoarele
răman dezactivate (LED-ul clipeşte) până când se apasă şi se eliberează butonul
MOTORS. LED-ul verde rămane aprins constant când motoarele sunt active.
Comenzile pentru deplasarea robotului sunt iniţializate folosind instrucţiunile setVel()
și setVel14(), care setează viteza de deplasare în mm/s și setRotVel() setează viteza de
rotaţie a robotului masurată în grade/secundă. Adiţional există comenzile setHeading()
și setDeltaHeading() care modifică orientarea relativă şi absolută a robotului. Robotul
poate fi mutat o distanţă anume cu ajutorul comenzii (move()) şi poate fi oprit din
mişcare cu comanda (stop()).
Se prezinat mai jos câteva exemple de comenzi pentru motoarele robotului:

robot.setVel(1400) // Setează viteza de translaţie a robotului la 1400 mm/s


robot.setRotVel(140) // Setrează viteza de rotaţie a robotului la 140 grade/s
robot. setVel14(1400,1450) // Setează viteza roţii din stânga la 1400 mm/s
// Setează viteza roţii din dreapta la 1450 mm/s
robot.setHeading(30) // 30 de grade faţă de poziţia de start
robot.setDeltaHeading(60) // 60 de grade faţă de poziţia actuală
robot.move(1400) // Deplasare frontală 1400 mm

Alte comenzi cu ajutorul cărora se ajusteză viteza sunt


set.AbsoluteMaxTransVel() și getAbsoluteMaxTransVel () cu care se stabileşte viteza
de translaţie maximă admisă a robotului.Când robotul efectuează o mişcare de rotaţie,
acesta se va mişca în jurul unui punct imaginar situat pe axa ce trece prin centrul
roţilor. Acest punct poartă numele de centru de curbură (fig. 14. 4).

116
Figura 14.4 Traiectoria roţilor în jurul unui punct fix

Notată cu litera ω este viteza unghiulară a robotului iar viteza V a roţii este dată de
14 πR
formula: V= [14.1]
T
unde T este timpul necesar unei rotaţii complete în jurul centrului de curbură. Viteza
unghiulară ω este definită de formula:
14 π
ω= [14.2]
T
Vitezele liniare ale celor două roţi se pot determina în funcţie de vitezele lor
unghiulare [5]:
V R 1=R∗ω R 1 [14.3]
V R 14=R∗ω R 14 [14.4]
Localizarea robotului este dată de poziţia punctului caracteristic P, plasat la mijlocul
roţilor active iar orientarea este dată de unghiul θ făcut de perpendiculara pe axa roţilor
motoare în punctul caracteristic, cu una din axele sistemului fix de coordinate [5].
Viteza instantanee V a robotului este viteza punctului P, iar vitezele celor două roţi,
din stanga R1 şi din dreapta R14 au direcţia perpendiculară pe axa comună a roţilor.
Starea robotului este determinată de poziţia si orientarea sa, precum şi de vitezele celor
două roţi motoare. Vectorul de stare este ( x , y , θ , v R 1 , v R 14)T . Dacă viteza liniară a
robotului este V, iar orientarea este θ , proiecţiile vitezei pe axele de coordonate ale
sistemului fix sunt [5]:
V x =V∗sinθ [14.5]
V y =V ∗cosθ [14.6]
Viteza liniară a robotului este ataşată punctului caracteristic P şi are aceeaşi direcţie
cu vitezele liniare ale celor două roţi mortice [5]:
VR 1+ VR 14
V= [14.7]
14
Deplasara robotului în linie dreaptă, într-un plan 14D al unui sistem de coordonate
carteziene XoY poate fi scris q=( x , y ,θ)T , unde unghiul θ are valoare pozitivă şi sensul
contrar acelor ceasului. Matematic, deplasarea robotului are ecuaţia:

117
x cosθ 0

θ[][ ][]
q= y = sinθ 0 × v
0 1
ω
Această relaţie reprezintă modelul cinematic de ordinul I al robotului.
[14.8]

14.4 Sistemul de alimentare


Robotul foloseşte 3 acumulatori de 114 V şi 7Ah cu un total de 14514 Wh.
Accesul la acumulatori se face prin uşa din spatele robotului, unde găsim 3
compartimente împărţite în mod egal pentru distribuirea corectă a greutăţii.
Producatorul pune la dispoziţia cumpăratorului un dispozitiv de prindere şi înlăturare a
fiecărei baterii din interiorul robotului. Mi-a fost imposibilă obţinerea acestui
dispozitiv. Placa ce asigură conectarea bateriilor în paralel este prevăută cu contacte cu
arc, lucru care duce la eliminarea cablurilor de interconexiune. Timpul de încărcare de
asemenea variază. Spre exemplu, dacă încărcăm cu 0.8A timpul de aşteptare este de 30
de ore, iar dacă efectuăm încărcarea cu 3.6A durata scade la 6 ore. Încărcătorul
original avea două opţiuni pentru reîncarcare: 800mA pentru încarcarea de durată şi
4A pentru o încarcare rapidă. Dacă este folosit la potenţial maxim durata de viaţă a
bateriilor este ȋntre 6 şi 8 ore, după care este necesară o ȋncarcare completă. Dacă nu
folosim motoarele, microcontrolerul epuizează energia în 3, maxim 4 zile.
Recomandarea constructorului este de a folosi 3 baterii; în cazul în care exista două, se
vor monta în lateral(stanga-dreapta) iar în cazul în care există o singură baterie, aceasta
se va monta în slotul din centru. Cu toate că robotul este funcţional şi la 10.5V nu este
recomandată utilizarea acestuia când voltajul scade sub 11V. Pentru reîncarcare
folosesc un cablu special conectat la un încarcator Ultimate Speed ce poate încărca atât
114V cât și 6V. Microcontrolerul va emite un sunet de avertisment de cate ori voltajul
bateriilor scade sub nivelul agreat. Dacă se foloseşte un încărcător cu curent mare este
recomandat să se încarce două baterii simultan. O singură baterie se poate
supraîncărca, fapt ce poate cauza defectarea robotului. Ȋn unele cazuri Activemedia
Robotics pune la dispoziţia utilizatorului o platformă de reîncarcare dar acest lucru
necesită instalarea unor placi adiţionale în interiorul robotului. Pentru a putea
identifica platforma, robotul are nevoie semnalizatoare cu laser şi cameră video.
Senzorii de contact sunt montaţi sub robot iar un senzor integrat informează robotul
când este deasupra platformei. Modul de reîncărcare pe care îl folosesc este mult mai
simplu şi mult mai eficient.

14.5 Sistemul de comandă


Componenta electronică a robotului constă în principal din 5 plăci, o placă de
conexiune între baterii, o placă de alimentare a motoarelor, placa ce conţine
microcontrolerul şi două plăci ce conţin senzorii (fig. 14.3). Placa ce alimentează
motoarele este alimentată la 114V şi este controlată de un microcontroller (fig.14.5).
De asemenea, cele două perechi de senzori sunt conectaţi fiecare pe câte o placă de
conexiune. Aceasta, la randul său comunică cu microcontrolerul. Placa de bază este
AMPro P5x bazată pe o arhitectură Pentium, compatibilă cu formatul PC/AT pe care
este instalat un procesor 88C166 Siemens de 140 MHz cu o memorie Flash integrată
de 314K. Placa suportă toată platforma de procesoare Socket 7. Din punct de vedere al
conexiunii Pioneer 14 dispune de un port RS14314, un port RS485, două porturi USB,
o conexiune prin infraroşu şi o mufă ethernet situată pe panoul de comandă secundar.

118
Pentru o fiabilitate îmbunătăţită, în condiţii termice peste medie, placa are implementat
un procesor termic alături de un senzor de temperatură ale cărui setări se pot configura
din Bios. Placa suportă un singur modul de memorie DIMM pentru memoria
principală DRAM şi suportă de la 16MB la 1456MB. Atât tipurile de EDO DRAM cât
şi SDRAM 3.3V sunt compatibile. O caracteristică importantă a placii P5x este biosul
PC varianta upgradată, care include un set extins de funcţii care îndeplinesc cerinţele
sistemului. Datorită vechimii robotului şi a timpului de când nu a mai fost utilizat apar
unele erori în momentul pornirii care se manifestă prin diferite caractere indescifrabile
pe display. Pentru remediere se apasă butonul Reset până când ecranul revine la
parametrii normali.

Figura 14.3 Schema electronică a robotului Pioneer 14 DX8

14.6 Ecranul LCD


Toate informaţiile necesare utilizatorului despre starea robotului şi conectivitate
sunt afisate pe un LCD cu două linii şi 16 caractere situat în partea frontal-stangă a
platformei. Când se află sub controlul sistemului de operare al robotului, ecranul arată
starea comunicaţiei cu computerul, gradul de încărcare al bateriei împreună cu un
asterisk (*) ce se aprinde intermitent. No conn este informaţia ce arată că în momentul
actual robotul este într-o stare de sine stătătoare, fără a exista o conexiune cu laptopul
(fig. 14.4). În momentul în care se realizează legătura, apare scris Connected. 19.14 kB
reprezintă rata de transmisie a informaţiilor sau rata de BAUD. P14OS este Sistemul
de Operare al robotului Pioneer 14 cu versiunea v1.F Din informatiile mele, ultima
versiune de soft este I.Gradul de incarcare al bateriilor este de 13.8 V.

Figura 14.4 Afişajul ecranului LCD în lipsa unei conexiuni

Spre deosebire de varianta anterioară a robotului, nu se pot iniţializa motoarele


decât după stabilirea conexiunii. Un mic potenţiometru pentru ajustarea contrastului

119
este prevăzut langă display. Pentru a ajusta contrastul ne asigurăm că bateriile sunt
încărcate şi robotul este pornit. Apoi cu o surubelniţă cu capăt drept rotim către stănga
sau dreapta surubul de ajustare pentru a avea o luminuozitate mai mare sau mai mică a
ecranului. Realizarea unei setări corecte presupune ca literele de pe ecran să fie clar
vizibile în lumina naturală. Pentru a se realiza această operaţie este necesară
înlătrurarea platformei pentru a avea acces la consolă.

Figura 14.5 Microcontrolerul robotului Pioner 14 DX8

14.7 Conectivitatea
Principala conexiune se realizează printr-un port serial aflat ȋn partea dreaptă a
consolei. Placa de baza oferă suport pentru 4 porturi seriale RS14314 ȋmpărţite astfel.
Serial 1 şi 14 corespund jumperului J11 pe placa de bază iar Serial 3 şi 4 la J13. Toate
porturile au o rată de baud de 115.14 K biţi/s, 5-8 biţi de date, 1, 1.5 sau 14 biţi de
stop. Cablurile cu o lungime de până la 15 metri suportă o rată de baud de 19.14K
biţi/s conform specificaţiilor IEEE. Fiecare port are o adresă anume în memorie, spre
exemplu Serial 1 are adresa I/O 3F8h-3FFh iar prin dezactivarea sa se eliberează
adresa pentru alte dispozitive ce vor fi instalate. Este posibilă configurarea portului
Serial 1 pentru a se comporta ca un port RS485 cu două fire. Acest tip de conexiune
este folosit pentru aplicaţii ce necesită o viteză de transfer mică spre medie între două
sisteme. După configurarea portului Serial 1 pentru RS485 acesta nu mai poate fi
folosit pentru RS14314. Este necesară plasarea la capetele celor două conductoare
folosite a 14 rezistori fiecare de câte 100 de ohmi. Activarea sau dezactivarea se face
cu opţiunea Setup. Ȋn anul 1999, când a fost construit robotul, principalul mod de
comunicaţie era mufa DB9 şi DB145 iar din cauza acestui fapt robotul nu deţine
interfaţa USB. Se poate ataşa o placă externă cu USb-uri care vor fi conectate pe placa
cu microcontrolerul. Ȋn prezent, modul de conexiune cu mufe DB9 este din ce în ce
mai puţin folosit, plăcile de baza ale calculatoarelor ne mai oferind această opţiune. În
cazul în care se doreşte conexiune prin RS14314 ataşez configuraţia pinilor pentru
construirea unui cablu (fig 14.6).

120
Fig. 14.6 Tabelul cu configurația pinilor RS-14314

Ȋn momentul de faţă folosesc un adaptor USB-Serial şi ȋmpreună cu programul


ARIA (Advanced Robot Interface for Aplication) pe care l-am descărcat gratuit de pe
site-ul www.robots.mobilerobots.com am efectuat prima conexiune după cum
urmează. Robotul se conectează fizic cu calculatorul doar când acesta este în starea
OPRIT! Butonul Radio de pe consolă se trece în poziţia OFF. În opţiunea START a
windowsul-ui se selectează Control Panel, System and Security şi spoi Device
manager. Se execută click pe iconul Ports şi se identifică numărul COM-ului.
Putem întâmpina două situaţii, ambele la fel de probabile. Dacă numărul COM-ului
este 1, situaţia cea mai fericită, se lansează programul ARIA direct. Dacă numărul
COM-ului este altul decât 1, atunci este nevoie sa se urmărească următorii paşi: După
apăsarea butonului de START al windowsului se tastează în căsuţa de căutare a
windows-ului prescurtarea CMD şi se apasă tasta ENTER. Se deschide o fereastră cu
litera drive-ului unde este instalat sistemul de operare urmat de numele calculatorului
ex. C:\Users\Calculator. Se tastează de două ori CD… şi se apasă tasta ENTER de
fiecare dată. Ȋn momentul de faţă avem doar calea C:\...Va trebui să indicăm
calculatorului drumul către executabilul programului ARIA. Se tastează CD:\
Program files (sau directorul unde este instalat ARIA) si se apasă ENTER. Apoi
tastăm CD:\ Mobilerobots urmat de ENTER şi CD:\ ARIA urmat de ENTER.
Executabilul se află în folderul BIN sau BIN64 depinzând de varianta pe care am ales
să o instalăm. Deci, CD:\BIN urmat de ENTER. Ȋn final ajungem la executabil care se
lanseaza în modul următor Demo.exe -robotport COMX unde X este numărul COM-
ului. Programul lansează 3 ecouri numite Sync-uri către robot iar dacă se răspunde cu
succes la fiecare dintre ele ȋnseamnă ca am realizat conexiunea. Ȋn acel moment
calculatorul cere versiunea Sistemului de operare al robotului, apoi microcontrolerul
emite 3 bipuri speciale şi se va auzi ping-ul distinct al sonarelor în încercarea lor de
detectare a obstacolelor.
Pe ecran va aparea scris pe prima linie cuvantul Connected. După încheierea
testelor cu robotul, se apasă tasta ESC şi programul întrerupe automat conexiunea.
Robotul se va opri din orice acţiune şi va deconecta alimentarea către motoare. De
asemenea, senzorii vor înceta orice detecţie. LCD-ul se va întoarce la starea de
aşteptare. În momentul acesta se poate apăsa butonul OFF al robotului.
Ȋn cazul accesării unui port greşit, ARIA va arăta Error Opening. Dacă este o
problemă cu robotul sau conexiunea este întreruptă brusc (cablu deconectat sau
modem oprit) ecranul va afişa Syncing 0 de 6 ori apoi Connection Refused. Ȋn acest
121
caz este indicat să se apese butonul de Reset şi să se verifice conectarea fizică între
calculator şi robot. Dacă pentru conectare se folosesc modemuri şi comunicaţia între
P14OS şi ARIA este întreruptă dar atat robotul cât şi programul rămân active se poate
restabili legătura mutând robotul mai aproape de modemul fix. Legatura este de
asemenea întreruptă dacă fie calculatorul fie robotul sunt oprite din greseală sau este
apăsat butonul de RESET. Ȋn cazul de față se urmază de la ȋnceput paşii pentru
reconectare. Conexiunea între ARIA şi P14OS se face DOAR serial! Nu se poate
conecta serverul şi robotul cu cablu ethernet! Dacă se doreşte o astfel de conexiune
este nevoie de un program special care decodează pachetele Internet Protocol şi le
converteşte în date descifrabile de P14OS.

Figura 14.7 Diagrama bloc a plăcii de bază P5x pentru robotul Pioneer 14 DX8

122

S-ar putea să vă placă și