Vous êtes sur la page 1sur 11

Construo de um sistema de Realidade Virtual (1a Parte)

O Engine Fsico

Roberto Scalco, Fabrcio Martins Pedroso,


Jorge Tressino Rua, Ricardo Del Roio, Wellington Francisco

Centro Universitrio do Instituto Mau de Tecnologia (CEUN-IMT)


Escola de Engenharia Mau (EEM)
Praa Mau, 1 CEP 09580-900 So Caetano do Sul SP Brasil

Neste artigo apresenta-se um projeto, desenvolvido por alunos da 6a srie


nfase Computao do curso de Engenharia Eltrica da Escola de Engenharia Mau,
que permite a simulao de um passeio ciclstico utilizando a Realidade Virtual. Os
sentidos do ciclista sero estimulados tanto pela viso como pela reao de um motor
acoplado na roda traseira da bicicleta.

1. DISPOSITIVO DE INTERAO HOMEM-MQUINA

O projeto do dispositivo de interao em Realidade Virtual, ou seja, do


dispositivo que interliga o mundo virtual com o usurio, gerando e fazendo a aquisio
de seus estmulos, utiliza uma bicicleta como meio de navegao no mundo virtual,
como pode ser observado na Figura 1.

Figura 1 Motor acoplado ao suporte de treino


2. INTRODUO REALIDADE VIRTUAL

A Realidade Virtual visa integrar componentes que simulem estmulos


diretamente ligados aos sentidos de viso, audio e tato. No projeto, a viso
estimulada pela representao grfica do mundo virtual num culos 3D (ou num
monitor de vdeo) e o tato permite ao usurio perceber sensaes de resistncia fora,
movimento e peso, para tornar essa realidade to natural quanto a do mundo real.

Figura 1 Dispositivo HMD da eMagin modelo Z800 3DVisor

Com base nesse conceito, foi desenvolvido o Passeio Ciclstico Virtual, uma
aplicao de Realidade Virtual para o entretenimento. Uma bicicleta acoplada a um
suporte de treino, junto ao motor e a alguns sensores, foi utilizada como interface
homem-mquina (IHM), permitindo a navegao num ambiente virtual exibido por um
dispositivo Head Mounted Display (HMD). Conforme a pessoa interage com mundo, o
motor acionado para aplicar mais ou menos fora no pedal, simulando subidas e
descidas, enquanto o HMD exibe duas imagens, levemente diferentes para cada olho,
permitindo melhor percepo de profundidade. Esse dispositivo torna o custo do projeto
muito alto; por isso pode ser substitudo por um monitor convencional, apenas para
exibir uma imagem do mundo virtual.
Figura 2 Ponto de vista do usurio

3. ELEMENTOS DO PROJETO

O elemento central do projeto consiste de um PIC 16F877A que atua como


ponte entre o engine fsico e os elementos sensores e atuadores. Dos elementos ligados
diretamente bicicleta, temos um potencimetro para medir o ngulo do guido, um
sensor foto-sensvel associado a um encoder para medir a velocidade da roda traseira e
um motor, acionado a favor ou contra o movimento da roda, fazendo-a girar livremente
numa descida ou obrigando o usurio a aplicar mais fora durante uma subida.

1 40

2 39
3 38
4 37
5 36
6 35
7 34
8 33
9 32
10 31
11
PIC 30
12 16F877A 29
13 28
14 27
15 26
16 25
17 24
18 23
19 22

20 21

Figura 3 Diagrama de fluxo de dados do projeto


Tanto as informaes lidas dos sensores como as enviadas ao motor so
processadas pelo computador, ou seja, deve ser estabelecida uma comunicao serial,
utilizando-se o padro RS232, entre o PIC e o computador.

Os detalhes sobre a leitura dos dados dos sensores e o acionamento do motor


sero apresentados no prximo artigo.

4. COMPUTAO GRFICA

A modelagem do ambiente virtual tridimensional foi desenvolvida com base no


aplicativo Autodesk 3DS Max 8. Desse modelo so extrados seus vrtices e faces,
permitindo que sejam desenhados na tela pelo sistema de Realidade Virtual
desenvolvido, utilizando-se para tanto a biblioteca grfica OpenGL1.

Outra informao fundamental do extrada modelo so os vetores normais


pista. Eles so responsveis por informar ao engine fsico (responsvel pelos clculos de
posio, velocidade e acelerao da bicicleta) se a pessoa se encontra num plano

horizontal ou inclinado. So sempre unitrios ( n = 1) e perpendiculares ao plano
analisado.

Figura 4 Representao do vetor normal de um plano

Depois de encaminhado o vetor normal atual para o engine fsico, o sistema de


Realidade Virtual recebe a posio futura da bicicleta, recalculando toda a cena para
aquele prximo ponto de vista, gerando sensao de movimentao no ambiente virtual.

1
Curso de OpenGL disponvel em: <http://geocities.yahoo.com.br/oswirad>
5. ENGINE FSICO

O engine fsico o sistema responsvel por processar as informaes obtidas


pela interao do usurio, adicionando-lhe os fenmenos fsicos do mundo real.

As entradas desse sistema so:


a velocidade imposta pelo ciclista ou pelo motor ao simular uma descida;
o ngulo do guido.

O engine fsico envia dados para o sistema de controle (PIC) e para o sistema
grfico, fazendo com que o usurio possa perceber:

a resposta dada pelo motor que acelera ou freia a roda traseira;


a representao da bicicleta no sistema grfico;
o ngulo do guido no sistema grfico;
a velocidade da bicicleta ao se observarem as rodas ou a paisagem.

5.1. Representao Matemtica da Bicicleta

Para traduzir os fenmenos fsicos para o sistema de simulao necessrio


representar a bicicleta vetorialmente. A Figura 6 mostra que a bicicleta representada

por dois vetores: o corpo da bicicleta b e, coplanar a ele, a direo do guido c .

Figura 5 Representao vetorial da bicicleta (vista superior)


5.2. Modelo Fsico

A responsabilidade principal desse modelo a de calcular a posio da bicicleta


a cada iterao do processamento. O modelo entende que:


a bicicleta um corpo de massa m e com velocidade inicial nula (v 0 = 0 ) . Sua

posio x representada pelo o centro do guido;



a fora do movimento Fm a soma da fora aplicada pelo ciclista com a
aplicada pelo motor;

a fora normal ao plano N , em qualquer ponto da pista, sempre considerada

suficiente para anular a componente da fora peso P em sua direo.

A movimentao da bicicleta determinada, a cada iterao, executando os


seguintes passos:

Clculo do intervalo de tempo entre as iteraes t


A cada iterao calculado o intervalo de tempo desde a ltima iterao vlida.
Esse valor obtido pela diferena entre dois instantes de tempo do relgio do
computador. Para que no ocorram erros relacionados diviso por zero, apenas so
utilizadas as iteraes com t 0,01 ms .


Mudana do vetor do guido c
Para modificar o vetor do guido, seria necessrio calcular a diferena entre o
ngulo atual do guido e o ngulo lido anteriormente. Isto causaria um acmulo de

erros devido ao clculo da diferena. Para evitar esse erro, o vetor c no modificado

pela diferena, mas recalculado com base em b . A cada iterao, o vetor b girado

de um ngulo , em relao ao vetor normal n da posio X , e o resultado

armazenado como o novo vetor c .

Leitura da velocidade e aplicao da fora de movimento



A cada iterao lida uma velocidade v do sistema de controle. A partir dessa

velocidade calcula-se a fora Fm para que possa ser considerada no clculo da fora
resultante. Para isso, utilizada a expresso:

v v atual v anterior
a= =
t t

Com a acelerao calculada, pode-se obter Fm utilizando-se a segunda lei de

Newton, Fm = m a . Essa fora aplicada na direo do vetor do guido, dada pela

diviso do vetor c pelo seu mdulo.

c
Fm = Fm
c

Clculo da fora resultante Fr da bicicleta
A fora resultante obtida do somatrio das foras aplicadas na bicicleta.

Fr = Fm + P + N + Fat

Sendo:

P = (mb + m c ) g , que considera a massa da bicicleta e do ciclista;

N = P cos( ) n , fora aplicada na direo normal ao plano no ponto

analisado;

o ngulo entre as direes de P e N ;

Fat = N o mdulo da fora de atrito em relao ao solo, aplicada no plano

das foras atuantes e de direo contrria a do movimento. Foi adotado = 0,01 ;


Figura 6 Determinao da fora resultante da bicicleta

Como restrio, se o ngulo formado entre a fora resultante e o vetor do guido


for superior a 90 atribudo o valor zero fora resultante. Dessa maneira, em vez de a
bicicleta se mover para trs, permanecer parada. Essa simplificao foi necessria para
se evitarem problemas com o motor.


Fr
Clculo da acelerao da bicicleta: a = .
m
Apenas considerada a acelerao no plano vertical que contm a direo a

bicicleta b .


Clculo da velocidade da bicicleta: v atual = v anterior + a t

Clculo da posio da bicicleta no plano de movimento


Para determinar a prxima posio da bicicleta no ambiente virtual, utiliza-se a
expresso:

a t 2
X novo = X atual + v atual t +
2

As posies X atual e X novo so pontos no espao tridimensional, possuindo as trs


coordenadas da bicicleta.
Embora a acelerao no seja constante durante todo o movimento, essa
expresso pode ser utilizada, pois os dois instantes de tempo em que as grandezas foram
analisadas e calculadas so muito prximos. Dessa forma, a aproximao apresenta
bons resultados. Os efeitos da acelerao centrpeta so simplificados pela rotao do

vetor definido pelos pontos X atual e X novo em relao ao vetor normal n do plano. O

ngulo dessa rotao o ngulo do guido .

Com a nova posio calculada deve-se calcular o ngulo entre o vetor da



direo da bicicleta b e a direo do eixo z . Esse ngulo permite classificar a regio da
pista onde a bicicleta est:

numa subida, se 89,75 ;

numa descida, se 90, 25 ;


num plano horizontal, caso contrrio.

Se revelar que a bicicleta est numa subida, o feedback de subida acionado


e o sistema de controle aciona o motor para que esse imprima um torque contra o
usurio. Se revelar que se trata de uma descida, o feedback de descida acionado e o
sistema de controle acelera o motor para que o usurio tenha a sensao de descida.

6. CONSIDERAES FINAIS

Neste primeiro artigo pudemos ver como a Fsica est diretamente ligada s
grandezas que podemos medir e controlar. Pode-se notar que o engine fsico um
importante elemento do processo, embora o PIC atue como interface entre os perifricos
e a CPU.

Os elementos sensores e o motor sero tratados no prximo artigo. Alm disso,


como o enfoque deste artigo no a representao das imagens geradas, o programa que
realiza a comunicao com o PIC, executa os clculos de Fsica e exibe as imagens no
monitor est disponvel no stio da revista. O programa foi desenvolvido utilizando-se o
ambiente Delphi 6.0.
Anexos (quadros complementares)
Para o clculo das grandezas fsicas, os vetores foram representados com uma

seta sobre o nome da varivel, por exemplo Fr . Matematicamente, esses vetores
possuem trs componentes, cada um associado a uma direo: X, Y e Z.
Do ponto de vista computacional, utilizamos variveis indexadas
unidimensionais para representar essas listas de valores.
Para o clculo da nova posio da bicicleta, foi necessrio utilizar algumas
operaes do clculo vetorial: a soma de dois vetores (ou a soma de um ponto e um
vetor), a multiplicao de um vetor por um nmero real e a determinao do mdulo do
vetor.
Os fluxogramas das funes a seguir mostram como realizar esses clculos:

Soma (u, v)

Incio

Para i 1
at 3 faa

w[i] u[i] + v[i]

Fim Para

Soma w

Fim

Figura 7 Soma de vetores u e v
Multiplica_numero (u, a)

Incio

Para i 1
at 3 faa

v[i] a * u[i]

Fim Para

Multiplica_numero v

Fim

Figura 8 Multiplicao de um nmero real a pelo vetor u

Modulo (u)

Incio

s0

Para i 1
at 3 faa

s s + sqr(u[i])

Fim Para

Modulo sqrt(s)

Fim

Figura 9 Clculo do mdulo do vetor u

Vous aimerez peut-être aussi