Como criamos um protótipo de comerciante robô e o que vem a seguir



O coronavírus continua sua propagação mortal em todo o mundo e em nosso país. Trabalhamos em casa há quase dois meses, como todos os funcionários de TI em todo o mundo, e, por um lado, estamos cada vez mais tristes com nosso bom e velho espaço aberto e com a oportunidade de discutir todas as tarefas e problemas com entusiasmo, e não com loucura. zoom útil, mas ainda sem alma (infelizmente não tivemos tempo de alugar uma lhama da Califórnia para todos os nossos encontros :)). Por outro lado, pensamos cada vez mais na automação e robotização de todos os processos, incluindo os processos de criação dos dados analíticos com os quais nós e nosso sistema trabalhamos.

Mais detalhadamente, relembramos nosso primeiro robô-comerciante, que fabricamos como protótipo há 2 anos e estamos pensando cada vez mais (e não apenas pensando!) Sobre a segunda versão, que pode ser colocada em produção e operação comercial.

Neste artigo, quero contar o que aconteceu com essa ideia, o que resultou mal ou não deu certo e o que faremos agora para trazer essa ideia para aplicação real em lojas reais. Para aqueles que estão interessados, bem-vindo ao gato.

Um pouco de fundo: nossa empresa (ShelfMatch Robotics) começou a automatizar o merchandising há cerca de 5 anos. A automação, nesse caso, significa que, de uma maneira ou de outra, obtemos fotos das prateleiras de mercadorias nas lojas (nas farmácias, nos postos de gasolina etc.) feitas pelos comerciantes, reconhecemos todas as mercadorias nelas e emitimos as análises necessárias para os clientes.

Assim que nos aprofundamos um pouco, enfrentamos imediatamente um dos problemas principais e bastante complexos - na maioria das vezes, os comerciantes tiram fotos ruins ou muito ruins. É claro que esse problema pode ser resolvido de várias maneiras tradicionais, como treinamento de equipe, emissão de bons dispositivos etc., mas por muitas razões (deixarei de lado, sem importância), esses métodos nem sempre funcionam, ou melhor, nem sempre funcionam bem.

O segundo motivo, não menos importante, pelo qual a automação das análises dentro da loja faz sentido é que as lojas perdem dinheiro a cada segundo devido a vários erros de exibição, como falta de estoque ou falta de observação do planograma. E eles perdem muito dinheiro, de acordo com analistas da Bossa Nova Robotics fora de estoque, levando a uma perda de receita de 0,5 trilhão. dólares por ano em todo o mundo. Em geral, para a loja, a introdução de “olhos extras” que varrerão todo o espaço do pregão e do armazém é extremamente importante e mal implementada no momento.

Naquele momento, chegamos imediatamente a outra decisão mais interessante, em nossa opinião: por que não delegar fotos a alguém que, em essência, faz tudo SEMPRE exatamente de acordo com as instruções e quase nunca comete erros (ao considerar instruções precisas e de alta qualidade) . Você provavelmente já adivinhou que estamos falando de um robô-comerciante.

Lembro-me de quando consideramos todas as idéias mais loucas, começando por drones robóticos que voam pela loja e terminando com câmeras automáticas robóticas que viajam ao longo de mono-trilhos no teto da loja. A primeira coisa que vimos e realmente nos inspirou foram os robôs da bossa nova robótica, que atravessam as lojas americanas (por exemplo, Walmart), dando aos clientes a oportunidade de tocar um pouco no futuro próximo. Como resultado, chegamos à conclusão de que precisamos criar um robô tradicional em um "caminhão-chassi", como um aspirador de pó robô, e equipá-lo com todos os tipos de câmeras e sensores necessários para navegar e fotografar as prateleiras.

Formulação do problema:


Portanto, a declaração do problema é bastante simples: precisamos de um protótipo de robô que possa viajar independentemente (enquanto sob a supervisão do operador, mas ainda sem controlar o joystick) pelas prateleiras da loja, fotografar todas essas prateleiras e transferir as fotos para o servidor para processamento adicional. O robô deve parecer, se não for atraente, e pelo menos não assustador, para que os visitantes da loja não se intimidem. Isso é importante, pois planejávamos realizar experimentos e medições reais em lojas abertas reais e ninguém os fecharia pelo período de nossas manipulações.

A primeira versão do robô recebeu o nome do comandante dos replicantes do bom e velho, espero que todos estejam familiarizados com o familiar e amado filme de Ridley Scott Blade Runner - Roy (como continuaremos a chamá-lo).

Em que Roy consistia


Chassis:

  • Swiss motors maxon - suíços porque seus companheiros chineses baratos, por algum motivo, queimaram rapidamente em nossas mãos
  • 4 rodas do tipo omni-wheels - naquela época parecia-nos que precisávamos exatamente de on-wheels para que o robô pudesse rapidamente e sem movimentos desnecessários mudar a direção do movimento
  • base de alumínio e plástico
  • controle de motor
  • bateria
  • NUC com ROS no topo do Ubuntu para navegação
  • Lidar RPLidar A2 para construção de mapas, navegação e localização

Torso (torre):

  • moldura em alumínio
  • acabamento em plástico
  • suportes de plástico para câmeras impressas em uma impressora 3D
  • 4 câmeras USB Bustler
  • NUC para tirar fotos e enviar fotos para o servidor via WiFi
  • Câmera 3D de profundidade como Intel IntelliVision, que ainda não conseguimos conectar
  • Tela de LCD para depuração e exibição de informações de serviço e publicidade

Não foi difícil montar o carrinho e o corpo, passamos vários meses nele. Na montagem e configuração do carrinho, fomos assistidos por vários ex-funcionários do TsNII-RTK.

Como tudo funcionou e o que aconteceu


Todos os que estão familiarizados com o trabalho no ROS podem pular este capítulo; é improvável que encontrem algo único ou original nele, mas aqueles que estão “fora de tópico” estarão interessados. Vou contar imediatamente como tudo isso aconteceu em uma loja real (fomos testados na SPAR ainda viva e saudável em Kupchino):

  1. Chegamos à loja, encontramos as prateleiras de que precisamos (o protótipo foi testado na categoria de produto Chá, depois foram fotografadas outras 4-5 categorias de produtos), encontramos uma saída desocupada (a propósito, isso foi bastante difícil) e desempacotamos todos os pertences.
  2. Roy ( — , , ).

  3. WiFi- .
  4. Ubuntu+ROS , Game-Pad .
  5. : ROS, Teleop ( ), Gmapping ( ), Rviz ( Roy).
  6. — , Roy , ( , Roy «» «»).
  7. Depois que o mapa for construído, salve-o, martele nas coordenadas dos pontos de levantamento (o início do rack 1 é o ponto "A", o final do rack 1 é o ponto "B", a rotação é de 90 graus, o final do rack 2 é o ponto "C". basicamente removeu o rack na forma da letra "G")

Em seguida, execute o script de fotografia (tudo já está sem um gamepad, verdadeira "mágica"):

  1. Roy vai para a posição especificada - ponto "A".
  2. Roy é implantado da maneira correta (com as câmeras na prateleira), os graus de rotação também são definidos no script.
  3. Roy começa a dirigir devagar pelo rack, fotografando várias vezes por segundo com cada câmera e salvando a foto na NUC. Nesse caso, as câmeras são sincronizadas e tiram fotos ao mesmo tempo.
  4. No mesmo momento, outro script inicia o envio assíncrono de fotos via Wi-Fi para o servidor.
  5. Roy dirige ao longo de um rack (ponto “B”), para as câmeras durante o turno, faz uma curva de 90 graus, liga as câmeras novamente.
  6. Ele dirige ao longo do 2º rack até o ponto “C”.
  7. Desliga as câmeras.
  8. Retorna à posição inicial (ponto "A").

Trabalhos adicionais já estão diretamente no servidor:

  1. No momento em que todas as fotos são transferidas para o servidor, o servidor começa a colar fotos e o processo de reconhecimento de mercadorias na prateleira
  2. Quando todos os processos são concluídos, na interface da web existem racks com mercadorias marcadas com marcação de mercadorias + todas as análises necessárias (a participação de mercadorias na prateleira, falta de estoque, comparação com o planograma etc.)



Resumindo o que conseguimos descobrir


  • talvez o ponto mais importante - podemos criar um protótipo do robô por conta própria, não há nada de irreal sobre ele, todo o sistema (coletando fotos + navegação + transferência de dados + processamento de dados + visualização de dados) funciona, mas esse é apenas um protótipo
  • uma observação interessante e importante - os visitantes da loja não têm medo e não "evitam" o robô - as avós simplesmente não percebem, as crianças o admiram, outras estão muito interessadas em "que tipo de coisa é e por que é necessário", os comerciantes se preocupam porque é seu concorrente direto
  • a questão da seleção de peças de reposição deve ser abordada com sabedoria - considerando o custo, disponibilidade, qualidade

Falhas de Roy identificadas após criação e teste de protótipo


O maior problema que tivemos com a construção de um mapa e o problema de navegação associado

  • o mapa nem sempre foi construído exatamente
  • muitas vezes foi mal construído desde a 1ª ou a 2ª vez, demorou meia hora para construir um mapa
  • Às vezes, Roy "se perdia", mesmo em um bom mapa (ficou imediatamente claro desde que ele começou a girar em um lugar e não foi a nenhum outro lugar, ele teve que ligar o gamepad e mudar para o controle manual)

Tínhamos tais hipóteses sobre esse problema:

  • às vezes, nossas rodas omni deslizavam sobre os ladrilhos lisos da loja, o que poderia derrubar os parâmetros do odômetro
  • Roy tinha poucos "olhos", talvez um lidar não lhe fosse suficiente e era necessário adicionar outros sensores
  • talvez o nosso lidar não fosse o mais correto e preciso ou estivesse mal ajustado, talvez o problema estivesse nele, especialmente considerando a complexidade da tarefa (uma pequena distância da prateleira, prateleiras muito longas)

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

2 (Zhora Leon)


A pandemia do coronavírus mostrou que, em algumas situações, o uso de um robô não é apenas desejável, mas até necessário. Se estivermos em uma situação em que é melhor não sair de casa, robôs, entregadores, produtos de limpeza e analistas podem nos ajudar a resolver um grande número de tarefas importantes. Se você observar nosso Roy ou seus irmãos desse lado, o projeto parecerá ainda mais interessante - por exemplo, a idéia de reequipar um robô-marchandiser em um desinfetador de robôs ou um robô que monitora a observância da distância social e avisa discretamente aqueles que se aglomeram em um só lugar ou na fila.

A plataforma com base na qual queremos criar uma nova versão pode não apenas digitalizar as prateleiras, mas também reconhecer os rostos dos visitantes. Outras características interessantes desses dispositivos podem ser:

  • publicidade direcionada em telas de LCD: da série, vejo uma mulher com um bebê - ofereço fraldas, vejo aposentados - ofereço mercadorias em ações;
  • ajudar os clientes a encontrar produtos
  • monitoramento de ladrões de lojas com base em pessoas
  • inventário de armazém, assistência ao departamento de logística no planejamento de compras
  • etc. até colocar mercadorias nas prateleiras

Resumindo, podemos dizer que gostaríamos de ver na 2ª versão do protótipo:

  • design industrial "sexy", fornecendo vários tipos de "truques", como um dispositivo de comunicação com o mundo exterior (alto-falantes, microfone, telas, câmeras, indicadores de emoções etc.)
  • todos os processos precisam ser significativamente acelerados
  • o novo dispositivo deve ser fácil de escalar e relativamente barato
  • precisa de precisão na navegação e localização
  • precisa de navegação global em toda a loja
  • +

P.S. - ( ), , .

P.P.S. , , .

All Articles