Comment nous avons créé un prototype de marchandiseur robot et quelle est la prochaine étape



Le coronavirus continue sa propagation mortelle dans le monde et dans notre pays. Nous travaillons à domicile depuis près de deux mois, comme tous les informaticiens du monde entier, et, d'une part, nous sommes de plus en plus tristes de notre bon vieil espace ouvert et de l'opportunité de discuter de toutes les tâches et des problèmes de manière vivante et pas folle. zoom utile, mais sans âme (nous n'avons malheureusement pas eu le temps de louer un lama californien pour toutes nos rencontres :)). D'autre part, nous pensons de plus en plus à l'automatisation et à la robotisation de tous les processus, y compris les processus de création des données analytiques avec lesquelles nous et notre système travaillons.

Plus en détail, nous rappelons notre premier robot-marchandiseur, que nous avons fabriqué en tant que prototype il y a 2 ans et qui pense de plus en plus (et pas seulement!) À la deuxième version, qui peut être mise en production et en exploitation commerciale.

Dans cet article, je veux vous dire ce qui est arrivé de cette idée, ce qui s'est mal passé ou qui n'a pas fonctionné du tout, et ce que nous allons faire maintenant afin de mettre cette idée en pratique dans de vrais magasins. Pour ceux qui sont intéressés, bienvenue au chat.

Petit rappel: notre entreprise (ShelfMatch Robotics) a commencé à automatiser le merchandising il y a environ 5 ans. L'automatisation dans ce cas signifie que, d'une manière ou d'une autre, nous obtenons des photos des rayons de marchandises dans les magasins (dans les pharmacies, dans les stations-service, etc.) faites par des marchandiseurs, reconnaissons toutes les marchandises sur elles et émettons les analyses nécessaires aux clients.

Dès que nous y sommes allés un peu plus profondément, nous avons immédiatement fait face à l'un des problèmes principaux et plutôt complexes - pour la plupart, les marchandiseurs prennent de mauvaises ou très mauvaises photos. Il est clair que ce problème peut être résolu de diverses manières traditionnelles, telles que la formation du personnel, la délivrance de bons appareils, etc., mais pour de nombreuses raisons (je les laisserai de côté, sans importance), ces méthodes ne fonctionnent pas toujours, ou plutôt, elles ne fonctionnent pas toujours bien.

La deuxième raison, non moins importante, pour laquelle l'automatisation de l'analyse à l'intérieur du magasin est logique, c'est que les magasins perdent de l'argent chaque seconde en raison de diverses erreurs d'affichage, telles que des ruptures de stock ou le non-respect du planogramme. Et ils perdent beaucoup d'argent, selon les analystes de bossa nova robotics en rupture de stock, entraînant une perte de revenus de 0,5 billion. dollars par an dans le monde entier. En général, pour le magasin, l'introduction «d'yeux supplémentaires» qui scanneront tout l'espace du parquet et de l'entrepôt est extrêmement importante et mal mise en œuvre pour le moment.

À ce moment-là, nous avons immédiatement pris une autre décision, plus intéressante, à notre avis - pourquoi ne pas déléguer la prise de photos à quelqu'un qui, essentiellement, fait toujours tout exactement selon les instructions et ne fait presque jamais d'erreurs (en tenant compte des instructions précises et de haute qualité) . Vous avez probablement déjà deviné que nous parlons d'un robot-marchandiseur.

Je me souviens quand nous avons considéré toutes les idées les plus folles, à partir de drones robotiques qui voleront dans le magasin et se terminant par des caméras automatiques robotisées qui voyageront le long de monorails au plafond du magasin. La première chose que nous avons vue et qui nous a vraiment inspiré, ce sont les robots de la robotique bossa nova, qui ont traversé les magasins américains (par exemple, Walmart), donnant aux clients la possibilité de toucher un peu au futur proche. En conséquence, nous sommes néanmoins arrivés à la conclusion que nous devons créer un robot traditionnel sur un "châssis-camion" tel qu'un robot aspirateur et l'équiper de toutes sortes de caméras et de capteurs nécessaires à la navigation et à la photographie des étagères.

Formulation du problème:


Ainsi, l'énoncé du problème est assez simple: nous avons besoin d'un robot prototype qui peut indépendamment (sous la supervision de l'opérateur, mais toujours sans contrôler le joystick) parcourir les étagères du magasin, photographier toutes ces étagères et transférer les photos sur le serveur pour un traitement ultérieur. Le robot doit avoir l'air, s'il n'est pas attrayant, du moins pas effrayant, afin que les visiteurs du magasin ne s'en détournent pas. C'est important, car nous avions prévu de réaliser de réelles expériences et mesures dans de vrais magasins ouverts et personne n'allait les fermer pendant la période de nos manipulations.

La première version du robot a été nommée d'après le commandant des réplicants du bon vieux, j'espère que tout le monde connaît le film familier et bien-aimé de Ridley Scott Blade Runner - Roy (comme nous continuerons à l'appeler).

En quoi consistait Roy


Châssis:

  • Swiss Motors Maxon - Swiss parce que leurs camarades chinois à bas prix pour une raison quelconque ont très rapidement brûlé entre nos mains
  • 4 roues du type omni-roues - à ce moment-là, il nous semblait que nous avions exactement besoin d'omni-roues pour que le robot puisse rapidement et sans mouvements inutiles changer la direction du mouvement
  • base en aluminium et plastique
  • commande de moteur
  • batterie
  • NUC avec ROS au-dessus d'Ubuntu à l'intérieur pour la navigation
  • Lidar RPLidar A2 pour la construction de cartes, la navigation et la localisation

Torse (tour):

  • cadre profilé en aluminium
  • finition plastique
  • supports en plastique pour appareils photo imprimés sur une imprimante 3D
  • 4 caméras USB Bustler
  • NUC pour prendre des photos et envoyer des photos au serveur via WiFi
  • Caméra 3D de profondeur comme Intel IntelliVision, que nous ne pouvions toujours pas connecter
  • Écran LCD pour le débogage et l'affichage des informations de service et de publicité

Il n'a pas été difficile d'assembler le chariot et la carrosserie, nous y avons passé plusieurs mois. Lors de l'assemblage et du réglage du chariot, nous avons été assistés par plusieurs anciens employés du TsNII-RTK.

Comment tout cela a fonctionné et ce qui en est ressorti


Quiconque est familier avec le travail dans ROS peut sauter ce chapitre, il est peu probable qu'il y trouve quelque chose d'unique ou d'original, mais ceux qui sont «hors sujet» seront intéressés. Je vais vous dire tout de suite comment tout cela s'est passé dans un vrai magasin (nous avons ensuite été testés dans le SPAR encore vivant et sain à Kupchino):

  1. Nous venons au magasin, trouvons le support dont nous avons besoin (le prototype a été testé sur la catégorie de produits Thé, puis 4 à 5 autres catégories de produits ont été photographiés), nous trouvons un point de vente inoccupé (ce qui, soit dit en passant, était assez difficile), et déballons l'ensemble des effets.
  2. Roy ( — , , ).

  3. WiFi- .
  4. Ubuntu+ROS , Game-Pad .
  5. : ROS, Teleop ( ), Gmapping ( ), Rviz ( Roy).
  6. — , Roy , ( , Roy «» «»).
  7. Une fois la carte construite, enregistrez-la, martelez les coordonnées des points de levé (le début du rack 1 est le point "A", la fin du rack 1 est le point "B", la rotation est de 90 degrés, la fin du rack 2 est le point "C". Nous essentiellement retiré le rack sous la forme de la lettre "G")

Ensuite, lancez le script de photographie (tout est déjà sans manette de jeu, véritable «magie»):

  1. Roy va à la position donnée - le point "A".
  2. Roy est déployé de la bonne façon (avec des caméras sur l'étagère), les degrés de rotation sont également définis dans le script.
  3. Roy commence à rouler lentement le long du rack, prenant plusieurs photos par seconde avec chaque appareil photo et enregistrant la photo sur le NUC. Dans ce cas, les caméras sont synchronisées et prennent des photos en même temps.
  4. Au même moment, un autre script commence à envoyer de manière asynchrone des photos via WiFi au serveur.
  5. Roy roule sur une crémaillère (point «B»), arrête les caméras pendant la durée du virage, fait un virage à 90 degrés, rallume les caméras.
  6. Il roule le long du 2ème rack jusqu'au point «C».
  7. Éteint les caméras.
  8. Retourne à la position de départ (point "A").

D'autres travaux sont déjà directement sur le serveur:

  1. Au moment où toutes les photos sont transférées sur le serveur, le serveur commence à coller des photos et le processus de reconnaissance des marchandises sur l'étagère
  2. Lorsque tous les processus sont terminés, dans l'interface Web, il y a des racks avec des marchandises marquées avec une majoration des marchandises + toutes les analyses nécessaires (la part des marchandises sur l'étagère, en rupture de stock, comparaison avec le planogramme, etc.)



Résumant ce que nous avons réussi à découvrir


  • peut-être le point le plus important - nous pouvons faire un prototype du robot par nous-mêmes, il n'y a rien d'irréaliste, tout le système (collecte de photos + navigation + transfert de données + traitement des données + visualisation des données) fonctionne, mais ce n'est qu'un prototype
  • une observation intéressante et importante - les visiteurs du magasin n'ont pas peur et ne «fuient pas» le robot - les grands-mères ne le remarquent tout simplement pas, les enfants l'admirent, d'autres sont très intéressés par «quel genre de chose est et pourquoi est-ce nécessaire», les marchands s'inquiètent parce que c'est leur concurrent direct
  • la question du choix des pièces détachées doit être abordée avec sagesse - compte tenu du coût, de la disponibilité, de la qualité

Roy détecte des défauts après la création et les tests du prototype


Le plus gros problème que nous avons eu avec la construction d'une carte et le problème de navigation associé

  • la carte n'a pas toujours été construite exactement
  • très souvent il a été mal construit à partir de la 1ère ou 2ème fois, il a fallu une demi-heure pour construire une carte
  • Roy "perdait" parfois même sur une bonne carte (c'était immédiatement clair depuis qu'il a commencé à tourner à un endroit et qu'il n'est allé nulle part ailleurs, il a dû allumer la manette de jeu et passer en contrôle manuel)

Nous avions de telles hypothèses sur ce problème:

  • nos roues omnidirectionnelles glissaient parfois sur les carreaux lisses du magasin, cela pouvait faire baisser les paramètres du compteur kilométrique
  • Roy avait trop peu "d'yeux", peut-être qu'un lidar ne lui suffisait pas et qu'il fallait ajouter d'autres capteurs
  • Peut-être que notre lidar n'était pas le plus correct et le plus précis ou qu'il était mal réglé, peut-être que le problème était là, surtout compte tenu de la complexité de la tâche (une petite distance de l'étagère, de très longs supports)

Autres inconvénients:
  • — (+ ), 30 60 , Roy 2
  • ( ), ( )
  • Roy , , - (QR- , bluetooth- ..)
  • () ( ) , ,
  • ( , , , )
  • ( , ) ( 10 )
  • Roy , , , ( , « »)
  • Roy ( 3-4 ),

2 (Zhora Leon)


La pandémie du coronavirus a montré que dans certaines situations, l'utilisation d'un robot est non seulement souhaitable, mais même nécessaire. Si nous sommes dans une situation où il vaut mieux ne pas quitter la maison, les robots, les livreurs, les nettoyeurs et les analystes pourraient nous aider à résoudre un grand nombre de problèmes importants. Si vous regardez notre Roy ou ses frères de ce côté-ci, le projet semble encore plus intéressant - par exemple, l'idée de rééquiper un robot-marchandiseur en un robot-désinfecteur ou un robot qui surveille le respect de la distance sociale et avertit discrètement ceux qui se pressent en un seul endroit ou en file d'attente.

La plate-forme sur la base de laquelle nous voulons construire une nouvelle version peut non seulement scanner les étagères, mais aussi reconnaître les visages des visiteurs. D'autres caractéristiques intéressantes de tels appareils pourraient être:

  • publicité ciblée sur écrans LCD: de la série je vois une femme avec un bébé - je propose des couches, je vois des retraités - je propose des produits en stock;
  • aider les clients à trouver des produits
  • surveillance des voleurs à l'étalage sur la base des personnes
  • inventaire des entrepôts, assistance au service logistique dans la planification des achats
  • etc. jusqu'à mettre des marchandises sur des étagères

En résumé, nous pouvons dire que nous aimerions voir dans la 2ème version du prototype:

  • design industriel "sexy", prévoyant un tas de "trucs" en tout genre comme un appareil pour communiquer avec le monde extérieur (haut-parleurs, microphone, écrans, caméras, indicateur d'émotions, etc.)
  • tous les processus doivent être considérablement accélérés
  • le nouvel appareil doit être facile à mettre à l'échelle et relativement bon marché
  • besoin de précision dans la navigation et la localisation
  • besoin d'une navigation globale dans tout le magasin
  • +

P.S. - ( ), , .

P.P.S. , , .

All Articles