-

hey viewer, we're moving!

We are currently transitioning to a new web system, so we are not updating this wikisite anymore.

The public part of the new web system is available at http://www.ira.disco.unimib.it


MrHades (Mobile Robot with Hooked Arm for Doors,Elevators and Scouting) remastered

From Irawiki

Jump to: navigation, search

Mobile Robot with Hooked Arm for Doors, Elevators and Scouting Remastered

Contents

Introduzione

Il termine robotica non è semplicemente un termine da vocabolario perchè è qualcosa che racchiude speranza innovazione e mistero che entusiasma le giovani menti nello scoprire questo vasto campo.

Middleware

Il middleware è una struttura software utilizzata per semplificare l'integrazione, l'usabilità l'affidabilità e la complessità nel software come nell'hardware. Non si tratta unicamente di un gruppo di librerie ma di una struttura software che è il punto di partenza per la progettazione dell'applicazione che sarà sviluppata per lo specifico middleware. In robotica l'utilizzo di un middleware è necessaria per permettere una modularizzazione del codice e gestire un team che sia in grado di sviluppare al meglio l'applicazione per l'hardware o il software specifico. La portabilità e quindi il riutilizzo di un codice è importante sia per i tempi di produzione che per quelli di adattamento di un codice. Il middleware preso in esame nel progetto è Ros -Robot Open Source- i cui elementi rilevanti sono il concetto di Nodo, un programma scritto con uno scopo preciso e indipendente dagli altri nodi come quello di gestire un sensore o trattare i dati ricevuti da altri nodi, il concetto di Tema che corrisponde ad un canale al quale un nodo deve sottoscriversi per poter inviare e riceve messaggi, il concetto di Struttura a Grafo fatta da nodi che comunicano tramite messaggi è la struttura utilizzata per rispecchiare la portabilità e la modularità tipica dei middleware ed infine il concetto di Master come super-nodo che amministra la struttura a grafo e i nodi che ne fanno parte.

Base mobile

Otto è un Volksbot RT3 ovvero un robot dalla forma rettangolare con due ruote parallele motrici e una rotella libera che segue il movimento e mantiene la struttura stabile. Dal punto di vista sensoristico troviamo due encoder con risoluzione a 500 step montati sugli alberi dei motori, uno per ruota motrice, ed un laserscanner a basso consumo con diodo di classe uno. Il movimento del robot è implementato tramite il nodo ros move_base che si occupa di integrare i dati provenienti dal laserscanner e i dati odometrici per posizionare il robot all'interno di una mappa precaricata. Lo stesso nodo provvede a generare un percorso statico all'interno della mappa ed a una traiettoria che è la composizione di comandi per brevi tratti di percorso che vengono generati dinamicamente per correggere eventuali cambiamenti di percorso e quindi di traiettoria dovuti principalmente agli ostacoli che il robot potrebbe incontrare.

Braccio antropomorfo

Il braccio antropomorfo è una struttura robotica ampiamente utilizzata nell'industria soprattutto se associata ad un utensile come una pinza, una saldatrice o una verniciatrice. Il braccio essendo privo di un polso sferico, una struttura che permette di ruotare l'utensile su tutti e tre gli assi canonici, possiede tre gradi di libertà sufficienti a raggiungere un punto nello spazio tridimensionale in quattro diversi modi: combinazioni dei tre giunti rotatori (motori). Le azioni per il quale è stato progettato sono quelle dell'apertura di una porta con maniglia e della chiamata di un ascensore tramite pulsantiera anche se la cinematica e il software sviluppato permettono di eseguire un insieme di azioni più vasto e completo in tutto lo spazio di lavoro raggiungibile.

Parte Meccanica

Meccanicamente sono state apportate alcune modifiche al braccio tra le quali l'aggiunta di un supporto metallico al motore che muove la vita fissato saldamente al corpo del braccio per smorzare le vibrazioni. Una seconda modifica apportata è relativa al servo-motore spalla che aveva due difetti: il movimento dell'ingranaggio annesso non era circolare ma tendeva all'ovalizzarsi perchè non era presente un braccetto stabilizzatore e muovendolo in posizione non poteva superare l'angolo di 300°. Per risolvere questi problemi è stato necessario costruire un blocco stabilizzatore con annesso il supporto dell'encoder necessario per controllare i gradi del servomotore mosso in velocità per superare il limite dei 300°.

Il robot antropomorfo è composto da una base e tre bracci con tre giunti rotazionali secondo il modello classico di braccio antropomorfo: oltre alla base abbiamo un torso, un braccio e un avambraccio. La base è il punto di ancoraggio del braccio robotico alla base mobile. Da questo seguono gli altri tre bracci collegati tramite giunti rotazionali identificati come vita, spalla e gomito, movimentati grazie a tre motori a corrente continua. Il braccio antropomorfo è così composto:

• Base: scatolato in alluminio di lunghezza 210mm

• Primo braccio: scatolato in alluminio di lunghezza 510mm

• Secondo braccio: profilato item con lunghezza di 395mm

• Terzo braccio: profilato item con lunghezza di 160mm

• Motore torso: motore a corrente continua da 12 V

• Motore braccio: servomotore a corrente continua da 10 V

• Motore gomito: servomotore a corrente continua da 5 V

Al braccio sono applicati dei sistemi di riferimento per capire il senso di rotazione dei vari giunti e dare un significato univoco alle coordinate x,y,z in coordinate cartesiane del punto da raggiungere che rispettano le convenzioni di Denavit e Hartenberg.

I modelli matematici che utilizzano dati meccanici sono la cinematica diretta e inversa che utilizzano le lunghezze dei tre bracci e i due spostamenti di asse presenti nel braccio robotico.

La cinematica diretta è utilizzata per calcolare, in coordinate tridimensionali, il punto nel quale il braccio si posiziona specificando gli angoli ai quali i tre motori si devono portare, è molto utile a livello di test per calibrare il braccio.

La cinematica inversa è utilizzata per il processo inverso, cioè calcolare gli angoli dei tre motori date le coordinate tridimensionali, essendo il braccio con tre gradi di libertà c'è ridondanza e i modi con il quale si puo' raggiungere un punto nello spazio tridimensionale sono quattro e corrispondono ad una diversa combinazione dei tre angoli dei giunti: braccio destro e gomito alto, braccio sinistro e gomito alto, braccio destro e gomito basso, braccio destro e gomito alto.

I tre motori permettono ai bracci di spostarsi all'angolazione ricercata, una volta posizionati subiscono la forza di gravita che sposta il braccio variando l'angolazione, subito il sistema di controllo nota la variazione e riposiziona il braccio dando luogo a un'oscillazione continua. Per evitare questa spiacevole oscillazione all'estremità dei due bracci soggetti alla forza di gravità sono applicati dei contrappesi che fermano il braccio nella posizione in cui si trovano.

Parte Hardware

Le due schede utilizzate per comunicare e controllare i motori del bracico robotico sono la scheda di controllo e il ponte H.

La scheda di controllo si occupa di gestire la comunicazione tra Pc e microcontrollore tramite una porta USB, la comunicazione con il servomotore spalla tramite con protocollo seriale, la comunicazione con il servomotore gomito tramite p.w.m (pulse with modulation), la comunicazione con la scheda ponte H per muovere il motore torso e del processamento dei dati provenienti dagli encoder posizionati sul motore torso e spalla.

Il ponte H permette di regolare la quantità di voltaggio e la direzione di applicazione sul motore torso. La parte di direzione è implementata tramite un componente che contiene 4 interrutturi, in base alle combinazioni assunte il circuito si chiude e stabilisce un verso di rotazione del motore.

L'uso congiunto delle due schede è per implementare un controllore P.I.D (proporzionale, integrativo, derivativo) che serve per muovere e posizionare un motore ad un determinato angolo, se esso varia sottoposto a forze esterne il controllore oppone resistenza riportandolo all'angolo desiderato.

Le due schede, di controllo e ponte H, sono presenti sia sul braccio robotico che sulla base mobile.

Parte Software

I linguaggi utilizzati sono due: il micro c per programmare il microcontrollore sulla scheda di controllo e il c++ per scrivere il programma che gira sul middleware Ros.

Nel microcontrollore gira un programma basato su due timer: uno per rilevare i dati provenienti dagli encoder ed uno per aggiornare l'angolo al quale i motori devono posizionarsi e quindi eseguire le funzioni di aggiornamento relative ai vari giunti. Quando il Pc invia un comando tramite USB al microcontrollore si genera un interrupt che dopo una fase iniziale di sincronizzazione processa il pacchetto seriale diviso in due comandi di un byte ciascuno: il primo specifica il motore e il verso di rotazione mentre il secondo i gradi al quale si deve posizionare. Successivamente il timer rileva la modifica dei gradi e richiama sequenzialmente le tre funzioni preposte a comunicare con i tre giunti. Se si chiede di modificare i gradi del gomito viene generato il nuovo p.w.m. ed inviato al servomotore, se si chiede di modificare i gradi della spalla si richiama la funzione di controllo p.i.d. che invia un pacchetto seriale al servomotore per muoverlo, se si chiede di modificare i gradi del torso si richiama la funzione di controllo p.i.d. che invia un p.w.m. ed una direzione alla scheda ponte H. Quando i motori si sono posizionati inviano un segnale di arrivo al chiamante tramite seriale.

Nel nodo Ros gira un programma basato sugli eventi ovvero quando il nodo propenso al ragionamento chiede per esempio di aprire la porta l'evento associa una funzione composta da movimenti elementari per attuare l'azione. Dal punto di vista della comunicazione, il nodo, deve provvedere a ricevere i comandi provenienti dal grafo, ed inviare al microcontrollore, dopo un'elaborazione, l'estratto degli stessi comandi. La prima comunicazione è semplice perchè basta registrare il nodo nel grafo di Ros e sottoscriversi ai vari Topic (canali) che associano una funzione quando l'evento scrittura si verifica. La seconda comunicazione consiste nell'apertura di una porta USB tramite protocollo seriale 8N1 cioè 8 bit dati , nessun bit di parità e 1 bit di fine. La parte di elaborazione consiste nella composizione di semplici traettorie che servono per eseguire linee dritte e circonferenze nello spazio tridimensionale, calcolando i nuovi x, y, z e attraverso la cinematica inversa si estraggono i gradi dei singoli giunti. Le due funzioni di traiettoria base sono:

• verso_x: viene incrementeta o decrementata la variabile x e tramite la funzione inversa ricalcolata la nuova composizione di angoli mantenendo la tipologia di approccio. (es. braccio destro e gomito alto)

• mezzaCirconferenzaInavanti: θ1 non varia e si calcolata la distanza tra l'origine degli assi e la proiezione del punto sul piano x-y, incrementata la distanza di un'unità , calcolata l'altezza z eseguendo una semicirconferenza tremite la formula: z=\sqrt{r^{2}-p^{2}} mentre x e y si calcolano tramite Pitagora.

Conclusioni

Dal punto di vista formativo è stata un'esperienza interessante che ha coinvolto le conoscenze acquisite durante il corso di laurea triennale. Il braccio robotico è stato il fulcro del progetto in particolare lo sviluppo del nodo Ros e della parte comunicativa nel microcontrollore. Interessante è stato capire il funzionamento della base mobile e della parte elettronica del braccio robotico anche se non c'è stata una fase di sviluppo effettiva. La parte meccanica della spalla è stata completata con un asse ortogonale al torso e un encoder che permettesse alla spalla di ruotare a 360°. In futuro si puo' pensare di ampliare le traiettorie eseguibili ed effettuare una fase di testing-calibrazione globale.

Ore di lavoro

giorno inizio fine descrizione attività svolta
19/7/11 9:00 13:00 Creazione pagina wiki stage, ripasso cinematica diretta e inversa
20/7/11 8:30 12:30 Lettura Ros,introduction , concept, Higher-Level Concepts
20/7/11 13:30 16:30 Progettazione vaschetta porta scheda di controllo e servi,disegni a

mano e reperimento materiale

21/7/11 14:00 14:30 Ricerca disegni braccio su tesi sacchi per smontare la spalla e

sostituire il pezzo

21/7/11 14:30 15:00 Non ci sono quindi cerco Sacchi,lo trovo e mi faccio spiegare come smontarlo
21/7/11 15:00 16:00 Lo smonto da solo,il pezzo non esce e vorrei evitare di romperlo quindi ricerco Sacchi
21/7/11 16:00 17:00 Pezzo smontato e mi accorgo di una sede per la chiavetta che il pezzo di Bano non aveva
21/7/11 17:00 18:00 Contattare Bano per aggiunta modifiche pezzo che aveva in consegna per altre modifiche,ricerca calibro e incomincio stesura disegno schema per modifiche su pdf
22/7/11 13:00 17:00 Disegno schema pezzo spalla e misure per modifiche Bano su pdf
25/7/11 13:30 15:30 Andare in segreteria a piedi,aspettare Bano,ritirare il pezzo modificato
25/7/11 15:30 17:30 Montare il pezzo senza dimenticarsi niente ed accorgersi che le viti sono piccole
25/7/11 17:30 18:30 Ricercare viti più lunghe,non ci sono,chiedere a Galbiati se sono da qualche altra parte
27/7/11 9:00 13:00 Ros tutorial
28/7/11 14:00 17:00 Lettura tesi Sacchi,Ros tutorial
28/7/11 19:00 20:30 Reperimento viti per pezzo spalla modificato da Bano
29/7/11 9:30 12:30 Aggiornamento tabella ore di lavoro
29/7/11 14:00 18:00 Lettura firmware per muovere il braccio,alcuni moduli simulatore matlab,ros tutorial
2/8/11 9:30 12:30 Montaggio pezzo spalla,la chiavetta non entra quindi ricerco una lima e adatto la chiavetta,montaggio completato
2/8/11 14:00 18:00 Comprensione firmware in c della scheda controllo braccio e procedure per controllo otto,caricatura batterie grazie a consulenza di Galbiati
3/8/11 9:30 12:30 Comprensione firmware in c focalizzando sul funzionamento dell'encoder e librerie qei.h
3/8/11 14:00 17:30 Prova tutorial ros turtle e soluzione problema file bash
4/8/11 9:00 12:30 Prova pratica funzionamento motore torso e correzione codice c firmware con Galbiati,la trasmissione del motore è da sistemare
4/8/11 13:30 17:00 Prova pratica funzionamento servo gomito e servo spalla,modifiche scheda di controllo e saldato fili con Galbiati
5/8/11 9:00 12:30 Soluzione dubbio su encoder variabile StepToAngle prova fallita di comunicazione con matlab via seriale,valutato possibilità di inserire encoder sulla spalla tramite ricerca su datasheet PIC33
5/8/11 13:30 18:00 Portato avanti tutorial pratico turtle e ideato possibili soluzioni per aprire porta e premere pulsante,bisognerà probabilmente cambiare end-effector,correzione misure cassetta porta schede OTTO
24/8/11 8:00 12:00 Costruzione casetta in metallo,progettazione taglio
24/8/11 13:00 18:00 Costruzione cassetta in metallo,taglio e piegatura
25/8/11 9:00 12:00 Costruzione cassetta in metallo,taglio pezzi sostegno e rilevato problema di resistenza,forse piegandola si rompe
25/8/11 13:00 18:00 Costruzione cassetta in metallo,taglio pezzi sostegno,reperimento viti e bulloni
26/8/11 9:00 13:00 Costruzione cassetta in metallo,evitata rottura assemblaggio sostegni
26/8/11 14:00 18:00 Costruzione cassetta in metallo,finitura con buchi per il montaggio
30/8/11 13:00 17:00 Aggiornamento stage da Sorrenti,prese misure cuscinetto braccio
31/8/11 9:00 13:00 Ricerca documentazione seriale tramite usb su linux in c++,UART lato microcontrollore
31/8/11 14:00 18:00 Ricerca documentazione seriale tramite usb su linux in c++,UART lato microcontrollore
1/9/11 9:00 13:00 Prova libreria USB_dll in c++ con esempi
1/9/11 14:00 18:00 Correzione misure blocco cuscinetto spalla e inizio lavorazione
2/9/11 8:00 13:00 Prova libreria USB_dll in c++,la comunicazione seriale non è ancora stabilita
2/9/11 14:00 18:00 Correzione misure blocco cuscinetto spalla e inizio lavorazione
3/9/11 8:00 12:00 Lavorazione blocco cuscinetto spalla
3/9/11 13:00 17:00 Lavorazione blocco cuscinetto spalla
5/9/11 8:00 13:00 Visione codice sacchi seriale microntrollore
5/9/11 14:00 18:00 Visione codice carter per seriale,prove di comunicazione in c++,non funziona
6/9/11 8:00 13:00 Istallazione ambiente di programmazione microntrollore:MPLAB IDE per linux,java e compilatore c30
6/9/11 14:00 17:00 Istallazione ambiente di programmazione microntrollore:MPLAB IDE per linux,java e compilatore c30
7/9/11 8:00 13:00 Risolto problema comunicazione seriale e rilevato problema di sincronizzazione USB
7/9/11 14:00 19:00 Risolto problema comunicazione seriale e rilevato problema di sincronizzazione USB
8/9/11 9:00 12:00 Lettura libreria Qt per l'interfaccia e aggiornamento tabella ore di lavoro
8/9/11 13:00 18:00 Collegamento motore gomito rilevato errore di 4/5 gradi nello zero a causa del montaggio errato del braccio,prove di precisione
9/9/11 8:00 12:00 Ricerca della dimensione del pacchetto di sincronzzazione USB,rilevate varianti che non rendono il pacchetto univoco
9/9/11 13:00 17:30 Deciso di creare un byte di sincronizzazione,trovato un byte non presente nel pacchetto di sincronizzazione e creazione della funzione di gestione
10/9/11 8:00 12:00 Rifinitura e completamento pezzi meccanici spalla
10/9/11 13:00 17:30 Test di verifica sul corretto funzionamento della sincronizzazione e creazione/test funzione di risposta ID via seriale
12/9/11 8:00 12:00 Lettura/ricerca funzionamento in velocità servo spalla,spiegazione incompleta senza riferimenti allo stop del servo
12/9/11 13:00 18:00 Prove di movimentazione servo spalla in modalità join,aggiunta di una posizione intermedia per controllo accuratezza,ricerca su internet di funzionamento servo in modalità wheel
13/9/11 9:00 13:00 Monto la chiusura pezzo spalla e noto che il foro è piccolo,i buchi sfasati,tramite l'aiuto di Sacchi freso il pezzo e allargo il foro e rifaccio i buchi
13/9/11 14:00 18:00 Continuo il lavoro con Sacchi e monto il pezzo,trovato su internet modalità wheel
15/9/11 13:00 19:00 Composizione pacchetti per comandi in seriale movimentazione in whell mode
16/9/11 8:00 12:00 Test pacchetti (9),non funzionano quindi ricerco il problema,manca un'istruzione,correggo il checksum,riprovo non funziona
16/9/11 13:00 17:00 Ricerca encoder funzionante(utilizzo oscilloscopio),trovati due,uno compatibile con il diametro dell'albero ingranaggio spalla,non ci sta per pochi millimetri
17/9/11 8:00 13:00 Montaggio encoder su pezzo spalla,sposto la chiavetta di 5mm per fare spazio e incasso le viti
19/9/11 8:00 12:00 Trovato problema ,richiesta configurazione wheel,preventivamente creo configurazione di default e fermi cw e ccw
19/9/11 13:00 17:00 Scrivo programma per il solo controllo del motore splalla,non funziona comicazione seriale servo
20/9/11 13:00 17:00 Trovato problema,necessaria routine di interrupt anche se invio i dati e non li ricevo,provo routine funzionano perfettamente
21/9/11 8:00 12:00 Scrittura configurazione encoder,ricerca del numero di dentelli nella ruota fonica,prova lettura encoder,non funziona
21/9/11 13:00 17:00 Non capisco il problema,non c'è alimentazione,legge male,non legge...Manca alimentazione scheda parte encoder,mando e-mail a Galbiati e scrivo procedura di movimentazione controllata da encoder
22/9/11 9:00 13:00 Aggiornamento wiki ore di lavoro,risolto con Galbiati problema alimentazione,era un cavallotto ,continuo procedura encoder
22/9/11 14:00 18:00 Finisco procedura/configurazione encoder e testo la procedura,non funziona,l'encoder non aggiorna POS1CNT
23/9/11 8:00 12:00 Rismonto l'encoder e testo il funzionamento,produce l'onda quadra quindi penso sia un problema di alimentazione
23/9/11 13:00 17:00 Monto nuovamente l'encoder,POS1CNT non si incrementa,passo alla progettazione software-decido quali metodi e procedure implementare per il braccio
24/9/11 8:00 12:00 Buchi profilato e rifinitura pezzo
26/9/11 8:00 12:00 Continuo la scrittura delle procedure ,in particola della cinematica inversa per il braccio
26/9/11 13:00 17:00 Continuo la scrittura delle procedure,correzione di 2 posizioni cinematica inversa Bano e procedure di subroutine
27/9/11 9:00 12:00 Risoluzione problema encoder con Galbiati,il segnale non passava nel connettore- in sostanza il filo non veniva tagliato dai dentelli
27/9/11 13:00 18:00 Prove di fermo e funzionamento encoder,inzio scrittura automatizzata per includere nel pacchetto seriale la velocità,la direzione e il calcolo del checksum
28/9/11 9:00 12:00 Test funzionamento pacchetto seriale ,monto definitivamente il blocco spalla per farlo devo smontare il servo e rimontare il tutto,mi faccio aiutare da Galbiati e Sacchi
28/9/11 13:00 18:00 Finisco di montare il blocco spalla e conto maualmente il numero di step per fare 360 gradi
29/9/11 8:00 12:00 Ricerca velocità minima per muovere motore spalla e taratura velocità massima,scrittura PID
29/9/11 13:00 17:00 Scrittura PID e verifa funzionamento,prendo misure per posizionamento motore torso
30/9/11 9:00 13:00 Test funzione inversa con movimentazione motore spalla e funzioni basilari di comunicazione
30/9/11 14:00 18:00 Continuo a scrivere le funzioni cpp per movimentazione braccio
1/10/11 8:00 12:00 Smontaggio motore per raddrizzamento trasmissione,correzione buchi per profilato
3/10/11 9:00 12:00 Aggiornamento wiki,controllo posizione motore torso e correzione misure-reperimento materiale per aggancio motore torso
3/10/11 13:00 18:00 Assemblaggio codici micro-c comunicazione motore 1-2-3 e commentazione codice
4/10/11 9:30 12:30 Manutenzione codice cpp per settare corretamente gli zeri del braccio con quelli della cinematica inversa
4/10/11 13:30 17:30 Ricerca di una logica di movimentazione tra configurazioni,end-effector e tipo di movimento(aprire porta interna-esterna schiacciare tasto ascensore)
5/10/11 9:30 14:30 Progettazione funzione di logica e correzione-manutenzione del progetto motore torso
6/10/11 9:30 12:30 Buchi profilato,adattamento porta motore torso,limaggio e adattamento pezzi supporto
6/10/11 13:30 18:30 Adattamento porta motore torso,limaggio e adattamento pezzi supporto
7/10/11 9:30 12:30 Collegamento ponte H e cambio rotella fonica encoder rovinata con una in metallo
7/10/11 13:30 16:30 Scrittura per parte cpp e microcontrollore per solo controllo motore torso,calibrazione encoder-step gradi e prove di corretto funzionamento
8/10/11 10:00 12:30 Aggiornamento ore di lavoro e inizio adattamento codice microcontrollore per tutti e 3 i motori
10/10/11 10:00 12:30 Adattamento codice microcontrollore per tutti e 3 i motori e prove di funzionamento,correzione errori e prove di funzionamento con 2 encoder
10/10/11 13:30 18:00 Scrittura procedure per controllo via minicom di 2 motori torso e spalla ed implementazione corrispondente cpp
11/10/11 9:00 12:30 Implementazione cpp per movimentazione motori spalla e torso e inizio commentazione definitiva codice microcontrollore
11/10/11 13:30 18:30 Commentazione codice microcontrollore e reperimento materiali(batterie cavi e connettore) per collegare tutti e tre i motori
12/10/11 9:00 13:30 Progettazione movimento di apertura e porta e di pressione pulsante ascensore,attacco il motore gomito-non funziona
12/10/11 14:00 18:00 Ricerca problematica di non funzionamento motore gomito:controllo codice nuovo,controllo fili con multimetro e segnale con oscilloscopio,sembra essere tutto a posto
13/10/11 9:30 12:30 Ricarico nel controllore il codice vecchio testato di solo controllo motore gomito,non funziona allora con Galbiati apriamo il serve,la scheda di controllo ha subito evidentemente un surriscaldamento il servo è "fritto"
13/10/11 13:30 19:00 Inizio scrittura codice cpp per funzioni di apertura porta interna ed esterna,si tratta difare una semicirconferenza in avanti e indietro a oltre ad un movimento rrettilineo in avanti,indietro su e giù mantenendo la traettorie oppure seguendo un asse
14/10/11 8:00 12:30 Continuo la scrittura delle procedure e inizio a scrivere un menù a linea di comando per il passaggio di parametri e invocazione di procedure per apertura e selezione pulsante
14/10/11 13:00 17:00 Integrazione del codice cpp in ROS,in sostanza rendo il menu' accessibile ad un modulo master di Ros,lettura di WritingPublisherSubscriber consigliata da Ballardini.
17/10/11 8:30 12:30 Aggiornamento Wiki ore di lavoro,commentazione definitiva codice cpp,colloquio-aggiornamento Galbiati/Sacchi inizio commentazione definitiva codice microcontrollore.
17/10/11 13:30 19:00 Commentazione codice microcontrollore,modifiche feedback seriale set-point
18/10/11 9:30 12:30 Commentazione codice microcontrollore,caricamento svn
25/10/11 9:00 12:30 Lettura cinematica inversa per Puma Arm
25/10/11 13:00 17:00 Riscrittura cinematica inversa per Puma Arm
26/10/11 9:30 12:00 Riscrittura cinematica inversa per Puma Arm
ORE TOTALI: 401

Piano di lavoro

descrizione attività
Relazione stage
Calibrazione e integrazione nuovo motore gomito
Risultati Vocella ed integrazione
Personal tools