6
A Vision Tracking System for Robotic Wheelchairs Fernando Paolieri Neto, Clésio Luis Tozzi Departamento de Engenharia de Computação e Automação Industrial Faculdade de Engenharia Elétrica e de Computação Universidade Estadual de Campinas Campinas, SP, Brasil {fernando, clesio}@dca.fee.unicamp.br Abstract—This paper describes a system that is capable of track a target and control a smart wheelchair in order to follow a person in front of it using only a single camera. To accomplish it a system using Image Processing techniques and an iterative fuzzy logic controller was implemented. A prototype was developed and a mobile robot was used as a substitute of a smart wheelchair as it offers the same characteristics regarding actuators (kinematic and dynamic models), computer and sensors. KeywordsComputer Vision, Mobile Robots, Fuzzy Controller, Image Processing, Robotic Vision. I. I NTRODUÇÃO Nas últimas décadas tem se observado no mundo, um aumento da expectativa de vida e consequentemente o aumento da população idosa, de acordo com os dados do IBGE, 10% da população brasileira no ano de 2010 possuía idade acima de 60 anos [1]. Em uma parte significativa da população idosa, foi ob- servado a redução na sua capacidade de locomoção, com dependência de terceiros, acarretando redução da qualidade de vida deste idoso. Devido a este fato se faz necessário a presença de um cuidador para acompanhar o idoso em sua cadeira de rodas e se responsabilizar, além da condução da mesma, também por ações como a de abrir portas, apertar os botões dos elevadores e outras tarefas vinculadas ao cuidado com o idoso. As cadeiras de rodas motorizadas apresentam-se como uma solução adequada para a redução da atividade de condução do cuidador, entretanto ela só é viável nos casos em que o idoso é capaz de conduzir a cadeira. A solução para os casos de impossibilidade de condução pelo idoso, tem sido buscada através do desenvolvimento da cadeira de rodas inteligente [2, 3], que consiste numa cadeira de rodas motorizada integrada com atuadores, sensores de distância (sonar e laser) e câmeras, todos controlados pelo computador que através de programas, buscam entender o meio em que se encontram e auxiliar na navegação, seja em ambientes conhecidos ou desconhecidos. Neste contexto de cadeiras de rodas inteligentes a revisão bibliográfica mostra que a pesquisa se concentra majoritari- amente na questão de desvios de obstáculos e de interfaces amigáveis [4]. Entretanto, dado que o idoso que utiliza a cadeira de rodas está quase sempre acompanhado de um cuidador, se faz interessante considerar a possibilidade de incorporar a cadeira inteligente, a capacidade de seguimento (tracking) autônomo de um alvo, no caso o próprio cuidador, que se desloca à frente, ou ao lado da cadeira e fica liberado para outras tarefas, ou mesmo para condução de múltiplas cadeiras simultaneamente. Este artigo busca demonstrar um método de controle de uma cadeira de rodas de forma autônoma para o acompanhamento de uma pessoa (por exemplo um cuidador). II. TRABALHOS RELACIONADOS Os trabalhos encontrados na literatura, de modo geral, pro- põe soluções específicas para as condições do uso de cadeiras de rodas inteligentes, por exemplo visita a locais estruturados (museus, shoppings, entre outros). Dentre estes trabalhos destacam-se dois deles, um apresen- tado por Shibusawa [5] e outro apresentado por Kobayashi [6]. No trabalho proposto por Shibusawa é descrita uma solução em que uma cadeira de rodas inteligente equipada com câme- ras, sensores de distância laser e um computador de bordo, oferece ao usuário as condições necessárias para locomoção e apreciação de obras de arte em um museu. A solução é focada em comportamentos onde o acompanhante é rastreado o tempo todo por uma câmera lateral, e quando este vira o rosto para apreciar uma obra, a cadeira de rodas inteligente tenta se posicionar de forma adequada para que o usuário da cadeira possa apreciar a obra. No trabalho apresentado por Kobayashi é apresentada uma solução para o problema de rastreamento do acompanhante utilizando uma câmera omnidirecional em conjunto com um sensor de distância laser. Baseado nos trabalhos citados, propõe-se aqui a implemen- tação e avaliação de um sistema de seguimento para cadeiras de rodas inteligentes considerando o uso de apenas uma câmera de video. Espera-se como resultado desta abordagem a implementação de um sistema eficiente, de baixo custo e significativo ganho para usuário e cuidador, contribuindo para disseminar e tornar acessível este recurso que facilita o dia a dia dos usuários de cadeira de rodas. III. SIMULAÇÃO DA CADEIRA DE RODAS Uma cadeira de rodas inteligente é definida como instru- mento capaz de monitorar o ambiente em que se encontra a partir de sensores, e se mover de forma autônoma. Em sua essência esta definição se assemelha em diversos aspectos a definição de um robô móvel, portanto para o desenvolvimento e avaliação deste trabalho foi utilizado um robô móvel com

A Vision Tracking System for Robotic Wheelchairsiris.sel.eesc.usp.br/wvc/Anais_WVC2013/Poster/1/15.pdf · interface serial do robô P3DX. A biblioteca ARIA possuí ... A execução

Embed Size (px)

Citation preview

A Vision Tracking System for Robotic WheelchairsFernando Paolieri Neto, Clésio Luis Tozzi

Departamento de Engenharia de Computação e Automação IndustrialFaculdade de Engenharia Elétrica e de Computação

Universidade Estadual de CampinasCampinas, SP, Brasil

{fernando, clesio}@dca.fee.unicamp.br

Abstract—This paper describes a system that is capable of tracka target and control a smart wheelchair in order to follow aperson in front of it using only a single camera. To accomplish ita system using Image Processing techniques and an iterative fuzzylogic controller was implemented. A prototype was developed anda mobile robot was used as a substitute of a smart wheelchair asit offers the same characteristics regarding actuators (kinematicand dynamic models), computer and sensors.

Keywords—Computer Vision, Mobile Robots, Fuzzy Controller,Image Processing, Robotic Vision.

I. INTRODUÇÃO

Nas últimas décadas tem se observado no mundo, umaumento da expectativa de vida e consequentemente o aumentoda população idosa, de acordo com os dados do IBGE, 10%da população brasileira no ano de 2010 possuía idade acimade 60 anos [1].

Em uma parte significativa da população idosa, foi ob-servado a redução na sua capacidade de locomoção, comdependência de terceiros, acarretando redução da qualidadede vida deste idoso. Devido a este fato se faz necessário apresença de um cuidador para acompanhar o idoso em suacadeira de rodas e se responsabilizar, além da condução damesma, também por ações como a de abrir portas, apertar osbotões dos elevadores e outras tarefas vinculadas ao cuidadocom o idoso.

As cadeiras de rodas motorizadas apresentam-se como umasolução adequada para a redução da atividade de conduçãodo cuidador, entretanto ela só é viável nos casos em que oidoso é capaz de conduzir a cadeira. A solução para os casosde impossibilidade de condução pelo idoso, tem sido buscadaatravés do desenvolvimento da cadeira de rodas inteligente [2,3], que consiste numa cadeira de rodas motorizada integradacom atuadores, sensores de distância (sonar e laser) e câmeras,todos controlados pelo computador que através de programas,buscam entender o meio em que se encontram e auxiliar nanavegação, seja em ambientes conhecidos ou desconhecidos.

Neste contexto de cadeiras de rodas inteligentes a revisãobibliográfica mostra que a pesquisa se concentra majoritari-amente na questão de desvios de obstáculos e de interfacesamigáveis [4]. Entretanto, dado que o idoso que utiliza acadeira de rodas está quase sempre acompanhado de umcuidador, se faz interessante considerar a possibilidade deincorporar a cadeira inteligente, a capacidade de seguimento(tracking) autônomo de um alvo, no caso o próprio cuidador,

que se desloca à frente, ou ao lado da cadeira e fica liberadopara outras tarefas, ou mesmo para condução de múltiplascadeiras simultaneamente.

Este artigo busca demonstrar um método de controle de umacadeira de rodas de forma autônoma para o acompanhamentode uma pessoa (por exemplo um cuidador).

II. TRABALHOS RELACIONADOS

Os trabalhos encontrados na literatura, de modo geral, pro-põe soluções específicas para as condições do uso de cadeirasde rodas inteligentes, por exemplo visita a locais estruturados(museus, shoppings, entre outros).

Dentre estes trabalhos destacam-se dois deles, um apresen-tado por Shibusawa [5] e outro apresentado por Kobayashi [6].

No trabalho proposto por Shibusawa é descrita uma soluçãoem que uma cadeira de rodas inteligente equipada com câme-ras, sensores de distância laser e um computador de bordo,oferece ao usuário as condições necessárias para locomoçãoe apreciação de obras de arte em um museu. A solução éfocada em comportamentos onde o acompanhante é rastreadoo tempo todo por uma câmera lateral, e quando este vira orosto para apreciar uma obra, a cadeira de rodas inteligentetenta se posicionar de forma adequada para que o usuário dacadeira possa apreciar a obra.

No trabalho apresentado por Kobayashi é apresentada umasolução para o problema de rastreamento do acompanhanteutilizando uma câmera omnidirecional em conjunto com umsensor de distância laser.

Baseado nos trabalhos citados, propõe-se aqui a implemen-tação e avaliação de um sistema de seguimento para cadeirasde rodas inteligentes considerando o uso de apenas umacâmera de video. Espera-se como resultado desta abordagema implementação de um sistema eficiente, de baixo custo esignificativo ganho para usuário e cuidador, contribuindo paradisseminar e tornar acessível este recurso que facilita o dia adia dos usuários de cadeira de rodas.

III. SIMULAÇÃO DA CADEIRA DE RODAS

Uma cadeira de rodas inteligente é definida como instru-mento capaz de monitorar o ambiente em que se encontra apartir de sensores, e se mover de forma autônoma. Em suaessência esta definição se assemelha em diversos aspectos adefinição de um robô móvel, portanto para o desenvolvimentoe avaliação deste trabalho foi utilizado um robô móvel com

Figura 1: Robô Pioneer P3DX

o mesmo modelo cinemático e dinâmico de uma cadeira derodas inteligente.

O robô móvel utilizado foi o robô da Pioneer P3DX daempresa Mobile Robots (ilustrado pela Figura 1). O robô P3DXpossui 16 sonares responsáveis por perceber o ambiente a seuredor, dois motores diferenciais (um para a roda esquerda eum para roda direita) e uma roda central com eixo giratório.

A. Controlando o robô móvel a partir do PC

O robô móvel P3DX da Mobile Robots é compatível coma biblioteca ARIA (fornecida também pela Mobile Robots)e ela é capaz de enviar comandos para o robô através dainterface serial do robô P3DX. A biblioteca ARIA possuífuncionalidades relacionadas a todos os periféricos existentesem todos os robôs fornecidos pela Mobile Robots, por estemotivo apenas os comandos relacionados a movimentação dorobô P3DX foram utilizados.

Comandos utilizados:• setVel - Imprime uma velocidade de translação no robô

móvel.• setRotVel - Imprime uma velocidade de rotação.

B. Computador de bordo

Embora o robô P3DX possua computador de bordo, esterecurso nativo não foi utilizado em decorrência da baixacapacidade computacional do processador, insuficiente para aimplementação de aplicativo que possibilite o rastreamento deuma pessoa em tempo real e controle de um robô móvel. Destaforma a solução utilizada desconsidera o computador de bordodo P3DX e utiliza para processamento um notebook colocadosobre o P3DX. O notebook, que atua como computador debordo, é ligado ao robô através de sua interface serial e suawebcam é usada como câmera de bordo. Desta maneira alatência entre a webcam e o computador é mínima, bem comoa latência entre o computador e os motores do robô móvel.

Figura 2: Diagrama de Pacotes

IV. SISTEMA DE ACOMPANHAMENTO

O sistema de acompanhamento de um alvo móvel deve sercapaz de caracterizar um alvo (a partir da identificação) eacompanhá-lo ao longo do trajeto.

A identificação pode ser realizada pelo próprio usuário, uti-lizando técnicas de BCI (‘Brain Computer Interface’), supondoque o paciente não possuí capacidades motoras para faze-lo,ou até mesmo pelo próprio cuidador a partir de um dispositivoexterno (um ‘tablet’ por exemplo).

Este sistema foi organizado em quatro pacotes: Controlador,Segmentador, Classificador e Supervisor, ilustrado pela Figura2 que representa um diagrama de pacotes UML [7].

A execução do sistema de acompanhamento é descritoatravés do diagrama UML de atividades ilustrado pela Figura3.

O funcionamento do sistema se inicia pela seleção do alvo,que é uma tarefa executada pelo usuário, que deve selecionaruma região dentro de um quadro adquirido pela câmera, ondeas cores alvo serão amostradas. Com as cores amostradas, atarefa seguinte é caracterizar o alvo extraindo os histogramasque descrevem as cores existentes na região amostrada (noscanais de Matiz, Saturação e Intensidade).

Uma vez caracterizado o alvo através de seu histograma decores, tem início o ciclo de acompanhamento propriamentedito. Este ciclo é realizado de forma iterativa e consiste em:

1) Segmentação do quadro adquirido e a extração dasregiões da imagem com cor similar a do alvo (segmen-tação por similaridade de histograma);

2) Classificação das regiões extraídas e identificação doalvo entre quadros (uso de morfologia matemática efiltro de Kalman);

3) Determinação da posição do alvo na imagem, expressapelo centro de massa da região correspondente ao alvo;

4) Controle dos atuadores para reposicionamento do robô(controlador de lógica fuzzy);

5) Atualização da descrição do alvo a partir da imagematual para compensação de variações de iluminação ealterações de cena.

6) Aquisição do novo quadro;

Figura 3: Diagrama de Atividades

A. Segmentação do alvo

O processo de caracterização utiliza um método baseadoem histogramas que caracteriza o alvo baseado nos tons queele possuí, e como esta mudança não é grande em curtosespaços de tempo é possível garantir que este ton não variasignificativamente de um quadro para o outro. O histogramaem cada um dos canais é normalizado com valores de 0 até 1para ser usado como filtro na imagem adquirida, ou seja, cadaelemento I[x], sendo I a imagem de entrada e x o universoque compõe a posição de todos os pixels de I de cada um doscanais, haverá um elemento I ′[x] que representa o valor deI[x] no histograma H , ou seja, H[I[x]] (ilustrado pela equação1) gerando assim, três canais (H ,S e V ) onde o valor doselementos diferente de zero representam tons encontrados nohistograma e sua magnitude representa a incidência desta corno histograma.

I ′[x] = H[I[x]] (1)

Como resultado serão gerada três imagens (I ′[x] no canalH ,S e V ) que são combinadas usando uma operação de uniãomorfológica (operação de mínimo) como descrito pela equação2 e uma operação de limiar t é aplicada definindo um valorde incidência mínima:

G = R′ ∩G′ ∩B′ = min(min(H ′, S′), I ′) (2)

A imagem gerada contém o alvo, porém o alvo pode estar

incompleto por conta de pequenas variações de iluminação oupor deformações do mesmo (por exemplo uma vestimenta nãorígida), para resolver este problema e também eliminar falsospositivos, é aplicado um filtro de abertura em área e em seguidaum filtro de fechamento para completar a representação do alvo[8].

B. Classificação do alvoCom o resultado da segmentação é gerado uma imagem

binária com um conjunto de blobs, sendo que um delesrepresenta o alvo. Na primeira iteração o alvo será o blob maispróximo da região demarcada pelo usuário, e nas seguintes elaserá determinada pela previsão da posição do centróide e seuerro, através do filtro de Kalman.

O centróide do alvo é descrito a partir de uma posição emum espaço bi-dimensional (no caso a tela), a posição é dadapor (L, C), ou seja linha e coluna. E a velocidade do objetoposicionado em (L,C) é descrito como (LV , CV ), ou sejavelocidade no eixo vertical e velocidade no eixo horizontal.Estes valores são estimados a partir da diferença da posiçãono quadro anterior, em uma relação entre o quadro atual e oquadro seguinte.

O filtro de Kalman [9] foi modelado utilizando a equação3: Li

Ci

LVi

CVi

=

1 0 1 00 1 0 10 0 1 00 0 0 1

.

Li−1Ci−1LVi−1

CVi−1

(3)

C. Determinação da posição do alvo e controle dos atuadoresO filtro de Kalman é capaz de estimar a posição do alvo

no quadro seguinte auxiliando na determinação do alvo naimagem adquirida através da câmera, esta posição não descrevea direção do alvo em relação ao robô, apenas descreve a dire-ção do alvo em relação a câmera, como pode ser visualizadona Figura 4. Mas como a câmera e o robô estão alinhadosno mesmo eixo é possível dizer que se o alvo está a direitada câmera ele também está a direita do robô e assim pordiante. Por conta desta restrição um controlador fuzzy iterativoé proposto:

O controlador fuzzy proposto possui três entradas (P ,dP eA) e duas saídas (H e V ), onde C representa a coluna descritaa partir do centroíde (determinada na etapa de classificação),dC derivada de C em relação ao tempo, A representa umareferência do crescimento da região que está sendo rastreada,H velocidade de rotação e V velocidade de translação.

O controlador fuzzy utilizado foi implementado a partir daproposta de Mamdani e tem as funções de pertinência descritaspelas Figuras 5 e 6, suas regras fuzzy descritas pelas tabelas Ie II.

A tarefa de de-fuzificação de H e V foi realizada atravéz damultiplicação de uma constante Hk e V k assim a velocidadepassada para o robô Hr e V r pode ser determinada a partirdas equações 4 e 5. Onde Hk e V k são valores experimentais,no contexto deste trabalho foram usados Hk = 20 graus/sece V k = 150 mm/sec.

Figura 4: Relação entre a câmera e o robô na determinação dadireção do alvo.

Hr = H ∗Hk (4)

V r = V ∗ V k (5)

PE M D

dPE ME E MM E M DD M D MD

Tabela I: Regras de P e dP para controle de H .

Entrada A: Maior Mantém MenorSaída V : Parado Normal Rápido

Tabela II: Regras de A para controle de V .

D. Atualização da descriçãoApós cada ciclo, uma nova imagem é adquirida e seg-

mentada usando o algoritmo descrito na sessão IV-A, e umnovo histograma é calculado a partir da imagem adquirida,utilizando a região segmentada como máscara (apenas os pixelsexistentes no processo de segmentação serão considerados nocálculo do novo histograma). Deste modo, o histograma usadona descrição do alvo é atualizado utilizando a equação 6:

Ht[v] = Ht−1[v] ∗ k +Ha[v] ∗ (1− k) (6)

Onde Ht representa o histograma no instante t, Ha repre-senta o histograma dos pontos referentes a região encontradado alvo no quadro atual e k representa o fator de adaptação.

(a) P

(b) dP

(c) A

Figura 5: Funções de pertinência dos conjuntos fuzzy deentrada.

Assim, o histograma que descreve o alvo é atualizado acada iteração, levando em consideração pequenas variações,tornando assim, o algoritmo tolerante a pequenas variações deiluminação a partir de uma adaptação iterativa.

V. RESULTADOS

O sistema foi avaliado de duas formas, a primeira é focadano sistema de rastreamento visual e a segunda focada nocontrole dos atuadores.

A primeira avaliação foi feita utilizando a câmera fixa eos motores desligados, e uma pessoa realizava movimentoscomplexos em frente a câmera de forma a testar a robustezdo algoritmo de rastreamento. A Figura 7 descreve o compor-tamento do centróide do alvo ao longo do tempo junto comos valores previstos pelo filtro de Kalman e corrigidos. O erromédio do filtro de Kalman foi de 6, 6 pixels na linha e 3, 6na coluna com um desvio padrão de 9, 3 na linha e 10, 3 nacoluna.

A segunda avaliação foi realizada com dois robôs móveis,o robô 1 representa o alvo e o robô 2 representa a cadeira

(a) H

(b) V

Figura 6: Funções de pertinência dos conjuntos fuzzy de saída.

Figura 7: Representação do comportamento do alvo durante aavaliação.

de rodas. O robô 1 (alvo) possuí uma marcação visual quesimplifica o processo de rastreamento, e assim a etapa decontrole pode ser avaliada. O robô 1 foi colocado a ummetro e meio a frente do robô 2 e o acompanhou durante umminuto enquanto o robô 2 realizava uma trajetória em formatoretangular. O robô 1 se locomoveu a 100mm/s durante umminuto, e logo em seguida parou e o robô 2 foi capaz demanter a distância média de 1, 609 metros como observado nográfico da Figura 8.

Figura 8: Representação da distância do alvo durante o pro-cesso de rastreamento.

VI. CONCLUSÃO

Num primeiro instante um sistema de acompanhamento ouuma sequência de tarefas que se interligam, parece ser algotrivial de se realizar, mas na realidade não é o que acontece.Existem os problemas como variação de iluminação, oclusãodo alvo, a taxa de captura de quadros, variação de textura queafetam diretamente a robustez do sistema.

Na implementação realizada, quando apareceram estes pro-blemas eles foram à medida do possível sanados e quandonão foi possível, foram reduzidos, para obter um desempenhoaceitável.

Este trabalho se difere dos demais pelo uso de apenascâmeras simples para o rastreamento do alvo, diminuindo ocusto da implementação do sistema.

Nos testes realizados foi possível verificar que o sistema pro-posto é robusto a movimentos complexos em combinação compequenas variações de iluminação e que o controlador é capazde acompanhar o alvo mantendo uma distância constante. Parase determinar concretamente a capacidade de rastreamento dosistema proposto em condições reais de uso, se faz necessárioque mais testes sejam realizados como o uso de robôs emambientes externos.

REFERÊNCIAS

[1] Instituto Brasileiro de Geografia e Estatística IBGE. Si-nopse do Censo Demográfico 2010. Instituto Brasileiro deGeografia e Estatística - IBGE, Rio de Janeiro, 2011.

[2] Y. Kuno, N. Shimada, and Y. Shirai. Look where you’regoing: A robotic wheelchair based on the integration ofhuman and environmen- tal observations. Robotics andAutomation, vol.10, 2003.

[3] E.S. Boy, C.L. Teo, and E. Burdet. Collaborative wheel-chair assistant. IROS2002, 2002.

[4] H. Seki, S. Shibayama, Y. Kamiya, and M. Hikizu.Practical obstacle avoidance using potential field for a

nonholonmic mobile robot with rectangular body. Interna-tional Conference on Emerging Technologies and FactoryAutomation, 2008.

[5] Tomoo Shibusawa, Yoshinori Kobayashi, and YoshinoriKuno. Robotic Wheelchair for Museum Visit. In SICE2008 - 47th Annual Conference of the Society of Instru-ment and Control Engineers of Japan, 2008.

[6] Y. Kobayashi, Y. Kinpara, T. Shibusawa, and Y. Kuno.Robotic wheelchair based on observations of people usingintegrated sensors. In Intelligent Robots and Systems,2009. IROS 2009. IEEE/RSJ International Conference on,2009.

[7] Russ Miles and Kim Hamilton. Learning UML 2.0:A Pragmatic Introduction to UML. O’Reilly Media, 1edition, 2006.

[8] E.R. Dougherty and R.A. Lotufo. Hands-on morphologicalimage processing. Tutorial texts in optical engineering.SPIE Press, 2003.

[9] Sebastian Thrun, Wolfram Burgard, and Dieter Fox. Pro-babilistic Robotics (Intelligent Robotics and AutonomousAgents). The MIT Press, 2005.