O RoboDK oferece muitos utilitários para simular, desenvolver e implementar sistemas de visão computacional. O RoboDK permite que você simule câmeras 2D e 3D para desenvolver e treinar seus algoritmos de visão computacional. Também é possível integrar câmeras 2D e 3D reais.
Este documento o guiará por algumas etapas para simular câmeras.
As câmeras simuladas permitem que você veja o que a câmera vê. Você pode especificar os parâmetros da câmera, como o tamanho do sensor, o tamanho do pixel e o campo de visão, e poderá ver uma visualização simulada da câmera. Você pode acoplar câmeras a um robô ou mantê-las estacionárias.
Para adicionar uma câmera, é necessário fixá-la a um ponto de ancoragem para determinar sua localização. Isso geralmente é feito com um frame de referência.
1.Selecione Programa ➔ Adicionar Frame de Referência para criar um novo sistema de coordenadas. Mais informações na seção Introdução.
2.Coloque a estrutura no local desejado da câmera, em que as coordenadas XYZ são o local da câmera, o eixo Z+ representa a direção da mira e o eixo Y+ representa a direção para baixo.
3.Selecione Conectar ➔ Simular câmera 2D e selecione o frame de referência.
Agora você tem uma câmera padrão anexada ao ponto de ancoragem.
A janela de visualização da câmera permite que você veja o que a câmera vê. Essa janela é aberta automaticamente quando uma nova câmera é adicionada.
Para reabrir uma janela de visualização da câmera, basta clicar duas vezes no item da câmera na árvore. Também é possível clicar com o botão direito do mouse na árvore e selecionar Mostrar câmera. Por padrão, a janela de visualização pode ser redimensionada, minimizada ou fechada (consulte a próxima seção para obter mais opções).
Quando a janela de visualização é aberta, o espaço de trabalho da câmera também é mostrado no ambiente 3D. É possível desativar o espaço de trabalho da câmera clicando com o botão direito do mouse na câmera e selecionando Mostrar espaço de trabalho da câmera.
As configurações da câmera permitem que você personalize os parâmetros da sua câmera para ter uma visão realista da sua câmera no ambiente simulado do RoboDK.
Para editar as configurações de uma câmera, clique com o botão direito do mouse na árvore e selecione Configurações da câmera. O RoboDK fornece as seguintes configurações padrão para as câmeras recém-adicionadas:
●Câmera: Fornece o nome da âncora (Frame 1)
●Distância Focal (mm): distância focal, em milímetros (5,00). Essa é a distância entre o centro óptico virtual da lente e o sensor de imagem virtual da câmera. A alteração desse valor afetará o tamanho do pixel.
●Tamanho do pixel (μm): tamanho do pixel, em micrômetros (2,481). A alteração desse valor afetará o campo de visão.
●Campo de Visão (graus): campo de visão (FOV), em graus (30,0). Isso afeta o tamanho da área que pode ser percebida pela câmera. A alteração desse valor afetará o tamanho do pixel.
●Distância de trabalho (mm): distância de trabalho, em milímetros (2000,0). Essa é a distância em que a câmera pode perceber o ambiente, e os objetos além dessa distância não farão parte da imagem.
●Tamanho fixo do sensor: Se não for marcada, o tamanho do sensor da câmera (ou a resolução) será definido pelo tamanho da janela de visualização da câmera, que pode ser redimensionada pelo usuário.
●Tamanho do sensor da câmera: Para um tamanho de sensor fixo, fornece a largura e a altura da câmera, em pixels. O redimensionamento da janela de visualização não afetará o tamanho.
●Permitir redimensionamento da janela: Permitir que o usuário redimensione a janela de visualização sem afetar o tamanho do sensor. Por exemplo, redimensionar a janela para 720p, mantendo a resolução em 4K.
●Visualização de perspectiva: Desmarcar essa opção transformará a câmera em uma câmera ortográfica, removendo as perspectivas.
●Tipo de visualização: Determina o tipo de visualização da câmera, como Colorida, Escala de Cinza ou Profundidade. O tipo de visualização alterará a imagem de saída de acordo com os dados relevantes.
●Encaixar vizualização: permite que a janela de visualização seja arrastada para as barras de ferramentas, em vez de uma janela separada e flutuante.
●Definir cores de luz: Substitui as cores de luz padrão pelas suas próprias (cores de luz ambiente, difusa e especular). Isso não afeta a cor do plano de fundo e só é compatível com o tipo de visualização Color.
●Cor de fundo: cor do desconhecido, do infinito. Essa é a cor usada se nenhum objeto for encontrado desde o sensor da câmera até a distância de trabalho.
É possível acessar a imagem da câmera para todos os tipos de visualização por meio da API. Por exemplo, você pode recuperar a imagem colorida (8 bits), a imagem em escala de cinza (8 bits) e o mapa de profundidade (8 bits ou 32 bits) como um arquivo de disco ou como dados simples.
O acesso aos dados da câmera simulada permite que você os processe externamente, seja por meio de uma biblioteca de imagens de terceiros ou de sua própria biblioteca.
Embora o RoboDK não forneça sua própria biblioteca de imagens nem esteja associado a uma, nossa API Python fornece um código de amostra para processar dados de imagens 2D e 3D. Os tópicos a seguir são abordados:
●Obtenha os dados da imagem e exiba-os como uma transmissão ao vivo.
●Calibre uma câmera pinhole usando um padrão de tabuleiro de xadrez.
●Estimar a pose da câmera usando padrões suportados.
●Aplique a imagem da câmera simulada em um feed de câmera de hardware para realidade aumentada.
●Ler códigos de barras e códigos QR.
●Detecte recursos como blobs, imagem de referência, área de superfície, contornos, momentos da imagem e muito mais.
●Recupere mapas de profundidade, processe-os em nuvens de pontos, reconstrua malhas, crie uma transmissão ao vivo em 3D.
Para acessar nossos exemplos de API Python, siga este link: https://robodk.com/doc/en/PythonAPI/examples.html.
A calibração mão-olho é o processo de calibração da posição da câmera em relação ao flange ou à ferramenta do robô.
O RoboDK permite que você simule o processo de calibração mão-olho. Você pode usar o mesmo procedimento para calibrar câmeras reais em relação ao flange ou à ferramenta do robô.
Você pode encontrar um exemplo totalmente funcional na seção de exemplos da API do RoboDK para Python: https://robodk.com/doc/en/PythonAPI/examples.html#camera-hand-eye-calibration.
Esta seção fornece alguns exemplos para integrar a visão computacional ao seu processo de fabricação.
A maioria dos exemplos que integram a visão computacional exige alguma codificação para obter todo o potencial dos algoritmos de visão computacional.
Você pode ler automaticamente códigos de barras, incluindo códigos QR, EAN-13 e UPC-A 1D, usando uma câmera simulada no RoboDK.
Você pode arrastar e soltar imagens de código de barras no RoboDK e criar uma nova câmera simulada que aponta para o seu código de barras.
O exemplo pode ser encontrado na seção da API Python do RoboDK: https://robodk.com/doc/en/PythonAPI/examples.html#qr-codes-and-barcodes
Você pode obter a estimativa da posição de um objeto (pose 2D) usando uma câmera simulada no RoboDK.
O exemplo pode ser encontrado na seção de exemplos da API do RoboDK: https://robodk.com/doc/en/PythonAPI/examples.html#object-detection