CD 6369
CD 6369
CD 6369
DECLARACIÓN
Yo, Ing. Víctor Daniel Zambrano Pérez, declaro que el trabajo aquí descrito es de
mi autoría; que no ha sido previamente presentada para ningún grado o
calificación profesional; y, que he consultado las referencias bibliográficas que se
incluyen en este documento.
_____________________________
Ing. Víctor Daniel Zambrano Pérez
ii
CERTIFICACIÓN
Certifico que el presente trabajo fue desarrollado por el Ing. Víctor Daniel
Zambrano Pérez, bajo mi supervisión.
________________________
Nelson Sotomayor, MSc.
DIRECTOR DEL PROYECTO
iii
AGRADECIMIENTOS
A mis hermanos Miguel, María Fernanda y María José gracias al apoyo mutuo
podemos sacar adelante cualquier dificultad que se nos presente en la vida.
DEDICATORIA
CONTENIDO
RESUMEN
PRESENTACIÓN
CAPÍTULO 1
RESUMEN
Debido a la capacidad que tienen los robots en realizar tareas repetitivas sin
perder precisión y exactitud en el trascurso del tiempo, además de utilizarlos en
ambientes peligrosos y de rescate, a un robot se puede implementar un algoritmo
que cumpla con estos fines eliminando el factor humano.
PRESENTACIÓN
El capítulo 1 describe los aspectos más relevantes de la robótica móvil que tiene
relación con el desarrollo de esta tesis, de los cuales se resaltan los tipos de
robos con ruedas omnidireccionales, diseño estructural, características, movilidad,
maniobrabilidad, orientación, posicionamiento, y representación matemática. Para
concluir se explica las características y funcionalidades del Robotino® de Festo.
CAPÍTULO 1
1 FUNDAMENTO TEÓRICO
Otra definición indica que “un sistema omnidireccional posee la misma cantidad
de posicionamientos posibles que la cantidad de coordenadas necesarias para
localizar un vehículo de forma única en un plano” [1].
La rueda omnidireccional simple (Figura 1.2) cuenta con una rueda principal que
conforma la estructura, esta rueda produce el movimiento de avance igual que
una rueda común, y para generar los movimientos laterales la rueda cuenta con
rodillos colocados uniformemente en el perímetro de la rueda principal, los cuales
cuentan con una curvatura para evitar rebotes en el movimiento de avance.
- Los tres grados de libertad que otorga esta rueda permite realizar
movimientos del robot en cualquier dirección sin tener la necesidad
rotaciones previas.
Esta rueda cuenta con un diseño especial que logra tracción en la dirección de
avance de la ruedas, y además permite generar movimiento lateral realizando el
control de rotaciones sobre los actuadores de todas sus ruedas, permitiendo
mayor flexibilidad en ambientes congestionados para robots móviles más
sofisticados (Figura 1.4). Para ciertos movimientos ruedas Mecanum permiten al
vehículo cambiar su dirección de movimiento sin cambiar su orientación [3].
Esta rueda fue desarrollada por el inventor sueco Bengt Llon de la empresa sueca
Mecanum en el año de 1973.
5
La rueda Mecanum cuenta con una estructura que tiene una serie de ganchos
alrededor del eje de la rueda, estos tienen normalmente una orientación de 45
grados respecto al eje de rotación de la rueda.
En cada gancho se ubica un eje con dos rodillos curvados, los cuales generan los
desplazamientos omnidireccionales.
Esta disposición de los rodillos implica que la fuerza aplicada sobre el eje de la
rueda principal se divide en dos componentes, uno perpendicular y otro paralelo al
eje de los rodillos que varía según la orientación de los mismos.
Figura 1.5 Componentes de la fuerza ejercida del motor sobre la rueda Mecanum,
[1]
6
Como su nombre lo indica este tipo de rueda tiene una estructura esférica (Figura
1.6). Está rueda descansa sobre dos paneles atornillados entre sí, permitiendo
estabilizarla.
Para controlar a esta esfera se utilizan varios motores, los cuales mediante
fricción transfieren el movimiento a la rueda; esta disposición permite que la rueda
tenga movilidad en todas las direcciones por medios activos.
Las ruedas utilizadas son las omnidireccionales simples o las dobles, controladas
por un motor cada una. El control es sencillo de implementar ya que para cada
desplazamiento deseado por parte del robot existe sólo una combinación de
velocidades aplicadas a los motores ó las ruedas.
Existen varios fabricantes que desarrollan este tipo de robot, entre los más
conocidos se describen los siguientes:
Este robot, está diseñado para la vigilancia del hogar a distancia. Se controla vía
WiFi, y se puede mover de manera autónoma con el sistema TrueTrack de
Northstar, que le permite seguir una serie de rutas predefinidas, con capacidad de
recalcular su ruta pese a que la posición del robot cambie.
La cámara web incorporada tiene plena capacidad de audio y video streaming por
lo que puede vigilar su casa desde cualquier lugar del mundo donde exista una
conexión Web.
También posee el modo “patrulla”, con el cual el Rovio toma fotografías y las
envía a lugares específicos que han sido previamente configurados, además
posee un sistema de posicionamiento que permite que el robot conozca su
ubicación en un ambiente previamente reconocido por sí mismo y pueda conocer
trayectorias para su desplazamiento.
9
Este robot utiliza ruedas omnidireccionales simples o dobles, y cada una de las
ruedas es controlada por un motor individual.
11
El robot con ruedas orientables llamado ORM SOW (Figura 1.11), además de las
ruedas omnidireccionales universales, tiene un sistema de motores acoplados a
cada eje de la rueda proporcionándole un grado de libertad adicional en cada eje
o también puede tener un sistema de dirección común mecánico del cual se logra
un grado de libertad pero no en cada eje individual.
Un modelo matemático debe cubrir todos estos ámbitos, por lo cual debe incluir
un estudio estructural, lo que implica hacer un análisis dinámico del sistema,
conocer la variación de movimientos en función del entorno y de la carga adicional
al cuerpo del robot. Este proyecto aborda la parte cinemática de los robots
omnidireccionales para determinar los desplazamientos del robot en función de
los movimientos de los actuadores.
La cinemática se centra en el análisis del movimiento sin importar las causas que
lo originan como fuerzas, rozamiento del suelo, etc. En la robótica móvil la
cinemática analiza el desplazamiento de los robots en función de su geometría,
tipos de ruedas, disposición de las mismas, articulaciones y engranajes.
La Figura 1.13 presenta la estructura de un robot móvil circular, este robot tiene
ruedas, y cuenta con articulaciones que permite rotar la i-ésima rueda contra el
chasis y del chasis a la articulación.
Para aislar cada componente del robot móvil, se coloca un sistema de referencia
individual en cada articulación representado por la siguiente simbología:
De acuerdo con [9], la velocidad del robot provocado por el sistema formado por
la i-ésima rueda y su articulación está dada por:
Donde:
Por otro lado, la velocidad angular &Z + que provoca la orientación del robot
respecto al sistema , es la diferencia entre las velocidades de la articulación E! ,
y la i-ésima rueda Z correspondiente:
Z $ E! , Z &-
/%1
/01 7% ,8% 9%2 ,O%2 /%2
./02 3 $ . 8% 7% ,9%1 O%1 3 = Z% > &A
456 4::::::5::::::6
, E! %
456
Z0
" < ;
@
?
$ BC?
@
Donde:
+
,J
Z%1
+
@! $ H ?! $ I %
? KI K &L
Z%2
+ + E! %
+ +
19
J% 8% 9%2 ,O%2
C
B $ B H $ . ,J% 7% 9%1 O%1 3 &M
++++ ++,
Esta matriz se aplica a ruedas orientables, para el caso de un robot que no tenga
articulaciones la expresión se reduce a:
J% 8% 9%2
B $ BC H $ .,J% 7% 9%1 3 &
+++
Tomando en cuenta todas las ruedas del robot, se incluyen los Jacobianos de
relación de velocidades en una matriz para incluir las restricciones de todas las
ruedas.
N PQ R W! Q
N PS R W!
= > $ = > = S> &X
O T U U R O
N R PV W! V
$
?!
$ &
4:Y:
:5: :6
:
ZQ Y
?! &+
;
$ B?!
Donde:
Definiendo la función [&, que representa el deslizamiento del robot de cada una
de sus ruedas:
[&
?! $ &
E, J y ^ de las tres ruedas e iguala los sistemas de referencia asociados a las
movimientos rotacionales (ruedas no orientables), lo cual elimina las componentes
D% _ L_ ,L_
E% _ _ _
J% _ _ _
b 8% J 7% O%
B $ .,b 7% J 8% ,O % 3 &-
Donde:
b cD J dF8
Be $ .,b dF8 J cD ]3
,J
Be $ .b ]3 &A
aij k ail
S S S
Bf $ h j ln &G
, , ,
aik
S S S
g m
, ,
aij k ail
S S S
Bo $ h l n &L
,S , S ,S
j aik
g m
, , ,
k j k l j k l
hj ln
i q r q q r q
B $ pi , , , , , s &M
l j k l j k
i r q r r q r
Q Q Q
g i i i m
Donde:
$
a-
23
:&
?! $
++++ ++, ,
Sk j k l j k l
i q r q q r q
h , Sj ,
Sl
,r
j k
+, r ++, r
l j
++++, q
k
,r
ln
p i i q s
p ++ , ++++ ++++++ +++++ ++++ s
S Q Q
p l s
i i i
ZQk $ &X
j&Ztu ZZvu
aik
ZSk $ &
j&Zwu ZZtu
aik
Zik $ &
j&Zvu ZZwu
aik
ZQx $ , &
j&Zwu yZvu yZtu
il
Donde:
/01 $ &
G
j&Zvu ZZtu
ai
/02 $ &
L
j&SZwu ZZvu ZZtu
i
Z0 $ , &
M
j&Zwu yZvu yZtu
il
Parámetros Valor
Alimentación
A{|7` AG}
Entradas Digitales
Salidas Digitales
Entradas Analógicas +& , {
Salidas por relé
Los componentes muy sensibles del sistema, tales como el controlador, el módulo
de E/A y las interfaces, se hallan situados en el puente de mando (Figura 1.19).
La velocidad real del motor puede compararse con la velocidad deseada por
medio del encoder incremental, y puede regularse con un control PID a través de
la placa de circuito de E/S.
- Tarjeta Compact flash ( GL) con API C++ para controlar el Robotino®.
Figura 1.21 Puertos de Comunicación (1) Zócalo conector VGA, (2) Puerto USB,
(3) Interface ETHERNET, (4) cámara, [10]
29
Una ETHERNET, 2 USB, y una VGA, Estas se utilizan para conectar un teclado,
un ratón y una pantalla. Con ello puede accederse al sistema operativo y a la
librería C++ sin un PC.
1.5.4 CÁMARA
El sistema anticolisión del Robotino®, está compuesto por una banda de impacto
formada por dos superficies conductoras fijada alrededor de un aro que circunda
30
el chasis (Figura 1.22) que entran en contacto cuando se aplica una mínima
presión a la banda, generado una señal que ingresa a la unidad de control del
robot que provoca la detención del Robotino®
El seguimiento de una ruta también puede ser implementado con los dos
sensores de reflexión directa (de luz difusa) incluidos. Los cables flexibles de fibra
óptica se conectan a una unidad óptica que funciona con luz roja visible. Se
31
Permite establecer una red segura con encriptación WEP y función WPA-PSK.
CAPÍTULO 2
El algoritmo, parte de que en todas las rejillas tienen la probabilidad del 50% que
exista un obstáculo (Figura 2.1). Cuando el robot circula a través del mapa, se
recalcula la probabilidad con la información recolectada por sus sensores de que
exista un obstáculo de acuerdo a la ubicación actual del robot.
Los métodos planificadores de rutas, son algoritmos que tienen como objetivo,
encontrar una ruta libre de obstáculos dentro de un mapa de entorno
preestablecido desde un punto ó configuración inicial ~ a un destino, también
llamado configuración final ~ .
Otro enfoque es la construcción directa del camino en tiempo real utilizando los
sensores del robot, para evitar los obstáculos. A continuación se describen los
métodos más difundidos y para cada uno se describen sus variantes y sus
combinaciones con otros.
El reto principal que aborda este método planificador es la construcción del grafo
La formación del grafo se origina enlazando todos los nodos que tienen línea de
vista entre sí (Figura 2.5 b).
Una vez terminado el proceso con el primer nodo se toma el siguiente y se aplica
el mismo criterio pero descartando el nodo ya tomado en cuenta para el grafo de
conectividad, esto se realiza con el fin de evitar redundancias en los enlaces. Al
final al grafo se incluyen los enlaces que constituyen la periferia de los obstáculos
(Figura 2.5 b).
una ruta entre las configuraciones inicial ~ y final ~ . Para determinar la ruta
Concluido la construcción del grafo de conectividad, este puede contener más de
En caso que un nodo no pueda enlazarse, se desecha el enlace de ese nodo con
el anterior y busca otra ruta enlazándose con otro nodo (Figura 2.8 c).
41
De acuerdo con la Figura 2.11, la ruta obtenida con el criterio del entorno
expandido, elimina las posibles colisiones del robot al trasladarse por espacios
estrechos.
La primera etapa implica descomponer el espacio libre en celdas, las cuales son
representadas por nodos que formen el grafo de conectividad (Figura 2.12 b).
Una vez determinadas las celdas y los nodos, el siguiente paso es la construcción
de un grafo de conectividad (Figura 2.12 c). Este grafo se forma a partir de la
unión de nodos de celdas adyacentes a diferencia del método del grafo de
visibilidad que maneja línea de vista entre todos los nodos.
Las celdas obtenidas son representadas por nodos. Dos de estos son enlazados
sí y solo sí las correspondientes celdas son adyacentes formando el grafo de
conectividad.
46
Los nodos que representan a las celdas son colocados en los puntos medios de
cada recta generada (Figura 2.15 a), para luego dibujar el grafo de conectividad
que contiene la ruta entre las configuraciones inicial y final; este grafo se forma
enlazando nodos adyacentes que no tengan un obstáculo en medio de ellos.
(Figura 2.15 b)
Una triangulación ilegal se obtiene cuando tres puntos que forman una
circunferencia circunscrita contiene en su interior uno o varios puntos que
pertenecen a ~.
Con las celdas formadas se colocan los nodos, se pueden tomar los puntos
medios de las triangulaciones y formar los nodos (Figura 2.19 a). Luego se traza
el grafo de conectividad uniendo los nodos de celdas adyacentes (Figura 2.19 b).
50
Esta técnica tiene la ventaja de obtener el grafo de conectividad que está más
distante de los obstáculos del mapa de entorno por lo tanto se tiene un margen de
seguridad mayor que la técnica vertical.
Al ser una técnica jerarquizada puede representarse utilizando un árbol para cada
división de un rectángulo gris. La descomposición quadtree realiza la división del
mapa (Figura 2.20 c), y la representación se da en el árbol de jerarquía. Al tener
el mapa obstáculos rectangulares el algoritmo termina al cuarto nivel de división.
Del grafo de conectividad se calcula la ruta entre las configuraciones inicial y final
utilizando un método de búsqueda de rutas como el algoritmo Dijkstra o A* (Anexo
B).
A diferencia del método por Grafo de Visibilidad donde el objetivo es buscar todos
los enlaces posibles entre los nodos formados por los vértices de los obstáculos,
el método Voronoi se basa precisamente en lo contrario, el algoritmo busca
maximizar la distancia entre los obstáculos para construir el grafo de conectividad,
obteniendo una ruta los más alejada posible de los obstáculos y siendo el método
eficaz para aplicaciones donde se tracen caminos en lugares estrechos o tengan
demasiados obstáculos.
Según [16] “los diagramas Voronoi son estructuras que contiene la información de
proximidad de un conjuntos de puntos descomponiendo el plano en regiones”.
De los dos conceptos del diagrama se comprueba las aplicaciones que tiene los
diagramas Voronoi. Para planificación de rutas lo que interesa del diagrama
Voronoi es construir un grafo que contenga el camino entre las configuraciones
del cual se maximiza la distancia entre los obstáculos.
55
Para la construcción del diagrama Voronoi, primero se traza un segmento entre
dos nodos seleccionados, (~ Q ~S ). A este segmento se traza una bisectriz que
los nodos evaluados, es el punto límite de los segmentos del Grafo formado por
el método. Al adicionar otro punto el proceso de repite con el siguiente triángulo
formado hasta completarlo (Figura 2.24 d).
Esta técnica se basa en dividir los puntos ordenadamente hasta obtener una
pareja de cada uno, a continuación se utiliza el criterio general del método que es
obtener la bisectriz entre el segmento formado por la pareja de puntos, el proceso
continua tomando pares de puntos de todo el mapa de entorno, para luego
recursivamente tomar estas parejas con otras para formar otro diagrama hasta
completar todas las subdivisiones.
lados de las triangulaciones para trazar las mediatrices de los triángulos formados
para obtener el diagrama Voronoi.
Figura 2.26 Proceso de obtención de ruta del PRM para un grafo completo
59
Debido a la naturaleza del método, la distribución de los nodos debe ser uniforme,
en el caso que se construya un solo grafo de conectividad que incluya a las
configuraciones (Figura 2.26).
El criterio para construir el grafo puede basarse en línea de vista de un nodo con
todos los restantes tal como el método de grafo de visibilidad, construir enlaces
con los nodos vecinos (Método de Descomposición de celdas) Figura 2.26 d, o
una combinación de estos para generar grafos locales dentro del mapa.
Pero en virtud de la lentitud del método aplicándose para construir varios grafos
de conectividad, se obtiene mayor información del mapa de entorno, para
determinar más de una sola ruta entre las configuraciones (Figura 2.28).
Donde:
- qk &W: Campo potencial generado por fuerza de atracción sobre el punto
de destino.
De acuerdo con este criterio este método es iterativo por lo que se traduce en la
siguiente expresión matemática para la generación del camino:
&%yQ $
&% ' )
&W* &
Donde:
-
&%yQ : Siguiente posición del robot.
- : Constante de ajuste.
Las primeras versiones del método, la fuerza de atracción se define como una
función parabólica donde la variable que determina la fuerza es la distancia entre
la posición instantánea del robot y la configuración final.
Donde:
,
U $ % &
A
qk $ ,
qk &9 &
G
qk $ , )91 , 91% * ' )92 , 92% * ' )91 , 91% * ' )92 , 92% *
S S S S
qk $ ,
)91 , 91% * ' )92 , 92% *
qk $ ,
)
,
% * &
L
64
Donde:
Una de las primeras expresiones del campo potencial repulsivo para un obstáculo
(Khatib 1985) es representada por:
S
K &1 , &1 ` & ¥ & §
Q Q Q
0¡¢ & $ ¤ S &
+
+++++++++++++++++`++++++++++++++& ¦ &
La región de influencia del campo potencial está limitada por las superficies
& $ y & $ & .
Donde:
S
K U , U ` U¢ &W ¥ U §
Q Q Q
0¡¢ &W $ ¨ S © ª &
X
`+++++++++++++++++++++++++U¢ &W ¦ U
Donde:
- U¢ &W $ ¬®¯0¡© °?
, ?
¯° &
0¡ &W
0¡ $ , &
© ©
K± , ²
U &W`+++++++++++++++U &W ¥ U
§
0¡ $ ,
0¡ &W ¨ U &W U US &W ¢
¢ ¢
¢
`++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++U¢ &W ¦ U
© ©
Donde:
V $
k '
qk &
-
&%
&%yQ $ +&
A
k $
qk ³
Esta condición del método planificador es una limitante o desventaja por lo que se
han desarrollado varias técnicas para salir de los mínimos locales tanto en tiempo
real como en el caso de tener un mapa de entorno conocido.
De acuerdo con [11], la expresión para ubicar a una carga ficticia es:
k ' ´
$ & , µ &
G
Donde:
º»
# $ S · &
L
¢ Q
¸ Z·¹
Donde:
9 ¾ R ¾¿
9Q ¾Q R ¾Q¿ Q
= O >$= >= O > &
X
O O U O
9¿ ¾¿ R ¾¿¿ ¿
Donde ÁÀ , son polinomios que dependen de los nodos tabulados y de las bases
polinómicas
ÁÀ $ ¢%£`%ÄÀ &
Z¸
à Z¸
73
Q ¾ ' +++++++++++++++++++++++++++++++++¾ ¥ ¾ È ¾Q
Ç S
¾ ' Q ¾ ' ++++++++++++++++++++++¾Q ¥ ¾ È ¾S +§
~&¾ $ S &
-
Æ 7Q ¾ ' 7 ++++++++++++++++++++++++++++++++++¾S ¥ ¾ È ¾i
Å |S ¾ S ' |Q ¾ ' | ++++++++++++++++++++¾i ¥ ¾ È ¾
É
$ 1 &¾ ' 2 &¾ ' x &¾Ê &
A
&¾ $ &¾
É &
G
75
¾
_ _ ¾_
Punto
Q Q ¾Q
S S ¾S
¬ % % ¾%
¿ ¿ ¾¿
~ &O &O ¾
_ _ ¾_
Punto λ
Q
Q ¾Q
S
S ¾S
¬ %
% ¾%
¿ ¿ ¾¿
&O, que no
Para la construcción de la trayectoria, se utiliza la interpolación por splines
(propuesta por Muñoz) para generar una expresión parametrizada
tenga aristas suavizando el camino, y que depende el tiempo ¾. Esta función se
discretiza en segmentos iguales incluyendo las curvaturas del camino.
Ë+ &8%
&O% + Ì ++ &
L
Donde:
Con estos parámetros que restringen la velocidad del robot, se asigna a cada
punto del camino generado se asigna una velocidad para alcanzar el siguiente
(Tabla 2.3), para determinar la velocidad para cada punto se utiliza un gráfico
velocidad-espacio (Shiller y Gwo, 1991), que asigna una velocidad segura para
cada punto del camino en función del la longitud 8.
. . . . .
¬ ÎÏ &¬ Î0 &¬ Ñ0 &¬ ÑÓ &¬ Ô &¬
. . . . .
ÎÏ & Î0 & Ñ0 & ÑÓ & Ô &
! $ Ù&` ´` ¾ & +
& $ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&
X
Donde:
Ͳ ³µ Acción de control.
&¡yQÛ©
¡yQ $ ¡ ' Ú¡Û Ø&` ³` ½|½ &
-
©
La función Ø&` ³` ½, se incluye a partir del modelo cinemático o dinámico del robot
utilizado, el cual se le discretiza aplicando la aproximación de Euler (2.31).
80
,
j j
/1 ÜÝw
h Sj j n Ü
ai ai
. /2 3 $ p , i , i s . Ýv 3 &
-
j
zk
i
ÜÝt
, , ,
j j j
g il il il m
Donde:
,
j j
¢yQ ¢ Ü
h Sj n Ýw
ai ai
. ¢yQ 3 $ . ¢ 3 ' ÚF p , , s .ÜÝv 3 &
--
j j
z¢yQ z¢
i i i
ÜÝt
, , ,
j j j
g il il ilm
Donde:
Donde:
ZQ
,
j j
ÜÝw |¢yQ , ¢
h Sj j n
ai ai
Ü Q
|
. v 3 $ . ¢yQ , 3p ,
j
, +++++++++++++++++++++++++&
-L
i s
Ý ¢
ÜÝt Û_
z|¢yQ , z¢
i i
, , ,
j j j
g il il il m
82
CAPÍTULO 3
con dos paneles, el panel frontal cumple el papel de ser la interface con el usuario
(HMI), a la que se le coloca los instrumentos de control, de visualización, registros
auxiliares e interfaces con otros programas.
Este diagrama de flujo de la Figura 3.4 incorpora todas las funciones del
programa principal para el diseño del HMI con las selecciones y presentación del
mapa de entorno.
- Configuración inicial ~ .
- Configuración final ~ .
Estos controles están identificados y configurados para ingresar por medio del
teclado o utilizando los botones de incremento o disminución de las variables.
Los pulsantes de la Figura 3.8 son utilizados para la edición del mapa de entorno,
y los de la Figura 3.9 para selección del método de planificación y programación
del Robotino® de FESTO.
90
Los botones de selección para la edición del mapa de entorno, y de llamado a los
planificadores son las opciones del diagrama de flujo (Figura 3.4), que son
incorporadas al programa con un bloque de estructura de eventos.
Las opciones del diagrama de flujo tienen una función específica que se describen
a continuación:
- Opción 2 (Guardar mapa): Toma todos los datos de los gráficos y los
coloca en un archivo (.dat), para posteriormente guardarlos en la dirección
que el usuario desee (Figura 3.12).
92
La Figura 3.14 muestra la opción que llama a la rutina que ejecuta el algoritmo de
planificador de ruta con los parámetros requeridos.
- Opción 10 (Robot): Llama a la rutina que envía a los datos al robot para
reproducir los movimientos.
Debido al diseño del diagrama de flujo (Figura 3.4), las rutinas de planificación de
Para dibujar un polígono en el plano, los vértices son puntos coordenados que
determinan la posición del polígono en el plano y su geometría.
La Figura 3.16 demuestra que la secuencia de los vértices determina en este caso
sí el polígono es un rectángulo o un polígono complejo cóncavo irregular.
- Número de Obstáculos.
Según el diagrama de flujo del programa principal (Figura 3.4) los programas de
planificación de rutas son rutinas que contiene el HMI (Figura 3.5), que son
ejecutados cuando se seleccionan por parte del usuario del programa.
El panel frontal de la subrutina (Figura 3.19) presenta las variables de ingreso, las
de procesamiento, y las de salida, presentando la construcción del grafo en el
HMI.
El programa toma los vértices del mapa de entorno, ordena todos los polígonos
de izquierda a derecha del plano para posteriormente almacenarlos en una
variable tipo ARRAY.
Con los polígonos ordenados, se trazan las rectas verticales y generar las celdas,
formadas por polígonos triangulares o trapezoidales limitados por el contorno del
plano y por los obstáculos.
$ ß &-
Estas rectas son dibujadas en el plano del programa principal (Figura 3.20).
Determinadas las rectas se calculan los puntos medios de cada una y son
agregadas al plano, estos puntos son los nodos del grafo de conectividad.
Por lo general se obtiene un nodo por recta trazada, pero hay que tomar en
cuenta las siguientes condiciones.
De los vértices del triángulo formado, los extremos deben formar dos nodos
debido a que se generan las celdas hacia arriba y hacia abajo del obstáculo.
Obtenidos los nodos de las celdas hay que ordenarlos para formar el grafo de
conectividad.
Antes de analizar la generación del grafo, se describe las subrutinas que hacen
posible la ejecución del programa.
Q $
Q ,
à++++++++++++++Ë++++
¥ Q ¥ -
S $ A+à++++++++++++++++++++++++++Ë++++- ¥ S ¥ A
i $ ,
i '
à+++++++++Ë+++A ¥ i ¥ G &-
$
à+++++++++++++++++++++++++++Ë+++
¥ ¥ G
,
++++++++++++Ë++++
¥ ¥ -+
++++++++++++++++++++++Ë+++
¥ ¥ G+ §
$ á &--
A+++++++++++++++++++++++Ë++++- ¥ ¥ A+
,
'
+++++Ë+++A ¥ ¥ G
Sea $ -, enonces:
Øâ $ A
%¿ $
Con este análisis, se obtiene el rango para determinar el interior y el exterior del
polígono.
Para evaluar en , se iguala la coordenada del punto con las rectas del polígono
que integren este punto dentro de su rango, se calcula los valores de , y si el
valor en del punto está dentro del rango se considera al punto dentro del
polígono. Si el punto está fuera del rango se analiza si el valor es mayor o menor
a los límites del rango concluyendo que el punto está sobre o debajo del polígono
respectivamente, y en el caso que el valor sea igual a las rectas se concluye que
el punto está en la periferia del polígono.
En el caso del ejemplo se concluyó que el punto está dentro del polígono
indicando el número 2.
Cuando el programa termina de calcular todas las rectas, calcula una recta
adicional correspondiente a los nodos ingresados por el método planificador.
Se toma el primer nodo ordenado previamente, (en el caso de Figura 3.20 el nodo
superior izquierdo del plano), se traza una recta con el siguiente nodo ordenado.
Para que el programa identifique que este nodo sea adyacente e incorpore como
solución válida para la generación del grafo de conectividad, en primer lugar no
debe existir corte de esta recta con ningún obstáculo del mapa de entorno, y en
segundo lugar que sea el más próximo al primer nodo que conforme la recta.
Para realizar este control se utiliza una subrutina que permita escoger entre el
método original y el modificado para lo cual se utiliza un una ventana que tenga
estas funciones (Figura 3.28).
La rutina que forma los grafos de conectividad modificado forma parte del mismo
programa del método planificador (Figura 3.19), y el funciona bajo el siguiente
diagrama de flujo.
109
reinicia cuando termina con nodos vecinos deseados. Terminado el primer nodo
toma el siguiente y repite el proceso descartando los enlaces con los nodos ya
evaluado para no obtener enlaces repetidos.
Estos nuevos enlaces formados DE LA Figura 3.30 dan más opciones para los
algoritmos de búsqueda de rutas y obtener rutas más simples y cortas.
Este programa calcula la ruta más corta entre la configuración inicial y final ~ y la
final ~ a partir del grafo de conectividad.
*HQHUDGRUGHQRGRV
7UD\HFWRULDySWLPD
SDUDJUDIRV
/HHUYDULDEOHWLSR
REMHWR
&RQILJXUDUYDULDEOHWLSRREMHWR
/HHUQRGRVGHSDUWLGD
\OOHJDGD
/HHUJUDIRREWHQLGR
&DOFXODUODUXWDPiV
FRUWD
JXDUGDUSXQWRV\
RUGHQGHODUXWD
,QJUHVDUGRVSXQWRV
$FWXDOL]DU*UiILFR
,QFRUSRUDUORVSXQWRVFRPR
QRGRVHQ[\
)LQ
,QJUHVDUHOFRVWRHQWUHORV
SXQWRV
E
QR ,QJ7RGRV
6LJXLHQWHSXQWRV
ORVSXQWRV"
VL
D $FWXDOL]DU5HIHUHQFLD
)LQ
Los diagramas de flujo de la Figura 3.31 presentan dos rutinas para la obtención
de ruta más corta, la primera trata del ingreso del grafo de conectividad en un
registro del LabVIEW llamado MAP REFERENCE, y el segundo es el cálculo de la
ruta con este registro utilizando el algoritmo A*.
De acuerdo con el diagrama de flujo (Figura 3.31 a), primero se toma y configura
una variable tipo objeto para manejar los bloques de la librería de planeación de
rutas del LabVIEW (Figura 3.32).
112
Para ingresar dos nodos del grafo de conectividad al registro MAP REFERENCE,
hay que incorporar los enlaces del método planificador con su respectivo costo.
El costo es un número que representa el valor de la distancia entre los dos nodos
ingresados, este valor puede ser cualquiera pero para este caso de estudio el
costo es la distancia entre los nodos que forman el enlace del grafo de
conectividad.
El lazo FOR de programa hace que el programa siga ejecutándose hasta que
ingrese todos los nodos del grafo de conectividad formado por el método
planificador.
El segundo diagrama de flujo de la Figura 3.31 calcula la ruta más corta entre las
configuraciones inicial y final.
Este programa forma parte del HMI, para utilizarlo en las dos rutinas de
planificación de rutas.
113
El programa evalúa el costo de todos los enlaces y la secuencia del grafo para
determinar los pares de nodos que incluyen la ruta más corta entre las
configuraciones inicial y final. Con estos nodos el programa calcula la distancia de
la ruta.
Con el cálculo de la ruta más corta, el HMI actualiza la gráfica, los indicadores de
distancia, tiempo de ejecución y presenta en la Figura 3.35 la ruta entre las dos
configuraciones terminando la ejecución del método de planificación de rutas.
El panel frontal de la Figura 3.38 presenta los registros de las variables utilizadas
para generación del grafo. Los registros (Vértice , Vértice ), tienen los valores
de los nodos del grafo que son simplemente los vértices de los polígonos del
mapa de entorno y de las configuraciones.
La Figura 3.39 presenta un mapa de entorno formado por dos polígonos que
tienen los siguientes vértices:
~¶ ~
¶
{Q $ &LM+à
{Q $ &
+à M
{S $ &L+à `L {S $ &L
+à -X
{i $ &G+à
` {i $ &-+à -
{ $ &X-+à GA
118
9 9Q 9S 9i 9 9ã 9r 9ä 9å
Nodo
1 6.2 6.7 8.5 9.3 10.2 10.6 13.1 17
7 3.9 2 2.8 5.14 8.7 0.6 3.8 5
Se toma el primer nodo de la rutina, en este caso es el punto &+` M, y se trazan
las rectas con el resto de nodos de la tabla.
siguiente y repite el proceso en este caso es el punto &LM+`
, para el caso del
Cuando se evalúan todas las rectas con el primer nodo, el programa toma el
ejemplo toma los 6 nodos restantes calcula todas las rectas y las evalúa.
La Figura 3.40 presenta las rectas válidas para el primer nodo construyendo el
grafo.
Esta fuerza virtual se calcula a partir de la fuerza de atracción qk producida por
la configuración final ~ , y por la fuerza generada por el campo de repulsión de los
obstáculos del mapa de entorno en condiciones normales. Los mínimos locales es
una limitación del método bajo ciertas condiciones impidiendo que el programa
termine el cálculo de la ruta, para lo cual se más adelante en este capítulo se
desarrolla el algoritmo para eliminar esta limitante.
El panel frontal del algoritmo (Figura 3.44) no forma parte del HMI, solamente
procesa las variables y envía el resultado de la ruta obtenida.
%
WQ W%
$ æ
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&-A
´
&J% S k
%£
Los puntos se crean a partir de vectores trazados entre vértices consecutivos del
polígono como se demuestra en el diagrama de flujo de la Figura 3.46, y la Figura
3.48.
ç $ é'/éê
'ß &-L
Donde:
é'/é $ ë'/ S ' '/ S &-M
'ß $
ê &-
ç
'ß
$ Q &-X
'ß
ç^
% $ % '/ê
'ß &-
Donde:
Luego se suman los vectores segmentados con el primer vértice y se obtienen los
puntos.
)~1% ` ~2% * $ ç^
% ' )~1q ` ~2q * &-
El proceso se repite con todos los lados del polígono, y continúa para todos los
obstáculos dibujados.
V $
k '
qk &-
Donde:
·% , ·
ìíî&Ekq $ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&-G
з%·
·% , ·
îï×&Ekq $ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++&-L
з%·
ϭϮ
ϭϬ
&ƵĞƌnjĂĚĞƚƌĂĐĐŝſŶ
Ϭ
Ϭ Ϯ ϰ ϲ ϴ ϭϬ ϭϮ
ŝƐƚĂŶĐŝĂZĞůĂƚŝǀĂ
tomar esta fuerza como un valor de desplazamiento, este es alto cuando el robot
está lejano de la configuración final.
Donde:
- : Constante de amortiguamiento
ϭ͕Ϯ
ϭ
&ƵĞƌnjĂĚĞƚƌĂĐĐŝſŶ
Ϭ͕ϴ
Ϭ͕ϲ
Ϭ͕ϰ
Ϭ͕Ϯ
Ϭ
Ϭ Ϯ ϰ ϲ ϴ ϭϬ ϭϮ
ŝƐƚĂŶĐŝĂZĞůĂƚŝǀĂ
$
&-
+
$
$ G++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&-
Este valor representa un desplazamiento del 0.75% respecto al plano del HMI
obteniendo una buena resolución para el desplazamiento.
k $ º
À£ kÀ &-
A
Donde:
La subrutina toma las coordenadas de los puntos del mapa de entorno y calcula la
fuerza neta de estos en función de la posición instantánea del robot ~% .
132
La Figura 3.56 presenta la fuerza de repulsión ejercida por un solo punto del
obstáculo, y la fuerza neta ejercida por una recta formada por los puntos
generados por el programa GENERADOR DE SÓLIDOS, que simula la
distribución uniforme de fuerza produciendo un campo repulsivo virtual radial.
- Á: Constante de proporcionalidad.
- /: Constante de amortiguamiento.
ϭ͕Ϯ
&ƵĞƌnjĂĚĞƌĞƉƵůƐŝſŶ
Ϭ͕ϴ
Ϭ͕ϲ
Ϭ͕ϰ
Ϭ͕Ϯ
Ϭ
Ϭ Ϭ͕ϱ ϭ ϭ͕ϱ Ϯ Ϯ͕ϱ
ŝƐƚĂŶĐŝĂĚĞůƉƵŶƚŽĂŽďƐƚĄĐƵůŽ
La Figura 3.57 presenta las curvas de las fuerzas de repulsión cuando se aplica a
un punto ubicado con una variación de 2% de la distancia más corta. Estas curvas
demuestran la disminución significativa de la fuerza cuando se evalúa del punto
vecino, más cercano de la posición del robot.
ϯ͕ϱ
&ƵĞƌnjĂĚĞZĞƉƵůƐŝſŶEĞƚĂ
Ϯ͕ϱ
ϭ͕ϱ
Ϭ͕ϱ
Ϭ
Ϭ Ϭ͕ϱ ϭ ϭ͕ϱ Ϯ Ϯ͕ϱ
ŝƐƚĂŶĐŝĂƉƵŶƚŽĂŽďƐƚĄĐƵůŽ
qk $ ,
j ) el valor de la
Considerando una distancia mínima de acercamiento frontal entre el obstáculo y
el robot de 7 generando un mínimo local (
constante Á de la fuerza de repulsión neta es:
Á $ X
Esté valor se divide para -G, para ajustar la expresión de la fuerza de repulsión a
un solo punto, debido a que la expresión considerada es la fuerza neta.
Á$ $ L &-
M
Sõ
iã
j $ ,LD ZräÑó¸óÃ++ ´
J &-
+
Con los cálculos de las fuerza de atracción y repulsión se determina la fuerza neta
aplicada sobre el robot con la fórmula general:
V $
k '
qk &-
136
)~1&¿yQ ' ~2&¿yQ * $ )~1&¿ ' ~2&¿ * ' &V1&¿ ' V2&¿ &- X
Del diagrama de flujo del método planificador (Figura 3.43), cada iteración el
programa primero evalúa el módulo de la fuerza de repulsión y compara su valor
actual con el 15% de la fuerza de atracción instantánea. Con esta comparación se
conoce si el robot se acerca a un obstáculo.
)~1&¿yQ ' ~2&¿yQ * $ )~1&¿ ' ~2&¿ * ' &,V2&¿ ' V1&¿ &-- +
)~1&¾yQ ' ~2&¾yQ * $ )~1&¾ ' ~2&¾ * ' &V2&¾ , V1&¾ &---
Puede existir ocasiones que el programa no obtenga las dos posibles rutas debido
a que pueden haber obstáculos que tengan formas complejas o cerradas que
ocasionan que el programa no encuentre solución. Por esta razón el programa
cuenta con un limitador de ejecución a un número determinado de veces (300
ejecuciones) y evita que el programa ejecute una ruta en la que no exista una
solución válida.
Los puntos que pasan evadiendo los obstáculos son aquellos en que la fuerza
aplicada al robot es la fuerza de compensación y esta es paralela al obstáculo
manteniendo la distancia constante sin importar las dimensiones del obstáculo.
De acuerdo con el diagrama de flujo de la Figura 3.43, la ruta tiene máximo 300
puntos coordenados, ciertamente es un valor alto de coordenadas y la gran
mayoría forman líneas rectas (Figura 3.63), haciendo que estos puntos no aporten
significativamente en la formación de la ruta. Los puntos se forman cuando el
robot se mueve bajo la acción de la fuerza neta o cuando está bajo la fuerza de
repulsión produciendo el movimiento paralelo a un lado de un obstáculo.
Para eliminar los puntos que no son relevantes de la ruta generada por el método
planificador se tiene el siguiente diagrama de flujo (Figura 3.64):
$
% ,
%ZQ &--A
142
Filtrada la ruta el HMI presenta la solución definitiva con los nodos filtrados.
Esta rutina es parte del programa principal y la forma de ingreso es igual que la
del mapa de entorno, sin tomar en cuenta la geometría de los obstáculos.
Para borrar la ruta se utiliza el botón borrar obstáculos. Activada esta opción no
se borra el mapa de entorno.
Las Figura 3.69 y 3.70 presentan el ingreso de una ruta paso a paso, en cada una
de ellas se indica la distancia recorrida, de la segunda Figura se ve como el
cursor coloca los puntos que forman los vértices de la trayectoria.
Partiendo del diagrama de bloques del programa principal (Figura 3.3), el control
de ruta es la ejecución de los movimientos que debe realizar el Robot para
146
El control de ruta es una rutina dentro del programa principal (Figura 3.71), que se
ejecuta al presionar el pulsante (Robot) del HMI.
Para leer los valores del Robotino® hay que enviar el número de identificación
que se obtiene con el bloque de comunicación (Figura 3.74) y el odómetro
presenta los valores de los encoders en tiempo real, además se tiene un reset
que encera los valores de todos los encoders.
Q $ 7F8&ý &--L+
Q $ 8D&ý &--M+
El programa controla los motores del Robotino® para ejecutar los movimientos
necesarios y seguir la ruta obtenida por los métodos planificadores.
Las rutas formadas tienen la información necesaria para determinar las distancias
y cambios de dirección que la componen como los nodos y la secuencia de ellos.
153
La opción que controla al Robotino® (Figura 3.15) recibe la información del mapa
de entorno y de la ruta obtenida. Al ejecutar el control de ruta el HMI abre otra
ventana (Figura 3.79), que presenta todas las opciones necesarias de
configuración y ejecución del control de ruta.
El panel cuenta con las opciones de conexión del Robotino®, display de ingreso
de dirección IP y número de puerto e indicadores de estado de conexión.
Luego el programa reinicia las variables internas y los valores de los encoders del
Robotino® para cada nueva ejecución de control de ruta utilizando el bloque
ODOMETRY, luego se escalan los valores de los encoders y realiza la conversión
de coordenadas.
Movimiento en y.
k_è $ kq2 &--X
Figura 3.83 Respuesta del Robotino® ante una entrada paso de velocidad de
rotación
ϯϱ
ϯϬ
Ϯϱ
sĞůŽĐŝĚĂĚ;'ƌĂĚŽƐͬƐͿ
ϮϬ
sZŽďŽƚ
ϭϱ
ZĞĨ
ϭϬ &ƵŶĐŝŽŶ
Ϭ
Ϭ ϭ Ϯ ϯ ϰ ϱ
Ͳϱ
dŝĞŵƉŽ;ƐͿ
Figura 3.84 Respuesta de velocidad del Robotino® ante una entrada paso
158
jÓ¡+Ý $ w &-A
&Øy
W
W
Donde:
- Wº : Constante de tiempo
¾Ø $ AW &-A-
$ G
¾ $
G
·Ñ+ $ G&
G8 ' &-A
Integrando el control PID al sistema de control de rotación del robot (Figura 3.89),
la respuesta del sistema para una rotación de 10º utilizando Simulink es:
La Figura 3.90 indica que la respuesta del sistema de control tiene un tiempo de
establecimiento de G8, el cual es cuatro veces menor cuando no se utiliza un
control, además en la parte transitoria la respuesta es prácticamente lineal y sin
oscilaciones, permitiendo que el robot gire prácticamente a una velocidad de
rotación constante de G_ 8 como indica la señal de control hacia la función de
transferencia de orientación del Robot, lo que asegura un buen control en la
orientación del robot.
Para incorporar el control PID al programa de control de ruta LabVIEW cuenta con
una librería de control a la que se puede incorporar un controlador PID, al que se
le puede calibrar las constantes obtenidas, los saturadores y el tiempo de
muestreo.
163
Para tener una mejor respuesta del Robotino®, se incluye el control PID en los
movimientos lateral y el de rotación.
164
Tanto el movimiento en como en+ý, debe mantenerse sin alteración, por ello el
diagrama de bloques para el control de traslación incluye el control de todas las
variables del bloque de control de movimientos del Robotino® (Figura 3.92).
jÓ¡+ß1 $ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++&-AX
&8 '
jÓ¡+ $ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++&-G
8&8 '
Con este controlador la función de transferencia del sistema en lazo cerrado sin el
saturador es:
$ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&-G
ã
j Øyã
Las señales de los controladores se envían a los motores del Robotino® como se
presenta en la Figura 3.99 y se toma las lecturas de los encoders, las mismas que
169
son transformadas a valores que el programa los pueda comparar con los del
mapa de entorno.
Figura 3.99 Diagrama de bloques para control de Traslación del Robotino® con
compensación de desviaciones
La última parte del diseño del HMI es la incorporación del control de trayectoria a
partir de la ruta obtenida por los métodos planificadores y por el ingreso manual
de ruta.
¾ $ ÚF &-GA
Donde:
Ͳ Ú_ : Periodo de muestreo.
Ͳ ++`` `- R
ZQ
,
j j
ÜÝw Y+&¢yQ , +&¢
h Sj j n
ai ai
.ÜÝv 3 $ . Y+&¢yQ , +&¢ 3 p , , +++++++++++++++++++++++++&-GG+
Q j
i s
ÜÝt Û_
z+Y+&¢yQ , z+&¢ i i
, , ,
j j j
g il il il m
Donde:
Ͳ ÜÝw ` ÜÝv ` ÜÝt ¶ Velocidad de control aplicada a los motores del robot.
,
j j
ÜÝw Y+&¢yQ , +&¢
h n
ai ai
.ÜÝv 3 p , , s $ Û_ . Y+&¢yQ , +&¢ 3
Sj j j Q
ÜÝt i i i
z+Y+&¢yQ , z+&¢
, , ,
j j j
g il il il m
z0+&¢
Û_
z+Y+&¢yQ , z+&¢
172
Donde:
Û+&¢yQ , É
É j+&¢
0+&¢ $
++++++++++++++++++++++++++++++++++++++++++++++++++++++++&-GM
ÚF
Donde:
Û+&¢yQ , É
É j+&¢ ' É
Û+&¢ , É
Û+&¢ +
0+&¢ $ +++++++++++++++++++++++++++++++++++++&-G
ÚF
173
Û+&¢yQ , É
É Û+&¢ + É Û+&¢ , É
j+&¢
0+&¢ $
' +++++++++++++++++++++++++++++&-L
¾&¢yQ , ¾&¢ ¾&¢yQ , ¾&¢
control
0+&¢ discreta es la suma de la velocidad otorgada por la trayectoria y la
representa el error de posición durante ese periodo de tiempo. La velocidad de
0+&¢ $
Û+&¢ '
Ï+&¢ ++++++++++++++++++++++++++++++++++++++++++++++++&-L
++++++++++++++++++++++++++++++++++&-L
&¾ $ 1 &¾ ' 2 &¾ ' x &¾Ê
É
174
&¾ $ &¾
É &-L-
Y constante
De la ecuación (3.60), para mantener la rapidez de la trayectoria
por debajo del valor máximo a la que el Robotino® puede desarrollar, la distancia
generada por el desplazamiento entre la posición actual y la siguiente también
debe mantenerse constante siendo el periodo de muestreo la variación del tiempo
entre dos posiciones consecutivas (ecuación 3.59).
Û+&¢yQ , É
Û+&¢
{Û+&¢ $ $ ñ¾D+++++++++++++++++++++++++++++++++++++++++++&-LG
ÚF
É
Para calcular las rectas se toman las coordenadas de dos nodos consecutivos de
la ruta (Figura 3.100), y para eliminar las aristas de la ruta se determina dos
puntos de tangencia correspondiente a las rectas formadas que comparten un
nodo (Figura 3.101), cada punto de tangencia se encuentra a la misma distancia
Ð del nodo formando dos triángulos rectángulos.
176
w+ &ºó Z
w+ &ºó
E$ +++++++++++++++++++++++++++++++++++++++++&-L
ó
ó
S
Donde:
-
· ·u : Pendiente de la recta formada por los nodos ~1 y ~% ,
¾
Variable ()
Q Q ¾Q
S S ¾S
O O O
% % % ¾%
O O O
¾
179
Donde:
ÚF $ $
8
G8
Con este valor del periodo de muestreo se puede determinar el tiempo mínimo
para garantiza que el seguimiento sea correcto para el robot sin alterar la
trayectoria seguida.
¾ Ûkq2 $ O
&RQWUROGH7UD\HFWRULD
/HFWXUDGHUXWD
5XWLQD&RQVWUXFWRUGH
&DPLQRV
,QJUHVRGH7LHPSRGH(MHFXFLyQW
'HWHUPLQDUUDSLGH]
GHWUD\HFWRULD97
QR
9795P
&iOFXORGHWLHPSRPtQLPRGH
WUD\HFWRULDW WPLQ VL
)RUPDFLyQGHWUD\HFWRULDHQ
YHORFLGDGPi[LPDGHURERW
QR
6DOLU"
VL
,QLFLDU
&RQWURO"
QR
VL
5HVHWHDU(QFRUGHUV5RERW
/HHUSRVLFLyQGHO5RERW35N
'HWHUPLQDUHUURUGH
SRVLFLyQ HS
9H HS7R
&DOFXODUOH\GHFRQWURO
9F 979H
,QJUHVRGHYHORFLGDGGH&RQWURO9F
/HHUVLJXLHQWHSRVLFLyQGH
WUD\HFWRULDUWN
QR )LQGH VL
)LQ
FRQWURO"
CAPÍTULO 4
4 PRUEBAS Y RESULTADOS
Para cumplir con lo expuesto, los siguientes ítems son los requerimientos a
tomarse en cuenta para completar las pruebas.
- Tiempo de ejecución del método planificador para obtener una ruta entre
las configuraciones.
Del mapa de entorno (Figura 4.1), todos los obstáculos están distribuidos a lo
largo del plano de trabajo del HMI, sin un orden establecido, los vértices y
secuencia de los obstáculos se presentan en la Tabla 4.1:
~ & +` -
~ &G+` M+
Todas las pruebas a realizarse se toma las mismas dimensiones del entorno de
trabajo (
).
inicial ~ y final ~ .
la información del tiempo de ejecución y la distancia total entre las posiciones
La ruta obtenida tiene A nodos como indica la Tabla 4.2, dos de los cuales son los
vértices del tercer obstáculo y los demás son las configuraciones.
Nodos ~ ~Q ~S ~
Nodo x (m) 2.00 10.83 13.11 15.00
Nodo y (m) 3.00 7.43 7.30 7.00
La Tabla 4.2, además de presentar los nodos de la ruta, también indica la
secuencia de la misma.
191
Ð $ %Ñ£ Ð% (4.2)
Ð $ AM
El HMI de la Figura 4.3, presenta los pasos para obtener el grafo de conectividad
como los nodos formado por las rectas verticales que nacen en los vértices de los
obstáculos, los enlaces válidos entre celdas adyacentes, la ruta entre las
configuraciones.
El grafo de conectividad generado tiene -A enlaces válidos que rodea todos los
obstáculos del mapa de entorno, y los nodos de la ruta obtenida por el método
son:
Nodos Nodo x (m) Nodo y (m) Nodos Nodo x (m) Nodo y (m)
~ 2.00 3.00 ~r 8.94 6.35
~Q 3.87 5.19 ~ä 10.83 8.71
~S 5.56 5.56 ~å 11.41 8.54
~i 6.30 4.85 ~õ 13.11 8.30
~ 6.67 6.17 ~Q 13.93 6.86
~ã 7.60 7.21 ~ 15.00 7.00
193
La Tabla 4.3 presenta 12 nodos para formar la ruta incluyendo las configuraciones
inicial y final, los cuales son más que del método Grafo de Visibilidad, pero la ruta
está alejada de los obstáculos.
La Figura 4.4 presenta el camino real del método tiene 149 nodos entre las
configuraciones, pero estos se reducen a los presentados en la Tabla 4.4 cuando
la ruta pasa por el proceso de filtrado.
194
Nodos Nodo x (m) Nodo y (m) Nodos Nodo x (m) Nodo y (m)
~ 2.00 3.00 ~ã 10.70 7.62
~Q 10.86 5.89 ~r 11.03 7.79
~S 10.58 7.34 ~ä 13.40 7.65
~i 10.59 7.43 ~ 15.00 7.00
~ 10.62 7.44
Los nueve nodos de la ruta definitiva conservan casi toda la información, donde la
mayoría estos rodean al obstáculo 3 para alcanzar la configuración final.
Los tiempos de los otros planificadores son muy similares, aunque la diferencia
radica en el número de enlaces del los grafos de conectividad, siempre mayor los
enlaces para el método Grafo de Visibilidad.
Para esta prueba se utiliza los mismos criterios de análisis que para la anterior,
para lo cual se parte del siguiente mapa de entorno.
Las configuraciones inicial y final para la determinación de una ruta para los tres
métodos planificadores son:
~ & +` G
~ &M+` +
Tabla 4.7 Ruta obtenida por método Grafo de Visibilidad para prueba 2
Nodos ~ ~Q ~
Tabla 4.8 Ruta obtenida por Descomposición de celdas para la segunda prueba
~ ~G
Nodos Nodo x (m) Nodo y (m) Nodos Nodo x (m) Nodo y (m)
~ ~L
2.00 5.00 7.25 0.12
~
~M
3.44 4.16 15.47 0.16
~- ~
4.84 2.08 16.40 2.24
~A
6.47 1.17 17.00 2.00
6.84 0.54
De los indicadores de distancia de la ruta y tiempo de procesamiento del método,
se obtuvieron AX y A8 respectivamente.
La ruta calculada por el método planificador (línea segmentada), tiene 162 nodos
y por ende el mismo número de iteraciones para completarla. Utilizando el filtro de
eliminación de nodos, la ruta definitiva reduce sus nodos y quiebres a ocho y seis
respectivamente, la Tabla 4.9 presenta las coordenadas de cada punto.
Tabla 4.9 Ruta obtenida por Campos Potenciales para la segunda prueba
Nodos Nodo x (m) Nodo y (m) Nodos Nodo x (m) Nodo y (m)
~ 2.00 5.00 ~ 4.66 3.99
~Q 4.68 4.48 ~ã 6.35 2.08
~S 4.61 4.20 ~r 6.88 1.91
~i 4.63 4.18 ~ 17 2.00
significativo, considerando que para fines prácticos hay que aplicar el criterio del
entorno expandido al método de Grafo de Visibilidad para utilizar el Robotino®.
Para ingresar el plano al espacio de trabajo del HMI, primero se considera a todos
los objetos como obstáculos poligonales que tengan las dimensiones y
ubicaciones correctas. Las coordenadas de todos los objetos se determinaron
tomando las medidas localmente (Lámina C02 Anexo C), y las dimensiones del
laboratorio se las tomó de la misma manera.
Las dimensiones del Laboratorio completo coinciden con el entorno de trabajo del
HMI, por lo que no existen inconvenientes para aplicar los métodos planificadores.
203
Para la prueba se toman las siguientes coordenadas para que representen a las
configuraciones:
~ & +` A
~ &G+` +
El HMI (Figura 4.11), presenta el grafo de conectividad que tiene 714 enlaces
válidos para terminarlo, y la mayor densidad de estos enlaces se encuentran
sobre los obstáculos 8, 9, 10, 11, 12, y 13.
Nodos ~ ~Q ~S ~i ~ ~ã ~
Nodo x (m) 2 5.6 8 8.1 9.35 13.65 15
Nodo y (m) 4 2.9 1.8 1.8 2 2 1
La ruta obtenida para el método planificador tiene 7 nodos, 5 quiebres (Tabla
4.11) y la distancia total es -MG.
~ ~Q
Nodo Nodo x (m) Nodo y (m) Nodo Nodo x (m) Nodo y (m)
~Q ~Qã
2 4 8 1
~S ~Qr
2.05 5.2 81 1
~i ~Qä
2.7 6.1 8,6 3.75
~ ~Qå
3.05 2.5 9 1.68
~ã ~Qõ
3.3 3.7 9.35 2.42
~r ~S
3.9 3.7 10 2.42
~ä ~SQ
4.15 6.1 10.35 5.2
~å ~SS
4.6 2.5 11 7.78
~õ ~Si
4.75 3.7 12 7.78
~Q ~S
5.45 3.7 12.65 5.2
~QQ ~Sã
5.6 6.1 13 2.42
~QS ~Sr
6.15 2.5 13.65 2.42
~Qi ~
7 2.5 14 1.68
7.5 3.75 15 1
Al construirse solo enlaces adyacentes no existen atajos para la ruta final el
número de nodos es alto, 28 incluyendo las configuraciones inicial y final, y los
quiebres son 26 siendo la mayoría inútiles. El tiempo de ejecución del método es
8.
~ ~ã
Nodo Nodo x (m) Nodo y (m) Nodo Nodo x (m) Nodo y (m)
~Q ~r
2.00 4.00 8.00 1.00
~S ~ä
3.05 2.50 9.00 1.90
~i ~å
3.30 3.70 11.00 2.65
~ ~
4.75 3.70 13.00 2.65
6.15 2.50 15.00 1.00
procesamiento es
8.
208
El mapa de entorno dibujado (Figura C.3) tiene cuatro obstáculos, tres de los
cuales son rectángulos del cuarto central y un obstáculo cerrado con 74 vértices
en secuencia conteniendo las paredes y los escritorios. Para mantener el entorno
de acuerdo con el plano las paredes dibujadas en el HMI tienen el mismo grosor
para obtener la fuerza de repulsión adecuada en función del entorno.
La respuesta del método planificador (Figura 4.14) indica que la ruta obtenida
tiene 168 nodos, de los cuales se reducen a 14 con el proceso de filtrado de ruta.
209
Nodo Nodo x (m) Nodo y (m) Nodo Nodo x (m) Nodo y (m)
~ 2.00 4.00 ~å 9.09 1.71
~Q 7.68 2.82 ~õ 9.15 2.10
~S 7.70 2.80 ~Q 9.58 2.36
~i 7.75 1.46 ~QQ 12.28 2.31
~ 7.90 1.26 ~QS 12.55 2.23
~ã 8.20 1.12 ~Qi 13.74 2.28
~r 9.08 1.12 ~Q 14.12 2.05
~ä 9.09 1.41 ~Qã 15.00 1.00
Los indicadores de distancia y tiempo de procesamiento muestran que la distancia
del camino es L, y el tiempo de ejecución es L8.
Con los datos obtenidos de las variables más importantes de los tres métodos
planificadores, se resumen en la siguiente tabla:
muy dispersos formando quiebres innecesarios al formar los enlaces entre nodos
vecinos, entonces este método se excluye del análisis siendo ineficiente e
inaplicable al control con el Robotino® a pesar que tiene el menor tiempo de
procesamiento en general.
Computador 1.
- RAM .
Computador 2.
- RAM -.
Computador 3.
- Computador de Escritorio
- RAM +
~ &M+` G
~ &+` L+
~ &
+` A
Para las configuraciones:
~ &G+` +
~ &M` G+
~ &+` L+
~ &
+` A
~ &G+` +
~ &M` G+
~ &+` L+
Nodos ~ ~Q ~S ~
Nodo x (m) 1 4 1 4
Nodo y (m) 1 2 2 1
Tabla 4.25 Puntos coordenados entregados por el Robotino® para control de ruta
~ ~QQ
Nodo x (m) y (m) y (m) (m) Nodo x (m) y (m) y (m) (m)
~ ~QQõ
1 1 1,00 0 2.9 1.99 2.00 0.01
~õ ~QS
1.16 1.05 1.05 0 2.73 1.99 2.00 0.01
~Q ~QSõ
1.37 1.12 1.12 0 2.5 1.99 2.00 0.01
~Qõ ~Qi
1.61 1.2 1.20 0 2.27 1.99 2.00 0.01
~S ~Qiõ
1.83 1.27 1.28 0.01 2.04 1.99 2.00 0.01
~Sõ ~Q
2.07 1.35 1.36 0.01 1.8 1.99 2.00 0.01
~i ~Qõ
2.28 1.42 1.43 0.01 1.56 1.99 2.00 0.01
~iõ ~Qã
2.5 1.49 1.50 0.01 1.33 1.99 2.00 0.01
~ ~Qãõ
2.71 1.56 1.57 0.01 1.1 1.99 2.00 0.01
~õ ~Qr
2.93 1.63 1.64 0.01 1.07 1.96 1.98 0.02
~ã ~Qrõ
3.14 1.71 1.71 0 1.29 1.89 1.90 0.01
~ãõ ~Qä
3.36 1.78 1.79 0.01 1.51 1.82 1.83 0.01
~r ~Qäõ
3.57 1.85 1.86 0.01 1.73 1.75 1.76 0.01
~rõ ~Qå
3.78 1.92 1.93 0.01 1.95 1,67 1.68 0.01
~ä ~Qåõ
4 1.99 2.00 0.01 2.17 1.6 1.61 0.01
~äõ ~Qõ
3.83 1.99 2.00 0.01 2.38 1.53 1.54 0.01
~å ~Qõõ
3.6 1.99 2.00 0.01 2.6 1.45 1.47 0.02
~åõ ~S
3.48 1.99 2.00 0.01 2.83 1.38 1.39 0.01
~õ ~Sõ
3.36 1.99 2.00 0.01 3.04 1.31 1.32 0.01
~õõ ~SQ
3.25 1.99 2.00 0.01 3.27 1.23 1.24 0.01
~Q ~SQõ
3.02 1.99 2.00 0.01 3.48 1.16 1.17 0.01
~Qõ ~
2.94 1.99 2.00 0.01 3.7 1.09 1.10 0.01
2.92 1.99 2.00 0.01 3.97 1 1.01 0.01
En la Tabla 4.25, se muestra los valores de las posiciones llegadas por el
Robotino® en , , en la tercera columna se calculó el valores teóricos de la ruta
a partir de las coordenadas de la Tabla 2.24 utilizando rectas, y en la última
columna se encuentran la desviación del robot frente a los valores calculados. Por
el HMI.
222
En esta prueba, la desviación no supera los
7, lo cual permite ver que el control
de ruta está calibrado para los requerimientos del Robotino® para la velocidad de
G8 para la traslación.
~ &G+` GG+
~ &G+` +
Los parámetros presentados por el HMI, indican que ruta tiene cuatro nodos en
total, la distancia es de XL y el tiempo de cálculo del método planificador es
X-8.
223
Durante la ejecución, el HMI dibuja el camino recorrido por del Robotino® tomada
desde los encoders del mismo (Figura 4.23).
La Figura 4.23 muestra la ruta obtenida por el método planificador con el mapa de
entorno expandido, la cual difiere respecto al entorno real del Laboratorio
permitiendo ejecutar el control de ruta.
Tabla 4.26 Puntos coordenados entregados por el Robotino® para control de ruta,
Método Grafo de Visibilidad
~ ~A
Nodo x (m) y (m) planificad (m) Nodo x (m) y (m) planificad (m)
~A ~X
15.00 5.50 5.50 Ϭ 11.59 2.85 2.85 Ϭ
~X ~
A
14.95 5.32 5.32 Ϭ 11.36 2.84 2.83 Ϭ͘Ϭϭ
~A ~
X
14.89 5.10 5.11 Ϭ͘Ϭϭ 11.12 2.83 2.82 Ϭ͘Ϭϭ
~X ~-A
14.83 4.88 4.89 Ϭ͘Ϭϭ 10.89 2.82 2.81 Ϭ͘Ϭϭ
~
A ~-X
14.75 4.61 4.61 Ϭ 10.65 2.80 2.79 Ϭ͘Ϭϭ
~
X ~AA
14.69 4.39 4.39 Ϭ 10.42 2.79 2.78 Ϭ͘Ϭϭ
~-A ~AX
14.63 4.17 4.18 Ϭ͘Ϭϭ 10.18 2.78 2.77 Ϭ͘Ϭϭ
~-X ~GA
14.57 3.95 3.96 Ϭ͘Ϭϭ 9.95 2.76 2.75 Ϭ͘Ϭϭ
~AA ~GX
14.50 3.73 3.71 Ϭ͘ϬϮ 9.71 2.75 2.74 Ϭ͘Ϭϭ
~AX ~LA
14.44 3.50 3.50 Ϭ 9.48 2.74 2.73 Ϭ͘Ϭϭ
~GA ~LX
14.38 3.28 3.29 Ϭ͘Ϭϭ 9.24 2.73 2.71 Ϭ͘ϬϮ
~GX ~MA
14.32 3.06 3.07 Ϭ͘Ϭϭ 9.01 2.71 2.70 Ϭ͘Ϭϭ
~LA ~MX
14.17 2.99 2.99 Ϭ 8.94 2.50 2.50 Ϭ
~LX ~A
13.94 2.98 2.98 Ϭ 8.88 2.28 2.29 Ϭ͘Ϭϭ
~MA ~X
13.70 2.97 2.97 Ϭ 8.81 2.05 2.05 Ϭ
~MX ~XA
13.47 2.95 2.95 Ϭ 8.80 2.01 2.02 Ϭ͘Ϭϭ
~A ~XX
13.24 2.94 2.94 Ϭ 8.74 1.82 1.82 Ϭ
~X ~
A
13.01 2.93 2.93 Ϭ 8.67 1.57 1.58 Ϭ͘Ϭϭ
~XA ~
X
12.76 2.91 2.91 Ϭ 8.60 1.34 1.34 Ϭ
~XX ~
A
12.53 2.90 2.90 Ϭ 8.54 1.14 1.14 Ϭ
~A ~
12.29 2.89 2.89 Ϭ 8.54 1.12 1.14 Ϭ͘ϬϮ
~X
12.06 2.88 2.87 Ϭ͘Ϭϭ 8.50 1.00 1.00 Ϭ
11.83 2.87 286 Ϭ͘Ϭϭ
El error se calcula a partir de la diferencia entre los valores de posición del
Robotino® y los nodos del camino construido de la tura obtenida por el método
225
Utilizando los puntos coordenados del reporte se calcula la distancia real recorrida
por el robot leída por los encoders, Ð $ XL
¾bF $ 8++++¯¶ G¯¯
Para las mediciones y posterior cálculo de errores se toma en cuenta que el error
en la configuración inicial es cero, y para cada nodo se toma los valores de las
coordenadas de los mismos, y se calcula la desviación de cada nodo. Llevando
las mediciones a un gráfico se puede comparar con la trayectoria teórica con la
del Robotino® (ver anexo C).
227
Figura 4.26 Comparación visual entre nodos teóricos y medidos directamente
Al comparar los caminos formados por el método planificador, con la medida del
Robotino®, se observa que tiene error de posición que se incrementa conforme el
robot ejecuta los movimientos. La Tabla 4.28 presenta las coordenadas de los
nodos ejecutados por el Robotino® medidos directamente en el mapa de entorno:
´+& ´+& ´+& ´+& (m) (m) (m) (m) & &
Teórica (m) Medida (m) Teórico medido Teórico Medido
& &
Desviación Error de posición
& &
0 0 0.00% 0.00%
0.03 0.03 0.21% 1.01%
0.2 0.2 2.17% 8.00%
0.1 0.15 1.16% 17.65%
La Figura 4.27 indica que la ruta del método planificador tiene 5 nodos en total, la
distancia es M, y el tiempo de cálculo para la obtención de la ruta es -8,
este tiempo es 10 veces menor al utilizado por el Grafo de Visibilidad y la
distancia de la ruta aumenta en 10%.
Tabla 4.30 Puntos coordenados entregados por el Robotino® para control de ruta,
Método Descomposición de Celdas Modificado
~ ~QQ
Nodo x (m) y (m) Teórico (m) Nodo x (m) y (m) Teórico (m)
~ ~QQõ
1500 5.50 5.50 0 12.64 2.80 2.79 0.01
~õ ~QS
15.05 5.31 5.29 0.02 12.39 2.79 2.78 0.01
~Q ~QSõ
15.11 5.06 5.03 0.03 12.13 2.78 2.77 0.01
~Qõ ~Qi
15.17 4.80 4.78 0.02 11.89 2.76 2.75 0.01
~S ~Qiõ
15.22 4.58 4.57 0.01 11.63 2.75 2.74 0.01
~Sõ ~Q
15.28 4.35 4.31 0.04 11.35 2.73 2.73 0
~i ~Qõ
15.33 4.11 4.10 0.01 11.10 272 2.71 0.01
~iõ ~Qã
15.39 3.89 3.84 0.05 10.86 2.71 2.70 0.01
~ ~Qãõ
15.45 3.64 3.59 0.05 10.68 2.71 2.70 0.01
~õ ~Qr
15.50 3.41 3.38 0.03 10.43 2.71 2.70 0.01
~ã ~Qrõ
15.56 3.16 3.12 0.04 10.20 2.71 2.70 0.01
~ãõ ~Qä
15.61 2.95 2.95 0 9.97 2.71 2.70 0.01
~r ~Qäõ
15.39 2.94 2.94 0 9.71 2.71 2.70 0.01
~rõ ~Qå
15.16 2.93 2.93 0 9.42 2.71 2.70 0.01
~ä ~Qåõ
14.90 2.91 2.91 0 9.20 2.71 2.70 0.01
~äõ ~Qõ
14.67 2.90 2.90 0 9.12 2.51 2.51 0
~å ~Qõõ
14.42 2.89 2.89 0 9.02 2.28 2.26 0.02
~åõ ~S
14.18 2.88 2.88 0 8.93 2.07 2.04 0.03
~õ ~Sõ
13.91 2.86 2.86 0 8.83 1.83 1.80 0.03
~õõ ~SQ
13.63 2.85 2.85 0 8.75 1.61 1.61 0
~Q ~SQõ
13.39 2.84 2.83 0.01 8.64 1.34 1.34 0
~Qõ ~
13.16 2.83 2.82 0.01 8.53 1.08 1.07 0.01
12.92 2.82 2.81 0.01 8.51 1.03 1.02 0.01
Los resultados del método planificador, y del obtenido por el Robotino®, es una
muestra del 20% presentado en el reporte. El error de la ruta real respecto a la del
método planificador se corrige conforme el robot cumple con sus
desplazamientos, hasta llegar a la configuración final cuyo error es 7 entre los
valores medidos y teóricos.
231
La Figura 4.29 presenta la curva del error de posición de la ruta obtenida por el
método planificador y la recolectada por los encoders del Robotino® indica que el
control de ruta corrige el error generado por la primera parte del trayecto
ejecutado por el robot y mantiene el error cercano a 0 ratificando la ruta dibujada
por el HMI de la Figura 4.28.
La distancia recorrida se calcula con los puntos obtenidos por los encoders del
robot obteniendo X
Las rotaciones que realiza el Robot en los quiebres de la ruta para orientarse y
posteriormente realizar los desplazamientos son presentados en la Tabla 2.31.
232
E EA
Rotación Grados Rotación Grados
E
EG
283.24 67.62
E-
100.22 247.62
3.02
Para determinar el recorrido real del Robotino®, se toma las medidas del camino
recorrido, construyendo una cuadrícula en el Laboratorio (Figura 4.30) y
marcando la ruta que sigue el robot.
Para comparar la ruta medida ejecutada por el robot y la calculada por el método
planificador, se trasladó las dos rutas en un plano obtenido el siguiente resultado
presentado en la Figura 4.31.
233
Partiendo desde la misma configuración inicial (error 0), se sobreponen las dos
rutas, en el mismo gráfico. Para determinar los errores, se calculan las
coordenadas. La Tabla 4.32 presenta los nodos de ambas rutas presentadas en la
Figura 4.31.
Tabla 4.34 Puntos coordenados entregados por el Robotino® para control de ruta,
Método Campos Potenciales
~ ~Qõ
Nodo x (m) y (m) (m) (m) Nodo x (m) y (m) (m) (m)
Ϭ Ϭ͘Ϭϭ
~ ~QQ
15.00 5.50 5.50 12.34 2.61 2.62
~õ ~QQõ
14.84 5.36 5.37 Ϭ͘ϭ 12.09 2.61 2.62 Ϭ͘Ϭϭ
14.66 5.22 5.22 Ϭ 11.83 2.61 2.62 Ϭ͘Ϭϭ
236
~Q ~QS
~Qõ ~QSõ
14.51 5.08 5.06 Ϭ͘ϬϮ 11.59 2.61 2.62 Ϭ͘Ϭϭ
~S ~Qi
14.46 4.89 4.87 Ϭ͘ϬϮ 11.36 2.61 2.62 Ϭ͘Ϭϭ
Ϭ͘Ϭϰ Ϭ͘Ϭϭ
~Sõ ~Qiõ
14.46 4.69 4.65 11.13 2.61 2.62
Ϭ͘Ϭϰ Ϭ͘Ϭϭ
~i ~Q
14.46 4.43 4.39 10.90 2.61 2.62
~iõ ~Qõ
14.47 4.18 4.16 Ϭ͘ϬϮ 10.67 2.61 2.62 Ϭ͘Ϭϭ
~ ~Qã
14.47 3.95 3.90 Ϭ͘Ϭϱ 10.43 2.61 2.62 Ϭ͘Ϭϭ
~õ ~Qãõ
14.46 3.70 3.67 Ϭ͘Ϭϯ 10.12 2.61 2.62 Ϭ͘Ϭϭ
~ã ~Qr
14.47 3.47 3.44 Ϭ͘Ϭϯ 9.86 2.61 2.62 Ϭ͘Ϭϭ
Ϭ͘Ϭϲ Ϭ͘Ϭϭ
~ãõ ~Qrõ
14.44 3.26 3.20 9.63 2.61 2.62
Ϭ͘Ϭϱ Ϭ͘Ϭϭ
~r ~Qä
14.41 3.03 2.98 9.40 2.61 2.62
~rõ ~Qäõ
14.32 2.87 2.87 Ϭ 9.15 2.59 2.59 Ϭ
~ä ~Qå
14.18 2.72 2.73 Ϭ͘Ϭϭ 9.00 2.48 2.47 Ϭ͘Ϭϭ
~äõ ~Qåõ
13.95 2.60 2.61 Ϭ͘Ϭϭ 8.86 2.20 2.18 Ϭ͘ϬϮ
~å ~Qõ
13.75 2.60 2.62 Ϭ͘ϬϮ 8.75 1.97 1.96 Ϭ͘Ϭϭ
Ϭ͘ϬϮ Ϭ͘Ϭϭ
~åõ ~Qõõ
13.52 2.60 2.62 8.65 1.76 1.75
Ϭ͘ϬϮ Ϭ͘Ϭϱ
~õ ~S
13.29 2.60 2.62 8.60 1.57 1.52
~õõ ~Sõ
13.06 2.60 2.62 Ϭ͘ϬϮ 8.56 1.34 1.31 Ϭ͘Ϭϯ
~Q ~
12.83 2.60 2.62 Ϭ͘ϬϮ 8.51 1.11 1.05 Ϭ͘Ϭϲ
12.57 2.60 2.62 Ϭ͘ϬϮ 8.49 1.02 0.95 Ϭ͘Ϭϳ
La mayoría de los errores presentados en la Tabla 4.34, no superan la desviación
de
7, por lo que el control de ruta cumple con el objetivo de llevar al Robotino®
a la configuración final.
La Figura 4.34 indica que se forma un error en la primera parte del seguimiento de
la ruta por parte del robot, pero se corrige conforme el robot se traslada por la
parte con menor número de nodos de la ruta y mantiene en valores bajos
considerando la distancia que se realiza el control
Con las coordenadas de los nodos de la ruta seguida por el robot (Tabla 4.34), se
calcula la distancia recorrida por el Robotino® según los encoders y su valor es:
Ð $ XXM
Las rotaciones que realiza el Robot en los quiebres de la ruta para orientarse y
posteriormente realizar los desplazamientos son presentados en la Tabla 4.31.
EQ Eä
Rotación Grados Rotación Grados
ES Eå
218.95 23.03
Ei Eõ
32.61 27.53
E EQ
18.44 33.02
Eã EQQ
0 31.13
Er EQS
7.66 15.11
31.9 259.14
Utilizando una cuadrícula en el Laboratorio se tomó medidas de los
desplazamientos del robot, y se trazó una ruta directamente en el entorno real
presentado en la Figura 4.35.
238
Con las medidas de la ruta se compara con la ruta calculada por el método
planificador, las cuales son trasladadas al plano (Figura 4.36).
Visualmente las curvas presentan gran similitud entre ellas, y de estas, se toman
todos los nodos, se determinan numéricamente las coordenadas de cada uno y se
presenta en la Tabla 4.35:
´+& ´+& ´+& ´+& (m) (m) (m) (m) & &
Teórica (m) Medida (m) Teórico (m) Medido (m) Teórico (m) Medido (m)
Con cada nodo tomado, se calcula los desplazamientos necesarios para llegar al
siguiente nodo para completar el camino, estos valores se procesan para
determinar la desviación entre los nodos y el error del recorrido total producido por
el Robotino®.
& &
Desviación Error de posición
& &
0 0 0.00% 0.00%
0.14 0.03 0.95% 0.59%
0.13 0.02 0.89% 0.41%
0.11 0.03 0.75% 0.62%
240
De igual manera que las pruebas aplicadas para ver el rendimiento de los
métodos planificadores en el entorno real, en esta prueba se tiene resultados
similares en función del tiempo de procesamiento, entonces se puede concluir
que para los métodos basados en grafos el tiempo de procesamiento es
prácticamente el mismo sin importar las posiciones de las configuraciones, pero
en el método de Campos Potenciales, sí depende de la ruta a ser calculada.
Desde el punto de vista del tiempo de ejecución del Robotino®. Las tres pruebas
presentan tiempos similares en la ejecución siendo el tiempo más alto producido
por el método de Campos potenciales (un 9% adicional), concluyendo que las
241
Los errores calculados entre rutas de los métodos planificadores y la obtenida por
los encoders del Robotino®, son muy pequeños menores al 1%, pero existe un
incremento del error conforme el robot se acerca la configuración final, esta
condición se debe a que al realizar el control de posición se presenta la
acumulación del error que se presenta a un sistema que tiene memoria ya que la
función de transferencia tiene un polo en el origen (Capítulo 3)
" + " +
Teórica Robotino Tray Control Error de Posición
~
~
8.5 1.25 8.51 1.27 0 0.06 0.17 -0.01 -0.02 0.022
~å
8.63 1.63 8.63 1.63 1.82 0.07 0.22 0 0 0.000
~QS
8.76 2.01 8.77 2 3.64 0.06 0.22 -0.01 0.01 0.014
~Qr
8.89 2.38 8.9 2.38 5.45 0.07 0.22 -0.01 0 0.010
~S
9.14 2.68 9.13 2.68 7.27 0.23 0.07 0.01 0 0.010
~S
9.52 2.73 9.51 2.72 9.09 0.24 0.02 0.01 0.01 0.014
~Så
9.92 2.75 9.91 2.75 10.91 0.24 0.01 0.01 0 0.010
~iS
10.32 2.77 10.31 2.78 12.73 0.24 0 0.01 -0.01 0.014
~ir
10.72 2.8 10.71 2.8 14.55 0.24 0 0.01 0 0.010
11.12 2.82 11.11 2.83 16.36 0.23 0 0.01 -0.01 0.014
244
~
~
11.52 2.84 11.51 2.85 18.18 0.23 0 0.01 -0.01 0.014
~å
11.92 2.87 11.91 2.87 20 0.24 0 0.01 0 0.010
~ãS
12.31 2.89 12.32 2.9 21.82 0.21 0 -0.01 -0.01 0.014
~ãr
12.71 2.91 12.71 2.91 23.64 0.23 0.01 0 0 0.000
~r
13.11 2.93 13.11 2.94 25.45 0.24 0 0 -0.01 0.010
~r
13.51 2.96 13.51 2.96 27.27 0.23 0 0 0 0.000
~rå
13.91 2.98 13.91 2.99 29.09 0.22 -0.01 0 -0.01 0.010
~äS
14.28 3.1 14.27 3.1 30.91 0.16 0.17 0.01 0 0.010
~är
14.46 3.44 14.45 3.44 32.73 0.09 0.22 0.01 0 0.010
~å
14.59 3.82 14.58 3.82 34.55 0.09 0.22 0.01 0 0.010
~å
14.72 4.2 14.7 4.17 36.36 0.11 0.27 0.02 0.03 0.036
~
14.85 4.58 14.85 4.57 38.18 0.08 0.22 0 0.01 0.010
15 4.99 14.99 4.97 40 -0.5 -0.55 0.01 0.02 0.022
La Tabla 4.37 tiene la cuarta parte de los resultados en el reporte generado por el
control de trayectoria. Cada muestra tiene la información acerca de la
configuración de la trayectoria calculada, la medida que envía el robot, el tiempo a
la que se alcanza la posición la velocidad de control y el error de posición entre la
trayectoria calculada y la medida tanto en componentes como en la distancia.
" + " +
Teórica Robotino Tray Control Error de Posición
~
~ã
8.5 1.25 8.5 1.26 0 0.12 0.18 0 -0.01 0.010
~Q
8.76 1.68 8.75 1.68 1.98 0.13 0.22 0.01 0 0.010
~Qã
8.96 2.13 8.96 2.12 3.96 0.11 0.25 0 0.01 0.010
~S
9.15 2.59 9.15 2.58 5.94 0.13 0.24 0 0.01 0.010
~Sã
9.59 2.7 9.58 2.69 7.92 0.27 0.02 0.01 0.01 0.014
~i
10.09 2.7 10.08 2.7 9.9 0.28 0 0.01 0 0.010
~iã
10.59 2.7 10.58 2.7 11.88 0.28 0.01 0.01 0 0.010
~
11.09 2.7 11.08 2.7 13.86 0.28 -0.01 0.01 0 0.010
~ã
11.59 2.7 11.58 2.7 15.84 0.27 0 0.01 0 0.010
~ã
12.09 2.7 12.08 2.7 17.82 0.27 0 001 0 0.010
~ãã
12.59 2.7 12.59 2.7 19.8 0.27 0 0 0 0.000
~r
13.08 2.72 13.07 2.72 21.78 0.27 0.02 0.01 0 0.010
13.58 2.77 13.57 2.78 23.76 0.26 0.01 0.01 -0.01 0.014
248
~rã
~ä
14.07 2.81 14.07 2.82 25.74 0.28 0 0 -0.01 0.010
~äã
14.57 2.86 14.57 2.87 27.72 0.27 0 0 -0.01 0.010
~å
15.07 2.9 15.07 2.91 29.7 0.27 0 0 -0.01 0.010
~åã
15.57 2.96 15.53 2.96 31.68 0.12 0.23 0.04 0 0.040
~õ
15.46 3.43 15.45 3.4 33.66 -0.05 0.32 0.01 0.03 0.032
~õã
15.32 3.91 15.32 3.91 35.64 -0.06 0.25 0 0 0.000
~Q
15.18 4.39 15.18 4.39 37.62 -0.07 0.26 0 0 0.000
~
15.04 4.87 15.03 4.89 39.6 -0.08 0.26 0.01 -0.02 0.022
15 4.99 15 5 40 -0.5 -0.5 0 -0.01 0.010
La curva del error de posición de la Figura 4.42, indica que el error se mantiene
cercano a 0, pero con un pico a los -
8, generado por el segundo quiebre de la
ruta y que el controlador corrige disminuyendo la velocidad {7. La curva de la
velocidad empieza con un sobre pico que se estabiliza, hasta que llega al quiebre
donde corrige este valor disminuyendo su valor para reducir el error de posición.
" + " +
Teórica Robotino Tray Control Error de Posición
~
~
8.5 1.25 8.5 1.25 0 0.19 0.11 0 0 0.000
~å
8.84 1.46 8.84 1.46 1.7 0.13 0.13 0 0 0.000
~QS
8.93 1.81 8.93 1.8 3.4 0 0.25 0 0.01 0.010
~Qr
8.94 2.2 8.94 2.19 5.11 0.04 0.26 0 0.01 0.010
~S
9.03 2.58 9.02 2.58 6.81 0.15 0.18 0.01 0 0.010
~S
9.34 2.76 9.34 2.77 8.51 0.24 0.01 0 -0.01 0.010
~Så
9.73 2.81 9.72 2.81 10.21 0.25 0 0.01 0 0.010
~iS
10.13 2.84 10.12 2.84 11.91 0.26 0 0.01 0 0.010
~ir
10.52 2.88 10.52 2.88 13.62 0.23 0.07 0 0 0.000
~
10.88 2.84 10.88 2.85 15.32 0.23 -0.05 0 -0.01 0.010
11.27 2.82 11.27 2.82 17.02 0.25 -0.01 0 0 0.000
251
~
~å
11.67 2.83 11.68 2.83 18.72 0.22 0 -0.01 0 0.010
~ãS
12.07 2.84 12.07 2.84 20.43 0.24 0 0 0 0.000
~ãr
12.46 2.91 12.45 2.9 22.13 0.23 0.13 0.01 0.01 0.014
~r
12.78 2.87 12.79 2.89 23.83 0.18 -0.07 -0.01 -0.02 0.022
~r
13.15 2.85 13.15 2.85 25.53 0.26 0 0 0 0.000
~rå
13.55 2.87 13.55 2.88 27.23 0.26 0 0 -0.01 0.010
~äS
13.95 2.89 13.94 2.9 28.94 0.26 0 001 -0.01 0.014
~är
14.34 2.95 14.34 2.94 30.64 0.14 0.16 0 0.01 0.010
~å
14.6 3.24 14.58 3.24 32.34 0.16 0.16 0.02 0 0.020
~å
14.71 3.6 14.7 3.6 34.04 0.08 0.24 0.01 0 0.010
~åå
14.79 4 14.79 3.99 35.74 0.06 0.24 0 0.01 0.010
~õS
14.87 4.39 14.87 4.39 37.45 0.05 0.23 0 0 0.000
~
14.95 4.78 14.95 4.77 39.15 0.06 0.25 0 0.01 0.010
15 5 15 4.99 40 -0.5 -0.5 0 0.01 0.010
D1 $ -L7
D2 $ 7
253
Con el ingreso del error al HMI se procede a ejecutar el control de trayectoria para
un tiempo de ejecución de A8 obteniendo la siguiente curva representada en la
Figura 4.46.
La Figura 4.46 presenta el error inicial formado por la trayectoria formada por el
robot (línea punteada) y la calculada por el método planificador. Este error
disminuye conforme se ejecuta el control, el robot alcanza rápidamente la
trayectoria en un espacio menor de calculada, y realiza el seguimiento normal
hasta concluirla.
" + " +
Teórica Robotino Tray Control Error de Posición
~
8.5 1.25 8.14 1.27 0 0 0 0.36 -0.02 0.361
~Q
8.53 1.34 8.13 1.25 0.45 0.11 0.11 0.4 0.09 0.410
~S
8.57 1.44 8.16 1.28 0.91 0.19 0.19 0.41 0.16 0.440
~i
8.6 1.53 8.23 1.35 1.36 0.25 0.25 0.37 0.18 0.411
~
8.63 1.63 8.33 1.46 1.82 0.3 0.3 0.3 0.17 0.345
~ã
8.66 1.72 8.45 1.59 2.27 0.33 0.33 0.21 0.13 0.247
~r
8.7 1.82 8.58 1.73 2.73 0.33 0.36 0.12 0.09 0.150
~ä
8.73 1.91 8.73 1.91 3.18 0.07 0.22 0 0 0.000
~QS
8.89 2.38 8.89 2.38 5.45 0.09 0.21 0 0 0.000
~Qä
9.23 2.71 9.22 2.72 7.73 0.22 0 0.01 -0.01 0.014
~SS
9.72 2.74 9.71 2.74 10 0.23 0 0.01 0 0.010
~Sä
10.22 2.77 10.22 2.78 12.27 0.23 0 0 -0.01 0.010
~iS
10.72 2.8 10.72 2.81 14.55 0.21 -0.01 0 -0.01 0.010
~iä
11.22 2.83 11.21 2.83 16.82 0.23 0 0.01 0 0.010
~S
11.72 2.85 11.71 2.86 19.09 0.24 -0.01 0.01 -0.01 0.014
~ä
12.21 2.88 12.21 2.89 21.36 0.23 0 0 -0.01 0.010
~ãS
12.71 2.91 12.71 2.92 23.64 0.23 -0.01 0 -0.01 0.010
~ãä
13.21 2.94 13.21 2.94 25.91 0,23 0 0 0 0.000
~rS
13.71 2.97 13.71 2.97 28.18 0.24 0 0 0 0.000
~rä
14.2 3.04 14.19 3.04 30.45 0.2 0.14 0.01 0 0.010
~äS
14.46 3.44 14.44 3.44 32.73 0.1 0.22 0.02 0 0.020
~ää
14.62 3.92 14.61 3.91 35 0.09 0.22 0.01 0.01 0.014
~åS
14.79 4.39 14.77 4.36 37.27 0.1 0.28 0.02 0.03 0.036
~åä
14.95 4.86 14.94 4.83 39.55 0.12 0.37 0.01 0.03 0.032
La Tabla 4.40 tiene las 8 primeras muestras de las variables para ver la
compensación del sistema de control, donde indica que error de posición inicial es
-L7, y esta aumenta a los A7 para la siguiente muestra conforme el
controlador acelera al robot suavemente hasta alcanzar una velocidad de AG8
a los -8 donde el error llega a ser 0 en la séptima muestra de la tabla.
255
La curva del error de posición de la Figura 4.47 tiene un pico del error que
rápidamente se reduce, para luego mantenerse estable y cercano a 0. Al
incorporarse una función que suavice la velocidad conjuntamente con la
saturación a un valor máximo permitido, la curva de velocidad indica que el robot
es acelerado durante el mismo intervalo de tiempo donde existe el error de
posición la cual se disminuye y se estabiliza cuando el robot se encuentra sobre la
trayectoria y se mantiene prácticamente constante durante el resto de la
trayectoria.
256
CAPÍTULO 5
5 CONCLUSIONES Y RECOMENDACIONES
5.1 CONCLUSIONES
5.2 RECOMENDACIONES
REFERENCIAS BIBLIOGRÁFICAS
[7] J.-B. Song y K.-S. Byun, Design and control of an omnidireccional mobile
robot with steerable omnidirectional wheel, Germany/ARS, Austria, December
2006.
ANEXO A
MANUAL DE FUNCIONAMIENTO
Para ejecutar el programa se hace doble clic sobre el ícono Control VZ.
El programa comienza presentando una carátula (Figura A.3) que dura un tiempo
aproximado de G8 para luego llevar al HMI de los planificadores de ruta (Figura
A.4).
El ingreso del mapa de entorno se lo hace por medio de polígonos, el HMI tiene la
capacidad de ingresar cualquier cantidad de polígonos de cualquier dimensión y
número de vértices que estén dentro del rango del plano que es
escalado.
Para el segundo vértice se arrastra el cursor hacia cualquier punto del plano y se
vuelve a seleccionar el cursor dibujando el primer lado del polígono.
Este control permite realizar figuras exactas y/o complejas de igual manera que
ingresando los vértices como coordenadas (Figura A.8).
Una vez posicionado el cursor se hace clic de igual forma que el método de dibujo
libre y programa dibuja el lado del polígono.
Al seleccionar el botón Guardar Mapa, el programa abre una ventana (Figura A.9)
para seleccionar el nombre y el destino del mapa a guardarse.
A-7
En el caso que se quiera incluir más obstáculos a un mapa, simplemente hay que
deslizar el cursor sobre la zona libre de obstáculos y se dibuja las formas
descritas en A.2.1.
El ingreso de las configuraciones se realiza con los controles del HMI (Figura
A.12).
Nota: Estos valores deben estar dentro del rango del plano, y de la zona
libre de obstáculos, ó el programa no ejecutará el método planificador.
Para dibujar la ruta primero de pulsa este botón, y con el cursor se ubica los
vértices del camino para evadir los obstáculos siguiendo la ruta a partir de la
configuración inicial, como se presenta en la Figura A.16.
La ventana de la Figura A.18 cuenta con todas las opciones del control de
Robotino® para que ejecute los movimientos de la ruta obtenida o ingresada.
El HMI presenta el mapa de entorno y la ruta final, sin los demás parámetros de
los métodos planificadores.
Cuando el Robotino® ejecuta la ruta, el HMI dibuja en el plano la ruta que el robot
sigue procesando la información proveniente de los encoders (Figura A.21).
Esta opción permite obtener y guardar toda la información del mapa de entorno,
ruta obtenida y la ejecutada por el Robotino® pulsando el botón Reportes,
(Figura A.22).
El botón abrir Tabla presenta todos los valores de coordenadas (Figura A.23).
A-17
Los controles Desfase, son controles que permiten desfasar una distancia en
metros de la configuración inicial, permitiendo que el controlador compense el
error de posición generado cuando el robot se encuentre en una posición
diferente a la inicial.
Para ingresar al reporte gráfico primero se debe cargarlos datos obtenidos del
control de trayectoria (Abrir Tabla), y luego con el botón reporte gráfico el HMI
presenta los valores gráficamente (Figura A.31).
Los reportes gráficos (Figura A.31) presenta la trayectoria seguida por el robot, el
error de posición frente a la trayectoria real en función del tiempo y las
componentes de la velocidad de control al robot.
A-22
La ventana cuenta con las opciones necesarias para realizar la simulación del
control de trayectoria en caso que no se cuente con un Robot (Figura A.32), para
lo cual el programa (ControlVZ.llb), tiene una rutina que simula los movimientos
que ejecuta el Robotino®, enviando las velocidades por parte del controlador.
Al realizar la simulación del control de trayectoria el HMI cuanta con las mismas
funciones que el control con el robot real, con la presentación de reportes, y
calibraciones de los controles.
Los controles (Escala Vx robot), y (Escala Vy robot), son parámetros que sirven
para escalar la velocidad del simulador, cuyo objetivo es simular posibles errores
del parte del robot al cual se le da una velocidad pero no concuerda con la que
verdaderamente ejecuta (Figura A.34). El valor por defecto es 1 que indica que la
velocidad del control es la que el robot ejecuta.
A-24
Esta opción que presenta el HMI, permite cambiar las constantes de la fuerza de
Repulsión neta y la de Atracción del método:
Los valores de las constantes por defecto están configurados de acuerdo a las
dimensiones del plano.
Para abrir esta ventana se pulsa el botón Campos Potenciales del HMI para
calcular los métodos planificadores (Figura A.36)
A-25
Cuando se cambia los valores de las constantes todas las rutas ejecutadas
posteriores se resolverán con las nuevas constantes.
Nota: Los valores de las constantes deben ser cercanos a los valores por
defecto para obtener una respuesta adecuada.
ANEXO B
El costo es una ponderación para trasladarse desde un nodo hacia otro formando
un enlace. El criterio más común para determinar el costo en la construcción de
rutas el campo de la robótica es la distancia euclídea entre los nodos
involucrados.
Se tiene un grafo dirigido que consta de siete nodos representados con letras
mayúsculas. Primero se selecciona el nodo de origen de ruta, para el caso de
ejemplo se toma el nodo A.
B-2
¶+¼-` ½&Q
¶+¼A` ½&Q
El siguiente paso es seleccionar otro nodo, para lo cual se toma el nodo con el
menor costo para ser alcanzado por A, en el caso del ejemplo sería el nodo B ya
que tiene el costo de 3.
B-3
El nodo B tiene tres nodos adyacentes (C, F y G), analizado se tiene los
siguientes valores para guardar en la matriz del algoritmo:
¶+¼` ½&S
¶+¼G` ½&S
¶+¼A` ½&S
El siguiente paso es tomar el nodo con el menor costo acumulado. Dado que
existe dos rutas con el mismo costo mínimo se escoge aleatoriamente el nodo.
Para el caso del ejemplo se escoge el nodo D ya que tiene el costo de 4.
¶+¼G` ½&i
!¶+¼` ½&i
De acuerdo con la Figura B.1 para alcanzar al nodo C se tiene dos rutas, entones
se escoge la que tiene menor costo, entonces la nueva ruta es:
¶+¼G` ½&i
El siguiente paso es tomar el nodo G ya que tiene el menor costo acumulado para
ser alcanzado por A.
B-4
¶+¼` ½&
Al tener dos rutas posibles al ser alcanzado por A, se toma la ruta con menor
costo, entonces se desecha la ruta que viene por G manteniendo la ruta que viene
por C. al finalizar se marca el nodo G como permanente (Figura B.2).
Para el siguiente paso se toma el nodo C, ya que tiene el menor costo con un
valor de 5.
!¶+¼X` ½&ã
¶+¼X` ½&ã
El siguiente paso es tomar el nodo F, ya que tiene el menor costo acumulado para
ser alcanzado por A.
!¶+¼` ½&r
Ya que se tiene dos rutas para alcanzar a E, se escoge la que tiene el menor
costo, entonces se conserva la ruta que viene por C. para finalizar se marca el
nodo como permanente.
Una vez terminado el algoritmo la matriz formada tiene toda la información para
determinar la ruta desde el nodo A hasta cualquier nodo del grafo presentando la
ruta que sigue y el costo para alcanzarlo.
De la Figura B.3 presenta la ruta más corta para llegar al nodo F, y al nodo G
B-6
Para el caso del nodo E, especificada por matrices la ruta para llegar a E es:
!¶+¼X` ½&ã
Entonces para alcanzar a E, la ruta debe provenir por C, y la ruta para llegar a C
es:
¶+¼G` ½&i
Para alcanzar a C, la ruta debe provenir por D, y la ruta para llegar a D es:
¶+¼A` ½&Q
A-D-C-E
Y el costo es 9.
- X: Nodo de Origen.
a. Se inicializa los valores de los costos con un valor infinito excepto el costo
de X el cual se debe colocar en 0.
Þ $ ¼` ,½&
Se toma el próximo nodo que tenga el menor costo acumulado para la siguiente
evaluación, y se repite
B-8
Para cada nodo del Grafo donde | es la longitud hacia el nodo actual evaluado.
En tal caso el algoritmo A* se puede implementar de manera más eficiente, y es
equivalente a ejecutar el algoritmo Dijkstra con el costo reducido.
B-9
- El algoritmo A* completo encontrará una ruta para todos los casos siempre
y cuando estas existan.
El algoritmo A*, busca las ruta que parecen ser más cortas para llegar a la
configuración final. Además de tener un motor de búsqueda definido, el algoritmo
almacena la información de la distancia ya recorrida hasta un nodo evaluado.
Dijkstra). El algoritmo continúa hasta encontrar el nodo del menor valor de &, ó
actualizan y estos se añaden a la cola de prioridades (similar al algoritmo
ANEXO C
ENTORNO DE LABORATORIO
Dibujar este espacio en el HMI implica que se debe tener un plano con las
dimensiones reales del laboratorio. Como no se cuenta con un plano, se tomaron
las medidas del mismo y con todos los objetos que cuenta. Con la ayuda de
AutoCAD se construyó el plano del laboratorio con las medidas tomadas
directamente.
La Lamina C01, tiene todos los muebles y otros objetos. Para poder ingresarlos al
HMI se dibuja sobre estos unos rectángulos que representan los obstáculos al
HMI, la Lámina C02 tiene el los rectángulos que equivalen a los objetos del
laboratorio.
C-2
C-3
C-4
Para ingresar el entorno del laboratorio dentro del HMI primero al mapa se divide
en diecinueve polígonos para completarlo los cuales se representan en la
siguiente tabla.
En la Figura C.1 se aprecia los obstáculos que conforman el plano del laboratorio
y el polígonos más grande tiene 8 vértices, pero la gran mayoría tiene 6. Este
C-6
plano es el ideal para realizar las pruebas para el método de Grafo de Visibilidad
ya que se divide el mapa de entorno en polígonos pequeños fáciles de procesar.
Se funcionan todos los obstáculos para disminuir el tiempo que tarda el método
en construir los obstáculos agregando los puntos que generan la fuerza de
repulsión neta.
C-8