Sunteți pe pagina 1din 5

1.

Informatii generale
Codul robotului nostru a evoluat de-a lungul timpului in paralele cu
schimbarile din mecanismul de functionare.

El este impartit in clase, fiecare cu propria lor


functionalitate.

2. Drive

Drive-ul robotului este impartit in doua componente:


 miscarea rotilor
 miscarea bratului

Programul care se ocupa de controlul rotilor se gaseste in clasa WheelDrive.


Functia move() preia informatii despre pozitiile joystick-urilor si calculeaza
puterea care trebuie introdusa in fiecare dintre cele patru motoroare.
Cand vine vorba de brat, treburile se complica. Aici am dezvoltat doua
modalitati de a-l controla: pe pozitii predefinite si manual.
In ambele cazuri am folosit un controller de tip PID. Acesta se foloseste de
eroarea dintre starea in care ne aflam si starea in care ne dorim sa fim pentru a
determina puterea necesara motorului de a ajunge intr-un mod neted

In cazul pozitiilor prestabilite eroarea este data de valoarea encoderului


motorului ce actioneaza bratul.
Cand controlam manual, starea de referinta este viteza bratului, calculata in
mod constant.

3. Autonomia
Autonomia noastra estu una relativ rudimentara.

Initial robotul se misca in fata pentru 3 secunde si se invarte la 90 de grade


pentru a se alinia cu tabla.
Apoi folosind un senzor de distanta pentru a ne apropia de tabla.

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