SISTEMA DE NAVEGAÇÃO EM AMBIENTES FECHADOS PARA UMA CADEIRA DE RODAS USANDO UM SERVIDOR DE ARQUIVOS XML COM INFORMAÇÕES DE ACESSIBILIDADE PAULO F. S. AMARAL*, JUAN CARLOS G.GARCÍA†, TEODIANO F. BASTOS FILHO*, MANUEL MAZO† * Departamento de Engenharia Elétrica, Universidade Federal do Espírito Santo Av. Fernando Ferrari 514, Campus de Goiabeiras 29075-910, Vitória, ES, Brasil E-mails: [email protected], [email protected] † Departamento de Electrónica, Universidad de Alcalá E. Politécnica Superior, Edifício Politécnico D-O-345 Campus Universitario, 28805, Alcalá de Henares, Madrid, España E-mails: [email protected], [email protected] Abstract⎯ This work deals with an indoor environment navigation system for a powered wheelchair based on xml files with maps, accessibility informations, routes and landmarks retrieved from the internet. These xml files contain the accessibility information for public and private buildings which should be located in an internet server specially created for this system. This paper presents the navigation system architecture in addition to a visual editor for the xml accessibility informations files and a control program for the wheelchair using this system. Keywords⎯ Wheelchair navigation, accessibility, navigation maps, route planning Resumo⎯ Este trabalho apresenta um sistema de navegação para uma cadeira de rodas em ambientes fechados a partir de arquivos xml contendo mapas, informações de acessibilidade, rotas e marcas de calibração buscados da internet. Estas informações de acessibilidade de edifícios públicos e privados devem estar disponíveis em um servidor criado especialmente para este serviço. A arquitetura do sistema de navegação junto com um editor visual dos arquivos xml de informações de acessibilidade e um programa de controle para uma cadeira de rodas usando esta arquitetura são mostrados. Palavras-chave⎯ Navegação de cadeira de rodas, acessibilidade, mapas de navegação, planejamento de caminhos 1 Introdução Para pessoas com alguma incapacidade de locomoção, as tarefas do dia a dia podem representar dificuldades às vêzes impossíveis de serem vencidas de uma forma autônoma. A cadeira de rodas, manual ou elétrica é um dispositivo que aumenta a capacidade de locomoção destas pessoas. Mas, para os cadeirantes, fazer um plano de locomoção em um local nunca antes visitado é muito difícil principalmente devido à falta de informações de acessibilidade (Ding, 2007) garantindo que exista um caminho possível de ser feito em cadeiras de rodas da entrada até ao local desejado. Para navegação em locais abertos o uso de um GPS (Global Positioning System) de alta precisão, associados a bases de dados de sistemas GIS (Geographic Information Systems), têm sido proposto em diversos artigos na literatura (Kurihara, 2004;Yi-Hui, 2005; Matsumoto, 2006). Esta configuração visa disponibilizar aos cadeirantes um sistema de navegação que indique, em tempo real, as informações de acessibilidade que possibilitem um deslocamento seguro de um ponto a outro ponto em ambientes abertos. Para a navegação em ambientes fechados não se pode dispor da informação de posicionamento do GPS. O maior esforço de pesquisa e desenvolvimento visa dar à cadeira de rodas um comportamento autônomo para se deslocar de um ambiente a outro. Diversos trabalhos tentam aplicar as técnicas desenvolvidas para a robótica móvel, usando sensores de medição 3D (Câmeras 3D ou sensores de varredura laser) para a localização da cadeira de rodas e a criação automática dos mapas do ambiente em uma técnica conhecida como SLAM (Simultaneous Localization and Mapping). Uma outra linha de pesquisa propõe a criação de espaços inteligentes, retirando da cadeira de rodas e jogando para o ambiente a capacidade de processamento/ sensoriamento necessária para gerar as informações e planos de navegação dentro do ambiente (Garcia, 2002; Jae-Han, 2007). Em (Marrón, 2002) é proposto um sistema de navegação baseado em uma modelagem do ambiente em uma árvore de nós hierarquicamente estruturada aproveitando as características arquitetônicas do edifício modelado, sendo esta informação buscada diretamente de algum sistema de transmissão existente nos espaços a serem percorridos pela cadeira de rodas. Neste trabalho a navegação é feita com base nas informações fornecidas pelos codificadores ópticos (encoders) acoplados aos motores da cadeira de rodas. Por outro lado, a calibração da posição da cadeira de rodas é feita com base na informação fornecida por uma câmera de video associada a marcas (Landmarks) visuais dispostas nas portas de passagem do ambiente. Em (Chuan-heng, 2004) é proposto um sistema para uma cadeira de rodas autônoma navegar em pequenas áreas. Tecnologias aplicadas a AGVs (Automatic Guided Vehicles) são utilizadas neste sistema de navegação baseado em mapas buscados de um servidor local. Neste trabalho, a tarefa de busca do melhor caminho é deixada para o servidor e não para o computador embarcado na cadeira. O sistema se baseia em um sistema de rádio para a localização da posição da cadeira de rodas e em rotas diretas entre nós de um caminho. Em (Jae-Han, 2007) é apresentado um método de navegação em ambientes interiores para robôs móveis de serviço usando mapas semânticos codificados em XML(eXtensible Markup Language) e posicionamento do robô baseado em sensores dispostos em um espaço denominado inteligente. Estes mapas semânticos descrevem as várias células de um ambiente, seus pontos de conexão e os sensores existentes em cada uma, simplificando as tarefas de roteamento. Este trabalho faz parte de um projeto de pesquisa que visa desenvolver uma ferramenta que possibilite a obtenção das informações de acessibilidade de ambientes fechados (prédios públicos ou privados, shopping centers, aeroportos, empresas etc.) de uma maneira simples e eficiente. Estas informações de acessibilidade de um determinado edifício serão disponibilizadas por um serviço de internet sendo que os administradores de prédios e locais públicos poderão cadastrar estas informações na forma de arquivos XML contendo a descrição dos mapas dos andares e dos acessos, locais de interesse e rotas ótimas para uma cadeira de rodas se deslocar dentro do edifício, além de marcas visuais que terão a finalidade de fazer a correção e identificação dos locais por onde passa a cadeira de rodas. Embora os trabalhos relacionados apresentem soluções para a navegação autônoma de uma cadeira de rodas em ambientes interiores, nenhum deles consegue estabelecer uma estrutura que permita a navegação de uma cadeira de rodas em edifícios partindo de um ponto em uma calçada externa e podendo chegar a qualquer lugar de interesse, em qualquer andar do edifício e também realizar a navegação entre locais dentro do mesmo edifício, como é o sistema proposto neste trabalho. De uma forma específica, este trabalho apresenta a definição da arquitetura do sistema para a navegação em edifícios com vários andares, a criação de um editor de arquivos XML contendo as informações dos mapas métricos e informações de acessibilidade e um programa de controle para uma cadeira de rodas que busca estes arquivos do servidor de internet via um telefone celular e permite o controle autônomo da cadeira de rodas para a navegação dentro do edifício, usando as informações contidas nos arquivos XML. 2 Arquitetura do sistema de navegação para ambientes interiores A Figura 1 mostra os componentes principais da arquitetura de navegação para uma cadeira de rodas em ambientes interiores aqui proposta. Como grandes blocos temos nesta figura um servidor de internet dedicado para o armazenamento dos arquivos XML contendo as informações de acessibilidade. Na parte superior direita temos uma estrutura localizada nos vários edifícios, responsável pela criação e atualização dos arquivos XML e na parte inferior o sistema embarcado na cadeira de Figura 1. Diagrama de blocos do sistema proposto. rodas. Este sistema embarcado tem como funções enviar a sua posição geográfica obtida de um GPS, buscar do servidor de internet via telefone celular a informação de edifícios próximos da sua localização cadastrados no sistema, escolher um edifício desejado e buscar os arquivos XML do edifício escolhido. A partir das informações de acessibilidade e dos mapas contidos nestes arquivos, realizar a navegação autônoma da cadeira para qualquer local desejado pelo usuário. A escolha dos locais a serem visitados pode ser feita por um sistema de menus ou por uma indicação direta nos mapas dos andares, escolha esta realizada por um mouse comum ou por um mouse de cabeça usando acelerômetros, conforme mostram os módulos da Figura 1. Futuramente pretende-se aproveitar a estrutura de comunicação e localização para implementar um sistema de monitoramento de sinais biológicos e localização do cadeirante também mostrado na Figura 1. 2.1 Modelagem do mapa e das informações de acessibilidade em arquivos XML Para ir em um local desejado situado dentro de um determinado edifício, ao chegar em uma posição próxima do edifício, o usuário da cadeira de rodas pode obter informações sobre o melhor ponto de entrada do edifício, o melhor caminho até um elevador que chega ao andar desejado e o melhor caminho da saída do elevador até o local procurado. Estes caminhos devem ser possíveis de serem realizados por uma cadeira de rodas, não podendo ter escadas, corredores estreitos, portas difíceis de abrir etc., que impedem a sua realização por um cadeirante. Para satisfazer a estes requisitos no sistema é proposto um conjunto de arquivos XML para descrever os caminhos de acesso ao edifício a ser visitado, a posição de suas entradas possíveis para uma cadeira de rodas, o mapa de cada andar do edifício com a posição de elevadores, portas e lugares de acesso público, marcas de calibração da posição da cadeira de rodas ao passar por elas e rotas ótimas, livres de obstáculos físicos entre cada marca e as suas vizinhas. Na arquitetura proposta, um edifício a ser visitado é considerado como tendo um andar térreo, n andares e k subsolos, definidos por arquivos XML com os seguintes formatos. - Arquivo Edificio.xml: Neste arquivo (mostrado na Figura 2) são definidas as quantidades de andares e de subsolos que o edifício possui, a posição em coordenadas UTM do mapa de acesso ao edifício, a localização e orientação da planta do andar térreo em relação ao mapa de acesso ao edifício, e os limites do mapa de acesso e da planta térrea para definir a sua escala inicial na tela do computador da cadeira de rodas. Neste exemplo as coordenadas são dadas em centímetros. No arquivo também são definidos os elevadores existentes no edifício e quais andares eles atendem. mapa de acesso ao edifício. A Figura 3 mostra os campos principais do arquivo XML dos andares. Figura 3. Estrutura do arquivo XML que descreve o andar. As linhas de 3 a 13 do arquivo de andar representam o mapa vetorial do andar podendo ter as figuras geométricas linhas, retângulos, elipses e polígonos, formando o mapa em escala do andar. O referencial do andar é sempre considerado o campo superior esquerdo da figura. Para aumentar a precisão do mapa codificado em XML, estas figuras podem ser importadas de um arquivo DXF do desenho de construção do andar. As linhas 14 a 16 codificam as portas de acesso a corredores e salas dos locais a serem visitados no edifício, e as linhas 17 a 23 representam as posições e orientações das marcas de calibração dos trajetos a serem percorridos no andar. Estas marcas possuem um tipo, podendo ser marcas de circulação, marcas de acesso ao edifício ou marcas de elevadores do edifício. - Arquivos InfoAndar.xml: Para cada arquivo XML de andar corresponde um arquivo XML de informações de acessibilidade do andar, tendo o nome InfoAndar seguido da mesma terminação dos andares correspondentes. A Figura 4 mostra o formato dos campos existentes neste arquivo de informações de acessibilidade. Figura 2. Arquivo XML com parâmetros básicos de um edifício. - Arquivos Andar.xml: Estes arquivos definem os mapas de cada andar junto com as portas do andar e as marcas de calibração (Landmarks) dos trajetos a serem realizados pela cadeira de rodas. Se um edifício tiver 3 andares e 2 subsolos com locais possíveis de serem visitados por um cadeirante, teremos um total de 7 arquivos com esta estrutura. Um arquivo para cada andar e subsolo, um arquivo para o andar térreo e um arquivo para o Figura 4. Estrutura do arquivo XML que descreve as informações de acessibilidade do andar. Este arquivo define todos os setores existentes no andar e os locais de cada um destes setores possíveis de serem visitados. Para cada local existe uma ou mais origens, ou seja, marcas mais próximas que podem originar um caminho para o local. Para cada origem é definido um trajeto ligando aquela origem ao local correspondente. As linhas 3 a 21 da figura 4 mostram a estrutura de definição destes locais e trajetos no arquivo XML. O trajeto de uma marca até um local pode ser definido como uma seqüência de retas ou por uma porta associada a um corredor, como mostra a linha 18 do arquivo. As linhas 22 a 32 mostram os campos de definição das rotas ligando as marcas com as suas vizinhas. Estas rotas são traçadas seguindo caminhos ótimos e livres de obstáculos, tendo um comprimento não muito longo, permitindo que o seu controle de percurso seja realizado usando os sinais de posicionamento oriundo dos codificadores ópticos da cadeira de rodas. As linhas 33 e 34 mostram um exemplo de definição de um corredor em um andar. O corredor é definido por uma marca e um trecho de reta ou por duas marcas e um trecho de reta (uma rota existente) ligando as duas marcas. Com a definição de portas associadas a estes corredores, o caminho de uma marca até a porta é obtido por intersecção de retas, sendo gerado automaticamente. 2.1 Planejamento dos trajetos a serem percorridos pela cadeira de rodas A figura 6 mostra um esquema da estrutura das informações de acessibilidade descritas nos arquivos XML definidos. Os locais de interesse são armazenados como setores. Cada setor pode ter vários locais, e cada local pode ser acessado por um retas ligando as origens aos locais são os trechos definidos para alcançar um local a partir de uma origem. O algoritmo para planejar o melhor caminho de um local onde está a cadeira de rodas, até outro local escolhido, leva em conta o menor trajeto possível, usando uma variação do algoritmo de Dijkstra (Dijkstra,1959) a partir das rotas existentes no arquivo XML. Todos os trajetos possíveis, usando todas as origens possíveis, são analisados, e o trajeto mais curto é escolhido como trajeto ótimo. Se o destino desejado se encontrar no mesmo andar em que está a cadeira de rodas, o trajeto direto é encontrado. Se o destino estiver em um outro andar, o trajeto é dividido para, primeiro, chegar no elevador mais próximo que atende aos dois andares e, depois, saindo do elevador no andar destino, chegar ao local desejado. Uma vez definido o trajeto da cadeira de rodas, o programa de controle comanda os motores para seguir os trechos de retas e giros definidos em cada parte do trajeto. A determinação da posição da cadeira de rodas é feita pela integração dos pulsos gerados pelos encoders dos motores (Deadreckoning) entre as marcas de calibração. Quando a cadeira chega a uma marca, por meio de uma câmera de vídeo apontada para o teto e de marcas contendo informações da identificação da marca, sua posição e sua orientação (Garcia,2002) são obtidas e, assim, é possível fazer a calibração da posição absoluta da cadeira de rodas. Este modo autônomo de navegação poderá ser interrompido a qualquer instante pelo acionamento de um joystick (manual, de sopro ou de cabeza) a bordo da cadeira de rodas, ou pela detecção de algum obstáculo no caminho, por meio dos sensores de distância de ultra-som, quando o modo manual de navegação poderá ser usado para desviar do obstáculo. Uma vez superado o obstáculo o usuário poderá comandar a volta para o modo autônomo de navegação para a continuação do trajeto. Qualquer alteração nas rotas existentes, seja por uma colocação de um obstáculo no caminho, como um quiosque em um centro comercial, ou por uma porta automática ou elevador com defeito, o responsável pelo serviço no edifício deve editar a rota e enviar um novo arquivo XML contendo a modificação. Com esta modificação o algoritmo de planejamento do trajeto vai escolher um novo trajeto ótimo com as rotas disponíveis. 3 Resultados Figura 5. Árvore de marcas de calibração para o planejamento dos trajetos. número de origens, que são marcas de navegação, representadas por círculos na Figura 5. As retas ligando os círculos representam as rotas definidas entre as marcas de navegação e suas vizinhas. As Este trabalho encontra-se em desenvolvimento no Departamento de Electrónica da Universidad de Alcalá (Espanha) no âmbito do Projeto de Pesquisa EINTA (Espaços INteligentes na Tecnologia Assistiva) financiado pelo acordo CAPESMECD/Espanha. Sob este projeto está sendo construída uma nova cadeira de rodas inteligente Figura 8. Posição do usuário e o acesso mais próximo ao edifício. Figura 6. Tela principal do editor de arquivos XML com informações de acessibilidade. com uma arquitetura de controle distribuída usando três processadores embutidos ARM-LPC2194 da NXP Semiconductors interligados por um barramento CAN (Control Area Network) entre sí e a um computador portátil, com um monitor sensível ao toque e conectado à internet usando telefonia celular. No barramento USB do computador estão ligados o telefone celular, o GPS, uma câmera de vídeo para a calibração da posição da cadeira de rodas e um mouse de cabeça usando acelerômetros. Em um dos processadores ARM, responsável pelo comando manual da cadeira, estão conectados um joystick normal e um sensor de sopro para comando da cadeira. A parte de potência é realizada por um outro processador ARM e por uma placa de controle de motores AX3500 da Roboteq. O último processador ARM é responsável pela aquisição e processamento dos sinais dos sensores de ultra-som e acelerômetro de 3 eixos para parada de emergência por choque Figura 7. Tela para a criação das informações de posicionamento geográfico do edifício a ser visitado. com obstáculos. A Figura 6 mostra uma tela do programa editor dos arquivos XML de informações de acessibilidade desenvolvido. Este programa permite a criação dos mapas vetoriais de cada um dos andares de um edifício e das informações de acessibilidade (Setores, locais, origens, rotas e caminhos entre os locais e as origens) necessárias para o planejamento e a execução autônoma dos trajetos comandados pelo usuário. A Figura 7 mostra um bitmap de um mapa georeferenciado do edifício da Escuela Politécnica da Universidad de Alcalá, usado como exemplo, para a criação no programa editor, dos mapas de acesso em XML e para o posicionamento geográfico do andar térreo do edifício, junto com as suas entradas acessíveis para uma cadeira de rodas. A Figura 8 mostra a tela de navegação do programa de controle da cadeira de rodas. Nesta figura o usuário já escolheu o edifício da Escuela Politécnica e, uma vez buscado os arquivos XML de informações de acessibilidade, ficará disponível a tela de posicionamento geográfico do andar térreo do edifício, junto com a posição atual da cadeira de rodas e o acesso ao edifício mais próximo da cadeira. O local desejado (Departamento 1, Secretaria) já foi escolhido, e o planejamento do trajeto já foi feito. Figura 9. Trajeto ótimo entre a entrada ENT03 e o local desejado. A figura 9 mostra a parte do trajeto correspondente da entrada 03 até ao local desejado, passando por cada uma das marcas de calibração existentes. Nesta tela do programa de controle é que o usuário pode navegar dentro do edifício, selecionando nas caixas de escolha à direita o setor e o local desejado, usando o mouse. Se o usuário conhecer locais diretamente no mapa a escolha pode ser feita tocando diretamente no ponto desejado. Esta tela permite também a mudança do andar do edifício para realizar a navegação entre locais em andares diferentes. A partir de cada segmento de reta e de cada marca de orientação mostrado no campo Componentes da Trajetória da Figura 9 é que o programa de controle da cadeira realiza a navegação autônoma de um ponto até ao destino desejado. Atualmente o projeto se encontra nas etapas finais de montagem da cadeira de rodas e na sua interligação com o programa de controle desenvolvido. 4 Conclusão Este trabalho apresentou a proposta de um sistema de navegação autônoma para uma cadeira de rodas baseado em arquivos XML contendo informações de acessibilidade disponíveis em um servidor especialmente criado para este fim. Foi apresentado também um editor dos arquivos XML necessários e um programa de controle para a cadeira de rodas. Edifícios públicos e privados podem criar, armazenar e manter atualizados estes arquivos de acessibilidade, permitindo uma navegação da cadeira de rodas em caminhos ótimos entre quaisquer locais do edifício. Diferentemente de outros trabalhos, para o sistema proposto não é necessária uma estrutura de alto custo de equipamentos no edifício. Apenas a colocação de marcas de calibração no teto em pontos especiais é suficiente para permitir a navegação da cadeira de rodas. Os equipamentos necessários para a navegação autônoma com este sistema não são complexos e na sua maior parte já estariam disponíveis na cadeira de rodas para um sistema de navegação externa, tais como o GPS e o telefone celular para acesso à internet. O sistema proposto também pode ser utilizado por cadeirantes que não disponham de uma cadeira de rodas com os recursos necessários para a navegação autônoma, já que as informações de acessibilidade também podem ser disponibilizadas na tela de um computador de mão, sendo fornecida a melhor rota para um cadeirante que possua uma cadeira de rodas tradicional. Agradecimentos Este trabalho teve suporte financeiro da CAPES sob o número BEX1142/08-9. Referências Bibliográficas Ding, D., Parmanto, B., Karimi, H. A., Roongpiboonsopit, D., Pramana, G., Conahan, T. e Kasemsuppakorn, P.(2007). Design Considerations for a Personalized Wheelchair Navigation System, Engineering in Medicine and Biology Society, EMBS 2007, 29th Annual International Conference of the IEEE, pp. 4790 – 4793. Kurihara, M., Nonaka, H. e Yoshikawa, T.(2004). Use of highly accurate GPS in network-based barrier-free street map creation system, IEEE International Conference on Systems, Man and Cybernetics, Vol. 2, pp.1169 – 1173. Matsumoto, O., Komoriya, K., Hatase, T., Nishimura, H., Tsutomu H. e Hideki N.(2006). Autonomous Traveling Control of the "TAO Aicle Intelligent Wheelchair, IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 4322 – 4327. Yi-Hui W., Bing-Yuh L., Heng-Yin C., Yao O., Jinshin L., Te-Son K. e Fok-Ching C.(2005). The Development of M3S-Based GPS Navchair and Tele-Monitor System, IEEE-EMBS 2005, 27th Annual International Conference of the Engineering in Medicine and Biology Society, pp. 4052 – 4055. Garcia, J. C. G., Marrón, M., Mazo, M. e Ureña, J. ( 2002). Positioning and localization system for autonomous wheelchairs, IECON 02 IEEE 2002 28th Annual Conference of the Industrial Electronics Society, Vol. 2, pp. 1555 – 1560. Jae-Han, P., Seung-Ho, B. e Moon-Hong B.(2007). An Intelligent Navigation Method for Services Robots in the Smart Environment, International Conference on Control, Automation and Systems, Seoul, pp.494-497 Marrón, M. e Garcia, J.C.G. (2002). Sistema de navegación autónoma en entornos interiores estructurados, TELEC`02 International Conference, pp.1-4. Chuan-heng H., Ming-long L., Yuan-Chung S. e Feipei L.( 2004). A design of small-area automatic wheelchair, IEEE International Conference on Networking, Sensing and Control, Vol. 2, pp. 1341 – 1345. Dijkstra, E.W.(1959). A note on two problems in conexion with graphs, Numerische Mathematik, pp.269-271.