PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA DISEÑO DE UN CARRO DE COMPRAS BASADO EN IA CON FUNCIONALIDADES DE ACCESIBILIDAD PARA SUPERMERCADOS EN EL PERÚ Tesis para obtener el título profesional de Ingeniera Mecatrónica AUTORA: Lucía Gabriela Sarmiento Calderón ASESOR: José Guillermo Balbuena Galván Lima, Marzo, 2025 i INFORME DE SIMILITUD Yo, José Guillermo Balbuena Galván, docente de la Facultad de Ciencias e Ingeniería – Sección Mecatrónica de la Pontificia Universidad Católica del Perú, asesor de la tesis titulada “Diseño de un carro de compras basado en IA con funcionalidades de accesibilidad para supermercados en el Perú” de la autora Lucía Gabriela Sarmiento Calderón dejo constancia de lo siguiente: - El mencionado documento tiene un índice de puntuación de similitud de 11%. Así lo consigna el reporte de similitud emitido por el software Turnitin el 28/03/2025. - He revisado con detalle dicho reporte y la Tesis, y no se advierte indicios de plagio. - Las citas a otros autores y sus respectivas referencias cumplen con las pautas académicas. Lugar y fecha: San Miguel – Lima, Perú, 28 de marzo del 2025. Apellidos y nombres del asesor: Balbuena Galván, José Guillermo DNI: 74146973 Firma ORCID: https://orcid.org/0000-0002-5896-1942 https://orcid.org/0000-0002-5896-1942 ii RESUMEN Este trabajo presenta el desarrollo de un Carro de Compras Inteligente Potenciado por Inteligencia Artificial para supermercados en el Perú. Los supermercados enfrentan desafíos relacionados con la mejora de la accesibilidad, la reducción de los tiempos de espera y la personalización de la experiencia del cliente, especialmente para personas con discapacidades. En el contexto peruano, estos problemas se ven acentuados por limitaciones infraestructurales y la falta de soluciones tecnológicas en el comercio minorista. Para abordar estos retos, se propone el diseño de un Carro de Compras Inteligente diseñado para mejorar la experiencia de compra en supermercados, con un enfoque particular en la inclusión de personas con discapacidades. El sistema integra un asistente virtual basado en inteligencia artificial, cámaras para el reconocimiento de productos y un sistema de ajuste de altura adaptable, especialmente dirigido a usuarios con movilidad reducida o en silla de ruedas. El carro de compras utiliza tecnologías avanzadas para la identificación de productos, destacándose el uso de la red neuronal YOLOv8obb para la detección de códigos de barras y una red neuronal convolucional personalizada para su decodificación, alcanzando una precisión del 97.8% en condiciones de entornos reales, como cambios de iluminación y rotación de productos. La eficiencia en el procesamiento de datos, con una tasa de 0.01 frames por segundo, garantiza una experiencia fluida para los usuarios. El sistema no solo optimiza el proceso de compra mediante una navegación más accesible y recomendaciones personalizadas, sino que también mejora la eficiencia operativa al reducir los tiempos de espera en las cajas, resultando en una experiencia de compra más rápida y cómoda. Este diseño innovador destaca por su capacidad de adaptación a diversas necesidades de accesibilidad y mejora de la experiencia del cliente, posicionándose como una solución potencialmente transformadora para los supermercados en Perú y adaptable a otros países. iii DEDICATORIA A mi familia, el centro de mi motivación y quienes han sido mi guía a lo largo de la vida. En especial, a mi mamá, cuyo esfuerzo y valentía me han convertido en una mejor persona cada día. Este logro es un reflejo de su ejemplo y de los sacrificios que siempre me han inspirado a dar lo mejor de mí. iv AGRADECIMIENTOS Quiero expresar mi más profundo agradecimiento a todas las personas e instituciones que han contribuido de manera significativa a la culminación de esta tesis y a mi desarrollo académico y personal. A mi familia, por ser mi mayor fortaleza y fuente de inspiración y amor. A mis padres, por su guía constante y sacrificios; a mis hermanas, por su apoyo incondicional; a mi abuelita, por su amor y ternura infinitos; a mis tíos y primas, por su cariño y presencia en cada etapa de mi vida. En especial, a mi mamá, cuyo ejemplo de valentía, esfuerzo y dedicación ha sido una luz en mi camino, inspirándome siempre a dar lo mejor de mí. A mi asesor, por su paciencia, orientación y profesionalismo. Su dedicación y guía han sido fundamentales para alcanzar los objetivos de este trabajo. A mis profesores, por compartir su conocimiento y motivarme a superar mis propios límites. A mis compañeros, por el apoyo mutuo, las experiencias compartidas que han hecho de mi experiencia universitaria una etapa memorable de mi vida. A Julio, por estar a mi lado durante este camino. Su confianza en mí, apoyo constante y palabras de ánimo han sido un pilar fundamental para completar este proyecto. Finalmente, a todos aquellos que, con sus palabras de ánimo, consejos o gestos de apoyo, han sido parte de este proceso. Su ayuda, directa o indirecta, ha sido esencial para alcanzar este logro, y por ello les estaré siempre agradecida. v ÍNDICE INFORME DE SIMILITUD ................................................................................................... i RESUMEN ..............................................................................................................................ii DEDICATORIA ................................................................................................................... iii AGRADECIMIENTOS......................................................................................................... iv ÍNDICE .................................................................................................................................... v ÍNDICE DE TABLAS ........................................................................................................... ix ÍNDICE DE FIGURAS ......................................................................................................... xi LISTA DE ACRÓNIMOS Y ABREVIATURAS.............................................................. xvi 1. CAPÍTULO I: ANTECEDENTES ................................................................................. 1 1.1. Introducción ................................................................................................................ 1 1.2. Problemática ............................................................................................................... 2 1.3. Propuesta de solución ................................................................................................. 3 1.4. Objetivos del proyecto ................................................................................................ 4 1.4.1. Objetivo general ............................................................................................. 4 1.4.2. Objetivos específicos ..................................................................................... 4 1.5. Alcance ........................................................................................................................ 5 1.6. Metodología ................................................................................................................. 5 2. CAPÍTULO II: ESTADO DEL ARTE .......................................................................... 6 2.1. Sistemas integrales ..................................................................................................... 6 2.1.1. Amazon Dash Cart ......................................................................................... 7 2.1.2. Caper Cart ...................................................................................................... 7 2.1.3. “Líder al carro” .............................................................................................. 8 2.1.4. El carro de la compra inteligente.................................................................... 8 2.1.5. DAiVi ............................................................................................................. 8 2.1.6. Smart shopping cart system ........................................................................... 9 2.1.7. Tabla comparativa de sistemas integrales ...................................................... 9 2.2. Subsistema de interacción humano-robot .............................................................. 10 2.2.1. Sistema basado en Diálogos Multimodales y Adaptables ............................ 10 2.2.2. Sistema basado en voz para el entrenamiento de comportamientos............. 10 2.2.3. Gesture Based Remote System Using Kinect .............................................. 11 2.2.4. An Augmented Reality Interface in Unconstrained Environments .............. 11 2.2.5. Smart Shopping Trolley Using Sign Language ............................................ 12 2.2.6. Tabla comparativa de sistemas de interacción humano-robot ...................... 12 2.3. Subsistema mecánico ................................................................................................ 13 vi 2.3.1. Carros de compra estándares ........................................................................ 13 2.3.2. Carros de compra para usuarios con sillas de ruedas ................................... 14 2.3.3. Carros de compra para personas mayores .................................................... 14 2.3.4. Tabla comparativa de sistemas mecánicos ................................................... 15 2.4. Subsistema de elevación ........................................................................................... 15 2.4.1. Mesa elevadora tipo tijera simple................................................................. 15 2.4.2. Escritorio graduable manualmente ............................................................... 16 2.4.3. Mesa graduable con accionamiento neumático ............................................ 16 2.4.4. Escritorio graduable con accionamiento eléctrico........................................ 17 2.4.5. Escritorio regulable accionado manualmente .............................................. 17 2.4.6. Tabla comparativa de sistemas de elevación ................................................ 17 3. CAPÍTULO III: DISEÑO CONCEPTUAL ................................................................ 18 3.1. Requerimientos del sistema ..................................................................................... 18 3.2. Definición de entradas y salidas .............................................................................. 21 3.3. Estructura de funciones ........................................................................................... 22 3.4. Matriz morfológica ................................................................................................... 23 3.5. Concepto de solución óptimo ................................................................................... 25 3.6. Diagrama de flujo ..................................................................................................... 25 3.7. Diagrama de operaciones ......................................................................................... 29 3.8. Diagrama de bloques ................................................................................................ 30 4. CAPÍTULO IV: DISEÑO DE HARDWARE .............................................................. 31 4.1. Subsistema de control .............................................................................................. 31 4.2. Subsistema de interacción ........................................................................................ 32 4.2.1. Obtención de inputs del usuario ................................................................... 32 4.2.2. Respuesta al usuario ..................................................................................... 35 4.3. Subsistema de compra de productos....................................................................... 36 4.3.1. Identificación de productos .......................................................................... 36 4.3.2. Desplazamiento vertical de la cesta de compras .......................................... 40 4.4. Subsistema de navegación ........................................................................................ 40 4.5. Subsistema mecánico ................................................................................................ 43 4.5.1. Diseño mecánico del subsistema de carga de peso ...................................... 43 4.5.2. Análisis de resistencia del subsistema de soporte de carga .......................... 46 4.5.3. Mecanismo de modificación de cesta de compras ....................................... 47 4.5.4. Disposición de ruedas del carro de compras ................................................ 49 4.5.5. Elevación y descenso de la cesta de compras .............................................. 50 4.5.6. Enganche a sillas de ruedas .......................................................................... 57 4.6. Subsistema de energía .............................................................................................. 57 vii 4.6.1. Cálculos energéticos y selección de componentes ....................................... 57 4.6.2. Alimentación y conexiones del sistema integral .......................................... 60 4.7. Sistema integral ........................................................................................................ 63 4.8. Planos mecánicos y electrónicos .............................................................................. 64 5. CAPÍTULO V: DISEÑO DE SOFTWARE ................................................................. 65 5.1. Arquitectura del sistema .......................................................................................... 65 5.2. Diseño de software y tecnologías implementadas .................................................. 66 5.3. Subsistema de interacción ........................................................................................ 67 5.3.1. Interfaz de usuario ........................................................................................ 67 5.3.2. Captura de la voz del usuario ....................................................................... 68 5.3.3. Procesamiento de respuesta al usuario ......................................................... 69 5.3.4. Generación de respuestas audibles ............................................................... 72 5.4. Subsistema de navegación ........................................................................................ 73 5.4.1. Planificación de rutas ................................................................................... 73 5.5. Subsistema de compra de productos....................................................................... 77 5.5.1. Identificación de productos .......................................................................... 77 5.5.2. Decodificación de códigos de barras ............................................................ 83 5.6. Integración de software ............................................................................................ 88 6. CAPÍTULO V: PRESUPUESTO ................................................................................. 91 6.1. Costo de fabricación ................................................................................................. 91 6.1.1. Costo de componentes mecánicos ................................................................ 91 6.1.2. Costo de componentes electrónicos ............................................................. 92 6.1.3. Costo total de fabricación ........................................................................................ 92 6.2. Costo de software...................................................................................................... 92 6.2.1. Costo del modelo de lenguaje ...................................................................... 93 6.2.2. Costo de la API de voz ................................................................................. 93 6.2.3. Costo total de software ................................................................................. 93 CONCLUSIONES ................................................................................................................ 94 RECOMENDACIONES Y TRABAJO A FUTURO ......................................................... 95 BIBLIOGRAFÍA .................................................................................................................. 96 ANEXOS ............................................................................................................................. 101 ANEXO A: Lista de requerimientos ............................................................................... 101 ANEXO B: Estructura de funciones ............................................................................... 104 B.1 Dominio Energía .............................................................................................. 104 B.2 Dominio Mecánico ........................................................................................... 104 B.3 Dominio Sensores ............................................................................................. 105 B.4 Dominio Procesamiento y control .................................................................... 106 viii B.5 Dominio Actuadores ......................................................................................... 107 B.6 Dominio Interfaz .............................................................................................. 108 B.7 Dominio Comunicación.................................................................................... 108 ANEXO C: Matriz morfológica ....................................................................................... 109 Subsistema de compra de productos ....................................................................... 109 Subsistema de interacción humano-robot ............................................................... 110 Subsistema de navegación ....................................................................................... 112 Subsistema de energía ............................................................................................. 113 Subsistema mecánico .............................................................................................. 113 ANEXO D: Conceptos de solución .................................................................................. 115 Concepto de solución 1 ........................................................................................... 115 Concepto de solución 2 ........................................................................................... 117 Concepto de solución 3 ........................................................................................... 118 ANEXO E: Evaluación técnica-económica ..................................................................... 120 Criterios técnicos ..................................................................................................... 120 Criterios económicos ............................................................................................... 124 ANEXO F: Base de datos de pruebas.............................................................................. 127 ANEXO G: Reconocimiento de códigos de barra con librerías comerciales ............... 129 ANEXO H: Pruebas de lectura de códigos de barra ..................................................... 136 ANEXO I: Coordenadas de llegada de usuario dentro del mapa de la tienda ............ 138 ANEXO J: Datasheets ...................................................................................................... 140 J.1. Nucleo STM32F446RE .................................................................................... 140 J.2. Jetson Xavier NX.............................................................................................. 141 J.3. Micrófono MX395 ............................................................................................ 142 J.4. Pantalla Punto Cuántico QLED 10,1pulg ......................................................... 143 J.5. Pi Camara Module 3 ......................................................................................... 144 J.6. Escáner fijo FM430 Barracuda ......................................................................... 146 J.7. Sensor de distancia TOF VL53L1X ................................................................. 148 J.8. Sensor de ultrasonido HC-SR04 ....................................................................... 149 J.9. Brushless DC gear Motor with driver kits ........................................................ 150 J.10. Li-ion 20000 5S4P 18v Battery Pack ............................................................. 151 ANEXO K: Planos mecánicos .............................................................................................. 1 ANEXO L: Plano electrónico ............................................................................................. 60 ix ÍNDICE DE TABLAS Tabla 2.1 Comparación de características de sistemas integrales ........................................................... 9 Tabla 2.2 Comparación de características de sistemas de interacción humano-robot .......................... 13 Tabla 2.3 Comparación de características de sistemas mecánicos........................................................ 15 Tabla 2.4 Comparación de características de sistema de elevación ...................................................... 18 Tabla 3.1 Matriz morfológica de los conceptos de solución ................................................................. 23 Tabla 4.1 Tabla comparativa microcontroladores ................................................................................. 31 Tabla 4.2 Tabla comparativa de procesadores ...................................................................................... 32 Tabla 4.3 Tabla comparativa micrófonos dinámicos ........................................................................... 32 Tabla 4.4 Tabla comparativa de pantallas táctiles ............................................................................... 33 Tabla 4.5 Tabla comparativa de altavoces ............................................................................................ 35 Tabla 4.6 Tabla comparativa de cámaras ............................................................................................. 36 Tabla 4.7 Tabla comparativa de módulos adaptadores multicámara .................................................... 37 Tabla 4.8 Tabla comparativa de sensores de peso ................................................................................ 38 Tabla 4.9 Tabla de detalles técnicos del módulo HX711 ...................................................................... 38 Tabla 4.10 Tabla comparativa de lectores de código de barras ............................................................ 39 Tabla 4.11 Tabla comparativa de sensores de distancia ....................................................................... 40 Tabla 4.12 Tabla comparativa de sensores de final de carrera ............................................................. 40 Tabla 4.13 Tabla comparativa dispositivos UWB ................................................................................ 41 Tabla 4.14 Tabla comparativa de sensores de ultrasonido .................................................................... 42 Tabla 4.15 Tabla comparativa de materiales para fabricación de la cesta ............................................ 43 Tabla 4.16 Tabla comparativa de motores ............................................................................................ 55 Tabla 4.17 Tabla comparativa de baterías ............................................................................................ 58 Tabla 4.18 Tabla comparativa de sistemas de gestión de baterías ........................................................ 58 Tabla 4.19 Tabla comparativa de relés ................................................................................................. 59 Tabla 4.20 Tabla comparativa de convertidores de voltaje ................................................................... 59 Tabla 4.21 Tabla comparativa de sensores de voltaje ........................................................................... 60 Tabla 4.22 Listado de planos mecánicos .............................................................................................. 64 Tabla 5.1 Tabla comparativa de APIs de reconocimiento de voz ......................................................... 68 Tabla 5.2 Tabla comparativa de modelos de lenguaje .......................................................................... 69 Tabla 5.3 Tabla comparativa de APIs de texto a voz ............................................................................ 72 Tabla 5.4 Tabla comparativa de redes neuronales ................................................................................ 78 Tabla 5.5 Dataset con data augmentation ............................................................................................. 85 Tabla 5.6 Tabla comparativa de reconocimiento de códigos de barras – Experimento 1 .................... 87 Tabla 5.7 Tabla comparativa de reconocimiento de códigos de barras – Experimento 2 .................... 88 Tabla 6.1 Costo de componentes mecánicos ........................................................................................ 91 x Tabla 6.2 Costo de componentes electrónicos ...................................................................................... 92 Tabla 6.3 Costo unitario de fabricación ............................................................................................... 92 Tabla 6.4 Resumen de costos estimados ............................................................................................... 93 Tabla E.1 Evaluación técnica de los conceptos de solución ............................................................... 125 Tabla E.2 Evaluación económica de los conceptos de solución ......................................................... 126 Tabla G.1 Tabla de análisis de decodificación con OpenCV Barcode Detector ................................. 129 Tabla G.2 Tabla de análisis de decodificación con PyZbar ............................................................... 132 Tabla H.1 Tabla comparativa de redes ............................................................................................... 136 xi ÍNDICE DE FIGURAS Figura 1.1 Perú: población censada según el tipo de discapacidad ........................................................ 2 Figura 2.1 Dash Cart ............................................................................................................................... 7 Figura 2.2 Caper Cart 3 ........................................................................................................................... 7 Figura 2.3 Carro “Líder al carro” ............................................................................................................ 8 Figura 2.4 Carro de la compra inteligente .............................................................................................. 8 Figura 2.5 Modelo del carro DaiVi ......................................................................................................... 9 Figura 2.6 Niveles de fusión multimodal .............................................................................................. 10 Figura 2.7 Flujo de ejecución de un comando ...................................................................................... 11 Figura 2.8 Software GUI ...................................................................................................................... 11 Figura 2.9 Selección de punto final por parte del usuario ..................................................................... 12 Figura 2.10 Arquitectura del carro de compras inteligente ................................................................... 12 Figura 2.11 Carro de compras de 210 kg con medidas en mm ............................................................. 13 Figura 2.12 Carro de compras de 85 kg ................................................................................................ 13 Figura 2.13 Carro de compras para usuarios con silla de ruedas .......................................................... 14 Figura 2.14 Comparación entre modelos para sillas de ruedas ............................................................. 14 Figura 2.15 Persona mayor haciendo uso del asiento del carro de compras ......................................... 14 Figura 2.16 Características del carro de compra para personas adultas ................................................ 15 Figura 2.17 Mecanismo tijera accionamiento electrohidráulico ........................................................... 16 Figura 2.18 Mecanismo tijera accionamiento electrohidráulico ........................................................... 16 Figura 2.19 Mesa graduable neumáticamente ....................................................................................... 17 Figura 2.20 Escritorio graduable accionado eléctricamente ................................................................. 17 Figura 2.21 Escritorio con manilla regulable ........................................................................................ 17 Figura 3.1 Diagrama Black Box ........................................................................................................... 21 Figura 3.2 Estructura de funciones ....................................................................................................... 22 Figura 3.3 Diagrama de flujo general del sistema................................................................................. 26 Figura 3.4 Diagrama de flujo de la función Inicializar_sistema ........................................................... 27 Figura 3.5 Diagrama de flujo de la función Añadir_productos ............................................................ 27 Figura 3.6 Diagrama de flujo de la función Activar_discapacidad_visual .......................................... 27 Figura 3.7 Diagrama de flujo de la función Identificar_mensaje .......................................................... 28 Figura 3.8 Diagrama de flujo de la función Formular_respuesta ......................................................... 28 Figura 3.9 Diagrama de flujo de la función Elevar/descender_cesta .................................................... 28 Figura 3.10 Diagrama de flujo de la función Pagar_productos............................................................. 29 Figura 3.11 Diagrama de operaciones ................................................................................................... 29 Figura 3.12 Diagrama de bloques ......................................................................................................... 30 Figura 4.2.1 Ángulos de flexión e inclinación al utilizar una pantalla.................................................. 33 xii Figura 4.2.2 Diagrama de posición corporal al visualizar la pantalla ................................................... 34 Figura 4.2.3 Dimensiones según la inclinación de la pantalla .............................................................. 34 Figura 4.2.4 Campos de visión y ángulos de rotación del ser humano ................................................. 34 Figura 4.2.5 Campo de visión del usuario para observar la pantalla .................................................... 35 Figura 4.2.6 Geometría del campo de visión del usuario para observar la pantalla .............................. 35 Figura 4.2.7 Diagrama de conexiones del subsistema de interacción ................................................... 36 Figura 4.3.1 Campo de visión de las cámaras en el borde de la cesta................................................... 37 Figura 4.3.2 Diagrama de la base de la cesta de compras ..................................................................... 39 Figura 4.3.3 Ubicación de los sensores de peso en el ensamble general .............................................. 39 Figura 4.3.4 Diagrama conexiones entre celdas de carga y módulo HX711 ........................................ 39 Figura 4.4.1 Integración de dispositivos para localización UWB ......................................................... 41 Figura 4.4.2 Eficiencia de medida de acuerdo con el ángulo HC-SR04 ............................................... 42 Figura 4.4.3 Distribución lineal de sensores de ultrasonido ................................................................. 42 Figura 4.4.4 Distribución con giro de sensores de ultrasonido ............................................................. 43 Figura 4.5.1 Diagrama de cuerpo libre de la base de la cesta .............................................................. 44 Figura 4.5.2 Diagrama de cuerpo libre de la base en el plano XY........................................................ 44 Figura 4.5.3 Subsistema que soporta el peso de las compras ................................................................ 45 Figura 4.5.4 Diagrama de deformación debido al peso ........................................................................ 45 Figura 4.5.5 Diagrama de esfuerzos debido al peso.............................................................................. 45 Figura 4.5.6 Análisis del factor de seguridad ........................................................................................ 46 Figura 4.5.7 Análisis de la deformación del tornillo sin fin .................................................................. 46 Figura 4.5.8 Análisis del factor de seguridad del tornillo sin fin .......................................................... 46 Figura 4.5.9 Mecanismo elevador de tijera ........................................................................................... 47 Figura 4.5.10 Dimensiones mecanismo elevador de tijera ................................................................... 47 Figura 4.5.11 Partes de un ball plunger ................................................................................................ 48 Figura 4.5.12 Cálculo de desenganche émbolo de bola ........................................................................ 48 Figura 4.5.13 Proyecciones del émbolo de bola ................................................................................... 49 Figura 4.5.14 Selección de émbolo de bola comercial ......................................................................... 49 Figura 4.5.15 Disposición de ruedas en la base del carro ..................................................................... 49 Figura 4.5.16 Giro con menor diámetro ................................................................................................ 50 Figura 4.5.17 Extracto de módulos y pasos unificados norma ISO 4156 ............................................. 51 Figura 4.5.18 Análisis de torque en tornillo sin fin .............................................................................. 51 Figura 4.5.19 Diagrama de cuerpo libre de flancos del tornillo sin fin ............................................... 51 Figura 4.5.20 Especificaciones de tornillos sin fin .............................................................................. 53 Figura 4.5.21 Sección de catálogo de screw gears ................................................................................ 54 Figura 4.5.22 Sistema de elevación ...................................................................................................... 55 Figura 4.5.23 Pieza de sujeción entre cesta y sistema de elevación ..................................................... 56 xiii Figura 4.5.24 Estructura de Sistema de elevación ................................................................................ 56 Figura 4.5.25 Vista isométrica - Carcasa del sistema de elevación ...................................................... 56 Figura 4.5.26 Vista en sección - Carcasa del sistema de elevación ...................................................... 56 Figura 4.5.27 Acople a silla de ruedas .................................................................................................. 57 Figura 4.5.28 Montaje de acoples de silla de ruedas en el carro de compras ....................................... 57 Figura 4.6.1 Cálculos de potencia ......................................................................................................... 57 Figura 4.6.2 Diagrama de conexiones ................................................................................................... 60 Figura 4.6.3 Conexión de pines del adaptador a y la Raspberry ........................................................... 61 Figura 4.6.4 Configuración de pines ..................................................................................................... 61 Figura 4.6.5 Pines de Jetson Xavier NX ............................................................................................... 61 Figura 4.6.6 Diagrama esquemático de shield de Jetson Xavier NX .................................................... 62 Figura 4.6.7 Board de shield y shield para Jetson Xavier NX .............................................................. 62 Figura 4.6.8. Diagrama esquemático de shield del microcontrolador ................................................... 62 Figura 4.6.9 Board de shield para el microcontrolador ........................................................................ 63 Figura 4.7.1 Sistema utilizado por usuarios .......................................................................................... 63 Figura 4.7.2 Partes del sistema integrado ............................................................................................. 63 Figura 4.7.3 Visualización de componentes internos a la carcasa ........................................................ 64 Figura 5.1.1 Arquitectura del sistema ................................................................................................... 66 Figura 5.3.1 Pestaña de Lista de Compras y pestaña de Productos en la interfaz ................................. 67 Figura 5.3.2 Pestaña de Guía y pestaña de Promociones en la interfaz ................................................ 68 Figura 5.3.3 Pestaña de Ayuda en la interfaz ........................................................................................ 68 Figura 5.3.4 Flujo prompting ................................................................................................................ 70 Figura 5.3.5 Ejemplo 1 de prompting con información de la Base de Datos ....................................... 71 Figura 5.3.6 Ejemplo 2 de prompting con información de la Base de Datos ........................................ 71 Figura 5.3.7 Ejemplo 3 de prompting con información de la Base de Datos ........................................ 72 Figura 5.3.8 Ejemplo 4 de prompting con información de la Base de Datos ........................................ 72 Figura 5.4.1 Nodos candidatos a siguiente posición ............................................................................. 73 Figura 5.4.2 Mapa del supermercado .................................................................................................... 73 Figura 5.4.3 Cuadrícula de mapa del supermercado y ruta óptima ....................................................... 73 Figura 5.4.5 Mapa de supermercado para pruebas de software ............................................................ 74 Figura 5.4.6 Binarización de mapa de supermercado para pruebas de software .................................. 75 Figura 5.4.7 Prueba inicial de generación de rutas ............................................................................... 76 Figura 5.4.8 Prueba con algoritmo final de planificación de rutas ....................................................... 76 Figura 5.4.9 Interfaz para pruebas de planificación de rutas ................................................................ 76 Figura 5.4.10 Prueba de generación de rutas ........................................................................................ 77 Figura 5.5.1 Muestras del dataset de entrenamiento con máscara de segmentación ............................ 78 Figura 5.5.2 Curvas de precisión y pérdida del modelo con DeepLabV3 ........................................... 78 xiv Figura 5.5.3 Test de red entrenada con DeepLabV3 ............................................................................. 79 Figura 5.5.4 Geometría del campo de visión del usuario para observar la pantalla ............................. 79 Figura 5.5.5 Comparación de YOLOv8 con sus predecesores ............................................................. 79 Figura 5.5.6 Labeling del dataset propio ............................................................................................... 80 Figura 5.5.7 Curvas de precisión y recall del modelo entrenado con YOLOv8 ................................... 80 Figura 5.5.8 Ejemplo de rotación correcta del código de barras ........................................................... 80 Figura 5.5.9 Ejemplo de rotación aceptable del código de barras......................................................... 80 Figura 5.5.10 Ejemplos de rotación errónea del código de barras ........................................................ 81 Figura 5.5.11 Etiquetado de dataset – Producto rígido con código inclinado ....................................... 81 Figura 5.5.12 Etiquetado de dataset – Producto rígido con código con forma personalizada ............. 81 Figura 5.5.13 Etiquetado de dataset – Producto rígido con código invertido verticalmente ............... 81 Figura 5.5.14 Transformación de labels para YOLOv8 OBB .............................................................. 82 Figura 5.5.15 Resultados del entrenamiento de YOLOv8 OBB ........................................................... 82 Figura 5.5.16 Curvas de precisión y recall del entrenamiento de YOLOv8 OBB ............................... 82 Figura 5.5.17 Pruebas con la red de YOLOv8 OBB entrenada ............................................................ 82 Figura 5.5.18 Ejemplo de reconocimiento con OpenCV Barcode Detector ........................................ 83 Figura 5.5.19 Ejemplo de reconocimiento con Pyzbar ......................................................................... 83 Figura 5.5.20 Ejemplos del dataset para la CNN propia ....................................................................... 84 Figura 5.5.21 Imágenes del dataset tomadas en variedad de condiciones ............................................ 84 Figura 5.5.22 Dataset aumentado .......................................................................................................... 85 Figura 5.5.23 Arquitectura de red propia .............................................................................................. 86 Figura 5.5.24 Pruebas de reconocimiento con CNN propia .................................................................. 86 Figura 5.5.25 Identificación y reconocimiento de códigos de barras del sistema ................................. 87 Figura 5.5.26 Reconocimiento de productos según su velocidad de caída ........................................... 88 Figura 5.6.1 Pruebas de reconocimiento de productos ........................................................................ 88 Figura 5.6.2 Simulación de ingreso de productos ................................................................................. 89 Figura 5.6.3 Búsqueda de información de productos ............................................................................ 90 Figura 5.6.4 Guía y localización en el local .......................................................................................... 90 Figura 5.6.5 Búsqueda de promociones ................................................................................................ 90 Figura 5.6.6 Asistencia dentro del local ................................................................................................ 90 Figura B.1 Dominio Energía ............................................................................................................... 104 Figura B.2 Dominio Mecánico............................................................................................................ 104 Figura B.3 Dominio Sensores ............................................................................................................. 105 Figura B.4 Dominio Procesamiento y control .................................................................................... 106 Figura B.5 Dominio Actuadores ......................................................................................................... 107 Figura B.6 Dominio Interfaz .............................................................................................................. 108 Figura B.7 Dominio Comunicación .................................................................................................... 108 xv Figura D.1 Concepto de solución 1 ..................................................................................................... 116 Figura D.2 Localización por Wi-Fi del concepto de solución 1 ......................................................... 116 Figura D.3 Concepto 1 adaptado a personas con sillas de ruedas ....................................................... 116 Figura D.4 Concepto de solución 2 ..................................................................................................... 117 Figura D.5 Localización por Wi-Fi del concepto de solución 2 ......................................................... 118 Figura D.6 Concepto 2 adaptado a personas con sillas de ruedas ....................................................... 118 Figura C.7 Concepto de solución 3 ..................................................................................................... 119 Figura C.8 Localización por UWB del concepto de solución 3 .......................................................... 119 Figura C.9 Concepto 3 adaptado a personas con sillas de ruedas ....................................................... 120 Figura E.1. Concepto 3 adaptado a personas con sillas de ruedas ...................................................... 126 Figura F.1 Base de datos para pruebas de software ............................................................................ 127 Figura F.2 Muestras de la base de datos de pruebas ........................................................................... 127 Figura F.3 Validación de sentencias SQL 1 ........................................................................................ 128 Figura F.4 Validación de sentencias SQL 2 ........................................................................................ 128 Figura F.5 Validación de sentencias SQL 3 ........................................................................................ 128 xvi LISTA DE ACRÓNIMOS Y ABREVIATURAS Acrónimo / Abreviatura Significado API Interfaz de Programación de Aplicaciones (Application Programming Interface) BMS Sistema de Gestión de Baterías (Battery Management System) CNN Red Neuronal Convolucional (Convolutional Neural Network) FEA Análisis por Elementos Finitos (Finite Element Analysis) GPU Unidad de Procesamiento Gráfico (Graphics Processing Unit) HDPE Polietileno de Alta Densidad (High-Density Polyethylene) HRI Interacción Humano-Robot (Human-Robot Interaction) HTTP Protocolo de Transferencia de Hipertexto (Hypertext Transfer Protocol) IA Inteligencia Artificial INEI Instituto Nacional de Estadística e Informática OBB Cuadro Delimitador Orientado (Oriented Bounding Box) OCR Reconocimiento Óptico de Caracteres (Optical Character Recognition) PCB Placa de Circuito Impreso (Printed Circuit Board) POS Punto de Venta (Point of Sale) RFID Identificación por Radiofrecuencia (Radio-Frequency Identification) RPM Revoluciones por Minuto (Revolutions Per Minute) TTS Conversión de Texto a Voz (Text to Speech) UWB Banda Ultraancha (Ultra-Wideband) YOLO You Only Look Once (Algoritmo de detección de objetos) 1 1. CAPÍTULO I: ANTECEDENTES 1.1. Introducción Los supermercados en el Perú cumplen un rol fundamental en la sociedad y economía del país, pues ofrecen bienes de consumo indispensables para la población como alimentos, productos de limpieza y vestimenta. En el país, el mayor volumen de ventas de los supermercados lo tiene el sector de alimentos y bebidas (Instituto Nacional de Estadística e Informática, 2022). Es imprescindible para los supermercados comprender las necesidades de los consumidores y su comportamiento de compra para poder establecer políticas e implementar herramientas que permitan satisfacerlos. Además, es importante tener en cuenta que el comportamiento de compra de los consumidores está en constante cambio, por lo que es necesario que estos establecimientos tengan la capacidad de adaptarse rápidamente a estos (Pasamón, 2020). Debido al confinamiento y aislamiento social por la pandemia de COVID-19, el sector retail, dentro del cual se encuentran los supermercados, tuvo que impulsar su transformación digital para poder conectar con los consumidores. Esta transformación, en conjunto con las restricciones de movilidad y aislamiento impuestas para prevenir la propagación del virus, generaron una adopción masiva del comercio electrónico por parte de los ciudadanos en el país (Mercado Negro, 2021). A raíz de ello, se produjo un cambio significativo en el comportamiento de compra de los consumidores, quienes pasaron de un rol pasivo a demandar autenticidad, novedad, conveniencia y creatividad en su experiencia de compra (Pasamón, 2020). En este nuevo escenario, en el cual el comercio electrónico ya es parte de la vida de los peruanos, se debe de encontrar la sinergia entre este y la compra en la tienda física, pues el objetivo es brindar una experiencia única al cliente independientemente del medio utilizado para realizar la compra. No se trata de una competencia entre offline u online, sino de fidelizar al consumidor y brindarle acompañamiento durante toda su experiencia de compra (Pasamón, 2021). Esta sinergia es crucial en el país, pues si bien ha existido un gran crecimiento del comercio electrónico, existe un gran volumen de peruanos que prefiere las compras en tiendas físicas o utiliza el medio online para informarse y luego realizar las compras en el local, por lo que ambos canales deben de estar disponibles para el cliente. En especial en el sector alimenticio, pues según un reporte realizado por la consultora Arellano, el 90% de peruanos prefiere comprar sus alimentos de manera presencial en el local (Arellano Consultoría, 2021). Por ello, los supermercados deben de adaptarse a este nuevo comportamiento de compra y a las necesidades de la población, así como comenzar a utilizar la tecnología como su aliada para la transformación e inclusión social. 2 1.2. Problemática En el Perú, los supermercados enfrentan 3 barreras importantes, que son accesibilidad, inmediatez y atención personalizada al cliente (Ministerio de Relaciones Exteriores, 2022), las cuales deben de superar para mantenerse vigentes en el mercado y fidelizar a sus actuales y futuros clientes. En primer lugar, la accesibilidad debe ser un pilar fundamental en nuestra sociedad, pues de acuerdo con el Censo Nacional del 2017, existen 3 209 261 personas con discapacidad, lo cual representa el 10.3% del total de la población, en donde las personas mayores a 60 años representan el mayor volumen de esta población con un 40.5%. A partir de este informe, se conoce que la discapacidad que predomina en el país es la discapacidad visual, la cual afecta al 48.3% del total de población con discapacidad como se puede observar en la Figura 1.1. (INEI, 2018). Por ello, ha cobrado gran relevancia la importancia de hacer los lugares públicos accesibles para personas con discapacidad para poder satisfacer las necesidades de todas las personas por igual (Yılmaz, 2018). Sin embargo, actualmente las personas con discapacidad en el país encuentran distintas barreras para desenvolverse autónomamente en distintos lugares públicos como los supermercados debido a la infraestructura, estereotipos y barreras de comunicación (Inclulab & Ciudades Cómo Vamos, 2021). Un estudio realizado en Irlanda evidenció que el 95% de las personas con discapacidad visual experimentaban dificultades para leer el etiquetado de los productos en los supermercados y al 96% se le dificultaba ubicar los productos en los pasillos, por lo que dependían de alguna persona para encontrar los artículos que buscaban (Khattab et al., 2015). Los supermercados deben de implementar herramientas que les permitan brindar un servicio de calidad a todas las personas y permitirles un desenvolvimiento independiente dentro del establecimiento. Figura 1.1 Perú: población censada según el tipo de discapacidad (Instituto Nacional de Estadística e Informática, 2018) En segundo lugar, la inmediatez en los supermercados, la cual hace referencia a el tiempo de espera en las colas de compra es un reto con el que han lidiado desde hace ya varios años, pues afecta directamente la satisfacción del cliente y a los ingresos de la empresa. Según un estudio de American Customer Satisfaction Index (ACSI), clientes que esperan un largo tiempo en cola están 18% menos satisfechos con la experiencia, son menos propensos a regresar al establecimiento y cuentan a otros su mala experiencia, por lo que el nombre del supermercado se ve afectado negativamente (NEMO-Q, 2022). 3 Asimismo, la espera en colas ha generado grandes pérdidas en el sector retail, debido al abandono de compra debido al largo tiempo de espera. De acuerdo con un informe realizado por Zippin, en este tiempo de post-pandemia, es menos probable que un cliente espere un largo tiempo en las colas. Por ello, desde la reactivación de las actividades económicas, se han perdido 555 millones de dólares en el sector retail por el abandono de compras por largas filas (Libby Spicer & Zippin, 2023). Es necesario que los supermercados tomen acciones y busquen herramientas que les permitan reducir el tiempo de espera para el pago de compras para evitar pérdidas económicas y mejorar la satisfacción de los clientes, lo cual a su vez influirá en su lealtad y elevará el retorno de estos al local. Finalmente, la atención personalizada se ha convertido en un factor indispensable dentro de las tiendas del sector retail, pues los consumidores ahora son mucho más exigentes durante su experiencia de compra (Cámara Peruana de Comercio Electrónico, 2021). Además, una de las demandas de los clientes que más resalta en las encuestas e investigaciones es la necesidad de tener una experiencia de compra única y personalizada en las tiendas físicas. Se debe de convertir el tiempo dentro del local en un espacio donde el cliente explore los productos y cuente con servicios personalizados. En especial, en el sector alimenticio en otros países, la incorporación de tecnologías emergentes dentro de la tienda física ha mejorado la experiencia de compra para los clientes (Pasamón, 2021). En base a las tres barreras previamente mencionadas (accesibilidad, inmediatez y atención personalizada), se evidencia la necesidad de los supermercados peruanos de implementar soluciones eficientes y accesibles a todas las personas, pues en el país actualmente no se cuentan con tecnologías o herramientas para personas necesidades especiales dentro de los supermercados. De manera global, la gran mayoría de carros inteligentes desarrollados e implementados en supermercados garantizan una mejor experiencia de compra a personas sin ningún tipo de discapacidad; sin embargo, no se enfocan en la accesibilidad del producto. Esto ocasiona que al sector de la población con alguna discapacidad se le dificulte la compra al no contar con herramientas durante su experiencia. 1.3. Propuesta de solución En el presente trabajo, se propone el diseño de un carro de compras inteligente para supermercados peruanos, con el objetivo de satisfacer las necesidades del consumidor en el periodo post pandemia e impulse la transformación digital dentro de estos establecimientos en el contexto del sector retail. Por estos motivos, el carro de compras permitirá brindar asistencia personalizada durante todo el proceso de compra y reducirá el tiempo de espera en colas al agilizar el proceso de pago. Además, el dispositivo se adaptará para garantizar el acceso universal a distintos tipos de usuario como son las personas con discapacidad auditiva, visual parcial o motora (silla de ruedas). 4 1.4. Objetivos del proyecto 1.4.1. Objetivo general El presente trabajo de tesis tiene como objetivo realizar el diseño integral de un carro de compras inteligente para los supermercados en el Perú mediante la integración de tecnologías de inteligencia artificial y automatización. El sistema debe brindar una experiencia de compra personalizada mediante asistencia visual y por voz, escanear productos automáticamente con alta precisión al ingresarlos en el carro y permitir el pago en el mismo al finalizar la compra. Además, debe garantizar la accesibilidad al adaptarse a las necesidades de personas con discapacidades auditivas, visuales y motrices, proporcionando herramientas que les permitan una compra independiente. 1.4.2. Objetivos específicos • Realizar una revisión del estado del arte relacionado a tecnologías de asistencia de compras en supermercados. • Realizar un diseño conceptual de un carro de compras inteligente y adaptable a las necesidades de las personas con discapacidad auditiva, visual parcial y motora con sillas de ruedas. • Realizar el diseño mecánico del sistema utilizando cálculos que garanticen su correcto funcionamiento de acuerdo con los requerimientos establecidos y asegurando que cumpla con los estándares de ergonomía y funcionalidad. • Realizar el diseño electrónico del sistema utilizando cálculos de tal manera que permita el adecuado funcionamiento de los componentes electrónicos de acuerdo con los requerimientos del sistema. • Diseñar estrategias de control que garanticen el adecuado funcionamiento y una configuración sencilla e intuitiva del sistema permitiendo una interacción fluida por parte de los usuarios, independientemente de sus capacidades físicas. • Implementar algoritmos de planificación de rutas para la guía a productos dentro del supermercado con localización de obstáculos. • Desarrollar algoritmos de IA que permitan detectar y decodificar códigos de barra de productos para el reconocimiento cuando ingresan al carro de compras. • Diseñar una interfaz de interacción humano-robot que permita establecer una comunicación bidireccional adecuada con los clientes de manera visual y auditiva. • Determinar los costos de fabricación del carro de compras inteligente considerando la viabilidad comercial de su implementación en supermercados peruanos. 5 1.5. Alcance El presente trabajo abarca el diseño integral de un carro de compras inteligente para supermercados en Perú cuyos pasillos cumplan con el Reglamento Nacional de Edificación. Este establece que el ancho mínimo de los pasillos en locales comerciales debe ser de 1.20 metros (Resolución Ministerial N° 061- 2021-VIVIENDA, 2021), debido a que esto permitirá el paso del carro sin inconvenientes dentro del local y garantizará que, si se presenta alguna emergencia dentro del supermercado, los carros no sean un impedimento para la evacuación del local. El carro de compras propuesto debe poder ser utilizado por personas sin ningún tipo de discapacidad y por personas con enanismo, discapacidad auditiva, discapacidad visual parcial y personas con discapacidad motriz que utilicen una silla de ruedas para desplazarse. Además, el carro de compras podrá soportar un peso acorde con los modelos tradicionales del mercado, los cuales soportan más de 40 kg (Tymbia, s.f.). El presente trabajo comprende el diseño integral, no se realizará la implementación en esta etapa. 1.6. Metodología En el desarrollo del presente proyecto se utiliza una metodología basada en las normas VDI 2206 y VD1 2221, las cuales permiten el diseño de un sistema mecatrónico a través de un enfoque metodológico y sistemático (Jänsch & Birkhofer, 2006) que garantice la flexibilidad y adaptabilidad a las necesidades de diseño de cada proyecto. En base a estas normas, para el diseño del carro de compras inteligente se seguirán los procedimientos detallados a continuación. En primer lugar, se realizará un análisis del entorno y contexto actual que permitan identificar la problemática y el impacto que tiene esta sobre los individuos afectados (Gausemeier & Moehringer, 2003), en este caso, los clientes de los supermercados. A continuación, se definen las tareas a realizar para el diseño del carro de compras y las características que debe de poseer para plasmarlos en una lista de requerimientos, Como siguiente paso, a partir de la lista de requerimientos se definen las funciones con las cuales debe de contar el sistema para satisfacer estos requerimientos (Jänsch & Birkhofer, 2006). Asimismo, se definen los dominios que se encontrarán presentes en el diseño para poder realizar una estructura de funciones, en la cual se clasifiquen las funciones en cada dominio y se relacionen entre sí. Posteriormente se identifican tecnologías que permitan satisfacer cada una de las funciones (Jänsch & Birkhofer, 2006) y se plasman en una matriz morfológica, se propone más de una alternativa por cada función. Una vez que ya se cuenta con esta matriz, se realizarán propuestas de solución para el diseño del carro de compras, esto se logra al combinar varias de las tecnologías en una idea que pueda dar solución al problema y cumplir los requerimientos. Con el objetivo de identificar el concepto de solución óptimo, se realiza una evaluación técnico- económica, la cual puntúa a cada concepto de acuerdo con el grado de cumplimiento de los 6 requerimientos y la inversión económica que cada uno de ellos representaría. A partir de este análisis, se selecciona el concepto de solución a ser utilizado en el diseño del carro de compras inteligente. El diseño mecatrónico se organiza en subsistemas para mostrar de manera adecuada la integración de cada parte del carro de compras inteligente. En inicio, se realiza el análisis de fuerzas e influencia factores externos para realizar el diseño mecánico de los componentes y mecanismos. Seguido de ello, se realiza la selección de componentes del sistema y se realizan los cálculos de potencia para seleccionar la batería y el motor para elevar y descender la cesta de compras. Una vez seleccionados los componentes, se procede con el diseño de la placa de circuito impreso sobre la cual se instalarán. Con la información obtenida, se realiza el modelo 3D del carro de compras inteligente en el cual se integran los modelos de los componentes mecánicos y electrónicos. Posteriormente, se evalúan las dimensiones de los componentes y distribución de estos a partir de simulaciones para validarlos o realizar cambios que permitan mejorar el hardware. En paralelo, se desarrolla la arquitectura de software, definiendo la estructura del sistema, los módulos principales y sus interacciones. Esta fase incluye el diseño de los algoritmos de generación de voz a texto y texto a voz, las redes para el reconocimiento de productos, la conexión con la base de datos del supermercado, los mecanismos de localización y guía dentro del local, y la configuración de los sensores. Una vez establecida la arquitectura, se inicia la fase de implementación y pruebas de software, resolviendo inconvenientes e iterando mejoras. Finalmente, se integran todos los subsistemas para conformar el sistema integral, en el cual se realizan simulaciones y pruebas continuas para analizar su funcionamiento y detectar oportunidades de optimización. 2. CAPÍTULO II: ESTADO DEL ARTE En este capítulo se realizará una revisión y un análisis del estado del arte actual de los carros de compras inteligentes y de los subsistemas que lo conforman. Esto permitirá identificar las tecnologías actuales que son utilizadas para este tipo de productos, las fortalezas de cada una de ellas y las oportunidades de mejora en cada caso. A partir de este análisis, se identifican los requerimientos del sistema y las consideraciones técnicas, económicas y ergonómicas a tener en cuenta durante la etapa de diseño. En primer lugar, se revisará el estado del arte del sistema general, el cual involucra los carros de compras inteligentes diseñados para supermercados y posteriormente se hará una revisión de los subsistemas definidos, los cuales involucran tecnologías utilizadas por personas con discapacidad en supermercados, interacción humano-robot, algoritmos de reconocimiento de voz y cobro automático. 2.1. Sistemas integrales En esta sección, se muestra el estado del arte de los sistemas integrales del proyecto, los cuales hacen referencia a carros de compra inteligentes diseñados o implementados en supermercados. 7 2.1.1. Amazon Dash Cart Es un carro de compras inteligente para las tiendas de Amazon Fresh que acelera el proceso de compra al omitir la línea de pago (Figura 2.1). Para iniciar la compra, se escanea un código QR para iniciar sesión dentro de la cuenta de Amazon del usuario y luego se utilizan un conjunto de algoritmos de visión por computadora y sensores que le permiten identificar los artículos que son colocados dentro del carro, la lista de los objetos escaneados se muestra en una pantalla y en ella también se muestran productos u ofertas. Una vez que la persona sale de la tienda, el pago se procesa automáticamente en la cuenta de Amazon del usuario y se le envía el comprobante a su correo electrónico (Amazon, s.f.). Figura 2.1 Dash Cart (Amazon, s.f.) 2.1.2. Caper Cart Es un carro de compras inteligente en su tercera generación de diseño. El primer modelo permitió evitar filas al incluir el pago dentro del carrito. En esta fase el cliente debía de escanear manualmente el código QR de cada artículo. El segundo modelo de carro trajo consigo el escaneo automático de las compras, por lo que los clientes podían comprar de forma natural. El tercer modelo es más ligero y grande como se muestra en la Figura 2.2, además cuenta con mejor ergonomía y puede ser empleado en cualquier clima. (Caper, s.f.). El carro cuenta con 3 cámaras de alta resolución para el reconocimiento de imágenes, su batería dura 10 horas operativas y puede ser cargado mientras se encuentra apilado con los otros carros a través de un cargador portátil. Su voltaje de trabajo es de 12 voltios y para su carga el voltaje debe ser de 15 a 40 voltios (Caper, s.f.). Figura 2.2 Caper Cart 3 (Caper, s.f.-a) 8 2.1.3. “Líder al carro” Wallmart Chile desarrolló un carro de compras inteligente denominado “Líder al carro”, el cual reconoce automáticamente los productos que son ingresados a través de cámaras incorporadas en el dispositivo, y los muestra en pantalla como se observa en la Figura 2.3. Además, en caso de productos que requieren ser pesados como frutas o verduras, el cliente cuenta con la opción de escanear el código de barras del producto para que se incorpore este a la lista. De esta manera, cuando el cliente llega a la caja de pago, este solo realiza el pago haciendo uso de un código de barras. Figura 2.3 Carro “Líder al carro” (Walmart Chile, s.f.) 2.1.4. El carro de la compra inteligente Los investigadores de la Universidad de Salamanca desarrollaron un carro inteligente para personas con discapacidad motriz. Este vehículo es autónomo, una vez que identifica al usuario lo seguirá a través de la tienda (Figura 2.4). Para iniciar la sincronización, el usuario debe de levantar los brazos frente al carro o utilizar comandos de voz. El carro de compras también ofrece información o consejos de nutrición sobre los productos. Además, se cuenta con una aplicación en la cual se puede subir la lista de compras y una vez en la tienda enviársela al carro. Entre las tecnologías empleadas se encuentran el reconocimiento de imágenes para seguir al usuario por la tienda, sensores RFID para identificar a los productos y bluetooth para navegación pues en el supermercado se encuentran distribuidas balizas bluetooth (Fundación General de la Universidad de Salamanca, 2018). Figura 2.4 Carro de la compra inteligente (Fundación General de la Universidad de Salamanca, 2018) 2.1.5. DAiVi La empresa Trackpoint desarrolló un carro inteligente denominado DaiVi (Digital Artificial Intelligence Vision), el cual permite utilizar la inteligencia artificial, publicidad, integración con el back-office de la tienda y pago en línea para mejorar la experiencia de compra de los clientes, El vehículo detecta, rastrea y reconoce productos a través de 8 cámaras y un sistema patentado de visión con reconocimiento 9 visual y deep learning con una precisión de 99% como se observa en la Figura 2.5. Asimismo, permite la guía por voz hacia ubicaciones de productos pues cuenta con posicionamiento en tiempo real dentro del local y brinda acceso a cupones y descuentos. Además, este carro cuenta con un sistema de monitoreo del contenido, el cual rastrea los productos escaneados hasta que se realiza el pago para evitar robos. La duración de su batería es de 12 horas operativas (TRACXPOINT, s.f.). Figura 2.5 Modelo del carro DaiVi (TRACXPOINT, s.f.) 2.1.6. Smart shopping cart system Este trabajo propone el diseño de un carro de compras inteligente, el cual permita acoplar la pantalla de asistencia al usuario a un carro de compras tradicional. Asimismo, se propone el uso de dispositivos RFID para el rastreo de los productos y el uso de un lector de código de barras para el registro de estos en el carro. El consumidor podrá crear su lista de compras desde casa, escanear sus productos en el carro para evitar las colas de espera al momento de pagar y localizar productos dentro de la tienda. Se plantea hacer uso de una pantalla que cuente con un lector de tarjeta para que se pueda realizar el pago dentro de la misma pantalla. Además, en la interfaz se desplegarán ofertas, la lista del comprador, historial de compras y juegos para los padres que compran con hijos (Abdelaziz, 2014). 2.1.7. Tabla comparativa de sistemas integrales En la Tabla 2.1 se presentan las características de los sistemas integrales. El objetivo es analizar las características de los sistemas para identificar las fortalezas y oportunidades de mejora en cada uno, los cuales puedan servir de referencia para el diseño del presente proyecto. Tabla 2.1 Comparación de características de sistemas integrales (Elaboración propia) Producto Registro de productos ¿Es utilizado por personas con discapacidad? ¿El carro de compras es autónomo? Cantidad de cámaras Duración de la batería (horas operativas) Amazon Dash Cart Reconocimiento de imágenes Ninguna No - - Caper Cart Reconocimiento de imágenes Ninguna No 3 10 “Líder al carro” Escaneo de código de barras Ninguna No - - El carro de la compra inteligente Sensores RFID Sí. Discapacidad motriz Sí 1 - DAiVi Reconocimiento de imágenes Ninguna No 8 12 Smart shopping cart system Escaneo de código de barras Ninguna No 0 - 10 2.2. Subsistema de interacción humano-robot 2.2.1. Sistema basado en Diálogos Multimodales y Adaptables El trabajo describe el desarrollo y pruebas de un sistema de interacción natural entre humano-robot denominado “Robotics Dialog System” (RDS) en el robot social “Maggie”, orientado a usuarios no familiarizados a interactuar con sistemas robóticos, por lo que se usan técnicas que no requieran conocimientos previos. El sistema cuenta con módulos de comunicación que intentan lograr una interacción humana natural. Uno de los módulos es el de reconocimiento de voz a través del procesamiento del lenguaje natural que permite comprender el mensaje reproducido por el usuario en varios idiomas y reconocer las emociones del usuario para reaccionar empáticamente. También se tiene el módulo de generación del lenguaje natural, el cual procura obtener cierto grado de naturalidad, multilenguaje y que pueda expresar emociones. Asimismo, se integran sonidos no verbales como realizar gestos de enganche, afirmaciones o negaciones. Para integrar los módulos de reconocimiento y generación del lenguaje natural, se cuenta con el módulo de diálogo. Además, el sistema tiene un módulo de localización de usuarios que a través de sensores de ultrasonido permite identificar los usuarios que rodean al robot (Alonso, 2014). La integración de estos se observa en la Figura 2.6. Figura 2.6 Niveles de fusión multimodal (Alonso, 2014) 2.2.2. Sistema basado en voz para el entrenamiento de comportamientos El sistema utiliza la interacción por voz para dar órdenes al robot Sony AIBO ERS-7, formular preguntas sobre su entorno y entrenar en él comportamientos. Para ello se utilizó la herramienta CSLU Speech Tools Rapid Application Development (RAD) en los procesos de reconocimiento y síntesis de voz. Para las pruebas, se buscó que el robot realice comportamientos como caminar, girar, detenerse, entre otros. Dentro del sistema de interacción humano-robot se encuentran 3 módulos. El primero es “Diálogo de interacción” el cual hace referencia al diálogo entre el usuario y el robot. El segundo módulo es del HRI, el cual es el enlace entre la computadora y el robot para adquirir las preguntas e 11 indicaciones del usuario para enviárselas al robot. El último módulo es EK2008, el cual permite conectar el robot con el módulo HRI (Ramos, 2009). En la Figura 2.7 se observa el flujo de ejecución. Figura 2.7 Flujo de ejecución de un comando (Ramos, 2009) 2.2.3. Gesture Based Remote System Using Kinect Se realizó el diseño de una interfaz humano-robot basada en los gestos. El sistema de control propuesto hace uso de un sensor Kinect. El método de reconocimiento de gestos hace uso de datos de profundidad con el algoritmo de seguimiento Camshift tradicional. Si una persona mueve la mano frente al sensor Kinect, se reconocerá el movimiento a través de fotogramas sucesivos para luego hacer uso del algoritmo de Camshift el cual emplea solo información de color, lo cual puede producir errores en píxeles de similar color por lo que se ingresa información de profundidad (Qian et al., 2013). Este reconocimiento se muestra en la siguiente interfaz gráfica de la Figura 2.8. Figura 2.8 Software GUI (Qian et al., 2013) 2.2.4. An Augmented Reality Interface in Unconstrained Environments En esta investigación, se realiza el diseño y evaluación de una interfaz de realidad aumentada para la interacción humano-robot en un entorno de trabajo compartido. La interfaz, instalada en un dispositivo móvil, permite al usuario controlar el desplazamiento del robot e indicarle acciones como recoger y depositar objetos. Para ello, el usuario selecciona la posición final deseada en la pantalla del celular, donde se visualiza un entorno virtual interactivo del espacio de trabajo, desarrollado en Unity 3D (Figura 2.9). Para la estimación de posiciones se hace uso de ARCore de Google, la cual permite el desarrollo de aplicaciones de realidad aumentada y estima posiciones físicas a través del uso de un conjunto de imágenes 2D de referencia (Chack & Kapila, 2019). 12 Figura 2.9 Selección de punto final por parte del usuario (Chack & Kapila, 2019) 2.2.5. Smart Shopping Trolley Using Sign Language En esta investigación se presenta el diseño de un carro de compras inteligente con una interfaz de usuario multimodal que incluye el lenguaje de señas ruso, reconocimiento acústico del habla y una pantalla táctil. El sistema responde en lenguaje de señas a la persona con un avatar 3D y si el usuario lo solicita, le indica la ubicación del producto seleccionado. La arquitectura del sistema empleado se muestra en la Figura 2.10. Para la detección de los gestos realizados por la persona, se utiliza el sensor Kinect 2.0 el cual utiliza información de una cámara, sensores infrarrojos y un sensor de profundidad para poder determinar adecuadamente el mensaje del emisor (Ryumin et al., 2019). Figura 2.10 Arquitectura del carro de compras inteligente (Ryumin et al., 2019) 2.2.6. Tabla comparativa de sistemas de interacción humano-robot En la siguiente tabla se colocan las principales características de los sistemas de interacción humano- robot anteriormente mencionados en esta sección para identificar las fortalezas y oportunidades de mejora en cada uno de ellos. 13 Tabla 2.2 Comparación de características de sistemas de interacción humano-robot (Elaboración propia) Sistema Información reconocida Sensores Sistema con el cual se interactúa Sistema basado en Diálogos Multimodales y Adaptables Voz Emociones Cámara Micrófono Sensor ultrasónico Robot social Maggie Sistema basado en voz para el entrenamiento de comportamientos Voz Micrófono Sony AIBO ERS-7 Gesture Based Remote System Using Kinect Gestos Cámara Kinect 2.0 Doble brazo robótico An Augmented Reality Interface in Unconstrained Environments Entorno Cámara App que controla un brazo robótico Smart Shopping Trolley Using Sign Language Voz Señas Gestos Cámara Micrófono Kinect 2.0 Carro de compras 2.3. Subsistema mecánico 2.3.1. Carros de compra estándares Los modelos de carro de compra predominantemente usados en los supermercados actualmente son los del modelo plegable, los cuales resaltan por su mecanismo que permite acoplarse a otros carros en fila. Estos se fabrican de acuerdo con el peso que soportan el cual va de 210 kg como se observa en la Figura 2.11 a 85 kg como se observa en la Figura 2.12 (Mr. Shelf, s.f.). Este modelo cuenta con chasis de 1 sola pieza, cuatro ruedas giratorias que permiten un fácil manejo y son plegables para permitir un almacenamiento sencillo con ahorro de espacio (CSI Products, s.f.). La mayoría cuenta con un acabado de zinc brillante y la parte que recubre el mango es un tubo de plástico (Mr. Shelf, s.f.). Sin embargo; en los últimos años han sido creado carros 100% reciclables como los carros Duka que también brindan una buena resistencia a las condiciones ambientales (Shopping Trolleys Ireland, s.f.). Figura 2.11 Carro de compras de 210 kg con medidas en mm (Shop Equipment Limited, s.f.) Figura 2.12 Carro de compras de 85 kg (Mr. Shelf, s.f.) 14 2.3.2. Carros de compra para usuarios con sillas de ruedas Este carro para personas con sillas de ruedas diseñado por la empresa Wanzl tiene un mecanismo que permite acoplar el carro a la silla de ruedas de la persona como se muestra en la Figura 2.13. Este modelo cuenta con un parachoques para evitar el daño del carro o de artículos dentro de la tienda. Además, permite la compra a estos usuarios de manera independiente dentro de la tienda y puede ser anidado en fila con otros similares para ahorrar espacio. Existen 2 modelos de carro que varían según el tamaño de la cesta y el peso que soportan, los cuales son 40kg y 90kg (Figura 2.14). Figura 2.13 Carro de compras para usuarios con silla de ruedas (Wanzl, s.f.) Figura 2.14 Comparación entre modelos para sillas de ruedas (Wanzl, s.f.) 2.3.3. Carros de compra para personas mayores Este modelo de carro brinda una mejor experiencia de compra a personas mayores El carro cuenta con un asiento integrado para descanso del usuario como se muestra en la Figura 2.15, tiene un mecanismo de parada automática que evita que el carro se mueva cuando el usuario se encuentra sentado y cuenta con accesorios que mejoran la experiencia como un sujetador de paraguas, mango para bolsas y un recipiente para almacenar monedas. Este modelo también puede ser apilado para ahorra espacio, soporta un peso máximo de 40 kg y presenta las características mecánicas mostradas en la Figura 2.16. Figura 2.15 Persona mayor haciendo uso del asiento del carro de compras (Wanzl, s.f.) 15 Figura 2.16 Características del carro de compra para personas adultas (Wanzl, s.f.) 2.3.4. Tabla comparativa de sistemas mecánicos En la Tabla 2.3 se presentan las características de los sistemas mecánicos descritos previamente en esta sección. El objetivo es analizar las características principales de cada uno de ellos, de tal manera que se encuentren las ventajas y desventajas de cada uno. Tabla 2.3 Comparación de características de sistemas mecánicos (Elaboración propia) Dispositivo Dimensiones (mm) ¿Plegable? Peso máximo ¿Se acopla a la sillas de ruedas? Accesorios Carros de compra estándares 950 x 570 x 1000 Sí 85 – 210 kg No - Carros de compra para usuarios con sillas de ruedas 763x 865 x 1056 Sí 40 -90 kg Sí Parachoques Carros para personas mayores 891 x 673 x 1096 Sí 40 kg No - Sujetador de paraguas y bolsas - Recipiente para monedas 2.4. Subsistema de elevación 2.4.1. Mesa elevadora tipo tijera simple El mecanismo de tijera simple es utilizado para poder regular la altura de una plataforma haciendo uso de un actuador, los cuales pueden ser de tipo neumático, eléctrico, entre otros. En un trabajo realizado por Navarro, Á. se realizó el diseño de una mesa elevadora que hace uso del mecanismo de tijera simple para variar su tamaño a través de un accionamiento por dos cilindros electrohidráulicos como se observa en la Figura 2.17. La altura de la mesa fue diseñada puede variar entre 200 y 1700 milímetros y debe soportar una carga máxima de 2000 kg, por ello se distribuyen simétricamente los cilindros hidráulicos de tal manera que cada uno soporte 1000 kg. Asimismo, se realizaron los cálculos para determinar el dimensionamiento de las piezas a partir de los materiales seleccionados haciendo uso de la teoría de resistencia de materiales y utilizando softwares para simular la respuesta del sistema (Navarro, 2019). 16 Figura 2.17 Mecanismo tijera accionamiento electrohidráulico (Navarro, 2019) Por otro lado, en el sistema diseñado por Disset, O. se utiliza el mecanismo de tijera simple con accionamiento oleo-hidráulico. Cada cilindro cuenta con una válvula que regula la velocidad de descenso para evitar movimientos bruscos y se hace uso de aceite en los puntos de engrase que se muestran en la Figura 2.18 con el objetivo de alargar la vida útil (Disset, 2021). En cuanto a la distribución de la carga, el sistema se guía de la normativa EN 1570, la cual establece lo siguiente: • El sistema debe soportar 100% de la carga máxima cuando esta se encuentra repartida uniformemente en toda la plataforma. • Evaluar el comportamiento ante el 50% de la carga máxima repartida sobre una mitad del tablero. • Evaluar la resistencia ante el 33% de carga máxima distribuida en la mitad transversal de la mesa. Figura 2.18 Mecanismo tijera accionamiento electrohidráulico (Disset, 2021) 2.4.2. Escritorio graduable manualmente En este trabajo se propone el uso de un sistema de piñón-cremallera que permita la elevación de la superficie (Infante, 2020). Este sistema tiene como objetivo transformar el movimiento de rotación en un movimiento rectilíneo y se encuentra formado de un piñón y una cremallera. El piñón es una rueda dentada que rota alrededor de su eje, mientras que la cremallera describe un movimiento rectilíneo de acuerdo con el sentido de giro del piñón (Lozano, 2013). 2.4.3. Mesa graduable con accionamiento neumático Este escritorio “Standing Desk Converter” permite el cambio de posturas entre sentado y de pie, varía de 16 cm a 45cm a través del cambio de inclinación de las barras del mecanismo. Cuenta con un accionamiento neumático a través de muelles de gas ubicados simétricamente (Figura 2.19) (Mount-It!, s.f.). Estos resortes de gas permiten elevar o descender la plataforma sin usar una fuente externa de energía. La fuerza del resorte que empuja las barras depende del área transversal del pistón y la presión a la cual se llenó el gas, por lo que pueden ser adaptados a los requerimientos del usuario (ACE, 2012). 17 Figura 2.19 Mesa graduable neumáticamente (Mount-It!, s.f.) 2.4.4. Escritorio graduable con accionamiento eléctrico Este escritorio permite regular la altura para elegir entre el trabajar sentado o parado. Utiliza un marco de acero y es accionado por un motor eléctrico que permite regular la altura. Tiene una capacidad de cargad de 125 kg y cuenta con una entrada de alimentación entre 100-240 V. Cuando se desea elevar la altura, se hace uso de botones giratorios como se observa en la Figura 2.20. los cuales accionan el motor y este comienza el movimiento de las columnas de elevación (Digitus, 2020). Figura 2.20 Escritorio graduable accionado eléctricamente (Digitus, 2020) 2.4.5. Escritorio regulable accionado manualmente Este escritorio permite regular la altura para el trabajo sentado o de pie de manera manual a través de una manija ubicada en la parte inferior del tablero (Figura 2.21). Puede variar la altura entre 115 cm - 180 cm y soporta un máximo peso de 100 kg. El mecanismo consta de una manija exterior y dos varillas internas conectadas a una caja de engranajes. Al girar la manija, la caja transforma este movimiento en un desplazamiento vertical (Gostand, s.f.). Figura 2.21 Escritorio con manilla regulable (Gostand, s.f.) 2.4.6. Tabla comparativa de sistemas de elevación En la Tabla 2.4 se muestra la comparación entre los sistemas de elevación a través de características distintivas como tipo de accionamiento, actuadores y mecanismo de elevación. 18 Tabla 2.4 Comparación de características de sistema de elevación (Elaboración propia) Sistema Tipo de accionamiento Actuador Cantidad actuadores Mecanismo de elevación Mesa elevadora tipo tijera simple - Electrohidráulico - Oleo-hidráulico - Cilindros electrohidráulicos - Pistones oleo-hidráulicos 2 Tijera simple Escritorio graduable manualmente Manual Sin actuador 0 Rueda-piñón Mesa graduable con accionamiento neumático Neumático Muelles de gas 2 - Escritorio graduable con accionamiento eléctrico Eléctrico Motor eléctrico 1 Empuje de las columnas de elevación Escritorio regulable accionado manualmente Manual Sin actuador 0 Caja de engranajes 3. CAPÍTULO III: DISEÑO CONCEPTUAL En el presente capítulo se desarrollará el diseño conceptual del carro de compras. 3.1. Requerimientos del sistema En esta sección se listan los requerimientos del sistema en aspectos como geometría, cinemática y ergonomía. Estos definirán las características del modelo final y servirán para la validación de este. Además, se muestran organizados en una tabla en el Anexo A. Función principal El sistema debe ofrecer una experiencia de compra personalizada mediante el escaneo automático de productos, el pago en el carrito para evitar colas, la asistencia por voz e interfaz gráfica, y la accesibilidad para personas con discapacidad motriz, auditiva y visual parcial. Geometría Para facilitar la circulación por los pasillos de los supermercados, el ancho del carro no debe superar los 1.20 metros, conforme a la Resolución Ministerial N° 061-2021-VIVIENDA (2021). Además, la altura estándar del carro debe de ser 1.0 metro para garantizar la comodidad de personas. Por otro lado, el carro de supermercado debe de permitir el giro entre los pasillos, por ello la estructura de giro debe permitir un giro con diámetro menor a 1 metro. Fuerzas El peso del carro sin carga en la cesta de compras debe ser menor a 35 kg para que el usuario pueda empujarlo fácilmente. El mecanismo debe de soportar un peso mínimo de 40 kg por más de 10 horas de manera consecutiva sin deformarse para garantizar su resistencia frente a condiciones de trabajo en días de alta concurrencia en supermercados. Además, el mecanismo de elevación debe de mantener la altura de la cesta en la posición fijada por el usuario independientemente del peso que soporte. 19 Ergonomía El carro de compras debe permitir regular su altura para que el usuario la adapte a sus necesidades. Esta altura variará en el rango de 600 mm a 1200 mm. La altura mínima permitirá un adecuado uso a personas con enanismo, quienes tienen una altura promedio de 1.20 m (Mayo Clinic, 2021), la altura de 1000 mm es la utilizada de manera comercial en los carros de compra convencionales y la altura máxima de 1200 mm podrá ser utilizada por personas de gran estatura. Cinética El carro debe de desplazarse sin resbalar en los pisos de los supermercados, los cuales de acuerdo con el Reglamento Nacional de Edificaciones deben tener un coeficiente de fricción mínimo que cumpla con la norma ISO 10545-17 (RESOLUCIÓN MINISTERIAL No 075-2023-VIVIENDA, 2023) . Cinemática La regulación de la altura del carro debe de realizarse a una velocidad máxima de 2 cm/s para no dañar a la persona y brindarle mejor control de la altura deseada. Señales El carro debe contar con una opción de encendido o apagado del sistema, una opción para regular la altura del carro y se debe brindar la alternativa de restablecer la altura de la cesta a la altura estándar para aquellos usuarios que no deseen variar la altura. Asimismo, se debe permitir la activación o desactivación del modo de guía y asistencia por voz, la modulación del volumen de la voz que emite el carro para comunicarse con el usuario y un botón para comunicarse por voz. Por otro lado, las señales de salida serán brindadas a través de voz e imágenes o mensajes dentro de la interfaz. Los comandos de voz permitirán brindar guía a las personas con discapacidad visual haciendo uso de la localización dentro del local y la detección de obstáculos. Se hará uso de señales luminosas para brindar información, por ejemplo, el color azul indica que el usuario se encuentra en proceso de compra y aún no ha pagado, el color verde indica que ya realizó el pago de los objetos en la cesta, el anaranjado indica que el carro se encuentra cargando, el amarillo indica que el carro está completamente cargado y el color blanco indica que el usuario es una persona con discapacidad visual. Interacción La interacción con el usuario se realizará a través de comandos de voz y una interfaz visual táctil. En la interfaz el tamaño de texto se podrá modificar para facilitar el uso a personas con discapacidad visual parcial. Además, se desea contar con una asistente virtual la cual pueda ayudar a resolver consultas que las personas tengan sobre el uso del carro de compras, precios, promociones y localización de productos. Electrónica El sistema será alimentado por baterías para garantizar su libre desplazamiento por el local. Se debe de garantizar una autonomía mínima de 10 horas para que el carro pueda ser utilizado de manera continua. 20 El carro contará con sensores como micrófonos, sensores de ubicación del vehículo, cámaras y sensores para detectar obstáculos. Asimismo, tendrá como actuador al accionador del sistema de variación de altura y para la interfaz visual se hará uso de una pantalla táctil. Además, utilizará un microcomputador que permita realizar el procesamiento requerido como la identificación del producto ingresado en el carro, el reconocimiento del lenguaje natural y la generación de este para la asistencia personalizada. Seguridad El sistema contará con protección IP65, pues este garantiza que se encuentre protegido contra la entrada de polvo y no se dañe frente a chorros de agua provenientes de cualquier dirección (Galizia, s.f.). Asimismo, para garantizar la seguridad del usuario se aislarán los circuitos eléctricos y se utilizarán conectores que cumplan con la sección, espesor y diámetros indicados en el Decreto Supremo N°013- 2016 del Perú (2016), para garantizar la seguridad de las personas, sí como prever prácticas riesgosas. Software Se debe realizar un algoritmo de reconocimiento de productos para que estos puedan ser registrados cuando sean ingresados o retirados del carro de compras con una eficiencia no menor del 80%. Además, el carro debe contar con reconocimiento y generación del lenguaje natural para poder comunicarse con el usuario. Asimismo, se debe contar con una interfaz visual para la interacción táctil con el usuario. Comunicación El carro contará con comunicación con el banco para poder efectuar las transferencias bancarias que garanticen el pago de los productos por tarjeta de crédito o débito a través de un POS (Point of sale). Fabricación Las piezas que no se encuentren afectadas por el peso de las compras dentro de la canasta se fabricarán por técnicas de prototipado rápido como manufactura aditiva y corte láser. En cambio, para las piezas que soportan la carga se analizarán las técnicas de fabricación a emplear de acuerdo con el material seleccionado y los cálculos de resistencia. Uso El carro de compras inteligente será utilizado en supermercados peruanos, por lo que debe de soportar las temperaturas de las distintas regiones del país, las cuales oscilan entre 30°C en verano en las regiones costeras y entre 5°C en invierno en las regiones de sierra en el país (Ministerio del Ambiente & Servicio Nacional de Meteorología e Hidrología del Perú, 2021). Además, debe de funcionar adecuadamente en entornos con humedad máxima de 90%. 21 3.2. Definición de entradas y salidas En esta sección se identifican las entradas y salidas del sistema, lo que permitirá definir posteriormente su estructura funcional. Al final, se presenta un diagrama Black Box (Figura 3.1) que ilustra las entradas y salidas sin considerar la estructura interna ni el funcionamiento detallado del sistema. Entradas • Bases de datos del supermercado: El sistema recurre a las bases de datos del supermercado para obtener información de los productos y ofertas. • Entorno: Se recopilan datos sobre la proximidad de objetos para evitar colisiones. • Energía del usuario: El usuario proporciona la energía necesaria para empujar el carrito de compras e interactuar con el sistema mediante la pantalla táctil o comandos de voz. • Energía eléctrica: Alimentación del sistema que permite cargar las baterías. • Productos sin pagar: El usuario ingresa en el carro productos que aún no han sido pagados. • Confirmación de pago: Se recibe la confirmación de pago, validando la compra. Salidas • Voz: El sistema genera lenguaje natural para proporcionar información verbal al usuario. • Contenido visual: Imágenes y mensajes que son desplegados en la interfaz para la interacción. • Luz: El sistema contará con una luz que brindará información a través de colores. El color azul indica que el usuario se encuentra comprando, el color verde indica que ya efectuó el pago, el color blanco indica que es una persona con discapacidad visual, el color anaranjado indica que el carro se encuentra en proceso de carga y el color amarillo que culmino la carga. • Información de pago: El sistema envía al POS integrado al carro de compras el monto de los productos para que el usuario realice el pago de estos. • Productos pagados: El usuario retira los productos de la cesta al final de la compra. Figura 3.1 Diagrama Black Box (Elaboración propia) 22 3.3. Estructura de funciones En esta sección se detallan las funciones con las cuales contará el sistema para cumplir con los requerimientos y objetivos planteados. Las funciones se organizaron en dominios (mecánico, sensores, procesamiento y control, actuadores y comunicación) y subsistemas (energía, compra de productos, interacción humano-robot, localización y mecánico). El diagrama de funciones del sistema integral se observa en la Figura 3.2, mientras que la explicación de cada subsistema se encuentra en el Anexo B. Figura 3.2 Estructura de funciones (Elaboración propia) 23 3.4. Matriz morfológica Se han seleccionado distintos componentes y tecnologías para lograr las funciones planteadas en la sección anterior, los cuales pueden visualizarse en el Anexo C. Con ello, se plantearon tres conceptos de solución, los cuales pueden observarse en el Anexo D. A continuación, se muestran en la Tabla 3.1 las alternativas seleccionadas para cada concepto para facilitar la evaluación y comparación. Tabla 3.1 Matriz morfológica de los conceptos de solución (Elaboración propia) Dominio Función Concepto de solución 1 Concepto de solución 2 Concepto de solución 3 Subsistema de compra de productos Sensores Detectar el producto ingresado/retirado del carro Cámaras + lector de código de barras Lector de código de barras Cámaras + lector código de barras Medir elevación/descenso de la cesta Sensor de distancia láser Galga extensiométrica Ultrasonido Procesamiento y control H ar dw ar e Reconocer el producto ingresado/retirado del carro Computador Computador Computador Agregar/quitar el producto de la lista de compras del usuario Determinar el costo total de productos Configurar medio de pago Aprobar/denegar compra Determinar elevación de la cesta Procesar pago de los productos POS móvil POS app POS móvil So ftw ar e Reconocer el producto ingresado/retirado del carro API de detección de objetos Red neuronal recurrente Red neuronal convolucional Agregar/quitar el producto de la lista de compras del usuario Programación imperativa Programación orientada a objetos Programación estructurada Determinar el costo total de productos Configurar medio de pago Aprobar/denegar compra Determinar elevación de la cesta Control PID Control adaptativo Control PID Comunicación Recibir información de la base de datos API RESTful (Service request) ORM (Mapeo objeto-relacional) Conexión directa a base de datos Enviar información a la base de datos Subsistema de interacción humano-robot Procesamiento y control H ar dw ar e Evaluar si el reconocimiento de voz está activo Microcontrolador + Computador Computador Microcontrolador + Computador Reconocer las palabras del usuario Identificar las palabras clave Evaluar si la guía por voz está activa Formular respuesta por voz al usuario Generar comandos de guía oral Determinar volumen de respuesta Formular la respuesta visual al usuario Procesar información visual a mostrar Determinar el color de luz emitida So ftw ar e Evaluar si el reconocimiento de voz está activo Programación estructurada Programación orientada a objetos Programación estructurada Reconocer las palabras del usuario Identificar las palabras clave Evaluar si la guía por voz está activa Formular respuesta por voz al usuario Generar comandos de guía oral Determinar volumen de respuesta Formular la respuesta visual al usuario Procesar información visual a mostrar Determinar el color de luz emitida Reconocer las palabras del usuario Procesamiento de señales Algoritmos de reconocimiento de voz Application programming interfaces (API) 24 Formular por voz la respuesta al usuario Transformadores de lenguaje pre- entrenados Modelo basado en patrones de reconocimiento Application programming interfaces (API) In te rf az H ar dw ar e Identificar voz del usuario Micrófono de condensador Micrófono de cinta Micrófono dinámico Activación/desactivación del modo de discapacidad visual Switch on/off Pantalla táctil Push button Activación/desactivación de asistencia por voz Activación/desactivación del reconocimiento de voz Switch on/off Pantalla táctil Push button Regular volumen de salida Botones Pantalla táctil Regulador Regular altura de la cesta de compras Manualmente Pantalla táctil Botones Capturar información táctil ingresada Pantalla táctil resistiva Pantalla táctil resistiva Pantalla táctil capacitiva Mostrar contenido visual Emitir voz de asistencia personalizada Altavoces Audífonos Altavoces So ftw ar e Activación/desactivación del modo de discapacidad visual Programación imperativa Programación orientada a objetos Programación imperativa Activación/desactivación del modo de asistencia por voz Activación/desactivación del reconocimiento de voz Regular volumen de salida Capturar información táctil ingresada Programación estructurada Programación orientada a objetos Programación estructurada Mostrar contenido visual Emitir voz de asistencia personalizada Actuadores Accionar sistema de elevación/descenso Manualmente Cilindro neumático Motor eléctrico Subsistema de navegación Sensores Medir posición dentro del local Localización por Wi-Fi Localización por Wi-Fi Tecnología UWB (Ultra Wide-Band) Identificar el entorno Sensor infrarrojo Cámara Ultrasonido Procesamiento y control H ar dw a re Calcular la distancia de objetos cercanos al carro Microcontrolador y computador Computador Microcontrolador y computador Orientar al usuario dentro del local Determinar movimiento del carro So ftw ar e Calcular la distancia de objetos cercanos al carro Programación imperativa (microcontrolador) + programación estructurada (computador) Programación orientada a objetos Programación imperativa (microcontrolador) + programación estructurada (computador) Orientar al usuario dentro del local Determinar movimiento del carro de compras Subsistema de energía Sensores Medir energía Divisor de voltaje Divisor de voltaje Sensor de diferencia de tensión Energía Almacenar energía Batería LiPo Baterías de plomo ácido Baterías de litio- ion Iniciar / detener funciones Switch Botón Botón Separar etapas de potencia y control Optoacoplador Relé Relé Acondicionar energía para cada módulo Regulación con diodo Zener Regulador lineal Regulador conmutable de voltaje Energizar módulo de sensores Energizar módulo de actuadores Energizar módulo de procesamiento Subsistema mecánico Mecánico Proteger y albergar componentes Carcasa de plástico Carcasa de metal Carcasa plástica Almacenar productos ingresados Cesta de metal Cesta de plástico Cesta de plástico Empujar el carro de compras Mango de plástico Mango de metal Mango de plástico Permitir el movimiento del carro de compras 2 ruedas giratorias y 2 motrices 4 ruedas giratorias 4 ruedas giratorias Elevar y descender la cesta de compras Mecanismo de tornillos sin fin Mecanismo de tijera simple Mecanismo de engranajes helicoidales y tornillo sin fin Enganchar carro a silla de ruedas Correas de enganche Enganche metálico Enganche metálico 25 3.5. Concepto de solución óptimo En base a la evaluación técnico-económica, la cual puede visualizarse en el Anexo E, se determina que el concepto de solución óptimo es el concepto de solución 3. Con el objetivo de mejorar el cumplimiento de los requisitos, se realizan mejoras en este concepto, las cuales se listan a continuación. • Se reemplaza el sensor de ultrasonido por un sensor de distancia láser, pues este brindará una mejor medición en línea recta para determinar la altura de la cesta de compras. • Se incorpora una descripción en Braille en los botones del carro para que las personas con discapacidad visual puedan conocer su funcionalidad y hacer uso de ellos. • Se agrega un botón de restablecimiento de altura para que cuando se desee regresar el carro a su altura normal se realice de manera rápida y fácil. • Se utiliza un micrófono de tipo condensador debido a que estos tienen un tamaño más compacto que los dinámicos, lo cual es imprescindible para posicionarlo dentro de la carcasa. • Se incorporan sensores de peso en la base del carro de compras para la detección del ingreso de productos que no fueron reconocidos por las cámaras. Esto permitirá tener un mejor control entre los objetos que ingresan y salen. • Se agregan sensores de ultrasonido en la parte superior de la cesta para censar cuando un producto es ingresado por el usuario e iniciar el reconocimiento del código de barras. 3.6. Diagrama de flujo En esta sección se presentan los procesos que seguirá el carro de compras mediante diagramas de flujo. En la Figura 3.3 se muestra el diagrama general del sistema, el cual se compone de varias subfunciones. La primera es "Inicializar sistema" (Figura 3.4), encargada de configurar los parámetros iniciales y ejecutar las acciones de preparación del sistema. Luego, la subfunción "Añadir producto" (Figura 3.5) reconoce los productos colocados en la cesta y los registra en el sistema. Por otro lado, "Activar modo para discapacidad visual" (Figura 3.6) habilita las funciones diseñadas para usuarios con discapacidad visual, mientras que "Identificar mensaje" (Figura 3.7) procesa y reconoce las palabras del usuario. Posteriormente, la subfunción "Formular respuesta" (Figura 3.8) genera una respuesta adecuada en función de la consulta recibida. Además, "Elevar o descender cesta" (Figura 3.9) activa el mecanismo de elevación o descenso de la cesta según sea necesario. Finalmente, "Pagar productos" (Figura 3.10) gestiona el proceso de pago de los productos. Estas subfunciones trabajan de manera conjunta para garantizar un funcionamiento y mejorar la experiencia de compra del usuario. 26 Figura 3.3 Diagrama de flujo general del sistema (Elaboración propia) 27 Figura 3.4 Diagrama de flujo de la función Inicializar_sistema (Elaboración propia) Figura 3.5 Diagrama de flujo de la función Añadir_productos (Elaboración propia) Figura 3.6 Diagrama de flujo de la función Activar_discapacidad_visual (Elaboración propia) 28 Figura 3.7 Diagrama de flujo de la función Identificar_mensaje (Elaboración propia) Figura 3.8 Diagrama de flujo de la función Formular_respuesta (Elaboración propia) Figura 3.9 Diagrama de flujo de la función Elevar/descender_cesta (Elaboración propia) 29 Figura 3.10 Diagrama de flujo de la función Pagar_productos (Elaboración propia) 3.7. Diagrama de operaciones En esta sección se muestra el diagrama de operaciones del sistema, el cual muestra las operaciones seguidas por el usuario y el sistema durante la compra como se muestra en la Figura 3.11. Figura 3.11 Diagrama de operaciones (Elaboración propia) 30 Las operaciones comienzan cuando el personal del supermercado enciende el sistema y verifica el nivel de batería para determinar si este está listo para su uso o necesita recargarse. Una vez validado, el carrito queda disponible para los usuarios. Al encender el carro, el usuario puede ajustar la altura de la cesta de compras según sus necesidades, el sistema accionará su mecanismo hasta alcanzar la altura deseada. Si el usuario tiene discapacidad visual, puede habilitar el modo accesible, que ofrece guía por voz y asistencia de navegación. La interacción se realiza mediante pantalla táctil o comandos de voz, y el sistema responde a ambos métodos. Al agregar un producto, este se reconoce automáticamente y se incorpora a la lista de compras. Finalmente, cuando el usuario concluye su compra y desea proceder al pago, se le solicita seleccionar el método de pago. Una vez validada la transacción, se emiten los comprobantes correspondientes. 3.8. Diagrama de bloques En esta sección se encuentra el diagrama de bloques del sistema en la Figura 3.12, el cual ilustra la interacción y el flujo de información entre los distintos componentes del sistema. Figura 3.12 Diagrama de bloques (Elaboración propia) 31 4. CAPÍTULO IV: DISEÑO DE HARDWARE Este capítulo presenta el diseño de hardware del sistema partiendo del diseño conceptual. Se describen los subsistemas y su integración en un sistema completo, incluyendo cálculos y componentes. 4.1. Subsistema de control En el proyecto se requiere utilizar un microcontrolador y un computador para que en conjunto cumplan con las funciones del sistema y los objetivos de control. El microcontrolador interactúa con los sensores de ultrasonido, el sensor de distancia y los botones de la interfaz del usuario. En base a esto, en la Tabla 4.1 se realiza un análisis comparativo entre microcontroladores para seleccionar el más adecuado. Tabla 4.1 Tabla comparativa microcontroladores (Elaboración propia) Arduino Mega Nucleo STM32F446RE Teensy 4.1 Voltaje de alimentación 7 - 12 V DC 3.3, 5, 7 - 12 V DC 3.6 – 5.5 V DC Voltaje de operación 5 V 3.3 V 3.3 V Memoria Flash 256 kB 512 kB 7936 kB Memoria RAM 8 kB 128 kB 1024 kB Frecuencia de operación 16 MHz 180 MHz 600 MHz Pines GPIO 54 114 55 Entorno de desarrollo integrado Arduino IDE STM32CubeIDE Arduino IDE Dimensiones 101.52 x 53.3 mm 82 x70x45 mm 61.03 x 17.78 x 4.07 mm Peso 37 g 77 g 13 g Fabricante o proveedor Arduino STM Microelectronics PJRC Precio S/ 120 S/95 S/295 Enlace Arduino Mega NUCLEO-F446RE Teensy 4.1 Se selecciona como microcontrolador el Núcleo STM32F446RE debido a su balance entre rendimiento, flexibilidad y costo. Este microcontrolador cuenta con un procesador ARM Cortex-M4 de 32 bits con una frecuencia de operación de 180 MHz, lo que permite manejar tareas complejas como procesamiento de datos de sensores y control eficiente en tiempo real. Además, cuenta con 114 pines GPIO, ofreciendo una amplia capacidad para la conexión de periféricos y módulos adicionales. De la misma forma, se requiere de un computador para realizar tareas complejas de control y procesamiento. Sus funciones incluyen recibir comandos del usuario, generar respuestas mediante modelos de lenguaje, gestionar la interfaz visual, procesar el reconocimiento de productos, controlar la elevación de la cesta y manejar la logística de compra. Para seleccionar el dispositivo adecuado, se compararon opciones (Tabla 4.2). Dado que el reconocimiento de productos y la generación de respuestas en tiempo real requieren una GPU dedicada, se descartó la Raspberry Pi 4 B y se evaluaron la Jetson Xavier NX y la Orin Nano. La Orin Nano cuenta con una GPU NVIDIA Ampere (1,024 núcleos CUDA y 32 núcleos Tensor), mientras que la Jetson Xavier NX tiene una GPU NVIDIA Volta (384 núcleos CUDA y 48 núcleos Tensor). Aunque la Orin Nano ofrece mayor capacidad, se optó por la Jetson Xavier NX por su equilibrio entre rendimiento y costo, sujeto a pruebas de concepto para validar su desempeño. https://store-usa.arduino.cc/products/arduino-mega-2560-rev3?selectedStore=us https://www.st.com/en/evaluation-tools/nucleo-f446re.html#overview https://www.pjrc.com/store/teensy41.html 32 Tabla 4.2 Tabla comparativa de procesadores (Elaboración propia) Jetson Xavier NX Raspberry Pi 4 modelo B Jetson Orin Nano Alimentación 9 - 19 V DC 5 V DC 19 V DC CPU 6-core NVIDIA Carmel ARM®v8.2 64-bit CPU 6 MB L2 + 4 MB L3 Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.8GHz 6-core Arm® Cortex®-A78AE v8.2 64-bit CPU1.5MB L2 + 4MB L3 GPU NVIDIA Volta architecture with 384 NVIDIA CUDA cores and 48 Tensor cores - 1,024-core NVIDIA Ampere architecture GPU with 32 Tensor Cores Memoria RAM 8 GB 128-bit LPDDR4x @ 51.2GB/s 8GB LPDDR4-3200 SDRAM 8GB 128-bit LPDDR568 GB/s Dimensiones 103 x 90.5 x 31 mm 56.5 x 85.6 x 11 mm 100 x 79 x 21 mm Empresa Seeed Studio Raspberry Pi Foundation Seeed Studio Precio $399 S/ 374.50 $499 Enlace Jetson Xavier NX Raspberry Pi 4 B Jetson Orin Nano 4.2. Subsistema de interacción En esta sección se realiza la selección de componentes que permiten la interacción adecuada del usuario con el carro de compras para mejorar la experiencia dentro del local. 4.2.1. Obtención de inputs del usuario El carro contará con un micrófono para captar la voz del usuario, este no debe ser susceptible al ruido ambiental y debe ser de tipo condensador de acuerdo con la matriz morfológica realizada. Se realiza una comparación técnica de micrófonos (Tabla 4.3), en la cual se toma como requerimiento que la respuesta en frecuencia se encuentre entre 50 y 300 Hz debido a que en promedio la frecuencia de voz masculina va de 50 – 200 Hz y la femenina de 150 – 350 Hz (Rodero, 2001) . Además, el micrófono debe de contar con un patrón cardioide para detectar la voz del usuario sin detectar ruido del entorno. Se selecciona el micrófono MX395 debido a que tiene un patrón polar cardioide, su respuesta de frecuencia está dentro del rango indicado y tiene dimensiones compactas. Tabla 4.3 Tabla comparativa micrófonos dinámicos (Elaboración propia) Requerimiento MV5 Microphone MX396 Microflex MX395 Microphone Tipo Condensador Electret Condensador Electret Condensador Condensador Patrón polar Cardioide Cardioide (unidireccional) 3 elementos cardioides Cardioide / bidireccional / omnidireccional Voltaje 5 V 48–52 Vdc 12 – 52 Vdc Corriente - MX396/C-DUAL:10mA MX396/C-TRI: 12mA 2 mA Conectividad USB - XLR Respuesta (Hz) 50 – 300 Hz 20 – 20, 000 Hz 50 – 17,000 Hz 50 – 170, 000 Hz Sensibilidad -40 dBFS/Pa at 1 kHz –35 dBV/Pa (18 mV) Cardioid: –35 dBV/Pa (18 mV) Omni.: –28 dBV/Pa (42 mV) Bidirec.: –37 dBV/Pa (14 mV) Impedancia - 170 ohm 170 ohm Dimensiones 66 x 67 x 65 mm Φ110 x 24 mm Φ32 x 102 mm Amplificador Sí (0 - +36 dB) No No Precio $ 99.00 $501 $211.00 Enlace MV5 MX396 MX395 https://www.seeedstudio.com/NVIDIA-Jetson-Xavier-NX-Developer-Kit-p-4573.html?queryID=b1bf38424cd655f3c42c52eee8024d39&objectID=4573&indexName=bazaar_retailer_products https://datasheets.raspberrypi.com/rpi4/raspberry-pi-4-product-brief.pdf?_gl=1*ots9q8*_ga*MTc4NTQ1MDgwNC4xNjkxMzcyMjg2*_ga_22FD70LWDS*MTY5MTM3MjI5MC4xLjEuMTY5MTM3MzQxNy4wLjAuMA.. https://www.seeedstudio.com/NVIDIAr-Jetson-Orintm-Nano-Developer-Kit-p-5617.html https://www.shure.com/en-US/products/microphones/mv5?variant=MV5-B-DIG https://www.shure.com/en-US/products/microphones/mx396?variant=MX396%2FC-DUAL https://www.shure.com/en-US/products/microphones/mx395?variant=MX395AL%2FBI 33 Por otro lado, el usuario también puede ingresar información por medio de una pantalla táctil, la cual de acuerdo con la matriz morfológica es de tipo capacitiva. También, los textos deben visualizarse de manera clara especialmente por personas con discapacidad visual parcial, por lo que el tamaño debe ser superior a 8 pulgadas. En la Tabla 4.4 se comparan pantallas, considerando factores como calidad de imagen, durabilidad y ángulos de visión. El sistema debe ofrecer una visualización clara desde distintos ángulos y evitar el desgaste por uso prolongado, por ello se selecciona una pantalla QLED, que proporciona alta precisión de color y buen contraste sin el riesgo de quemado presente en otras tecnologías. Entre las opciones evaluadas, se consideraron pantallas de 9 y 10.1 pulgadas, eligiéndose la de 10.1 pulgadas por su mayor tamaño y menor costo, optimizando así la funcionalidad y eficiencia. Tabla 4.4 Tabla comparativa de pantallas táctiles (Elaboración propia) Pantalla de Punto Cuántico QLED Pantalla Táctil Capacitiva 2K AMOLED Táctil Capacitiva Pantalla Punto Cuántico QLED 10.1 Tipo de pantalla QLED LCD AMOLED QLED Tamaño 9 pulgadas 8 pulgadas 10.5 pulgadas 10.1 pulgadas Resolución 1280 x 720 1536 x 2048 2560 x 1600 1280 x 720 Conectividad USB, HDMI USB-C, HDMI USB-C, HDMI USB, HDMI Puntos táctiles 10 10 10 10 Área de visualización 199.91 X 112.89 mm 159.74 x 119.80 mm 226.56 x 141.60 mm 225.64 X 127.36 mm Dimensiones 219.11 X 136.59 mm 190 x 128 x 11 mm 245.19 x 162.77 x 11.60 mm 245.80 x 153.58 mm Precio $ 125.65 $ 109.99 $ 199.99 $ 124.99 Enlace Waveshare 9in QLED Pantalla Tactil 2K Amoled 10,5 pulg Waveshare QLED Technical info Esta pantalla será utilizada constantemente durante el proceso de compras, es por ello que se requiere posicionarla ergonómicamente. La pantalla se encuentra en una carcasa en la parte superior de la cesta de compras. El ángulo de inclinación de la esta debe de permitir que el usuario visualice el contenido de manera ergonómica; lo cual en este proyecto implica no generar inclinaciones exageradas de la vista o del cuello que puedan generar incomodidad o tensión muscular. Por ello, se consideran los ángulos de flexión de cabeza y cuello junto con la orientación de la pantalla mostrados en la Figura 4.2.1. De acuerdo con un estudio en el cual se analizó la actividad muscular para distintos ángulos de inclinación del cuello, se recomienda que la inclinación del cuello al utilizar una pantalla de manera constante se encuentre entre 0 y 15° (Namwongsa et al., 2019); sin embargo, dado que el uso del carro de compras no involucra la inclinación por periodos prolongados a la pantalla, se tolera un ángulo mayor. Figura 4.2.1 Ángulos de flexión e inclinación al utilizar una pantalla (Young et al., 2011) https://www.robotshop.com/products/waveshare-9in-qled-quantum-dot-display-capacitive-touch-1280x720 https://www.robotshop.com/products/waveshare-9in-qled-quantum-dot-display-capacitive-touch-1280x720 https://www.robotshop.com/es/products/waveshare-8in-2k-capacitive-touch-display-toughened-glass-1536x2048-ips-us https://www.robotshop.com/es/products/105inch-capacitive-touch-amoled-hdmi-2560x1600-2k-rpi-jetson-nano https://www.waveshare.com/10.1HP-CAPQLED.htm https://es.aliexpress.com/item/1005002664585063.html 34 Se tiene un diagrama de la posición corporal del usuario al visualizar la pantalla en la Figura 4.2.2 y se realizan los cálculos considerando como altura promedio de un ciudadano peruano 1.60 metros, pues la estatura masculina promedio es de 1.65 metros y la femenina de 1.52 metros (Asgari et al., 2020). Figura 4.2.2 Diagrama de posición corporal al visualizar la pantalla (Elaboración propia) ℎ = 160 − 105 = 55 𝑐𝑚 𝑦 𝑑 = 25 𝑐𝑚 𝑡𝑎𝑛(𝛽) = ℎ 𝑑 𝑝𝑜𝑟 𝑙𝑜 𝑐𝑢𝑎𝑙 𝛽 = 65.56° Se desea que el usuario visualice el contenido de la pantalla en un ángulo entre 80 y 110°, por ello tomando 𝜃 = 90°, se obtiene 𝛼 = 25° como se muestra en la Figura 4.2.3; sin embargo, para procurar que la carcasa tenga en total ancho menor a 15 cm, se selecciona 𝛼 = 35° con lo cual 𝜃 = 100°. Esto brinda pues brinda un mayor margen horizontal para posicionar la pantalla en la carcasa. Figura 4.2.3 Dimensiones según la inclinación de la pantalla (Elaboración propia) Asimismo, se toma en cuenta el ángulo de visión que se observa en la Figura 4.2.4 para verificar si la inclinación seleccionada para la pantalla permite visualizar el contenido en un rango de visualización cómodo para el usuario. El diagrama para este análisis se visualiza en la Figura 4.2.5. Figura 4.2.4 Campos de visión y ángulos de rotación del ser humano (Extron Electronics, 2015) 35 Figura 4.2.5 Campo de visión del usuario para observar la pantalla (Elaboración propia) En la Figura 4.2.6 se muestra el gráfico de la geometría necesaria para determinar los ángulos de visión requeridos durante la compra del usuario. Se observa que estos son 6.6° y 6.9°, los cuales son menores a 25°. Esto indica que para que el usuario visualice todos los puntos de la interfaz requerirá de una rotación ocular menor a 25°, lo cual se encuentra en el rango óptimo. Figura 4.2.6 Geometría del campo de visión del usuario para observar la pantalla (Elaboración propia) 4.2.2. Respuesta al usuario Una vez que se genera la respuesta al usuario, si la opción de asistencia por voz se encuentra activada se emitirán los sonidos a través de altavoces incorporados en el carro. Por ello, seleccionan los altavoces para emitir la respuesta al usuario a partir de la tabla 4.5. Tabla 4.5 Tabla comparativa de altavoces (Elaboración propia) JBL Go 2 Parlante 1 W EWA A106MAX Módulo Waveshare Potencia nominal 3 W 1 W 8 W 5 W Impedancia - 8 ohm - 8 ohm Dimensiones 71.2 x 86 x 31.6 mm Φ 26 mm Φ 67.5 x 60 mm 92 x 36 x 21 mm Grado de protección IPX7 (resistente al agua hasta 1 m por 30 minutos) Ninguno IPX5 (resistente a chorros de agua de cualquier dirección) Ninguno Comunicación Bluetooth Alámbrica Bluetooth 4 PIN speaker header Precio $39.95 S/ 4.00 $ 29.99 $ 12.00 Enlace Parlante 1W Parlante 1W EWA A106MAX Módulo Waveshare https://mtlab.pe/producto/en32/ https://mtlab.pe/producto/en32/ https://www.amazon.com/-/es/EWA-A106Max-Altavoces-Bluetooth-inal%C3%A1mbrico/dp/B091XPJ7W7 https://www.waveshare.com/8ohm-5w-speaker.htm 36 Se seleccionan altavoces con potencia nominal mayor a 3 W para que el sonido sea claramente audible dentro del supermercado. Para garantizar una transmisión de audio estable y evitar pérdidas de conexión por interferencias, se optó por altavoces con conexión por cable al controlador (Verma et al., 2015). Tras evaluar además la potencia, dimensiones y precio se selecciona el altavoz Waveshare 8Ω 5 W. En la Figura 4.2.7 se muestra el diagrama de conexiones del sistema de interacción. Figura 4.2.7 Diagrama de conexiones del subsistema de interacción (Elaboración propia) 4.3. Subsistema de compra de productos En este subsistema se encuentran las funciones que intervienen directamente durante el proceso de compra. Se realizan cálculos y selección de componentes para mejorar la experiencia de compra. 4.3.1. Identificación de productos Se requiere que la identificación de productos por medio del código de barras se realice a través de cámaras para que estas detecten el producto independientemente de la posición en la cual el usuario lo ingrese a la cesta de compras. En la Tabla 4.6 se visualiza la comparación de cámaras realizada. Tabla 4.6 Tabla comparativa de cámaras (Elaboración propia) Requisitos Pixy 2.1 Vision Image Sensor Logitech StreamCam Raspberry Pi Camera Module 3 Raspberry Pi Camera Module 3 Wide Voltaje de entrada 5 V - 10 V DC 5 V DC - - Consumo corriente 140 mA - 250 mA 250 mA Resolución > 1 MP 1.27 MP 2.1 MP 11.9 MP 11.9 MP Frec. de muestreo >50 FPS 60 FPS 60 FPS 50 FPS 50 FPS Interfaz de comunicación I2C, UART, SPI, USB USB 3.1 CSI -2(Camera Serial Interface) CSI -2(Camera Serial Interface) Campo de visión horizontal > 70° 80° 70° 66° 102° Campo de visión vertical > 70° 40° 43° 41° 67° Enfoque Ajustable Automático Automático Automático Dimensiones 44x 48 x 15mm 66 x 58 x 48 mm 25 x 24 x 11.5 mm 25 x 24 x 12.4 mm Peso 10 g 150 g 4 g 4 g Fabricante Charmed Labs Logitech Raspberry Raspberry ¿Disponible localmente? No Sí Sí Sí Precio $ 69.95 S/ 560.00 $ 25 $ 35 Enlace Pixy 2.1 StreamCam Datasheet Datasheet https://www.robotshop.com/es/products/charmed-labs-pixy-21-robot-vision-image-sensor-rbc https://www.logitech.com/es-roam/products/webcams/streamcam.960-001280.html https://datasheets.raspberrypi.com/camera/camera-module-3-product-brief.pdf https://www.raspberrypi.com/documentation/accessories/camera.html 37 Se requiere que la frecuencia de muestro sea de mínimo 50 frames por segundo pues el ingreso de los productos a la cesta involucra movimientos rápidos, este requerimiento lo satisfacen las 3 alternativas. Asimismo, se trabajará con 6 cámaras distribuidas alrededor la cesta, por lo que es imprescindible que estas abarquen el mayor campo de visión posible. En consecuencia, se selecciona la Pi Cámara V3 Wide debido a que es la que cuenta con un mayor campo de visión para contar con una mayor área de escaneo. Se requiere de un adaptador que permita conectar estas 6 cámaras al computador, por ello en la Tabla 4.7 se realiza la selección de este. Dado que se utilizarán Pi Camaras V3 Wide, se puede trabajar de manera adecuada con el adaptador multicámara para Raspberry Pi 3 dada su compatibilidad. Se selecciona este adaptador debido a la diferencia de precios y dimensiones compactas. La Jetson Xavier NX cuenta con 2 puertos CSI (Camera Serial Interface), por lo que se coloca un adaptador a cada puerto y se trabajaría en simultáneo con 2 cámaras y de manera secuencial con 3 por cada adaptador. Tabla 4.7 Tabla comparativa de módulos adaptadores multicámara (Elaboración propia) Adaptador e- CAM30A_HEXCUTX2 Adaptador multicámara para Raspberry Pi 3 Seeed Studio A205 Carrier Board Voltaje de entrada 5 VDC 5 VDC 13-19 VDC Corriente 1.85 A - 8 A Cantidad máxima de cámaras 6 4 6 Dimensiones 75.03 x 40.69 mm 60 x 40 mm 170 x 100 mm Dispositivo para el cual fue diseñado NVIDIA® Jetson AGX Xavier™/Jetson™ TX2 haciendo uso de la cámara e- CAM30A_CUMI0330_MOD Raspberry Pi Model A/B/B+, Pi 2 and Raspberry Pi 4B, 3,3B+ NVIDIA Jetson Nano / Xavier NX/ TX2 NX ¿Compatible Jetson Xavier NX? Sí Sí Sí Funcionamiento de cámaras Simultáneo y secuencial Secuencial Simultáneo y secuencial Precio $ 1499 $ 50 $ 400 Enlace e-CAM30A_HEXCUTX2 Adaptador Raspberry Pi Dimensions: Arducam A205 Carrier board Se distribuyen las cámaras alrededor del borde superior de la cesta para detectar códigos de barras de productos. Se verifica que el ángulo de visión de las cámaras cubra adecuadamente el área delimitada por el borde de la cesta. En este caso, el ángulo de visión horizontal de la cámara Pi Cámara V3 Wide es de 102° (Raspberry Pi, 2024), lo cual genera el área de escaneo observada en la Figura 4.3.1. Figura 4.3.1 Campo de visión de las cámaras en el borde de la cesta (Elaboración propia) https://www.e-consystems.com/multiple-csi-cameras-for-nvidia-jetson-tx2.asp#key-features https://www.arducam.com/product/multi-camera-v2-1-adapter-raspberry-pi/ https://dlscorp.com/shop/arducam-multi-camera-adapter-board-for-raspberry-pi/ https://www.seeedstudio.com/A205-Carrier-Board-for-Jetson-Nano-Xavier-NX-p-5133.html 38 Sin embargo, puede darse el caso de que el código de barras del producto ingrese orientado hacia la base del carro, por lo que las cámaras laterales no podrían visualizarlo. Por ello, se cuenta con el sensor de peso, el cual indicará si se ingresó un producto no reconocido a la cesta para que el usuario pueda volver a ingresarlo al carro de compras. Estos sensores se colocan en la parte inferior de la cesta. En la Tabla 4.8 se comparan sensores de peso en función de su capacidad de carga y dimensiones. El carro debe soportar un peso máximo de 40 kg, en este aspecto los sensores evaluados cumplen con este requisito, incluso el modelo FZ1439, que podría emplearse en una configuración de dos unidades. No obstante, un factor clave en la selección es la altura del sensor, ya que debe colocarse en la base de la cesta, cuya altura es de 10 mm. Con este criterio, se elige el sensor SEN-10245, que no solo cumple con las restricciones dimensionales, sino que también ofrece una alta precisión en el rango de mV/V, lo que lo hace adecuado dado que los productos de supermercados pesan más de 1 gramo. Tabla 4.8 Tabla comparativa de sensores de peso (Elaboración propia) Requisitos Celda de Carga 50Kg YZC-1B Celda de Carga 50Kg FZ1439 Celda de Carga 50Kg Sen-10245 Voltaje de excitación 10 – 15 V 5– 10 V <= 10 V Peso máximo >=40 50 kg 20 kg 50 kg Sensibilidad de salida 2.0+-0.15 mV/V 1.0±0.1 mV/V 1.0±0.1 mV/V Error combinado <+-0.030 %RO ±0.03% FS 0.05 mV/V Temperatura de operación 0°C a 40°C -35ºC a 80ºC -10ºC a 50ºC 0ºC a 50ºC Dimensiones Alto menor a 10mm 130 x 30 x 22 mm 80 x 12.7 x 12.7 mm 34 x 34 x 7.8 mm ¿Disponible localmente? Sí Sí Sí Precio S/ 25.00 S/ 25.00 S/ 19.20 Enlace YZC-1B VL53L1X SEN-10245 El sensor seleccionado utiliza el transmisor HX711 para amplificar la señal eléctrica que emite, debido a que su voltaje de salida se encuentra en mV, y transmitirla al controlador. Es decir, este transmisor realiza internamente las tareas de acondicionamiento y conversión analógica/digital de la señal (AVIA Semiconductor, s.f.). A continuación, se muestra la tabla 4.9 con sus características detalladas. Tabla 4.9 Tabla de detalles técnicos del módulo HX711 (Elaboración propia) Módulo HX711 Voltaje de entrada 5V DC Consumo de corriente <10mA Resolución de conversión A/D 24 bit (16777216 cuentas) Frecuencia de lectura 80 Hz Dimensiones 38 x 21 x 10 mm ¿Disponible en el mercado local? Sí Precio S/ 12.00 Dado que la base de la cesta es de 80 x 50 x 1 cm y se cuenta con inclinación en un plano de la base para permitir el apilado de los carros como se observa en la Figura 4.3.2, se opta por utilizar 2 sensores de peso, con lo cual estos quedan posicionados al centro de cada plano, perpendiculares a su inclinación como se observa en la Figura 4.3.3 y las conexiones se realizarían como se observa en la Figura 4.3.4. https://naylampmechatronics.com/sensores/396-celda-de-carga-50kg.html https://naylampmechatronics.com/sensores-proximidad/715-sensor-de-distancia-tof-vl53l1x.html https://www.mouser.pe/ProductDetail/SparkFun/SEN-10245?qs=WyAARYrbSnaF3tJl7uQu7A%3D%3D 39 Figura 4.3.2 Diagrama de la base de la cesta de compras Figura 4.3.3 Ubicación de los sensores de peso en el ensamble general (Elaboración propia) Figura 4.3.4 Diagrama conexiones entre celdas de carga y módulo HX711 (Luuk, 2020) Asimismo, para evitar problemas debido a la falta de reconocimiento de un código de barras por parte de las cámaras y permitir la consulta de precios en el supermercado, se utiliza un lector de código de barras el cual es seleccionado a partir de la Tabla 4.10. El escáner debe de permitir un escaneo omnidireccional para facilitar el escaneo a los usuarios, por lo que se descarta el lector YHDAA. Se selecciona el lector FM430 debido a su tamaño compacto, lo cual es crítico en el diseño. Tabla 4.10 Tabla comparativa de lectores de código de barras (Elaboración propia) Lector alámbrico YHDAA Escáner FM430 Barracuda Lector CBX-P20 Voltaje 5 – 3.3 V 5 V 5 V Operating current 40 mA 276,8 mA 245 mA Tipo de simbologías 1D 1D y 2D 1D y 2D Tipo de escaneo Bidireccional Omnidireccional Omnidireccional Fuente de luz Láser 650 nm LED LED Modos de escaneo Manual y continuo Manual y continuo Manual, continuo y sensor Velocidad de codificación 300 escaneos/s 60 escaneos/s - Profundidad de lectura 2 – 85 mm 13 mil: 55-360 mm 5 mil:70-180 mm 10 mil: 50-170 mm QR (15mil) : 40-210 mm 13mil ENA: 0mm-130mm, 5mil code 39: 0mm-60mm, 20mil QR: 0mm-70mm Interfaz USB / RS232 / PS2 / TTL USB USB Dimensiones 180 x 60 x 50 mm 41.5 x 49.5 x 24.3 mm 75 x 70 x 145 mm Precio S/ 90 S/ 530 S/ 120 Enlace YHD-1100L FM430 Barracuda OBZ scanner http://www.yhdaa.com/English/Product/2895641916.html https://www.newland-id.com/es/productos/esc%C3%A1neres-fijos/fm430-barracuda https://www.amazon.com/-/es/pantalla-tel%C3%A9fono-minorista-supermercado-comercial/dp/B0BQJ349J1/ref=sr_1_26?c=ts&keywords=Esc%C3%A1neres%2Bde%2BC%C3%B3digos%2Bde%2BBarras&qid=1694808301&s=office-electronics&sr=1-26&ts_id=15327871&th=1 40 4.3.2. Desplazamiento vertical de la cesta de compras Por otro lado, se requiere supervisar la elevación de la cesta de compras, por ello se utiliza un sensor de distancia láser. En la Tabla 4.11 se muestra la comparación de sensores de distancia láser. Los sensores TOF VL53L0X y TOF VL53L1X permiten medir la elevación de la cesta de compras de acuerdo con el rango identificado; sin embargo, debido a la precisión se selecciona el sensor TOF VL53L1X. Tabla 4.11 Tabla comparativa de sensores de distancia (Elaboración propia) Requisitos Sensor de distancia TOF VL53L0X Sensor de distancia TOF VL53L1X Sensor de distancia óptico VL6180X Voltaje de entrada 3 - 5 V DC 3 - 5 V DC 3 - 5 V DC Consumo de corriente 10 mA 16 mA 10 mA Rango de medición 300 - 1000 50 – 1200 mm 40 – 4000 mm 5 - 100 mm Precisión +/- 30 mm +/- 20 mm - Interfaz digital I2C 400kHz I2C 400kHz I2C 400kHz Tipo de láser Clase 1 (Estándar IEC 60825-1:2014) Clase 1 (Estándar IEC 60825-1:2014) - Dimensiones 10.5 x 13.3 x 1 mm 10.5 x 13.3 x 1 mm 4.8 x 28 x 1 mm ¿Disponible localmente? Sí Sí Sí Precio S/ 69.00 S/ 75.00 S/ 26.00 Enlace VL53L0X VL53L1X VL6180X Para evitar que la cesta exceda sus límites de ascenso o descenso, se instalan sensores de final de carrera que envían una señal al alcanzar la posición límite, previniendo posibles fallos. La Tabla 4.12 muestra la evaluación de sensores, seleccionándose un sensor de final de carrera mecánico, ya que ofrece una mayor vida útil en comparación con los ópticos (Naylamp Mechatronics, s.f.). Entre las opciones mecánicas, se elige el sensor Creality por su diseño compacto y por incluir circuitos de protección. Tabla 4.12 Tabla comparativa de sensores de final de carrera (Elaboración propia) Sensor mecánico Creality Sensor mecánico RAMPS Final de carrera mini 3 pines 1A Sensor óptico RAMPS Voltaje de entrada 5 V DC 5 V DC 5 V DC 5 V DC Tipo de límite Switch Switch Switch Sensor infrarrojo Conector 3 pines (5V, SALIDA, GND) 4 pines (5V, 0V, 0V, Salida) 3 pines (5V, SALIDA, GND) 3 pines (5 V, GND y Salida) Dimensiones 20 x 20 x 1.6 mm 40 x 15 x 1.6 mm 13 x 5.8 x 6.3 mm 30 x 11 x 6.3 mm ¿Disponible localmente? Sí Sí Sí Sí Precio S/ 10.00 S/ 6.00 S/ 1.20 S/ 8.00 Enlace SFC_mecánico SFC_mecánico Final de carrera mini SFC_óptico 4.4. Subsistema de navegación Se requiere que el sistema brinde herramientas para la navegación del usuario dentro del supermercado y la localización de productos en el local, esto cobra especial importancia si el usuario tiene discapacidad visual parcial. Por ello, se requiere de una localización precisa del carro dentro del local y sensores del entorno para advertir la presencia de objetos u obstáculos. https://naylampmechatronics.com/sensores-proximidad/325-sensor-vl53l0x-de-tof.html https://naylampmechatronics.com/sensores-proximidad/715-sensor-de-distancia-tof-vl53l1x.html https://www.st.com/resource/en/datasheet/vl6180x.pdf https://naylampmechatronics.com/cnc-open-source-hw/137-sensor-final-de-carrera-mecanico-ramps.html https://naylampmechatronics.com/cnc-open-source-hw/137-sensor-final-de-carrera-mecanico-ramps.html https://saisac.pe/producto/final-de-carrera-mini-3-pines-1a-en-curva/ https://naylampmechatronics.com/cnc-open-source-hw/134-sensor-final-de-carrera-optico-ramps.html 41 En inicio, se selecciona el sensor de localización por ancho de banda elegido en la matriz de funciones, para determinar la ubicación del carro de compras dentro del local. Se realiza una comparación entre tecnologías similares en la Tabla 4.13. Se selecciona el sistema de localización de Pozyx debido a la precisión en la ubicación, la cual es importante para realizar indicaciones de desplazamiento adecuadas a los usuarios. Además, su alcance de 100 metros resulta adecuado para el entorno de un supermercado, ya que las antenas (Anchors) pueden colocarse estratégicamente según las necesidades del espacio. Tabla 4.13 Tabla comparativa dispositivos UWB (Elaboración propia) Requisitos Identificador UWB Zebra Tag industrial UWB Pozyx con anchors(antenas) Sensor y tag Inpixon Frecuencia de operación 6,35 - 6,75 GHz 6,5 GHz 6,4 GHz Alimentación Baterías Baterías Baterías Dimensiones 40 x 60 x 1 mm 50 x 42 x 15 mm 170 x 120 x 17 mm Precisión de posición < 40 cm <30cm 10 – 30 cm - Alcance 200m 100m 50 m Protección IP IP67 IP66/67 IP68 ¿Disponible localmente? No No No Enlace UWB Zebra Tag: Tracking tag UWB Pozyx UWB inpixon En la Figura 4.4.1 se observa el funcionamiento en conjunto de estos dispositivos de localización. Para implementar el sistema, es necesario adquirir tanto los tags de posicionamiento como los anchors de Pozyx, los cuales operan como antenas receptoras y transmisoras de señal. Figura 4.4.1 Integración de dispositivos para localización UWB (Pozyx, 2022) Asimismo, se debe garantizar que los usuarios no choquen con obstáculos dentro del local por lo que el carro de compras emitirá sonidos cuando se detecte cercanía de objetos a la parte frontal del carro. Esta herramienta es de gran importancia para aquellas personas con discapacidad visual parcial que tienen dificultad para identificar adecuadamente su entorno o percibir. Se utilizan sensores de ultrasonido para identificar esos obstáculos debido a su precisión, bajo costo y facilidad de uso. La comparación de estos sensores se encuentra en la Tabla 4.14. Dado que se requiere detectar objetos al menos a 2 cm del carro, se descarta el sensor JSN-SR04T. Por otro lado, los sensores HC-SR04 y US-100 cuentan con atributos semejantes, por ello debido al factor económico se selecciona el sensor HC – SR04. Este sensor tiene un mejor rendimiento en un ángulo de trabajo menor a 30° medidos desde la vertical hacia cada lado como se observa en la Figura 4.4.2.(Handson Technology, s.f.). https://www.zebra.com/la/es/products/location-technologies/ultra-wideband.html#tag https://www.pozyx.io/products/hardware/tags/wearable-tracking-tag https://www.pozyx.io/products/hardware/hardware-anchors https://www.inpixon.com/technology/product-catalog 42 Tabla 4.14 Tabla comparativa de sensores de ultrasonido (Elaboración propia) Requisitos Sensor HC – SR04 Sensor JSN - SR04T Sensor US -100 Voltaje de operación 5 V DC 5 V DC 5 V DC Corriente de trabajo 15 mA 30 mA 15 mA Rango de medición 2 cm (límite inferior) 2 – 450 cm 25 – 450 cm 2 – 450 cm Precisión +/- 3mm +/- 0.3mm +/- 3mm Ángulo de apertura 15° <50° 15° Frec. de ultrasonido 40KHz 40KHz 40KHz Modos de comunicación TRIGGER TRIGGER TRIGGER y UART ¿Resistente al agua? No Sí No Dimensiones 45 x 20 x 15 mm Tarjeta: 41 x 28.5 mm Transductor: D25 x L19mm 45 x 20 x 15 mm ¿Disponible en el mercado local? Sí Sí Sí Precio S/ 8.00 S/ 55.00 S/ 24.00 Enlace HC-SR04 JSN-SR04T US-100 Figura 4.4.2 Eficiencia de medida de acuerdo con el ángulo HC-SR04 (Handson Technology, s.f.) Se considera el funcionamiento de los sensores de ultrasonido en 30° para un óptimo funcionamiento, se debe determinar la distribución óptima de estos para detectar obstáculos entorno al usuario. En un inicio, se analiza una distribución horizontal como se muestra en la Figura 4.4.3. Se observa que, si se utilizan 3 sensores alineados, a 103.9 mm del borde de la cesta de compras se llega a detectar obstáculos frontales adecuadamente. Este rango es adecuado para la persona con discapacidad visual porque le permite detenerse al menos a 10 cm de un obstáculo; sin embargo, tiene un ángulo de análisis de 60° por lo que al realizar los giros no se analizan obstáculos en los extremos, lo cual podría causar choques del usuario. Por ello, se opta por la distribución que se muestra en la Figura 4.4.4. la cual abarca un ángulo de análisis de 93.52°, el cual permite brindar mayor protección. Figura 4.4.3 Distribución lineal de sensores de ultrasonido (Elaboración propia) https://naylampmechatronics.com/sensores-proximidad/10-sensor-ultrasonido-hc-sr04.html https://naylampmechatronics.com/sensores-proximidad/326-sensor-ultrasonido-jsn-sr04t.html https://naylampmechatronics.com/sensores-proximidad/283-sensor-ultrasonico-us-100.html 43 Figura 4.4.4 Distribución con giro de sensores de ultrasonido (Elaboración propia) 4.5. Subsistema mecánico En esta sección se realizan los cálculos mecánicos y la selección de materiales para los componentes del carro de compras inteligente. En un inicio, se realiza la selección del material de fabricación de la cesta de compras en la Tabla 4.15. El polietileno de alta densidad (HDPE) destaca por su alta resistencia al impacto y a la humedad, requisitos clave del proyecto. Asimismo, el polipropileno y el polietileno de alta densidad son livianos, lo cual es necesario para que la cesta no sea pesada y no requiera de gran fuerza para ser empujada por el usuario. En base al análisis, se selecciona el polietileno de alta densidad (HDPE) por su resistencia, baja densidad y capacidad para soportar el peso diario de los productos sin dañarse. Tabla 4.15 Tabla comparativa de materiales para fabricación de la cesta (Elaboración propia) Requisitos Polipropileno (PP) Polietileno de alta densidad (HDPE) Poliestireno (PS) Resistencia a la tracción 30 – 45 MPa 20 – 40 MPa 30 – 50 MPa Módulo de elasticidad 1200 – 1800 MPa 900 – 1800 MPa 2000 – 3500 MPa Resistencia al impacto 15 – 30 J/m 30 – 130 J/m 5 – 10 J/m Resistencia a la compresión 30 – 40 MPa 30 – 50 MPa 35 – 50 MPa Resistencia a la humedad Alta Media (baja absorción de agua) Alta (Impermeable) Baja Densidad 0.9 g/cm3 0.95 g/cm3 1.04 g/cm3 Temperatura de fusión > 100° C 130 – 171 °C 120 – 140 °C 70 - 90 °C Temperatura de deformación bajo carga > 50° C 80 – 100 °C 50 - 80 °C 70 - 90 °C 4.5.1. Diseño mecánico del subsistema de carga de peso En esta sección se evalúa el comportamiento mecánico de la base de la cesta de compras, la cual como requerimiento debe de soportar como mínimo 40 kg en peso de las compras sin deformarse. Se realiza el análisis de estabilidad de esta cesta con el propósito de hallar las distancias de separación de los soportes que brinden mayor estabilidad. Luego se procede a simular el comportamiento de la base bajo condiciones de carga para analizar la distribución de esfuerzos, el factor de seguridad y las deformaciones a través de técnicas de simulación y análisis por elementos finitos (FEA). Se presenta el diagrama de cuerpo libre de la base de la cesta de compras en la Figura 4.5.1 asumiendo que de manera ideal el peso de los productos se encuentra repartido de manera uniforme. 44 Figura 4.5.1 Diagrama de cuerpo libre de la base de la cesta (Elaboración propia) Inicialmente, se realiza el análisis de fuerzas en el plano XY como se observa en la Figura 4.5.2 y se plantean las ecuaciones de equilibrio. Figura 4.5.2 Diagrama de cuerpo libre de la base en el plano XY (Elaboración propia) 𝛴𝐹𝑦: 2𝑅1 + 2𝑅2 = 𝑊 𝛴𝑀𝑧: 2𝑅1 × 𝑎 = 2𝑅2 × 𝑏 𝑐𝑜𝑛 𝑎 + 𝑏 < 80 𝑐𝑚 La estructura del carro de compras está diseñada para permitir el almacenamiento de múltiples carros al posibilitar que se encajen unos dentro de otros hasta la mitad de su longitud. Por ello, el parámetro de soporte frontal se ha establecido en 𝑏 = 0 𝑐𝑚 , de modo que los soportes frontales lleguen únicamente hasta la mitad del carro de compras. Además, en la parte posterior debe haber espacio para que las personas con sillas de ruedas estén cómodas, por ello se define 𝑎 ≤ 35 𝑐𝑚. Se seleccionan a = 32 cm y b = 2 cm, en base a lo cual se realizará el análisis de esfuerzos. Se selecciona un espesor de la base de 10 cm en base a las pruebas realizadas a través del Análisis por Elementos Finitos (FEA) del sistema que soporta el peso (base, componente de acople y tornillo sin fin) como se observa en la Figura 4.5.3. El análisis se realizó aplicando una carga de 40 kg (equivalente a 392 N), correspondiente al peso máximo que la cesta debe soportar. Los resultados obtenidos permiten evaluar la deformación, los esfuerzos y el factor de seguridad del sistema estructural. En inicio, en la Figura 4.5.4 se observa la deformación de la base al aplicarse el peso. La deformación total máxima de la base es de 0.0025951 m (2.6 mm). Este valor se encuentra en el extremo libre de la base debido a la distribución de la carga aplicada. La deformación disminuye progresivamente hacia la región central, donde se encuentra el punto de soporte (tornillo sin fin y componente de acople), confirmando que el diseño es adecuado para minimizar deflexiones excesivas. 45 En la Figura 4.5.5 se observan los esfuerzos generados por la carga a través del Esfuerzo Equivalente de Von Mises. El esfuerzo máximo generado en la base es de 0.011253 MPa, localizado principalmente en la zona de acople entre la base y el tornillo sin fin. Este valor es significativamente menor en comparación con el límite elástico del material (HDPE), lo cual indica que la base tiene un riesgo bajo de experimentar fallas por deformación plástica o fractura bajo la carga máxima. Finalmente, se analiza el factor de seguridad de la cesta, el cual presenta un valor mínimo de 4.01984 en la zona crítica de acople (Figura 4.5.6). Esto indica que la base es 4 veces más resistente que las cargas aplicadas, lo cual proporciona un margen adecuado de seguridad estructural. El resto de la estructura presenta factores de seguridad mayores, lo cual indica que el peso al cual se encuentra sometido es seguro porque es menor que el peso máximo que puede de soportar (Hibbeler, 2011, p. 46). Figura 4.5.3 Subsistema que soporta el peso de las compras (Elaboración propia) Figura 4.5.4 Diagrama de deformación debido al peso (Elaboración propia) Figura 4.5.5 Diagrama de esfuerzos debido al peso (Elaboración propia) 46 Figura 4.5.6 Análisis del factor de seguridad (Elaboración propia) 4.5.2. Análisis de resistencia del subsistema de soporte de carga A continuación, se analiza la falla por pandeo del tornillo sin fin cuando la cesta se encuentra en su máxima elevación y soporta el máximo peso permitido, debido a que este es el caso crítico. En la Figura 4.5.7, se observa el análisis de deformación total del tornillo sin fin bajo una carga máxima de 40 kg. La deformación máxima registrada es de 1.4132e-6 m, lo que indica una ligera deformación a lo largo del tornillo sin fin, siendo prácticamente imperceptible en términos estructurales. Esto sugiere que el tornillo sin fin es capaz de soportar la carga sin experimentar deformaciones significativas. En la Figura 4.5.8, se presenta el análisis del factor de seguridad, donde se observa que el tornillo mantiene un factor de seguridad constante de 15, lo cual indica que el diseño no presenta riesgos de falla bajo las condiciones de carga establecidas. El valor elevado del factor de seguridad respalda la integridad estructural del componente, asegurando la operación segura de este. Figura 4.5.7 Análisis de la deformación del tornillo sin fin (Elaboración propia) Figura 4.5.8 Análisis del factor de seguridad del tornillo sin fin (Elaboración propia) 47 4.5.3. Mecanismo de modificación de cesta de compras Se realiza el diseño del mecanismo de modificación del alto de la cesta de compras para que esta se pueda adaptar al ser usada por personas en silla de ruedas. Se utiliza un mecanismo de tijera como se muestra en la Figura 4.5.9. Dado que se requiere que se este sistema pueda plegarse totalmente para no ocupar espacio, la separación entre pines de cada brazo debe de ser como se muestra en la Figura 4.5.10. A continuación se realiza el cálculo de las dimensiones de acuerdo con este diagrama. Figura 4.5.9 Mecanismo elevador de tijera (Elaboración propia) Figura 4.5.10 Dimensiones mecanismo elevador de tijera (Elaboración propia) La cesta debe de variar su alto en 20 cm y considerando que cuando el mecanismo de tijera se encuentra contraído, este tiene una altura de 8cm, la altura del mecanismo totalmente extendido debe ser superior a 28cm. Con ello 4𝑎 ≥ 28 𝑐𝑚, lo cual da como resultado 𝑎 ≥ 7 𝑐𝑚. Si se considera un 𝑎 = 7 𝑐𝑚, cuando el mecanismo de tijera se encuentra contraído su ancho es de 2 ∗ 𝑎√2 = 19.799 𝑐𝑚, el cual es adecuado porque es menor al ancho de la cesta. Por tanto, la separación entre agujeros de las piezas sería de 𝑎√2 = 9.899 𝑐𝑚 en las 4 de menor longitud y 2 ∗ 𝑎√2 = 19.799 𝑐𝑚 en las 2 de mayor longitud. Sin embargo; para facilitar la fabricación de estos componentes, se selecciona como separaciones 10 𝑐𝑚 y 20 𝑐𝑚 respectivamente, lo cual genera una altura en expansión total de 10 √2 ∗ 4 = 28.28 𝑐𝑚. 48 Las barras deben de ser de máximo 2 mm de espesor para que puedan ser localizadas en el interior de las carcasas laterales de la cesta, por ello se usan barras metálicas de acero SAE 1045, el cual brinda un nivel medio de resistencia mecánica y tenacidad a bajo costo (Cia. General de Aceros S.A, s.f.). Asimismo, se requiere que la cesta mantenga su altura a menos que el usuario desee variarla, por ello se utilizan ball plungers, los cuales permiten variar la posición bajo presión en situaciones de poca carga, como lo es la fuerza aplicada por una persona para descender la cesta (Monroe Engineering, s.f.- b). Los ball plungers son resistentes a vibraciones y no requieren de componentes complementarios para su funcionamiento, lo cual los hace adecuados para el proyecto (Stock Drive Products Sterling Instrument, s.f.). En la Figura 4.5.11 se visualizan las partes de este mecanismo. Figura 4.5.11 Partes de un ball plunger (Monroe Engineering, s.f.-a) La fuerza de empuje máxima de un varón es de 227 N sentado y 251 N de pie, mientras que de una mujer es 96 N sentada y 140 N de pie (Das & Wang, 2004). Se desea que la fuerza de empuje para el descenso de la cesta no requiera de esfuerzo por parte del usuario, por ello los dos émbolos de bola colocados en el mecanismo de modificación de altura deben permitir el movimiento con una fuerza de empuje entre 35 y 50 N para que, al aplicarla en ambos lados de la cesta, se requiera entre 70 y 100 N en total. A continuación, se realizan cálculos para determinar la fuerza normal para desenganchar el émbolo de bola del orificio de retención en base a la fuerza tangencial del usuario. Se calcula esta fuerza (Figura 4.5.12) para ángulos de avellanado de 60° y 90° pues son utilizados de manera convencional. Figura 4.5.12 Cálculo de desenganche émbolo de bola (Wixroyd, s.f.) 𝐹𝑋 = 𝐹 𝑇𝑎𝑛 ( 𝛼 2) Se estableció que 𝐹𝑥 ∈ [35 , 50] 𝑃𝑎𝑟𝑎 𝛼 = 60°: 𝐹 ∈ [20.21 , 28.87] 𝑁 𝑃𝑎𝑟𝑎 𝛼 = 90°: 𝐹 ∈ [35 , 50] 𝑁 Se observa que con 𝛼 = 90° la fuerza normal que debería requerir el émbolo para desengancharse se encuentra entre 35 y 50 N, mientras que con 𝛼 = 60° , la fuerza se encuentra entre 20.21 y 28.87 N. 49 Como se observa en la Figuras 4.5.13 y 4.5.14, los émbolos que requieren de una mayor fuerza normal tienen dimensiones mayores, por ello se escoge un avellanado de 60° para que las dimensiones del émbolo de bola sean menores. Con ello, se selecciona el émbolo S707CBMSL1222 pues la fuerza normal F2 es la más cercana al rango F deseado. Este es un plunger métrico de medidas M8 x 16 mm. Figura 4.5.13 Proyecciones del émbolo de bola (Stock Drive Products Sterling Instrument, s.f.) Figura 4.5.14 Selección de émbolo de bola comercial (Stock Drive Products Sterling Instrument, s.f.) 4.5.4. Disposición de ruedas del carro de compras El carro de compras cuenta con cuatro ruedas giratorias para facilitar el desplazamiento y giro de los usuarios dentro del local. Esta configuración permite que el carro se mueva hacia adelante, atrás y los costados sin tener que girarlo, lo cual es útil en entornos de alta maniobrabilidad como lo son los supermercados. Se deben de disponer las ruedas en la base de tal forma que se distribuyan adecuadamente los pesos y se pueda realizar un giro con diámetro máximo de 1 metro. En la Figura 4.5.15 se analiza la disposición de las ruedas en el carro para analizar el giro de este. El mínimo giro se da cuando las ruedas giran alrededor de su mismo eje como se ve en la Figura 4.5.16. Figura 4.5.15 Disposición de ruedas en la base del carro (Elaboración propia) 50 Figura 4.5.16 Giro con menor diámetro (Elaboración propia) El diámetro de giro está dado por: 𝑑 = √𝑎2 + ( 𝑏 2 + 𝑐 2 ) 2 . Si se toman valores de 𝑎 = 70 𝑐𝑚, 𝑏 = 35 𝑐𝑚 y 𝑐 = 45 𝑐𝑚, se obtiene el valor de 𝑑 = 80.62 𝑐𝑚. Con ello, se cumple el requerimiento de que el diámetro de giro sea menor a 1 metro. 4.5.5. Elevación y descenso de la cesta de compras Se requiere variar la elevación de la cesta de compras entre 80 cm y 120 cm, por ello se diseña un mecanismo de elevación y descenso que permita variar la elevación de la cesta a través de un par de engranajes rectos y un tornillo sin fin cilíndrico. La ventaja principal de este mecanismo es que no presenta contramarcha, lo cual implica que puede ser utilizado sin un freno en una aplicación de mantenimiento de carga como en este caso con la cesta de compras (Robert L. Norton, 2009). En la elección de materiales, se sugiere que la corona sea de un material más blando que el tornillo para conseguir un engrane más suave (Hernandez & Martínez, 2022). Para el tornillo se selecciona el acero inoxidable AISI 304 para garantizar durabilidad en entornos húmedos y para los engranajes helicoidales se selecciona la aleación de aluminio 7075-T6 debido a su ligereza y resistencia al desgaste y corrosión. Por otro lado, es necesario definir y calcular los parámetros de los engranajes y del tornillo sin fin, por ello a continuación se detalla el procedimiento. Inicialmente, se selecciona el módulo de los engranajes a utilizar para lo cual se toma como base los módulos y pasos unificados en la norma ISO 4156, los cuales se observan en la Figura 4.5.17. Se selecciona un módulo de 1.5 mm al cual corresponde un paso de 4.712 mm para los engranajes. Dado que se requiere tener una alta eficiencia de transmisión y se requiere transmitir una gran cantidad de fuerza con el menor ruido y vibraciones posibles, se opta por seleccionar un ángulo de presión α=20°, debido a que aquellos con ángulo menor a 15° son no recomendados pues generan un diámetro de rueda grande (Budynas & Nisbett, 2011, p. 695) y es utilizado de manera comercial (KHK Stock Gears, s.f.). 51 Figura 4.5.17 Extracto de módulos y pasos unificados norma ISO 4156 (Tandazo et al., 2020) El piñón es la rueda dentada con menor número de dientes y corona aquella con el mayor número de dientes. En este caso, se requiere transformar la velocidad del motor en torque para elevar la carga, por ello el piñón será la rueda dentada unida al motor y la corona aquella rueda que engrana a 90° con este. Relación de transmisión (u): 𝑢 = 𝑧2 𝑧1 = 𝜔1 𝜔2 = 2 Se realiza el cálculo del mecanismo de corona y tornillo sin fin. Se requiere que el tornillo eleve la cesta, la cual soporta hasta 40 kg de productos. Para ello, el tornillo debe generar una fuerza axial para levantar este peso y desplazarse verticalmente. Esta fuerza es generada por el par de torsión que brinda el engranaje helicoidal, el cual tiene la parte interior roscada que actúa como tuerca (Figura 4.5.18). Figura 4.5.18 Análisis de torque en tornillo sin fin (Vanegas, 2018, p. 387) Cuando el tornillo desea girar, se generan fuerzas de fricción en los flancos de este que se oponen al movimiento de rotación. Estas fuerzas generan pares de torsión que deben de ser vencidos para lograr el movimiento del tornillo. A continuación, se detalla el análisis de las fuerzas que actúan en el tornillo sin fin para calcular los pares de torsión de subida (Ts) y de bajada (Tb). Se realiza un diagrama de cuerpo libre de los flancos del tornillo (Figura 4.5.19) y se aplican las ecuaciones de estabilidad. En los diagramas, 𝑑𝑚 representa el diámetro medio, Ps representa la fuerza generada por el par de torsión Ts y Pb la fuerza generada por Tb. Asimismo, 𝜇 representa el coeficiente de fricción estático, 𝜆 el ángulo de avance y 𝐹𝑛 la fuerza normal generada por el peso a elevar. Figura 4.5.19 Diagrama de cuerpo libre de flancos del tornillo sin fin (Vanegas, 2018, p. 389) 52 Caso 1: Subir la carga Las ecuaciones de equilibrio se muestran a continuación: ∑𝐹𝑥 = 0 ∶ 𝑃𝑠 − 𝜇 ∗ 𝐹𝑛∗𝑐𝑜𝑠(𝜆) − 𝐹𝑛∗𝑠𝑒𝑛(𝜆) = 0 ∑𝐹𝑦 = 0 ∶ 𝐹𝑛∗𝑐𝑜𝑠(𝜆) − 𝐹𝑇 − 𝜇 ∗ 𝐹𝑛∗𝑠𝑒𝑛(𝜆) = 0 Operando se obtiene 𝑃𝑠 = 𝐹𝑇 ⋅ 𝑠𝑖𝑛(𝜆)+𝜇∗cos (𝜆) 𝑐𝑜𝑠(𝜆)−𝜇∗𝑠𝑒𝑛(𝜆) , lo cual es equivalente a 𝑃𝑠 = 𝐹𝑇 ⋅ 𝑡𝑎𝑛(𝜆)+𝜇 1−𝜇∗𝑡𝑎𝑛(𝜆) . Además, el par de torsión se obtiene al multiplicar la fuerza por el diámetro medio del tornillo, por ello 𝑇𝑠 = 𝑃𝑠 ∗ 𝑑𝑚 2 . Además, del diagrama de cuerpo libre se observa que 𝑡𝑎𝑛(𝜆) = 𝑙 𝜋∗𝑑𝑚 . Reemplazando estos valores en la ecuación previa se obtiene: 𝑇𝑠 = 𝐹𝑇 ∗ 𝑑𝑚 2 ∗ 𝑙+𝜇⋅𝜋⋅𝑑𝑚 𝜋∗𝑑𝑚−𝜇∗𝑙 . Caso 2: Bajar la carga Las ecuaciones de equilibrio se muestran a continuación: ∑𝐹𝑥 = 0 ∶ −𝑃𝑏 + 𝜇 ∗ 𝐹𝑛∗𝑐𝑜𝑠(𝜆) − 𝐹𝑛∗𝑠𝑒𝑛(𝜆) = 0 ∑𝐹𝑦 = 0 ∶ 𝐹𝑛∗𝑐𝑜𝑠(𝜆) − 𝐹𝑇 + 𝜇 ∗ 𝐹𝑛∗𝑠𝑒𝑛(𝜆) = 0 Operando se obtiene 𝑃𝑏 = 𝐹𝑇 ⋅ −𝑠𝑖𝑛(𝜆)+𝜇∗cos (𝜆) 𝑐𝑜𝑠(𝜆)+𝜇∗𝑠𝑒𝑛(𝜆) , lo cual es equivalente a 𝑃𝑏 = 𝐹𝑇 ⋅ −𝑡𝑎𝑛(𝜆)+𝜇 1+𝜇∗𝑡𝑎𝑛(𝜆) De igual forma, 𝑇𝑏 = 𝑃𝑏 ∗ 𝑑𝑚 2 y se cumple que en el diagrama 𝑡𝑎𝑛(𝜆) = 𝑙 𝜋∗𝑑𝑚 . Reemplazando ello: 𝑇𝑏 = 𝐹𝑇 ∗ 𝑑𝑚 2 ∗ −𝑙+𝜇⋅𝜋⋅𝑑𝑚 𝜋∗𝑑𝑚+𝜇∗𝑙 . Se selecciona un tornillo sin fin comercial, cuyas especificaciones se observan en la Figura 4.5.20, con su respectiva corona para facilitar la adquisición y disminuir el precio. El engranaje helicoidal se acopla con pernos con la corona del tornillo sin fin para moverse solidariamente. De esta forma, el torque del engranaje helicoidal es transmitido al tornillo. Como el peso del sistema no equipara a cargas industriales, se opta por seleccionar tornillos sin fin empleados para impresión 3D debido a su menor tamaño y peso. En aplicaciones comerciales, la corona se fabrica de latón o aleación de cobre-latón, materiales que garantizan una superficie suave para reducir la fricción y soportar el movimiento repetitivo. Por su parte, los tornillos son fabricados en acero. El coeficiente de fricción estático convencional entre el acero y el cobre es de 0.53, y el dinámico es de 0.36 (Serway & Jewett, 2014). Al tener la aleación cobre-latón este coeficiente de fricción disminuye debido a que el latón es más blando; sin embargo, al no contar con información de las propiedades de la aleación se decide utilizar el mayor coeficiente de fricción el cual es del cobre para garantizar que el momento torsor es el necesario. Se selecciona un paso de 6 mm con un avance de 𝑙 = 6 𝑚𝑚. 53 Figura 4.5.20 Especificaciones de tornillos sin fin (Nanjing Jiangning Shuntai Precision Machinery Factory, s.f.) Con estos datos, se realizan los cálculos para determinar los torques necesarios para elevar la carga: Diámetro medio del tornillo: 𝑑𝑚 = 32𝑚𝑚 obtenido de la Figura 4.5.20. Fuerza de la carga: 𝐹𝑇 = 40 𝑘𝑔 ∗ 𝑔 = 392.4 𝑁 Torque de subida 𝑇𝑠_𝑒𝑠𝑡á𝑡𝑖𝑐𝑜 = 𝐹𝑇 ∗ 𝑑𝑚 2 ∗ 𝑙+𝜇⋅𝜋⋅𝑑𝑚 𝜋∗𝑑𝑚−𝜇∗𝑙 = 3.82 𝑁 ∗ 𝑚 Torque de bajada 𝑇𝑏_𝑒𝑠𝑡á𝑡𝑖𝑐𝑜 = 𝐹𝑇 ∗ 𝑑𝑚 2 ∗ −𝑙+𝜇⋅𝜋⋅𝑑𝑚 𝜋∗𝑑𝑚+𝜇∗𝑙 = 2.86 𝑁 ∗ 𝑚 El torque necesario para elevar la carga es mayor al requerido para bajarla, por ello se trabaja con este para los cálculos de potencia del motor. Asimismo, se calcula el toque de operación, el cual es necesario una vez que se salió del reposo cuando se eleva la carga. Para ello se considera un coeficiente de fricción dinámico de 0.36. Torque de subida 𝑇𝑠_𝑐𝑖𝑛é𝑡𝑖𝑐𝑜 = 𝐹𝑇 ∗ 𝑑𝑚 2 ∗ 𝑙+𝜇⋅𝜋⋅𝑑𝑚 𝜋∗𝑑𝑚−𝜇∗𝑙 = 2.69 𝑁 ∗ 𝑚 Torque de bajada 𝑇𝑏_𝑐𝑖𝑛é𝑡𝑖𝑐𝑜 = 𝐹𝑇 ∗ 𝑑𝑚 2 ∗ −𝑙+𝜇⋅𝜋⋅𝑑𝑚 𝜋∗𝑑𝑚+𝜇∗𝑙 = 1.85 𝑁 ∗ 𝑚 La velocidad por requerimiento es menor a 20 mm/s, por ello se selecciona una velocidad de subida/bajada de 10 mm/s. Además, como el avance es 𝑙 = 6 𝑚𝑚, el sistema girará 1.67 vueltas por segundo, lo cual hace que sean 100 revoluciones por minuto (𝜔𝑡𝑜𝑟𝑛𝑖𝑙𝑙𝑜 = 200 𝑅𝑃𝑀). Dado que el tornillo tiene un avance igual al paso de la rosca, la relación de transmisión es de uno. Relación de transmisión (i): 𝑖 = 1 Por tanto 𝑖 = 𝑤𝑡𝑜𝑟𝑛𝑖𝑙𝑙𝑜 𝑤𝑐𝑜𝑟𝑜𝑛𝑎 = 100 𝑤𝑐𝑜𝑟𝑜𝑛𝑎 = 1. Se obtiene 𝑤𝑐𝑜𝑟𝑜𝑛𝑎 = 100 𝑅𝑃𝑀 Como se mencionó, la corona se mueve de manera solidaria con el engranaje helicoidal unido a ella. Por ello se obtiene la velocidad del piñón, el cual se encuentra en el eje del motor como se observa a continuación. La carrera del tornillo sin fin debe de ser 40 cm para modificar la altura en este intervalo. 𝑤𝑝𝑖ñ𝑜𝑛 = 𝑢 ∗ 𝑤𝑐𝑜𝑟𝑜𝑛𝑎 = 200 𝑅𝑃𝑀 Se procede a realizar un resumen de los parámetros seleccionados para los elementos a fabricar: 54 Parámetros engranajes: • Módulo: 1.5 • Paso: 4.712 mm • Ángulo de presión: 20° • Piñón (engranaje de menor diámetro): 15 dientes y diámetro primitivo de 45 mm. • Corona (engranaje de mayor diámetro): 30 dientes y diámetro primitivo de 90 mm. • Ancho de cara: 15 mm Parámetros corona-tornillo sin fin: • Paso: 6 mm • Avance: 6 mm • Diámetro medio del tornillo: 32 mm Se verifica la disponibilidad de los engranajes en catálogos comerciales en la Figura 4.5.21. Figura 4.5.21 Sección de catálogo de screw gears (KHK Stock Gears, s.f.) En las ecuaciones A, B se calculó que el torque que requiere el tornillo sin fin, por ello a partir de esta información podemos calcular la potencia del sistema como se muestra a continuación. 𝑃𝑜𝑡𝑒𝑛𝑐𝑖𝑎 𝑝𝑎𝑟𝑎 𝑠𝑎𝑙𝑖𝑟 𝑑𝑒𝑙 𝑟𝑒𝑝𝑜𝑠𝑜: 𝑃 = 𝑇𝑠_𝑒𝑠𝑡á𝑡𝑖𝑐𝑜 × 𝜔𝑝𝑖ñó𝑛 = 40.04 𝑊 𝑃𝑜𝑡𝑒𝑛𝑐𝑖𝑎 𝑑𝑖𝑛á𝑚𝑖𝑐𝑎: 𝑃 = 𝑇𝑠_𝑐𝑖𝑛é𝑡𝑖𝑐𝑜 × 𝜔𝑝𝑖ñó𝑛 = 28.20 𝑊 Debido a que la potencia de un sistema mecánico se conserva, se puede calcular el torque del piñón, el cual también será el requerido por el motor. 𝑇𝑜𝑟𝑞𝑢𝑒 𝑝𝑎𝑟𝑎 𝑠𝑎𝑙𝑖𝑟 𝑑𝑒𝑙 𝑟𝑒𝑝𝑜𝑠𝑜: 𝑇𝑝𝑖ñ𝑜𝑛_𝑒𝑠𝑡á𝑡𝑖𝑐𝑜 = 1.91 𝑁 ∗ 𝑚 = 194.92 𝑘𝑔 ∗ 𝑐𝑚 𝑇𝑜𝑟𝑞𝑢𝑒 𝑑𝑒 𝑒𝑙𝑒𝑣𝑎𝑐𝑖ó𝑛: 𝑇𝑝𝑖ñó𝑛_𝑐𝑖𝑛é𝑡𝑖𝑐𝑜 = 1.35 𝑁 ∗ 𝑚 = 137.29 𝑘𝑔 ∗ 𝑐𝑚 Luego de ello, con la potencia del motor y la velocidad en RPM de giros necesaria se procede a seleccionar el motor del sistema a partir de la Tabla 4.16. En el sistema, se requiere que los componentes tengan una larga vida útil para que no se incurran en gastos adicionales constantes de cambio de piezas. Por ello se seleccionan motores brushless, pues tienen una mayor vida útil que los brushed pues no presentan desgaste de escobillas. Además, brindan mejor velocidad, eficiencia y son más silenciosos 55 (Millett, 2022). Entre los dos motores brushless, se selecciona el de menor costo, debido a que ambos cumplen con las especificaciones del sistema y este vienen en conjunto con su driver. Tabla 4.16 Tabla comparativa de motores (Elaboración propia) Requisitos 60D Planetary Gear Motor T-Motor AK70-10 DC gear Motor con driver Tipo de motor DC Brushed Brushless Brushless Voltaje de operación 24 V DC 24 - 48 V DC 24 V DC Velocidad normal 200 RPM 220 RPM 200 - 400 RPM 300 ±10% RPM Torque nominal >1.91N*m 19 N*m 8.3 N*m 1.98 N*m Potencia 120 W - 103 W Corriente promedio - 8.8 A 6.2 A ¿Incluye encoders? No Sí No Dimensiones Motor: Φ54 x 86 mm Gearbox: Φ60x63.5mm Shaft: Φ12 x 28 mm Φ89 x 50.2 mm Motor: Φ57x133 mm Mounting frame: 60mm Shaft: Φ8x30mm Driver: 96L x 60W x 25H mm Precio $90.50 $498.90 $98.49 Enlace 60D Brushed Motor AK70-10 Brushless finamotor El sistema de variación de altura con sus principales componentes se visualiza en la Figura 4.5.22. El husillo, situado en el centro de la plancha inferior, es el componente encargado de elevar el sistema. El movimiento para ajustar la altura es proporcionado por un motor eléctrico, cuyo torque es transmitido y amplificado mediante un conjunto de engranajes rectos. Este mecanismo, que consta de engranajes de 15 y 30 dientes, aumenta el torque disponible y regula la velocidad máxima para evitar daños al usuario. El motor se encuentra suspendido en la guarda tubular, esto con el fin de no utilizar otros elementos de transmisión como fajas y poleas, las cuales aumentarían el peso y el costo total del sistema. El sistema de variación de altura debe de transmitir la fuerza necesaria para subir o descender la cesta, para ello debe de realizar una correcta distribución de esfuerzos. Por ello, se realiza una pieza de sujeción a través de la soldadura de perfiles en T a bridas comerciales, la cual transmitirá la fuerza del husillo hacia la cesta (Figura 4.5.23). Adicionalmente, para asegurar la estabilidad, se integraron perfiles en L que conectan los tubos cuadrados de elevación (Figura 4.5.24). Estos refuerzos contribuyen a una distribución uniforme de los esfuerzos y minimizan las vibraciones o desplazamientos indeseados. Figura 4.5.22 Sistema de elevación (Elaboración propia) https://www.robotshop.com/products/60d-brushed-planetary-gear-motor-24v-220rpm https://www.robotshop.com/products/t-motor-brushless-motor-ak70-10 https://www.robotshop.com/products/e-s-motor-103watt-brushless-dc-gear-motor-with-driver-kits-24v-300rpm 56 Figura 4.5.23 Pieza de sujeción entre cesta y sistema de elevación (Elaboración propia) Figura 4.5.24 Estructura de Sistema de elevación (Elaboración propia) Para reducir la fricción entre las piezas mecánicas al momento de accionar el husillo, se ha colocado un arreglo de rodamientos axiales que sostienen tanto la tuerca de suspensión del husillo, como el engranaje recto del sistema como se observa en las Figuras 4.5.25 y 4.5.26. Estos rodamientos también restringen el movimiento vertical que podría tener la tuerca de suspensión. Se ha prescindido del uso de una carcasa/carter para el juego de engranajes, como lo podría tener una caja de reducción, ya que estos se encontrarán dentro de la carcasa del sistema que impedirá el ingreso de polvo u otros elementos. Figura 4.5.25 Vista isométrica - Carcasa del sistema de elevación (Elaboración propia) Figura 4.5.26 Vista en sección - Carcasa del sistema de elevación (Elaboración propia) 57 4.5.6. Enganche a sillas de ruedas El carro de compras debe contar con ganchos que le permitan sujetarse a una silla de ruedas. Estos ganchos serán removibles y fáciles de almacenar para que cuando no sean necesarios, no intervengan en la experiencia de compra del usuario. El enganche inferior a la silla de ruedas incorpora tornillos ajustables, lo que permite adaptarlo a diferentes grosores de tubo según el modelo de la silla (Figura 4.5.27). Una vez instalado, el enganche queda posicionado de manera segura, como se observa en la Figura 4.5.28. Además, puede girarse para su almacenamiento cuando el usuario no lo requiera. Figura 4.5.27 Acople a silla de ruedas (Elaboración propia) Figura 4.5.28 Montaje de acoples de silla de ruedas en el carro de compras (Elaboración propia) 4.6. Subsistema de energía 4.6.1. Cálculos energéticos y selección de componentes Se requiere que el sistema cuente con una autonomía mínima de 10 horas, se usará una batería Li-ión para alimentar a los componentes del sistema, los cuales requieren de distintos voltajes de alimentación. Se detalla en esta sección los cálculos energéticos y la selección de componentes de este subsistema. Inicialmente, a partir de cálculos de potencia, se determina la capacidad de la batería (Figura 4.6.1). Figura 4.6.1 Cálculos de potencia (Elaboración propia) Item Componente Módulo Cantidad Voltaje (V) Corriente (mA) Potencia de un componente (mW) Potencia Total (W) Eficiencia Potencia Total Real (W) Tiempo (h) Capacidad necesaria (Wh) 1 Pantalla táctil capacitiva Interacción 1 5 500 2500 2.50 0.92 2.72 10.00 27.17 2 Micrófono Interacción 1 12 2 24 0.02 1.00 0.02 5.00 0.12 3 Altavoces Interacción 2 - - - 8.00 1.00 8.00 4.00 32.00 4 Cámara Compras 6 5 250 1250 7.50 1.00 7.50 10.00 75.00 5 Lector de código de barras Compras 1 5 245 1225 1.23 1.00 1.23 2.00 2.45 6 Sensor de distancia láser Control 1 5 16 80 0.08 0.92 0.09 2.00 0.17 7 Sensor de ultrasonido Navegación 4 5 15 75 0.30 1.00 0.30 1.00 0.30 8 Sensor de final de carrera Control 1 5 10 50 0.05 0.80 0.06 2.00 0.13 9 POS móvil Compras 1 5 250 1250 1.25 0.95 1.32 10.00 13.16 10 Push button Interacción 5 3.3 1 3.3 0.02 1.00 0.02 2.00 0.03 11 Motor Compras 1 24 6200 148800 148.80 1.00 148.80 0.30 44.64 12 Relé Energía 1 5 20 100 0.10 1.00 0.10 10.00 1.00 13 Sensor de voltaje Sensores 1 0 0.00 1.00 0.00 10.00 0.00 14 Nucleo stm32f446re Control 1 12 100 1200 1.20 1.00 1.20 10.00 12.00 15 Jetson Xavier Control 1 12 1250 15000 15.00 1.00 15.00 10.00 150.00 358.17 58 Se observa que la capacidad de la batería debe ser superior a 353 Wh, en base a ello se realiza la tabla comparativa 4.17 para seleccionar la batería adecuada. De acuerdo con requerimientos del sistema, esta batería es de tipo Litio-ión. Las baterías ‘Foxtech Diamond Series 7S’ y ‘Li-ion 20000 5S4P 18v’ brindan la capacidad necesaria para el funcionamiento del sistema. Dado que se requieren voltajes que oscilan entre 5 y 24 V para los componentes, se selecciona el pack de baterías Li-ion 20000 3S4P 10.8v por tener un valor nominal cercano a estos y tener una adecuada potencia en comparación con su precio. Tabla 4.17 Tabla comparativa de baterías (Elaboración propia) Li-ion 20000 2S4P 7.2v Battery Pack Foxtech Diamond Series 7S 27000mAh 27Ah Li-ion 20000 5S4P 18v Battery Pack Capacidad nominal 20000 mAh 27000 mAh 20000 mAh Voltaje nominal 7.2 V 25.9 V 18 V Máximo voltaje 8.4 V - 21 V Mínimo voltaje 5 V - 12.5 V Corriente de carga máxima 20 A - 20 A Corriente de descarga máxima 39.2 A - 39.2 A Watts hora 144 Wh 699.3 Wh 360 Wh Dimensiones 46 x 88 x 74 mm 213 x 91 x 75 mm 109 x 88 x 74 mm Peso 576 g 2735 g 1440 g Precio $ 176.00 S/ 2340 $440.00 Enlace Li-ion 20000 2S4P 7S 27000mAh Li-ion 20000 3S4P Asimismo, para la carga de las baterías se requiere de un sistema de manejo de baterías (BMS) el cual se selecciona en la Tabla 4.18. Se selecciona el BMS de 5 celdas en serie BMS 5S 21V/50ª pues ofrece protección contra sobrecarga, sobre descarga y cortocircuito, lo cual garantiza un funcionamiento seguro y prolonga la vida útil de las celdas. Además, su corriente de descarga máxima de 50 A resulta adecuada para manejar las demandas de corriente del motor, que tiene un consumo de hasta 39.2 A, proporcionando un margen de seguridad. Por otro lado, el voltaje de carga completa de 4.25 V por celda coincide con los valores de carga estándar de baterías de litio-ion en configuración 5S, mientras que su voltaje de descarga total de 2.7 V ± 0.05 V asegura un corte adecuado antes de alcanzar niveles críticos. Tabla 4.18 Tabla comparativa de sistemas de gestión de baterías (Elaboración propia) BMS1040A BMS 5S 21.0V / 80A BMS 5S 21V/50A Protección incluida - Sobrecarga y sobredescarga Sobrecarga, sobredescarga y cortocircuito Corriente de carga (máxima) - 60 A - Corriente de descarga (máxima) 2 A 80 A 50 A Voltaje de carga completa 93% 4.2 V 4.25 V Voltaje de descarga total 1.2MHz 2.7 V 2.7 V +/- 0.05V Voltaje de entrada No 12.3 – 21.5 V - Dimensiones 36 x 17 x 7 mm 60x 42 mm 72 x 30 x 6 mm ¿Disponible en el mercado local? Sí No Sí Precio $415 - S/ 42.10 Enlace MT3608 BMS 21V/80A BMS 5S 21V/50A https://maxamps.com/collections/li-ion-cylindrical-batteries/products/li-ion-20000-2s4p-7-2v-battery-pack https://www.alibaba.com/product-detail/Foxtech-Diamond-Series-7S-27000mAh-27Ah_1600238978682.html?spm=a2700.wholesale.0.0.717214a7QYQS0K https://maxamps.com/collections/li-ion-cylindrical-batteries/products/li-ion-20000-5s4p-18v-battery-pack https://naylampmechatronics.com/conversores-dc-dc/119-convertidor-voltaje-dc-dc-step-up-2a-mt3608.html http://kit-amp.com/charge-module-5s-bms-with-protection-balanced-21%2C0v-80a%20-en https://articulo.mercadolibre.com.pe/MPE-606845705-controlador-bms-5s-21v-50a-li-plus-para-taladros-y-motores-_JM#position=1&search_layout=stack&type=item&tracking_id=3073c7b2-d413-432a-b2fa-5861c01c12f2 59 Asimismo, se requiere de un relé para garantizar el aislamiento eléctrico entre los componentes de alimentación y control del sistema. Se realiza la selección de este en la Tabla 4.19. Se desea que el carro de compras se encienda a través de una única señal, por lo que un relé de 1 canal es suficiente. Además, para garantizar el aislamiento eléctrico entre los componentes de alimentación y control, es necesario que el relé tenga un aislamiento por optoacoplador. Se selecciona el relé estado sólido SSR-40 DA porque utiliza un acoplador y el voltaje de las baterías se encuentra en el rango del voltaje de activación. Tabla 4.19 Tabla comparativa de relés (Elaboración propia) Módulo Relay Optoacoplado de 2 Canales Relay estado sólido SSR-40 DA Módulo Relay 1 canal Voltaje de operación 5 V DC - 5 V DC Voltaje de activación 3.3 – 5V DC (TTL) 3 – 32 V DC 3.3 – 5V DC (TTL) Corriente de activación 15 - 20 mA 2 – 20 mA - Tipo de aislamiento Optoacoplador Optoacoplador Transistor Cantidad de canales 2 1 1 Voltaje máximo de carga 250VAC/10A o 30VDC/10A 280 VAC 250VAC/10A o 30VDC/10A Salida Normalmente abierto Normalmente abierto Normalmente abierto Dimensiones 50.6 x 39 x 19.5 mm 62 x 45 x 23 mm - ¿Disponible localmente? Sí Sí Sí Precio S/ 15.00 S/ 28.00 S/ 6.00 Enlace Relé 2 canales SSR-40DA Relé 1 canal En base al voltaje de la batería, se seleccionan los reguladores de voltaje necesarios en la Tabla 4.20. En el sistema se requieren voltajes de 5, 12 y 24 V entre los distintos componentes, por ello al ser la batería de 18 voltios, se requieren tanto reguladores step up y step down. El motor requiere de una alimentación de 24 V y 6 A, por lo que para este se utiliza el convertidor DC-DC 6A. Para los componentes que requieren de 12 V de alimentación, se utiliza el convertidor XL4005. Tabla 4.20 Tabla comparativa de convertidores de voltaje (Elaboración propia) Convertidor de voltaje DC-DC Step up MT3608 Convertidor de voltaje DC- DC Step down XL4005 Convertidor de voltaje DC-DC Step up 6A Voltaje de entrada 2 – 24 V DC 5 – 32 V DC 10 – 32 V DC Voltaje de salida 5 – 28 V DC 8 – 30 V DC 12 – 35 V DC Corriente de salida (máxima) 2 A 5 A 6 A Eficiencia de conversión 93% 96% 94% Frecuencia de trabajo 1.2MHz 300 KHz 500 KHz Protección de corto circuito No Sí (hasta 8 A) No Protección limitadora de corriente Sí Sí No Dimensiones 36 x 17 x 7 mm 43 x 21 x 13 mm 65 x 47 x 28 mm ¿Disponible localmente? Sí Sí Sí Precio S/ 15.00 S/ 15.00 S/ 30.00 Enlace MT3608 XL4005 DC-DC STEP-UP Asimismo, se realiza la selección del sensor de voltaje de la Tabla 4.21 para informar al usuario el porcentaje de batería restante, de tal manera que se cargue el carro cuando es necesario. El voltaje de la batería es de 18 V, por lo que se pueden utilizar tanto el sensor INA219 como el INA226. Dado que no https://naylampmechatronics.com/drivers/31-modulo-relay-2-canales-5vdc.html https://naylampmechatronics.com/drivers/425-relay-ssr-40da.html https://naylampmechatronics.com/drivers/297-modulo-relay-1-canal-5vdc.html https://naylampmechatronics.com/conversores-dc-dc/119-convertidor-voltaje-dc-dc-step-up-2a-mt3608.html https://naylampmechatronics.com/conversores-dc-dc/49-convertidor-voltaje-dc-dc-step-down-5a-xl4005.html https://naylampmechatronics.com/conversores-dc-dc/197-convertidor-voltaje-dc-dc-step-up-6a-150w.html 60 se medirá la corriente, la corriente máxima de medición no influye en la selección. Se selecciona el sensor INA226 debido a su resolución, la cual permitirá mostrar con precisión la batería del sistema. Tabla 4.21 Tabla comparativa de sensores de voltaje (Elaboración propia) Sensor de voltaje FZ0430 Monitor INA219 Monitor INA226 Voltaje de operación 3.3 - 5 V DC 3 - 5 V DC 3 - 5 V DC Voltaje máximo de medición 16.5 V @ 3.3 V / 25 V @ 5V 25 V DC 35 V DC Corriente máxima de medición - 3.2 A 819.2 mA Resolución 0.00489 V 0.8 mA 0.025 mA Protocolo de comunicación I2C I2C I2C Dimensiones 25 x 13 x 1 mm 21 x 21 x 1 mm 21 x 21 x 1 mm ¿Disponible localmente? Sí Sí Sí Precio S/6.00 S/25.00 S/29.00 Enlace FZ0430 INA226 INA226 4.6.2. Alimentación y conexiones del sistema integral Con los componentes seleccionados (Hojas de Datos en Anexo J), se optimiza su distribución según sus voltajes, como se muestra en el diagrama de conexiones de la Figura 4.6.2. Figura 4.6.2 Diagrama de conexiones (Elaboración propia) https://www.carrod.mx/products/modulo-sensor-fz0430-medidor-de-voltaje-breakout https://naylampmechatronics.com/sensores-corriente-voltaje/560-monitor-de-corriente-voltaje-highlow-side.html https://naylampmechatronics.com/sensores-corriente-voltaje/560-monitor-de-corriente-voltaje-highlow-side.html 61 Se requieren de dos PCB’s en el sistema, uno para la conexión de los módulos adaptadores multicámaras con la Jetson Xavier NX y otro para la conexión de los componentes con el microcontrolador. Dado que el adaptador fue diseñado para una Raspberry Pi, se requiere diseñar un shield para que los adaptadores de cámara puedan conectarse al computador. Se toma en cuenta el diagrama de conexiones del adaptador multicámara (Figura 4.6.3) y la configuración de pines. Se utilizarán 2 módulos multicámara cuyas salidas ingresarán a cada puerto CSI de la Jetson Xavier. Dado que no se colocarán estos módulos en paralelo, se utiliza la primera configuración para los DIP switches de los adaptadores (Figura 4.6.4), en la cual se observa que se requieren de 3 pines GPIO para la conexión de este módulo con la Jetson Xavier NX (ArduCam, 2015), por ello en el shield se consideran los pines GPIO 15,16 y 18 del computador para el primer adaptador y los 29, 31 y 33 para el segundo (Figura 4.6.5). Figura 4.6.3 Conexión de pines del adaptador a y la Raspberry (ArduCam, 2019) Figura 4.6.4 Configuración de pines (ArduCam, 2015) Figura 4.6.5 Pines de Jetson Xavier NX (JetsonHacks, 2020) 62 El esquemático del shield realizado que permite visualizar las conexiones entre los pines de los módulos multi cámaras y la Jetson Xavier NX se observa en la Figura 4.6.6. El PCB (Printed Circuit Board) del shield y el modelo 3D del PCB se visualizan en la Figura 4.6.7. Figura 4.6.6 Diagrama esquemático de shield de Jetson Xavier NX (Elaboración propia) Figura 4.6.7 Board de shield y shield para Jetson Xavier NX (Elaboración propia) Además, se requiere de un circuito impreso para realizar la conexión entre el microcontrolador y los sensores de ultrasonido, el sensor de distancia y los botones de la interfaz con el usuario. El diagrama esquemático se muestra en la Figura 4.6.8 y el board generado con las conexiones en la Figura 4.6.9. Figura 4.6.8. Diagrama esquemático de shield del microcontrolador (Elaboración propia) 63 Figura 4.6.9 Board de shield para el microcontrolador (Elaboración propia) 4.7. Sistema integral En esta sección, se muestra el diseño integral del carro de compras inteligente, el cual se obtuvo integrando lo propuesto en las secciones previas. En la Figura 4.7.1 se observa el modelo 3D del carro de compras cuando este es utilizado por personas sin y con sillas de ruedas. Se observa que, para adaptar el carro a personas con sillas de ruedas, se desciende la cesta de compras, se modifica su elevación y se ajustan los acoples a la silla de ruedas para permitirle un movimiento en conjunto con el carro. Las partes del sistema integrado se visualizan en la Figura 4.7.2. El sistema de elevación y los componentes electrónicos inferiores se encuentran protegidos por una carcasa que los protege del entorno, estos pueden visualizarse sin ella en la Figura 4.7.3. Figura 4.7.1 Sistema utilizado por usuarios (Elaboración propia) Figura 4.7.2 Partes del sistema integrado (Elaboración propia) 64 Figura 4.7.3 Visualización de componentes internos a la carcasa (Elaboración propia) 4.8. Planos mecánicos y electrónicos En la Tabla 4.22 se detallan los planos mecánicos, los cuales se encuentran en el Anexo K y en el Anexo L se encuentra el plano electrónico del sistema. Tabla 4.22 Listado de planos mecánicos (Elaboración propia) Lámina Descripción Tipo Tamaño E01 Carro de compras Ensamble A2 D01 Base de carro de compras Despiece A3 E02 Cesta Ensamble A2 D02 Base de la cesta Despiece A3 D03 Lateral externo inferior izquierdo Despiece A3 D04 Lateral interno inferior izquierdo Despiece A3 D05 Lateral externo inferior derecho Despiece A3 D06 Lateral interno inferior derecho Despiece A3 D07 Frontal externo inferior Despiece A3 D08 Frontal interno inferior Despiece A3 D09 Lateral externo superior izquierdo Despiece A3 D10 Lateral interno superior izquierdo Despiece A3 D11 Lateral externo superior derecho Despiece A3 D12 Lateral interno superior derecho Despiece A3 D13 Frontal externo superior Despiece A3 D14 Frontal interno superior Despiece A3 D31 Tapa inferior de sensor de peso Despiece A3 E03 Carcasa sistema de reconocimiento de productos Ensamble A3 D15 Tapa carcasa Despiece A3 D16 Base carcasa Despiece A3 D17 Soporte de componentes delantero Despiece A3 D18 Soporte de componentes posterior Despiece A3 D19 Soporte lateral cámara Despiece A3 E04 Carcasa de detección de obstáculos Ensamble A3 D20 Carcasa derecha frontal Despiece A3 D21 Carcasa derecha posterior Despiece A3 D22 Carcasa izquierda frontal Despiece A3 D23 Carcasa izquierda posterior Despiece A3 E05 Carcasa de componentes electrónicos Ensamble A2 D24 Tapa de carcasa Despiece A3 D25 Base de carcasa Despiece A3 D26 Soporte de componentes electrónicos Despiece A3 D27 Soporte de pantalla Despiece A3 D28 Soporte POS Despiece A3 D29 Soporte parlante izquierdo Despiece A3 D30 Soporte parlante derecho Despiece A3 D31 Carcasa superior lateral derecha Despiece A3 D32 Carcasa superior lateral izquierda Despiece A3 D33 Carcasa superior frontal Despiece A3 65 D34 Carcasa superior posterior Despiece A3 D35 Carcasa inferior lateral derecha Despiece A3 D36 Carcasa inferior lateral izquierda Despiece A3 D37 Carcasa inferior frontal Despiece A3 D38 Carcasa inferior posterior Despiece A3 E06 Sistema de elevación Ensamble A3 E07 Ensamble mecanismo tornillo sin fin Ensamble A2 E08 Carcasa componentes de sistema de elevación Ensamble A2 D40 Tapa de carcasa Despiece A3 D41 Base de carcasa Despiece A3 D42 Barras laterales Despiece A3 D43 Soporte de rodamiento Despiece A3 D44 Soporte inferior de motor Despiece A3 D45 Soporte superior de motor Despiece A3 D46 Pieza sujeción superior Despiece A3 D39 Base soldada Despiece A3 E10 Acople de silla de ruedas Ensamble A3 D47 Pieza unión acople Despiece A3 D48 Cubierta posterior superior Despiece A3 D49 Acople de mango a cesta Despiece A3 E09 Mecanismo de tijera simple Ensamble A3 E10 Componentes electrónicos inferiores Ensamble A2 D50 Soporte de componentes inferiores Despiece A2 D51 Tapa de batería Despiece A3 D52 Cubierta posterior inferior Despiece A3 5. CAPÍTULO V: DISEÑO DE SOFTWARE En este capítulo se presenta el diseño de software del sistema del carro de compras inteligente, detallando su arquitectura, subsistemas y las pruebas de concepto realizadas para validar el funcionamiento de los algoritmos y códigos desarrollados. 5.1. Arquitectura del sistema El sistema del carro de compras inteligente sigue una arquitectura cliente-servidor como se observa en la Figura 5.1.1, donde la computadora embebida en el carro es responsable del procesamiento en tiempo real de las tareas críticas, mientras que un servidor maneja la base de datos y la gestión de información a nivel global. Cabe resaltar que este servidor es el mismo que utiliza el supermercado para sus operaciones diarias, lo que permite una integración eficiente del sistema sin la necesidad de desarrollar una nueva infraestructura de almacenamiento de datos. El sistema ha sido diseñado para ser altamente adaptable al sistema propio del supermercado, pues emplea consultas a través de APIs REST en lugar de depender de una base de datos específica. Esto facilita su implementación, debido a que no requiere modificaciones en los sistemas internos. Además, esta estrategia abarata costos al evitar la necesidad de mantener bases de datos redundantes y reduce la complejidad del mantenimiento del sistema. Desde el punto de vista operativo, el sistema realiza un procesamiento distribuido en el que las tareas críticas, como la detección de códigos de barras, la interacción con el usuario y la navegación dentro del supermercado, se ejecutan en el dispositivo embebido, mientras que las consultas a la base de datos 66 del supermercado y la gestión de datos históricos se llevan a cabo en el servidor del supermercado. Esta separación optimiza el rendimiento del sistema, asegurando baja latencia y una experiencia fluida. Figura 5.1.1 Arquitectura del sistema (Elaboración propia) 5.2. Diseño de software y tecnologías implementadas El diseño de software del sistema está basado en un modelo modular, donde cada componente tiene una función específica dentro del sistema. Para el desarrollo se emplearon las siguientes tecnologías: • Lenguaje de programación: Python, debido a su versatilidad y amplia compatibilidad con bibliotecas de visión artificial y aprendizaje profundo. • Interfaz gráfica: PyQt, utilizada para diseñar la interfaz en la pantalla táctil del carrito, asegurando una experiencia de usuario intuitiva y responsiva. • Visión artificial: YOLO y red neuronal propia, empleados para la detección y decodificación de códigos de barras en tiempo y condiciones reales. • Procesamiento de lenguaje natural (NLP): Se utilizan APIs de reconocimiento y generación de lenguaje natural. Además, se utilizan APIs para el prompting con modelos de lenguaje para la asistencia por voz, permitiendo a los usuarios interactuar con el carrito de forma intuitiva. • Base de datos: Se utiliza la base de datos del supermercado accediendo a través de APIs REST con consultas SQL, lo que facilita la integración sin requerir modificaciones en la infraestructura de datos del supermercado. Para realizar pruebas de adquisición de datos, se creó una base de datos propia con productos, los cuales permitirán validar el funcionamiento como la obtención de precios a partir del código de barras, consulta de promociones y búsqueda de productos en la tienda. Los detalles de tablas y consultas se visualizan en el Anexo F. • Conectividad: Comunicación entre el cliente (carro de compras) y el servidor a través de protocolos HTTP, asegurando una comunicación eficiente y en tiempo real. 67 5.3. Subsistema de interacción El subsistema de interacción está diseñado para garantizar una comunicación fluida entre el usuario y el dispositivo, mejorando significativamente la experiencia de compra. Este subsistema abarca desde la recopilación de información del usuario, ya sea mediante una interfaz gráfica o comandos de voz, hasta la generación de respuestas personalizadas basadas en los datos proporcionados. Para lograrlo, utiliza tecnologías de procesamiento del lenguaje natural, reconocimiento de voz y síntesis de texto a voz. 5.3.1. Interfaz de usuario La interfaz de usuario del carro de compras se visualiza en la pantalla integrada y se ejecuta localmente en el computador embebido del sistema. Para su desarrollo, se utilizó Python junto con la librería PyQt, permitiendo una interfaz gráfica interactiva. Aunque la aplicación sigue un enfoque monolítico en su ejecución local, se conecta con servicios externos para obtener información en tiempo real. La interfaz está compuesta por cinco pantallas principales: Lista de compras, Producto, Guiado, Promociones y Ayuda. La pantalla de Lista de Compras (Figura 5.3.1) muestra los productos agregados al carrito, organizados por nombre, cantidad y precio unitario, además del total de la compra y la opción de proceder al pago. La pantalla de Búsqueda de Productos (Figura 5.3.1) permite localizar artículos específicos mediante un campo de búsqueda en base a la información de la base de datos del supermercado. Al seleccionar un producto, se despliega información detallada, como su descripción, imagen, precio y características relevantes, junto con un botón que facilita su ubicación en la tienda. La pantalla de Guía de Productos (Figura 5.3.2) proporciona una herramienta de navegación mediante un mapa del supermercado. A partir de la ubicación actual del usuario, obtenida por el sensor de localización, y el producto seleccionado, se genera una ruta óptima hasta su ubicación. La pantalla de Descuentos y Promociones (Figura 5.3.2) muestra una lista de productos organizados por departamento, con información sobre las promociones vigentes. Finalmente, la pantalla del Asistente de Compras (Figura 5.3.3) ofrece un chat interactivo con un asistente virtual que procesa las consultas del usuario, brindando ayuda relacionada con productos, descuentos o navegación en la tienda a través del procesamiento y generación de lenguaje natural. Estas pantallas integran una interfaz intuitiva y amigable que facilita el proceso de compra, optimizando la experiencia del usuario. Figura 5.3.1 Pestaña de Lista de Compras y pestaña de Productos en la interfaz (Elaboración propia) 68 Figura 5.3.2 Pestaña de Guía y pestaña de Promociones en la interfaz (Elaboración propia) Figura 5.3.3 Pestaña de Ayuda en la interfaz (Elaboración propia) 5.3.2. Captura de la voz del usuario El proceso de interacción inicia con la captura de la voz del usuario a través de un micrófono incorporado en el carro. La voz capturada es transformada en texto mediante una API de reconocimiento de voz, lo cual permite que el texto sea posteriormente procesado por un modelo de lenguaje para generar respuestas precisas y relevantes. La elección de la API adecuada para la conversión de voz a texto permite asegurar una alta precisión y eficiencia en el reconocimiento de comandos de voz. Para seleccionar la API se realizó la comparación entre opciones como Google Web Speech API, Amazon Polly y Microsoft Azure Cognitive Services – Speech to Text (Tabla 5.1). Se selecciona Google Web Speech API debido a su menor costo de uso, capacidad para reconocer idiomas y su integración sencilla con otras herramientas y plataformas. La capacidad de reconocer más de 120 idiomas garantiza que el carro de compras pueda ser utilizado en diferentes contextos culturales y lingüísticos, facilitando la experiencia de usuario para una audiencia diversa. Tabla 5.1 Tabla comparativa de APIs de reconocimiento de voz (Elaboración propia) Google Web Speech API Amazon Polly Microsoft Azure Cognitive Services – Speech to text Plataforma Google Cloud Amazon Web Services Microsoft Azure # de lenguajes reconocidos >= 120 >=30 >=110 Personalización de voz No Sí (hasta 6 estilos de voz) Sí (hasta 10 estilos de voz) Detección de emociones No No Sí Costo $3.00 por 2 millones de llamada de la API 4,80 USD por un millón de caracteres 0.5 million caracteres gratis al mes $1 por hora 69 5.3.3. Procesamiento de respuesta al usuario El procesamiento de respuesta al usuario es un componente crucial del asistente virtual, ya que garantiza que las consultas de los usuarios sean respondidas de manera precisa, coherente y en tiempo real. Dada la variedad de preguntas y la necesidad de discernir entre preguntas complejas, el realizar una estructura de datos como diccionario para la programación no sería eficiente. Por ello, se opta por usar un modelo de lenguaje entrenado que brinde respuestas adecuadas a través del prompting. El prompting se enfoca en el desarrollar y optimizar instrucciones para utilizar efectivamente los modelos de lenguaje ya entrenados sobre todo en tareas de procesamiento y generación del lenguaje (Giray, 2023). En este sistema, la respuesta final combina la información generada por el modelo con datos específicos de la base de datos de la empresa, como precios, ubicación de productos y promociones, de acuerdo con la consulta del usuario. Tomando en cuenta ello, se realiza la selección del modelo de lenguaje natural a partir de la Tabla 5.2. El modelo GPT-3.5 es uno de los modelos más grandes y potentes en la actualidad; sin embargo, al no ser de código abierto requiere de un pago por uso de acuerdo con la cantidad de tokens utilizados. El modelo RoBERTa es una versión mejorada de BERT, por lo que cuenta con mayor eficiencia; sin embargo, ambos tienen menor precisión que GPT-3.5. En el caso de Llama 2, este es un modelo de código de abierto accesible al público que está constantemente siendo mejorado (Meta AI, s.f.). Se selecciónó GPT-3.5, debido a su capacidad para manejar tareas complejas de procesamiento y generación de lenguaje natural, así como por su integración fácil mediante APIs. A pesar de que no es de código abierto, su precisión y la capacidad de gestionar contextos extensos justificaron su selección sobre alternativas como Llama 2, que, aunque es open-source, no alcanza la misma precisión. Tabla 5.2 Tabla comparativa de modelos de lenguaje (Elaboración propia) Llama 2 Generative Pre- trained Transformer 3 (GPT-3.5) Bidirectional Encoder Representations from Transformers (BERT) A Robustly Optimized BERT Pretraining Approach (RoBERTa) Desarrollador Meta AI OpenAI Google Facebook AI Cantidad de parámetros 7 000 – 70 000 millones 175 000 millones 110 millones 355 millones Arquitectura Auto-regressive transformer Transformer con atención unidireccional Transformer con atención bidireccional Transformer con atención bidireccional API Llama 2 API OpenAI Cloud Natural Language API de Google - Consumo de recursos computacionales - ++++ + ++ Precio por uso Open source Modelo:3.5 turbo $0.0015 / 1K tokens $0.002 / 1K tokens Open source Open source A continuación, se detalla la metodología a seguir en el proyecto para un adecuado prompting. Este permite proporcionar solicitudes o información específica a modelos de lenguaje para guiar la generación de texto, con lo cual se obtienen resultados específicos guiados a una actividad o tarea en particular (Brown et al., 2020). En este proyecto, se utiliza el prompting integrado con la base de datos 70 del supermercado con el objetivo de generar respuestas coherentes y relevantes para los usuarios. Por ello, se deben de tener claros los conceptos base, los cuales se detallan a continuación. • Asistentes: Entidades que a través de instrucciones integradas a los modelos de lenguaje son capaces de realizar tareas para los usuarios. (OpenAI, s.f.) • Embeddings: Representaciones vectoriales de datos que permiten interpretar el significado semántico de las palabras y generar respuestas precisas (Goldberg, 2015). • Tokens: Son unidades individuales de texto, las cuales son procesadas por los modelos de lenguaje. La entrada de texto del usuario es descompuesta en tokens, los cuales son convertidos en embeddings para su procesamiento (Jurafsky & Martin, 2024) El flujo de interacción con los modelos de lenguaje, representado en la Figura 5.3.4, es clave en la configuración del prompting. Durante esta configuración, se define el tono y el comportamiento del asistente para garantizar respuestas alineadas con los objetivos del sistema. Figura 5.3.4 Flujo prompting (DeepLearning.AI, s.f.) Durante la interacción, puede suceder que el usuario realice consultas inapropiadas, de carácter ofensivo o que no entren en el área de aplicación del sistema, por ello se cuenta con moderadores. En este caso, se utiliza OpenAI Moderation API para poder controlar que el contenido que es recibido por el usuario y generado por el sistema es apropiado (DeepLearning.AI, s.f.). Esta API clasifica los mensajes en distintas categorías y genera una alerta si detecta contenido dañino. Además, se implementan medidas para prevenir prompt injections, un tipo de ataque en el que un usuario intenta manipular el modelo mediante la inserción de instrucciones adicionales en la consulta. Para mitigar el riesgo se usan delimitadores que restringen el área del prompt que puede ser manipulado. Dada la complejidad del sistema y la diversidad de consultas que un usuario puede realizar, se implementa el uso de chaining prompts. Esta técnica permite dividir la tarea en sub-tareas más manejables, asegurando que el modelo disponga de toda la información necesaria para realizar la tarea con precisión. Además, este enfoque puede reducir el consumo de recursos, como la cantidad de tokens utilizados, lo que a su vez disminuye el costo asociado al uso del modelo. El flujo de procesamiento del mensaje del usuario utilizando chaining prompts incluye las siguientes etapas: 71 1. Revisión inicial con Moderation API: El mensaje del usuario se analiza para determinar si contiene contenido inapropiado o malicioso. 2. Extracción de categorías: Se le indica al modelo que identifique si el usuario en su mensaje menciona categorías de productos o hace referencia a ellas de forma indirecta. 3. Búsqueda de información: Se consulta la base de datos para recuperar la información de los productos de las categorías solicitadas. Si es que el usuario no detalla algún producto o categoría en específico, la búsqueda no devuelve resultados y se procede con la generación de respuesta. 4. Generación de respuesta: Se utiliza el modelo de lenguaje seleccionado (GPT-3.5) para elaborar una respuesta basada en la información extraída. Se delimitan los temas permitidos, asegurando que el modelo solo responda consultas relacionadas con el supermercado y sus productos. 5. Revisión final con Moderation API: La respuesta generada se somete a una verificación adicional para asegurarse de que cumple con los estándares de contenido. 6. Verificación de respuesta: Se evalúa si la respuesta responde correctamente a la consulta del usuario. Si no es así, se solicita una reformulación o se recomienda consultar a un trabajador. 7. Entrega de la Respuesta al Usuario: Si la respuesta pasa todas las verificaciones, se envía al usuario; de lo contrario, se genera una nueva respuesta o se emite un mensaje de error adecuado. A continuación, se presentan ejemplos de pruebas de interacción realizadas para validar el prompting y la extracción de información de la base de datos en las Figuras 5.3.5, 5.3.6, 5.3.7 y 5.3.8. En ellas se muestra el proceso seguido desde el ingreso del mensaje del usuario hasta la generación de la respuesta. Figura 5.3.5 Ejemplo 1 de prompting con información de la Base de Datos (Elaboración propia) Figura 5.3.6 Ejemplo 2 de prompting con información de la Base de Datos (Elaboración propia) 72 Figura 5.3.7 Ejemplo 3 de prompting con información de la Base de Datos (Elaboración propia) Figura 5.3.8 Ejemplo 4 de prompting con información de la Base de Datos (Elaboración propia) Estas pruebas preliminares mostraron que el sistema de respuesta es robusto, eficiente y seguro, integrando técnicas avanzadas de prompting, moderación y consultas a base de datos. Sin embargo, se requieren de pruebas en escenarios reales con usuarios para validar adecuadamente este aspecto. 5.3.4. Generación de respuestas audibles Una vez que el modelo de lenguaje ha procesado el texto y generado una respuesta, esta puede ser emitida de forma audible a través de altavoces integrados en el carro. Para ello, se convierte el texto en audio utilizando una API de texto a voz (TTS). La comparación de APIs se visualiza en la Tabla 5.3. Se elige Google Web Speech API como la opción más adecuada debido a su bajo costo y cantidad de idiomas en los que puede generar la respuesta. Además, su integración con otras soluciones de Google facilita la implementación y la gestión del sistema. Esta API, aunque no ofrece personalización de voz o detección de emociones, proporciona una calidad de audio que es suficiente para las necesidades del proyecto, asegurando que las respuestas sean emitidas de manera clara y comprensible. Tabla 5.3 Tabla comparativa de APIs de texto a voz (Elaboración propia) Google Web Speech Amazon Polly Microsoft Azure Cognitive Services – Text to speech Plataforma Google Cloud Amazon Web Services (AWS) Microsoft Azure Idiomas reconocidos >= 120 >=30 >=110 Personalización de voz No Sí (hasta 6 estilos de voz) Sí (hasta 10 estilos de voz) ¿Detecta emociones? No No Sí Costo $3.00 por 2 millones de llamada de la API 4,80 USD por un millón de caracteres 0.5 milliones de caracteres gratis al mes $24 por cada millón de caracteres 73 5.4. Subsistema de navegación Se requiere que el sistema brinde herramientas para la navegación del usuario dentro del supermercado para la ubicación de productos, en especial si el usuario tiene discapacidad visual parcial. 5.4.1. Planificación de rutas El usuario puede solicitar información para llegar desde su posición actual a un determinado punto dentro del local. Se utiliza el algoritmo A* para la generación de rutas, el cual halla la ruta óptima en función de la evaluación del costo real ‘g’ y el costo estimado de la ruta óptima ‘h’, conocido como función heurística. Por ello la función de evaluación representada por ‘f’ se encuentra definida por 𝑓(𝑛) = 𝑔(𝑛) + ℎ(𝑛). Se planifica la ruta con el nodo que tiene el menor valor de ‘f’ y se avanza de manera iterativa hasta el nodo final (Zhang et al., 2018). El primer paso consiste en dividir el área en forma de cuadrícula para simplificar la búsqueda. Cada cuadrícula tiene un estatus de libre u ocupada y el centro de cada cuadrícula es conocido como nodo. Luego de ello, se comienza en el nodo inicial y se analiza todos los posibles nodos candidatos a ser la siguiente posición como se observa en la Figura 5.4.1 (Lester, 2005). Para determinar el siguiente nodo, se evalúa la función f, la cual fue definida previamente a partir del cálculo de g y h. Figura 5.4.1 Nodos candidatos a siguiente posición (Lester, 2005) En el proyecto, para realizar pruebas del algoritmo de planificación de rutas, se consideró como mapa del supermercado el mostrado en la Figura 5.4.2. Como primer paso, se divide en forma de cuadrícula y aplicando el algoritmo de planificación de rutas, se obtiene la ruta ideal (Figura 5.4.3). Figura 5.4.2 Mapa del supermercado (Elaboración propia) Figura 5.4.3 Cuadrícula de mapa del supermercado y ruta óptima (Elaboración propia) 74 A partir de estas pruebas preliminares del algoritmo, se procedió a realizar un mapa simulando un entorno real de supermercado como se observa en la Figura 5.4.5. Cabe resaltar que, en un entorno real, las dimensiones del carro deben de ser consideradas al momento de realizar la planeación de la trayectoria pues en caso contrario se podrían generar rutas por las cuales el carro no pudiese desplazarse. El ancho del carro de compras es de aproximadamente 50 cm, por lo cual se realizó el grid del supermercado tomando como ancho y alto de los cuadrados 50cm. Además, en este mapa las secciones de color celeste representan anaqueles de productos; las de color verde, módulos para posicionar productos; las de color melón, estantes de vidrio; las de color gris, zonas en las cuales no se encuentran productos; y las de color amarillo representan la entrada y la salida. Figura 5.4.5 Mapa de supermercado para pruebas de software (Elaboración propia) 75 Con el objetivo de realizar el grid del mapa, las secciones ocupadas del supermercado, de acuerdo con el mapa, son asignadas con el número uno, y las zonas vacías por las cuales puede desplazarse el usuario son asignadas con el número cero como se observa en la Figura 5.4.6. Figura 5.4.6 Binarización de mapa de supermercado para pruebas de software (Elaboración propia) Asimismo, es necesario determinar las coordenadas de los elementos dentro de la tienda, para que a partir de ellas se establezcan las posiciones a las cuales el usuario debe de llegar cada que quiera dirigirse hacia uno de ellos. Se toma una coordenada central de cada sección y para determinar la posición final se seleccionan las coordenadas que permitan localizar al usuario en el pasillo junto a este elemento. Las coordenadas de las secciones, así como de los puntos de llegada se muestran en el Anexo I. En inicio, se consideró el costo g en 0, lo cual genera de que considere que el esfuerzo del usuario en desplazarse de frente y girar es distinto. Esto genera que la trayectoria cuente con distintos cambios de sentido como se observa en la Figura 5.4.7. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 76 Figura 5.4.7 Prueba inicial de generación de rutas (Elaboración propia) Para mejorar la generación de las rutas, se le asigna un peso de 1.5 al giro, mientras que un costo de 0 al desplazarse de forma recta. A partir de ello, las trayectorias se mantienes rectas lo cual permite un desplazamiento más cómodo del usuario como se muestra en la Figura 5.4.8. Figura 5.4.8 Prueba con algoritmo final de planificación de rutas (Elaboración propia) Con el objetivo de validar el correcto funcionamiento, se creó una interfaz que permita modificar los valores de origen y destino del usuario como se observa en la Figura 5.4.9, los cuales en un entorno real serían dados por el sensor UWB y la elección del usuario en la interfaz respectivamente. Figura 5.4.9 Interfaz para pruebas de planificación de rutas (Elaboración propia) A continuación, se muestran resultados de estas pruebas en la Figura 5.4.10. En la base de datos del sistema, se le asigna a cada producto una sección dentro del establecimiento para que cuando el usuario indique el producto o categoría a buscar, a través del prompting se identifiquen las coordenadas de llegada. 77 • Punto de inicio: (5,5) y punto de destino: Anaquel 13B Figura 5.4.10 Prueba de generación de rutas (Elaboración propia) 5.5. Subsistema de compra de productos El subsistema de compra de productos se encarga de la lectura y procesamiento de los códigos de barras de los productos que ingresan al carro de compras. Este proceso es esencial para garantizar que los productos sean identificados y registrados correctamente, permitiendo una experiencia de compra fluida y sin errores. La lectura de los códigos de barras se divide en dos etapas principales: la identificación del código de barras en el producto y la decodificación de la información contenida en este. 5.5.1. Identificación de productos La primera etapa en el proceso de lectura es la identificación del código de barras de los productos a medida que son ingresados. Estas imágenes son procesadas en tiempo real para detectar y localizar códigos de barras incluso en condiciones variables como diferentes ángulos, iluminación y calidad de imagen. Se decidió utilizar una red neuronal para una detección precisa, veloz y adaptable a los distintos productos de un supermercado. Además, dado que se trabaja con imágenes, se optó por redes neuronales convolucionales (CNN), conocidas por su eficiencia en la detección de patrones visuales. La Tabla 5.4 presenta una comparativa de arquitecturas CNN utilizadas para la identificación de códigos de barras. Se realizaron experimentos para seleccionar el modelo de red neuronal más adecuado. 78 Tabla 5.4 Tabla comparativa de redes neuronales (Elaboración propia) DeepLab V3 YOLO EfficientDet UNet Tipo de red Convolucional Convolucional Convolucional Convolucional Tarea principal Segmentación semántica Detección de objetos Detección de objetos Segmentación de imágenes Demanda computacional Alta (arquitectura compleja y segmentación a nivel de píxel) Baja Baja Media ¿Adecuado para tiempo real? Sí (dependiendo de la complejidad) Sí Sí Sí (dependiendo de la complejidad) A. Entrenamiento con DeepLab v3 Inicialmente, se probó la segmentación semántica utilizando DeepLab V3, que destaca por su capacidad para segmentar a nivel de píxel, lo que sería útil para delinear los contornos de productos con formas irregulares, como bolsas de pan, galletas y detergentes. Se realizó el etiquetado de las imágenes de entrenamiento obteniendo como resultado la imagen con su máscara como se observa en la Figura 5.5.1. Figura 5.5.1 Muestras del dataset de entrenamiento con máscara de segmentación (Elaboración propia) Se realizó el entrenamiento con 50 épocas obteniendo un accuracy de 99.1% y una pérdida aproximada de 0.02 como se puede observar en las curvas de accuracy y loss en la Figura 5.5.2. Figura 5.5.2 Curvas de precisión y pérdida del modelo con DeepLabV3 (Elaboración propia) Se realizaron pruebas de detección con esta red como se observa en la Figura 5.5.3. Se detectan los bordes de los productos adecuadamente independientemente de su rotación, lo cual es conveniente para el proyecto. Sin embargo, surgió la complicación de que, para realizar una lectura precisa del código de barras, era necesario corregir la orientación del producto, lo que incrementó significativamente la complejidad del procesamiento al utilizar segmentación semántica, especialmente para productos con 79 empaquetados no rígidos como lo son bolsas o envolturas, Por ello, se optó por probar la identificación de objetos para comparar la facilidad de la corrección de esta orientación haciendo uso de esta. Figura 5.5.3 Test de red entrenada con DeepLabV3 (Elaboración propia) B. Entrenamiento con Yolo Se requiere de identificar el recuadro del código de barras de los productos en tiempo real. Se seleccionó la arquitectura YOLO (You Only Look Once), debido a que tiene mayor eficiencia computacional que otros métodos de detección, con un rendimiento comparable como se observa en la Figura 5.5.4 (Redmon & Farhadi, 2018). Se selecciona la versión 8 de YOLO, la más reciente al momento de su implementación, debido a su precisión, eficiencia y velocidad de detección en comparación a versiones anteriores como se observa en la Figura 5.5.5. Esto debido a que tiene un menor número de parámetros y menor latencia (Ultralytics, 2023). La arquitectura de YOLOv8, está compuesta por 53 capas convolucionales y se basa en CSP-Darknet53 como estructura principal. Esta arquitectura incorpora conexiones parciales cruzadas, que optimizan el flujo de datos entre capas, y emplea un mecanismo de autoatención, permitiendo al modelo enfocarse en diferentes áreas de la imagen y ajustar su importancia según su relevancia para la detección (Venkatkumar, 2023). Figura 5.5.4 Geometría del campo de visión del usuario para observar la pantalla (Redmon & Farhadi, 2018) Figura 5.5.5 Comparación de YOLOv8 con sus predecesores (Ultralytics, 2023) Para el entrenamiento, se creó un conjunto de datos propio compuesto por 5000 imágenes, capturadas desde distintos ángulos, orientaciones e iluminaciones, con el objetivo de garantizar una variabilidad suficiente y mejorar la capacidad de generalización del modelo. Para optimizar la detección, se realizó 80 un proceso de etiquetado detallado, en el cual se identificaron con precisión las regiones de interés correspondientes a los códigos de barras, como se ilustra en la Figura 5.5.6. Figura 5.5.6 Labeling del dataset propio (Elaboración propia) Tras un entrenamiento de 50 épocas, se logró una precisión del 99% y una pérdida de 0.3563, como se ilustra en la Figura 5.5.7. Las curvas de precisión y recall reflejan un desempeño adecuado del modelo. Figura 5.5.7 Curvas de precisión y recall del modelo entrenado con YOLOv8(Elaboración propia) Inicialmente, se identificaba el contorno del código y, a partir del ángulo de inclinación de sus líneas, se realizaba la rectificación (Figuras 5.5.8 y 5.5.9). Sin embargo, este enfoque presentaba errores cuando las líneas del contorno no eran detectadas correctamente o cuando la orientación del código no se determinaba con precisión, lo que impedía avanzar a la etapa de lectura (Figuras 5.5.10). Este problema era especialmente frecuente en productos con empaques no rígidos. Para abordar esta limitación, se implementó Oriented Object Detection, una técnica que no solo detecta el código de barras, sino que también determina su orientación, mejorando la precisión y fiabilidad del sistema. Figura 5.5.8 Ejemplo de rotación correcta del código de barras (Elaboración propia) Figura 5.5.9 Ejemplo de rotación aceptable del código de barras (Elaboración propia) 81 Figura 5.5.10 Ejemplos de rotación errónea del código de barras (Elaboración propia) C. Entrenamiento con YOLO Oriented Bounding Boxes Para mejorar la precisión en la detección y orientación de los códigos de barras, se optó por implementar YOLOv8-OBB, una versión optimizada para la detección de objetos con rotación. Este enfoque permite identificar la presencia del código de barras y estimar su orientación. El etiquetado se realizó utilizando LabelImg2 (Chinakook, 2018) como se observa en las Figuras 5.5.11, 5.5.12 y 5.5.13. Figura 5.5.11 Etiquetado de dataset – Producto rígido con código inclinado (Elaboración propia) Figura 5.5.12 Etiquetado de dataset – Producto rígido con código con forma personalizada (Elaboración propia) Figura 5.5.13 Etiquetado de dataset – Producto rígido con código invertido verticalmente (Elaboración propia) 82 Se realizó una transformación de las etiquetas obtenidas del etiquetado con LabelImg2 mediante un script en Python, para adecuarlas al formato requerido por YOLOv8 OBB (‘Índice_clase X1 Y1 X2 Y2 X3 Y3 X4 X4’), como se observa en la Figura 5.5.14. Figura 5.5.14 Transformación de labels para YOLOv8 OBB (Elaboración propia) El entrenamiento se realizó sobre el dataset propio con un total de 50 épocas, alcanzando una precisión de 99.4% y un recall de 98.5%, lo que demuestra el alto rendimiento del modelo en la detección de códigos de barras con orientación variable. Los resultados se muestran en las Figuras 5.5.15 y 5.5.16. Figura 5.5.15 Resultados del entrenamiento de YOLOv8 OBB (Elaboración propia) Figura 5.5.16 Curvas de precisión y recall del entrenamiento de YOLOv8 OBB (Elaboración propia) Se realizan pruebas para validar el modelo entrenado y obtener el código de barras recortado para proceder con la lectura de este como se observa en la Figura 5.5.17. El tiempo de procesamiento es de aproximadamente 7ms por cuadro, lo cual es adecuado para la detección en tiempo real. Figura 5.5.17 Pruebas con la red de YOLOv8 OBB entrenada (Elaboración propia) 83 5.5.2. Decodificación de códigos de barras Una vez identificado el código de barras en la imagen, el siguiente paso es la decodificación de los caracteres que lo componen, proceso que se lleva a cabo mediante técnicas de reconocimiento óptico de caracteres (OCR). En un entorno de uso real, los productos pueden ser colocados en la cesta de compras en diferentes orientaciones y bajo condiciones de iluminación variables. Por ello, el sistema debe ser lo robusto y adaptable para garantizar una lectura precisa y consistente en cualquier escenario. A. Evaluación Inicial con Librerías de Código Abierto Existen librerías en Python, como Pyzbar y Barcode Detector de OpenCV, que permiten la lectura de códigos de barras. Se realizaron pruebas con ambas para evaluar su desempeño en distintas condiciones como calidad de imagen, iluminación, orientación y ruido, como se detalla en el Anexo G. En el caso de Barcode Detector de OpenCV, su rendimiento fue adecuado bajo condiciones ideales, logrando identificar los códigos de barras correctamente cuando se encontraban en posición horizontal y con buena iluminación. Sin embargo, su eficacia disminuyó significativamente en escenarios más complejos, como rotaciones alrededor de los ejes X, Y o Z, cambios en la iluminación o distorsiones en la imagen. Por ejemplo, si el producto presentaba rotaciones o arrugas, en determinados casos la librería fallaba (Figura 5.5.18), lo cual representa un desafío importante en aplicaciones reales. Figura 5.5.18 Ejemplo de reconocimiento con OpenCV Barcode Detector (Elaboración propia) Por otro lado, PyZbar mostró un comportamiento similar, siendo efectivo en condiciones controladas, pero presentando fallas cuando se introducían variaciones como cambios de resolución, rotaciones o iluminación. En particular, la resolución se destacó como un factor crítico en el desempeño de la librería. Pyzbar es capaz de reconocer códigos de barras cuando la imagen es nítida, pero pierde su capacidad de identificación con pequeñas modificaciones en la resolución (Figura 5.5.19). En un ambiente de supermercado, donde los productos que ingresan a la cesta de compras, por a la velocidad o movimiento del usuario podrían no ser capturados de forma completamente nítida, tendría un gran impacto negativo. Figura 5.5.19 Ejemplo de reconocimiento con Pyzbar (Elaboración propia) 84 B. Desarrollo de una CNN propia En la etapa de decodificación de códigos de barras, se probaron diversas estrategias para garantizar precisión y robustez. Si bien las librerías públicas como PyZbar y el Detector de Códigos de Barras de OpenCV ofrecen una lectura básica de los códigos, enfrentan dificultades significativas bajo condiciones variables, como cambios en la iluminación, rotaciones, y calidad de imagen. Estos desafíos se traducen en errores de decodificación, lo que no es aceptable en un entorno real donde los productos en los supermercados pueden presentar códigos de barras en ángulos y condiciones diversas. Dada esta realidad, se decidió desarrollar una red neuronal convolucional (CNN) propia que pudiera manejar las condiciones complejas como variaciones de orientación, iluminación y calidad de imagen que se presentan en un entorno real. La recolección de datos fue un primer paso crucial, en el cual se utilizaron datos generados por la librería Python Barcode y datos recopilados manualmente. Si bien la generación de códigos de barras con Python Barcode permitió obtener una base de datos inicial, las condiciones ideales bajo las que fueron generados limitaban su capacidad para representar la realidad. Para superar esto, se procedió a la recolección de datos propios en condiciones no controladas, capturando imágenes de códigos de barras en diferentes orientaciones, iluminaciones, y con posibles obstrucciones como dedos. Esta diversidad en los datos de entrenamiento permitió desarrollar una red robusta y versátil. Ejemplos las imágenes recopiladas se muestran en la Figura 5.5.20. Figura 5.5.20 Ejemplos del dataset para la CNN propia (Elaboración propia) En las imágenes recolectadas, se tuvo presente la toma de imágenes del mismo producto desde distintas perspectivas, iluminación, distorsión, desenfoque y orientación como se observa en la Figura 5.5.21, con el fin de la red generalice adecuadamente y reconozca los códigos en cualquier situación. Figura 5.5.21 Imágenes del dataset tomadas en variedad de condiciones (Elaboración propia) Se aplicaron técnicas de aumento de datos, generando variaciones de las imágenes originales con cambios aleatorios en perspectiva, ruido, brillo, contraste, saturación, matiz, y rotación (entre -20 a 20° 85 y 180°). Esto permitió crear un conjunto de datos diversificado y robusto, asegurando que la red neuronal pudiera decodificar códigos de barras independientemente de su orientación y distinguir correctamente los caracteres de inicio y fin de los códigos. El conjunto de datos aumentado tiene un total de 51,720 imágenes de entrenamiento (Figura 5.5.22) distribuidas como se detalla en la Tabla 5.5. Figura 5.5.22 Dataset aumentado (Elaboración propia) Tabla 5.5 Dataset con data augmentation (Elaboración propia) Origen Cantidad de imágenes Imágenes aumentadas por cada una Imágenes totales Imágenes manualmente recolectadas 5344 5 26720 Imágenes generadas con Python Barcode 5000 5 25000 Imágenes totales del dataset 51720 Para comprender el estado actual de la detección de códigos de barras e identificar posibles mejoras, se llevó a cabo un análisis de redes neuronales existentes aplicadas a esta tarea. Uno de los primeros enfoques revisados fue el modelo desarrollado por Fredrick Fridborn (2017), basado en una red neuronal convolucional (CNN) de 6 capas. Esta red fue entrenada utilizando un conjunto de datos ideal, el cual consiste en imágenes de alta calidad con transformaciones básicas como rotación y traslación horizontal. Este modelo alcanzó una precisión del 94.2% y una velocidad de procesamiento de 0.02 segundos por imagen. Sin embargo, el modelo presentó limitaciones al enfrentarse a escenarios reales. Por otro lado, en un estudio más reciente propone una modificación en la fase de inferencia de una red neuronal convolucional para la decodificación de códigos de barras multidígito, denominada "Smart Inference" (SI). Esta técnica mejoró la precisión y redujo las predicciones erróneas al incorporar un mecanismo de verificación basado en la suma de comprobación y en la augmentación de datos durante la inferencia. Los experimentos demostraron que SI alcanzó una precisión del 95.85% en un conjunto de evaluación compuesto por imágenes de códigos de barras en condiciones desafiantes. (Do et al., 2021). A pesar de ello, los autores señalaron desafíos relacionados con la precisión en condiciones de ruido y desenfoque. Además, el rendimiento podría verse afectado por el peso computacional de las arquitecturas combinadas, lo que limita su uso en sistemas de tiempo real con recursos restringidos. A partir de la revisión de los trabajos previos, se evidenció la necesidad de desarrollar una red propia que mejorare el desempeño en entornos reales y mantenga un equilibrio entre precisión y eficiencia computacional. En el contexto específico de los supermercados peruanos, donde más del 95% de los códigos de barras siguen el formato EAN-13 en base al dataset recopilado, se propuso una solución optimizada para este estándar. Se plantearon y realizaron pruebas con distintas arquitecturas para 86 identificar la óptima. La arquitectura con mejor desempeño encontrada (Figura 5.5.23), toma como base los bloques residuales de ResNet, debido a su capacidad para abordar el problema del desvanecimiento del gradiente en redes profundas, lo cual facilita un entrenamiento más eficiente. La red emplea una serie de capas convolucionales y de normalización dentro de los bloques residuales, lo que mejora el entrenamiento de redes profundas al abordar el problema del desvanecimiento del gradiente. La arquitectura incluye una capa inicial de convolución y agrupación máxima, seguida de cuatro bloques residuales, agrupación adaptativa y una capa completamente conectada para producir la salida final del código de barras. En el entrenamiento se utilizó un optimizador Adam, con la función de pérdida 'CrossEntropyLoss' y una tasa de aprendizaje de 0.00005 durante 150 épocas, logrando una precisión del 97.8%. En la Figura 5.5.24 se puede observar pruebas de reconocimiento utilizando la red entrenada. Figura 5.5.23 Arquitectura de red propia (Elaboración propia) Figura 5.5.24 Pruebas de reconocimiento con CNN propia (Elaboración propia) C. Integración de detección y lectura del código de barras Posterior al entrenamiento de las redes de detección y lectura de los códigos de barras, se realizó la integración de estas para que en conjunto permitan identificar los códigos de barra ingresados al carro de compras. Como se observa en la Figura 5.5.25, este reconocimiento funciona correctamente incluso en escenarios complejos como cambios de luminosidad, rotación y empaquetados no rígidos. Cabe resaltar que el código de barras es leído por la red tanto si se encuentra horizontal o girado 80°, lo cual garantiza la robustez del sistema en caso un producto sea ingresado en cualquier sentido. 87 Figura 5.5.25 Identificación y reconocimiento de códigos de barras del sistema (Elaboración propia) Se realizó una evaluación comparativa del desempeño de la integración entre la red de detección del código de barras con YOLO OBB y la red neuronal convolucional (CNN) propia frente a las librerías comerciales Pyzbar y OpenCV Barcode Detector. Para ello, se diseñaron dos experimentos centrados en la lectura de códigos de barras bajo diversas condiciones. En el primer experimento, se analizaron 50 productos sometidos a cuatro escenarios específicos: condiciones ideales (sin rotación y buena calidad de imagen), rotación en tres ejes, presencia de ruido o desenfoque, y variaciones de iluminación (reflexiones), los cuales se pueden observar en el Anexo H. Los resultados, resumidos en la Tabla 5.6, evidencian que la red neuronal desarrollada mantuvo una superioridad significativa en escenarios desafiantes. Si bien las tres soluciones lograron un accuracy del 100% en condiciones ideales, la red propia destacó al alcanzar un 92% en rotación, 90% con ruido o desenfoque, y 94% bajo variaciones de iluminación. En contraste, Pyzbar presentó pérdidas drásticas en estos escenarios, con precisiones de hasta 30%, mientras que OpenCV mostró un desempeño intermedio, pero aún inferior a la red personalizada. En el segundo experimento, se evaluó el reconocimiento de códigos de barras en productos que descendían por una rampa a diferentes velocidades, simulando condiciones de movimiento rápido en tiempo real como se observa en la Figura 5.5.26. Los resultados, los cuales se visualizan en la Tabla 5.7 confirman nuevamente la robustez de la red propia. Mientras que la CNN personalizada mantuvo un accuracy superior al 80% incluso a velocidades de hasta 50-60 cm/s, las librerías Pyzbar y OpenCV mostraron un descenso significativo en su rendimiento. Pyzbar alcanzó apenas 38% de accuracy en dicho rango de velocidad, y OpenCV obtuvo 42%. A velocidades superiores (70-80 cm/s), la red propia logró aún un 30%, mientras que Pyzbar y OpenCV no superaron el 4% y 2%, respectivamente. Tabla 5.6 Tabla comparativa de reconocimiento de códigos de barras – Experimento 1 (Elaboración propia) Escenario Red Propia PyZbar OpenCV Barcode Detector Aciertos % Aciertos % Aciertos % Condiciones ideales 50 100 50 100 50 100 Rotación en los 3 ejes 46 92 35 70 37 74 Ruido o desenfoque 45 90 15 30 32 64 Reflectancias 47 94 34 68 38 76 88 Figura 5.5.26 Reconocimiento de productos según su velocidad de caída (Elaboración propia) Tabla 5.7 Tabla comparativa de reconocimiento de códigos de barras – Experimento 2 (Elaboración propia) Velocidad Red Propia PyZbar OpenCV Barcode Detector (cm/s) Aciertos % Aciertos % Aciertos % [10 - 20] 48 96 38 76 39 78 [20 - 30] 46 92 30 60 33 66 [30 - 40] 43 86 25 50 28 56 [40 - 50] 41 82 21 42 24 48 [50 - 60] 40 80 19 38 21 42 [60 - 70] 38 76 13 26 11 22 [70 - 80] 15 30 2 4 1 2 En conclusión, los resultados obtenidos demuestran que la red neuronal desarrollada supera ampliamente a las soluciones comerciales Pyzbar y OpenCV Barcode Detector en condiciones adversas y a velocidades elevadas. Esta superioridad se debe a la capacidad de la arquitectura basada en ResNet para adaptarse a variaciones en la calidad de imagen, iluminación y movimiento, lo que la convierte en una herramienta robusta y eficiente para aplicaciones en tiempo real. 5.6. Integración de software En esta sección se detalla la integración de los subsistemas, los cuales incluyen localización dentro del local, reconocimiento de productos, la asistencia virtual y la conexión de la interfaz con la base de datos. Un desafío importante considerado en el diseño del sistema es la posibilidad de que un usuario inserte un producto por error o desee retirarlo del carro de compras. Para abordar este caso, se implementó un análisis de trayectoria que identifica el movimiento del producto en relación con la cesta. Si el producto desciende hacia la cesta, el sistema lo interpreta como un ingreso, mientras que un movimiento ascendente indica un retiro. Se realizaron pruebas para validar este análisis (Figura 5.6.1). Figura 5.6.1 Pruebas de reconocimiento de productos (Elaboración propia) 89 Cuando se detecta que un producto ha ingresado a la cesta, se añade automáticamente a la lista de compras, asegurándose de que este proceso ocurra únicamente después de que el producto haya pasado completamente por las cámaras, evitando así duplicidades en el reconocimiento. De manera similar, si un producto es retirado, el sistema espera a que este deje de ser detectado por las cámaras antes de eliminarlo de la lista. En los casos donde el sistema no puede reconocer el código del producto ingresado, el sensor de peso registra el cambio y notifica al usuario a través de la interfaz que se ha ingresado un producto no reconocido, solicitando que lo intente nuevamente. Las pruebas realizadas con la interfaz demuestran la integración completa del software simulando el proceso de compra de un usuario. Inicialmente, se identifican los productos mediante el movimiento de estos frente a las cámaras, simulando su ingreso o retiro del carro. Por ejemplo, se añadieron dos productos al carro de compras, mientras que un tercer producto está en proceso de ser añadido (Figura 5.6.2). Este proceso integra el reconocimiento de productos a través de códigos de barras con la conexión a la base de datos, la cual permite obtener información como el nombre y precio. En la pestaña ‘Producto’ se permite la búsqueda de productos a través de palabras clave (Figura 5.6.3). En este caso se integró la interfaz con una consultar personalizada a la base de datos, de tal forma de que devuelva los productos relacionados a la búsqueda del usuario. Posteriormente, se muestran pruebas de localización (Figura 5.6.4), donde se realiza una consulta para encontrar la sección de lácteos en base a la posición del usuario. En este prototipo, dado que no se cuenta con un sensor de posición, las coordenadas se ingresan manualmente. En la pestaña de "Promociones" (Figura 5.6.5), se ejecutan consultas a la base de datos para listar los productos con descuento. Esta funcionalidad tiene un impacto significativo, ya que permite a los usuarios acceder a descuentos en tiempo real. Finalmente, en la sección de "Ayuda", se integra el asistente virtual que ofrece interacción mediante texto o voz como se observa en la Figura 5.6.6. Esta funcionalidad conecta el sistema de prompting con la base de datos del supermercado, permitiendo responder a consultas específicas del usuario, tales como precios, promociones o la ubicación de productos. Con ello, se garantiza una experiencia de compra asistida y eficiente, mejorando la interacción del cliente con el sistema. Figura 5.6.2 Simulación de ingreso de productos (Elaboración propia) 90 Figura 5.6.3 Búsqueda de información de productos (Elaboración propia) Figura 5.6.4 Guía y localización en el local (Elaboración propia) Figura 5.6.5 Búsqueda de promociones (Elaboración propia) Figura 5.6.6 Asistencia dentro del local (Elaboración propia) 91 6. CAPÍTULO V: PRESUPUESTO En este capítulo de detallan los precios de las piezas y componentes necesarios para implementar el sistema completo y también el costo de software por el uso mensual del carro una vez este sea implementado en el supermercado. Se dividirá esta sección en costo de componentes mecánicos, componentes electrónicos y de software. 6.1. Costo de fabricación Se calcula el costo de fabricación unitario del carro de compras a través de la estimación de costos de los componentes mecánicos y electrónicos. 6.1.1. Costo de componentes mecánicos En el sistema, los componentes que conforman la cesta de compras y la base del carro de compras serán fabricados por fresado de HDPE, mientras que los componentes restantes serán fabricados por medio de impresión 3D o comprados. En la Tabla 6.1 se presenta el costo estimado total de fabricación, considerando los materiales y procesos involucrados. Tabla 6.1 Costo de componentes mecánicos (Elaboración propia) Nombre de pieza Material Proceso de mecanizado Peso Precio unitario (PEN) Canti dad Total (PEN) Base de carrito HDPE Fresado 1.32 50.00 1 50.00 Cesta inferior HDPE Fresado 4.88 250.00 1 250.00 Cesta superior HDPE Fresado 1.38 120.00 1 120.00 Soporte para ultrasonidos PLA Impresión 3D 0.07 1.71 1 1.71 Soporte para cámaras HDPE Fresado 0.56 13.89 1 13.89 Tapa de soporte para cámaras HDPE Fresado 0.15 3.79 1 3.79 Carcasa de panel de control PLA Impresión 3D 0.85 21.14 1 21.14 Base de panel de control PLA Impresión 3D 0.42 10.57 1 10.57 Tapa trasera superior HDPE Fresado 0.39 15.00 1 15.00 Tapa trasera inferior HDPE Fresado 0.43 15.00 1 15.00 Carcasa inferior HDPE Fresado 1.06 60.00 1 60.00 Carcasa superior HDPE Fresado 1.06 60.00 1 60.00 Tubo cuadrado 30x400x2 ASTM A36 Componente comercial - 25 4 100 Tubo cuadrado 30x410x2 ASTM A36 Componente comercial - 20 4 80 Brida de tubo cuadrado 400 Aluminio 6061 Componente comercial - 15 4 60 Brida de tubo cuadrado 410 Aluminio 6061 Componente comercial - 15 4 60 Tubo circular 1 ¾ pulg Aluminio 6061 Componente comercial - 30 1 30 Brida circular 1 ¾ pulg Aluminio 6061 Componente comercial - 15 2 30 Marco de elevación ASTM A36 Soldadura - 45.6 1 45.6 Tubo de aluminio ¾ pulg Aluminio 6061 Componente comercial - 30 1 30 Soporte superior de motor Aluminio 6061 Fresado 0.4 15.2 1 15.2 Soporte inferior de motor Aluminio 6061 Fresado 0.2 7.6 1 7.6 Soporte inferior de mecanismo de elevación Aluminio 6061 Fresado 0.13 5.05 1 5.05 Aros intermedios de mecanismo de elevación Aluminio 6061 Fresado 0.40 15.25 2 30.50 Rodamiento axial SKF 40x60 - Componente comercial - 30 2 60 Husillo 400x32 mm - Componente comercial - 80 1 80 Rueda loca de 4 pulg - Componente comercial - 35 4 140 Total 1,395.05 92 6.1.2. Costo de componentes electrónicos En esta sección se detalla el costo de adquirir los componentes electrónicos seleccionados para implementar este carro de compras inteligente en la Tabla 6.2. Tabla 6.2 Costo de componentes electrónicos (Elaboración propia) Componente Precio unitario Cantidad Total (PEN) Pantalla táctil capacitiva 474.962 1 474.96 Micrófono 801.8 1 801.80 Altavoces 45.6 2 91.20 Cámara 130 6 780.00 Adaptador multicámara 190 2 380.00 Lector de código de barras 530 1 530.00 Sensor de distancia láser 75 1 75.00 UWB 65.45 1 65.45 Sensor de ultrasonido 8 4 32.00 POS móvil 100 1 100.00 Push button 2 5 10.00 Sensor de final de carrera 6 2 12.00 Motor con driver 374.262 1 374.26 Batería 5S4P 1672 1 1672.00 Relé 28 1 28.00 Regulador de voltaje 60 3 180.00 Sensor de voltaje 29 1 29.00 Microcontrolador 95 1 95.00 Jetson Xavier NX 1516.2 1 1516.20 Total 7246.87 6.1.3. Costo total de fabricación Con base en los costos previamente calculados, se determina el costo de fabricación unitario del carrito de compras, como se muestra en la Tabla 6.3. El costo estimado por unidad es de aproximadamente 8,642 soles, con la posibilidad de reducirlo mediante la producción a gran escala. Este costo resulta viable para su implementación en supermercados, considerando los beneficios operativos y la mejora en la experiencia del cliente. Tabla 6.3 Costo unitario de fabricación (Elaboración propia) Costo componentes mecánicos (PEN) 1395.06 Costo de componentes eléctricos (PEN) 7246.87 Costo unitario (PEN) 8641.92 6.2. Costo de software El costo del software se ha estimado considerando el consumo de tokens en la API de ChatGPT-3.5 y el uso de la API de voz de Google Cloud Text-to-Speech (TTS). A continuación, se detallan los cálculos realizados para determinar los costos asociados a estos servicios. 93 6.2.1. Costo del modelo de lenguaje Para calcular el costo de ChatGPT-3.5, se ha estimado el número de clientes diarios y el promedio de consultas realizadas por cada cliente. Considerando un total de 2000 clientes al supermercado por día y 15 consultas por cliente, con un estimado de 80 tokens por consulta, se obtiene un consumo total de 2,400,000 tokens diarios. Dado el esquema de tarifas de OpenAI para GPT-3.5 Turbo ($0.0005 por cada 1000 tokens de entrada y $0.0015 por cada 1000 tokens de salida) (OpenAI, s.f.), se asume que cada consulta involucra 40 tokens de entrada y 40 tokens de salida. El costo diario se calcula: 𝐶𝑜𝑠𝑡𝑜𝑑𝑖𝑎𝑟𝑖𝑜 = 𝑇𝑜𝑘𝑒𝑛𝑠 𝐷𝑖𝑎𝑟𝑖𝑜𝑠 ∗ (𝐶𝑜𝑠𝑡𝑜 𝑇𝑜𝑘𝑒𝑛𝑠𝑒𝑛𝑡𝑟𝑎𝑑𝑎 + 𝐶𝑜𝑠𝑡𝑜 𝑇𝑜𝑘𝑒𝑛𝑠𝑠𝑎𝑙𝑖𝑑𝑎) 𝐶𝑜𝑠𝑡𝑜𝑑𝑖𝑎𝑟𝑖𝑜 = 2,400,000 ∗ (0.0005 + 0.0015) 1000 = 4.8 𝑈𝑆𝐷/𝑑í𝑎 𝐶𝑜𝑠𝑡𝑜𝑚𝑒𝑛𝑠𝑢𝑎𝑙 = 𝐶𝑜𝑠𝑡𝑜𝑑𝑖𝑎𝑟𝑖𝑜 ∗ 30 = 4.8 ∗ 30 = 144 𝑈𝑆𝐷/𝑚𝑒𝑠 6.2.2. Costo de la API de voz Para la estimación del costo del servicio de síntesis de voz, se ha considerado un promedio de 10 palabras por consulta y un tamaño de 5 caracteres por palabra. Con esta base, se estima un total de 1,500,000 caracteres procesados por día. 𝐶𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑒𝑠𝐷𝑖𝑎𝑟𝑖𝑜𝑠 = 𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑢𝑠𝑢𝑎𝑟𝑖𝑜𝑠 ∗ 10 ∗ 5 = 1,500,000 𝑐𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑒𝑠/𝑑í𝑎 Google Cloud Text-to-Speech ofrece una cuota gratuita de 1 millón de caracteres por mes. Superado este límite, el costo es de aproximadamente $4 por cada millón de caracteres (Google Cloud, s.f.). Suponiendo que todo el consumo excede la cuota gratuita, el cálculo del costo diario es: 𝐶𝑜𝑠𝑡𝑜 𝑑𝑖𝑎𝑟𝑖𝑜 = 𝐶𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑒𝑠𝐷𝑖𝑎𝑟𝑖𝑜𝑠 1000000 ∗ 4 = 6 𝑈𝑆𝐷/𝑑í𝑎 𝐶𝑜𝑠𝑡𝑜 𝑚𝑒𝑛𝑠𝑢𝑎𝑙 = 𝐶𝑜𝑠𝑡𝑜 𝑑𝑖𝑎𝑟𝑖𝑜 ∗ 30 = 180 𝑈𝑆𝐷/𝑚𝑒𝑠 6.2.3. Costo total de software A continuación, se muestra en la Tabla 6.4 el resumen de los costos de software a diario y mensualmente tomando en cuenta los costos estimados. En ella se observa que el costo mensual por el uso del sistema en un supermercado de aproximadamente 2000 clientes diarios es de 1184 soles. Tabla 6.4 Resumen de costos estimados (Elaboración propia) Servicio Costo Diario (USD) Costo Mensual (USD) Costo Mensual (PEN) ChatGPT-3.5 (OpenAI) 4.8 144 527 Google TTS 6.0 180 657 Total aproximado 10.8 324 1184 94 CONCLUSIONES Este proyecto presentó el diseño de un Carro de Compras Inteligente para optimizar la experiencia de compra en supermercados peruanos, con un enfoque en accesibilidad e inclusión. A partir de lo realizado, se concluye lo siguiente: • Se llevó a cabo un análisis detallado de las tecnologías de asistencia en supermercados, identificando soluciones previas y sus limitaciones. A partir de ello, se definieron requerimientos clave para el escaneo automatizado de productos, la navegación asistida y la accesibilidad. • Se diseñó un sistema integral que mejora significativamente la experiencia de compra del usuario al proporcionar asistencia personalizada, reducir tiempos mediante la eliminación de colas y ofrecer herramientas de accesibilidad adaptadas a distintos tipos de usuarios: o Personas con discapacidad visual parcial: Guía por voz, detección de objetos cercanos para navegación segura, aumento del tamaño del texto en la interfaz y asistencia por voz. o Personas con discapacidad auditiva: Interacción mediante la pantalla táctil del sistema. o Personas con movilidad reducida: Cesta de compras ajustable en altura para facilitar su uso. • Se estableció la arquitectura del sistema, incluyendo diagramas de flujo, diagramas de operaciones y diagramas de bloques electrónicos, asegurando una comprensión estructurada de la interacción entre usuario y sistema. • Se realizaron cálculos mecánicos para dimensionar y seleccionar adecuadamente los componentes. Además, mediante análisis por elementos finitos, se verificó la resistencia estructural del diseño, asegurando su viabilidad en condiciones de uso real. • Se seleccionaron componentes electrónicos según requerimientos de funcionamiento del sistema y se realizó el cálculo de autonomía de este en base al consumo energético de los componentes. • Se diseñaron estrategias de control para garantizar el funcionamiento óptimo del sistema y una configuración intuitiva. Estas estrategias incluyeron interfaces accesibles, opciones de calibración automática y asistencia guiada para facilitar su uso por parte de cualquier usuario. • Se implementaron algoritmos de planificación de rutas para la navegación en supermercados, optimizando la búsqueda de productos y detectando obstáculos en el entorno. • Se desarrolló un sistema de reconocimiento de productos basado en inteligencia artificial, mejorando la precisión en la detección y decodificación de códigos de barras. Se implementó una estrategia de doble etapa utilizando YOLOv8 OBB para la detección, logrando un 99.7% de precisión, y una arquitectura de bloques residuales para la decodificación con un 97.8% de exactitud. Esta solución superó a las librerías tradicionales en escenarios complejos. • Se integraron funciones de interacción visual y oral con el usuario. Para la interacción visual, se diseñó una interfaz intuitiva que permite una navegación fluida. Para la interacción oral, se implementaron APIs de reconocimiento y generación de voz, junto con modelos de lenguaje basados en prompting y bases de datos, asegurando respuestas precisas y contextualizadas. 95 • Se realizó un análisis de costos de fabricación y consumo mensual del sistema, determinando la viabilidad comercial del carro de compras inteligente en supermercados peruanos. El sistema propuesto demuestra el potencial de la inteligencia artificial y la automatización para mejorar la experiencia de compra, garantizando accesibilidad e inclusión. RECOMENDACIONES Y TRABAJO A FUTURO El presente proyecto logró el diseño de un Carro de Compras Inteligente con un enfoque inclusivo. No obstante, existen oportunidades para ampliar su alcance y funcionalidad a futuro. En primer lugar, se sugiere incorporar herramientas para extender el uso del sistema a personas con discapacidad visual total. Esto podría lograrse mediante un módulo de identificación de productos en los anaqueles, utilizando técnicas de visión por computadora y retroalimentación por voz o vibración. Además, se podría desarrollar un sistema de navegación autónoma capaz de guiar de manera segura a los usuarios dentro de la tienda, facilitando la localización de productos y evitando obstáculos. En cuanto a la configuración de las cámaras, actualmente se utilizan adaptadores multicámara secuenciales debido a limitaciones de costo y tamaño. A futuro, se recomienda explorar adaptadores multicámara simultáneos, que permitirían el análisis en tiempo real de múltiples flujos de video. Esta mejora incrementaría la velocidad de reconocimiento de productos. Por otro lado, aunque el sistema está optimizado para la decodificación de códigos de barras EAN-13, una recomendación clave es extender la capacidad del sistema a otros formatos, como códigos QR y EAN-10. Esto aumentaría la gama de productos identificables. Una de las áreas clave que debe abordarse en futuras implementaciones es el manejo de productos sueltos, tales como frutas, verduras o pan. En la actualidad, el sistema contempla el uso de una máquina en el supermercado que coloca una etiqueta en estos productos. Sin embargo, este proceso podría generar largas filas, lo cual no sería ideal para una compra fluida. Para mitigar este problema, se sugiere la implementación de soluciones automatizadas para el pesado y etiquetado de estos productos. Adicionalmente, una de las etapas más importantes para validar el desempeño del sistema es la realización de pruebas en entornos reales, como supermercados en Perú. Estas pruebas permitirán analizar la interacción del sistema con los usuarios finales, identificar posibles fallas y recopilar retroalimentación para optimizar tanto el software como el hardware. Asimismo, los resultados servirán como base para personalizar el sistema según las necesidades del mercado local. En resumen, este proyecto sienta las bases para una solución tecnológica que no solo facilita la experiencia de compra a personas con discapacidad, sino que también promueve un proceso más eficiente, accesible y personalizado para todos los usuarios. La evolución continua del Carro de Compras Inteligente tiene el potencial de contribuir significativamente a la digitalización y modernización del comercio, tanto en Perú como a nivel global. 96 BIBLIOGRAFÍA Abdelaziz, E. M. (2014). Smart Shopping Cart System. https://www.theseus.fi/bitstream/handle/10024/78617/Elmahboul_Abdelaziz.pdf?sequence=1 ACE. (2012). Gas Springs. https://www.ace- ace.com/media/acedownloads/ACE_Catalog_GasSprings_US_2012.pdf Alonso, F. (2014). Sistema de interacción humano-robot basado en diálogos multimodales y adaptables [Universidad Carlos III de Madrid]. https://e- archivo.uc3m.es/bitstream/handle/10016/20359/tesis_fernando_alonso_martin_2014.pdf?sequen ce=1&isAllowed=y Amazon. (s.f.). Amazon Dash Cart: Comida Gourmet y Alimentos. Retrieved April 8, 2023, from https://www.amazon.com/b?ie=UTF8&node=21289116011 ArduCam. (2015). Raspberry Pi Multi Camera Adapter Module User Guide. https://www.arducam.com/downloads/RaspCAM/RaspberryPi_Multi_Camera_Adapter_Module _UG.pdf ArduCam. (2019, November). Raspberry Pi Multi CameraAdapter Module V2.2User Guide. https://www.uctronics.com/download/Amazon/B0120.pdf Asgari, S., Luo, Y., Akbari, A., Belbin, G., Li, X., Harris, D., & Selig, M. (2020). A positively selected FBN1 missense variant reduces height in Peruvian individuals. Nature. AVIA Semiconductor. (s.f.). HX711 24-Bit Analog-to-Digital Converter (ADC) for Weigh Scales. Retrieved November 26, 2024, from https://naylampmechatronics.com/img/cms/000147/000147_hx711_english_datasheet.pdf Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., Agarwal, S., Herbert-Voss, A., Krueger, G., Henighan, T., Child, R., Ramesh, A., Ziegler, D. M., Wu, J., Winter, C., … Amodei, D. (2020). Language Models are Few- Shot Learners. 34th Conference on Neural Information Processing System. https://proceedings.neurips.cc/paper/2020/file/1457c0d6bfcb4967418bfb8ac142f64a-Paper.pdf Budynas, R., & Nisbett, K. (2011). Diseño en ingeniería mecánica de Shigley (9th ed.). http://www1.frm.utn.edu.ar/electromecanica/materias%20pagina%20nuevas/elementoMaquina/ material/libroCabecera.pdf Cámara Peruana de Comercio Electrónico. (2021). Reporte Oficial de la Industria de Ecommerce en Perú. Observatorio Ecommerce. https://www.capece.org.pe/wp- content/uploads/2021/03/Observatorio-Ecommerce-Peru-2020-2021.pdf Caper. (s.f.-a). Caper Cart 3. Retrieved April 8, 2023, from https://www.caper.ai/cart Caper. (s.f.-b). Caper Smart Cart Product Specifications. Retrieved April 18, 2023, from https://fccid.io/2AX3E-CAPERV0101/User-Manual/User-Manual-5079611.pdf Chack, S., & Kapila, V. (2019). An Augmented Reality Interface for Human-Robot Interaction in Unconstrained Environments. Institute of Electrical and Electronics Engineers (IEEE). Chinakook. (2018). labelImg2. Github. https://github.com/chinakook/labelImg2 Cia. General de Aceros S.A. (s.f.). SAE 1020 y SAE 1045. Aceros de ingeniería al carbono. Retrieved September 12, 2023, from https://repository.unilibre.edu.co/bitstream/handle/10901/7826/VasquezTorresEdwinLibardo201 3Anexos.pdf CSI Products. (s.f.). Shopping Trolley - 210 Litre. Retrieved April 9, 2023, from https://www.csi- products.co.uk/trucks-and-trolleys/office-and-retail-trolleys/retail-trolleys/shopping-trolley-210- litre 97 Das, D., & Wang, Y. (2004). Isometric Pull-Push Strengths in Workspace. International Journal of Occupational Safety and Ergonomics, 10, 43–58. https://doi.org/10.1080/10803548.2004.11076594 DeepLearning.AI. (s.f.). Building Systems with the ChatGPT API. Retrieved November 30, 2024, from https://learn.deeplearning.ai/courses/chatgpt-building-system Digitus. (2020). Escritorio eléctrico de altura ajustable. https://ftp.assmann.com/pub/DA-/DA- 90388___4016032463269/DA- 90388_qig_es_Frame%20Assembling%20ES_20200127.pdf?nodl=1 Disset, O. (2021). MESA ELEVADORA DE TIJERA SIMPLE MINI. https://www.dissetodiseo.com/wp- content/uploads/2016/09/MSA1495_Mesa_-elevadora_mini_CE_FT.pdf Do, T., Tolcha, Y., Jun, T. J., & Kim, D. (2021). Smart Inference for Multidigit Convolutional Neural Network based Barcode Decoding. Extron Electronics. (2015). Environmental Considerations and Human Factors for Videowall Design. https://www.extron.com/article/environconhumanfact?tab=technology Fundación General de la Universidad de Salamanca. (2018, July). El carro de la compra inteligente . YouTube. https://www.youtube.com/watch?v=kLMo6ICKMFQ Fundación General de la Universidad de Salamanca. (2018, July 18). Un carro inteligente facilita la compra en supermercados a personas con movilidad reducida. https://tcue.usal.es/images/stories/2017/pconcepto/pc_gabriel_villarubia_carro.pdf Galizia, C. (s.f.). Los grados de protección IP en los equipos e instalaciones y su interpretación según IEC y NEMA. Retrieved April 21, 2023, from http://electrico.copaipa.org.ar/attachments/102_Interpretaci%C3%B3n%20de%20los%20Grados %20de%20Protecci%C3%B3n%20seg%C3%BAn%20IEC%20y%20NEMA.pdf Gausemeier, J., & Moehringer, S. (2003). NEW GUIDELINE VDI 2206 – A FLEXIBLE PROCEDURE MODEL FOR THE DESIGN OF MECHATRONIC SYSTEMS. INTERNATIONAL CONFERENCE ON ENGINEERING. https://www.researchgate.net/publication/317024441_VDI_2206- _A_New_Guideline_for_the_Design_of_Mechatronic_Systems Giray, L. (2023). Prompt Engineering with ChatGPT: A Guide for Academic Writers. Annals of Biomedical Engineering . https://doi.org/https://doi.org/10.1007/s10439-023-03272-4 Google Cloud. (n.d.). Precios de Text-to-Speech. Retrieved February 21, 2025, from https://cloud.google.com/text-to-speech/pricing Goldberg, Y. (2015). A Primer on Neural Network Models for Natural Language Processing. https://u.cs.biu.ac.il/~yogo/nnlp.pdf Gostand. (s.f.). Manually operated height adjustable desk Rectangular leg. Retrieved April 18, 2023, from https://www.gostand.co.uk/products/series-2-manual-sit-stand-desk-rectangular-leg Handson Technology. (s.f.). HC-SR04 Ultrasonic Sensor Module User Guide. Retrieved September 27, 2023, from https://www.handsontec.com/dataspecs/HC-SR04-Ultrasonic.pdf Hernandez, C., & Martínez, G. (2022). DISEÑO DE UN REDUCTOR DE VELOCIDAD TORNILLO SIN FIN CORONA CONECTADO A UN MOLINO RIPPLE MILL. UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS. Hibbeler, R. (2011). Mechanics of Materials (8th ed.). Infante, L. (2020). Mueble industrial, escritorio graduable [Universidad Jorge Tadeo Lozano]. https://expeditiorepositorio.utadeo.edu.co/handle/20.500.12010/14192 Instituto Nacional de Estadística e Informática. (2018). Censos Nacionales 2017: XII de Población, VII de Vivienda y III de Comunidades Indígenas. 179–187. https://www.inei.gob.pe/media/MenuRecursivo/publicaciones_digitales/Est/Lib1539/libro.pdf 98 Jänsch, J., & Birkhofer, H. (2006). THE DEVELOPMENT OF THE GUIDELINE VDI 2221 - THE CHANGE OF DIRECTION . INTERNATIONAL DESIGN CONFERENCE. JetsonHacks. (2020). Jetson Xavier NX GPIO Header J12 PINOUT. https://jetsonhacks.com/nvidia- jetson-xavier-nx-gpio-header-pinout/ Jurafsky, D., & Martin, J. H. (2024). Speech and Language Processing. An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition with Language Models (3rd ed.). https://web.stanford.edu/~jurafsky/slp3/ed3book.pdf KHK Stock Gears. (s.f.). Screw Gears. Retrieved September 4, 2023, from https://khkgears.net/pdf/2023/screw-gears.pdf Lester, P. (2005). A* Pathfinding for Beginners. https://csis.pace.edu/~benjamin/teaching/cs627/webfiles/Astar.pdf Libby Spicer, & Zippin. (2023). Post-Pandemic Hangover Causing $555 Billion Headwinds for Brick and Mortar Retail as Shoppers Habitually Abandon Long Lines. https://www.getzippin.com/blog/post-pandemic-hangover-causing-555-billion-headwinds-for- retailers Lozano, P. (2013). Diseño de un simulador sísmico [UNIVERSIDAD DE ALMERIA]. http://repositorio.ual.es/bitstream/handle/10835/2642/Trabajo.pdf Luuk, I. (2020, April 17). Arduino Scale with HX711 and 50kg Bathroom Scale Load Cells | Step by Step Guide. - YouTube. https://www.youtube.com/watch?v=LIuf2egMioA&ab_channel=Indrek Mayo Clinic. (2021). Enanismo. https://www.mayoclinic.org/es-es/diseases- conditions/dwarfism/symptoms-causes/syc-20371969 Meta AI. (s.f.). Llama 2 - Resource Overview. 2023. Retrieved August 31, 2023, from https://ai.meta.com/resources/models-and-libraries/llama/ Millett, P. (2022, October 6). Brushless vs. Brushed DC Motors: When and Why to Choose One Over the Other. Monolithic Power Systems. https://media.monolithicpower.com/mps_cms_document/2/0/2021-brushless-vs-brushed-dc- motors-when-and-why-to-choose-one-over-the-other_r1.0.pdf Ministerio de Relaciones Exteriores. (2022, December). Guía de Negocios FinTech 2022/2023. https://cdn.www.gob.pe/uploads/document/file/3944750/EY%20Per%C3%BA%20Gu%C3%A Da%20de%20Negocios%20FinTech%202022-2023.pdf Ministerio del Ambiente, & Servicio Nacional de Meteorología e Hidrología del Perú. (2021). Climas del Perú. Mapa de Clasificación Climática Nacional. https://www.senamhi.gob.pe/load/file/01404SENA-4.pdf Monroe Engineering. (s.f.-a). How Spring Plungers Work. Retrieved September 12, 2023, from https://monroeengineering.com/info-how-spring-plungers-work.php Monroe Engineering. (s.f.-b). SPRING & BALL PLUNGERS. Retrieved September 12, 2023, from https://monroeengineering.com/assets/guides/monroe-all-about-ball-and-spring-plungers.pdf Mount-It! (s.f.). Standing Desk Converter. Retrieved April 18, 2023, from https://content.syndigo.com/asset/469b1c2d-26b8-4db3-ae34-4860f3cae47a/original.pdf Mr. Shelf. (s.f.). Supermarket Trolleys. Retrieved April 9, 2023, from www.mrshelf.co.za Namwongsa, S., Puntumetakul, R., Neubert, M., & Boucaut, R. (2019). Effect of Neck Flexion Angles on Neck Muscle Activity among Smartphone Users With and Without Neck Pain. Taylor & Francis. Nanjing Jiangning Shuntai Precision Machinery Factory. (s.f.). T5 T6 T8 T10 T12 Tr8 stainless steel 3d Printer Trapezoidal screw lead screw with brass nut. Retrieved August 24, 2023, from https://www.alibaba.com/product-detail/T5-T6-T8-T10-T12- Tr8_1600901977236.html?spm=a2700.pccps_detail.0.0.34b713a0DT5ZQI 99 Navarro, Á. (2019). Análisis y cálculo de mesa elevadora de tijera simple para 2000 Kg. de carga [Universidad Zaragoza]. https://zaguan.unizar.es/record/87367/files/TAZ-TFG-2019-4391.pdf Naylamp Mechatronics. (s.f.). Sensor final de carrera mecánico RAMPS. Retrieved November 30, 2024, from https://naylampmechatronics.com/cnc-open-source-hw/137-sensor-final-de-carrera- mecanico-ramps.html NEMO-Q. (2022, May 10). How Does Wait Time Impact Customer Satisfaction? . NEMO-Q. https://www.nemo-q.com/2022/05/how-does-wait-time-impact-customer-satisfaction/ Nepal, U., & Eslamiat, H. (2022). Comparing YOLOv3, YOLOv4 and YOLOv5 for Autonomous Landing Spot Detection in Faulty UAVs. https://www.researchgate.net/publication/357684232_Comparing_YOLOv3_YOLOv4_and_YO LOv5_for_Autonomous_Landing_Spot_Detection_in_Faulty_UAVs OpenAI. (s.f.). Key concepts. Retrieved November 30, 2024, from https://platform.openai.com/docs/concepts OpenAI. (s.f.). API Pricing. Retrieved February 21, 2025, from https://openai.com/api/pricing/ Pasamón, F. (2021). Consumidores y tecnología, ejes de una estrategia de éxito | Deloitte España. Deloitte. https://www2.deloitte.com/es/es/pages/consumer-business/articles/consumidores-y- tecnologia.html Pozyx. (2022, June). Pozyx wearable tag. https://get.pozyx.io/hubfs/Datasheets/product%20sheet- wearable%20tag-June%2022.pdf Decreto Supremo N°013-2016-Produce: Reglamento técnico sobre conductores eléctricos de cobre de baja tensión de uso en edificaciones domiciliarias, comerciales y usos similares, (2016). https://www2.produce.gob.pe/dispositivos/publicaciones/ds013-2016-produce.pdf Protolabs. (s.f.). Moldeo por Inyección de Plásticos. Retrieved November 22, 2023, from https://www.protolabs.com/es-es/servicios/moldeo-por-inyeccion/moldeo-por-inyeccion-de- plasticos/ Qian, K., Niu, J., & Yang, H. (2013). Developing a Gesture Based Remote Human-Robot Interaction System Using Kinect. International Journal of Smart Home. https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=62d4a156a8bdd052374b9b08 d058452a1afecc24 Ramos, C. (2009). SISTEMA DE INTERACCIÓN HUMANO – ROBOT BASADO EN VOZ PARA EL ENTRENAMIENTO DE COMPORTAMIENTOS [Instituto Tecnológico Autónomo de México]. In Frontiers in Systems Neuroscience (Vol. 8, Issue 1 APR). https://doi.org/10.3389/FNSYS.2014.00052/FULL Raspberry Pi. (2024). Camera - Raspberry Pi Documentation. Raspberry Pi Documentation - Camera. https://www.raspberrypi.com/documentation/accessories/camera.html Rath, S., & Gupta, V. (2022, November). Performance Comparison of YOLO Object Detection Models – An Intensive Study. LeanOpenCV. https://learnopencv.com/performance-comparison-of-yolo- models/ Redmon, J., & Farhadi, A. (2018). YOLOv3: An Incremental Improvement. ArXiv. https://arxiv.org/abs/1804.02767 RESOLUCIÓN MINISTERIAL No 075-2023-VIVIENDA, (2023). https://busquedas.elperuano.pe/download/url/modificacion-de-la-norma-tecnica-a120- accesibilidad-univers-resolucion-ministerial-n-075-2023-vivienda-2152217-1 Resolución Ministerial N° 061-2021-VIVIENDA, 7 (2021). https://cdn- web.construccion.org/normas/files/vivienda/RM_061-2021-Vivienda.pdf Robert L. Norton. (2009). Diseño de maquinaria. 100 Rodero, E. (2001). El tono de la voz masculina y femenina en los informativos radiofónicos: un análisis comparativo. Congreso Internacional Mujeres, Hombres y Medios de Comunicación, Junta de Castilla y León, Valladolid, 2. https://www.bocc.ubi.pt/pag/rodero-emma-tono-voz-femenina.pdf Ryumin, D., Ivanko, D., Axyonov, A., Kagirov, I., Karpov, A., & Zelezny, M. (2019). Human-Robot Interaction with Smart Shopping Trolley using Sign Language: Data Сollection. Institute of Electrical and Electronics Engineers (IEEE). https://doi.org/10.1016/B0-12-227410-5/00317-3 Serway, R., & Jewett, J. (2014). Physics for Scientists and Engineers with Modern Physics. https://www.lehman.edu/faculty/anchordoqui/SJ1.pdf Shop Equipment Limited. (s.f.). Standard Shopping Trolley - 210 L with lock. Retrieved April 9, 2023, from https://www.shopequipment.ie/products/standard-shopping-trolley-210-l Shopping Trolleys Ireland. (s.f.). Duka 210L Shopping. Retrieved April 9, 2023, from https://www.shoppingtrolleys.ie/product/210l-duka-shopping-trolley/ Stock Drive Products Sterling Instrument. (s.f.). LONG-LOK SPRING PLUNGERS. Retrieved September 12, 2023, from https://www.sdp-si.com/PDFS/Plungers-Metric.pdf Tandazo, D., Loja, A., & Rojas, R. (2020). SIMULACIÓN DEL PROTOTIPO DE UNA MÁQUINA AUTOMATIZADA PARA DOSIFICACION Y APLANADO DE MASA PARA EMPANADAS [Escuela Politécnica Nacional]. https://bibdigital.epn.edu.ec/bitstream/15000/21311/1/CD%2010829.pdf TRACXPOINT. (s.f.). Daivi® - Carrito de compras inteligente de inteligencia artificial . Retrieved April 8, 2023, from https://tracxpoint.com/es/productos-y-sistemas/daivi/ Tymbia. (s.f.). Carro Supermercado 180L. Carro Supermercado 180L. Retrieved April 3, 2023, from https://www.tymbia.com/es/producto/1270-carro-supermercado-180l-supermercados-y- almacenes-a305050009 Ultralytics. (2023). Ultralytics YOLOv8. https://docs.ultralytics.com/es/models/yolov8/#can-i- benchmark-yolov8-models-for-performance Vanegas, L. (2018). Diseño de Elementos de Máquinas. Editorial Universidad Tecnológica de Pereira. https://core.ac.uk/download/pdf/158348444.pdf Venkatkumar, R. (2023). YoloV8 Architecture & Cow Counter With Region Based Dragging Using YoloV8. https://medium.com/@VK_Venkatkumar/yolov8-architecture-cow-counter-with-region- based-dragging-using-yolov8-e75b3ac71ed8 Verma, M., Singh, S., & Kaur, B. (2015). An Overview of Bluetooth Technology and its Communication Applications. International Conference of Current Engineering and Technology. https://www.researchgate.net/publication/276251559_An_Overview_of_Bluetooth_Technology _and_its_Communication_Applications Walmart Chile. (s.f.). Walmart Chile lanza innovador y pionero sistema que agiliza el proceso de compras en tiendas. Retrieved April 8, 2023, from https://www.walmartchile.cl/walmart-chile- lanza-innovador-y-pionero-sistema-que-agiliza-el-proceso-de-compras-en-tiendas/ Wanzl. (s.f.). Shopping trolleys. Retrieved April 9, 2023, from https://www.wanzl.com/Downloads/Prospekte/Retail/1193_Shopping-trolleys_EN.pdf Wixroyd. (s.f.). Spring Plungers from Wixroyd. Retrieved September 12, 2023, from https://www.wixroyd.com/en/page/spring-plungers-from-wixroyd Young, J., Trudeau, M., Odell, D., Marinelli, K., & Dennerlein, J. (2011). Touch-screen tablet user configurations and case-supported tilt affect head and neck flexion angles. https://content.iospress.com/download/work/wor01337?id=work%2Fwor01337 Zhang, H., Wei-ming Lin, & Ai-xia Chen. (2018). Path Planning for the Mobile Robot: A Review. Symmetry. https://doi.org/https://doi.org/10.3390/sym10100450 101 ANEXOS ANEXO A: Lista de requerimientos LISTA DE REQUERIMIENTOS Proyecto Diseño de un carro de compras inteligente para supermercados del Perú Elaborado: Lucía Gabriela Sarmiento Calderón Revisado: José Balbuena Galván Fecha Categoría Deseo o exigencia Descripción Responsable 22/04/23 Función principal E Brindar una experiencia de compra personalizada a los usuarios a través de un sistema de escaneo automático de productos, pago en el carro de compras para evitar colas y asistencia durante todo el proceso de compra por medio de voz y de una interfaz gráfica. Lucía Sarmiento 22/04/23 Función principal E Garantizar la accesibilidad del carro a personas con discapacidad auditiva, visual parcial y total y en silla de ruedas, así como a personas con enanismo. Lucía Sarmiento 22/04/23 Geometría E Ancho máximo de 1.20 metros y altura máxima de 1 metro. Lucía Sarmiento 22/04/23 Geometría E Utilizar un mecanismo de giro que permita un diámetro de giro al usuario menor a 1 metro Lucía Sarmiento 22/04/23 Fuerzas E Peso máximo del carro de compras sin cargas de 35 kg. Lucía Sarmiento 22/04/23 Fuerzas E Soportar un peso mínimo de 40 kg por más de 10 horas de manera consecutiva sin deformarse. Lucía Sarmiento 22/04/23 Fuerzas E Mantener la altura de la cesta en la posición fijada por el usuario independientemente del peso que soporte durante el proceso de compra. Lucía Sarmiento 22/04/23 Ergonomía E Permitir regular la altura del carro entre 60 y 120 centímetros. Lucía Sarmiento 22/04/23 Cinética E Desplazarse en suelos con coeficiente de fricción según ISO 1045-17 sin resbalar. Lucía Sarmiento 22/04/23 Cinemática E Velocidad máxima de variación de altura de 2 cm/s. Lucía Sarmiento 22/04/23 Cinemática E Utilizar ruedas que permitan el giro del carro en cualquier dirección y distribuirlas en el carro para que permitan realizar el giro cuando se encuentre dentro de los pasillos de la tienda (diámetro de giro menor a 1.20m). Lucía Sarmiento 102 22/04/23 Señales E Señales de entrada: • Encendido/apagado del sistema • Señal de descenso/ascenso del carro • Restablecimiento de altura del carro • Activación/desactivación del modo de guía y asistencia por voz. • Activación del reconocimiento de voz • Modulación del volumen de la guía por voz. Lucía Sarmiento 22/04/23 Señales E Señales de salida: • Generación del lenguaje natural para la comunicación con el usuario. • Imágenes y mensajes en la interfaz que brinden información como: Productos ingresados en el carro, promociones en la tienda, mapa del carro dentro del local, entre otros. • Luz que señala estado del carro en base a colores: azul (En proceso de compra), verde (pago realizado), blanco (persona con discapacidad visual), anaranjado (carro cargando su batería) y amarillo (carga de batería finalizada). • Nivel de batería del sistema Lucía Sarmiento 22/04/23 Interacción E • Comandos de voz: o Utilizar reconocimiento del lenguaje natural para reconocer las palabras del usuario. o Filtrar el ruido para garantizar el reconocimiento adecuado en ambientes ruidosos. • Interfaz visual táctil: Permitir modificar el tamaño del texto para personas con discapacidad visual parcial. Lucía Sarmiento 22/04/23 Interacción D Contar con una asistente virtual que permita resolver una amplia gama de preguntas de los clientes por texto y voz. Lucía Sarmiento 22/04/23 Electrónica E Funcionamiento con baterías que garanticen una autonomía mínima de 10 horas Lucía Sarmiento 22/04/23 Electrónica E Sensores: • Micrófonos • Cámaras • Sensores de ubicación del vehículo • Sensores para detectar obstáculos Lucía Sarmiento 22/04/23 Electrónica E Actuadores: • Accionamiento del sistema de elevación Lucía Sarmiento 22/04/23 Electrónica E Se utilizará un microcomputador para realizar el procesamiento requerido por el Lucía Sarmiento 103 sistema. 22/04/23 Seguridad E Sistema contará con protección IP65 (polvo y chorros de agua de cualquier dirección) Lucía Sarmiento 22/04/23 Seguridad E Aislar completamente los circuitos eléctricos para evitar su contacto con las personas y utilizar conductores aislados que cumplan con la sección, espesor y diámetro indicados en el “Reglamento Técnico sobre Conductores Eléctricos de cobre de baja tensión de uso en Edificaciones Domiciliarias, Comerciales y Usos Similares” Lucía Sarmiento 22/04/23 Software E Realizar un algoritmo de reconocimiento de productos que ingresen o salgan del carro de compras. Lucía Sarmiento 22/04/23 Software E Realizar el reconocimiento y generación de lenguaje natural. Lucía Sarmiento 22/04/23 Software E Realizar una interfaz gráfica para la interacción táctil con los usuarios. Lucía Sarmiento 22/04/23 Software D Reconocer productos ubicados en los anaqueles para guiar a personas con discapacidad visual. Lucía Sarmiento 22/04/23 Control E Controlar el ascenso o descenso del carro de compras. Lucía Sarmiento 22/04/23 Fabricación E Fabricar piezas que no se encuentren afectadas por el peso de las compras por técnicas de prototipado rápido. Lucía Sarmiento 22/04/23 Fabricación E Fabricar piezas que soportan carga de acuerdo con los materiales y técnicas obtenidos a partir de cálculos de resistencia. Lucía Sarmiento 22/04/23 Uso E Soportar temperaturas entre 5°C y 30°C Lucía Sarmiento 22/04/23 Uso E Funcionar adecuadamente en entornos de 90% de humedad máxima. Lucía Sarmiento 104 ANEXO B: Estructura de funciones B.1 Dominio Energía En este dominio se detallan las funciones correspondientes a la energización de los componentes del sistema. A continuación, se explica cada función definida en la Figura B.1. Figura B.1 Dominio Energía (Elaboración propia) • Almacenar energía: Las baterías son las encargadas de almacenar la energía eléctrica para que puedan distribuirla al sistema durante su funcionamiento. • Iniciar/detener funciones: La señal de ‘Encender/Apagar sistema’ habilita o deshabilita el paso de corriente al sistema para que inicie o detenga su funcionamiento. • Acondicionar energía para cada módulo: Los componentes eléctricos requieren de voltajes de alimentación distintos, por ello es necesario acondicionar la energía para cada uno de ellos. • Energizar módulo de sensores: Permite brindar energía eléctrica a los sensores del sistema. • Energizar módulo de actuadores: Permite brindar energía eléctrica a los actuadores del sistema. • Energizar módulo de procesamiento y control: Permite brindar energía eléctrica a los componentes encargados del procesamiento y control. B.2 Dominio Mecánico En este dominio se encuentran las funciones orientadas a definir el comportamiento mecánico del sistema. A continuación, se detallarán estas funciones, las cuales son mostradas en la Figura B.2. Figura B.2 Dominio Mecánico (Elaboración propia) 105 • Proteger y albergar componentes: Garantizar que todos los componentes del sistema se encuentran protegidos y posicionados de manera fija y segura dentro del carro de compras. • Soportar productos ingresados al carro de compras: Se debe de soportar el peso generado por los productos que ingresan al carro de compras sin que este se deforme o quiebre. • Empujar el carro de compras: El usuario es quien empuja al carro para que este se desplace. • Permitir el movimiento del carro de compras: Se debe de garantizar el movimiento del carro de manera adecuada dentro de la tienda para que el usuario realice sus compras de manera cómoda. • Permitir la elevación y descenso del carro de compras: El usuario debe de poder regular la altura del carro de compras para que esta se ajuste a sus necesidades. • Enganchar carro a silla de ruedas: Se debe de garantizar el enganche a sillas de ruedas para que los usuarios en ellas puedan realizar sus compras y movilizarse dentro del local. B.3 Dominio Sensores En este dominio se definen las funciones que permiten la medición de variables del entorno como se observa en la Figura B.3. Además, se realizará una explicación de cada una de estas funciones. Figura B.3 Dominio Sensores (Elaboración propia) • Identificar el producto ingresado o retirado del carro: Se debe de reconocer cuando se ingresa un producto del carro de compras para proceder con el reconocimiento de este. • Identificar posición dentro del local: El carro de compras debe conocer su ubicación dentro del local para poder guiar al usuario cuando este solicite dirigirse hacia un producto o lugar. • Inspeccionar el entorno: El carro de compras debe de detectar la cercanía de objetos a este para que brinde indicaciones a personas con discapacidad visual. • Reconocer voz del usuario: Se requiere captar las palabras del usuario para la interacción. • Medir elevación/descenso del carro • Medir el nivel de batería: Se debe de conocer el nivel de la batería para conocer cuándo es necesario cargar el carro o cuando esta carga culminó. 106 B.4 Dominio Procesamiento y control En este dominio se definen las funciones relacionadas con el control y procesamiento de información dentro del carro de compras, las cuales se pueden observar en la Figura B.4. Figura B.4 Dominio Procesamiento y control (Elaboración propia) • Reconocer el producto ingresado/retirado: Se debe de identificar al producto que es ingresado o retirado del carro de compras a través de su código de barras. • Agregar/quitar producto de la lista de compras del usuario: Se debe agregar o retirar de la lista de compras del usuario el producto reconocido previamente. • Evaluar si el reconocimiento de voz está activo: El usuario activa el reconocimiento de voz a través de una señal, por ello se debe evaluar si este está activo. • Reconocer las palabras del usuario: Se identifican los comandos por voz del usuario. • Formular respuesta al usuario: A partir del mensaje del usuario, se formula la respuesta. • Evaluar si la guía por voz se encuentra activa: El usuario elige si desea la asistencia por voz o prefiere tener una asistencia solo visual. Por ello, se debe evaluar si esta opción está activa. • Formular por voz la respuesta al usuario: Para responder de manera oral a la pregunta formulada por el usuario, el sistema realiza la generación el lenguaje natural. • Formular respuesta visual al usuario: Se despliega la respuesta al usuario de manera visual. • Calcular la distancia de objetos cercanos al carro: Con la información dada por el sensor, se calcula la distancia de objetos externos para identificar posibles riesgos. • Calcular trayectoria local: Haciendo uso de la posición y la distancia de objetos al carro, se puede guiar al usuario dentro de la tienda a medida que este camina. 107 • Calcular trayectoria global: Con el sensor de posición se traza de manera general el recorrido que el usuario debe de seguir para llegar a su destino. • Generar comandos de guía oral: Generar el lenguaje natural oral para dar indicaciones por voz que permitan la navegación dentro del local. • Determinar volumen de respuesta: El usuario define el volumen del sistema, por ello se debe de identificar cuál es el volumen establecido antes de brindar una respuesta oral. • Obtener promociones y ofertas: Se obtienen las promociones y ofertas actuales a partir de la información obtenida de la base de datos para mostrarla a los usuarios. • Determinar el costo de los productos: Se calcula el costo de los productos dentro del carro de compras cuando el usuario desea proceder con el pago. • Configurar medio de pago: Se consulta al usuario si desea realizar el pago en el POS (Point of Sale) integrado en el carro o si desea pagar en efectivo en una caja de pago. • Enviar información de pago: Se envía el monto a pagar al POS en caso de pago con tarjetas o billeteras digitales, y el código de pago en caso de pago en efectivo. • Aprobar/denegar compra: Se recibe la confirmación del pago de los productos del POS o caja de pago si se pagó en efectivo, por lo cual se procede a mostrar esta información al usuario y cambiar el color de la luz led a azul que indica que las compras ya fueron pagadas. • Procesar información a mostrar en pantalla: Se determina el contenido a mostrar en la pantalla en base a las señales ingresadas por el usuario y el procesamiento generado. • Determinar el color del indicador de luz: La luz emitida por el carro proporciona información. Por ello, se evalúa si está activado el modo de ‘Persona con discapacidad’, si se ha realizado el pago o la batería del carro, para determinar el color a emitir. • Determinar el movimiento de la cesta de compras: A través de botones en la interfaz el usuario determina la altura ideal de la cesta de compras. B.5 Dominio Actuadores En el dominio de actuadores se presentan las funciones que permiten accionar y generar movimiento dentro del sistema como se muestra en la Figura B.5. Figura B.5 Dominio Actuadores (Elaboración propia) • Accionar sistema de elevación/descenso: Accionar el actuador que permita modificar la altura del carro de compras de acuerdo con lo calculado en la etapa de procesamiento. 108 B.6 Dominio Interfaz En este dominio se encuentran las funciones correspondientes a la interfaz visual y por voz del carro de compras inteligente como se observa en la Figura B.6. Figura B.6 Dominio Interfaz (Elaboración propia) • Activación/desactivación del modo de discapacidad visual: Se requiere activar/desactivar este modo para que herramientas como guía por voz e identificación de obstáculos sean activadas. • Activación/ desactivación del modo de asistencia por voz: Se brinda a los usuarios la posibilidad de decidir si desean una asistencia por voz o solo visual. • Activación/ desactivación del reconocimiento de voz: Con el objetivo de evitar el reconocimiento de palabras del entorno, el usuario activa el reconocimiento de voz de manera momentánea mientras habla para que el sistema únicamente reconozca su voz. • Regular el volumen de salida de voz: Se requiere brindar la posibilidad de regular el volumen de la asistencia para que el usuario lo adapte a sus necesidades. • Capturar información táctil ingresada por el usuario: Se desea recolectar la información que el usuario ingresa por medio de la pantalla táctil para poder generar una respuesta a ello. • Mostrar contenido visual: Se muestra el contenido de acuerdo con la interacción con el usuario. • Emitir voz de asistencia personalizada: Generar la voz de respuesta al usuario. B.7 Dominio Comunicación En este dominio se definen funciones para la comunicación del carro de compras inteligente con sistemas externos para el intercambio de información como se observa en la Figura B.7. Figura B.7 Dominio Comunicación (Elaboración propia) • Recibir información de la base de datos de la tienda • Enviar información de transacción a base de datos 109 ANEXO C: Matriz morfológica En la matriz morfológica se definen las tecnologías que podrían ser utilizadas para satisfacer cada función en la estructura de funciones. En esta sección se dividirá la matriz morfológica según cada subsistema para un mejor análisis y en el Anexo B se puede observar la tabla general. Asimismo, por cada subsistema se selecciona el componente a ser utilizado por cada propuesta de solución. El color celeste representa a la propuesta de solución 1, el verde a la propuesta 2 y el amarillo a la propuesta 3. Propuesta 1 Propuesta 2 Propuesta 3 Subsistema de compra de productos Dominio Función Alternativa 1 Alternativa 2 Alternativa 3 Se n so re s Detectar el producto ingresado/retirado del carro Cámaras + lector de código de barras Lector de código de barras Lector RFID Medir elevación/descenso de la cesta de compras Sensor de distancia láser Galga extensiométrica Ultrasonido P ro ce sa m ie n to y c o n tr o l H ar d w ar e Reconocer el producto ingresado/retirado del carro Microcontrolador Computador Agregar/quitar el producto de la lista de compras del usuario Determinar costo total de productos Configurar medio de pago Aprobar/denegar compra Determinar elevación de la cesta Procesar pago de los productos POS app POS móvil POS pantalla táctil So ft w ar e Reconocer el producto ingresado/retirado del carro Red neuronal convolucional API de detección de objetos Red neuronal recurrente 110 Agregar/quitar el producto de la lista de compras del usuario Programación imperativa Programación orientada a objetos Programación estructurada Determinar costo total de productos Configurar medio de pago Aprobar/denegar compra Determinar elevación de la cesta Control PID Control adaptativo Control difuso C o m u n ic ac ió n Recibir información de la base de datos de la tienda API RESTful (Service request) Conexión con credenciales y consultas SQL ORM (Mapeo objeto- relacional) Enviar información de transacción a base de datos Subsistema de interacción humano-robot Dominio Función Alternativa 1 Alternativa 2 Alternativa 3 P ro ce sa m ie n to y c o n tr o l H ar d w ar e Evaluar si el reconocimiento de voz está activo Microcontrolador Computador Reconocer las palabras del usuario Identificar las palabras clave Evaluar si la guía por voz se encuentra activa Formular por voz la respuesta al usuario Generar comandos de guía oral Determinar volumen de respuesta Formular la respuesta visual al usuario Procesar información a mostrar en pantalla Determinar el color de luz emitida So ft w ar e Evaluar si el reconocimiento de voz está activo Programación imperativa Programación orientada a objetos Programación estructurada Identificar las palabras clave Evaluar si la guía por voz se encuentra activa Generar comandos de guía oral Determinar volumen de 111 respuesta Formular la respuesta visual al usuario Procesar información a mostrar en pantalla Determinar el color de luz emitida Reconocer las palabras del usuario Application programming interfaces (API) Algoritmos de reconocimiento de voz Identificación con procesamiento de señales Formular por voz la respuesta al usuario Application programming interfaces (API) Transformadores de lenguaje pre- entrenados Modelo basado en patrones de reconocimiento In te rf az H ar d w ar e Identificar voz del usuario Micrófono de condensador Micrófono dinámico Micrófono de cinta Activación/desactivación del modo de discapacidad visual Switch on/off Push button Pantalla táctil Activación/desactivación de asistencia por voz Activación/desactivación del reconocimiento de voz Switch on/off Push button Pantalla táctil Regular volumen de salida Regulador Botones Pantalla táctil Regular altura de la cesta de compras Manualmente Botones Pantalla táctil Capturar información táctil ingresada por el usuario Pantalla táctil capacitiva Pantalla táctil resistiva Gafas de realidad aumentada Mostrar contenido visual Emitir voz de asistencia personalizada Altavoces acoplados al carro Audífonos 112 So ft w ar e Activación/desactivación del modo de discapacidad visual Programación imperativa Programación orientada a objetos Programación estructurada Activación/desactivación del modo de asistencia por voz Activación/desactivación del reconocimiento de voz Regular volumen de salida Regular altura de la cesta de compras Capturar información táctil ingresada por el usuario Programación imperativa Programación orientada a objetos Programación estructurada A ct u ad o re s H ar d w ar e Accionar sistema de elevación/descenso Cilindro neumático Motor eléctrico Manualmente Subsistema de navegación Dominio Función Alternativa 1 Alternativa 2 Alternativa 3 Se n so re s Medir posición dentro del local Tecnología UWB (ultra wide-band) Localización por wifi Radiofrecuencia (RF) Identificar el entorno Infrarrojo Cámara Ultrasonido P ro ce sa m ie n to y c o n tr o l H ar d w ar e Calcular la distancia de objetos cercanos al carro Microcontrolador Computador Calcular trayectoria global So ft w ar e Calcular la distancia de objetos cercanos Programación imperativa Programación orientada a objetos Programación estructurada Realizar el control de posición Calcular trayectoria global Calcular trayectoria local 113 Subsistema de energía Dominio Función Alternativa 1 Alternativa 2 Alternativa 3 Se n so re s Medir energía Sensor de diferencia de tensión Divisor de voltaje En er gí a Almacenar energía Baterías LiPo Baterías de plomo ácido Baterías de litio-ión Iniciar / detener funciones Botón Switch Separar etapas de potencia y control Relé Optoacoplador Transformador de control Acondicionar energía para cada módulo Regulador conmutable de voltaje Regulador lineal Regulación con diodo Zener Energizar módulo de sensores Energizar módulo de actuadores Energizar módulo de procesamiento y control Subsistema mecánico Dominio Función Alternativa 1 Alternativa 2 Alternativa 3 M ec án ic o Proteger y albergar componentes Carcasa de plástico Carcasa de metal Carcasa de material compuesto Almacenar productos ingresados al carro de compras Cesta de compras de metal Cesta de compras de plástico 114 Empujar el carro de compras Mango de plástico Mango de metal Permitir el movimiento del carro de compras Ruedas giratorias Ruedas motrices Elevar y descender la cesta de compras Mecanismo de tijera simple Mecanismo tornillos sin fin Mecanismo con engranajes helicoidales y tornillo sin fin Enganchar carro a silla de ruedas Mecanismo de enganche metálico Correas de enganche entre carro y silla de ruedas 115 ANEXO D: Conceptos de solución Concepto de solución 1 En la siguiente sección se detalla el planteamiento del concepto de solución 1, el cual puede visualizarse en la Figura D.1. En el aspecto mecánico, el concepto de solución 1 propone el uso de un mecanismo de tornillos sin fin con accionamiento manual para la elevación y descenso del carro de compras con cesta metálica y mango de plástico. Además, para el desplazamiento se cuentan con 2 ruedas giratorias y 2 motrices, por lo que el diámetro de giro del carro será mayor a la longitud de este pues no puede girar sobre su eje o sobre alguna rueda delantera. Asimismo, para el uso de personas con sillas de ruedas se propone el uso de correas de enganche que les permitan desplazarse con el carro de compras y la parte superior de la cesta puede ser plegada para facilitar el acceso a la cesta a personas con sillas de ruedas. Estas características se pueden observar en la Figura D.2. En el dominio de sensores, se propone el uso de cámaras distribuidas en el contorno de la canasta para la identificación de productos para productos empaquetados, para aquellos que tengan un código de barras de acuerdo con el peso como frutas, verduras y carnes se hace uso de un escáner de códigos de barras. Estas imágenes son enviadas a una API de reconocimiento de objetos para identificar a los productos ingresados o retirados de la cesta. Otro sensor utilizado es el infrarrojo para identificar obstáculos en el entorno, lo cual es muy importante para personas con discapacidad visual. Además, para brindar indicaciones dentro del local, se utilizan localización por Wi-Fi como se observa en la Figura D.3 y se cuenta con cámaras para reconocer marcadores de posición dentro del local que permitan realizar un control de localización del carro. Los dispositivos utilizados para la interacción son un micrófono, altavoces y una pantalla táctil. El micrófono condensador permite reconocer la voz del usuario cuando este activa el reconocimiento con un switch. Además, se propone el uso de una pantalla táctil resistiva, la cual detecta el contacto con cualquier objeto ya sea un dedo, guantes o lapiceros, pero no cuenta con alta sensibilidad al tacto, pues requiere de presión para detectar lo seleccionado por el usuario. En el dominio de procesamiento y control, se seleccionan tanto un microcontrolador como un computador, los cuales permitirán una distribución adecuada de tareas de procesamiento entre ellos para evitar la saturación de alguno de ellos. Para el pago de productos se utiliza un POS móvil, el cual recibe la información de pago de la interfaz y permite el pago con tarjeta al usuario. Por otro lado, para la energización de los subsistemas, se propone el uso de una batería LiPo. El voltaje de esta será adaptado a través de un circuito de regulación con diodo Zener. Para encender o apagar el sistema, se hará uso de un botón on/off y un optoacoplador permitirá separar las etapas de procesamiento y potencia para prevenir daños por picos de corriente. Además, se utilizará un divisor de voltaje para medir la batería. 116 Figura D.1 Concepto de solución 1 (Elaboración propia) Figura D.2 Localización por Wi-Fi del concepto de solución 1 (Elaboración propia) Figura D.3 Concepto 1 adaptado a personas con sillas de ruedas (Elaboración propia) 117 Concepto de solución 2 En la siguiente sección se detalla el planteamiento del concepto de solución 2, el cual puede observarse en la Figura D.4. En el dominio mecánico, se propone un carro de compras con cesta de plástico y mango de metal que cuente con una carcasa metálica para la protección de los componentes del sistema. Este concepto propone el uso de 4 ruedas giratorias en el carro, lo cual permitiría el giro del carro sobre su propio eje. Esto facilita el movimiento a la persona dentro del local en especial al girar entre los pasillos. Asimismo, para elevar a descender la cesta del carro, se propone un mecanismo de tijera simple, el cual es accionado por un cilindro neumático. Además, para el uso de personas con sillas de ruedas, se propone el uso de un sistema de enganche metálico que facilite el manejo del carro a estas personas y la parte posterior del carro de compras es plegable para facilitar el uso a personas con discapacidad visual como se observa en la Figura D.5. En el dominio de sensores se propone el uso de un lector de código de barras para la identificación de los productos, por lo que el usuario tiene que manualmente escanearlos antes de ingresarlos o retirarlos. Además, se emplea una galga extensiométrica para la medición de la elevación del carro a través de la variación de su resistencia. También se cuenta con un micrófono de cinta para el reconocimiento de voz, el cual cuenta con una amplia respuesta en frecuencia para reconocer tonos altos y bajos. Por otro lado, para la ubicación del carro dentro del local se emplean sensores Wi-Fi como se observa en la Figura D.6 y se realiza un control de lazo cerrado con marcadores de posición dentro del local sensados a través de un sensor infrarrojo. Con el objetivo de prevenir al usuario de obstáculos en su camino se hace uso de una cámara. En los dispositivos de interacción con el usuario, se propone una pantalla resistiva para la interacción táctil, la cual permite reconocer el contacto con cualquier objeto por lo que reconoce el contacto de guantes, lapiceros para pantalla, dedos, entre otros. Además, se emplean audífonos para escuchar sin el ruido externo los comandos o indicaciones del carro. Figura D.4 Concepto de solución 2 (Elaboración propia) 118 Figura D.5 Localización por Wi-Fi del concepto de solución 2 (Elaboración propia) Figura D.6 Concepto 2 adaptado a personas con sillas de ruedas (Elaboración propia) Concepto de solución 3 En la siguiente sección se describe y esboza el concepto de solución 3 propuesto para el carro de compras inteligente, el cual se puede observar en la Figura D.7. En el dominio mecánico, se propone la fabricación en plástico de la cesta, el mango y la carcasa de protección de los componentes, lo cual permitirá aligerar el peso del carro para una mejor ergonomía del usuario y garantizará el funcionamiento del carro en entornos salinos y con humedad pues no se generará oxidación de estos componentes exteriores. Asimismo, se propone el uso de 4 ruedas giratorias, lo cual permitirá un adecuado giro del carro con un diámetro de giro menor a la longitud del carro. Se propone el uso de un mecanismo de engranajes helicoidales con tornillo sin fin que pueda ser accionado por un motor para el ascenso y descenso del carro de compras. Además, para el uso de personas con sillas de ruedas, se propone un mecanismo de enganche metálico que permita el giro relativo entre la persona y el carro para que esta pueda dar giros en los pasillos adecuadamente. Adicionalmente, la cesta de compras se encuentra dividida verticalmente en 3 secciones, de las cuales 2 pueden plegarse para disminuir la altura de la cesta. Esto fue realizado para facilitar el acceso a productos a personas con sillas de ruedas, pues si la cesta fuera de mucha altura, tendrían dificultad para posicionar los productos dentro de esta como se puede observar en la Figura D.8. En el dominio de sensores se utilizan cámaras para poder reconocer los productos empaquetados ingresados al carro, pues estas envían las imágenes desde distintos ángulos del carro para que una red 119 neuronal realizada en TensorFlow pueda reconocer qué producto es el ingresado. Si se trata de productos pesados como frutas o verduras, se cuenta con un escáner de código de barras para leer la etiqueta colocada al pesar el producto. Además, se usan sensores de ultrasonido para examinar el entorno en busca de obstáculos y medir la elevación de la cesta de compras. La identificación de objetos cercanos cobra un papel importante cuando el usuario es una persona con discapacidad visual, pues se debe emitir una alerta cuando se encuentra cerca de un objeto para que se detenga. Otro sensor empleado es el de localización, el cual emplea tecnología Ultra Wide-band para triangular su posición con respecto a dispositivos fijos ubicados en los extremos del local como se observa en la Figura D.9. En el dominio de interfaz, se utiliza una pantalla capacitiva táctil la cual tiene una sensibilidad bastante alta con respecto a una resistiva y reconoce el contacto únicamente con los dedos. Además, se usa un micrófono dinámico para el reconocimiento de voz del usuario, el cual captura la voz del usuario y minimiza el ruido ambiental. Esto hace que estos micrófonos sean adecuados para supermercados pues las voces de otras personas cercanas al carro podrían interferir en el reconocimiento de voz del usuario. La respuesta de la interfaz será brindada a través de la pantalla y de altavoces incorporados en el carro para brindar completa libertad de movimiento al usuario con respecto al carro de compras. Figura C.7 Concepto de solución 3 (Elaboración propia) Figura C.8 Localización por UWB del concepto de solución 3 (Elaboración propia) 120 Figura C.9 Concepto 3 adaptado a personas con sillas de ruedas (Elaboración propia) ANEXO E: Evaluación técnica-económica En esta sección se realiza un análisis de carácter técnico y económico que permitan seleccionar la solución óptima para el diseño del carro de compras inteligente, para ello se definen criterios que permitan realizar una evaluación objetiva de cada concepto de solución. Luego de ello, se asigna un peso del 1 al 4 a cada criterio en base a su impacto dentro del proyecto y se puntúa cada concepto de solución del 0 al 4, donde 4 se reserva para el concepto ideal. Criterios técnicos • Facilidad de uso: Es necesario que el carro de compras inteligente pueda ser empleado por cualquier usuario sin previa capacitación o instrucción. Se le asigna un peso de 4 a este criterio pues es fundamental que el diseño sea intuitivo y de fácil configuración y uso. o Concepto de solución 1: El carro cuenta con una interfaz intuitiva y asistencia visual y por voz para facilitar su uso. El sistema de ascenso o descenso del carro de compras al ser manual brinda precisión; sin embargo, puede complicar este proceso a los usuarios y requerir de instrucción externa. Además, este carro cuenta con 2 ruedas giratorias y 2 ruedas motrices, por lo que los giros son de diámetro mayor a la longitud del carro lo cual complica el manejo de este cuando se desean giros cerrados. o Concepto de solución 2: El carro cuenta con una interfaz intuitiva y didáctica con asistencia durante toda la compra de manera visual y oral. Sin embargo; la regulación de la altura de la cesta de compras no es tan precisa pues es un sistema neumático, lo que puede dificultar la regulación de altura a los usuarios. Además, el pago se realiza por POS app, lo cual puede dificultar el pago a usuarios que no cuenten con esa aplicación. o Concepto de solución 3: El carro brinda de manera visual y oral asistencia personalizada a los usuarios durante la compra e interactúa con ellos a través de una 121 interfaz intuitiva y didáctica. El sistema de regulación en este caso es preciso pues el motor eléctrico brinda mayor precisión. • Optimización de la experiencia de compra: Este criterio va alineado con el objetivo del proyecto, pues se desea mejorar la experiencia de compra del usuario al brindarle asistencia personalizada durante toda su compra en el local y reducir los tiempos de espera en colas al brindar el cobro dentro del carro de compras. Se le asigna un peso de 4 a este criterio. o Concepto de solución 1: El carro de compras reconoce de manera automática los productos ingresados en la cesta y permite el pago en el mismo carro a través de un POS incorporado. Además, la interfaz permite resolver las consultas y ofrecer promociones a los usuarios para mejorar su experiencia. o Concepto de solución 2: El carro de compras no tiene reconocimiento automático del producto, sino que el usuario debe de escanearlo con el escáner de códigos de barras incorporado, lo cual puede perjudicar la experiencia de compra pues el usuario puede olvidarse de escanear un producto antes de ingresarlo y en consecuencia tener problemas durante el pago de los productos. o Concepto de solución 3: Se brinda asistencia personalizada y se interactúa con el usuario por medio de la interfaz gráfica y por voz. Además, los productos ingresados a la cesta de compras se reconocen de manera automática, lo cual optimiza el tiempo de compra del usuario en el local y elimina las colas de espera para el pago de productos. • Accesibilidad para personas con necesidades especiales: Se evalúa la adaptabilidad del carro a las necesidades de personas con discapacidad visual parcial o total, discapacidad motriz, enanismo y discapacidad auditiva. Asimismo, se evalúa si el diseño brinda las herramientas necesarias para que puedan desenvolverse de manera cómoda e independiente dentro del local. Esto es fundamental para el diseño, por ello se le asigna un peso de 4. o Concepto de solución 1: La guía por voz y visual permite el acceso a personas con discapacidad visual o auditiva a la asistencia personalizada durante la compra. Sin embargo; la adaptación del carro para usuarios con sillas de ruedas no es óptimo pues solo la parte posterior es plegable por lo que los contornos de la cesta impiden de manera parcial la vista del usuario. El carro cuenta con sensores infrarrojos para evaluar obstáculos cerca al carro de compras para personas con discapacidad visual; sin embargo, estos sensores pueden verse afectados por la iluminación dentro del local. o Concepto de solución 2: El carro cuenta con asistencia personalizada que puede ser accedida por personas con discapacidad auditiva y visual pues se brinda tanto por voz e imágenes. Sin embargo; este concepto propone el uso de cámaras para censar el entorno lo cual no es adecuado para estimar profundidades y en consecuencia se podría generar que una persona con discapacidad visual total choque con una persona o pared. Además, solo la parte posterior del carro es regulable para personas con sillas de ruedas, 122 por lo que se impide parcialmente la visión de las personas con los otros lados de la cesta. o Concepto de solución 3: El carro cuenta con asistencia personalizada accesible para todos los usuarios, incluyendo aquellos con discapacidad visual o auditiva. Para censar el entorno utiliza sensores de ultrasonido los cuales tienen un buen alcance y son precisos en entornos luminosos; sin embargo, la presencia de ruido elevado podría afectar su desempeño. Además, todos los contornos de la cesta son plegables para que esta pueda ser adaptada rápidamente a personas con sillas de ruedas. • Consumo de energía: Se requiere que el carro de compras opere como mínimo 10 horas de manera constante, por ello se evalúa el consumo energético de los componentes eléctricos con el objetivo de alargar el tiempo de operación y se le brinda un peso de 3. o Concepto de solución 1: Este concepto utiliza una pantalla táctil, altavoces, sensores como cámara, sensor infrarrojo y de distancia láser, y para el procesamiento y control utiliza tanto un computador como un microcontrolador los cuales requieren de energía eléctrica. Por otro lado, propone el uso de una regulación manual de altura, por lo que no se requiere de energía eléctrica para este propósito. o Concepto de solución 2: La solución propone el uso de componentes eléctricos como sensores, elementos de interacción con el usuario como pantalla táctil y audífonos, y un computador para el procesamiento y control. No utiliza un componente eléctrico para la regulación de altura pues se utiliza un pistón neumático. o Concepto de solución 3: Como elementos de consumo eléctrico se tienen los sensores, componentes de la interfaz y un motor eléctrico utilizado para la elevación y descenso de la cesta de compras. • Ergonomía: El criterio evalúa la comodidad de los usuarios durante la compra, pues el carro debe de ser ligero para que no requiera una gran fuerza de empuje por parte del usuario para que este se desplace. Asimismo, debe de garantizar una adecuada interacción visual y por voz entre el usuario y el carro para que la asistencia personalizada se brinde correctamente. Se le asigna un peso de 3 a este criterio. o Concepto de solución 1: El carro adapta su altura de acuerdo con las necesidades del usuario y brinda total libertad a la persona para desplazarse en el local; sin embargo, el contar con 2 ruedas motrices y 2 giratorias genera que los giros no sean tan fáciles de realizar, lo cual no contribuye con la comodidad del usuario. Además, el carro es ligero pues su cesta está hecha de plástico. o Concepto de solución 2: El carro brinda la posibilidad de adaptar su altura de acuerdo con las necesidades del usuario. Sin embargo; la asistencia se brinda a través de audífonos, lo cual restringe el movimiento del usuario con respecto al carro de compras. 123 o Concepto de solución 3: El carro brinda total libertad de desplazamiento al usuario y es ligero pues la cesta, el mango y la carcasa de los componentes están hechos de plástico. Además, las 4 ruedas giratorias permiten que la persona tenga un mejor manejo del carro y realice giros sin inconvenientes dentro del local. • Velocidad de procesamiento: Se evalúa la velocidad de procesamiento del sistema, pues se requiere que reconozca rápidamente los productos ingresados en el carro e interactúe y brinde respuestas en tiempo real al usuario. Por este motivo se le asigna un peso de 3. o Concepto de solución 1 y 3: Utilizan tanto un microcontrolador como un computador, lo cual permite que el microcontrolador apoye con el procesamiento de información de algunos sensores y el computador recopile esta información ya procesada para aligerar su carga computacional. o Concepto de solución 2: Utiliza únicamente un computador para el procesamiento, lo cual puede generar excesiva carga computacional en este y ruido en el sistema por lo que no funcionarían adecuadamente los componentes. • Precisión de localización dentro del local: Se evalúa la precisión del método de localización dentro de la tienda, pues este debe de ser preciso para brindar adecuadamente indicaciones de productos dentro del local. Por ello se le asigna un peso de 3 a este criterio. o Concepto de solución 1 y 2: Estos conceptos utilizan localización por Wi-Fi para la ubicación de la cesta de compras dentro del local lo cual puede llegar a tener alta precisión si se cuenta con varios puntos de acceso Wi-Fi; sin embargo, esta localización se ve afectada por dispositivos electrónicos y en un supermercado existen abundantes equipos electrónicos como computadoras y celulares de los usuarios. o Concepto de solución 3: Este concepto propone el uso de tecnología Ultra Wide Band (UWB) para la localización, lo cual tiene alta precisión y son menos susceptibles a interferencias ambientales. • Resistencia: El criterio evalúa la resistencia del mecanismo ante golpes, pues existe la posibilidad de que los usuarios al manejarlo puedan chocar con algún objeto o pared dentro del local. Se le asigna un peso de 2 pues este escenario no está presente durante la operación cotidiana del carro y no influye en su funcionamiento. o Concepto de solución 1 y 3: La cesta de compras es de plástico, por lo que tiene una mayor resistencia al impacto que una cesta metálica, lo cual es importante por si el usuario choca con algún objeto dentro del local o Concepto de solución 2: La cesta de compras es metálica, por lo que cuenta con gran resistencia estructural. Esto permite que soporte gran peso de compras sin deformarse. • Durabilidad: Se requiere que el carro pueda de tener un tiempo de vida mayor a 2 años, por ello se le asigna un peso de 2 a este criterio, pues evalúa la durabilidad del material de fabricación 124 ante distintas condiciones ambientales. Asimismo, evalúa el tiempo de vida de las baterías para que no tengan que ser reemplazadas de manera constante. o Concepto de solución 1: La cesta de compras es de plástico, por lo que no se daña debido a la humedad o salinidad; sin embargo, se vería afectada a temperaturas altamente elevadas lo cual no es tan común en un supermercado. Este carro utiliza baterías LiPo las cuales tienen un ciclo de vida aproximado de 200 a 400 ciclos de carga y descarga completos. o Concepto de solución 2: La cesta de compras es metálica, por lo que no es resistente a ambientes húmedos o salinos pues tiende a oxidarse. Sin embargo; si soporta altas temperaturas ambientales sin deformarse. Este carro emplea baterías de plomo ácido, las cuales tienen una gran durabilidad de aproximadamente 3 a 5 años. o Concepto de solución 3: La cesta de compras es de plástico, por lo que no se oxida ante condiciones salinas o humedad; sin embargo, no resiste adecuadamente altas temperaturas. Por otro lado, se emplea un pack de baterías de Li-ion las cuales tienen un ciclo de vida aproximado de 300 a 500 ciclos completos de carga y descarga. Criterios económicos • Costo de los componentes: Este requerimiento se relaciona con el costo de la tecnología a utilizar dentro del proyecto pues se requiere optimizar los costos. Este costo representa una parte importante del presupuesto total por ello se le asigna un peso de 4. o Concepto de solución 1: Los componentes de mayor costo en este concepto de solución son el computador y microcontrolador. Dado a que la regulación de altura se realiza de manera manual, no se requieren de gastos para el accionamiento. o Concepto de solución 2: Los componentes más costosos son el sistema neumático para la elevación del carro de compras y las cámaras a utilizar para el reconocimiento de los productos. o Concepto de solución 3: Los componentes de mayor costo son el motor eléctrico, el computador, microcontrolador y las cámaras de reconocimiento de productos. • Costo de fabricación: Este criterio evalúa el costo de fabricación de la carcasa del carro de compras, lo cual incluye la cesta de compras, uniones entre ruedas, mango de empuje y carcasa protectora de los componentes electrónicos. Se le asigna un peso de 3. o Concepto de solución 1: La cesta de compras es de metal y el mango de empuje del carro es de plástico. Por lo cual el mayor costo de fabricación estaría representado por la cesta de compras tanto por el tamaño de esta como por el material de fabricación pues el costo del metal es superior al del plástico. 125 o Concepto de solución 2: La cesta de compras es de plástico y el mango de empuje es de metal. Debido al tamaño de la cesta de compras, el costo de fabricación de esta es mayor al del mango de metal. o Concepto de solución 3: En este concepto tanto la cesta de compras como el mango son de plástico. Al ser estos componentes principales de plástico, el costo de fabricación es menor a la fabricación en metal. • Facilidad de adquisición de los materiales: Este criterio evalúa la facilidad de adquirir los componentes, pues puede que estos no se encuentren en el mercado local o sean escasos dentro de este por lo que se tendría que recurrir a lugares específicos para la compra. o Concepto de solución 1: Los componentes de este concepto en tu totalidad pueden de ser encontrados de manera local. o Concepto de solución 2: Los componentes de este concepto en tu totalidad pueden de ser encontrados de manera local. o Concepto de solución 3: Los componentes de este concepto en tu totalidad pueden de ser encontrados de manera local. • Costo de mantenimiento: Se evalúa el costo que implica realizar el mantenimiento del carro de compras, el cual también depende de la frecuencia con la cual se requeriría realizarlo. o Concepto de solución 1: Los componentes que requieren de cambios y revisiones de manera periódica son las ruedas, el mecanismo de elevación y las baterías. o Concepto de solución 2: Los componentes que requieren mantenimiento son el sistema neumático de regulación de altura, las ruedas y las baterías. o Concepto de solución 3: En este concepto requieren de mantenimiento las baterías, las ruedas y el motor eléctrico. A continuación, se muestran las Tablas E.1 y E.2 correspondientes a la evaluación técnico-económica de los conceptos de solución. Tabla E.1 Evaluación técnica de los conceptos de solución (Elaboración propia) Evaluación técnica Criterio técnico Solución 1 Solución 2 Solución 3 Solución ideal g p gp p gp p gp p gp Facilidad de uso 4 2 8 3 12 4 16 4 16 Optimización de la experiencia de compra 4 3 12 1 4 4 16 4 16 Accesibilidad para personas con necesidades especiales 4 2 8 2 8 3 12 4 16 Consumo de energía 3 3 9 3 9 3 9 4 12 Ergonomía 3 2 6 1 3 4 12 4 12 Velocidad de procesamiento 3 3 9 2 6 3 9 4 12 Precisión de localización dentro del local 3 2 6 2 6 3 9 4 12 Resistencia 2 3 6 3 6 3 6 4 8 Durabilidad 2 1 2 3 6 3 6 4 8 Sumatoria 66 60 95 112 Valor técnico 0.59 0.54 0.85 1 126 Tabla E.2 Evaluación económica de los conceptos de solución (Elaboración propia) Evaluación económica Criterio económico Solución 1 Solución 2 Solución 3 Solución ideal g p gp p gp p gp p gp Costo de los componentes 4 3 12 1 4 3 12 4 16 Costo de fabricación 3 2 6 3 9 3 9 4 12 Facilidad de adquisición de materiales 2 3 6 3 6 3 6 4 8 Costo de mantenimiento 2 2 4 2 4 2 4 4 8 Sumatoria 28 23 31 44 Valor económico 0,61 0,57 0,70 1 Con el objetivo de analizar la valoración de cada concepto tanto en el ámbito técnico como en el económico, se realizó un gráfico de dispersión como se muestra en la Figura E.1. Figura E.1. Concepto 3 adaptado a personas con sillas de ruedas (Elaboración propia) En el gráfico de evaluación técnico-económica se descartan las soluciones que se encuentren por debajo de 0.6 en ambos aspectos pues no cumplen con los criterios establecidos. En este caso, la solución 2 es descartada por encontrarse dentro de este cuadrante. Como siguiente paso, se evalúa la solución que se encuentra más cercana a la solución ideal. Se observa en la gráfica que el concepto de solución 3 es el más cercano pues obtuvo mayor puntaje tanto en la evaluación técnica como económica. Por este motivo, el concepto de solución 3 es seleccionado como el óptimo para desarrollar el carro de compras inteligente para supermercados en el Perú. 127 ANEXO F: Base de datos de pruebas Se creó una base de datos autónoma en Oracle con el nombre Supermarket_database, como se observa en la Figura F.1. Dentro de esta base de datos, se creó la tabla PRODUCTOS la cual contiene la información del dataset propio con 150 productos como se observa en la Figura F.2. Estos productos tienen como atributos ‘ID_PRODUCTO’, el cual representa el código de identificación que también se encuentra en el código de barras; ‘ID_PROVEEDOR’, el cual es el código del proveedor del producto; ‘IMAGEN’, la cual es el link a la imagen del producto; ‘PRECIO’; ‘PRECIO_DEPENDIENTE’, esta categoría indica si el precio del producto depende del peso o de la cantidad de un producto; ‘CATEGORÍA’, es la categorización del producto; ‘MARCA’; ‘DESCRIPCIÓN’, son las características del producto; ‘CANTIDAD_DISPONIBLE’, representa la cantidad de artículos del producto que están disponibles; ‘DESCUENTO’, indica si existe alguna promoción o descuento en el producto; y ‘LOCALIZACION’, la cual indica la posición del producto dentro del local. Figura F.1 Base de datos para pruebas de software (Elaboración propia) Figura F.2 Muestras de la base de datos de pruebas (Elaboración propia) 128 Se valida el uso de sentencias SQL para obtener la información necesaria para el sistema, tal como obtener el precio del producto en base al código como se observa en la Figura F.3, los productos en base a la categoría como se observa en la Figura F.4 y la localización del producto en base al nombre del producto como se observa en la Figura F.5. Figura F.3 Validación de sentencias SQL 1 (Elaboración propia) Figura F.4 Validación de sentencias SQL 2 (Elaboración propia) Figura F.5 Validación de sentencias SQL 3 (Elaboración propia) 129 ANEXO G: Reconocimiento de códigos de barra con librerías comerciales Se hicieron pruebas con la librería Barcode Detector de OpenCV y con PyZbar como se muestra a continuación en las tablas G.1 y G.2 Tabla G.1 Tabla de análisis de decodificación con OpenCV Barcode Detector (Elaboración propia) Tipo de código de barras Reconocimiento Horizontal, sin inclinación y con luz Girado alrededor del eje X Girado alrededor del eje Y 130 Girado alrededor del eje Z Girado en los 3 ejes Con baja calidad de imagen Con baja iluminación o subexpuesto 131 Con cambios de iluminación Distorsionado o arrugado Con elementos por encima como dedos Formas costumizadas 132 Con parte recortada Tabla G.2 Tabla de análisis de decodificación con PyZbar (Elaboración propia) Tipo de código de barras Reconocimiento Horizontal, sin inclinación y adecuada iluminación Girado alrededor del eje X 133 Girado alrededor del eje Y Girado alrededor del eje Z 134 Girado en los 3 ejes Con ruido Con baja calidad de imagen Con baja iluminación o subexpuesto Con cambios de iluminación 135 Distorsionado o arrugado Con elementos por encima como dedos Formas personalizadas Con parte recortada 136 ANEXO H: Pruebas de lectura de códigos de barra Se realizaron pruebas de lectura de códigos de barras de la red neuronal propia y las librerías comerciales. Tabla H.1 Tabla comparativa de redes (Elaboración propia) Condición Red neuronal propia Pyzbar OpenCV Barcode Detector Condiciones ideales Rotado Con desenfoque 137 Superficies no planas Con cambios de iluminación 138 ANEXO I: Coordenadas de llegada de usuario dentro del mapa de la tienda Coordenadas Posición carro Coordenadas Posición carro X Y X Y X Y X Y 1A 13 2 1A 13 1 7A 15 44 7A 15 43 1B 13 3 1B 13 4 7B 21 44 7B 21 43 1C 10 9 1C 10 10 7C 28 44 7C 28 43 1D 16 9 1D 16 10 7D 40 44 7D 40 43 1E 22 5 1E 21 5 7E 47 44 7E 47 43 1F 23 5 1F 24 5 7F 54 44 7F 54 43 1G 28 6 1G 27 6 7G 15 45 7G 15 46 1H 29 6 1H 30 6 7H 22 45 7H 22 46 1I 34 6 1I 33 6 7I 29 45 7I 29 46 1J 35 6 1J 36 6 7J 40 45 7J 40 46 1K 40 6 1K 39 6 7K 47 45 7K 47 46 1L 41 6 1L 42 6 7L 54 45 7L 54 46 1M 46 6 1M 45 6 1N 47 6 1N 48 6 1O 52 6 1O 51 6 X Y X Y 1P 53 6 1P 54 6 8A 14 50 8A 14 49 8B 19 50 8B 19 49 8C 24 50 8C 24 49 X Y X Y 8D 29 50 8D 29 49 2A 10 15 2A 10 16 8E 40 50 8E 40 49 2B 17 14 2B 17 13 8F 47 50 8F 47 49 2C 17 15 2C 17 16 8G 54 50 8G 54 49 2D 23 15 2D 23 16 8H 14 51 8H 14 52 2E 30 14 2E 30 13 8I 19 51 8I 19 52 2F 30 15 2F 30 16 8J 24 51 8J 24 52 2G 38 14 2G 38 13 8K 29 51 8K 29 52 2H 38 15 2H 38 16 8L 40 51 8L 40 52 2I 47 15 2I 47 16 8M 47 51 8M 47 52 2J 55 14 2J 55 13 8N 54 51 8N 54 52 2K 55 15 2K 55 16 X Y X Y X Y X Y 9A 14 56 9A 14 55 3A 14 24 3A 14 23 9B 19 56 9B 19 55 3B 18 24 3B 18 23 9C 24 56 9C 24 55 3C 23 24 3C 23 23 9D 29 56 9D 29 55 3D 29 24 3D 29 23 9E 39 56 9E 39 55 3E 39 24 3E 39 23 9F 45 56 9F 45 55 3F 43 24 3F 43 23 9G 51 56 9G 51 55 3G 48 24 3G 48 23 9H 55 56 9H 55 55 3H 54 24 3H 54 23 9I 15 57 9I 15 58 3I 14 25 3I 14 26 9J 21 57 9J 21 58 3J 18 25 3J 18 26 9K 26 57 9K 26 58 3K 23 25 3K 23 26 9L 30 57 9L 30 58 3L 29 25 3L 29 26 9M 40 57 9M 40 58 3M 40 25 3M 40 26 9N 47 57 9N 47 58 3N 46 25 3N 46 26 9O 54 57 9O 54 58 3O 51 25 3O 51 26 3P 55 25 3P 55 26 X Y X Y 10A 15 62 10A 15 61 X Y X Y 10B 19 63 10B 20 63 4A 14 27 4A 14 28 10C 27 62 10C 27 61 4B 22 27 4B 22 28 10D 31 63 10D 32 63 4C 30 27 4C 30 28 10E 46 63 10E 46 62 139 4D 40 26 4D 40 25 10F 15 65 10F 15 66 4E 46 26 4E 46 25 10G 27 65 10G 27 66 4F 51 26 4F 51 25 4G 55 26 4G 55 25 4H 39 27 4H 39 28 X Y X Y 4I 44 27 4I 44 28 11A 67 40 11A 67 39 4J 49 27 4J 49 28 11B 67 52 11B 67 53 4K 54 27 4K 54 28 X Y X Y X Y X Y 12A 15 70 12A 15 69 5A 15 32 5A 15 31 12B 19 71 12B 20 71 5B 21 32 5B 21 31 12C 27 70 12C 27 69 5C 28 32 5C 28 31 12D 31 71 12D 32 71 5D 40 32 5D 40 31 12E 46 72 12E 46 73 5E 46 32 5E 46 31 12F 15 73 12F 15 74 5F 53 32 5F 53 31 12G 27 73 12G 27 74 5G 14 33 5G 14 34 5H 22 33 5H 22 34 5I 30 33 5I 30 34 X Y X Y 5J 39 33 5J 39 34 13A 15 78 13A 15 77 5K 43 33 5K 43 34 13B 22 78 13B 22 77 5L 47 33 5L 47 34 13C 30 78 13C 30 77 5M 51 33 5M 51 34 13D 39 78 13D 39 77 5N 55 33 5N 55 34 13E 48 78 13E 48 77 13F 57 78 13F 57 77 X Y X Y 6A 15 38 6A 15 37 X Y X Y 6B 21 38 6B 21 37 P1 61 5 10A 60 5 6C 28 38 6C 28 37 P2 61 15 10B 60 15 6D 40 38 6D 40 37 P3 61 26 10C 60 26 6E 47 38 6E 47 37 P4 61 38 10D 60 38 6F 54 38 6F 54 37 P5 61 51 10E 60 51 6G 15 39 6G 15 40 P6 61 70 10F 60 70 6H 21 39 6H 21 40 6I 28 39 6I 28 40 X Y 6J 40 39 6J 40 40 Entrada 0 5 6K 47 39 6K 47 40 Salida 0 15 6L 54 39 6L 54 40 Cajas registradoras 9 26 Servicios higiénicos 61 38 140 ANEXO J: Datasheets J.1. Nucleo STM32F446RE 141 J.2. Jetson Xavier NX 142 J.3. Micrófono MX395 143 J.4. Pantalla Punto Cuántico QLED 10,1pulg 144 J.5. Pi Camara Module 3 145 146 J.6. Escáner fijo FM430 Barracuda 147 148 J.7. Sensor de distancia TOF VL53L1X 149 J.8. Sensor de ultrasonido HC-SR04 150 J.9. Brushless DC gear Motor with driver kits 151 J.10. Li-ion 20000 5S4P 18v Battery Pack 1 ANEXO K: Planos mecánicos 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 ANEXO L: Plano electrónico