Table of Contents

Alexandru ALISTAR - Minisumo

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

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.

  • Robotul a fost realizat cu sprijinul laboratorului EAPInGear.

Descriere generală

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.

Hardware Design

Lista pieselor componente

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

Schema microcontroller - Baby Orangutan

aa_orangutan_board.jpg

Senzorul de start/stop al concursului

aa_startstop.jpg

Principiul de functionare al acestuia

aa_startstop_2.jpg

Alte componente

aa_motoare.jpg aa_baterie.jpg aa_senzor_fata.jpg

Robotul la final

aa_avr.jpg aa_fata.jpg aa_spate.jpg aa_lateral.jpg aa_lateral_2.jpg

Software Design

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).

Rezultate Obţinute

La Robochallenge (faza locala) echipa noastra a castigat locul al III-lea.

aa_rezultate.jpg

Concluzii

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.

Bibliografie/Resurse

Microcontroller

Senzor Lateral

Senzori linie

Senzori fata

Roti