Corso di Robotica
(finalmente)
Obiettivi
• Illustrare i concetti fondamentali della robotica
• Imparare a costruire e programmare semplici robot
• Mettere finalmente in pratica ciò che è stato
studiato in questi anni nei corsi di elettronica,
informatica e sistemi
• Imparare ad utilizzare la documentazione tecnica
• Dimostrare che si può costruire un robot senza
comprare le enciclopedie a dispense che si
vendono in edicola e spendendo molto meno
Argomenti teorici
N°
MODULO
1 Introduzione alla
robotica
ARGOMENTI
Introduzione al corso e alla robotica. Utilizzo dei robot e applicazioni
pratiche. Classificazione dei robot. Architettura generale di un robot.
Concetti di base di cinematica per la robotica: differenti configurazioni
cinematiche (manipolatori, robot mobili). Problemi di controllo. Cenni di
teoria del controllo: retroazione.
Sensori ed attuatori per la robotica. Sensori di prossimità: sensori a infrarossi
e di contatto. Sensori di posizione: potenziometri, encoder, bussole
magnetiche, inclinometro, accelerometro. Motori in corrente continua.
Servocomandi. Attuatori pneumatici ed idraulici.
2
Hardware
3
Programmazione
dei robot
Microprocessore e software. Architettura di un robot: unità centrale,
interfacce verso i sensori e gli attuatori, interfaccia verso l’operatore.
Diagramma di flusso di un software per il controllo di un robot. Istruzioni
principali ad alto livello. Cenni di tecniche di visione per la robotica
4
Circuitistica per la
robotica.
Architettura del microcontrollore Microchip. Circuiti di condizionamento per
i sensori. Schemi di pilotaggio per motori DC e servocomandi.
Prerequisiti
• Conoscere i concetti fondamentali dell'elettronica
(in particolare di quella digitale).
• Essere molto curiosi: voler cercare di capire come
funzionano le cose e avere voglia di “smanettare”
• Comprendere l'inglese tecnico, perché quasi tutta
la documentazione è scritta in tale lingua
I nostri “amici”
Walker (esapode)
ROVER 4WD
CARPET ROVER
Cosa altro useremo ….
•
•
•
•
•
•
•
•
•
Microcontrollore BasicX BX 24P
MD22 Dual 5A H-Bridge
Sharp GP2D12 Sensore IRCMPS03
Bussola elettronica per navigazione
OOPic-R scheda con microcontrollore
Accelerometro 2 Assi 2G uscite analogiche
RGB Colour Sensor600037
Mini ATOM Bot Board
Batterie NiMh 6.V 5Ah
Cosa potrebbero fare?
oppure ….
Ora possiamo iniziare
Cosa è un robot?
• Potete non crederci, ma non esiste una definizione
univoca di robot.
– mechanical device designed to perform the work generally
done by a human being
– mechanical device that sometimes resembles a human
and is capable of performing a variety of often complex
human tasks on command or by being programmed in
advance.
– A machine or device that operates automatically or by
remote control.
– A person who works mechanically without original
thought, especially one who responds automatically to the
commands of others.
L'unica "vera" definizione
"Non so dire cosa sia un robot, ma certamente
so dire quando ne vedo uno”
Joseph F. Engelberger, President, Unimation Inc.
Materiale didattico
• Manuali
• Data sheet
Piccola raccomandazione prima
di cominciare
• In laboratorio prima di fare qualunque cosa
pensate sempre prima a quello che state
facendo!
Introduzione e terminologia
• Le due problematiche principali che si
affrontano nello studio della robotica
riguardano la manipolazione e la mobilità.
– La prima consiste nell’analisi di quei robot o
di quelle parti di robot capaci di manipolare
oggetti attraverso l’ausilio di specifiche parti
meccaniche (bracci o sistemi analoghi);
– la seconda, invece, riguarda la possibilità di
spostarsi in uno spazio più o meno noto.
Sottosistemi dei robot
Sottosistema
Sottosistema
MECCANICA
PROCESSO
(Braccio, mano, ruote)
(Compito, ambiente)
Sottosistema
Sottosistema
ELETTRICO
SENSORI
(Motori, alimentatori)
(Interni. esterni)
Sottosistema
CONTROLLO
(Trasformazioni, loop di
controllo)
OPERATORE
Sottosistema
PIANIFICAZIONE
(Cammino, prese,
traiettoria)
Sottosistemi
• Sottosistema meccanica Comprende la meccanica del robot cioè la
struttura fisica su cui sono posti gli altri sottosistemi.
• Sottosistema elettrico Comprende tutti gli azionamenti necessari a
fornire capacità di movimento alla struttura meccanica. Comprende
inoltre i collegamenti per fornire comandi ed energia a tali
azionamenti. Fanno quindi parte del sottosistema elettrico: motori,
alimentatori, cavi elettrici ecc.(talvolta è presente un sottosistema
pneumatico che viene comandato dal sottosistema elettrico).
• Sottosistema controllo Provvede alla trasformazione degli input (ad
esempio il passaggio da riferimenti assoluti a relativi ecc.) ed al
controllo (eventualmente in anello chiuso) dei sottosistemi elettrico e
meccanica (il controllo interagisce con il sottosistema sensori per
permettere il controllo in anello chiuso).
Sottosistemi
• Sottosistema processo (compito o ambiente) Non è propriamente una
parte del robot ma è la parte di ambiente esterno che interagisce
direttamente con il robot.
• Sottosistema sensori
– Sensori Interni monitorizzano situazioni interne al robot stesso (ad esempio
le posizioni relative degli organi meccanici). Sono quindi usati per valutare
l’operato degli attuatori. Fanno parte di questa categoria gli encoder montati
nei giunti e altri sensori per valutare lo stato del robot.
– Sensori Esterni monitorizzano situazioni esterne al robot stesso (ad esempio
la presenza di oggetti nello spazio di lavoro). Sono quindi usati per
controllare l’interazione del robot con il mondo esterno. Questa categoria
comprende la maggior parte dei sensori usati sui robot (sensori di pressione,
forza, telemetri, telecamere ecc.).
• Sottosistema pianificazione Questo è il sottosistema più ad alto livello;
provvede alla pianificazione delle azioni del robot (cammini. traiettorie,
prese ecc.).(tipicamente questo sottosistema contiene anche l’interfaccia
utente. In un ambiente statico (strutturato) il sottosistema di
pianificazione può essere ridotto ad un più semplice sottosistema di
programmazione).
Il
microprocessore
BX-24
Microprocessore BX-24
BX-24 Hardware – Il sistema BX-24 è composto da un fast core processor (BasicX)
con una memoria ROM che contiene il sistema operativo, 400 bytes di memoria
RAM, un certo numero di dispositivi I/O come timers, UARTs, ADCs, pins, SPI
peripheral bus, ecc. Il BX-24 utilizza un processore Atmel AT90S8535 come core
processor.
1
Microprocessore BX-24
BasicX processor: Il processore BasicX è il cuore del sistema BX-24. È un dispositivo a 44
pin che legge ed esegue il programma memorizzato in una EEPROM esterna da 32 KB. Il
BX-24 ha 16 general purpose linee I/O (TTL & CMOS compatibile).
Stati (digitali) delle linee I/O: output high, output low, tristate (hi-Z), input con pullup
2
Microprocessore BX-24
BasicX processor: 8 delle 16 linee possono essere utilizzate in modalità da ingressi
analogici.
analog to digital converters (ADCs) a10-bit
5
Risoluzion e  10  4.88mV
2
3
Microprocessore BX-24
SPI EEPROM: è una memoria EEPROM a 32 Kbyte che contiene il programma che il
processore deve eseguire. Questa memoria (AT25656) può memorizzare circa 8000 linee di
codice BasicX.
4
Microprocessore BX-24
Serial port: permette la connessione seriale con modem o PC ad una velocità massima di
460.8 kbaud. La porta seriale utilizza 3 linee
-- RxData
-- TxData
-- DTR (utilizzato solo per il downloading del programma)
5
Microprocessore BX-24
Voltage regulator: Il BX-24 è equipaggiato con un regolatore di tensione a 5V. La tensione
di alimentazione può variare da 5.7 V a 15 V.
Il regolatore fornisce sul pin 21 la tensione regolata a 5V consentendo un’assorbimento
massimo di 100 mA (circa 25mA per il BX-24 e i rimanenti 75mA per l’esterno).
6
Microprocessore BX-24
Memory map
Type
Location Start address End address
size
RAM
inside
207
607
401 bytes
ROM
inside
32
511
480 bytes
EEPROM
outside
0
32767
32768 bytes
7
Microprocessore BX-24
Time and date registers: Il BX-24 ha un calendario (clock real-time) la cui frequenza di
aggiornamento è pari a 512 Hz. Ad ogni ciclo di clock viene incrementato un registro
(RTCTick) a 32 bit che si azzera ogni 24 ore.
La data è memorizzata in un registro (RTCDay) a 16 bit inizializzato al giorno 0 in
corrispondenza del 1 gennaio 1999. Il suo incremento avviene in corrispondenza di ogni
azzeramento del Registro RTCTick.
8
Microprocessore BX-24
Pin numbering
9
10
Pin definition
Mini ABB
Atom Bot Board
Scarica

Introduzione al corso