Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"

Boletín No. 71
1o. de marzo de 2019




SIMULADOR DE UN BEBÉ BASADO EN UN SISTEMA DE INFERENCIA DIFUSA

 

 

1Ing. Miguel Angel Izmaya Archundia
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
1Dra. Yesenia Eleonor González Navarro
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
2Dr. Miguel Ángel Alemán Arce
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

1Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas-IPN
2Centro de Nanociencias y Micro y Nanotecnologías-IPN

 

Resumen

En este trabajo se presenta las componentes de un simulador de bebé, que a partir de diversos sensores que registran la forma en que es tratado, se generan estadísticas que posteriormente pueden visualizarse en un teléfono inteligente mediante una aplicación móvil. El simulador inicialmente tiene diversos comportamientos previamente cargados, los cuales van cambiando con el tiempo dependiendo de los cuidados recibidos. Este cambio se hace utilizando un sistema de inferencia difusa. El sistema se implementó en una tarjeta de desarrollo BeagleBone Black.

Palabras Clave: Simulador de bebé, sistema de inferencia difusa, aplicación móvil, BeagleBone Black.

 

I. Introducción

 

De acuerdo con el INEGI [1], el porcentaje de nacimientos registrados de madres adolescentes (menores de 20 años) en México durante el 2017 fue de 17.9 %. Una acción emprendida desde hace algunos años en las escuelas de nivel básico, especialmente en las primarias, para concienciar sobre el tema a los niños y niñas es llevar a cabo una actividad de cómo sería tener un bebé. El ejercicio consiste en cuidar un huevo, el cual emula a un bebé.

Una solución más elaborada consiste en cuidar a un bebé de plástico o muñeco. En este caso se le suma realidad a esta simulación, puesto que en algunos escenarios los muñecos cuentan con acciones o comportamientos propios de un bebé, como el llanto. Incluso existen simuladores altamente sofisticados como el RealCare Baby [2], pero que de acuerdo a un portal de compras por internet su precio oscila entre los $30,000.00 M. N. y los $55,000.00 M. N., lo que hace inviable para la mayoría de escuelas públicas poder acceder a ellos.

Con el objetivo de crear un prototipo más apegado al comportamiento de un bebé real y que posea un costo más accesible, este trabajo [3] aborda el diseño e implementación de un simulador de bebé que haciendo uso de la tecnología de microcontroladores y de sensores de más realismo a este tipo de bebés simulados, añadiendo comportamientos predeterminados. Al igual que un bebé real el comportamiento cambiará con el tiempo dependiendo de cómo es tratado. La información recopilada del cuidado recibido es enviada por Bluetooth a un teléfono inteligente y puede visualizarse posteriormente.

 

II. Desarrollo

 

El sistema propuesto consiste en un microcontrolador que se comunica con diversos sensores para monitorear de forma continua el trato con el bebé simulado. Se utiliza un sistema de inferencia difusa para que el módulo de control pueda tomar decisiones y que el comportamiento del bebé se modifique con el tiempo de acuerdo al trato recibido. En el teléfono inteligente se pueden visualizar los resultados y estadísticas que procesa el simulador, esta comunicación se hace a través de Bluetooth. La Figura 1 muestra el diagrama general del sistema.

 

Figura 1. Diagrama general del sistema. El simulador está conformado por un módulo de usuario, un módulo de control y procesamiento de información y un módulo de visualización.

 

El usuario interactúa con el simulador de bebé y a través de los sensores involucrados se recopila la información a procesar por parte del módulo de control y procesamiento de información. El usuario es el adolescente o alumno. El módulo de control y procesamiento de información incluye al microcontrolador y a los sensores. Los objetivos de este módulo son:

  1. Recopilación de los datos medidos por los sensores.
  2. Programación de actividades por parte del profesor.
  3. Procesamiento de la información recopilada utilizando algoritmos de lógica difusa y toma de decisiones de comportamiento del simulador.
  4. Envío de los resultados generados por el algoritmo al módulo de visualización.

Los sensores utilizados son los siguientes:

  • Temperatura: Este funciona para detectar cambios bruscos de temperatura en determinados lapsos de tiempo, que indicarían la exposición del simulador a condiciones extremas. Emula la actividad de “Abrigar”.
  • Presión: El simulador de bebé tiene la posibilidad de reconocer si recibe o no golpes suaves en la espalda, a fin de que el usuario emule la actividad de sacar el aire del estómago de un bebé después de comer. Emula la actividad de “Eructar”.
  • IMU (Intertial Measurement Unit): La IMU mide si el simulador de bebé es arrullado de una manera correcta o si no está en una buena posición. Emula la actividad de “Arrullar”.
  • Fotosensores: Este tipo de tecnología se usa para conocer si se le ha cambiado de manera regular el pañal al bebé. Emula la actividad de “Cambio de pañal”.

Con respecto al módulo de visualización, este tiene como finalidad desplegar en un teléfono inteligente los resultados del procesamiento de la información obtenida por los sensores, para conocimiento del profesor.

 

III. Implementación

A. Actividad de “Abrigar”

 

Para considerar que el simulador está expuesto a una temperatura adecuada se propuso tomar una temperatura inicial de muestra, esta temperatura puede ser de cualquier magnitud, muy alta (alrededor de 40 °C) o muy baja (alrededor de 5 °C) por dar algunos ejemplos (limitado por el rango de funcionamiento del sensor). Posteriormente el sistema hace un promedio de temperaturas durante el tiempo definido en la actividad, si este promedio de temperatura no excede un valor preestablecido (+/- 5° C de la temperatura inicial), la actividad será calificada como aprobatoria. Este rango fue una primera propuesta y puede ser modificado de acuerdo a las necesidades de uso.

El sensor utilizado es el DS18B20 y en la Figura 2 se muestran algunas de las pruebas realizadas. La Figura 2.a muestra la curva de tiempo de respuesta del sensor al someterlo a un cambio brusco de temperatura (de temperatura ambiente se sumergió en agua caliente). De acuerdo a la gráfica, existe aproximadamente un lapso de tiempo de 30 s antes de que se estabilice la gráfica. La segunda prueba que se hizo fue someter al sensor a cambios de temperatura que fueran de frío a caliente (Figura 2.b), dejarlo un momento en frío y volverlo a someter a una temperatura caliente. Esto se hizo sumergiendo el sensor en agua fría y en agua caliente.

 

Figura 2. Curvas de respuesta en el tiempo del sensor de temperatura DS18B20. a) Tiempo de respuesta del sensor al someterlo a un cambio brusco de temperatura (de temperatura ambiente a sumergirlo en agua caliente. b) Tiempo de respuesta del sensor al someterlo a cambios bruscos en agua fría y caliente.

 

B. Actividad de “Eructar”

 

Se eligió trabajar con el sensor de presión FSR402. Ya que la actividad consiste en dar golpes en la espalda del simulador y debido a que en las pruebas realizadas la señal del sensor no era lo suficientemente sensible a las variaciones de fuerza con el que se realizaba la actividad, se propuso que el usuario obtendrá una buena calificación si los golpes que realiza están dentro de cierto rango de frecuencia, no importando la fuerza que utilice, siempre y cuando sea lo suficientemente fuerte para ser detectada pero sin llegar a provocar una señal saturada. A partir de la adquisición de la señal en el dominio del tiempo se utilizó la transformada rápida de Fourier para conocer la frecuencia de la señal.

 

C. Actividad de “Arrullar”

 

Para esta actividad se utilizó el sensor MPU6050 y para la interpretación de sus datos se implementó en Python un sistema de inferencia difusa de tipo Mamdani [4]. El sistema de inferencia se tomó por separado para cada uno de los ejes X y Y. Ya que los datos en bruto de salida de la IMU van deformándose en el tiempo (esto se debe a que la IMU toma como referencia el valor que se leyó la última vez, por lo que se forma una pendiente) fue necesario implementar un filtro que corrigiera la deformación de la señal. Se realizaron pruebas con un filtro complementario y un filtro de Kalman [5], eligiéndose el de Kalman (Figura 3).

 

Figura 3. Señal de salida de uno de los ejes de la IMU y su corrección mediante la implementación de un filtro complementario y de un filtro de Kalman.

 

Con respecto al sistema de inferencia difusa, las variables de entrada son el movimiento en el eje X y en el eje Y. La variable de salida es la calificación de arrullo. Se propusieron 5 conjuntos difusos en cada variable de entrada, lo que generó 25 reglas difusas “si-entonces”. La variable de salida se caracterizó con 3 conjuntos difusos: Baja, Media y Alta.

 

D. Actividad “Cambio de pañal”

 

Para simular que se está realizando la actividad de un cambio de pañal, se recurrió a una fotoresistencia con salida digital, el sensor utilizado fue el IM120710017. El sensor detecta el momento en el cual existe presencia de luz (con un número 0) o cuando no existe presencia de luz (con un número 1), por lo que está actividad queda cumplida en el momento en el cual el alumno quita el pañal, esta acción detonará al sensor percatándose de la presencia de luz.

 

E. Sistema de inferencia difusa para la evaluación de las actividades

 

Para esta etapa se propusieron dos sistemas de inferencia de tipo Mamdani en cascada. El primero de ellos evalúa las salidas de cada una de las actividades y emite una calificación global. Esa calificación ingresa al segundo sistema de inferencia que se encarga de generar una nueva actividad después de un determinado tiempo y con una duración establecida. El tiempo de ocurrencia de las actividades que genere está en función de la calificación que arroja el primer sistema, es decir, si la calificación es baja, lo que implica que el simulador no fue atendido previamente de manera satisfactoria, se generarán más actividades en el tiempo subsecuente. Por el contrario, si la calificación obtenida es alta, las actividades siguientes serán menos, lo que implica que el simulador está siendo cuidado de forma adecuada y únicamente se le debe seguir otorgando los cuidados correctos. El sistema se implementó en una tarjeta BeagleBone Black, utilizando el lenguaje de programación Python.

 

F. Aplicación móvil

 

Se diseñó una aplicación móvil para sistemas Android 4.0.x Ice Cream Sandwich o superior utilizando el ambiente de trabajo Ionic. Al menos debe de haber un profesor y un alumno registrados en la aplicación para su funcionamiento. La comunicación del sistema con la aplicación se realiza a través de un módulo Bluetooth RN41XVC-I/RM.

 

Referencias

 

  1. INEGI Estadísticas de natalidad (2018) Título del artículo/libro/revista/Recuperado el 29 de enero de 2019, de https://www.inegi.org.mx/temas/natalidad/ texto restante

  2. Realityworks (2019) Título del artículo/libro/revista/Recuperado el 29 de enero de 2019 de https://www.realityworks.com/products/realcare-baby texto restante

  3. Izmaya-Archundia M., et. al. (2019) Título del artículo/Simulación de un bebé real para la prevención de embarazos no deseados en adolescentes. /revista/web UPIITA-IPN. México.

  4. Jang J., Sun C., Mizutani E. (1997) Título del artículo/Neuro-Fuzzy and soft computing: A computational approach to learning and machine intelligence /revista/web (1st Edition). Ed. Prentice Hall.

  5. Vigouroux-Cavolina D. (2010) Título del artículo/Implementación de unidad de mediciones inerciales (IMU) para robótica utilizando filtro de Kalman/revista/web Universidad Simón Bolivar. Venezuela.