Home

Visualizza/apri - POLITesi

image

Contents

1. Speed 3 4 5678 Full step 10000Hz Half step 20000Hz The information provided in RS technical literature is believed to be accurate and reliable however RS Components assumes no responsibility for inaccuracies or omissions or for the use of this information and all use of such information shall be entirely at the user s own risk No responsibility is assumed by RS Components for any infringements of patents or other rights of third parties which may result from its use Specifications shown in RS Components technical literature are subject to change without notice RS Components PO Box 99 Corby Northants NN17 9RS Telephone 01536 201234 An Electrocomponents Company RS Components 1997 Data Pack Data Sheet Issued July 2006 1504256279 42mm 1 8 HIGH TORQUE STEPPER 400 STEP RS stock n
2. 4 0 3 Oy Yr 5 Rr Rsense depend from the load current y 9 13 OUTLINE AND MECHANICAL DATA x lt gt x lt gt T mJ xr co DIO O gt oO CO oO m e e LO BEER aij 7 GERE L298 Multiwatt15 V 3 r H2 x po E l 10 13 AY L297 STEPPER MOTOR CONTROLLERS NORMAL WAVE DRIVE HALF FULL STEP MODES CLOCKWISE ANTICLOCKWISE DIRECTION a SWITCHMODE LOAD CURRENT REGULA TION PROGRAMMABLE LOAD CURRENT FEW EXTERNAL COMPONENTS RESET INPUT amp HOME OUTPUT ENABLE INPUT DESCRIPTION The L297 Stepper Motor Controller 1 generates four phase drive signals for two phase bipolar and four phase unipolar step motors in microcomputer controlled applications The motor can be driven in half step normal and wawe drive modes and on chip PWM chopper circuits permit switch mode control of the current in the windings A feature of ABSOLUTE MAXIMUM RATINGS Supply voltage Vi Input signals Parameter Prot Total power dissipation Tamb 70 C Storage and junction temperature ORDERING NUMBERS L297 1 DIP20 L297D SO20 this device is that requires only clock direction and mode input signals Since the phase are gen erated internally the burden on the microprocessor and the programmer is greatly reduced Mounted in DIP20 and SO20 packages the L297 can be
3. 45 6 5 Pilotaggio two phase on 46 6 6 Pilotaggio half 46 6 7 Circuito chopper per pilotaggio PWM 48 Dis Diagramma pin 129 fx ea Bd ee Bw et oe ed 49 6 9 Diagramma stati pilotaggio di un passo passo ol 6 10 Circuito ideale ponte H 92 Ponte TL Nel 298 sorga Bk RENALE ai 53 6 12 Pilotaggio tradizionale e pilotaggio PWM 53 6 13 Schema elettrico scheda microprocessore 55 6 14 Schema elettrico sensore ottico 57 6 15 Schema elettrico pilotaggio motore passo passo 58 7 1 Diagramma PIN RICIOESTT oa arie 9 63 1 27 Registi ROSTA yoce qid de indire 64 u spad balestri aa 65 Ce Diagramma Stat Farser nade uade orb Rb vex d 67 7 0 Diagramma gestione dello stato 70 LO TOIF s eye ue Lele be OO dA oe 19 8 1 Esempio di tabella di velocit 19 8 2 Grafo dipendenze oggetti libmoe 80 89 Output Sy mollem me uen Gee Ace Da dla 83 9 1 1 94 9 2 Estrazione degli angoli dalla 94 9 3 Intorni degli angoli della scacchiera 2 2 94 9 4 Distribuzione degli errori 00 eee 95 9 5 Parametri estrinseci rispetto alla scacchiera 95 9 6 Parametri estrinseci rispetto allacamera
4. 10 2 2 Controllo in microstepping 10 2 3 Miglioramento della parte meccanica 10 3 Sviluppi futuri e varianti s ws aim EUER xam ees 10 3 1 Muscoli di Mckibben 10 3 2 Integrare il movimento del collo COMPULCr VISION x xke e mede Bho Hed Rcx P uos 10 9 2E AINMOVE DOSE e ue aae om rie Bibliografia A Il manuale utente A 1 2 Connessione dei cavi een Documentazione libmoe Al uuo orm rmm bom bo eom qoom d AZZ ANISM ens Lr vetu de Wc eod EVER S momma ad o dem oboe d TT 7 18 80 81 81 84 89 89 90 91 93 103 103 104 104 105 105 105 106 106 106 107 107 109 110 B Datasheet 127 Elenco delle figure 2 2 2 2 3 2 4 2 0 2 6 2 8 2 9 2 10 3 1 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 9 1 9 2 9 9 5 4 5 9 5 6 9 7 9 8 Occhi del robot probo 0 0 Immagine del robot probo 6 Testa robotica dii cub F Meccanismo utilizzato per gli occhi di i cub Testa 1 lf Misure di i RoK in mm Struttura che permette il movimento oculare dii RoK 9 Telecamera Attuata da muscoli artificiali 10 Sistema di PAM antagonisti lll 11 Sistema p
5. 95 A 1 Nessun cavo collegato 116 dz ay e tk Se a Be TOT 117 Collegamento motori rr 118 Collegamento 1 119 A 5 Collegamento completato 120 A 6 Collegamento tester 121 XIII XIV Elenco delle tabelle 6 1 6 2 6 3 6 4 1 1 1 2 1 3 9 1 9 2 9 3 9 4 9 5 9 6 Caratteristiche di base del PIC 16F877 20 P 42 Specifiche motore RS535 0489 a 47 Specifiche motori 5440 420 4T Tabella sulla descrizione dei pin dell integrato 50 Tabella fornita dalla Microcip 4 62 Informazioni contenute nel msg_revd 67 Estratto della tabella di velocit 12 Velocit di rotazione raggiungibili in base all angolo di sposta ENEO poh sh peti Utd ueri te ae cir se ain EROI ET 91 BUD uc deret dh others isk odi d dod 92 Test eseguiti sul motore numero 1 processando le immagini scattate con la telecamera sinistra 98 Test eseguiti sul motore numero 2 processando le immagini scattate con la telecamera sinistra 99 Test eseguiti sul motore numero 3 processando le immagini scattate con la telecamera destra 100 Indici di sintesi degli errori medi e massimi 101 XV Capitolo 1 Introduzione I libri hanno gli stess
6. 21 VII 7 4 2 9 Visione e campo visivo umano 4 9 Classificazione dei movimenti oculari 4 3 1 Inseguimento 4 3 2 Inseguimento veloce Saccadi dio tiri kata 4 4 Caratterische visive emulate nel sistema MOE AAA CPERODODZIOBEL sala A a 42412 CAMPO VISIVO amp 34b sis ia ni 4 4 3 Velocita dirotazione 006 Sistema meccanico MOE Dl Pr totipi preliminari sars se tea reo Il wer ae Gowran e Bias dk uan 9x12 SRIOIOUIDONEZI wes aE Muerte s Ok ode ww ee wes Oil NES rast awe ee Hee eee ek S 94 Prototip ssa dra ee Ce cues WVPITODODIDO NP ats a mox 47 ER 012 2 PEOLOVIDO INTO sa ad ox 4 47x EE Hem eae Xo ae Sii TOODO NEO amp Xa X y M eatis Si T TOUOUIDOJNDU axes Bde ch edet dcc ce mr BC e dc ti Architettura dell apparato elettronico MOE Oil Tarode snari wa ae eh ee Nem Sext 6 2 Componenti integrati utilizzati OO PICIO SL es uut v 3 4 Bi 50805 onem He ee eum amp s od 02 96 ENOO oy he ox REO EG SCR Ree 6 2 4 Motori 025 NZ OG te EO dioe RARE BA na 6 2 6 1298 e pilotaggio in PWM 6 8 Realizzazione apparato elettronico MOE 6 3 1 Schema elettrico scheda mic
7. Una possibile evoluzione futura potrebbe essere la verifica di queste conside razioni sopra esposte 10 3 3 Computer vision Nell ambito della computer vision un progetto che gi in fase di studio la realizzazione di un software in matlab per la gestione ad alto livello 108 Capitolo 10 Conclusioni e sviluppi futuri dei movimenti che tenga conto del disaccoppiamento delle due camere e dell errore di posizione Dato che una prima analisi dell errore stata fatta si potrebbe approfondire tale analisi con l ausilio del software per matlab e verificare eventuali dipendenze dalla velocit di spostamento e dalla posizione di partenza del movimento non pit solo dalla quantita di spostamento stesso Il software poi fungerebbe da layer intermedio di raccordo tra il software di MOE descritto nel seguente elaborato ed altri progetti quali object tracking o convergenza dei due occhi per la messa a fuoco a diverse distanze Questi progetti invocherebbero il software di raccordo che a sua volta comunicherebbe con il software utilizzato attualmente per MOE e che gestisce i movimenti delle telecamere in maniera diretta Sara necessario quindi una ridefinizione di un sistema di riferimento fisso che pu essere ad esempio sul collo a cui legare i sistemi di riferimento delle due camere e bisogner verificare la calibrazione delle camere per gestire l errore di posizione Per fare questo verranno usati alcuni algoritmi gi
8. clock locale per poter interpretare i dati La sincronizzazione dei due clock e necessaria ed e fatta in corrispondenza della prima transizione sulla linea dei dati Le unit di misura della velocit di trasmissione sono essenzialmente due il baud ed il bit per secondo bps o meno spesso b s Il baud rate indica il numero di transizioni al secondo che avvengono sulla linea Il bps indica come dice il nome quanti bit al secondo sono trasmessi lungo la linea Nel caso di trasmissione binaria dove presente un livello alto ed uno basso le due cose ovviamente coincidono numericamente da cui la parziale equivalenza dei due termini Ai fini del progetto essendo la trasmissione esclusivamente binaria utilizzeremo le due grandezze indifferentemente La comunicazione tramite RS232 si instaura tra un trasmettitore e un ricevitore Essa puo essere half duplex o full duplex Half Duplex indica che la trasmissione e bidirezionale ma non avviene contemporaneamente nelle due direzioni un dispositivo ricevitore listener o Rx ascolta e l altro trasmettitore talkner o Tx emette segnali Quando necessario si scambiano i ruoli Full Duplex indica che la trasmissione bidirezionale e contemporanea In questo caso sono necessari ovviamente due fili oppure qualche altro sistema per distinguere 1 due messaggi contemporanei nelle due direzioni Lo standard RS232 permette una trasmissione full duplex in quanto utilizza
9. c 1 3 co T oo Ium d SUE rale co 53 C P A gt O O gt Lad Ln R3 Uu eo gt gt ogag B fa E Ej t kj n ry n 4 4 4 4 3 Tae All 5 ud V LO AQ gt 2 403 CAS _ Ge elem 1 n 4 i A i i i Lit Pe Fa IAS ad LO Lu uo 1 CR n Jj LA E MI gt F D 1 La Li gt 4 Jm H L i i J LU Lu I un uo p 5m LJ Ln Ln D D D D D c D c gt gt faa J gt J T al e gt Figura 8 3 Output synclient 84 Capitolo 8 Libreria MOE Le informazioni di interesse sono il timestamp il valore x il valore y e il flag di bottone sinistro premuto 1 Per passare i dati al nostro programma possiamo utilizzare una pipe direttamente da terminale i synclient m 100 nostro programma In questo modo possiamo fare il parsing delle informazioni direttamente dallo standard input 8 4 2 Utilizzare libmoe Illustriamo di seguito come realizzare un controller per l apparato MOE utilizzando la libreria libmoe Come prima cosa compilia
10. o 1496 3 Tabella 7 3 Estratto della tabella di velocit forzare se necessario un half step per ottenere maggiore precisione Al fine di chiarire tale procedura descriviamo un possibile esempio di funzionamento del sistema posizione attuale 128 posizione richiesta 139 tipo di movimento full step Il sistema far 5 movimenti in full step portandosi alla posizione 138 e concluder con un singolo half step per portarsi alle 139 Nel caso di movimento half step chiaramente non sussistono eccezioni in quanto la risoluzione del movimento gi minima Il movimento di reset consiste in un movimento orario senza controllo di riferimento Quando il registro corrispondete al PIN di input del sensore ottico si abbassa significa che il movimento arrivato al suo finecorsa Immediatamente il sistema effettua un movimento antiorario di 35 gradi per i motori orizzontali e 50 gradi per il verticale per tornare nello stato 0 0 0 7 5 1 Interrupt nel PIC16F877 L interrupt una particolare caratteristica dei microprocessori che consente di intercettare un evento esterno interrompere momentaneamente il programma in corso eseguire una porzione di programma specializzata per la gestione dell evento verificatosi e riprendere l esecuzione del programma principale E utile infatti che certi eventi particolari vengano rilevati in un qualsiasi momento dell esecuzione del programma come ad esempio l arrivo di una c
11. 4 11 are chopped the non active phase line of each pair AB or CD is activated rather than interrupting the line then active In L297 L298 configurations this technique reduces dissipation in the load current sense resistors A common on chip oscillator drives the dual chop per It supplies pulses at the chopper rate which set the two flip flops FF1 and FF2 When the current in a winding reaches the programmed peak value the voltage across the sense resistor connected to one of the sense inputs SENS or SENS equals Vref and the corresponding comparator resets its flip flop interrupting the drive current until the next oscillator pulse arrives The peak current for both windings is programmed by a voltage divider on the Vref input Ground noise problems in multiple configurations can be avoided by synchronising the chopper os cillators This is done by connecting all the SYNC pins together mounting the oscillator RC network on one device only and grounding the OSC pin on all other devices q L297 MOTOR DRIVING PHASE SEQUENCES The L297 s translator generates phase sequences Clockwise rotation is indicate for anticlockwise ro for normal drive wave drive and half step modes tation the sequences are simply reversed RESET The state sequences and output waveforms for restores the translator to state 1 where ABCD these three modes are shown below In all cases 0101 the translator advances on the low to high transi
12. esistenti Video tracking Il video tracking il processo di individuazione di uno o pi oggetti in movimento per mezzo di una telecamera L object tracking ha una variet di possibili applicazioni come l interazione uomo macchina sicurezza sor veglianza comunicazione e compressione video controllo del traffico video editing etc L obiettivo del video tracking quello di associare oggetti presenti in fotogrammi consecutivi nel caso di movimenti lenti l oggetto sar in posizioni simili in fotogrammi consecutivi diversamente nel caso di movimenti molto veloci la distanza tra l oggetto nei due fotogrammi potrebbe essere elevata rendendone difficile il riconoscimento Al fine di analizzare sequenzialmente i frame dei video esistono numerosi algoritmi ciascuno ca ratterizzato da pregi e difetti Per questo motivo la scelta dell algoritmo da usare fortemente legata all applicazione che si intende perseguire I due maggiori settori del video tracking sono Target Representation and Localization attraverso cui identificare gli oggetti in movimento Gli algoritmi pi comuni in questo senso sono Blob tracking che consiste nel ricondurre l oggetto ad una regione di interesse per l immagine denominata blob e ricavarne il centro di massa per eseguire inseguimento 11 sistemi di riferimento non hanno origine sullo stesso asse di rotazione per la configurazione del meccanismo stesso 10 3 Sviluppi futur
13. lt e lt lt fe lt 5 lt lt 2 High Voltage Input Current pins 5 7 10 12 Enable High Voltage pins 6 11 V V Hu pu Tm Ligi olo o E Vil liL liH en en W z len Low Voltage Enable Current pins 6 11 en H High Voltage Enable Current Ven Vss 0 6V pins 6 11 Source Saturation Voltage 0 95 Vcesat Total Drop 1 80 Van Sensing vores ky S W VcEsat no H VcEsat L Enable Low Voltage pins 6 11 i 1 pa ef fr NI 3 13 L298 ELECTRICAL CHARACTERISTICS continued Symbol Test Conditions T V Source Current Turn off Delay 0 5 Vito 0 91 Source Current Turn on Delay 0 5 Vito 0 1 IL 2 4 Source Current Rise Time 0 11 to 0 9 IL ink Current Turn off Delay 0 5 Vito 0 9 IL Sink Current Fall Time 0 9l to 0 1 IL Sink Current Turn on Delay 0 5 Vito 0 9 lL 0 1 IL t00 9h 3 0 5 Vento 0 91 2 4 0 91 100 11 2 4 0 5 Vento 0 11 2 4 0 1l 00 91 2 4 0 5 Vento 0 91 3 4 Sink Current Fall Time 0 911 00 111 3 4 7 Ven 0 5Vento0 9h 3 4 Ven 0 11 to0 9h 3 4 li gt j i I LLL EE o o v sie o D gt e e e RISISIA C3 o o le n n n o n n o e le flo jo eo oO oO E E
14. vero progresso solo quando vantaggi di una nuova tecnologia diventano per tutti Henry Ford 1863 1947 industriale americano In questo capitolo descriveremo il livello tecnologico raggiunto nell ambito delle teste robotiche e dei sistemi visivi Descriveremo nella prima sezione tre diversi robot evincendone le similitudini con il lavoro che abbiamo svolto Nella seconda sezione invece descriveremo delle possibili tecnologie alternative che potrebbero essere sviluppate in futuro per il nostro sistema 2 1 Teste robotiche In questa sezione descriveremo le teste robotiche sviluppate in questi ultimi anni focalizzando l attenzione non tanto sull interazione uomo macchina che pare essere il leitmotiv che accomuna ogni tesi di robotica umanoide quanto sulle somiglianze rispetto al sistema MOE da noi sviluppato 2 1 1 Probo Probo 14 15 un robot sviluppato nell ambito dello studio dell interazione uomo robot Il robot dotato di una testa completamente attuata dotata di 20 gradi di libert e capace di esprimere emozioni umane Come mostrato in figura 2 1 gli occhi del robot sono stati progettati in modo da garantire interazione oculare con l osservatore per quanto riguarda l inseguimento e l espressione di emozioni tramite l uso combinato di occhi e sopracciglia Il robot inoltre provvisto di una proboscide dotata di 3 gradi di libert attuata da tre motori brushless in maniera analoga al co
15. L idea alla base del MOEtest quella di consentire il controllo delle webcam all utente tramite il touchpad di un portatile Tale controllo viene effettuato sfiorando l area sensibile del touchpad con un solo dito Il centro del touchpad corrisponde alla posizione di reset 0 0 0 mentre le estremit orizzontali e verticali corrispondono ai fine corsa verticale e orizzontali rispettivamente dei 3 motori In aggiunta vogliamo inviare un comando di reset in risposta a un evento di left click Per ottenere questo controllo abbiamo bisogno di intercettare l evento di sfioramento del touchpad in posizione assoluta nell area sensibile del dispo sitivo nonch l evento di pressione del tasto sinistro Nella maggioranza dei portatili odierni i touchpad integrati sono realizzati dalla Synaptic la quale ha rilasciato dei driver opensource reperibili facilmente in rete La Synaptic fornisce anche un programma synclient preistallato in molte distribuzioni linux che tra le altre cose stampa nello standard output gli eventi che interessano il touchpad Decidiamo quindi di procedere implementando un parser che riceva come input le informazioni stampate da synclient e ricavi da esse gli eventi di sfioramento e pressione tasto sinistro 8 4 1 Synclient Il programma synclient lanciato con opportuni parametri si comporta da demone intercettando gli eventi del touchpad e stampandoli nello standard output Se chiamiamo da terminale il comando man synclien
16. used with monolithic bridge drives such as the L298N or L293E or with discrete transistors and darlingtons Unit 10 TWO PHASE BIPOLAR STEPPER MOTOR CONTROL CIRCUIT SENSE SENSE 2 STEPPER MOTOR WINDINGS CONTROL 85852205 n 01 toD8 2A FAST DIODES December 2001 5846 4 1 11 L297 PIN CONNECTION Top view CLOCK CWICCW L297 1 Osc L297D Vref SENS SENS 2 Vs CONTROL BLOCK DIAGRAM L297 1 L297D I ah HALF FULL STEP OUTPUT LOGIC RESET TRANSLATOR DIRECTION CwiCCw SENS Wet SENS q 2 11 L297 PIN FUNCTIONS L297 1 L297D 1 SYNC Output of the on chip chopper oscillator The SYNC connections The SYNC connections of all L297s to be synchronized are connected together and the oscillator components are omitted on all but one If an external clock source is used it is injected at this terminal KE 2200 HOME Open collector output that indicates when the L297 is in its initial state ABCD 0101 The transistor is open when this signal is active 5 INH1 Active low inhibit control for driver stage of A and B phases When a bipolar bridge is used this signal can be used to ensure fast decay of load current when a winding is de energized Also used by chopper to regulate load current if CONTROL input is low LLL Motor phase C drive signal for power stage Active low inhibit control for drive stages of C and D phases Same function
17. 12 Vs Alimentazione 5V 13 Sens2 Tensione sul resistore sensore dell avvolgimento CD 14 Sensl Tensione sul resistore sensore dell avvolgimento AB 15 Vf Riferimento di tensione sul resistore sensore Determina la corrente di picco sugli avvolgimenti 16 OSC Costante di tempo per l oscillatore integrato 17 CW CCW Input che setta il verso di rotazione del rotore Esso dipende da come si collegano gli avvolgimenti 18 CLOCK Ad ogni fronte di salita corrisponde uno step 19 HALF FULL Input che determina il pilotaggio half step o full step Se basso in full 20 RESET A fronte di un impulso basso porta il sistema nello stato HOME Tabella 6 4 Tabella sulla descrizione dei pin dell integrato 6 2 Componenti integrati utilizzati 51 Segue il diagramma degli stati per il pilotaggio di un motore bipolare 1001 1000 Figura 6 9 Diagramma stati pilotaggio di un passo passo Il pilotaggio two phase on si ottiene con la seguente sequenza Leo 04 71 Il pilotaggio half step si ottiene con la seguente sequenza 1 2 9 4 0 02 T2831 Il pilotaggio one phase on si ottiene con la seguente sequenza 254 0 572 La logica con cui L297 gestisce gli stati degli avvolgimenti abbastanza semplice se HALF FULL 0 e CW CCW 0 prossimo stato stato attuale se HALF FULL 0 e CW CCW 1 prossimo stato stato attuale se HALF FULL 1 e CW CCW 0 prossimo stato stato attuale se HALF FULL 0 e CW CCW 0
18. 8000 12000 half steps sec 0 9 degrees Uni polar drive with 24Vdc supply 0 5 Amps phase Torque Ncm O N WA 1000 2000 3000 4000 5000 6000 half steps sec 0 9 degrees e Bi polar drive with 36Vdc supply 0 75 Amps phase Torque Nem eo N A 00 4000 8000 12000 half steps sec 0 9 degrees Bi polar drive with 36Vdc supply 1 6 Amps phase E o z E 5000 10000 15000 20000 half steps sec 0 9 degrees Mclennan Servo Supplies Ltd Tel 44 0 8707 700 700 www mclennan co uk 2i Mclennan SZA m OPERATING SUPPLY VOLTAGE UP TO 46 V m TOTAL DC CURRENT UP TO4 A m LOW SATURATION VOLTAGE m OVERTEMPERATURE PROTECTION LOGICAL 0 INPUT VOLTAGE UP TO 1 5 V HIGH NOISE IMMUNITY DESCRIPTION The L298 is an integrated monolithic circuit in a 15 lead Multiwatt and PowerSO20 packages It is a high voltage high current dual full bridge driver de signedto accept standard TTL logic levels and drive inductive loads such as relays solenoids DC and steppingmotors Two enableinputs are providedto enable or disable the device independentlyof the in put signals The emitters of the lower transistors of each bridge are connected together and the corre sponding external terminal can be used for the con BLOCK DIAGRAM Jenuary 2000 L298 DUAL FULL BRIDGE DRIVER Multiwatt15 PowerSO20 ORDERING NUMBERS L298N Multiwatt Vert L298HN Mul
19. 8362 191 8378 191 8384 RS stock no 440 464 with rear shaft shown Lead wire L 300 82 6 69 6 02 D73 025 0 025 RS stock no 440 464 A 62 5mm RS stock no 440 470 A 94mm 6 Wire configuration WHT Exciting sequence and direction of rotation when facing mounting flange end e Ta 232 5749 8 Wire configuration Exciting sequence and direction of rotation when facing flange ERE igre ay 7 m 0 1m Sepangiescama 0 8 8 8 8 3 u 5 s m m m s s s 08 1 04 94 06 14 285 15 Rumed 39 s 49 5 20 ia 35 bmw I m s w s au o n Step angle accuracy 96 Step Stepange mc a Resonance This is commonly known as the Unipolar L nr drive Certain operating frequencies cause resonance and the motor loses track of the drive input Audible vibra tlon may accompany resonance conditions These fre quencies should be avoided if possible Driving the motor on the half step mode see motor drive meth ods greatly reduces the effect of resonance Alternatively extra load inertia and external damping may be added to shift resonance regions away from the operating frequency Motor drive methods The normal way of driving a 4 phase stepper motor is shown in Figur
20. NO ee ee NIO NIN NII 1 1 Sensing voltage can be 1 V fort lt 50 usec in steady state V sens min gt 0 5 V 2 See fig 2 3 See fig 4 4 The load must be a pure resistor Figure 1 Typical Saturation Voltage vs Output Figure 2 Switching Times Test Circuits Current G 6418 Voss Vc 24 2V 0 04 08 12 16 20 24 IgfA Note For INPUT Switching set EN For ENABLE Switching set IN H DI 4 13 L298 Figure 3 Source Current Delay Times vs Input or Enable Switching Imax 2A 90 853 2 Figure 4 Switching Times Test Circuits Vasasy Ver 42V 5 385471 Note For INPUT Switching set EN H For ENABLE Switching set IN L 5 13 L298 Figure 5 Sink Current Delay Times vs Input 0 V Enable Switching Imaz 2A 904 al Vi 4 so Imax 2a 5 90 C H D i Fast EON Stop TO CONTROL CIRCUIT DI TO Da 1 FAST RECOVERY DODE tyr 200ns Di 6 13 L298 Figure 7 For higher currents outputs can be paralleled Take care to parallel channel 1 with channel 4 and channel 2 with channel 3 APPLICATION INFORMATION Refer to the block diagram 1 1 POWER OUTPUT STAGE TheL298integratestwo poweroutputstages A B The power output stage is a bridge configuration and its outputs can drive an inductive load in com mon or differenzial mode dependingon the state o
21. Se e 0 l avvolgimento AB non alimentato Se A 1 e B 0 l avvolgimento AB alimentato Se B 1 l avvolgimento alimentato con polarit inversa Lo stesso accade per C e D in riferimento all avvolgimento CD 6 2 Componenti integrati utilizzati SYNC RESET GND 19 HALF FULL HOME CLOCK A CWICCW INH 1 Osc B Vref C SENS 1 INH 2 SENS 2 D Vs ENABLE CONTROL 5839 Figura 6 8 Diagramma pin L297 49 50 Capitolo 6 Architettura dell apparato elettronico MOE N PI NOME FUNZIONE 1 SYNC Uscita dell oscillatore integrato Input se necessario sincronizzare L297 2 GND Massa 3 HOME Uscita alta quando il sistema si trova nello stato HOME 0101 4 A Segnale di pilotaggio fase A per il lo stadio di potenza 5 INH1 Se basso inibisce I transistor sulla fase A e B L avvolgimento viene portato a massa per un rapido scarico di corrente 6 B Segnale di pilotaggio fase B per il lo stadio di potenza I C Segnale di pilotaggio fase C per il lo stadio di potenza 8 INH2 Se basso inibisce I transistor sulla fase C e D L avvolgimento viene portato a massa per un rapido scarico di corrente 9 D Segnale di pilotaggio fase D per il lo stadio di potenza 10 ENABLE Se basso A B C D INH1 e INH2 vengono settati bassi 11 CONTROL Se alto il circuito chopper agisce in A B C D se basso il chopping viene ottenuto utilizzando INH1 INH2 Vedi paragrafo relativo a L298
22. amplitude by chopping the inputs or to pro vide overcurrent protection by switching low the en able input The brake function Fast motor stop requires that the Absolute Maximum Rating of 2 Amps must never be overcome When the repetitive peak current needed from the load is higher than 2 Amps a paralleled configura tion can be chosen See Fig 7 An external bridge of diodes are required when in ductive loads are driven and when the inputs of the ICare chopped Shottkydiodes would be preferred 7 13 L298 This solution can drive until 3 Amps In DC operation Fig 10 shows a second two phase bipolar stepper and until 3 5 Amps of a repetitive peak current motor control circuit where the current is controlled OnFig8itisshownthedrivingofatwophasebipolar Py the 1 C L6506 stepper motor the needed signals to drive the in puts of the L298 are generated in this example from the IC L297 Fig 9 shows an example of P C B designedforthe application of Fig 8 Figure8 Two Phase Bipolar Stepper Motor Circuit This circuit drives bipolar stepper motors with winding currents up to 2 A The diodes are fast 2 A types MALFIFULL RESET ENABLE Vret 5 5846 4 Rs 2 0 5 9 Ve lt 1 2V 1 2A D1 to D8 2 A Fast diodes lt 200 ns Di 8 13 L298 Figure9 Suggested Printed Circuit Board Layout for the Circuit of fig 8 1 1 scale NTROL zh rg t ROME EMABLE
23. at a premium The motor is available with a choice of windings to permit operation using either Uni polar or Bi polar drive circuits and offers an excellent combination of performance reliability and quality at economic prices ideally suited to OEM manufacturers of quality instrumentation products Dimensions mm Length L Shaft Length mm 2 22 Motor Shaftlength Rear shaft Option 16HS 012 12mm 16HS 1 f Mine 16HS 110 16HS 115 13 mm 05 16HS 132 Leads AWG26 24 2 studs Alternative shaft lengths are available 300 mm long M3 x 5 5 long to special order Specification motor type length holding rotor resistance current inductance number T torque inertia per phase per phase per phase of leads Nem Kgcm ohms Uni polar types 16HS 006 16HS 110 Bi polar types 16HS 012 16HS 115 16HS 132 Lead colours Uni polar types Bi polar types Lead colour identity Uni polar types Bi polar types 6 lead versions 8 lead versions 4 lead versions A Black T Red White 1 Red 1 Red 1 Red Red White 2 Yellow white 1 Yellow 2 Yellow B White d Black white 3 Green 3 Black 2 Black 4 Green White 4 Orange white 2 Orange 4 Orange lello Mclennan Servo Supplies Ltd Tel 44 0 8707 700 700 www mclennan co uk e Melennan Typical 16HS Performance 16HS 012 Performance Bi polar drive with 36 Vdc supply 0 6 Amps phase A Oo O Torque Nem N O 4000
24. bit 3 Unimplemented Read as 0 bit 2 BRGH High Baud Rate Select bit 1 High speed Low speed ra i Unused in this mode bit 1 TRMT Transmit Shift Register Status bit 1 TSR empty TSR full bit O TX9D 9th bit of Transmit Data can be parity bit Legend R Readable bit W Writable bit U Unimplemented bit read as 0 Value at POR 4 Bit is set Bit is cleared x Bit is unknown Figura 7 3 Registro TXSTA 66 Capitolo 7 Firmware MOE 7 3 Protocollo di comunicazione I protocollo di comunicazione implementato prevede due differenti pacchetti il primo che chiamiamo msg sent definito come segue struct msg unsigned char sync0 unsigned char syncl unsigned char pos y unsigned char pos x1 unsigned char pos x2 unsigned char checksum unsigned char sync2 Questo pacchetto trasmesso dal PIC ad un target esterno nel nostro caso il PC ed ha il compito di veicolare le informazioni sulla posizione delle telecamere La sua dimensione di 7 Byte i primi due Byte sync0 e sync1 devono essere valorizzati con gli esadecimali OxAF e OxFA rispettivamente e fungono da handshaking tra chi riceve e il pacchetto inviato I tre Byte pos y 1 e pos x2 sono il corpo del messaggio e contengono le posizioni delle due telecamere nei rispettivi assi Il Byte di checksum invece contiene lo XOR logico dei tre Byte pos_y pos_x1 e pos x2 Esso viene cont
25. collegato alla struttura 3 1 cavo seriale femmina maschio 4 1 adattatore seriale femmina usb 5 1 alimentatore 6 1 tester Potete vedere nella figura A 1 la millefori multipiano prima del collegamento dei cavi potete notare in basso a destra le tre prese dei motori sul piano l facoltativo rispettivamente denominate MOT 1 MOT 2 MOT 3 116 Appendice A manuale utente superiore da destra verso sinistra troviamo l ingresso seriale maschio il foro per l inserimento dell alimentazione ed i sei ingressi per i sensori Nella figura Figura A 1 Nessun cavo collegato A 2 possiamo vedere i cavi da collegare al sistema in senso orario troviamo l attacco del terzo secondo e primo motore l attacco del terzo secondo e primo sensore il cavo dell alimentazione ed il cavo seriale Il cavo seriale termina nell altra estremit con il convertitore seriale usb da collegare al computer Per quanto riguarda l alimentazione necessario collegare alla corrente sia il trasformatore che l alimentatore Mostriamo in particolare il collegamento dei motori nella figura A 3 e dei sensori nella figura A 4 La configurazione finale quindi quella mostrata nella figura A 5 E possibile inoltre inserire il tester come mostrato nella figura A 6 A 1 Connessione dei cavi 117 Figura A 2 Cavi 118 Appendice A manuale utente EI c 4 1 t t ls i d F
26. consente di emettere una risposta motoria non solo senza ritardo allo stimolo ma spesso in anticipo 4 3 2 Inseguimento veloce Saccadi Le saccadi consistono in rapidi movimenti degli occhi eseguiti per portare la zona di interesse a coincidere con la fovea 26 Vengono eseguite in media 3 4 saccadi al secondo e solitamente possono avere un ampiezza compresa fra meno di 0 1 e quasi 90 raramente tuttavia l ampiezza delle saccadi eccede i 20 dato che in caso di angoli superiori entra in gioco la rotazione del collo e del busto Non esiste una velocit angolare massima precisa per un movimento saccadico questo perch la velocit in funzione dello spostamento effettuato Per calcolare la velocit massima di una saccade dobbiamo quindi definire l entit dello spostamento a cui fare riferimento ad esempio per spostamenti di 10 di ampiezza associata una velocit di circa 300 s per 30 una velocit di circa 500 s La latenza di una saccade in media di circa 225 ms 17 16 microsaccadi tra la comparsa del bersaglio e l inizio della saccade passano circa 225 ms 24 Capitolo 4 Bioispirazione 4 3 3 Vergenza I movimenti analizzati fino ad ora sono detti coniugati perch il movimento dei due occhi il medesimo In altri casi ad esempio nel movimento di vergenza i movimenti sono disgiunti I movimenti di vergenza fanno convergere o divergere gli occhi sul piano orizzontale in modo da garantire la fusion
27. definizione di robot stessa quindi si evoluta nel corso degli anni e ad oggi la definizione che meglio riflette la situazione attuale probabilmente la seguente un robot una macchina meccatronica in grado di generare e controllare movimenti e forze Secondo questa moderna concezione un robot una macchina che percepisce pensa e agisce inserita nel mondo reale con il quale interagisce Un robot possiede un corpo dotato di massa soggetto a tutte le leggi fisiche 18 Capitolo 4 Bioispirazione che regolano il mondo circostante e grazie all elettronica integrata dotato di un certo grado di intelligenza che gli consente di svolgere alcuni task in modo autonomo 13 L analogia fra un robot definito in questo modo e un sistema biologico evidente entrambi sono dotati di un sistema di locomozione sensori ed attuatori richiedono un sistema di controllo interagiscono con l ambiente I sistemi viventi sono la dimostrazione che molte funzioni complesse come ad esempio la locomozione la visione o la manipolazione che i ricercatori in robotica sognano di vedere attuate possono davvero essere realizzate I sistemi biologici quindi non sono pi soltanto i principali destinatari dei servizi dei sistemi robotici ma possono anche diventare un importante fonte di ispirazione per componenti e comportamenti dei robot del futuro 21 La profonda sinergia venuta a crearsi tra la robotica e gli organismi biologici ha portato alla nasci
28. direzione temporale ed adduzione in direzione nasale intervengono rispettivamente i muscoli retti mediali e laterali Per i movimenti verticali elevazione ed abbassamento e per quelli di torsione sono primariamente coinvolti i muscoli retti superiore ed inferiore e gli obliqui inferiore e superiore Abbiamo studiato la muscolatura umana per capire quali movimenti eseguisse l occhio oltre per valutare eventuali sviluppi futuri di una testa robotica con delle telecamere mosse da muscoli artificiali sezione 2 2 1 22 Capitolo 4 Bioispirazione Figura 4 6 Campo visivo umano 4 2 3 Visione e campo visivo umano Il campo visivo si pu definire come la porzione di spazio che un occhio im mobile percepisce di fronte a s Nell uomo il campo visivo totale orizzontale coperto dai due occhi si estende per poco pi di 180 questo includendo tutta la visione periferica compresa la cosiddetta coda dell occhio Siccome l ambito di mobilit dell occhio di circa 90 muovendosi gli occhi la visione panoramica arriva fino a 270 Accoppiando inoltre la rotazione della testa si riescono a coprire pi di 360 Limitandoci al solo movimento dei muscoli oculari possiamo definire l estensione del campo visivo per il singolo occhio pari a 60 nasalmente 50 superiormente 90 temporalmente e circa 70 inferiormente assumendo cos una sorta di forma ovoidale come mostrato nella figura 4 6 4 3 Classificazione dei movimenti oculari
29. e dal punto dal quale ha origine Un secondo test possibile la calibratura della struttura meccanica resta no da capire infatti le rototraslazioni che entrano in gioco nella completa caratterizzazione della struttura meccanica 110 Capitolo 10 Conclusioni e sviluppi futuri Bibliografia 1 MIL STD 1472F Military Standard Human Engineering Design Criteria For Military Systems Equipment And Facilities 1999 2 Bionics http en wikipedia org wiki Bionics 2010 3 A G Pipe Chris Melhuish Paul Dean Alexander Lenz Sean R Anderson and John Porrill Cerebellar inspired adaptive control of a robot eye actuated by pneumatic artificial muscles 2009 4 P P Battaglini Motilit estrinseca dell occhio http fc units it ppb visione blocco6 html 5 Jean Yves Bouguet Camera calibration toolbox for matlab http 6 lat www vision caltech edu bouguetj calib _doc 2008 Dr E Fernandez Dr H Kolb B W Jones Dr R Nelson Webvision Simple anatomy of the retina http education vetmed vt edu Curriculum VM8054 EYE RETINA HTM 2005 Dr Thomas Caceci The retinal tunic http webvision med utah edu sretina html 2001 ArchLinux Community Touchpad synaptics http wiki archlinux org index php Touchpad_Synaptics P Dario Biorobotica a Biomeccatronica in Treccani il libro dell anno Istituto dell Enciclopedia Italiana 2006 5 I M G Societ Italiana di Medicina Generale Nu
30. e l 1 logico a 8 5V Sebbene disponga di due unit driver ricevitore nell apparato presentato ne viene utilizzato solo una 6 2 3 LM7805 L integrato LM7805 un regolatore di tensione in uscita a 5V 1A massimo Dispone di un limitatore di corrente in caso di corto circuito e un sistema di protezione termica La tensione massima in ingresso deve essere inferiore a 35V Nel progetto del sistema MOE viene utilizzato in configurazione ad uscita fissa 44 Capitolo 6 Architettura dell apparato elettronico MOE 5V C5 1 10uA4ey L T un ev sub D 8 F ce 1 L 3 OWA 6s Microcontroller 13 12 14 RS232 LEVEL TTL LEVEL MAX232 Figura 6 1 Interfacciamento RS232 tramite MAX 232 OUTPUT INPUT 0 33uF 0 1uF Figura 6 2 Schema elettrico LM7805 6 2 4 Motori passo passo I motori passo passo si dividono in due categorie a magnete permanente e a riluttanza variabile I motori a magnete permanente a loro volta si dividono in unipolari o bipolari Nel progetto sono stati utilizzati 3 motori a magnete permanente bipolari Essenzialmente essi consistono in un magnete permanente rotante rotore e uno statore ai cui poli si trovano avvolgimenti magnetici Per il pilotaggio di tali motori viene usata una corrente bipolare in questo moto possibile alimentare gli avvolgimenti in sequenza Il campo 6 2 Componenti integrati utilizzati 45 Figura 6 3 Motore passo passo bipolare
31. essere un possibile sviluppo futuro del progetto Figura 3 1 Primo piano del collo del robot Maximum One 16 Capitolo 3 Specifiche richieste Capitolo 4 Bioispirazione La conoscenza di ci che non apre direttamente la porta alla conoscenza di ci che dovrebbe essere Si pu avere la conoscenza piu chiara e pi completa di ci che e tuttavia non riuscire a dedurre da questa quale dovrebbe essere la meta delle nostre aspirazioni umane La conoscenza obiettiva ci fornisce strumenti potenti per la conquista di certe mete ma il fine ultimo e il desiderio di raggiungerlo devono nascere da un altra fonte Albert Einstein 1879 1955 fisico tedesco In questa sezione definiremo i termini biorobotica e robotica bioispirata e successivamente descriveremo l occhio umano i suoi muscoli la precisione della visione umana e l estensione del campo visivo Classificheremo e descriveremo inoltre i movimenti oculari quali l inseguimento lento saccadi e vergenza ed infine descriveremo quali caratteristiche dell occhio umano sono state riprese per lo sviluppo del sistema MOE 4 1 Evoluzione della robotica e biorobotica Il progresso tecnologico e l avvento della microelettronica hanno portato alla realizzazione di macchine robotiche sempre pi avanzate che integrano strutture e meccanismi attuatori e sensori elettronica di processo e di controllo sorgente d energia ed interfaccia persona macchina La
32. in precedenza In particolare la prima colonna indica la velocita di rotazione del motore espressa in grad sec la seconda indica il 80 Capitolo 8 Libreria MOE valore intero da inviare al PIC la terza il flag di enable In questo caso la prima velocita disponibile corrisponde alla tupla di valori alla riga 56 ovvero 107 grad sec a cui associamo il valore 55 e il flag di enable a 1 8 3 1 Makefile e grafo dipendenze La libreria MOE composta da 3 oggetti parse_csv utils command Illustriamo le dipendenze degli oggetti in questione con il grafo in figura 8 2 parse cvs command Figura 8 2 Grafo dipendenze oggetti libmoe L oggetto command dipende da utils e parse csv L oggetto utils dipende solo da parse_csv Mentre l oggetto parse csv non ha dipendenze Un possibile makefile che rispetti tale grafo il seguente all parse_csv o utils o command o test c gcc lm o test test c parse_csv o utils o command parse csv o parse csv c parse csv h gcc c lm parse csv c utils o parse csv c parse csv h utils c utils h gcc c lm utils c command o parse csv c parse csv h utils c utils h command c command h gcc c lm command c 8 4 MOEtest 81 8 4 MOEtest In questa sezione descriveremo la realizzazione di MOEtest ovvero di un sistema di controllo manuale per l apparato MOE Lo scopo di questo progetto di illustrare al lettore un esempio di utilizzo della libreria labmoe
33. mobile conte nente telecamere e motori La struttura a U stata sostituita da un sostegno di forma rettangolare visto frontalmente al cui interno sono stati montati i motori asimmetricamente rispetto all asse di rotazione In particolare il secondo motore sottostante la telecamera destra stato appeso in modo da distribuire il peso uniformemente per ogni angolo di rotazione Questa scelta si rivelata molto efficace dato che l intera struttura ha iniziato a muoversi Il movimento tuttavia non era ancora sufficiente n per quanto riguarda l ampiezza raggiungibile ne per quanto riguarda le velocit raggiungibili per questo motivo abbiamo provveduto a sostituire il motore esterno con un motore notevolmente pi potente Ricordiamo inoltre che per sicurezza abbiamo montato il riduttore fin da subito anche su questo nuovo motore La struttura cos creata aveva un peso di circa 1 5 chilogrammi a cui sono da sottrarre circa 80 grammi per un supporto temporaneo in legno per utilizzare il sistema lontano dal robot Maximum One circa 7 volte 5 2 Prototipi costruiti 37 5 2 4 Prototipo Nr 7 Figura 5 8 Rappresentazione frontale semplificata del prototipo nr 7 Il prototipo Nr 6 seppur funzionante stato infine perfezionato nel prototipo Nr 7 rifacendo la base in plexiglas di spessore 0 5 cm dove erano montate le placchette di sostegno per motore e parte mobile Tale base stata ridotta notevolmente al fine di ri
34. movimento orizzontale su motore 1 in gradi delta_x1 fabs pos_x1 convertToDeg msg rcvd pos x1 offset movimento orizzontale su motore 2 in gradi delta_x2 fabs pos x2 convertToDeg msg rcvd pos x2 angolo formato dall asse x1 e dal vettore movimento nel piano cartesiano zi tetal atan2 delta_y delta x1 angolo formato dall asse 2 e dal vettore movimento nel piano cartesiano zi 29 30 31 32 33 34 35 36 37 38 39 40 41 42 48 44 126 Appendice A Il manuale utente teta2 atan2 delta_y delta x2 angolo medio tetaAvg tetal teta2 2 velocit teorica motore y spd y degOnSec sin tetaAvg velocit teorica motore x spd_x degOnSec cos tetaAvg velocit reale reppresentabile dal firmware per motore y speed_y_real double get real speed from table y spd y velocit reale reppresentabile dal firmware per motore x speed x real double get real speed from table x spd x 1 void MOE close La funzione MOE close serve per chiudere il descrittore al device del convertitore usb seriale Appendice B Datasheet Datasheet di riferimento e Hybrid stepper motors High Torque Stepper Dual Full Bridge Driver Stepper Motor Controllers Size 16 hybrid stepper motor possibilme motore futuro maggiore coppia minore peso e dimensioni Data Pack B Issued March 1997 232 5749 Hybrid st
35. muove la struttura portante degli altri due motori In questa situazione il carico notevolmente maggiore ed pari a circa 600 grammi connessi direttamente all albero del motore Nonostante il carico sia collegato saldamente all albero e uniforme sia la distribuzione del peso data la configurazione asimmetrica dei due motori la struttura ed i motori soprat tutto sono stati sempre un punto critico di MOE a causa dell eccessivo peso Il motore verticale come previsto non riuscito a raggiungere le velocit dei due motori orizzontali nonostante fosse notevolmente pi potente Durante i test effettuati la velocit massima raggiungibile rilevata per spostamenti di circa 40 stata pari a 214 s Ci nonostante questa velocit stata calcolata su angoli di spostamento relativamente ampi ricordiamo che come spiegato nel capitolo dedicato alla Bioispirazione nella sezione 4 normalmen te una saccade si protrae per circa 20 salvo poi continuare il movimento di inseguimento veloce con l ausilio del collo Inoltre come spiegheremo nel capitolo 10 riguardante gli sviluppi futuri nel caso si disponesse di maggiori risorse sarebbe possibile sostituire il motore numero 1 responsabile della minore velocit massima raggiungibile con un nuovo motore pi performante Abbiamo poi calcolato l effettiva velocit risultante dal moto combinato del motore verticale e dei motori orizzontali ottenendo la tabella 9 1 indicante le velocit raggi
36. no 332 098 Pull out torque vs speed Drive 332 098 Voltage 25V Phase 500mA Unipolar AMB BIG Max pull in speed 1250Hz full step no load 2600Hz half step Note Broken lines indicate resonance areas Speed 3 4 5678 D Full step 10000Hz Half step 20000Hz Size 17 12V 0 16A RS stock no 440 436 using 2A unipolar drive board RS stock no 332 098 Torque Pull out torque vs speed Ncm Drive 332 098 Voltage 21V 0 6 I Phase 160mA Unipolar L nt AMB 22 C Max pull in speed 1000Hz full step no load 2000Hz half step
37. num2 num3 An 8 3 libmoe e tabelle di velocita 79 dove num1 num2 sono due interi positivi mentre num3 pu assumere valori 0 o 1 Tramite questo formato l utente pu comunicare a lzbmoe una tabella delle velocit Tale tabella descrive un profilo di velocit raggiungibili da un motore dell apparato MOE vi associa il valore corrispondente della propriet SPD utilizzata dal firmware per il controllo in velocit e un flag di enable Durante i nostri test infatti ci e capitato di testare delle velocit che il motore non riusciva a mantenere senza perdere il passo Ci sembrato quindi essenziale fornire allo sviluppatore un modo semplice e veloce per modificare on the fly il profilo del proprio motore senza dover ad esempio ricompilare il progetto L unico vincolo di tenere una copia delle tabelle nello stesso path dell eseguibile implementato Le tabelle sono due una per il motore che muove il carico verticalmente una per i due motori orizzontali che si presume siano uguali Il contenuto di tale tabella associato al periodo di interrupt scelto lato firmware Segue un esempio di tabella di velocit utilizzata rp N un da oo oloiloiloinoiloinoilo 85 69 Sheet1 Figura 8 1 Esempio di tabella di velocita Nella figura 8 1 notiamo che la tabella di velocita composta dalle 3 colonne descritte
38. passo passo bipolari Y ON Figura 6 12 Pilotaggio tradizionale e pilotaggio PWM 54 Capitolo 6 Architettura dell apparato elettronico MOE Come possiamo intuire dalla figura 6 12 il pilotaggio PWM consiste nell utilizzare un alimentazione molto pi elevata di quella richiesta dal motore quando la corrente raggiunge il valore nominale il transistor viene aperto e quindi la corrente comincia a diminuire passando attraverso il diodo di ricircolo Dopo un piccolo tempo il transistor viene di nuovo chiuso la corrente comincia di nuovo ad aumentare ancora fino al raggiungimento della corrente nominale e cosi via Se l alternarsi delle fase di apertura chiusura del transistor sono molto pi veloci della velocit con cui le fasi sono eccitate il valore medio della corrente praticamente uguale alla corrente nominale Il pilotaggio PWM ha due vantaggi il tempo di salita della corrente molto elevato visto che elevata la tensione di alimentazione e durante le fasi di spegnimento del transistor non si ha consumo di corrente Ulteriori informazioni sono reperibili nell articolo 28 6 3 Realizzazione apparato elettronico MOE In questa sezione illustreremo gli schemi elettrici implementati che costi tuiscono l attuale elettronica dell apparato Abbiamo diviso le 4 schede implementate in due categorie scheda microprocessore e schede di pilotaggio Presentiamo le tre schede di pilotaggio tramite un unico schema elettrico sebbe
39. some touchpads can report more than one finger Generally synaptics touchpads can but ALPS touchpads can t w The w value is a measurement of the finger width This is only supported by some synaptics touchpads Touchpads that can t measure the finger width typically report a faked constant value when a finger is touching the touchpad l r u d m multi The state of the left right up down middle and multi buttons Zero means not pressed one means pres sed Not all touchpads have all these buttons If a button doesn t exist the value is always reported as gl gm gr Some touchpads have a guest device This is typically a pointing stick located in the middle of the keyboard Some guest devices have physical buttons or can detect button presses when tapping on the pointing stick Such button events are reported as guest left guest middle or guest right gdx gdy Pointer movements from the guest device are reported as relative x y positions called gdx and gdy l List current user settings V Print version number and exit Show the help message var value Set user parameter var to value 8 4 MOEtest 83 L entry nel man ci comunica che il synclient m invocabile in modalita SHM In tale modalita il driver synaptic scrive in una shared memory le informazioni sullo stato del touchpad Per abilitare tale modalita cerchiamo la entry del device nel file di configurazione xorg conf e assicuriamoci che si presen
40. 1 pan RC5 SDO RC3 SCK SCL J RC4 SDI SDA RDO PSPO 1c 22 RD3 PSP3 RD1 PSP1 E RD2 PSP2 m 00 n 00 LL S Figura 7 1 Diagramma PIN 16 877 Ai fini del progetto abbiamo scelto una comunicazione a 19 200 baud quindi il registro SPBRG stato impostato a 64 1 Abbiamo inoltre impostato la comunicazione a 8 bit in trasmissione ricezione asincrona senza controllo di flusso Programmaticamente la trasmissione ricezione da RS232 grazie al modulo USART nel PIC16F877 si riduce a una lettura scrittura dei registri TXREG e RCREG 64 bit 7 bit 6 bit 3 bit 0 Capitolo 7 Firmware MOE RCSTA RECEIVE STATUS AND CONTROL REGISTER ADDRESS 18h RAW 0 RAN 0 RAN 0 RAV RIW 0 R 0 R 0 R x bit 7 bit SPEN Serial Port Enable bit 1 Serial port enabled configures RCTIRX DT and RCS TX CK pins as serial port pins 0 Serial port disabled RX9 9 bit Receive Enable bit i Selects 9 bit reception Selects 8 bit reception SREN Single Receive Enable bit Don t care synchronous mode master 1 Enables single receive Disables single receive This bit is cleared after reception is complete Synchronous mode slave Don t care CREN Continuous Receive Enable bit 1 Enables continuous receive Disables continuous receive Synchronous mode 1 Enables continuous receive until enable bit CREN is cleared CREN overrides SREN Disables c
41. 18 e 22 5 In ogni immagine presente la scacchiera necessaria al tool di calibrazione per estrapolare i dati sulla posizione della telecamera Abbiamo poi analizzato ogni singola immagine per identificare i quattro angoli esterni della scacchiera Avendo inserito le dimensioni dei tasselli della scacchiera matlab stato in grado di localizzare gli angoli interni come mostrato nella figura 9 2 Lo scopo fondamentale della calibrazione il calcolo delle costanti di trasformazione di un punto della scena nelle coordinate di proiezione per ogni telecamera e nelle coordinate immagine sull elaboratore Sebbene si possano trarre informazioni anche da telecamere non calibrate questa operazione fondamentale quando richiesta una precisa informazione spaziale come nel caso dei test proposti Con esterni indichiamo gli angoli che permettono di identificare il maggior numero di tasselli pieni scartiamo quindi i tasselli che fungono da bordo all intera scacchiera per evitare eventuali imperfezioni o tasselli con una coppia di lati di dimensioni inferiori rispetto agli altri 94 Capitolo 9 Valutazioni sperimentali MOE Figura 9 1 Matrice delle immagini The red crosses should be close to the image corners Extracted corners 200 in camera frame Co 100 200 300 400 500 600 in camera frame Figura 9 2 Estrazione degli angoli dalla Figura 9 3 Intorni degli angoli della scac
42. 2 1 8504 0 8358 12 Spostamento 1 8121 1 7724 0 8273 Passo medio 1 8159 1 8144 0 8134 5 4132 5 4123 4 4898 ERRORE SUL SINGOLO PASSO in gradi 1 Spostamento 0 0588 2 Spostamento 0 0266 3 Spostamento 0 0467 4 Spostamento 0 0239 5 Spostamento 0 0023 6 Spostamento 0 0517 7 Spostamento 0 0478 8 Spostamento 0 0105 9 Spostamento 0 0014 10 Spostamento 0 0518 11 Spostamento 0 0442 12 Spostamento 0 0442 Errore medio 0 0342 Errore massimo 0 0588 Tabella 9 4 Test eseguiti sul motore numero 2 processando le immagini scattate con la telecamera sinistra Capitolo 9 Valutazioni sperimentali MOE Prova Drive Modalita Passo Nr 13 normal full step 1 8 Nr 14 Wave fall step Fall step 0 9 5 4 5 4 4 5 1 8 Nr 15 both Nr 16 normal Nr 17 Nr 18 1 Posizione 2 Posizione 3 Posizione 4 Posizione 5 Posizione 6 Posizione 7 Posizione 8 Posizione 9 Posizione 10 Posizione 11 Posizione 12 Posizione 13 Posizione POSIZIONI COMANDATE in gradi 1 8 3 6 5 4 7 2 10 8 12 6 14 4 16 2 18 19 8 21 6 PASSI RILEVATI in gradi 1 Spostamento 1 7899 1 7591 0 8356 5 4401 0 4392 4 5234 2 Spostamento 1 8321 1 8330 0 8535 5 4951 5 4878 4 6332 3 Spostamento 1 8529 1 8605 0 8235 5 0378 5 0250 4 5654 4 Spostamento 1 8658 1 8527 0 8389 0 9079 0 9981 4 5659 5 Spostamento 1 8589 1 8125 0 8
43. 4 RS stock no 332 098 Direction 29 All board connections are to the side of the DIN connector Preset _ gt _ EE 22 On board oscillator when assembled Oscillator control inputs R V motor rated winding voltage see oscillator section rated winding current Bipolar stepper motor drive board connections RS stock nos 342 051 and 440 240 Motor supply 12V to 36V RS stock no 342 051 20V to 70V for RS stock no 440 240 8 Lead otor Parallel connections Synch I O Home 1 output 1 Oe Step clock input 1 Overload output RS stock 440 240 no connection to pin 18 Overtemp output optional 1 f 1 VCO clock output Aux 12V output 50mA max speed Aux 5V output SOMA max optional Logic supply 15V to 24V 1 i Q Half O Full CWO CCW Common 0V 1 bam 1 Stop Run Base Base High High speed Current Output Reset 1 3 speed ramps values i ogram 1 disable state 1 This facility requires the fitting of a thermal switch 1 Values between 0100 d 2 Logic may share motor supply if between 15V and 24V 1 toOO high speeds 3 Ifthe on board VCO has been fitted the VCO output may be n 1 connected directly to the step clock input 1 if ho base 3 5 A unit i 1 These components are only required if on board VCO has been fitted 232 5749 Size 17 5V 0 5A RS stock no 440 420 using 2A unipolar drive board RS stock
44. 721 4 6336 6 Spostamento 1 8332 1 8397 0 8779 7 Spostamento 1 8708 1 8706 0 8662 8 Spostamento 1 8603 1 8571 0 8476 9 Spostamento 1 8722 1 8200 0 8917 10 Spostamento 1 8361 1 8364 0 8511 11 Spostamento 1 8654 1 8750 0 8506 12 Spostamento 1 8666 1 8521 0 8587 Passo medio 1 8503 1 8391 0 8556 5 4952 5 4977 4 5843 1 Spostamento 2 Spostamento 3 Spostamento 4 Spostamento 5 Spostamento 6 Spostamento 7 Spostamento 8 Spostamento 9 Spostamento 10 Spostamento 11 Spostamento 12 Spostamento ERRORE SUL SINGOLO PASSO in gradi 0 0101 0 0321 0 0529 0 0658 0 0589 0 0332 0 0708 0 0603 0 0722 0 0361 0 0654 0 0654 Errore medio 0 0519 Errore massimo telecamera destra 0 0722 Tabella 9 5 Test eseguiti sul motore numero 3 processando le immagini scattate con la 9 3 Test di precisione 101 E Med E P Med E Max E P Max Totale 3 0496 5 94 Motore Nr 1 3 25 8 32 Motore Nr 2 1 97 3 65 Motore Nr 3 3 91 5 87 Normal Drive 3 13 6 11 Wave Drive 2 6596 5 08 Full Step 2 67 5 17 Half Step 3 34 6 64 Passi Piccoli 2 47 4 67 Passi Medi 3 62 7 22 Tabella 9 6 Indici di sintesi degli errori medi e massimi 102 Capitolo 9 Valutazioni sperimentali MOE Capitolo 10 Conclusioni e sviluppi futuri La miglior cosa del futuro che arriva un giorno alla volta Abraham Lincoln 1809 1865 16 presidente degli Stati Uniti politic
45. 9 Sense A Sense Between this pin and ground is connected the sense resistor to control the current of the load 2 8 4 5 Out 1 Out 2 Outputs of the Bridge A the current that flows through the load connected between these two pins is monitored at pin 1 4 Vs Supply Voltage for the Power Output Stages A non inductive 100nF capacitor must be connected between this pin and ground Input 1 Input 2 TTL Compatible Inputs of the Bridge A 6 11 8314 Enable A EnableB TTL Compatible Enable Input the L state disables the bridge A enable A and or the bridge enable 8 1101120 12 VSS Supply Voltage for the Logic Blocks A100nF capacitor must be connected between this pin and ground 10 12 13 15 Input 3 Input 4 TTL Compatible Inputs of the Bridge B 13 14 16317 Out 3 Out 4 Outputs of the Bridge B The current that flows through the load connected between these two pins is monitored at pin 15 3 18 Not Connected ELECTRICAL CHARACTERISTICS Vs 42V Vss 5V Tj 25 C unless otherwise specified Symbol Vs Supply Voltage pin 4 Operative Condition IH 2 Vss__ Logic Supply Voltage pin 9 145415 Min Quiescent Supply Current 4 a 19 i 50 AT 3 gt E Iss Quiescent Current from Vss pin 9 Input Low Voltage 0 3 pins 5 7 10 12 Input High Voltage pins 5 7 10 12 Low Voltage Input Current V pins 5 7 10 12 V 12 eo C2 eo T 3
46. AQ A 0 D C D PA C pl N 8l Fe S C B B BO B Figura 6 6 Pilotaggio half step 6 2 Componenti integrati utilizzati 47 I motori che abbiamo utilizzato nel progetto sono di due tipi RS535 0489 singola unit 5 in full step senza carico LRA Coppia di stallo Tabella 6 2 Specifiche motore RS535 0489 RS440 420 due unit Angolo di passo 1 8 Precisione sull angolo di passo 5 in full senza carico Tensione di alimentazione Coppia di stallo Tabella 6 3 Specifiche motori RS440 420 La coppia di motori RS440 420 non sono propriamente dei passo passo bipolari ma unipolari ibridi a 6 fili Essi possono essere comunque utilizzati come bipolari in questo caso il cablaggio elettrico da effettuare descritto nell articolo 24 6 2 5 L297 L297 integra la circuiteria di controllo per motori bipolari e unipolari Usato insieme all L298 forma un interfaccia completa tra il microcontrollore e un motore bipolare L297 riceve i segnali dal controllore nel progetto costituito dal microprocessore PIC e fornisce i necessari segnali di controllo per lo stadio di potenza L298 in pi fornisce due circuiti per il controllo della corrente in PWM nei due avvolgimenti del motore E possibile controllare il motore passo passo sia in one phase on in two phase on e anche in half step L uso della coppia di integrati L297 e L298 comporta molti vantaggi Il software di contro
47. Concludiamo la presentazione di I Rok ricordando che anche in questo caso sono stati utilizzati dei servomotori sia per i movimenti di pan e tilt delle camere che per l attuazione del collo In particolare il movimento verticale degli occhi fornito tramite una cinghia ed comune ad entrambi gli occhi 20 2 1 Teste robotiche Mini RC Servo 1 For Tilting both eyes x Mini RC Servo 2 For panning the left eye Time Bell he Left Camera The Right Camera Mini RC Serve 3 For panning the right eve Figura 2 7 Struttura che permette il movimento oculare di i RoK 10 Capitolo 2 Stato dell arte 2 2 Sistemi visivi 2 2 1 Telecamere attuate tramite PAM Figura 2 8 Telecamera Attuata da muscoli artificiali Un recente progetto del 2009 indagava la possibilit di attuare una telecamera tramite muscoli artificiali Lo studio investigava il problema del controllo degli attuatori e di stabilizzazione delle immagini in relazione ai disturbi rilevati Un robot attuato da muscoli pneumatici artificiali presenta infatti numerose difficolt nel controllo rispetto ad attuatori elettrici necessitando un controllo PWM delle valvole che regolano la pressione dell aria Il vantaggio di usare attuatori pneumatici senza dubbio la duttilit dei materiali con i quali sono costruiti ci rende possibile realizzare dei soft robot che non presentano una struttura rigida come succede nei robot attuati elettrica
48. E SUL SINGOLO PASSO in gradi 1 Spostamento 0 0214 2 Spostamento 0 0286 3 Spostamento 0 0112 4 Spostamento 0 0841 5 Spostamento 0 0257 6 Spostamento 0 0945 7 Spostamento 0 0129 8 Spostamento 0 0664 9 Spostamento 0 0312 10 Spostamento 0 0840 11 Spostamento 0 0359 12 Spostamento 0 0359 Errore medio 0 0443 Errore massimo 0 0945 Tabella 9 3 Test eseguiti sul motore numero 1 processando le immagini scattate con la telecamera sinistra 9 3 Test di precisione 99 Prova Nr 7 Nr 8 Nr 9 Nr 10 Nr 11 Nr 12 Drive normal Modalita full step full step full step 0 9 5 4 5 4 4 5 Passo 1 8 1 8 POSIZIONI COMANDATE in gradi 1 Posizione 0 2 Posizione 1 8 3 Posizione 3 6 4 Posizione 5 4 5 Posizione 1 2 6 Posizione 9 7 Posizione 10 8 8 Posizione 12 6 9 Posizione 14 4 10 Posizione 16 2 11 Posizione 18 12 Posizione 19 8 13 Posizione 21 6 PASSI RILEVATI in gradi 1 Spostamento 1 7412 1 7725 0 7532 5 3898 5 4112 4 4559 2 Spostamento 1 8266 1 8242 0 8137 0 2966 5 4048 4 4965 3 Spostamento 1 8467 1 8327 0 8228 5 4021 5 4039 4 5308 4 Spostamento 1 7761 1 7547 0 8216 5 4644 5 4294 4 4679 5 Spostamento 1 8023 1 8381 0 8274 4 4977 6 Spostamento 1 8517 1 8404 0 8338 7 Spostamento 1 8478 1 8415 0 8206 8 Spostamento 1 7895 1 7705 0 7807 9 Spostamento 1 8014 1 8325 0 8030 10 Spostamento 1 8518 1 8423 0 8210 11 Spostamento 1 844
49. EFT EDGE DELTA X MOE 2 double pos y y TOP EDGE DELTAYMOE BOTTOM EDGE TOP EDGE DELTA Y MOE 2 pos x pos x 650 x y old time_old time La documentazione dei comandi di ibmoe puo essere reperita nella sezione A 2 Come prima cosa notiamo l utilizzo della funzione MOE_open necessaria per inizializzare il collegamento seriale con l apparato Quello che segue il parsing dello standard input che proviene dal synclient I dati di nostro interesse sono il timestamp i riferimenti x e y la pressione e il flag indicante la pressione del left button del touchpad Il resto delle informazioni viene scartato Ulteriore elemento di difficolt costituito dall header che ciclicamete ogni 20 eventi stampati synclient invia In programma implementato cicla cercando l header e dopo averlo rico nosciuto e scartato si aspetta 20 eventi validi dopodich ancora un header e cosi via Per rendere il controller utilizzabile abbiamo previsto dei semplici filtri software ovvero un filtro sulla pressione esercitata sul touchpad e sulla variazione di posizione In questo modo scartiamo eventi con un valore di pressione basso ovvero sfioramenti non voluti del touchpad oppure varia zioni minime dall ultima posizione registrata rumore bianco del dispositivo Un ulteriore filtro consiste nell inibire un evento se il tempo intercorso tra l evento e l ultimo regist
50. LL STEP DI L297 gt 3 lt o o o o T o 7 1 L297 APPLICATION INFORMATION TWO PHASE BIPOLAR STEPPER MOTOR CONTROL CIRCUIT This circuit drives bipolar stepper motors with winding currents up to 2A The diodes are fast 2A types Figure 2 CWICCW CLOCK HALF FULL sere M RESET WINDINGS ENABLE V viet 15 1113 13 14 1 c CONTROL HOME S 5846 4 fis Rs2 D toD8 2A FAST DIODES Figure 3 Synchronising L297s 584711 q 8 11 L297 OUTLINE AND MECHANICAL DATA LO e Co e N LO m LO L E 2 LO r 2 e e o e LO T LO oj eo LO lo e Ps a UA eo E S 5 e Oo TIA i Z e e3 b D 9 11 OUTLINE AND MECHANICAL DATA 10 65 0 394 SO20MEC DI 10 11
51. La bilaterale integrazione delle attivit oculomotorie fa s che i due occhi costituiscano una singola unit funzionale e realizzino insieme una sorta di occhio ciclopico capace di provvedere alla visione unica e stereoscopica degli oggetti I movimenti dei due occhi possono essere uguali orizzontali cosiddetto bianco dell occhio 4 3 Classificazione dei movimenti oculari 23 verticali di torsione sull asse antero posteriore od opposti convergenza divergenza e soddisfano molteplici esigenze quali 1 mantenere stabile l asse visivo 2 rintracciare inseguire e fissare gli oggetti che entrano nel campo visivo 3 consentire una visione unica e stereoscopica 4 permettere un esplorazione attenta dell ambiente 4 Di particolare rilevanza per lo sviluppo del sistema MOE sono i movimenti di inseguimento lento le saccadi e la vergenza 4 3 1 Inseguimento lento Il movimento di inseguimento lento consente di mantenere in posizione foveale piccoli bersagli che si spostano sullo sfondo Solitamente quando si segue un bersaglio mobile saccadi di piccola ampiezza sono intercalate a periodi di inseguimento lento Il movimento di inseguimento efficace a velocit dello stimolo fino a 100 s e la sua latenza di circa 100 ms Inoltre questo movimento non pu essere eseguito senza un bersaglio in tal caso sarebbe una semplice sequenza di saccadi Questo movimento si avvale di una componente predittiva che
52. POLITECNICO DI MILANO Corso di Laurea Specialistica in Ingegneria Informatica Dipartimento di Elettronica e Informazione M O E UN SISTEMA DI VISIONE SLEREOSCOPICO BIOISPIRATO PER IL ROBOT MAXIMUM ONE AI amp R Lab Laboratorio di Intelligenza Artificiale e Robotica del Politecnico di Milano Relatore Prof Giuseppina Gini Correlatore Ing Flavio Mutti Tesi di Laurea di Giacomo Giacchetti matricola 680825 Renzo Vannucci matricola 708568 Anno Accademico 2009 2010 Ai nostri cari Sommario I presente elaborato di tesi tratta la progettazione e la realizzazione pro totipale di una testa robotica per il robot Maximum One che chiameremo Maximum One hHead brevemente MOE L obiettivo prefisso quello di emulare tramite MOE quelle che sono le caratteristiche del sistema visivo umano Nell elaborato trattiamo lo stato dell arte delle teste robotiche lo sviluppo della parte meccanica della parte elettronica ed infine delle librerie software per il controllo del sistema realizzato Concludiamo la trattazione descrivendo i test effettuati commentando 1 risultati ottenuti evincendone pregi quali affidabilit e precisione e difetti quali basse velocit di rota zione in certe condizioni e peso eccessivo E presente anche una sezione sui possibili sviluppi futuri che a nostro avviso potrebbero migliorare le caratteristiche del prototipo Ringraziamenti Ringraziamo in modo particol
53. S stock nos Suitable stepper motors Suggested wiring configuration 440 420 size 17 440 436 size 17 191 8299 size 17 191 8306 size 17 Unipolar 2A RS stock no 332 098 440 442 size 23 This drive is only suitable for 440 458 size 23 applications where low speeds 191 8328 size 23 and low torques are required 191 8334 size 23 191 8340 size 23 191 8356 size 23 191 8362 size 23 191 8384 size 23 440 442 Size 23 Series or parallel 440 455 Size 23 Parallel connection 191 8328 Size 23 Series Bipolar 3 5A RS stock no 342 051 191 8362 Size 23 Series Suitable for medium current 191 8378 Size 23 Series or parallel medium torque applications 191 8384 Size 23 Series or parallel 440 464 Size 34 Series or parallel connection 440 470 Size 34 Series or parallel connection pet Ssockno 020 eee SEA oo Suitable for high current high torque 440 464 Size 34 Parallel connection applications 440 470 Size 34 Series or parallel connection Note Connecting a stepper motor in series will give a good low speed high torque performance Connecting a stepper motor in parallel will give a good high speed lower torque performance Drive board connections RS unipolar stepper motor drive board connections Board supply 15 30Vdc V Auxillary output 12Vdc 50mA Board and motor may share the same suppply External controls V motor 30Vdc max Full half step 25 27 32 31 30 29 Clock EEEN 2
54. a Francesco Becchi Roque Saltaren Ricardo Beira Manuel Lopes icub http www icub org 2006 24 RS Hybrid stepper motor datasheet 1997 25 F Schulte The characteristics of the mckibben artificial muscle 1961 26 Jeroen Smeets Jeroen J Smeets and Ignace T C Hooge Nature of variability in saccades 2003 27 STMicroelctoronics L297 datasheet 2001 28 STMicroelctoronics L298 datasheet 2001 29 Maria Teresa Tuccio Meccanismo della visione dall occhio al cervello http www amedeolucente it meccanismovisione html 2010 BIBLIOGRAFIA 113 30 Andy White Headroidl a face tracking ro bot head http ianozsvald com 2010 05 21 headroidi a face tracking robot head 114 BIBLIOGRAFIA Appendice A Il manuale utente Il manuale utente si compone di due parti la prima realtiva alla messa in funzione della struttura meccanica compresi fili e attacchi la seconda riguarda la documentazione della libreria libmoe per la realizzazione software di controllo dell apparato MOE A 1 Connessione dei cavi Descriviamo ora i componenti di MOE 1 Testa vera e propria struttura dotata di 3 motori 2 telecamere 6 cavi schermati e 2 cavi usb per le webcam 2 Millefori multipiano relativa alla parte elettronica presenta 6 ingressi per i sensori di cui 3 utilizzati 3 uscite per i motori 1 ingesso seriale maschio 1 ingresso per l alimentazione e 2 uscite per il tester ed un trasformatore
55. a 3 volte il tempo massimo di esecuzione della routine di interrupt Programmaticamente la routine di interrupt appare nel seguente modo if TOIF logica da eseguire TMRO 68 TOIF 0 Il registro TOIF viene valorizzato dal PIC a 1 quando il timer va in overflow Il registro TMRO contiene il valore del contatore incrementato una volta ogni 130 5 ps 7 5 Gestione dello stato 75 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 INTCON REGISTER ADDRESS OBh 8Bh 10Bh 18Bh RAN 0 RAN 0 RAV 0 RAN 0 R W O R N 0 R W 0 R AN x ee eme me wr Ree INTF RO bit 7 bit GIE Global Interrupt Enable bit 1 Enables all unmasked interrupts 0 Disables all interrupts PEIE Peripheral Interrupt Enable bit 1 Enables all unmasked peripheral interrupis 0 Disables all peripheral interrupts TMRO Overflow Interrupt Enable bit 1 Enables the TMRO interrupt Disables the TMRO interrupt INTE RBO INT External Interrupt Enable bit 1 Enables the RBO INT external interrupt 0 Disables the RBO INT external interrupt RBIE RB Port Change Interrupt Enable bit 1 Enables the RB port change interrupt 0 Disables the RB port change interrupt TOIF TMRO Overflow Interrupt Flag bit 1 TMRO register has overflowed must be cleared in software TMRO register did not overflow INTF RBO INT External Interrupt Flag bit 1 The RBOINT external interrupt
56. a abbiamo utilizzato 1 parametri estrinseci per calcola re l effettiva rotazione della telecamera rispetto a due diverse immagini Sottraendo alla misura ottenuta la dimensione del passo utilizzato stato possibile calcolare l errore di ogni singolo spostamento Dopo aver ripetuto l operazione per i 18 test siamo stati in grado di comple tare la tabella 9 3 per il primo motore la 9 4 per il secondo motore e la 9 5 per il terzo motore 9 3 Test di precisione 97 Nella tabella 9 6 infine abbiamo sintetizzato le medie dei risultati ottenuti suddividendo i risultati in base al tipo di test eseguito al fine di verificare se cambiando il tipo di pilotaggio effettuato l errore variasse in maniera significativa Il risultato ci dimostra che non esiste una grossa differenza tra i risultati dei diversi test dato che l ordine di grandezza esattamente lo stesso L errore medio calcolato su tutti e 18 1 test stato di 0 0547 gradi prendendo come riferimento il passo intero da 1 8 gradi possiamo calcolare un errore percentuale medio pari a circa il 3 valore che consideriamo pienamente soddisfacente Abbiamo calcolato inoltre l errore massimo medio su tutti i test questo risulta uguale a 0 1070 gradi pari al 5 9476 del passo intero Chiamiamo E Med E P Med E Max ed E P Max rispettivamente l errore medio l errore percentuale medio l errore massimo e l errore percentuale massimo ricavato dai test Il risultato della tabella 9 6 non evinc
57. a seguente procedura in pseudo codice posizione 0 posizione lt posizione_fine_corsa posizione 0 9 test motore posizione sleep 1 test motore posizione posizione_fine_corsa sleep 1 90 Capitolo 9 Valutazioni sperimentali MOE In questo modo abbiamo controllato tutte le posizioni dallo zero al fine corsa che ricordiamo essere di 30 gradi per il motore verticale e di 45 gradi per i due motori orizzontali 9 2 Test di velocit I test di velocit sono stati esegui in due fasi la prima fase consisteva nella verifica delle velocit raggiungibili dai motori orizzontali questi in fatti presentavano una struttura simmetrica strutturalmente identica ed abbiamo supposto che raggiungessero le stesse velocit Abbiamo quindi testato via software tutte le velocit ed abbiamo compilato una tabella in cui mostravamo quali velocit non fossero raggiungibili Per questa prima fase abbiamo rilevato una velocit massima raggiungibile per i due motori sull asse orizzontale su spostamenti di circa 40 pari a 665 s Per velocit superiori i motori non eseguivano lo spostamento correttamente dato che perdevano sistematicamente il passo Nonostante ci la massima velocit raggiungibile dai piccoli motori adibiti al movimento orizzontale soddisfa cente per emulare i movimenti saccadici umani Nella seconda fase dei test abbiamo analizzato il comportamento del primo motore e cio quello che
58. acchetto msg rcvd segue lo stesso principio di funzionamento 7 4 Comandi implementati 69 7 4 Comandi implementati Abbiamo sviluppato 4 comandi per controllare l apparato meccanico MOE tramite riferimenti di posizione e di velocit Vengono selezionati valorizzando il Byte id del pacchetto msg_revd con il codice comando corrispondente Per ogni pacchetto msg rcvd inviato al PIC possibile richiamare un solo comando I comandi sono get set codice comando 0x11 Non bloccante rispetto a un comando di set Con tale comando il PIC risponder inviando il messaggio msg_sent con la posizione attuale delle 2 telecamere Tale posizione si riferisce al mo mento dell invio del messaggio msg_sent da parte del PIC attualmente il sistema non fornisce nessun meccanismo per controllarne l effettiva coerenza successiva all istante di invio del pacchetto Un sistema per ottenere delle informazioni aggiornate sullo stato del sistema consiste quindi nel fare polling con comandi di get I campi escluso l id in un messaggio di get sono ininfluenti ricordiamo per che la checksum deve essere coerente con quanto inviato codice comando 0x22 Sovrascrive un eventuale set in corso Il PIC inizier a muovere gli attuatori per raggiungere la posizione richiesta mantenendo la velocit richiesta Arrivato nella posizione designata non notificher l evento al PC Un sistema per ottenere delle informazioni aggi
59. an and tilt Headroid ss 12 Primo piano del collo del robot Maximum One 15 La struttura dell occhio umano 19 L occhio come una macchina fotografica 19 L anatomia della retina 20 Rapporto gangli fotorecettori 20 I m scol delloeellO axe E Meet e uS de ARE Lari 21 Campo visivo 22 Estensione orizzontale del campo visivo di MOE 25 Estensione verticale del campo visivo di MOE 25 Rappresentazione frontale semplificata del prototipo nr 1 30 Rappresentazione frontale semplificata del prototipo nr 2 31 Rappresentazione frontale semplificata del prototipo nr 3 32 Rappresentazione frontale semplificata del prototipo nr 4 33 Parte bassa della struttura mobile del prototipo nr 4 34 Rappresentazione frontale semplificata del prototipo nr 5 35 Rappresentazione frontale semplificata del prototipo nr 6 36 Rappresentazione frontale semplificata del prototipo nr 7 37 XI 5 9 Primo piano del sensore di finecorsa montato vicino alla telecamera destra 38 5 10 Fotografia della versione definitiva della struttura meccanica cM ar a eea ee Ne a ws Ge a 39 6 1 Interfacciamento RS232 tramite MAX 282 44 6 2 Schema elettrico LM7805 44 6 3 Motore passo passo bipolare 45 6 4 Pilotaggio one phase on
60. are la Professoressa Gini per l interessante lavoro di tesi che ci ha permesso di sviluppare Il nostro correlatore per la pazienza che ha dimostrato nel saper ascoltare le nostre domande nell aiutarci a trovare gli errori e le possibili soluzioni e soprattutto la passione per il proprio lavoro doti molto rare e preziose grazie Flavio Il Signor Vannucci per i consigli sulla parte hardware della tesi I ragazzi dell AirLab per i numerosi consigli che hanno saputo darci nel corso di questi mesi in particolare Davide Rizzi e Martino Migliavacca Giacomo e Renzo Vorrei ringraziare coloro che hanno saputo credere in me senza di loro il percorso che mi ha portato fino a qui sarebbe stato sicuramente pi difficile Ringrazio i miel genitori che mi hanno sostenuto in questi anni esortandomi anche e soprattutto nei momento di difficolt Un immenso grazie a Susanna compagna durante questo mio percorso universitario per la tua presenza ed affetto costante lungo questo impegnativo cammino Il pensiero va anche a Salvo mio coinquilino e caro amico ed i suoi fratelli Davide e Giuseppe con i quali ho trascorso gli ultimi mesi di lavoro Un ringraziamento particolare va al signor Pagani per i preziosi consigli e per la disponibilit nella creazione dei pezzi di cui avevo bisogno Grazie anche ad Alessandro per i disegni CAD dei prototipi ed a Mattia per i consigli sulle procedure burocratiche riguardanti la tesi avrei dimenticato sicuramente qualco
61. bito al movimento verticale potrebbe necessitare delle correzioni nel controllo del movimento del collo del robot Maximum One Inoltre anche le dinamiche del movimento potrebbero non essere ideali nel caso venissero usate testa e collo contemporaneamente Un secondo problema riscontrato quello relativo all aspetto scarsamente umanoide di MOE anche in questo caso la motivazione dettata dalla volont di evitare giochi e quindi imprecisioni altrimenti sarebbero state sviluppate le idee presenti nei primi prototipi Un ulteriore problema quello del rumore del motore verticale che durante il controllo fischia e potrebbe disturbare l eventuale acquisizione audio da parte delle telecamere 10 2 Possibili miglioramenti 105 10 2 Possibili miglioramenti Abbiamo valutato che per migliorare il sistema potrebbero essere effettuate le seguenti modifiche 1 sostituire motore verticale 2 implementare controllo in microstepping 3 cambiare la parte meccanica con materiali pi leggeri o una struttura differente 10 2 1 Sostituzione motore verticale Il motore verticale attuale presenta numerosi elementi di criticit che derivano da una bassa qualit manifatturiera di cui il rumore sopracitato una chiara prova Purtroppo il rumore non l unico contro di questo dispositivo Ben pi grave probabilmente il basso valore di coppia erogata Ci limita la velocit massima di rotazione raggiungibile dal ca
62. cata del prototipo nr 2 Nel secondo prototipo abbiamo cercato di sostituire il giunto cardanico con una struttura meccanica che avvolgesse le telecamere e permettesse le rotazioni dall esterno Per questo motivo abbiamo ideato una struttura basata su di una circonferenza concentrica rispetto all obiettivo di ciascuna telecamera che ricordiamo essere di forma sferica La circonferenza doveva essere in grado di ruotare dall alto in basso per mezzo dei giunti laterali che ne sostenevano la struttura All interno della circonferenza avevamo previsto di posizionato un asse verticale che passando all interno del bulbo della telecamera permettesse la rotazione destra sinistra Tali circonferenze dovevano essere movimentate ancora una volta da cavi inestensibili collegati ai motori L impossibilit in laboratorio di creare cerchi con sufficiente precisione ci ha fatto scartare questa seconda configurazione Abbiamo inoltre iniziato a ragionare sul movimento verticale cercando di documentarci se questo fosse effettivamente accoppiato per entrambi gli occhi 32 Capitolo 5 Sistema meccanico MOE 5 1 3 Prototipo Nr 3 Figura 5 3 Rappresentazione frontale semplificata del prototipo nr 3 Nel terzo prototipo abbiamo deciso di sostituire la struttura cilindrica che doveva sostenere le telecamere con una simile ma di forma rettangolare in questo modo la creazione in laboratorio stata notevolmente semplificata Abbiamo inoltre dec
63. chiera scacchiera Abbiamo inserito una tolleranza di 5px nella ricerca degli angoli interni al fine di permettere al software di calibrazione di identificare un intorno in cui cercare gli angoli come si puo vedere nella figura 9 3 Dopo aver identificato tutti gli angoli delle cinque immagini stata eseguita 9 3 Test di precisione 95 Reprojection error in pixel To exit right button Figura 9 4 Distribuzione degli errori la calibrazione al termine della quale stato possibile ottenere il grafico sulla distribuzione degli errori Nella figura 9 4 possiamo vedere l errore tra l angolo reale e l angolo calcolato da matlab in particolare ogni errore di una stessa immagine mostrato con lo stesso colore Extrinsic parameters world centered a 1600 2 1400 Extrinsic parameters camera centered 12004 E 1000 4 n 800 500 4 600 400 040 200 0 227 500 0 200 400 0 Y work 5001 id Xworld 200 ee VL et ato 400 DET 500 Remove camera reference frames 600 0 i i Remove camera reference frame Switch to world centered view Figura 9 5 Parametri estrinseci Figura 9 6 Parametri estrinseci rispetto alla rispetto alla scacchiera camera 96 Capitolo 9 Valutazioni sperimentali MOE Abbiamo poi estrapolato i parametri delle scacchiere rispetto alle tele camere e viceversa come mostrato nelle immagini 9 6 e 9 5 Al termine di questa procedur
64. corsa dei motori da utilizzare sia nel caso di startup del sistema sia nel caso di un eventuale perdita di passo durante uno spostamento Per tale scopo abbiamo utilizzato degli switch ottici T CST 2103 della Telefunken con led emittente a 950 nm Vcc 5V e IF 50 mA Alimentando il led 5 Volt la resistenza limitatrice in serie al Led sara R Vcc VF IF dove VF la Forward Voltage che 1 2 Volt per cui R di circa 220 Ohm Il dimensionamento della resistenza in serie al collettore non critico considerato l ingresso ad alta impedenza del Pic e pu essere ad esempio di 10 KOhm Lo schema del sensore ottico implementato il seguente 6 3 Realizzazione apparato elettronico MOE 57 scheda calza giallo scheda sensore lN4007 TCST 2103 Figura 6 14 Schema elettrico sensore ottico 6 3 2 Schema elettrico della scheda di pilotaggio Vref viene alimentato con un partitore resistivo tarato per far fornire ai motori RS440 420 una corrente di 0 5 A come da datasheet Al piedino 4 dell integrato L298 arriva una tensione di 12 Volt fornita direttamente dall alimentatore switching Questa tensione serve ad alimentare i ponti H che forniscono tensione ai motori stepper Per evitare problemi di rumore di massa dovuto a configurazioni multiple abbiamo adottato come consigliato dal datasheet la sincronizzazione degli oscillatori chopper per cui abbiamo lasciato che un solo L297 generasse il segnale poi distribuito agli al
65. del motore verticale che minimizza l errore di rappresentazione ovvero la quantit abs spd spd tabella velocit sul riferimento passato come input dimensionato in grad sec Input la velocit di riferimento in gradi al secondo Output la velocit rappresentabile in gradi sec A 2 3 command h il static int fd 0 3 int open char path speed table x char path speed table y La funzione MOE open inizializza le tabelle delle velocit e il device del convertitore usb seriale con cui il PC viene collegato fisicamente al PIC La funzione itera ogni device con nome ttyusbX dove X un intero compreso tra 0 e 9 Se un dev viene trovato esso inizializzato come una seriale con velocit 19200 baud 8bit per simbolo senza parit senza controllo di flusso La funzione prova quindi a inviare un comando di get e se riceve risposta entro un timeout di 5 secondi accetta il device come valido Input i path delle tabelle di velocit Output 1 in caso di successo 0 in caso di insuccesso Un insuccesso puo dipendere sia dal path errato di una delle due tabelle di velocit sia dal device del convertitore usb seriale non trovato il float MOE_get La funzione MOE get deve essere chiamata dopo che la MOE_open stata eseguita con successo Essa invia al firmware il comando di get Output un array di 3 valori in doppia precisione rappresentanti le posizioni in gradi delle webcam y x1 e x2 rispet
66. do che una volta indurita rimaneva molto piu rigida Abbiamo infine montato 1 3 sensori di finecorsa ogni sensore presentava Figura 5 9 Primo piano del sensore di finecorsa montato vicino alla telecamera destra una fessura che in caso fosse ostruita da un oggetto di spessore adeguato inviava il segnale di raggiungimento del massimo angolo permesso al sistema elettronico Due sensori sono stati montati lateralmente rispetto alle teleca mere ed abbiamo dotato le telecamere di una placchetta in plastica in grado di ostruire completamente lo spazio apposito del sensore come mostrato nelle 5 2 Prototipi costruiti 39 figura 5 9 Per quanto riguarda il movimento verticale abbiamo montato un sensore nella parte posteriore tale sensore veniva ostruito da una placca in plastica fissata alla struttura esterna della parte mobile L immagine della struttura finale mostrato in figura 5 10 Il peso totale Figura 5 10 Fotografia della versione definitiva della struttura meccanica di MOE della struttura risultato pari a 1 7 kg chiaramente fuori specifiche a questo dato vanno tuttavia sottratti e 80 grammi della base in legno e circa 100 grammi di cavi che in caso fossero fissati a corpo del robot Maximum One non scaricherebbero il loro peso direttamente sul collo e circa 200 grammi per l attacco in alluminio di MOE al collo che puo essere rimosso e sostituito con dei semplici fori sulla base in plexiglas Il peso finale d
67. durre il peso totale inoltre l uso di un materiale parzialmente elastico permette di assorbire sia le vibrazioni inevitabilmente causate dal movimento del motore passo passo per il movi mento verticale sia per assorbire eventuali piccoli disallineamenti dei due assi di rotazione della parte mobile Al fine di ridurre ulteriormente il peso la leva della struttura mobile stata ulteriormente ridotta e la placchetta di sostegno tra motore e parte mobile stata rimossa Dopo i primi test preliminari abbiamo eliminato anche il riduttore dato che non comportava un guadagno n per quanto riguarda lo spostamento del carico il nuovo motore era sufficiente per questo compito n per quanto riguarda la velo cit massima la riduzione infatti dimezzava di fatto la velocit Abbiamo inoltre sostituito la colla a caldo che fissava le due webcam agli alberi dei motori con del silicone specifico per alte temperature dopo aver assodato 2 una termocoppia 38 Capitolo 5 Sistema meccanico MOE che mantenendo il sistema acceso per diverse ore il calore sprigionato dai motori raggiungeva i 55 temperatura sufficiente ad un parziale scioglimento del collante usato per il fissaggio Un effetto secondario dell uso del silicone stato quello di attutire in misura molto maggiore rispetto alla colla a caldo le vibrazioni delle telecamere questo perch una volta asciutto il silicone rimaneva notevolmente elastico al contrario della colla a cal
68. e 1 Figure 1 Unipolar drive Here the current in each winding when energised flows in one direction only n value is 21 but not necessarily an integer and nR is the sum of the external resistance plus the winding resistance R By selecting a higher value for n 1e larger external resistance and using a higher dc supply to maintain the rated voltage and current for each winding improved torque speed characteristics can be obtained Thus a 6V 60 motor 1A per phase can be driven from a 6Vdc supply without any series resistor in the L R mode Alternatively it can be driven from a 24Vdc supply using 18Q series resistance in the L 4R mode with much improved performance 232 5749 Figure 2 Effect on motor performance of higher supply voltages and larger series limiting resistance Torque Increased n Connection to RS bipolar stepper motor board When the windings of the RS stepper motors are assigned 21 04 as shown in Figure 3 they can be connected to the board according to Figure 1 Figure 3 Typical motor winding connections Black White 1 8 Stepper motor 6 wire 7 5 Stepper motors 6 wire White White Red Yellow Black Orange White White 1 8 Stepper motor 8 wire parallel 1 8 Stepper motor 8 wire series When using 8 lead motors with coils in parallel the motor current should be set no greater than I per phase x V2 When using 6 lead or 8 lead motors with coils in series the
69. e alcuna situazione particolarmente critica riguardo all errore medio e massimo Una piccola variabilit e giustifi cata dal numero contenuto di dati analizzati L errore massimo calcolato sommando quindi errore di risoluzione ed errore sistematico pari quindi a 0 5047 Possiamo quindi affermare di aver rispettato le specifiche di precisione richieste 98 Capitolo 9 Valutazioni sperimentali MOE Prova Nr 1 Nr 2 Nr 3 Nr 4 Nr 5 Nr 6 Drive normal Modalit full step full step full step 0 9 5 4 5 4 4 5 Passo 1 8 1 8 POSIZIONI COMANDATE in gradi 1 Posizione 0 2 Posizione 1 8 3 Posizione 3 6 4 Posizione 5 4 5 Posizione 1 2 6 Posizione 9 7 Posizione 10 8 8 Posizione 12 6 9 Posizione 14 4 10 Posizione 16 2 11 Posizione 18 12 Posizione 19 8 13 Posizione 21 6 PASSI RILEVATI in gradi 1 Spostamento 1 7786 1 6775 0 8993 5 1676 5 2671 4 2441 2 Spostamento 1 8286 1 7844 0 8398 5 3795 5 3955 4 4313 3 Spostamento 1 8112 1 7964 0 9240 5 3909 5 4303 4 4162 4 Spostamento 1 8841 1 8029 0 8832 0 9084 5 4534 4 5037 5 Spostamento 1 7743 1 7989 0 9286 4 3824 6 Spostamento 1 8945 1 8422 0 8750 7 Spostamento 1 8129 1 8305 0 9284 8 Spostamento 1 8664 1 8362 0 9021 9 Spostamento 1 8312 1 8249 0 8985 10 Spostamento 1 8840 1 8469 0 8974 11 Spostamento 1 8359 1 8512 0 9049 12 Spostamento 1 8731 1 8350 0 9266 Passo medio 1 8396 1 8106 0 9007 5 3616 5 3866 4 3955 ERROR
70. e binoculare delle immagini Si accompagnano quindi ad ogni cambio del piano focale Tradizionalmente si considera il movimento di vergenza caratterizzato da una latenza abbastanza elevata 150 200ms da una bassa velocit 15 s e da un tempo relativamente elevato per raggiungere la velocit massima circa 1 s 4 4 Caratterische visive emulate nel sistema MOE 25 4 4 Caratterische visive emulate nel sistema MOE 4 4 1 Proporzioni Dato che la distanza media tra 1 centri focali dei due occhi umani di circa 7 cm abbiamo disposto le telecamere alla stessa distanza nella costruzione di tutti i prototipi meccanici di MOE 4 4 2 Campo visivo RY S qi OK Figura 4 7 Estensione orizzontale del Figura 4 8 Estensione verticale del campo visivo di MOE campo visivo di MOE Come spiegato nella sezione 4 2 3 il campo visivo umano fortemente asimmetrico Per semplificare il riconoscimento degli estremi del campo visivo di MOE abbiamo deciso di renderlo simmetrico rispetto agli assi verticale e orizzontale In accordo con i progetti studiati nella sezione 2 abbiamo deciso di ridurre l estensione orizzontale e verticale del campo visivo dato che i movimenti di inseguimento veloce si concentrano fortemente attorno al centro di quest area Nell uomo l acuit visiva stessa concentrata nella zona foveale e diminuisce progressivamente nella zona periferica della retina 26 Capitolo 4 Bio
71. e get speed from table x permette di selezionare la velocit nel formato processabile dal firmware del motore orizzontale che minimizza l erro di rappresentazione ovvero la quantit abs spd spd tabella di velocit sul riferimento passato come input dimensionato in grad sec Input la velocit di riferimento in gradi al secondo Output la velocit rappresentabile dal firmware unsigned char get speed from table y double spd La funzione get speed from table y permette di selezionare la velocit nel formato processabile dal firmware del motore verticale che minimizza l errore di rappresentazione ovvero la quantit abs spd spd tabella di velocit sul riferimento passato come input dimensionato in grad sec Input la velocit di riferimento in gradi al secondo Output la velocit rappresentabile dal firmware int get real speed from table x double spd 124 Appendice A Il manuale utente La funzione get real speed from table x ritorna la velocit in gradi al secondo del motore orizzontale che minimizza l errore di rappresentazione ovvero la quantit abs spd spd tabella velocit sul riferimento passato come input dimensionato in grad sec Input la velocit di riferimento in gradi al secondo Output la velocit rappresentabile in gradi sec i int get real speed from table y double spd La funzione get real speed from table y ritorna la velocit in gradi al secondo
72. elettrico scheda microprocessore E ni s E 5g d ad Switches ottici RS232 55 che supporta lo stabilizzatore 7805 ed il MAX232 a sua volta fissato su una basetta millefori in cui assemblato il PIC16F877 20 P che ha i seguenti collegamenti 56 Capitolo 6 Architettura dell apparato elettronico MOE e A C B da 6 pin ognuno per le tre schede millefori che controllano i motori stepper bipolari 6 4 pin per i sensori di fine e inizio corsa e 2 pin in parallelo 12 Volt per alimentare i tre ponti H dei tre integrati L298 e una presa tipo coassiale da collegare all alimentatore switching 12 Volt Ogni presa di sei poli A B C collegate alle schede controllori motori stepper sono cosi configurate e 5 Volt e Sync sincronizzazione degli oscillatori dei tre chopper negli L297 e Direct segnalato dal led giallo se low ccw e Half Full segnalato dal led verde se low full step 1 8 e Clock segnalato dal led rosso ogni fronte di salita uno step o mezzo step a seconda del livello di Half Full e Gnd 5e le prese descritte vengono inserite al contrario gli integrati alimentati nelle schede di pilotaggio andrebbero in corto circuito Per evitare questo abbiamo inserito un diodo di protezione su ciascuna delle tre schede e messo un fusibile da 500 mA all uscita dell integrato LM7805 E stato necessario implementare un sistema di taratura dei fine
73. ella struttura quindi di 1 3 chilogrammi ricordiamo per che circa 200 250 grammi potrebbero essere recuperati nel caso si decidesse 40 Capitolo 5 Sistema meccanico MOE di sostituire il motore verticale con uno pi costoso ma dotato di prestazioni maggiori nonch di peso ridotto Capitolo 6 Architettura dell apparato elettronico MOE Un giorno le macchine riusciranno a risolvere tutti i problemi ma nessuna di esse potr porne uno Albert Einstein 1879 1955 fisico tedesco In questo capitolo presenteremo l apparato elettronico MOE Esso nasce con lo scopo di permettere un controllo di precisione in posizione e in velocit delle webcam presenti nell apparato meccanico MOE 6 1 Introduzione L intero progetto si basa sulla scelta della tecnologia dei motori essa infatti influenza sia l elettronica di controllo che lo stadio di potenza Sebbene l utilizzo di servomotori potesse sembrare una scelta scontata in questa sede abbiamo scelto dei motori passo passo per soddisfare il requisito di precisione presente nelle specifiche In un ottica di contenimento costi non sarebbe stato possibile infatti conciliare tale specifica di precisione utilizzando dei servomotori economici Sono stati determinanti inoltre nella scelta della tecnologia la possibilit di eseguire un controllo ad anello aperto eliminando in questo modo eventuali problematiche di stabilit nonch la buona disponibilit di i
74. elle situazioni a patto di concentrare il movimento sull asse orizzontale o di eseguire saccadi di piccola ampiezza come spiegato nella sezione 9 2 Per quanto riguarda il peso totale superiamo le specifiche richieste di circa 300 grammi non siamo riusciti a ridurre il peso totale oltre 1 1 3 chilogrammi tuttavia il peso totale della struttura cosi come la velocit massima raggiungibile sono specifiche facilmente migliorabili nel caso si decidesse di sostituire il motore adibito al movimento verticale con un nuovo stepper piu costoso ma con prestazioni superiori ed un peso notevolmente inferiore Merita una nota particolare la precisione del sistema estremamente elevata il sistema MOE infatti ha un errore massimo inferiore al mezzo grado in qualsiasi posizione richiesta ed addirittura di circa 0 05 per posizioni multiple di 0 9 gradi 10 1 2 Punti deboli del sistema MOE Come descritto nella sezione precedente le specifiche rispetto al peso ed alla velocit di rotazione non sono attualmente soddisfatte Nella costruzione del sistema MOE abbiamo dato particolare importanza alla precisione del sistema per questo motivo ogni sistema meccanico che avrebbe potuto introdurre giochi stato ridotto al massimo ed in alcuni casi scartato Se da un punto di vista di precisione il sistema risultato pienamente soddisfacente dal punto di vista del bilanciamento potrebbero sorgere alcuni problemi Tra questi la testa sbilanciata a causa del motore adi
75. empio 92 Capitolo 9 Valutazioni sperimentali MOE 0 45 appunto L errore sistematico invece quello che porta la struttura ad effettuare spostamenti di entita differente rispetto a quella fornita a causa di imprecisioni meccaniche o giochi Abbiamo deciso quindi di effettuare dei test per verificare l errore sistematico in ogni possibile situazione di pilotaggio del motore I risultati dei test effettuati sono esposti nella tabella 9 2 Passo di Test Motore Cam Drive Step Test 1 1 Right Normal Full 1 8 Test 2 1 Right Wave Full 1 8 Test 3 1 Right Both X Half 0 9 Test 4 1 Right Normal Full 9 4 Test 5 1 Right Wave Full 5 4 Test 6 1 Right Both Half 4 5 Test 7 2 Left Normal Full 1 8 Test 8 2 Left Wave Full 1 8 Test 9 2 Left Both 0 9 Test 10 2 Left Normal Full 5 4 Test 11 2 Left Wave Full 5 4 Test 12 2 Left Both Half 4 5 Test 13 3 Right Normal Full 1 8 Test 14 3 Right Wave Full 1 8 Test 15 3 Right Both Half 0 9 Test 16 3 Right Normal Full 5 49 Test 17 3 Right Wave Full 5 49 Test 18 3 Right Both Half 4 5 Tabella 9 2 Test eseguiti Abbiamo effettuato diciotto differenti test di precisione sul sistema motore webcam Si reso necessario un numero cosi elevato di prove per determinare la precisione di ogni singolo motore in ogni possibile tipologia di movimento dei motori passo passo Ogni motore quindi stato sottoposto a sei differenti test i primi tre prevedevano una
76. empo potr essere altrettanto facilmente espansa e migliorata da chiunque vorra cimentarvisi in futuro 8 2 Libreria Una libreria semplicemente un file contenente codice compilato che puo essere successivamente incorporato come una unica entit in un nostro pro gramma in fase di linking l utilizzo delle librerie ci permettere di realizzare programmi pi facili da compilare e mantenere Di norma le librerie sono indicizzate in modo da rendere pi facile localizzare simboli funzioni varia bili classi etc al loro interno Per questa ragione il link ad una libreria 78 Capitolo 8 Libreria MOE pi veloce rispetto al caso in cui i moduli oggetto siano separati nel disco Inoltre quando usiamo una libreria abbiamo meno file da aprire e controllare e questo comporta un ulteriore aumento della velocit del processo di link Nell ambiente Linux come nella maggior parte dei sistemi moderni le librerie si suddividono in due famiglie principali e librerie statiche static libraries e librerie dinamiche o condivise shared libraries Le librerie statiche vengono installate nell eseguibile del programma prima che questo possa essere lanciato Esse sono semplicemente cataloghi di moduli oggetto che sono stati collezionati in un unico file contenitore Le librerie statiche ci permettono di effettuare dei link di programmi senza dover ricompilare il loro codice sorgente Per far girare il nostro programma abbiamo bi
77. epper motors Data Sheet No 440 420 17 Yes 440 436 No 191 8299 No 191 8306 440 442 440 458 191 8328 191 8334 191 8340 191 8356 191 8362 191 8378 191 8384 No No 34 Yes 440 464 No 440 470 These 4 phase hybrid stepper motors are capable of delivering much higher working torques and stepping rates than permanent magnet 7 5 and 15 types Whilst at the same time maintaining a high detent torque even when not energised This feature is partic ularly important for positional integrity Many of the motors are directly compatible with the RS stepper motor drive boards RS stock nos 332 098 342 051 and 440 240 size 34 motors and a number of size 23 motors are supplied in 8 lead configuration which allows the max imum flexibility when connecting to the drive boards Rear extension shafts are provided on three of the motors to enable connection of other drive require ments and feedback devices 1 8 step angle CO O O O CO Size 17 RS stock no 440 436 with rear shaft shown 4 M3x05 UL 1061 AWG 26 Length 200 10 232 5749 Size 23 Lead wire AWG22 L 300 RS stock no 440 458 with rear shaft shown DIMA 56 4 47 1 0 2 47 1 0 2 38 1 0 025 Rear shaft 440 442 440 458 191 8328 191 8334 191 8340 191 8356 191
78. essi vengono scartati se non passano il controllo di checksum oppure se non vengono rispettati 1 segnali di sin cronizzazione Il funzionamento della routine di parsing dei messaggi viene illustrata tramite un diagramma degli stati 1B OxAF IB OXFA 1B 1B 1B HB OxFF 1B 1B Figura 7 4 Diagramma stati Parser 68 Capitolo 7 Firmware MOE Si evincono i seguenti stati INIT stato iniziale Se ricevo il Byte OxAF passo allo stato SYNCO Altrimenti rimango nello stato attuale SYNCO Ho ricevuto il primo Byte di handshaking Se ricevo il Byte OxFA passo allo stato SYNCI Altrimenti torno allo stato INIT SYNC1 Ho ricevuto il secondo Byte di handshaking Attendo il Byte POS_Y per passare allo stato POSY POSY Ho ricevuto il Byte POS_Y Attendo il Byte POS_X1 per passare allo stato POSX1 POSX1 Ho ricevuto il Byte POS X1 Attendo il Byte POS X2 per passare allo stato POSX2 POSX2 Ho ricevuto il Byte POS X2 Attendo il Byte di checksum per passare allo stato CHECKSUM CHECKSUM Ho ricevuto il Byte checksum Attendo il Byte di sync2 OxFF per passare allo stato finale Altrimenti torno allo stato INIT e scarto le informazioni ricevute SYNC2 Ho ricevuto il Byte OxFF Sono nello stato finale Il messaggio correttamente ricevuto posso passare al controllo di validit del contenuto dello stesso Nel diagramma mostriamo il parsing di un pacchetto di tipo msg sent il comportamento del parser del p
79. ettivo di approfondire le conoscenze sul funzionamento dei sistemi biologici da un punto di vista ingegneristico e 4 2 Caratteristiche visive umane 19 biomeccatronico e di utilizzare tali migliori conoscenze al fine di sviluppare metodologie e tecnologie innovative sia per la progettazione che per la realizzazione di nuove macchine e sistemi Nella prossima sezione descriveremo gli aspetti biologici che hanno influenzato la costruzione del sistema MOE 4 2 Caratteristiche visive umane Il sistema visivo umano composto da 3 parti l occhio la retina ed il cervello 29 L occhio e il sistema ottico che forma e proietta le immagini su di una superficie sensibile tale superficie chiamata retina ed ha diversi compiti quali raccogliere le diverse informazioni riguardanti le immagini eseguire una prima elaborazione di tali immagini e trasferire l informazione ai centri superiori L immagine definitiva viene ricomposta dal cervello che elabora i dati raccolti dalla retina Descriveremo brevemente nella prossima sezione la struttura dell occhio umano per comprendere quali caratteristiche sono state di ispirazione per il nostro sistema 4 2 1 L occhio umano Lente Diaframma Lente Il Pellicola Macchina fotografica er Cornea Iride Cristallino Retina Occhio Cornea i Nervo ottico Pupilla Capillari Retina Cristallino Macula N Iride Figura 4 1 La struttura dell occhio F
80. f the inputs The current that flows through the load comes out from the bridge at the sense output an externalresistor Rsa Rss allows to detect the in tensity of this current 1 2 INPUT STAGE Eachbridge is driven by means of four gatesthe in put of which are In1 In2 EnA and In3 In4 EnB The Ininputs set the bridge state when The En input is high a lowstate of the En inputinhibitsthe bridge All the inputs are TTL compatible 2 SUGGESTIONS A non inductive capacitor usually of 100 nF must be foreseen between both Vs and Vss to ground as nearas possible to GND pin Whenthe large ca pacitor of the power supply is too far from the IC a second smaller one must be foreseen near the L298 The sense resistor not of a wire wound type must be groundednear the negative pole of Vs that must be nearthe GND pin of the I C y Each input must be connected to the source of the driving signals by means of a very short path Turn On and Turn Off Beforeto Turn ON the Sup ply Voltageand beforeto Turnit OFF the Enablein put must be driven to the Low state 3 APPLICATIONS Fig 6 shows a bidirectional DC motor control Sche matic Diagram for which only one bridge is needed The external bridge of diodes D1 to D4 is made by four fast recovery elements trr lt 200 nsec that must be chosen of a VF as low as possible at the worst case of the load current The sense outputvoltage can be used to controlthe current
81. ggermente eccessivo a causa dei motori e dei nume rosi cavi Abbiamo svolto delle ricerche su nuovi componenti in grado di aumentare le prestazioni e diminuire il peso della struttura senza stravolgere la parte elettronica abbiamo effettivamente trovato un motore passo passo che potrebbe sostituire quello usato attualmente a patto di incrementare leggermente il budget dell intero sistema Tale componente stato incluso nei datasheet presenti nella sezione B Riteniamo che lo svantaggio maggiore della struttura sia lo spostamento del baricentro verso il motore che aziona il movimento verticale Questo scostamento potrebbe essere problematico se si volesse abbinare il movimento del collo del robot Maximum One azionato da muscoli di McKibben in questo caso bisognerebbe controbilanciare la struttura o riposizionare il motore che causa questa asimmetria ad esem pio con l utilizzo di cinghie che pero deteriorerebbero la precisione del sistema L elaborato di tesi strutturato nel modo seguente Nella seconda sezione illustriamo lo stato dell arte nel campo delle teste robotiche in particolare descriviamo i tre robot Probo Icub e i RoK che presentano notevoli somiglianze con la tesi in oggetto successivamente esponiamo due particolari sistemi di attuazione di telecamere il primo tramite muscoli artificiali ed il secondo tramite una coppia di servomotori Nella terza sezione elenchiamo le specifiche richieste in fase di proge
82. i 0 833 ms pari a 1 1200 e Invece di trasmettere 8 bit se ne possono trasmettere 6 7 o anche 9 ma quest ultima possibilit non prevista dalle porte seriali dei normali PC e Alla fine possibile aggiungere un bit di parit e Alla fine la linea rimane nello stato di riposo per almeno 1 o 1 5 o 2 bit importante notare che se non ho pi nulla da trasmettere il riposo molto pi lungo ovviamente Lo standard originale prevede una velocit fino a 20Kbps Oltre ai bit dei dati in numero variabile tra 5 ed 9 viene inserito un bit di parit opzionale per verificare la correttezza del dato ricevuto Esistono cinque tipi di parit None nessun tipo di parit cio nessun bit aggiunto Pari even il numero di mark incluso il bit di parit sempre pari Dispari odd il numero di mark incluso il bit di parit sempre dispari Mark il bit di parit vale sempre mark Space il bit di parit vale sempre space 62 Capitolo 7 Firmware MOE 7 2 1 Modulo USART nel PIC16F877 Il modulo USART uno dei due moduli di I O seriale che possiede il PIC16F877 Le modalit di funzionamento della periferica sono le seguenti asincrona full duplex per comunicare con terminali dispositivi periferici quali terminali CRT e PC sincrona master half duplex e sincrona slave half duplex per comunicare con periferiche come circuiti integrati A D e D A o EEPROM seriali ecc I registri che control
83. i calore piu efficiente 6 2 Componenti integrati utilizzati 6 2 1 PIC 16F877 Il microprocessore utilizzato il PIC 16F877 20 P che presenta le caratteri stiche di base riassunte nella tabella 6 1 velocit operativa 20 Mhz di clock e 200 ns Fs riso 05 e mee Tn Timer Gis Timer 1i risoluzione 16 eee Tabella 6 1 Caratteristiche di base del 16F877 20 P 6 2 Componenti integrati utilizzati 48 6 2 2 MAX232 Il MAX232 composto da una coppia di driver ricevitori e un generatore di tensione capacitivo per erogare una tensione compatibile EIA 232 da un alimentazione di 5V e Ogni ricevitore converte un ingresso EIA 232 in TTL CMOS da 5V e Ogni driver converte un segnale TTL CMOS in EIA 232 Un segnale EIA 232 pu assumere 3 caratteristiche elettriche e logico se la tensione compresa tra 3V e 15V e 0 logico compresa tra 3V e 15V e Incertezza compresa tra 3V e 3V Un segnale TTL invece assume le seguenti caratteristiche e logico per tensione compresa tra 2V e 5V e 0 logico compresa tra OV e 0 8V e Incertezza compresa tra 0 8V e 2V Per convertire un segnale da EIA 232 a TTL occorre invertirne la tensione e traslarlo al livello di 5V Similmente per convertire un segnale da T TL a EIA 232 occorre invertirne la tensione e traslarlo secondo il protocollo EIA 232 L integrato MAX232 alimentato a 5V genera lo 0 logico EIA 232 a 8 5V
84. i e varianti 109 Kernel based tracking che consiste nella localizzazione iterativa basata sul riconoscimento di similitudini nell immagine per un tempo variabile Contour tracking che consiste nel riconoscimento dei contorni Filtering and Data Association attraverso cui identificare oggetti com plessi Gli algoritmi filtri pi utilizzati sono Kalman filter un efficiente filtro ricorsivo che valuta lo stato di un sistema dinamico a partire da una serie di misure soggette a rumore Particle filter o metodo di Monte Carlo usato per trarre stime attraverso simulazioni e si basa su di un algoritmo che genera una serie di numeri tra loro non correlati che seguono la distribuzione di probabilit che si suppone abbia il fenomeno da indagare Una possibile applicazione del video tracking alla presente tesi il ricono scimento di oggetti in movimento ed il loro inseguimento per mantenerli al centro dell immagine delle telecamere in questo senso l object tracking a mezzo di un algoritmo di blob tracking potrebbe essere la scelta adatta al nostro sistema 10 3 4 Nuovi test Nella capitolo 9 abbiamo verificato il funzionamento delle velocit delle posizioni e soprattutto l errore di posizione in funzione dello spostamento un possibile sviluppo futuro potrebbe consistere in una nuova serie di test atti a verificare se l errore non dipenda solo dallo spostamento ma anche dalla velocit con cui tale spostamento avviane
85. i nemici degli uomini il fuoco l umado le bestie il tempo ed il loro stesso contenuto Paul Val ry 1871 1945 poeta francese Nell ambito della robotica sono di grande importanza lo studio e lo svilup po di sistemi automatici volti all analisi ed all interazione con l ambiente esterno La modalit sensoriale che in questi sistemi viene elaborata per prima e senza dubbio la percezione visiva In questo elaborato verr de scritta la realizzazione di una testa robotica per il robot Maximum One capace di ricevere informazioni tramite una coppia di telecamere mobili Il sistema denominato M O E come acronimo di Maximum One hEad coin volger discipline quali la meccanica l elettronica la biologia e l informatica MOE stato sviluppato nell ambito del laboratorio di intelligenza artifi ciale e robotica con lo scopo di creare di un sistema di visione stereoscopico mobile a basso costo in grado di emulare le prestazioni dell apparato visivo umano con notevole precisione Nel campo della robotica tale progetto risulta fortemente originale dato che i sistemi di visione normalmente dispongono di una sola telecamera mobile oppure di una coppia di telecamere fisse La costruzione di MOE puo sintetizzarsi in tre parti fondamentali la creazione della meccanica lo sviluppo dell elettronica di controllo e l implementazione dell interfaccia software per gestire il tutto 2 Capitolo 1 Introduzione Nella creazione del siste
86. igura 4 2 L occhio come una umano macchina fotografica L occhio umano 6 l organo di senso principale dell apparato visivo L oc chio riceve la luce dall esterno che passando attraverso una serie di lenti naturali quali cornea cristallino e corpo vitreo arriva fino ad una superficie sensibile la quale in grado di trasformare l eccitazione luminosa in segnali elettrici per il nervo ottico L occhio umano come una macchina fotografica 20 Capitolo 4 Bioispirazione Amacrine cell Bipolar cell gs Rod Ganglion cell Horizontal cell Cone Blind e 20 10 0 10 20 40 Figura 4 4 Rapporto gangli fotorecet Figura 4 3 L anatomia della retina tori e in grado di imprimere la luce su di una superficie sensibile chiamata reti na 6 7 La retina la membrana pi interna dell occhio essa composta di cellule sensibili alle radiazioni luminose chiamate fotorecettori Esistono due tipi differenti di fotorecettori nella retina i coni sensibili sia alle forme che ai colori Negli esseri umani se ne differenziano tre tipi sensibili al rosso al verde e al blu se attivati simultaneamente la luce percepita risulta essere bianca Consentono di percepire dettagli e cambiamenti d immagine pi rapidi rispetto ai bastoncelli poich i loro tempi di risposta agli stimoli sono pi veloci In ogni occhio il loro numero pu variare dai sei ai sette milioni 10 I coni sono localizzati principal
87. igura A 3 Collegamento motori A 1 Connessione dei cavi 119 Figura A 4 Collegamento sensori 120 Appendice A manuale utente Figura A 5 Collegamento completato A 1 Connessione dei cavi 121 1111 1111 4 Lo n 2 L 3 NIMEX NI 700 Figura A 6 Collegamento tester 122 Appendice A Il manuale utente A 2 Documentazione libmoe La documentazione tratta nel dettaglio le funzioni disponibili della libreria libmoe Per un approfondimento sulla libreria libmoe si rimanda alla sezione 8 4 A 2 1 parse csv h static FILE csv x ptr static FILE csv_y_ptr int init csv char path x char path_y La funzione init_csv inizializza i descrittori ai file csv x ptr e csv y ptr delle tabelle di velocit Input path x il path alla tabella della velocit motori 1 e x2 in formato csv Path_y e il path alla tabella della velocit motore y in formato csv Output 1 in caso di successo 0 se almeno uno dei due csv non stato aperto struct speedtable csv 1 int speed int driving value int enable struct speedtable cvs speedtable_x_csv 255 struct speedtable cvs speedtable y csv 255 void parse csv La funzione parse csv carica nelle struct speedtable_csv i dati contenuti nelle tabelle di velocit Il campo speed indica la velocit dimensionata in grad sec Il campo driving value il corrispettivo valore utilizzato dal firmware per il controllo in ve
88. iso di ridurre il numero di motori da quattro a tre dopo aver verificato che il movimento orizzontale degli occhi umani fosse accoppiato Per questo motivo abbiamo deciso di utilizzare un solo motore per fornire il movimento verticale alla struttura di sostegno per le telecamere I vantaggi di questa struttura erano la semplicit di costruzione la relativa leggerezza della struttura contenente le telecamere e quindi la possibilit di utilizzare motori con prestazioni inferiori e costi modesti 5 2 Prototipi costruiti 33 5 2 Prototipi costruiti Dopo alcuni progetti preliminari abbiamo iniziato a lavorare sulle strutture fisiche dei prototipi per acquisire dimestichezza con i materiali usati quali plexyglas e alluminio e le macchine utensili presenti in laboratorio 5 2 1 Prototipo Nr 4 Figura 5 4 Rappresentazione frontale semplificata del prototipo nr 4 L idea che accomunava i primi tre progetti era l utilizzo di cavi inestensi bili per trasferire a distanza il movimento dalla parte posteriore della testa alla parte anteriore che conteneva le telecamere Sebbene l idea garantisse un ottimo bilanciamento della testa l utilizzo dei suddetti cavi stato scartato appena iniziato il montaggio dei componenti questo perch una struttura a cavi presentava numerosi problemi di giochi per quanto riguarda gli at tacchi dei cavi sia dalla parte del motore sia dalla parte delle telecamere Vi era inoltre il prob
89. ispirazione Per questi motivi abbiamo ritenuto ragionevole ridurre l estensione delle rotazioni delle telecamere fino a 90 orizzontalmente e 60 verticalmente Possiamo aggiungere infine che nonostante tali dati sembrino sottostimati essi si basano solamente sullo scostamento del centro dell immagine a cui poi vanno aggiunti i gradi percepiti dalla telecamera come laterali che possiamo stimare attorno ai 20 come viene mostrato nelle figure 4 7 e 4 8 Dopo questa considerazione l estensione effettiva della singola telecamera raggiunge i 130 orizzontalmente e 100 verticalmente estensione che abbiamo ritenuto essere soddisfacente per eseguire i compiti richiesti 4 4 3 Velocita di rotazione La velocit di rotazione rilevata con i motori attuali di circa 665 s per i movimenti lungo l asse orizzontale e di 214 s per i movimenti lungo l asse verticale Per emulare l inseguimento lento umano abbiamo ridotto la velocit a circa 100 s Per quanto riguarda il movimento saccadico invece abbiamo utilizzato la massima velocit raggiungibile dai motori Tale velocit massima dipende fortemente dalle componenti che entrano in gioco nel movimento in particolare essendo il motore adibito al movimento verticale pi lento la velocit massima raggiungibile sar minore all aumentare della componente verticale Per comparare il nostro sistema inoltre dobbiamo prendere come riferimento l entit dello spostamento e non sol
90. l mondo esterno e gestire lo stato del sistema meccanico ovvero la posizione delle webcam Queste due funzionalit vengono realizzate tramite due task concorrenti Abbiamo realizzato l inter facciamento tramite seriale RS232 per via del modulo USART integrato nel processore proponendo un semplice ma robusto protocollo di comunicazio ne punto punto La routine di gestione dello stato viene presentata come l implementazione di una macchina a stati Il firmware stato sviluppato su PIC16F877 utilizzando l IDE freeware MPLAB della Microchip codificato in C e compilato con la versione lite del compilatore HI TECH Ulteriori informazioni sul PIC utilizzato possono essere trovate nell arti colo 18 60 Capitolo 7 Firmware MOE 7 2 RS232 L interfaccia seriale RS232 permette lo scambio di dati tra dispositivi digitali attraverso una comunicazione seriale asincrona Il termine seriale significa che i bit che costituiscono l informazione sono trasmessi uno alla volta su di un solo filo Questo termine in genere contrapposto a parallelo in questo caso i dati sono trasmessi contemporaneamente su pi fili ad esempio 8 16 o 32 Il termine asincrono significa in questo contesto che i dati sono trasmessi senza l aggiunta di un segnale di clock cio di un segnale comune che permette di sincronizzare la trasmissione con la ricezione ci nonostante sia il trasmettitore che il ricevitore devono comunque essere dotati di un
91. lano la trasmissione la ricezione e lo stato della periferica USART sono il TXSTA e il RCSTA i pin utilizzati sono RC6 come trasmissione e RC7 come ricezione Per il corretto funzionamento bisogna valorizzare il registro SPBRG che comanda il generatore di baudrate in pratica un timer e un divisore Inserendo un opportuno valore possibile impostare programmaticamente la velocit di trasmissione Per il calcolo di tale valore sono state utilizzati i dati forniti dalla Microchip e presenti nella tabella 7 1 BRGH 1 Fosc 4MHz BRGH 1 Fosc 8MHz Baud SPBRG Baud SPBRG 1200 1200 2400 2400 A800 4800 9600 9600 19200 19200 38400 38400 97600 97600 115200 2 115200 BRGH 1 Fosc 16MHz BRGH 1 Fosc 20MHz Baud SPBRG Baud SPBRG 9600 9600 19200 19200 38400 38400 57600 57600 115200 115200 230400 3 3 230400 460800 Tabella 7 1 Tabella fornita dalla Microcip Universal Synchronous Asynchronous Receiver Transmitter 7 2 RS232 63 Pin Diagram MCLR Vep J 1 u RB7 PGD RAO ANO 5 2 RB6 PGC RA1 AN1 RB5 RA2 AN2 VREF 4 RA3 AN3 VREF e 5 RB3 PGM RAA TOCKI e 6 35 RB2 RAS AN4 SS 7 RB1 REO RD ANS 8 RBO INT RE1 WR AN6 RE2 CS AN7 7 RD7 PSP7 RD6 PSP6 OSC1 CLKIN 5 7 RD5 PSP5 OSC2 CLKOUT RD4 PSP4 RCO T1OSO TICKI 4 gt RC7 RX DT RC1 TIOSICCP2 5 RC6 TX CK RC2 CCP
92. lecamere in modo da rispettare le specifiche date Il percorso che ci ha portato a completare la struttura finale passa attraverso numerosi prototipi che verranno descritti spiegando il motivo per il quale sono stati scartati 5 1 Prototipi preliminari 5 1 1 Prototipo Nr 1 La necessit di muovere le due telecamere ci ha portato inizialmente a ragionare sulla fattibilit di una coppia di giunti cardanici che potessero al contempo sostenere le telecamere e permettere loro il movimento orizzontale e verticale In questo primo progetto preliminare pensavamo di posizionare quattro motori passo passo nella parte posteriore della testa e successivamente collegarli alle telecamere tramite cavi inestensibili per trasmettere la rotazione L intera struttura andava poi montata su di una base in plexiglas collegabile al collo del robot Maximum One tramite una struttura in alluminio Tale ipotesi stata subito scartata sia per l impossibilit di posizionare il centro degli assi del giunto cardanico al centro delle telecamere senza smontare completamente le telecamere stesse sia per la difficolt nel costruire in laboratorio un giunto cardanico senza giochi che avrebbero inevitabilmente reso il sistema impreciso 30 Capitolo 5 Sistema meccanico MOE Figura 5 1 Rappresentazione frontale semplificata del prototipo nr 1 5 1 Prototipi preliminari 31 5 1 2 Prototipo Nr 2 Figura 5 2 Rappresentazione frontale semplifi
93. lema della scelta del cavo robusto abbastanza da non allungarsi sotto tensione ed infine il problema di posizionare tutti i cavi in tensione e quindi di assicurare che la struttura fosse sufficientemente rigida da sopportare tale tensione anche in movimento Per questi motivi il primo prototipo reale presentava una trasmissione diretta tra motore e carico Il 34 Capitolo 5 Sistema meccanico MOE carico consisteva in una struttura a U su cui erano fissati i motori sopra i quali erano a loro volta fissate le telecamere con colla a caldo La struttura era sorretta a destra e sinistra da placche di alluminio Per facilitare la rotazione della suddetta parte mobile abbiamo montato quattro cuscinetti a sfera al cui interno far passare un albero del diametro di 0 5 cm e di lunghezza pari a 3 cm sia per la parte destra che per la parte sinistra A sinistra della struttura il motore era montato su due placchette di lunghezza simili a quelle che sostenevano la struttura contenente le telecamere in questo modo l albero del motore aveva un asse che coincideva con quello dell albero che permetteva la rotazione della struttura a U La trasmissione della rotazione del motore era fornita da una struttura esterna che poggiava sulla parte mobile contenente i motori Le due telecamere erano posizionate in modo che tra 1 centri dei due obiettivi ci fossero esattamente 7 cm come da specifiche I sensori di fine corsa erano montati direttamente sotto le
94. llo da implementare risulta semplificato nelle sue operazioni di basso livello es gestione delle sequenze di pilotaggio verso di rotazione modalit di pilotaggio Inoltre la possibilit di controllare la corrente di uscita in PWM offre sia alte prestazioni che un elevata flessibilit in fase di design dal momento che i vari tipi di motori vengono supportati indipendentemente dalle tensioni e correnti nominali necessarie 48 Capitolo 6 Architettura dell apparato elettronico Il controllo di corrente mediante PWM un controllo ad anello chiuso di tipo on off E realizzato da un comparatore un flip flop e un resistore sensore in serie all avvolgimento Il flip flop viene settato da un oscillatore e quindi produce in uscita una serie di impulsi che comandano lo stadio di potenza Come conseguenza si ottiene un aumento di corrente negli avvolgimenti Allo stesso tempo anche sul resistore sensore la tensione risultante umenta secondo la legge di Ohm Quando essa supera il valore di riferimento il comparatore commuta lo stato attivando il reset nel flip flop che quindi smetter di produrre impulsi FROM OSC Figura 6 7 Circuito chopper per pilotaggio PWM Mostriamo l integrato nella figura 6 8 mentre riportiamo la descrizione dei pin nella tabella 6 4 a pagina 50 I pin di output A B C D determinano se l avvolgimento corrispondente viene alimentato e la sua polarit A e B si riferiscono all avvolgimento AB e
95. llo del robot E_2 6 Capitolo 2 Stato dell arte Figura 2 1 Occhi del robot probo Figura 2 2 Immagine del robot probo sviluppato dal Politecnico di Milano Rispetto alla tesi sviluppata in questo elaborato la struttura meccanica di Probo sicuramente molto pi complessa ed improntata al design particolare del robot ci nonostante il tipo di movimenti oculari del tutto simile a quello delle telecamere utilizzate in MOE Il campo visivo dei probo infatti di circa 100 orizzontalmente e di circa 80 verticalmente e cio leggermente pit piccolo del campo visivo di MOE c da aggiungere per che Probo disponde di un efficiente collo mobile che permette di allargare ulteriormente il campo visivo totale A differenza del progetto in esame il sistema visivo azionato da servomotori elettrici Di particolare interesse infine la struttura dei bulbi oculari mostrati nella figura 2 1 dove si pu notare una complessa struttura meccanica di sostegno che presenta la stessa assunzione di MOE per quanto riguarda il movimento verticale questo infatti come spiegheremo nel capitolo 5 comune ad entrambi gli occhi e pu essere quindi attuato allo stesso modo per entrambe le camere utilizzate 2 1 2 Icub Icub un robot sviluppato nel 2006 con l obiettivo di essere il pi completo robot umanoide in termine di complessit cinematica con un totale di 53 gradi di libert Analizzando nello specifico il sistema visiv
96. locit Il campo enable indica se la coppia speed driving_value viene utilizzata oppure scartata Parse_csv va invocata dopo init csv ilint close csv La funzione close csv chiude i descrittori ai file delle tabelle di velocit Output 1 in caso di successo 0 in caso di errore 1 1 A 2 Documentazione libmoe 123 A 2 2 utils h unsigned char convertToStep double deg La funzione convertToStep converte un valore da gradi nel formato usato dal firmware per il controllo in posizione Input valore della posizone da convertire in gradi in doppia precisione Output valore della posizione convertita nel formato processabile dal firmware double convertToDeg unsigned char step La funzione convertToDeg converte un valore da formato usato dal firmware per il controllo in posizione a gradi Input valore della posizione da convertire nel formato usato dal firmware in unsigned char Output valore della posizione convertita in gradi 1 1 1 1 int init_speed_table char path_speed_table_x char x path_speed_table_y La funzione consiste nella chiamata in serie di init_csv e parse_csv Input path_speed_table_x il path alla tabella della velocit motori x1 e x2 in formato csv Path speed table y il path alla tabella della velocit motore y in formato csv Output 1 in caso di successo 0 se almeno uno dei due csv non stato aperto unsigned char get speed from table x double spd La funzion
97. ma meccanico abbiamo valutato i componenti 1 motori 1 materiali e le diverse possibili disposizioni delle telecamere Nella progettazione del sistema elettronico che controlla il movimento di MOE abbiamo vagliato l efficienza dei motori passo passo l interazione con i sensori di finecorsa e l alimentazione di tutto il sistema La parte software infine si occupa dei comandi da dare al microchip che controlla i motori quali get per ricevere la posizione set per comandare lo spostamento in una specifica posizione e reset per tornare nella posizione di partenza Per lo sviluppo di MOE sono state seguite delle specifiche piuttosto stringenti sul peso della struttura sulla velocit di rotazione delle telecamere e sulla precisione del movimento Sono state effettuate inoltre delle ricerche sulle proporzioni ed i movimenti degli occhi umani quali l inseguimento lento e veloce saccadi In base alle specifiche stato progettato lo scheletro meccanico Il risultato e da considerarsi originale numerose sono infatti le differenze rispetto a robot esistenti come i RoK icub o probo Tali differenze sono l utilizzo di motori passo passo invece che servomotori elettrici l asimmetria della struttura mec canica costruita e l uso di una trasmissione diretta tra motori e telecamere al fine di ridurre al massimo eventuali giochi La parte elettronica composta concettualmente da due stadi lo stadio di potenza adibito all alimentazione dei moto
98. magnetico generato permette al rotore di muoversi allineandosi ai poli dello statore Per questo tipo di motore ci sono tre possibili sequenze di pilotaggio La prima possibilita consiste nell alimentare gli avvolgimenti nella sequenza AB CD BA DC dove BA e DC significa che gli avvolgimenti AB e CD sono alimentati con polarit inversa Questa sequenza si chiama one phase on o ad onda e consiste nell eccitare un avvolgimento alla volta Ae Ay Di 3 Figura 6 4 Pilotaggio one phase on Un seconda possibilit la cosiddetta two phase on nella quale vengono alimentati due avvolgimenti contemporaneamente cosi che il rotore si posi zioni tra 1 due poli Questa modalit costituisce lo standard nel pilotaggio 46 Capitolo 6 Architettura dell apparato elettronico MOE del motore in quanto si ha la massima coppia Figura 6 5 Pilotaggio two phase on La terza possibilit quella di alimentare in sequenza una fase poi due poi una e cosi via In questo modo il motore incrementa la posizione di mezzo passo per volta invece che per passi interi Questa modalit prende il nome di half step ed caratterizzata da un angolo di passo inferiore oltre che da una coppia minore Inoltre diminuendo l angolo di passo occorrono ovviamente pi passi rispetto alle sequenze di controllo precedenti full step per ottenere un dato angolo di spostamento Ae At 9 A 0 0 _ D c b t 0 t B B Bo B A A
99. mente nella fovea e permettono la cosiddetta visione fotopica come si pu notare infatti dall immagine 4 4 il rapporto tra gangli e fotorecettori prossimo ad uno al centro della fovea qui infatti ogni fotorecettore ha un ganglio in grado di ricevere il proprio segnale 12 i bastoncelli hanno una funzione complementare rispetto ai coni essi infatti permettono la visione in condizioni di scarsa luminosit garan tendo la cosiddetta visione scotopica ma non la percezione cromatica I bastoncelli sono abbondanti nella periferia retinica In ogni occhio il loro numero pu variare dai 75 ai 150 milioni 11 parte centrale della retina dove quindi concentrata l acuit visiva umana detta anche notturna 4 2 Caratteristiche visive umane 21 4 2 2 I muscoli dell occhio L apparato muscolare dell occhio collegato alla sclera tali muscoli sono in tutto sei 2 obliqui inferiore e superiore e 4 retti inferiore laterale mediale superiore Gli altri muscoli dell occhio sono orbicolare dell occhio elevatore della palpebra superiore ciliare dilatatore dell iride e sfintere dell iride I muscoli che fanno muovere l occhio sono organizzati in tre coppie Superior Oblique m Suparke Flectus m Meadal Flectus m Lateral Regius m Pectus m inienor Oblique m Figura 4 5 muscoli dell occhio ad azione antagonista che fanno ruotare l occhio sui tre piani dello spazio Per i movimenti orizzontali abduzione in
100. mente o idraulicamente L utilizzo di una struttura deformabile motivata dalla necessit di minimizzare le conseguenze di una possibile collisione tra un essere umano ed il robot L ambito in cui una tecnologia del genere pu essere applicato la cura dei disabili o di individui anziani tale obiettivo sta diventando uno degli aspetti pi importanti nella ricerca robotica Conosciuti anche con il nome di muscoli artificiali di McKibben 19 25 questi attuatori nel corso degli anni sono stati migliorati soprattutto dal punto di vista dei materiali e sono ora conosciuti come PAM Un PAM PulseWidth Modulation 2Pneumatic Artificial Muscles 2 2 Sistemi visivi 11 air inlet gt Vin right 4 2 M1 medial rectus m lt M i qi V2 1 exhaust air inlet j Vin left M2 lateral rectus m ETTI V3 USB camera Qo 99 exhaust Figura 2 9 Sistema di PAM antagonisti e costituito da una parte cilindrica cava in gomma che si elonga quando riempita di aria e si contrae quando ne viene svuotata Come i muscoli umani i PAM operano a coppie antagoniste dato che riescono ad esercitare forza solamente durante la fase di contrazione Le propriet dinamiche di un PAM sono non lineari ma si possono assumere come lineare sotto certe appropriate condizioni come nel caso di piccole contrazioni concentrate nella fase centrale del movimento 3 2 2 2 Sistemi Pan Tilt Un
101. mo la libreria e la istalliamo nel nostro sistema Dalla cartella dei sorgenti della libreria eseguiamo nel terminale 1 make amp amp sudo make install In questo modo compileremo gli oggetti di cui libmoe composta li archivieremo in formato ar nel file libmoe a e copieremo tale file nella cartella usr lib Il controller che chiamiamo test sar composto da un solo sorgente Illustriamo un possibile esempio di programma 1 Finclude lt stdio h gt 2 include lt stdlib h gt 3 include lt math h gt 4 include command h 6 define LEFT EDGE 970 7 define RIGHT EDGE 6000 s Zzzdefine TOP EDGE 940 9 define BOTTOM EDGE 4470 10 define DELTA 60 11 define DELTA X MOE 90 i12 7 define FILTER TRESHOLD X 60 3 Zzdefine FILTER TRESHOLD Y 60 14 Zzdefine PRESSURE TRESHOLD 60 15 16 ZZdefine T CAMP 0 1 sec 17 is define DELAY 1 19 20 int main 21 22 double time 0 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 48 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 8 4 MOEtest 85 float time_old 0 int x 0 int y 0 int x_old 0 int y_old 0 int i 0 char temp string 512 char unused if MOE_open speed_table_x csv speed table y csv while 1 return 0 while 1 scanf
102. motor current should be set no greater than E I per phase x V2 Motors with 4 leads have a bipolar rating and can be used according to manufacturer s specification lo step a motor in a particular direction a specific switching sequence for the drive transistors Q1 Q4 needs to be followed If this sequence is in Table 1 known as the unipolar full step mode it results in the rotor advancing through one complete step at a time Table 1 Full step mode er oria a clockwise fom on arr Table 2 Half step mode io __ ON ON OFF ON Clockwise Above sequence repeating Typical stepper motor control system The operation of a stepper motor requires the pres ence of the following elements 1 A control unit Usually a microprocessor based unit which gives step and direction signals to the drive card RS stepper motor control board RS stock no 440 098 is ideally suited for this function 2 Power supply Giving the required voltage and current for the drive card using a linear power sup ply 3 Drive card This converts the signals from the con trol unit in to the required stepper motor sequence RS stock nos 332 098 342 051 and 440 240 are designed for the function 4 Stepper motor 232 5749 Stepper motor drive boards For control of stepper motors RS has three types of stepper drive board which are suitable to drive stepper motors of various current ranges R
103. movimenti umani Una testa robotica antropo 8 Capitolo 2 Stato dell arte morfa rappresenta una sfida ardua nel campo della robotica questo perch esistono numerose caratteristiche da emulare quali 1 le dimensioni della testa e dei componenti 2 i numerosi giunti presenti nella testa collo occhi etc 3 l estensione dei movimenti 4 i numero dei gradi di libert 5 il peso 6 la forza dei giunti 7 1 movimenti Numerose sono le analogie tra il robot i RoK e la testa robotica oggetto della presente tesi prima di tutto le proporzioni quali la distanza tra il centro delle telecamere che risulta per entrambi i robot pari a 7 cm per emulare la distanza tra gli occhi umani L estensione del campo visivo di i Rok di 90 gradi orizzontalmente e di 40 verticalmente Un campo visivo cosi ristretto probabilmente dettato dalla complessa struttura meccanica che sostiene le telecamere struttura visibile nella figura 2 7 Anche per la costruzione di i RoK sono stati effettuati degli studi biologici sui movimenti oculari umani e i risultati sono i medesimi di quelli evinti nel presente elaborato I RoK riesce a compiere l inseguimento lento di un oggetto a circa 100 s e se necessario riesce a compiere movimenti saccadici a 500 s Le prestazioni finali del robot sono quindi molto buone purtroppo nessun dato ci viene fornito riguardo alla precisione del sistema cosi come negli altri progetti di teste robotiche
104. n the translator is at an odd numbered position The home position is designate state 1 20 RESET Reset input An active low pulse on this input restores the translator to the home position state 1 ABCD 0101 THERMAL DATA Symbol Parameter Thermal resistance junction ambient CIRCUIT OPERATION The L297 is intended for use with a dual bridge driver quad darlington array or discrete power devices in step motor driving applications It re ceives step clock direction and mode signals from the systems controller usually a microcomputer chip and generates control signals for the power stage The principal functions are a translator which gen erates the motor phase sequences and a dual PWM chopper circuit which regulates the current in the motor windings The translator generates three different sequences selected by the HALF FULL input These are normal two phases energised wave drive one phase energised and half step alternately one phase energised two phases en ergised Two inhibit signals are also generated by the L297 in half step and wave drive modes These signals which connect directly to the L298 s enable inputs are intended to speed current decay when a winding is de energised When the L297 is used to drive a unipolar motor the chopper acts on these lines An input called CONTROL determines whether the chopper will act on the phase lines ABCD or the inhibit lines INH1 and INH2 When the phase lines
105. ne nel progetto esse non siano esattamente equivalenti Tuttavia le tre schede di pilotaggio differiscono solo per caratteristiche marginali quali l alimentazione dei ponti H e la grandezza e tipologia del dissipatore del circuito di potenza 6 3 1 Schema elettrico scheda microprocessore Il microchip e tutti i circuiti TTL vengono alimentati tramite un alimentatore switching La tensione di uscita dallo switching 12V portati a 5 grazie allo stabilizzatore LM7805 Tale tensione alimenta il MAX232 interfaccia RS232 TTL il microcontrollore PIC16F877 20 P e le tre schede control lori dei motori stepper che montano i tre integrati L297 ed i tre integrati L298 Il cablaggio del 7805 fatto su circuito stampato dove trova alloggio anche l integrato MAX232 che ha la funzione di interfacciare l RS232 al microprocessore che ha ingressi ed uscite a livello TTL Il circuito stampato 6 3 Realizzazione apparato elettronico MOE 16 877 20 movimento motore movimento motore C movimento motore B RD1 Dir 20 RDZ Half Full 21 RDO Clock 19 Vss 12 31 Vdd 11 32 RC4 Dir 23 RD3 Half Full 22 RCS Clock 24 20 Mhz 22pF 22pF Sync sono collegati tra loro Alcuni componenti sono saldati sotto la millefori lato rame I collegamenti sono saldati sotto la millefori lato rame Dir HalffFull e Clock hanno visualizzazione a led con resistenze limitatrici di 470 collegate a massa vedi testo Figura 6 13 Schema
106. ntare la risoluzione potremmo ridurre sensibilmente l errore di precisione Ci ottenibile realizzando il controllo in 106 Capitolo 10 Conclusioni e sviluppi futuri microstepping dei motori passo passo Tale controllo consiste nell aumentare gli stati di pilotaggio aggiungendo per ogni stato attuale degli stati intermedi ottenibili variando la corrente su ogni singolo avvolgimento Implementare tale controllo complesso e richiede di modificare radicalmente l apparato elettronico Bisognerebbe spostare a livello del PIC la logica applicativa della gestione degli stati di pilotaggio attualmente svolta dall integrato L297 cablare due input analogici per ogni motore sulle Vsens e realizzare via software il circuito chopper Maggiori informazioni si possono trovare nel riferimento 28 10 2 3 Miglioramento della parte meccanica La parte meccanica sviluppata artigianalmente in laboratorio potrebbe essere migliorata mediante due diversi approcci Il primo approccio riguarda una diversa struttura e disposizione dei motori in particolare riprendendo le idee esposte nei primi prototipi analizzati nella sezione 5 Al fine di migliorare il bilanciamento della struttura per un pi comodo posizionamento sul collo esistente infatti potrebbero essere utilizzate delle pulegge o dei cavi inesten sibili per permettere alla parte mobile contenente le telecamere di ruotare Questa soluzione potrebbe essere utile anche per un even
107. nte negli avvolgimenti Nel caso venissero usati muscoli di Mckibben bisognerebbe compensare l effetto della gravit sulla struttura meccanica Come mostrato nella sezione 2 2 1 delle telecamere attuate da muscoli artificiali sono un opzione possibile tuttavia non esistono delle analisi sulle prestazioni dei muscoli artificiali e per questo motivo riteniamo difficile raggiungere le velocit necessarie ad eseguire movimenti saccadici efficienti come quelli attuali Infine il calcolatore ove attualmente collegato il robot Maximum One presenta una sola uscita seriale insufficiente per il controllo di tutti i muscoli contemporaneamente nell ottica di utilizzare una muscolatura di Mckibben bisogna preventivare la sostituzione di tale scheda con una dotata di un numero maggiore di uscite 10 3 2 Integrare il movimento del collo In un ottica di progetto biosipirato di particolare interesse l interazione del collo con la testa oggetto della nostro lavoro Per fare questo sono numerose le considerazioni da fare e il collo riesce effettivamente a mantenere il sistema fermo e il collo riesce a muovere la testa correttamente il collo riesce ad eseguire rotazioni a destra e sinistra e possibile controllare collo e testa contemporaneamente Se s come possibile incrementare le velocit massime raggiungibili dal sistema abbinando collo e testa e quali errori di posizione otteniamo dal sistema combinato collo testa
108. ntegrati per il controllo Abbiamo affidato la logica del controllo a un PIC Microchip della famiglia 16F che assolve egregiamente la funzione di pilotaggio dei 3 motori stepper grazie ad una elevata potenza di calcolo e un buon numero di porte I O AI PIC vengono affiancati gli integrati L297 e L298 Inoltre la presenza di un 42 Capitolo 6 Architettura dell apparato elettronico MOE modulo USART nel PIC utilizzato ci ha indotto ad utilizzare una seriale RS232 come interfaccia verso l esterno Tale tecnologia molto utilizzata negli interfacciamenti punto punto di applicazioni automatiche industriali L apparato elettronico MOE composto da 4 schede millefori nella scheda superiore risiede il processore l interfaccia RS232 e lo stabilizzatore di alimentazione per TTL LM7805 Nel firmware del processore abbiamo implementato la logica di controllo di pi alto livello Le altre millefori contengono ciascuna la coppia di integrati L297 e L298 e un ponte di diodi ad alta velocit essi fungono da controllo logico dello stato controllo delle commutazioni delle fasi e da controllo di potenza alimentano le fasi in PWM regolandole in anello chiuso tramite un feedback di tensione circuito chopping La scheda che alimenta il motore verticale che necessita di una corrente pi elevata rispetto agli altri differisce dalle altre per via di un dissipatore pi grande e di una ventola di raffreddamento ovvero di un sistema di dissipazione d
109. o puo essere effettuato utilizzando gli interrupt flag nel registro INTCON Per abilitare l interrupt TMRO Overflow Interrupt va impostato a 1 il bit 2 del registro INTCON Per dimensionare il tempo di interrupt TMRO a partire dal TOSC nel nostro caso 20Mhz agiamo sul prescaler ed impostiamo un offset sul registro del contatore stesso Impostazione del registro OPTION pag 55 del datasheet OPTION 0b11000001 bit 0 gt Prescaler Rate Select bit 0 bit 1 gt Prescaler Rate Select bit 0 bit 2 gt Prescaler Rate Select bit 0 1 32 bit 3 gt Prescaler assegnato al Timer0 bit 4 gt Non importa bit 5 gt Clock per Timer0 derivato da ciclo di clock interno bit 6 gt Non importa bit 7 gt Resistenze di pull up su porta B disattivate Impostazione Interrupt INTCON 0b10100000 bit 0 gt RBIF Flag interrupt su porte bit 1 gt INTF Flag interrupt su RB0 INT bit 2 gt Flag interrupt su Timer0 bit 3 gt RBIE Interrupt su porte B disattivato bit 4 gt INTE Interrupt su porta RB0 INT disattivato 19 20 21 22 23 T4 Capitolo 7 Firmware MOE bit 5 gt TMROIE Interrupt su Timer0 attivato bit 6 gt PEIE Interrupt di periferica disattivato bit 7 gt GIE Gestione Interrupt attiva TMRO 68 Per quanto concerne la tesi in esame abbiamo impostato il periodo di interrupt a 180 5 ps circ
110. o americano 10 1 Conclusioni Nella presente tesi abbiamo realizzato la testa robotica denominata MOE per il robot Maximum One La realizzazione verteva in particolare sulla creazione di un sistema di visione bioispirato Per questo motivo ci sono state fornite le seguenti specifiche Campo visivo di estensione simile a quelle umane Proporzioni degli occhi e della distanza tra gli occhi simili a quelle umane Velocit di rotazione pari a quella umana sia in caso di inseguimento lento che in caso di saccade Sono state fornite inoltre delle specifiche supplementari come Precisione elevata con un errore totale tollerato pari a 0 5 Risoluzione e frame rate delle telecamere adeguati per eventuali appli cazioni quali object tracking e face detention Peso totale inferiore al chilogrammo per il montaggio sulla testa del robot Maximum One Il nostro lavoro quindi ha prodotto un sistema originale nei componenti nella struttura finale e ha cercato dove possibile di rimanere entro un budget ridotto in particolare nella scelta oculata di motori e webcam 104 Capitolo 10 Conclusioni e sviluppi futuri 10 1 1 Punti di forza del sistema MOE Abbiamo soddisfatto completamente le specifiche relative al campo visivo alle proporzioni alla precisione ed alla risoluzione delle telecamere Per quanto riguarda le velocit di rotazione raggiungibili possiamo affermare di soddisfare le specifiche nella maggioranza d
111. o il team di sviluppo di icub ha compiuto diversi approfondimenti sui movimenti oculari al fine di emulare le prestazioni umani esattamente come nel presente elaborato Per quanto riguarda il campo visivo Icub dotato di un estensione di 90 orizzontalmente e di 80 verticalmente ma come Probo dotato di un collo mobile che ne amplia le dimensioni Nelle specifiche del robot Icub ci vengono forniti dei dati sulle velocit raggiungibili dagli occhi Gli occhi di Probo raggiungono velocit di rotazione estremamente elevate pari a 2 1 Teste robotiche 7 Figura 2 4 Meccanismo utilizzato per gli Figura 2 3 Testa robotica di i cub occhi di i cub 850 s come massimo e 166 s come minimo Queste velocita superano di lunga quelle raggiunte nel sistema MOE perfino quelle raggiungibili dall occhio umano Anche in questo progetto notiamo che il movimento verticale degli occhi comune ad entrambe le telecamere e che le telecamere sono azionate da servomotori elettrici Il peso totale della testa di Icub di 1 5kg similmente alle specifiche fornite per MOE 22 23 2 1 3 i RoK Figura 2 5 Testa robotica i RoK Figura 2 6 Misure di i RoK in mm Il progetto i Rok come i precedenti stato sviluppato per meglio com prendere le interazioni uomo macchina in un contesto sociale La testa sviluppata nel 2008 in Turchia dotata di 8 gradi di libert che permettono al robot di emulare gli stessi
112. o la direzione di quest ultimo rispetto all orizzonte ricordiamo infatti che nella sezione 4 3 2 abbiamo quantificato la velocit di saccadi di 10 e 30 di ampiezza pari rispettivamente a 300 s e 500 s Possiamo quindi affermare che il sistema emula correttamente il movimento dell occhio umano nei seguenti casif saccadi di 5 di ampiezza sempre saccadi di 10 di ampiezza con spostamenti che formano angoli minori di 80 rispetto all orizzonte quindi per movimenti non fortemente concentrati lungo l asse verticale saccadi di 30 di ampiezza con spostamenti che formano angoli minori di 65 rispetto all orizzonte quindi per movimenti concentrati sull asse orizzontale Come verr esposto nel capitolo 10 se tali risultati non dovessero essere sufficienti possibile aumentare le prestazioni dell intero sistema sostituendo estratti dalla tabella 9 1 presente nella sezione 9 a pagina 91 4 4 Caratterische visive emulate nel sistema MOE 27 solamente il motore adibito al movimento verticale con il motore proposto nei datasheet finali 28 Capitolo 4 Bioispirazione Capitolo 5 Sistema meccanico MOE Tutti sanno che una cosa impossibile da realizzare finch arriva uno sprovveduto che non lo sa e la inventa Albert Einstein 1879 1955 fisico tedesco In questa sezione spiegheremo come stato affrontato il problema di creare una struttura meccanica in grado di muovere le te
113. occurred must be cleared in software The RB IMT external interrupt did not occur RBIF RB Port Change Interrupt Flag bit 1 Al least one of the RB7 RB4 pins changed state a mismatch condition will continue to set the bit Reading PORTB will end the mismatch condition and allow the bit to be cleared must be cleared in software None of the RB7 RB4 pins have changed state Legend R Readable bit W Writable bit U Unimplemented bit read as 0 n Value at POR 1 Bit is set 0 Bitiscleared x Bit is unknown Figura 7 6 Registro TOIF 76 Capitolo 7 Firmware MOE Capitolo 8 Libreria MOE Tl C rende facile spararsi in un gamba il C lo rende piu difficile ma t fa saltare in aria tutta la gamba Bjarne Stroustrup 1950 padre del c In questo capitolo mostreremo una libreria di funzioni implementata per la realizzazione di routine di controllo dell apparato MOE Tale libreria statica per sistema operativo linux prende il nome di lbmoe Concluderemo il capitolo mostrando come realizzare una semplice interfaccia di controllo dell apparato utilizzando l bmoe 8 1 Introduzione L ultimo passo nello sviluppo della nostra tesi consiste nella realizzazione di una libreria codificata in C contenente l insieme iniziale di primitive per il controllo dell apparato Con tali primitive uno sviluppatore puo progettare facilmente una routine di controllo per il sistema allo stesso t
114. omunicazione seriale l overflow di un timer oppure un fronte di salita di un pin In questi casi entrano in gioco gli interrupt ad un preciso evento 10 11 12 13 14 15 16 17 18 7 5 Gestione dello stato 73 richiesto il controllore interrompe l esecuzione del programma principale e passa ad una subroutine di interrupt Nel caso della seriale tale subroutine si incaricher di ricevere correttamente il byte trasmesso dall esterno Al termine della routine di interrupt il programma riprende dal punto in cui aveva interrotto l esecuzione Il PIC16F877 ha fino a 14 sorgenti di interrupt ai fini della stesura del firmware abbiamo scelto di temporizzare la gestione dello stato e il pilotaggio dell integrato L297 utilizzando la fine del conteggio del registro TMRO TMRO Overflow Interrupt Qualunque sia l evento abilitato al suo manifestarsi il PIC interrompe l esecuzione del programma in corso memorizza automaticamente nello STACK il valore corrente del PROGRAM COUNTER e salta all istruzione presente nella locazione di memoria deno minata Interrupt Vector A questo punto necessario inserire nel codice la subroutine di gestione degli interrupt denominata Interrupt Handler Avendo la possibilit di abilitare piu interrupt uno dei primi compiti dell interrupt handler la verifica di quale evento tra gli eventi abilitati ha generato l interrupt e l esecuzione nella parte di programma relativo Questo controll
115. ontinuous receive ADDEN Address Detect Enable bit 1 Enables address detection enables interrupt and load of the receive buffer when RSR B is sel Disables address detection all bytes are received and ninth bit can be used as parity bit FERR Framing Error bit 1 Framing error can be updated by reading RCREG register and receive next valid byte No framing error OERR Overrun Error bit 1 Overrun error can be cleared by clearing bit CREN No overrun error RX9D 9th bit of Received Data can be parity bit but must be calculated by user firmware Legend R Readable bit W Writable bit U Unimplemented bit read as 0 n Value at POR 4 Bilis set 0 Bit is cleared x Bit is unknown Figura 7 2 Registro RCSTA 7 2 RS232 65 TXSTA TRANSMIT STATUS AND CONTROL REGISTER ADDRESS 98h RAN O RAN 0 RAN 0 RAM 0 U 0 RAN D R 1 RAN D eske_ ne TEN sync BRGH TRMT bit 7 bito bit 7 Clock Source Select bil ASWnonrongus Mode Don t care 1 Master mode clock generated internally from Slave mode clock from external source bit 6 TX9 9 bit Transmit Enable bit 1 Selects 9 bit transmission D Selects transmission bit 5 TXEN Transmit Enable bit 1 Transmit enabled Transmit disabled Note SREN CREN overrides TXEN in SYNC mode bit 4 SYNC USART Mode Select bit 1 Synchronous mode Asynchronous mode
116. orizzare il movimento di ogni singolo step Il valore di velocit inviato dal PC al PIC un intero compreso tra 0 e 255 Il firmware temporizza l inversione della tensione TTL nel PIN di clock del L297 Per fare questo conta quanti interrupt sono trascorsi dall ultimo cambio di fronte Se tale valore minore o uguale al valore inviato come velocit richiesta inverte lo stato C quindi una corrispondenza biunivoca tra il valore speed inviato 0 255 e il valore di velocit reale stimato dimensionato in grad sec Se chiamo T sec il periodo di interrupt e spd il valore di velocit inviato ottengo un cambio di fronte ogni T speed sec Siccome L297 pilota uno step per ogni fronte di salita del clock avremo uno step ogni 2 T speed sec Essendo ogni full step di 1 8 e 130 5 ps invertendo la precedente formula otteniamo i valori riportati in 7 3 Nella tabella 7 3 sono portati i primi 10 valori del campo SPD nel pacchetto msg rcvd nel caso del full step Se il sistema si muove in half step le velocit vanno divise per due Il controllo in posizione viene fatto ad anello aperto cosi come quello in velocit Ad ogni fronte di salita del PIN di clock del L297 il firmware aggiorna la posizione di 2 unit quindi 1 8 se si muove in full step oppure 1 unit quindi 0 9 se in half step Esiste tuttavia un eccezione durante un movimento full step come ultimo movimento il sistema puo 72 Capitolo 7 Firmware MOE
117. ornate sullo stato del sistema consiste quindi nel fare polling con comandi di get I campi escluso 1 in un messaggio di stop sono ininfluenti ricordiamo per che la checksum deve essere coerente con quanto inviato stop codice comando 0x33 Bloccante rispetto al set Interrompe un reset eventuale movimento in corso codice comando 0x44 Bloccante rispetto al set Muove i motori mantenendo la velocit richiesta fino al fine corsa destro di ciascuno di essi riportandoli poi nella posizione iniziale designata da noi al momento della taratura Finch il movimento di reset non viene completato ogni altro comando viene messo in coda ed eseguito al completamento del movimento I campi escluso l id e le velocit dei singoli motori in un messaggio di reset sono ininfluenti ricordiamo pero che la checksum deve essere coerente con quanto inviato 70 Capitolo 7 Firmware MOE 7 5 Gestione dello stato Il firmware si comporta come una macchina a stati Ne illustriamo la dinamica tramite un diagramma degli stati relativo al movimento di un solo motore Gli stati del sistema sono i seguenti incrementa pos decrementa pos 3 O Figura 7 5 Diagramma gestione dello stato init inizializza le variabili di stato riposo motore fermo incrementa_pos incremento la posizione mantenendo la velocit di ri ferimento Il motore in movimento Raggiunto il riferimento passo allo stato riposo dec
118. ova enciclopedia della salute Gruppo editoriale l Espresso Spa 2002 Rafael C Gonzalez e Richard E Woods Digital Image Processing Prentice Hall 2002 Adriano Gaspani Il potere risolutivo ad occhio nudo http www brera inaf it utenti gaspani pr htm 111 112 BIBLIOGRAFIA 13 M LT Gorge A Bakey Autonomous Robots From Biological Inspiration to Implementation and Control 2005 14 Ln Kristof Goris Jelle Saldien Bram Vanderborght and Dirk Lefeber The huggable robot probo design of the robotic head 2003 15 Kristof Goris Jelle Saldien Bram Vanderborght and Dirk Lefeber The huggable robot probo web site http probo vub ac be 2003 16 J E Hoffman and Subramaniam The role of visual attention in saccadic eye movement 1995 17 J M Jindlay and Gilchrist Active vision 2003 18 Microchip Picl6f87x data sheet 2001 LIL 19 M M Gavrilovic and M R Maric Positional servo mechanism activated by artificial muscoles 1969 20 A Bugra Orhan Olcucuglu and E Ilhan Konukseven i rok A human like robotic head 2008 21 Ln C Cobelli P Dario E Biondi Robotica Biomedica Storia della Bioingegneria Patron Editore 2001 22 Miguel Praca Jose Santos Victor Alexandre Bernardino Giorgio Metta Francesco Becchi Roque Saltaren Ricardo Beira Manuel Lopes Design of the robot cub icub head 2006 23 Miguel Praca Jose Santos Victor Alexandre Bernardino Giorgio Mett
119. prossimo stato stato attuale 1 Essendo il sistema all accensione nello stato HOME si evince che per pilotare il motore in one phase on necessario spostarsi in uno degli stati pari con un mezzo step altrimenti se si pilota in full step lo si far in two phase on chiamata anche normal driving in quanto la modalit di pilotaggio full step predefinita per motori bipolari Ulteriori informazioni sono reperibili nell articolo 27 52 Capitolo 6 Architettura dell apparato elettronico MOE 6 2 6 L298 pilotaggio in PWM L integrato L298 un doppio ponte con un controllo logico sui transistor per migliorare prestazioni e affidabilit Pu essere alimentato con tensione fino a 46V e dispone di una seconda alimentazione per i circuiti logici Esso eroga una corrente fino a 4A 2A per ogni ponte e dispone di una protezione per surriscaldamento Un ponte costituito da 4 interruttori secondo il seguente schema Figura 6 10 Circuito ideale ponte H Quando gli interruttori 51 4 sono chiusi 52 e 58 aperti una tensione positiva viene applicata sul carico M mentre se sono aperti 51 e 4 e chiusi 52 e 53 la tensione invertita 51 e S2 non possono essere aperti nello stesso tempo per evitare di corto circuitare l alimentatore analogamente 3 e 4 Nella figura 6 11 viene mostrato lo schema elettrico di uno dei due ponti H integrati nel L298 Gli interruttori sono 4 transistor mentre il carico e cos
120. racking 3 1 Specifiche bioispirate Le prime specifiche sorgono dalla volont di creare un sistema bioispirato per questo motivo per le prime tre specifiche l obiettivo sar quello di avvicinarsi il pi possibile al sistema visivo umano 3 1 1 Campo visivo Come descriveremo nel capitolo 4 il campo visivo umano fortemente asimmetrico l occhio infatti pu scorgere oggetti fino a 60 internamente 95 esternamente 75 verso il basso e 60 verso l alto L estensione totale che abbiamo preso come riferimento per il nostro sistema quindi di 155 orizzontalmente e di circa 135 verticalmente per il singolo occhio 1 14 Capitolo 3 Specifiche richieste 3 1 2 Proporzioni Al fine di emulare le proporzini dell apparato visivo umano le telecamere sono state disposte in modo da ottenere una distanza di 7 cm tra i due centri degli obiettivi Le telecamere stesse sono state scelte di forma sferica in modo da ricordare il bulbo oculare umano 3 1 3 Velocit di rotazione La velocit di rotazione delle telecamere doveva essere pari a quella umana sia per i movimenti di inseguimento lento pari a circa 100 sec sia per i movimenti di inseguimento veloce saccadi pari a circa 500 s Tali specifiche riguardano sia le rotazioni di pan che di tilt degli occhi 3 2 Specifiche non bioispirate Abbiamo dovuto tenere conto inoltre di specifiche non bioispirate al fine di progettare una struttura in grado di fun
121. rato sia minore di una certa soglia I filtri sopra descritti sono impostabili nelle label in testa al listato Notiamo l utilizzo del comando MOE set I parametri passati al comando sono i riferimenti di posizione ottenuti tramite touchpad proporzionati nello 88 Capitolo 8 Libreria MOE spazio visivo dell apparato MOE La velocita richiesta fissa a 650 grad sec In questo modo il centro del touchpad corrisponde allo stato 0 0 0 delle webcam Se riceviamo l evento di pressione del tasto inviamo il comando di reset MOE reset con velocit 650 grad sec Per compilare il test descritto occorre copiare nella cartella del sorgente le tabelle di velocit e gli header della libreria Dopodich possiamo usare il comando da terminale i gcc o test test c lmoe Capitolo 9 Valutazioni sperimentali MOE La scienza fatta di dati come una casa di pietre Ma un ammasso di dati non scienza piu di quanto un mucchio di pietre sia una casa Jules Henri Poincar 1854 1912 matematico francese In questa sezione mostreremo alcuni test effettuati sul nostro sistema come il test sulle posizioni sezione 9 1 sulle velocit sezione 9 2 e sulla precisione della rotazione sezione 9 3 9 1 Test sulle posizioni Il nostro sistema stato inizialmente testato per verificare che ogni singola posizione di ogni motore fosse funzionante Per eseguire il test sono stati utilizzati degli script che eseguivano l
122. rementa_pos decremento la posizione mantenendo la velocit di riferimento Il motore in movimento Raggiunto il riferimento passo allo stato riposo reset esegue movimento di reset Arrivato a fine corsa passo allo stato decrementa_pos settando un riferimento fisso impostato da taratura 7 5 Gestione dello stato 71 variabili di stato del sistema sono le seguenti movimento se valorizzata a 1 il motore in movimento pos y posizione motore y spd y velocit motore y reset se valorizzata a 1 il motore sta effettuando il movimento di reset La posizione di un motore un intero compreso tra 0 e 255 La posizione iniziale all accensione del sistema 128 Ogni unit rappresenta una varia zione di 0 9 dalla posizione iniziale che indichiamo 0 Per convenzione all aumentare della variabile di posizione corrisponde un movimento orario oimmetricamente abbiamo che al diminuire della variabile corrisponde un movimento antiorario Ad esempio una posizione di 4 9 rispetto allo 0 verrebbe interpretata dal sistema come 138 mentre una posizione di 9 118 Il riferimento ovvero la posizione richiesta che il PC invia al PIC segue la stessa convenzione Per il controllo di velocit del movimento stato necessario introdurre una routine temporizzata Ogni step sia half che full si ottiene tramite un fronte di salita nel PIN di clock di ingresso del L297 Temporizzando tale fronte di salita possibile temp
123. ri e lo stadio logico per il movimento e il controllo di posizione degli occhi del robot L interfaccia software consta di una libreria in c per sistemi operativi linux e si pone come un layer di basso livello nella progettazione di routine di controllo piu complesse Abbiamo infine effettuato dei test qualitativi sulla struttura finale per valutarne la precisione e le velocit che e possibile raggiungere per verificare se le specifiche fossero soddisfatte o meno Buoni risultati sono stati ottenuti per quanto riguarda la precisione del movimento i motori passo passo pilotati in half step e quindi con una risoluzione di 0 9 hanno intrinsecamente un errore di risoluzione massimo di 0 45 a questo valore sommiamo un errore sistematico medio rilevato di 0 0547 ed otteniamo un errore massimo di mezzo grado che riteniamo pienamente soddisfacente per una struttura costruita artigianalmente Per quanto riguarda la velocit della rotazione i risultati sono ottimi per spo stamenti concentrati lungo l asse orizzontale ma le prestazioni iniziano a degradare man mano che cresce la componente verticale del movimento Questo perch il motore che fornisce il movimento verticale alla struttura contenente le telecamere ed i motori orizzontali si rivelato sottodimensiona to per effettuare movimenti saccadici di ampiezza superiore ai 5 nonostante si comporti bene per un normale inseguimento lento Il peso dell intera struttura risultato le
124. rico Sicuramente sostituire il motore con uno pi prestante sotto quest ultimo aspetto aiuterebbe a centrare meglio il requisito di velocit ad oggi non a pieno raggiunto La sostituzione del motore verticale non comporterebbe molto lavoro per quanto riguarda l adeguamento della parte elettronica a patto che il nuovo motore sia un bipolare a 4 fili e richieda una corrente massima per avvolgimento inferiore ai 2A In questo caso basterebbe regolare il partitore di tensione del circuito chopper per controllare la corrente in ingresso agli avvolgimenti In previsione di ci abbiamo fornito di un trimmer il partitore di tensione sulla scheda adibita al motore principale Tramite un cacciavite e un tester possibile quindi regolare la Vsens in ingresso all integrato L297 e alimentare il nuovo motore con la corrente desiderata I valori di Vsens e le rispettive correnti sono illustrate nell articolo 27 Per quanto riguarda la parte meccanica la sostituzione del motore comporterebbe solo ulteriori fori per lo spostamento delle attuali placche di alluminio che lo reggono Un possibile esempio di motore adatto il Size 16 hybrid stepper motor di cui alleghiamo il datasheet e presente anch esso su RS 10 2 2 Controllo in microstepping Nella sezione 9 abbiamo dimensionato gli errori di precisione del sistema MOE Si evince che il maggior contributo a tale errore deriva dalla risoluzione passi da 0 9 Se riuscissimo a aume
125. rollato da chi riceve per validare l integrit del pacchetto ricevuto Il Byte sync2 valorizzato a OxFF e delimita la fine del pacchetto Il secondo pacchetto del protocollo chiamato msg rcvd definito come segue struct msg rcvdl unsigned char sync0 unsigned char syncl unsigned char id unsigned char pos y unsigned char pos xl unsigned char pos x2 unsigned char spd y unsigned char spd_x1 unsigned char spd x2 unsigned char half unsigned char half xl unsigned char half x2 unsigned char checksum unsigned char sync2 7 3 Protocollo di comunicazione 67 Questo pacchetto viaggia dal PC al PIC ed ha il compito di veicolare le informazioni presenti nella tabella 7 2 spd_x2 riferimento di velocita asse x motore 2 half_y flag per half step motore asse se 7 half step altrimenti full step half x1 flag per half step motore 1 asse x se 7 half step altrimenti full step half x2 flag per half step motore 2 asse x se 1 half step altrimenti full step Tabella 7 2 Informazioni contenute nel msg rcvd I campi restanti sono equivalenti al pacchetto msg sent La sua dimen sione di 14 Byte Il corpo del messaggio con cui ricavare la checksum costituito dai Byte descritti sopra Il protocollo asincrono master slave dove il PC assume il ruolo di master e il PIC di slave La trasmissione e chiaramente punto punto senza ritrasmissione dei pacchetti non validi
126. roprocessore 6 3 2 Schema elettrico della scheda di pilotaggio Firmware MOE 7 1 ME LSU ats tok es oe Bh ee Gee Lat Larosa 7 2 1 Modulo USART nel 16 877 7 3 Protocollo di comunicazione o a e e cr 1 4 Comandi implementati 29 29 29 31 32 33 33 39 36 37 Al 41 42 42 48 48 44 AT 02 54 54 DT 1 0 Gestione dello stato 7 9 1 Interrupt nel PICI6F877 8 Libreria MOE 8 1 8 2 8 3 8 4 Introduzione ee der Eire Log ie decide mt ICE He ee Qo ER ee ies Ge E era libmoe e tabelle di velocit sls 8 3 1 Makefile e grafo dipendenze MOEST db ey dd GL Sechi dus E Poe a an i 542 Utilizzare DMOS s zudem eoo A a 9 Valutazioni sperimentali MOE 9 1 9 2 9 3 Test sulle posizioni ocn due deus eek a Test Ai veloci bona en Dw Eam oe WS A Test di 9 3 1 Raccolta dei dati eau So a a a a Ao 8G Soe A 10 Conclusioni e sviluppi futuri IOT COn USON a we ook ee ee ee ee a o 10 1 1 Punti di forza del sistema MOE 10 1 2 Punti deboli del sistema MOE 10 2 Possibili miglioramenti uuo mone 2 0 ure X ace 10 2 1 Sostituzione motore verticale
127. s tion of CLOCK HALF STEP MODE Half step mode is selected by a high level on the HALF FULL input 5 5041 NORMAL DRIVE MODE Normal drive mode also called two phase on drive is selected by a low level on the HALF FULL input when the translator is at an odd numbered state 1 3 5 or 7 In this mode the INH1 and INH2 outputs remain high throughout 1010 EN HOME 5 11 L297 MOTOR DRIVING PHASE SEQUENCES continued WAVE DRIVE MODE Wave drive mode also called one phase on drive is selected by a low level on the HALF FULL input when the translator is at an even numbered state 2 4 6 or 8 ELECTRICAL CHARACTERISTICS Refer to the block diagram Tamb 25 C Vs 5V unless otherwise specified Quiescent supply current pin 12 Outputs floating Input voltage pin 11 17 18 19 20 High Input current pin 11 17 18 19 20 eo Enable input voltage pin 10 Enable input current pin 10 00 Phase output voltage lo 10mA pins 4 6 7 9 m Is l I Inhibit output voltage pins 5 8 lo 10mA Vinh L Sync Output Voltage lo 5mA Vsync H p33 v 1 wm LIT ELECTRICAL CHARACTERISTICS continued Vott Comparators offset voltage Vier 2 1 V pins 13 14 15 Comparator bias current pins 13 14 15 Vref e seme prime o n resine o tRCLK Reset to clock delay Figure 1 CWICCW HALF STEP FU
128. s as INH1 io o Motor phase D drive signal for power stage ENABLE Chip enable input When low inactive INH1 INH2 A B C and D are brought low 11 CONTROL Control input that defines action of chopper When low chopper acts on INH1 and INH2 when high chopper acts on phase lines ABCD 13 SENS Input for load current sense voltage from power stages of phases C and D EJ SENS Input for load current sense voltage from power stages of phases A and B Vret Reference voltage for chopper circuit A voltage applied to this pin An RC network R Vcc ground connected to this terminal determines the rate This terminal is connected to ground on all but one device in synchronized multi L297 configurations f 1 0 69 RC CW CCW Clockwise counterclockwise direction control input Physical direction of motor rotation also depends on connection of windings Synchronized internally therefore direction can be changed at any time 18 CLOCK Step clock An active low pulse on this input advances the motor one increment The step occurs on the rising edge of this signal 3 11 L297 PIN FUNCTIONS L297 1 L297D continued HALF FULL Half full step select input When high selects half step operation when low selects full step operation One phase on full step mode is obtained by selecting FULL when the L297 s translator is at an even numbered state Two phase on full step mode is set by selecting FULL whe
129. s n temp string if stremp temp string gdy j break for i 0 i lt 20 i int reset 0 int pressure 0 int discard scanf lf amp time amp x amp y amp pressure amp discard amp discard amp discard amp reset while 1 unused getchar if unused n break if time 0 continue 65 66 67 68 69 70 71 72 73 74 75 76 TT 78 TO 80 81 82 83 84 85 86 8T 88 89 90 91 92 93 94 95 96 97 98 99 100 102 86 Capitolo 8 Libreria MOE MOE_reset 650 continue j if pressure PRESSURE TRESHOLD continue unsigned char event rcvd 0 if abs x x_old gt FILTER TRESHOLD X event rcvd 1 if abs y y_old gt FILTER TRESHOLD Y event rcvd 1 if event rcvd double max_range_tracking_x 0 double max range tracking y 0 if tracking_delay 0 tracking delay continue if x_old 0 amp amp y_old 0 amp amp time_old 0 xold y old time_old time double avg_speed 0 avg_speed sqrt pow abs x x old DELTA X RIGHT EDGE LEFT_EDGE T CAMP 2 pow abs y y_old x DELTA Y MOE BOTTOM EDGE TOPEDGE TCAMP 2 103 104 8 4 MOEtest 87 double pos_x x LEFT EDGE x DELTA X MOE RIGHT_EDGE L
130. sa senza il tuo aiuto Di nuovo grazie a tutti per 1 bei momenti passati insieme Giacomo III Ringrazio innanzitutto mio padre per l aiuto tecnico e la motivazione che ha saputo fornirmi In generale un grazie va alla mia famiglia per la pazienza dimostrata Alla mia ragazza per essermi stata vicino Renzo Indice Sommario I Ringraziamenti 1 Introduzione 1 2 Stato dell arte 5 Zale este TODOUCWG s uos upon exe Howe Hoke ent SG 5 FOD eS BY uox ee 5 2 12 eb eee eG 6 Zu mesa x RR dE T 2 2 SISUEMI VISIVI 22 848 tk Be st ERRE 10 2 2 1 Telecamere attuate tramite PAM 10 2 2 2 Sistemi Pan Tilt 11 3 Specifiche richieste 13 3 1 Specifiche bioispirate s eats wm a a X owes 13 od Campo N IVO p sete sce ts era Sk E S Exe S 13 Oli Spain die Ee ee US XE 14 3 1 8 Velocit di rotazione 204 14 3 2 Specifiche non bioispirate 14 3 2 1 Risoluzione frame rate 004 14 3 2 2 Elevata precisione 14 DC ACOSO ant dens PERSE an UE Ge a A et 14 4 Bioispirazione 17 4 1 Evoluzione della robotica e biorobotica 17 4 1 1 Bionica biorobotica biomimetica e robotica bioispirata 18 4 2 Caratteristiche visive 19 LO iE occhio OUI se ae ace Pla 2 6 Gk merum 19 4 2 2 I muscoli
131. serie di tredici movimenti molto brevi gli ultimi tre invece prevedevano cinque o sei movimenti di medio angolo Non abbiamo ritenuto necessario valutare la precisione nel caso di movimenti lunghi per due motivi prima di tutto tali risultati possono essere estrapolati facilmente dai test eseguiti sui piccoli movimenti in secondo luogo per la natura dei test era difficile la valutazione di angoli maggiori di 25 Per superare questo problema sarabbe stato necessario sostituire la scacchiera utilizzata per i test e disporla a diversi metri dalle telecamere 9 3 Test di precisione 93 9 3 1 Raccolta dei dati La procedura utilizzata per effettuare i test descritti in questa sezione la seguente e Fotografia tramite webcam ad ogni posizione del motore e Rielaborazione delle immagini con matlab e Estrazione degli angoli della scacchiera oggetto della fotografia e Calibrazione della telecamera tool Calibox 5 e Valutazione degli errori di calibrazione e Valutazione dei parametri estrinseci e Estrapolazione dell angolo di rotazione dalle immagini e Confronto tra l angolo di rotazione comandato ai motori e quello ricavato da matlab e Medie e valutazioni di carattere generale Analizziamo il test numero 18 come esempio del modus operandi comune a tutti i test Nella figura 9 1 possiamo vedere le cinque fotografie scattate con la webcam nelle cinque diverse angolazioni del motore 0 4 5 9 13 5
132. sistema motorio non antropomorfo ma di una certa valenza sperimentale il sistema pan amp tilt Nel progetto Headroid1 30 una telecamera del genere e stata utilizzata con un algoritmo di riconoscimento facciale per muoversi in modo da tenere l interlocutore al cenro del campo visivo Un sistema di questo tipo montato su di una testa robotica sarebbe scarsamente antropomorfo ma potrebbe rivelarsi molto semplice da costruire e leggero dato che non necessita di grosse strutture di sostegno per i servomotori L algoritmo di riconoscimento facciale utilizzato per Headroid inoltre potrebbe essere utilizzato in un futuro anche per il sistema MOE 12 Capitolo 2 Stato dell arte Figura 2 10 Sistema pan and tilt Headroid Capitolo 3 Specifiche richieste si desidera cio che facile ottenere Ovidio 43 a C 17 d C poeta latino In questa sezione descriveremo le specifiche richieste per il completamento della tesi Lo studio di fattibilit ha sostanzialmente riguardato il sistema di visione ed il peso In particolare dovevano essere soddisfatti determinati vincoli quali peso massimo di circa un chilogrammo campo visivo simile a quello umano proporzioni del sistema visivo umano velocit di rotazione delle telecamere pari a quella umana sia nel caso di movimenti di inseguimento lento che di inseguimento veloce saccadi e telecamere con una risoluzione e frame rate sufficiente per eseguire object t
133. sogno solo del suo file eseguibile Le librerie condivise dette anche dinamiche vengono collegate ad un programma in due passaggi In un primo momento durante la fase di compilazione Compile Time il linker verifica che tutti i simboli funzioni variabili classi e simili richiesti dal programma siano effettivamente collegati al programma o ad una delle sue librerie condivise In ogni caso i moduli oggetto della libreria dinamica non vengono inseriti direttamente nel file eseguibile In un secondo momento quando l eseguibile viene lanciato Run Time un programma di sistema dynamic loader controlla quali librerie dinamiche siano state collegate al nostro programma le carica in memoria e le collega alla copia del programma in memoria 8 3 libmoe e tabelle di velocit La libreria libmoe una libreria statica sviluppata utilizzando programmi facenti parte della gnu toolchain quali il compilatore gcc e il programma gnu make Essa si compone di tre parti il parser csv le funzioni di utilit e i comandi verso il firmware MOE La scelta di un parser per il formato csv non banale Un comma separated values abbreviato in CSV un formato basato su file di testo utilizzato per l importazione ed esportazione ad esempio da fogli elettronici o database di una tabella di dati Non esiste uno standard formale che lo definisca ma solo alcune prassi pi o meno consolidate libmoe considera come csv un formato del tipo 1 num1
134. t otteniamo le seguenti informazioni NAME synclient commandline utility to query and modify Synaptics driver options SYNOPSIS synclient m interval synclient hIV varl valuel DESCRIPTION This program lets you change your Synaptics TouchPad driver for XOrg XFree86 server parameters while X is running For the m and h options SHM must be enabled by setting the option SHMConfig on in your XOrg XFree86 configuration OPTIONS m interval monitor changes to the touchpad state Interval specifies how often in ms to poll the touchpad state Whenever Capitolo 8 Libreria MOE a change in the touchpad state is detected one line of output is generated that describes the current state of the touchpad This option is only available in SHM mode The following data is included in the output time Time in seconds since the logging was started x y The x y coordinates of the finger on the touchpad The origin is in the upper left corner z The pressure value Pressing the finger harder on the touchpad typically produces a larger value Note that most touchpads don t measure the real pressure though Instead capacitance is usually measured which is correlated to the contact area between the finger and the touchpad Since more pressure usually means a larger contact area the reported pressure value is at least indirectly related to the real pressure f The number of fingers currently touching the touchpad Note that only
135. ta di una nuova disciplina la biorobotica 4 1 1 Bionica biorobotica biomimetica e robotica bioispira ta Il termine bionica fu coniato nel 1960 dall ingegnere Jack Steel con il signifi cato di scienza dei sistemi con caratteristiche copiate dalla natura Nel corso degli anni il termine bionico acquisi una differente connotazione e venne associato sempre piu allo sviluppo di arti e di corpi artificiali dotati di forza sovrumana 2 Successivamente Otto Schmitt un inventore americano coni il termine bio mimetica per descrivere il trasferimento di idee dalla biologia alla tecnologia Ne 1974 venne ufficialmente definito il termine biomimetica come lo studio consapevole dei processi biologici e biomeccanici della natura come fonte di ispirazione per il miglioramento delle attivit e tecnologie umane Recentemente e stata definita biorobotica una nuova area scientifico tec nologica che fonde robotica e bioingegneria in particolare la biorobotica e la scienza e la tecnologia della progettazione e della realizzazione di sistemi robotici di ispirazione biologica o di applicazione biomedica 9 La biorobotica puo essere intesa e studiata in due diverse prospettive Robotica biomimetica come scienza che serve a generare nuove scoperte e quindi nuova conoscenza contribuendo cosi al progresso scientifico Robotica bioispirata come ingegneria per inventare e generare nuova tecnologia La robotica bioispirata ha quindi l obi
136. telecamere come mostrato nella figura 5 5 Una placchetta in alluminio fissata sull albero del motore attivava il sensore presente nella parte posteriore dei motori Figura 5 5 Parte bassa della struttura mobile del prototipo nr 4 5 2 Prototipi costruiti 35 5 2 2 Prototipo Nr 5 Figura 5 6 Rappresentazione frontale semplificata del prototipo nr 5 Abbiamo notato che il prototipo Nr 4 non riusciva a muovere la strut tura contenente i due motori per il movimento orizzontale questo a causa dell eccessivo peso della struttura mobile della insufficiente potenza del motore adibito al movimento verticale e per l eccessiva leva tra il carico della parte mobile e l asse di rotazione Abbiamo quindi ridotto al minimo tale leva abbassando l attacco delle telecamere direttamente sull albero dei motorie rimuovendo temporaneamente i sensori di fine corsa Al fine di fornire un aiuto al motore verticale abbiamo aggiunto un riduttore 2 1 per verificare se in questo modo fosse possibile muovere la struttura Abbiamo inserito il riduttore tra carico e motore e lo abbiamo fissato direttamente ad entrambi gli estremi Purtroppo nonostante il riduttore e la leva ridotta la parte mobile ancora non riusciva a ruotare per pi di qualche grado 36 Capitolo 5 Sistema meccanico MOE 5 2 3 Prototipo Nr 6 Figura 5 7 Rappresentazione frontale semplificata del prototipo nr 6 Nel prototipo Nr 6 abbiamo modificato fortemente la parte
137. ti in questo modo se apportiamo modifiche dobbiamo riavviare x server come riportato nell articolo 8 l Section InputDevice 2 Identifier Synaptics Touchpad 3 Driver synaptics 4 Option SHMConfig 5 EndSection E importante verificare che la entry Option SHMConfig sia impostata su A questo punto se invochiamo da terminale il comando con tempo di campionamento 100 ms i synclient m 100 otteniamo un output simile a quello presente nella figura 8 3 zo renzo laptop synclient m 108 x y 7 w lr ln multi gl gm gr gdx gdy 1108 3657 0 60 1527 2256 O e O O O CONCA O db Xr gt ta an gt w i fe 161 201 302 402 502 662 702 gt rara ra aeaaaadgadtc ar Mar c e Dici E amp ce mm me me ANAAO al ce 4 gt ze T ce g gt 4 G LJ un Oo amp a ET Lo Ke S un fe Lau co om 00000090 e si LA n a n n n Lg Cn OO LU Lad e co gt gt 4 i gt J Co gt n oo tw i
138. ti utilizzati successivamente presentiamo 4 Capitolo 1 Introduzione eli schemi elettrici realizzati nel prototipo Nella settima sezione descriviamo il firmware per microprocessore PIC realizzato illustriamo le funzionalita del PIC e discutiamo le scelte tecniche effettuate Nella ottava sezione presentiamo la libreria libmoe portando come caso di studio uno scenario di utilizzo di tale libreria per la realizzazione di un controllo software complesso Nella nona sezione descriviamo i test effettuati sul sistema completo per verificarne il funzionamento I test vertono sul controllo di ogni possibile posizione dei motori e di ogni possibile velocita erogabile al fine di ottenere delle valori limite di corretto funzionamento Infine enunciamo i test di precisione effettuati ed esponiamo il modo in cui sono stati raccolti 1 dati tramite l ausilio del toolbox per matlab Calibox Nella decima ed ultima sezione commentiamo il lavoro svolto e traiamo delle conclusioni qualitative evincendo pregi quali la precisione e basso costo di produzione e i difetti riscontrati quali velocit massime per il movimento orizzontale leggermente inferiori alle specifiche e peso superiore alle specifiche Esponiamo infine le possibili varianti e miglioramenti futuri che permetterebbero di soddisfare a pieno le specifiche indicando inoltre il dazio di tali cambiamenti in termini di lavoro precisione e costi Capitolo 2 Stato dell arte
139. tituito dall avvolgimento del motore passo passo I diodi non integrati nel componente D1 D2 D3 e D4 sono ad alta velocit Shottky e servono per proteggere i transistor dalle correnti di fly back generate dall avvolgimento non appena si interrompe l alimentazione Le 4 porte logiche AND pilotano le basi dei transistor e non permettono di corto circuitare l alimentatore Gli ingressi A e B e INHI sono pilotati da un L297 e pu verificarsi uno dei seguenti casi A 0 e 1 e INHI 1 in questo caso conducono i transistor Q2 e Q3 e viene applicata al carico una tensione positiva A 1 e B 0 e INHI 1 in questo caso conducono i transistor Q1 e Q4 e viene applicata al carico una tensione negativa 6 2 Componenti integrati utilizzati 53 5945 SENS DRIVE CURRENT RECIRCULATION gt Figura 6 11 Ponte H nel L298 L ingresso INH1 di norma impostato alto se basso interdice la conduzione dei quattro transistor Il motivo di questo comportamento scaricare la corrente dell avvolgimento nel resistore Rs in questo modo si ottiene un tempo di scarica minore stressando il resistore In condizioni normali quando l avvolgimento non pi alimentato le correnti di ricircolo attraversano i diodi per scaricarsi sul polo positivo il tempo di scarica maggiore L298 adatto ad essere pilotato in PWM Questa soluzione costituisce lo stato dell arte nel pilotaggio di motori
140. tivamente l void reset float degOnSec La funzione MOE reset deve essere chiamata dopo che la MOE open e stata eseguita con successo Essa invia al firmware il comando di reset Tale operazione riporta le webcam alla posizione iniziale 0 0 0 Tale comando A 2 Documentazione libmoe 125 bloccante eventuali altri comandi inviati durante un reset verranno accodati e eseguiti non appena terminato Input riferimento di velocita con cui pilotare il movimento in gradi al sec void set float pos_y float pos_x1 float pos_x2 float 20 23 N 26 N O0 degOnSec La funzione MOE set deve essere chiamata dopo che la MOE_open stata eseguita con successo Essa invia al firmware il comando di set Tale operazione porter le webcam nella posizione desiderata inviata come para metro Il parametro di velocit indica la velocit del movimento composto delle due componenti orizzontale e verticale per ogni webcam Il calcolo della velocit viene effettuato tramite il seguente algoritmo in pseudocodice riferimento webcam y double pos_y riferimento webcam 1 double pos x1 riferimento webcam 2 double pos x2 riferimento di velocit double degOnSec richiedo la posizione attuale e la salvo nell oggetto msg_rcvd msg rcvd MOE get offset movimento verticale in gradi delta y fabs pos y convertToDeg msg rcvd pos y offset
141. tiwatt Horiz L298P PowerSO20 nectionof an externalsensing resistor An additional supply input is provided so that the logic works at a lower voltage 5 384512 1 13 L298 ABSOLUTE MAXIMUM RATINGS Symbol 50 7 3 2 5 2 25 Vs Power Supply v Vss Logic Supply Voltage o 7 Input and Enable Voltage 0 3 to 7 V Peak Output Current each Channel Non Repetitive t 1001s Repetitive 8096 on 20 off ton 10ms DC Operation Vses O os Vsens 1 1023 Total Power Dissipation Tcase 75 C 25 O T Junction Operating Temperature Storage and Junction Temperature C PIN CONNECTIONS top view Vs Vss Vi Top CURRENT SENSING B OUTPUT 4 e OUTPUT 3 INPUT 4 ENABLE B INPUT 3 LOGIC SUPPLY VOLTAGE 5 GND INPUT 2 ENABLE A INPUT 1 SUPPLY VOLTAGE Vs OUTPUT2 OUTPUT 1 CURRENT SENSING A ultiwatt15 e TAB CONNECTED TO PIN 8 D95IN240A m C CO CO GND Sense B N C Out 4 PowerSO20 Out 3 Input 4 Enable B Input 3 VSS GND GND Sense A N C Out 1 Out 2 Vs Input 1 Enable A Input 2 GND O ON OAK C N D95IN239 THERMAL DATA Symbol PowerSO20 Multiwatti5 Thermal Resistance Junction case 3 i Max Thermal Resistance Junction ambient Max 180 Mounted on aluminum substrate 2113 IST L298 PIN FUNCTIONS refer to the block diagram MW 15 PowerSO Function 1 15 231
142. to un conduttore separato per ciascun verso di trasmissione delle informazioni Il vincolo in genere la necessit che trasmissione e ricezione abbiano lo 7 2 RS232 61 stesso formato e ovviamente che ciascuno dei due nodi abbia sufficiente potenza di calcolo per la gestione del duplice flusso di informazioni L ampiezza del segnale caratterizzata da un valore alto pari a circa 12V ed un valore basso pari a 12V 1 uno logico spesso indicato come mark corrisponde al valore di 12V mentre lo zero logico space come 12V Tutte le transizioni appaiono in corrispondenza di multipli di 104 us pari ad 1 9600 cio ciascun bit dura esattamente l inverso del baud rate La linea si trova inizialmente nello stato di riposo bassa nessun dato in transito la prima transizione da basso in alto indica l inizio della trasmissione inizia il bit di start lungo esattamente 104 us Segue il bit meno significativo LSB dopo altri 104 il secondo bit e cos via per otto volte fino al bit pi significativo MSB Da notare che il byte trasmesso al contrario cio va letto da destra verso sinistra Segue infine un periodo di riposo della linea di almeno 208 us cio due bit di stop e quindi eventualmente inizia un nuovo pacchetto di bit Le varianti possibili sono le seguenti e Se la trasmissione pi veloce o pi lenta la distanza tra i fronti varia di conseguenza p e a 1200 bps le transizioni avvengono a multipli d
143. tri due attraverso il pin 1 Sync collegato in serie Inoltre i pin 16 oscillatore dei due L297 riceventi la sincronizzazione sono stati messi a massa 58 Capitolo 6 Architettura dell apparato elettronico MOE Lu ul E 155 Wis AE uf a uit ha x x un ne TA uh 1 JE J H 5 n a Uu E I e m e jx I lu a gt a 4 5 16 o lt eon ze 35 4 mw Z z i ho so na x V E O Figura 6 15 Schema elettrico pilotaggio motore passo passo Il discorso leggermente differente per quanto riguarda il pilotaggio del motore RS535 0489 Il partitore di tensione in questo caso regola il circuito chopper ad erogare una corrente di 1 68 A L alimentazione dei ponti H non viene erogata dall alimentatore switching ma da un trasformatore aggiuntivo mentre la logica TTL viene comunque alimentata dallo switching Capitolo 7 Firmware MOE La disumanita del computer sta nel fatto che una volta programmato e messo in funzione si comporta in maniera perfettamente onesta Isaac Asimov 1920 1992 scrittore americano In questo capitolo presenteremo il firmware MOE Esso nasce con lo scopo di permettere la gestione della posizione delle telecamere e l interfacciamento con il mondo esterno 7 1 Introduzione Lo scopo del firmware MOE duplice implementare l interfacciamento tra l apparato elettronico MOE e i
144. ttazio ne Tali specifiche comprendono un peso non superiore al chilogrammo un campo visivo di estensione simile a quella umana una velocit di rotazione delle telecamere in grado di emulare quella umana sia per i movimenti di inseguimento lento 100 s sia per i movimenti saccadici 500 una risoluzione ed un frame rate delle telecamere adeguati ed infine un eleva ta precisione nel movimento che possiamo tradurre in un errore massimo tollerato pari al mezzo grado Nella quarta sezione chiariamo termini quali bionica biorobotica biomi metica e robotica bioispirata quest ultimo ci dar l occasione di esporre le caratteristiche che nella nostra tesi sono state appunto ispirate dalla natura dell occhio umano Per questo motivo inizieremo col descrivere l occhio la sua anatomia ed il suo campo visivo per poi continuare classificando i movimenti oculari quali l inseguimento lento veloce e la vergenza Infine verranno descritte le caratteristiche bioispirate del sistema MOE quali le proporzioni l ampiezza del campo visivo e la velocit di rotazione Nella quinta sezione descriviamo l apparato meccanico di MOE accen nando i primi tre prototipi preliminari per poi descrivere i quattro proto tipi effettivamente realizzati concentrando l attenzione sulle parti che ogni prototipo ha migliorato rispetto al precedente Nella sesta sezione illustriamo l apparato elettronico MOE Elechiamo inizialmente 1 componenti integra
145. tuale controllo combinato collo testa ma porterebbe inevitabilmente a un deterioramento della precisione del sistema Il secondo approccio invece riguarda la ricreazione della struttura in mate riale plastico monoblocco modellato ad HOC sulla struttura esistente Tale soluzione abbasserebbe notevolmente il peso della struttura che attualmente formata in buona parte da placche in alluminio e numerose viti con i corrispondenti bulloni Non da sottovalutare tuttavia l attuale funzione di dissipazione del calore dei motori che attualmente tali placche in alluminio svolgono 10 3 Sviluppi futuri e varianti Esistono inoltre possibili sviluppi futuri e varianti del tema in esame al fine di completare l analisi effettuata Tali sviluppi riguardano la sostituzione dei motori passo passo con una muscolatura artificiale l abbinamento dei movimento del collo e dello sviluppo della computer vision 10 3 1 Muscoli di Mckibben L utilizzo di muscoli di Mckibben rientra nell idea di un robot totalmente bioinspirato Questa possibilit stata scartata in fase progettuale per i 10 3 Sviluppi futuri e varianti 107 notevoli problemi relativi al controllo Un sistema dotato di motori stepper risulta pi preciso nei movimenti e piu semplice nella costruzione del sistema meccanico I motori stepper inoltre ci permettono quando non sono in movimento di mantenere fermamente la posizione grazie alla resistenza creata dal passaggio di corre
146. umber 535 0489 Dimensions in mm Specifications Step Angle Accuracy Full Step No Load Rated Voltage V Current Phase A Rotor inertia gem 6 Speed V Torque Characteristics 28VvDC 1 68 FULL STEP Pi PROSA CEI PE oe n ops Characteristics Resistance Accuracy 10 Inductance Accuracy 20 Temperature Rise 80 C Max Rated Current 2 phase On Ambient Temp 20 C to 50 C Insulation Resistance 100mm Omin 500Vdc Dielectric Strength 500Vac for 1 min Shaft Radial Play 0 06mm Max 450G Load Shaft Axial Play 0 08mm Max 450G load RS Components shall not be liable for any liability or loss of any nature howsoever caused and whether or not due to RS Components negligence which may result from the use of any information provided in RS technical literature RS Components PO Box 99 Corby Northants NN17 9RS Telephone 01536 201234 Q An Electrocomponents Company RS Components 1998 Size 16 hybrid stepper motor 16 HS series The 16 HS hybrid stepper motor provides 200 steps revolution 400 steps rev when operated in Ystep mode and is ideal for instrumentation drives requiring a combination of compact dimensions high dynamic performance and accuracy The motor is physically interchangeable with the larger 17HS model but it s reduced overall frame size and the reduced length of the 16HS 0 series makes it ideal for use in applications where space is
147. ungibili in base alle diverse angolazioni del movimento rispetto all orizzonte Tali velocit massime risultano talvolta insufficienti per l emu 9 3 Test di precisione 91 lazione dei movimenti saccadici per spostamenti superiori ai 5 Tuttavia nella maggioranza dei movimenti possibili il sistema soddisfa le richieste Angolo Rotazione Adeguato per saccadi di rispetto massima 5 10 30 all orizzonte raggiungibile 150 s 300 s 500 s 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 NO 51 51 NO 51 51 NO 51 51 51 NO 51 NO NO Tabella 9 1 Velocit di rotazione raggiungibili in base all angolo di spostamento 9 3 Test di precisione Il passo dei motori utilizzati e di 1 8 il mezzo passo di 0 9 In questa condizione l errore dello spostamento dipende fortemente dall entit dello spostamento dato che una composizione di errore di risoluzione ed errore sistematico L errore di risoluzione provocato dal fatto che il motore si muove di spostamenti multipli di 0 9 Per questo motivo se l angolo di spostamento non multiplo di 0 9 il motore si andr a posizionare nello stato pi vicino disponibile L errore di risoluzione quindi pari a zero in tutti gli stati multipli di 0 9 mentre massimo e pari a 0 45 nel caso di posizione richiesta perfettamente centrata tra due stati multipli di 0 9 ad es
148. zionare correttamente una volta inserita sul robot Maximum One per il completamento di task specifici quali l inseguimento di oggetti o riconoscimento facciale 3 2 1 Risoluzione e frame rate La risoluzione delle telecamere doveva essere di almeno 640x480 con un Frame rate di 24 30 Frame s I driver per il loro funzionamento dovevano essere compatibili con linux Le telecamere inoltre dovevano avere un basso costo ed essere dotate di uscita usb ed il loro peso non doveva superare i 100 grammi per questo motivo sono state scelte le webcam logitech c200 3 2 2 Elevata precisione La precisione degli spostamenti doveva essere molto elevata Erano tollerati errori massimi di 0 5 globali indipendentemente dalla posizione richiesta Nel caso di motori passo passo l errore globale sar dato dalla met del passo del motore a cui sommiamo l errore di sistema 3 2 3 Peso Come mostrato nella figura 3 1 il robot Maximum One monta un collo mobile azionato da attuatori di Mckibben il peso massimo che pu sostenere per riuscire a muoversi in maniera adeguata stato calcolato attorno al chilogrammo Un peso ridotto dell ordine di grandezza di questo tipo una 3 2 Specifiche non bioispirate 15 specifica importante nel caso si volesse utilizzare il sistema MOE direttamente collegato al robot Maximum One Dobbiamo ricordare che test sul sistema collo testa non hanno potuto aver luogo per questo motivo ci auguriamo che possa

Download Pdf Manuals

image

Related Search

Related Contents

Blue Cat`s Stereo Liny EQ User Manual  Using Smart Q Sensors  User Manual / Specifications  USER`S MANUAL  Verifit User Guide  ALLEGATO 2: FASI DI LAVORO  Sony ICF-C201 User's Manual  Reconversion professionnelle des Sportifs de Haut  取扱説明書を必ずご参照ください。 1/2 「管理」、「特管(設置)」 オージェ  

Copyright © All rights reserved.
Failed to retrieve file