• Nenhum resultado encontrado

O laboratório virtual REAL [39] permite que usuários utilizem remotamente um robô móvel como se estivessem presentes fisicamente no laboratório do CenPRA. REAL oferece o acesso por meio da Internet a robôs móveis de alta qualidade, os robôs XR4000 e NOMAD200, para pesquisadores e estudantes.

As referências [115][116][117][77][76] descrevem alguns projetos no campo de laboratórios vir- tuais e de tele-robótica. REAL compartilha muitas das características encontradas nestes projetos, incluindo interatividade através da WWW e suporte de vídeo para a supervisão da missão. No en- tanto, REAL difere destes projetos principalmente na sua arquitetura de software. Em vez de imple- mentar uma arquitetura de software baseada em objetos distribuídos, REAL emprega uma arquitetura de software baseada em componentes, desenvolvida utilizando a plataforma CCM-tel. O desenvolvi- mento do REAL emprega unicamente padrões abertos, tais como CORBA, UML, WWW com suas tecnologias relacionadas (HTTP, HTML, XML, JSP, Servlets) e a linguagem Java.

A infra-estrutura fornecida no domínio do laboratório virtual REAL, conforme ilustrado pela Figura 5.1, consiste dos seguintes elementos:

• dois robôs móveis (XR4000 e NOMAD200), manipulados pelos usuários por meio de seus terminais remotos, que devem operar sem nenhuma conexão física para navegar livremente pelo ambiente;

• um sistema de aquisição de imagens de vídeo obtidas da câmera a bordo do robô e da câmera panorâmica do laboratório, bem como a sua transmissão contínua ao usuário através da Internet. A transmissão ocorre durante a operação do robô, para que o usuário remoto possa acompanhar o andamento do seu experimento;

• uma rede local (LAN - Local Area Network) integra um conjunto de processadores, os diversos servidores e os equipamentos do laboratório, tais como um roteador e dois pontos de acesso para comunicação através de rede sem fio;

• duas redes sem fio (WLAN - Wireless Local Area Network) conectam os processadores embar- cados de controle e visão do robô à rede local;

• uma interface homem-máquina que permite o acesso ao serviço, programação do robô, recebi- mento dos dados de sua operação e término do serviço. O usuário remoto utiliza este serviço sem a necessidade de instalação de hardware e software, sendo que este acesso transparente é realizado a partir de qualquer computador conectado à Internet.

Os robôs têm um processador de bordo dedicado ao seu controle. Este processador usa uma rede sem fio de 1.6 Mb/s para se comunicar com o processador de controle conectado à LAN. O pro- cessador de controle executa o software que interage diretamente com o robô, como por exemplo, processos deamons de segurança, código fornecido pelo usuário, etc. Um computador portátil, lo- calizado na base do robô, executa a captura de imagens de vídeo da câmera de bordo do robô e está conectado ao ponto de acesso da rede sem fio por uma conexão de 11 Mb/s.

Um servidor Web responde às requisições enviadas pelos usuários e disponibiliza um conjunto de

applets assinados, páginas dinâmicas (JSP - Java Server Pages) e de servlets Java para a implemen-

tação da gerência de acesso e de uso do serviço. A infra-estrutura de suporte aos serviços consiste de componentes e contêineres CCM-tel empacotados no formato JAR, bem como páginas HTML. Esta infra-estrutura está disponibilizada em servidores implementados em plataformas e sistemas o- peracionais heterogêneos, tais como microcomputadores e estações de trabalho executando sistemas operacionais Linux e Windows. Os servidores de acesso aos robôs utilizam implementações na sua linguagem nativa (C++).

No domínio do usuário remoto, REAL provê um acesso uniforme aos serviços com interfaces para a subscrição, acesso e uso dos serviços disponibilizados pelo laboratório. Deste modo, o usuário precisa somente de um ambiente computacional capaz de abrigar um navegador Web (por exemplo,

Internet (captura de vídeo) Computador de Monitoramento Firewall Usuário Remoto Pontos de Acesso Servidores transmissão Roteador LAN de vídeo

(Ethernet sem Fio)

de Bordo Camera

Computador de Bordo

controle do robô

Robô Móvel XR4000

Fig. 5.1: Infra-estrutura do laboratório virtual REAL.

Netscape 7, Internet Explorer ou Konqueror), que suporte a máquina virtual Java 2 (eventualmente por um Plug-in Java) com capacidade para executar applets. A infra-estrutura de suporte aos serviços é instalada automaticamente no ambiente do usuário, sempre que este decida utilizá-lo. Projetos como o REAL muito se beneficiarão da utilização de redes com velocidades maiores, como por exemplo Internet-2. No caso de terminais com baixo suporte computacional o modelo CM-tel provê a possibilidade da aplicação utilizar uma segunda plataforma construída a partir de um mapeamento do modelo CM-tel para serviços Web e para a linguagem Java (plataforma WSCM-tel) para executar em dispositivos móveis.

Ao acessar os serviços providos pelo REAL, os usuários remotos poderão realizar as seguintes atividades:

• executar funções administrativas (cadastramento, subscrição aos serviços, reserva de horários, etc);

• conduzir experimentos em vários campos da robótica, por exemplo, navegação autônoma, ma- peamento do ambiente e planejamento de missões;

• manipular um dos robôs por meio de comandos ou de um joystick, no caso de usuários leigos ou iniciantes em robótica;

• desenvolver, compilar, submeter o código ao robô, executar uma missão e testar algoritmos de navegação, no caso de usuários mais experientes em robótica;

• observar o experimento realizado por um instrutor;

• acompanhar a missão através de imagens de vídeo.

5.2.1

Arquitetura de Software do REAL

REAL considera e implementa laboratórios virtuais como serviços telemáticos complexos e não como simples aplicações WWW. Isto se deve à semelhança entre estes serviços e os serviços de telecomunicações nos seguintes aspectos:

• os papéis do provedor e do usuário do serviço são bem definidos;

• requerem um controle de cadastramento, de subscrição, de acesso e de uso de serviços a partir de uma reserva de horário de uso, verificação de segurança e, em alguns casos, de tarifação;

• requerem estratégias para gerência dos serviços;

• demandam uma sessão de comunicação em tempo real com suporte a fluxos de mídia contínua com facilidades de qualidade de serviço para o suporte a telepresença em laboratórios virtuais;

• aspectos de segurança e privacidade devem ser amplamente considerados.

De forma a caracterizar as aplicações telemáticas e ubíquas, identificamos um modelo de serviço que as diferencie das demais aplicações na Internet. A nossa proposta para a arquitetura de software do REAL utiliza um modelo simplificado baseado no modelo de serviço de telecomunicações pro- posto pelo consórcio TINA (Telecommunications Information Network Architecture) [9]. O consórcio TINA, encerrado em dezembro de 2000, produziu um conjunto de especificações de uma arquitetura aberta para sistemas de telecomunicações e baseada no modelo de referência RM-ODP. Dentre os conceitos e princípios da arquitetura de serviço TINA destacam-se: o conceito de sessão; a separação lógica entre as aplicações e o ambiente em que são executadas; e a separação entre o acesso e uso do serviço.

TINA introduz o seguinte conceito de sessão: “uma sessão representa a informação usada por todos os processos envolvidos na provisão de um serviço pelo tempo de sua duração, garantindo uma visão coerente dos vários eventos e relacionamentos associados à provisão deste serviço“. Em

TINA, três sessões são definidas, cada uma correspondendo a um tipo de atividade: sessão de acesso, sessão de serviço e sessão de comunicação. A sessão de acesso suporta as interações necessárias para iniciar e gerenciar a comunicação entre o usuário e o provedor, além das necessárias para requisitar os serviços. A sessão de serviço suporta as interações que controlam, manipulam e gerenciam o comportamento do serviço e o fluxo de informação associado. A sessão de comunicação suporta a comunicação multimídia com QoS entre os componentes da aplicação.

A estratégia utilizada para o desenvolvimento dos serviços proporcionados pelo REAL foi a im- plementação simplificada de um modelo de serviço composto das três sessões inspiradas no mode- lo de serviços TINA. Estas sessões são implementadas segundo o modelo de componentes CM-tel. Desta forma, um conjunto de componentes CM-tel foi especificado para o laboratório REAL e agru- pado em três categorias: componentes de acesso, de serviço e de comunicação. Cada categoria suporta uma sessão correspondente.

No modelo de serviço proposto para o laboratório virtual REAL, os serviços disponibilizados foram construídos a partir da composição de componentes novos e do reuso de componentes exis- tentes. Estes serviços podem ser distribuídos em plataformas heterogêneas e facilmente configura- dos e gerenciados, não havendo necessidade de instalação manual de software para a execução dos serviços no computador do usuário.