Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Um robô móvel com prevenção de obstáculos baseada na visão


Resumo:

O objetivo deste relatório é discutir e demonstrar o conceito de projeto e implementação de um robô móvel capaz de detectar visualmente e evitar obstáculos por meio de uma webcam USB. O sistema foi portado para o hardware Raspberry Pi, um computador baseado em Linux de US $ 35. Este blog irá destacar os conceitos importantes que foram necessários para realizar a implementação bem-sucedida de um robô móvel capaz de navegar em um ambiente interno. A solução proposta destina-se a ser usada dentro de um ambiente de depósito para transportar mercadorias de um local para o outro sem a necessidade de operadores humanos.

Introdução:

Os robôs já existem no mercado, mas esses robôs são caros para comprar e são projetados propositalmente para funcionar em um único ambiente, como depósito, campo de batalha ou em residências. Esses robôs são capazes de detectar obstáculos usando sensores passivos, como sensores ultrassônicos e sensores infravermelhos, e às vezes são chamados de veículos autônomos devido à sua mobilidade na superfície do solo. Tradicionalmente, esses sistemas autônomos são geralmente equipados com sensores passivos, como sensores de distância ultrassônicos, sensores infravermelhos ou GPS para detectar sua posição e ambiente. A presença desses sensores permite que o robô evite a colisão com obstáculos quando colocado com obstáculos (Wang J. et al, 2011). No entanto, com o avanço da tecnologia de sistema de computador embarcado de baixo custo com alto poder de processamento, é possível usar um método mais confiável e econômico de projetar robôs autônomos capazes de detectar obstáculos. Um método possível seria utilizar um algoritmo de visão computacional que fosse visualmente capaz de detectar e evitar obstáculos. O método de detecção de obstáculo baseado em sensor é limitado à proximidade dos obstáculos em relação à distância do robô, no entanto, com o método baseado em visão, é possível detectar e identificar o obstáculo antes de evitá-lo.



Solução proposta e artefato:

O objetivo deste relatório é projetar um robô autônomo que seja capaz de detectar e evitar obstáculos usando uma webcam USB conectada a um Raspberry Pi. Este relatório irá apresentar o conceito básico de robôs móveis e as tecnologias que estão sendo empregadas atualmente em um ambiente interno. As seguintes etapas foram realizadas a fim de implementar o sistema proposto:

Além disso, os seguintes objetivos foram atendidos a fim de realizar plenamente o sistema proposto:

Lista de Hardware e Software:

O sistema proposto foi implementado em um Raspberry Pi usando uma webcam USB para captura de imagens. A seguir está a lista de hardware e software que foram necessários para realizar totalmente o robô autônomo proposto.

Hardware:

Pacote de software:

O sistema proposto é capaz de detectar obstáculos em vários intervalos. Isso foi inspirado por um algoritmo de aumento visual e foi alcançado definindo o número mínimo de pixels dentro do código ao medir a distância entre a câmera e o obstáculo.

Figura - A configuração experimental usada para encontrar a relação entre o círculo do projeto e a distância do obstáculo do robô

O arranjo mostrado acima pode ser feito em laboratório para medir a distância entre o obstáculo (círculo) e o robô, a fim de determinar a relação entre os números mínimos de pixels que corresponderão à distância real do obstáculo do robô. Como visto no diagrama acima e na discussão feita no Capítulo 2, o tamanho do círculo é maior quando o círculo está mais próximo, enquanto é menor quando o círculo está mais distante. Portanto, um conjunto de testes poderia ser realizado que permitiria medições de distância do obstáculo contra o robô quando o número de pixels é alterado dentro do algoritmo. O obstáculo será movido conforme mostrado no diagrama acima para encontrar a distância certa na qual o algoritmo detecta o obstáculo.

Figura - O conceito de aparição visual é inspirado na ciência médica

Fluxograma geral do sistema:

O fluxograma a seguir explica como o robô baseado em visão proposto seria projetado usando Raspberry Pi e a estrutura SimpleCV. Conforme mostrado na figura 6, uma webcam USB será conectada ao Raspberry Pi como uma entrada para o computador. A webcam USB fará a varredura dos quadros de entrada em busca de uma forma geométrica específica, por exemplo, um círculo que será colocado em obstáculos. O motivo de marcar os obstáculos com forma geométrica, ou seja, círculo, foi decidido apenas para reduzir o tempo de preparação do algoritmo. Normalmente, a detecção de obstáculos baseada na visão é feita por meio de duas câmeras que criam uma visão estéreo para avaliar a distância entre o robô e os obstáculos (Neves &Matos, 2013). Portanto, a detecção de uma forma geométrica, ou seja, círculos usando uma única câmera, foi obtida calculando o raio do círculo ajudaria o robô a detectar a distância do robô e os obstáculos. Este método de detecção de um obstáculo foi inspirado no método de visão iminente proposto por Sachin &Paolo (1998).

O sistema proposto irá incorporar uma câmera USB que será conectada a um Raspberry Pi. Raspberry Pi executará um script python que pegará imagens no vídeo enquanto procura uma forma geométrica, ou seja, círculos. Se o círculo for detectado com base na localização do círculo na tela, o script puxará para cima ou para baixo os pinos da porta GPIO que serão usados ​​para controlar a direção do robô.

Estrutura do algoritmo de visão por computador:

O algoritmo foi preparado em um laptop com Ubuntu antes de ser transferido para um Raspberry Pi. Isso se deve ao fato de que Ubuntu e Raspbian são versões do Linux, o que torna a portabilidade e implementação do algoritmo mais fácil entre plataformas cruzadas. Isso me deu a flexibilidade de trabalhar com o algoritmo sem precisar me conectar constantemente ao meu Raspberry Pi. Assim, o algoritmo foi implementado de forma independente, sem se preocupar com a interface de hardware.

A primeira etapa do projeto de um sistema baseado em visão é selecionar a região de interesse (ROI) que detectaria o obstáculo e nos ajudaria na preparação do algoritmo. A ROI, neste caso, é um círculo preto que seria detectado pelo algoritmo. Após a detecção, o algoritmo binariza a imagem para que apenas a região de interesse seja visível no fundo. O algoritmo mede as coordenadas do círculo na tela e mede as coordenadas em relação a qual região da tela o círculo foi detectado. Se a coordenada cair no centro da tela, o algoritmo moverá o robô de acordo, conforme discutido anteriormente.



Antes de escrever o algoritmo, era necessário decidir sobre a resolução da tela que permitiria ao Raspberry Pi detectar e rastrear o obstáculo. Como o Raspberry Pi é um computador de baixa potência com uma velocidade de clock do sistema de 700 MHz e uma RAM limitada de 512 MB, portanto, a entrada de vídeo de alta definição consumiria muito poder de processamento, o que eventualmente tornaria o sistema instável. Portanto, um meio-termo precisa ser selecionado, o que seria suficiente para o computador Raspberry Pi processar os dados da câmera.

Após várias tentativas e erros, uma resolução de 320 × 240 foi selecionada conforme discutido na seção posterior. Esta resolução foi suficiente para detectar os diferentes espaços de cores e formas geométricas. Também foi descoberto no experimento que esta resolução não estava causando atraso no vídeo de entrada, como era o caso com resolução mais alta, particularmente, 640 × 480 e acima. Isso é discutido em detalhes na Seção 4 deste relatório.

A primeira etapa para detectar o obstáculo da imagem foi dividir a tela em três segmentos distintos, conforme mostrado na Figura 8. Isso foi feito para detectar e rastrear a posição do obstáculo para que a respectiva ação motora pudesse ser realizada conforme discutido no seção anterior. Para este projeto de design, os obstáculos são representados por um símbolo específico, ou seja, um círculo; portanto, a presença de um círculo registraria a presença de um obstáculo no algoritmo.



Para mais detalhes:Um robô móvel com prevenção de obstáculos baseada na visão

Processo de manufatura

  1. Qual é a realidade da visão do robô?
  2. Robô evitando parede baseado em Raspberry Pi - FabLab NerveCentre
  3. Robô controlado pela Web Raspberry Pi com vídeo
  4. Robô de classificação de reciclagem com Google Coral
  5. Resolvendo problemas de manutenção com colaboração móvel
  6. Evitar Obstáculos usando Inteligência Artificial
  7. Desinfecção do robô com luz ultravioleta
  8. Obstáculos para evitar o robô com servo motor
  9. Sensor de obstáculo simples com Arduino
  10. Robot combina braço robótico colaborativo com plataforma móvel