Está en la página 1de 23

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

Diseno de Ambientes de Realidad Virtual para la Simulacion de Sistemas Mecatronicos


Ing. Jos Rodrigo Cordova Alarcon e
Curso Avanzado ENOAN 2009 Marzo 2009

ENOAN 2009

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

1. Introduccion.
La motivacion para programar ambientes de realidad virtual es la visualizacion de resultados arrojados por simulaciones numpericas de modelos matematicos, por ejem plo sistemas mecanicos y mecatronicos. Resulta interesante observar visualmente la evolucion de estos sistemas ya que se pueden obtener conclusiones inmediatas a diferencia de observar gracas XY, donde los resultados son abstractos y en ocasiones difciles de interpretar. Para sistemas complejos de mas de 3 grados de libertad, como el caso de robots manipuladores resul ta util programar ambientes de realidad virtual para vericar los modelos matematicos programados. En las diferentes secciones de este texto se hara mencion de las herramientas matematicas y consideraciones necesarias para adecuar las senales de salida de un modelo matematico para su uso en el ambiente de realidad virtual.

1.1. Entorno de programaci on de un ambiente de realidad virtual en Vrealm Builder, de Matlab.


Una de las herramientas mas populares para programar modelos matematicos es el software de MATLAB, que cuenta con una herramienta util para programar ambi entes de realidad virtual, que es el software V-Realm Builder, que es una herramienta orientada la edicion de modelos en 3-D y esta disponible solamente para el sistema operativo Windows. Practicamente es un herramenta de edicion de archivos VRML (Virtual Reality Modeling Language )que prove una interfaz amigable con este tipo de e archivos.

Figura 1: V-Realm Builder.

Si bien esta herramienta es sencilla, es poderosa y amigable. La interfaz graca del usuario no solo ofrece una representacion graca de un escenario en 3D y her
ENOAN 2009

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

ramientas interactivas para la creacion de elementos gracos, ademas muestra una representacion en diagrama de arbol de todos lo elementos que componen al ambiente de realidad virtual.

Figura 2: Interfaz graca de V-Realm Builder.

Un archivo VRML usa el formato de texto estandar, por lo que se pueden manipular estos archivos en un editor de texto y ahi realizar la programacion del ambiente de realidad virtual si uno conoce la sintaxis del lenguaje VRML. Sin embargo, es conveniente el uso de herramientas de edicion de 3D para crear escenarios complejos sin tener un extenso conocimiento del lenguaje de programacion VRML, algunos de estos editores son SolidEdge, Unigraphics, SolidWorks, 3D Studio, etc. que ofrecen la posibilidad de exportar los modelos disenados al formato VRML. La versatilidad de V-Realm Builder permite realizar la programacion en su lenguaje nativo poder manipular, crear o modicar facilmente objetos dentro del escenario. y

2. Conceptos b sicos. a
En esta seccion se presentaran algunas herramientas matematicas necesarias para preparar la informacion proveniente de los modelos matematicos e ingresarlos al am biente de realidad virtual.
ENOAN 2009

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

2.1. Denicion de sistemas coordenados.


En el diseno del ambiente de realidad virtual se deben de considerar los sistemas coordenados en los cuales los obhetos se transladaran y/o rotaran. Considere la gura 3, donde se puede observar un sistema inercial SI denotado por los ejes coordenados xi , yi y zi ; este sistema coordenado permanece jo durante el movimiento de un cuerpo mi que se encuentra jo a un sistema ccordenado S B , cuyos ejes coordenados son xb , yb y zb , pero tambien existe un cuerpo mj que se mueve en el sistema S B y ese cuerpo esta jo a un sistema coordenado S W denido por xw , yw y zw .

zb zi
ri mi i b Ri rj ri

mi rj Rj

yb
mj

xb yi

xw

rw b w

zw
mj

yw

xi

Figura 3: Sistemas coordenados de referencia Se puede observar que los cuerpos mi en el sistema S B tienen un movimiento traslacional Ri y un movimiento rotacional i respecto al sistema S I . Para visualizar el corb recto movimiento de los cuerpos mi de debe de ajustar la distancia ri . De la misma manera para el movimiento de los mj del sistema S W denido por su traslacion Rj y su rotacion b respecto al sistema S B , se debe denir la distancia rw . w En el diseno del ambiente de realidad virtual se deben de hacer estas considera ciones, mas adelante se explicaran los pasos para obtener un sistema con las carac tersticas de la gura 3.

2.2. Representaci on de la orientaci on de un cuerpo.


Existen diferentes formas de representar la orientacion de un cuerpo, las mas co munes son los angulos de Euler, los parametros de Euler y los cuaterniones unitarios.

ENOAN 2009

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

En aplicaciones de aeronautica, aeroespacial y robotica se utilizan estas representa ciones para denir la dinamica que los describe, y en simulaciones con modelos de realidad virtual es de gran importancia tener conocimientos basicos. 2.2.1. Angulos de Euler

Representan la orientacion de un cuerpo respecto a un sistema coordenado xyz o la orientacion de un sistema coordenado respecto a otro, como se muestra en la gura 4. Para describir la orientacion de un cuerpo en t rminos de los angulos de Euler se e denen las siguientes rotaciones: (roll) describe la rotacion alrededor del eje x. (pitch) describe la rotacion alrededor del eje y. (yaw) describe la rotacion alrededor del eje z.

Figura 4: Visualizacion de la rotacion de un eje coordenado, obs rvese como rotan los e otros ejes coordenados segun sean sus colores. Esta representacion es facil de visualizar geom tricamente, ademas son usados e para denir transformaciones de coordenadas mediante una secuencia de rotaciones, por ejemplo en la denicion de una orbita de un sat lite se usa una secuencia R(, , ) = e Rz ()Rx ()Rz () o 3-1-3.

2.2.2.

Cuaterniones unitarios

La orientacion de un objeto puede ser descrita como una rotacion alrededor de un eje. Este eje es un vector unitario con componentes en un sistema coordenado xyz, por lo que se necesitan cuatro parametros para describir una orientacion respecto a un sistema coordenado de referencia; los tres componentes del vector unitario y un
ENOAN 2009

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

angulo de rotacion . La ventaja de utilizar cuaterniones unitarios es que se evitan singularidades (punto(s) donde una funcion tiende a innito o esta mal denida en otro sentido) que se presentan en secuencias de rotaciones expresados en angulos de Euler. Un cuaternion se dene por tener una parte escalar y una vectorial , de manera que: q=
1 2 3

(1)

y para un cuaternion unitario, se tiene: 2 + donde: = cos =


1 2 3 2 1

2 2

2 3

=q q=1

(2)

2 = sin

(3)

(4) 2 y se puede observar que y se expresan en t rminos de una rotacion alrededor e de un vector unitario , con los cuales tambi n se puede representar la orientacion de e un cuerpo, mejor conocido como representacion en parametros de Euler ilustrado en la gura 5.

Figura 5: Parametros de Euler.

2.3. Transformaci on de coordenadas.


2.3.1. Matriz de rotacion

Una matriz de rotacion puede ser interpretada de tres maneras:

ENOAN 2009

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

- La transformacion de un vector representado en un sistema coordenado a otro sistema coordenado. - La rotacion de un vector en el mismo sistema coordenado. - La descripcion de una orientacion mutua entre 2 sistemas coordenados. La matriz de rotacion R de un sistema coordenado a a un sistema coordenado b b se denota Ra . La matriz R es una matriz de 3 3 de elementos reales, y tiene las b a a propiedades siguientes: R R = I 33 , det(R)=1 y Ra = (Rb )1 = (Rb ) . La transformacion de un vector expresado en un sistema coordenado inicial a otro f inal sistema coordenado nal se puede expresar como vf inal = Rinicial vinicial . La matriz de rotacion correspondiente a la rotacion de grados alrededor del eje puede obtenerse como sigue: R = I + S() sin + (1 cos )S 2 () donde el operador S() es la matriz anti-sim trica: e 0 a3 a2 0 a1 S(a) = a3 a2 a1 0 (5)

(6)

La ecuacion (5) puede expresarse en t rminos de cuaterniones unitarios como e sigue: R = I + 2S( ) + 2S 2 ( ) (7)

Otra manera de describir la matriz de rotacion es usando los angulos de Euler: 1 0 0 (8) Rx () = 0 cos sin 0 sin cos cos 0 sin 0 1 0 (9) Ry () = sin 0 cos cos sin 0 (10) Rz () = sin cos 0 0 0 1 donde los angulos , y son las rotaciones alrededor de los ejes x, y y z respecti vamente.
ENOAN 2009

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

La derivada de la matriz de rotacion con respecto al tiempo es:


a a Rb = a R b ab

(11)

donde a es el vector de la velocidad angular del sistema coordenado b relativo al ab sistema coordenado a expresada en el sistema coordenado a cumpliendo la propiedad a = -a resultando en: ab ba a a a (12) Rb = S(a )Rb = Rb S(b ) ab ab siguiendo la denicion de producto cruz: a = S()a y la propiedad: S() = S() (14) Un problema comun al trabajar con matrices de rotacion denidas con angulos de Euler son singularidades, estas se presentan cuando se quiere denir la orientacion de un cuerpo con un movimiento sin algun tipo de restriccion. Aun cuando el modelo esta bien, se presenta alguna forma de discontinuidad o alguna rotacion no deseada en un periodo corto de tiempo. Si en el modelo matematico que se esta simulando se observan algun tipo de singularidad, es necesario solucionar el problema si se desea trabajar con modelos de realidad virtual. Si se trabajan con secuencias de rotaciones denidas por angulos de Euler conviene expresar el t rmino(s) variable(s) en el tiempo como un cuaternion unitario, y la matriz e de rotacion constante transformarla en un cuaternion unitario. Para ello se presenta este sencillo algoritmo: - Para obtener el vector de giro V , y considerando una matriz denida por angulos de Euler constantes R(, , ) se tiene que: r11 r12 r13 R(, , ) = r21 r22 r23 r31 r32 r33 el vector de giro sera: r23 r32 V = r31 r13 r12 r21 por lo que el vector unitario i sera: i =
ENOAN 2009

(13)

(15)

(16)

V |V |

(17)

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

- Ahora calculamos el angulo de giro i de la siguiente manera: i = arc cos - Expresando i y i en cuaterniones: i = cos 2i
i

trace(R(, , )) 1 2

(18)

= sin 2i

(19)

Teniendo el cuaternion unitario qi = [ i , i ] queda incluir la rotacion omitida. Esta rotacion se efectua alrededor de un vector o con un angulo , por lo que se puede expresar esta rotacion en un cuaternion unitario denido as: o = cos 2
o

= o sin 2

(20)

donde o = [xo , yo , zo ] . Finalmente se usara la denicion del producto de dos cuaterniones unitarios para relacionar qi = [i , i ] y qo = [o , o ] q = qi qo = i o i o i o + o i + S( i )
o

(21)

La interpretacion geom trica de este producto es la rotacion qo en torno a qi , por lo e tanto la rotacion que se omitio se incluye en este producto de dos cuaterniones uni tarios. Este resultado permite expresar el movimiento de un cuerpo libre de restricciones y consecuentemente se lograra una correcta visualizacion en una simulacion utilizando un ambiente de realidad virtual.

3. Acondicionamiento de se ales para el ambiente de realin dad virtual.


Hasta ahora se ha visto las herramientas matematicas basicas para crear un ambi ente de realidad virtual. No es necesario realizar cambios drasticos al modelo matematico, lo que se necesita es crear una funcion o bloque de programacion para ordenar y/o crear las senales necesarias para darle movimiento a los objetos denidos en el esce nario.

ENOAN 2009

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

Para denir translacion se necesita un vector v = [ x y z ], denidos en metros, una rotacion necesita de 4 parametros, un vector de giro (no es necesario que sea unitario) y un angulo de rotacion en radianes.

Figura 6: Ejemplo de bloque de acondicionamiento de senales. Como ejemplo se puede observar en la gura 6 un bloque de programacion (en SIMULINK, de MATLAB), donde las variables (seleccionadas previamente) del modelo matematico se procesan y se ingresan al escenario de realidad virtual. En este caso se selecciono manipular la rotacion y translacion de algun objeto.

Figura 7: Propiedades del escenario de realidad virtual. En el caso de la translacion, la senal llamada translation es llevada a un bloque VR signal expander para cambiar el orden de los valores del vector en caso que se
ENOAN 2009

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

requiera, despu s pasa al escenario de realidad virtual. En cambio, la senal R, que es e una matriz de rotacion, es llevada a un bloque Matlab function donde se programo la conversion a un vector de giro y un angulo de rotacion, tal como se denio en las ecua ciones (15) al (21), el resultado para por un bloque VR Signal expander para ordenar la informacion si es que se requiere y el resultado pasa al escenario de realidad virtual. Puede observarse que en bloque VR Model aparecen los parametros XYZ.rotation y XYZ. translation, estos aparecieron ya que fueron seleccionados para su manipulacion dentro de la ventana de propiedades del escenario, como aparece en la gura 7, y tambi n se pueden manipular mas parametros del ecenario, pero se veran con mas e detalle mas adelante.

4. Metodologa de programacion del ambiente de realidad virtual.


En esta seccion se explicara como disenar un ambiente de realidad virtual, para el lo se utilizara el software VRealm Builder para crear, modicar y/o eliminar elementos que conforman al escenario. Se puede disenar un escenario tan complejo y detalla do como uno lo dese , pero se sacricara velocidad en la simulacion de los modelos e matematicos programados, es por ello que se recomienda fuertemente contar con un ordenador con un buen procesador, suciente memoria RAM y una tarjeta de video para obtener una visualizacion de resultados de alta calidad. El primer paso es la creacion de modelos 3D para el escenario que se desea progra mar, si bien V-Realm Builder puede hacer esa tarea, puede que sea complicado crear modelos de alto grado de complejidad, por ello es recomendable crear estos modelos en algun software de edicion de modelos en 3D y exportarlos al formato VRML, haciendo las consideraciones expuestas en la seccion 2.1.

4.1. Creacion de objetos y propiedades.


Los objetos mas comunes que se pueden crear en un ambiente de realidad virtual y algunas de sus propiedades son: Solidos. Este tipo de objetos pueden ser creados con las herramientas de edicion de solidos, en donde se dispone de conos, cilindros, cubos, etc. Pueden ser mod icados tanto en forma como en color. Inclusive se puede agregar una imagen en formato JPG como textura del solido.

ENOAN 2009

10

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

Cuando son agregados al escenario, en la parte derecha de la pantalla se observa el objeto en su representacion en 3D, y en la parte izquierda se observa que las propiedades dimensionales del objeto shape pertenecen a una transformacion Transform, que permite modicar propiedades basicas como centro, translacion, rotacion y escala, como se muestra en la gura 8. Esta ultima necesita del factor de escala y la orientacion la cual el objeto sera escalaro. Se debe recordar que cualquier variable que implique posicion es un vector v R3 y se da en metros, y una orientacion se expresa por medio de un vector no necesariamente unitario y un angulo, en radianes, tal que o = [ ], R3 y . Inclusive se puede manipular su translacion y rotacion con ayuda del mouse, seleccionando las lneas o nodos que rodean al cuerpo. C maras. Es una herramienta muy util para crear diferentes puntos de obsera vacion, se pueden colocar en una posicion y una orientacion deseada. Si se tienen diferentes puntos de observacion se podra apreciar mejor la simulacion virtual de un modelo. Iluminaciom. Los efectos de iluminacion dan al ambiente de realidad virtu al realismo y mejor apreciacion de los objetos que en el se encuentran. Estan disponibles 3 tipos de iluminacion, un omnidireccional o point light, estilo lin terna o spot light y direccional o directional light (Figura 8). Los dos primeros necesitan de una posicion, el segundo necesita ademas la direccion y el angulo de propagacion de la luz, y el tercero basta con la direccion de haz de luz. Se pueden modicar las propiedades de color e intensidad del haz de luz. Los resultados pueden variar segun las propiedades del objeto que se iluminara. Esta caracterstica no afecta al objeto Fondo, sino a los objetos solidos que se encuentren en el escenario. Fondo. Se puede denir colores de fondo segun como se dese , indicando la e secuencia de colores deseada, cada vez que se agrega un color, este se difumina con el mas cercano. En este modo se tiene el fondo del cielo y el fondo del piso dentro de una esfera. Si se cambian los parametros groundAngle y skyAngle, un color cubrira mas area de la que esta declarada por default. Tambi n se puede e agregar imagenes de fondo en seis opciones diferentes: leftUrl, rightUrl, topUrl, bottomUrl, frontUrl y backUrl, formando as un arreglo cubico de imagenes de fondo. Existen mas herramientas que pueden utilizarse para la denicion del escenario virtual, para mas detalle se recomienda ver los modelos demo que estan incluidos
ENOAN 2009

11

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

Figura 8: (Izquierda) Propiedades del objeto solido. (Derecha) Propiedades de luz, fondo y camara.

dentro del software de MATLAB.

4.2. Herencia.
Una de las caractersticas mas importantes que se pueden encontrar es la herencia de propiedades, algunas herramientas permiten tener otros elementos dependientes que seran afectados por los parametros que denen la dinamica del elemento primario. Las herramientas transform y group son comunes para anidar elementos en un orden descendente sin alguna restriccion. Estos se agrupan en el bloque llamado chil dren. Si se observa la gura 3, los objetos del sistema SW dependen del movimiento de los objetos que se encuentran en el sistema S B . Como consecuencia se pueden tener diferentes sistemas coordenados anidados con solo conocer la distancia entre sistemas coordenados Rj y la orientacion respecto al sistema padre expresado por un vector y un angulo. No solo pueden anidarse objetos solidos, sino tambien iluminacion y camaras, ha ciendo mas dinamico al escenario de realidad virtual logrando excelentes efectos vi suales. Esta propiedad de herencia es util si se desea hacer correcciones en la posicion del centro u orientacion de los objetos. Este problema se presenta comunmente cuando los
ENOAN 2009

12

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

objetos modelados en algun software de edicion de 3D tienen un sistema coordenado de refencia que diere del deseado, o cuando se trabajan con modelos que contienen ensambles, los diferentes objetos cuentan con un sistema coordenado indeseado para el programador.

4.3. Visualizacion.
Una vez disenado el ambiente de realidad virtual, sera llamado desde un archivo de Simulink de MATLAB a trav s de un bloque dentro de la librera Virtual Reality e Toolbox, seleccionando el bloque VR Sink. Haciendo doble-clic en ese bloque aparecera una ventana similar a la gura 7, donde se debe ingresar la ubicacion del archivo que contiene el escenario de realidad virtual, se seleccionan los parametros con los cuales se va a trabajar y un parametro importante es el tiempo de muestreo, un valor bajo permite simulaciones de alta calidad, sin embargo el tiempo que tomara realizar la simulacion sera mas alto. Se debe de seleccionar un tiempo de muestreo adecuado donde se obtenga calidad y desempeno.

Figura 9: Visualizacion de un modelo de realidad virtual.

En la gura 9 se observa la ventana de visualizacion del modelo de realidad virtual que se diseno mediante V-Realm Builder. Se puede navegar en el modelo con los con troles de la parte inferior de la ventana, y con el mouse en tres formas, walk, examine y y. En esta ventana se pueden seleccionar las vistas que han sido programadas previamente durante la simulacion. Esta caracterstica puede ser usada en la creacion de un video de la simulacion. Estableciendo un porcentaje de compresion se puede generar
ENOAN 2009

13

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

un archivo de video AVI que inicia la grabacion al momento de iniciar la simulacion o en un tiempo agendado por el programador.

5. Interacci entre modelos dise ados en Simulink y el amon n biente de realidad virtual.
Con los conocimientos basicos vistos en secciones anteriores se pueden realizar simulaciones de sistemas mecatronicos visualizando los resultados en un ambiente de realidad virtual. Para mantener un orden en la programacion del modelo matematico, se sugiere crear subsistemas que contienen las ecuaciones que denen la dinamica del sistema, los algortimos de control y un subsistema que contenga las funciones necesarias para crear las senales necesarias para el escenario de realidad virtual. Considere el ejemplo del modelo de un sat lite equipado con ruedas inerciales, en e la gura 10 se observa que el modelo fue separado de manera que si se desea hacer alguna modicacion, se accesa al subsistema que se desa modicar.

Figura 10: Modelo de la dinamica de un sat lite dividido en subsistemas. e

Como se puede observar, el bloque dynamics del picosat lite recibe las senales de e
ENOAN 2009

14

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

control y un parametro que proviene del bloque kinematics, que es la velocidad con la que el sat lite recorre su orbita, ademas en el se denen la rotacion de la Tierra y e la posicion del sat lite segun la orbita que se haya programado. En el bloque control e recibe las senales necesarias para crear la accion de control. Sin un modelo de reali dad virtual la revision de resultados por medio de gracas XY sera mas abstracto que visualizarlos. El problema de la dinamica de un sat lite implica una sucesion de rota e ciones que dicilmente pueden vericarse en gracas. Esto motiva el uso de ambientes de realidad virtual. La implementacion del modelo matematico de la dinamica del sat lite en Simulink e se muestra en la gura 11. Puede observarse que existen muchas salidas que provienen de bloques Matlab Function, que llama a archivos .m programados previamente, por lo que estas salidas se ingresaron a un bus, el cual permite transportar todas las senales que uno dese en un solo alambre, haciendo mas sencillo la visualizacion del diagrama e de bloques y la manipulacion de datos.

Figura 11: Dinamica del sat lite. e

En este subsistema se programaron la dinamica del sat lite dentro del bloque e e Oib dot y la cinematica de la orientacion del sat lite en el bloque q dot en donde se resuelven las ecuaciones diferenciales con ayuda de un integrador con sus respectivas condiciones iniciales.
ENOAN 2009

15

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

Se pueden ingresar constantes en los bloques denotados como C, donde en el bloque A se pueden denir los vectores de orientacion de las ruedas inerciales, en el bloque Iw se denen los momentos de inercia de cada rueda inercial y el bloque Isat contiene la matriz de inercia del sat lite. Estos parametros modicaran el compore tamiento de la dinamica y del controlador. Los datos de interes se pueden visualizar en un Scope o osciloscopio que tiene como nombre SIM que graca la evolucion de la variable respecto al tiempo de simulacion. Las entradas se pueden ver en las guras azules y las salidas en las rojas. En la gura 12 se muestra la manera en la que se programo el algoritmo de control que estabiliza al sat lite en una orientacion deseada, que esta puede se programada e como una constante o una variable, en este caso se programo una rutina en la que se puede denir un eje de rotacion y un angulo que vara de forma senoidal, con el objeto de observar el comportamiento de las ruedas inerciales.

Figura 12: Algoritmo de control del sat lite. e

Las ecuaciones que denen al algoritmo de control fueron programados en los blo ques con nombre Oob d y T1. En el bloque q t se programo el error de orientacion, es decir, el producto de dos cuaterniones, el de la orientacion deseada y el de la ori entacion actual del sat lite, como se dene en la ecuacion (21). La salida de este sub e sistema es el par de control que necesita ser generado por las ruedas inerciales. En la gura 13 se muestran los calculos necesarios para describir la orbita en la que el sat lite se desplaza y adicionalmente la visualizacion de la posicion del sat lite e e respecto de la Tierra mediante displays.

ENOAN 2009

16

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

Figura 13: Cinematica del sat lite. e

Para ello fue necesario denir varias rotaciones para as construir una matriz de transformacion, las cuales se denen en los bloques llamados Orbit to Inertial System y Orbit to ECEF. En el bloque Orbit Coordinate System se dene la velocidad angular en la que el sat lite se desplaza en su orbita, esta velocidad angular es constante ya e que se programo una orbita circular. En la gura 14 se muestra el acondicionamento de la informacion proveniente de los modelos matematicos para los ambientes de realidad virtual. Los bloques mas importantes son q d y q ob, en el primero se programo las rota ciones necesarias para denir el sistema coordenado SO ; y el segundo dene la orientacion del sat lite respecto al sistema coordenado S O . Debido a que no se pueden e denir otros sistemas coordenados al momento de programar el ambiente de realidad virtual el uso de secuencias de rotacion y matrices de rotacion es de vital importancia. Las secuencias de rotacion que se usaron fueron: - Transformacion del sistema S OE al sistema S I
I ROE = Rz ()Rx (i)Rz ()

(22)

donde los valores para cada parametro son de acuerdo a una orbita denida, y en , i = 89 y = 0 . este caso se tiene que = 15 - Transformacion del sistema S O al sistema S OE
OE RO = Rz ()Rx ()Ry ()

(23)

donde = 90 y = 90 . La rotacion Ry () se omitira debido a que vara con el tiempo y provocara que en cierto angulo exista una singularidad, parametro que
ENOAN 2009

17

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

Figura 14: Acondicionamiento de la informacion para los ambientes de realidad virtual.

ENOAN 2009

18

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

se incluira mas adelante, quedando esta rotacion as:


OE RO = Rz ()Rx ()

(24)

Teniendo las matrices de rotacion anteriores, el sistema SO puede expresarse en t rminos del sistema S I con la siguiente expresion: e
OE I RI = (ROE ) ; O OE ROE = (RO )

(25) (26)

O O OE RI = ROE RI

Esta matriz de rotacion se convierte en un cuaternion para incluir la rotacion fal tante variante en el tiempo expresado como un cuaterion, y mediante un producto de cuaterniones se obtiene la denicion del sistema coordenado SO .

Figura 15: Ambiente de realidad virtual mostrando solo al sat lite. e

De la misma manera los bloques v2angleaxis contienen secuencias de rotaciones para poder orientar las ruedas inerciales del sat lite a una direccion deseada, las rotae ciones solo son 2, Rz (1 ) y Ry (2 ), donde 1 y 2 son angulos que se denen de acuerdo al vector proporcionado en el subsistema Dynamics del modelo.

ENOAN 2009

19

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

Los bloques VR Signal Expander tienen la funcion de ordenar los datos de translacion y rotacion necesarios para el ambiente de realidad virtual. En ese bloque se puede cam biar el orden de cada elemento de un vector el cual contiene la informacion de rotacion y translacion.

Figura 16: Ambiente de realidad virtual mostrando al sat lite y al planeta Tierra. e

La salida de este subsistema consiste en vectores de translacion y rotacion nece sarios para el ambiente de realidad virtual. En este proyecto se crearon 2 entornos, uno donde se muestra unicamente al sat lite (gura 15) y otro donde se incluye al e planeta Tierra (gura 16). Para lograrlo se uso el software V-Realm Builder incluido en la paquetera de Matlab, pero antes los solidos que son el sat lite y las ruedas iner e ciales se crearon previamente en un software de CAD (SolidEdge), posteriormente se guarda el archivo del solido con extension .W RL y as las caractersticas del solido se pueden ingresar en el software de realidad virtual. La programacion se realiza mientras uno observa los resultados gracamente, co mo se observa en la gura 17. Este software pose varias herramientas, en las que se e pueden mencionar algunas como la creacion de puntos de observacion, posicionamien to de lamparas, denicion de fondo, solidos, entre otros. Ademas se pueden agrupar elementos y denir transformaciones. Esta ultima es
ENOAN 2009

20

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

Figura 17: Entorno de programacion del modelo de realidad virtual.

importante ya que es conesta operacion que se puede denir translacion y rotacion en el sistema coordenado global, y en el parametro children o hijos, se pueden in gresar tantos elementos como uno dese . En el caso de denicion del planeta Tierra e solo se necesito una transformacion y dentro de children solo se agrego el solido con su respectiva textura, que es una imagen de la Tierra. Para la denicion del sat lite e se requirio de varias transformaciones sucesivas para primero denir el cuerpo del sat lite, despu s otra transformacion para incluir las ruedas inerciales y la denicion e e de la orientacion de estas, y por ultimo otra transformacion que permite a las ruedas inerciales girar en su eje axial.

6. Conclusiones.
Se obtuvieron resultados muy satisfactorios al momento de correr la simulacion y visualizar los resultados de la dinamica del sat lite con ruedas inerciales en un am e biente de realidad virtual, ya que resulta muy difcil interpretar los resultados de los modelos matematicos y la accion del algoritmo de control en un graco XY. Para realizar la simulacion se cuidaron varios parametros, el tipo de solucionador, la tolerancia relativa y el tamano maximo y mnimo del incremento del tiempo. Es muy importante la conguracion de estos parametros ya que depende del tiempo que toma Simulink en realizar la simulacion del modelo. Por ser un modelo grande y complejo
ENOAN 2009

21

Curso Avanzado

Diseo de Ambientes de Realidad Virtual para la Simulacin de Sistemas Mecatrnicos

Ing. Jos Rodrigo Crdova Alarcn

se ingresaro la siguiente conguracion: Tipo de solucionador Ode45 (Dormand-Prince), error relativo de 1e2, incremento maximo y mnimo del tiempo de 0,01 y 0,001 respecti vamente. Con ello se obtiene un balance entre velocidad de procesamiento y precision, y permitimos al simulador incrementar o disminuir el parametro del incremento del tiempo en un margen amplio segun los casos que lo requieran, otorgandole exibilidad. Para la visualizacion del modelo en realidad virtual se cuido el tiempo de muestreo, cuando uno elige un valor pequeno la visualizacion mejora, pero el tiempo de simu lacion incrementa, pero si elegimos un valor grande, el tiempo de simulacion dismin uye, pero la calidad de la visualizacion disminuye. Se elige un tiempo de muestreo de 1 segundo para ver la evolucion del sat lite bajo la accion del controlador, y se e elige un valor pequeno de 0.001 segundos cuando el inter s es observar con detalle el e movimiento de las ruedas inerciales, ya que estas giran rapidamente. Programando las rutinas de movimiento del sat lite se pueden vericar los modelos e matematicos mediante ambientes de realidad virtual, y este caso en particular donde se utilizan matrices de transformacion, el uso de un ambiente de realidad virtual re sulto necesario y muy util.

ENOAN 2009

22

Curso Avanzado

También podría gustarte