intellect basico apostila.1.3

260
1 INTELLECT

Upload: jorge-moura

Post on 04-Jul-2015

60 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTELLECT Basico Apostila.1.3

1

INTELLECT

Page 2: INTELLECT Basico Apostila.1.3

2

O que é Visão de Máquina?

• A visão envolve aquisição e processamento da informação visual.

• Visão de Máquina é a habilidade do computador “ver”.

• Uso de um sistema de visão de máquina:– Uma ou mais câmeras, conversor analógico/digital (ADC),

processador de sinal digital (DSP), e software de visão.

Page 3: INTELLECT Basico Apostila.1.3

3

O que é Visão de Máquina?

• Usando sua visão, as máquinas inspecionam defeitos em produtosdetectando a presença ou a ausência das peças, fazendo análisedas medidas, lendo códigos, etc.

• Os dados ou o sinal resultante, vão para um dispositivo externo talcomo um computador, um controlador de robô, um PLC, etc.

Page 4: INTELLECT Basico Apostila.1.3

4

DVT Hardware

Page 5: INTELLECT Basico Apostila.1.3

5

Hardware – Visão Geral

Componentes da CâmeraLuz de LED Integrada(Opcional)

Lente tipo C ou CS

Microprocessador

CCD ou CMOS

Memórias Flash e RAM

Protetor de Fiação (Opcional)

Page 6: INTELLECT Basico Apostila.1.3

6

Comunicação

• 8 E/S digitais configuráveis– Controla até 4 estrobes independentes

• Ethernet – Modbus TCP, Modbus RTU– ASCII, XML– Ethernet/IP

• Field Bus Protocolos– Profibus and Devicenet

• Opções:– OPC Server– RS-232 comunicação serial com conversor (CON-ETS)

Page 7: INTELLECT Basico Apostila.1.3

7

Luz Estrobo LED - DVT

• Usa um cabo com conector 4 pinos

• Conecta por 3 pinos do Break Out Board– marrom=24V+; azul=terra; preto=Signal

• Vermelha: fornece uma luz monocromática de 670nm – O CCD da câmera é mais sensível a este

comprimento de onda de luz.

• Infra-vermelho: fornece uma luz monocromáticade 850nm

• Também disponível na configuração com LED’s brancos para aplicações coloridas.

Page 8: INTELLECT Basico Apostila.1.3

8

I/O Components

Conexões isoladas e não isoladasExpansão I/O - Ethernet

16 pontos de I/O discretos

8 entradas Ethernet

8 saídas Ethernet

8 linhas de I/O digitais configuráveis

• Montagem em trilho DIN • Montagem em trilho DIN

Page 9: INTELLECT Basico Apostila.1.3

9

IBOB

• Contém conexões para:– Digital I/O (terminais com parafuso)

• Isolados e não isolados– Fonte de alimentação 24V – Luz Estrobo - DVT LED

• Características:– 8 pinos de I/O dedicados– 24 V+, 2 terras e 3 conexões de estrobo– LED’s de status dos I/O’s

• Montagem em trilho DIN

Page 10: INTELLECT Basico Apostila.1.3

10

Ethernet I/O

Page 11: INTELLECT Basico Apostila.1.3

11

Comunicação Serial

• Conversor Ethernet/Serial- part # CON – ETS

• Conexão usando a porta 2101

CON-ETS

Page 12: INTELLECT Basico Apostila.1.3

12

SmartLink

• Simples tela de VGA ou toque quemonitora estações

• Opcional DeviceNet / ProfiBus

• Ethernet 10/100 taxa de transferência

• RS-232 usado para carregar firmware e arquivos de projetos

Page 13: INTELLECT Basico Apostila.1.3

13

Intellect Básico

Visão Geral• Estabelecendo uma conexão• Layout da interface de usuário• Navegação de imagens• SoftSensor visão geral

Page 14: INTELLECT Basico Apostila.1.3

14

Gerente de Rede

Endereço de IP

IP do Computador:192.168.0.12

IP da Camera :

192.168.0.242

Subnet:

255.255.255.0

Desconecta

Conexões

Gerente de conexões

Page 15: INTELLECT Basico Apostila.1.3

15

Resposta em tempo real

Ícones de SoftSensor Ícones de Imagens Ícones de Produtos

Janela de Propriedades

Tabela de resultados

Gerente de conexões

Display de Imagens

Page 16: INTELLECT Basico Apostila.1.3

16

Display de Imagens (SID)

• Display de imagens– As imagens são transferidas para o display somente quando

houver tempo disponível. – Seleção de imagens:

• Aprovadas/Reprovadas• Todas as imagens: Pára na reprovada

Page 17: INTELLECT Basico Apostila.1.3

17

Ícones de Sistema

• Abrir Arquivos– Imagem Bitmap– Produto / Sistema

• Product1.dvtiprod• System.dvtisys

– Arquivo de Script• myScript.dvtiscr

– Gráfico

• Salvar sistema na memória flash

• Undo & Re-Do

• Trigger externo

• Inspect (run mode)

Page 18: INTELLECT Basico Apostila.1.3

18

Play mode vs. Inspection mode

Play Mode“RTF”

Inspection Mode

O SID vaiatualizar?

Atualizadigital I/O ?

ON ON Yes Yes

ON OFF Yes No

OFF ON No Yes

Nota: A câmera só será independente do computador depois de tersido acionado o botão de Inspect (run mode).

Page 19: INTELLECT Basico Apostila.1.3

19

Estrutura de Arquivo

System

Product 2

SoftSensor 2SoftSensor 3

SoftSensor 1

Product 1

SoftSensor 1

SoftSensor 2

Page 20: INTELLECT Basico Apostila.1.3

20

Ícones de Produtos

• Criar um novo produto

• Ícones de gerenciamento de produto:– Adicionar novos produtos– Recortar (ctl+X), copiar (ctl+C) e colar (ctl+V)– Salvar sistema para memória flash– Habilita AntiBlooming– Habilita estrobos– Ajuste de tempo de exposição

Page 21: INTELLECT Basico Apostila.1.3

21

Gerenciamento de Produtos

Usado em conjunto com a janela de parâmetros:

- Atribuindo um produtoao power-on

- Criando novo, apagando,duplicando, ou salvandoprodutos na memória flash

- Atribuindo umatranformação de coordenadas

escala global

- Escolhendo umnúmero da seleçãode ID digital

Page 22: INTELLECT Basico Apostila.1.3

22

Ícones de Sensores

- Funções de edição padrão

recorta (ctl+X), copia (ctl+C) e cola (ctl+V)

Lista de sensores Ajustes das propriedades

Page 23: INTELLECT Basico Apostila.1.3

23

Sensores

• Organizados por tarefa:– Preprocessamento

• Realçar a qualidade da imagem, com filtros, antes da inspeção– Posicionamento

• Localização rápida e exata das peças em todas as direções– Contagem

• Analisar Presença/Ausência, contagem e cor– Medidas

• Calcular valores matemáticos precisos e revisões estatísticas– Leitores

• Decodificar uma variedade de códigos 1D, 2D e OCR– Detecção de falha

• Aprender variações nas peças descobrir defeitos na manufatura– Scripts

• Ferramenta programável que oferece a flexibilidade final para inspeções

Específico da aplicação - ferramentas para aplicaçõesespecíficas

Page 24: INTELLECT Basico Apostila.1.3

24

Propriedades Comuns dos Sensores

• Executar inspeção• Referência de posição

– Esta opção permite (X, Y, Theta) que dados sejam trocados entresensores

• Referência de imagem- Esta opção liga a saída de imagem de um sensor com a entrada de

outro• Modo de marcação local

- Ajusta a marcação local para o sensor• Shaped Defined in

– Usado para referenciar a um sistema de coordenadas

Page 25: INTELLECT Basico Apostila.1.3

25

Demostração de Habilidades com Sensores

DesenharMudar formaMoverDeterminar porque um sensor falhou

Page 26: INTELLECT Basico Apostila.1.3

26

Tabela de Resultados

• Fornece acesso rápido a:– Propriedades de aquisição de imagem– Resultado dos sensores

• Passa/Falha, tempo, causa da falha, ordem, tipo– Resultados da inspeção– Gerenciamento de comunicação

Page 27: INTELLECT Basico Apostila.1.3

27

Parâmetros de Aquisição

Trigger Source (Fonte de disparo):

- Internal Full Speed (interno max. velocidade)

- Internal with Period (ms) (interno c/ período)

- External (externo)

Image Acquisition (Aquisição de Imagem):

- Exposure Time (tempo de exposição)

- Illumination Enable (habilita iluminação)

Image Acquisition Area (área de aquisição de imagem):

Auto Exposure (exposição automática):

Image Focus (foco da imagem):

Image Display (display de imagem):

Page 28: INTELLECT Basico Apostila.1.3

28

Resultados da Inspeção

• Configuração:– Tempo– Tempo de saída– Resultados Passa/Falha

• Tela de Tempo para:– Aquisição de imagem– Inspeção– Inspeção de área– Tempo de inspeção total

Page 29: INTELLECT Basico Apostila.1.3

29

Gerênciamento de Comunicação

- Configura rapidamente todas as formasde comunicação

- Ícone na tabelade resultados

Page 30: INTELLECT Basico Apostila.1.3

30

Posicionamento de Janelas

• É fácil esconder janelas usando posicionamento :– Lado esquerdo– Lado direito– Embaixo

• Clique com o botão direito na janela para alterar as propriedades do posicionamento

Page 31: INTELLECT Basico Apostila.1.3

31

Configurações de Sistema

• Conexões do sistema• Inspeção• Scripts de fundo• Sistemas de coordenadas• Imagens retidas• Calibração de sistema• Administração do sistema• Gráficos do sistema

• Salva sistema na memória flash

Page 32: INTELLECT Basico Apostila.1.3

32

Network Explorer

Emulador IP Address

IP: 127.0.0.1

Subnet:

255.255.255.0

Disconecta

Conexões

Gerente de conexões

Page 33: INTELLECT Basico Apostila.1.3

33

Emulador

• Um programa de aplicação separado do Intellect• Emula os sensores DVT• Utiliza imagens que estão salvas no PC.

Page 34: INTELLECT Basico Apostila.1.3

34

Carregando Imagens

Atalhos:

- Teclado (ctrl+E)

- Ícone• Para rodar uma série de imagens:

– No menu do Intellect abraimages e selecione “Configure Sequence…”

– Não é preciso ter formato de nome para “All Images in Directory”

– Formato do nome para “Numbered images”

Prefixo###.bmpEx: image000.bmp

Page 35: INTELLECT Basico Apostila.1.3

35

Navegação

• Use os botões Play e Stop para navegar nasequência de Imagens

Fonte de Disparo:

- Interno com um período de tempo (ms)

- Interno em máxima velocidade

- Externo

Avançar com as imagens:

- Última imagem

- Para trás / para frente

- Gravar

- Stop

Page 36: INTELLECT Basico Apostila.1.3

36

Salvando Imagens

• Usando uma câmera ao vivo, podemos salvar imagens para o HD do PC.

* Escolha a opção Record Without Marking ou as marcas dos sensores serão gravadas junto com as imagens.

Page 37: INTELLECT Basico Apostila.1.3

37

Salvando Produtos/Sistemas

• Os arquivos de Produto/Sistema podem ser salvos para a câmeraou para o PC.- Para a câmera:

- Basta clicar no ícone

- Para o PC:- No menu File selecione: “Save System as…” ou“Save Product as…”

Page 38: INTELLECT Basico Apostila.1.3

38

Suporte e Diagnósticos

• Tenha um arquivo de produto ou sistema e uma sequência de imagens gravadas no PC

• Inicialize o Emulador• Restaure o arquivo de produto ou sistema e configure a sequência

de imagens• Diagnosticar e pesquisar defeitos na aplicação• Backup final de produto ou sistema para o PC• Carregue o produto ou sistema para a memória Flash da câmera

Page 39: INTELLECT Basico Apostila.1.3

39

Emulador DVT

• Uma vez que configuramos a sequência de imagens no Emulador, precisamos configurar as inspeções:– Selecionar o sensor que irá usar– Ajustar parâmetros do sensor– Critérios de passa e falha do sensor– Rodar as imagens e iniciar as inspeções– Comparar os resultados obtidos no painel do resultado com o

resultado previsto. Mudar parâmetros de SoftSensor se necessário

Page 40: INTELLECT Basico Apostila.1.3

40

Ferramentas de contagem

• Todos os sensores de contagem estão localizadosabaixo do Grupo Counting

• O Intellect combinou vários algorítimos num mesmo sensor.

• Depois de desenhar o sensor, você pode escolherqual algorítimo irá utilizar.

• Há 2 principais grupos de sensores: baseados em área e baseados em linha.

Page 41: INTELLECT Basico Apostila.1.3

41

Contagem baseada em linha

• Sensores baseados em linha:– Contagem ao longo da linha– Contagem ao longo do arco– Contagem ao longo da poli-linha

• O algorítimo “default” desses sensores é o de Contagem de borda.

• O algorítimo mais poderoso é o de comparação de padrão.

Page 42: INTELLECT Basico Apostila.1.3

42

Contagem Baseada em Linha

• Edge Counting– Mesmo algorítimo para Posição, Linha

– Procura transições entre pixels claros e escuros, conta e passapara a tabela de resultados.

– A função “Edge Width” ajuda a eliminar falsas bordas.

– Threshold de Gradiente ajuda com variações de iluminação.

Page 43: INTELLECT Basico Apostila.1.3

43

Contagem Baseada em Linha

Options

• Em Opções, você escolhe o tipo de borda a ser contada e também o tipo de Threshold.

• Na página Advanced, vocêpode configurar a largura da borda a ser contada.

Page 44: INTELLECT Basico Apostila.1.3

44

Princípios de Contagem

• Identificar uma característica específica da peça.– Bordas– Formas e padrões– Pontos brilhantes– Intensidades de cor e cinza– Tamanho

Page 45: INTELLECT Basico Apostila.1.3

45

Definições

100• Max Intensity – pixel claro

• Min Intensity – pixel escuro

• Contrast – Diferença entre pixel claro e pixel escuro.

0

Page 46: INTELLECT Basico Apostila.1.3

46

Lendo um Pixel Graph

100 100 50 0 0 50 100 100

Page 47: INTELLECT Basico Apostila.1.3

47

Contagem Baseada em Linha

• O método de contagem de bordasencontrou 29 bordas.

• Podemos ajustar a largura de borda para encontrar somente o “1”ou encontrar somente as marcas.

Page 48: INTELLECT Basico Apostila.1.3

48

Contagem Baseada em Linha

• Pattern Counting– Esta opção trabalha aprendendo um padrão dos pixels definidos

pelo usuário e procura então, ao longo do trajeto, porocorrências do padrão aprendido.

– Pattern Counting é insensível a ruídos e a mudanças de iluminação.

Page 49: INTELLECT Basico Apostila.1.3

49

Contagem Baseada em Linha

• Pattern Match- Um gráfico da contagem é criado para ajudar o usuário a identificar se o teste padrão foi reconhecido ou não .

Page 50: INTELLECT Basico Apostila.1.3

50

Contagem Baseada em Linha

• Pattern Find

– Para evitar encontrar falsos padrões, é possível definir, em pixel, uma distância mínima entre regiões.

– Minimum Match Score• Essa contagem é usada para uma seleção final de padrão.

Page 51: INTELLECT Basico Apostila.1.3

51

Contagem baseada em linha

• Aprendendo uma única marca, com a ferramenta de contagem de padrão, nósencontramos 10 marcas.

Page 52: INTELLECT Basico Apostila.1.3

52

Vantagens e Desvantagens

Pattern FindVantagem

- Filtros de ruídosmuito bons- Tolera mudanças nailuminação

Desvantagem- Maior tempo de processamento.

Edge FindVantagem

- Muito rápido- Threshold de gradiente

Desvantagem- Muito dependentedo Threshold para eliminar ruídos

Feature FindVantagem

- Capaz de excluir as bordas que nãodevem ser contadas- Threshold de gradiente

Desvantagem- Tem que determinaro tamannho da característica a ser contada.

Page 53: INTELLECT Basico Apostila.1.3

53

Contagem baseada em área

• Blob – Conta blobs de pixels com intensidades semelhantes

• Object Locate– Conta objetos de geometria semelhante

• Pattern Find– Aprende padrões distintos para contar.

Page 54: INTELLECT Basico Apostila.1.3

54

Contagem em Área Object Locate

• Object Locate

– Algorítimo Geométrico.

– O algorítimo é usado para funções múltiplas de posição e contagem.

– Capacidade de Auto-Aprendizagem

Page 55: INTELLECT Basico Apostila.1.3

55

Object Locate – Count In Area

Object Locate

– Não binariza a imagem

– Threshold de Gradiente para extrair pontos da borda

– As características são extraídas dos pontos da borda

– Características constituem-se de pontos de cantos, de curvas, etc.

Page 56: INTELLECT Basico Apostila.1.3

56

Parâmetros Model Object

Extração e Aprendizado• Segmentos são extraídos e

características identificadas.

• Nível de importânciaatribuído (Strength)

• Possível ajustar tamanho(largura) e min. gradiente

• Possível gerenciarsegmentos individualmente

• Ajuste de offset do Pick Point

Page 57: INTELLECT Basico Apostila.1.3

57

Algorítimo Object Locate

• Na imagem corrente, os segmentos mais importantes sãolocalizados, baseados na porcentagem de Matching Features configurado. Vários candidatos podem ser encontrados.

• Esses candidatos são comparados com o modelo aprendidobaseado na porcentagem de Minimum Match Score configurado e a distância de pixels para pontos da borda.

Page 58: INTELLECT Basico Apostila.1.3

58

Parâmetros de Localização do Objeto

• A escala pode ser ajustadapara melhor robustez

• Limitar a translação e a rotação pode reduzir o tempo de processamento.

Page 59: INTELLECT Basico Apostila.1.3

59

E se não Trabalhar?

• Analisar a Imagem– Melhorar a iluminação– Otimizar definição e contraste de bordas

• Verificar o segmento aprendido (Model Object)– Identificar contornos interrompidos e tentar abaixar o Min.

Gradiente.– Deletar todos os segmentos menos importantes / ruidosos.– Ajustar os parâmetros.

Page 60: INTELLECT Basico Apostila.1.3

60

E se não Trabalhar?

Ajuste dos Parâmetros

• Reduza / Aumente Matching Features %

• Reduza / Aumente Pixel Distance se a peça mudar de imagem para imagem.

• Reduza / Aumente Minimum Match Score % (está deve ser a ultimaopção).

Page 61: INTELLECT Basico Apostila.1.3

61

Contagem em Área Blobs

• Blobs

– Procura pixels juntos, de intensidades similares, para agrupá-los.

– Fornece a contagem e os dados de posição de cada blob encontrado.

Nota: Blob Selector foi combinado com Generator.

Page 62: INTELLECT Basico Apostila.1.3

62

Contagem em Área Blobs

• Blobs Options– Aumentar o parâmetro Match Score ajuda a eliminar contagens

falsas.

– Três métodos disponíveis para cálculo de ângulo• 0 graus está as 3 horas• 360 (default) & 180 graus

Page 63: INTELLECT Basico Apostila.1.3

63

Parâmetros Preprocessing

• Blob PreProcessing– Usa sempre threshold baseado em intensidade para produzir a

imagem binarizada.

– Até 5 operações de morfologia.• Dilation – Dilata os pixels• Erosion – Erode os pixels• Open – Combinação de Erosion com Dilation• Close – Combinação de Dilation com Erosion

Page 64: INTELLECT Basico Apostila.1.3

64

Parâmetros Generation

• Blob Generation– Blob Color

• Light ou Dark (Claro ou Escuro)– Blob Size Limits: usado para eliminar blobs não desejados.

• Min e Max (Mínimo e Máximo)– Tipo de saída

• Posição, área, perímetro, etc.

Page 65: INTELLECT Basico Apostila.1.3

65

Blob Generator

• As sombras podem afetar a imagem.• Código de cores

– Preto: blob ignorado ou na borda– Cinza claro: blobs válidos– Cinza escuro: blobs ignorados

por parâmetros (ex. area)

Page 66: INTELLECT Basico Apostila.1.3

66

Parâmetros Selection

• A aba de Informação do Blob indica valores para comparações.– A marcação de imagem

mostra o número de cadablob.

• Automatically Score Blobs– Desabilitada é possível

configurar valores de Min. e Máx.

Page 67: INTELLECT Basico Apostila.1.3

67

Contando Pixels (PixelCounting)

• Quando usado com uma câmeramonocromática o sensor de PixelCount conta a intensidade do pixel.

• Ajuste manual dos limites mínimo e máximo da intensidade desejada.

• Usado principalmente para análise de presença e ausência.

Page 68: INTELLECT Basico Apostila.1.3

68

Entenda um Histograma

• Mostra a distribuição da intensidadedo pixel.

Page 69: INTELLECT Basico Apostila.1.3

69

Sensores de Posicionamento

• Position along Line– Line (Translação)– Arc (Rotação)

• Line Fit (Translação e Rotação)– Line, Minimum, Maximum

• Circle Fit (Translação)

• Area Positioning (Translação e Rotação)– Object, Pattern, Blob

Page 70: INTELLECT Basico Apostila.1.3

70

Posicionamento

• Na prática, todas as aplicações precisam de correção de posicionamento da peça.

• Ferramentas de posicionamento podem referenciar outraferramenta para localizar as áreas de inspeção.

• Pode-se fazer uma “corrente” de sensores para referenciar umaferramenta nas direções X, Y e rotação.

Page 71: INTELLECT Basico Apostila.1.3

71

Exemplo

Horizontal Position, Line SoftSensor

Vertical Position, Line SoftSensor

Inspection SoftSensors

Page 72: INTELLECT Basico Apostila.1.3

72

Ferramentas de Posicionamento

• Os algorítimos usados para posicionamentotambém estão no grupo de contagem .

Page 73: INTELLECT Basico Apostila.1.3

73

Sensores de Posicionamento - Linha

• Corrige movimentos em 1 direção.

• Encontra a 1ª borda (a partir da origem da ferramenta) e determina a porcentagem de offset

• Procura uma transição entre pixels claros e escuros

• Limitado pelo tamanho (quanto maior o desenho, maior pode ser o movimento)

• Retorna à tabela de resultados o valor de porcentagem de offsetcom relação ao tamanho da ferramenta.

Page 74: INTELLECT Basico Apostila.1.3

74

Posição Baseada em Linha

Options• Edge Type to Locate

- Seleciona o tipo de borda a ser encontrada.

• Na página Advanced vocêpode configurar a larguramínima da borda a ser encontrada.

Page 75: INTELLECT Basico Apostila.1.3

75

SoftSensor Arc : Exemplo

Horizontal Position Line

SoftSensorVertical

Position Line SoftSensor

Rotational SoftSensor

Inspection SoftSensors

Page 76: INTELLECT Basico Apostila.1.3

76

SoftSensor Arc : Exemplo

Position Circle SoftSensor

Rotation Position Arc SoftSensor

Inspection SoftSensors

Page 77: INTELLECT Basico Apostila.1.3

77

Fitting Positioning

• Fitting SoftSensors– Line Fit (linha)– Circle Fit (circulo)

• Cada linha de scan do SoftSensor faz a varreduraem uma área para as bordas

• Sensores de linha ou círculo encontram bordas.• Melhora a exatidão. • Algorítimo rápido e exato.

Page 78: INTELLECT Basico Apostila.1.3

78

Line Fit: Exemplo

Line Fit SoftSensor

Position, Line SoftSensor

Inspection SoftSensors

Page 79: INTELLECT Basico Apostila.1.3

79

Line Fit

• Posiciona rotação e translação• Precisa de uma borda reta para rotação• Pode requerer um outro sensor para posicionar

exatamente a translação em 2D• Faz a varredura de uma área que procura uma borda

reta. O tamanho do SoftSensor é muito importante

Certo Errado

Page 80: INTELLECT Basico Apostila.1.3

80

SoftSensor LineFit

• Pode traçar uma linha nospontos de borda encontrados

• Pode encontrar …– Minimum edge point– Maximum edge point– Median EdgePoint

Page 81: INTELLECT Basico Apostila.1.3

81

Circle Fit

• Usa bordas para encontrar um círculo com um ponto de centro que pode ser usadocomo referência

• Filtragem avançada

• Melhor medida de Subpixel.

Page 82: INTELLECT Basico Apostila.1.3

82

Aumentando a Exatidão

• Aumente o número de pontos de borda encontrados:– Aumentando o ajuste de densidade– Ajustando o raio do círculo interno para zero– Aumentando o tamanho do sensor Line Fit.

Page 83: INTELLECT Basico Apostila.1.3

83

Posição baseada em área

• Area Positioning tem 3 algorítimos diferentes– Object Locate – Pattern Match– Blob (Default)

Page 84: INTELLECT Basico Apostila.1.3

84

Posição baseada em área

• Como desenhar o sensor de Area Positioning– Desenhe um quadro em torno do objeto ou

característica que quer encontrar.– Um quadro grande é desenhado

automaticamente. Esse quadro é a área de busca.

– Você pode editar os quadros e reaprender o objeto se necessário.

– O algorítimo “default” é o Blob, veremos a seguir.

Page 85: INTELLECT Basico Apostila.1.3

85

Sensor de Posição Blob

• O Algorítimo é novo– A imagem é binarizada.– Pixels de intensidades similares são agrupados formando blob.– O resultado será posições de X, Y e rotação do blob.– Novo no Intellect

• Selector e Generator combinados• As características do Blob são aprendidas automaticamente.

Isto ajuda automatizar o processo de seleção.

Page 86: INTELLECT Basico Apostila.1.3

86

Blob Position – Options

• Minimum Match Score– Esta contagem é usada para

uma comparação final da seleção do Blob.

• Opção de entrada de Digital Relearn. Usada para reaprendercaracterísticas do blob automáticamente.

Options

Page 87: INTELLECT Basico Apostila.1.3

87

Blob Position - PreProcessing

• Aqui você pode escolher o tipode Threshold.

• Morphology– Há mais possibilidades de

processar os blobs.

– A largura e altura podem ser ajustadas separadamente se necessário.

PreProcessing

Page 88: INTELLECT Basico Apostila.1.3

88

Blob Position - PreProcessing

• Erode: encolhe os blobs. Útil para separar blobs grudados.

Page 89: INTELLECT Basico Apostila.1.3

89

Blob Position - PreProcessing

• Dilate: expande blobs. Útil para eliminar imperfeições em blobs e conectar caracteres pontilhados

Page 90: INTELLECT Basico Apostila.1.3

90

Blob Position - PreProcessing

• Open (Erode seguido de Dilate): encolhe e expande blobs. Útil para eliminar ruído de fundo

Page 91: INTELLECT Basico Apostila.1.3

91

Blob Position - PreProcessing

• Close (Dilate seguido de Erode): expande e encolhe blobs. Elimina furos dentro dos blobs sem mudar o tamanho dos blobs.

Page 92: INTELLECT Basico Apostila.1.3

92

Blob Position - Generator

• Sombras podem afetar a imagem• Código de Cores

– Preto: blobs ignorados e no limiteda borda.

– Cinza claro: blobs válidos– Cinza Escuro: blobs ignorados

por parâmetros. (ex. area)

Page 93: INTELLECT Basico Apostila.1.3

93

Blob Position - Selection

Selection• Tabela de Informação

– A tabela na parte de baixo do menu indica todas as informações dos blobs encontrados.

– Os Blobs com um asteriscosão os blobs que se encontram dentro das exigências de seleção.

Page 94: INTELLECT Basico Apostila.1.3

94

Blob Position - Selection

• Para selecionar um blob– Clique em Show All Blobs

– Clique no blob desejado natabela.

– Clique no botão Learn.

– Automaticamente as características do blob serãoatualizadas na área de critérios de seleção.

Selection

– Você pode manualmente, mudar os critérios de seleção.

Page 95: INTELLECT Basico Apostila.1.3

95

Posicionamento - Object Locate

• Localizador de padrão geométrico– Variação de iluminação não é crítico.

– Fácil de configurar e editar.

– Pode trabalhar com peças complexas.

– Problemas com Reflexão.

– Variação de cores.

Page 96: INTELLECT Basico Apostila.1.3

96

Posicionamento - Object Locate

• Utiliza– Translação– Rotação– Escala

• Usando características estáveis e originais, é mais confiável.

Page 97: INTELLECT Basico Apostila.1.3

97

Object Locate – Model Object

• Segmentos são extraídos e características aprendidas

• Atribuição de nível de importância(Strength)

• Pode ajustar min. size and min. gradient

• Controle individual de cada segmento

• Possível configurar offset do pontode centro do objeto

Model Object

Page 98: INTELLECT Basico Apostila.1.3

98

Object Locate – Options

Options

• Minimum Match Score % para comparação final.

• Min Distance between Regions usado para eliminar falsoscandidatos.

• 36 sinais de entrada de Digital Relearn.

Page 99: INTELLECT Basico Apostila.1.3

99

Object Locate – Parameters

Parameters• Ajuste de escala

• Limitar translação e rotaçãopode diminuir tempo de processamento.

• Aumentar Matching Features pode reduzir o número de objetos encontrados

Page 100: INTELLECT Basico Apostila.1.3

100

E se não Trabalhar?

• Analise a imagem– Melhore a iluminação– Otimize a definição e contraste das bordas

• Verifique os segmentos aprendidos– Identifique os contornos interrompidos e tente abaixar o Min.

Gradient e/ou deletar todos os segmentos semimportância/ruidoso.

• Reduza/Aumente o Matching Features %

• Reduza/Aumente o Pixel Distance se a geometria das peças mudarde imagem para imagem

• Reduza/Aumente o Minimum Match Score % (última opção)

Page 101: INTELLECT Basico Apostila.1.3

101

Posicionamento - Pattern Matching

• O algorítimo é completamente novo.– Baseado na correlação da escala de cinza.– Threshold de Gradiente para encontrar pontos de borda.– O padrão é construído a partir dos pontos da borda. – Usado para a parte que gira muito pouco e a escala não muda

muito.

Page 102: INTELLECT Basico Apostila.1.3

102

Posicionamento - Pattern Matching

• Compara o padrão original com a imagem inspecionada.

• Ajustar o Minimum Match Score para encontrar a peçaem diferentes condições de iluminação ou rotação.

Page 103: INTELLECT Basico Apostila.1.3

103

Posição - Considerações

• Saber as exigências da aplicação– Como a peça se movimenta?

• Translação (X,Y)• Rotação (ângulo)• As duas

– Como a peça foi iluminada?• Front Lighting, Backlighting

– Como a peça é apresentada?• Uma peça de cada vez• Várias peças

– Quanto tempo você tem para a inspeção?– Como a informação de posição vai ser usada?

• Posicionando outros sensores• Posição Pura• Robô

Page 104: INTELLECT Basico Apostila.1.3

104

Ferramentas de Medida

• Sensores que fornecem uma saída quantitativa (raio, distância, posição, etc.)

Page 105: INTELLECT Basico Apostila.1.3

105

Precisão e Resolução

Com que precisão que posso medir minha peça?Depende de:

- Tamanho de peça- Resolução da câmera- Iluminação- Lente

Page 106: INTELLECT Basico Apostila.1.3

106

Precisão e Resolução

Obter uma imagem boa para medidas requer:- Nenhuma saturação- Não usar AntiBlooming- Se você quiser resultados altamente repetitíveis, usar o Thresshold de Gradiente e iluminação tipo Backlight.- O Backlight fornece bordas definidas.- Garantir um bom foco nas bordas- Utilizar lentes de baixa distorção.

Page 107: INTELLECT Basico Apostila.1.3

107

Sensores de Medida

• Requer bordas definidas para alta repetibilidade.

Page 108: INTELLECT Basico Apostila.1.3

108

Efeito do Threshold de Intensidade

Se um gráfico de pixel (threshold baseadointensidade) for usadopara medir as peças, pode haver umavariação grande no resultado da medida

100 100 50 0 0

Intensidade X X

Distância

X X

Mudança nos níveisdo Threshold

Variação causada poruma mudançapequena no threshold

Page 109: INTELLECT Basico Apostila.1.3

109

Sensores de Medida

• Novo tipo de threshold: Gradient• Gradient: valor da mudançana intensidade entre pixels consecutivos

Page 110: INTELLECT Basico Apostila.1.3

110

Precisão e Resolução

• Como funciona a computação do Sub Pixel?

100 100 50 0 0

X X

XX

Taxa de mudança Os sistemas

monocromáticos da DVT podem calcularcentésimo de um Pixel mas repetir o décimode um Pixel

Distância

Page 111: INTELLECT Basico Apostila.1.3

111

Sensores de Medida

• Os sensores utilizados para medidas estãolocalizados nos boxes de Measurement e Positionig– Os sensores do grupo de medida são usados para

medir distância. – Toda a funcionalidade dos sensores de

matemática estão em “Measure with Points and Lines” . (Ex. Ponto médio, Midline, Ângulo)

Page 112: INTELLECT Basico Apostila.1.3

112

Measure Along Line

• Calcula a distância entre dois pontos externos de borda encontrados ao longo da linha.

Distance = 27.227 pixels

Page 113: INTELLECT Basico Apostila.1.3

113

Measure in Area

• Calcula a distância entre duas linhas que se formamde acordo com os pontos da borda encontrada.

• Também…– Min Thickness (Minima espessura)– Max Thickness (Máxima espessura)– Median Thickness (Espessura mediana)– Average Thickness (Espessura média)

Page 114: INTELLECT Basico Apostila.1.3

114

Parâmetros da Varredura de Linha

• Edge Width permite que o usuário defina o número de pixels em uma borda

Page 115: INTELLECT Basico Apostila.1.3

115

Outros Parâmetros da Varredura de Linha

• 1st Edge Found• Use Best Edge procura a

borda com o gradiente maiselevado acima do threshold.

• All Edges encontra a melhorlinha usando todas as bordas na área

Page 116: INTELLECT Basico Apostila.1.3

116

Max Interations

• Ajustando os pontosinterações máximas, é dado um peso baseado naproximidade ao melhor fit (linha) apto.

• As interações subsequentessão basedas nos pontos de maior peso.

• O exemplo compara a melhor linha apta (linhaamarela) e a mesma linhaapós 4 iterações.

Page 117: INTELLECT Basico Apostila.1.3

117

Outlier Distance

• Etapa adicional além das interações.

• Ignora todos os pontos que estiverem “x” pixels distantes da melhor linha.

• Gera um melhor “acabamento” da melhor linha.

• O exemplo compara osmelhores pontos, rejeitandoos pontos afastados a maisde 5 pixels.

Page 118: INTELLECT Basico Apostila.1.3

118

Measure in Circle

• Encontra bordas de dentro para fora e vice-versa.

• Forma um círculo com pontos internose externos da borda.

• Também..– Distance Between Centers

(Concentricidade)– Radius (Raio)– Average Thickness (Espessura

Média)– Min Thickness (Espessura

Minima)– Max Thickness (Espessura

Máxima)– Median Thickness (Espessura

Mediana)

Page 119: INTELLECT Basico Apostila.1.3

119

Measure with Point and Lines

• Calcula distância e angulo entre linhas e pontos.

• Calcula/cria novos pontos e linhas

Page 120: INTELLECT Basico Apostila.1.3

120

Statistics

• Permite ao usuário verificar o valor médio de várias inspeções.

Page 121: INTELLECT Basico Apostila.1.3

121

Melhorando Resultados da Medida

• Hardware• Configuração de Sistema• Iluminação• Lente• Ambiente• Estatística das amostragens

Page 122: INTELLECT Basico Apostila.1.3

122

Câmera - Hardware

• Baixa Resolução vs. Alta Resolução• Monocromática vs. Colorida

– Monocromática melhor• CCD vs. CMOS

– CCD melhor• Configuração de Imagem

– Desligar antiblooming– Não saturar imagem– Aumentar taxa de digitalização para 30ms

Page 123: INTELLECT Basico Apostila.1.3

123

Configuração de Sistema

• Peça sempre na mesma posição– Medida da peça é feita sempre no mesmo ponto da lente.

• Lente de grande distância focal / lentes especiais– Lente sem distorção

• Luz mais longe da peça– Raios mais paralelos

Page 124: INTELLECT Basico Apostila.1.3

124

Precisão e Resolução

Com qual precisão posso medir minha peça?Depende de:

- Tamanho da Peça- Resolução da Câmera- Iluminação- Lente- Ambiente

Page 125: INTELLECT Basico Apostila.1.3

125

Precisão e Resolução

Page 126: INTELLECT Basico Apostila.1.3

126

Medindo a Lua

Page 127: INTELLECT Basico Apostila.1.3

127

Medindo a Lua

• Com qual precisão posso medir a Lua?– Diâmetro da Lua: 3476 Km– Diâmetro em pixel da Lua(640 x 480): 409.80 Pixels– …cada pixel representa 8.5 Km (distance / pixel)

• Se a Lua for iluminada com Backlight, usando cálculo de subpixel, mediríamos com precisão de 850 metros.

Page 128: INTELLECT Basico Apostila.1.3

128

Medindo um Cabelo

Page 129: INTELLECT Basico Apostila.1.3

129

Medindo um Cabelo

• Com qual precisão posso medir um cabelo humano?– Largura do cabelo: 0.05mm (50 µm)– Largura do cabelo em pixels (640 x 480 Camera): 351 Pixels– …. cada pixel representa 0.14 µm (Distância por Pixels)

• Backlight com resolução de 1/10 de pixel – Capaz de medir 0.014 µm (0.000014 mm)!

Page 130: INTELLECT Basico Apostila.1.3

130

Escala

Coordinate SystemsCaixa de Propriedades

Transformation MethodSelect - none

Scaling MethodSoftSensor based– O usuário escolhe o sensor de medida– Unidades para Escala

Manual– O usuário entra com o fator de conversão– Unidades para escala

20 pixels = 1mm

Portanto:

1 pixel = .0500mm

Page 131: INTELLECT Basico Apostila.1.3

131

Comunicações

Page 132: INTELLECT Basico Apostila.1.3

132

O que Vamos Aprender

Como configurar:• I/O físico e remoto

– Seleção de Produtos via I/O Digital• Conexões TCP/IP • DataLink • Registros

– Linhas de comandos por terminal do sistema• Modbus Master• Ethernet terminal controller

Page 133: INTELLECT Basico Apostila.1.3

133

Digital I/O

Conector RJ-45 com 10 pinos

8 linhas de I/O configuráveis

Breakout BoardSimplifica conexões e fornece indicadores de LED

IN-Sinking (NPN)Sink max of 1.5 mA

OUT-Sourcing (PNP)Source max of 50 mA

Page 134: INTELLECT Basico Apostila.1.3

134

Digital I/O - Inputs

Inputs- Trigger - 4 Digital ReLearn- Product Select - Event Counter- Results Acknowledgement - 15 Product selection for - Disable Run Mode inspection (product select/ID bits)- External Trigger Mode - 32 Inputs for scripts

Page 135: INTELLECT Basico Apostila.1.3

135

Digital I/O - Outputs

Output- Trigger Ack - Busy- Select Pass - Acquiring- Pass - Inspecting - Fail - Inspection Toggle- Resource Conflict - Wrong Code- Run Mode - 3 Strobe- Trigger Mode - 16 User Outputs

- 16 Script Outputs

Page 136: INTELLECT Basico Apostila.1.3

136

User Outputs

Abrir clicando no ícone da tabela do resultado

Page 137: INTELLECT Basico Apostila.1.3

137

Seleção de ProdutosConfiguração em 2 partes

1. Atribuir Digital ID na tela da gerência de produto.

2. Atribuir bits de seleção na tela de configuração de I/O

Page 138: INTELLECT Basico Apostila.1.3

138

Como a Seleção de Produto Trabalha

Digital ID Bit 1 Bit 0

Product 1 1 0 1Product 2 2 1 0Product 3 3 1 1Product 4 4 ? ?

Page 139: INTELLECT Basico Apostila.1.3

139

Amostra de Conf. de I/O

Page 140: INTELLECT Basico Apostila.1.3

140

Expansão de I/O

Page 141: INTELLECT Basico Apostila.1.3

141

Câmeras Coloridas

• Legend 535C, 545C and 554C– O CCD colorido é usado para

diferenciar cores

Page 142: INTELLECT Basico Apostila.1.3

142

Uso do Sistema Colorido

• Presença e Ausência de peça• Identificação de peça• Detecção de falhas

• Não recomendado para medidas

Page 143: INTELLECT Basico Apostila.1.3

143

535C – Demonstração de Aplicação

Verificar a presença de chocolate.

Page 144: INTELLECT Basico Apostila.1.3

144

Uso do Sensor Colorido

• Pixel Counting– Mais de 95% das aplicações

• Color Monitoring – Localizado no grupo Flaw Detection– Menos de 5% das aplicações– Iluminação é um ponto muito crítico

Page 145: INTELLECT Basico Apostila.1.3

145

Passos da Aplicação Colorida

• Calibração de branco (White Balance)• Aprender cores • Verificar cor aprendida• Abrir ou fechar parâmetros da cor como necessário• Configurar critério de PASS/FAIL.

Page 146: INTELLECT Basico Apostila.1.3

146

Balancear a Cor do Sistema:

White Balance

• Deixa as cores mais reais• Específico para cada tipo de luz• Deve ser utilizado a cada mudança de iluminação• Dicas:

– Use um fundo branco– Certifique-se que o centro da imagem não está saturado.

Page 147: INTELLECT Basico Apostila.1.3

147

Aprendendo Cores

• Dois Métodos para aprender cores– Single Color Learning

• Pode aprender várias cores, porém uma de cada vez.

– Multi-Color Learning • Aprende muitas cores diferentes de uma vez. Somente UMA

cor aparece na lista de cores.• Pixels podem ser adicionados ou removidos• As cores adicionais podem ser adicionadas na lista de cores.

Page 148: INTELLECT Basico Apostila.1.3

148

Cubo de Cor RGB

Page 149: INTELLECT Basico Apostila.1.3

149

Alterando Parâmetros de Cor

• São 3 Alternativas– Mudar o fator Sigma

• O Aumento do fator Sigma traz outrascores mais para perto da cor instruída, o que geralmente aumenta o número de píxel contados.

– Habilitar linha de Matte• Inclui as áreas que são da mesma cor apenas mais

brilhante ou mais escura. Os valores de RBG mudam namesma proporção.

– Habilitar a linha de Highlight• Inclui as áreas que estão perto da saturação ou das

reflexões specular.

Page 150: INTELLECT Basico Apostila.1.3

150

Alterando Parâmetros de Cor

Page 151: INTELLECT Basico Apostila.1.3

151

Matte and Highlight

• Valores RGB • A - 30,20,15 darker matte (matte mais escuro)• 60,40,30 cor aprendida• B - 90,60,45 brighter matte (matte mais claro)• C - 100,80,60 saturation matte (matte saturado)• D - 80,60,65 highlight line (linha de highligth)• E - 30, 40, 60 fora das linhas de highlight ou matte.

Page 152: INTELLECT Basico Apostila.1.3

152

Variação de Cor no Espaço RGB

Page 153: INTELLECT Basico Apostila.1.3

153

Histograma da Cor de uma Laranja

Page 154: INTELLECT Basico Apostila.1.3

154

Objeto Laranja

Matte e Highlight Habilitados

Page 155: INTELLECT Basico Apostila.1.3

155

Objeto Laranja

com fator Sigma alto

Page 156: INTELLECT Basico Apostila.1.3

156

Usando o Pixel Counting

Single Color Learning

• Desenhe o sensor somente na cor que queraprender.

• Observe a marcação da imagem para ver se a cor foi corretamente aprendida, ajuste osparâmetros

Page 157: INTELLECT Basico Apostila.1.3

157

Multi Color Learning

• Add – esta função acrescenta cores adicionais a cor aprendida.

• Remove – esta função subtrai cores longe da cor instruída.

• Threshold – este ajuste determina o número dos pixels requeridospara uma nova detecção da cor.

Page 158: INTELLECT Basico Apostila.1.3

158

Usando o Pixel Counting

• Ligar o Pixel Counting a um filtro do PreProcessing

• Você pode agora ligar outrossensores ao filtro para utilizar a coraprendida.

Page 159: INTELLECT Basico Apostila.1.3

159

Ligando Informação de Cor

Page 160: INTELLECT Basico Apostila.1.3

160

Opções de Aprendizagem Melhoradas

• As características avançadas de métodos de aprendizagem da corpermitem que os usuários executem operações múltiplas em digital relearn assim como manualmente

• Há agora 4 entradas de Digital Relearn dedicadas

• Agora podem também ser usadas 32 entradas de usuário (Input-User)

Page 161: INTELLECT Basico Apostila.1.3

161

Novas Características de Digital Relearn

Training

Learn One & Append - Aprende uma nova cor e adiciona a lista

Remove All & Learn One – remove todas as cores da lista e aprende uma nova cor

Learn Merged & Append – Aprende cores múltiplas de uma vez e as funde em umaúnica cor: a cor nova é adicionada à lista

Remove All & Learn Merged – Remove todas as cores na lista e aprende uma Multi cor nova

Multiple Add – Adiciona pixels em Multicores

Multiple Remove – Remove pixels similaresda cor fundida

Page 162: INTELLECT Basico Apostila.1.3

162

Pixel Counting - Conclusão

• Princípios da cor– Lembrar de balancear seu sistema com o white balance. – Os dados da cor podem ser movidos entre sensores– Pixel Counting SoftSensor pode ser usado:

• Em sistemas monocromáticos• Coloridos

Page 163: INTELLECT Basico Apostila.1.3

163

Color Monitoring

Page 164: INTELLECT Basico Apostila.1.3

164

Color Monitoring

• Usado para verificação de cor– Quando são próximas à cor aprendida. – No controle do processo de pintura

• Usado para identificação de cor– Que cor está mais perto– Se está sendo usada a peça correta

• NOTA: Color Monitoring usa 16.7 milhões de cores enquanto o Pixel Counting (Color SoftSensor) usa aproximadamente 65000 cores.

Page 165: INTELLECT Basico Apostila.1.3

165

Color Monitoring

• Retorna as distâncias nos sentidos X, Y e Z bem como o valor absoluto.

Page 166: INTELLECT Basico Apostila.1.3

166

Color Monitoring - Exemplo

Page 167: INTELLECT Basico Apostila.1.3

167

Flaw Detection

Page 168: INTELLECT Basico Apostila.1.3

168

O que Iremos Aprender

• Sensor Defect Detection • Live Image vs. Model Image• Imagem Residual – O que é isto?• Mask – Como afeta a imagem residual?• Desenhando e posicionando o sensor• Explanação dos parâmetros

Page 169: INTELLECT Basico Apostila.1.3

169

Defect Detection

Peça Boa“Model Image”

Peças com defeito“ Live Image“

Page 170: INTELLECT Basico Apostila.1.3

170

Defect Detection

Erros encontrados“Residual Image”Peças defeituosas

“Live Image”

Page 171: INTELLECT Basico Apostila.1.3

171

Defect Detection

• Aprende um modelo para comparar com a imagem ao vivo (Live Image)

• Live Image – Model Image = Diferença

• Diferença – Mask = Residual Image – Mask Image é computado encontrando os valores do

gradiente ao aprender a imagem modelo

Page 172: INTELLECT Basico Apostila.1.3

172

Defect Detection

• O sensor pode ser girado para seguir o movimento da peça

• Operações de processamento disponíveis: Erode, Dilate, Open and Close

• Os erros são agrupados como blobs e os erros pequenos podemser ignorados

Page 173: INTELLECT Basico Apostila.1.3

173

Defect Detection

Page 174: INTELLECT Basico Apostila.1.3

174

Defect Detection

• A habilidade de aprender sobre diversas imagens ajustando as variações

• Pass/Fail– Maximum Number of Defects (Número max. de defeitos)– Total Defect Area in pixels (Área total dos defeitos em pixels)

• O sensor tem a habilidade de carregar e conservar imagens do modelo e da máscara.– Útil quando se tem vários produtos.

• Requer bom posicionamento da peça– Usa Sub-pixel, Threshold de Gradiente

Page 175: INTELLECT Basico Apostila.1.3

175

Conclusão

• Requer modelo para ser aprendido• Requer que a peça esteja posicionada para

comparar modelo com imagem ao vivo• Ferramenta Defect Detection pode ser rotacionada• Os modelos aprendido são salvos no arquivo de

produto• Defeitos são difíceis de detectar em fundos

texturizados

Page 176: INTELLECT Basico Apostila.1.3

176

Visualização de Imagens

Metodos possíveis:• Web Server• ActiveX Controls• CTC Parker

Page 177: INTELLECT Basico Apostila.1.3

177

Scripts

Page 178: INTELLECT Basico Apostila.1.3

178

Sumário

• Descrição: – Sintaxe Script Básica– Script Edição– Tipos de dados e registradores– Debug Window– Funções matemáticas– SoftSensor saidas

• Nível –Intermediário• Pré-requisitos

– Para algumas funções avançadas de script ou programaçãonecessário maior conhecimento ( recomendado)

Page 179: INTELLECT Basico Apostila.1.3

179

O que Você Aprenderá

• Display informando na tabela de resultado.• Dados numéricos, declarações e atribuições.• Registros com funções de leitura/escrito.• Comandos básicos de Terminal.• O uso da Função Result() para pass/fail na

inspeção.• Técnicas para eliminar erros comuns do

Script.

Page 180: INTELLECT Basico Apostila.1.3

180

Scripts

• Programação em sistema e ferramenta criada no produto

• Flexibilidade de monitoração de sensor dados/resultado, I/O, etc.

• Uso de cálculos matemáticos

• Pass/Fail ou executar apenas o código

• Dados resultantes no display

Page 181: INTELLECT Basico Apostila.1.3

181

Background vs. Foreground Scripts

( Scripts “Plano de fundo” vs. “Primeiro plano”)

• Foreground Scripts (ou Script SoftSensor)– Funciona cada vez que uma inspeção ocorre– Comporta como qualquer outra ferramenta (pode ter condições de

pass ou fail)– São parte do produto (como qualquer outro SoftSensor)

• Background Scripts– Independente das inspeções ( trabalha por “trás” do produto)– Não trabalha com o produto criado (nível de sistema)– Pode ser colocado em Run para trabalho continuo no background– Tem menos prioridade do que as inspeções, sincronismo menos

confiável

Page 182: INTELLECT Basico Apostila.1.3

182

Organização

• System with scripts: intercommunication

text

InspectionProduct 1

InspectionProduct 2

SoftSensor 1

SoftSensor 2

SoftSensor 3

SoftSensor 2SoftSensor 1

ForegroundScript 2

ForegroundScript 1

ForegroundScript 1

BackgroundScripts

System Memory(DVT Registers)

Page 183: INTELLECT Basico Apostila.1.3

183

Interface Script

class Sensor1{

public void inspect(){

//Double click a parameter, function or keyword from the right to insert your code here.

}}

Page 184: INTELLECT Basico Apostila.1.3

184

Dados Numéricos

Visão geral: - Discutir sintaxe correta para programar, estrutura

que mostra os tipos de variáveis, operações, indicações de atribuições, declarações e gerenciador de registros.

Page 185: INTELLECT Basico Apostila.1.3

185

Dados Numéricos

• O que é uma variável?– Um nome para os valores armazenados na memória.– Usar as variáveis onde os valores podem mudar (i.e.,

equações, I/O)– Use variáveis com a maior clareza, fácil de se

entender– O tipo de dado deve ser primeiramente declarado.

• Integer, float, double, character, string…

Page 186: INTELLECT Basico Apostila.1.3

186

Declarações

Sempre o primeiro passo é…[data type declaration] [variable name];

int NumBordas;float Distância;String Nomes;

Page 187: INTELLECT Basico Apostila.1.3

187

Dados Numéricos

Qual a diferença entre os tipos de dados?

Page 188: INTELLECT Basico Apostila.1.3

188

Atribuições das Declarações

[data type] [variable name] = [data value];

int WholeNumber = 124;float Decimal = 124.24;String myString = “Hello World”;

Page 189: INTELLECT Basico Apostila.1.3

189

“Armadilha”

Números inteiros e divisões

What is the value of Distance?a) 2.5b) 2c) 3d) Why don’t you just tell me?

Qual o valor da distância?a) 2.5b) 2c) 3d) Porque você apenas não me

diz qual é?

Page 190: INTELLECT Basico Apostila.1.3

190

Porque Aquele Conceito é Importante:

1) Declarar os númeroscomo variáveisfloating

2) Mude as variáveispara o tipo de dado desejado

Page 191: INTELLECT Basico Apostila.1.3

191

Palavra Chave e Palavras Reservadas

• Palavras reservadas para uso específico do compilador– if, while, float, +, PASS, true, length, sqrt

• Não pode ser usado para outra finalidade– e.x. – variable and function names

• Elimine nomes que podem causar conflitos

• Texto em cor diferente, fácil de encontrar na tela

Page 192: INTELLECT Basico Apostila.1.3

192

Referência para Sensores

• <Sensor_Name>.<Parameter>

• int n = Blob_gen.NumBlobs

Page 193: INTELLECT Basico Apostila.1.3

193

Operações Básicas

• == Usado para comparação básica de dados**não use esta operação para comparar string

• <= Indica verdadeiro se argumento1 for menor ou igual aoargumento2

• < • >=• >• ! Retorna verdadeiro se argumento1 é Falso• != Não é igual a• || OR• && AND

Page 194: INTELLECT Basico Apostila.1.3

194

Novas Atribuições para Operações

Notações breves

Page 195: INTELLECT Basico Apostila.1.3

195

O “and” Operação &&

• Combine duas comparações usando o ‘&&’.• (Comparação_1) && (Comparação_2)

if ((distance > 0) && (distance < 100)){

Do_Something;}

else{

Do_SomethingElse;}

Page 196: INTELLECT Basico Apostila.1.3

196

O “or” Operação ||

• Combine duas comparações usando o ‘||’.• (Comparação_1) || (Comparação_2)

if ((x == 0) || (x == 1)){

Do_Something;}

else{

Do_SomethingElse;}

Page 197: INTELLECT Basico Apostila.1.3

197

Acesso de Registro

text

InspectionProduct 1

InspectionProduct 2

SoftSensor 1

SoftSensor 2

SoftSensor 3

SoftSensor 2

SoftSensor 1

ForegroundScript 2

ForegroundScript 1

ForegroundScript 1

BackgroundScripts

System Memory(DVT Registers)

Page 198: INTELLECT Basico Apostila.1.3

198

Registro

• Considerado uma variável global, pode ser acessadado foreground and background scripts.

• Armazena dados independente das inspeções (ideal para contadores, etc.)

• Espaço do registro dedicado aos protocolos específicos

• Escrita e Leitura:– Byte, Short, Integer, Long, Double, Float, String data types.

Page 199: INTELLECT Basico Apostila.1.3

199

Acesso aos Registros

• Reigistro escrita / Função de leitura– RegisterReadInteger(int RegNum);– RegisterWriteInteger(int RegNum, byte Data);

//script Aint myVar;myVar = 44;RegisterWriteInteger(125, myVar);

//script Bint dataFromA;dataFromA = RegisterReadInteger(125);

Page 200: INTELLECT Basico Apostila.1.3

200

Lembra da Tabela de Tipo de Dados (Data Types)?CH21

Page 201: INTELLECT Basico Apostila.1.3

Slide 200

CH21 New collum which displays the dvt registers usedConner Henry; 12/9/2003

Page 202: INTELLECT Basico Apostila.1.3

201

Cuidado com Registro

• Não escrever uma palavra maior que o registos. O Intellect não trava estes erros!

• Manter-se a par do quantos registos um tipo do valor ocupa :

Page 203: INTELLECT Basico Apostila.1.3

202

Sistema Via Terminal

• Linha de comando terminal (como o DOS) • Comandos básicos:

– Registro pergunta• #Rq<RegNum><Type>

– Ex. #Rq126F

– Registro set – set#Rs<RegNum><Type><Value>

– Ex. #Rs166F802.78

Page 204: INTELLECT Basico Apostila.1.3

203

Características Gerais

• DebugPrint(“String”);– Função criada para ajudar no debugging

process– Envia argumentos string quando esta linha do

código for ativada– Existe uma janela que monitora

especificamente estas saídas

Page 205: INTELLECT Basico Apostila.1.3

204

Exemplo

• int data;• data = RegisterReadInteger(100);

• DebugPrint(“O valor no registro 100 é: “ +RegisterRead(100));

Page 206: INTELLECT Basico Apostila.1.3

205

Criando condições Pass & Fail

• Recordando que a ferramenta script é um SoftSensor, bem como qualquer outra no Intellect .

• Como todo SoftSensor, limites de pass e fail podem ser ajustados para ferramenta.

• Você pode ajustar sensores inativos.Qual o significado do resultado do sensor se ele não é usado no resultado composto para a inspeção?

Page 207: INTELLECT Basico Apostila.1.3

206

• Atribuir ao Resultado um valor de 0 seria equivalente a

Result()

PASS• ie. SoftSensor.Result = 0 or “PASS”

• Atribuir ao Resultado um valor de 1 seria equivalente a Warning

• ie. SoftSensor.Result = 1 or “WARN”

• Atribuir ao resultado um valor negativo seria equivalentea FAIL

• ie. SoftSensor.Result = -1 or “FAIL”

Page 208: INTELLECT Basico Apostila.1.3

207

Result()

• Usar números negativos permite códigos múltiplos da falha– Blob_Gen.Result = -1 (too many blobs)

– Blob_Gen.Result = -2 (not enough blobs)

Page 209: INTELLECT Basico Apostila.1.3

208

Conclusão

• Script é uma ferramenta poderosa.

• Usar scripts pode deixar sua inspeção robusta.

• Flexível para monitorar resultados ou dados de SoftSensors .

Page 210: INTELLECT Basico Apostila.1.3

209

Readers

Page 211: INTELLECT Basico Apostila.1.3

210

Reader SoftSensors

• 1D line sensor

• 1D arc sensor

• 1D rectangle (searching)

• 2D rectangle

• OCR reader

Page 212: INTELLECT Basico Apostila.1.3

211

Tópicos

• Identificação e Rastreabilidade• Métodos de Identificação• Seleção de Códigos• Verificação• Solução de leitura• DM Reader

Page 213: INTELLECT Basico Apostila.1.3

212

Rastreabilidade

• Habilidade de armazenar dados• Específico para peças, datas, lotes• Dados são valiosos

– Controle de inventário, Prevenção, Operaçãode negócios

– Informação de Recall– A prova de erros – certificando-se que é feito

na parte correta

Page 214: INTELLECT Basico Apostila.1.3

213

Identificação

• Reconhece parte original dos códigos– 1D Barcodes– 2D Codes– OCR

Page 215: INTELLECT Basico Apostila.1.3

214

Métodos de Leituras

1D Codes– Leitura simples– Sem correção de erros– Leitura de grandes códigos

• 2D Codes– Códigos menores– Correção de erros no código

• Alpha Numérico (OCR)– Pelo fato de ser caractere a resposta é exatamente o que

vemos no código– Faz análise de cada caractere– Difícil leitura para outras máquinas

Page 216: INTELLECT Basico Apostila.1.3

215

1D Codes

• UPC/EAN• Interleaved 2 of 5• USS-128• USS-39• Codabar• PharmaCode• BC412• PDF417

• RSS-14• Code 93• POSTNET• Micro PDF417• RSS

– Limited, Composite, Expanded

• Planet Code• UPC Composite

Page 217: INTELLECT Basico Apostila.1.3

216

1D Reader – Visão Geral

• Objetivo: Desenhar a ferramenta em torno de um código, selecionar o Autodetect code, e ler o mesmo.

• Treinar o leitor para determinar o tipo de código e orientação nominal.

Page 218: INTELLECT Basico Apostila.1.3

217

1D Reader – Treinando

Treinando:1) Emitir linhas de varredura em varios ângulos e offsets2) Cada linha de varredura busca decoficar a informação

do código3) A primeira string do código informa o tipo de código

Page 219: INTELLECT Basico Apostila.1.3

218

Treinando

Detecção do código– Somente alguns tipos de

código de barras sãodetectados automaticamentedevido as especificações no código

Page 220: INTELLECT Basico Apostila.1.3

219

Pixel Graph

Bom exemplo Imagem do código ruim

Usar % de constraste

Page 221: INTELLECT Basico Apostila.1.3

220

Thresholding

Page 222: INTELLECT Basico Apostila.1.3

221

Locais Diferenciados

• O threshold ajuda a melhorar o constraste da ferramenta com iluminações de pouca intensidade ou < 3 pixel por transição entre claro e escuro o que não é recomendado

Page 223: INTELLECT Basico Apostila.1.3

222

Locais Diferenciados

• Cruzamento de Borda – a intensidade difere por um valor fixo de um min. ou max.

• Localização de Borda – onde a intensidade cruza o ponto médio entre adjacentes min e max.

• Níveis mais elevados de threshold evitarão ruído de bordas falsas.

Page 224: INTELLECT Basico Apostila.1.3

223

Opções para Performance

• Line

– Smoothing – Esta opção calcula uma intensidade média para um cruzamento da borda baseado na largura do Probe Width

– Probe Width – aumenta o número das linhas de varredura usadas no cálculo analisado.

• Retângulo– Scan Density – Ajusta a intensidade das linhas de scan dentro

do retângulo– Max Rotation– Scale Variation

Page 225: INTELLECT Basico Apostila.1.3

224

Analisando o Exemplo

Original Scan Line

Probe 1

Probe 2

Watch out for this

Analisando:- Uma linha de scan pode calcular

a média de intensidade de pixel em colunas vizinhas para reduzir o ruído

Tempo

5501mS with Width = 33mS with Width = 255mS with Width = 505307mS with Width = 7524mS with Width = 310mS with Width = 10041mS with Width = 25

57mS with Width = 5075mS with Width = 7594mS with Width = 100

Resultado: Aprox. 10 milisegundos com a 550

Page 226: INTELLECT Basico Apostila.1.3

225

Opções de Marking

• Para sensor retângulo somente

Page 227: INTELLECT Basico Apostila.1.3

226

2D Data Matrix

• Armazenador de Dados– 6 a 3116 digitos

• Desenhos menores que do códigode barras

• Correção de erro– Com até 50% do código ilegível

• Maior tolerância com iluminação e mudanças de marcação

• Alguns formatos:– Quadrado e retangular– ECC 00, 050, 080,100,140, 200– ECC-200 preferido em novas

aplicações

Page 228: INTELLECT Basico Apostila.1.3

227

Seleção 2D Code

• Tipos de Indústria– DataMatrix Prevalece

• Automotive Industry Action Group (AIAG)• Department of Defense• Aerospace (IAQG)• NASA• Electronics Industry Association (EIA)

– ECC200 para o padrão não especificado

Page 229: INTELLECT Basico Apostila.1.3

228

Menos Sensível a Variação

• Skew• Iluminação• Tamanho

Page 230: INTELLECT Basico Apostila.1.3

229

Fatores Marcantes

• Expectativa de vida• O código pode ser pintado com a mesma cor do fundo

do material• Características de superfície • Volume• Tamanho do Símbolo• Espaço

Page 231: INTELLECT Basico Apostila.1.3

230

Métodos de Marcação

• Laser Marking– Laser queima a superficie– Alta velocidade e qualidade de impressão– Semicon, electronics, packaging, medical

• Micropuncionador– É feito através de marcadores de carbide ou

diamante– Automotive, Aerospace

• Impressão Ink Jet– A tinta deixa as marcas na superficie do objeto– As características de superfície determinam o

permanencia– Alta velocidade, impressão em movimento, ótimo

contraste

• Eletroquimico• Etching (Electro-Chemical )

– Oxida o metal da superficie– Peças Redondas

Page 232: INTELLECT Basico Apostila.1.3

231

Colocação da Marcação

• Superfície lisa

• Área limpa

• Leitura visível

Page 233: INTELLECT Basico Apostila.1.3

232

Código Legível/Classificação da Leitura

• Quiet Zone– Área em torno do código

• Finder Bars– A forma em L é usada

para localizar o símbolo

• “Clocking” Pattern– Alternância de pontos

opostos– Barras de busca

• Data Cells– Informação do código

Page 234: INTELLECT Basico Apostila.1.3

233

Células e Módulos

• O método de marcaçãodetermina a forma e tamanho da célula

• O tamanho mínimo pode ser determinado pela textura de superfície

Page 235: INTELLECT Basico Apostila.1.3

234

Verificação/Classificação

• AIM Standard – A-F Grading – Símbolo decodificado– Contraste– Aumento da cópia– Variação na uniformidade– Não utilizar correção de erro

• Outros parâmetros– Dot Size – Dot Offset

Page 236: INTELLECT Basico Apostila.1.3

235

Leituras Difíceis de Fazer

• Foco mal ajustado• Baixo constraste• Fundo do objeto não está uniforme

Page 237: INTELLECT Basico Apostila.1.3

236

Desafios de Leitura: Impressão

Page 238: INTELLECT Basico Apostila.1.3

237

Desafios de Leitura: Superfície do Objeto

Page 239: INTELLECT Basico Apostila.1.3

238

DVT 2D DataMatrix Reader

• Aprendizagemautomática do símbolo– ECC Type– Square Matrix– Symbol Size– Module type– Mirror

Page 240: INTELLECT Basico Apostila.1.3

239

DataMatrix

ECC000

ECC140

• Tipos de símbolos– ECC200– ECC000

- ECC010- ECC040

– ECC050 - ECC060– ECC080 - ECC070– ECC100 - ECC090– ECC140 - ECC110– ECC000-140 - ECC120– ECC000-200 - ECC130

Page 241: INTELLECT Basico Apostila.1.3

240

Otimização da Ferramenta

• Ajustar o código oudetecção automática– Shape– Code type– Size– Module– Mirror

• Treinar parâmetros

Page 242: INTELLECT Basico Apostila.1.3

241

Parâmetros Avançados

• Max Skew• Rotation• Axial Non-uniformity• Probe Width• Clean Area• Gradient• Size/Scale• Cell Sampling

Page 243: INTELLECT Basico Apostila.1.3

242

DataMatrix Adv. Parameters

• Skew: Inclinar-se a um lado quando o símbolo está em paralelogramo • Border Integrity: Define qualidade máxima da borda em

porcentagem• Quiet zone: É a área livre de pelo menos uma célula que deve ter em

torno do código• Rotation: Limite de rotação min. em relação ao símbolo treinado• Axial Nonuniformity: Ajuste caso o símbolo esteja esticado em um

dos lados• Probe Width: Procura a largura usada pelo 2D Matrix para aumentar

os pontos caso seja necessário• Clean area: Procura eliminar ruídos da área externa do código 2D .• Min Gradient: Aumentar a velocidade acima da inspeção quando o

símbolo não tem o contraste bom e apresenta ruído de fundo

Page 244: INTELLECT Basico Apostila.1.3

243

DataMatrix Parâmetros

• Search Parameters– Symbol size – Aprendizado automático, pode fazer o

ajuste manualmente– Scale: pode mudar a imagem conforme o tamanho

original• Cell Sampling

– Threshold Type: Métodos diferentes para determinaro contraste da célula.

– Sample Size: Procura a área da célula

Page 245: INTELLECT Basico Apostila.1.3

244

DMReader FrontEnd

• Ferramenta amigável• Mostra sempre os resultados na interface• Saidas preconfiguradas

Page 246: INTELLECT Basico Apostila.1.3

245

DVT DMReader

• DataMatrix/Readers

Page 247: INTELLECT Basico Apostila.1.3

246

OCROptical Character Recognition

Page 248: INTELLECT Basico Apostila.1.3

247

OCR

• Lotes• Dados• Número serial• Outras linguas• Impressão em curva

Page 249: INTELLECT Basico Apostila.1.3

248

OCR SoftSensors

• Variedades de thresholds especiais como opção– Computed, linear and non-linear

• Treine seus próprios caracteres• Habilidade de ler a matriz de ponto, segmentada e o

curso (e.g. Japanese) carácteres• Pode ler carácteres em curva pois a ferramenta pode

ser desenhada em arco• Controle de espaço e tamanho de caracteres

Page 250: INTELLECT Basico Apostila.1.3

249

OCR SoftSensors

Para um melhor resultado

• Caracteres devem ser capaz de extrair pelo thresholding• Os caracteres treinados devem conter em todas

imagens• Evitar imagens com fundos texturizados• OCR fontes “amigáveis”

– OCR A, OCR B, Semi– Undecorated, non-serif fonts

• A altura média dos caracteres deve estar entre 20 e 30 pixels

Page 251: INTELLECT Basico Apostila.1.3

250

OCR SoftSensors

• O desenho do OCR SoftSensor necessita

• Extrair os caracteres

• Treinar os caractéres definidos

• Testar leitura do OCR

Page 252: INTELLECT Basico Apostila.1.3

251

OCR SoftSensors

Ajuste• Desenhar e posicionar

– Manter a região da ferramenta nãotão próxima nem muito distante

– O sensor deve manter o ângulo do texto

– Usar ferramentas de posição se necessário

• Extracting– Especifique o tipo de caracteres que

deseja ler, escuro ou claro– Usar Thresholding automático

inicialmente– Certificar-se que os “box” vermelhos

cerquem todos os caracteres

Page 253: INTELLECT Basico Apostila.1.3

252

• Horizontal & Vertical spacing

OCR SoftSensors

Extraction

– Para pontos da matrix que estãodanificados, ou seja, faltandoserve “ligar” o caracterevertical como na horizontal

pixel, tanto na

– Pode ajudar a reduzir os ruídos em volta do caractere

• Definir Character Width/Height quando os caracteresuniformes

não estiverem

• Ajuste o Min Character Area ajuda a reduzir o ruido do fundo da imagem

Page 254: INTELLECT Basico Apostila.1.3

253

OCR SoftSensors

Opções avançadas para Extraction

Page 255: INTELLECT Basico Apostila.1.3

254

• Coloque os caracteres

OCR SoftSensors

Training

que irá

ser

treinar- Aperte ”Train Now”

• Certifique-se que os “boxes”estão verdes

• Fontes treinadas podemusadas em outros produtos– Esta fonte pode ser

encontrada no “Font management”

Page 256: INTELLECT Basico Apostila.1.3

255

• Manager

OCR SoftSensors

Manager

Oferece:- Acesso para adicionar, deletar, exportar e importar font list

- Possibilita ver as informações contidasnos caracterestreinados

Page 257: INTELLECT Basico Apostila.1.3

256

OCR SoftSensors

Matching

• Matching threshold % usado para comparaçãofinal

• Fielding ajuda diminuir o tempo de busca

• Aspect ratio relaciona a cópia com alteração de tamanho

Page 258: INTELLECT Basico Apostila.1.3

257

OCR SoftSensors: TestePass

• Set Warn/Pass criteria– Minimum contrast– Number of characters– Match string

• Teste o resultadoconforme descriçãoacima com sequênciasde imagens

Page 259: INTELLECT Basico Apostila.1.3

258

Conclusão

• Caracteres treinados devem estar repetidos nas próximas imagens

• Evitar imagens com fundos texturizados• OCR fontes “amigáveis”

– OCR A, OCR B, Semi– Undecorated, non-serif fonts

• A altura média dos caracteres deve ser entre 20 e 30 pixels• Use OCV para eliminar leituras erradas• Para caracteres sem leitura, treiná-los novamente ou abaixar “o

parâmetro da porcentagem aceitação”

Page 260: INTELLECT Basico Apostila.1.3

259

Lembre-se

• Obter boa imagem• Determinar o trigger da inspeção e com que

frequência• Escolher o melhor SoftSensor para sua

aplicação particular • Teste sua inspeção e ajuste com diversas

versões do objeto analisado afim de garantirque suas ferramentas não falhem conforme a variação do produto

• Configure os I/O conforme necessário

Resolver uma aplicação