Autorul poate fi contactat la adresa: Login pentru adresa
In cadrul acestui proiect am realizat un robot ce se incadreaza in categoria Minisumo a concursului Robochallenge. Robotul trebuie sa fie complet autonom si sa aiba lungimea 10cm si latimea 10cm. Scopul concursului este acela de a cauta si scoate robotul adversar din ring (denumit Dohyo). Ringul de joc este un disc de culoare neagra ce are diametrul de 77cm, delimitat de o banda alba cu latimea de 2.5cm. Meciul incepe la semnalul de start (din telecomanda) al arbitrului si se incheie in momentul in care unul din roboti il scoate din ring pe celalalt.
Pentru realizarea robotului ne-am folosit de o serie de senzori:
In continuare va prezint o scurta schema de functionare:
- Microcontrollerul (Baby Orangutan) are un regulator de 5V din care alimentam:
- Bateria (2 celule Li-Po) alimenteaza:
- Circuitul de boost ridica tensiunea de 7.4V (de la baterie) pana la 12V pentru senzorii din fata.
- Driverul pentru motoare este legat la motoare si la baterie.
- Senzorii sunt legati la microcontroller pentru furnizarea datelor.
Piese | Nr | Pret |
---|---|---|
Baby Orangutan (Atmega 328) | 1 | ~90 RON |
Roti Minisumo | 2 | ~60 RON |
Motoare 30:1 | 2 | ~50 RON |
Boost Regulator (Pololu) | 1 | ~50 RON |
Senzori Linie | 2 | ~50 RON |
Senzori Lateral (Sharp) | 2 | ~60 RON |
Senzori Fata (Banner) | 2 | Sponsorizari - scumpi |
Senzor Start/Stop | 1 | 25 RON |
Dip switch | 1 | din laborator |
Li-Po Battery 2 cell (800mAh) | 1 | ~40 RON |
Deoarece am participat si o sa mai participam la concursuri asemanatoare, nu putem sa publicam codul cu care am programat microcontrollerul. Ar oferi un avantaj considerabil competitorilor si din aceasta cauza il consideram secret.
Insa putem descrie pe scurt un algoritm de baza al unui robot de minisumo: La baza exista un automat cu stari ce intai evalueaza inputul de la senzori si in functie de rezultatul lor ia decizii cu privire la controlul motoarelor. Citirile de la senzori sunt evaluate in functie de prioritatea lor (mai intai cei de linie, apoi cei din laterale si intr-un final cei din fata).
Robotul a obtinut numeroase victorii, dar a avut si putine infrangeri, din care putem invata. Trebuie sa cercetam mai atent pozitia senzorilor si datele citite de acestia, deoarece uneori vede ce nu trebuie.
In plus, trebuie sa montam o pereche de motoare mai puternice, deoarece (uneori) am pierdut in lupta de la egal la egal.