Você está na página 1de 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/303721713

Transformação de Imagens Digitais em Código CNC Aprimoradas com Redes


Neurais Artificiais

Article · January 2015

CITATIONS READS

0 1,272

2 authors, including:

Jader Teixeira
Universidade de Cruz Alta (UNICRUZ)
1 PUBLICATION   0 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Jader Teixeira on 01 June 2016.

The user has requested enhancement of the downloaded file.


Transformação de Imagens Digitais em Código CNC
Aprimoradas com Redes Neurais Artificiais
Jader Teixeira1 , Alex Vinícios Telocken1
1 Universidade de Cruz Alta (UNICRUZ)
jader033139@unicruz.edu.br, telockenalex@unicruz.edu.br

Abstract.
Resumo. O presente trabalho tem como objetivo aprimorar as técnicas de
processamento de imagem, por meio de algoritmos que simulam a inteligência
humana, para posteriormente gerar códigos usados em máquinas CNC 1 . São
apresentados conceitos básicos de técnicas de detecção de borda e de redes
neurais, técnicas necessárias para o processo de transformação além do
conhecimento básico sobre o G-Code2 .
1. Introdução
Atualmente o processo para fazer a cópia de uma peça 2D3 já existente pode
demandar várias horas de trabalho e mão de obra especializada (Gonçalves e Leal,
2006). O presente trabalho tem por objetivo desenvolver um método que permita que
esse processo seja automatizado e que possa ser feito de forma rápida e por uma pessoa
sem conhecimentos de engenharia ou CAD4 .
Existem duas formas para se obter o código CNC: a primeira delas é de forma
manual onde um programador digita todos os comandos que devem ser enviados para a
máquina de corte. Esse processo é lento e é necessário que se tenha conhecimento e
experiência em programação CNC. A segunda forma é através do auxilio de um
software de CAM5 ou CAD e com ele fazer um modelo 2D computadorizado, a partir
desse modelo são gerados os parâmetros de corte, o cálculo das trajetórias e
posteriormente o G-Code. Esse método é mais rápido, porém também exige um
profissional especializado e os softwares de CAM ou CAD são pagos e o custo da sua
licença é alto (Oliveira, 2010).

1 CNC (Comando Numérico Computadorizado)


2 G-Code (Linguagem de programação interpretada pelas maquina CNC)
3 2D (Duas dimensões, eixos X e Y)
4 CAD (do inglês: Computer Aided Design)
5 CAM (do inglês: Computer Aided Manufacturing)
Figura 1 – Processo atual de geração de código CNC (Oliveira, 2010)

Com o presente espera-se obter uma técnica que permita fazer a cópia de uma
peça já existente a partir de uma fotografia, imagem digital ou a criação de uma peça a
partir de um desenho feito em um software de desenho 2D de fácil operação, com isso
aumentar a eficiência e diminuir os custos de produção, pois tal processo não exigiria
profissionais com conhecimentos avançados e o mesmo pode ser feito em menos tempo
do que seguindo os processos atuais.
2. Processamento de Imagens
O processamento de imagens digitais é a área da computação que possui a finalidade da
retirada da informação de uma imagem por meio de técnicas e algoritmos. Nesse
trabalho serão apresentadas técnicas de detecção de bordas, das quais podemos ressaltar:
Roberts, Prewitt e Sobel (Maturana e Silva, 2010).
As técnicas de detecção de borda trabalham analisando os níveis de cinza e para
isso usa dois filtros espaciais lineares, um baseado no gradiente da função da
luminosidade e outro baseado no laplaciano. O operador de Roberts calcula a diferença
entre os níveis de cinza em um ângulo de 45º. O operador de Prewitt calcula níveis de
cinza na horizontal e vertical e suaviza o ruído. E o operador de Sobel é similar ao de
Prewitt, porém com mais peso aos pontos próximos do pixel central e por isso o
operador de Sobel obtém bordas mais grossas do que as obtidas com Prewitt (Maturana
e Silva, 2010).
3. Inteligência Artificial
A inteligência artificial é a área da computação que tem como objetivo criar
modelos computacionais que recriem a inteligência humana, para que os computadores
consigam realizar tarefas em que atualmente os humanos fazem melhor e/ou que esses
sistemas tenham a capacidade de aprendizado (Kovacs, 2006).
No presente trabalho será abordado um ramo da inteligência artificial,
denominada redes neurais artificiais. Uma RNA6 é um modelo computacional onde se

6 RNA (Rede Neural Artificial)


simula o funcionamento do cérebro animal, usando conceitos da neurologia como
neurônios e sinapses. A principal aplicação desses sistemas é no reconhecimento de
padrões (Kovacs, 2006).
Diferente de um computador com arquitetura de Von Neumann, que é
programado a RNA é treinado usando-se exemplos de treino, para reconhecer
determinados padrões e saber o que fazer em cada situação encontrada (Rauber, 2005).
O treino é feito mudando os pesos dos “neurônios” intermediários. O aprendizado pode
ocorrer de duas formas; sendo elas: o aprendizado supervisionado, onde é apresentado
um conjunto que consiste nas entradas e nas saídas desejadas, ou em que para cada
entrada é produzida uma indicação sobre a saída desejada; e o método de aprendizado
não supervisionado, onde a rede atualiza os seus pesos sem o uso de um conjunto de
entradas ou saídas desejadas e sem indicação sobre a adequação das saídas (Rauber,
2005).

Figura 2 - Modelo RNA (esquerda) e modelo von Neumann (direita), adaptado


de (Rauber, 2005)

4. Código CNC
O código CNC é um conjunto de instruções de baixo nível, criado para ser usado
em máquinas industriais, principalmente em tornos, fresadoras e centrais de usinagem.
Para controlar um equipamento CNC é usada uma linguagem chamada G-Code que dá
os comandos e coordena os movimentos da máquina nos eixos X, Y e Z para conseguir
o resultado esperado. Existe uma grande variedade de comandos CNC, dentre eles,
controle de velocidade, rotação, sentido da rotação (Oliveira, 2010).
Figura 3 - Exemplo de G-Code (Oliveira, 2010)

5. Processo de Transformação
O processo de transformação de uma imagem digital em código CNC segue um
algoritmo relativamente simples. O processo se inicia com uma imagem digital da peça
a ser reproduzida, a imagem pode ser proveniente de diversas fontes, como por
exemplo: uma fotografia digital ou de uma imagem feita em um software de desenho
2D.
Essa imagem “bruta” passa pelo processo de detecção de borda que vai
identificar as linhas da peça, se essa borda que foi detectada fosse transformada em G-
Code haveria várias imperfeições provenientes da fase de captura da imagem como:
reflexo, granulação, distorção e seriam somadas as imperfeições da detecção da borda
proveniente das limitações do método, e ainda pode haver imperfeições na peça
original, devido ao desgaste natural do uso. Esse G-Code, geraria uma peça com
diferenças significativas em relação à peça final desejada, e essa peça defeituosa talvez
até fosse inutilizável, por isso após a detecção de borda é necessário utilizar um método
para corrigir essas imperfeições.
No processo atual de detecção de borda utilizam-se técnicas de pós-
processamento para corrigir as imperfeições da imagem e chegar mais próximo do
resultado esperado. Porém esse método possui limitações. Nesse trabalho será utilizado
RNA devido a sua eficiência em detectar padrões, assim identificando qual peça está
sendo processada, analisar como ela é, e corrigir para como ela deveria ser, fazendo isso
sem alterar as dimensões e proporções da peça.
A partir do desenho devidamente corrigido inicia-se o processo de
transformação da imagem em G-Code, para tal, um algoritmo analisa as linhas da
imagem e a partir disso são gerados os parâmetros de corte, o cálculo das trajetórias e
posteriormente o G-Code. Para que tudo funcione corretamente o operador deve inserir
alguns parâmetros manualmente, sendo eles a espessura da peça e a velocidade de corte.
A velocidade de corte deve ser ajustada conforme o material a ser cortado, de forma que
se for muito alta irá danificar a peça e talvez até a ferramenta de corte, e caso a
velocidade de corte seja baixa, o processo vai levar mais tempo que o necessário. Ao
final desse processo o G-Code estará pronto para ser enviado para a máquina de corte
que vai reproduzir a peça conforme os parâmetros a ela informados.
Referencias
Kovacs, Zsolt L. Redes Neurais Artificiais: Fundamentos e Aplicações, (2006). 4ª ed.
São Paulo: Livraria da Física.
Rauber, Thomas Walter (2005). Redes Neurais Artificiais. UFES.
Maturana, Patrícia Salles e Silva e Alexandre César Rodrigues (2010). Estudo
Comparativo da Implementação dos Filtros de Detecção de Borda. INTERTECH.
Liberman, Felipe (1997). Classificação de Imagens Digitais por Textura usando Redes
Neurais. UFRGS.
Maturana, Patrícia Salles (2010). Algoritmos de Detecção de Bordas Implementados em
FPGA. UNESP.
Oliveira, Valter Vander, (2010). Programação em Maquinas CNC. IFSC.
Gonçalves, Ezio Lúcio Zerbone e Leal, Maria da Glória (2006). Inovação no Processo
Produtivo no Segmento Metalmecânico com uso de Tecnologia a CNC (Pesquisa do
Perfil Profissional). COBENGE.

View publication stats

Você também pode gostar