Simulación en GPSS

miércoles, 2 de diciembre de 2009

Introducción

General Purpose Simulation System [GPSS] Sistema de Simulación de Propósito General, originalmente llamado Gordon's Programmable Simulation System por su creador Geoffrey Gordon (el nombre fue cambiado cuando se decidió liberarlo como un producto). Es un lenguaje de simulación por lapsos discretos, donde un reloj de simulación avanza en pasos discretos. Un sistema es modelado como transacciones introducidas, entra al sistema y son pasadas de un servicio (representados por bloques) a otro. Esto es especialmente adecuado para problemas tales como una fábrica. Fue popular a finales de la década de 1960 y principios de 1970, pero aún es usado un poco actualmente. GPSS es menos flexible que lenguajes de simulación tales como Simula y SIMSCRIPT II.5.

Fuente: http://antiguo.itson.mx/dii/atorres/CdeSim_.htm


les dejo unos ejemplos

TRABAJO GPSS

Puntuación del CI

martes, 17 de noviembre de 2009

Mi test de Coeficiente Intelecual

Resultado:

Prueba de Turing

Prueba de Turing

Se llama Prueba o Test de Turing al procedimiento desarrollado por Alan Turing para identificar la existencia de inteligencia en una máquina.

Expuesto en 1950 en un artículo para la revista Mind (Computing Machinery and Inteligence), sigue siendo hoy día una de las cabezas de lanza de los defensores de la Inteligencia Artificial.

Está fundamentado en la hipótesis positivista de que, si una máquina se comporta en todos los aspectos como inteligente, entonces debe ser inteligente.

La prueba consiste en un desafío. La máquina ha de hacerse pasar por humana en una conversación con un hombre a través de una comunicación de texto estilo chat. Al sujeto no se le avisa si está hablando con una máquina o una persona. Si el sujeto es incapaz de determinar si la otra parte de la comunicación es humana o máquina, entonces se considera que la máquina ha alcanzado un determinado nivel de madurez: es inteligente. Todavía ninguna maquina puede pasar este examen en una experiencia con método científico.

Existe una versión modificada, propuesta por Roger Penrose: la sala china. En esencia es igual, pero la ejecución del algoritmo la realizan personas encerradas en una habitación, se requiere que las personas de la habitación no conozcan el idioma en que se realiza la conversación.

Pese a la brillantez de Penrose, esta modificación no aporta nada al problema, puesto que si los operadores consiguen comprender la conversación, lo harían gracias a su propia inteligencia, por otra parte, pese a lo aparentemente absurdo de la proposición, la sala podría pasar la prueba de Turing sin que los operadores hubieran comprendido nada de la conversación.

Si quiere saber mas sobre la Prueba de Turing lea el archivo adjunto:

Link de Descarga: --El juego de Turing.pdf--

Manual de MATLAB

INTRODUCCIÓN

MATLAB es la función numérica y gráfica para todos los productos de The MathWorks. MATLAB combina computación numérica, gráficos 2D y 3D y capacidades de lenguaje en un único ambiente fácil de usar.

Con su amplio rango de herramientas para modelar sistemas de control, análisis, simulación y procesamiento de prototipos, MATLAB es el sistema ideal para desarrollar sistemas avanzados de control.

MATLAB y la Simulación

Como parte de sus herramientas MATLAB dispone de una Biblioteca llamada SIMULINK.

La Biblioteca de SIMULINK:

Simulink proporciona un entorno grafico al usuario que facilita enormemente el análisis, diseño y simulación de sistemas (de control electrónicos, etc.), al incluir una serie de rutinas que resuelven los calculos matemáticos de fondo, junto con la sencilla interfaz para su uso. Proporciona un entorno de usuario gráfico que permite dibujar los sistemas como diagramas de bloques tal y como se haría sobre un papel.

El conjunto de componentes incluidos junto al programa Simulink, incluye bibliotecas de fuentes de señal, dispositivos de presentación de datos, sistemas lineales y no lineales, conectores y funciones matemáticas. En caso de que sea necesario, se pueden crear nuevos bloques a medida por el usuario.

El programa Simulink se inicia desde el botón "Simulink Library Browser" (Biblioteca de Simulink) de la ventana de comandos Matlab, o desde la línea de comandos mediante la orden:

» simulink

Manual de Matlab

Simulación en Flash

jueves, 12 de noviembre de 2009


SIMULACION DE ENCESTE

Simulación Monte Carlo

lunes, 9 de noviembre de 2009

Introducción

La simulación de Monte Carlo es una técnica que combina conceptos estadísticos (muestreo aleatorio) con la capacidad que tienen los ordenadores para generar números pesado-aleatorios y automatizar cálculos.

la simulación de Monte Carlo está presente en todos aquellos ámbitos en los que el comportamiento aleatorio o probabilístico desempeña un papel fundamental -precisamente, el nombre de Monte Carlo proviene de la famosa ciudad de Mónaco, donde abundan los casinos de juego y donde el azar, la probabilidad y el comportamiento aleatorio conforman todo un estilo de vida.

¿Qué es la simulación Monte Carlo?

La simulación de Monte Carlo es una técnica cuantitativa que hace uso de la estadística y los ordenadores para imitar, mediante modelos matemáticos, el comportamiento aleatorio de sistemas reales no dinámicos (por lo general, cuando se trata de sistemas cuyo estado va cambiando con el paso del tiempo, se recurre bien a la simulación de eventos discretos o bien a la simulación de sistemas continuos).

La clave de la simulación MC consiste en crear un modelo matemático del sistema, proceso o actividad que se quiere analizar, identificando aquellas variables (inputs del modelo) cuyo comportamiento aleatorio determina el comportamiento global del sistema. Una vez identificados dichos inputs o variables aleatorias, se lleva a cabo un experimento consistente en (1) generar – con ayuda del ordenador- muestras aleatorias (valores concretos) para dichos inputs, y (2) analizar el comportamiento del sistema ante los valores generados. Tras repetir n veces este experimento, dispondremos de n observaciones sobre el comportamiento del sistema, lo cual nos será de utilidad para entender el funcionamiento del mismo –obviamente, nuestro análisis será tanto más preciso cuanto mayor sea el número n de experimentos que llevemos a cabo.

Vea unos ejemplos sencillos...


Download EJEMPLO 1 DE MONTE CARLO.pdf

Download EJEMPLO 2 DE MONTE CARLO.pdf

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.

 
SIMULACIÓN POR COMPUTADORAS - by Templates para novo blogger