Sunteți pe pagina 1din 11

SixBot

-robot destinat detectiei parametrilor mediuluiElev : Ungureanu Vlad Victor

Coordonator : prof. Ostafe Constantin

Inceputul !
Google Lunar xPrize concurs destinat trimiterii unui rover pe luna si captura imaginilor in timp real Arduino si RoBoard Arduino este o placa de dezvoltare bazata pe un microcontroler RoBoard este un SBC ( single board computer) ce are porturi de intrare iesire digitale si analogice, o magistrala I2C si 3 porturi seriale

SixBot
Acest proiect este in permanenta imbunatatire si este inspirat din modelele militare.

Mecanic nu este ideal pentru ca nu poate urca rampe abrupte deoarece centrul de greutate este prea sus din cauza bateriilor voluminoase. Contine componente atat hobby cat si profesionale iar unele cablaje imprimate sunt proiectate in OrCad si realizate la o masina CNC.

Componente
O baterie LiFePo 140Wh Creierul este o placa RoBoard 1GHz, 256MB RAM ce ruleaza LUbuntu Linux Un AccessPoint WiFi Ubiquiti de 800mW si o antena omnidirectionala de 9dBi O camera Day/Night Arecont de 3MPix 3 placi Arduino ce realizeaza comunicarea cu motoarele,modului GPS si senzorul de radiatii

Un senzor de distanta Sharp cu raza intre 20-150 cm


Patru senzori de temperatura LM75 ce functioneaza pe I2C Un accelerometru pe 3 axe Senzori analogci dintre care 5 pentru tensiune si 3 pentru curent Sase convertoare DC/DC de tip on/off Un senzor de radiatii GeigerMller

Ce este I2C ?
Este un sistem de comunicare inventat de Phillips. Se mai numeste Two Wire Interface. Functioneaza pe 3 fire : SCL( serial clock line) - ceas SDA(serial data line) - date Ground Intr-un sistem este un singur master si mai multe componente slave. Master-ul lanseaza un request la unu din slave-uri iar acesta raspunde. In proiectul SixBot placa RoBoard este master-ul iar celelate 2 placi Arduino, senzorii de temperatura si accelerometru sunt slave-uri.

Sistemul functioneaza pe 2 tensiuni una de +5V si alta de +3.3V si pentru acest motiv se foloseste un convertor de nivele.

Cum functioneaza ?
Creierul este un SBC construit special pentru aplicatii in domeniul roboticii.

Este construit pe modelul server/client, toate informatiile putand fi vazute dintr-o pagina web.
Pentru inceput robotul a functionat pe WindowsXP, programarea fiind facuta in C#, dar datorita multor probleme am trecut pe Linux. Are o raza de actiune de 4 KM in camp deschis.

LUbuntu Linux
Sistemul de operare instalat este de tip lightweight, foarte multe servicii fiind dezactivate si astfel ocupa mai putin spatiu de stocare.
Timpul de pornire al robotului este de 2 minute pana se initializeaza toate sistemele. In permanenta ruleaza un server ce colecteaza datele de la toti senzorii. Legatura dintre robot si utilizator se realizeaza printr-o pagina web, iar serverul analizeaza comenzile din pagina si le executa. Totul a fost programat in C++ si am folosit librarii dedicate pentru interactiunea cu magistralele I2C, seriala si cu porturile analog/digitale.

LUbuntu Linux
Programul principal din RoBoard ruleaza doua fire de executie unul pentru ascultarea de comenzi de la utilizator si unul ce colecteaza datele de la senzori. Cand o comanda este data de user, firul de executie ce citeste datele este pus intr-o stare de pauza pentru ca pe protocolul I2C nu poate sa comunice decat un singur dispozitiv in acel moment.

Toate valorile de temperatura, tensiune, acceleratie sunt stocate intr-o baza de date MySql. Pe viitor voi implementa o functie de generare de grafice a temperaturii.
Robotul mai are functia de memorare a drumului cu ajutorul modulului GPS. Latitudinea si longitudinea sunt salvate tot intr-o baza de date si astfel drumul poate fi vazut ulterior cu ajutorul Google Maps. La acest capitol lucrez la un algoritm de Come back home in caz ca se pierde legatura cu utilizatorul.

Aplicatii
Initial roverul a fost proiectat pentru a fi prezentat echipei de la Google Lunar xPrize.

Poate fi utilizat in medii ostile omului.


Cu ajutorul senzorului de radiatii Geiger-Mller poate fi trimis in zone puternic contaminate de radiatii si .

Poate fi folosit si de pompieri sau politie pentru a fi trimis in cladiri cu structura avariata sau in cazurile de amenintari cu bomba.

Pe viitor ...
Voi implementa un algoritm de Come Back Home cand se pierde legatura dintre utilizator si robot ca acesta din urma sa se intoarca intr-o pozitie definita. Posibilitatea generarii graficelor de temperaturilor si tensiune. Voi monta un modul GSM pe robot si va putea primi comenzi cu ajutorul sms-urilor. In momentul de fata in robotica se pune accentul pe recunoasterea obiectelor si inteligenta artificiala. Am de gand sa implementez un sistem de recunoastere faciala si a obiectelor.

Bibliografie

Forum de discutii legate de RoBoard : http://robosavvy.com/forum/ Forum de discutii legate de Arduino : http://arduino.cc/forum Pagina producatorului placii RoBoard : http://www.roboard.com/ Sursa pentru librariile C++ : http://www.dmp.com.tw/tech/vortex86dx/

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