Cómo creamos un prototipo de robot comercializador y qué sigue



El coronavirus continúa su propagación mortal en todo el mundo y en nuestro país. Hemos estado trabajando desde casa durante casi dos meses, como todos los empleados de TI de todo el mundo, y, por un lado, estamos cada vez más tristes por nuestro antiguo espacio abierto y la oportunidad de discutir todas las tareas y problemas de manera viva y no loca. zoom útil, pero aún sin alma (desafortunadamente no tuvimos tiempo de alquilar una llama de California para todas nuestras reuniones :)). Por otro lado, pensamos cada vez más en la automatización y la robotización de todos los procesos, incluidos los procesos de creación de datos analíticos con los que trabajamos nosotros y nuestro sistema.

Con más detalle, recordamos nuestro primer robot comercializador, que hicimos como prototipo hace 2 años y estamos pensando cada vez más (¡y no solo pensando!) En la segunda versión, que se puede poner en producción y operación comercial.

En este artículo, quiero contarles qué sucedió con esta idea, qué resultó mal o que no funcionó en absoluto, y qué vamos a hacer ahora para llevar esta idea a una aplicación real en tiendas reales. Para aquellos que estén interesados, bienvenidos a cat.

Un poco de historia: nuestra empresa (ShelfMatch Robotics) comenzó a automatizar la comercialización hace unos 5 años. La automatización en este caso significa que de una forma u otra obtenemos fotografías de los estantes de productos en las tiendas (en farmacias, estaciones de servicio, etc.) hechas por comerciantes, reconocemos todos los productos en ellos y emitimos los análisis necesarios a los clientes.

Tan pronto como nos adentramos un poco más en esto, de inmediato nos enfrentamos a uno de los problemas principales y bastante complejos: en su mayor parte, los comerciantes toman fotos malas o muy malas. Está claro que este problema se puede resolver de varias maneras tradicionales, como la capacitación del personal, la emisión de buenos dispositivos, etc., pero por muchas razones (los dejaré de lado, sin importancia) estos métodos no siempre funcionan o, más bien, no siempre funcionan bien.

La segunda razón, no menos importante, por la que la automatización de análisis dentro de la tienda tiene sentido es que las tiendas pierden dinero cada segundo debido a varios errores de visualización, como falta de existencias o falta de observación del planograma. Y pierden mucho dinero, según analistas de bossa nova robotics fuera de stock, lo que lleva a una pérdida de ingresos de 0,5 billones. dólares al año en todo el mundo. En general, para la tienda, la introducción de "ojos adicionales" que escaneará todo el espacio de la sala de comercio y el almacén es extremadamente importante y está mal implementada en este momento.

En ese momento, inmediatamente se nos ocurrió otra decisión más interesante, en nuestra opinión: ¿por qué no delegar tomar fotos a alguien que, en esencia, hace todo SIEMPRE exactamente de acuerdo con las instrucciones y casi nunca comete errores (al tener en cuenta instrucciones precisas y de alta calidad) . Probablemente ya hayas adivinado que estamos hablando de un robot comercializador.

Recuerdo cuando consideramos todas las ideas más locas, comenzando por drones robóticos que volarán por la tienda y terminando con cámaras automáticas robóticas que viajarán a lo largo de monorrieles en el techo de la tienda. Lo primero que vimos y realmente nos inspiró fueron los robots de la robótica bossa nova, que atraviesan las tiendas estadounidenses (por ejemplo, Walmart), dando a los clientes la oportunidad de tocar un poco el futuro cercano. Como resultado, llegamos a la conclusión de que necesitamos crear un robot tradicional en un "camión chasis", como una aspiradora robot, y equiparlo con todo tipo de cámaras y sensores necesarios para la navegación y la fotografía de los estantes.

Formulación del problema:


Entonces, el enunciado del problema es bastante simple: necesitamos un prototipo de robot que pueda viajar independientemente (bajo la supervisión del operador, pero sin controlar el joystick) a lo largo de los estantes de la tienda, fotografiar todos estos estantes y transferir las fotos al servidor para su posterior procesamiento. El robot debe verse, si no atractivo, al menos no aterrador, para que los visitantes de la tienda no se asusten. Esto es importante, ya que planeamos realizar experimentos y mediciones reales en tiendas abiertas reales y nadie iba a cerrarlas durante el período de nuestras manipulaciones.

La primera versión del robot lleva el nombre del comandante de los replicantes de los viejos tiempos, espero que todos conozcan la conocida y querida película de Ridley Scott, Blade Runner - Roy (como continuaremos llamándolo).

En qué consistía Roy


Chasis:

  • Motores suizos maxon: suizos porque sus camaradas chinos baratos por alguna razón se quemaron rápidamente en nuestras manos
  • 4 ruedas del tipo omni-ruedas: en ese momento nos pareció que necesitábamos exactamente omni-ruedas para que el robot pudiera cambiar rápidamente y sin movimientos innecesarios la dirección del movimiento
  • base de aluminio y plastico
  • controlador del motor
  • batería
  • NUC con ROS en la parte superior de Ubuntu dentro para la navegación
  • Lidar RPLidar A2 para construir mapas, navegación y localización

Torso (torre):

  • marco de perfil de aluminio
  • acabado plastico
  • soportes de plástico para cámaras impresas en una impresora 3D
  • 4 cámaras USB Bustler
  • NUC para tomar fotos y enviar fotos al servidor a través de WiFi
  • Cámara 3D de profundidad como Intel IntelliVision, que aún no pudimos conectar
  • Pantalla LCD para depurar y mostrar información de servicio y publicidad

No fue difícil ensamblar el carro y el cuerpo, pasamos varios meses en él. En el montaje y ajuste del carro fuimos asistidos por varios ex empleados del TsNII-RTK.

Cómo funcionó todo y qué surgió


Todos los que estén familiarizados con el trabajo en ROS pueden omitir este capítulo; es poco probable que encuentren algo único u original en él, pero aquellos que están "fuera de tema" estarán interesados. Te diré de inmediato cómo sucedió todo esto en una tienda real (luego fuimos probados en el SPAR aún vivo y saludable en Kupchino):

  1. Venimos a la tienda, encontramos el estante que necesitamos (el prototipo se probó en la categoría de producto Té, luego se fotografiaron otras 4-5 categorías de productos), encontramos una salida desocupada (esto, por cierto, era bastante difícil) y desempacamos todas las pertenencias.
  2. Roy ( — , , ).

  3. WiFi- .
  4. Ubuntu+ROS , Game-Pad .
  5. : ROS, Teleop ( ), Gmapping ( ), Rviz ( Roy).
  6. — , Roy , ( , Roy «» «»).
  7. Después de construir el mapa, guárdelo, martille las coordenadas de los puntos topográficos (el comienzo del estante 1 es el punto "A", el final del estante 1 es el punto "B", la rotación es de 90 grados, el final del estante 2 es el punto "C". básicamente quitó el estante en la forma de la letra "G")

A continuación, ejecute el script de fotografía (todo ya está sin un gamepad, verdadera "magia"):

  1. Roy va a la posición dada - punto "A".
  2. Roy se implementa de la manera correcta (con cámaras en el estante), los grados de rotación también se establecen en el guión.
  3. Roy comienza a conducir lentamente por el estante, disparando varias veces por segundo con cada cámara y guardando la foto en el NUC. En este caso, las cámaras están sincronizadas y toman fotos al mismo tiempo.
  4. En el mismo momento, otro script comienza a enviar fotos asincrónicamente a través del WiFi al servidor.
  5. Roy conduce a lo largo de un estante (punto "B"), detiene las cámaras durante el giro, gira 90 grados y enciende las cámaras nuevamente.
  6. Conduce a lo largo del segundo bastidor hasta el punto "C".
  7. Apaga las cámaras.
  8. Regresa a la posición inicial (punto "A").

El trabajo adicional ya está directamente en el servidor:

  1. En el momento en que todas las fotos se transfieren al servidor, el servidor comienza a pegar fotos y al proceso de reconocimiento de productos en el estante
  2. Cuando se completan todos los procesos, en la interfaz web hay bastidores con productos marcados con marcado de productos + todos los análisis necesarios (la participación de productos en el estante, fuera de stock, comparación con el planograma, etc.)



Resumiendo lo que logramos averiguar


  • quizás el punto más importante: podemos hacer un prototipo del robot por nuestra cuenta, no hay nada irreal en ello, todo el sistema (recopilación de fotos + navegación + transferencia de datos + procesamiento de datos + visualización de datos) funciona, pero esto es solo un prototipo
  • una observación interesante e importante: los visitantes de la tienda no tienen miedo y no "rehuyen" al robot; las abuelas simplemente no lo notan, los niños lo admiran, otros están muy interesados ​​en "qué tipo de cosas es y por qué es necesario", los comerciantes se preocupan porque es su competidor directo
  • La cuestión de la selección de repuestos debe abordarse con prudencia, dado el costo, la disponibilidad y la calidad.

Defectos de Roy identificados después de la creación y prueba del prototipo


El mayor problema que tuvimos con la construcción de un mapa y el problema de navegación asociado.

  • el mapa no siempre fue construido exactamente
  • muy a menudo se construyó mal desde la primera o segunda vez, tardó media hora en construir un mapa
  • Roy a veces "perdió" incluso en un buen mapa (esto quedó claro de inmediato, ya que comenzó a girar en un lugar y no fue a ningún otro lado, tuvo que encender el control y cambiar al control manual)

Teníamos tales hipótesis sobre este problema:

  • nuestras ruedas omnidireccionales a veces se deslizaban sobre los suaves azulejos de la tienda, esto podría derribar los parámetros del odómetro
  • Roy tenía muy pocos "ojos", tal vez un lidar no era suficiente para él y era necesario agregar otros sensores
  • tal vez nuestro lidar no era el más correcto y preciso o estaba mal ajustado, tal vez el problema estaba en él, especialmente teniendo en cuenta la complejidad de la tarea (una pequeña distancia al estante, bastidores muy largos)

Otras desventajas:
  • — (+ ), 30 60 , Roy 2
  • ( ), ( )
  • Roy , , - (QR- , bluetooth- ..)
  • () ( ) , ,
  • ( , , , )
  • ( , ) ( 10 )
  • Roy , , , ( , « »)
  • Roy ( 3-4 ),

2 (Zhora Leon)


La pandemia del coronavirus ha demostrado que, en algunas situaciones, el uso de un robot no solo es deseable, sino incluso necesario. Si nos encontramos en una situación en la que es mejor no salir de casa, robots, repartidores, limpiadores y analistas podrían ayudarnos a resolver una gran cantidad de tareas importantes. Si miras a nuestro Roy o sus hermanos desde este lado, el proyecto parece aún más interesante, por ejemplo, la idea de reequipar un robot marchando en un robot desinfectante o un robot que supervisa la observancia de la distancia social y advierte discretamente a aquellos que se amontonan. en un lugar o haciendo cola.

La plataforma sobre la cual queremos construir una nueva versión no solo puede escanear estanterías, sino también reconocer las caras de los visitantes. Otras características interesantes de tales dispositivos podrían ser:

  • publicidad dirigida en pantallas LCD: de la serie veo a una mujer con un bebé: ofrezco pañales, veo pensionistas, ofrezco productos en acciones;
  • ayudar a los clientes a encontrar productos
  • monitoreo de ladrones en base a personas
  • inventario de almacén, asistencia al departamento de logística en la planificación de compras
  • etc. hasta poner los productos en los estantes

En resumen, podemos decir que nos gustaría ver en la segunda versión del prototipo:

  • Diseño industrial "sexy", que proporciona un montón de todo tipo de "trucos" como un dispositivo para comunicarse con el mundo exterior (altavoces, micrófono, pantallas, cámaras, indicador de emociones, etc.)
  • todos los procesos deben acelerarse significativamente
  • el nuevo dispositivo debe ser fácil de escalar y relativamente barato
  • necesita precisión en la navegación y localización
  • necesita navegación global en toda la tienda
  • +

P.S. - ( ), , .

P.P.S. , , .

All Articles