Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Tecnologia da Internet das Coisas

O software de código aberto atende a amplas necessidades dos desenvolvedores de visão robótica


Este artigo é parte de um Projeto Especial AspenCore sobre robôs guiados por visão.
Os aplicativos de visão do robô podem trazer um conjunto complexo de requisitos, mas as bibliotecas de código aberto estão prontas para fornecer soluções para quase todas as necessidades. Os desenvolvedores podem encontrar pacotes de código aberto que vão desde o processamento básico de imagens e reconhecimento de objetos até o planejamento de movimento e prevenção de colisões e mais do que pode ser mencionado, muito menos, dado o devido em um breve artigo. No entanto, aqui estão alguns pacotes de processamento de imagem de código aberto que podem ajudar os desenvolvedores a implementar sistemas robóticos sofisticados. (Observação:este relatório se concentra em bibliotecas para algoritmos mais fundamentais com base em imagens e exclui especificamente software de código aberto para visão de robô baseada em IA.)

Nenhum artigo sobre software de visão de robô pode deixar de destacar a Open Source Computer Vision Library (OpenCV) [fonte]. Entre os pacotes de software de código aberto disponíveis, o OpenCV é talvez o mais amplamente usado e funcionalmente rico. Implementando mais de 2.500 algoritmos, a distribuição do OpenCV aborda os requisitos de processamento de imagem em uma série de módulos, que inclui o seguinte, entre outros:

Escrito em C ++, OpenCV está disponível com interfaces para C ++, Python, Java e Matlab e oferece suporte a Windows, Linux, Android e Mac OS. Junto com seu suporte para uma única instrução, conjuntos de instruções de dados múltiplos (SIMD), o OpenCV fornece aceleração de GPU baseada em CUDA para muitas funções por meio de seu módulo gpu e aceleração OpenCL por meio de seu módulo ocl. Lançado recentemente, o OpenCV 4.0 traz uma série de melhorias de desempenho e recursos, incluindo a implementação do popular algoritmo Kinect Fusion.

Por sua funcionalidade, o OpenCV pode exigir uma curva de aprendizado que excede a paciência dos desenvolvedores que buscam se mover rapidamente com a visão do robô. Para esses desenvolvedores, SimpleCV [fonte] baseado em Python pode ser a resposta. Construído em OpenCV, SimpleCV fornece a funcionalidade exigida por desenvolvedores de visão robótica avançada, mas fornece uma estrutura acessível que ajuda os desenvolvedores menos experientes a explorar funções básicas de visão de máquina com chamadas de função Python simples. Por exemplo, os desenvolvedores podem implementar rapidamente funções comumente usadas, como limite de imagem, usando um método integrado simples na classe SimpleCV Image (img.binarize () na lista abaixo) e, finalmente, exibindo os resultados mostrados na Figura 1.
 de SimpleCV import Image, Color, Display # Faça uma função que faça meia imagem.def halfsies (esquerda, direita):resultado =esquerda # cortar a imagem direita para ficar do lado direito. crop =right.crop (right.width / 2.0,0, right.width / 2.0, right.height) # agora cole o corte na imagem à esquerda. result =result.blit (crop, (left.width / 2,0)) # retorna os resultados. resultado de retorno # Carregar uma imagem de imgur.img =Image ('http://i.imgur.com/lfAeZ4n.png') # binarizar a imagem usando um limite de 90 # e inverter o results.output =img.binarize ( 90) .invert () # cria a imagem lado a lado.result =halfsies (img, saída) # mostra a imagem resultante.result.show () # salva os resultados em um arquivo.result.save ('juniperbinary.png' ) 


Figura 1. Resultados do código Python listado acima (Fonte:SimpleCV)

Junto com suas funções básicas de processamento de imagem, OpenCV e SimpleCV implementam uma série de algoritmos de processamento de imagem de alto nível que os sistemas robóticos precisam para trabalhar com objetos ou operar com segurança em seu ambiente físico. Uma das estruturas de dados fundamentais usadas em muitos desses cálculos é a nuvem de pontos - uma coleção de pontos de dados multidimensionais que representam um objeto (Figura 2). Adquirida de câmeras, a nuvem de pontos de um objeto é usada para operações robóticas fundamentais, como identificação, alinhamento e ajuste de objetos. Para trabalhar com nuvens de pontos, a Point Cloud Library (PCL) [fonte] implementa algoritmos para filtragem, ajuste, extração de pontos-chave, segmentação e muito mais.


Figura 2. Conjunto de dados de nuvem de pontos para um toro básico. (Fonte:Wikimedia Commons / Kieff).

Tecnologia da Internet das Coisas

  1. Atualizações de software na IoT:uma introdução ao SOTA
  2. GE lançará $ 1.2B IIoT Company
  3. Tudo está indo muito
  4. Onde o antigo encontra a IoT, integração SaaS
  5. Software AG Prevê o Futuro da IoT
  6. No reino industrial, software confiável significa segurança
  7. Benefícios da Tata Extols da IIoT
  8. Os desafios de testar dispositivos IOT de software
  9. 10 sinais que seu software ERP precisa ser melhorado
  10. Usando DevOps para enfrentar desafios de software incorporado