PDF de programación - Capítulo 3. Diseño y modelado del sistema

<<>>
Imágen de pdf Capítulo 3. Diseño y modelado del sistema

Capítulo 3. Diseño y modelado del sistemagráfica de visualizaciones

Publicado el 20 de Julio del 2017
592 visualizaciones desde el 20 de Julio del 2017
616,8 KB
25 paginas
Capítulo 3. Diseño y modelado del sistema


3.1 Aspectos Generales



Para poder elaborar un buen diseño es muy importante tener en claro desde un inicio

el punto de partida para el trabajo y a donde se quiere llegar. Es por esto que como un

primer paso la atención debe ser enfocada como se había comentado en el capítulo anterior

a la evidente necesidad de establecer las restricciones o suposiciones bajo las cuales se va a

trabajar, mismas que se listan a continuación:

• El ambiente para la exploración es de tipo estático, es decir, para una tarea de
exploración se define de antemano la disposición de los objetos en el ambiente y

esta estructura no cambia con el tiempo, aunque claro que para un diferente

experimento la configuración de dicho ambiente si puede ser alterada.

• Los objetos que se sitúan en el ambiente son todos volúmenes de un mismo tipo

(cilindros).

• El escenario para la exploración está bien delimitado midiendo 50cm x 50cm.
• Los dispositivos de percepción que se utilizarán son sólo sensores infrarrojos que
ayudan a detectar proximidad de objetos en un rango de entre 0.5 y 2 cm de

distancia.

• Para el rastreo de posición del robot se utilizan contadores de pulsos acoplados a

cada una de las ruedas del robot.


3.2 Módulos del sistema



De acuerdo a los aspectos de interés para el presente trabajo, el diseño general del

sistema se engloba en un conjunto de módulos de operación, cada uno de los cuales estará

especializado en una función determinada. Los módulos son los siguientes:

• módulo de la interfaz principal
• módulo para el control del robot
• módulo para navegación y análisis de obstáculos



42

• módulo para determinación de posición
• módulo para construcción del mapa
• módulo para la generación y navegación del modelo virtual



3.2.1 Módulo para control del robot



El módulo encargado de las instrucciones para controlar el robot y tener acceso a las

lecturas de sus sensores debe funcionar de manera transparente para el usuario

permitiéndole dar instrucciones tan simples como “mover hacia delante” o “girar un

número determinado de grados” sin preocuparse por conocer el tipo de comandos y la

sintaxis que deben seguir para poder ser interpretados por el robot. En realidad el módulo

de control del robot efectúa la transformación de las instrucciones de alto nivel que envía el

usuario a comandos reconocibles por el robot.



3.2.2 Módulo para la determinación de posición



El problema de la ubicación de los distintos obstáculos y del robot mismo en el

plano, en realidad será considerado como un caso de rastreo de posición dando como

supuesto que el robot conoce su posición inicial en el área a explorar, posición que es

definida por el usuario antes de la ejecución del algoritmo.

El robot de manera local no puede guardar un registro de los movimientos que ha

hecho en el plano, sin embargo dado el continuo intercambio de información con la

computadora de control, sí se puede llevar un registro del camino que ha seguido el robot

desde su punto de partida y estimar la posición en la que se encuentra para así también

estimar la posición de los objetos que encuentra a su paso.

Para poder atacar de mejor manera el problema de rastreo utilizando los datos que

se pueden obtener del robot, debemos hablar de los motores, los cuales pueden ser

manejados en dos modalidades, una basada en posición y otra basada en velocidad. Cada

uno de estos modos de control es seleccionado por el robot dependiendo del tipo de

comando que reciba, cambiando de un modo a otro. En el caso del modo de control basado

en velocidad existen un par de valores enteros que se envían como parámetros y que



43

corresponden a la velocidad de cada una de las ruedas, de esta forma el control del motor

mantiene esta velocidad. Cuando se usa el modo basado en posición el controlador recibe

como entrada una posición objetivo (en pulsos) para las ruedas, una aceleración y una

velocidad máxima, así con estos parámetros el controlador acelera las ruedas hasta alcanzar

la velocidad tope indicada y luego desacelera para alcanzar la posición objetivo.

El robot cuenta con un par de motores, cada uno acoplado a cada una de las ruedas

mediante un engranaje con una reducción de 25:1.Un codificador incremental está situado

en los ejes del motor y proporciona 24 pulsos por revolución del motor, lo cual permite una

resolución de 600 pulsos por revolución de la rueda y esto corresponde a 12 pulsos por

milímetro de camino recorrido por el robot. El procesador central del robot tiene un control

directo sobre los motores y puede leer los pulsos del codificador con lo cual a través de una

rutina se detecta cada pulso del codificador y se actualiza un contador de posición para cada

rueda.

Aunque la información que podemos obtener del robot utilizando el contador de

posición de cada una de las ruedas no es 100% confiable, sí es la única forma de rastrear la

trayectoria del robot ya que no cuenta con otro tipo de dispositivos más avanzados para tal

efecto. Así pues, debemos considerar la casi segura existencia de un error aunque sea

mínimo, generado durante cada movimiento del robot y así mientras mas movimientos haga

desde su partida, cada uno de estos mínimos errores irán sumándose de forma tal que el

error global vaya creciendo y sea más difícil hacer la estimación de la posición actual del

robot. Como una estrategia para eliminar un error acumulativo que afecte en mayor y

mayor medida, el sistema no utiliza lecturas acumulativas, es decir, entre cada movimiento

y parada del robot el módulo de rastreo de posición obtiene los datos de los sensores y una

vez que cuenta con dicha información se envía una señal al robot para que reinicie sus

contadores de posición y los deje listos para efectuar y medir el siguiente movimiento. De

esta manera el error que se pueda generar en cada lectura que se hace de los sensores no se

acumula tan dramáticamente sino que se puede decir que para cada movimiento del robot se

hace un borrado y se reinicia la cuenta.

La forma de operación sobre los motores que ha sido considerada como la más

apropiada para un trabajo como el presente ha sido la modalidad de velocidad. Debido a

que el robot de manera inicial no conoce nada del ambiente en el cual se encuentra resulta



44

impráctico considerar la modalidad de operación basada en posición dado que no hay

manera de establecer una posición objetivo si no se conoce la configuración que tiene el

ambiente y además para el robot no hay una posición objetivo única ya que su tarea es

explorar el escenario. Por otro lado, con el uso del modo de control basado en velocidad es

más fácil definir para el robot una dirección a seguir y una velocidad para su

desplazamiento, de esta forma el robot puede navegar en la dirección indicada hasta que

reciba una nueva instrucción o tenga que detenerse ante la detección de algún tipo de

obstáculo. Aquí debe quedar claro entonces que durante cualquier desplazamiento que lleve

a cabo el robot al mismo tiempo se efectúa una lectura continua de los sensores infrarrojos

para poder actuar ante la proximidad de algún objeto.

De cualquier manera, al elegir operar los motores del robot en la modalidad de

velocidad debemos también hacer una correcta selección del valor de ésta. El robot puede

operar a una velocidad mínima de 8mm/s teniendo como velocidad tope 1m/s, sin embargo

al trabajar con una velocidad muy baja obviamente se afecta el tiempo requerido para

realizar la tarea y por otro lado una velocidad alta presenta dificultades para evitar que el

robot colisione con los obstáculos encontrados en el ambiente, ya que aunque durante su

desplazamiento se mantiene una lectura constante de los sensores, con una alta velocidad y

manejando sensores de tan poco alcance como los utilizados por el robot Khepera, se

supera la capacidad de reacción del robot. Un caso puede ser que la lectura de los sensores
en un tiempo t no indique la presencia de ningún objeto estando a una distancia de 2.5 cm,
sin embargo el robot sigue desplazándose y en un tiempo t+1 se puede presentar una
colisión con el objeto dado que t+1 fue tiempo suficiente para desplazar el robot 2.5 cm y
fue muy poco tiempo para actualizar las lecturas de los sensores. Por estas razones es

importante hacer una selección cuidadosa de la velocidad probando los resultados y efectos

de una u otra, buscando la que mejor ayude a la navegación del robot.



3.2.3 Módulo para navegación y análisis de obstáculos



Para realizar la exploración se puede tomar uno de dos criterios con respecto a como

tratar con los límites del ambiente definido, ya que bien puede hacerse que el robot

investigue como un obstáculo más cada una de las paredes interiores del escenario o bien se



45

puede indicar al robot ignorarlas dando por hecho que son los límites y no puede ir más allá

de ellos. En el presente trabajo se toma el segundo criterio buscando ahorrar tiempo durante

la tarea de exploración para el robot asumiendo que el ambiente es un rectángulo del cual

no hay nada mas que conocer sobre sus paredes interiores y resaltando que la importancia

del trabajo se encuentra en ubicar los objetos que se encuentran al
  • Links de descarga
http://lwp-l.com/pdf5676

Comentarios de: Capítulo 3. Diseño y modelado del sistema (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad