• Nenhum resultado encontrado

COMUNICAÇÃO E CONTROLO DE EQUIPAMENTOS USANDO UM CAPACETE DE REALIDADE VIRTUAL

N/A
N/A
Protected

Academic year: 2021

Share "COMUNICAÇÃO E CONTROLO DE EQUIPAMENTOS USANDO UM CAPACETE DE REALIDADE VIRTUAL"

Copied!
5
0
0

Texto

(1)

COMUNICAÇÃO E CONTROLO DE EQUIPAMENTOS USANDO

UM CAPACETE DE REALIDADE VIRTUAL

Duarte Silva 1, Silvia Carmen 1, Nuno Martins 2, Fernando Silva 2

1 Alunos do Departamento de Engenharia Informática e de Sistemas 2

Docentes do Departamento de Engenharia Informática e de Sistemas, [ncmartin, fsilva]@isec.pt Instituto Superior de Engenharia de Coimbra

Instituto Politécnico de Coimbra

INTRODUÇÃO

Nos nossos dias, usando as tecnologias emergentes nas áreas da electrónica e da informática, é possível às pessoas controlarem e comunicarem com equipamentos que não estão ao alcance imediato da mão, por questões de comodidade (comando da televisão) ou por necessidade (pessoas com dificuldades de movimentação, acesso a ambientes hostis ao homem).

No que se refere a pessoas imobilizadas dos membros, existem necessidades do dia a dia requerendo pequenas acções, as quais podem ser executadas recorrendo a tecnologias de comunicação e de controlo à distância, permitindo uma certa autonomia a essas pessoas carenciadas.

Concretamente, pessoas com incapacidade dos membros superiores, podem usar um capacete de realidade virtual ligado a um computador, podendo comandá-lo de modo a executar tarefas. Essas tarefas, vão desde o accionar de um programa no computador, à escolha de opções como emitir sinais de controlo usando uma rede sem fios, ou mesmo controlar um equipamento como um robot.

Baseados neste tipo de tecnologia, desenvolvemos um projecto no Departamento de Engenharia Informática e de Sistemas (DEIS) do Instituto Superior de Engenharia de Coimbra (ISEC), usando um computador, um capacete de realidade virtual, e um braço articulado com vários graus de liberdade (um pequeno robot). Foi desenvolvida uma aplicação em ambiente Windows, que interpreta os movimentos feitos por um utilizador que usa o capacete, traduzindo-os em comandos para o computador. Esses comandos incluem a selecção de menus (substituindo rato ou teclado), assim como ordens de actuação do braço articulado. A aplicação inclui um módulo para permitir ao utilizador adicionar mais funcionalidades. Pode por exemplo ser definida uma nova acção consistindo no deslocamento do braço do robot, de modo a pegar um objecto numa posição e colocá-lo noutra posição. Nesse caso, o utilizador define a posição original e final do objecto, assim como os gestos a executar com o capacete para conseguir essas acções. A partir daí, essa funcionalidade passa a existir na aplicação. Os movimentos executados pelo capacete são simulados graficamente em tempo real numa janela da aplicação. Para isso foram feitos modelos 3D do capacete e do robot, os quais são animados simultaneamente com a execução das acções de comando.

Este projecto insere-se na área de computação gráfica e de programação aplicada a sistemas reais, focado na interacção homem-máquina. Exemplifica uma forma de colocar a tecnologia

(2)

ao serviço da comunidade de modo a diminuir limitações de pessoas com deficiências de mobilidade dos membros superiores.

DESCRIÇÃO DO SISTEMA FÍSICO

Fisicamente, o sistema é constituído por um capacete de realidade virtual, um pequeno robot e um computador pessoal (PC), conforme se mostra na figura 1. O computador comunica com o capacete e com o robot por duas portas série. O capacete gera sinais correspondentes à sua orientação tri-dimensional no espaço e envia-os para a porta de comunicação série, e o robot recebe ordens do computador para movimentar cada uma das suas partes móveis.

Fig. 1 – Sistema Utilizado

Capacete de realidade virtual

O capacete de realidade virtual (VFX-3D, Interactive Imaging Systems, Inc) gera sinais correspondentes à sua rotação segundo três eixos: yaw, rotação para a esquerda ou para a direita segundo um eixo vertical; pitch, rotação segundo um eixo horizontal (corresponde a inclinar a cabeça para cima ou para baixo) ; roll, rotação para a esquerda ou para a direita segundo um eixo horizontal em profundidade (corresponde a inclinar a cabeça para a esquerda ou para a direita). Estes movimentos são representados na figura 2:

(3)

Os valores correspondentes a cada tipo de rotação são lidos do capacete para o computador usando uma porta de comunicações série (RS-232). A amplitude da rotação em cada eixo varia entre -90º e +90º para yaw, e varia entre -70º e +70º para pitch e roll.

Robot

Foi usado um pequeno robot (Lynxmotion, modelo Mini SSC II, www.lynxmotion.com), de que se representa uma imagem na figura 3.

Fig. 3 – Robot

Este robot é constituído por um micro controlador, uma base rotativa, 3 braços articulados e uma pinça. Os movimentos são feitos de forma individual por cinco micro-motores distintos, designados por servos: um para rodar a base segundo um eixo vertical, três para rodarem três braços articulados, cada um segundo o seu eixo de articulação com o elemento anterior, e um para o controlo da pinça existente no último braço.

O seu controlo interno é executado pelo micro controlador, o qual também fornece uma porta série para comunicação com o exterior.

Computador

O computador a usar pode ser qualquer computador pessoal (PC) actual, com duas portas RS-232 e com uma placa gráfica compatível com o sistema gráfico OpenGL, de modo a podermos dispor da simulação visual dos movimentos do capacete e do robot.

FUNCIONAMENTO

A aplicação é responsável pela leitura dos dados fornecidos pelo capacete, sua interpretação e execução das acções daí decorrentes, pelo comando do robot, e pela visualização dinâmica dos modelos do capacete e do robot em duas janelas gráficas, como se mostra na figura 4.

(4)

O capacete gera dados relacionados com a sua posição relativa no espaço 3D. Esses dados são interpretados baseando-se no estado interno do sistema e na sua lógica de funcionamento. De acordo com essa interpretação são executadas acções, como inicializar e calibrar o sistema, escolher opções de funcionamento, navegar no sistema de menus e comandar o robot.

Existe um processo de leitura de dados do capacete, que adquire os valores de yaw, pitch e roll com uma frequência determinada por um temporizador (timer). As acções desencadeadas de acordo com o estado do sistema, compreendem as seguintes situações:

• Se está em algum modo de configuração, os valores de yaw, pitch e roll são usados para estabelecer condições iniciais, ou para estipular os níveis de variação mínimos nas leituras para ser considerada uma alteração de posição, ou para definir parâmetros de funcionamento como a velocidade normal de movimentação do capacete;

• Se está no modo de menu, são avaliados os valores consecutivos de yaw e de pitch de modo a percorrer o sistema de menus no sentido horizontal (yaw) e vertical (pitch), sendo usada a variação brusca de roll para a direita (seleccionar) ou para a esquerda (anular a selecção) para a escolha de opções; a selecção de uma opção terminal de um menu corresponde a uma acção a executar, o que faz mudar o modo do sistema;

• Se está no modo de controlo do robot, os valores de yaw destinam-se a fazer rodar a base segundo o seu eixo vertical, os valores de pitch destinam-se a fazer rodar o braço corrente segundo a sua articulação; as variações bruscas de roll destinam-se a seleccionar o braço corrente, subindo em direcção à pinça (roll para a direita) ou descendo em direcção à base (roll para a esquerda).

• Se está num modo de comando específico do robot, a que está associada uma acção determinada, como pegar um objecto colocado em certa posição, os valores de yaw, pitch e roll são ignorados durante a execução dessa acção, a menos que surja um sinal de excepção;

• Há determinadas sequências de movimentos com um significado especial, que são traduzidas num sinal de Escape ou num sinal de Reset; como correspondem a situações de excepção, podem ocorrer em qualquer estado interno do programa.

Conversão/mapeamento de valores

A semântica dos movimentos do capacete e do robot são distintas. Por outro lado, a métrica dos valores lidos do capacete é igualmente distinta dos valores a enviar para o robot ou do item de menu a seleccionar. Um valor de x graus de rotação segundo um eixo do capacete pode corresponder a y graus de rotação segundo um dos eixos do robot ou a uma mudança na selecção de itens do menu. Cada movimento ou sequência de movimentos do capacete, tem um significado dependente do contexto. Por isso foi necessário definir criteriosamente esses significados, constituindo um dicionário. O programa lê os dados enviados pelo capacete, interpreta-os usando esse dicionário, e quando há lugar a envio de valores para o robot, estes terão de ser calculados atendendo à métrica de ambos os dispositivos. De forma semelhante, os valores lidos do capacete devem permitir navegar no sistema de menus sem sobressaltos.

Modelos 3D

Os valores lidos do capacete servem adicionalmente para fazer a visualização de um modelo 3D do capacete numa janela da aplicação. O capacete é um sólido não deformável, cujas alterações se limitam à sua orientação e escalonamento no espaço. A sua visualização em

(5)

tempo real é feita rodando o modelo completo, segundo os três eixos, dos valores dos ângulos lidos.

Também o robot é visualizado, sendo desenhado de acordo com a sua posição em cada instante. Como é constituído por várias partes que podem deslocar-se umas em relação às outras, foi necessário construir um modelo hierárquico para o representar, em que cada parte é afectada pelas transformações sofridas por outras partes de que dependente hierarquicamente: quando a base roda todos rodam, e quando o braço superior roda só é afectada a pinça.

Para a representação gráfica de ambos os modelos nas duas janelas referidas, foi usado o sistema gráfico OpenGL.

CONCLUSÕES

Este trabalho visou o desenvolvimento de uma aplicação capaz de controlar um braço robot e um sistema de menus usando um capacete de realidade virtual. Um sistema deste tipo pode ser útil para pessoas com incapacidade dos membros superiores, proporcionando a resolução de alguns dos seus problemas.

Este tipo de tecnologia pode ser aplicada não só para permitir a utilização de um computador a pessoas incapacitadas, como para controlar outros dispositivos com os quais possa ser estabelecida uma comunicação a partir de um computador.

BIBLIOGRAFIA

Scott Edwards Electronics; Mini SSC II Serial Servo Controller; 1999.

Shelepov, R.; VFX3D Virtual Reality Helmet; www.digit-life.com/articles/vfx3d/; 2004. Silva, F.P.; Computação Gráfica; Apontamentos das disciplinas de Computação Gráfica I e II; ISEC; 2004.

Wong, G., Wong, V; Virtual Reality in Space Exploration; www.doc.ic.ac.uk/ ~nd/surprise_96/journal/vol4/kcgw/report.html; 1996.

Referências

Documentos relacionados

Para preparar a pimenta branca, as espigas são colhidas quando os frutos apresentam a coloração amarelada ou vermelha. As espigas são colocadas em sacos de plástico trançado sem

Este desafio nos exige uma nova postura frente às questões ambientais, significa tomar o meio ambiente como problema pedagógico, como práxis unificadora que favoreça

O presente estudo objetivou demarcar a idade de segregação, por meio da variação radial da massa espe- cífica básica, caracterizar o comportamento de propriedades físicas no

nesta nossa modesta obra O sonho e os sonhos analisa- mos o sono e sua importância para o corpo e sobretudo para a alma que, nas horas de repouso da matéria, liberta-se parcialmente

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

3.3 o Município tem caminhão da coleta seletiva, sendo orientado a providenciar a contratação direta da associação para o recolhimento dos resíduos recicláveis,

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Em virtude do grande impacto socioeconômico dessa doença, objetivamos realizar um levantamento epidemiológico dos pa- cientes vítimas de TRM no hospital público de Sergipe (HUSE),