Acessibilidade / Reportar erro

Aprendizagem por imitação através de mapeamento Visuomotor baseado em imagens omnidirecionais

Resumos

Este trabalho propõe uma metodologia de aprendizagem que permite a um robô aprender uma tarefa adaptando-a e representando-a de acordo com a sua capacidade motora e sensorial. Primeiramente, um mapeamento sensoriomotor é criado e converte informação sensorial em informação motora. Depois, através de imitação, o robô aprende um conjunto de ações elementares formando um vocabulário motor. A imitação é baseada nas representações motoras obtidas com o mapeamento sensoriomotor. O vocabulário motor criado é então utilizado para aprender e realizar tarefas mais sofisticadas, compostas por seqüências ou combinações de ações elementares. Esta metodologia é ilustrada através de uma aplicação de mapeamento e navegação topológica com um robô móvel. O automovimento é utilizado como mapeamento visuomotor, convertendo o fluxo óptico em imagens omnidirecionais em informação motora (translação e rotação), a qual é usada para a criação de um vocabulário motor. A seguir, o vocabulário é utilizado para mapeamento e navegação topológica. Os resultados obtidos são interessantes e a abordagem proposta pode ser estendida a diferentes robôs e aplicações.

Aprendizagem por imitação; Navegação robótica; Automovimento; Visão Omnidirecional


We propose an approach that allows a robot to learn a task and represent/adapt it to its own motor repertoire. First the robot creates a sensorimotor map to convert sensorial information into motor data. Then learning happens through imitation, using motor representations. By imitating other agents, the robot learns a set of elementary motions that forms a motor vocabulary. That vocabulary can eventually be used to compose more complex actions, by combining basic actions, for each specific task domain. We illustrate the approach in a mobile robotics task: topological mapping and navigation. Egomotion estimation is used as a visuomotor map and allows the robot to learn a motor vocabulary coverting optical flow measurements from omnidirectional images into motor information. Then the learnt vocabulary is used for topological mapping and navigation.The approach can be extended to different robots and applications. Encouraging results are presented and discussed.

Learning through imitation; Robot Navigation; Egomotion; Omnidirectional Vision


ROBÓTICA

Aprendizagem por imitação através de mapeamento Visuomotor baseado em imagens omnidirecionais

Raquel Frizera VassalloI; José Alberto Santos-VictorII; Hans Jörg Andreas SchneebeliI

IDept. de Engenharia Elétrica, UFES - Universidade Federal do Espírito Santo, Av. Fernando Ferrari, 514, 29075-910, Vitória - ES, Brasil. raquel@ele.ufes.br, jasv@isr.ist.utl.pt

IIISR - Instituto de Sistemas e Robótica, IST - Instituto Superior Tecnico, Av. Rovisco Paes, 1 Torre Norte, Piso 7, 1049-001, Lisboa, Portugal. hans@ele.ufes.br

RESUMO

Este trabalho propõe uma metodologia de aprendizagem que permite a um robô aprender uma tarefa adaptando-a e representando-a de acordo com a sua capacidade motora e sensorial. Primeiramente, um mapeamento sensoriomotor é criado e converte informação sensorial em informação motora. Depois, através de imitação, o robô aprende um conjunto de ações elementares formando um vocabulário motor. A imitação é baseada nas representações motoras obtidas com o mapeamento sensoriomotor. O vocabulário motor criado é então utilizado para aprender e realizar tarefas mais sofisticadas, compostas por seqüências ou combinações de ações elementares. Esta metodologia é ilustrada através de uma aplicação de mapeamento e navegação topológica com um robô móvel. O automovimento é utilizado como mapeamento visuomotor, convertendo o fluxo óptico em imagens omnidirecionais em informação motora (translação e rotação), a qual é usada para a criação de um vocabulário motor. A seguir, o vocabulário é utilizado para mapeamento e navegação topológica. Os resultados obtidos são interessantes e a abordagem proposta pode ser estendida a diferentes robôs e aplicações.

Palavras-chave: Aprendizagem por imitação, Navegação robótica, Automovimento, Visão Omnidirecional.

ABSTRACT

We propose an approach that allows a robot to learn a task and represent/adapt it to its own motor repertoire. First the robot creates a sensorimotor map to convert sensorial information into motor data. Then learning happens through imitation, using motor representations. By imitating other agents, the robot learns a set of elementary motions that forms a motor vocabulary. That vocabulary can eventually be used to compose more complex actions, by combining basic actions, for each specific task domain. We illustrate the approach in a mobile robotics task: topological mapping and navigation. Egomotion estimation is used as a visuomotor map and allows the robot to learn a motor vocabulary coverting optical flow measurements from omnidirectional images into motor information. Then the learnt vocabulary is used for topological mapping and navigation.The approach can be extended to different robots and applications. Encouraging results are presented and discussed.

Key words: Learning through imitation, Robot Navigation, Egomotion, Omnidirectional Vision.

1 INTRODUÇÃO

As primeiras aplicações em robótica, nos anos 60, eram principalmente voltadas para a indústria, com o objetivo de automatizar e aumentar a produção. Manipuladores programados para repetir os mesmos movimentos trabalhavam em ambientes bem estruturados, com quase nenhuma incerteza. Depois, novas aplicações, tendências e paradigmas surgiram, trazendo a necessidade de robôs móveis e mais autônomos (Murphy, 2000; Arkin, 1998; Brooks, 1986; Braitenberg, 1984). Hoje, espera-se que robôs atuem em ambientes menos estruturados e mais dinâmicos, interagindo com os humanos e tomando decisões autonomamente. A interação com as pessoas deve ocorrer sem que se precise entender de robótica ou programação. Isto representa um desafio em que se pretende alcançar adaptabilidade sem atingir um alto grau de complexidade. A adaptabilidade representa dar ao robô capacidade de aprendizagem e adaptação enquanto interage com o ambiente e com outros agentes. A complexidade está associada ao projeto e programação, e aumenta quando é preciso prever todas as ações do robô, considerar mais sensores e algoritmos de controle.

Na natureza, há exemplos de como este desafio pode ser abordado. Animais são sistemas complexos e funcionais, que aprendem e se adaptam. Seu desenvolvimento ocorre em etapas sucessivas de aprendizagem, aumentando gradativamente o nível de abstração. Por isso, há um interesse em saber como isto acontece na natureza para então se criar sistemas que atuem da mesma forma (Brooks, 2001; Fitzpatrick et al., 2003; Lungarella and Pfeifer, 2001; Metta, Sandini, Natale, Manzotti and Panerai, 2001). Quando bebês movem suas mãos no seu campo visual, estão descobrindo o seu próprio corpo, sua calibração e controle (Meltzoff and Moore, 1989), relacionando percepção e movimento. Depois desta etapa de auto-conhecimento, integram visão, tato, audição, para focar sua atenção, acompanhar movimentos e alcançar objetos de interesse. Seguem continuamente aprimorando os movimentos e aprendendo movimentos mais complexos.

Estas idéias podem ser aplicadas à robótica, criando sistemas que se desenvolvam, aprendam e adaptem-se através da interação com outros agentes e o ambiente, sem uma programação rígida, a qual pode ser ampliada à medida que o robô conhece a si mesmo e aprende novas tarefas. Esta é a principal motivação para este trabalho, o qual propõe uma metodologia que possibilita um robô, com pouca programação prévia, aprender a realizar tarefas através de um aprendizado gradativo de ações, enquanto interage com pessoas e com o ambiente. O aprendizado é estimulado pela visão e imitação. Inicialmente, há uma etapa de auto-conhecimento em que se define um mapeamento visuomotor, que relaciona informação visual e motora, facilitando o reconhecimento de ações. Em seguida, este mapeamento é utilizado nas etapas seguintes de aprendizagem por imitação, onde um vocabulário de ações básicas é adquirido e ações mais complexas (tarefas) são aprendidas pelo robô.

1.1 Trabalhos relacionados

A imitação é um mecanismo poderoso de aprendizagem social que permite evitar a tentativa e erro (Call and Carpenter, 2002). É vantajosa quando errar representa um alto custo, ou aprender por experiência própria é demorado (Visalberghi and Fragaszy, 2002; Meltzoff and Moore, 1989). Entretanto, para haver imitação, é preciso que o observador relacione os movimentos e o corpo do demonstrador com o seu próprio corpo e movimentos, ou seja, resolva o chamado Problema da Correspondência (Nehaniv and Dautenhahn, 2002). Algumas teorias e hipóteses no estudo cognitvo sugerem a existência de uma representação comum entre ação e percepção que facilita o entendimento e a repetição de movimentos observados (Decety, 2002; Prinz, 2002).

Descobertas da neurofisiologia reforçam esta hipótese e podem ser uma solução natural para o problema da correspondência. São neurônios visuomotores, relacionados a movimentos de boca e mãos, que disparam quando se executa uma determinada ação ou se observa um indivíduo executá-la independente da posição ou orientação em que é realizada (Fadiga et al., 2000). Chamados de mirror neurons, encontram-se na área F5 do córtex premotor do cérebro dos macacos. Há também evidências da sua existência no cérebro humano, na área de Brocca, homóloga à área F5. Aparentemente, caraterizam o significado da ação e não simplesmente o movimento. Por estarem numa área motora do cérebro, sugerem que a ação é reconhecida no espaço motor, independente do ponto de observação, ou seja, sem um referencial fixo; o que parece ser bem vantajoso. Supõe-se que estabeleçam uma relação entre a ação observada e a capacidade motora para realizá-la, formando um vocabulário motor interno de ações elementares (Rizzolatti et al., 2002). Podem ser a base para a imitação e o aprendizado de ações mais complexas, como gestos ou ações constituídas pela combinação, seqüência ou mistura de ações básicas.

O aprendizado por imitação já vem sendo explorado em muitos trabalhos de robótica (Dautenhahn and Nehaniv, 2002). A chamada Programação por Exemplo/Demonstração (Lieberman, 2002; Kasper et al., 2001), tenta capacitar um robô para imitar humanos e aprender através de exemplos, sem que se programe novas linhas de código. Em (Billard, 2002), a imitação é usada para criar uma proto-linguagem de comunicação entre dois robôs móveis e também entre um robô e um ser humano. Em (Arbib et al., 2000; Schaal et al., 2003), modelos de aprendizagem baseados nos mirror neurons são criados, usando-se redes neurais para definir módulos de percepção, sensoriomotores e motores, semelhantes ao que se acredita ser um modelo biológico. Em (Matáric, 2002), um modelo é definido através de primitivas sensoriomotoras e usado para a aprendizagem de ações por imitação entre robôs do mesmo tipo, tipos diferentes e entre robôs e seres humanos.

Alguns trabalhos já sugerem um desenvolvimento gradativo baseado em mapeamentos sensoriomotores. Em (Metta, Sandini, Natale and Panerai, 2001), um robô humanóide usa sensores (visão estéreo, sensores acústicos e inerciais) para aprender causalidade. Observa os efeitos de seus movimentos e realiza um processo contínuo de adaptação e coordenação sensoriomotora. Em (Lopes and Santos-Victor, 2003b), um manipulador deve imitar gestos feitos por uma pessoa usando um mapeamento visuomotor e uma transformação de ponto de vista, que converte a imagem do braço da pessoa em uma "ego-imagem", transferindo informação de juntas, como o ombro e o cotovelo, da imagem para o referencial do robô. Já em (Lopes and Santos-Victor, 2003a), o mapeamento visuomotor é implementado com uma rede neural, a qual é utilizada num processo Bayesiano para reconhecimento de movimentos.

Assim como nos trabalhos citados e motivado pelo desafio de complexidade e adaptabilidade no projeto de robôs mais autônomos, o problema aqui abordado é encontrar um mecanismo de aprendizagem que funcione a partir de pouca programação prévia e que permita a um robô aprender e se adaptar à tarefa que deverá realizar. Nossa proposta é uma metodologia de adaptação e aprendizagem inspirada no processo de desenvolvimento que se observa na natureza. É baseada num aprendizado gradativo de ações, iniciando-se com uma etapa de auto-conhecimento em que se define um mapeamento visuomotor. Em seguida, este mapeamento age como facilitador das etapas seguintes de aprendizagem por imitação, onde ações mais complexas e tarefas são aprendidas pelo robô.

A seguir, na Seção 2 será descrita a metodologia proposta neste trabalho. Depois, na Seção 3 o mapeamento sensoriomotor é discutido, enquanto que a Seção 4 descreve o aprendizado de um vocabulário motor básico através de imitação. Depois este vocabulário é utilizado para a realização de tarefas de mapeamento e navegação topológica descritas na Seção 5, que representa o aprendizado de ações mais sofisticadas. Alguns resultados experimentais são mostrados na Seção e as conclusões e contribuições do trabalho são discutidas na Seção 7.

2 A METODOLOGIA PROPOSTA

A metodologia proposta considera uma hierarquia de ações, onde a complexidade aumenta à medida que se sobe na hierarquia. Esta idéia está ilustrada de forma resumida na Figura 1. No primeiro nível aprende-se um mapeamento sensoriomotor que relaciona informação sensorial e motora possibilitando a compreensão da própria ação, da ação de outros agentes e, conseqüentemente, a aprendizagem por imitação nas etapas seguintes. O mapeamento pode ser definido analiticamente ou adquirido através da auto-exploração, durante a qual o robô se move e aprende a relacionar os movimentos executados (espaço motor) com os efeitos na sua percepção (espaço sensorial). O espaço sensorial é definido de acordo com os sensores utilizados, enquanto o espaço motor depende da forma e estrutura mecânica do robô.


A segunda etapa inclui aprendizagem por imitação. O mapeamento sensoriomotor é usado para perceber e definir de forma motora os movimentos realizados pelo robô enquanto imita alguém. Ações básicas são aprendidas e definem um vocabulário motor, já possuindo um certo significado, representando mais que os sinais motores do nível anterior. Cada ação básica corresponde a uma palavra motora e é representada no espaço motor segundo a capacidade do robô utilizado. Depois de aprender tais ações básicas, o robô é capaz de reconhecer ações quando as realiza ou as observa e imita outro agente.

No nível mais alto, ações mais sofisticadas são definidas a partir do vocabulário motor aprendido, sendo normalmente formadas por combinações ou seqüências de ações básicas. Também são aprendidas através de imitação enquanto o robô interage com outros agentes para aprender uma nova tarefa. Desta forma, o robô aprende e se adapta à realização de tarefas, sem a necessidade de programação prévia dos seus movimentos. Neste nível, se enquadram ações mais complexas como "gestos" ou "ir de um local A até um local B".

Esta abordagem pode ser aplicada a diferentes robôs. Para um manipulador ou robô com patas, o espaço motor pode ser definido por posições e ângulos de juntas, além de velocidades de motores. Para um robô a rodas, pode ser dado pelas suas velocidades linear e angular. Sensores como infra-vermelho, ultra-som ou laser, formam um espaço sensorial dado por distâncias e profundidades, enquanto câmeras, geram posições de pontos numa imagem ou fluxo óptico. Com manipuladores, o problema da correspondência pode ser resolvido através de uma transformação entre referenciais (Lopes and Santos-Victor, 2003b); no caso de robôs móveis, pode ser conseguido com um controle servo-visual ou outra forma de transferir informação sensorial para motora.

Para ilustrar a metodologia proposta, foi implementada uma tarefa de mapeamento e navegação topológica com um robô móvel a rodas diferencial. O robô utilizado foi um Pioneer2-DX diferencial com um computador a bordo e dois sistemas de visão: uma câmera perspectiva colorida, apontada para a frente, e um sistema de visão omnidirecional, formado por um espelho esférico e uma câmera monocromática, alinhado com o centro de rotação da plataforma. O sistema de coordenadas adotado para o robô está alinhado com o referencial da câmera omnidirecional, tendo o eixo Z como o eixo de rotação e coincidente com o eixo óptico da câmera, que aponta para cima. Desta forma o robô possui velocidades Ty de translação e wz de rotação. Veja Figura 2.


Inicialmente, foi definido um mapeamento visuomotor, implementado como automovimento1 1 Recuperar o movimento executado por uma câmera a partir de uma seqüência de imagens capturadas durante o movimento. , que converte fluxo óptico de imagens omnidirecionais para as velocidades linear e angular do robô. Depois, o mapeamento foi utilizado na imitação para o aprendizado de um vocabulário motor básico. A imitação foi implementada através do seguimento de pessoas, usando-se a câmera perspectiva do robô e resolvendo-se o problema da correspondência através de um controle servo-visual. O vocabulário motor ficou formado por ações aprendidas (palavras motoras) através da conversão de informações visuais em sinais motores. Assim, o robô pôde reconhecer ações quando as executava ou repetia durante novas imitações. Finalmente, o vocabulário motor foi usado para mapeamento e navegação topológica no ambiente. O mapa topológico foi criado como um grafo, tendo imagens omnidirecionais como nós, e palavras motoras associadas aos arcos. O mapa criado desta forma possibilitou a realização das ações mais complexas como "ir até A" ou "ir de A até B" no mapa.

3 MAPEAMENTO VISUOMOTOR

Um mapeamento visuomotor deve relacionar informação visual com informação motora. Desta forma, o automovimento ou egomotion pode ser visto como um tipo de mapeamento visuomotor, pois recupera o movimento de uma câmera a partir da informação visual adquirida. Estando a câmera acoplada a um robô, estimar o seu automovimento significa recuperar o movimento do robô.

Neste trabalho, o autovimento foi implementado de duas formas: uma forma analítica, através de equações para a estimativa do movimento a partir de imagens omnidirecionais; e por redes neurais, como uma etapa de auto-conhecimento (Vassallo, 2004). Entretanto, aqui será relatada apenas a forma analítica, que trouxe contribuições novas no estudo de imagens omnidirecionais.

Para câmeras perspectivas, estimativar o automovimento é normalmente mais difícil, pois, devido ao campo de visão reduzido, é comum que diferentes movimentos produzam fluxos semelhantes na imagem, gerando ambigüidades entre rotação e translação (Daniilidis and Nagel, 1993) (Ex: uma rotação perpendicular ao eixo óptico produz efeito similar a uma translação paralela ao plano da imagem). Porém, com um campo de movimento esférico, o automovimento fica facilitado (Nelson and Aloimonos, 1988), porque tanto o foco de expansão (FOE) quanto o foco de contração (FOC) aparecem na imagem. Nestes casos, raramente movimentos diferentes produzem o mesmo campo de vetores e a estimativa do automovimento quase nunca é ambígua. É possível obter um campo de movimento hemisférico usando-se imagens omnidirecionais, e com isso, realizar melhores estimativas de automovimento do que as obtidas com câmeras perspectivas convencionais.

Assim como em (Gluckman and Nayar, 1998; Vassallo et al., 2002a), uma seqüência de imagens omnidirecionais é usada para calcular o fluxo óptico2 2 Aqui considerado equivalente ao campo de movimento. , cujos vetores são reprojetados na superfície da esfera unitária, através de uma matriz Jacobiano. A seguir, o fluxo esférico é usado para estimar o automovimento, adaptando-se algoritmos de projeção perspectiva para a projeção esférica. Entretanto, em (Gluckman and Nayar, 1998), o Jacobiano depende da equação de projeção do conjunto câmera/espelho, alterando-se a sua expressão sempre que um sistema diferente é usado. Ao invés disto, neste trabalho é apresentada uma expressão geral para o Jacobiano, que pode ser aplicada a diferentes sistemas omnidirecionais com centro único de projeção ou que se aproximam de sistemas deste gênero (Vassallo et al., 2002a).

A expressão para o Jacobiano Geral foi definida a partir do Modelo Geral de Projeção de Geyer e Daniilidis (Geyer and Daniilidis, 2000), mostrado na Figura 3, o qual representa vários sistemas omnidirecionais com centro único de projeção variando-se os parâmetros l e m.


Neste modelo, um ponto P é projetado na esfera unitária através do seu centro C. Depois, é projetado a partir do centro de projeção O para o plano da imagem. As distâncias de C ao ponto O e ao plano da imagem representam os parâmetros l e m, que para espelhos hiperbólicos, elípticos ou parabólicos, assumem valores relacionados à excentricidade e à distância entre os focos da curva que define o espelho (Geyer and Daniilidis, 2001). Considerando-se a esfera na origem, a projeção p(x,y) de um ponto P(X,Y,Z) é definida pela Equação 1.

Para calcular o Jacobiano Geral é preciso, primeiramente, obter a projeção inversa. A projeção inversa de um ponto (x,y) na imagem define um ponto na esfera unitária (,,), já que não é possível recuperar a profundidade de pontos 3D com apenas uma imagem, e representa a direção do raio proveniente do ponto 3D original. Veja Equação 2.

onde será negativo se |l+m|/l > e positivo caso contrário. Vale ressaltar que os parâmetros intrínsecos da câmera, não foram incluídos nas Equações 1 e 2, devendo ser considerados quando se utilizam estas equações.

A seguir, o Jacobiano Geral é obtido através da derivada temporal da Equação 4. Ele converte as velocidades na imagem (,) para vetores na superfície da esfera unitária ( , , ), segundo a Equação 3. A projeção inversa de pontos de uma imagem omnidirecional e o remapeamento de vetores de fluxo podem ser vistos na Figura 4.


Para o automovimento, é preciso definir a equação do campo de movimento esférico com relação às velocidades linear e angular da câmera/robô, e depois usá-la juntamente com os vetores calculados, a partir das imagens, para a estimativa das velocidades. Para uma câmera com velocidade linear T e velocidade angular W, a velocidade de um ponto na esfera unitária com relação à câmera é dada pela Equação 4.

O objetivo é encontrar T e W a partir do campo de movimento esférico U, dado pelos vetores de fluxo calculados com as imagens omnidirecionais e remapeados para a esfera unitária através do Jacobiano. Como a profundidade ||P|| não pode ser recuperada pela projeção inversa dos pontos, a Equação 4 não pode ser usada diretamente. Entretanto, quando T ¹ 0, é possível eliminar a dependência de ||P|| através de um produto vetorial com e um produto interno com T, chegando-se à Equação 5. A nova expressão pode ser usada para a estimativa do automovimento usando-se um algoritmo baseado no de Bruss e Horn (Bruss and Horn, 1983). Os valores de T e W são estimados por mínimos quadrados não-linear, considerando-se a restrição ||T|| = 1. A rotação é recuperada completamente, enquanto a translação é recuperada a menos de um fator de escala, estimando-se apenas a sua direção e sentido. O processo é iterativo e similar a (Tian et al., 1996). Para movimentos com apenas rotação, a Equação 4 pode ser reescrita como a Equação 6. Neste caso, W é calculado com uma estimativa simples por mínimos quadrados.

Desta forma, o automovimento pode ser estimado através dos dois modelos dados pelas Equações 5 e 6.

Para se decidir entre um modelo e outro, definiu-se uma metodologia em que, inicialmente, o modelo 6 é usado para a estimativa. A seguir, o resíduo r entre o fluxo observado, obtido a partir das imagens omnidirecionais, e o fluxo reconstruído com a rotação estimada é calculado. Este resíduo assume valores bem diferentes quando o movimento inclui ou não uma parcela de translação e é calculado como

onde é a velocidade angular estimada e r e U são, respectivamente, o resíduo e o fluxo observado em cada ponto da esfera unitária.

A norma da média do resíduo |||| e o seu desvio padrão sr representam a qualidade da estimativa obtida com o modelo 6. Ao se observar os valores que essas duas variáveis assumem para os diferentes tipos de movimento, é possível distinguir movimentos que incluem translação de movimentos em que há apenas rotação e escolher empiricamente valores limite para se determinar a escolha do modelo.

Se |||| e sr excederem os limites estabelecidos, então o movimento em questão possivelmente contém uma componente de translação e, portanto, o modelo 5 deverá ser empregado. Caso contrário, o movimento é basicamente de rotação e o modelo 6 já satisfaz (Vassallo et al., 2002a; Vassallo, 2004).

4 APRENDENDO UM VOCABULARIO MOTOR ATRAVÉS DE IMITAÇÃO

A capacidade de imitação do robô foi implementada como o seguimento de pessoas, usando-se a câmera perspectiva colorida que aponta para a frente (Vassallo et al., 2002b). Sem prejuízo para a idéia central do trabalho, considerou-se que a pessoa deve segurar um retângulo verde enquanto o robô a segue e aprende movimentos básicos. O problema da correspondência foi resolvido com uma estratégia de controle servo-visual, em que as coordenadas dos vértices do retângulo são comparadas com posições de referência e o erro é usado para corrigir as velocidades linear e angular do robô. O robô procura seguir o retângulo a uma distância fixa e sempre orientado para o seu centro.

A detecção do retângulo é feita com segmentação por cor no formato HSV (Hue-Saturation-Value), utilizando-se o canal hue ou matiz. Os pontos verdes da imagem são detectados e a imagem binária resultante é filtrada através de operações morfológicas para se eliminar parte do ruído. O maior conjunto de pixels é considerado como o retângulo. O seu contorno é detectado e os seus vértices encontrados através da interseção das retas estimadas por um método de ajuste robusto (Fischler and Bolles, 1981). A Figura 5 mostra o processo de detecção dos vértices do retângulo.


O controle servo-visual para o seguimento do retângulo é definido considerando-se o referencial da câmera no centro de projeção e o eixo-Y coincidente com o eixo óptico. Com isso, a matriz que relaciona os vértices do retângulo na imagem com as velocidades Ty e wz do robô é dada pela Equação 8. Os índices de 1 a 4 das variáveis indicam a sua relação com os vértices correspondentes.

As velocidade Ty e wz são obtidas a partir do erro entre as posições atuais e as posições de referência dos vértices, segundo a Equação 9.

onde d indica as coordenadas desejadas e C é a pseudo inversa de J, com Yi = Yd, que é a distância desejada para o retângulo. Os parâmetros intrínsecos da câmera devem ser considerados e os valores de Ty e wz, assim como a sua variação temporal, são aplicados em dois controladores PID, definindo os sinais motores do robô (Vassallo, 2004).

Desta forma, o robô torna-se capaz de imitar/seguir alguém e, assim, pode aprender movimentos elementares. Durante a imitação, a pessoa executa as ações que pretende ensinar e, enquanto repete os movimentos, o robô usa o mapeamento visuomotor para converter sua percepção visual em informação motora, armazenando suas características. Depois, os movimentos são classificados em clusters de forma não-supervisionada baseada no método de K-médias. A classificação é feita no espaço motor considerando o sentido/direção de translação e a velocidade de rotação. Esta classificação indica os movimentos executados com maior freqüência e o centróide de cada classe representa as ações básicas aprendidas. Estas ações constituem as palavras do vocabulário motor básico e diferem de simples sinais motores porque já possuem um significado, um objetivo.

Posteriormente, para reconhecer ações já aprendidas, quando o robô se move, os sinais motores, obtidos através do automovimento, são comparados com os centróides de cada palavra motora usando-se uma função de discriminação baseada na distância Euclidiana.

5 MAPEAMENTO E NAVEGAÇÃO TOPOLÓGICA

O próximo passo é aprender tarefas que incluem ações mais complexas, executadas através de uma seqüência ou combinaçãoes de ações básicas. Para um robô móvel realizar ações do tipo "Vá até A" ou "Vá de A até B" no ambiente de trabalho, é preciso que ele saiba se localizar e encontrar um caminho possível entre estes pontos. A aplicação escolhida para ilustrar este trabalho foi mapeamento e navegação topológica. O mapeamento corresponde ao aprendizado do mapa e de novas ações mais complexas, enquanto navegar no mapa criado representa executar essas tarefas depois de aprendidas.

Para a criação do mapa, o robô é guiado no ambiente por uma pessoa. O mapa topológico será um grafo tendo imagens omnidirecionais como nós e palavras motoras associadas aos arcos, representando a ação executada com mais freqüência entre cada par de nós. Durante o mapeamento, imagens são constantemente capturadas e comparadas com o último nó armazenado, ao mesmo tempo que o movimento realizado é reconhecido usando-se o vocabulário motor básico. Um novo nó e um novo arco são criados quando acontece uma grande mudança no movimento executado pelo robô, ou quando a diferença entre as imagens comparadas ultrapassa um valor pré-definido. A comparação entre imagens é feita por uma métrica de correlação que permite calcular a diferença entre pontos das imagens e também a diferença angular entre elas.

As imagens omnidirecionais facilitam a localização e navegação, pois contém mais informações no ambiente e possibilitam uma navegação em qualquer direção (Winters et al.,2000; Rizzi and Cassinis, 2001). A associação de palavras motoras aos arcos do mapa, resulta numa representação motora definida segundo a capacidade do robô e a estrutura do ambiente. Desta forma, o mapa topológico criado guarda o aspecto qualitativo do ambiente, através de imagens, e o aspecto motor, através de palavras motoras (Vassallo et al., 2004b; Vassallo et al., 2004a).

Criado o mapa, o robô pode realizar tarefas mais sofisticadas. Quando lhe for solicitado ir a um determinado nó, o robô se auto-localiza e escolhe um caminho definido por uma seqüência de nós e arcos até o seu destino final. Durante a navegação, a sua posição atual é monitorada comparando-se imagens capturadas no caminho com as imagens dos nós, enquanto os seus movimentos são definidos pelas palavras motoras contida nos arcos.

6 RESULTADOS EXPERIMENTAIS

O primeiro passo na metodologia proposta é definir o mapeamento viosuomotor que permitirá a aprendizagem por imitação. Neste trabalho, o mapeamento visuomotor foi implementado como automovimento a partir do fluxo óptico calculado nas imagens omnidirecionais. Alguns exemplos das estimativas de automovimento podem ser vistos na Figura 6. Como forma de avaliação do método usado, os valores estimados foram comparados com o movimento original e os erros para a translação e rotação foram definidos conforme a Equação 10, onde T e W; e são, respectivamente, os valores de referência e as estimativas.


Os valores para os experimentos mostrados na Figura 6 estão listados na Tabela 1. Foram realizados ainda outros 608 experimentos. Os resultados obtidos e uma discussão sobre o desempenho do método usado podem ser vistos em (Vassallo, 2004).

Para a aprendizagem do vocabulário, várias etapas de seguimento e imitação foram realizadas, estimando-se sempre o automovimento. Apesar de Tx e Ty serem estimadas, apenas Ty, a direção possível de translação do robô, foi considerada para a classificação dos movimentos juntamente com wz. Os valores obtidos para Tx geralmente se devem a deslizamentos das rodas ou ruído no processo de automovimento. Os valores de Ty e wz foram normalizados e classificados em clusters, que correspondem às ações básicas aprendidas. Os centróides, calculados por uma média robusta, representam as ações no espaço motor (Ty,wz), conforme mostrado na Figura 7.


Os pontos maiores e cheios indicam os centróides. Os pontos menores e pretos representam as medidas relevantes, enquanto os pontos cinzas são as medidas descartadas. Foi traçado um diagrama de Voronoi sobre o gráfico para uma melhor visualização da separação entre os movimentos classificados. Cada ação aprendida corresponde a uma palavra motora e foi identificada através de um nome, conforme mostrado na Tabela 2.

Este vocabulário motor foi, então, utilizado para o mapeamento e navegação topológica. O robô foi guiado através do ambiente e imagens omnidirecionais foram capturadas e selecionadas autonomamente para formar os nós do mapa, enquanto as ações básicas, executadas pelo robô e representadas por palavras motoras, foram associadas aos arcos. A Figura 8-a mostra uma vista superior do ambiente e o mapa topológico criado. Para este caso, foram selecionadas 16 imagens para o mapa, as quais estão mostradas nos pontos onde foram capturadas.



Depois de se criar o mapa, foram realizadas experiências de navegação entre diferentes nós, do tipo "Vá até o nó A" ou "Vá de A até B", subindo mais um nível na hierarquia de ações. A Figura 8-b traz alguns dos resultados obtidos. Estão ilustrados 8 experimentos diferentes. Os asteriscos correspondem aos pontos onde a posição do robô no mapa foi atualizada, atingindo-se um novo nó. A falta de exatidão na posição dos nós ilustra o aspecto qualitativo do mapa topológico. Apesar de não ser exata, a localização dos nós acontece sempre em uma região em torno da posição real e permite a localização global do robô no ambiente.

Nos experimentos, o robô navegou facilmente nos dois sentidos possíveis, no sentido de criação do mapa e no sentido contrário. Isso se deve à utilização de imagens omnidirecionais, que possibilitam visualizar qualquer direção de navegação e permitem que a região ao redor do robô seja observada.

7 CONCLUSÕES

Foi proposta uma metodologia para a adaptação e aprendizagem de ações e tarefas na robótica. A idéia é que um sistema com pouca programação prévia possa se desenvolver, aprendendo e adaptando-se à medida que interage com o próprio corpo e com outros agentes. O aprendizado é progressivo, através de uma hierarquia de ações, incluindo etapas de auto-exploração e aprendizagem por imitação. Na imitação, o reconhecimento de ações acontece diretamente no espaço motor por meio de um mapeamento sensoriomotor, que converte informações sensoriais em motoras. Resumidamente, as contribuições desta abordagem são:

  • Pode ser aplicada com diferentes robôs e representa uma forma flexível de se adaptar a tarefa ao robô utilizado, pois o mapeamento sensoriomotor, o vocabulário motor e, consequentemente, as ações aprendidas são representados de acordo com a capacidade motora e sensorial envolvidas.

  • Pode ser utilizada com diferentes aplicações e ambientes. Se a aplicação ou ambiente de trabalho muda, um novo vocabulário básico ou novas ações de nível mais alto podem ser aprendidos.

  • Não é necessária uma programação a priori completa do robô. O auto-conhecimento e a definição do vocabulário motor permitem que novas tarefas sejam aprendidas, sem a inclusão de mais linhas de código.

  • Permite a definição e o reconhecimento de ações e tarefas de forma motora, independente de qualquer referencial adotado, graças ao mapeamento sensoriomotor que permite converter informação sensorial em informação motora, conforme sugerido pelos mirror neurons.

Há ainda algumas contribuições interessantes quanto à estimativa de automovimento e à aplicação de mapeamento e navegação topológica para ilustrar a abordagem proposta:

  • Foram definidas estratégias de automovimento, mapeamento e navegação explorando-se as vantagens do campo de visão das imagens omnidirecionais.

  • Foi definido um Jacobiano Geral para a estimativa de automovimento, o qual poderá ser usado com diferentes sistemas omnidirecionais (Vassallo et al., 2002a).

  • O uso de representações motoras para o mapeamento do ambiente permite a adaptação natural do mapa ao robô. O vocabulário motor, aprendido no próprio local de trabalho, inclui influências da capacidade motora disponível e da estrutura do ambiente, que define os movimentos necessários e possíveis de serem realizados. Com isso, o ambiente é representado de maneira simples através de referências e ações básicas conhecidas pelo robô (Vassallo et al., 2004b; Vassallo et al., 2004a).

  • A utilização de imitação para mapeamento e navegação topológica representa uma nova aplicação a ser explorada, diferente das aplicações realizadas em trabalhos anteriores.

AGRADECIMENTOS

Este trabalho contou com o apoio da CAPES, através da concessão de uma bolsa de doutorado sanduíche a Raquel Frizera Vassallo, e do IST-Instituto Superior Técnico, em Lisboa, que disponibilizou recursos do labóratório VISLAB para o desenvolvimento da investigação.

Artigo submetido em 18/01/2006

1a. Revisão em 09/11/2006

Aceito sob recomendação do Editor Associado Prof. José Reinaldo Silva

  • Arbib, M. A., Billard, A., Iacoboni, M. and Oztop, E. (2000). Synthetic brain imaging: grasping, mirror neurons and imitation, Neural Networks 13: 975997.
  • Arkin, R. (1998). Behavior-based Robotics, The MIT Press.
  • Billard, A. (2002). Imitation in Animals and Artifacts, The MIT Press, chapter 11 - Imitation: A Means to Enhance Learning of a Synthetic Protolanguage in Autonomous Robots, pp. 281310.
  • Braitenberg, V. (1984). Vehicles, experiments in Synthetic Psychology, The MIT Press.
  • Brooks, R. A. (1986). A robust layered control system for a mobile robot, IEEE Journal of Robotics and Automation 2(1): 1423.
  • Brooks, R. A. (2001). The relationship between matter and life, Nature 409: 409411.
  • Bruss, A. and Horn, B. K. P. (1983). Passive navigation, Computer Vision, Graphics and Image Processing 21: 320.
  • Call, J. and Carpenter, M. (2002). Imitation in Animals and Artifacts, The MIT Press, chapter 9 - Three Sources of Information in Social Learning, pp. 211228.
  • Daniilidis, K. and Nagel, H. (1993). The coupling of rotation and translation in motion estimation of planar surfaces, IEEE Conf. on Computer Vision and Pattern Recognition, pp. 188193.
  • Dautenhahn, K. and Nehaniv, C. L. (eds) (2002). Imitation in Animals and Artifacts, The MIT Press.
  • Decety, J. (2002). The Imitative Mind: development, evolution, and brain bases, Cambridge University Press, chapter 16 - Is there such a thing as functional equivalence between imagined, observed, and executed action?, pp. 291309.
  • Fadiga, L., Fogassi, L., Gallase, V. and Rizzolatti, G. (2000). Visuomotor neurons: ambiguity of the discharge or motor perception?, International Journal of Psychophysiology 35: 165177.
  • Fischler, M. A. and Bolles, R. C. (1981). Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography., Communications of ACM 24(6): 381395.
  • Fitzpatrick, P., Metta, G., Natale, L., Rao, S. and Sandini, G. (2003). Learning about objects through action - initial steps towards artificial cognition, IEEE International Conference on Robotics and Automation - ICRA 2003.
  • Geyer, C. and Daniilidis, K. (2000). Equivalence of catadioptric projections and mappings of the sphere, Proc. of IEEEWorkshops on Omnidirectional Vision, pp. 9196.
  • Geyer, C. and Daniilidis, K. (2001). Catadioptric projective geometry, International Journal of Computer Vision 2: 223243.
  • Gluckman, J. and Nayar, S. K. (1998). Ego-motion and omnidirectional cameras, Proc. of 6th International Conference on Computer Vision - ICCV98, pp. 9991005.
  • Kasper, M., Fricke, G., Steuernagel, K. and von Puttkamer, E. (2001). A behavior-based mobile robot architecture for learning from demonstration, Robotics and Autonomous Systems 34: 153164.
  • Lieberman, H. (2002). Imitation in Animals and Artifacts, The MIT Press, chapter 7 - Art Imitates Life: Programming by Example as an Imitation Game, pp. 157169.
  • Lopes, M. C. and Santos-Victor, J. (2003a). Motor representations for hand gesture recognition and imitation, IROS Workshop on Robot Programming by Demonstration.
  • Lopes, M. C. and Santos-Victor, J. (2003b). Visual transformations in gesture imitation: what you see is what you do, IEEE International Conference on Robotics and Automation - ICRA 2003.
  • Lungarella, M. and Pfeifer, R. (2001). Robot as cognitive tools: Information theoretic analysis of sensory(-motor) data, EDEC 2001 - Symposium at the International Conference on Cognitive Science
  • Matáric, M. J. (2002). Imitation in Animals and Artifacts, The MIT Press, chapter Sensory-Motor Primitives as a Basis for Imitation: Linking Perception to Action and Biology to Robotics, pp. 391422.
  • Meltzoff, A. N. and Moore, M. K. (1989). Imitation in newborn infants: Exploring the range of gestures imitated and the underlying mechanisms, Developmental Psychology 25: 954962.
  • Metta, G., Sandini, G., Natale, L., Manzotti, R. and Panerai, F. (2001). Development in artificial systems, EDEC 2001 - Symposium at the International Conference on Cognitive Science
  • Metta, G., Sandini, G., Natale, L. and Panerai, F. (2001). Sensorimotor interaction in a developing robot, 1st International Workshop on Epigenetic Robotics, pp. 53 60.
  • Murphy, R. R. (2000). Introduction to AI Robotics, The MIT Press.
  • Nehaniv, C. L. and Dautenhahn, K. (2002). Imitation in Animals and Artifacts, The MIT Press, chapter 2 - The Correspondence Problem.
  • Nelson, R. C. and Aloimonos, J. (1988). Finding motion parameters from spherical motion fields (or the advanntages of having eyes in the back of your head), Biological Cybernetics 58: 261273.
  • Prinz, W. (2002). The Imitative Mind: development, evolution, and brain bases, Cambridge University Press, chapter 8 - Experimental approaches to imitation, pp. 143162.
  • Rizzi, A. and Cassinis, R. (2001). A robot self-localization system based on omnidirectional color images, Robotics and Autonomous Systems 34: 2338.
  • Rizzolatti, G., Fadiga, L., Fogassi, L. and Gallese, V. (2002). The Imitative Mind: development, evolution, and brain bases, Cambridge University Press, chapter 14 - From mirror neurons to imitation: facts and speculations, pp. 247266.
  • Schaal, S., Ijspeert, A. and Billard, A. (2003). Computational approaches to motor learning by imitation, Philosophical Transactions: Biological Sciences (The Royal Society) 358:1431: 537547.
  • Tian, T. Y., Tomasi, C. and Heeger, D. (1996). Comparison of approaches to egomotion computation, CVPR'96 - Computer Vision and Pattern Recognition, pp. 315320.
  • Vassallo, R. F. (2004). Uso de Mapeamentos Visuomotores com Imagens Omnidirecionais para Aprendizagem por Imitação em Robótica, PhD thesis, Universidade Federal do Espírito Santo.
  • Vassallo, R. F., Santos-Victor, J. and Schneebeli, H. (2002a). A general approach for egomotion estimation with omnidirectional images, IEEE Workshop on Omnidirectional Vision 2002 (with ECCV), pp. 97103.
  • Vassallo, R. F., Santos-Victor, J. and Schneebeli, H. (2002b). Learning motor representations for robot navigation, MED 2002 - 10th IEEE Mediterranean Conference on Control and Automation
  • Vassallo, R. F., Santos-Victor, J. and Schneebeli, H. J. (2004a). Task learning and adaptation based on visuomotor mapping, CBA 2004 - XV Congresso da Sociedade Brasileira de Automática
  • Vassallo, R. F., Santos-Victor, J. and Schneebeli, H. J. (2004b). Visuomotor maps for robot task learning through imitation, 5th IFAC/EURON Symposium on Intelligent Autonomous Vehicles - IAV2004.
  • Visalberghi, E. and Fragaszy, D. (2002). Imitation in Animals and Artifacts, The MIT Press, chapter 18 - "Do Monkeys Ape?" - Ten Years After, pp. 471499.
  • Winters, N., Gaspar, J., Lacey, G. and Santos-Victor, J. (2000). Omni-directional vision for robot navigation, IEEE Workshop on Omnidirectional Vision (held with CVPR)
  • 1
    Recuperar o movimento executado por uma câmera a partir de uma seqüência de imagens capturadas durante o movimento.
  • 2
    Aqui considerado equivalente ao campo de movimento.
  • Datas de Publicação

    • Publicação nesta coleção
      25 Jul 2007
    • Data do Fascículo
      Mar 2007

    Histórico

    • Recebido
      18 Jan 2006
    • Revisado
      09 Nov 2006
    Sociedade Brasileira de Automática Secretaria da SBA, FEEC - Unicamp, BLOCO B - LE51, Av. Albert Einstein, 400, Cidade Universitária Zeferino Vaz, Distrito de Barão Geraldo, 13083-852 - Campinas - SP - Brasil, Tel.: (55 19) 3521 3824, Fax: (55 19) 3521 3866 - Campinas - SP - Brazil
    E-mail: revista_sba@fee.unicamp.br