Como explicar seu ponto de vista ao robô

Você já se perguntou por que os robôs são necessários hoje? Desde a infância, pareceu-me que os robôs estão em algum lugar das fábricas modernas, que estão em algum lugar longe de nós. Ou na ficção científica.
Mas não mais. Os robôs de hoje são a automação de qualquer processo de rotina. Eles podem ser colocados em fazendas e em oficinas de reparo de automóveis.


Se antes o preço dessa automação era enorme, agora está caindo. Manipulações tecnológicas mais complexas se tornam disponíveis. Roboruki é essencialmente um manipulador universal que não precisa ser projetado para cada tarefa, => diminuindo o custo de implementação, acelerando a implementação (embora um roboruk possa ser mais caro que um pedaço de transportador que executa uma operação semelhante).

Mas roboruk é apenas metade do processo. A segunda metade é ensinar Roboruk a pensar. E até recentemente, a situação era terrível. Não há abordagens universais que qualquer engenheiro possa configurar. Precisamos contratar programadores / desenvolvedores / matemáticos para formular o problema, tentar fazer uma solução. Obviamente, tal situação não poderia existir por muito tempo. Sim, e a Computer Vision com treinamento profundo apareceu. Então, agora, algum tipo de automação primária está começando a aparecer, não apenas de processos estritamente repetidos. Hoje vamos falar sobre ela.


Pegue-o



A empresa oferece uma solução que permite capturar uma variedade de objetos usando vários roboruk. Como parte de sua solução - uma câmera 3D e um software especial para treinamento na captura de objetos e posterior captura.

(procure por objetos cilíndricos)

Existem formas pré-treinadas frequentemente encontradas na indústria: paralelepípedos, cilindros.
A ordem de uso é aproximadamente a seguinte:

  1. o cliente mostra os objetos da câmera 3D para captura de vários lados (ou carrega um arquivo CAD da peça)
  2. indica direções a partir da qual capturar (não necessariamente o único)
  3. configura a integração do robô com o software Pick-it para executar a tarefa de captura e configura as ações necessárias.

Obviamente, isso não parece muito complicado, mas exigirá algumas qualificações do lado do cliente.
O principal ponto negativo é que, assim que os parâmetros externos (estilo / iluminação / formulário) mudam, o sistema pode parar de funcionar e está longe de ser sempre óbvio o que deu errado em treiná-lo novamente. Não há processo estável.

Tecnologia de Visão por Computador:


É impossível dizer exatamente qual pilha de tecnologia é usada na empresa. Mas, a julgar pelo momento em que a empresa foi fundada, são usadas informações sobre tecnologia na Internet e outros recursos indiretos, a pilha de tecnologias "até o aprendizado profundo" para trabalhar com cenas em 3D. Por exemplo, pesquisando transformações 3D para melhor alinhamento das nuvens de pontos ( métodos ICP e método RANSAC ). Às vezes, pontos especiais são usados, às vezes maneiras complicadas de combinar nuvens de pontos ou uma combinação de métodos com algumas heurísticas.

(Registro robusto de nuvem de pontos 3D com base no Critério de Correntropia Máxima bidirecional, Xuetao Zhang, Libo Jian, Meifeng Xu)

A chave para o sucesso nesse caso é o seu bom scanner 3D, cuja qualidade determina a confiabilidade de todos esses métodos. Também é importante que o desvio da forma dos objetos de amostra e dos objetos que precisam ser capturados não seja muito grande.
Os principais fabricantes de robôs também possuem sistemas semelhantes:
ABB | Kuka | Fanuc , bem como ( Cognex ).
Mas o Pick-it cobre mais variabilidade na variedade de aplicações.

Abordagem padrão agora para objetos variáveis


Graças ao advento do aprendizado profundo em visão computacional, tornou-se mais fácil para alguns tipos de objetos treinar uma rede convolucional que, além da detecção, também avalia os parâmetros necessários.

O maior escopo para tais métodos é a agricultura. Da inspeção da planta à colheita de frutas. De certa forma, um exemplo clássico é colher tomates cereja. Aqui estão alguns exemplos de empresas que coletam colheitas:

Coleta de tomates. Tamanho / distância / cor estimados

Se você olhar atentamente, ele não será coletado muito bem.

Muitas vezes, o cultivo adequado já é 95% do robô.

Sobre esse horror com uma precisão de 89%, até o artigo sobre Habré foi.
A maioria dessas startups usa um detector como SSD ou YOLO com avaliação subsequente (ou simultânea) dos parâmetros de maturação. A posição do mesmo espaço de frutas para captura é estimada por câmeras 3D ou estéreo.

Consequentemente, o fabricante (e em parte o integrador da solução) enfrenta as seguintes tarefas: qualidade do reconhecimento do reconhecimento, reabastecimento da amostra de treinamento em condições reais, treinamento periódico, redação de um algoritmo que vincula a parte do CV, parte da avaliação 3D e parte da captura.
Em nossa experiência, resolver esse problema a cada vez leva alguns meses.

Outra abordagem


E se você deseja trabalhar com o sistema de aprendizado profundo, mas não parar em um aplicativo? E treinar mesmo sem software de configuração complexo para cada tarefa no lado do cliente.
Seria ótimo mostrar ao robô o que fazer e, de alguma forma, ele o faria. Mas aqui está como mostrar o robô?
O Google ( link para um dos projetos ) e o OpenAI ( eles não viram outro projeto ) estão realizando projetos em que o robô está tentando seguir mãos humanas e repetir ações. Mas a precisão está longe de ser necessária em aplicações reais, e a matemática do nível de ponta é difícil de escalar.


Existe alguma outra maneira?
Em algum momento, quando estávamos resolvendo o problema de orientar controladores para VR no espaço 3D, outro quebra-cabeça se desenvolveu para nós. Afinal, a realidade virtual já existe há muito tempo. Você pode mostrar ao robô o controlador de realidade virtual como agarrar o objeto. Mas não no simulador, como o OpenAI, mas na realidade. Apenas desenhe um manipulador e mostre a direção da captura.

Acontece intuitivamente. Após alguns minutos, uma pessoa começa a entender como pegar objetos ou fazer algumas operações com ele, controlando o robô na realidade.

É sempre importante entender se é possível fazer o que o robô deseja. E aqui tudo é simples: se uma pessoa em VR pode mostrar ao robô como resolver um problema, ele pode ser treinado para fazer essas coisas. Tudo o que pode ser mostrado está ao alcance do nível moderno do Machine Learning e é garantido que ele seja realizado com qualquer braço de robô existente. E elimina a principal desvantagem do ML moderno - você não precisa de grandes bancos de dados de exemplos para treinar.

Qual é a vantagem dessa abordagem? Bem, por exemplo, que você não precisa prescrever lógica de baixo nível. Por que detectar um copo e depois falar de que lado como pegá-lo? Defina os locais de captura exatos. Você pode mostrar:
  • o copo está sobre a mesa normalmente - pegue na parede
  • o copo está de lado - agarre-o pelo lado
  • o copo fica de cabeça para baixo - pegue o fundo

E pronto, depois de uma hora, obtemos o resultado:

Bem, ou uma tarefa mais difícil: queremos coletar frutas, mas precisamos manter um ramo - essa é uma lógica programável difícil. Mas ela apenas aprende:

Ou um exemplo muito simples é pegar e cortar um pepino (é claro, apenas a garra foi treinada ):


Agora, os robôs inteligentes são um pouco como os computadores pessoais nos anos 80. Existem várias hipóteses para as quais tudo virá. O preço do aluguel do robô é igual ao salário médio de um trabalhador, o que significa que a robotização de um número crescente de áreas de trabalho é inevitável. Ninguém sabe como eles gerenciarão tudo isso em cinco anos, mas, a julgar pela queda do preço dos robôs e pelo número de instalações, tudo está ganhando terreno.

Preço:

Volumes:

All Articles