Simulación en AutoCad

martes, 3 de noviembre de 2009

1. INTRODUCCIÓN

Los sensores de visión artificial han adquirido gran importancia en la sensorización de todo tipo de robots. La gran evolución alcanzada por el hardware de captación y procesamiento, así como el desarrollo de algoritmos de reconocimiento de objetos a partir de imágenes, han permitido incluir la visión artificial en el control de tareas y trayectorias de los robots.

En el caso de la robótica móvil, la visión artificial es utilizada tanto para el reconocimiento de objetos y el control de trayectorias como para la localización del robot en su entorno. Sin embargo, el peligro inherente a la posibilidad de colisiones y el alto coste económico de los robots y sensores de visión artificial, así como la complejidad propia de la construcción entornos de prueba realistas, apuntan al uso de simuladores tanto de los algoritmos propios del robot móvil y de sus sensores como del entorno en el que deben desenvolverse. Es en este punto donde la capacidad de programación de AutoCAD suministra todos los mecanismos necesarios para la realización sencilla de entornos simulados complejos, así como la posibilidad de ejecutar todos los procesos involucrados en la captación y tratamiento de imágenes y en el control y gestión de trayectorias de los robots.

Dentro del mundo de la sensorización, la visión artificial está desarrollando procedimientos que permiten la identificación de objetos dentro de un entorno, a través de algoritmos de filtrado de imágenes y de tratamiento basados en sistemas expertos y redes neuronales, de tal forma que los robots pueden utilizar este tipo de sensores a la hora de localizar objetos conocidos dentro de un entorno, como pueden ser las paredes o ciertos elementos del mobiliario, así como la localización espacial del robot respecto a los distintos elementos recogidos, con técnicas como la estereovisión.

Según esta filosofía, el robot conoce el mundo a través de la sensorización con que ha sido provisto. Estos sensores filtran la información del entorno al robot, quien deberá modificar sus trayectorias en función de la porción de entorno conocido (Fig. 1)




Fig. 1 - Relación del robot con su entorno



Cuanto mayor sea la información que los sensores recojan del entorno, mejor podrá ser la adaptación del robot móvil tanto a los obstáculos no previstos como a los entornos parcial o totalmente desconocidos.

La elección de AutoCAD como base de simulación tanto de los entornos tridimensionales como de los distintos sensores se ha realizado porque, por una parte, el programa permite una programación sencilla de rutinas en lenguaje AutoLISP, de tal forma que se facilita la creación de todas las rutinas necesarias para la elaboración de los ambientes, ayudado por el módulo de tratamiento de sólidos, donde las operaciones booleanas entre los mismos facilitan en gran medida las distintas construcciones de elementos. También debe tenerse en cuenta la gran difusión adquirida por dicho programa, así como la posibilidad que ofrece al permitir su programación en leguaje "C", mediante el cual pueden realizarse tanto las simulaciones de los procesos propios del guiado del robot como de los algoritmos de los distintos tipos de sensores en función de la posición y movimiento del robot, mediante al acceso a la base de datos interna de AutoCAD. No se debe olvidar la posibilidad que brinda el programa de obtener perspectivas más o menos fotorrealistas.

La versatilidad de programación que posee AutoCAD permite que, por una parte, la programación de todas las rutinas de desarrollo del ambiente tridimensional se realicen en AutoLISP, que es un lenguaje sencillo que combina de una forma simple los distintos elementos sólidos que definirán el entorno, mientras que, por otra parte, la potencia que ofrece su programación en lenguaje "C", permite la simulación de todos los procesos propios del robot móvil así como de la sensorización del mismo. La interconexión entre ambos módulos logra que la simulación pueda ser realizada completamente dentro del mismo entorno de desarrollo (fig. 2)





Fig. 2 - Conexión entre las simulaciones


2. ESTRUCTURA DE LA APLICACIÓN DE GENERACIÓN DE AMBIENTES TRIDIMENSIONALES

El desarrollo del ambiente tridimensional donde se desenvolverá el robot se realiza totalmente utilizando las distintas órdenes que posee AutoCAD en su módulo de tratamiento de sólidos. El objetivo de los programas realizados el AutoLISP consiste en dotar al programa de una serie de primitivas que faciliten el desarrollo de los distintos elementos como son el suelo, paredes, puertas, ventanas, así como la creación de una biblioteca de objetos tridimensionales como mesas, sillas, etc., que puedan ser integradas sin dificultad dentro del ambiente. La popularidad alcanzada por AutoCAD permite utilizar bibliotecas de elementos ya existentes, así como la importación de otros elementos a través de los formatos de intercambio DXF e IGES. También se ha dotado al programa de un sistema de menús que permite iniciar la aplicación y seleccionar los distintos tipos de elementos disponibles. La posterior modificación o inserción de más opciones resulta sencilla.

Todos los elementos geométricos se realizan a través de operaciones booleanas entre los diferentes sólidos que permite AutoCAD, mediante adiciones y substracciones de los mismos, utilizando también la posibilidad de generar sólidos por revolución y por extrusión de polilíneas.
Se ha desarrollado un sistema de ventanas que permite desarrollar el ambiente a través de tres vistas en diédrico, planta, alzado y perfil, y con una perspectiva modificable donde se puede establecer el punto de vista tridimensional.

Las funciones más importantes desarrolladas son:

2.1 Suelo
La orden suelo crea la base sobre la que se realizará el resto de los elementos. Esta orden procede a extrusionar una polilínea que enmarque las dimensiones de la base del ambiente, pidiendo al usuario la altura de la misma. El programa procede a establecer como altura cero la cara superior del sólido creado, asignando el color elegido por el usuario al mismo. La polilínea utilizada en la extrusión debe haber sido creada con anterioridad.

2.2 Pared
La función pared permite definir los muros que delimitan el ambiente. Las paredes se crean introduciendo dos puntos extremos de la arista inferior por la que debe discurrir la misma. La función pide como argumentos la altura, grosor y color de la pared, pasando a ser valores por defecto para los posteriores usos de dicha función dentro de la misma sesión de diseño.

2.3 Puerta
Con esta función realiza, por una parte, el hueco de la puerta en la pared que haya sido seleccionada y, por otra, se crea la propia puerta, permitiendo ajustar el lado y ángulo de apertura. La función pide como argumento la pared donde se desea situar la puerta. La anchura de la misma se introduce mediante dos puntos en una arista de su base. la función también pide la altura de la puerta. El hueco en la pared se realiza a través un nuevo sólido con la forma de la puerta que es restado booleanamente del sólido que representa la pared.

2.4 Ventana
La función ventana permite situar una ventana sobre una pared. Igual que en el caso de la puerta, el programa crea un nuevo sólido que es restado del que representa la pared para formar el hueco correspondiente a la ventana. La función pide al usuario una arista inferior de la pared sobre la que irá situada la ventana, así como un par de puntos sobre dicha arista que definen la anchura de la ventana a situar. Posteriormente, la función pide el color del marco de la ventana, permitiendo que los cristales sean representados opacos, mediante un color, o transparentes.
2.5 Techo
Se ha desarrollado una función suplementaria que permite extruir una polilínea con un cierto ángulo para crear el techo. De la misma forma que en el caso del suelo, se debe trazar una polilínea que delimite la zona de creación del techo. La polilínea original debe estar situada en el plano de altura cero, de tal forma que la misma polilínea que ha sido utilizada para crear el suelo puede ser utilizada para definir el techo.

2.6 Otras funciones
Se han elaborado otra funciones para el trazado de columnas, variantes de la orden pared y otros formatos de puertas y ventanas que permiten diseñar otro tipo de elementos, como arcos o paredes curvadas. Todos estos elementos permiten la nueva inclusión de diferentes objetos según se complete el desarrollo de la aplicación.

2.7 Iluminación
Se han desarrollado elementos de iluminación (lámparas) que permiten el posterior renderizado de las escenas.
2.8 Bibliotecas de elementos

Se ha creado un biblioteca de elementos básicos como mesas, sillas, sanitarios, lámparas, etc.. que es fácilmente ampliable tanto con elementos procedentes de otras bibliotecas de elementos tridimensionales como por el desarrollo de nuevos elementos.
Estos elementos permiten la creación de entornos tridimensionales complejos de una forma simple. En todos los casos pueden utilizarse las ayudas al dibujo propias de AutoCAD como son el uso de rejilla, forzar coordenadas, referencias a entidades y el modo de dibujo ortogonal. Por otra parte, las facilidades que admite el programa en cuanto a visualización tridimensional a través de ocultación de líneas, sombreado y renderizado con el uso de cámaras con distintos enfoques permiten obtener las perspectivas que serán utilizadas por los algoritmos propios de la visión artificial para el tratamiento de imagen en el reconocimiento de objetos y situación espacial del robot móvil.

3. EJEMPLOS

Ejemplo 1

En este segundo ejemplo se presenta un entorno más complejo en el que se manifiestan los tres procedimientos permitidos por AutoCAD para la visualización del resultado. En la figura 7 se presenta el mallado alámbrico del entorno tridimensional desarrollado, constituido por una serie de paredes que definen una casa con sus correspondientes puertas, ventanas, una columna y parte del mobiliario. En la figura 8 se muestra el mismo modelo ocultando líneas, y el la figura 9 se realiza un sombreado. Este mismo modelo re representa mediante un renderizado en la figura 10, eliminando el techo en la figura 11 para una mejor representación del interior.



Fig. 7 - Representación inalámbrica de un modelo



Fig. 8 - Representación del modelo con líneas ocultas


Fig. 9 - Representación del modelo con sombreado



Fig. 10 - Representación del modelo renderizado



Fig. 11 - Representación del modelo renderizado sin tejado

Las posibilidades que ofrece AutoCAD en cuanto a ocultación, sombreado y renderizado de las imágenes permiten constatar la bondad de los algoritmos de tratamiento y reconocimiento de objetos que serán utilizados por el robot móvil.

4. CONCLUSIONES

Las posibilidades de programación que ofrece AutoCAD, tanto en lenguaje AutoLISP como en lenguaje "C", permiten la elaboración de aplicaciones que utilizan las posibilidades de manejo de sólidos y de obtención de perspectivas más o menos fotorrealistas que permite el programa dentro del campo de la simulación del comportamiento de robots dotados de sensores de visión.
La configuración del entorno de trabajo a través de menús que ofrece el programa facilitan el posterior uso de estas aplicaciones, disminuyendo la complejidad inherente al desarrollo de ambientes tridimensionales en los que se desenvuelvan los robots.

Pese a que actualmente sólo se ha terminado la fase de modelado, la interconexión de la aplicación desarrollada con la simulación de los robots y sensores no es compleja, ya que todos los algoritmos relacionados con dichas simulaciones ya se encuentran programados en lenguaje "C", debiendo modificar la programación para adaptarla al compilador de dicho lenguaje utilizado en las aplicaciones desarrolladas bajo AutoCAD.

La aplicación desarrollada puede ser fácilmente exportada a otros campos del diseño asistido por ordenador, como puede ser la arquitectura. La ampliación de la biblioteca de elementos permitirá la modelización de entornos mucho más realistas y complejos.

3 comentarios:

Ing. Mario Pastrana dijo...

En Youtube pode encontrar algunas animaciones, Muy buen trabajo

Myriam Zeledon dijo...

Buen trabajo, me gusto el contenido.

Franklyn Garcia dijo...

buen trabajo felicidades.....

 
SIMULACIÓN POR COMPUTADORAS - by Templates para novo blogger