Artículo Científico / Scientific Paper |
|
|
|
||
|
pISSN: 1390-650X / eISSN: 1390-860X |
|
Carlos Flores-Vázqueze1,*, Fco. Abiud Rojas de Silva G2, Karla A. Trejo Ramírez2 |
Resumen |
Abstract |
||
En este artículo se presenta un acercamiento al mando a distancia de un robot móvil que emplea un teléfono inteligente para comandarlo. La idea principal es recolectar los datos generados por el acelerómetro incluido en el teléfono inteligente. Los datos son los resultados de mover el teléfono en la dirección de los ejes Y y Z. Tales datos serán usados para entrenar dos redes neuronales que definirán la dirección del movimiento del robot móvil. Las salidas obtenidas de las redes neuronales serán procesadas para calcular y trazar la trayectoria, que es determinada por el modelo cinemático para un robot móvil tipo triciclo. |
This paper presents an approach to remote control a robot using smartphone. The main idea is to collect data generated by the accelerometer sensor included in the smartphone. The data are the results of moving the smartphone in direction of the axis Y and Z. Such data will be used for training two neural networks that will define the direction of the movement of the mobile robot. The outputs obtained from the neural networks will be processed to compute and plot the trajectory, which is determined by the kinematic model for a tricycle mobile robot. |
||
|
|
||
Palabras clave: sistemas remotos, redes neuronales, robot móvil, teléfono inteligente, acelerómetro.
|
Keywords: Remote System, Neural Network, Mobile Robot, Smartphone, Accelerometer. |
||
1,* Unidad Académica de Ingeniería Industria y Construcción, Universidad Católica de Cuenca - Ecuador. Autor para correspondencia : cfloresv@ucacue.edu.ec. http://orcid.org/0000-0002-5159-9469 |
|||
2 Escuela de Doctorado en Automática, Robótica y Visión, Universidad Politécnica de Cataluña - España.
29 |
La operación remota ha sido desarrollada durante muchos años y ha conducido a diversos usos prácticos de interacción del usuario con el entorno. El concepto de sistema remoto será abordado como un sistema para manipular y controlar un robot que requiere un operador humano a distancia. Esto implica la disponibilidad de interfaz de hombre-máquina [1]. Su función principal es brindar al operador la capacidad de realizar tareas complejas en entornos peligrosos y menos estructurados, por esta razón es necesario aplicar una concepción del sistema que permita la interacción con el entorno. La Figura 1 muestra una generalización de este sistema [2]. Debido a la reducción de costos en la tecnología de dispositivos móviles, se consideró conveniente aprovechar su hardware para desarrollar esta propuesta. En el presente artículo se presenta una aplicación de un sistema remoto para un robot móvil empleando un teléfono inteligente como mando a distancia. |
cuatro decimales de precisión. Eje Z: Tres registros de datos fueron generados con 1000 datos de entrada a los cuales se asignaron los objetivos correspondientes a los movimientos descritos considerando su rango de operación como se observa en la Tabla 1. Los movimientos posibles en el eje Z se detallan a continuación: a) Inactivo: El estado donde el teléfono se encuentra en una posición neutral, lo cual implica una postura natural del operador para sostener el teléfono.
b) Aceleración (+): Implica la orden de realizar el movimiento para desplazamiento frontal del robot.
c) Aceleración (-): Posee dos interpretaciones, la primera si el robot se encuentra en movimiento frenar, la segunda orden si el robot se encuentra estático la dirección para desplazamiento del robot es en retroceso.
Eje Y: De similar forma al eje Z, tres registros de datos fueron generados con 1000 datos de entrada a los cuales se asignaron los objetivos correspondientes a los movimientos descritos considerando su rango de operación como se observa en la Tabla 2. Los movimientos posibles en el eje Y se detallan a continuación:
a) Inactivo: Permite mantener la dirección recta, se realiza cuando no existe una inclinación evidente del teléfono a un costado.
b) Giro a la derecha: Es ejecutado cuando el teléfono se encuentra notablemente inclinado al costado derecho del operador. La inclinación del teléfono se realiza en forma natural.
Tabla 1. Objetivos y rango de operación del eje Z. |
a) Giro a la izquierda: Es ejecutado cuando el teléfono se encuentra notablemente inclinado al costado izquierdo del operador.
Como se evidencia en la Tabla 1, los rangos de los datos de ingreso para el eje Z no son simétricos debido al hecho que cuando el usuario sostiene el teléfono de modo vertical, este no se posiciona perpendicular con respecto al plano Y. Para realizar esta adquisición de datos, se modificó el código original del programa sobre Matlab, para obtener los datos de cada eje de forma independiente con el fin de procesarlos posteriormente. En este punto, dos redes neuronales fueron implantadas: la primera solo para reconocer los datos de desplazamiento (con tres neuronas sobre la capa oculta) y la segunda para los datos correspondientes a movimientos de giro (dos neuronas sobre su capa oculta), el tipo de red implementada se detalla más adelante. Como se evidencia en las Tablas 1 y 2, tendremos un conjunto de datos de entrada para cada red y tres objetivos de salida.
3.2. Generación de la red neuronal
Para el diseño e implementación de las redes neuronales un análisis de varios tipos de redes existentes fue realizado con el fin de seleccionar las mejores características para este proyecto. Por consiguiente, de este análisis, se define la arquitectura para las redes neuronales a ser aplicadas.
Tabla 3. Resumen de características de las redes neuronales implementadas.
Figura 4. Red neuronal para el desplazamiento. |
Figura 5. Red neuronal para los giros.
1. Se escogió una red supervisada (Supervised Networks) la cual puede ser entrenada para producir salidas predefinidas por el usuario y es adecuada para clasificación de datos que contienen ruido.
2. De los diferentes tipos de redes supervisadas se seleccionó la red Feedforward y de entre su clasificación la red Backpropagation. [12].
3. Para la función de entrenamiento de la red se escogió TRAINLM Levenberg −Marquardt por ser generalmente la más rápida con la selección previa de red Backpropagation.
4. La función de aprendizaje LEARNGDM que emplea gradiente descendente, para la ejecución se aplica el error cuadrático medio (MSE).
5. Las funciones de transferencia deben ser continuas. Por esta razón sobre la base de [13] se escogió para la capa oculta Logsig como función de transferencia y Pureline y Tansig para las capas de salida.
Basado en las características descritas, dos redes neuronales fueron diseñadas para controlar el desplazamiento (eje Z) y los giros (eje Y ) del robot móvil usando el Neural Toolbox de Matlab. Los resultados son mostrados en la Tabla 3 y las Figuras 4 y 5. De los 6000 datos adquiridos con sus respectivas etiquetas, se decide utilizar solo 600 para realizar el entrenamiento de las redes neuronales y 120 de ellos sin etiquetar para la simulación. Las Figuras 6, 7, 8, 9 muestran las gráficas de los datos usados. Se necesitó un intervalo de tiempo igual a 300 segundos para la adquisición de datos en la función de desplazamiento, en cuanto a la función de giros el intervalo de tiempo fue menor es decir 60 segundos. Esta diferencia de tiempo se debe a la variación de los datos cuando se realizaba la posición correspondiente al desplazamiento con el teléfono inteligente.
|
Figura 6. Datos para entrenamiento de la red neuronal de desplazamiento. Eje horizontal corresponde al tiempo de captura en segundos, el eje vertical corresponde al valor de los datos del acelerómetro. Figura 7. Datos para entrenamiento de la red neuronal de giros. Eje horizontal corresponde al tiempo de captura en segundos, el eje vertical corresponde al valor de los datos del acelerómetro.
3.3. Implementación
Una vez que las redes fueron entrenadas, simuladas para verificar que los datos eran suficientes y la operación de las redes era apropiada, se incluyó en el programa de adquisición de datos las redes neuronales de desplazamiento y giros. Para aplicar las redes neuronales creadas, antes de controlar la trayectoria de un robot móvil las actividades siguientes fueron realizadas:
1. Inclusión de las redes neuronales en el programa de adquisición de datos sobre Matlab. |
|
|
[4] Y. Kimitsuka, K. Sawai, and T. Suzuki, “Development of mobile robot teleoperation system utilizing robot sesor network,” Proceedings of INSS 2008 - 5th Intertional-Conference on Networked Sensing Systems, vol. 23, no. 4,p. 250, 2008.
[5] Uribe, S. Alves, J. M. Rosario, H. F. Filho, and B. Pérez-Gutiérrez, “Mobile robotic teleoperation using gesture-based human interfaces,” 2011 IEEE 9th Latin American Robotics Symposium and IEEE Colombian Conference on Automatic Control, LARC 2011 - Conference Proceedings, 2011.
[6] H. Surmann, D. Holz, S. Blumenthal, T. Linder, P. Molitor, and V. Tretyakov, “Teleoperated Visual Inspection and Surveillance with Unmanned Ground and Aerial Vehicles,” International Journal of Online Engineering (iJOE), vol. 4, pp. 1-13, 2008.
[7] P. Vogt and J. Kuhn, “Analyzing free fall with a smartphone acceleration sensor,” The Physics Teacher, vol. 50, no. 3, pp. 182-183, 2012.
[8] Samà, C. Angulo, D. Pardo, A. Català, and J. Cabestany, “Analyzing human gait and posture by combining feature selection and kernel methods,” Neurocomputing, vol. 74, no. 16, pp. 2665-2674, 2011.
[9] G. Hache, E. D. Lemaire, and N. Baddour, “Mobility change-of-state detection using a smartphonebased approach,” 2010 IEEE International Workshop on Medical Measurements and Applications, MeMeA 2010 - Proceedings, pp. 43-46, 2010.
[10] M. Derawi, “Accelerometer-Based Gait Analysis, A survey Mohammad Omar Derawi Accelerometer Based Gait Analysis,” Norwegian Information Security Conference, no. Mv, pp. 33-45, 2010.
[11] C. Schmid. (2012) Mlconnect. [Online]. Available: http://mlconnect.chschmid.com/index.php/MainPage,2012.
[12] H. Demuth, Neural Network Toolbox TM 6 User ´ s Guide, 2000, vol. 9, no. 4.
[13] J. C. Moctezuma, “Neural network toolbox de matlab,” in Ciencias computacionales, septiembre del 2006. |