Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
61
Capítulo 4 APLICACIÓN DE CONTROL DESARROLLADA
En este capítulo de describe la aplicación de control programada en leguaje C#
haciendo uso del entorno de desarrollo Microsoft Visual C# 2010 Express. Para
este cometido ha sido de ayuda la biblioteca de clases de .NET Framework [14], y
los foros de Robocommunity [15]. También se ha hecho uso, para aspectos
puntuales en la actividad de la programación, de innumerables páginas webs y
guías de programación.
En particular se describen tres funcionalidades específicas creadas: la detección
de suciedad mediante el análisis de la imagen, la posibilidad de enviar una orden
para que el robot ejecute una serie de movimientos de forma secuencial y una
herramienta específica para realizar mediciones y tomar datos de los
movimientos del robot.
4.1 DESCRIPCIÓN DE LA APLICACIÓN
Para el desarrollo de la aplicación se ha hecho uso de la librería de funciones
creada por Serg Podtynnyi [16] y que puede descargarse de forma gratuita de
[17]. Esta librería proporciona una cómoda encapsulación de la mayoría de los
comandos CGI y ahorra al programador tiempo en las etapas iniciales del
proyecto. No obstante, las funciones presentes en esta librería se han
modificado cuando se ha considerado oportuno y se han añadido nuevas.
Los comandos CGI están encapsulados como métodos de un objeto que permite
el envío de mensajes del protocolo HTTP a través de una conexión establecida
con ROVIO.
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
62
4.1.1 INTERFAZ DE LA PESTAÑA PRINCIPAL
En la Figura 4-1 se muestra la pestaña PRINCIPAL de la aplicación creada.
Figura 4-1: Rovio APP. PRINCIPAL
Se distinguen diferentes grupos de controles y funciones que se describen en los
siguientes apartados.
4.1.1.1 Conexión
En la Figura 4-2 se muestran los controles que permiten especificar el usuario
con el que se quiere acceder, su contraseña y la dirección IP asignada a ROVIO.
Figura 4-2: Rovio APP. Conexión
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
63
Por defecto ROVIO publica una red inalámbrica propia a la que es posible
conectarse directamente. Típicamente, se utiliza esta conexión para acceder al
robot y configurarlo de modo que pueda funcionar en la red local propia. Así
mismo, ROVIO permite una conexión directa mediante cable (conexión USB) para
su configuración.
4.1.1.2 Estado
En esta región, Figura 4-3, se puede consultar el estado actual de ROVIO. La
cadena de datos en la ventana de información es, directamente, el valor de
retorno de la función GetReport() que se describirá posteriormente.
Figura 4-3: Rovio APP. Estado
Para mayor claridad se han extraído los datos correspondientes al estado,
posición proporcionada por el sistema de ROVIO, intensidad de la señal de
navegación, intensidad de la señal WiFi y el nivel de carga de la batería. Estos
tres últimos han sido interpretados según la escala publicada en la API para cada
uno de ellos.
4.1.1.3 Controles de movimiento
En la Figura 4-4 se muestran los controles que permiten el movimiento del robot.
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
64
Figura 4-4: Rovio APP. Controles de movimiento
Desplazamientos en 8 sentidos (Adelante, Atrás, Derecha, Izquierda, Diagonal-
Adelante-Derecha, Diagonal-Adelante-Izquierda, Diagonal-Atrás-Derecha y
Diagonal-Atrás-Izquierda) y rotaciones (Rotación-Derecha y Rotación-Izquierda).
Se dispone de una barra de selección que establece la velocidad, de entre diez
valores posibles, con la que se ejecutarán los movimientos17. También se
encuentra aquí el control que permite introducir una cadena de texto que lleva a
ROVIO a ejecutar una secuencia de movimientos. El formato que ha de seguir
esta cadena es el siguiente:
[dir_1][tiempo_1][dir_2][tiempo_2][dir_3][tiempo_3]…
Siendo [dir_nº] alguno de los siguientes caracteres que determina el tipo de
movimiento que se efectuará: U (Adelante), A (Atrás), R (Rotación-Derecha), L
(Rotación-Izquierda). A continuación se especifica [tiempo_nº] como un número
entero que representa los milisegundos que durará el movimiento. Por ejemplo,
la cadena “U3000R500” llevará al robot a avanzar durante 3 segundos para
posteriormente rotar hacia la derecha durante medio segundo.
17 Para las velocidades menores, en ocasiones, el desplazamiento era irregular
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
65
4.1.1.4 Imagen y detección de basura
En la Figura 4-5 se representa la zona dedicada a la representación de las
imágenes tomadas por la cámara del robot y a la funcionalidad incorporada para
la detección de basura.
Figura 4-5: Rovio APP. Imagen y detección de basura
La función de detección de basura se basa en el análisis de las imágenes que
toma ROVIO. Para estas tareas se ha hecho uso de las librerías AForge.Imaging
disponibles en [18].
Primeramente se toma una porción de la parte inferior de la imagen, que
corresponde a la zona del suelo. Sobre esta porción se aplica un filtro que la
convierte a escala de grises. Posteriormente se aplica un filtro de binarización
que, convenientemente ajustado, asigna a todos los pixeles por debajo del
umbral el color negro (valor 0) y a los pixeles por encima del umbral les asigna el
color blanco (valor 255). El resultado de esta binarización se muestra en una
región rectangular debajo de la zona de representación de imágenes. Para un
correcto funcionamiento, este diseño supone que la basura será más oscura que
el suelo en el que se encuentra. Seguidamente se realiza un recuento de los
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
66
pixeles negros, que representan la basura, y si su proporción es superior a un
valor de diseño con respecto a los pixeles blancos, se supondrá que se ha
detectado la presencia de basura y aparecerá un cuadro de texto indicando
“BASURA DETECTADA”.
La funcionalidad de los controles presentes en esta región es la siguiente:
Foto. Realiza una foto con la cámara que se muestra en la zona de
representación.
Video Start. Se solicita de forma continua la representación de imágenes
tomadas por la cámara. Este mismo botón detiene la captura una vez
iniciada.
Posición cámara. Se permite la selección de una de las tres posiciones
posibles para la cámara. La detección de basura está pensada para
trabajar con la cámara en posición baja.
Detectar basura. Activa la función de detección de basura.
% Inferior de la foto a analizar. Permite definir la región inferior de la
imagen con la que se trabajará. Este porcentaje debería intentar
seleccionar la porción de suelo presente en las capturas.
Umbral para binarización. Permite definir el valor del umbral para el
filtro de binarización y ajustarlo de este modo a las condiciones
particulares de cada prueba y entorno.
% Mínimo para positivo. Define el umbral por encima del cual se
supondrá que se ha detectado basura. En otras palabras, define la
cantidad de pixeles negros que debe haber para considerar la presencia
de basura.
4.1.1.5 Caminos
En este grupo de controles, Figura 4-6, se encuentra lo referente a la grabación y
ejecución de rutas guardadas. En la ventana de información aparecen los
caminos actuales almacenados en la memoria de ROVIO.
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
67
Figura 4-6: Rovio APP. Caminos
La funcionalidad de los controles presentes se describe a continuación:
Ejecuta. Reproduce la ruta seleccionada.
Grabar. Graba una ruta. ROVIO debe moverse de forma manual con los
controles pertinentes hasta completar el trayecto deseado. Una vez
completado el desplazamiento se solicitará al usuario un nombre para el
almacenamiento del camino. Este nuevo camino aparecerá ahora en la
lista de caminos.
Borrar. Elimina un camino almacenado, seleccionado de entre los
presentes en la ventana de información.
Borrar Todos. Elimina todos los caminos de la memoria.
A Casa. ROVIO navega de forma autónoma hasta la posición definida
como estación base pero no atraca en la plataforma de recarga.
Aparca. ROVIO navega de forma autónoma hasta la posición definida
como estación base e intenta atracar en la plataforma de recarga.
Mi Casa. Define la posición actual como la posición de estación base.
Stop. Detiene el robot.
4.1.1.6 Usuarios
Este es el grupo de controles, Figura 4-7, para la gestión de los usuarios. ROVIO
permite activar y desactivar la autenticación de usuarios. Los usuarios pueden
ser de dos tipos: administradores o invitados. Los administradores pueden
acceder a todas las funciones implementadas en la aplicación. Los invitados sólo
pueden ejecutar algunas de las acciones. En particular, los invitados no pueden
crear nuevos caminos ni eliminarlos. Tampoco pueden añadir nuevos usuarios al
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
68
sistema, ni eliminarlos, ni solicitar la desactivación de la autenticación en el
acceso.
Figura 4-7: Rovio APP. Usuarios
La funcionalidad de los controles es:
Solicitar User:Pass. Al activar esta opción y solicitar la actualización
(botón Update) se procede a una reconexión solicitando ahora la
autenticación del usuario.
Añadir Usuario. Permite crear un nuevo usuario del sistema. Para la
creación se solicitará un nombre, una contraseña y el nivel de acceso
(administrador o invitado). Al concluir el proceso, el nombre del nuevo
usuario aparecerá en la lista junto al resto.
Eliminar Usuario. Borra al usuario seleccionado.
En la parte inferior de este grupo de controles hay una ventana de información
que refleja si la necesidad de autenticarse en la conexión está activada.
4.1.2 INTERFAZ DE LA HERRAMIENTA DE TOMA DE DATOS Y MEDICIONES
Esta herramienta, cuya interfaz puede verse en la Figura 4-8, ha sido creada para
facilitar la tarea de realizar mediciones y estudiar el movimiento del robot. Ya
que ROVIO dispone de un sistema propio de posicionamiento, es posible realizar
cálculos de los desplazamientos que ha realizado según las posiciones iniciales y
finales que su sistema indica y compararlos con el desplazamiento real.
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
69
Figura 4-8: Rovio APP. TEST MOVES
La herramienta desarrollada permite la ejecución de diferentes pruebas
estableciendo los parámetros adecuados de entre los posibles.
Dirección. Selecciona el tipo de movimiento del robot (Adelante, Atrás,
Rotar-Derecha, Rotar-Izquierda).
Velocidad. Selecciona la velocidad del movimiento desde la más rápida
(valor 1) hasta la más lenta (valor 10).
Intervalo. Permite especificar la duración del movimiento en
milisegundos.
Se puede indicar que se realice el cálculo del desplazamiento entre la posición
inicial y final, así como la rotación que ha experimentado ROVIO haciendo uso de
su sistema de posicionamiento. Estos resultados aparecen en la zona de
posicionamiento donde se pueden ver las coordenadas (X, Y, Theta) en la
posición inicial y final. En esta zona aparecen también los resultados del cálculo
del desplazamiento y la rotación.
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
70
Ya que se ha dotado a esta aplicación de funciones estadísticas, se permite
definir el número de repeticiones para cada prueba. Adicionalmente se ha
incluido la posibilidad de introducir las mediciones manuales después de cada
movimiento. Un vez concluida la serie (conjunto de pruebas idénticas)
especificada, todos los datos obtenidos junto con los resultados estadísticos son
escritos en un fichero de texto para facilitar su posterior manipulación.
El proceso concreto, una vez establecidos los parámetros deseados, que tiene
lugar en la ejecución de una serie es:
1. Se toman 7 muestras para cada coordenada (X, Y, Theta)18 en la posición
inicial realizando las lecturas cada 500 milisegundos.
2. Se descartan las muestras mayores y menores para cada coordenada. Con
las 5 muestras restantes se calcula su media y desviación.
3. El ROVIO realiza el movimiento y se desplaza/rota hasta la posición final.
4. Se toman 7 muestras para cada coordenada (X, Y, Theta) en la posición
final realizando las lecturas cada 500 milisegundos.
5. Se descartan las muestras mayores y menores para cada coordenada. Con
las 5 muestras restantes se calcula su media y desviación.
6. Haciendo uso de las medias obtenidas para la posición inicial y final se
calcula el desplazamiento.
7. Si se ha especificado, se solicita la introducción manual de la medición
real para el movimiento ejecutado.
8. Se calcula la relación entre el desplazamiento calculado en el punto 6 y el
desplazamiento real medido (este paso no se aplica en las rotaciones).
9. Se repiten los 8 primeros pasos tantas veces como se haya especificado
en el número de pruebas por serie.
10. Finalmente, con los resultados obtenidos, se calcula la media y la
desviación para el desplazamiento/rotación calculado por ROVIO, el
medido de forma manual y la relación entre ambos (en desplazamientos).
Como ya se ha indicado, todos estos datos se recogen en un archivo de texto
para su almacenamiento y posterior uso.
18 Para los desplazamientos se trabaja con las coordenadas (X,Y) y para las rotaciones con (Theta)
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
71
4.1.3 PRUEBAS REALIZADAS Y DATOS OBTENIDOS
En este proyecto se han realizados pruebas para distintos tipos de movimientos
que permite el robot. Cada serie compuesta por 5 repeticiones de la misma
prueba. Las diferentes series corresponden a los distintos tiempos elegidos para
la duración del movimiento a ejecutar.
En las pruebas realizadas también se indica la cobertura WiFi que detectaba la
aplicación web propia de ROVIO.
En la Tabla 4-1 se recogen los datos relevantes obtenidos para las pruebas de
movimiento adelante.
PRUEBA: Adelante, velocidad 1 (más rápida) COBERTURA WiFi: 80-90 %
TIEMPO 1000 ms
TIEMPO 3000 ms
TIEMPO 5000 ms
Desplazamiento_Medido_(media)[milímetros] 216.6 788.4 1459.6 Desplazamiento_Medido_(desviación)[milímetros] 20.7 47.3 102.3 Desplazamiento_CalculoROVIO_(media) 666.8 2441.3 3940.3 Desplazamiento_CalculoROVIO_(desviación) 124.4 116.3 257.2 Relación_(media)_100ROVIO->X[milímetros] 33.1 32.3 37 Relación_(desviación)_100ROVIO->X[milímetros] 4.8 0.7 1.1
PRUEBA: Adelante, velocidad 5 (intermedia) COBERTURA WiFi: 80-90 %
TIEMPO 1000 ms
TIEMPO 3000 ms
TIEMPO 5000 ms
Desplazamiento_Medido_(media)[milímetros] 215.8 730.4 1328.6 Desplazamiento_Medido_(desviación)[milímetros] 30.9 40.7 57.9 Desplazamiento_CalculoROVIO_(media) 712.8 2091.1 3548.7 Desplazamiento_CalculoROVIO_(desviación) 57.3 126.6 218.6 Relación_(media)_100ROVIO->X[milímetros] 30.3 35 37.5 Relación_(desviación)_100ROVIO->X[milímetros] 3.7 0.8 1.2
Tabla 4-1: Pruebas movimiento. Adelante.
En la Tabla 4-2 se recogen los datos relevantes obtenidos para las pruebas de
movimiento hacia atrás.
PRUEBA: Atrás, velocidad 1 (más rápida) COBERTURA WiFi: 80-90 %
TIEMPO 1000 ms
TIEMPO 3000 ms
TIEMPO 5000 ms
Desplazamiento_Medido_(media)[milímetros] 189.4 737.4 1370 Desplazamiento_Medido_(desviación)[milímetros] 19.8 119.5 91.3
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
72
Desplazamiento_CalculoROVIO_(media) 781 2504.9 4625.9 Desplazamiento_CalculoROVIO_(desviación) 91.3 375.9 372.1 Relación_(media)_100ROVIO->X[milímetros] 24.4 29.4 29.6 Relación_(desviación)_100ROVIO->X[milímetros] 2.5 1.1 0.5
PRUEBA: Atrás, velocidad 5 (intermedia) COBERTURA WiFi: 80-90 %
TIEMPO 1000 ms
TIEMPO 3000 ms
TIEMPO 5000 ms
Desplazamiento_Medido_(media)[milímetros] 204.6 730.6 1248 Desplazamiento_Medido_(desviación)[milímetros] 22.3 50.1 24.1 Desplazamiento_CalculoROVIO_(media) 552.9 2433.2 3391 Desplazamiento_CalculoROVIO_(desviación) 111.6 137.2 111.2 Relación_(media)_100ROVIO->X[milímetros] 37.7 30 36.8 Relación_(desviación)_100ROVIO->X[milímetros] 4.7 0.9 1.1
Tabla 4-2: Pruebas movimiento. Atrás.
En la Tabla 4-3 se recogen los datos obtenidos para las pruebas de rotación hacia
la izquierda.
PRUEBA: Rotación-Izquierda, velocidad 1 (más rápida) COBERTURA WiFi: 80-90 %
TIEMPO 500 ms
TIEMPO 1000 ms
TIEMPO 1500 ms
Incremento_Angular_Medido_(media)[rad] 1.63 2.9 4.69 Incremento_Angular_Medido_(desviación)[rad] 0.14 0.12 0.15 Incremento_Angular_CalculoROVIO_(media)[rad] 1.65 2.91 4.73 Incremento_Angular_CalculoROVIO_(desviación)[rad] 0.13 0.14 0.15
PRUEBA: Rotación-Izquierda, velocidad 5 (intermedia) COBERTURA WiFi: 80-90 %
TIEMPO 500 ms
TIEMPO 1000 ms
TIEMPO 1500 ms
Incremento_Angular_Medido_(media)[rad] 0.80 1.79 3.12 Incremento_Angular_Medido_(desviación)[rad] 0.06 0.09 0.19 Incremento_Angular_CalculoROVIO_(media)[rad] 0.80 1.80 3.13 Incremento_Angular_CalculoROVIO_(desviación)[rad] 0.09 0.1 0.2
Tabla 4-3: Pruebas movimiento. Rotación.
Se consideró conveniente realizar pruebas en las que ROVIO detectase una
menor intensidad de la señal WiFi. Esta reducción se consiguió alejando al robot
del punto de acceso a la red local, es decir, aumentando la distancia al router
WiFi. El indicador de la aplicación web indicaba una intensidad de la señal
alrededor del 30-40 %.
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
73
En la Tabla 4-4 se recogen los datos obtenidos para las pruebas de movimiento
adelante con cobertura WiFi reducida.
PRUEBA: Adelante, velocidad 1 (más rápida) COBERTURA WiFi: 30-40 %
TIEMPO 1000 ms
TIEMPO 3000 ms
TIEMPO 5000 ms
Desplazamiento_Medido_(media)[milímetros] 192.2 751.6 1139.2 Desplazamiento_Medido_(desviación)[milímetros] 26.26 175.45 281.30 Desplazamiento_CalculoROVIO_(media) 488 1969.95 3432.75 Desplazamiento_CalculoROVIO_(desviación) 19.76 547.7 1754.93 Relación_(media)_100ROVIO->X[milímetros] 39.28 38.61 35.81 Relación_(desviación)_100ROVIO->X[milímetros] 4.08 2.64 6.91
PRUEBA: Adelante, velocidad 5 (intermedia) COBERTURA WiFi: 30-40 %
TIEMPO 1000 ms
TIEMPO 3000 ms
TIEMPO 5000 ms
Desplazamiento_Medido_(media)[milímetros] 191 686.2 1385.6 Desplazamiento_Medido_(desviación)[milímetros] 18.41 80.11 251.85 Desplazamiento_CalculoROVIO_(media) 490.77 1764 4026.3 Desplazamiento_CalculoROVIO_(desviación) 27.71 169.5 1260.9 Relación_(media)_100ROVIO->X[milímetros] 38.93 38.93 35.66 Relación_(desviación)_100ROVIO->X[milímetros] 3.25 3.16 5.04
Tabla 4-4: Pruebas movimiento. Adelante. WiFi 30-40%
En la Tabla 4-5 se recogen los datos obtenidos para las pruebas de movimiento
de rotación hacia la izquierda con cobertura WiFi reducida.
PRUEBA: Rotación-Izquierda, velocidad 1 (más rápida) COBERTURA WiFi: 30-40 %
TIEMPO 500 ms
TIEMPO 1000 ms
TIEMPO 1500 ms
Incremento_Angular_Medido_(media)[rad] 1.63 2.97 5.15 Incremento_Angular_Medido_(desviación)[rad] 0.03 0.22 0.25 Incremento_Angular_CalculoROVIO_(media)[rad] 1.6 3.1 5.14 Incremento_Angular_CalculoROVIO_(desviación)[rad] 0.04 0.23 0.21
PRUEBA: Rotación-Izquierda, velocidad 5 (intermedia) COBERTURA WiFi: 30-40 %
TIEMPO 500 ms
TIEMPO 1000 ms
TIEMPO 1500 ms
Incremento_Angular_Medido_(media)[rad] 0.75 1.62 2.99 Incremento_Angular_Medido_(desviación)[rad] 0.06 0.19 0.1 Incremento_Angular_CalculoROVIO_(media)[rad] 0.74 1.62 3 Incremento_Angular_CalculoROVIO_(desviación)[rad] 0.07 0.18 0.11
Tabla 4-5: Pruebas movimiento. Rot-Izq. WiFi 30-40 %
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
74
4.1.3.1 Interpretación de los datos y modelo del movimiento
Podemos representar los datos obtenidos en las mediciones reales de forma
gráfica y obtener un sencillo modelo matemático que describa el movimiento del
robot. Estas gráficas nos ayudan a visualizar e interpretar los resultados de las
pruebas realizadas con ROVIO.
En la generación de las siguientes figuras se ha utilizado una interpolación lineal
entre las muestras disponibles. Los datos utilizados corresponden a las pruebas
realizadas con cobertura WiFi del 80-90 % y son también estos datos los
empleados en el cálculo de las ecuaciones de movimiento.
En la Figura 4-9, se ha representado el movimiento adelante. Se puede observar
que el comportamiento se ajusta bastante a una característica lineal. También se
aprecia que las diferencias entre la velocidad máxima y la intermedia no son
especialmente significativas.
Figura 4-9: Movimiento Adelante. WiFi 80-90 %
En la Figura 4-10 se representa el movimiento del robot hacia atrás. La
interpretación es análoga al movimiento adelante.
0
200
400
600
800
1000
1200
1400
1600
0 1 2 3 4 5
Dis
tan
cia
reco
rrid
a [m
ilím
etro
s]
Duración del movimiento [segundos]
Velocidad 1
Velocidad 5
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
75
Figura 4-10: Movimiento Atrás. WiFi 80-90 %
Al comparar los movimientos adelante y atrás se aprecia una ligera diferencia en
las distancias recorridas a favor del movimiento adelante.
En la Figura 4-11 se representa el movimiento de rotación hacia la izquierda. En
este tipo de movimiento las diferencias en cuanto a la velocidad seleccionada
son mucho más notables.
Figura 4-11: Movimiento Rotación-Izquierda. WiFi 80-90 %
0
200
400
600
800
1000
1200
1400
1600
0 1 2 3 4 5
Dis
tan
cia
reco
rrid
a [m
ilím
etro
s]
Duración del movimiento [segundos]
Velocidad 1
Velocidad 5
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
5
0 500 1000 1500
Ro
taci
ón
efe
ctu
ada
[rad
ian
es]
Duración del movimiento [milisegundos]
Velocidad 1
Velocidad 5
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
76
Ya que los sensores de ROVIO proporcionan una medida de la rotación efectuada
en radianes, podemos realizar una comparación gráfica, Figura 4-12, entre estos
valores y los obtenidos mediante la medición manual de los giros efectuados
para la velocidad 1 (más rápida).
Figura 4-12: Comparativa Medido-Rovio. Rotación Izquieda
En este movimiento de rotación, se aprecia una gran concordancia entre los
valores medidos y los proporcionados por el sistema del robot.
Haciendo uso de los datos obtenidos mediante las mediciones manuales, se
calculan modelos lineales que describen el movimiento del robot en cada una de
las pruebas (en realidad, para los resultados medios de cada serie realizada). En
la Tabla 4-6 se presentan estas ecuaciones de movimiento. Hay que mencionar
que para valores temporales muy pequeños estas ecuaciones pueden
proporcionar resultados incoherentes (desplazamientos negativos).
PRUEBA ECUACIÓN DEL MOVIMIENTO
Adelante, Velocidad 1 y = 294,46x – 54,3 y[milímetros], x[segundos]
Adelante, Velocidad 5 y = 266,9x – 37,67 y[milímetros], x[segundos]
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
5
0 500 1000 1500
Ro
taci
ón
efe
ctu
ada
[rad
ian
es]
Duración del movimiento [milisegundos]
Medido
ROVIO
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
77
Atrás, Velocidad 1 y = 277,63x – 58,41 y[milímetros], x[segundos]
Atrás, Velocidad 5 y = 253,06x – 25,97 y[milímetros], x[segundos]
Rotación izquierda, Velocidad 1 y = 3,068x + 0,004 y[radianes], x[segundos]
Rotación izquierda, Velocidad 5 y = 2,07x – 0,125 y[radianes], x[segundos]
Tabla 4-6: Ecuaciones de movimiento
Finalmente se presenta una comparación entre los datos obtenidos en las
pruebas realizadas con los diferentes niveles de cobertura WiFi. Como ya se ha
mencionado, la disminución de cobertura se logró alejando a ROVIO del router al
que se conectaba. Gracias a esto se realizaron pruebas con una intensidad de la
señal WiFi entorno al 40% según los sensores del robot (medida que proporciona
su aplicación web).
En la Figura 4-13 se muestra la comparativa con los datos obtenidos para las
pruebas de movimiento adelante efectuadas en las distintas condiciones de
cobertura WiFi.
Figura 4-13: Comparativa WiFi. Movimiento Adelante
0
200
400
600
800
1000
1200
1400
1600
0 1 2 3 4 5
Dis
tan
cia
reco
rrid
a [m
ilím
etro
s]
Duración del movimiento [segundos]
Vel.1 WiFi 80-90%
Vel.5 WiFi 80-90%
Vel.1 WiFi 30-40%
Vel.5 WiFi 30-40%
CONTROL E INTEGRACIÓN DE ROVIO BAJO UPNP Aplicación de control desarrollada
78
En la Figura 4-14 se presentan la comparativa con los resultados para la prueba
de rotación hacia la izquierda.
Figura 4-14: Comparativa WiFi. Rotación Izquierda
Se aprecia que los resultados no difieren de forma clara según la cobertura
detectada.
En este sentido, se intentó reducir la cobertura a valores inferiores al 30% pero
en estos casos la conexión con ROVIO se interrumpía continuamente y las
pruebas no podían ejecutarse con normalidad.
Con el fin de corroborar estos resultados se realizaron unas sencillas pruebas
haciendo uso de la propia aplicación web de ROVIO y se obtuvieron resultados
similares en relación a los efectos que las diferentes coberturas WiFi tenían en el
movimiento del robot.
Finalmente se ha de mencionar que el uso de las velocidades más lentas
provocaba, en muchas ocasiones, un movimiento muy irregular, por lo que no se
ha considerado práctico incluir pruebas con estos valores de velocidad.
0
1
2
3
4
5
6
0 500 1000 1500
Ro
taci
ón
efe
ctu
ada
[rad
ian
es]
Duración del movimiento [milisegundos]
Vel. 1 WiFi 80-90%
Vel. 5 WiFi 80-90%
Vel. 1 WiFi 30-40%
Vel. 5 WiFi 30-40%