# Botball

Botball è un programma di robotica educativa. Si concentra sul coinvolgimento degli studenti delle scuole medie e superiori in competizioni di robotica. Migliaia di giovani partecipano a questo programma. Botball è attivo dal 1998 e propone un curriculum di robotica che si concentra sulla progettazione, costruzione e programmazione di una coppia di robot autonomi. Le squadre utilizzano dei kit standardizzati di materiali, documentano il processo di realizzazione e quindi competono in un torneo. Tutti i materiali nei kit sono esattamente gli stessi per ogni squadra in tutto il mondo. Le squadre Botball hanno sede principalmente negli Stati Uniti con oltre 300 squadre. Negli ultimi anni si tiene una conferenza globale annuale sulla robotica educativa (GCER), con un torneo internazionale che attira squadre da tutto il mondo, nonché da Messico, Austria, Cina, Uganda, Polonia, Qatar, Kuwait ed Egitto.

## Panoramica

Lo slogan di Botball è che "i ragazzi di Botball di oggi sono gli scienziati e gli ingegneri di domani". Il programma è gestito dal KISS, sta per l'acronimo di ingegneria: Keep It Simple Stupid, la cui visione è quella di utilizzare la robotica "per stimolare e coinvolgere gli studenti nell'esplorazione del loro potenziale in ingegneria, scienze e matematica". L'obiettivo di Botball e KISS è educare la forza lavoro del futuro. Questo obiettivo è condiviso dal NASA Robotics Alliance Project (RAP) che collabora con Botball e altri programmi di educazione alla robotica. La missione della NASA RAP è "consentire l'implementazione di future missioni robotiche di esplorazione spaziale". NASA RAP vede Botball come un'opportunità per raggiungere la sua futura forza lavoro e fornire esperienza pratica e competenze necessarie al potenziale futuri scienziati della NASA.
Botball è noto per la raffinatezza e la complessità delle sue competizioni robotiche. Ciò che differenzia Botball da altri programmi di robotica per studenti è che i robot sono autonomi. Gli studenti usano l'informatica per programmare i robot in modo da riconoscere le sfide e quindi tentare gli obiettivi della competizione. I robot contengono diversi tipi di sensori e anche due fotocamere digitali per i loro sistemi di visione artificiale. Robot Magazine, ha evidenziato in un articolo il gameplay e i sistemi, "Ogni anno il gioco offre diverse sfide a diversi livelli di difficoltà, così i partecipanti possono concentrarsi su obiettivi più difficili o trovare soluzioni più semplici, in base alle loro abilità.
Le competizioni Botball ruotano attorno all'utilizzo di robot autonomi per completare una serie di attività (come raccogliere oggetti e spostarli in un'altra posizione) entro un limite di tempo stabilito di due minuti. I sensori e le fotocamere digitali forniscono input ai robot, che aiutano a identificare gli oggetti. I concorrenti di Botball devono anche completare la documentazione online dei loro progressi e dei loro obiettivi per ottenere punti.
Una competizione simile per adulti, chiamata KIPR Open, iniziata nel 2001.

## Storia

Il KISS Institute for Practical Robotics è un'organizzazione di ricerca e istruzione costituita in Virginia nel 1994. Ha sede ora a Norman, Oklahoma. Il KISS Institute è stato co-fondato dalla signora Cathryne Stein, dal dottor David Miller e dal dottor Marc Slack.
Botball è stato avviato per la prima volta nel 1997 dal KISS Institute for Practical Robotics (KIPR).

## Componenti tecnici

All'inizio di ogni stagione di Botball, ogni squadra riceve un kit di componenti con materiale sufficiente per costruire due robot completamente autonomi. I componenti meccanici utilizzati in Botball sono mattoncini Lego Technic. I componenti elettrici hanno una varietà di controller di robot, di cui il kit di ogni squadra ne contiene due (consentendo loro di costruire due robot completamente autonomi da ciascun kit), oltre a una serie di sensori e motori diversi.

### Controller robot utilizzati in Botball

* KIPR Wallaby
* iRobot Create, con un XBC o CBC allegato.
* KIPR Wallaby
Utilizzato in precedenza:
* Handy Board, con e senza scheda di espansione
* Lego RCX, v1 e v2
* XBC - v1, v2 e v3
* CBC - v1 e v2
* KIPR Link
* L'RCX senza accessori o motori.
* Il controller del robot XBC . Il Game Boy Advance, il Game Boy Micro o il Game Boy Advance SP possono essere utilizzati con l'XBC.
* Un CBC Botball Controller (basato su un Chumby)
* KIPR Link

### Sensori e motori
#### Motori

* Servomotori
    In Botball, i servomotori vengono generalmente utilizzati per alimentare un braccio o un accessorio sul robot. Sono servi standard per hobby, comandati in una posizione utilizzando un segnale di larghezza di impulso standard come per auto e aeroplani telecomandati, ma in questo caso i segnali sono generati dal CBC (o dai controller precedenti). I servi hanno una gamma angolare da 0 a 180 gradi e forniscono la coppia del motore per mantenere la posizione comandata. I servocomandi possono essere calibrati da uno schermo di controllo speciale sul CBC senza alcuna programmazione per testare / regolare le loro posizioni meccaniche per un comando angolare desiderato.
* Motori elettrici CC
    In Botball, i motori elettrici CC sono generalmente utilizzati per alimentare le ruote. Utilizzando il Wallaby, tuttavia, è possibile comandare loro di correre a una velocità precisa e fermarsi in una posizione di rotazione precisa. Questo viene fornito a livello di sistema operativo nel CBC campionando periodicamente l'EMF mentre il motore gira e regolando la potenza. Il codice utente deve solo specificare la velocità desiderata (e la posizione di arresto, se richiesta) utilizzando le funzioni del motore.

#### Sensori

* Sensori passivi
** Sensore tattile
       Un sensore tattile rileva quando il sensore viene colpito.
** Sensore di luce
       Un sensore di luce rileva la luce. I sensori di luce vengono utilizzati all'inizio del round quando una lampadina si accende per segnalare l'inizio di un round.
** Fotocamera a colori
       In Botball, la fotocamera viene utilizzata per tenere traccia degli oggetti in movimento o per spostarsi sugli oggetti. La telecamera può tracciare il centro delle aree (o "blob") di colore (questo è chiamato "blob tracker"). Le coordinate blob possono, a loro volta, essere utilizzate per puntare un braccio o per guidare il robot verso l'oggetto, utilizzando un programma di guida.
** Sensore IR di interruzione del raggio
       Questo sensore utilizza un raggio che passa tra un emettitore e un ricevitore per verificare la presenza di piccoli ostacoli.
* Sensori attivi
** Emettitore / ricevitore a infrarossi
** Sensore sonar
       Questi sensori vengono utilizzati per rilevare la distanza tra il robot e un oggetto.

### Linguaggio di programmazione

Il linguaggio di programmazione ufficiale utilizzato in Botball dal 1997 al 2008 è stato Interactive C.

## Regole
### Costruzione di robot

I robot possono essere costruiti solo con i materiali inclusi nel kit.
* Un massimo di 93 pollici quadrati di carta (che deve essere carta da 20 libbre o meno) può essere utilizzata. La carta utilizzata deve essere bianca o nera.
* La stringa può essere utilizzata nella costruzione del robot; possono essere utilizzati fino a 36 pollici.
* È possibile utilizzare dieci elastici # 19.
* Le parti metalliche incluse nel kit non possono essere suddivise in pezzi più piccoli.
* Delle parti metalliche, solo le barre piatte e le piastre possono essere piegate.
* Le uniche parti rimovibili sull'iRobot Create sono la ruota posteriore, i fermagli della ruota motrice e la parete del vano di carico posteriore. Eventuali altre parti non possono essere rimosse o smontate.
* L'area in cui iniziano i robot varia in base all'anno. Nel 2010 l'area di partenza è di 22 x 31,5 x 15 pollici (10395 su $^3$)
** Il robot deve essere sotto un certo limite di altezza all'inizio della partita.
* Una squadra può avere quattro diversi oggetti sul campo.
** Tutti gli oggetti devono entrare nella scatola di partenza.
* Non sono consentite comunicazioni wireless durante il torneo.

### Gioco

Ogni anno c'è una serie diversa di obiettivi. Il tema del 2008 era basato sullo spazio esterno, con i robot a bordo di una stazione spaziale. I robot devono prepararsi per un brillamento solare raccogliendo "cibo" (palline verdi), salvando "membri dell'equipaggio" (palline arancioni) e dispiegando "satelliti" (tazze blu) e "vele solari" (ombrelli da cocktail).
La dimensione del campo dipende dal gioco; questo totalizza 8 piedi per 12 ft, con la maggior parte della superficie circondata da tubi in PVC da 1-1 / 2 pollici. Quando due squadre competono l'una contro l'altra, iniziano alle estremità opposte della superficie di gioco e hanno 120 secondi per spostarsi tra gli oggetti e segnare punti.

#### Punteggio

Nella stagione 2008, il punteggio iniziale di una squadra era 0 e poi i punti vengono calcolati alla fine della partita utilizzando i valori indicati nella seguente tabella:
| | Lato 1 ("dalla tua parte") | Solarium | Riparo | Spazio | Lato 2 ("lato dell'altra squadra") |
| Satellitare | -4 | -6 | -6 | 0 | N / A |
| Vela solare | -3 | -3 | -3 | 0 | N / A |
| pianta | 1 | 6 | 0 | 0 | N / A |
| Equipaggio | 1 | 0 | 6 | 0 | N / A |
| Giardino | 5 | 15 | 3 | 0 | N / A |
| Botguy | 5 | 3 | 15 | 0 | N / A |
| Il robot della squadra 1 | 0 | 0 | 0 | 0 | 15 dalla loro parte e 30 al riparo |

## La stagione di Botball

La stagione regionale di Botball va dalla fine di gennaio all'inizio di maggio. Durante questo periodo, gli studenti frequentano un seminario di due giorni e vengono formati per apprendere le basi della programmazione del computer. Gli studenti hanno da sei a otto settimane per programmare, costruire e testare i propri robot. Man mano che i robot progrediscono, gli studenti devono documentare come sta andando il loro robot. Durante la competizione regionale, ci sono tre round: Seeding, Double Elimination e Alliance. Seeding: il seeding è dove una squadra va contro se stessa. Double Elimination: è il luogo in cui inizia la competizione vera e propria e dove le squadre competono l'una contro l'altra fino a quando non vengono eliminate due volte. Le partite dell'alleanza sono partite per squadre che sono state eliminate due volte all'inizio della competizione. Due squadre sono accoppiate insieme e competono per i punti.

### Regioni e competizioni internazionali

Dal 2012, le regioni negli Stati Uniti sono le seguenti:
* Arizona
* Colorado
* Florida
* Zona di Chicago
* Greater Los Angeles
* Georgia
* Maggiore DC / Virginia
* Greater San Diego
* Maggiore St. Louis
* I Hawai ʻ
* Maryland
* Nuova Inghilterra
* Nuovo Messico
* New York / New Jersey
* California settentrionale
* Oklahoma
* Polonia
* California del Sud
* Texas
Botball ha tenuto anche 4 tornei in Medio Oriente:
* Egitto
* Qatar
* Kuwait
* Emirati Arabi Uniti
Dal 2011, Botball ha avuto anche tornei
* Austria