| Este projecto
consiste no controlo de uma plataforma móvel através da
Internet. Foi realizado em colaboração com Nuno Antunes e Paulo
Inácio no âmbito do trabalho final de curso da Licenciatura de Engenharia Electrotécnica e Computadores - ramo de Controlo e Robótica. Foi desenvolvido no laboratório
do Instituto de Sistemas e Robótica (ISR) no Instituto Superior
Técnico, sob orientação da professora
Maria Isabel Ribeiro e
do professor João Sequeira.
|
 |
O objectivo
fundamental deste projecto consiste no desenvolvimento de um
sistema capaz de interagir remotamente, através da Internet, com
uma plataforma móvel. Para atingir este objectivo, foi adoptada
uma estratégia que o segmentou nos seguintes alvos:
- Definir uma
arquitectura de comunicação
- Criar uma
interface gráfica que concretize a arquitectura de comunicação
- Escolher uma
linguagem de programação
- Desenvolver
ferramentas de interacção com a plataforma
- Garantir segurança
na comunicação remota
Para a
implementação do projecto, foi seleccionada a linguagem Java,
baseada em C++, orientada para objectos. A vantagem
principal desta linguagem consiste em ser independente do sistema
operativo no qual as suas aplicações são executadas.
Virtualmente todas as aplicações em Java são executadas sobre o
suporte Java Virtual Machine, que se encarrega de estabelecer as
condições necessárias ao funcionamento destas aplicações em
cada sistema em particular. Outra vantagem importante consiste nas
limitações impostas por esta linguagem no acesso directo ao
hardware que suporta a execução da aplicação. O projecto tem
por base uma arquitectura cliente/servidor que utiliza a Internet
como canal de comunicação. Deste modo nunca existe um
conhecimento prévio dos sistemas operativos envolvidos na
comunicação.
O projecto foi
dimensionado para que vários utilizadores possam interagir com a
plataforma. Esta interacção é realizada através de uma
interface gráfica que disponibiliza aos utilizadores ferramentas
para o efeito. Para garantir a gestão automática da interacção
destes com a plataforma, existe um programa servidor. Este permite
ainda a gestão manual dos utilizadores e o controlo total da
plataforma por parte de um administrador de sistema. As mensagens
entre servidor e utilizadores são trocadas através da Internet,
existindo por isso uma preocupação acrescida com a segurança na
comunicação.
O programa utilizador
tem como finalidade permitir a ligação ao programa servidor e
disponibilizar ao utilizador remoto um conjunto de ferramentas
através das quais pode interagir com a plataforma.

O tipo de
ferramentas são disponibilizadas através de janelas denominadas
por Java Applets, que permitem uma interacção com a
plataforma. A ferramenta principal, Main Tool, indica os
outros tipos de ferramentas disponíveis, que dependem do nível
hierárquico do utilizador.
 |
As ferramentas implementadas
permitem controlar
a velocidade da plataforma, observar os dados provenientes
de sonares, de uma câmara de vídeo e interagir com
outros utilizadores.
 |
O programa servidor
tem como finalidade fazer a gestão de utilizadores. Efectua a
validação dos comandos enviados pelos utilizadores e enviá-los
para a plataforma. Os dados transmitidos entre o servidor e o
cliente são encriptados segundo o algoritmo de blowfish,
de forma a garantir segurança na comunicação.

Da esquerda para a
direita: Alberto Vale, Nuno Antunes e Paulo Inácio, sem no
entanto esquecer a Robuter, a plataforma móvel!
|