capítulo 4 abibing.us.es/proyectos/abreproy/11954/fichero/5+-+cap.4+-+aplicaci… · en la figura...

18
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.

Upload: others

Post on 03-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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.

Page 2: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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

Page 3: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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.

Page 4: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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

Page 5: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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

Page 6: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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.

Page 7: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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

Page 8: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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.

Page 9: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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.

Page 10: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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)

Page 11: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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

Page 12: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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 %.

Page 13: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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 %

Page 14: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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

Page 15: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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

Page 16: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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

Page 17: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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%

Page 18: Capítulo 4 Abibing.us.es/proyectos/abreproy/11954/fichero/5+-+CAP.4+-+Aplicaci… · En la Figura 4-5 se representa la zona dedicada a la representación de las ... que representan

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%