Home
Visualizza/apri - POLITesi
Contents
1. int TimerlRead void unsigned char sreg unsigned int i Save global interrupt flag sreg SREG Disable interrupts cli disable interrupt Read TCNTn into i x i DONIS Restore global interrupt flag SREG sreg return i void TimerlWrite unsigned int i 4 unsigned char sreg Save global interrupt flag sreg SREG Disable interrupts cli LA dasable nderru pt Set TONTR to i TONTI i Restore global interrupt flag SREG sreg void TimerlPause unsigned int flag Pause using timer 1 Timerl1Write 0 unsigned int time TimerlRead while time flag 4 time TimerlRead void initTimerl void void init TCCRIB 1 lt lt CS12 1 lt lt CS10 Prescaler to Sys Clock 1024 16MHz 1024 _OCI1A void ASSR 1 lt lt AS2 Enable asynchronous mode TCCRIB 1 lt lt CS12 1 lt lt CS10 Prescaler to Sys Clock 1024 16MHz 1024 TIFR1 1 lt lt OCFIA Clear OCF1 Clear pending interrupts TIMSK1 1 OCIE1A 1 Enable 0 Disable Timer1 Output Compare Mode Compare Match Interrupt OCRIA 48 Set Output Compare Value to 32 TimerilWrite unsigned int 0 Resets Timer DDRB 0xFF Jf Set Port B as output while ASSR amp 1 lt lt OCR2UB Wait for registers to update 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 63
2. 4 d Gradevolezza e Intelligenza Le modifiche sostanziali sono state apportate prevalentemente alla testa e al busto di LionHell II come mostrato nelle sottosezioni successive in cui ne descritto in dettaglio ogni singolo aspetto 6 2 Volto di LionHell II LionHell significa letteralmente leone inferno traducibile anche come Leone Infernale Di conseguenza stato d obbligo cercare di dargli un aspetto felino nonostante la barra sensoriale molto lunga che costituisce la testa del robot N Per questa ragione stata scelta come esempio la tigre reale del Bengala Panthera Tigris Tigris 6 la tigre pi diffusa e pi comune in quanto si sono avuti problemi pratici nel cercare di creare una vera e propria cresta intorno alla testa Il nuovo volto costituito da un materiale plastico molto leggero che permet te di abbellire LionHell II senza incrementargli il peso in maniera eccessiva 86 CAPITOLO 6 DESIGN DI LIONHELL II Figura 6 4 Volto di LionHell II a Sagoma del volto b LionHell II senza volto c LionHell II con il volto 6 3 IL TELECOMANDO DI LIONHELL II ST mentre i colori sono stati applicati tramite pennarelli indelebili lasciando lo spazio sufficiente per il sensore centrale e questo il motivo della bocca ad arco come si pu osservare in Figura 6 4a In Figura 6 4b possibile osservare l aspetto di
3. in Figura 3 7 LionHell si ritroverebbe a dover gestire le seguenti informazioni 1 il sensore frontale indica la presenza di un ostacolo superabile il robot deve decidere se affrontarlo od evitarlo 2 1 tre sensori che puntano sul terreno indicano la stessa distanza appros simativa dalla superficie ossia la parte superiore del primo gradino evidenziato in Figura 3 7 dalle spesse linee verdi tratteggiate 3 essendo l ostacolo superabile e non rilevando differenze di distanze tra i sensori laterali e quello centrale LionHell decide di proseguire dritto evidenziato in Figura 3 7 dalla freccia rossa 4 sulla cima dell ostacolo Lion Hell controlla se pu scendere ma l altezza del salto risulta troppo elevata ed il robot rinuncia a raggiungere il suo obiettivo Nel caso in cui LionHell avesse avuto un sistema di sensori piu complesso sarebbe stato in grado di osservare quello che lo circondava e probabilmente avrebbe scelto uno dei due percorsi evidenziati dalle frecce blu Inoltre a 02 CAPITOLO 8 LIONHELL II Figura 3 7 LionHell dritto destra o sinistra Arrivo Ej A Le causa dei continui sobbalzi provocati dal movimento dei Wheg la testa tende ad inclinarsi a destra e a sinistra compromettendo i valori letti dai sensori e causando la rilevazione di ostacoli inesistenti Da questo semplice esempio facile intuire che il sistema sensoriale di cui LionHell dotato
4. 3 2 e l aggiunta di telecamere sulla barra sensoriale stessa ne aumenterebbe eccessivamente il peso Di conseguenza nel caso si vogliano aggiungere delle telecamere per fare in modo che LionHell II sia in grado di muoversi auto nomamente o per usarle per un eventuale controllo remoto da computer necessario cercare un punto del robot in cui sia possibile installarle senza che queste si possano danneggiare nel caso in cui il robot cada lateralmente o di schiena a causa di un movimento improvviso I motori AX 12 inoltre sono inadatti per il moto continuo dei Wheg causa della banda morta che il motore stesso presenta e in quanto non sono in grado di sviluppare una forza elevata a velocit basse inoltre la struttura degli attuatori in plastica di ingegneria e il movimento stesso dei Wheg tende nel tempo a danneggiarne la meccanica interna In conclusione LionHell II un robot dotato di una struttura singolare che gli permette di muoversi adeguatamente sfruttando la componentistica di cui provvisto ma necessita di diversi cambiamenti nel caso in cui si volesse creare un robot totalmente autonomo e non controllato in remoto come in questo caso LionHell II ha dimostrato di possedere una buona manovrabilit e la capacit di superare numerosi ostacoli sfruttando una coda che svolge il ruolo di sup porto durante le scalate e del giunto centrale motorizzato che gli permette 96 CAPITOLO 7 CONCLUSIO
5. pos pos 293 it was printf du pos return unsigned short pos center uw 29 3 short getTailDeg void short deg return mounted upside down deg servo is void setTailDeg short deg speed deg deg servo is mounted upside down if deg lt 90 deg gt 90 ye Error out of range unsigned short short pos2deg dxl read word 1 P PRESENT POSITION L APPENDICE A LISTATO 150 printf nError deg must be in the 90 to 90 deg range n else unsigned short posTail 1 holds posTail printf 1pos t d t posTail dxl write word 1 P MOVING SPEED L dxl write word 1 P GOAL POSITION L posTail mirrorPos posTail printf 5pos t d n posTail dxl write word 5 P MOVING SPEED L dxl write word 5 P GOAL POSITION L short getAbdomenDeg void return short pos2deg dxl read word 16 P PRESENT POSITION L short getAbdomenDegG void x Gets return getAbdomenDeg short readAccDeg 1 void setAbdomenDeg short deg if deg 75 je Error unsigned short deg gt 80 out of range x speed abdomen joint deg2pos unsigned short deg 150 position speed posTail speed posTail 150 inclination wrt g plane x printf XNnError deg must be in the 75 4t0 4 80 degrange kn else unsigned short posAbdomen 1 posAbdomen printf 16pos t d t posAbdom
6. 0 lt lt PA6 MPLEX ADDR 01 1 printf n01 X Vi break case 2 Choosing Y Accel PORTA 0 lt lt PA7 1 lt lt PA6 MPLEX ADDR 10 2 printf n10 Y t break case 3 Chosing Free Address PORTA 0 lt lt PA7 0 lt lt PA6 MPLEX ADDR 11 3 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 printf n11 F t break default printf nWrong Address Md Selected oni channel 2Vn return j J Pause before acquiring Timerl1Write 0 int time TimerlRead while time TIME MILLISEC time TimerlRead printf time d n time j intl6 t result ade statt 2 Channel 2 printf result Vtfod return result void setupSharp void Configure MCU bits to use Sharp IR Sensors Board x Configure MCU outputs n result to interface Board inputs DDRA 1 lt lt PA2 1 lt lt PA3 MCU PIN PA2 and PAS3 s et as Output DDRF 1 PF5 MCU PIN PF4 set as Output uint16 t readSharp unsigned char addr 4 Read value of Sharp Note All PORTA pin sensor mapped on address addr values are inverted 1 is LOW 0 This
7. 4 3 1 Ruolo della coda negli animali La coda un elemento fondamentale in molti animali e svolge un ruolo attivo quando l animale si appresta a scavalcare ostacoli di grandi dimensioni 17 27 40 o quando deve superare superfici lisce Per esaminare tale comportamento stato scelto il geco Cosymbotus Pla tyurus in quanto estremamente agile e con una coda piatta e larga molto attiva I risultati 17 dimostrano che la coda non svolge solamente il ruolo di struttura passiva che immagazzina il grasso garantisce l equilibrio e un appiglio ma agisce anche come quinta gamba di emergenza durante scalate molto rapide e su superfici scivolose In natura degli scalatori rapidi devono rispondere a continui cambiamenti del terreno la presenza di ostacoli supporti discontinui e superfici scivolose Al geco sono state sottoposte due prove due differenti superfici da scalare caratterizzate da differenti gradi di attrito Per prima cosa 17 stata scelta una pista con una superficie di aderenza elevata ottenuta da una scheda perforata I gechi che hanno affrontato la sfida hanno dimostrato di possedere un elevata aderenza ed equilibrio e la coda si manteneva a distanza dalla parete fintantoch le zampe mantenevano una presa sicura Successivamente stata aggiunta una striscia scivolosa in risposta l avampiede del geco 6 scivolato verso il corpo e lo slittamento della 68 CAPITOLO 4 CONTROLLO E MOBILIT DI LIONHELL II
8. dotato di quattro gambe con forma a L ciascuna delle quali dotata di un solo grado di libert il che permette di ridurre considerevolmente la complessit meccanica totale rispetto a quella di una gamba standard che in genere richiede dai 2 ai 3 attuatori Inoltre la piccola dimensione di Prolero e la sua ottima capacit di carico in rapporto alle dimensioni ridotte 22x23x8 cm con una capacit di carico di 1 5 kg ed in particolare la sua abilit nel superare senza problemi la maggior parte degli ostacoli che gli si presentano contro lo rendevano un ottimo candidato come possibile esploratore di Marte come mini robot mobile Tale struttura fu sviluppata come conseguenza delle rigide norme imposte norme che in 36 CAPITOLO 2 STATO DELL ARTE particolare andavano ad impattare sulla massa totale del robot le dimensioni massime del robot a riposo e l energia richiesta per il movimento Figura 2 9 Prolero Wheg Leg Inner Link Leg Outer Link Foot Nella Figura 2 9 possibile osservare in dettaglio la semplice struttura del Wheg costituito da un singolo attuatore un piccolo piede che consiste in una semplice sferetta di gomma e la gamba stessa ad L La forma della gamba permette inoltre a Prolero di occupare meno spazio quando il robot nella composizione compatta adatta per il trasporto Il movimento dei Wheg di Prolero non alternato ma avviene simultanea mente il risultato che il robot si alza
9. un crostaceo capace di colonizzare la terra l onisco usa la sua corazza per proteggersi se si sente in pericolo o minacciato appallotto landosi e formando una sfera che non offre appigli all aggressore La Figura 6 7c mostra invece lo scheletro di un armadillo 21 Euphractus Sexcinctus conosciuto anche come Armadillo a sei fasce e la sua corazza costituita da spesse placche ossee che possono essere utilizzate come protezione come nel caso dell onisco precedentemente descritto L aggiunta dei chiodi che fuoriescono di alcuni centimetri dalla corazza ser vono inoltre a dare l effetto dell armatura corazzata e aggiungono spessore alla corazza e all intero robot migliorando l effetto visivo generale JU CAPITOLO 6 DESIGN DI LIONHELL II Figura 6 7 Corazze varie a Lorica segmentata Onisco b Fh M i ANA 6 5 Il pulsante di accensione L aggiunta della corazza centrale ha comportato l impossibilit di accedere al pulsante di accensione a meno di rimuovere e rimontare la corazza ogni volta La soluzione stata quella di montare un pulsante stabile normalmente aperto come mostrato in Figura 6 8a all inizio della corazza Figura 6 8b in corrispondenza del centro del robot Il nuovo pulsante direttamente connesso alla scheda di controllo CM 510 per mezzo del cavo blu che si vede in figura permettendone un accesso facile ed intuitivo 6 5 IL PULSANTE DI ACCENSIONE Figura 6
10. 63 Gradi di libert di LionHell II 65 Giunto passivo centrale 66 Il Geco Cosymbotus Platyurus mentre affronta la 1 sfida 68 Il Geco Cosymbotus Platyurus mentre affronta la 2 sfida 69 Il Geco Cosymbotus Platyurus mentre si piega all indietro 70 LionHell coda originale 71 LionHell II coda rinforzata 72 Telecomando i446 44 PRADA PARERE 14 X Bee su LionHell Il 6 Il diagramma di Mori LV 83 I tre robot usati per nell esperimento 84 Punteggi medi dei tre robot percepiti 89 Volto di LionHell IL 86 ELENCO DELLE FIGURE 15 6 5 6 6 6 7 6 8 tal f 1 3 TA 1 0 7 6 Po 1 8 dad 7 10 B 1 B 2 B 3 B 4 B 5 B 6 Il telecomando bacchetta LL 88 Corazza di LionHell II 89 I apatia 90 Pulsante di accensione LL 91 Mini Whegs IV e Lunar Whegs 94 LionHell II rotazione in senso orario 97 LionHell II rotazione in senso antiorario 98 LionHell II ostacolo basso LL 99 LionHell II ostacolo medio 100 LionHell II ostacolo alto 101 LionHell II rampa ccn 102 LionHell II rampa inverso llle 103 Lionel II TUDO sean e RR EO ESSI UR RO 104 LionHell II terreno cosparso di oggetti 105 LionHell II e Teleco
11. Rhex e Termes La Sezione 2 3 mostra il robot LionHell prima che venisse modificato al termine del progetto di tesi di Vittorio Lumare 2 1 Wheg Il sistema di locomozione l elemento fondamentale che permette al robot di interfacciarsi ed esplorare l ambiente circostante e richiede una scelta ocula ta che soddisfi i requisiti di maneggevolezza semplicit meccanica e fluidit di movimento garantendone in questo caso la possibilit di muoversi age volmente su terreni accidentati superando anche ostacoli di piccole o medie dimensioni La Sottosezione 2 1 1 definisce il significato di Wheg e ne descrive il funzio namento basilare La Sottosezione 2 1 2 dimostra la superiorit dei Wheg contro una ruota avente stesso raggio simulandone il comportamento contro vari ostacoli di altezza differente e mostra i vantaggi e gli svantaggi derivanti dall utilizzo dei Wheg 28 CAPITOLO 2 STATO DELL ARTE Figura 2 2 Wheg a 3 gambe a Descrizione Direzione di rotazione Cerchio puramente illustrativo Gambe del Lt n rapporta le dimensioni del Wheg X 7 7 7 4 Wheg rispetto a quelle di una x gt d ia Tuota avente stesso raggio _ gt u Asse centrale rotativo b In movimento R aa le L i i She NGA a a a a gt S M du A 2 1 1 Definizione I Wheg sono un meccanismo di locomozione per robot che combinano la semplicita di mov
12. Tail Behavior 2 Climbing If quite high tail and abdomen quite low and body tilted up if parallel kk pTail lt 450 kk getAbdomenDeg lt 20 kk readAccDeg 1 gt 60 climb printf nclimb n dpTail 712 dxl write word 1 P GOAL POSITION L dpTail dxl write word 1 P MOVING SPEED L 210 yelse Working on timer time TimerlRead printf u time unsigned int TIME MILLISEC printf u time printf main 3 printf An if 0 STOP MOTION printf PRESS KEY n torque 0 unsigned char ReceivedData getchar torque 1 main loop return 0 void printAllSensors Sensors sensors printf dnspeed t d t dnspeed printf FC Mdkt int sensors distance front center printf GC Mdkt int sensors distance floor center printf GL d t int sensors distance_ floor left printf GR Mdkt int sensors distance floor right printf Z f dNt short 100OxreadAccNorm 0 printf X f dNt short 1000 readAccNorm 1 printf Y f dNt short 100OxreadAccNorm 2 printf AD d t getAbdomenDeg printf TD d n getTailDeg communication result void PrintCommStatus int CommStatus 4 switch CommStatus 1 case COMM TXFAL printf COMM TXFAIL Failed transmit instruction packetlin break case COMM TXERROR printf COMM TXERROR Incorrect instruction packetlXin
13. int xx10 cos x 1 0 5x 2 0 04167 m 4 float cosine cosine 1 0 5 x xxx 0 04167 x x xx xx xx y printf eos d int cosinesi10 return cosine float readHeight void Read Sensor uintl6 t result adc_start 6 cHANNEL 6 printf ru 7 result float dist cm dist cm ir distance calculate cm GP2YOA21YK result Convert printf cm d int dist_cmx10 float height height 4 5 float dist cm Add sensor stand length to Height if height lt 10 height 10 else if height gt 80 height 80 return height void go_fwd void printf r n GO FWD dnspeed Vd dnspeed int i for i 0 i lt 3 i dxl write word sdata i id P MOVING SPEED L dnspeed for i 3 i lt 6 i dxl write word sdata i id P MOVING SPEED L mirror dnspeed 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 128 APPENDICE A LISTATO void stop void int i for i 0 i lt 3 i dxl write word sdata i id P MOVING SPEED L 0 for i 3 i lt 6 i dxl write word sdata i id P MOVING SPEED L mirror 0 void torque unsigned char val int i for i 0 i lt 3 i dxl write word sdata i id P TORQUE
14. umanoide e comunica tramite segnali acustici in Figura 6 2b vi invece un robot con un aspetto umanoide non realistico ed percepito come robot da tutte le persone che vi hanno interagito Il robot dotato di alcune caratteristiche umane semplificate come una testa occhi sopracciglia braccia e gambe comunica per mezzo di una voce sintetizzata di bassa qualita In Figura 6 2c il robot esibisce un aspetto ed un comportamen to che sono simili a quelli effettivamente mostrati da un essere umano comunica tramite una voce sintetizzata di alta qualita L obiettivo dei tre robot lo stesso una volta che una persona citofona in casa il robot raggiunge l inquilino della casa e gli comunica che vi qualcu no alla porta I test che sono stati effettuati Figura 6 3 hanno dimostrato che il robot androide stato percepito come migliore confronto agli atri due robot su tutti i punti di vista considerando aspetti quali estroversione stabilit emotiva coscienziosit gradevolezza e intelligenza nonostante l u nica cosa che cambiasse fosse solamente l aspetto esteriore e non la logica di comportamento Nel caso di LionHell II si optato ad un aspetto prevalentemente animale data la forma del corpo del robot la presenza di sei Wheg e di una coda 6 2 VOLTO DI LIONHELL II 82 Figura 6 3 Punteggi medi dei tre robot percepiti a Estroversione b Stabilit emotiva c Coscienziosit
15. 3 2 3 3 3 4 Il Tupilak e il Golem Whega3gambe Ruota che affronta un ostacolo di altezza h r Ruota che affronta un ostacolo di altezza h r Wheg che affronta un ostacolo di altezza h r Wheg che affronta un ostacolo di altezza h 8 r Robot con Wheg Prolero modello schematico Prolero Wheg BUE 2 232 752 4 4 5945399 9a Rhex Wheg 2225 99 9363 X xoxo o Termes struttura esterna LionHell modelli iniziali LionHell sviluppo LionHell Mc Millan II fotol LionHell Mc Millan Il foto2 Il telemetro Sharp GP2D120X Funzioni del telemetro Sharp GP2D120X 13 14 3 9 3 6 3 1 3 8 9 9 3 10 3 11 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 9 1 0 2 6 1 6 2 6 3 6 4 ELENCO DELLE FIGURE Allineamento appropriato per superfici in movimento 49 Il sistema sensoriale della testa 51 LionHell dritto destra o sinistra 92 Dynamixel AX 12 2 2l n 05 Banda morta nel Dvnamixel AX 12 55 O iu 3 5233535943 kw 39955 39935999353 57 Physical Wire e Virtual Wire of LionHell II struttura esterna 60 Confronto tr Wheg 4 61 LionHell II Wheg rinforzato particolare 62 Gradi di libert di un corpo rigido
16. 8 Pulsante di accensione a Particolare 91 92 CAPITOLO 6 DESIGN DI LIONHELL II Capitolo 7 Conclusioni LionHell II un robot esapode che sfruttando la combinazione di Wheg e coda e di un giunto centrale in grado di superare ostacoli di medie e grandi dimensioni L utilizzo dei Wheg ne ha semplificato la struttura 65 evitando di utilizzare numerosi attuatori per muovere le gambe che avrebbe dovuto avere e il loro utilizzo combinato alla coda che in grado di fare da supporto durante le scalate gli permette di muoversi ovunque con facilit L aggiunta del controllo remoto permette infine di decidere la direzione di LionHell II scegliendo cosa in grado di affrontare e cosa no Le modifiche che sono state apportate ai Wheg hanno permesso di ottenere un nuovo modello pi resistente dotato di una gomma ammortizzante per ridurre le sollecitazioni dei Wheg su terreno accidentato durante le scalate e le discese hanno aumentato l area di contatto con il terreno riducendo possibili problemi derivanti dal muoversi su sabbia o su terreni soffici e la gomma garantisce una buona aderenza sul qualunque superficie Il nuovo giunto centrale permette a LionHell II di muoversi e ruotare pi velocemente mentre la nuova coda rinforzata facilit il robot a superare ostacoli di altezza media e alta e impedisce a LionHell II di ribaltarsi Il telecontrollo che stato aggiunto garantisce il controllo remoto di Lio
17. DTE serial board 990 006 Produttore Droids http www droids it data sheets 990 006 20datasheet pdf 152 APPENDICE C DATASHEET Cavo di Programmazione Modello LN 101 Produttore Robotis http support robotis com en product auxdevice interface 1n101 manual htm
18. ENABLE val for i 3 i lt 6 i dxl write word sdata i id P TORQUE ENABLE val unsigned char read AXSlcd void Read AX S1 Sensor Center Distance Filtering Errors and Compensating Ambient Light int i dCIR ICIR cdCIR dCIRmin corrected distance dCIRmin 255 for i 0 i lt 10 i Collect min val avoid ambient ir modulated interferences do dCIR unsigned char dxl read byte 100 CENT IR SENSOR DATA while dxl get result COMM RXSUCCESS if dCIR dCIRmin dCIRmin dCIR using dCIRmin as distance value do ICIR unsigned char dxl read byte 100 CENTER LUMINOSITV while dxl get result COMM RXSUCCESS cdCIR dCIRmin 2 ICIR Compensate Ambient Luminosity if cdCIR lt 0 cdCIR 0 Lower bound printf dCIRmin d t dCIRmin 7Fprinti DOE d t ICIR printf cdCIR d n cdCIR jkaj dolkhman gt 100 printf gt 100 ln return cdCIR void setupAcc void Configure MCU bits to use Accelerometer x Configure MCU outputs to interface Acc inputs DDRA 1 PAT7 1 PA6 MCU PIN A6 and A7 set as Output uintl6 t readAcc unsigned char addr Note All PORTA pin values are inverted 1 is LOW 0 is HIGH This is due to cm 510 output transistor I guess switch addr case O Choosing Z Accel PORTA 1 lt lt PA7 1 lt lt PA6 MPLEX ADDR 00 0 printf n00 Z tb 3 break case 1 Choosing X Accel PORTA 1 lt lt PA7
19. Host quasi pieno e l XBee dovrebbe interrompere la trasmissione fino a quando la linea non pi richiesta Capitolo 4 Controllo e Mobilit di Lion Hell II In questo capitolo descriveremo le modifiche prevalentemente meccaniche e strutturali che sono state effettuate su LionHell esponendo le motivazioni delle nostre scelte La Sezione 4 1 descrive i nuovi Wheg utilizzati su LionHell II e le modifiche che sono state effettuate rispetto ai Wheg originali La Sezione 4 2 descrive il giunto passivo centrale in LionHell II e la sua funzione La Sezione 4 3 descrive il ruolo della coda in LionHell II e negli animali in particolare nel geco 59 60 CAPITOLO 4 CONTROLLO E MOBILIT DI LIONHELL II 4 1 Wheg in LionHell II Figura 4 1 LionHell II struttura esterna LionHell II possiede in totale 6 Wheg come nel caso di Rhex Figura 4 1 ma ciascun Wheg composto da 3 barre disposte a 120 di distanza le une dalle altre alla cui estremit stato montato un piede leggermente curvo in modo da garantire una presa sicura sul terreno Il movimento dei Wheg simultaneo e ciascun Wheg controllato da un motore indipendente che lavora in modalit continua garantendo al robot un movimento fluido e adatto ad ogni situazione Il Wheg che LionHell II possiede caratterizzato da e una struttura basale in alluminio garantisce il punto di contatto con lo snodo centrale e una stru
20. Loi interattiva al confronto di quei robot aventi aspetto umanoide o animale ciononostante ad un certo punto l effetto diventa repulsivo a causa del fatto che il robot risulta avere troppe caratteristiche umane od animali ripro dotte per in maniera grottesca Tale effetto illustrato nel diagramma di Mori 64 54 in Figura 6 1 dove la curva che precipita sotto l asse genera un area definita con il nome di Uncanny Valley ossia valle sconcertante per indicare l effetto repulsivo generato da questa Inoltre l aspetto del robot provoca una certa aspettativa da parte dell os servatore Se l aspetto del robot troppo avanzato per le reali capacit espressive del robot le persone tenderanno a giudicarlo disonesto in quanto vi una discordanza percepibile tra i segnali emessi dal robot e quelli in consciamente valutati come corretti dagli umani Il robot dunque dovrebbe avere un comportamento sociale e un aspetto in accordo con le funzionalit e le capacit del robot stesso Infine in Figura 6 2 possibile osservare tre robot 64 54 aventi caratteri stiche pi o meno umanoidi 84 CAPITOLO 6 DESIGN DI LIONHELL II Figura 6 2 I tre robot usati per nell esperimento a Meccanoide b Umanoide c Androide Meccanoide in Figura 6 2a si puo osservare un robot avente un aspetto preva Umanoide Androide lentemente meccanico I robot non presenta alcuna caratteristica
21. ad esempio nasce come robot pulitore ed aspirapolvere nel 2002 3 capace di analizzare la stanza la presenza di ostacoli da evitare o scale da cui potrebbe cadere e il crescente interesse da parte dei program matori nei confronti del Roomba ha portato allo sviluppo di iRobot Create 15 53 3 dove i motori di aspirazione sono sostituiti da un vano su cui possibile installare telecamere laser o altri componenti Nel 2004 i due robot gemelli Spirit e Opportunity 8 sono giunti sul pianeta rosso Marte ed hanno iniziato a raccogliere dati tecnici e ad inviare im magini esplorando il terreno marziano e percorrendo centinaia di chilometri 2 1 WHEG 27 passando da un cratere ad un altro ed inviando tutte le informazioni ricevute sulla Terra L esplorazione da parte di robot mobili ancora agli inizi e le loro funzionali ta e capacita continuano ad aumentare e migliorare con il corso degli anni la necessit di trovare metodi di navigazione alternativi fondamentale affinch un giorno sia possibile creare robot in grado di muoversi autonomamente e di affrontare gli ostacoli che gli si presentino La Sezione 2 1 descrive il sistema di locomozione che stato usato per Lion Hell II chiamato Wheg definendone il significato e mostrandone la differenza rispetto a una ruota La Sezione 2 2 descrive i principali robot che utilizzano il sistema di locomo zione Wheg mostrando in particolare i Wheg su Prolero
22. da terra con le quattro gambe dei Wheg per un attimo si riabbassa e il corpo si ritrova a contatto con il ter reno le gambe dei Wheg ruotano di 180 e Prolero ricomincia a muoversi da capo 2 2 2 Rhex Oltre al famoso esempio di Prolero sono presenti molti altri esempi di ro bot con Wheg come nel caso di robot quali Rhex 16 59 58 39 Figura 2 10 equipaggiato con 6 Wheg 2 in pi confronto a Prolero ciascuno dei quali dotato di una sola gamba come Prolero ma stavolta ricurva Figura 2 11 capace di muoversi alternativamente e che gli garantisce la capacit di superare con facilit la maggior parte degli ostacoli A differenza di Prolero Rhex non colpisce il terreno con il proprio corpo ogni volta che deve fare un passo ma sfrutta il movimento alternato dei 2 2 ROBOT DOTATI DI WHEG of Figura 2 10 Rhex a Struttura esterna b Struttura schematica PC 104 Stack Lippert Geode CPU Intra robot comm bridge Em User panel Rigid Plastic Shell Hi P Actuator e IW motor MCU controller Switching power amp Power Management oar Hot swappable batteries H ki Li Polv 4 cell supervisor Compliant C shaped 5V regulator Legs Figura 2 11 Rhex Wheg piedi dei Wheg 42 alterandone anche la velocit nel caso in cui il piede sia a contatto con il terreno oppure no Il risultato che la gamba in posizione verticale e a contatto con il terreno ruota intorno
23. e la Figura 4 5c mostra invece il giunto centrale passivo che stato ag giunto successivamente e le linee verdi tracciano un possibile movi mento della parte frontale del robot La creazione di un robot con un giunto centrale passivo in pi nata dall idea di facilitarne i movimenti durante le curve e permettergli un movimento pi fluido Nella sottosezione successiva spiegheremo pi dettagliatamente il giunto che stato aggiunto 4 2 3 Giunto passivo centrale in LionHell II LionHell II dotato di un giunto passivo centrale il cui ruolo quello di accompagnare il movimento dei Wheg facilitandone il movimento quando il robot si appresta a curvare Il giunto passivo costituito da e un organo di collegamento che permette la rotazione di una parte del corpo di LionHell II 4 2 GIUNTO PASSIVO CENTRALE Figura 4 5 Gradi di libert di LionHell II a Wheg b Giunto centrale motorizzato e Coda c Giunto centrale passivo i vim ro mn m E a11 ki moon 65 66 CAPITOLO 4 CONTROLLO E MOBILIT DI LIONHELL II Figura 4 6 Giunto passivo centrale a Dall alto b Schema c Lateralmente e una coppia di barre metalliche alle due estremit dell organo di colle gamento fanno parte del sistema di sicurezza e due viti alle estremit delle barre il loro ruolo quello di delimitare l angolo di rotazione massima del giunto Le viti presenti possono es
24. e la coda facilitargli il movimento per mezzo di un giunto centrale passivo e renderlo accettabile esteticamente L obiettivo quello di creare un robot che sia in grado un giorno di esplorare zone con terreni disconnessi quali ad esempio tunnel o edifici diroccati e con le dovute modifiche possa persino contribuire nell esplorazione di altri pianeti sfruttando il sistema di navigazione basato sulla combinazione di Wheg e coda per poter scavalcare facilmente ostacoli di grandi dimensioni 19 20 CAPITOLO 1 INTRODUZIONE I robot esplorativi stanno ricoprendo un ruolo sempre pi importante a par tire dai robot aspirapolvere Roomba 15 3 53 fino ai pi avanzati rover della NASA Spirit e Opportunity 8 La necessit di esplorare terreni sconosciuti e accidentati ha portato alla ricerca di nuovi sistemi di locomozione e tra questi i robot con Wheg Prolero 52 Climbing Mini Whegs 12 68 29 51 EMBOT 88 Lunar Whegs 33 5 34 Mini Whegs IV 55 OutRunner 26 Ratasjalg 7 60 Rhex 16 59 39 Termes 67 66 57 USAR Whegs 143 44 9 hanno iniziato a diffondersi sempre pi rapidamente grazie al fatto che un Wheg costituito da un solo attuatore che agisce su un asse cen trale rotativo a cui sono connesse una o pi barre che svolgono la funzione di gambe risulta pi semplice da controllare e pi economico rispetto ad una gamba che deve necessariamente essere costituita da almeno tre attuatori ch
25. language en amp searchString tupilak amp langu ageSet all 2007 Accessed 2015 03 23 13 LIL Robotis e manual http support robotis com en 2010 Accessed 2015 03 23 14 a Lingua ebraica in tesauro del nuovo soggettario http thes bncf firenze sbn it termine php7id 8620 marzo 2013 Accessed 2015 03 23 15 Lol irobot create open interface oi specification http www irobot c om filelibrarv pdfs hrd create Create 200pen 20Interface v 2 pdf Mav 2014 Accessed 2015 03 23 16 Lon R Altendorfer N Moore H Komsuoglu M Buehler H B Brown Jr D MeMordie U Saranli R Full and D E Koditschek Rhex A biologicallv inspired hexapod runner Autonomous Robots 11 3 207 213 November 2001 17 K Autumn S T Hsieh D M Dudek J Chen C Chitaphan R J Full and author for correspondence rjfull berkeley edu Dynamics of geckos running vertically J Exp Biol 209 pages 260 272 January 2006 18 Lo 2 _J J Babb R Tessier M Dahl S Hanono D Hoki and A Agarwal Logic emulation with virtual wires http www ecs umass edu ece tessier courses 697ff tcad vw pdf 1997 Accessed 2015 03 23 19 J M Beer C Smarr T L Chen A Prakash T L Mitzner C C Kemp and W A Rogers The domesticated robot design guidelines for as BIBLIOGRAFIA 109 20 21 25 26 sisting older adults to age in place In Proceedings of the seventh an nual ACM
26. momento in cui Lio nHell II si appresta ad affrontare un ostacolo il sensore frontale individua la presenza dell ostacolo in questione e il sistema di controllo solleva la parte anteriore del robot per facilitarlo durante la scalata e attiva la coda nel caso in cui l ostacolo sia alto e in generale quando vi il rischio che il robot possa ribaltarsi a causa dell elevata inclinazione Il robot mantiene dunque una serie di comportamenti autonomi nel momento in cui deve superare un ostacolo mentre in parte anche controllato dall u tente il quale deve decidere la direzione che il robot deve prendere In questo modo il robot in grado di mostrare una serie di comportamenti dinamici basati sulla lettura dei dati dei sensori percezione la loro modellizzazio 94 CAPITOLO 8 LIONHELL II ne la pianificazione delle successive azioni da intraprendere l esecuzione del compito e infine il controllo diretto dei motori 23 Il controllo remoto combi nato ai comportamenti dinamici del robot permette a LionHell II di adattarsi attivamente all ambiente circostante rispondendo anche a casi particolari in cui il solo controllo autonomo risulta insufficiente 3 9 Il movimento di LionHell II LionHell II basa il suo movimento sull utilizzo di 10 attuatori Dynamixel AX 12 49 50 mostrati in Figura 3 8 che controllano in modalit differenti I Wheg presenti la testa e la coda di LionHell II Gli attuatori possono f
27. risulta insufficiente per esplorare l ambiente circostante ed essere in grado di effettuare scelte consapevoli sulla strada migliore da percorrere per raggiungere un obiettivo A questo punto sorge spontanea una domanda possibile migliorare il sistema sensoriale affinch LionHell II sia in grado di muoversi autonomamente ad esempio aggiungendo una coppia di telecamere oppure ricorrere direttamente ad un controllo remoto in modo da poter decidere personalmente la direzione da prendere Cercheremo di rispondere a questa domanda considerando che cosa comporta avere una coppia di telecamere sulla testa e quali sono i vantaggi dal possedere invece un telecomando ed averne quindi un controllo diretto L utilizzo di due telecamere frontali comporterebbe un aumento totale del pe so della testa di Lion Hell II il che non ne faciliterebbe certamente la capacit di superare ostacoli di medie o grandi dimensioni Inoltre il robot rischiereb be di danneggiarle durante il movimento in particolare quando si appresta a scendere da ostacoli di grandi dimensioni c il rischio che colpisca fron talmente le telecamere Oltre a questo necessario che le telecamere siano 3 2 IL SISTEMA DI PERCEZIONE SENSORIALE DELLA TESTA 53 efficacemente precise in modo da ignorare i sobbalzi a cui il robot pu andare incontro a causa di irregolarit del terreno e durante le scalate permetten dogli di seguire sempre il p
28. the robot LionHell en abling it to more efficiently explore the terrain around him and consequently improving the usabilitv in open or closed on rough terrain or not LionHell II is hexapod robot equipped with a locomotion system called Wheg consisting of a central rotary axis and three legs joined in the central joint and equidistant the new Wheg and the passive central joint that has been added guarantee a smooth motion when the robot is about to bend lhe sensory bar and tail were in turn reinforced and the force developed by the tail was increased in order to deal more easily an obstacle where it is required his intervention The remote control by means of a wireless remote control ensures total control over the movement of the robot itself and the final addition of some aesthetic aspects make the robot more easily acceptable by an external public performing in part the role of protections in case of accidental tipping Ringraziamenti Desidero ringraziare la professoressa Giuseppina Gini e l Ing Vittoro Luma re in qualit rispettivamente di Relatore e Correlatore per avermi suppor tato ed incoraggiato nel progetto e nella stesura della tesi senza il loro aiuto questa tesi non esisterebbe Un grande enorme ringraziamento a Vittorio che mi ha saputo dare dei consigli fondamentali e mi ha aiutato durante tutte le fasi del progetto di tesi sempre stato disponibile e mi ha sempre incoraggiato e sostenuto Sono gra
29. 0 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 if addr 1 yx Calibr for X 7 norm val float float readAcc addr float 325 float 164 0 val 164 mod g j else if addr 2 Ja Calibr for Y amp norm val float float readAcc addr float 338 float 162 0 val 164 mod g else if addr 0 Calibr for Z 7 norm val float float readAcc addr float 286 float 164 0 val 164 mod g else Wrong Channel addr selected x return 1 fs If you are here then the channel was valid Perform value bounding if norm_val gt 1 norm val 1 else if norm val lt 1 norm val 1 return norm val float readAccDeg unsigned char addr read deg value from Accel on channel Q addr x float val readAccNorm addr printi n tnormval d n Cant 1000 val val asin val pirintf n tasinwal d n ant 1000 val val val x 57 296739 rad2deg return val void readAllSensors Sensors xs 4 s distance front center readSharp cm 4 s distance floor center readSharp cm 6 s distance floor left readSharp cm 5 s distance floor right readSharp cm 7 s body inclination
30. 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 117 const signed short b const signed short k j ir distance sensor All sensor values x typedef struct 4 float distance front center readSharp cm 4 float distance floor center readSharp cm 6 float distance floor left readSharp cm 5 float distance floor right readSharp_cm 7 short body inclination xg readAccDeg 1 short body inclination yg readAccDeg 2 short body inclination zg readAccDeg 0 short abdomen inclination getAbdomenDeg short abdomen inclination g getAbdomenDegG j Sensors void init OCIA void void initTimerl void unsigned int TimerlRead void void TimerlWrite unsigned int i void TimerlPause unsigned int flag Pause using timer 1 warning it resets timer ay void PrintCommStatus int CommStatus void PrintErrorCode void unsigned char readAXSicd void void go_fwd void void stop void void torque unsigned char val int checkDxlConn void void adc init void uintl6 t adc start unsigned char channel float ir distance calculate cm ir distance sensor sensor unsigned s
31. 174 set whegs dxji moving speed to 1024 position inverting the direction dxl write word whegs sx i 8 O set whegs_sx i CCW ANGLE LIM to of movement 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 119 Prepare servos data sdata O0 id whegs sx 0 sdata 1 id whegs sx 1 sdata 2 id whegs sx 2 sdata 3 id whegs dx 0 sdata 4 id whegs dx 1 sdata 5 id whegs dx 2 sdata 6 id 15 Distance Sensor Servo dxl write word 15 8 1023 Position Mode for Semsor Servo Remote Button Init DDRE 0x0C PORTE OxFO0 DDRE 0 lt lt BTN_RIGHT MCU PIN BTN RIGHT set as Input button has been physically removed Prepare Sensor dxl write bvte 100 OBSTACLE DETECTED COMPARE 1 High Dist Sens dzxl write byte 100 0BSTACLE DETECTED COMPARE VALUE 50 50 is detection threshold adc init This function initializes the ADC hardware and asynchronous ADC read subsystem setupAcc setupSharp initTimerl walking false USART Flush while 1 Read Remote Controller via XBee using Virtual Wires resultX adc start 4 resultY ade start 3 ji bRemoteButton PIN
32. 3 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 125 Interrupt Function ISR TIMER1_COMPA_vect Clear timer on compare match now manually TimerlWrite unsigned int 0 Resets Timer float deltaT 1000 dnspeed msecs per count AX12 has 1023 counts for 300 deg OCRIA TIME MILLISEC x deltaT set compare interval unsigned short mirror unsigned short speed calc specular speed if speed gt 1023 return speed 1024 else return speed 1024 void adc_init void Function used to initialise the ADC feature ADMUX 0X 40 0x40 for 10bit 0x60 for 8bit ADCSRA 0X87 We have set the ADSC bit to start a conversion and the ADPS bits are set so that the prescaler is 128 ADCSRA 0X80 ADEN is set to emable the ADC uint16 t adc start unsigned char channel Function to perform an ADC conversion Takes 0 8 as input to select which input to comvert unsigned char i i channel amp 0x07 Decide which line to perform ADC conversion on ADMUX i 0x60 Enter which line to perform in the ADC control register for 8 bit ADMUX i 0x40 Enter which line to perform in the ADC control register for 10 bit ADCSRA 1 lt lt ADSC while ADCSRA amp 1 ADSC wait for conv to complete unsigned char temp ADC
33. 30cm SKU SENO143 Scheda di Controllo Modello CM 510 Produttore Robotis http support robotis com en product auxdevice controller cm510 manual htm Microcontrollore della Scheda di Controllo Modello ATMega2561 149 150 APPENDICE C DATASHEET Produttore Atmel http www atmel com Images 25498 pdf Servomotore Modello Dynamixel AX 12 Produttore Robotis http support robotis com en product dynamixel ax series dxl ax actuator htm Accelerometro di LionHell II Modello accelerometro a tre assi MMA7361 Produttore Apex Electrix http www apexelectrix com PDFs MMA7361 MMA7361 module datasheet pdf http www apexelectrix com PDFs MMA7361L pdf Batteria di LionHell II Modello TRA2849 Produttore Turnigy http www hobbyking com hobbyking store 21939 Turnigv nano te ch 4000mah 35 40 80C Lipo Pack TRA2849 Slash Rustler Bandit Stamp ede compatible htm 151 X Bee Modello 4214A XBee Produttore Sparkfun Electronics https www Sparkfun com datasheets Wireless Zigbee XBee Datasheet pdf X Bee Explorer Regulated Modello XBee regulated v14 Produttore Sparkfun Electronics http www homotix it catalogo moduli xbee e accessori 689 xbee explorer regulated Accelerometro del Telecomando Modello ADXL335 Produttore Sparkfun Electronics http www homotix it catalogo accelerometri triple axis acceler ometer breakout adx1335 XBee DTE serial board Modello XBee
34. 9 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 121 while sensors distance front center lt 15 kk sensors abdomen inclination lt 80 LIFT UP printf nLIFT UP TO CLIMB n if comm_err 0 dpAbd dpAbd 1 if dpAbd gt 80 dpAbd 80 LIFT BODV comm err 0 reset communication error setAbdomenDeg dpAbd 200 Lift if checkDxlConn 1 comm err 1 else int isMoving 1 while isMoving 1 reach pos isMoving dxl read byte 16 P MOVING if checkDxlConn 1 comm err 1 isMoving 0 permits eriting from while j sensors distance front center readSharp cm 4 j else Adapt to Floor Behavior if sensors distance floor center gt 23 Floor too distant stop comm err 0 communication error while sensors distance floor center gt 23 amp amp sensors abdomen inclination gt 75 LOWER DOWN printf nLOWERING TO THE FLOOR n if comm err 0 dpAbd dpAbd 1 if dpAbd 75 dpAbd 75 comm err 0 reset communication error setAbdomenDeg dpAbd 200 Lower Abdomen if checkDxlConn 1 comm err 1 else int isMoving 1 while isM
35. ATO DELL ARTE Pro la maggiore semplicit di costruzione e di controllo rispetto ad una gamba che deve necessariamente essere controllata da due o tre attuatori Contro Il terreno su cui si muove deve essere ruvido in modo da poter fare forza ed essere in grado di superare l ostacolo Contro Delle gambe troppo sottili potrebbero sprofondare su superfici morbide o non rigide quali la sabbia o il fango a causa della superficie di contatto ridotta Contro 5e le gambe colpissero parti mobili come lunghi fili d erba o cavi molto sottili il Wheg potrebbe rimanerne attorcigliato bloccan dosi e rischiando di danneggiare il robot nel caso in cui i motori cercassero di fare troppa forza per liberarsi 2 2 Robot dotati di Wheg Il Wheg un sistema di locomozione utilizzato in moltissimi robot esplorativi 11 a partire da Prolero 52 il primo robot in assoluto ad essere equipag giato con Wheg mostrato in Figura 2 7a un robot dotato inizialmente di 4 Wheg e successivamente di 6 Wheg ad 1 gamba stato sviluppato da Martin Alvarez A de Peuter P Hillebrand JR Putz P Matthyssen A e de Weerd J nel 1996 descritto in dettaglio nella Sottosezione 2 2 1 Successivamente moltissimi altri robot Figura 2 7 hanno seguito il suo esempio e Climbing Mini Whegs 2 68 29 51 mostrato in Figura 2 7b un robot dotato di 4 Wheg a 4 gambe capaci di aderire su varie superfici stato sviluppato
36. E amp BIN RIGHT printf r nresultX resultY button Su Bu Ud resultX resultY bRemoteButton BUTTON if bRemoteButton 4 walking true j else 1 walking false j X if resultX gt 340 4 turnL 0 turnR 0 Go Fwd else if resultX lt 300 turnL 1 turnR 1 Go Bud tee if resultY gt 340 turnR 1 turnL U Turn Right else if resultY 300 4 turhL 1 tu urnE 0 Turn Left Read and Communicate Sensors Data 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 120 APPENDICE A LISTATO readAllSensors amp sensors printAllSensors sensors Set Speed According to Body Inclination dnspeed 600 4 xsensors bodv inclination xg set speed according to terrain inclination more speed more force Si printf r mturnL turnR walking Hu u Nd Jd turnL turnR walking dnspeed Main Behaviors Section Vars for Behaviors float ld abs int sensors distance floor left sensors distance floor center float rd abs int sensors distance floor right sensors distance floor center Jump to Floor Behavior if sensors abdomen inclination g 30 amp amp sensor
37. Figura 4 7 Il Geco Cosymbotus Platyurus mentre affronta la 1 sfida a Dorso b Lato c Grafico EDD 0 18 4 0 10 1 GHE a il ijo 0 08 0 06 til La 2 pa eer ITT Re rn a O OO O 7o 3mm a WR domm i i JH 10 5 Fos punia coda mm zampa ha provocato la risposta della coda in modo da compensare la perdita dell appiglio I gechi dell esperimento che hanno affrontato la sfida hanno iniziato a muovere la coda contro il muro 28 9 6 3ms dopo che hanno perso la presa sulla superficie L elevatissima velocit di reazione suggerisce che si tratti di un riflesso incondizionato In Figura 4 7 possibile osservare il geco mentre affronta la prima sfida La Figura 4 7a mostra la visione dorsale del geco mentre affronta sia il tratto con trazione elevata sia la striscia scivolosa La Figura 4 7b dimostra che la coda rimane distante dalla superficie fintantoch il geco mantiene una presa solida ma entra in contatto con la parete subito dopo che la zampa inizia a scivolare La Figura 4 7c mostra la reazione della coda in funzione del tempo e della distanza della punta della coda dalla parete Per testare la nuova ipotesi stata cambiata la superficie di contatto 17 scegliendone una con trazione intermedia A differenza del caso precedente il geco che corre su tale superficie mantiene la coda a contatto con la parete per tutto il tempo della scalata A questo punto st
38. H for 8 bit unsigned short temp temp ADC for 10 bit return temp int checkDxlConn void checkDzlConn get the result and if it has success it prints the status if not it returns 1 CommStatus dxl get result if CommStatus COMM RXSUCCESS 4 PrintCommStatus CommStatus PrintErrorCode return 1 j return 1 unsigned short mirrorPos unsigned short pos Calc pos for upside down servo x pos 1023 pos return pos unsigned short pos2deg unsigned short pos 4e deg 0 to 200 150 is center 7 if pos gt 1023 return 1 Error out of range x printf p u pos uint32 t deg 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 T17 718 719 720 721 722 723 724 725 726 T27 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 126 unsigned int deg deg uint32_t pos printf d u deg deg deg x 293 it was 29 3 printf du deg deg deg 1000 printf dh deg return unsigned short deg unsigned short deg2pos unsigned short deg deg 0 to 300 150 is if deg gt 300 return 1 Error out of range x print i bu deg uint32 t pos unsigned int deg pos uint32 t deg printf dl pos pos pos x 1000 printf du pos
39. IEEE international conference on Human Robot Interaction HRI 12 pages 335 342 2012 G Bernardo Easy bee Guida alla scelta e alla comprensione dei mo duli xbee http matteo luccalug it wp content uploads 2011 11 easy bee pdf 2011 Accessed 2015 03 23 B Bird Euphractus sexcinctus six banded armadillo http animaldiversity org site accounts information Euphractus _sexcinctus html September 2007 Accessed 2015 03 23 M Borgi I Cogliati Dezza V Brelsford K Meints and F Cirulli Baby schema in human and animal faces induces cuteness perception and gaze allocation in children Front Psychol May 2014 R Brooks A robust layered control system for a mobile robot IEEE Journal of Robotics and Automation 2 1 14 23 March 1986 R Brooks I rodnev brooks am a robot IEEE Spectrum 48 6 68 75 2008 W Burgard and F Schneider Collaborative exploration of unknown environments with teams of mobile robots 2002 In In dagstuhl pages 52 70 Springer Verlag 2002 S Cotton C Black N Payton K Ford W Howell and J Conrad Outrunner The world s first rc running ro bot https www kickstarter com projects 138364285 outrunne r the worlds most advanced running robot July 2014 Accessed 2015 03 23 H Cruse The control of body position in the stick insect carausius morosus when walking over uneven surfaces Biological Cubernetics 24 1 25 33 March 1976 110 BIBLIOGRAFIA 28 A Cully a
40. IIT o7 il ee icone Communication Dynamizel Bool comm err 0 Used to ensure correct communication with dynamizel SHARP Sensor fil 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 118 APPENDICE A LISTATO The object of the parameters of GP2Y0A21YK sensor const ir distance sensor GP2Y0A21YK 5461 17 2 parameters to Communication int CommStatus Whegs the numbers indicate the ID of each wheg int whegs sx 3 6 3 14 int whegs dx 3 48 7 12 Desired Nominal Speed unsigned short dnspeed 0 280 struct ServoData sdata 7 unsigned char dCIR Center IR Sensor Distance unsigned char dLIR Left IR Sensor Distance unsigned char dRIR Right IR Sensor Distance unsigned char ICIR Center IR Sensor Luminosity _ Bool parallel 1 Parallel Mode for Whegs int parallel time 0 Parallel Config Time var int frontLift_ time 0 FrontLift Config Time var int whegBlocked time 0 Wheg Blocked Time var Bool wheg blocked 0 Wheg Blocked state short dpAbd 0 Desired Abdomen Inclination wrt Body in deg unsigned short pTail Tail Servo Position int dpTail 1 1 no de
41. LionHell II 60 4 2 Giunto passivo centrale 62 4 2 1 Gradi di libert definizione 62 4 2 2 Gradi di libert di LionHell II 64 4 2 39 Giunto passivo centrale in LionHell II 64 Mar XAMM Les ALTRA 67 4 9 1 Ruolo della coda negli animali 67 4 3 2 La coda di LionHell IL 2 al 70 o Telecontrollo in LionHell II 73 5 1 XBee del telecomando 74 50 4 XBeedi LionHell Il 9 5 3 Modifiche al Firmware cll nn 16 6 Design di LionHell II 81 6 1 Perch il design importante 82 6 2 Volto di LionHel di ao oae ke ho le ee ewe He ew i 85 6 3 Il telecomando di LionHell H 87 64 La corazza di LionHelll 4 2 5229 xo on o9 oom aes 88 6 5 Il pulsante di accensione 90 INDICE 11 7 Conclusioni 93 Bibliografia 114 A Listato 115 B Manuale Utente 133 B 1 Come interagire con LionHell II 134 B 2 Informazioni di carattere generale 136 Bo Id URGU iii minka XR OR x xu s 137 B 4 Per iniziare 5 bac x 4 d e AR 139 B 5 Creare un progetto in Atmel Studio 140 B 6 Trasferire il firmware modificato 142 B 7 Come programmare PX Bee ls 144 B 8 Domande e Risposte 145 C Datasheet 149 12 INDICE Elenco delle figure 2 1 du 3 1
42. LionHell II La batteria ricaricabile per mezzo del carica batterie Power Peak A4 EQ LCD mostrato in Figura B 5a la tensione in ingresso deve essere compresa tra i 12 e i 15 V consigliabile 14 V La batteria da ricaricare va connessa al cavo sensore di voltaggio che misura la tensione la carica massima e la corrente in ingresso una volta connesso alla scheda di controllo e ai cavi di carica come mostrato in Figura B 5b possibile avviare la ricarica tenendo premuto per circa 10 secondi il pulsante start possibile riconoscere la Figura B 5 Carica batteria per LionHell II a Disconnesso b In carica 146 APPENDICE B MANUALE UTENTE carica in corso dal led dello stato verde che lampeggia due o tre volte ogni dieci o quindici secondi Quando la batteria carica al 95 il led di stato diventer arancione mentre quando la batteria carica totalmente il carica batteria suona per 15 secondi Per maggiori informazioni riguardanti il carica batteria ci si riferisca al Manuale utente Power Peak A4 EQ LCD e Come faccio a sostituire le pile e modificare l XBee installato nel tele comando Il telecomando smontabile come mostrato in Figura B 6 e la batteria di cui ha bisogno una batteria da 9 V e 250 mAh e Il robot si blocca improvvisamente senza motivo mentre altre volte funziona senza problemi come mai Alcuni cavi sono stati fatti a mano e talvolta la connessione po trebbe saltare co
43. LionHell II senza protezioni e in Figura 6 4c lo stesso LionHell II dotato di volto e corazza protettiva per il busto 6 3 Il telecomando di LionHell II LionHell II controllabile tramite l utilizzo di un telecomando mostrato in Figura 6 5 e descritto in dettaglio nel Capitolo 5 Sezione 5 1 Per cercare di rendere il telecomando appetibile per un vasto pubblico si pensato di colorare il telecomando e di aggiungere un classico cappello da mago blu con stelle gialle La componentistica del telecomando racchiusa in un tubo di plastica dura ricoperto da un cartoncino giallo da cui fuoriescono l interruttore e il pul sante rosso la batteria estraibile dalla parte posteriore del telecomando mentre rimuovendo il cappello e l elastico sottostante possibile estrarre con molta cautela i restanti componenti ed in particolare l ABee program mabile Il cappello fatto in cartone blu mentre le stelle sono state disegnate con un pennarello giallo indelebile e la tesa rinforzata internamente con un sottile strato in alluminio 85 CAPITOLO 6 DESIGN DI LIONHELL II Figura 6 5 Il telecomando bacchetta a Dall alto b Lateralmente 6 4 La corazza di Lion Hell II Lion Hell II stato dotato di una struttura metallica una corazza in allumi nio per proteggere il corpo ed in particolare la scheda di controllo CM 510 e il delicato X Bee da possibili involontarie cadute garantendogli una pr
44. NI di alzare la parte frontale Equipaggiato con una telecamera per un con trollo remoto da computer LionHell II sarebbe in grado di esplorare edifici pericolanti superare gli ostacoli che incontra lungo il suo percorso e potreb be dunque essere utilizzato per esplorare cunicoli e in generale troverebbe impiego in ogni ambito in cui richiesto un robot con discrete capacit di scalare Studi recenti 61 25 hanno inoltre dimostrato la possibilit di utilizzare robot con abilit esplorative su terreni accidentati per applicazioni swarm ossia per la creazione di numerosi robot molto economici capaci di comportarsi come sciami ed essere quindi in grado di collaborare per raggiungere obiettivi comuni come spostare grossi oggetti o esplorare rapidamente una vasta zona creando una mappa dell area comune a tutti i robot 97 Figura 7 2 LionHell II rotazione in senso orario 98 CAPITOLO 7 CONCLUSIONI Figura 7 3 LionHell II rotazione in senso antiorario 99 Figura 7 4 LionHell II ostacolo basso 100 CAPITOLO 7 CONCLUSIONI Figura 7 5 LionHell II ostacolo medio 101 Figura 7 6 LionHell II ostacolo alto 102 CAPITOLO 7 CONCLUSIONI Figura 7 7 LionHell II rampa 103 Figura 7 8 LionHell II rampa inverso 104 CAPITOLO 7 CONCLUSIONI Figura 7 9 LionHell II tubo 105 Figura 7 10 LionHell II terreno cosparso di oggetti or hi 106 CAPITOLO 7 C
45. ONCLUSIONI Bibliografia 1 i3 9 Armadillum vulgare latreille 1804 http www itis gov servl et SingleRpt SingleRpt search topic TSN amp search value 93250 Accessed 2015 03 23 Climbing mini whegs http biorobots case edu projects wheg s cmwhegs Accessed 2015 03 23 irobot Our history http www irobot com About iRobot Compan y Information History aspx Accessed 2015 03 23 Lorica segmentata o laminata i sec a c iii sec d c http www roma victrix com armamentarium loricae segmentata htm Accessed 2015 05 23 Lunar whegs http biorobots case edu projects whegs luna r whegs Accessed 2015 03 23 Panthera tigris ssp tigris http www iucnredlist org details 136899 0 Accessed 2015 03 23 hatasjalg http www roboticsportal it it ratasjalg robot Accessed 2015 03 23 otato dei rover marziani alla nasa http mars jpl nasa gov mer mission status opportunityAll html Accessed 2015 03 23 Usar whegs http biorobots case edu projects whegs usar w hegs Accessed 2015 03 23 107 108 BIBLIOGRAFIA 10 Vaucanson e i suoi automi http www automates anciens com v ersion italienne pagine principali automi vaucanson htm Ac cessed 2015 03 23 11 LILL Whegs biologically inspired robotics http biorobots case edu p rojects whegs Accessed 2015 03 23 12 I Asuilaak living dictionary http www livingdictionary com sea rch viewResults jsp
46. POLITECNICO DI MILANO Facolt di Ingegneria Industriale e dell Informazione Corso di Laurea Magistrale in Ingegneria Informatica Dipartimento di Elettronica Informazione e Bioingegneria LIONHELL MCMILLAN II RIPROGETTAZIONE DI UN ROBOT ESAPODE BIOLOGICAMENTE ISPIRATO PER AREE MORFOLOGICAMENTE INSTABILI AI amp R Lab Laboratorio di Robotica e Intelligenza Artificiale del Politecnico di Milano Relatore Prof Giuseppina GINI Correlatore Ing Vittorio LUMARE Tesi di Laurea di Alessandro ROSINA matr 783146 Anno Accademico 2014 15 Sommario I robot stanno diventando parte integrante della vita dell uomo svolgono un ruolo fondamentale nei processi di automazione industriale la tecnologia pervade le nostre case e i primi robot esplorano lo spazio e si muovono su terreni sconosciuti In particolare lo sviluppo di robot in grado di esplorare l ambiente circo stante di muoversi all interno di ruderi pericolanti o in stretti cunicoli sta diventando una realt sempre pi imprescindibile e di conseguenza si resa necessaria la creazione di nuovi sistemi di locomozione e di design alternativi per superare pi facilmente ostacoli di grandi o piccole dimensioni Lo scopo della tesi quello di potenziare e migliorare il robot LionHell rendendolo capace di esplorare con maggiore efficienza il terreno intorno a lui e migliorandone conseguentemente l usabilit in ambienti aperti o chiusi su terreni acc
47. aglio nella Sottosezione 2 2 3 USAR Whegs 43 44 9 mostrato in Figura 2 7j un robot dotato di 4 Wheg a 4 gambe stato sviluppato da Hunt A J presso Case Western Reserve University nel 2010 Nelle sottosezioni successive descriveremo solo alcuni di questi robot in particolare La Sottosezione 2 2 1 descrive il robot Prolero il robot che per primo utilizz la struttura dei Wheg La Sottosezione 2 2 2 descrive il robot Rhex un tipo di robot simile sot to alcuni aspetti a Prolero ma con maggiori capacit di movimento e di esplorazione La Sottosezione 2 2 3 introduce Termes un robot di piccole dimensioni e discrete capacit di scalare 34 CAPITOLO 2 STATO DELL ARTE Figura 2 7 Robot con Wheg a Prolero b Climbing Mini Whegs c Embot d Lunar Whegs j USAR Whegs 22 ROBOT DOTATI DI WHEG 39 2 2 1 Prolero Figura 2 8 Prolero modello schematico iY ym M q i Tether mechanism Leg 4 MOS sensor l Tu PO AxS electranics leg moton direction 9 LAs T ra lt M ha JA Leg 2 Ti MAL j m 7 SU MOS electranics 4 AxS sensor Leg f ef CLII electranics CLII sensor La prima versione di Wheg apparve nel robot Prolero 52 PROtotype of LEgged ROver che significa prototipo di rover con gambe progettato nel 1996 alla Case Western Reserve University come possibile robot esploratore di Marte Il robot come mostrato nella Figura 2 8
48. al perno centrale di 360 rallentando nuovamente quando entra nuovamente a contatto con il terreno per pol ricominciare a muoversi 36 CAPITOLO 2 STATO DELL ARTE 2 2 9 Termes Figura 2 12 Termes struttura esterna I robot Termes 67 66 57 ispirati alle termiti sono robot progettati per collaborare tra loro e costruire piccoli edifici Affinch i robot siano in grado di muoversi e scalare le loro costruzioni sono stati provvisti di 4 Wheg ciascuno delle quali dotato di tre minuscole gambe ricurve garantendo loro discrete capacit di scalare A differenza di Rhex la presenza di 3 gambe per ciascun Wheg garantisce un movimento piu fluido ed un controllo maggiore durante il movimento riduce i sobbalzi causati dall impatto della gamba con il terreno e gli permette di scalare con facilit gli ostacoli 2 3 LionHell LionHell nato nel 2011 come progetto di tesi di Vittorio Lumare per il Corso di Laurea Magistrale in Ingegneria Informatica 49 50 Questo lavoro stato svolto presso AI amp R Lab il Laboratorio di Robotica e Intelligenza Artificiale del Politecnico di Milano Il primo progetto 49 50 mostrato in Figura 2 13a prendendo spunto dal robot Embot 38 prevedeva l utilizzo di un corpo rigido e 4 Wheg con tre 2 8 LIONHELL 39 Figura 2 13 LionHell modelli iniziali a Primo modello b Secondo modello gambe l uno e l obiettivo era quello di creare un robot che fosse in grad
49. ata aggiunta la striscia 4 3 CODA 69 Figura 4 8 Il Geco Cosymbotus Platyurus mentre affronta la 2 sfida b c Grafico jm idle Me punta a coda mM scivolosa come in precedenza ed i calcoli hanno dimostrato che la risposta della coda controbilancia la perdita dell appoggio sulla superficie In Figura 4 8 Il geco affronta la seconda sfida dove la superficie del percorso stata sostituita con una con aderenza intermedia con un sottostrato costi tuito da una pedana di forza La Figura 4 8a mostra il dorso del geco mentre si arrampica la Figura 4 8b ne mostra il lato mentre la croce e la freccia ros se mostrano il punto di contatto della coda con la parete dopo che le zampe iniziano a scivolare La Figura 4 8c mostra la forza normale sviluppata dalla punta della coda in funzione del tempo La risposta della coda potrebbe non essere in grado di correggere il movi mento del geco per strisce scivolose larghe e ripetute pi volte Quando la risposta della coda risulta insufficiente 17 il geco disposto anche a subire un piegamento all indietro di circa 60 eventualmente prevenendone la ca duta posizionando la coda in una postura dove gli ultimi due terzi della coda premono contro il muro similarmente al cavalletto di una bicicletta Anche in caso di queste perturbazioni estreme il geco non cade mai dal muro mentre lo stesso esperimento effettuato con altri animali privi di coda ne ha causato la cad
50. ativo di mi gliorare il robot mantenendone le caratteristiche generali e permettendogli di esplorare l ambiente anche in mancanza di una mappa della zona LionHell II nasce quindi come un progetto di un robot esplorativo esapode in grado di utilizzare i Wheg come sistema di locomozione dotato di coda per scalare e di un sistema di telecontrollo remoto che gli permetta di muoversi nell ambiente circostante In Figura 3 1 e in Figura 3 2 possibile osser vare LionHell II completo dopo le modifiche effettuate con il corrispettivo telecomando per il controllo in remoto LionHell ha subito una serie di modifiche volte a rinforzare e migliorare il sistema preesistente e a migliorarne l usabilit e le capacit di movimento Per cercare di raggiungere tale obiettivo stato necessario 43 44 CAPITOLO 8 LIONHELL II e modificare la meccanica dei Wheg descritti precedentemente nella Se zione 2 1 rinforzandone la struttura in quanto i Wheg precedenti tendevano a danneggiarsi facilmente a causa del movimento stesso di LionHell I nuovi Wheg sono descritti in dettaglio nella Sezione 4 1 e rinforzare e potenziare la coda aggiungendo un motore aggiuntivo che permettesse a LionHell di sviluppare la forza necessaria durante le sca late in particolare nel caso in cui il robot rischiasse di ribaltarsi af frontando un piano molto inclinato un ostacolo particolarmente alto 716 cm rispetto al robot o una serie di ostacoli
51. azio vuoto che la struttura presenta spazio che verr utilizzato a proprio vantaggio la struttura infatti in grado di sfruttare lo spazio vuoto affrontando l ostacolo dall alto e non dal lato come nel caso della ruota 2 La forza esercitata dai motori e la torsione del Wheg faranno il resto permettendo di sfruttare il punto di contatto come pivot per alzare il 2 1 WHEG 31 telaio del Wheg come mostrato nella Figura 2 5 e superare Vostacolo si ricorda sempre che il cerchio serve solamente per mostrare la traiettoria delle tre gambe Figura 2 6 Wheg che affronta un ostacolo di altezza h r 3 Si riconsideri ora un nuovo esempio 65 mostrato in Figura 2 6 in cui abbiamo h gt r ed in particolare il caso in cui A amp ir in quanto sono presenti 3 gambe In questo caso estremo il Wheg non sar in grado di superare l ostacolo la capacit di scalarlo dipende da quanto il Wheg capace di penetrare il profilo dell ostacolo possibile ottenere tale obiettivo riducendo l angolo tra le due gambe superiori ma questo comprometterebbe la struttura del Wheg rendendolo instabile Da questa analisi possibile evidenziare i principali vantaggi e svantaggi derivanti dall utilizzo di un Wheg Pro la capacit di scalare ostacoli di altezza maggiore rispetto a quelli affrontati da una ruota avente medesimo raggio Pro la velocit di movimento del robot si mantiene elevata 32 CAPITOLO 2 ST
52. break case COMM RXFAIL printf COMM_RXFAIL Failed ou get status packet from devicelkn break case COMM RXWATTING printf COMM RXWATTING Now recievingistatus packetlkn break case COMM RXTIMEOUT printf COMM RXTIMEOUT There isno status packetlkn break case COMM RXCORRUPT printf COMM_RXCORRUPT Incorrect status packetlin break default printf This is unknown error codelin break 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 124 Print unsigned APPENDICE A LISTATO error bit of status packet void PrintErrorCode 1 if dxl get rxpacket error ERRBIT VOLTAGE 1 printf Input voltage errorlXn if dxl get rxpacket error ERRBIT ANGLE 1 printf Angle limit errorlXn if dxl get rxpacket error ERRBIT OVERHEAT 1 printf Overheat jerror n if dxl get rxpacket error ERRBIT RANGE 1 printf Out ofi orangei error XAn if dxl get rxpacket error ERRBIT CHECKSUM 1 printf Checksum jerror n if dxl_get_rxpacket__error ERRBIT_OVERLOAD 1 printf Overload jerror n if dxl get rxpacket error ERRBIT INSTRUCTION 1 printf Instruction code errorlNn
53. c Ath Int Conf On Climbing and Walking Robots 2001 U Saranli M Buehler and D E Koditschek Rhex A simple and highly mobile hexapod robot The International Journal of Robotics Research 20 7 616 631 2001 R Sell Ratasjalg https www etis ee portaal isikuCV aspx P ersonVID 37610 amp lang en June 2007 Accessed 2015 03 23 K Singh Map making by cooperating mobile robots In IEEE editor Robotics and Automation 1993 Proceedings 1993 IEEE International Conference on volume 2 pages 254 259 Atlanta May 1993 IEEE C A Smarr T L Mitzner J M Beer A Prakash T L Chen C C Kemp and W A Rogers Domestic robots for older adults Attitudes preferences and potential International Journal of Social Robotics 6 2 229 247 2014 M Taddei Robot di Leonardo da Vinci Leonardo3 2007 M L Walters D S Svrdal K Dautenhahn and R and Koay K L Boe khorst te Avoiding the uncanny valley robot appearance personality and consistency of behavior in an attention seeking home scenario for 114 65 166 L I BIBLIOGRAFIA a robot companion Autonomous Robots 24 Issue 2 159 178 February 2008 A Waves Leg wheel hybrid for a rover robot Whegs https arunwaves wordpress com 2010 07 23 leg wheel hyb rid for a rover robot whegs 2010 Accessed 2015 03 23 J Werfel K Petersen and R Nagpal Distributed multi robot algori thms for the termes 3d collective construction system In Pro
54. ceedings of the IEEE RSJ International Conference on Intelligent Robots and Systems IROS 2011 Los Angeles CA 2011 J Werfel K Petersen and R Nagpal Designing collective behavior in a termite inspired robot construction team Science 343 6172 754 758 2014 G D Wile K A Daltorio L R Palmer T C Witushynsky L Southard M R Ahmad A Malek Ab S N Gorb A S Boxerbaum R E Ritz mann and R D Quinn Making orthogonal transitions with climbing mini whegs In Proceedings IEEE International Conference on Robotics and Automation pages 1775 1776 Pasadena CA 2008 IEEE O0 JogckhaonNnN 4 10 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Appendice A Listato AVRGCC1 c x ENGLISH Note This software is intended to be x compiled with XCODE using AVRGCC on MAC OSX 10 5 x compiled with Atmel Studio on Windows 7 x it can be easily adapted to other compilers on Linux system x executed on Robotis r CM 510 Control Board though it can be easily adapted to other Microcontroller Boards This code can be downloaded from http www robotgarage o0rg wiki index php title LionHell McMillan iu ei a iL Control Logic for LionHell McMillan Rough Terrain Wheg Robot Created by Vittorio Lumare on 10 07 2012 Modified by Alessandro Rosina on 10 03 2015 E a St TJ C
55. cia di programmazione dell applicazione API La funzionalit usata chiamata Virtual Wire 18 filo virtuale e sfrutta l utilizzo di onde ad alta frequenza per trasmettere i pacchetti dati Nelle esistenti architetture di emulazione sia la configurazione logica che la connet tivit di rete rimangono fisse per tutta la durata dell emulazione Physical Wire ossia filo fisico Ogni partizione emulata consiste in un insieme di porte e di segnali che comunicano con le altre partizioni Ciascuna porta emulata mappata ad una o piti porte FPGA Field Programmable Gate Array si tratta di un circuito integrato caratterizzato da elevata scalabilit le cui funzionalit sono disponibili via software consente l implementazione di funzioni logiche equivalenti anche molto complesse e ciascun segnale emu lato inter partizione allocato in una coppia di pin tra due FPGA Quindi affinch una partizione sia possibile necessario che i requisiti di pin e porte 3 4 XbEE ot Figura 3 10 XBee a XBee fronte b XBee schema c XBee retro 24 cm Figura 3 11 Physical Wire e Virtual Wire a Physical Wire b Virtual Wire FPGA 2 FPGA 1 FPGA 2 FPGA 1 Output logici Output logici Input logici Input logici gt X Input logici Filo fisico Fili fisici non sia superiore alle risorse disponibili di un FPGA Il Virtual Wire elimina il problema di limi
56. ciato AD5 DIO5 Ind associato Input analogico 5 o I O digitale 5 RT S AD6 DIO6 Contr flusso RTS Input analogico 6 o I O digitale 6 AD3 DIO3 Input analogico 3 o I O digitale 3 AD2 DIO2 Input analogico 2 o I O digitale 2 ADI DIO1 Input analogico 1 o I O digitale 1 ADO DIOO Input analogico 0 o I O digitale 0 D5 D3 D2 D1 I NE NN ES NK Lp I E E 1 La colonna AT fornisce la coda del comando Dn per configurare il pin a La colonna PR fornisce il numero dei bit nel comando PR per configurare i resistori pull up 3 UART significa ricevitore trasmettitore asincrono universale un dispositivo hardware di uso generale o dedicato converte i flussi di bit da un formato parallelo a un formato seriale asincrono o viceversa A PWM la modulazione di larghezza di impulso permette di ottenere una tensione media variabile dipendente dal rapporto tra la durata dell impulso positivo e quello negativo ciclo di lavoro utilizzata per i protocolli di comunicazione in cui l informazione codificata sotto forma di durata del tempo di ciascun impulso In questo caso il periodo di 6445 e vi sono 1023 0x3ff passi in essa con una frequenza di 15 6K Hz e un ciclo di lavoro che varia in 1024 passi tra lo 0 e il 100 5 RX il ricevitore radio adibito a ricevere segnali informativi ad esso in input provenienti dal canale di comunicazione 6 La linea RTS viene utilizzata dall Host per segnalare al XBee che il buffer dell
57. contatto con il terreno che garantisce una buona aderenza su qualunque superficie L utilizzo di un giunto centrale passivo permette una maggiore maneggiabilit durante le curve e garantisce un migliore adattamento del robot su terreni accidentati 47 accompagnando il moto dei Wheg e facilitandone dunque il movimento su qualunque superficie la coda stata rinforzata e la potenza dei motori stata incrementata in modo da favorire il robot durante le scalate pi difficili come se fosse una gamba di emergenza impedendogli di rovesciarsi e mantenendolo saldamente a contatto con il terreno La nuova coda garantisce una maggiore stabilit in salita e un elevata resistenza agli urti Il controllo remoto stato ottenuto per mezzo dell utilizzo di due XBee 37 20 uno installato su LionHell II e l altro sul telecomando che comuni cano via wireless e permettono una buona maneggevolezza anche grazie al telecomando che per mezzo di accelerometri in grado di trasmettere la dire 22 CAPITOLO 1 INTRODUZIONE zione desiderata semplicemente inclinandolo Il controllo remoto stata una modifica fondamentale per LionHell II in quanto ha dato la possibilit di discriminare la direzione del robot operazione prima impossibile utilizzando solamente la barra sensoriale preesistente che risulta insufficiente per esplo rare l ambiente circostante ed essere in grado di effettuare scelte consapevoli sulla strada
58. da percorrere LionHell II ha subito anche alcune modifiche in modo da modificarne l aspet to esteriore rendendolo pi facilmente accettabile da un pubblico esterno 64 54 aggiungendo un volto animale ed una corazza che svolge sia un ruo lo estetico sia il ruolo di proteggere il busto la scheda di controllo e l X Bee garantendo una sicurezza extra nel caso sfortunato in cui il robot dovesse capovolgersi In conclusione LionHell II si dimostrato capace di superare ostacoli di varie dimensioni dai sei ai sedici centimetri in grado di superare con facilit delle rampe anche affrontandole dalla direzione sbagliata in grado di curvare facilmente intorno al proprio asse sia in senso orario sia in senso antiorario e di superare un terreno disseminato di oggetti sparsi casualmente sul pavimento Equipaggiato con una telecamera e delle torce LionHell II sarebbe in grado di esplorare edifici pericolanti o condotti molto stretti e in generale potrebbe essere utilizzato in ogni ambito in cui richiesto un robot con discrete capa cit di scalare Studi recenti 61 25 hanno inoltre dimostrato la possibilit di utilizzare robot esplorativi per applicazioni swarm ossia per la creazione di numerosi robot economici capaci di collaborare tra loro per la creazione di una mappa comune della zona o per effettuare operazioni complesse La tesi strutturata nel modo seguente Nel Capitolo 2 si descrive lo stato dell ar
59. dded C gt CM510 CM700 gt Getting Started gt Setting Environment ignorandone l esempio accedere alla pagina di LionHell Mc Millan da cui possibile scaricare il firmware o utilizzare il disco su cui presente il codice necessa rio si noti che solo il file AVRGCCI c fondamentale ai fini della programmazione del codice di LionHell II accedere al manuale Robotis e Manual Home gt Software Help gt Soft ware development kit gt Embedded C gt CM510 CM700 e scaricare il file embeded c cm510 v1 02 zip e successivamente decomprimerlo NOTE Si noti che il carattere W barrato indica il carattere V in Coreano B 5 Creare un progetto in Atmel Studio Per creare un nuovo progetto LionHell necessario aprire Atmel Studio pre cedentemente installato pu metterci parecchio tempo e seguire la seguente procedura il 2 creare un nuovo progetto File gt New gt Project nella nuova schermata aperta nella sezione Name digitare il nome del progetto LionHell selezionare GCC C Executable Project in corrispondenza di Recent Templates gt Installed Templates gt C C e premere OK selezionare ATmega2561 come indicato alla pagina riguardante Lio nHell Mc Millan App Boot Memory Kbytes 256 Data Memory bytes 8192 EEPROM bytes 4096 e premere OK il progetto stato creato ma il file AVRGCCl c non ancora sta to aggiunto p
60. dente graduato di psicologia Akanksha Prakash 141 19 62 mostrano la volont da parte degli adulti anziani di accettare robot nelle loro vite quotidiane e le loro scelte basate sull aspetto che il robot do vrebbe avere dipendono dalle funzioni che il robot stesso deve svolgere le persone pi anziane e pi giovani hanno infatti dimostrato maggiore interesse nei confronti di un aspetto esteriore prevalentemente robotico meccanico nel caso in cui il ruolo del robot dovesse rientrare nelle attivit di cura perso nale come fare il bagno una preferenza basata esclusivamente su problemi di privacy Inoltre se il robot non dovesse esibire un comportamento so cialmente accettabile le persone potrebbero non accettarlo considerandolo noioso spaventoso Di conseguenza Come pu un robot comportarsi un maniera socialmente accet tabile Generalmente i robot che presentano un aspetto prevalentemente meccanico tendono ad essere trattati con meno rispetto e in maniera meno socialmente 6 1 PERCHE IL DESIGN E IMPORTANTE 83 Figura 6 1 Il diagramma di Mori Uncanny Valley if In movimento mm mm ozio J Immobile i Persona in 0M00 Burattini Bunraku buona salute Robot umanoide x na a 2 Animale di i l peluche Robot gi industriale a om om nno E m am m Familiarit Somiglianza Umana 50 10090 Mano protesica ii LI Li por j i V Cadavere pes
61. di altezza media 112 cm La nuova coda descritta nel Capitolo 4 Sezione 4 3 e introdurre un sistema che permettesse il telecontrollo del robot da re moto In questo caso stata scelta la tecnologia XBee che permette di interfacciare il corpo di LionHell II con un telecomando controllato in remoto L XBee descritto in dettaglio nella Sezione 3 4 mentre le mo difiche riguardanti il telecontrollo che sono state apportate a LionHell sono descritte nel Capitolo 5 e migliorare l aspetto visivo generale sia per rendere il robot appetibile ad un pubblico pi vasto dandogli un aspetto pi animale sia per rinforzare e proteggere parti delicate della componentistica del robot creando una robusta corazza sul busto Il design descritto in dettaglio nel Capitolo 6 Per poter effettuare tali modifiche stato necessario considerare la com ponentistica preesistente riguardante gli attuatori che muovono i Wheg in modo da determinare il movimento di LionHell II in curva e riguardante i sensori utilizzati nella barra sensoriale per comprenderne il funzionamento e il ruolo che potrebbero ricoprire nella decisione della direzione da prendere La Sezione 3 1 descrive i telemetri che sono stati utilizzati per la barra sensoriale della testa La Sezione 3 2 descrive la barra sensoriale della testa motivando la ragione che ci ha portato ad utilizzare il controllo remoto 45 La Sezione 3 3 descrive il movi
62. do l inclinazione troppo elevata e vi il rischio che Lion Hell si ribalti Sollevando la parte frontale LionHell in grado di adattarsi pi facilmente alla conformazione del terreno e ad affrontare con maggiore facilit ogni osta colo lungo il percorso garantendogli una maggiore flessibilit come mostrato in altri lavori precedenti 30 47 Il sistema di controllo svolge inoltre il ruolo di determinare l azione da in traprendere nel caso in cui LionHell si appresta ad affrontare un ostacolo basando la sua decisione sui valori restituiti dai sensori della barra centrale e se le distanze rilevate dai tre sensori puntati sul terreno sono simili allora LionHell procede diritto considerando il terreno attraversabile e se la differenza tra la distanza rilevata dal sensore centrale e il sensore laterale destro o sinistro alta allora LionHell ruota a sinistra nel 2 8 LIONHELL A caso in cui la distanza rilevata dal sensore sinistro sia inferiore a quella rilevata dal sensore destro e viceversa nel caso opposto LionHell mostra quindi un comportamento diverso in base alla superficie su cui si sta muovendo dimostrando di essere in grado di adattarsi all ambiente circostante e di affrontare dinamicamente gli ostacoli che gli si presentano 24 31 28 Il risultato un robot che in grado di scalare gli ostacoli ma che non in grado di curvare in quanto la barra sensoriale risulta comunq
63. e 1 Misurazione effettuata a 12 0V 1 5 A 2 Misurazione effettuata a 12 0V Figura 3 9 Banda morta nel Dynamixel AX 12 150 Goal Position 512 0x200 300 300 360 0 GoalPosition 1024 Invalid Angle Goal Position 0 Ox9ff 0x000 U 59 50 CAPITOLO 3 LIONHELL II anche di ruotare su se stesso sfruttando i motori indipendenti di cui possiede Affinch ci fosse possibile stato necessario creare un sistema di controllo remoto che fosse in grado di comunicare con la scheda di controllo in modo da ricevere ed interpretare i comandi ricevuti dal telecomando A questo scopo stata utilizzata una scheda XBee descritta nella Sezione 3 4 Datasheet nell Appendice C 3 4 XBee L XBee 37 20 un fattore di forma compatibile con i moduli radio basati su IEEE 802 15 4 ed una marca della Digi International Inizialmente furono introdotti due modelli un XBee a basso costo da 1 mW ed un altro con maggiore potenza XBee PRO da 100 mW Tutti gli X Bee possono essere utilizzati con il numero minimo di connessioni ossia l alimentazione 3 3 V la messa a terra l ingesso e l uscita dei dati L XBee scelto un XBee 4214A da ImW dotato di 20 pin di ingresso mostrati in Figura 3 10b e descritti in Tabella 3 3 e di una antenna wire antenna a filo che ne permette la comunicazione via radio L XBee pu Operare sia in una modalit dati trasparente sia per mezzo di una interfac
64. e ne controllano i giunti motorizzati Dalla nascita del primo robot dotato di Wheg Prolero 52 si sono susseguite nuove ricerche nell ambito di ro bot equipaggiati con questo sistema di locomozione come ad esempio Rhex 16 59 39 basato sull utilizzo di sei Wheg ad una gamba che si muovono alternativamente per superare gli ostacoli che gli si presentano contro o ler mes 167 66 57 che sfrutta quattro piccoli Wheg a tre gambe per scalare le sue stesse costruzioni Il robot finale che stato ottenuto al termine del progetto di questa tesi stato chiamato LionHell Mc Millan II successivamente si far riferimento al nuovo robot solo con il nome di LionHell II mentre con il nome di LionHell ci si riferisce al precedente progetto di Vittorio Lumare LionHell II un robot esapode dotato di Wheg a tre gambe ispirato in parte al mondo animale Il robot dotato di una barra sensoriale con 4 telemetri a infrarossi di cui tre rivolti verso il terreno in modo da analizzare la con formazione della superficie che LionHell II si appresta ad affrontare mentre uno rivolto di fronte a s per individuare la presenza di ostacoli e controllare se l eventuale ostacolo affrontabile oppure no La barra sensoriale della testa e il comportamento dei sensori ispirato alle vibrisse dei felini 48 50 ossia i baffi dotati di terminazioni nervose il cui ruolo quello di analizzare il terreno e la presenza di ostacoli particolarmente
65. eld U Saranli and A Rizzi Solving models of control led dynamic planar rigid body systems with frictional contact The International Journal of Robotics Research 24 11 911 931 November 2005 A J Hunt A biologically inspired robot for assistance in urban search and rescue Master s thesis Case Western Reserve University 2010 A J Hunt R J Bachmann R R Murphy and R D Quinn A rapid ly reconfigurable robot for assistance in urban search and rescue In IEEE RSJ International Conference on Intelligent Robots and Systems pages 209 214 IEEE 2011 112 BIBLIOGRAFIA 45 M Idel Golem Jewish Magical and Mystical Traditions on the Artificial Anthropoid 1990 46 S R Kellert and E O Wilson The biophilia hypothesis Frontiers in Ecology and the Environment 5 496 1993 1471 H Kimura and S Hirose Development of genbu Active wheel passive joint articulated mobile robot In IEEE RSJ International Conference on Intelligent Robots and Systems volume 1 pages 823 828 Tokyo JP 2002 48 W A Lewinger Insect like antennal sensing for climbing and tunneling behavior in a biologically inspired mobile robot In Robotics and Auto mation 2005 ICRA 2005 Proceedings of the 2005 IEEE International Conference on pages 4176 4181 IEEE April 2005 149 V Lumare Lionhell mcmillan http www robotgarage org wiki i ndex php title LionHell McMillan 1012 Accessed 2015 03 23 50 V Lumare Development of a rough
66. en dxl_write_word 16 P_MOVING_SPEED_L ff holds deg2pos unsigned short deg 150 abdomen joint position speed 746 TA T 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 CCl 772 773 774 775 776 TTT 778 779 780 781 782 783 784 785 786 787 788 789 790 TOI 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 12f dxl write word 16 P GOAL POSITION L posAbdomen posAbdomen mirrorPos posAbdomen printf 18pos t d n posAbdomen dxl write word 18 P MOVING SPEED L speed dxl write word 18 P GOAL POSITION L posAbdomen unsigned short dist2cm unsigned short dist Convert distance from SHARP GP2Y0A21YK sensor to cm uint32_t cm uint32_t dist cm 12344 4 cm return cm A Converting the values of the IR distance sensor to centimeters Returns 1 if the conversion did not succeed float ir distance calculate cm ir distance sensor sensor unsigned short adc_value if adc value sensor b lt 0 return 1 j float dist cm dist cm float sensor a float adc value 4 sensor b float sensor k dist cm 5461 adc value 17 2 printf cmd dist em return dist cm float cosML float x cosine MacLaurin 4 term GOOD from 0 to 45 need to improve to 50 deg 2 rad x x x 0 017453 printf rd
67. ercorso ottimale al fine di raggiungere l obiettivo prefissato il che richiede anche un controllo dedicato delle telecamere in quanto la scheda di controllo CM 510 sarebbe insufficiente Con l utilizzo di un telecomando al contrario si in grado di controllare completamente il robot e il controllo remoto pu essere installato sul bu sto anzich sulla testa mantenendola leggera e permettendole di scalare gli ostacoli senza ulteriori pesi Inoltre tale controllo sarebbe totalmente inte grato all interno di una scheda di piccole dimensioni chiamata X Bee instal lata direttamente sopra la scheda di controllo L utilizzo di un telecomando permette di esplorare l ambiente circostante con facilit mentre il controllo interno alla scheda gestisce indipendentemente le azioni che devono essere svolte per scalare un ostacolo di piccole medie o grandi dimensioni modi ficando la forza richiesta dai motori alzando di molto o di poco la testa e azionando la coda in caso di necessit ed interrompendone il movimento nel caso in cui LionHell II si dovesse trovare a dover superare un salto di altezza troppo elevata Utilizzando il telecontrollo il risultato un robot dotato sia di comportamen ti autonomi sia di un sistema di controllo in remoto che permette all utente di decidere il percorso desiderato se procedere dritto fermarsi o curvare a destra o a sinistra Il controllo autonomo interviene nel
68. gmenti blu Ruotando il triangolo ACD intorno all asse passante per AC linea tratteggiata rossa possibile determinare la posizione di D che si trova alla stessa distanza di D da B D B e DB sono due linee verdi Come si pu osservare in figura D si trova dalla parte opposta rispetto al piano ABC quindi esiste un solo punto D che abbia una distanza fissata da A B e C e che si trovi da un lato fissato del piano ABC Il sistema di punti ABC ha 9 f gradi di libert 3 gradi di libert per ogni punto ossia le tre coordinate necessarie per determinare la posizione di un punto nello spazio dove f il numero di vincoli Essendo che le distanze 64 CAPITOLO 4 CONTROLLO E MOBILIT DI LIONHELL II AB BC e AC devono rimanere costanti ne consegue che f 3 e quindi il corpo ha in totale 6 gradi di libert 4 2 2 Gradi di libert di LionHell II Lion Hell II un robot esapode dotato di Wheg coda un giunto motorizzato che gli permette di sollevare la parte frontale per poter affrontare meglio gli ostacoli ed infine di un giunto centrale passivo In Figura 4 5 possibile osservare i gradi di libert di LionHell II e la Figura 4 5a mostra il movimento dei Wheg ciascun Wheg dotato di 1 grado di libert per un totale di 6 gradi di libert e la Figura 4 5b mostra il movimento del giunto motorizzato e della coda ciascuno dei quali aggiunge 1 grado di libert per un totale di 2 gradi di libert
69. hort adc value unsigned short mirror unsigned short speed Mirror Speed 0 to 1023 1024 to 2047 x unsigned short mirrorPos unsigned short pos x Mirror Position 0 to 1023 x unsigned short pos2deg unsigned short pos deg 0 to 300 x unsigned short deg2pos unsigned short deg deg 0 to 300 x short getTailDeg void void setTailDeg short deg unsigned short speed short getAbdomenDeg void deg 75 to 80 x short getAbdomenDegG void Gets inclination wrt g plane deg 150 to 150 x void setAbdomenDeg short deg unsigned short speed x deg 75 to 80 x unsigned short dist2cm unsigned short dist float cosML float x float readHeight void void setupAcc void Configure MCU bits to use Accelerometer x uintl6_t readAcc unsigned char addr float readAccNorm unsigned char addr x read calibrated and normalized 0 1 value from Accel Channel 0 addr x float readAccDeg unsigned char addr x read deg value from Accel on channel addr x void setupSharp void Configure MCU bits to use Sharp IR Sensors Board x uintl6 t readSharp unsigned char addr Read value of Sharp sensor mapped on address addr 7 float readSharp_cm unsigned char addr Read value of Sharp sensor mapped on address addr and convert to cm distance void readAllSensors Sensors xs Read all sensor values and put into struct s x void printAllSensors Sensors sensors void USART Flush void S
70. i futuri di LionHell II e le modifiche che possono essere ulteriormente effettuate Nell Appendice A si mostra il firmware della scheda di controllo CM 510 Nell Appendice B vi il manuale utente che descrive i passi necessari per riprogrammare LionHell II i cavi e la componentistica necessaria e tutte le informazioni del caso indicando anche una serie di indirizzi URL utili Nell Appendice C si mostrano i datasheet di tutti i componenti di LionHell II e del telecomando i cavi di connessione di programmazione e dell X Bee 24 CAPITOLO 1 INTRODUZIONE Capitolo 2 Stato dell arte I robot hanno da sempre affascinato l uomo e in particolare la creazione di oggetti inanimati che nelle leggende avvivati da complessi meccanismi dalla volont di suscettibili divinit o per mezzo di potenti stregonerie erano in grado di eseguire i comandi dei loro creatori Alcune di queste leggende sono pervenute fino a noi come ad esempio la leggenda inuit del Tupilak 36 35 dall inuktitut Ac 12 nato come creatura inanimata a partire da parti di animali animata dalla stregoneria e messa in mare in modo che potesse cercare ed eliminare la vittima designata ma attenzione uno stregone abbastanza potente sarebbe stato in grado di riprogrammare la creatura facendo si che tornasse indietro ad uccidere il suo stesso creatore Allo stesso modo la leggenda ebraica del Golem 45 dall ebraico D712 14 parla de
71. i massa 40 CAPITOLO 2 STATO DELL ARTE del robot ha allungato la coda in seguito alla nuova altezza e ha portato il numero di gambe per Wheg da 2 a 3 La struttura stata rinforzata in parte con alcuni componenti in alluminio ed stata aggiunta una barra sensoriale dotata di 4 telemetri che sostituisse il sensore visivo precedente il quale si era dimostrato troppo lento ad analizzare il terreno di fronte a s e quindi inefficace nel predire la presenza di ostacoli Il progetto finale LionHell Mc Millan di Vittorio Lumare prevede che il robot sia totalmente autonomo e che una volta acceso proceda dritto fino a che non incontra un ostacolo a questo punto il sistema di controllo decide se affrontare l ostacolo oppure cambiare direzione e nel caso in cui il robot affronti l ostacolo la scheda di controllo determina l inclinazione della parte frontale del robot e la forza esercitata dalla coda LionHell in grado di sollevare la parte anteriore del robot nel momento in cui si appresta ad affrontare un ostacolo il sensore a infrarossi che punta in avanti svolge il ruolo di analizzare la presenza di ostacoli frontalmente al ro bot e ne alza conseguentemente la parte anteriore in modo da affrontare con maggiore facilit l ostacolo stesso Durante la scalata l accelerometro pre sente su LionHell controlla l inclinazione del robot e richiede l intervento della coda nel caso in cui questa sia richiesta in particolare quan
72. identati o non LionHell II un robot esapode dotato di un sistema di locomozione chiamato Wheg costituito da un asse centrale rotativo e da tre gambe unite nel giunto centrale ed equidistanti I nuovi Wheg e il giunto passivo centrale che stato aggiunto garantiscono un movimento piu fluido quando il robot si appresta a curvare La barra sensoriale e la coda sono state a loro volta rinforzate e la forza sviluppata dalla coda stata incrementata in modo da affrontare pi facilmente un ostacolo in cui sia richiesto il suo intervento Il controllo remoto per mezzo di un telecomando wireless garantisce un controllo totale sul movimento del robot stesso e l aggiunta finale di alcuni aspetti estetici rendono il robot piu facilmente accettabile da parte di un pubblico esterno svolgendo in parte il ruolo di protezioni in caso di ribaltamento accidentale Abstract Robots are becoming an integral part of human life plaving a kev role in the processes of industrial automation technologv pervades our homes and the first robots explore the space and move in unknown territorv In particular the development of robots that can explore their surroundings that can move within crumbling ruins or in narrow tunnels is becoming an increasinglv essential and theretore it was necessarv to create new svstems of locomotion and alternative design to more easilv overcome obstacles of large or small size The aim of the thesis is to enhance and improve
73. ies e nel riqua dro alto Libraries WI I premere sull icona e digitare libdy namixel a e premere OK ripetendo l operazione anche per le librerie libserial a e libzigbee a salvare le modifiche apportate alle propriet del progetto Per mezzo di Atmel Studio sar quindi possibile modificare e successivamente aggiornare LionHell II Per ottenere una pi chiara lettura del codice consigliamo di attivare i numeri di fianco alla linea di codice per fare questo necessario selezionare Tools gt Options gt Text Editor gt GCC gt Display e selezionare Line numbers 142 APPENDICE B MANUALE UTENTE Figura B 2 Cavi di programmazione con CM 510 e relativa porta a Cavo di programmazione A b Cavo di programmazione B TXD Terminale della trasmissione del segnale del modulo Zigbee B 6 Trasferire il firmware modificato Per trasferire il firmware modificato necessario utilizzare il cavo LN 101 mostrato in Figura B 2a o quello di Figura B 2b e connetterlo alla porta della scheda di controllo CM 510 mostrata in Figura B 2c evidenziata da un rettangolo rosso Per poter interagire con LionHell II necessario scaricare ed installare Ro boPlus ed avviarne il terminale Una volta avviato il terminale seguire la seguente procedura 1 per entrare nel boot loader tenere premuto il bottone Shift 3 mentre si accende il controller o si preme i
74. imento di una ruota con le capacita di scalare e di superare ostacoli derivanti dall utilizzo delle gambe 11 58 L acronimo deriva infatti dalla combinazione delle parole wheel e leg ruota e gamba e meccanicamente consistono in un asse centrale rotativo a cui sono collegate una o pi barre che svolgono la funzione di gambe Il funzionamento di un Wheg estremamente semplice considerando l esem pio in Figura 2 2a le tre gambe sono connesse ad un asse centrale che ruota su se stesso e il punto di contatto con il terreno costituito dall estremit della gamba Il Wheg in rotazione mostrato in Figura 2 2b 2 1 WHEG 29 Figura 2 3 Ruota che affronta un ostacolo di altezza h r NN Sy 2 1 2 Wheg contro Ruota La superiorit del Wheg confronto all utilizzo di una semplice ruota 6 facil mente dimostrabile 65 11 1 Si consideri una ruota che si appresti ad affrontare un ostacolo come in Figura 2 3 65 posto sul pavimento di molto pi piccolo del raggio della ruota stessa 2 Una volta che la ruota sar entrata in contatto con l ostacolo la frizione che si generer forzer il punto di contatto a rimanere nella stessa posizione e mentre la torsione della ruota continuer ad agire il punto di contatto funzioner come un pivot Se la forza del motore risulter sufficiente il risultato sar che la ruota superer l ostacolo proseguendo nel suo percorso 3 Si consideri ora una situazione anal
75. ine TIME CENTSEC 156 define TIME MILLISEC 16 AX 12 Control table addresses define P GOAL POSITION L 30 define P GOAL POSITION H 31 define P PRESENT POSITION L 36 define P PRESENT POSITION H 37 define P PRESENT SPEED L 38 define P PRESENT SPEED H 39 define P PRESENT LOAD L 40 define P PRESENT LOAD H 41 define P MOVING 46 define P MOVING SPEED L 32 define P MOVING SPEED H 33 define P TORQUE ENABLE 24 AX S1 Control table addresses define LEFT IR SENSOR DATA define CENT IR SENSOR DATA define HIGH IR SENSOR DATA define define define OBSTACLE DETECTION FLAG OBSTACLE DETECTED COMPARE VALUE OBSTACLE DETECIED COMPARE Sens define CENTER LUMINOSITY Button defines define define define define define Default define define BTN UP 0x10 BIN DOWN 0x20 BTN LEFT 0x40 BTN RIGHT 0x80 BTN START 0x01 setting DEFAULT BAUDNUM 1 1Mbps DEFAULT ID 1 struct ServoData s The structure id unsigned short Bool db Dead Band unsigned short spd int state 0 not Master Servo of the parameters typedef const struct const signed short a lastP 7 Master Servo pne db 1 Present Speed Data of the IR distance APPENDICE A 26 27 28 32 20 Obstacle 52 0 30 Present works in avr gcc Low Dist Sens Position data in db sensors LISTATO Detection Threshold 1 High Dist
76. iniziale ruotando intorno al proprio asse in senso antiorario I test mostrano la buona manovrabilit che il robot pos siede riuscendo a curvare di 180 intorno al proprio asse in meno di dieci secondi su piastrella In Figura 7 4 in Figura 7 5 e in Figura 7 6 LionHell II affronta rispettivamente un ostacolo basso 6 cm medio 10 cm e alto 16 cm e durante la fase di scalata dell ostacolo possibile osservare l utilizzo della coda come punto di appoggio In Figura 7 7 LionHell II affronta una semplice rampa altezza massima 12 cm mentre in Figura 7 8 LionHell II 95 affronta la stessa rampa dalla direzione opposta In Figura 7 9 LionHell II si appresta ad affrontare un tubo di dimensioni medie diametro 10 cm riu scendo ad attraversarlo mentre in Figura 7 10 supera con successo una serie di oggetti sparsi casualmente sul terreno si possono notare sbarre di metal lo pezzi di metallo dalla forma ad U e ad L pezzi di legno e gommapiuma talvolta sovrapposti La struttura corrente non consente comunque la creazione di un robot che sia in grado di muoversi ed esplorare l ambiente autonomamente in quan to necessiterebbe di numerosi sensori a infrarossi simili a quelli usati nella barra sensoriale tutti intorno al robot in modo che LionHell II sia in grado di rilevare la presenza di ostacoli intorno a s La barra sensoriale frontale e insufficiente per esplorare l ambiente come descritto nel Capitolo 3 Sezione
77. is due to cm 510 output transistor I guess switch addr 4 case 0 MPLEX ADDR 000 0 PORTA 1 PA3 1 PA2 BIT1 00 PORTE 0 lt lt PF5 BIT2 0 break case 1 MPLEX ADDR 001 1 PORTA 1 lt lt PA3 0 lt lt PA2 BIT1 01 PORIB 0 lt lt PF5 BIT2 0 break case 2 MPLEX ADDR 010 2 PORTA 0 lt lt PA3 1 lt lt PA2 BIT1 10 PORTE 0 lt lt PF5 BIT2 0 break case 3 MPLEX ADDR 011 3 PORTA 0 lt lt PA3 0 lt lt PA2 BIT1 11 PORTF 0 lt lt PF5 BIT2 0 break case 4 MPLEX ADDR 100 4 PORTA 1 PA3 1 PA2 BIT1 00 PORTE 1 lt lt PF5 BIT2 1 break case 5 MPLEX ADDR 101 5 PORTA 1 lt lt PA3 0 lt lt PA2 BIT1 01 PORTE 1 lt lt PF5 BIT2 1 break case 6 MPLEX ADDR 110 6 PORTA 0 lt lt PA3 1 lt lt PA2 BIT1 10 PORTE 1 lt lt PF5 BIT2 1 break addr 129 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 130 APPENDICE A LISTATO case 7 MPLEX ADDR 111 7 PORTA 0 lt lt PA3 0 lt lt PA2 BIT1 0 11 PORTE 1 lt lt PF5 BIT2 1 break default printf iXnWrong Address Wod Selec
78. king else Stop Walking stop In questo caso la scelta di muovere LionHell II si basa esclusivamente sui 5 3 MODIFICHE AL FIRMWARE 9 valori di walking cammina turnL gira a sinistra e turnR gira a destra Nel caso in cui i valori di turnL e turnR siano entrambi a zero allora Lio nHell II proseguir dritto la funzione dxl write word imposta la velocit di movimento di ogni singolo Wheg e la sua direzione Negli altri due casi invece a differenza dei valori di turnL e turnR il robot prender la decisione di girare a sinistra o a destra modificando opportunamente le velocit e le direzioni dei Wheg SO CAPITOLO 5 TELECONTROLLO IN LIONHELL II Capitolo 6 Design di LionHell II LionHell II un robot di esplorazione ma anche l aspetto visivo del robot svolge un ruolo importante in quanto un robot con aspetto umanoide o animale in genere accettato piu facilmente confronto ad un robot privo di tali caratteristiche In questa sezione ci occuperemo dunque di descrivere le modifiche che sono state effettuate a livello di design motivando la ragione delle nostre scelte La Sezione 6 1 descrive il ruolo del design nella costruzione di un robot e come il robot stesso viene percepito in maniera differente a differenza del suo aspetto La Sezione 6 2 descrive e mostra il volto di LionHell II La Sezione 6 3 descrive l aspetto esteriore del telecomando La Sezione 6 4 descrive la nu
79. l pulsante ros so verso l alto il robot sta fermo mentre alzando o abbassando il cappello possibile farlo andare rispettivamente in avanti o indietro ed inclinando il telecomando a destra o sinistra il robot ruota a destra o a sinistra ri spettivamente il quale rileva una variazione degli assi X e Y per mezzo dell accelerometro I valori cos letti sono poi passati all XBee installato sul telecomando il quale li invia direttamente all XBee su LionHell II 5 2 XBee di LionHell II L obiettivo dell XBee 6 ricevere 1 dati dal telecomando e inviare 1 dati cosi ricevuti alla scheda di LionHell II con il risultato che la scheda non si accorge neanche dell esistenza dell XBee come se leggesse direttamente i dati dal telecomando La Figura 5 2a mostra l XBee 4214A utilizzato in Lion Hell II montato diret tamente sopra la scheda di controllo CM 510 al centro del corpo del robot mentre la Figura 5 2b mostra i componenti sottostanti l XBee Come si pu osservare sono presenti per ciascuno dei due ingressi digitali una resistenza e un condensatore il motivo presto spiegato I dati trasmessi dall XBee del telecomando all XBee di LionHell II sono in forma analogica ma gli ingres si della scheda di controllo richiedono un entrata digitale non di tipo onda quadra ottenibile tramite una porta invertente NOT un trigger di Schmitt un condensatore e un resistore ma tramite un filtro di tipo passa basso che richiede solame
80. l pulsante si reset posizionato B 6 TRASFERIRE IL FIRMWARE MODIFICATO 143 Figura B 3 Terminale RoboPlus si entrati nel boot loader RoboPlus Terminal 11 02 Setup Files SYSTEM O R GCM518 Boot loader 01 51 HHHHHHHHHHHHHH sulla scheda di controllo Se l operazione stata eseguita correttamente apparir la scritta mostrata in Figura B 3 2 premere su setup gt connect 3 nella nuova finestra che si aprir impostare e Port COMI e Baudrate 57600 bps 4 ora il PC connesso con la scheda di controllo CM 510 5 per trasmettere un file in questo caso il firmware modificato premere su Files gt Trasmit file e caricare il file 6 per terminare il lavoro avviare il robot con il cavo di programmazione ancora connesso digitando GO il programma eseguito dall indiriz zo 0 o G indirizzo il programma eseguito a partire dall indirizzo selezionato scritto in esadecimale nel terminale nel caso sia previsto che il robot si muova non appena premiate il pulsante di accensione state attenti al cavo oppure resettando la scheda di controllo Ulteriori informazioni sono presenti nel manuale Robotis e Manual Home gt Software Help gt Software development kit gt Embedded C gt CM510 CM700 gt Programming gt Boot Loader e alla pagina del terminale RoboPlus 144 APPENDICE B MANUALE UTENTE Figura B 4 Cavo di connessione XBee PC XBee DTE serial board Ca
81. le all inizio e http winavr sourceforge net il link di download di WinAVR fondamentale per programmare in AVR e http www atmel com microsite atmel studio6 il link di down load di Atmel Studio necessario per modificare il firmware e http x ctu software informer com download il link di down load di X CTU necessario per programmare l XBee e http roboplus software informer com download il link di do wnload di RoboPlus necessario per trasferire il firmware modificato su Lion Hell II e http www libelium com development waspmote documentation x ctu tutorial Tutorial di X CTU e http matteo luccalug it wp content uploads 2011 11 easv b ee pdf Tutorial in italiano dell X Bee e http www jsjf demon co uk xbee xbee pdf Guida ufficiale in in glese dell X Bee e http support robotis com en software roboplus roboplus te rminal main htm Guida al terminale RoboPlus 138 APPENDICE B MANUALE UTENTE http www produktinfo conrad com datenblaetter 250000 274999 261 6 an 01 ml Power Peak A4 EQ LCD 230V 12V de en fr es p df Manuale utente del carica batterie Power Peak A4 EQ LCD http www sharpsma com webfm send 1205 datasheet del teleme tro IR Sharp GP2D120X http www dfrobot com wiki index php SHARP GP2D120X IR rang er sensor 4 30cm SKU SENO143 link della dfrobot che descrive il codice del telemetro IR GP2D120X http support robotis com en product auxdevice cont
82. lla creazione di una creatura a partire da un corpo in argilla e anima ta tramite la parola verit dall ebraico JAX 14 dotata di straordinaria forza e resistenza ma priva della parola del pensiero e di qualunque capacit di provare emozioni in quanto priva dell anima In particolare famosa la vicenda del Golem di Praga 45 evocato dal rabbino Jehuda L w ben Bezalel in cui il rabbino perde il controllo della creatura la quale inizia a distruggere tutto sul suo cammino fino a che non viene fermata definitiva mente dal suo stesso creatore per mezzo della parola morto in ebraico NIN 14 29 26 CAPITOLO 2 STATO DELL ARTE Figura 2 1 Il Tupilak e il Golem a Tupilak b Golem ouccessivamente si iniziarono a costruire i primi modelli di robot a partire da Leonardo da Vinci 63 il quale progett intorno al 1495 un cavaliere meccanico capace di alzarsi in piedi agitare le braccia e muovere la testa e la mascella ma sar solo a partire dal 1738 che verr costruito il primo robot funzionante un androide in grado di suonare un flauto fabbricato da Jacques de Vaucanson 10 Con il passare dei secoli la creazione di robot in grado di esplorare il mondo circostante scalare degli ostacoli o effettuare anche movimenti pi complessi come scavare raccogliere dei campioni o analizzare delle rocce diventa sempre pi realistica e le funzionalit dei robot aumentano di conseguenza Il robot Roomba
83. mando 135 Cavi di programmazione con CM 510 e relativa porta 142 Terminale RoboPlus si entrati nel boot loader 143 Cavo di connessione XBee PC aa rns 144 Carica batteria per LionHell I 145 Telecomando smontato 147 16 ELENCO DELLE FIGURE Elenco delle tabelle 3 1 Specifiche del telemetro Sharp GP2D120X 3 2 Specifiche del Dvnamixel AX 12 3 9 XBee pedinatur 17 18 ELENCO DELLE TABELLE Capitolo 1 Introduzione I robot stanno diventando una parte integrante della societ e della cultura dell era moderna e vivere senza e rifiutare la nuova e crescente tecnologia riduce considerevolmente le aspettative di vita e la qualit della vita stessa I robot nati come robot di esplorazione quali il robot aspirapolvere Roomba piuttosto che l ultimo Rover della NASA Opportunity hanno in comune una cosa sono stati progettati per poter affrontare e analizzare l ambiente in cui si sarebbero trovati a lavorare e nel caso affrontare o eludere gli ostacoli incontrati lungo il loro percorso Lo scopo della tesi in questo caso quello di potenziare e migliorare un robot preesistente LionHell progetto di tesi di Vittorio Lumare 50 49 anno accademico 2011 2012 in modo da renderlo piu facilmente controllabile tramite l utilizzo di un telecomando a controllo remoto migliorandone il sistema di locomozione
84. me mostrato in Figura 3 6 Tabella 3 1 Specifiche del telemetro Sharp GP2D120X omeeanem e Tal asl el 1 Misure effettuate tramite Kodak R 27 Gray Card usando il lato bianco riflettivit del 90 2 L distanza dall oggetto riflesso 3 1 I TELEMETRI SHARP Figura 3 4 Funzioni del telemetro Sharp GP2D120X a Diagramma JL ATT z 5 o 3 t 9 3 x E Figura 3 5 Allineamento appropriato per superfici in movimento DIRECTION OF MOVEMENT 1 b Codice unsigned short sharp calib 17 2 163 40 171 35 85 30 106 25 132 20 153 18 165 16 192 14 214 12 257 10 286 9 319 8 360 7 415 6 480 5 562 4 613 3 49 50 CAPITOLO 3 LIONHELL II 3 2 Il sistema di percezione sensoriale della testa Lion Hell in grado di percepire l ambiente esterno e la presenza di ostacoli di fronte a s grazie all utilizzo di una barra sensoriale posizionata sulla te sta come mostrata in Figura 3 6b I sensori presenti sono telemetri Sharp GP2D120X descritti nella Sezione precedente 3 1 e sono posizionati in modo tale da poter coprire la larghezza di LionHell e Un sensore posizionato al centro della barra rivolto in avanti il suo ruolo quello di individuare la presenza di possibili ostacoli e Un altro sensore posizionato al centro della barra rivolto verso il basso il suo ruolo quello di anali
85. mento di LionHell II mostrando i motori che sono stati utilizzati per i Wheg La Sezione 3 4 descrive XBee ossia il componente che stato utilizzato per ottenere il controllo remoto 46 CAPITOLO 3 LIONHELL II Figura 3 1 LionHell Mc Millan II foto 1 a Frontalmente b Telecomando 1 c Lateralmente 47 Figura 3 2 LionHell Mc Millan II foto 2 a Volto b Dall alto c Telecomando 2 48 CAPITOLO 3 LIONHELL II 3 1 l telemetri Sharp Figura 3 3 Il telemetro Sharp GP2D120X a Esterno b Schema GP2D120 8 LionHell II dotato di telemetri Sharp del modello GP2D120X mostrati in Figura 3 3 utilizzati per rilevare se il terreno sgombro oppure no indivi duare la presenza di ostacoli superabili e l altezza degli stessi Tali sensori sono installati nella testa descritta in dettaglio nella Sezione 3 2 Le specifiche del sensore sono descritte nella Tabella 3 1 mentre la Figura 3 4a mostra la funzione distanza voltaggio caratteristica dell output del sen sore Come mostrato in Figura 3 4b la funzione non lineare e necessita di una tabella che leghi il valore della tensione alla distanza corrispondente Infine in Figura 3 5 si pu osservare l allineamento appropriato del sensore rispetto al moto della superficie che spiega la ragione che ci ha portato a modificare l allineamento dei sensori della testa co
86. nHell II per mezzo di un telecomando controllato tramite accelerometro che comunica con il robot per mezzo di XBee 93 94 CAPITOLO 7 CONCLUSIONI Figura 7 1 Mini Whegs IV e Lunar Whegs a Mini Whegs IV b Lunar Whegs Gp i soy a gt ak e er LionHell II presenta molti pit gradi di libert confronto ad altri robot di esplorazione in grado di muoversi su terreni molto accidentati e ci gli ga rantisce un movimento pi fluido e l utilizzo di giunto centrale motorizzato 30 permette a LionHell II di alzare la barra sensoriale per individuare la presenza o meno di ostacoli e lo aiuta nelle scalate In Figura 7 1 possibile osservare i robot Mini Whegs IV 55 e Lunar Whegs 33 5 34 Confronto al robot Mini Whegs IV Figura 7 1a LionHell II dotato di un maggior numero di Wheg di un giunto centrale motorizzato e di una coda che evita possibili ribaltamenti svolgendo il ruolo di gamba di emergenza In Figu ra 7 1b si pu osservare invece il robot Lunar Whegs il quale dotato di Wheg simili a quelli installati su LionHell II e di un giunto centrale che gli permette di sollevare i Wheg anteriori come LionHell II ma a differenza di quest ultimo privo della coda di supporto e del giunto passivo In Figura 7 2 si pu osservare LionHell II mentre curva intorno al proprio asse in senso orario mentre in Figura 7 3 si pu osservare lo stesso Lion Hell II mentre ritorna nella posizione
87. nd J B Mouret Behavioral repertoire learning in robotics In GECCO 13 Proceedings of the 15th annual conference on Genetic and evolutionary computation pages 175 182 New York USA 2013 29 es K A Daltorio T E Wei S N Gorb R E Ritzmann and R D Quinn Passive foot design and contact area analysis for climbing mini whegs In Proceedings IEEE International Conference on Robotics and Automation pages 1274 1279 IEEE 2007 30 Lo 2a_zji K A Daltorio T C Witushynsky G D Wile L R Palmer A A Ma lek M R Ahmad L Southard S N Gorb R E Ritzmann and R D Quinn A body joint improves vertical to horizontal transitions of a wall climbing robot In Robot Proceeding of the IEEE International Confe rence on Intelligent Robots and Systems pages 3046 3051 Pasadena CA May 2008 31 S Doncieux and J B Mouret Behavioral diversity measures for evolutio nary robotics In 2010 IEEE World Congress on Computational Intelli gence WCCI 2010 2010 IEEE Congress on Evolutionary Computation CEC 2010 pages 1 8 Barcelona ES July 2010 IEEE 32 R Dryden Study shows humans prefer robots with human fa ces http machinedesign com news study shows humans prefe r robots human faces October 2013 Accessed 2015 03 23 33 P A Dunker A biologically inspired robot for lunar exploration and regolith excavation Master s thesis Case Western Reserve University 2009 34 P A Dunker W A Lewinge
88. nte l utilizzo di un circuito RC basato appunto sull utilizzo di un resistore e un elemento dinamico il condensatore 6 CAPITOLO 5 TELECONTROLLO IN LIONHELL II Figura 5 2 XBee su LionHell II a XBee b Logica sottostante 5 3 Modifiche al Firmware Una volta che il segnale partito dal telecomando passato nell X Bee instal lato su LionHell II ed stato opportunamente modificato in modo da resti tuire i valori originali letti inizialmente dall accelerometro del telecomando la volta della scheda di controllo CM 510 La scheda si comporta come se leggesse i valori direttamente dall accelerome tro senza neppure accorgersi dell esistenza di tutti i componenti intermedi e in base a questi valori discrimina le azioni da compiere Di seguito riportato il codice di LionHell II riguardante la lettura dei valori dell accelerometro Read Remote Controller via XBee using Virtual Wires resultX adc start 4 resultY adc start 3 bRemoteButton PINE amp BTN RIGHT printf r nresultX resultY button u Xu Kd resultX resultY bRemoteButton BUTTON if bRemoteButton 5 3 MODIFICHE AL FIRMWARE 1 walking true else walking false j X if resultX 340 turnL 0 turnR 0 Go Fwd else if resultX lt 300 turnL 1 turnR 1 Go Bud j d if resultY gt 340 turnR 1 turnL 0 77 Turn Righi else if resul
89. ntrolla le entrate dei cavi nella scheda CM 510 se sono rovinati o se semplicemente non sono bloccati bene e I motori fanno rumori strani come se scattassero cosa devo fare L ingranaggio interno dell attuatore AX 12 del robot si danneg giato necessario rimuovere l attuatore e ripararlo o sostituirlo con uno funzionante Per smontare ed aprire l attuatore dan neggiato si faccia riferimento alla guida riguardante l attuatore AX 12 in fondo alla pagina e Alcuni attuatori improvvisamente non si muovono cosa sta succeden do Controlla che tutti i cavi degli attuatori siano connessi tra loro e incastrati bene e nel caso controlla se i cavi degli attuatori si siano danneggiati o meno dato che raramente si tratta dell attuatore stesso rotto B 8 DOMANDE E RISPOSTE 147 Figura B 6 Telecomando smontato Mg d e I giunti motorizzati centrali del robot muovono la parte frontale del robot in su e in gi ripetutamente e dopo pochi secondi si blocca tutto come mai Vi un ostacolo che blocca la visuale dei telemetri IR Sharp GP2D120X Si noti che i sensori individuano la presenza di ostacoli in un raggio di 10 15 intorno al sensore 148 APPENDICE B MANUALE UTENTE Appendice C Datasheet Telemetro Modello GP2D120X Produttore Sharp Corporation http www sharpsma com webfm_send 1205 http www dfrobot com wiki index php SHARP GP2D120X IR ranger s ensor 4
90. o tezione solida ed efficacie Come si pu osservare in Figura 6 6 la corazza composta da 4 placche semicircolari sovrapposte bloccate le une sulle le altre da alcune viti posizionate in basso mentre l interno stato ricoperto di gomma in modo da evitare un possibile cortocircuito tra i pin della scheda dell XBee che potrebbero venire accidentalmente in contatto con la corazza In figura si pu inoltre osservare la presenza di una vite di dimensioni pi grandi in corrispondenza della scaglia pi larga si tratta della vite di ri mozione della corazza di cui disponibile anche una manovella nel caso in cui la vite sia stata stretta con troppa forza necessaria per poter interagire con la scheda di controllo CM 510 con il cavo di programmazione e per poter rimuovere e riprogrammare l X Bee 6 4 LA CORAZZA DI LIONHELL II 89 Figura 6 6 Corazza di LionHell II a LionHell II con la corazza b Corazza di fronte Innesto d Corazza di spalle La forma della corazza stata ottenuta imitando le corazze degli animali e le armature del passato come mostrato in Figura 6 7 La Figura 6 7a mostra un armatura lorica segmentata 4 un tipo di armatura utilizzata in periodo romano che mostra chiaramente la disposizione delle varie placche metalli che tra loro sovrapposte La Figura 6 7b mostra un onisco 1 Armadillidium Vulgare conosciuto anche con il nome di porcellino di terra o porcellino di Sant Antonio
91. o di navigare senza mappa e scavalcare e superare una serie di ostacoli di medie o grandi dimensioni in Figura 2 13a Embot affronta in simulazione una serie di gradini Il robot presentava per problemi a superare ostacoli di dimensioni maggiori e tendeva a ribaltarsi a causa della mancanza di un supporto retrostante Il secondo progetto 49 50 mostrato in Figura 2 13b ha introdotto un Wheg centrale un nuovo collegamento aggiunto al corpo un giunto centrale e una coda La sezione del piede stata inoltre modificata in modo da avere una maggiore superficie di contatto ed esercitare una forza maggiore Il nuovo robot cosi progettato ha dimostrato in simulazione di essere in grado di muoversi facilmente su terreni disconnessi e accidentati ed stato in grado di superare anche ostacoli di grandi dimensioni La prima reale implementazione di LionHell 49 50 mostrata in Figura 2 14a costituita da un robot esapode provvisto di 6 Wheg ciascuno dei quali dotato di 2 gambe disposte a 180 le une dalle altre e da un sensore frontale Il design del robot ha mostrato alcuni problemi I Wheg con due gambe causavano la caduta del robot durante le scalate inoltre erano troppo corte e il materiale di cui erano costituite era semplice plastica che tendeva a rompersi facilmente Il progetto finale di LionHell 49 50 mostrato in Figura 2 14c ha aumentato la lunghezza totale delle gambe alzando conseguentemente il centro d
92. o e l incremento dei gradi di libert che ne ha comportato La Sottosezione 4 2 1 definisce il termine Gradi di libert e dimostra che ne sono richiesti almeno sei per ogni robot per risultare versatile La Sottosezione 4 2 2 mostra i Gradi di libert di LionHell II considerando tutti gli attuatori presenti La Sottosezione 4 2 3 mostra il giunto centrale passivo che stato aggiunto e il ruolo dello stesso 4 2 1 Gradi di libert definizione Il numero di gradi di libert DoF ossia Degree of Freedom di un punto materiale il numero di variabili indipendenti necessarie per determinare univocamente la sua posizione nello spazio coordinate 4 2 GIUNTO PASSIVO CENTRALE 63 I Gradi di libert sono un termine utilizzato per definire la libert di movi mento di un robot nelle tre abilit spaziali e il numero di gradi di libert di un robot ne definiscono la configurazione Figura 4 4 Gradi di libert di un corpo rigido In particolare si pu dimostrare 56 che un robot necessita di almeno sei gradi di libert per essere completamente versatile Come esempio si consi deri un corpo rigido per determinarne la posizione nello spazio sufficiente conoscere la posizione in tre punti non allineati A B e C Ogni altro pun to D infatti determinabile considerando il triangolo ACD Figura 4 4 il triangolo in rosso la base AC fissata e D ha una distanza fissa da A e da C sia AD che DC sono se
93. oga 65 in cui pero l ostacolo che la ruota va affrontando ha la stessa altezza del suo raggio h r come in Figura 2 4 In questo caso il punto di contatto sul lato dell ostaco lo e non sopra come nel caso precedente e la frizione che si dovrebbe venire a creare affinch possa essere scalato dovrebbe essere tale da permettere al robot di muoversi in maniera verticale rispetto all osta colo Tipicamente questa situazione non uno scenario realistico e il risultato dell esperimento sar che la ruota inizier a slittare sul posto cambiando continuamente il punto di contatto con l ostacolo Dato che la ruota fallirebbe in questo scenario la ruota fallirebbe per tutti gli scenari in cui h gt r in quanto il punto di contatto risulter sempre sul lato dell ostacolo e non sopra 50 CAPITOLO 2 STATO DELL ARTE Figura 2 4 Ruota che affronta un ostacolo di altezza h r Figura 2 5 Wheg che affronta un ostacolo di altezza h z r PARE 4 R 0 e ED SIEGE e e X h F x Sad po x mt A Si riconsideri ora l esempio precedente 65 in cui h r ma dove al po sto della ruota sia presente un Wheg a tre gambe nella Figura 2 5 si pu osservare la presenza di un cerchio attorno al Wheg tale cerchio puramen te illustrativo e serve esclusivamente a rapportare le dimensioni del Wheg rispetto a quelle della ruota 1 Per prima cosa si pu osservare l enorme sp
94. opyright 2012 Vittorio Lumare Copyright 2015 Alessandro Rosina Contact Vittorio Lumare venom at venom dot it Contact Alessandro Rosina rosina at alessandro at 0 dot gmail at com This program is free software you can redistribute it and or modify it under the terms of the GNU General Public License as published bu the Free Software Foundation either version 3 of the License or at your option any later version This program is distributed in the hope that it will be useful but WITHOUT ANV WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program If not see lt http www gnu org licenses gt 115 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 116 include include include include lt avr io h gt lt util delay h gt lt avr interrupt h gt lt stdio h gt ffinclude dynamixel h ffinclude serial h include lt math h gt libm a doesn t work Ir define true 1 define false 0 in winavr Time Vars define TIME SEC 15625 define TIME DECSEC 1563 def
95. ostacoli 12 CAPITOLO 4 CONTROLLO E MOBILIT DI LIONHELL II Figura 4 11 LionHell II coda rinforzata a Laterale b Alto Capitolo 5 Telecontrollo in Lion Hell II LionHell II un robot mobile con straordinarie capacit di scalare in grado di sollevare la testa quando si trova di fronte ad un ostacolo per poter analizzare l altezza dell oggetto che si appresta a scavalcare in modo tale da decidere l approccio migliore scegliere la velocit dei motori e la forza da imprimere nella coda nel caso in cui questa sia richiesta Affinche LionHell II sia per in grado di esplorare efficacemente il mondo cir costante stato necessario utilizzare un controllo remoto tramite l utilizzo di un particolare componente chiamato XBee Tale decisione stata presa a causa delle ridotte capacit sensoriali della testa che nonostante sia in grado di riconoscere la presenza di ostacoli e di scegliere la strategia migliore per af frontarli rimane comunque insufficiente per esplorare l ambiente circostante scegliendo la strada migliore come mostrato nel Capitolo 3 Sezione 3 2 La Sottosezione 5 1 descrive il telecomando utilizzato il funzionamento e la componentistica La Sottosezione 5 2 descrive l XBee installato su LionHell II e le modifiche che sono state apportate affinch funzionasse correttamente La Sottosezione 5 3 descrive le modifiche che sono state effettuate nel codice per ottenere il movimen
96. ova corazza che copre il busto e protegge le componenti sottostanti e mostra la stessa corazza nel mondo animale e nelle armature del passato La Sezione 6 5 mostra il pulsante che stato aggiunto in seguito all aggiunta della corazza precedentemente descritta Sl 82 CAPITOLO 6 DESIGN DI LIONHELL II 6 1 Perch il design importante Gli esseri umani tendono ad esibire un naturale interesse ed attrazione verso le altre specie e tale interesse chiamato Biophilia Hypothesis 32 41 22 46 che significa letteralmente amore per la vita o per i sistemi viventi Il primo ad usare tale termine fu Erich Fromm e fu utilizzato per descrivere l orientamento fisiologico che ci porta ad essere attratti da tutto ci che vivo e vitale Nonostante le numerose e recenti ricerche riguardanti le iterazioni uomo animale 22 come i benefici derivanti dal contatto con gli animali durante l et dello sviluppo stata posta poca attenzione all identificazione del le specifiche caratteristiche animali che provocano risposte differenti negli umani in particolare nei bambini Gli studi preliminari hanno analizzato in particolare l iterazione dei bambini nei confronti della robotica e nei con fronti di animali considerando la loro risposta emozionale e la volont di impegnarsi in una relazione sociale Inoltre le nuove ricerche provenienti dall universit Georgia Institute of Tech nology seguite dallo stu
97. oving 1 reach pos isMoving dxl read byte 16 P MOVING if checkDxlConn 1 comm err 1 isMoving 0 permits exiting from while j j sensors distance floor center readSharp cm 6 End of Behaviors Walking Actions if walking 1 if turnL kk turnR 4 int i for i 0 i lt 3 i Go Backward dxl write word whegs sx i P MOVING SPEED L 1624 dxl write word whegs dx i P MOVING SPEED L 600 START DISABLE delay ms 40000 Mantain behavior Disable behavior 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 122 APPENDICE A LISTATO turnL 0 turnR 0 END else if turnL Turn Left int i for i 0 i lt 3 i dxl write word whegs sx i P MOVING SPEED L 1624 dxl write word whegs dx i P MOVING SPEED L 1624 dzl write word whegs_dx i P MOVING SPEED L Qus START DISABLE delay ms 20000 Mantain behavior Disable behavior turnL 0 turnR 0 END j else if turnR Turn Right int i for i 0 i lt 3 i dxl write word whegs sx i P MOVING SPEED L 600 dzl write word whegs_sx i P MOVING SPEED L O PS dxl
98. per la modifica del firmware di LionHell II e la modifica dei valori dell XBee I programmi sono stati testati ed installati su un sistema operativo Windows 7 Il firmware di LionHell II salvato all interno del file AVRGCCI c ed scritto in codice C embedded ma per poterlo modificare e potersi connettere al robot per trasferire il firmware cos modificato necessario seguire alcuni passi fondamentali descritti alla pagina Robotis e Manual Home gt Soft ware Help gt Software development kit gt Embedded C gt CM510 CM700 gt Getting Started che corrisponde alla pagina di supporto Robotis e Manual si noti che il manuale scritto in lingua Coreana Inglese Giapponese e Cinese 1 scaricare ed installare WinAVR necessario per la programmazione AVR seguendo la procedura indicata nel manuale Robotis e Manual Ho me gt Software Help gt Software development kit gt Embedded C gt CM510 CM700 gt Getting Started gt Installing WinAVR 2 scaricare ed installare il software Atmel Studio necessario per modi ficare il firmware come mostrato nel manuale Robotis e Manual Ho me gt Software Help gt Software development kit gt Embedded C gt CM510 CM700 gt Getting Started gt Installing Atmel Studio 3 preparare l ambiente di lavoro del software Atmel Studio come mostrato nel manuale Robotis e Manual Home gt Software Help gt Software 140 APPENDICE B MANUALE UTENTE development kit gt Embe
99. presso Case Western Reserve University e Embot 38 mostrato in Figura 2 7c un robot dotato di 4 Wheg a 3 gambe stato sviluppato presso il Politecnico di Milano da Gaibotti A e Mariggio F nel 2011 e Lunar Whegs 133 5 34 mostrato in Figura 2 7d un robot dotato di 6 Wheg a 3 gambe stato sviluppato da Dunker P A nel 2009 ZA ROBOT DOTATI DI WHEG 33 Mini Whegs IV 55 mostrato in Figura 2 7e un robot di piccole dimensioni dotato di 4 Wheg a 3 gambe stato sviluppato da Morrey J Lambrecht B Horchler A Ritzmann R e Quinn R nel 2003 OutRunner 26 mostrato in Figura 2 7f un robot da corsa dotato di 2 Wheg a 3 gambe stato sviluppato da Cotton S Black C Payton N Ford K Howell W e Conrad J nel 2014 Ratasjalg 7 60 mostrato in Figura 2 7g un robot dotato di 2 soli Wheg a 6 gambe che in caso di bisogno possono trasformarsi in ruo te stato sviluppato e brevettato da Sell R alla Tallin University of Technology in Estonia nel 2007 Rhex 16 59 39 mostrato in Figura 2 7h un robot con 6 Wheg ad 1 gamba stato sviluppato da Altendorfer R Moore N Komsuoglu H Buehler M Jr Brown H McMordie D Saranli U Full R e Koditschek D nel 2001 descritto in dettaglio nella Sottosezione 2 2 2 Termes 67 66 57 mostrato in Figura 2 7i un robot con 4 Wheg a 3 gambe stato sviluppato da Werfel J Petersen K e Nagpal R nel 2014 ed descritto in dett
100. r A J Hunt and R D Quinn A biologically inspired robot for lunar in situ resource utilization In 2009 IEEE RSJ International Conference on Intelligent Robots and Systems IR OS 2009 pages 5039 5044 St Louis MO 2009 IEEE 35 Lo 2A2_ G Ehrlich This Cold Heaven Seven Seasons in Greenland pages 33 34 Random House 2001 BIBLIOGRAFIA 111 36 37 38 LIL J 41 42 43 44 C Filagrossi Tupilaq http ilcrepuscolo altervista org php5 index php Tupilaq Accessed 2015 03 23 J Foster Xbee cookbook issue 1 4 for series 1 freescale with 802 15 4 firmware http www jsjf demon co uk xbee xbee pdf April 2011 Accessed 2015 03 23 A Gaibotti and F Mariggio Embot Riprogettazione e realizzazione di un robot esploratore Meccanica controllo motori e programmazione Master s thesis Politecnico di Milano 2011 K C Galloway G C Haynes B D Ilhan A M Johnson R Knopf G A Lynch B N Plotnick M White and D E Koditschek X rhex A highly mobile hexapedal robot for sensorimotor tasks Technical Reports ESE 2010 D I Goldman T S Chen D M Dudek and R J Full Dynamics of rapid vertical climbing in cockroaches reveals a template The Journal of Experimental Biology 209 2990 3000 2006 L Greenemeier What should a robot look like http www scientif icamerican com article what should a robot look like Octo ber 2013 Accessed 2015 03 23 A L Greenfi
101. remere con il pulsante destro sulla scritta in grassetto LionHell o il nome del progetto presente all interno del riquadro Solution Explorer e selezionare Add gt Existing item e selezionare il file AVRGCC1 c quindi premere OK B 5 10 CREARE UN PROGETTO IN ATMEL STUDIO 141 a questo punto necessario modificare alcuni valori nelle propriet del progetto stesso raggiungibili tramite il percorso Project gt LionHell 2 Properties nella nuova sezione aperta avr il nome del progetto in questo ca so LionHell selezionare Toolchain gt AVR GNU C Compiler gt Directories e in corrispondenza di Include Paths premere sull i cona L quindi selezionare e scrivere l indirizzo della cartella include presente all interno del file embeded c cm510 v1 02 zip decompresso con la spunta su Relative Path come nell esempio embeded c cm510 v1 02 include e premere su OK selezionare Toolchain gt AVR GNU Linker gt Libraries e nel riquadro co basso Librarv search path WLL premere sull icona eJ quindi selezionare e scrivere l indirizzo della cartella lib presente al l interno del file embeded c cm510 v1 02 zip decompresso prece dentemente senza la spunta su Relative Path come nell esempio C embeded_c cm510_v1 02 lib e premere su OK selezionare Toolchain gt AVR GNU Linker gt Librar
102. roller cm510 manual htm datasheet e manuale della scheda di controllo CM 510 http support robotis com en product dynamixel ax series d xl ax actuator htm datasheet e manuale dell attuatore AX 12 http www apexelectrix com PDFs MMA7361 MMA7361 module dat asheet pdf datasheet del modulo dell accelerometro a tre assi MMA 7361 http www apexelectrix com PDFs MMA7361L pdf datasheet del chip dell accelerometro a tre assi MMA7361 http www hobbyking com hobbyking store 21939 Turnigy n ano tech 4000mah 38 40 80C Lipo Pack TRA2849 Slash Rustler Bandit Stampede compatible htm dati riguardanti la batteria Na no Tech utilizzata https www sparkfun com datasheets Wireless Zigbee XBee Dat asheet pdf datasheet dell XBee 42144 http www homotix it catalogo moduli xbee e accessori 689 xbee explorer regulated dati riguardanti l ABee Explorer Regula ted http www homotix it catalogo accelerometri triple axis acc elerometer breakout adx1335 dati riguardanti l accelerometro del telecomando ADXL335 B A PER INIZIARE 139 e http www droids it data sheets 990 006 20datasheet pdf da tasheet dell XBee DTE serial board utilizzata per connettere l XBee al computer e http support robotis com en product auxdevice interface l n101 manual htm datasheet del cavo di programmazione LN 101 B 4 Per iniziare Questa guida si propone di essere un aiuto nei passi necessari riguardanti l installazione dei programmi
103. s distance front center 30 isFalling TerrainIsNear JUMP stop comm err 0 communication error while sensors abdomen inclination g lt 30 kk sensors distance front center lt 30 JUMP Jf printf nJUMP n if comm_err 0 dpAbd dpAbd 1 ERROR LIFT BODY comm err 0 reset communication error J setTailDeg 90 1023 Lift tail at super speed back body goes doun front body goes up setAbdomenDeg dpAbd 1023 Lift if checkDxIConn 1 comm err 1 else int isMoving 1 while isMoving 1 reach pos isMoving dxl read bvte 16 P MOVING if checkDxlConn 1 comm err 1 isMoving 0 permits exiting from while l sensors abdomen inclination g getAbdomenDegG sensors distance front center readSharp cm 4 j setTailDeg 0 512 put tail in horizontal pos while dzl read byte 1 P MOVING wait pos reached dxl write word 1 P TORQUE ENABLE 0 Disable Tail Servo else Terrain Check Behavior DISABLE BECAUSE VISION SYSTEM IS INSUFFICIENT if 0 amp amp ld gt 8 rd gt 8 terrain mot uniform last 4 printf ld d rd d n int ld int rd if ld gt rd 4 turnR 1 turnL 0 j if ld lt rd 4 turnL 1 turnR 0 j j else if sensors distance front center 15 4 Near Center Obstacle stop STOP WALKING Approaching Obstacle Behavior comm err 0 communication error 35
104. sere sostituite con viti pi corte o pi lunghe a differenza che si voglia un angolo di rotazione inferiore o superiore Nello stato attuale il giunto capace di ruotare di 10 a destra o a sinistra mentre con l assenza totale delle viti l angolo aumenta fino a 30 L ag giunta delle viti si 6 resa necessaria in quanto si era presentato il rischio che i Wheg anteriori venissero a collidere con i Wheg intermedi rischiando di bloccare il robot nelle curve piu strette L aggiunta del giunto passivo si resa necessaria a causa della lunghezza di LionHell e della difficolt che questo aveva nell effettuare alcune curve strette e l idea di base era quella di simulare sotto certi aspetti il gancio presente nei rimorchi e nei treni con la differenza che in questo caso anche il rimorchio in grado di curvare facilitandone quindi il movimento 4 3 CODA 67 4 3 Coda In questa sezione descriveremo il ruolo della coda nel robot LionHell II descri vendo il motivo che ci ha portato a mantenere la coda del progetto originale ma aumentandone la robustezza ed aumentando la potenza dei motori Nella Sottosezione 4 3 1 ci dedicheremo in particolare al ruolo che la coda svolge negli animali dimostrandone la sua efficacia nel superare ostacoli di grandi dimensioni Nella Sottosezione 4 3 2 mostreremo la nuova coda di LionHell II e le modi fiche che sono state apportate rispetto alla coda del progetto originale
105. sidered position any is good Bool dir15 0 sensor servo id 15 direction 0 CW 1 CCW Sensors sensors x Holds all sensors values x float x speed 0 x X direction speed 2 be calc d from xz acc x Button vars Bool btn __switchl 0 Bool btn switch2 0 Behaviors Controllers unsigned short turnL 0 unsigned short turnR 0 Bool walking 1 uint16 t resultX resultY Bool bRemoteButton false int main void 4 serial initialize 57600 dxl initialize 0 DEFAULT BAUDNUM Not using device index sei Interrupt Enable printf n n i Venom Whegs Sync Master n n _delay_ms 20000 Enable Continuous Turn on whegs servos int i for i 0 i lt 3 i dzxl write word servo number addresses gt lt value gt convert in cm dxl write word whegs sx i P MOVING SPEED L 0 set whegs sz i moving speed to 0 position dxl write word whegs dx i P MOVING SPEED L 1024 0 dxl write word whegs dx i 8 0 Disable Continuous Turn for Body Torsion Servo and Tail Servo dxl write word 10 8 1023 Disable Continuous Turn Mode dxl write word 10 P TORQUE ENABLE O Disable Torsion Servo dxl write word 1 8 1023 Disable Continuous Turn Mode dxl write word 1 P TORQUE ENABLE 0 Disable Tail Servo Write moving speed dxl write word 6 P MOVING SPEED L 150 dxl write word 8 P MOVING SPEED L 1
106. tY lt 300 turnL 1 turnR 0 Turn Left Il codice mostra una prima lettura dei valori di X e Y dell accelerometro salvati rispettivamente nelle variabili resultX e resultY successivamente viene letto il valore del pulsante rosso tramite la variabile bRemoteButton Nel caso in cui il pulsante rosso sia premuto allora la variabile walking cammina viene settata a true vero ed in base ai valori di resultX e resultY viene scelta la direzione da prendere Il codice riportato di seguito mostra invece il comportamento di LionHell II dopo la ricezione dei segnali dell accelerometro e dopo che stata scelta l azione da compiere Walking Actions 8 CAPITOLO 5 TELECONTROLLO IN LIONHELL II if walking 1 if turnL kk turnR 4 int i for i 0 i lt 3 i Go Backward dxl write word whegs sxlil P MOVING SPEED L 1624 dxl write word whegs dxlil P MOVING SPEED L 600 yelse if turnL 1 Turn Left int i for i 0 i lt 3 i dxl write word whegs sxlil P MOVING SPEED L 1624 dxl write word whegs dxlil P MOVING SPEED L 1624 dzl write word whegs dz i P MOVING SPEED L 0 yelse if turnR Turn Right int i for i 0 i lt 3 i dxl write word whegs sxlil P MOVING SPEED L 600 dxl write word whegs sx i P MOVING SPEED L 0 dxl write word whegs dxlil P MOVING SPEED L 600 yelse if turnL turnR If not turning go_fwd Restart wal
107. tazione dei pin multiplando intelligentemente ciascun filo fisico attraverso diversi fili logici multipli eseguendo in pipeline tali connes sioni alla frequenza massima dell FPGA Un Virtual Wire rappresenta una semplice connessione tra l output logico di un FPGA e l input di un altro FPGA e l utilizzo di tale tecnologia permette di incrementare la banda di comunicazione multiplando l uso delle risorse pin FPGA fili fisici tra pi segnali di emulazione fili logici In Figura 3 11 possibile osservare la differenza tra le due tecnologie in Physical Wire Figura 3 11a ad ogni entrata ed uscita dell FPGA corrispon de uno ed uno solo filo fisico che connette direttamente gli FPGA mentre nel caso del Virtual Wire Figura 3 11b esiste un solo filo fisico e tutte le connessioni sono effettuate per mezzo di un multiplexer che multipla ogni filo fisico attraverso diversi fili logici come precedentemente descritto JO CAPITOLO 3 LIONHELL II Tabella 3 3 XBee pedinatura DOUT Output UART dati in uscita 2 ei oo 1 GL ww a EN PW MO0 RSSI PWM output 0 Ind della forza del segnale RX m EN riservato i Non connesso VN DTR SLEEP RQ D18 Pin di controllo SLEEP o Input digitale 8 GND DH Messa a terra ADA DIOA Input A 4 o I O digitale 4 CTS DIOT Controllo del flusso o I O digitale 7 ON SLEEP Indicatore dello status del modulo D4 D7 VREF Riferimento di tensione per gli Input AD asso
108. te fino ad ora introducendo il signifi cato di Wheg e mostrando esempi di robot che ne sono dotati per terminare con la descrizione del progetto di tesi di Vittorio Lumare che descrive lo stato del robot originale mostrando le caratteristiche generali e motivando le ragioni che ci hanno portato ad effettuare le modifiche 23 Nel Capitolo 3 si descrivono brevemente le modifiche che sono state effettuate a LionHell Il e si mostrano i componenti che hanno svolto un ruolo chiave nella scelta delle operazioni da effettuare Nel Capitolo 4 si descrivono in dettaglio le modifiche meccaniche effettua te i Wheg che sono stati sostituiti il ruolo del giunto centrale passivo e l impostazione della coda e la ragione della sua presenza Nel Capitolo 5 si descrive il sistema del controllo remoto il funzionamen to dell XBee e le modifiche che sono state apportate al firmware affinch il telecomando e LionHell II fossero in grado di comunicare Nel Capitolo 6 si mostra l aspetto esteriore di LionHell II descrivendone il ruolo e l aspettativa che gli umani hanno nei confronti di un robot con un aspetto meccanico confronto ad un robot con aspetto umanoide od animale e descrivendo il volto di LionHell II la corazza e in generale le modifiche che sono state apportate per renderlo pi gradevole Nelle Conclusioni 7 si riassumono i risultati le valutazioni di questi e le prospettive future mostrando alcuni possibili svilupp
109. ted on channel 2in addr return 1 j Pause before acquiring Timerl1Write 0 int time TimeriRead while time lt TIME MILLISEC time TimerlRead printf time d n time j int16 t result adc start 6 Channel 6 filtering pass only 0 3V 64 8V 613 if result 64 result 64 if result p 613 result 613 printf result thd n result return result unsigned short sharp_calib 17 2 ie float float 163 40 71 35 85 30 106 25 132 20 TIBS 181 165 16 192 14 214 12 257 10 286 9 319 8 360 7 415 6 480 5 562 4 613 3 readSharp cm unsigned char addr Read value of Sharp sensor mapped on address addr and convert to cm distance float val_cm unsigned short val 10bit readSharp addr int i for i 0 i lt 17 i if val_10bit gt sharp calib i 0 amp amp val 10bit lt sharp_calib i 1 0 val cm float sharp calib i 1 float float val 10bit float sharp calib i 0 float float float sharp calib i c1 i float sharp calib ij 1 float float sharp_calib i 1 0 float sharp calib i 0 return val cm j j return 1 Error data is out of range x readAccNorm unsigned char addr read calibrated and normalized 0 1 value from Accel Channel addr x float norm val 0 1011 1012 1013 1014 1015 1016 1017 1018 1019 102
110. ter fare forza e sollevare il resto del corpo del robot L aggiunta della coda garantisce una maggiore stabilit durante le salite e gli permette di sollevare il corpo 4 3 CODA 11 Figura 4 10 LionHell coda originale a Laterale b Alto prevenendone la possibilit di cadere all indietro come nell esempio del geco precedentemente mostrato Le caratteristiche morfologiche che permettono al robot di muoversi con maggiore facilit affrontando anche grossi ostacoli SOLO e due motori in modalit di posizione che permettono alla coda di pie garsi e fare forza sulla punta quando richiesto il suo intervento e la lunghezza totale della coda proporzionale alla lunghezza del corpo e la risposta della coda che interviene solo quando il robot si sta appre stando ad affrontare grossi ostacoli riconoscibili tramite i sensori della testa Rispetto al progetto originale la coda ha subito delle modifiche volte a po tenziare il robot ed aumentare l efficacia e la forza con cui la coda preme sul terreno ossia e la struttura della coda stata rinforzata in modo da evitare che la nuova coda si danneggi nel tempo a causa della forza sviluppata dai motori e del peso stesso del robot e la forza del giunto che permette alla nuova coda di muoversi stata incrementata utilizzando due motori in parallelo che permettono a LionHell II di muoversi con maggiore facilit mentre affronta grossi
111. terrain wheg robot with morphological computation Master s thesis Politecnico di Milano 2011 2012 51 A Manuel and G De S Pablo Climbing and walking robots In Proceedings of the 7th International Conference CLAWA R 2004 52 L I A Martin Alvarez P Peuter de J Hillebrand P Putz A Matthys sen and J F Weerd de Walking robots for planetarv exploration mis sions In WAC 96 Second World Automation Congress pages 27 30 Montpellier France May 1996 53 P Miller irobot create Roomba hacking for the every man http www engadget com 2006 11 29 irobot create roomb a hacking for the everyman January 2013 Accessed 2015 03 23 54 M Mori The uncanny valley Energy 7 4 33 35 1970 BIBLIOGRAFIA 113 55 96 57 62 J M Morrey B Lambrecht A D Horchler R E Ritzmann and R D Quinn Highlv mobile and robust small quadruped robots In IEEE RSJ Intl Conference on Intelligent Robots and Systems 2003 R P Paul Robot Mamipulators Mathematics Programming and Control chapter 9 pages 234 244 MIT Press 1981 K Petersen and R and Nagpal Termes An autonomous robotic system for three dimensional collective construction In Robotics Science and Systems Conference VIT pages Paper ID 35 Proceedings on CD ROM Cambridge MA 2011 MIT Press R D Quinn G M Nelson R J Bachmann D A Kingsley J Offi and R E Ritzmann Insect designs for improved robot mobility In Pro
112. to al professore Andrea Bonarini e a tutte le persone del laboratorio AI amp R Lab di Lambrate che mi hanno consigliato e che lavorando ciascuno al loro progetto hanno fatto di questo laboratorio un posto interessante e stimolante Vorrei dedicare questo progetto di tesi alle persone a me piu care alle mie nonne Mimi e Nella che non hanno avuto la possibilit di vedere il comple tamento del corso di laurea ai miei genitori che mi hanno sempre aiutato e supportato e per essermi stati vicino ogni momento durante tutti questi anni di lavoro e alla mia ragazza Julia che si letta tutta la tesi e mi ha sempre sostenuto anche durante i miei momenti piu difficili Indice Titolo 1 Sommario 3 Abstract 5 Ringraziamenti Indice 11 1 Introduzione 19 2 Stato dell arte 25 E WIO 2x eee ee 9 es wpd ioa pd Eos w Y M mo wg d 27 2 1 1 Definizione 0000 0 00000 048 28 2 1 2 Whee contro Nilota lt lt 4a lt 68e64aee Ges 4 mom 29 2 2 Robot dotati di Wheg co oe ea kb ew Re 32 Boel PPO Li ba eww eee oe e 35 222 RYO pia a bbw o OEGG OX X wx X o DS 36 203 LIL e E deo Rede or 38 Z0 Lionel ss pile PL LA i 38 10 INDICE 3 LionHell II 43 3 1 I telemetri Sharp bck x x 4x XROROROE beda 9 bb d ox x05 48 3 2 Il sistema di percezione sensoriale della testa 50 3 3 Il movimento di LionHell II 54 MAD ADOG ss 2x 3 932 3 3G 93 519 X ERG SX SA El 96 4 Controllo e Mobilit di LionHell II 09 41 Whegin
113. to desiderato 3 14 CAPITOLO 5 TELECONTROLLO IN LIONHELL II Figura 5 1 Telecomando a Esterno b Interno 5 1 XBee del telecomando La Figura 5 1 mostra la componentistica basilare del telecomando escluso il bottone e un interruttore switch che per motivi pratici non sono mostrati in Figura in quanto sono incorporati nella struttura esterna del telecomando Il telecomando costituito da una batteria da 9 V e 250 mAh che costituisce l alimentazione un XBee Explorer Regulated che si occupa della regolazione della ten sione a 3 3V del condizionamento del segnale e degli indicatori di atti vit di base e converte i segnali da 5V a 3 3V in modo da poter collegare al sistema un qualsiasi modulo XBee un XBee 4214A che svolge il ruolo di trasmettere i segnali ricevuti in ingresso e comunicarli all XBee installato sul corpo di LionHell II un accelerometro analogico a tre assi ADXL335 con scheda di rileva mento 3g privo di regolatore di tensione la tensione in ingresso deve essere compresa tra 1 8V dc e 3 6V dc un interruttore switch che svolge il ruolo di interruttore di accensione ON e spegnimento OFF 5 2 XBEE DI LIONHELL II 5 e un pulsante rosso instabile normalmente aperto che permette l utilizzo del telecomando solo mentre premuto Il movimento di LionHell II avviene tramite l inclinazione del telecomando puntando la punta del cappello da mago in avanti e con i
114. to verso l alto at Gira a Gira a destra sinistra Il robot si muove all indietro 136 APPENDICE B MANUALE UTENTE B 2 Informazioni di carattere generale Lion Hell II un robot esapode con le seguenti caratteristiche e 10 servomotori attuatori Dynamixel AX 12 appartenenti al kit chiama to Bioloid commercializzato dalla societ Robotis e 1 scheda di controllo CM 510 dotata di controller ATMega2561 e 4 sensori telemetri IR Sharp GP2D120X e accelerometro a tre assi MMAT361 e 1 XBee 42144 e XBee Explorer Regulated e batteria Nano Tech da 4000 mAh e trasformatore AC DC con tensione di uscita 12 V e corrente massima 5 A e 1 pulsante nero stabile normalmente aperto ON OFF Il telecomando dotato di e batteria da 9 V e 250 mAh e XBee Explorer Regulated e 1 XBee 4214A e accelerometro analogico a tre assi ADXL335 e l interruttore switch ON OFF e pulsante rosso instabile normalmente aperto B 3 INDIRIZZI URL UTILI 137 B 3 Indirizzi URL utili Di seguito sono elencati gli indirizzi utili riguardanti prevalentemente tuto rial download di programmi e datasheet dei componenti ultimo accesso 2015 03 23 e http www robotgarage org wiki index php title LionHell Mc MillantDownload il sito di LionHell II con alcuni dati tecnici e da cui possibile scaricare il firmware del robot e http support robotis com en il manuale di supporto della Ro botis particolarmente uti
115. ttura basale del piede in legno modellato secondo una forma curva in modo da adattarsi meglio al terreno ed evitare sobbalzi 4 1 WHEG IN LIONHELL II 61 Figura 4 2 Confronto tra Wheg a LionHell Wheg originale b LionHell II Wheg rinforzato e la gommapiuma a contatto con la struttura del piede riduce gli urti del robot contatto con il terreno e la gomma a diretto contatto con il terreno protegge la gommapiuma dall usura e permette al robot di muoversi agevolmente su qualunque superficie e la sigla permette di identificare con facilit i componenti del Wheg e la posizione della gamba stessa nel robot e la sagoma di contorno permette di capire intuitivamente la posizione con cui gli altri componenti del Wheg vanno montati Rispetto al precedente modello abbiamo mantenuto l asta di metallo base e rimosso la gomma che faceva da piede in quanto il movimento stesso di LionHell avrebbe danneggiato irrimediabilmente i Wheg ed in particolare il delicato punto di appoggio 62 CAPITOLO 4 CONTROLLO E MOBILIT DI LIONHELL II Figura 4 3 LionHell II Wheg rinforzato particolare _ Snodo Wheg Sagoma di Struttura basale W pe in alluminio N i R Sigla del i Wheg Struttura del piede in legna Ammortizzatore del piede in gommapiuma Gomma a contatto con il terreno 4 2 Giunto passivo centrale In questa sezione descriveremo il ruolo del nuovo giunto centrale passiv
116. ue insufficiente per decidere la direzione da prendere nel caso sia presente un ostacolo per maggiori informazioni al riguardo si faccia riferimento al Capitolo 3 Sezione 3 2 i Wheg presenti sono inadeguati per un movimento fluido e si rovinano facilmente la coda non in grado di sviluppare la forza necessaria per bloc care il robot a terra e in alcuni punti la struttura del robot non adatta non essendoci ad esempio una protezione per la scheda di controllo e la barra sensoriale risulta poco resistente 42 CAPITOLO 2 STATO DELL ARTE Figura 2 14 LionHell sviluppo a Prima implementazione A b Prima implementazione B c Progetto finale di Vittorio Lumare A d Progetto finale di Vittorio Lumare B Capitolo 3 Lion Hell II Lion Hell si presenta come un robot mobile capace di affrontare diversi osta coli e in grado di muoversi anche su terreni accidentati e sconnessi Il robot stato costruito in modo tale da ispirarsi al mondo animale utilizzando una coda che lo supporta durante le scalate che deriva dal geco dalla coda larga e una barra sensoriale frontale in grado di analizzare il terreno che prende spunto dal funzionamento delle vibrisse del gatto La mancanza per di un sistema sensoriale adeguato ad esplorare ed analizzare il terreno circostante la struttura talvolta debole in alcuni suoi punti e di fatto l incapacit di LionHell di muoversi ci ha spinto a rivalutare LionHell nel tent
117. unzionare in due differenti modalit 13 e modalit di rotazione continua gli attuatori svolgono il ruolo di ruote o Wheg come in questo caso e modalit di posizione permettono il controllo della coda e del giunto centrale Gli attuatori causano alcuni problemi solo nel momento in cui lavorano nel la banda morta a 60 come mostrato in Figura 3 9 Quando si trovano a lavorare in questa fascia il potenziometro non in grado di individuare la posizione del servo Per questa ragione non possibile sincronizzare perfet tamente tutti i motori nell istante in cui LionHell II si appresta ad affrontare l ostacolo il controllo dei motori consiste dunque in un loop aperto In LionHell II 6 attuatori in modalit continua servono per controllare i sei Wheg il che significa che ogni Wheg indipendente dagli altri mentre gli altri 4 si suddividono in due per il controllo del giunto centrale e due per il controllo della coda arrivando in totale all utilizzo di 10 attuatori Sfruttando il fatto che gli attuatori possano intervenire e ruotare indipen dentemente l uno dall altro stato possibile fare in modo che LionHell II curvasse sfruttando una differenza di velocit tra i Wheg e permettendogli 3 9 IL MOVIMENTO DI LIONHELL II Figura 3 8 Dynamixel AX 12 a Esterno b Schema P Fan s b Tabella 3 2 Specifiche del Dvnamixel AX 12 cere Dome m IT T si e th ve
118. uta nel 20 dei casi Inoltre non stato individuata una variazione della velocit di movimento tra animali con la coda e animali che ne erano 0 CAPITOLO 4 CONTROLLO E MOBILIT DI LIONHELL II Figura 4 9 Il Geco Cosymbotus Platvurus mentre si piega all indietro privi e in pi del 60 dei casi gli animali privi di coda hanno fallito nell at traversare il tratto scivoloso mentre negli animali con la coda la percentuale scende al di sotto del 15 In Figura 4 9a possibile osservare il geco mentre affronta una superficie scivolosa molto larga si piega all indietro e grazie al contatto della coda con la parete evidenziata dalla linea gialla riesce a riprendere l equilibrio e a non cadere In Figura 4 9b si pu osservare il comportamento del robot RiSE un robot quadrupede mentre usa la coda attivamente per prevenirne la caduta e per assisterlo durante la scalata come se fosse un arto di emergenza I rettangoli rossi evidenziano il comportamento del geco e di RiSE durante la fase in cui il corpo si piega all indietro di 60 4 3 2 La coda di LionHell II LionHell II un robot mobile che deve affrontare ostacoli di piccole o medie dimensioni e talvolta si ritrova costretto a dover superare anche ostacoli di grandi dimensioni Affinch tale operazione abbia successo necessario che il robot non cada all indietro causa dei ripetuti contraccolpi causati dal movimento dei Wheg che cercano un appiglio su cui po
119. utili di notte Il sistema di locomozione costituito dall utilizzo di Wheg ossia di un asse rotativo 21 centrale a cui sono connesse in questo caso tre gambe equidistanti tra lo ro in modo da creare un angolo di 120 tra una gamba e l altra I Wheg permettono a LionHell II di superare con facilit ostacoli di piccole o grandi dimensioni 65 11 e l aggiunta di una coda evita che LionHell II si possa ribaltare quando costretto ad esempio a superare una serie di scalini o quando in generale deve affrontare ostacoli di grandi dimensioni in cui solo i Wheg frontali e quelli posteriori sono in grado di fare forza La coda che LionHell II possiede prende spunto dal geco Cosvmbotus Platyurus 17l la coda infatti non si limita ad immagazzinare il grasso e a garantire l equilibrio e un appiglio ma agisce anche come gamba di emergenza durante le scalate o nel caso di superfici molto scivolose In origine LionHell non era in grado di curvare in quanto il sistema sensoriale non era sufficiente per analizzare l ambiente circostante e prendere le decisioni del caso Le modifiche apportate hanno permesso di migliorare il sistema di locomozio ne chiamato Wheg che stato modificato in modo da adattarsi piu facilmen te al terreno e in modo da ridurre contraccolpi dovuti al suolo accidentato I nuovi Wheg che sono stati aggiunti sono dotati di uno strato di gommapiu ma che riduce i sobbalzi e di uno strato in gomma a diretto
120. valori per poter accedere all XBee di LionHell II 133 134 APPENDICE B MANUALE UTENTE La Sezione B 8 infine costituita da una serie di domande e risposte riguardanti LionHell II e il telecomando B 1 Come interagire con LionHell II Lion Hell II un robot dotato di sei Wheg che gli permettono di scalare piccoli medi e grandi ostacoli al massimo pari al doppio della sua altezza pu funzionare per mezzo di una alimentazione a batteria o tramite cavo collegato direttamente alla corrente elettrica Il controllo di LionHell II avviene per mezzo del telecomando mostrato in Figura B 1b Il pulsante nero al centro del corpo di LionHell II il pulsante di accensione mentre il telecomando dotato di un interruttore di accensione ON OFF e di un pulsante Il movimento di LionHell II possibile solo se si muove il telecomando mentre il pulsante rosso premuto Puntando la punta del cappello del telecomando in avanti e con il bottone rosso rivolto verso l alto possibile muovere il robot nella direzione desiderata ruotando il telecomando lungo il proprio asse a destra e a sinistra LionHell II ruoter a destra o a sinistra mentre alzando o abbassando il telecomando possibile rispettivamente far avanzare o indietreggiare il robot B 1 COME INTERAGIRE CON LIONHELL II 135 Figura B 1 LionHell II e Telecomando a LionHell II b Telecomando Il robot si muove in avanti Pulsante rosso rivol
121. vo rosso VIN Cavo arancione GND Cavo giallo 3 3V Entrata USB B 7 Come programmare l XBee Per programmare l XBee necessario scaricare ed installare un program ma chiamato X CTU Per procedere all installazione e avere un tutorial sul funzionamento del programma riferirsi al Tutorial X CTU Una volta installato X CTU necessario collegare l X Bee che si vuole modi ficare al cavo di connessione mostrato in Figura B 4 costituito da un XBee DTE serial board collegare il cavo al computer e procedere all avvio del programma Una volta avviato X CTU per modificare e rilevare l X Bee necessario 1 premere sull icona per cercare la presenza di XBee connessi 2 selezionare la porta USB corrispondente all X Bee connesso al computer e premere su next 3 affinch la ricerca vada a buon fine e sia possibile configurare XBee necessario inserire i seguenti dati e Baud rate 115200 e Data Dit B 8 DOMANDE E RISPOSTE 145 e Parity none e Stop bits 1 e Flow control none 4 a questo punto si connessi all XBee ed possibile effettuare le modi fiche del caso Per ottenere maggiori informazioni riguardanti l XBee riferirsi al Datasheet XBee 4214A al manuale utente Tutorial XBee in italiano e alla Guida XBee in inglese fondamentali per comprenderne il funzionamento B 8 Domande e Risposte e Come faccio a ricaricare la batteria Nano Tech di
122. write word whegs dx i P MOVING SPEED L 600 START DISABLE delay ms 20000 Mantain behavior Disable behavior turnL 0 turnR 0 END yelse if turnL turnR If mot turning go_fwd Restart walking else Stop Walking stop Tail Control Section pTail unsigned short dxl read word 1 P PRESENT POSITION L LA Pratt i Dod pTail Tail Behaviors Manager Check if desidered Tail position if was set has been reached if dpTail 1 kk abs int dpTail int pTail lt 50 dxl write word 1 P TORQUE ENABLE 0 Disable Tail Servo Needed to shut off tail behaviors activated in previous loop cycle dpTail 1 disable desidered Tail position any will be good Tail Behavior 1 Avoiding Falling Backward If very high tail and abdomen not low and body tilted up if parallel kk pTail lt 300 kk getAbdomenDeg gt 10 kk readAccDeg 1 gt 45 avoid falling backward printf navoid falling backward n dpTail 500 dxl_write_word 1 P_GOAL_POSITION_L dpTail dxl_write_word 1 P_MOVING_SPEED_L 210 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 123
123. xg readAccDeg 1 s body inclination yg readAccDeg 2 s body inclination zg readAccDeg 0 s abdomen inclination getAbdomenDeg s abdomen inclination g getAbdomenDegG J int facingAbyss void TODO return l SERIAL void USART Flush void unsigned char dummy while UCSRIA amp 1 lt lt RXC1 dummy UDRI 131 825 339 286 132 APPENDICE A LISTATO Appendice B Manuale Utente Il manuale utente ha lo scopo di mostrare come interagire con LionHell II e fare da guida nell installazione dei programmi necessari per la programma Zione La Sezione B 1 descrive come controllare il robot come accenderlo e come funziona il telecomando La Sezione B 2 fornisce alcune informazioni di carattere generale sulla com ponentistica di LionHell II e del telecomando La Sezione B 3 fornisce gli indirizzi URL utili per il download del software necessario i manuali utente e le guide alcuni tutorial e i datasheet dei componenti La Sezione B 4 descrive cosa necessario fare per iniziare a programmare e poter successivamente installare i programmi necessari La Sezione B 5 descrive il programma Atmel Studio e i passi necessari per creare un nuovo progetto per poter modificare il firmware di LionHell II La Sezione B 6 descrive come trasferire il firmware sulla scheda di controllo CM 510 La Sezione B 7 mostra come programmare l XBee e come impostare i
124. zzare il terreno di fronte a s e due sensori sono posizionati lateralmente e svolgono il ruolo analizzare la superficie del terreno come nel caso del sensore centrale precedente mente descritto Il progetto iniziale prevedeva l utilizzo dei sensori della barra centrale per poter discriminare la direzione da prendere nel caso in cui il robot avesse dovuto affrontare un ostacolo e se le distanze rilevate dai tre sensori puntati sul terreno fossero sta te tutte simili considerando una tolleranza minima allora il robot avrebbe considerato il terreno attraversabile e se la differenza tra la distanza rilevata dal sensore centrale e il sensore laterale destro o sinistro fosse stata molto alta allora LionHell avrebbe girato a sinistra nel caso in cui la distanza rilevata dal sensore sinistro fosse stata inferiore a quella rilevata dal sensore destro e viceversa nel caso opposto I sensori presenti ciononostante sono troppo pochi e troppo limitati per poter prendere vere e proprie decisioni e non sono in grado di analizzare 3 2 IL SISTEMA DI PERCEZIONE SENSORIALE DELLA TESTA 51 Figura 3 6 Il sistema sensoriale della testa a LionHell Barra sensoriale originale sufficientemente in dettaglio l ambiente circostante per poter comprendere quale sia la strada migliore da scegliere Ad esempio LionHell capace di comprendere se un ostacolo superabile oppure no ma nel caso dell esempio
Download Pdf Manuals
Related Search
Related Contents
el archivo de datos tecnicos en PDF LAB L1b - Georgia Institute of Technology User`s Manual - Inventor Air Conditioners HARU E & KEーJー Philips sa2225/02 User's Manual 附属書 1-Pc Tub-Shower Instmanual_2012_rev ジャストーマ 取扱説明書 Copyright © All rights reserved.
Failed to retrieve file