Generating motions for humanoid robots is to this day a very challenging problem. These robots often features a high number of degrees of freedom, 20 or more, even for small-sized ones. This strongly limits the applicability of classical artificial intelligence approaches, and requires the design of specialized solutions. Some specific tasks, like locomotion or grasping, have been deeply studied, and important concepts like the Zero Moment Point (ZMP) for stable walking or the Grasping Shape Primitives were introduced. Previous relevant work also explored planning strategies for these two important tasks and ongoing research keeps improving the algorithms in terms of speed, robustness and applicability. When dealing with more generic tasks, a demonstration from a human can be used to derive an initial movement, which is then often optimized by the robot itself. In particular, one of the most common approaches is to directly acquire the movement of a human performer and adapt it to the robot. Ideally, this technique can yield very natural looking motions. This is a strong advantage, since human likeness of motions is very important for communication between human and robots, but no general mathematical formulation has been provided to date. The retargeting of human motions to robot motions presents indeed several inconveniences. First of all, the instrumentation for acquiring motion data is expensive, requires a careful setup and may not be accessible to most of the users. Second, a human actor who is able to perform the desired movement may not be available. Finally, the differences in the shape, degrees of freedom, power and weight distribution between humans and robots may require an intensive modification of the human motion in order to adapt it to the robot. During this adaptation process, the quality of movement appearance can end up to be significantly reduced. An alternative approach that does not suffer from these issues is the direct physical interaction between the robot and a human teacher. In a typical setup the instructor moves the humanoid's limbs, showing the robot how the task needs to be accomplished. The idea behind this technique, called ``kinesthetic demonstration'', actually appeared very early in robotics. Although under different names like ``teach-in'', ``guiding'', ``play back'', ``direct teaching'' or ``walk-through programming'', it constitutes one of the most effective methodologies for programming industrial robot arms. When teaching a robot using this technique the joints are usually let free to move. This approach has the disadvantage that the joints move under the force of gravity, so some setups include gravity compensation or workarounds to make the joints passive only when the teacher touches the robot. Apart from applying forces that compensate for gravity, when kinesthetic demonstration is used the robot usually just responds passively to the forces applied. In order to ease the teaching process, this thesis proposes a new paradigm, termed ``teaching by touching''. This approach consists in having the robot interpret the meaning of the tactile instructions it receives and move based on its own understanding of the user's will, instead of limiting its behavior to a mere passive movement. For instance, if the robot is squatting, and the user pushes the sensors on both sides of the robot, the robot will guess that the user wants it to stand up and will apply by itself forces on its knees. Using the classical approach, instead, the robot would not move when touched on both sides, and would require the user to actually lift up the robot's body. In other terms, the proposed methodology changes the way of interacting between humans and robots: with the classical, kinesthetic demonstration approach, the robot moves passively under the user forces like a puppet, while within the teaching by touching approach, touch is considered a way of communication between humans and robots that allows the robot to take an active role in the teaching process. Among the many ways of communication between humans, touch is actually one of the least studied but most powerful. Touch is often used by instructors in sport or dance classes to adjust the student's posture in a very intuitive way. Tactile instructions thus appear to be a very appealing modality for developing humanoid robot motions as well. Interpretation of tactile instructions spontaneously given by human teachers reveals to be a complex task for artificial systems. In fact, the way users employ touch to communicate their intention is still completely unexplored even in the interaction between humans, and models are not available. This thesis reports the first results obtained in the realization of a system for robot motion creation based on tactile interaction. In particular, it will be shown that the meaning of tactile instructions is both context dependent and user dependent. An example of context dependence of tactile instructions can be readily provided. If a user presses the upper part of the leg when the robot is standing he or she could imply that the robot should bend the leg backwards. However, when the robot is squatting, the same touch on the leg could mean that the robot should bend its knees further. In regard to user dependence, experiments showed that when asked to interact freely with the robot, different people tend to give different meaning to similar tactile instructions. In detail, preliminary results seem to suggest that the differences in the way of teaching could be partially explained by the diverse abstraction level at which teachers provide their instructions. For instance, some subjects decided to use a nearly direct mapping from a small set of sensors to the joints. Other users adopted a mapping between sensors and joints that appears to be derived from physical considerations. Expressly, the relationship between the pressed part and the way the robot should move according to the user can be estimated by imagining each joint to have a spring inside and to move according to the applied force. Finally, other people employed a mapping between a single touch and a complete movement. Using this approach, for instance, a step with one leg is symbolized by a tap on the knee of that leg. The experiments were conducted initially with simulated touch sensors. A technique that permits the interaction with virtual sensors displayed on a touch screen while making the real robot execute the motion will be introduced. The strongest advantage of this setup is that it allows applying teaching by touching even to cheap humanoids on the market that are usually lacking tactile sensors. A second set of experiments was then conducted with M3-Neony, a new humanoid robot equipped with touch sensors over the whole body, that will be shortly introduced. Data analysis confirmed the complexity of the mapping between touch instructions and the movement to be executed. On the other hand, it will be shown that experimental data suggest that the way in which the robot should respond to touch instructions can be described by using a low-dimensional subspace of the complete joint space. Interestingly, this subspace seems to be highly correlated to the subspace where the motion being developed lies. This fact suggests that the postures assumed by the robot during the movement could be used to improve the interpretation of tactile instructions. The final part of the thesis will briefly deal with very simple techniques used to improve the robustness of the motions taught to the robot. In detail, two approaches that use sensory information to automatically make small modification to the movement during its execution will be introduced. The first, graph based one, simply tries to make the robot return to a known state as soon as possible when a perturbation brings the robot state far from the expected one. The second approach, inspired from the chemotaxis of bacteria like Escherichia Coli, works by the addition of random noise of intensity that depends on whether the robot state evolves as expected or not.
Nonostante la ricchezza di soluzioni proposte in letteratura, la generazione di movimenti per robot umanoidi si rivela ancora un problema non risolto. I robot umanoidi presentano spesso oltre 20 gradi di libertà, anche nel caso di umanoidi di dimensioni ridotte. Questo rende impossibile applicare gli approcci classici dell'intelligenza artificiale, e richiede lo sviluppo di soluzioni specifiche per ciascun problema. Alcuni task particolari, come la locomozione o il grasping, sono stati studiati approfonditamente, e sono stati introdotti importanti concetti come lo Zero Moment Point (ZMP) per la camminata stabile o le grasping shape primitives per il grasping. Quando si ha che fare con task più generici, una dimostrazione da parte di un essere umano può essere utilizzata per derivare un movimento preliminare, che può poi venir ottimizzato dal robot stesso. In particolare, uno degli approcci più comuni è far eseguire il movimento direttamente ad un attore umano, registrarlo ed adattarlo al robot. Questa tecnica si rivela efficace nel produrre movimenti che appaiono naturali, e viene infatti spesso utilizzata nel campo della computer grafica. Questo è un grosso vantaggio, in quanto, sebbene avere movimenti naturali risulti importante per la comunicazione tra utenti e robot, al momento non esistono formalizzazioni matematiche. Il trasferire i movimenti da esseri umani a robot presenta tuttavia alcuni inconvenienti. Innanzitutto, la strumentazione per l'acquisizione di movimenti è costosa, richiede particolare cura per l'allestimento del sistema e non è fruibile alla maggior parte degli utenti. In secondo luogo, un attore in grado di compiere il movimento che si vuole far eseguire al robot potrebbe non essere disponibile. Infine, le differenze di forma, gradi di libertà, forza e distribuzione del peso tra esseri umani e umanoidi potrebbe richiedere di modificare in modo sostanziale il movimento. Durante questo processo di adattamento, caratteristiche importanti del movimento potrebbero venir modificate con una conseguente perdita di naturalezza del movimento. Un approccio alternativo che non presenta questi problemi è ottenere il movimento mediante interazione diretta tra il robot ed un insegnante umano. Un modo tipico di effettuare questo trasferimento di conoscenza è prevedere che l'insegnante muova direttamente gli arti del robot, mostrando come il task debba essere eseguito. L'idea di base di questa tecnica, denominata ``kinesthetic demonstration'', è comparsa molto presto in robotica, e sebbene sotto diversi nomi come ``teach-in'', ``guiding'', ``play back'', ``direct teaching'' o ``walk-through programming'', costituisce uno degli approcci più efficaci e diffusi per la programmazione di bracci robotici industriali. Solitamente quando viene impiegato questo approccio i giunti vengono lasciati liberi di muoversi. Se non vengono presi opportuni accorgimenti, quindi, vi è lo svantaggio che il robot si muova per il semplice effetto della forza di gravità. Sistemi per compensare automaticamente la forza di gravità sono stati proposti in letteratura. Altre soluzioni adottate sono rendere i giunti passivi solo localmente, quando l'utente tocca il robot. A parte eventuali compensazioni della gravità, quando viene impiegata la kinesthetic demonstration il robot si muove in modo totalmente passivo sotto effetto delle forze applicategli. Allo scopo di facilitare l'insegnamento di movimenti, questa tesi propone un nuovo paradigma di programmazione, chiamato ``teaching by touching''. Questo approccio consiste nel prevedere che il robot interpreti il significato delle istruzioni tattili che riceve, e si muova in base alla stima dell'intenzione sottostante all'istruzione tattile, anziché limitarsi a muoversi passivamente sotto l'effetto delle forze applicate. Per esempio, se il robot è accovacciato, e l'utente preme i sensori sui fianchi del robot, il robot potrebbe intuire che l'utente desideri che il robot si alzi, e potrebbe applicare forze agli arti inferiori in modo da assumere una posizione eretta. Viceversa, se viene utilizzata la kinesthetic demonstration classica, il robot non si muove quando gli vengono applicate forze ad ambo i lati del corpo, e per fare in modo che il robot si alzi l'utente deve esplicitamente sollevare il robot. In altri termini, la metodologia proposta cambia il modo di interagire tra esseri umani e robot: con la kinesthetic demonstration classica il robot si muove passivamente come farebbe una marionetta, mentre con il teaching by touching, le istruzioni tattili sono considerate come una forma di comunicazione tra uomo e robot ed il robot assume un ruolo attivo nel processo di apprendimento. Tra le varie forme di comunicazione tra esseri umani, il tatto è infatti una di quelle meno studiate ma più efficaci per trasferire una grande varietà di informazioni. Si pensi ad esempio a come, con semplici tocchi, istruttori di sport o di danza riescano a suggerire ai loro allievi come modificare il proprio movimento. Osservazioni di questo tipo, suggeriscono come il tatto risulti quindi una forma di comunicazione interessante anche per la comunicazione tra esseri umani e robot. L'interpretazione di istruzioni tattili fornite in modo spontaneo da insegnati umani risulta però essere complessa per sistemi artificiali. Infatti, il modo in cui gli esseri umani usano il tatto per comunicare le loro intenzioni è un campo completamente inesplorato, e modelli di come le istruzioni debbano essere interpretate sono completamenti assenti in letteratura. Questa tesi riporta i primi risultati ottenuti nella realizzazione di un sistema di sviluppo di movimenti per robot umanoidi basato su interazione tattile. In particolare viene dimostrato come il significato delle istruzioni tattili dipenda sia dal contesto che dall'utente che le fornisce. Un semplice esempio di dipendenza dal contesto può essere facilmente fornito: se il robot è in posizione eretta e l'utente preme la parte superiore della gamba allora ci si può aspettare che l'utente desideri portare indietro la gamba, mentre se il robot è accovacciato si può pensare che l'utente desideri che il robot pieghi le ginocchia per accovacciarsi ulteriormente. Per quanto riguarda la dipendenza dall'utente, esperimenti hanno dimostrato che, quando lasciati liberi di interagire a piacimento con il robot, utenti diversi tendono talvolta ad associare significati sostanzialmente differenti a istruzioni molto simili. In particolare, i risultati riportati in questa tesi sembrano suggerire che le differenze nel modo di insegnare di utenti diversi possano essere interpretate come differenze nel livello di astrazione usato da diverse persone. Per esempio, alcuni utenti hanno deciso di utilizzare un mapping fisso tra sensori e giunti. Altri soggetti hanno adottato una relazione tra sensori premuti e movimenti che sembrano derivare da considerazioni fisiche, ed in particolare dall'immaginare che i giunti siano elastici e che il robot si muova sotto l'effetto delle forze applicate dall'utente o dalla reazione del pavimento. Infine, altri utenti impiegano un mapping tra un singolo tocco ed un movimento completo. Con questo approccio, ad esempio, la pressione di un ginocchio è associata ad un passo effettuato con la relativa gamba. Gli esperimenti presentati sono stati condotti inizialmente con un sensori di tatto simulati. Una tecnica che permette di interagire con sensori simulati, visualizzati su un touch screen, è introdotta nella tesi. Il vantaggio di questo tipo di approccio sta nel fatto che permette di applicare la tecnica del teaching by touching anche agli umanoidi di basso costo tipicamente disponibili sul mercato. Un secondo insieme di esperimenti è stato condotto con M3-Neony, una nuova piattaforma robotica dotata di sensori tattili su tutto il corpo. L'analisi dei dati ha confermato la complessità della struttura del mapping tra istruzioni tattili e modifiche del movimento. D'altro canto, i risultati sperimentali indicano che i movimenti attesi come riposta alle istruzioni tattili giacciono in un sottospazio dello spazio dei giunti. In particolare, il fatto interessante è che tale sottospazio coincide con in sottospazio in cui può essere proiettato il movimento che l'utente sta sviluppando. Questa constatazione suggerisce che le posture assunte dal robot durante l'esecuzione del task possono essere impiegate per migliorare la stima del significato delle istruzioni tattili. La parte finale della tesi presenta brevemente due semplici tecniche che possono essere utilizzate per migliorare la robustezza a perturbazioni esterne dei movimenti generati. La prima, basata sulla costruzione di in grafo, tenta di far ritornare il robot in uno stato conosciuto il prima possibile dopo che una perturbazione porta lo stato lontano da quello aspettato. Il secondo approccio, derivato dalla chemiotassi di un batterio denominato Escherichia Coli, si basa sull'aggiunta di rumore al controllo, con un intensità che dipende dal fatto che lo stato evolva nel modo atteso o meno.
Humanoid robot motion creation based on touch interpretation: A new programming paradigm / Dalla Libera, Fabio. - (2011 Jan 24).
Humanoid robot motion creation based on touch interpretation: A new programming paradigm
Dalla Libera, Fabio
2011
Abstract
Nonostante la ricchezza di soluzioni proposte in letteratura, la generazione di movimenti per robot umanoidi si rivela ancora un problema non risolto. I robot umanoidi presentano spesso oltre 20 gradi di libertà, anche nel caso di umanoidi di dimensioni ridotte. Questo rende impossibile applicare gli approcci classici dell'intelligenza artificiale, e richiede lo sviluppo di soluzioni specifiche per ciascun problema. Alcuni task particolari, come la locomozione o il grasping, sono stati studiati approfonditamente, e sono stati introdotti importanti concetti come lo Zero Moment Point (ZMP) per la camminata stabile o le grasping shape primitives per il grasping. Quando si ha che fare con task più generici, una dimostrazione da parte di un essere umano può essere utilizzata per derivare un movimento preliminare, che può poi venir ottimizzato dal robot stesso. In particolare, uno degli approcci più comuni è far eseguire il movimento direttamente ad un attore umano, registrarlo ed adattarlo al robot. Questa tecnica si rivela efficace nel produrre movimenti che appaiono naturali, e viene infatti spesso utilizzata nel campo della computer grafica. Questo è un grosso vantaggio, in quanto, sebbene avere movimenti naturali risulti importante per la comunicazione tra utenti e robot, al momento non esistono formalizzazioni matematiche. Il trasferire i movimenti da esseri umani a robot presenta tuttavia alcuni inconvenienti. Innanzitutto, la strumentazione per l'acquisizione di movimenti è costosa, richiede particolare cura per l'allestimento del sistema e non è fruibile alla maggior parte degli utenti. In secondo luogo, un attore in grado di compiere il movimento che si vuole far eseguire al robot potrebbe non essere disponibile. Infine, le differenze di forma, gradi di libertà, forza e distribuzione del peso tra esseri umani e umanoidi potrebbe richiedere di modificare in modo sostanziale il movimento. Durante questo processo di adattamento, caratteristiche importanti del movimento potrebbero venir modificate con una conseguente perdita di naturalezza del movimento. Un approccio alternativo che non presenta questi problemi è ottenere il movimento mediante interazione diretta tra il robot ed un insegnante umano. Un modo tipico di effettuare questo trasferimento di conoscenza è prevedere che l'insegnante muova direttamente gli arti del robot, mostrando come il task debba essere eseguito. L'idea di base di questa tecnica, denominata ``kinesthetic demonstration'', è comparsa molto presto in robotica, e sebbene sotto diversi nomi come ``teach-in'', ``guiding'', ``play back'', ``direct teaching'' o ``walk-through programming'', costituisce uno degli approcci più efficaci e diffusi per la programmazione di bracci robotici industriali. Solitamente quando viene impiegato questo approccio i giunti vengono lasciati liberi di muoversi. Se non vengono presi opportuni accorgimenti, quindi, vi è lo svantaggio che il robot si muova per il semplice effetto della forza di gravità. Sistemi per compensare automaticamente la forza di gravità sono stati proposti in letteratura. Altre soluzioni adottate sono rendere i giunti passivi solo localmente, quando l'utente tocca il robot. A parte eventuali compensazioni della gravità, quando viene impiegata la kinesthetic demonstration il robot si muove in modo totalmente passivo sotto effetto delle forze applicategli. Allo scopo di facilitare l'insegnamento di movimenti, questa tesi propone un nuovo paradigma di programmazione, chiamato ``teaching by touching''. Questo approccio consiste nel prevedere che il robot interpreti il significato delle istruzioni tattili che riceve, e si muova in base alla stima dell'intenzione sottostante all'istruzione tattile, anziché limitarsi a muoversi passivamente sotto l'effetto delle forze applicate. Per esempio, se il robot è accovacciato, e l'utente preme i sensori sui fianchi del robot, il robot potrebbe intuire che l'utente desideri che il robot si alzi, e potrebbe applicare forze agli arti inferiori in modo da assumere una posizione eretta. Viceversa, se viene utilizzata la kinesthetic demonstration classica, il robot non si muove quando gli vengono applicate forze ad ambo i lati del corpo, e per fare in modo che il robot si alzi l'utente deve esplicitamente sollevare il robot. In altri termini, la metodologia proposta cambia il modo di interagire tra esseri umani e robot: con la kinesthetic demonstration classica il robot si muove passivamente come farebbe una marionetta, mentre con il teaching by touching, le istruzioni tattili sono considerate come una forma di comunicazione tra uomo e robot ed il robot assume un ruolo attivo nel processo di apprendimento. Tra le varie forme di comunicazione tra esseri umani, il tatto è infatti una di quelle meno studiate ma più efficaci per trasferire una grande varietà di informazioni. Si pensi ad esempio a come, con semplici tocchi, istruttori di sport o di danza riescano a suggerire ai loro allievi come modificare il proprio movimento. Osservazioni di questo tipo, suggeriscono come il tatto risulti quindi una forma di comunicazione interessante anche per la comunicazione tra esseri umani e robot. L'interpretazione di istruzioni tattili fornite in modo spontaneo da insegnati umani risulta però essere complessa per sistemi artificiali. Infatti, il modo in cui gli esseri umani usano il tatto per comunicare le loro intenzioni è un campo completamente inesplorato, e modelli di come le istruzioni debbano essere interpretate sono completamenti assenti in letteratura. Questa tesi riporta i primi risultati ottenuti nella realizzazione di un sistema di sviluppo di movimenti per robot umanoidi basato su interazione tattile. In particolare viene dimostrato come il significato delle istruzioni tattili dipenda sia dal contesto che dall'utente che le fornisce. Un semplice esempio di dipendenza dal contesto può essere facilmente fornito: se il robot è in posizione eretta e l'utente preme la parte superiore della gamba allora ci si può aspettare che l'utente desideri portare indietro la gamba, mentre se il robot è accovacciato si può pensare che l'utente desideri che il robot pieghi le ginocchia per accovacciarsi ulteriormente. Per quanto riguarda la dipendenza dall'utente, esperimenti hanno dimostrato che, quando lasciati liberi di interagire a piacimento con il robot, utenti diversi tendono talvolta ad associare significati sostanzialmente differenti a istruzioni molto simili. In particolare, i risultati riportati in questa tesi sembrano suggerire che le differenze nel modo di insegnare di utenti diversi possano essere interpretate come differenze nel livello di astrazione usato da diverse persone. Per esempio, alcuni utenti hanno deciso di utilizzare un mapping fisso tra sensori e giunti. Altri soggetti hanno adottato una relazione tra sensori premuti e movimenti che sembrano derivare da considerazioni fisiche, ed in particolare dall'immaginare che i giunti siano elastici e che il robot si muova sotto l'effetto delle forze applicate dall'utente o dalla reazione del pavimento. Infine, altri utenti impiegano un mapping tra un singolo tocco ed un movimento completo. Con questo approccio, ad esempio, la pressione di un ginocchio è associata ad un passo effettuato con la relativa gamba. Gli esperimenti presentati sono stati condotti inizialmente con un sensori di tatto simulati. Una tecnica che permette di interagire con sensori simulati, visualizzati su un touch screen, è introdotta nella tesi. Il vantaggio di questo tipo di approccio sta nel fatto che permette di applicare la tecnica del teaching by touching anche agli umanoidi di basso costo tipicamente disponibili sul mercato. Un secondo insieme di esperimenti è stato condotto con M3-Neony, una nuova piattaforma robotica dotata di sensori tattili su tutto il corpo. L'analisi dei dati ha confermato la complessità della struttura del mapping tra istruzioni tattili e modifiche del movimento. D'altro canto, i risultati sperimentali indicano che i movimenti attesi come riposta alle istruzioni tattili giacciono in un sottospazio dello spazio dei giunti. In particolare, il fatto interessante è che tale sottospazio coincide con in sottospazio in cui può essere proiettato il movimento che l'utente sta sviluppando. Questa constatazione suggerisce che le posture assunte dal robot durante l'esecuzione del task possono essere impiegate per migliorare la stima del significato delle istruzioni tattili. La parte finale della tesi presenta brevemente due semplici tecniche che possono essere utilizzate per migliorare la robustezza a perturbazioni esterne dei movimenti generati. La prima, basata sulla costruzione di in grafo, tenta di far ritornare il robot in uno stato conosciuto il prima possibile dopo che una perturbazione porta lo stato lontano da quello aspettato. Il secondo approccio, derivato dalla chemiotassi di un batterio denominato Escherichia Coli, si basa sull'aggiunta di rumore al controllo, con un intensità che dipende dal fatto che lo stato evolva nel modo atteso o meno.File | Dimensione | Formato | |
---|---|---|---|
thesis110123compressed.pdf
accesso aperto
Tipologia:
Tesi di dottorato
Licenza:
Non specificato
Dimensione
10.88 MB
Formato
Adobe PDF
|
10.88 MB | Adobe PDF | Visualizza/Apri |
Pubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.