Lo scopo di questa tesi di dottorato consiste nel trasformare piani di tipo simbolico in specifiche di movimento basate su vincoli ed eseguibili da sistemi robotici autonomi, attraverso la programmazione di skill di movimento, nonch`e la loro schedulazione e adattamento a tempo di esecuzione. I piani di tipo simbolico sono sequenze ordinate di azioni discrete eseguite da un robot atte ad ottenere un desiderato cambiamento sull’ambiente circostante. Le azioni, in quanto simboliche, non sono direttamente eseguibili, poich esse non contengono dettagli informativi che dipendono strettamente dal contesto di esecuzione dell’azione stessa (e.g., informazioni sulle caratteristiche del robot, degli strumenti del quale `e equipaggiato, nonch`e informazioni sull’ambiente circostante); per rendere eseguibili le azioni `e quindi necessario un processo di conversione di ciascuna azione simbolica in una skill che definisca come eseguire il movimento continuo del robot. Questa tesi propone una metodologia per formalizzare la suddetta trasformazione, fornendo una descrizione dichiarativa di quelle situazioni che esibiscono una natura sia discreta che continua e ritardando tale processo laddove possibile. Per esempio, un robot umanoide pu`o aprire un cassetto per mezzo del braccio destro, sinistro o entrambi: la scelta della strategia di apertura dev’essere ritardata fintanto che le informazioni siano insufficienti per una decisione adeguata. Inoltre, afferrare la maniglia di un cassetto richiede che la pinza robotica sia aperta: quest’ultima azione pu essere eseguita in qualsiasi momento durante il movimento di avvicinamento alla maniglia, ma evitando di urtare quest’ultima nel caso in cui la pinza non sia sufficientemente aperta. Una soluzione semplicistica `e quella di eseguire tali azioni in ordine strettamente sequenziale: questa tesi propone un’alternativa che ottimizza l’esecuzione del piano online, attraverso un motore d’esecuzione che sfrutta le caratteristiche del robot e le adatta al contesto di esecuzione. Un primo contributo della tesi `e la definizione di un modello formale di skill robotica che permetta di rappresentare un’azione in modo completo, considerandone gli aspetti nel dominio sia discreto che continuo. La schedulazione dell’esecuzione di queste skill `e vincolata ad un insieme di dipendenze da soddisfare a tempo di esecuzione; tali dipendenze rappresentano condizioni logiche relative alle interazioni tra robot e ambiente, le quali appartengono al dominio continuo. La rappresentazione formale di queste dipendenze 1 definisce un modello chiamato Skill Dependency Graph (SDG), che viene interpretato e realizzato a tempo di esecuzione da un Skill Dependency Graph Executive (SDG-E). Preferendo una descrizione dichiarativa e formale rispetto ad approcci procedurali, questa tesi propone inoltre il linguaggio micro Skill Dependency Language (USDL), come un insieme minimale di regole dichiarative che definiscono le relazioni in un modello SDG. Come secondo contributo, la tesi descrive un’innovativa specifica di movimento per mezzo di relazioni geometriche che ne rappresentano i vincoli, ovvero relazioni tra coppie di entit geometriche (punti, linee e piani) come distanze ed angoli. A tempo di esecuzione, queste espressioni formali sono valutate nel contesto attuale allo scopo di generare setpoints istantanei di movimento, ottimizzati rispetto ai limiti del robot (e.g., limiti di giunto) e ridondanza cinematica. Inoltre, questa soluzione separa la specifica di movimento dal risolutore numerico adottato; in tal senso, strategie di controllo ottimo su vincoli sono preferite alla pianificazione del movimento su vincoli, in quanto le prime supportano specifiche che includono interazioni fisiche o che implementano azioni di controllo reattive. Un terzo contributo `e derivato dall’integrazione dei due precedenti, avente lo scopo di generalizzare quelle componenti che formano un modello di skill programmato manualmente. Le entit geometriche discusse in precedenza sono modellate come parte di generici elementi geometrici, che siano oggetti fisici, oggetti virtuali o strumenti del robot stesso. Questo approccio permette di classificare le varie specifiche di skill robotiche, laddove gli oggetti coinvolti nella specifica stessa siano semanticamente equivalenti. Per esempio, la skill che realizza il movimento per afferrare una maniglia di un cassetto `e conforme alla stessa skill generica che afferra la maniglia di una porta o un bicchiere, in quanto questi oggetti possono essere approssimati come inviluppo di un cilindro. Una skill cos´ı generalizzata `e detta prototipo: skill prototipali non sono direttamente eseguibili, ma sono arricchite da un processo di trasformazione che provvede informazioni dipendenti dal contesto di esecuzione. Il risultato di tale processo converte il prototipo in un’istanza eseguibile in una skill di movimento. Skill complesse sono create per composizione di molteplici prototipi, piuttosto che applicando una strategia ad ereditariet`a da una sola skill. Questo lavoro di tesi provvede diversi esempi di skill implementate e testate sperimentalmente. Questa tesi contribuisce alla realizzazione di una strategia Just-in-Time, con lo scopo di ritardare ogni decisione fintanto che quest’ultime siano effettivamente necessarie per la realizzazione del movimento. Grazie a questa soluzione, la specifica di movimento `e composta a tempo di esecuzione considerando le ultime informazioni disponibili. Infine, questa tesi propone ipergrafi gerarchici e un meta modello chiamato “NPC4” per rappresentare formalmente aspetti strutturali di modelli basati su grafi (incluso il modello SDG). La separazione tra struttura e funzionalit`a permette un miglior riutilizzo di quelle porzioni di codice in comune, inoltre ne semplifica la definizione di nuovi linguaggi specifici di dominio.
Online Coordination and Composition of Robotic Skills: Formal Models for Context-aware Task Scheduling
2016
Abstract
Lo scopo di questa tesi di dottorato consiste nel trasformare piani di tipo simbolico in specifiche di movimento basate su vincoli ed eseguibili da sistemi robotici autonomi, attraverso la programmazione di skill di movimento, nonch`e la loro schedulazione e adattamento a tempo di esecuzione. I piani di tipo simbolico sono sequenze ordinate di azioni discrete eseguite da un robot atte ad ottenere un desiderato cambiamento sull’ambiente circostante. Le azioni, in quanto simboliche, non sono direttamente eseguibili, poich esse non contengono dettagli informativi che dipendono strettamente dal contesto di esecuzione dell’azione stessa (e.g., informazioni sulle caratteristiche del robot, degli strumenti del quale `e equipaggiato, nonch`e informazioni sull’ambiente circostante); per rendere eseguibili le azioni `e quindi necessario un processo di conversione di ciascuna azione simbolica in una skill che definisca come eseguire il movimento continuo del robot. Questa tesi propone una metodologia per formalizzare la suddetta trasformazione, fornendo una descrizione dichiarativa di quelle situazioni che esibiscono una natura sia discreta che continua e ritardando tale processo laddove possibile. Per esempio, un robot umanoide pu`o aprire un cassetto per mezzo del braccio destro, sinistro o entrambi: la scelta della strategia di apertura dev’essere ritardata fintanto che le informazioni siano insufficienti per una decisione adeguata. Inoltre, afferrare la maniglia di un cassetto richiede che la pinza robotica sia aperta: quest’ultima azione pu essere eseguita in qualsiasi momento durante il movimento di avvicinamento alla maniglia, ma evitando di urtare quest’ultima nel caso in cui la pinza non sia sufficientemente aperta. Una soluzione semplicistica `e quella di eseguire tali azioni in ordine strettamente sequenziale: questa tesi propone un’alternativa che ottimizza l’esecuzione del piano online, attraverso un motore d’esecuzione che sfrutta le caratteristiche del robot e le adatta al contesto di esecuzione. Un primo contributo della tesi `e la definizione di un modello formale di skill robotica che permetta di rappresentare un’azione in modo completo, considerandone gli aspetti nel dominio sia discreto che continuo. La schedulazione dell’esecuzione di queste skill `e vincolata ad un insieme di dipendenze da soddisfare a tempo di esecuzione; tali dipendenze rappresentano condizioni logiche relative alle interazioni tra robot e ambiente, le quali appartengono al dominio continuo. La rappresentazione formale di queste dipendenze 1 definisce un modello chiamato Skill Dependency Graph (SDG), che viene interpretato e realizzato a tempo di esecuzione da un Skill Dependency Graph Executive (SDG-E). Preferendo una descrizione dichiarativa e formale rispetto ad approcci procedurali, questa tesi propone inoltre il linguaggio micro Skill Dependency Language (USDL), come un insieme minimale di regole dichiarative che definiscono le relazioni in un modello SDG. Come secondo contributo, la tesi descrive un’innovativa specifica di movimento per mezzo di relazioni geometriche che ne rappresentano i vincoli, ovvero relazioni tra coppie di entit geometriche (punti, linee e piani) come distanze ed angoli. A tempo di esecuzione, queste espressioni formali sono valutate nel contesto attuale allo scopo di generare setpoints istantanei di movimento, ottimizzati rispetto ai limiti del robot (e.g., limiti di giunto) e ridondanza cinematica. Inoltre, questa soluzione separa la specifica di movimento dal risolutore numerico adottato; in tal senso, strategie di controllo ottimo su vincoli sono preferite alla pianificazione del movimento su vincoli, in quanto le prime supportano specifiche che includono interazioni fisiche o che implementano azioni di controllo reattive. Un terzo contributo `e derivato dall’integrazione dei due precedenti, avente lo scopo di generalizzare quelle componenti che formano un modello di skill programmato manualmente. Le entit geometriche discusse in precedenza sono modellate come parte di generici elementi geometrici, che siano oggetti fisici, oggetti virtuali o strumenti del robot stesso. Questo approccio permette di classificare le varie specifiche di skill robotiche, laddove gli oggetti coinvolti nella specifica stessa siano semanticamente equivalenti. Per esempio, la skill che realizza il movimento per afferrare una maniglia di un cassetto `e conforme alla stessa skill generica che afferra la maniglia di una porta o un bicchiere, in quanto questi oggetti possono essere approssimati come inviluppo di un cilindro. Una skill cos´ı generalizzata `e detta prototipo: skill prototipali non sono direttamente eseguibili, ma sono arricchite da un processo di trasformazione che provvede informazioni dipendenti dal contesto di esecuzione. Il risultato di tale processo converte il prototipo in un’istanza eseguibile in una skill di movimento. Skill complesse sono create per composizione di molteplici prototipi, piuttosto che applicando una strategia ad ereditariet`a da una sola skill. Questo lavoro di tesi provvede diversi esempi di skill implementate e testate sperimentalmente. Questa tesi contribuisce alla realizzazione di una strategia Just-in-Time, con lo scopo di ritardare ogni decisione fintanto che quest’ultime siano effettivamente necessarie per la realizzazione del movimento. Grazie a questa soluzione, la specifica di movimento `e composta a tempo di esecuzione considerando le ultime informazioni disponibili. Infine, questa tesi propone ipergrafi gerarchici e un meta modello chiamato “NPC4” per rappresentare formalmente aspetti strutturali di modelli basati su grafi (incluso il modello SDG). La separazione tra struttura e funzionalit`a permette un miglior riutilizzo di quelle porzioni di codice in comune, inoltre ne semplifica la definizione di nuovi linguaggi specifici di dominio.I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14242/149584
URN:NBN:IT:UNIFE-149584