SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4:...

30
SIMULADOR DE ENTORNOS BIDIMENSIONALES

Transcript of SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4:...

Page 1: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

SIMULADOR DE ENTORNOS

BIDIMENSIONALES

Page 2: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

2

Simulador de entornos bidimensionales____________________________________ 1

Capítulo 1 Diseño y descripción del simulador ___________________________ 3

1 Introducción__________________________________________________________3

2 Objetivo _____________________________________________________________3

3 Diseño del simulador de movimientos _____________________________________3 3.1 Componentes _______________________________________________________________ 4 3.2 El entorno para el simulador. __________________________________________________ 11 3.3 El entorno para un ALV. _____________________________________________________ 11

4 Simulación __________________________________________________________11

5 El comportamiento del ALV. La librería dinámica. ________________________12

6 Características del simulador___________________________________________13

Capítulo 2 Manual de usuario________________________________________ 15

1 Introducción_________________________________________________________15

2 Configuración del simulador ___________________________________________15 2.1 El entorno _________________________________________________________________ 15 2.2 Los robots _________________________________________________________________ 15

3 Adición de obstáculos al entorno ________________________________________20 3.1 Adición de obstáculos estáticos ________________________________________________ 20 3.2 Eliminación de obstáculos estáticos _____________________________________________ 21 3.3 Adición de obstáculos móviles _________________________________________________ 21 3.4 Eliminación de obstáculos móviles______________________________________________ 22

4 Almacenamiento en disco del entorno ____________________________________23 4.1 Crear y cargar un entorno _____________________________________________________ 23 4.2 Grabar un entorno___________________________________________________________ 24

5 Interfaz gráfico ______________________________________________________24

6 La depuración de simulaciones _________________________________________26

7 Inicio y final de la simulación___________________________________________26

Capítulo 3 Ejemplo de aplicación _____________________________________ 27

1 Introducción_________________________________________________________27

2 Modelo simulado del robot utilizado _____________________________________27

3 Definición del entorno _________________________________________________27

4 Simulación __________________________________________________________28

Page 3: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

3

Capítulo 1 DISEÑO Y DESCRIPCIÓN DEL

SIMULADOR

1 Introducción Cada vez son más los vehículos terrestres autónomos (ALV) que se están desarrollando, ya que juegan un papel importante en el desarrollo tecnológico. Los ALV facilitan las tareas difíciles de llevar a cabo, monótonas y aquellas que conllevan un riesgo humano.

Para que un ALV pueda llevar a cabo sus tareas es necesaria una planificación de trayectorias que le permita moverse sorteando los obstáculos. Por otro lado, para poder planificar trayectorias, los robots móviles necesitan mantener información de la situación de los obstáculos; es decir, es necesario tener un modelo del entorno. Por tanto, la percepción de los cambios en el entorno y la integración de los mismos en el modelo es uno de los problemas más importante en robótica móvil.

Para todo ello se diseñan una serie de algoritmos más o menos complicados. Una forma de poder probar los algoritmos en una primera aproximación de bajo coste, es utilizar un simulador. Gracias al simulador:

• Se pueden diseñar algoritmos de control complejos y probarlos sin necesidad de implantarlos en un entorno real.

• Se pueden proponer entornos más complicados y desfavorables para el ALV que en una simulación real, para analizar la respuesta del vehículo.

Aquí se describe un simulador de movimientos de un ALV en entornos bidimensionales. En este documento sólo se va a explicar un ALV de forma circular y con cinemática diferencial, con un par de ruedas motrices situadas en una línea diametral del mismo.

2 Objetivo El simulador se ha desarrollado con el objetivo de servir como herramienta de pruebas de algoritmos para robots. De esta manera se evita, en una primera instancia, tener que implantarlos en un robot real, lo que permite detectar fallos fácilmente y avanzar rápido ya que se evitan los posibles problemas que todo hardware puede dar.

3 Diseño del simulador de movimientos El simulador se ha desarrollado tomando unas bases genéricas, para que se puedan aplicar a cualquier tipo de robot, con cualquier tipo de sensor, en un entorno de lo más variado. Estás bases forman lo que se llama el diseño inicial o esqueleto y están compuestas de componentes básicos, que se exponen en los siguientes puntos. Cada uno de estos componentes básicos se van concretando en componentes específicos que son dependientes del tipo de problema.

Page 4: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

4

A continuación se describen los componentes básicos del simulador y los componentes específicos correspondientes que se han desarrollado.

3.1 Componentes

Los componentes básicos que intervienen en la simulación son el servo, el actuador, el sensor, el robot y los obstáculos estáticos y móviles. En la Figura 1 se muestra la interrelación que existe entre los diferentes componentes. Las flechas discontinuas significan relación de 1 a N; por ejemplo, un actuador consta de varios servos. Las flechas negras indican una relación de nivel de abstracción (pertenencia del elemento apuntado al apuntador); es decir, un robot móvil tiene las características de un obstáculo móvil y de un robot.

A continuación se pasa a detallar cada uno de los componentes básicos.

Figura 1: Diagrama de relaciones entre componentes del simulador

3.1.1 Servo

Servo es el componente encargado de servir de interfaz entre los actuadores y el entorno. Este servo transmite la señal enviada por el actuador al entorno introduciendo un ruido, ver Figura 2.

Figura 2: Esquema de un servo

Page 5: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

5

3.1.2 Actuador

Actuador es una entidad que se compone de uno o varios servos y tiene significado propio, Figura 3.

Como ejemplos de actuadores pueden ser los motores, la dirección, etc.

Figura 3: Esquema de un actuador

En el simulador se ha desarrollado como componente específico el actuador “motor de corriente continua”. Este actuador tiene un sólo servo que es la tensión de alimentación del mismo; es decir, el motor es de imanes permanentes.

3.1.3 Sensor

Es el encargado de dar información del entorno al robot. Está información tiene el ruido típico que se produce al realizar una medida. El ruido se supone Gausiano y tiene dos componentes: una que es proporcional a la medida (error relativo) y otra que no lo es (error absoluto). Se pueden distinguir varios tipos de sensores: los que aportan información del entorno y los sensores que dan información de la posición y orientación del robot.

Los sensores de posición pueden ser sensores de medida absoluta; es decir, dan una medida de la posición con respecto a un sistema de referencia fijo al entorno, o ser sensores de medida incremental; es decir, son sensores que dan como medida incrementos de movimiento con respecto de un punto. Los sensores de medida incremental tienen el inconveniente de que los errores de medida son acumulativos y con el paso del tiempo la estimación de la posición que se calcula teniendo en cuenta sus medidas es totalmente imprecisa. Por otro lado estos sensores son los más comunes, como los “encoders” de los motores. Los sensores de medida absoluta cometen errores en la medida pero no se acumulan con el paso del tiempo. Entre estos sensores se encuentra el GPS, la brújula y todos aquellos sensores que se encargan de detectar marcas, cuya localización se conoce de forma precisa, que se han hecho en el entorno. El GPS es inapropiado en entornos interiores y son muy imprecisos en exteriores. La estimación de la posición del vehículo utilizando los sensores que detectan marcas en el entorno es muy precisa, pero no es conveniente si se quiere que el vehículo sea totalmente autónomo y no dependa del entorno en que se mueve. La brújula es el único sensor de medida absoluta que es apropiado para todo tipo de entornos y es necesario en cualquier robot que quiera estimar la posición en la que se encuentra.

Page 6: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

6

Figura 4: Esquema de un sensor

Se han definido como componentes específicos los sensores de distancia, de proximidad, de posicionamiento global, brújula y de movimiento incremental.

• Los sensores de distancia informan sobre la distancia mínima a la que se encuentra un obstáculo en una determinada dirección. Se caracterizan por tener unos umbrales de medida, un umbral mínimo antes del cual no se aprecian obstáculos y uno máximo a partir del cual no se distinguen los obstáculos. Además se caracterizan por tener un ángulo de medición, fuera del cual no se aprecian obstáculos. Por ejemplo los sensores de ultrasonidos y de láser.

• Los sensores de proximidad se limitan a informar de si se encuentran obstáculos en frente del sensor. Tienen las mismas características que los sensores de distancia, pero no ofrecen la medida de la distancia, sólo una señal digital de presencia de obstáculo. Por ejemplo los sensores de contacto.

• Los sensores de posicionamiento global informan sobre las coordenadas en las que se encuentra el robot respecto del sistema de coordenadas fijo al entorno. Un ejemplo puede ser el GPS basado en satélites.

• La brújula da información sobre la orientación del robot respecto del sistema de coordenadas fijo al entorno. Funciona igual que una brújula convencional.

• Los sensores de movimiento incremental calculan el desplazamiento de un punto del robot entre dos periodos de muestreo. Un ejemplo de sensor incremental son los “encoders” que se suelen instalar en los motores.

3.1.4 Robot

Es un ente que consta de un conjunto de sensores y de actuadores. Gracias a los actuadores el robot puede enviar información al entorno y gracias a los sensores el robot puede obtener información del entorno.

Se caracteriza por tener un control inteligente que hace que los movimientos del mismo estén coordinados, ver Figura 5. Este control es independiente del simulador y es el lugar donde se sitúan los algoritmos para ser probados como se comentará más adelante.

Page 7: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

7

Figura 5: Esquema de un robot

3.1.5 Obstáculos

Los obstáculos son los objetos de los que está formado el entorno. Se definen por su situación y orientación dentro del entorno. Se clasifican en fijos y móviles. Se han definido las siguientes formas como obstáculos fijos (componentes específicos):

• Obstáculo circular: tiene forma de círculo y se caracteriza por el diámetro.

• Obstáculo recto: tiene forma de segmento recto y se caracteriza por la longitud del mismo.

La orientación de los obstáculos se refiere a la que tiene con respecto al eje horizontal, con sentido de izquierda a derecha, ver Figura 6. Se mide como la pendiente, en grados, que forma el sistema de referencia del obstáculo con respecto al eje horizontal y varía entre –179º y 180º.

Figura 6: Orientación de un obstáculo

Los obstáculos se caracterizan por tener un coeficiente de opacidad, un coeficiente de rugosidad y un coeficiente de absorción. A continuación se explica el significado de cada coeficiente:

• Coeficiente de absorción: Indica la absorción que tiene el obstáculo a las ondas de presión (es un coeficiente de reflexión para las ondas de presión); es decir, la ropa tiene un gran coeficiente de absorción. Un coeficiente de absorción del 100% indica que el obstáculo absorbe totalmente las ondas de presión.

• Coeficiente de rugosidad: Indica cómo refleja el obstáculo (es un coeficiente de dispersión). Un coeficiente de 100% indica que el material dispersa las ondas que se reflejan en él en todas las direcciones. Un coeficiente del 0% indica que la reflexión de la onda es pura; es decir, la onda sale con un ángulo igual al que entra respecto la normal del obstáculo.

Page 8: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

8

• Coeficiente de opacidad: Indica lo opaco que es el obstáculo (es un coeficiente de reflexión para las ondas visibles). Un coeficiente del 100% indica que la luz rebota totalmente en él.

3.1.6 Obstáculos móviles

Son aquellos obstáculos que no son estáticos y tienen unas leyes de movimiento. Todo obstáculo móvil tiene que definir perfectamente la dinámica de su movimiento; para ello este tipo de obstáculos tienen una función denominada “Movimiento” que resuelve el desplazamiento del obstáculo de forma incremental siguiendo las ecuaciones siguientes:

(E 1) ( 1) ( )x t x t x+ = + ∆

(E 2) ( 1) ( )y t y t y+ = + ∆

(E 3) ( 1) ( )t tφ φ φ+ = + ∆

3.1.7 Robot móvil

Es un robot con la capacidad de moverse. Como se mueve está sometido a unas leyes de movimiento. Por tanto, un robot móvil también es un obstáculo móvil, pero de más alto nivel.

Se han definido hasta el momento dos tipos de robots móviles, diferencial y ackerman.

3.1.7.1 Robot Diferencial

Es un robot circular definido como un obstáculo móvil con sensores y actuadores. Se caracteriza por tener varios sensores, dos motores y una forma de círculo definida por el diámetro. Este tipo de robots tiene una dinámica denominada “dinámica diferencial”, que consiste en que variando la velocidad de cada una de las ruedas motrices se logra hacer un giro. Este tipo de dinámica es la más común en robótica móvil.

En la Figura 7 se muestra la cinemática del vehículo con el objetivo de calcular el incremento de movimiento del mismo. Las ecuaciones que se deducen de la Figura 7 son:

(E 4) ( )

2i dv v

v+=

(E 5) ( )d iv v

t b

φ ω−∆ = =

(E 6) ( )coscos

2 d i

xv v v

t

φφ∆ = ⋅ = ⋅ +∆

(E 7) ( )sensen

2 d i

yv v v

t

φφ∆ = ⋅ = ⋅ +∆

donde

, ,i dv v v: Son los velocidades lineales de la rueda derecha, izquierda y del sistema de

referencia solidario al vehículo respectivamente.

Page 9: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

9

b: Es la distancia entre ruedas.

, ,x y φ∆ ∆ ∆ : Son los incrementos de las coordenadas y de la orientación del vehículo con respecto al sistema de referencia solidario al mismo.

φ ∆ v

b

φ

∆x

∆y

Figura 7: Cinemática de un vehículo con dos ruedas motrices

3.1.7.2 Robot Triciclo-Ackerman

Es un robot rectangular definido como un obstáculo móvil con sensores y actuadores. Se caracteriza por tener varios sensores, un motor, un servo y una forma rectangular definida por dos dimensiones (vía b y batalla l), desde el punto de vista interno del simulador, calculo de colisiones y sensores, el robot es representado como un circulo de diametro su vía. En el simulador los sensores unicamente se podrán colocar en la perifería de un circulo centrado en la mitad del eje trasero de diámetro la vía del robot.

Este tipo de robots tiene una dinámica denominada “dinámica ackerman”, que consiste en que el motor controla la velocidad del vehiculo y el servo la dirección del movimiento.

Esta arquitectura es similar a la de un triciclo, en donde se emplea una sola rueda delantera tractora y dos ruedas traseras pasivas. Un problema asociado con esta arquitectura es que el centro de gravedad del vehículo tiende a irse hacia las ruedas traseras, lo que provoca una posible perdida de tracción en una cuesta. Las variables que controlan al robot móvil son el ángulo de dirección de la rueda delantera, �, y su velocidad angular,�t; que representaremos como al velocidad lineal que proporciona vt.

Page 10: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

10

Figura 8: Propulsión tipo triciclo

Para medir la posición del cuerpo se considera el punto central (CR) del eje fijo que une las ruedas traseras motrices, situado a una distancia l (vía del vehículo) de la rueda directriz, cuyo radio es r.

x

y

XG

YG

φ

v

b

CR

R

l

Figura 9: Posicionamiento de un Robot con Propulsión diferencial

La relación entre la velocidad lineal del vehículo, v, y la velocidad angular del mismo, �, se realiza a través del radio de giro, R, mediante la expresión:

(E 8) R vω⋅ =

Si se expresa en función de la velocidad lineal de la rueda directriz y del ángulo de direccionamiento se obtiene:

(E 9) costv v α= ⋅

Por otra parte, la variación del ángulo de orientación del vehículo (velocidad tangencial/radio), se obtiene mediante:

b

l

Page 11: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

11

(E 10) sentv

t l

αφω ⋅∆= =∆

De estas expresiones se puede deducir que el movimiento del centro (x, y) del vehículo en sistema global viene dado por

(E 11)

cos

sen

xv

ty

vt

φ

φ

∆ = ⋅∆∆ = ⋅∆

3.2 El entorno para el simulador.

El entorno consta de obstáculos, que pueden ser móviles o estáticos. Los obstáculos móviles se mueven conforme una ley de movimiento desconocida para el simulador. El simulador se limita a ofrecer información a los sensores de dónde están situados los obstáculos. Gracias a los actuadores los obstáculos móviles se mueven y el simulador puede conocer su posición.

3.3 El entorno para un ALV.

La manera de comunicarse un ALV con el entorno es a través de los sensores y de los actuadores. Los sensores proporcionan información distorsionada del entorno que el ALV tiene que interpretar. En ningún caso se conoce la posición del ALV en el entorno. Por tanto la labor de una ley de control del mismo es:

• Modelar el entorno a su manera

• Saber situarse en el entorno.

• Proporcionar unos mandos que se aplican a los actuadores, para la consecución de un objetivo.

4 Simulación En la simulación juega un papel muy importante el control inteligente de los ALV. En este control es precisamente donde se prueban los algoritmos diseñados por el usuario. Se caracteriza por recibir las medidas de los sensores en un instante determinado y por deducir unos valores o mandos que se tienen que aplicar a cada uno de los servos de los actuadores.

El simulador es independiente del control y lo único que necesita es saber el mando que tiene que aplicar a los actuadores. De hecho el simulador es un programa y el control inteligente es una librería dinámica (DLL), que el usuario tiene que desarrollar, independiente del simulador. Lo único que necesita saber el simulador es el nombre de la librería que tiene que cargar para cada robot. De esta forma no es necesario compilar el simulador cada vez que se pruebe un algoritmo.

Cada librería dinámica tiene que tener una función que tenga un formato estándar para que el simulador la pueda llamar. Este formato consiste en un conjunto de valores (medidas de los sensores) como parámetros de entrada y un conjunto de valores (mandos a aplicar a los actuadores) como parámetros de salida.

Page 12: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

12

Es en la librería o en el control inteligente donde el robot tiene que tener sus propios modelos, los algoritmos de planificación de trayectorias y los algoritmos de control, ya que no puede acceder a la información del simulador. De la misma manera el simulador no sabe nada del movimiento que quiere realizar el ALV, sólo sabe los mandos que tiene que aplicar a los actuadores.

Los pasos que se siguen en la simulación son:

1. Obtención de la posición de los obstáculos en el entorno.

2. Se indica a todos los obstáculos móviles que se muevan.

En el movimiento de los obstáculos móviles se producen los siguientes pasos:

1. Se realiza la medición de los sensores.

2. Se pasa la información de los sensores a el módulo de control inteligente (es decir, se produce una llamada a la función de la DLL) y se obtienen los mandos que se aplican a los actuadores

3. Se aplican los mandos a los actuadores

4. Se calcula la posición del ALV según unas restricciones cinemáticas.

En la simulación los sensores extraen información del entorno. Esta información se obtiene resolviendo un problema de geometría. Se ha optado por utilizar geometría en vez de celdas de ocupación (el entorno se divide en celdas que se indica si están ocupadas o no) porque es más preciso y consume menos memoria. La desventaja que tiene es que requiere más tiempo de procesamiento.

La simulación global consiste en aplicar los pasos comentados con anterioridad en intervalos de tiempo definidos por el usuario.

5 El comportamiento del ALV. La librería dinámica. Como se comentó en la anterior sección, el comportamiento de un obstáculo móvil se rige a través de una librería dinámica, que se carga en tiempo de ejecución cuando el obstáculo es introducido en el entorno. Esta librería debe tener unas funciones que serán llamadas por el simulador cuando corresponda, lo que hará que el obstáculo móvil se comporte de una forma determinada. Estas funciones son:

• Inicializa: Es una función que se llama en el momento en que se carga el obstáculo móvil en el entorno. Se aconseja usar para cargar configuración, inicializar ciertas variables, etc.

• Finaliza: Se llama cuando se elimina el obstáculo móvil del entorno. Se aconseja guardar la configuración, liberar variables, etc.

• IniciaSimulacion: Se llama cuando se inicia la simulación; es decir, cuando se pulsa el menú “Simulación->Empezar”. A esta función se le pasan las medidas sensoriales como parámetro; es decir, las medidas que toman los sensores (si tiene) antes de que se empiece la simulación. Se aconseja usar para intentar estimar la posición en la que se encuentra el obstáculo móvil antes de moverse, para abrir ficheros, etc.

• FinalizaSimulacion: Se llama en el momento que se pulsa el menú “Simulación->Terminar”. Se aconseja utilizar para cerrar ficheros, etc.

• CalculaMando: Es una función que se llama en cada ciclo de simulación y tiene como labor indicar al simulador el mando que tiene que aplicar a cada actuador. Se

Page 13: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

13

le pasan las medidas sensoriales como parámetros, con el objetivo de tener toda la información que estos proporcionan a la hora de calcular los mandos a aplicar. Por ejemplo se pueden hacer algoritmos que eviten obstáculos, etc.

Un esqueleto de lo que debe tener la librería se muestra a continuación:

6 Características del simulador En la simulación se muestra el entorno en cada intervalo de tiempo definido por el usuario. Si se quiere, se puede ejecutar la simulación muy despacio y posteriormente más rápido. En cualquier caso los resultados simulados son gráficos; es decir, se muestra la evolución de los obstáculos en pantalla, pero en ningún caso se genera un fichero con un conjunto de datos que luego se puedan analizar. Lo que sí se puede hacer es ir viendo el valor de las variables más importantes del estado del ALV conforme avanza la simulación.

En general las principales ventajas de este simulador son:

• Se puede fijar las condiciones iniciales de la simulación con el ratón.

• Se pueden añadir y quitar obstáculos en tiempo de simulación.

• Generación de entornos de manera intuitiva y fácil con el ratón.

extern "C" _export void __stdcall InicioSimulacion( float* , int);

extern "C" _export void __stdcall FinSimulacion();

extern "C" _export void __stdcall CalculaMando(floa t*,int,float*,int);

extern "C" _export void __stdcall Inicializa(void);

extern "C" _export void __stdcall Finaliza(void);

//Lo que se tiene que hacer cuando se da al botón s imular

void __stdcall InicioSimulacion(float* , int)

{

}

//------------------------------------------------- --------------------------

//Lo que se tiene que hacer cuando se da al botón d e parar simulación

void __stdcall FinSimulacion(void)

{

}

//------------------------------------------------- --------------------------

// Se llama cuando se pone el robot en el entorno

void __stdcall Inicializa(void)

{

}

//------------------------------------------------- --------------------------

// se llama cada ciclo de simulación

void __stdcall CalculaMando(float* medidas,int nume ro_medidas,float* mandos,int n_mandos)

{

}

//------------------------------------------------- --------------------------

// Se llama cuando se quita el robot del entorno

void __stdcall Finaliza(void)

{

}

//------------------------------------------------- --------------------------

int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)

{

return 1;

}

//------------------------------------------------- --------------------------

Page 14: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

DISEÑO Y DESCRIPCIÓN DEL SIMULADOR

14

• Posibilidad de guardar y cargar de disco entornos previamente guardados

• Está dotado de un equipo de herramientas que permiten personalizar los obstáculos que se pueden introducir en un entorno.

• Está dotado de un equipo de herramientas que permiten la personalización de los componentes de un ALV.

• Existen unas ventanas que sirven para la depuración de la simulación en tiempo de ejecución.

• Alta precisión en la simulación debido al uso de ecuaciones geométricas en la resolución del los problemas.

• Depuración de algoritmos sin necesidad de recompilar el simulador.

Page 15: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

15

Capítulo 2 MANUAL DE USUARIO

1 Introducción En las siguientes secciones se explica cómo se puede manejar el simulador a nivel de usuario. Para ello se comentarán las diferentes ventanas y menús que tiene la aplicación.

2 Configuración del simulador Desde la configuración se pueden personalizar el tipo de obstáculos que se pueden añadir al entorno, el tipo de sensores, actuadores y servos que hay.

2.1 El entorno

La configuración del entorno se basa en los obstáculos estáticos que se hayan dado de alta. Por ahora hay dos tipos de obstáculos, la recta y el círculo.

Los obstáculos estáticos se pueden clasificar en conjuntos. Cada conjunto se representará en una barra de herramientas. Actualmente sólo hay dos conjuntos: de una dimensión (rectas) y de dos dimensiones (círculos).

Figura 10: Configuración de obstáculos estáticos

Gracias a la ventana de la Figura 10 se pueden crear nuevos tipos de obstáculos basados en los que se han dado de alta. Por ejemplo: se pueden definir rectas de diferente longitud o círculos de diferente diámetro.

2.2 Los robots

La configuración de los robots se divide en dos partes:

• La definición de los componentes del robot.

• La definición del tipo de robot

Page 16: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

16

2.2.1 Componentes del ALV

El ALV tiene los siguientes componentes:

• Motores

• Sensores

Motores

Los motores se componen de servos. Actualmente sólo se ha dado de alta el motor de corriente continua con un solo servo, que es la tensión de alimentación del motor.

A través de la ventana de la Figura 11 se pueden asociar servos al motor de corriente continua, consiguiendo así diferentes tipos de motores de corriente continua.

Figura 11: Ventana de configuración de motores

Para dar de alta un nuevo motor hay que elegir los servos de los que consta, elegir un nombre para el motor y pulsar el botón “>>”.

Para consultar la configuración de un motor dado de alta basta con hacer doble clic sobre el motor correspondiente de la lista de motores.

Para eliminar un motor hay que seleccionarlo en la lista de motores y pulsar la tecla suprimir.

Los servos se personalizan en la ventana de la Figura 12. Los parámetros de configuración de los servos son: la varianza del error Gausiano relativo a la medida y la varianza del ruido Gausiano al que está sometido, el nombre y los umbrales máximos y mínimos físicos del servo.

Lista de motores

Pulsar para añadir un motor

Page 17: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

17

Figura 12: Ventana de configuración de los servos del simulador

Para dar de alta un nuevo servo hay que configurar sus parámetros y pulsar el botón “>>”.

Para consultar la configuración de un servo dado de alta basta con hacer doble clic sobre el servo correspondiente de la lista de servos.

Para eliminar un servo hay que seleccionarlo en la lista de servos y pulsar la tecla suprimir.

Sensores

Los sensores se personalizan gracias a la ventana de la Figura 13. Todos los sensores se caracterizan por el ruido Gausiano al que están sometidos tanto absoluto como relativo a la medida. En la ventana se presenta la ocasión para personalizar la varianza del error relativo y la varianza del error absoluto. Actualmente se han dado de alta cinco tipos de sensores, los sensores de distancia, de proximidad, de posicionamiento global, brújula y de movimiento incremental. Cada uno de los diferentes tipos de sensores se configura a través de cada una de las pestañas de la ventana de la Figura 13.

Para dar de alta un nuevo sensor hay que elegir el tipo de sensor que se quiere, configurar sus parámetros y pulsar el botón “>>”.

Para consultar la configuración de un sensor dado de alta basta con hacer doble clic sobre el sensor correspondiente de la lista de sensores.

Para eliminar un sensor hay que seleccionarlo en la lista de sensores y pulsar la tecla suprimir.

Lista de servos

Pulsar para añadir un servo

Page 18: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

18

Figura 13: Ventana de configuración de los sensores

Los parámetros de configuración específicos de cada sensor se comentan a continuación:

• Los sensores de distancia se caracterizan por la distancia mínima que son capaces de apreciar, así como por la distancia máxima que son capaces de medir. Además se puede indicar el ángulo de apertura de la medición en grados.

• Los sensores de proximidad tienen las mismas características que los sensores distancia.

• El GPS, brújula y el sensor de movimiento incremental no tienen ningún parámetro específico que configurar, sólo los parámetros del ruido que les afecta.

2.2.2 Definición de un tipo de robot

En la ventana de la Figura 16 se configuran los robots; es decir, se permite dar de alta, eliminar y consultar la información de un robot circular compuesto por dos motores o de un robot triciclo con un motor y un servo.

Para configurar los motores que tiene el robot, basta con seleccionar el tipo de motor para cada una de las ruedas del robot de la lista de motores que hay en la pestaña “Motores”. Se denomina motor superior al motor que se encuentra a 90º del robot según el criterio de la Figura 6. Se denomina motor inferior al que se encuentra a –90º.

Para configurar los sensores que tiene el robot, se selecciona un sensor de la lista de sensores, se elige su posición dentro del robot y se pulsa el botón “Añadir sensor”. La posición de un sensor sólo puede ser perimetral y con orientación central; es decir, a lo largo de la circunferencia contorno del robot y con una orientación tal, que el eje principal del sensor pasa por el centro del robot. Existe una posición excepcional, pero muy útil, que es la posición del centro del robot con orientación cero grados. Ejemplos de posiciones de sensores se muestran en la Figura 14 y en la Figura 15.

Lista de sensores

Parámetros generales de configuración

Parámetros específicos de configuración

Page 19: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

19

S. Ultrasonidos 0º

S. Ultrasonidos -30º

S. Ultrasonidos 30º

S. Ultrasonidos 60º

S. Ultrasonidos 90º

S. Ultrasonidos -60º

S. Ultrasonidos -90º

Brújula

Encoder

Figura 14: Ejemplo de configuración de un robot Diferencial

S. Ultrasonidos 0º

S. Ultrasonidos -30º

S. Ultrasonidos 30º

S. Ultrasonidos 60º

S. Ultrasonidos 90º

S. Ultrasonidos -60º

S. Ultrasonidos -90º

Brújula

Encoder

Figura 15: Ejemplo de configuración de un robot Triciclo

Para dar de alta un nuevo robot hay que elegir el tipo de robot, configurar el tipo de motores y de sensores que va a utilizar, elegir el diámetro del mismo, escribir un nombre y pulsar el botón “Añadir robot”.

Para consultar la configuración de un robot dado de alta, basta con hacer doble clic sobre el robot correspondiente de la lista de robots.

Para eliminar un robot hay que seleccionarlo en la lista de robots y pulsar la tecla suprimir.

Sensor de ultrasonidos A 90º

Sensor de ultrasonidos A 60º

Sensor de ultrasonidos A 30º

Sensor de ultrasonidos A 0º

Sensor de ultrasonidos A -30º

Sensor de ultrasonidos A -60º

Sensor de ultrasonidos A -90º

Encoder A 90º

Encoder A -90º

Brújula A Centro

Sensor de ultrasonidos A 90º

Sensor de ultrasonidos A 60º

Sensor de ultrasonidos A 30º

Sensor de ultrasonidos A 0º

Sensor de ultrasonidos A -30º

Sensor de ultrasonidos A -60º

Sensor de ultrasonidos A -90º

Encoder A 90º

Encoder A -90º

Brújula A Centro

Page 20: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

20

Figura 16: Ventana de configuración de los robots del simulador

3 Adición de obstáculos al entorno Se pueden añadir obstáculos estáticos y móviles.

3.1 Adición de obstáculos estáticos

Figura 17: Ejemplo de barra de adición de obstáculos estáticos

Un método consiste en utilizar las barras de herramientas. Cada barra de herramientas (p ej Figura 17) contiene unos botones que describen las características de los obstáculos que se quieren añadir. Pulsando uno de los botones se cambia el tipo de cursor, tomando forma del obstáculo que se quiere añadir. Con el botón derecho del ratón se puede hacer rotar el cursor y por tanto el obstáculo y con el botón central se puede hacer un espejo respecto al eje X. una vez que la posición y la orientación del obstáculo en el entorno es la deseable se pulsa el botón izquierdo del ratón. El comportamiento de la adición de obstáculos depende de si se ha seleccionado la opción de ajustar a otro obstáculo o no (Menú “Configuración->Obstáculos->Ajustar a obstáculo”). Si se tiene activada esta opción, el obstáculo tenderá a unirse con otro que se encuentre suficientemente cerca.

Otro método es a través de la ventana de la Figura 18 que se accede a través del menú “Entornos->Añadir obstáculo”. En esta ventana hay que seleccionar el tipo de obstáculo que se quiere añadir y seleccionar las coordenadas y orientación del mismo.

Lista de robots

Parámetros de configuración

de un obstáculo Lista de sensores que tiene el robot

Configuración de motores

Configuración de sensores Posición de los

sensores

Page 21: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

21

Se puede elegir el color y el modo de dibujo con el menú “Dibujo”.

Colores posibles:

• Negro

• Amarillo

• Rojo

• Verde

Modos de dibujo

• Trazo discontinuo

• Trazo continuo

Figura 18: Ventana para la adición de obstáculos estáticos

3.2 Eliminación de obstáculos estáticos

Se selecciona el obstáculo que se quiere eliminar dentro del entorno. El obstáculo se dibujará de color rojo. Por último pulsar la tecla “Suprimir”.

3.3 Adición de obstáculos móviles

Se hace a través de la ventana de la Figura 19 que se accede con el menú “Entornos->Añadir obstáculo móvil”. Para ello hay que

• Seleccionar el obstáculo móvil que se quiere introducir en el entorno

• Indicar donde se encuentra la libraría dinámica donde se encuentra el comportamiento del obstáculo móvil.

• Pulsar el botón “Añadir”.

Page 22: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

22

Figura 19: Ventana para la adición de obstáculos móviles

Una vez que se ha añadido el obstáculo móvil se puede elegir la orientación y la situación del obstáculo móvil en el entorno con el ratón como sigue:

1. Situar el ratón encima del obstáculo móvil.

2. Pulsar la tecla mayúsculas

3. Pulsar el botón izquierdo del ratón

4. Mover el obstáculo desplazando el ratón

5. Soltar el botón izquierdo del ratón.

También se puede hacer a través de la ventana de la Figura 20, que se accede a través haciendo doble clic con el ratón sobre el obstáculo móvil.

Figura 20: Ventana para configurar la orientación y posición de un obstáculo móvil

3.4 Eliminación de obstáculos móviles

Se lleva a cabo a través de la ventana de la Figura 21, que se accede con el menú “Entornos->Eliminar obstáculo móvil”.

Page 23: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

23

Figura 21: Ventana para eliminar obstáculos móviles

4 Almacenamiento en disco del entorno Se puede cargar, modificar y eliminar las configuraciones de los entornos en disco, con el objetivo de ser utilizadas en cualquier momento.

4.1 Crear y cargar un entorno

A través de la ventana de la Figura 22, que se accede a través del menú “Entornos->Cargar entorno”, se puede:

• Añadir nuevos entornos. Se escribe un nombre de entorno que no exista y se escriben las dimensiones del mismo. Finalmente se pulsa el botón “Aceptar” y si no existe el entorno se despliega una ventana pidiendo confirmación de que se quiere añadir un entorno nuevo.

• Cargar entornos que ya existen. Se selecciona el entorno y se pulsa el botón “Aceptar”.

• Eliminar entornos. Se selecciona el entorno que se quiere eliminar y se pulsa la tecla Suprimir.

Figura 22: Ventana para carga, eliminación y creación de entornos

Page 24: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

24

4.2 Grabar un entorno

A través de la ventana de la Figura 23, que se accede a través del menú “Entornos->Guardar entorno”, se puede:

• Guardar un entorno. Se selecciona el entorno que se quiere guardar y se pulsa el botón “Aceptar”. Se indicará a través de una ventana que el entorno ya existe y que se confirme se quiere reemplazar el antiguo por el nuevo.

• Guardar un entorno con otro nombre. Se escribe un nombre de entorno que no exista Finalmente se pulsa el botón “Aceptar”.

• Eliminar entornos. Se selecciona el entorno que se quiere eliminar y se pulsa la tecla Suprimir.

Figura 23: Ventana para guardar y eliminar un entorno

5 Interfaz gráfico El interfaz gráfico es lo más importante del simulador puesto que todos los resultados se muestran por el mismo. En la Figura 24 se muestra la pantalla principal del simulador. Como se puede apreciar existen un conjunto de obstáculos fijos y un par de robots del mismo tipo, que se mueven sorteándolos.

Page 25: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

25

Figura 24: Interfaz con el usuario

Se puede hacer zoom en el entorno pulsando los botones que se muestran a continuación.

Se pueden cortar y borrar trozos de entorno con los botones que se muestran a continuación:

• Para cortar:

1. Seleccionar los obstáculos.

2. Pulsar las teclas Ctrl-X (o bien el botón de las tijeras).

3. Pinchar con el ratón en el lugar del entorno donde se quiere situar los nuevos obstáculos.

• Para borrar:

1. Seleccionar los obstáculos.

2. Pulsar la tecla Suprimir ( o bien pulsar el botón de la goma).

La selección de obstáculos se puede hacer de dos formas:

• Selección individual:

1. Se hace clic en el botón izquierdo del ratón encima del obstáculo que se quiere seleccionar.

2. El obstáculo cambia a color rojo.

• Selección múltiple:

Page 26: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

MANUAL DE USUARIO

26

1. Se pulsa el botón izquierdo del ratón en el punto que se quiere que sea la esquina superior izquierda del recuadro de selección.

2. Se arrastra el ratón hasta el punto que se quiere sea la esquina inferior derecha del recuadro de selección.

3. Se suelta el botón izquierdo del ratón en ese punto.

4. Los obstáculos seleccionados se dibujan en rojo.

6 La depuración de simulaciones Se puede obtener información de cómo transcurre la simulación, pulsando doble clic sobre el obstáculo móvil. De esta manera se despliega la ventana de la Figura 25, donde se muestra toda la información relevante del obstáculo móvil, como son los mandos que se aplican a los actuadores, las medidas de los sensores y la posición y orientación del mismo.

Figura 25: Ventana de depuración en tiempo de simulación

7 Inicio y final de la simulación Una simulación empieza a través del menú “Simulación->Empezar”. La simulación se ejecuta en intervalos configurables desde la ventana de la Figura 26, que se accede a través del menú “Simulación->Intervalo de simulación”. En esta ventana se puede modificar la duración de los intervalos indicada en milisegundos.

Figura 26: Ventana para la configuración de la velocidad de la simulación

La simulación termina a través del menú “Simulación->Terminar”.

Page 27: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

EJEMPLO DE APLICACIÓN

27

Capítulo 3 EJEMPLO DE APLICACIÓN

1 Introducción Muchos robots se mueven por entornos interiores donde hay largas paredes. Es por ello que el seguimiento de las mismas sea una estrategia para navegar por el entorno. En este capítulo se describe un ejemplo donde se aborda este problema intentando mantener una distancia con respecto de una pared constante usando un control. Para llevar esto a cabo el robot necesita solamente dos sensores de ultrasonidos (ver Figura 27), que miden la distancia entre la pared y él mismo.

El ejemplo es una muestra de cómo gracias al simulador se pueden probar distintos algoritmos de control, con el objetivo de seleccionar el que mejor comportamiento tenga.

2 Modelo simulado del robot utilizado Lo primero que hay que hacer es dar de alta el robot que se quiere simular. En el caso ejemplo el robot dado de alta tiene forma circular de 40 centímetros de diámetro. Tiene dos motores de corriente continua (de giro reversible) con dos ruedas, de manera que sus ejes describen una línea diametral, ver Figura 27. Los sensores que se usan son dos de ultrasonidos ideales (sin ruido, ni saturaciones).

S. Ultrasonidos 75ºS. Ultrasonidos 105º fb

Figura 27: Robot utilizado

3 Definición del entorno Después de definir el robot que se quiere usar, hay que definir el entorno en el que se va a mover el mismo. El entorno de este ejemplo se muestra en la Figura 28. Es un entorno rectangular de 10m de largo por 6m de ancho, donde se han situado un continuo de obstáculos con varios puntos clave donde se pone a prueba el control. Estos puntos se señalan en la Figura 28 como (a)(b)(c)(d)(e) y coinciden con cambios de dirección de las diferentes paredes de los obstáculos.

a) Este punto es una esquina suavizada donde el cambio de orientación del robot se hace en dos etapas.

Componentes Sensor de ultrasonidos A 75º

Sensor de ultrasonidos A 105º

Motor CC en la parte superior

Motor CC en la parte inferior

Page 28: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

EJEMPLO DE APLICACIÓN

28

b) Este punto es una esquina brusca donde se produce un cambio de orientación de 90º.

c) Este punto es un hueco en la pared de 15cm

d) Este punto esta formado por un conjunto de cambios de orientación seguidos.

e) Este punto es una esquina de 90º donde se introduce una perturbación a la entrada y a la salida de la misma.

Se toma como punto de referencia en el entorno la esquina superior izquierda.

Figura 28: Entorno de simulación

4 Simulación Para poder simular, se añade el robot al entorno y se fija una posición inicial. Finalmente se indica al simulador que empiece a simular y se fija la rapidez de la misma.

A lo largo de la simulación, el simulador aporta las medidas de los dos sensores de ultrasonidos. Estas medidas son analizadas por el algoritmo de control y como consecuencia se generan un par de señales de actuación que se devuelven al simulador. Además el algoritmo guarda en un fichero ciertos parámetros que necesita para poder analizarlos en Matlab. En las figuras que siguen se muestran los resultados que se han producido en la simulación después de ser analizados en Matlab.

En la simulación se valorarán dos cosas: el comportamiento en los puntos clave del entorno y el comportamiento cuando el robot está siguiendo una pared sin discontinuidad. Un buen comportamiento se caracteriza por mantener una distancia constate respecto de la pared y de mantener una orientación lo más estable posible a lo largo del trayecto del robot. Hay que tener en cuenta que grandes sobre pasos en el control no son buenos, ya que pueden desviar demasiado al robot de su trayectoria.

En la Figura 29 y Figura 30 se muestra el recorrido que sigue el robot una vez que ha terminado de dar una vuelta. Con una flecha se muestra el punto donde se encontraba el robot en el comienzo de la simulación. Los ejes de coordenadas X e Y indican la distancia en centímetros respecto del punto de referencia del entorno.

Page 29: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

EJEMPLO DE APLICACIÓN

29

0 100 200 300 400 500 600 700 800 900 1000-550

-500

-450

-400

-350

-300

-250

-200

-150

-100

-50

C11C15C51

a

b c

d

e

Figura 29: Recorrido del robot con diferentes controles C11, C15, C51.

100 200 300 400 500 600 700 800 900

-540

-520

-500

-480

-460

-440

-420

C11C15C51

b c

d

Figura 30: Zoom de los puntos clave (b),(c) y (d)

Page 30: SIMULADOR DE ENTORNOS BIDIMENSIONALES - IIT · DISEÑO Y DESCRIPCIÓN DEL SIMULADOR 6 Figura 4: Esquema de un sensor Se han definido como componentes específicos los sensores de

EJEMPLO DE APLICACIÓN

30

210 220 230 240 250 260 270 280 290 300

-2

-1

0

1

2

3C11C15C51

Figura 31: Zoom de la evolución de la orientación con respecto de la pared

En la Figura 31 se muestra una medida proporcional a la orientación del robot tomando como referencia la orientación de la pared. Como consecuencia de estas gráficas se concluye que: el control C11 se descarta porque el robot no tiene una orientación estable. El C51 tiene peor comportamiento en el seguimiento de pared que el C15. Además en los puntos clave Figura 30 (c) y (d) oscila menos el control C15 que el C51 (ver Figura 31). Es por ello que se elige el control C15.