• Nenhum resultado encontrado

Educação a Distância em Robótica e Visão Computacional

N/A
N/A
Protected

Academic year: 2021

Share "Educação a Distância em Robótica e Visão Computacional"

Copied!
9
0
0

Texto

(1)

Samuel Siqueira Bueno, Alberto Elfes Instituto de Automação Centro Tecnológico para Informática

Caixa Postal 6162 Campinas SP 13083-970

email: [email protected]

Resumo

Laboratórios Virtuais são importantes componentes de programas de educação e pesquisa a distância. Neste artigo é apresentado o estágio atual de desenvolvimento do REAL, um laboratório de pesquisa em robótica acessível pela Internet. O laboratório foi criado com o intuito de prover acesso a um robô móvel a pesquisadores localizados em qualquer parte do país, para que possam testar e validar métodos de navegação robótica e visão computacional. O laboratório é baseado em técnicas de telepresença e implementado através da arquitetura cliente-servidor; e pode ser acessado através de qualquer computador conectado à Internet. A principal contribuição deste trabalho é a criação de uma ferramenta de pesquisa a distância para aproximar grupos geograficamente dispersos e integrar seus recursos laboratoriais.

Abstract

Virtual laboratories are important components of distance learning and research programs. This

article presents the current development of REAL, a robotics research virtual laboratory

accessible via the Internet. The laboratory was created in the aim to provide access to a mobile

robot to researchers located anywhere in the country, so they can test and validate robotic

navigation and computer vision methods. The laboratory is based on telepresence techniques

and implemented as a client-server architecture; it can be accessed via any computer connected

to the Internet. The article's main contribution is the creation of a telepresence tool for distance

learning and research that brings together geographically distant research groups.

Palavras-chave: laboratório virtual, educação a distância, robótica, visão computacional,

(2)

1.

1

Introdução

A experiência prática é uma componente muito importante da educação, mas os recursos para a construção de experimentos práticos no estado da arte estão muitas vezes além da capacidade de muitas instituições de ensino. Para permitir que cada vez mais pessoas tenham acesso à experiência prática, estudos estão sendo realizados para a criação e implantação de laboratórios virtuais. Tais laboratórios constituem-se em ferramentas que permitem o acesso a distância a material educacional e laboratorial existentes em locais distintos, e muitas vezes distantes, daquele onde encontra-se a pessoa que os acessa. Um laboratório virtual permite a aproximação de grupos de pesquisa geograficamente dispersos através da comunicação de dados, sons e imagens, e promovem a integração de seus recursos computacionais pela interoperabilidade de dados e aplicativos.

Um laboratório virtual também permite que usuários utilizem remotamente os equipamentos de laboratórios reais, como se estivessem presentes fisicamente no laboratório. Dentre os diversos benefícios deste tipo de laboratórios virtuais, destacam-se:

• o compartilhamento de equipamentos até então restritos a um número limitado de pessoas por múltiplos usuários, em diferentes localidades geográficas;

• o aumento do acesso a materiais pedagógicos por parte de estudantes, professores, pesquisadores e profissionais;

• o estabelecimento de padrões de divulgação de trabalhos científicos, principalmente em áreas práticas, uma vez que os pesquisadores podem demonstrar, de forma experimental, métodos propostos em simulação;

• o aumento de produtividade através da redução do tempo de viagens;

• a capacitação de pesquisadores a participar de experimentos distribuídos geograficamente.

Uma das possíveis formas de implementação de laboratórios virtuais é utilizando-se a arquitetura cliente-servidor (Fig. 1). O usuário, através de uma máquina cliente, conecta-se a uma máquina cliente-servidora, que executará um processo que resultará em uma ação no ambiente remoto.

Fig. 1: Implementação de um laboratório virtual

utilizando a arquitetura cliente-servidor.

Por serem áreas onde resultados experimentais são fundamentais para a validação de métodos propostos, robótica e visão computacional beneficiam-se largamente do conceito de laboratórios virtuais. Para prover acesso a equipamentos robóticos e de visão escassos no país, os autores criaram o Laboratório de Pesquisa em Robótica Acessível pela Internet, ou REAL (do inglês Robotics Research Internet-Accessible Laboratory). Este laboratório virtual é implementado através de técnicas de telepresença, conceito este que pode ser entendido como a união das capacidades de telemonitoração e teleoperação de um espaço remoto. No caso do REAL, a telemonitoração se dá através de câmeras de vídeo, enquanto que a teleoperação se dá através da movimentação de um robô móvel.

Uma componente fundamental de um laboratório virtual é a interface que permite ao usuário interagir com o ambiente remoto. O projeto de tal interface deve ser feito cientificamente, de forma a torná-la o mais agradável de usar e eficiente possível. Métodos e diretrizes para projetos de interfaces da área de

(3)

seu uso pela comunidade de robótica no país, e considerações sobre a extensão do conceito para outras áreas do conhecimento. O artigo está dividido da seguinte forma: na seção 2 é apresentada a proposta do laboratório virtual. Na seção 3 é detalhado o funcionamento do laboratório. As conclusões dos autores são apresentadas na seção 4.

2.

2

REAL: Um Laboratório de Pesquisa em Robótica Acessível

pela Internet

Nesta seção são apresentados os detalhes técnicos do REAL, ou seja, a arquitetura cliente-servidor, os subsistemas de telepresença e a interface homem-máquina. Maiores informações podem ser encontradas em (Queiroz et al., 1997).

1. 2.1 Arquitetura Cliente-Servidor

No REAL, a comunicação entre o usuário e o ambiente remoto é feita através de uma interface gráfica, desenvolvida com as linguagens de programação HTML e Java, acessível através de browsers da Internet. Esta escolha permite que o sistema seja executado a partir de qualquer computador conectado à Internet, sem que o usuário tenha que utilizar o mesmo tipo de arquitetura onde a interface foi construída. De uma forma geral, o sistema funciona da seguinte maneira (Fig. 2):

o usuário, através de uma máquina cliente, requisita a página de entrada a um daemon http; o daemon envia ao cliente a página HTML;

a página HTML faz referência a um applet em linguagem Java, o qual é enviado posteriormente; o applet estabelece uma conexão via socket com um daemon de ação, responsável por executar todas

as ações no ambiente remoto;

o daemon de ação, após realizar a ação no ambiente remoto, retorna ao usuário o resultado da operação.

Fig. 2: Sequência de eventos da comunicação cliente-servidor.

O robô móvel utilizado é o robô Nomad 200 (Fig. 3), fabricado pela Nomadic Technologies, Inc. de 75 cm de altura. O robô possui sensores de ultrasom, de infravermelho e de tato, e uma câmera monocromática, montada sobre um mecanismo de pantilt.

(4)

Fig. 3: Robô móvel Nomad 200.

2. 2.2 Subsistemas de Telepresença

O laboratório virtual REAL é composto por dois subsistemas de telepresença – teleoperação e telemonitoração – combinados com um esquema de auto-proteção.

O subsistema de telemonitoração permite ao usuário visualizar e monitorar o ambiente onde o robô se encontra. O subsistema utiliza duas câmeras, uma montada sobre o robô móvel e outra instalada no teto da sala, que fornece uma visão geral do local de trabalho.

O subsistema de teleoperação permite que o usuário atue no ambiente remoto, através da movimentação do robô móvel, conforme explicado na seção 3.

Um sistema de auto-proteção foi desenvolvido a fim de garantir a integridade do ambiente remoto, não permitindo ao robô que se mova sem que haja espaço suficiente para isto. Esta checagem é feita através dos sensores montados no robô, antes e durante a execução de qualquer movimento. Desta forma, mesmo que haja atrasos na rede, a integridade e a segurança dos equipamentos e pessoas situadas no ambiente remoto sempre é preservada.

3. 2.3 Interface Homem-Máquina

A interface homem-máquina (interface, por simplicidade) é um elemento imprescindível para a aceitação de um sistema interativo pelo usuário. Estudos mostram que o usuário, muitas vezes, prefere um sistema com uma interface “agradável” a um que ofereça maior funcionalidade ou desempenho às custas de uma interface mais pobre, uma vez que a eficiência do usuário é influenciada pela interface.

Dada a importância da interface em sistemas interativos, todos os aspectos envolvidos na sua construção devem ser analisados, sobretudo aqueles que envolvem fatores humanos. Se os fatores humanos são levados em consideração, o diálogo é amigável e um ritmo é estabelecido entre o homem e a máquina. Em caso contrário, o sistema será visto como “não-amigável”.

Anos de pesquisas na área de Interação Homem-Máquina resultaram na definição de diretrizes para auxiliar o projeto de interfaces amigáveis. Baseados nestas diretrizes, foi projetada uma interface para permitir a interação de usuários com o REAL (Queiroz et al., 1998). O resultado é uma interface que consiste em uma janela principal, que é a pagina de entrada do laboratório virtual, e duas janelas agrupando, respectivamente, funções para processamento de imagens e funções para movimentação do robô móvel (Fig. 4). Estas duas janelas são obtidas quando se pressionam os botões Robot Commands e Image Processing na janela principal.

(5)

Fig. 4: Página de entrada e janelas de comandos da interface do REAL.

A página de entrada é uma interface amigável por sua clareza e simplicidade. Ela apresenta comandos e janelas auto-explicativos, o que elimina a necessidade de memorização dos comandos por parte do usuário, e possui tais comandos agrupados logicamente, o que aumenta a eficiência do diálogo. A página consiste nos seguintes componentes:

Robot’s World: janela que apresenta ao usuário uma visão do mundo que está à volta do robô e permite ao usuário estipular um destino para o robô, conforme será explicado na seção 3.2;

Move: botão que permite ao usuário enviar o robô ao ponto estabelecido na janela acima citada; • Camera View: janela que transmite ao usuário a imagem vista pela câmera do robô;

(6)

Processed Image: janela que apresenta ao usuário a versão processada da imagem descrita acima. As opções de processamento são descritas na seção 3.1.1;

Robot Commands: este botão abre a janela de menu de comandos do movimento do robô, descrita na seção 3.1.2;

Image Processing: este botão abre a janela de funções de processamento de imagens, descrita na seção 3.1.1;

• Abaixo dos botões descritos há uma área retangular aonde são transmitidas ao usuário mensagens de erro e do status dos comandos por ele enviados ao Laboratório Virtual.

3.

3

Funcionalidade do Laboratório Virtual

Através do REAL é possível atuar sobre o robô de duas maneiras: através de primitivas básicas de telepresença ou através de métodos de telepresença avançada. O detalhamento destes dois modos é apresentado na sequência.

1. 3.1 Primitivas Básicas de Telepresença

1. 3.1.1 Primitivas de Telemonitoração

No REAL, uma série de funções de processamento de imagens auxiliam o usuário na compreensão e monitoração do ambiente remoto. Tais funções estão disponíveis através da janela de funções de processamento de imagens. Esta janela apresenta ao usuário, em forma de menu, várias opções de filtros e transformações que lhe permitem processar a imagem fornecida na janela Camera View.

Exemplo: A Fig. 4 apresenta, na janela Processed Image, uma imagem que corresponde às bordas

presentes na imagem em Camera View. Para obter esta imagem, basta ao usuário abrir a janela de funções de processamento de imagens, escolher a opção Edge Enhancement e, posteriormente, Laplacian. O usuário é noticiado quando o processamento se completa.

2. 3.1.2 Primitivas de Teleoperação

A movimentação do robô ocorre através da execução de alguns comandos básicos, disponíveis ao usuário através da janela de movimentação do robô. Tal janela consiste em 5 áreas, que contém, respectivamente, os comandos de movimentação propriamente ditos, comandos de edição, uma área de texto para mostrar ao usuário os comandos de movimentação já escolhidos, um botão que executa os movimentos do robô, e uma área de texto para mensagens de status e de erro.

De uma forma geral, a teleoperação do robô dá-se da seguinte forma: o usuário pressiona os botões correspondentes aos comandos de movimentação a serem executados em sequência. A cada comando escolhido, a interface pede ao usuário que escolha o parâmetro do comando, que é o ângulo no caso de rotações ou a distância no caso de translações. Para facilitar a operação por usuários novatos, valores default de 45 graus para rotação e 1 metro para translação são automaticamente escolhidos, caso o usuário não digite nenhum valor. O usuário pode apagar comandos que ele porventura decida retirar da lista, ou mesmo apagar toda a lista, usando os comandos de edição. Uma vez pronta a lista de comandos, o usuário pressiona o botão Move Robot e a lista é enviada ao robô, que a executa. Se todos os comandos forem executados com sucesso, uma mensagem indicando tal fato aparece na área de texto. Caso algum dos comandos não possa ser realizado (por exemplo, quando o comando implicar em uma colisão do robô com o ambiente), uma mensagem de erro é enviada ao usuário e os comandos subsequentes são ignorados.

Exemplo: As figuras 5A a 5H apresentam a seguinte sequência de operações para a definição e execução

de uma lista de comandos:

1) o usuário pressiona o botão Zeroing, que remete o robô à sua posição base. Como este comando não necessita de nenhum outro dado adicional, ele é inserido diretamente na lista de comandos (Fig. 5A); 2) o usuário pressiona o botão Turn Left (Fig. 5B). Nesse caso a interface pede ao usuário que entre com

o ângulo de giro. No exemplo, o usuário digita 45 (Fig. 5C).

3) o usuário pressiona o botão Go Ahead. Novamente, a interface pede ao usuário que entre com a distância a ser percorrida, 1m neste exemplo (Fig. 5D).

4) continuando o raciocínio acima, o usuário insere na lista os comandos Turn Right 45 degrees e Go

Back 2m (Fig. 5E). Entretanto, antes de mandar o robô executar tais movimentos ele volta atrás nas suas decisões e decide apagar alguns comandos. Para isto, ele seleciona na lista aqueles comandos que

(7)

(Zeroing, Go Ahead: 1m, Turn Right: 45 degrees) são enviados ao robô e, nesse caso, executados com sucesso, tal qual comprovado pela mensagem de êxito da Fig. 5H. A evolução real do robô no laboratório é mostrada na Fig. 6.

(A) (B) (C) (D) (E) (F) > (G) (H)

Fig. 5: Sequência de operações realizadas na janela

de funções de movimentação do robô.

(8)

(C) (D)

Fig. 6: As posições do robô no início (A) e após realizar os comandos Zeroing (B),

Go ahead: 1m (C) e Turn Right: 45 degrees (D).

2. 3.2 Telepresença Avançada

Além dos modos básicos apresentados na seção acima, existe a possibilidade de se atuar sobre o robô de uma maneira mais rápida, clara e eficiente, utilizando-se a janela Robot’s World.

Através desta janela o usuário pode definir um ponto ao qual ele deseja que o robô deve ir, bastando para isso “clicar” em algum ponto da imagem. Uma vez que este ponto esteja definido basta o usuário mandar o robô se mover através do botão Move.

Este tipo de atuação sobre o robô é mais avançada do que o modo anterior, pois neste caso o sistema estabelece automaticamente uma lista de comandos para sair de um ponto inicial e chegar a um ponto final. Para que isso possa acontecer uma série de processamento de imagens é feita a fim de identificar na imagem qual a posição inicial e qual a direção da frente do robô. Uma vez que tais informações são obtidas, um cálculo da trajetória de tempo mínimo consegue estabelecer quantos graus o robô deve girar e qual a distância ele deve percorrer para chegar ao ponto final desejado. A Fig. 7 ilustra este conceito com duas imagens: uma com o robô na sua posição inicial e o ponto para o qual ele deve se dirigir e outra logo após chegar ao destino final.

(A) (B)

Fig. 7: (A) A posição inicial do robô e o ponto para o qual ele deve se dirigir e

(B) e a posição final do robô.

4.

4

Discussão

Laboratórios virtuais são ferramentas de fundamental importância para o ensino a distância. Nos próximos anos, espera-se que haja um grande aumento na quantidade e qualidade de tais laboratórios. Pesquisadores em robótica e visão computacional, particularmente, beneficiam enormemente do conceito, principalmente em países em desenvolvimento, onde recursos computacionais e laboratoriais são escassos. Existem atualmente outros laboratórios virtuais nestas áreas, que permitem a teleoperação de robôs espaciais, teste numérico de algoritmos de navegação e colaboração em projetos (Backes et al. 1997; Goldberg et al., 1995; McDonald et al., 1997; Paulos e Canny, 1996; Piccinocchi et al. 1997). O laboratório virtual aqui apresentado diferencia-se destes por permitir não só a teleoperação de um robô móvel mas também a validação prática, a distância, de métodos de navegação e visão. Os autores irão disponibilizar o laboratório à comunidade de pesquisa de duas formas diferentes:

• pesquisadores da área de visão computacional poderão enviar aos autores seus códigos de processamento de imagens, em adição aos já existentes. Através do menu de funções de processamento de imagens eles poderão testar seus algoritmos nas imagens reais geradas pela câmera do robô;

(9)

A arquitetura cliente-servidor proposta pode ser facilmente adaptada para a criação de laboratórios virtuais em outras áreas do conhecimento. Como um exemplo, a substituição do robô por um microscópio permite a criação de um laboratório virtual de biologia ou medicina. Os autores crêem que desta forma parcelas cada vez maiores da população terão acesso a experiência prática sem que instituições necessitem dispender vultosos recursos em equipamentos.

5.

5

Agradecimentos

Este trabalho é parcialmente financiado pela FAPESP, Fundação de Amparo à Pesquisa do Estado de São Paulo, através dos auxílios 97/06619-8 e 96/11910-0.

6.

6

Referências

P.G. Backes, G.K. Tharp, K.S. Tso (1997). The Web interface for telescience. IEEE International Conference on Robotics and Automation, Albuquerque, NM, EUA.

K. Goldberg, M. Mascha, S. Gentner, N. Rothenberg, C. Sutter, J. Wiegley (1995). Desktop teleoperation via WWW. International Conference on Robotics and Automation, Nagoia, Japão.

M.J. McDonald, D.E. Small, C.C. Graves, D. Cannon (1997). Virtual collaborative control to improve intelligent robotic system efficiency and quality. International Conference on Robotics and Automation, Albuquerque, NM, EUA.

E. Paulos and J. Canny (1996). Delivering real reality to the World Wide Web via telerobotics. International Conference on Robotics and Automation, Minneapolis, MN, EUA.

S. Piccinocchi, M. Ceccarelli, F. Piloni, A. Bicchi (1997). Interactive benchmark for planning algorithms on the Web. International Conference on Robotics and Automation, Albuquerque, NM, EUA.

L. R. Queiroz, M. Bergerman, R. C. Machado, S. S. Bueno, A. Elfes (1998). Design and operation of the Brazilian Robotics and Computer Vision Virtual Laboratory. 6th International Conference on Informatics in Education, Havana, Cuba.

L. R. Queiroz, R. C. Machado, P. C. Berardi, A. S. Bárbara, S. S. Bueno, M. Bergerman, A. Elfes (1997). Uma ferramenta de telepresença para educação a distância. VIII Simpósio Brasileiro de Informática na Educação, S.J. Campos, SP, Brasil.

Imagem

Fig. 1: Implementação de um laboratório virtual   utilizando a arquitetura cliente-servidor
Fig. 2: Sequência de eventos da comunicação cliente-servidor.
Fig. 3: Robô móvel Nomad 200.
Fig. 4: Página de entrada e janelas de comandos da interface do REAL.
+2

Referências

Documentos relacionados

Antes de mostrarmos a rela¸ c˜ ao entre regularidade de uma curva e existˆ encia de reparametriza¸c˜ oes por comprimento de arco dessa curva, notemos uma propriedade sim- ples

Por outro lado, quando se fala em pequenas e médias empresas, onde o número de funcionários é maior, é mais bem dividida e o uso da Intranet se torna

Consiste numa introdução, dois capítulos de índole teórica geral, e depois divide-se em sete áreas temáticas, cada uma com um capítulo teórico e um estudo de caso:

A raiva é uma doença viral que acomete os animais domésticos, silvestres e destes para o homem, causando uma doença com sintomatologia?. nervosa, aguda e fatal, levando ao óbito

Consoante à citação acima, destaca-se mais uma vez a contraposição de Pascal em relação ao racionalismo hegemônico no século XVII, pois, enquanto os filósofos implicados

´e aquele pelo qual a filosofia alem˜a traduziu, depois de Kant, o latim existentia, mas Heidegger deu-lhe um sentido muito particu- lar, j´a que designa na sua filosofia

E) CRIE NO SEU CADERNO UM TÍTULO PARA ESSA HISTÓRIA EM QUADRINHOS.. 3- QUE TAL JUNTAR AS SÍLABAS ABAIXO PARA FORMAR O NOME DE CINCO SUGESTÕES DE PRESENTE PARA O DIA

É o nome usado para descrever empresas que prestam serviços financeiros, tendo na tecnologia seu grande diferencial — muitas delas, inclusive, não têm agências para atender