PROGETTO ROBOT BIPEDE



Похожие документы
Guida alla registrazione on-line di un DataLogger

Arduino UNO. Single board microcontroller

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Progetti reali con ARDUINO

MONITORAGGIO ACQUEDOTTO MANUALE UTENTE

11^ parte : Come gestire i servomotori con Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

IRSplit. Istruzioni d uso 07/10-01 PC

ISTRUZIONI PER LA GESTIONE BUDGET

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Il modello veneto di Bilancio Sociale Avis

Programmazione dei robot

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

Caratteristiche HW. Clock Speed 16 MHz

SISTEMI MULTIAGENTE. Esercizio

PROGETTAZIONE DI UN CONTROLLO ON-OFF CON CRITERI E METODOLOGIA

IoBirro. Birra fatta in casa con SIMATIC. Siemens AG All Rights Reserved. Industry Sector

Il sistema C.R.M. / E.R.M.

Progettazione del robot

Invio SMS. DM Board ICS Invio SMS

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

Lifephone. Introduzione. Database. Sito

APPLICATION SHEET Luglio

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

OSCILLOSCOPIO SOFTWARE

Esame sezione Brevetti Prova Pratica di meccanica

Procedura di iscrizione alla Piattaforma On Line

Guida Compilazione Piani di Studio on-line

Blue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel!

Progetto Esami Di Stato Anno 2014/2015

TERM TALK. software per la raccolta dati

Mentore. Presentazione

Programmatore scenari

Arduino: domotica open source

Quick Reference Giornale di Bordo (e-logbook)

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro.

NTC E MISURA DELLA TEMPERATURA CON ARDUINO

OSCILLATORI AL QUARZO: CONTASECONDI

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore.

DOMOTICA. Vidotto Davide

Registratori di Cassa

Procedura di iscrizione alla Piattaforma On Line e-learning. Q&S Qualità & Sicurezza S.r.l. PUNTO 1: Accesso alla Piattaforma... 2

RoboTESTER Wall-E, ATE a letto d aghi per Test In-Circuit e Funzionale. 1/6

Dispensa di Informatica I.1

Versione 2.0. Manuale d uso. Software per la gestione. degli applicativi Bticino. TiManager 03/07-01 PC

SOMMARIO... 3 INTRODUZIONE...

ecommerce Brochure Social Marketing CMS iphone Android ipad Display ADV Company Profile DEM Web 2.0 Logo Design Marketing Applicazioni Mobile

Cliens Redigo Versione Aggiornamento al manuale.

Architettura hardware

Il sensore rilevatore di presenza modalità d uso

BREVE MANUALE DI SOPRAVVIVENZA A WINDOWS 8


Rossetto Flavio a.s. 2011/2012 classe 5E 2

Dispositivo di conversione di energia elettrica per aerogeneratori composto da componenti commerciali.

MT2 e MT3: Schede e sistemi di controllo motori passo passo

CONTROLLO DEGLI ACCESSI INTELLIGENTE PER UN FLUSSO DI PERSONE SICURO E CONFORTEVOLE. KONE Access

della manutenzione, includa i requisiti relativi ai sottosistemi strutturali all interno del loro contesto operativo.

Procedura aggiornamento firmware

Controllo di Gestione - Guida Operativa

SPRING SQ COMUNICAZIONE OPERAZIONI IVA NON INFERIORI A 3000 EURO PER L ANNO 2011

Uso di base delle funzioni in Microsoft Excel

SmartGPS Satellite Information System Guida all utilizzo del programma Sviluppato da Fabio e Marco Adriani Versione 1.0.0

Indice di rischio globale

GUIDA UTENTE BILLIARDS COUNTER (Vers )

Istruzioni. Il cuore del dispositivo è un Embedded PC Linux che raccoglie e gestisce tutte le funzioni dell' apparecchiatura.

Tools For Autism 1.0. Manuale d uso

CONTROLLER PER STAMPANTE 3DRAG

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

LA SCHEDA RELÈ PLUS. Indice. Rev.0511 Pag.1 di 5

Come valutare le caratteristiche aerobiche di ogni singolo atleta sul campo

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

Architetture Applicative

Manuale LiveBox APPLICAZIONE ANDROID.

Ricevitore Supervisionato RX-24 Dati tecnici

Manuale LiveBox APPLICAZIONE ANDROID.

risulta (x) = 1 se x < 0.

Gestione Ordini On Line

GUIDA AGLI ORDIN I SU ADCOM.IT

Un Cellulare come webcam

03. Il Modello Gestionale per Processi

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Application note. CalBatt NomoStor per i sistemi di accumulo di energia

MODULO 5 Appunti ACCESS - Basi di dati

7.2 Controlli e prove

Indruduzione... 1 Il modulo Bluetooth HC Il firmware... 3 Collegamento della scheda... 4 Software PC e l applicazione Android...

Esercitazione n 1: Circuiti di polarizzazione (1/2)

Gli allarmi che possono essere inseriti sono di tre tipi diversi:

TASTIERA DI COMANDO E CONTROLLO PER INVERTERS EL.-5000

Gestione delle Presenze WorkFlow Manuale Operativo

Gestione Turni. Introduzione

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Eliminare il messaggio "Rete non identificata" da Windows 7

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

MAGAZZINO FISCALE (agg. alla rel )

Relazione introduttiva Febbraio 2006

File, Modifica, Visualizza, Strumenti, Messaggio

COMUNI-CHIAMO S.R.L. Via San Martino n. 26/1- Monte San Pietro P.IVA, C.F. e numero di iscrizione alla Camera di Commercio di Bologna

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Транскрипт:

Esame di stato 2012/2013 PROGETTO ROBOT BIPEDE Dalla Pellegrina Ivan

Indice Introduzione Progetto Ricerca I vantaggi della costruzione di un Robot Lista materiali (breve descrizione componenti) Principio di funzionamento dei servomotori Struttura e funzioni del software Problemi riscontrati Conclusioni Bibliografia Codice Arduino

Introduzione Progetto Per l esame è stato deciso di realizzare un progetto che potesse simulare i movimenti di una persona, venendo controllato da diversi dispositivi. Vi è stata una prima fase di costruzione meccanica del robot frutto di ricerche precedentemente svolte. Il robot dovrà soddisfare dei requisiti di funzionamento per cercare di rendere i movimenti i più fluidi possibili, quindi vi è stata una fase di sviluppo del software on board per arrivare al risultato sopra citato. In seguito si è dovuto creare un software realizzato per l interfacciamento con un dispositivo android necessario per comandare il robot. Ricerca Per effettuare questo progetto si è dovuta svolgere un attenta ricerca relativa ad alcuni componenti nello specifico i servomotori, la batteria e il microcontrollore. Per quanto riguarda il microcontrollore si è deciso di optare per la piattaforma open source arduino programmabile tramite l uso del linguaggio di programmazione c++ studiato negli anni precedenti a scuola, e grazie all elevata versatilità con cui questa piattaforma può dialogare con dei servomotori tramite l uso di segnali PWM. Mentre la scelta del dispositivo che attiva i servomotori si è presentata semplice, scegliere questi ultimi è stato impegnativo. La batteria sviluppata con tecnologia Lipo si presenta all avanguardia in quanto le sue piccole dimensioni consentono di occupare uno spazio contenuto, elemento necessario viste le dimensioni del robot. Inoltre le caratteristiche tecniche di questa batteria sono 3300 ma e 7,2 V questi due elementi consentono l efficace funzionamento dei servomotori in quanto questi possono essere attuati solamente in un range tra i 5 V e i 7,2 V. Per garantire un funzionamento ottimale del robot sarebbe necessario utilizzare una batteria avente più Ampere ma il costo sarebbe molto più alto, però consentirebbe di supplire al fenomeno swing. Questa batteria necessita di un carica batterie specifico perchè essendo costituita da due celle avente ciascuna 3,5 V, consente di ricaricarle separatamente in modo da garantire un equilibrio delle cariche delle celle. I vantaggi della costruzione di un Robot Costruire un robot ai giorni nostri diviene fondamentale in quanto lo sviluppo della tecnologia della robotica consente di contribuire a risolvere alcuni problemi relativi al campo medico ed ergonomico. Il mio progetto si presenta come un modello da integrare con elementi quali una camera,

sensori di movimento, ma avendo avuto poco tempo a disposizione e in mancanza di risorse economiche non sono stato in grado di implementare queste funzionalità. Lista materiali Arduino Mega: a differenza dell Arduino uno questa scheda è costituita da molti più pin digitali, sono 53 anzichè 13. Questa caratteristica è importante perché ogni servomotore per essere attuato necessita di un pin, quindi sull Arduino uno sarebbero stati insufficenti. Rispetto alla versione uno presenta una RAM più consistente e un processore più potente. Caratteristiche: Microcontrollore: ATmega2560 Tensione operativa: 5V Input Voltage: (consigliata) 7-12V Input Voltage: (limiti) 6-20V Pin di I/O Digitali: 54 (14 dei quali forniscono in uscita segnali PWM) Pin di Input Analogici: 16 DC Current per I/O Pin: 40mA DC Current per Pin alimentati a 3.3V: 50mA Flash Memory: 256KB (dei quali 8KB utilizzati dal bootloader) SRAM: 8KB EEPROM: 4KB Frequenza di Clock: 16MHz Servomotori: Si tratta di dispositivi meccanici di precisione che servono per gestire la

posizione angolare di un braccio meccanico. Sostanzialmente un servomotore è composto da un motore elettrico, un motoriduttore ed un circuito di feedback per la gestione della posizione. In commercio, esiste una vasta scelta di servi, ciascuno caratterizzabile per valore di coppia e precisione. questa tipologia di servomotori è utilizzata per la robotica in quanto presenta due punti di connessione necessari per agganciarli con maggior stabilità. Sono stati acquistati sul mercato cinese in quanto sul mercato europeo presentavano dei costi molto dispendiosi ma sono molto conosciuti per la loro qualità in quanto sono costruiti con ingranaggi in metallo e riescono ad alzare 13kg se alimentati a 7,2V. Hardware e connettori: E stata realizzata una shield per permettere di collegare agevolmente i servomotori all Arduino inoltre è stato implementato un modulo bluetooth per la connessione ad uno smartphone android grazie all applicazione da me sviluppata. Modulo bluetooth: Il modulo bluetooth utilizzato è un modello JY MCU, che fornirà una connessione seriale, con baudrate pari a 9600bit/s che verrà utilizzato da Arduino per comunicare con Android Batteria : questa batteria con tecnologia Lipo riesce a fornire 7,2 V e 3300 ma Principio e funzionamento del servomotore Il segnale di comando è costituito da un onda quadra inviata ripetutamente, il fronte positivo deve avere una durata compresa tra 1 e 2 millisecondi se il servomotore ruota di 90 mentre può assumere un valore compreso 0,5 e 2,5 millisecondi se il servo ruota di 180 come nel mio caso,e la somma del fronte positivo e quello negativo (ovvero: il periodo) deve essere di circa 20millisecondi (frequenza: 50 Hz). Il segnale fatto in questo modo deve essere inviato di continuo se si vuole che il servocomando, sotto sforzo, mantenga la posizione desiderata:

Quindi per variare l angolo del servomotore si dovrà variare la durata del fronte positivo, nel mio caso l angolo 0 sarà costituito da un segnale di 0,5 millisecondi e l angolo 180 varrà 2,5 millisecondi. Struttura e funzioni del software Questo programma consente di comandare il robot tramite connessioni bluetooth. Per i comandi viene utilizzata un applicazione per android, questa attraverso la pressione dei tasti invia dei caratteri all Arduino. I comandi sono riportati nella tabella sottostante. COMANDI APP LETTERA CORRISPONDENTE AZIONE ROBOT (sottoprogramma) Freccia su A avanti Freccia giù B dietro Freccia destra D dx

Freccia sinistra S sx Pulsante stop F reset Pulsante rosso R fr Pulsante verde V fv Pulsante giallo G fg Pulsante blu T fb Inoltre per connettere e disconnettere i due dispositivi sono stati implementati altri due pulsanti con questo scopo. Per controllare i servomotori Arduino utilizza una libreria di codici usata per collegare il segnale PWM mandato al servomotore controllato semplicemente tramite delle angolazioni. Il software di Arduino necessita di questo carattere che viene inviato dalla piattaforma di controllo per poter poi svolgere dei sottoprogrammi contenenti delle istruzioni per far muovere il robot. Problemi riscontrati La messa a punto di questo progetto mi ha messo di fronte ad una serie di difficoltà: l unione di diversi tipi di hardware e soprattutto la creazione un interfaccia comune a livello di software. Durante lo svolgimento dei vari tentativi di collaudo mi sono reso conto che la progettazione e la realizzazione della shield ha presentato alcuni problemi. Inizialmente avevo creato un primo progetto in cui la shield era staccata dall Arduino e connessa tramite dei cavi flat, ma la sua disposizione ha presentato alcuni problemi relativi alla presenza di interferenze, dovuto al passaggio dei cavi di alimentazione che erano molto vicini al dato proveniente da Arduino. Dopo diversi tentativi, si è pensato che il problema derivasse da Arduino, in quanto si riteneva che fosse incapace di gestire più di 8 segnali PWM. Si è cercato di risorverlo introducendo 2 integrati 74244 buffer tristate, che una volta inviato il dato di servomotori solo in grado di inibire la linea di controllo. Ma nonostante questo cambiamento il problema continua a ripresentarsi. Così ho ritenuto opportuno cambiare e ridisegnare strutturalmente lo shield per eliminare queste interferenze, così ho ideato una nuova struttura che fosse in grado semplificare le connessioni, distribuendole in modo uniforme e ravvicinato.

PRIMA DOPO Inizialmente la batteria era di tipo PB avente 1300mA e il robot presentava un elevato fenomeno di swing così ho ritenuto opportuno sostituire la batteria con una più potente(3300 mampere) per cercare di sopperire a questo problema anche se non si è risolto totalmente perché la batteria è ancora troppo poco potente. Per quanto concerne il problema del movimento tenuto conto dell instabilità del robot ho pensato di riprogettare la struttura in quanto inizialmente le sue dimensioni erano 5x7 ma non consentivano una stabilità nei movimenti, ora i piedi misurano 13x8, e garantiscono la non caduta del robot. Ho incontrato difficoltà nella progettazione e nella pianificazione nella sequenza di movimenti mi sono dovuto documentare su internet per comprendere quali erano i meccanismi sottostanti per consentire al robot di muoversi in modo corretto. Inizialmente il modo di camminare si basava sulla simulazione di una camminata umana ossia il baricentro veniva spostato sulla gamba per permettere all'altra di portarsi su una posizione più avanzata, ma questa modalità ha presentato molta instabilità, così ho dovuto abbandonare per il momento questa fase di testing per la mancanza di tempo per poter sviluppare una sequenza di funzioni più semplice. Conclusioni Sviluppare questo progetto è sempre stato un mio obiettivo che volevo raggiungere fin dall'infanzia in quanto ho sempre coltivato la passione per la robotica, ma non ho mai avuto l'opportunità e le competenze per progettare e realizzare questo prototipo di robot. Nonostante le difficoltà che ho incontrato nella realizzazione, ritengo che il mio lavoro possa essere una buona base per alcune implementazioni future basate sulle nuove tecnologie per lo studio dei movimenti umani. Sarebbe interessante implementare sul robot dispositivi come per esempio un girometro,

utile per consentire l'individuazione nello spazio sugli assi x y z e garantendo così maggiore stabilità e nuove funzionalità. Inoltre, potrebbe essere innovativo implementare un dispositivo come la Kinect, una speciale videocamera capace di rilevare i movimenti di una persona e tramite l'apposito software capace di far muovere il robot simulando i movimenti della persona. Infine, per consentire un più rapido sviluppo del software se pensato di rilasciare i sorgenti in licenza open source e pubblicarli su un sito che sto sviluppando, così ogni utente ha la possibilità di realizzare un proprio robot e di far progredire la complessità di programmazione attraverso il suo contributo offrendo istruzioni dettagliate su come realizzarlo. Bibliografia Datasheet Arduino Mega Datasheet modulo Bluetooth Datasheet servomotori