10.07.2015 Views

Robotica - Prisma.unina.it

Robotica - Prisma.unina.it

Robotica - Prisma.unina.it

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Indicexi9 Controllo di forza 3739.1 Interazione del manipolatore con l’ambiente . . . . . . . . . . . 3739.2 Controllo di cedevolezza . . . . . . . . . . . . . . . . . . . . . . 3759.2.1 Cedevolezza passiva . . . . . . . . . . . . . . . . . . . 3769.2.2 Cedevolezza attiva . . . . . . . . . . . . . . . . . . . . 3779.3 Controllo di impedenza . . . . . . . . . . . . . . . . . . . . . . 3829.4 Controllo di forza . . . . . . . . . . . . . . . . . . . . . . . . . 3889.4.1 Controllo di forza con anello interno di posizione . . . . 3899.4.2 Controllo di forza con anello interno di veloc<strong>it</strong>à . . . . . 3909.4.3 Controllo parallelo forza/posizione . . . . . . . . . . . . 3919.5 Moto vincolato . . . . . . . . . . . . . . . . . . . . . . . . . . . 3949.5.1 Ambiente rigido . . . . . . . . . . . . . . . . . . . . . . 3959.5.2 Ambiente cedevole . . . . . . . . . . . . . . . . . . . . 4009.6 Vincoli naturali e vincoli artificiali . . . . . . . . . . . . . . . . . 4019.6.1 Analisi di casi . . . . . . . . . . . . . . . . . . . . . . . 4029.7 Controllo ibrido forza/moto . . . . . . . . . . . . . . . . . . . . 4079.7.1 Ambiente cedevole . . . . . . . . . . . . . . . . . . . . 4079.7.2 Ambiente rigido . . . . . . . . . . . . . . . . . . . . . . 412Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . 414Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41510 Controllo visuale 41710.1 Visione per il controllo . . . . . . . . . . . . . . . . . . . . . . . 41710.1.1 Configurazione del sistema visuale . . . . . . . . . . . . 41910.2 Elaborazione dell’immagine . . . . . . . . . . . . . . . . . . . . 42010.2.1 Segmentazione dell’immagine . . . . . . . . . . . . . . 42110.2.2 Interpretazione dell’immagine . . . . . . . . . . . . . . 42510.3 Stima della posa . . . . . . . . . . . . . . . . . . . . . . . . . . 42710.3.1 Soluzione anal<strong>it</strong>ica . . . . . . . . . . . . . . . . . . . . 42810.3.2 Matrice di interazione . . . . . . . . . . . . . . . . . . . 43410.3.3 Soluzione algor<strong>it</strong>mica . . . . . . . . . . . . . . . . . . . 43710.4 Visione stereo . . . . . . . . . . . . . . . . . . . . . . . . . . . 44310.4.1 Geometria epipolare . . . . . . . . . . . . . . . . . . . 44310.4.2 Triangolazione . . . . . . . . . . . . . . . . . . . . . . 44510.4.3 Orientamento assoluto . . . . . . . . . . . . . . . . . . 44610.4.4 Ricostruzione 3D da omografia planare . . . . . . . . . 44710.5 Calibrazione della telecamera . . . . . . . . . . . . . . . . . . . 45010.6 Il problema del controllo visuale . . . . . . . . . . . . . . . . . . 45210.7 Controllo visuale nello spazio operativo . . . . . . . . . . . . . . 45510.7.1 Controllo PD con compensazione di grav<strong>it</strong>à . . . . . . . 45610.7.2 Controllo in veloc<strong>it</strong>à . . . . . . . . . . . . . . . . . . . 45710.8 Controllo visuale nello spazio delle immagini . . . . . . . . . . . 45910.8.1 Controllo PD con compensazione di grav<strong>it</strong>à . . . . . . . 45910.8.2 Controllo in veloc<strong>it</strong>à . . . . . . . . . . . . . . . . . . . 46110.9 Confronto tra gli schemi di controllo . . . . . . . . . . . . . . . 46310.10 Controllo visuale ibrido . . . . . . . . . . . . . . . . . . . . . . 471


xiiIndiceRiferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . 475Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47611 Robot mobili 47911.1 Vincoli anolonomi . . . . . . . . . . . . . . . . . . . . . . . . . 47911.1.1 Condizioni di integrabil<strong>it</strong>à . . . . . . . . . . . . . . . . 48311.2 Modello cinematico . . . . . . . . . . . . . . . . . . . . . . . . 48611.2.1 Uniciclo . . . . . . . . . . . . . . . . . . . . . . . . . . 48811.2.2 Biciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . 49011.3 Forma a catena . . . . . . . . . . . . . . . . . . . . . . . . . . . 49211.4 Modello dinamico . . . . . . . . . . . . . . . . . . . . . . . . . 49511.5 Pianificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 49911.5.1 Separazione cammino–legge oraria . . . . . . . . . . . . 50011.5.2 Usc<strong>it</strong>e piatte . . . . . . . . . . . . . . . . . . . . . . . . 50111.5.3 Pianificazione di cammini . . . . . . . . . . . . . . . . 50211.5.4 Pianificazione di traiettorie . . . . . . . . . . . . . . . . 50811.5.5 Traiettorie ottime . . . . . . . . . . . . . . . . . . . . . 50911.6 Controllo del moto . . . . . . . . . . . . . . . . . . . . . . . . . 51211.6.1 Inseguimento di traiettorie . . . . . . . . . . . . . . . . 51411.6.2 Regolazione . . . . . . . . . . . . . . . . . . . . . . . . 52111.7 Localizzazione odometrica . . . . . . . . . . . . . . . . . . . . . 525Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . 528Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52912 Pianificazione del moto 53312.1 Il problema canonico . . . . . . . . . . . . . . . . . . . . . . . . 53312.2 Spazio delle configurazioni . . . . . . . . . . . . . . . . . . . . 53512.2.1 Distanza . . . . . . . . . . . . . . . . . . . . . . . . . . 53712.2.2 Ostacoli . . . . . . . . . . . . . . . . . . . . . . . . . . 53812.2.3 Esempi di ostacoli . . . . . . . . . . . . . . . . . . . . . 53812.3 Pianificazione mediante r<strong>it</strong>razione . . . . . . . . . . . . . . . . . 54212.4 Pianificazione mediante decomposizione in celle . . . . . . . . . 54612.4.1 Decomposizione esatta . . . . . . . . . . . . . . . . . . 54612.4.2 Decomposizione approssimata . . . . . . . . . . . . . . 54912.5 Pianificazione probabilistica . . . . . . . . . . . . . . . . . . . . 55112.5.1 Metodo PRM . . . . . . . . . . . . . . . . . . . . . . . 55212.5.2 Metodo RRT bidirezionale . . . . . . . . . . . . . . . . 55312.6 Pianificazione mediante potenziali artificiali . . . . . . . . . . . . 55612.6.1 Potenziale attrattivo . . . . . . . . . . . . . . . . . . . . 55712.6.2 Potenziale repulsivo . . . . . . . . . . . . . . . . . . . . 55712.6.3 Potenziale totale . . . . . . . . . . . . . . . . . . . . . . 55912.6.4 Tecniche di pianificazione . . . . . . . . . . . . . . . . 56012.6.5 Il problema dei minimi locali . . . . . . . . . . . . . . . 56212.7 Il caso dei robot manipolatori . . . . . . . . . . . . . . . . . . . 565Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . 567Problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568


IndicexiiiA Algebra lineare 571A.1 Definizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571A.2 Operazioni su matrici . . . . . . . . . . . . . . . . . . . . . . . 573A.3 Operazioni su vettori . . . . . . . . . . . . . . . . . . . . . . . . 577A.4 Trasformazioni lineari . . . . . . . . . . . . . . . . . . . . . . . 580A.5 Autovalori e autovettori . . . . . . . . . . . . . . . . . . . . . . 581A.6 Forme bilineari e forme quadratiche . . . . . . . . . . . . . . . . 582A.7 Pseudo-inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . 584A.8 Decomposizione in valori singolari . . . . . . . . . . . . . . . . 585Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . 586B Meccanica dei corpi rigidi 587B.1 Cinematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587B.2 Dinamica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589B.3 Lavoro ed energia . . . . . . . . . . . . . . . . . . . . . . . . . 592B.4 Sistemi vincolati . . . . . . . . . . . . . . . . . . . . . . . . . . 593Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . 596C Controllo in retroazione 597C.1 Controllo di sistemi lineari a un ingresso e una usc<strong>it</strong>a . . . . . . . 597C.2 Controllo di sistemi meccanici non lineari . . . . . . . . . . . . . 602C.3 Metodo diretto di Lyapunov . . . . . . . . . . . . . . . . . . . . 605Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . 607D Geometria differenziale 609D.1 Campi di vettori e parentesi di Lie . . . . . . . . . . . . . . . . . 609D.2 Controllabil<strong>it</strong>à non lineare . . . . . . . . . . . . . . . . . . . . . 613Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . 614E Algor<strong>it</strong>mi di ricerca su grafo 615E.1 Compless<strong>it</strong>à . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615E.2 Ricerca in ampiezza e in profond<strong>it</strong>à . . . . . . . . . . . . . . . . 616E.3 Algor<strong>it</strong>mo A ⋆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617Riferimenti bibliografici . . . . . . . . . . . . . . . . . . . . . . 619Bibliografia 619Indice anal<strong>it</strong>ico 637


PrefazioneNegli ultimi venticinque anni la robotica ha stimolato notevole interesse in un numerosempre crescente di studiosi, provocando una cospicua produzione letterariasia in termini di libri di testo e monografie scientifiche, sia di riviste specializzatededicate alla robotica. Questo forte interesse è anche da attribuire al carattere interdisciplinaredella robotica, scienza che affonda le sue radici in settori diversi; lacibernetica, la meccanica, l’automatica, l’informatica, la bioingegneria, l’elettronica—per c<strong>it</strong>are le più importanti— sono tutte aree culturali che indubbiamentehanno dato linfa allo sviluppo di questa scienza.Nonostante la robotica rappresenti una disciplina ancora relativamente giovane,i suoi fondamenti sono da r<strong>it</strong>enersi oramai ben assestati nel panorama letterarioclassico relativamente ai libri di testo. Tra questi, la modellistica, la pianificazionee il controllo rivestono un ruolo basilare, non solo nel contesto tradizionale dellarobotica industriale, ma anche per gli scenari avanzati dei robot per l’esplorazionee dei robot di servizio, campi di ricerca che hanno riscontrato grande fermentonegli ultimi quindici anni.Questo libro è la naturale evoluzione del precedente testo <strong>Robotica</strong> Industriale:Modellistica e Controllo di Manipolatori a firma dei primi due autori,pubblicato nel 1995, e in seconda edizione nel 2000. L’impostazione che ha contraddistintol’opera originale è stata confermata con l’obiettivo, prevalentementedidattico e formativo, di coniugare gli aspetti fondamentali e tecnologici con quelliinnovativi in una trattazione uniforme sempre caratterizzata dal rispetto di unformalismo rigoroso.Gli aspetti fondamentali e quelli tecnologici sono prevalentemente concentratinei primi sei cap<strong>it</strong>oli del testo e riguardano la teoria delle strutture di manipolazione,con la trattazione della cinematica, della statica e della pianificazionedi traiettorie, e la tecnologia degli attuatori, dei sensori e dell’un<strong>it</strong>à di governo diun robot.Gli aspetti innovativi sono approfond<strong>it</strong>i nei successivi sei cap<strong>it</strong>oli e riguardanola dinamica e il controllo del moto dei manipolatori, l’interazione con l’ambientecon l’uso di informazioni sensoriali esterocettive (forza e visione), i robotmobili e la pianificazione del moto.I contenuti del libro sono organizzati in 12 cap<strong>it</strong>oli e 5 appendici.Nel Cap<strong>it</strong>olo 1 vengono evidenziate, nel contesto generale della robotica, ledifferenze tra le applicazioni industriali e quelle avanzate. Vengono presentatele strutture meccaniche di riferimento sia per i robot manipolatori, sia per i robotmobili su ruote. Sono inoltre introdotti gli argomenti sviluppati nei cap<strong>it</strong>olisuccessivi.


xviPrefazioneNel Cap<strong>it</strong>olo 2 viene presentata la cinematica dei manipolatori con un approcciosistematico e generale che fa riferimento alla convenzione di Denav<strong>it</strong>-Hartenberg. Viene quindi formulata l’equazione cinematica diretta che lega levariabili di spazio dei giunti alle variabili di spazio operativo. Tale equazioneviene utilizzata per la determinazione dello spazio di lavoro di un manipolatore,nonché per la derivazione di una tecnica di calibrazione cinematica. Viene inoltreanalizzato il problema cinematico inverso e si ricavano soluzioni anal<strong>it</strong>iche perstrutture tipiche di manipolazione.La cinematica differenziale è presentata nel Cap<strong>it</strong>olo 3. La relazione tra leveloc<strong>it</strong>à dei giunti e le veloc<strong>it</strong>à lineare e angolare dell’organo terminale è caratterizzatadallo Jacobiano geometrico, di cui si evidenzia la differenza con loJacobiano anal<strong>it</strong>ico. Lo Jacobiano cost<strong>it</strong>uisce uno strumento fondamentale per lacaratterizzazione di un manipolatore, in quanto consente la determinazione delleconfigurazioni singolari, l’analisi della ridondanza e la descrizione della relazionetra forze e momenti applicati all’organo terminale e forze e coppie risultanti aigiunti in s<strong>it</strong>uazioni di equilibrio (statica). Lo Jacobiano consente inoltre di formularealgor<strong>it</strong>mi per l’inversione cinematica che risolvono il problema cinematicoinverso anche per manipolatori per cui non esistono soluzioni anal<strong>it</strong>iche.Nel Cap<strong>it</strong>olo 4 vengono illustrate tecniche per la pianificazione di traiettorieche riguardano la determinazione di polinomi interpolatori per sequenze dipunti desiderati. Vengono affrontati il caso di moto punto–punto e quello di motoattraverso una sequenza di punti. La generazione di traiettorie è consideratasia nello spazio dei giunti sia nello spazio operativo, con particolare riguardo perquest’ultimo al problema dell’orientamento.Il Cap<strong>it</strong>olo 5 è dedicato alla presentazione di attuatori e sensori. Dopo averillustrato le caratteristiche generali di un sistema di attuazione, vengono presentatele modal<strong>it</strong>à di controllo degli azionamenti elettrici e di quelli idraulici. Sonoquindi descr<strong>it</strong>ti i sensori propriocettivi e i sensori esterocettivi di maggiore uso inrobotica.Nel Cap<strong>it</strong>olo 6 viene illustrata l’arch<strong>it</strong>ettura funzionale di principio per l’un<strong>it</strong>àdi governo di un robot. Sono presentate le caratteristiche degli ambienti di programmazionecon enfasi sulla programmazione per insegnamento e su quella orientataal robot. Viene infine discusso un modello di principio per l’arch<strong>it</strong>etturahardware dell’un<strong>it</strong>à di governo di un robot industriale.Il Cap<strong>it</strong>olo 7 presenta la derivazione della dinamica di un manipolatore chegioca un ruolo fondamentale per la simulazione del moto, per l’analisi delle strutturedi manipolazione e per la sintesi degli algor<strong>it</strong>mi di controllo. Il modellodinamico è ricavato considerando due approcci che si basano rispettivamente sullaformulazione di Lagrange e sulla formulazione di Newton-Eulero. Il primo èconcettualmente più semplice e sistematico, mentre il secondo consente la derivazionedel modello in forma ricorsiva. Vengono evidenziate proprietà notevolidel modello dinamico, tra cui la proprietà di linear<strong>it</strong>à nei parametri che vieneutilizzata per sviluppare una tecnica di identificazione del modello. Vengono infinepresentate le trasformazioni che consentono di esprimere il modello dinamiconello spazio operativo.Nel Cap<strong>it</strong>olo 8 viene trattato il problema del controllo del moto nello spazio


Prefazionexviilibero. Viene puntualizzata la distinzione tra strategie di controllo decentralizzatoe strategie di controllo centralizzato nello spazio dei giunti. Con riferimento alleprime, viene presentata la tecnica di controllo indipendente ai giunti che trova applicazionenei robot industriali. Come premessa al controllo centralizzato, vieneintrodotta la tecnica di compensazione in avanti a coppia precalcolata. Vengonoquindi trattati schemi che richiedono il calcolo in linea di termini del modellodinamico, quali il controllo PD con compensazione di grav<strong>it</strong>à, il controllo a dinamicainversa, il controllo robusto e quello adattativo. Le tecniche centralizzatevengono estese al caso del controllo nello spazio operativo.Il controllo di forza di un manipolatore in contatto con l’ambiente di lavoroviene affrontato nel Cap<strong>it</strong>olo 9. Sono defin<strong>it</strong>i i concetti di cedevolezza e impedenzameccanica come naturale estensione degli schemi di controllo nello spaziooperativo al caso di moto vincolato. Vengono quindi presentati schemi di controllodi forza, ottenuti modificando schemi di controllo del moto con l’aggiunta di unanello esterno di retroazione in forza. La strategia di controllo ibrido forza/motoviene infine presentata con riferimento alla formulazione dei vincoli naturali eartificiali che caratterizzano un comp<strong>it</strong>o di interazione.Nel Cap<strong>it</strong>olo 10 viene introdotto il controllo visuale che consente la gestionedi informazioni sull’ambiente in cui opera il sistema robotico. Vengono risoltele problematiche relative alla stima di posizione e orientamento della telecamerarispetto agli oggetti presenti nella scena, ricorrendo a tecniche sia anal<strong>it</strong>iche sianumeriche. Dopo aver presentato i vantaggi conseguibili con la visione stereo euna opportuna calibrazione della telecamera, vengono illustrate le due principalistrategie di controllo visuale, rispettivamente nello spazio operativo e nello spaziodelle immagini, i cui vantaggi possono essere efficacemente combinati nelloschema di controllo visuale ibrido.I robot mobili su ruote sono oggetto della trattazione nel Cap<strong>it</strong>olo 11, cheestende alcuni aspetti di modellistica, pianificazione e controllo dei precedenticap<strong>it</strong>oli. Per la modellistica, è significativo distinguere tra modello cinematico,caratterizzato fortemente dal tipo di vincolo imposto dal rotolamento delle ruote,e modello dinamico che tiene conto delle forze agenti sul robot. La strutturaparticolare del modello cinematico viene opportunamente utilizzata per lo sviluppodi tecniche di pianificazione sia di cammini sia di traiettorie. Il problemadel controllo viene affrontato in relazione a due comp<strong>it</strong>i di moto fondamentali:l’inseguimento di traiettorie e la regolazione di configurazione. Si evidenzia infinecome l’implementazione degli schemi di controllo si avvalga di metodi dilocalizzazione odometrica.Il Cap<strong>it</strong>olo 12 riprende il problema della pianificazione trattato nei Cap<strong>it</strong>oli4 e 11 rispettivamente per i robot manipolatori e mobili, nel caso in cui sianopresenti ostacoli nello spazio di lavoro. In tale contesto ci si riferisce alla pianificazionedel moto, che viene formulata in maniera efficiente nello spazio delleconfigurazioni. Vengono quindi presentate diverse tecniche di pianificazione perrobot mobili: mediante r<strong>it</strong>razione, mediante decomposizione in celle, probabilistica,mediante potenziali artificiali; viene infine discussa l’estensione al caso deirobot manipolatori.Questo cap<strong>it</strong>olo conclude la presentazione dei contenuti tematici del testo;


xviiiPrefazioneseguono cinque appendici che sono state inser<strong>it</strong>e per richiamare nozioni metodologichepropedeutiche.L’Appendice A è dedicata all’algebra lineare e presenta le nozioni fondamentalisu matrici, vettori e relative operazioni.L’Appendice B richiama quei concetti di base della meccanica dei corpi rigidiche sono necessari allo studio della cinematica, della statica e della dinamicadei robot.L’Appendice C illustra i principi del controllo in retroazione per sistemi linearie presenta una metodologia basata sulla teoria di Lyapunov per il controllodi sistemi non lineari.L’Appendice D tratta alcuni concetti di geometria differenziale necessari alcontrollo dei sistemi meccanici soggetti a vincoli anolonomi.L’Appendice E è concentrata sugli algor<strong>it</strong>mi di ricerca su grafo e sulla lorocompless<strong>it</strong>à in vista dell’applicazione nei metodi di pianificazione del moto.L’organizzazione degli argomenti secondo lo schema appena illustrato consentel’adozione del libro come testo di riferimento sia per un corso al terzo annodelle lauree di primo livello in ingegneria automatica, elettronica, gestionale, informaticae meccanica, sia per un corso delle corrispondenti lauree di secondolivello, o anche per corsi monografici a livello dottorale.Da un punto di vista pedagogico, i vari argomenti sono sviluppati secondo unlivello crescente di difficoltà. Sono sollevati i problemi e si propongono strumentiadatti alla individuazione di soluzioni di interesse applicativo. Ogni cap<strong>it</strong>olo èpreceduto da un breve sommario che chiarisce contenuti e final<strong>it</strong>à degli argoment<strong>it</strong>rattati. Alla presentazione degli argomenti necessari per una proficua lettura deltesto sono dedicate cinque appendici, il cui scopo è anche quello di fornire unabase di conoscenza omogenea a studenti di diversa estrazione.Il libro contiene 310 illustrazioni e più di 60 tra esempi e casi di studio sviluppatinel corso del testo con ampio ricorso alla simulazione. I risultati dellaimplementazione al calcolatore (in MATLAB con Simulink) degli algor<strong>it</strong>mi perl’inversione cinematica, delle tecniche di pianificazione di traiettorie, del calcolodella dinamica inversa, degli algor<strong>it</strong>mi di controllo del moto, di forza e visualeper robot manipolatori e di controllo del moto per robot mobili sono presentaticon dovizia di particolari al fine di facil<strong>it</strong>are la comprensione della trattazioneteorica e accrescere la sensibil<strong>it</strong>à ai problemi pratici dell’applicazione. Sono proposti150 problemi, alcuni dei quali contengono materia di approfondimento dellatrattazione nel testo. Particolare attenzione è stata posta nella selezione dei riferimentibibliografici (più di 250) che sono richiamati alla fine di ciascun cap<strong>it</strong>olo,in relazione allo sviluppo storico della materia.Infine, gli Autori desiderano ringraziare coloro che sono stati di aiuto nellapreparazione di questo libro.Relativamente all’opera originale, alla base del testo attuale, un particolareringraziamento va a Pasquale Chiacchio e Stefano Chiaverini per i loro contributialla stesura, rispettivamente, del cap<strong>it</strong>olo sulla pianificazione di traiettorie e delcap<strong>it</strong>olo sul controllo di forza. Fabrizio Caccavale e Ciro Natale sono stati digrande aiuto per la revisione del materiale per la seconda edizione.Una nota speciale di ringraziamento va ad Alessandro De Luca per la lettura


Prefazionexixpuntuale e cr<strong>it</strong>ica di ampie porzioni del testo, nonché a Vincenzo Lippiello, AgostinoDe Santis, Marilena Vend<strong>it</strong>telli e Luigi Freda per i loro contributi e commentisu alcuni paragrafi.Napoli e Roma, gennaio 2008Bruno SicilianoLorenzo SciaviccoLuigi VillaniGiuseppe Oriolo

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!