102
CARLOS DE OLIVEIRA AFFONSO REDES NEURAIS APLICADAS EM PROCESSOS DE USINAGEM DA MADEIRA Tese apresentada à Faculdade de Engenharia do Campus de Guaratinguetá, Universidade Estadual Paulista, para a obtenção do título de Doutor em Engenharia Mecânica na área de Materiais. Orientador: Prof. Dr. Marcos Tadeu Tibúrcio Gonçalves Guaratinguetá 2013

ULISSES FRAZÃO DE OLIVEIRA TIBURCIO · Figura 20. Erro em função do número de épocas: processo de usinagem saída Ks1..... 55 Figura 21. Erro em função do número de épocas:

  • Upload
    buihanh

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

CARLOS DE OLIVEIRA AFFONSO

REDES NEURAIS APLICADAS EM PROCESSOS DE USINAGEM DA MADEIRA

Tese apresentada à Faculdade de Engenharia do Campus de Guaratinguetá, Universidade Estadual Paulista, para a obtenção do título de Doutor em Engenharia Mecânica na área de Materiais.

Orientador: Prof. Dr. Marcos Tadeu Tibúrcio Gonçalves

Guaratinguetá 2013

A257r

Affonso, Carlos de Oliveira. Redes neurais aplicadas em processos de usinagem da madeira / Carlos de Oliveira Affonso - Guaratinguetá : [s.n.], 2013. 102 f. : il. Bibliografia: f. 76-81 Tese (doutorado) – Universidade Estadual Paulista, Faculdade de Engenharia de Guaratinguetá, 2013. Orientador: Prof. Dr. Marcos Tadeu Tibúrcio Gonçalves

1.Inteligência artificial 2. Redes neurais (Computação) I. Título

CDU 007.52(043)

DADOS CURRICULARES

CARLOS DE OLIVEIRA AFFONSO

NASCIMENTO 05.03.1971 – Itapeva / SP FILIAÇÃO Célio de Oliveira Affonso Neusa de Oliveira Affonso 1991/1995 Curso de Graduação Bacharel em Engenharia Mecânica USP – Universidade de São Paulo

EESC – Escola de Engenharia de São Carlos 1997/2010 Volkswagen do Brasil

Engenheiro de Produto 2011/2012 Professor Substituto Engenharia Industrial Madeireira

Cálculo Diferencial e Integral e Instalações Elétricas 2011/2013 Doutorado

UNESP – Área de concentração: Materiais

Dedico este trabalho a

Andréia e Gabriel.

AGRADECIMENTOS

Aos meus pais Célio e Neusa que sempre me deram apoio em todas as fases de

minha vida. Ao Prof. Dr. Marcos Tadeu Tibúrcio Gonçalves, pelo seu exemplo de incansável

incentivo, de sugestões e orientações para realização deste trabalho. Aos membros da banca, Prof. Dr. Manoel Cléber de Sampaio Alves, Profa. Dra.

Maria Angélica Martins Costa, Prof. Dr. Gustavo Ventorim, Profa. Dra. Raquel Gonçalves, Prof. Dr. Ivaldo De Domenico Valarelli, Prof. Dr. Marcos Valério Ribeiro, Prof. Dr. Eduardo Carlos Bianchi, Prof. Dr. Francisco Antônio Rocco Lahr, pelo pronto atendimento ao convite.

Ao Prof. Dr. Renato José Sassi pela colaboração e amizade.

Aos docentes e funcionários da Universidade Estadual Paulista campus de

Itapeva, em especial aos Profs. Drs. Elen Aparecida Martins Morales e Antônio Francisco Savi, pelo aconselhamento.

A todos os alunos do programa de mestrado e funcionários do campus de

Itapeva, pelo apoio no desenvolvimento da pesquisa. Aos funcionários da Faculdade de Engenharia de Guaratinguetá, pela

colaboração. Aos meus irmãos Cesar e Célio Affonso e a família de José Maria da Veiga e

Vice, pelo apoio. Aos amigos Fábio Antunes, Ricardo Ferreira, Rubens Ando, Ricardo Kinap,

Maricy e Eduardo Busato, pela amizade. Aos colegas da segunda vara do Fórum de Itapeva, pelas sugestões e

aconselhamento. Aos alunos da FAIT, pela inspiração.

“14Se a construção resistir, o construtor receberá a recompensa.15 Se pegar fogo arcará com os danos. Ele será salvo, porém passando de alguma maneira através do fogo.”

I Epístola de São Paulo aos Coríntios 3,14-15.

AFFONSO, O. C. Redes Neurais Aplicadas em Processos de Usinagem da

Madeira. 2013. 102f. Tese (Doutorado em Engenharia Mecânica) – Faculdade de

Engenharia do Campus de Guaratinguetá, Universidade Estadual Paulista,

Guaratinguetá, 2013.

RESUMO

Para se obter produtos e serviços que atendam ao nível de produtividade exigida pelo

mercado, deve-se otimizar vários fatores determinantes na usinagem da madeira. O

atual objetivo da pesquisa em Inteligência Artificial dedica-se ao desenvolvimento de

sistemas inteligentes flexíveis e auto ajustáveis, com vistas à diminuição da presença

de operadores humanos, de forma que o controle destes processos seja realizado

através de sistemas computacionais. A usinagem da madeira se caracteriza pela ação

de vários agentes, que de forma geral, são muito complexos para serem representados

de forma analítica, adicionalmente as respostas destes sistemas são não-lineares.

Portanto, estas dificuldades na modelagem do processamento da madeira justificam a

utilização de redes neurais como ferramenta para melhoria de processo, e consequente

agregação de valor ao produto final. O objetivo deste trabalho foi utilizar a capacidade

de aprendizagem e a generalização das redes neurais e outras técnicas de inteligência

computacional no processamento de madeira. A metodologia utilizada consistiu em

utilizar redes neurais do tipo Multilayer Perceptrons (MLP) associadas à Lógica Fuzzy

para construção de controlador do processo de usinagem da madeira. Adicionalmente

as redes neurais realizaram uma classificação de imagens com relação aos defeitos

superficiais da madeira. Foi utilizadas bases de dados obtidas através dos processos

reais de usinagem da madeira. Os resultados obtidos foram satisfatórios, o que

confirma que as redes neurais foram uma boa opção para modelagem do

processamento da madeira.

PALAVRAS-CHAVE: Inteligência artificial. Controle.

AFFONSO, O. C. Artificial neural network applied to wood machining process.

2013. 102f. Thesis (Doctorate in Mechanical Engineering) - Faculdade de Engenharia

do Campus de Guaratinguetá, Universidade Estadual Paulista, Guaratinguetá, 2012.

ABSTRACT

In order to obtain products and services to exceed the level of productivity required by

the market, many machining wood factors should be optimized. The current goal of

research in Artificial Intelligence is dedicated to develop intelligent flexible systems,

self-adjusting, to decrease the presence of human operators. The control of these

processes is done through the help of computer systems composed from software and

hardware. The modern industrial processes are characterized by the action of various

agents that are generally too complex to be represented analytically, additionally

answers these systems are non-linear. Therefore, these difficulties in modeling wood

machining process justify the use of Neural Network as a tool for process

improvement and to add value to the final product. Computational Intelligence

techniques such as Neuro-Fuzzy Networks have been proved applicable to this

problem, since they combine the ability to learn from examples and to generalize the

information learned from the neural network with the ability of Fuzzy Logic to turn

variables into linguistic rules. The objective of this work is to use the learning ability

and generalization of neural networks and other techniques of Artificial Intelligence in

machining materials, which have solid non-linear character. The results were

satisfactory, thus confirming the neural networks as an option to be applied to such

problems.

KEYWORDS: Artificial Intelligence. Control.

SUMÁRIO

1. INTRODUÇÃO............................................................................................. 10

2. REVISÃO BIBIOGRÁFICA ....................................................................... 13

2.1 Inteligência artificial ..................................................................................... 13

2.1.1 Redes neurais artificiais ............................................................................... 14

2.1.2 Redes hibridas ............................................................................................... 20

2.1.3 Lógica Fuzzy .................................................................................................. 22

2.1.4 Redes neurais aplicadas ao processo de usinagem .................................... 30

2.1.5 Identificação de defeito na madeira ............................................................ 34

2.2 Usinagem da madeira ................................................................................... 35

3. MATERIAIS E MÉTODOS ........................................................................ 43

3.1 Experimentos realizados .............................................................................. 45

3.2 Usinagem dos metais .................................................................................... 47

3.2.1 Base de dados ................................................................................................ 47

3.2.2 Definição da arquitetura da rede neural .................................................... 50

3.3 Usinagem da madeira ................................................................................... 52

3.3.1 Base de dados ................................................................................................ 53

3.3.2 Definição da arquitetura da rede neural .................................................... 54

3.4 Identificação de defeitos na madeira .......................................................... 57

3.4.1 Base de dados ................................................................................................ 59

3.4.2 Definição da arquitetura da rede neural .................................................... 62

4. RESULTADOS E DISCUSSÃO.................................................................. 63

4.1 Usinagem dos metais .................................................................................... 64

4.1.1 Aprendizado da rede .................................................................................... 64

4.2 Usinagem da madeira ................................................................................... 66

4.2.1 Aprendizado da rede .................................................................................... 66

4.3 Tratamento de imagem ................................................................................ 71

4.3.1 Aprendizado da rede .................................................................................... 73

5. CONCLUSÕES ............................................................................................. 75

REFERÊNCIAS BIBLIOGRÁFICAS ...................................................................... 76

ANEXO A ..................................................................................................................... 81

LISTA DE TABELAS

Tabela 1: Redes neurais aplicadas à usinagem da madeira ...................................................... 45

Tabela 2: Nivel de vibração (aceleração) em função da velocidade de corte vc e velocidade de

avanço vf, (Adaptado de Kazem e Zangala: 2007) ................................................................... 49

Tabela 3: Erros quadráticos médios em função da topologia sugerida .................................... 51

Tabela 4: Valores de Ks1 e 1-Z, obtidos em função do ângulo de saída para as 10 espécies,

(Fonte: Tiburcio e Gonçalves, 2000) ........................................................................................ 53

Tabela 5: Erros quadráticos médios em função da topologia sugerida para Ks1 ...................... 56

Tabela 6: Erros quadráticos médios em função da topologia sugerida para 1-Z ..................... 56

Tabela 7: Base de dados: vetores característico ....................................................................... 61

Tabela 8: Matriz de pesos sinápticos – processo de unsinagem dos metais ............................. 65

Tabela 9: Matriz de pesos sinápticos – saída Ks1 ..................................................................... 67

Tabela 10: Matriz de pesos sinápticos – saída 1-Z ................................................................... 67

Tabela 11: Pressão especifica de corte (Ks1) e coeficiente adimencional (1-Z) para diferentes

espécies ..................................................................................................................................... 68

Tabela 12: Pressão especifica de corte (Ks1) e coeficiente adimencional (1-Z) para diferentes

espécies ..................................................................................................................................... 68

LISTA DE ILUSTRAÇÕES

Figura 1. Representação do neurônio artificial. ........................................................................ 15

Figura 2. Arquitetura básica da MLP ....................................................................................... 18

Figura 3. Superfície de resposta mapeada pela RNF no espaço 3D. ........................................ 21

Figura 4. Rede Neuro Fuzzy (RNF) .......................................................................................... 21

Figura 5. Função de pertinência para a variável linguistica idade............................................ 24

Figura 6. Tipos de Funções de pertinência, (Adaptado de Passino e Yurkovich, 1998) .......... 24

Figura 7. Fatores envolvidos no processo de usinagem, (Tibúrcio, 2009) ............................... 36

Figura 8. Principais ângulos de usinagem (Gonçalves, 2000) .................................................. 37

Figura 9. Forças atuantes no corte: (a) esforços na ferramenta e (b) decomposição da

resultante dos esforços, (Gonçalves, 2000) .............................................................................. 38

Figura 10. Sistemas de corte,(Koch, 1964, apud Gonçalves, 2000) ......................................... 39

Figura 11. Deflexão elástica da serra de fitas em relação ao plano de corte. ........................... 41

Figura 12. Controlador Neuro-Fuzzy para a usinagem da madeira. ......................................... 44

Figura 13. Rede neural atuando no controle do processo de usinagem de metais .................. 47

Figura 14. Processo de usinagem de metais, ( Kazem e Zangala, 2007).................................. 48

Figura 15. Arquitetura da RN para processo de usinagem saída aceleração ............................ 50

Figura 16. Erro em função do número de épocas: processo de usinagem saída aceleração ..... 51

Figura 17. Rede neural atuando no controle do processo de usinagem de madeira ................. 52

Figura 18. Arquitetura da RN para processo de usinagem saída Ks1 ....................................... 54

Figura 19. Arquitetura da RN para processo de usinagem saída 1-Z ....................................... 54

Figura 20. Erro em função do número de épocas: processo de usinagem saída Ks1 ............... 55

Figura 21. Erro em função do número de épocas: processo de usinagem saída 1- Z .............. 55

Figura 22. Diagrama de blocos para reconhecimento de imagem ............................................ 57

Figura 23. Rede neural atuando na classificação visual de defeitos da madeira ...................... 58

Figura 24. Base de dados: padrão de imagem .......................................................................... 59

Figura 25. Informação topográfica da imagem ........................................................................ 60

Figura 26. Vetores caracteristicos das imagens ........................................................................ 60

Figura 27. Arquitetura da rede - processamento de imagem .................................................... 62

Figura 28. Erro da rede em função das épocas - tratamento de imagem .................................. 62

Figura 29. Saída Aceleração: processo de usinagem da metais ............................................... 64

Figura 30. Saída Ks1: processo de usinagem da madeira ......................................................... 66

Figura 31. Saida 1-Z: processo de usinagem da madeira ......................................................... 66

Figura 32. Ks1 em função de �: várias espécies ........................................................................ 69

Figura 33. 1-Z em função de �: várias espécies ........................................................................ 69

Figura 34. 1-Z em função de �: várias espécies ........................................................................ 70

Figura 35. Exemplos de padrão de imagem ............................................................................. 71

Figura 36. Topografia da imagem capturada ............................................................................ 71

Figura 37. Coordenadas do vetor característico ....................................................................... 72

Figura 38. Saida da rede - tratamento de imagem .................................................................... 73

Figura 39. Clusterização do vetor característico ...................................................................... 74

LISTA DE ABREVIATURAS E SIGLAS

ANN - Artificial Neural Network

CA - Controle Adaptativo

CAO - Controle Adaptativo Otimizado

C1... C3 - Camadas de neurônios da rede neural artificial

e - Espessura do corte

Fc - Força principal de corte

Fp - Força de corte paralela

IA - Inteligência Artificial

M - Matriz de pesos sinápticos da camada de saída

MLP - Multilayer Perceptron

MPa - Mega Pascal ( unidade de pressão )

RBF - Radial Basis Function

RNAs - Redes Neurais Artificiais

RS - Rough Sets

vc - Velocidade de corte

vf - Velocidade de avanço

W - Matriz de pesos sinápticos das camadas ocultas

LETRAS GREGAS

� - Rótulo linguístico / ângulo de ataque da ferramenta

� - Ângulo de cunha da ferramenta da ferramenta

� - Ângulo de saída da ferramenta

� - Erro médio absoluto

� - Tensão de ruptura (MPa)

� - Densidade de probabilidade

� - Taxa de aprendizagem

- Tensão de cisalhamento

� - Taxa de cisalhamento

- Volume específico

�A(x) - Função de pertinência do rótulo linguístico A

� - Regra de Inferência

OPERADORES ALGÉBRICOS E VARIÁVEIS

- Determinado elemento pertence a certo conjunto

� - Mínimo ou operador “e”.

� - Máximo ou operador “ou”

�x - Existe um elemento x

� - Implicação lógica

� - Somatório

� - Gradiente

�x - Qualquer elemento x

� - Conjunto vazio

A,B - Conjuntos Fuzzy

A,B - Conjuntos ordinários

c� - Centro da função de pertinência

A � B - O conjunto A contém o conjunto B

A � B - O conjunto A esta contido no conjunto B

A � B - União dos conjuntos A e B

A - Conjunto complementar a A.

S - Norma de Implicação Fuzzy S

�� - Norma de Implicação Fuzzy T

R - Relação Fuzzy

10

1. INTRODUÇÃO

Para se obter produtos a base de madeira que atendam ao nível de produtividade

exigido pelo mercado, deve-se, ainda na fase de planejamento de usinagem, otimizar

vários fatores determinantes na produtividade, como ferramental, material, parâmetros

de usinagem, entre outros.

Estes fatores mostram-se relevantes, uma vez que, além do enfoque econômico

envolvido na busca por materiais que possuam melhor relação de custo-benefício,

existe a preocupação ambiental, com interesse no desenvolvimento de processos que

minimizem o consumo de energia.

Desta forma, para que os critérios de custo e de qualidade sejam atendidos o

especialista humano deve intervir, ajustando os parâmetros envolvidos. Usualmente tal

avaliação é feita através de técnicas tradicionais. Entretanto, surgem problemas

envolvidos quanto avaliação por parte do especialista. Além disso, este processo

consome tempo elevado e está sujeito a erros quanto à repetibilidade e precisão. Pois,

apesar de toda a tecnologia envolvida, seus parâmetros estão mergulhados em

incertezas que dificultam e muitas vezes impedem uma modelagem analítica.

Adicionalmente, a literatura tem apontado como ponto crítico para a perda de

produtividade no processo de usinagem da madeira a necessidade de um controle

visual realizado por operadores humanos.

Desta forma, a pesquisa em manufatura esta direcionada ao desenvolvimento de

sistemas inteligentes flexíveis e auto-ajustáveis, com vistas à diminuição da presença

de operadores humanos, de forma que o controle destes processos seja realizado

através de sistemas computacionais autônomos.

A motivação deste trabalho surgiu do fato de existir vasta literatura sobre

aplicação de redes neurais artificiais, em diversos processos industriais. No entanto,

verificou-se lacuna quanto aplicação de técnicas de IA (Inteligência Artificial), e em

particular RNA’s (Redes Neurais Artificiais), em processos de usinagem da madeira.

Considerando-se as dificuldades apontadas, a aplicação da Lógica Fuzzy

associada às redes neurais é recomendada para aumento do rendimento do processo de

usinagem da madeira, pois por um lado fornece o ferramental matemático necessário

para tratar as incertezas relacionadas ao processo de aquisição de conhecimento junto

11

aos especialistas, ao mesmo tempo em que pode ser implementada sem fazer uso dos

pacotes computacionais comerciais.

Desta forma buscou-se utilizar a capacidade de aprendizagem e generalização das

redes neurais e outras técnicas de Inteligência Artificial para auxiliar no

processamento de usinagem da madeira.

Logo, tomando-se o exemplo das aplicações em outros produtos, buscou-se

responder à questão fundamental: “É possível construir controlador utilizando redes

neurais artificiais para otimização do processo de usinagem da madeira?”. Tal

questionamento é especialmente significativo considerando-se as características

particulares da madeira, como: anisotropia, heterogeneidade e higroscopia.

Portanto, este trabalho desenvolveu um sistema de controle de baixo custo, tanto

do ponto de vista dos equipamentos eletrônicos para coleta de dados, quanto dos

programas computacionais necessários. Assim, objetivo deste trabalho foi a construção

de software para sistemas de controle que utilizam redes neurais como ferramenta para

a otimização de processos de usinagem da madeira.

A metodologia utilizada consistiu em dois níveis:

Inicialmente foi considerado um protótipo em escala laboratorial, onde é

validado o modelo computacional e o sistema de aquisição de dados.

Num segundo estágio este mecanismo de controle deverá ser expandido para um

ambiente industrial madeireiro onde é utilizado como apoio para a avalição do

processo de corte.

Em ambos os caso o enfoque é dado na construção de um sistema de controle de

implementação viável, tanto técnica, quanto financeiramente, para ser aplicado em

plantas industriais madeireiras de médio e pequeno porte.

A estrutura hierárquica de controle é composta por dois níveis:

No primeiro nível o sistema é construido como um sistema em malha aberta.

Constituindo desta forma a base de dados de treinamento da RNA (Rede Neural

Artificial).

Num segundo nível, utilizando-se os pesos sinápticos obtidos pela rede foi

constituído um controlador em malha fechada.

12

O trabalho foi constituído pelas seguintes fases intermediárias:

Primeiramente utilizou o tratamento de imagem realizado por redes neurais

híbridas para classificação de defeitos em madeira.

O segundo enfoque foi criar um mecanismo de inferência para melhoria do

rendimento do processo de usinagem a partir de seus principais parâmetros.

Este trabalho está estruturado em cinco capítulos. Além da introdução, o trabalho

compõe-se das seguintes partes:

Capítulo 2 - É apresentado o estado da arte sobre IA (Inteligência

Artificial), dando-se enfoque as redes neurais artificiais e a Lógica Fuzzy, e finaliza-se

mostrando a aplicação destas técnicas para a usinagem da madeira.

Capítulo 3 - São descritos os materiais e métodos utilizados nos

experimentos computacionais.

Capítulo 4 - São discutidos os resultados encontrados.

Capítulo 5 - Neste capítulo conclui-se o trabalho, sumarizam-se as

contribuições, e apresentam-se as perspectivas para trabalho futuros.

13

2. REVISÃO BIBIOGRÁFICA

Neste capítulo serão revisados os estados da arte referentes aos temas

Inteligência Artificial e usinagem da madeira.

2.1 Inteligência Artificial

Neste capítulo é apresentada a motivação e os princípios que deram origem a IA

(Inteligência Artificial), analisando seus ramos conexionistas e simbólicos.

O objetivo da IA foi inicialmente definido na Conferência de Dartmouth em

1955 por John McCarthy como: “construir máquinas que se comportam como

se possuíssem inteligência”. Portanto a definição de IA enfatiza a capacidade de

aprender para lidar com novas situações.

Uma das questões principais que o estudo da IA se depara é: ”Como funciona o

cérebro humano?”. O presente trabalho não teve como objetivo responder á esta

pergunta, se guer o estado da arte atual é capaz de responder plenamente a este

questionamento.

A fim de definir o termo “agir racionalmente”, em 1950 Allan Turing, criou seu

famoso teste, cujo objetivo foi verificar se é possível criar um algoritmo cujo

comportamento quanto a questões aleatórias seja totalmente compatível com as

respostas dados por um indivíduo humano.

Pode-se verificar que sobre o campo da IA aglutinam-se várias técnicas:

As marcadamente simbólicas como: Lógica Fuzzy, Lógica Predicativa, Busca

Heurística; e as de caráter numérico (ou associativo) como Redes Neurais, Algoritmos

Genéticos, Colônias de Formigas e os Sistemas Híbridos.

Todas estas técnicas possuem em comum a utilização de algoritmos

computacionais, que de alguma forma procuram imitar as capacidades cognitivas

humanas, ou de outros agentes biológicos.

Através do desenvolvimento destas técnicas é possível aproveitar a capacidade

dos computadores modernos para a realização destas tarefas de simulação, uma vez

que, devido a sua alta velocidade de processamento, é possível realizar experimentos

computacionais num tempo viável e a custos acessíveis.

14

Particularmente em relação à matemática aplicada a Ciência dos materiais,

observa-se que os avanços da tecnologia são muitas vezes acompanhados pelo

desenvolvimento de novos materiais. Consequentemente uma tarefa para o futuro

é construir uma ciência dos materiais baseada em algoritmos do ramo da IA.

As disciplinas que fazem parte do campo da IA têm como característica

unificadora o mimetismo biológico, ou seja, a observação da forma como os sistemas

biológicos se comportam e a tentativa de imitar este comportamento na construção de

algoritmos computacionais que possam ser aplicados na resolução de problemas do

cotidiano humano (RUSSELL e NORVIG, 1995).

2.1.1 Redes Neurais Artificiais

Neste item é feita uma revisão aos princípios matemáticos que dão suporte às

Redes Neurais Artificiais, com especial atenção ao processo de aprendizagem. Em

seguida será discutida a Rede Neuro Fuzzy, formada pela associação das Redes

Neurais Artificiais com Lógica Fuzzy.

Além disso, é discutida a forma com que a rede realiza a generalização a partir

dos pesos sinápticos (no caso de redes do tipo Multlayer Perceptron - MLP) ou dos

parâmetros das funções de base radial (no caso das redes Radial Basis Function -

RBF).

As RNAs são modelos inspirados na estrutura do cérebro humano, tendo como

objetivo simular o comportamento humano em processos como: aprendizagem,

associação, generalização e abstração.

Nestas redes, a aprendizagem computacional se dá através de um conjunto de

unidades simples de processamento chamados de neurônios artificiais ou nós.

Importante contribuição das RNAs é sua capacidade de aprender a partir de

dados incompletos e sujeitos a ruídos.

15

Em geral se aceita como o início do estudo sobre RNAs o artigo de Mcculoch e

Pitts (1943), na qual é proposto que com um número suficiente de neurônios artificiais,

é possível representar qualquer expressão matemática.

Na Figura 1 é mostrada uma representação do neurônio artificial.

Figura 1. Representação do neurônio artificial.

Tanto as RNAs quanto a Lógica Fuzzy têm sido intensamente aplicadas em

problemas em diversas áreas, contudo, ambas as técnicas possuem limitações, as quais

podem ser superadas através da utilização de Arquiteturas Híbridas.

As RNFs (Redes Neuro Fuzzy) combinam alguns atributos positivos das RNAs e

da Lógica Fuzzy, possuindo a capacidade de aprender e de se adaptar às necessidades

para a resolução de problemas do mundo real (HALGAMUDE e GLESNER, 1994;

GOMIDE et al., 1998; RESENDE, 2005; RUTKOWSKI, 2008), mostrando-se ideais

para aplicações como identificação, predição, classificação e controle.

Os principais modelos de inferência encontrados na literatura, aplicados as

RNFs são os do tipo Mamdani (MAMDANI e ASSILIAN, 1975), e os do tipo Takagi-

Sugeno (RUTKOWSKI, 2008).

A inferência do tipo Mamdani consiste em conectar os antecedentes e o

consequente das regras usando normas-� (geralmente do tipo mínimo ou produto).

Para o presente estudo foi utilizado o sistema do tipo Mamdani, uma vez que com este

modelo não há necessidade de realizar a defuzzyficação da saída.

yRNA

yReal

16

Uma das primeiras RNAs, cuja arquitetura foi baseada no neurônio biológico,

proposta por Rosemblatt (1958), é o Perceptron. O objetivo desta rede é classificar as

entradas xi (ou estímulos) em duas classes através de um hiperplano.

Para o caso simples de um espaço em duas dimensões, o hiperplano fica reduzido

a uma reta, cuja equação é representada na Equação (1).

�xiwi + w0 = 0 (1)

A ativação do neurônio artificial é realizada através da função de ativação �, que

ativa ou não a saída dependendo da soma ponderada de suas entradas.

De uma forma geral, a aprendizagem das redes Perceptron se dá através dos

ajustes dos pesos sinápticos.

O valor do peso sináptico W(t+1) no instante t+1 será determinado em função do

seu valor na iteração anterior wt, conforme na Equação 2. t

i

t

i

t

i www ����1 (2)

A atualização dos pesos depende do algoritmo, mas geralmente baseia-se na

minimização do erro �i, entre os valores previstos pela rede e as saídas yi desejadas,

conforme Equação (3).

�i = ��(wix)i- yi (3)

Desta forma, o aprendizado (ou generalização) em uma RNA é definido, segundo

Haykin (2001), como o ajuste iterativo dos pesos sinápticos, de forma a minimizar os

erros.

Existem duas formas básicas de aprendizado nas RNAs: aprendizado

supervisionado e aprendizado não-supervisionado.

De acordo com Braga et al. (2000) as RNA’s se caracterizam por aprender

através de exemplos e fazer interpolações.

Desta forma, no aprendizado conexionista não se procura obter regras da forma

simbólica, como ocorre, por exemplo, na Lógica Fuzzy, mas sim se determinar a

intensidade das conexões entre os neurônios.

A um conjunto de algoritmos, que permite um ajuste de seus pesos de modo que

a rede possa aprender através dos exemplos, dá-se o nome de método de aprendizado

(BRAGA et al., 2000).

17

No aprendizado supervisionado, existe conhecimento prévio sobre os valores das

entradas xi e das respectivas saídas yi. A este conjunto de pares ordenados (xi,yi) que se

conhece a priori dá-se o nome de base de dados de aprendizado.

Na aprendizagem não supervisionada (ou auto-supervisionado), não se conhece

os valores das saídas desejadas yi , e a aprendizagem ocorre através da identificação de

padrões nas entradas.

A arquitetura de uma RNA depende do tipo de problema no qual a rede deve ser

utilizada, e é definida, entre outros fatores, pelo número de camadas, número de nós

em cada camada, pelo tipo de conexão entre os nós (feedforward ou feedback) e por

sua topologia (KOVÁCS, 1996).

Minsky e Papert (1969) demonstraram que para alguns problemas (como por

exemplo, o OU-exclusivo) o Perceptron não é capaz de realizar o aprendizado. Em

resposta a este dilema sugiram outros tipos de RNAs mais poderosas do ponto de vista

computacional, que sobrepuseram as limitações do neurônio de Rosemblatt,

destacando-se a Multilayer Perceptron (MLP) e a Radial Basis Function (RBF).

Uma MLP consiste de um conjunto de unidades (nós ou neurônios) que

constituem a camada de entrada, uma ou mais camadas ocultas e uma camada de saída,

onde o sinal de entrada se propaga pela RNA camada por camada.

De acordo com Haykin (2001), um dos algoritmos de treinamento mais usados

nas MLP é o de retro-propragação do erro (error backpropagation) que funciona da

seguinte forma: apresenta-se um padrão à camada de entrada da rede, esse padrão é

processado camada por camada até que a camada de saída forneça a resposta

processada, fMLP, conforme a Equação (4):

��

!""#

$��

!"#

$�%� � �

n m

llljlMLP bbxwxf1

01

0)( �&� (4)

onde vl e wlj são pesos sinápticos; bl0 e b0 são os termos independentes ou biases; e φ a

função de ativação, comumente especificada como sendo uma função sigmoide.

O princípio deste algoritmo para cálculo dos erros nas camadas intermediárias é

o seu cálculo por retroalimentação, possibilitando desta forma o ajuste dos pesos

proporcionalmente aos valores das conexões entre camadas.

18

De acordo com Haykin (2001) a MLP possui as seguintes características:

função de ativação não-linear (sigmoidal), uma ou mais camadas de neurônios ocultos

e um alto grau de conectividade. Na Figura 2 é apresentada a estrutura básica de uma

rede do tipo MLP.

Figura 2. Arquitetura básica da MLP

Uma RNA do tipo MLP treinada com o algoritmo de retro-propagação realiza

mapeamento não-linear de entrada-saída.

De acordo com Haykin (2001) matematicamente uma RNA é um método para

determinar um função f: A→B onde A é um conjunto de dados, sendo que alguns

elementos de B são conhecidos a priori.

A determinação da função f é possível graças ao Teorema de Andrei

Kolmogorov sobre representação e aproximação de funções contínuas.

Qualquer função contínua f(xi)i=1,m , com imagem In = [0;1]m pode ser

representada na forma da Equação (5):

' (mpmi

m

qpppi xhgxf

,1/,1

12

1)()(

��

�� �� � (5)

O Teorema de Kolmogorov estabelece exata representação para uma função

contínua, mas não indica como obter estas funções, e segundo Mitchell (1997) esta

abordagem assemelha-se com o estudo de inferência estatístico não-paramétrico.

19

Em uma RNA (Rede Neural Artificial) do tipo RBF (Radial Base Function) o

processo de aprendizagem é visto como o ajuste de uma curva de alta

dimensionalidade.

Assim, aprender corresponde a encontrar uma superfície, em um espaço

multidimensional, que forneça o melhor ajuste para os dados de aprendizagem.

Na RNA do tipo RBF as unidades ocultas fornecem um conjunto de funções que

constituem base arbitrária para os padrões de entrada, essas funções são chamadas de

funções de base radial.

A RNA do tipo RBF, em sua forma mais básica, envolve três camadas com

papéis totalmente diferentes:

- A camada de entrada, também conhecida como camada sensorial, conecta a

rede ao seu ambiente.

- A camada interna aplica uma transformada não-linear no espaço de entrada,

para um espaço de mais alta dimensionalidade.

- A camada de saída é linear, fornecendo a resposta da rede ao padrão de ativação

aplicada à camada de entrada.

Para a utilização de uma rede RBF é necessária especial atenção quanto ao

número de elementos da base de dados de treinamento.

Quando ocorre correto dimensionamento, diz-se que o problema está “bem

formulado”.

Conforme Haykin (2001) para que isto ocorra é necessário que três condições

sejam atendidas: existência, unicidade e continuidade.

Portanto, o conjunto das possíveis respostas da rede deve ser contínuo

(existência), dado uma entrada a saída deve ser única (unicidade) e finalmente, deve

possuir um erro convergente (continuidade).

20

Na RNA do tipo RBF é utilizada para aproximação das respostas uma

combinação de funções de base radial, para este caso em particular são utilizadas as

funções de Green, as conforme Equações (6) e (7).

��

�m

iii cxGwxF

1),()( (6)

' (

eicx

icxG �2

)())

�) (7)

O algoritmo de aprendizado escolhido para esta aplicação foi o K-médias, de

forma que os pesos sinápticos w, e os centros das funções de base c são recalculados, a

partir dos parâmetros de aprendizagem �1 e �2, de forma minimizar o erro �*�conforme

as Equações (8) e (9).

� )��� )()()()1( 1 ijij cxGnnwnw �� (8)

)()()1( 2 ijkk cxncnc )��� � (9)

2.1.2 Rede Hibrida

Na RNF proposta para este trabalho os parâmetros do processo de usinagem

foram fuzzyficados através de funções de pertinência, conforme será detalhado no

capítulo de metodologia experimental.

Através do mecanismo de inferência estabelecido para o processo de usinagem

da madeira foram determinados os valores das regras de inferência �j que servirão de

entrada para a RNF. As RNFs têm como característica aproximar uma função n-

dimensional que é parcialmente definida pela base de dados de aprendizado.

Através das regras de inferência obtidas a partir da base de dados de

aprendizagem foi construida uma superfície de resposta, a partir da qual se faz

inferências sobre os valores da saída do sistema yi, para valores que não fazem parte da

base de dados de aprendizado, através do critério da distância euclidiana mínima.

21

Na Figura 3 é mostrada uma projeção no espaço em três dimensões 3D da

superfície de resposta mapeada pela RNF.

Figura 3. Superfície de resposta mapeada pela RNF no espaço 3D. Conforme Figura 4, a camada C1 representa os valores crisp de entradas da

rede, e a saída desta camada corresponde aos valores das funções de pertinência.

Na camada C2 a rede é treinada a partir de um conjunto de regras de inferência.

Conforme Resende (2005), os pesos sinápticos da rede (ou os parâmetros das funções

de base) são determinados de forma a se atingir os valores de target y, os quais são os

próprios valores dos parâmetros do processo de usinagem obtidos experimentalmente.

A camada C3 apresenta os valores de saída do sistema, correspondendo aos

valores previstos pela RNF para a superfície de resposta.

Figura 4. Rede Neuro Fuzzy (RNF)

22

Nesta seção os conceitos básicos sobre RNAs foram revisitados focando as

redes do tipo MLP e RBF, e finalmente a RNF.

Na próxima seção serão apresentados os aspectos principais sobre a Lógica

Fuzzy.

2.1.3 Lógica Fuzzy

Segundo Haykin (2007) um sistema de IA possui três componentes

fundamentais: representação, raciocínio e aprendizagem.

A parte da IA que atua principalmente na representação é chamada IA

Simbólica, e corresponde às estruturas de linguagem utilizadas para representar o

conhecimento específico para a solução de um problema.

Os símbolos utilizados nesta estrutura de comunicação devem ser simples e

universais, permitindo seu entendimento pelo usuário humano, tornando-se inclusive

adequados para a comunicação homem-máquina.

O termo conhecimento pode ser considerado no estudo da IA como apenas mais

um termo para dados.

Pode-se considerar raciocínio como a habilidade para resolver problemas

(HAYKIN, 2007), e mais especificamente como um problema de busca. Tomaremos

o aprendizado (de máquina) como a capacidade para se adaptar às novas

circunstâncias e para detectar e extrapolar padrões.

Os conceitos da Lógica Fuzzy podem ser utilizados para traduzir em termos

matemáticos a informação imprecisa, expressa por um conjunto de variáveis

linguísticas.

Os conjuntos Fuzzy serão considerados como uma classe de objetos de variáveis

contínuas. Tais conjuntos são caracterizados por funções de pertinência as quais

assinalam para cada elemento um grau de pertinência com domínio no intervalo [0,1],

conforme preconizado por Zadeh (1965).

Os conceitos da Lógica Fuzzy podem ser utilizados para traduzir em termos

matemáticos a informação imprecisa expressa por um conjunto de variáveis

23

linguísticas. Os conjuntos Fuzzy serão considerados como uma classe de objetos de

variáveis contínuas.

Um conjunto Fuzzy A em um universo X é definido através de uma função de

pertinência, conforme mostram as Equações (10) e (11) a seguir:

]1,0[:)( +XxA� (10)

E representado por um conjunto de pares ordenados:

XxxxA A � }/)({� (11)

Onde �A(x) indica quanto x é compatível com o conjunto, quanto mais próximo

da unidade, maior a “afinidade” do elemento ao conjunto. Deve-se considerar que

embora a função de pertinência aparente-se com uma função de probabilidade, existem

diferenças entre elas.

A seguir um exemplo de função de pertinência (WANG et al. 2009): Considere-

se A como ”velho” e B como “jovem”.

Limitando-se o escopo das idades no intervalo 0 a 100. Ambos A e B são

conjuntos Fuzzy que são definidos respectivamente como nas Equações (12) e (13) que

seguem:

(12)

(13)

Deve-se considerar que a escolha da função de pertinência depende do contexto.

Por exemplo, o conceito de temperatura alta, é claramente diferente para a temperatura

de um forno de indução, do que para a temperatura de um corpo humano febril.

Ainda que considerando um mesmo conceito, a escolha depende do contexto em

que o observador esta inserido.

12

5501

))

��

!""#

$� !

"#$ )

�x

�)(xA�0 caso contrário

10050 ,, xse

12

5251

)

��

!""#

$� !

"#$ )

�x

�)(xB�1 caso contrário

10025 ,, xse

24

Por exemplo, na Figura 5 são apresentados os conjuntos Fuzzy para a variável

linguística criança, jovem e adulto, considerando um intervalo [0;40].

Figura 5. Função de pertinência para a variável linguística idade

As funções de pertinência têm formas variadas, dependendo do conceito que se

deseja expressar, e podem ser definidas a partir das necessidades do usuário, mas é

comum utilizar-se funções de pertinência padronizadas, como por exemplo: funções

triangulares, trapezoidal e gaussiana, ou mesmo através de funções analíticas

(RESENDE, 2005).

Na Figura 6 estão ilustrados alguns exemplos de configuração de funções de

pertinência.

Figura 6. Tipos de Funções de pertinência, (Adaptado de Passino e Yurkovich, 1998)

Assim como ocorre com conjuntos ordinários pode-se definir uma série de

operações e propriedades envolvendo conjuntos Fuzzy.

25

Serão apresentadas as mais relevantes para uma abordagem inicial.

Neste trabalho são utilizados os operadores minimum (min ou �) e maximum

(max ou �).

A união, intersecção e complementar podem ser definidas como as Equações 14,

15 e 16.

' ()(),(min)()()( xxxxx BABABA ����� ���- Xx � (14)

' ()(),(max)()()( xxxxx BABABA ����� ���� Xx � (15)

)(1)( xx AA �� )� Xx � (16)

Pode-se também definir a função de pertinência que mede o grau de verdade da

implicação entre x e y, que podem ser definidas opcionalmente das formas

apresentadas na Equação 17.

. /

. /)();(1max)()(1);(min1)(

xxx

xxx

BABA

BABA

������

)�))�

+

+ (17)

Pode-se também definir as relações; conjunto vazio, igualdade entre conjuntos e

pertinência, também para os conjuntos Fuzzy de forma semelhante a que estes

conceitos são aplicados aos conjuntos clássicos, conforme mostrado nas Equações 18,

19 e 20.

��A se somente se 0)( �xA� Xx � (18)

BA � se somente se )()( xx BA �� � Xx � (19)

BA� se somente se )()( xx BA �� , Xx � (20)

26

Operando com os conjuntos Fuzzy é possível demonstrar algumas relações

importantes, semelhantes àquelas presentes na Teoria dos conjuntos ordinários,

conforme apresentado a seguir:

i. Involução: AA �)(

ii. Idempotência: AAA

AAA

���-

iii. Comutatividade ABBA

ABBA

���-�-

iv. Associatividade )()()()(

CBACBA

CBACBA

�����--�--

v. Distributiva )()()()()()(

CABACBA

CABACBA

�-��-�-�-��-

vi. Absorção ABAA

ABAA

�-���-

)()(

vii. Transitiva se BA � e CACB ���

viii. Lei de De Morgan BABA

BABA

-��

��-

)(

)(

Da mesma forma que para a teoria clássica dos conjuntos, a Lógica Fuzzy

também utiliza os conectivos lógicos “e” e “ou”. Para combinar os conectivos “e” e

“ou”, a Lógica Fuzzy faz uso das normas-� e normas-S respectivamente.

27

Em essência a norma-� é uma função de duas variáveis que será utilizada para

operações algébricas necessárias para operacionalização do mecanismo de inferência.

Uma norma-� é definida com uma transformada de [0,1]x[0,1] em [0,1] que satisfaz a

todas as propriedades a seguir:

i. Comutatividade: ]1,0[,),(),( ���� BAABBA ������

ii. Monotonicidade: BBAABABA e '')','(),( �������� 001�0�

iii. Associatividade: ]1,0[,,)),(,()),,(( ������ CBACBACBA ���������

iv. Condições de contorno: ]1,0[,),1( �� AAB ���

Conforme discutido anteriormente o Mecanismo de Inferência é uma questão

central na modelagem do problema. A forma de construí-lo será apresentada a seguir.

O estabelecimento do mecanismo de inferência que simula um sistema envolve

dois estágios, conforme Carvalho (2008):

- As premissas de todas as regras são comparadas com as entradas para

determinar quais regras se aplicam para determinada situação.

- As conclusões são estabelecidas usando as regras que foram determinadas.

As conclusões são caracterizadas com os conjuntos Fuzzy que representam o grau

de certeza que as variáveis de entrada devem ter.

Conforme definido na Teoria dos Conjuntos uma relação é um subconjunto do

produto cartesiano de dois conjuntos. Entretanto, em casos reais é difícil de

determinar se dois elementos estão relacionados.

Por exemplo, é difícil determinar se um número é “muito maior” que outro, uma

vez que é impossível determinar qual o valor mínimo para a diferença destes números

de tal forma que esta relação seja válida.

De acordo com Wang et al. (2009), se os subconjuntos estão fuzzyficados, a

relação entre eles também está.

Para representar o mecanismo de inferência através dos conjuntos Fuzzy, será

utilizado o conceito de relação Fuzzy, sendo que estas generalizam o conceito de

28

relações presente da Teoria Clássica dos Conjuntos, e representam o grau da

associação entre elementos de dois ou mais conjuntos Fuzzy.

Formalmente, dados dois conjuntos Fuzzy X e Y. Um subconjunto do produto

cartesiano R: X x Y→ [0,1], é chamado relação, para (x,y) (X x Y ), R(x,y) [0,1].

Para conjuntos finitos pode-se escrever a relação R de X para Y, x =

{x1,x2,…,xn}, y = {y1,y2,…,ym}, neste caso escrevendo rij=R(xi,yj) i=1,..,n/j=1,…,m.

Uma variável é frequentemente descrita através de palavras em linguagem

natural, ao invés de números.

Desta forma, o conceito variável linguística tem uma função importante na

representação do conhecimento impreciso humano. A composição de múltiplas

variáveis linguísticas pode constituir uma descrição sistemática do conhecimento

humano em determinada área do conhecimento.

Os valores das variáveis linguísticas podem constituir-se de termos primários

como, “temperatura’, “pressão”, e por termos primários modificados por adjetivos

como “alta”, “moderada”, e por conectivos lógicos “não”, “e” , “ou”.

A Lógica Clássica estabelece que toda a proposição possua um valor

determinístico 1 (verdade) ou 0 (falso).

Entretanto se conceitos Fuzzy estão envolvidos na proposição, os valores de

verdade se tornam Fuzzy. Uma proposição com valor verdade no intervalo [0,1] é

chamada proposição Fuzzy. Existem dois tipos de proposição Fuzzy, as proposições

primárias e as compostas.

Uma proposição primária é “x é A”, onde x é uma variável linguística, e A e o

valor linguístico de x. Uma proposição composta é uma composição de proposições

compostas feitas através de conectivos lógicos.

Neste trabalho, será utilizado o operador sugerido por Mamdani e Assilian

(1975) onde o valor verdade de uma composição �*�a qual serão exatamente as regras

do mecanismo de inferência, será calculado conforme apresentado nas Equações (21) e

(22) a seguir:

))(),((),( yxRTyx ijij

���� (21)

)(...)()()( 22

211

1 nn

nxxj xxxxR ��� ��� ���� (22)

29

Uma relação Fuzzy pode ser expressa linguisticamente através de proposições

semelhantes a: “a temperatura é baixa” ou “a temperatura não é baixa”. Onde “baixa”

representa um rótulo linguístico definido por um número Fuzzy no universo do

discurso da variável linguística “temperatura”.

Neste trabalho, utilizou-se como regra de inferência Fuzzy, o modus ponens

generalizado, que é apresentado conforme a proposição mostrada na Equação (23) a

seguir:

Premissa 1: x é A’

Premissa 2: se x é A então y é B

Consequência: y é B’ (23)

Na Lógica Fuzzy, uma regra será disparada se houver um grau de similaridade

diferente de zero entre a premissa 1 e o antecedente da regra; o resultado será um

consequente com grau de similaridade não nulo em relação ao consequente da regra.

Em geral, o conectivo “e” ou equivalentemente o operador mínimo é usado com

variáveis em diferentes universos, enquanto que o conectivo “ou”, (ou máximo)

conecta valores linguísticos de uma mesma variável, os quais estão no mesmo

universo. Assim, as regras Fuzzy podem ser escritas na forma apresentada pela

Equação (24):

se x = A’ e se x = A � y = B (24)

Onde os antecedentes e o consequente são do tipo variável Crisp, A e B são

conjuntos Fuzzy.

Objetos são normalmente descritos através de agrupamentos no mundo real.

O método matemático no qual estes agrupamentos são realizados é chamado de

classificação.

Tomando X = {x1,x2,…,xn}, como um conjunto de objetos a ser classificados, e

os correspondentes índices de xi são xi1,xi2,...,xim. A questão é classificar x com base

nestes índices. Como se sabe este problema é atacado pela estatística descritiva.

30

As relações Fuzzy fornecem uma solução alternativa, como mostrada a seguir.

Deve-se transformar os índices (xi1,xi2,...,xim) e (xj1,xj2,...,xjm) de xi e xj em um número

único dij o qual reflita o grau de similaridade de xi com xj (WANG; RUAN; KERRE,

2009).

Este processo é conhecido como classificação. Existem várias formas de se

realizar a classificação, entre elas a distância euclidiana, conforme mostrado na

Equação (25);

��

))�m

kjkikij xxcd

11

(25) onde c é uma constante apropriadamente escolhida de forma que dij [0;1].

Esta técnica de classificação pode ser utilizada para identificar em qual classe

determinada regra de inferência deve ser classificada. Esta questão será retomada

quando da discussão sobre a construção da RNF.

Neste item foram apresentados os princípios matemáticos envolvidos no

tratamento da Lógica Fuzzy, como: conjuntos Fuzzy, funções de pertinência, relações

Fuzzy, propriedades dos conjuntos Fuzzy, mecanismo de inferência.

No próximo item será discutida a aplicação de redes neurais especificamente no

processo de usinagem da madeira.

2.1.4 Redes neurais aplicadas ao processo de usinagem

Existe vasta literatura com propostas de implementação de controladores para

sistemas de usinagem por CNC (Comando Numérico Computadorizado). Kazem e

Zangana (2007) descrevem a utilização de rede neural artificial para controle, em

tempo real, do nível de vibração de um processo de usinagem de metais.

Achi (1987) propõe a utilização de um motor de passo microcontrolado para

controle de eixos servo-hidráulicos. Altintas e Peng (1990) sugerem a implementação

de controlador eletrônico de velocidade e da posição da ferramenta na usinagem, entre

outros.

31

Uma das estratégias utilizadas para se construir controladores é fornecer ajustes

dos parâmetros do processo baseados na aquisição de dados realizada através de

transdutores. Tais sistemas são referenciados como Controles Adaptativos (CA).

Apesar de existir vasta bibliografia de aplicação de redes neurais artificiais ao

processo de usinagem de metais, foi identificada lacuna na utilização desta técnica de

inteligência artificial especificamente na usinagem da madeira, apresentando-se, desta

forma, como um potencial a ser explorado.

Atualmente grande parte dos controles adaptativos possuem a função adicional

de maximizar a produtividade, através do correto ajuste de seus parâmetros principais,

dado origem aos Controles Adaptativos Otimizados (CAO).

A maioria dos CAO’s necessita coletar dados experimentais específicos,

utilizados como entradas de um modelo matemático antes de sua implementação

(GROOVER, 1996).

Em comparação com os tradicionais CA, os resultados indicam que a abordagem

com RNA apresenta bom desempenho quanto à eliminação de ruídos e tratamento de

dados não lineares.

Conforme Kazem e Zangana (2007), uma grande vantagem da abordagem

utilizando RNA, é que um esforço computacional intenso é realizado durante o

processo de treinamento, entretanto, uma vez que a rede esteja treinada para uma

tarefa particular, a operacionalização é relativamente rápida e exemplos que não

constam em sua base de dados podem ser facilmente identificados.

Segundo Kazem e Zangala (2007) a vibração é um fenômeno complexo, que caso

esteja fora de controle pode causar desgaste prematuro da ferramenta, má qualidade

superficial. Desta forma, vibrações excessivas podem inclusive danificar as máquinas

de usinagem.

Segundo Groover (1996) existem dois tipos de vibração: vibração forçada - este

tipo de vibração geralmente provocado por alguma força de origem periódica presente

na máquina de usinagem, tais como desbalanceamento dos elementos girantes.

Vibração autoexcitada - ocorre devido ao processo de remoção do cavaco e a estrutura

do centro de usinagem. As vibrações autoexcitadas são em geral de alta frequência.

Conforme discutido anteriormente na revisão bibliográfica sobre Redes Neuro-

32

Fuzzy. Para vários problemas complexos de engenharia, mostra-se vantajoso

utilizarem-se duas técnicas computacionais diferentes, as chamadas técnicas híbridas,

de forma a se obter os pontos fortes de diferentes abordagens e minimizar suas

fraquezas.

Para este tipo de problema entradas devem ser fuzzyficadas de forma a

incrementar a precisão da rede.

Portanto são criadas Redes Neuro Fuzzy – RNF, onde os parâmetros de entradas

foram encolhidos em conjunto com os especialistas humanos, entre as grandezas

físicas que apresentam maior influência no fenômeno de usinagem estudado.

Também com ajuda dos especialistas são construídas funções de pertinência cuja

função é capturar as incertezas envolvidas no processo e transforma-las em valores que

podem ser processados numericamente.

Os parâmetros computacionais da RNF, tais como: quantidade de camadas,

números de neurônios por camada, fator de aprendizagem e critério de corte foram

obtidos através de experimentos computacionais, onde o elemento crítico para a

seleção foi a minimização do erro da rede em função do número de épocas.

Em geral utiliza-se rede do tipo MLP devido ás facilidades para sua

implementação, e a aprendizagem foi off-line.

Conforme é característicos nas RNF off-line a fase de aprendizagem foi realizada

anteriormente ao início do processo de controle efetivo, onde os valores dos pesos

sinápticos são calculados.

De acordo com Kazem e Zangana (2007) existem formas alternativas de se

compor um controlador Neuro-Fuzzy: controle em série, controle paralelo, sistema

autocontrolado e emulador.

As redes, quanto a sua forma de operação, foram classificadas em: controle,

inferência, e classificação.

Redes que operam na inferência são aquelas em que após o aprendizado, os

pesos sinápticos encontrados são utilizados como parâmetros para a determinação de

valores de pares (entrada, saída) que não pertencem à base de dados original, tais

redes são também conhecidas como mecanismo de inferência.

33

Na operação de classificação, também denominada de clusterização, redes

neurais não-supervisionadas mapeiam o espaço de busca do problema de forma que

ocorra um agrupamento (clusterização) de elementos que possuam características

próximas.

Redes utilizadas na operação de controle têm a função de retroalimentar o

sistema, ajustando seus parâmetros de forma que seja alcançado seu ponto ótimo, ou

seja, mantida sua estabilidade.

Em função do grau de complexidade foram selecionadas abordagens diferentes

quanto à configuração das redes, sendo;

As redes puras: MLP (MultLayer Perceptron), RBF (Radial Base Function).

As redes híbridas: Fuzzy-MLP, Fuzzy-MLP não supervisionada.

O critério de escolha quanto ao tipo de rede foi o da simplicidade, ou seja, a

solução mais simples possível que obtenha bons resultados.

No ítem dedicado às redes híbridas, pode-se encontrar a explicação e o

detalhamento matemático para cada um destes tipos de redes. Com exceção das redes

Rough-Fuzzy, as quais, para um aprofundamento, sugere-se o estudo de Sassi et al.

(2007).

Depois de decidir sobre uma determinada categoria de RNA para uma aplicação,

deve-se determinar detalhes específicos sobre a estrutura dos nós (funções de

transferência) e as ligações entre eles.

No geral, não existe uma base teórica para realizar esta tarefa, mas inúmeras

estratégias têm sido propostas.

De uma forma geral uma rede de dimensões adequadas deve exibir:

- Boa "generalização", ou seja, previsão para novos dados, evitando sub e

sobre-montagem.

- Eficiência computacional, buscando-se, uma rede menor, menor os

parâmetros, menos dados, e o menor tempo de processamento.

Para a definição do número de neurônios que apresenta o melhor compromisso

entre desempenho e tempo de processamento foram realizadas simulações iniciais

variando o número de neurônios por camada, o critério para escolha da topologia em

34

geral recai sobre menor erro quadrático médio da fase de teste (RMSE - Root means

square error).

O próximo passo é apresentar a base de dados em um conjunto de vetores da

forma (entrada,saída), separados em dois subgrupos separados aleatoriamente, a base

de aprendizagem (70% do total ) e a base de dados de validação (30%).

Caso o desempenho da rede não seja o esperado, ocorrendo elevado tempo de

processamento ou erros muito altos, aumenta-se o número de camadas intermediárias e

processo continua.

Outrossim, as bases de dados não sejam bem comportadas faz-se necessário

lançar mãos das arquiteturas híbridas. Por este caminho os dados da base são pré-

processados, através de funções de pertinência (veja seção sobre Lógica Fuzzy) que

posteriormente são processadas na RNF (Rede Neuro-Fuzzy).

Como resultado final têm-se os pesos sinápticos da rede, de forma que para

qualquer vetor de entrada é possível fazer um inferência sobre a resposta do sistema.

2.1.5 Identificação de defeito na madeira

Os avanços tecnológicos em imagem e tecnologia de computação aumentaram

consideravelmente a eficiência nas operações de usinagem de madeira.

O tratamento de imagens tem sido usado intensamente no processamento de

madeira, principalmente em relação á classificação de espécies.

Em muitas aplicações, tais como a mobília e produção de painéis de madeira, a

classificação dos tipos de madeira podem fornecer informações relevantes sobre o

aspecto, as propriedades e os procedimentos de preparação dos produtos.

Na maioria dos casos, a classificação do tipo de madeira é feita por operadores

treinados, mas esta solução sofre de desvantagens importantes, desta forma a literatura

apresenta vários trabalhos onde redes neurais são utilizadas no tratamento de imagem

para identificação de defeitos na madeira (PHAM et al.,2006), (HE et al.,1997) e na

determinação de espécies (KHALID,et al.,2008), (TOPALOVA e TZOKEV, 2011),

(LABATI et al., 2009) assim como na análise de fratura de produtos de madeira

(DASSANAYAKE, 2000), (SAMARASINGHE, S.; KULASIRI, D.; JAMIESON, T.

35

2007).

O avanço tecnológico dos últimos anos tornou viáveis os sistemas de controle em

um custo relativamente baixo. Em última análise, um sistema deste tipo irá melhorar

significativamente a utilização de madeiras, melhorando a qualidade de saída do

processo de usinagem e reduzindo o desperdício.

Uma vez que, com auxílio do computador são tomadas decisões no início da

cadeia de produção que oferecem o maior potencial de ganho econômico.

2.2 Usinagem da madeira

Madeira é um material natural e vivo, que desempenha um papel importante na

natureza e no meio ambiente, e a séculos é utilizada como matéria-prima e fonte de

energia a celulose, como pode ser observado pelas vastas obras arquitetônicas que

utilizam este material (GROSSER, 1989).

Devido a várias razões, os materiais lignocelulósicos (madeira) são amplamente

utilizados, ainda nos dias atuais, das quais algumas serão apresentadas a seguir:

- Ela é parte do processo de fabricação de papel e serve de base para vários

processos químicos;

- Devido as suas características individuais é um material muito apreciado como

mobiliário (KALWEIT et al.,2009);

- Pode ser processada com ferramentas simples;

- A energia utilizada para processamento e produção de madeira é mais barata

que para outros tipos de materiais, de acordo com Werner, Zimmer e Lissner (2009).

Nas construções modernas com madeira pode-se observar intensiva pesquisa

para melhoria de seu desempenho, impulsionado por exigências do mercado.

Estas normas estabelecem um novo campo de utilização de materiais à base de

madeira em áreas como instalações industriais, estádios, escolas, igrejas, torres e

pontes (RUG, 2003).

A madeira é um material orgânico, anisotrópico e não homogêneo. Portanto,

suas propriedades físicas somente podem ser compreendidas com a observação de sua

estrutura biológica.

36

As diferentes propriedades mecânicas da madeira são explicadas pelas suas

diferentes composições, embora, possua os mesmo elementos elementares, sendo:

celulose, lignina e hemicelulose.

A configuração porosa da madeira propicia-lhe um comportamento higroscópico,

tornando-a capaz de absorver e liberar umidade. Experimentalmente verifica-se que a

velocidade de troca depende da temperatura, da pressão atmosférica e da umidade

relativa.

Com relação a agentes externos os materiais lignocelulósicos sofrem

decomposição devido ao efeito de intemperismo (raios ultravioleta, chuva, calor/frio,

neve), e ao ataque químico.

Conforme Tibúrcio (2009), o estudo da usinabilidade serve para descobrir as

propriedades de mecanização de um determinado material, definindo-a ainda como a

facilidade de se manipular um material em formas e dimensões definidas com certa

qualidade superficial, por operações de corte. A Figura 7 apresenta a interação entre os

fatores envolvidos num processo de usinagem.

Figura 7. Fatores envolvidos no processo de usinagem, (Tibúrcio, 2009)

Ferramenta: - material; - ângulos; - características; - condições de corte.

Interação

Material: - densidade; - teor de umidade; - defeitos; - abrasividade; - homogeneidade.

Desbaste: - máximo fluxo de

cavacos a mínimo custo, desgaste e potência.

Acabamento: - medição da

qualidade superficial da peça usinada.

- força de corte; - potência elétrica; - desgaste; - fluxo de cavaco.

Qualidade para uso definido

37

De acordo com Woodson e Koch (1970), os seguintes parâmetros são

fundamentais no processo de usinagem da madeira: ângulo de folga �, ângulo de

cunha �, ângulo de saída �, e a espessura de corte h, orientação das fibras em relação

ao corte e afiação da ferramenta de corte, atrito entre o cavaco e a superfície de saída

da ferramenta, vibração lateral.

Esses parâmetros são definidos a seguir:

�: Ângulo de saída da ferramenta de corte - é o ângulo formado entre a superfície

principal de saída da ferramenta (A�) e o plano de referência da ferramenta (Pr).

�: Ângulo de cunha da ferramenta de corte - é o ângulo formado entre as superfícies

principais de saída (A�) e de folga (A�) da ferramenta.

�: Ângulo de folga da ferramenta de corte - é o ângulo formado entre a superfície

principal de folga (Aa) e o plano de corte da ferramenta (Ps).

A Figura 8 mostra os principais ângulos envolvidos no processo de usinagem da

madeira.

Figura 8. Principais ângulos de usinagem (Gonçalves, 2000)

Conforme Gonçalves (2000) as forças que agem em um dente de serra no

serramento contínuo podem ser divididas em dois grupos: forças que atuam no plano

de trabalho e forças que atuam lateralmente ao plano de trabalho.

38

Forças que atuam no Plano de Trabalho:

As pressões exercidas pelo dente sobre a madeira são aplicadas na superfície de

saída. A distribuição dessas pressões é particularmente complexa, sendo elevadas na

proximidade da aresta de corte e, gradativamente menores ao se afastar dessa região.

Esse conjunto de ações descritas pode ser simplificada a uma força normal Fn em

relação à superfície de saída; e por uma força paralela Ff decorrente dos atritos gerados

pelo cavaco sobre a superfície de saída, resultando na força F, conforme demonstrado

na Figura 9.

Figura 9. Forças atuantes no corte: (a) esforços na ferramenta e (b) decomposição da resultante dos esforços, (Gonçalves, 2000)

Conforme Néri (1998), as forças envolvidas no processo de usinagem

determinam o tipo de ferramenta a ser utilizada e as potências da planta de usinagem.

Com efeito, tais forças variam em função da espécie de madeira, direção das

fibras, direção de corte, afiação das ferramentas de corte, e outras variáveis

relacionadas à matéria prima ou a ferramenta.

39

De acordo com Gonçalves (2000), em razão da estrutura ordenada da madeira,

caracterizada por um crescimento orientado das fibras, dos vasos e raios, as

propriedades físicas e mecânicas variam segundo a direção considerada.

Os diferentes modos de cortar não podem ser abordados sem uma definição

prévia do comportamento anisotrópico da madeira.

Existem três direções principais relativas ao corte, padronizadas na literatura

específica, como descrita a seguir:

Direção Longitudinal ou Axial: corte paralelo às fibras (notação 90 - 0);

Direção Radial: corte perpendicular às fibras (notação 0 - 90);

Direção Tangencial: corte perpendicular às fibras (notação 90 - 90).

Os diferentes sistemas de corte da madeira são definidos pela notação de

McKenzie (1961 apud KOCH, 1964), conforme apresentado na Figura 10.

Figura 10. Sistemas de corte,(Koch, 1964, apud Gonçalves, 2000)

O primeiro número da notação, representa o ângulo da aresta de corte em relação

à direção das fibras e o segundo número, corresponde ao ângulo da direção do

movimento em relação à direção das fibras, como especificado a seguir:

40

Corte 90-0: A aresta de corte faz um ângulo de 90º com a direção das fibras e a

direção de movimento 0º com a direção das fibras. Como exemplificação, este sistema

de corte ocorre em operações de serramento circular e de aplainamento de superfícies

na direção longitudinal da madeira.

Corte 0-90: A aresta de corte está paralela à direção das fibras e a direção do

movimento é perpendicular às fibras. Como exemplificação, este sistema de corte

ocorre na operação de torneamento de lâminas de madeira.

Corte 90-90: A aresta de corte e a direção do movimento são perpendiculares à

direção das fibras. Como exemplificação, este sistema de corte ocorre nas operações

do processo de serramento por serra de fita.

De acordo com Gonçalves (2000), os principais parâmetros utilizados na

usinagem da madeira são a velocidade de corte e velocidade de avanço.

Velocidade de corte:

Corresponde à distância percorrida por unidade de tempo, pela aresta de corte

do dente, é diretamente proporcional ao diâmetro e à rotação dos volantes e pode ser

calculada pela Equação (26):

(26)

Sendo:

Velocidade de avanço ou velocidade de alimentação:

Definida como sendo a distância percorrida por unidade de tempo entre a

ferramenta e a madeira. Para operações de desdobro, as velocidades de avanço estão

entre 15 a 100 m/min, dependendo do modelo da máquina.

41

Usualmente empregam-se velocidades de avanço próximas de: 17 m/min para

madeiras de média e alta densidade, 22 m/min para madeiras de baixa densidade,

podendo atingir 35 m/min em função da altura de corte.

A velocidade de avanço pode ser calculada pela Equação (27):

(27)

Sendo:

Outro parâmetro fundamental no processamento da madeira é a deflexão elástica

da serra de fita em relação ao plano de trabalho (plano formado pelos vetores

velocidade de corte e velocidade de avanço), conforme apresentada na Figura 11.

Figura 11. Deflexão elástica da serra de fitas em relação ao plano de corte

Conforme Tibúrcio e Gonçalves (2005), para o cálculo da potência de corte em

42

processos de usinagem da madeira, é necessário o conhecimento dos valores da

pressão específica de corte em função de suas características.

Através dos valores da pressão específica de corte, é possível indicar a geometria

da ferramenta mais adequada, a fim de promover o menor consumo de energia durante

o corte, bem como um bom acabamento da superfície usinada.

A referida adequação é de extrema importância para minimizar o desgaste das

ferramentas de corte e melhorar a qualidade das peças usinadas, condição que vem

sendo almejada continuamente por indústrias do ramo madeireiro.

Para a determinação da força principal de corte foi utilizada a metodologia de

Kienzle (TIBURCIO e GONÇALVES, 2000).

A metodologia proposta, emprega os valores de força principal de corte Pc numa

equação geral, para a determinação da pressão específica de corte para uma seção

transversal de 1mm2 Ks1 e o coeficiente adimensional 1-Z, os quais são tabelados para

cada material, o que resulta na Equação 25 a seguir:

Z

sc hbKP )� 11 .. (25)

Sendo:

KS1 = Constante específica do material 1 - Z = Coeficiente adimensional

Para o presente estudo, Ks1 representa as características e propriedades da

madeira, ou seja: teor de umidade, densidade e direção de corte em relação à direção

das fibras.

O coeficiente adimensional 1-Z, representa parâmetros do processo de usinagem,

tais como: condição de usinagem (Vc), geometria da ferramenta (�) e grandezas de

corte (h, b).

43

3. MATERIAIS E MÉTODOS

Uma vez discutidos nos capítulos anteriores os conceitos fundamentais

relacionados a: usinagem da madeira, Lógica Fuzzy e RNAs; neste capítulo será

apresentada a metodologia experimental empregada na construção das redes neurais.

Os experimentos realizados neste trabalho podem ser divididos em três fases. Na

primeira fase foram coletados dados experimentais em processos de usinagem da

madeira.

Na segunda fase estes dados foram utilizados para construção das funções de

pertinência e regras de inferência Fuzzy, e posteriormente foram inseridos nas Redes

Neuro Fuzzy – RNF.

Neste capítulo foram abordados os critérios utilizados para a construção das

funções de pertinência, enfocando principalmente: centro das funções gaussianas, os

rótulos linguísticos, os desvios-padrão (spread), conforme apresentados.

A seguir são mostrados os algoritmos de aprendizado utilizados na arquitetura

das redes, bem como os detalhes construtivos das RNF do tipo MLP.

A fim de realizar-se a validação dos parâmetros das funções de pertinência,

regras de inferência, número de épocas e taxa de aprendizagem das RNF utilizou-se

uma segunda Base de dados obtida dos trabalhos de Kazem e Zangala (2007).

44

Na fase de aprendizagem a rede utiliza base de dados para identificar o padrão de

comportamento do sistema. Posteriormente, na etapa de generalização, o controlador

construído a partir da rede neural utiliza o conhecimento adquirido para alterar os

parâmetros de entrada de forma a se obter uma determinada saída desejada.

A Figura 12, apresenta diagrama de blocos que representa o funcionamento de

uma rede neural atuando no controle (RN-controlador).

Também será construída uma segunda rede neural que atuará na identificação de

padrão visual de defeitos na madeira (RN-identificação).

Figura 12. Controlador Neuro-Fuzzy para a usinagem da madeira.

Para o trabalho foi utilizado sistema autocontrolado. Neste conceito os

parâmetros de entrada são alterados pelos valores propostos pela RNF (Rede Neuro-

Fuzzy), de tal forma que os valores de saída se aproximem ao máximo de um

determinado valor desejado.

Com efeito, o sistema é ajustado de forma semelhante ao que ocorreria caso um

operador humano, que através de seu conhecimento técnico atua-se sobre o sistema

alterando seus parâmetros de forma a obter a saída desejada.

Portanto, a RNF substitui a ação do operador através do conhecimento obtido

através do ajuste de seus pesos sinápticos.

45

3.1 Experimentos realizados

Para a realização deste trabalho foram realizadas centenas de experimentos

computacionais, onde o resumo é apresentado na Tabela 1. Nesta Tabela esta

sintetizada a metodologia experimental utilizada neste trabalho.

A primeira coluna apresenta as Bases de dados utilizadas nas simulações

computacionais realizadas.

Na segunda coluna discrimina-se a operação realizada pela rede neural. As

redes quanto a sua forma de operação foram classificadas em: controle, inferência, e

classificação.

Redes que operam na inferência, são aquelas em que após o aprendizado, os

pesos sinápticos encontrados são utilizados como parâmetros para a determinação de

pares de valores (entrada,saida) que não pertencem à base de dados original, tais redes

são também conhecidas como mecanismo de inferência.

Na operação de classificação, também denominada de clusterização, redes

neurais não-supervisionadas mapeiam o espaço de busca do problema de forma que

ocorra um agrupamento (clusterização) de elementos que possuam características

próximas.

Redes utilizadas na operação de controle têm a função de retroalimentar o

sistema, ajustando seus parâmetros de forma que seja alcançado seu ponto ótimo ou

seja mantida sua estabilidade.

Tabela 1: Redes neurais aplicadas à usinagem da madeira

Arquitetura Epocas Erro Usinagem RMS Kazem controle Fuzzy MLP MBP 2-6-6-1 1050 0,04998Usinagem Tiburcio Ks inferência MLP MBP / DEV-C 2-8-6-1 14850 0,00999Usinagem Tiburcio 1-Z inferência MLP MBP / DEV-C 2-8-6-1 96921 0,00499Tratamento imagem classificação Fuzzy MLP não-sup. MBP / ImageJ 38-4-1 129 0,00999

Base de dados Operação Tipo de rede SoftwareOtimização

46

O tipo de rede neural utilizada, relacionada na terceira coluna da Tabela 1, foi

escolhida em função do grau de complexidade. Para tanto foram selecionadas

abordagens diferentes, sendo;

As redes puras: MLP, RBF.

As redes híbridas: Fuzzy-MLP, Fuzzy-MLP não supervisionada.

O critério de escolha quanto ao tipo de rede foi o da simplicidade, ou seja, a

solução mais simples possível, contanto que se obtenham bons resultados.

Também foi necessário selecionar o software utilizado nas simulações. A

estratégica desta escolha foi guiada pela busca do melhor compromisso, ou seja,

aquelas que apresentaram o menor erro de aprendizagem.

Nos casos em que a base de dados estava melhor organizada, ou seja, onde não

apresentando dados com baixa dispersão, nestes casos optou-se pelo programa MBP

(Multiple Back Propagation), motivado pela interface amigável aliada a gráficos bem

definidos.

Nos casos em que foi necessária a utilização de arquiteturas híbridas optou-se

pelo compilador Scilab 5.3, uma vez que se tem total controle sobre o código fonte.

Uma vez conhecida a matriz de pesos sinápticos, o caminho mais promissor é

utilizar subrotinas na linguagem c devido à facilidade de implementação.

No tratamento de imagens, fez-se uso do software Imagej para transformar a

informação visual em uma matriz numérica.

Uma vez escolhidos o tipo de rede e o software utilizado, fez-se necessário a

otimização da rede neural, o qual é realizado através dos ajustes dos parâmetros que

compõem a rede, como: número de neurônios, número de camadas e coeficientes de

aprendizagem, além de critérios de parada.

Deve-se observar que, todos os códigos fontes criados neste trabalho estão

disponíveis para consulta no anexo A.

47

3.2 Usinagem dos metais

Utilizando a metodologia proposta por Kazem e Zangala (2007) para controle do

processo de usinagem dos metais, este trabalho definiu uma abordagem semelhante

para a usinagem da madeira. Desta forma esta base de dados de usinagem de metais foi

serviu como validação da rede neural proposta.

Neste caso a rede tem função de controle do processo de usinagem conforme

apresentado na Figura 13.

Figura 13. Rede neural atuando no controle do processo de usinagem de metais 3.2.1 Base de dados

O primeiro passo para construção de uma rede neural é a obtenção de uma base

de dados, para tanto foram tomadas bases experimentais originárias de processos de

usinagem de metais

Esta base foi obtida do trabalho de Kazem e Zangala (2007), onde os parâmetros

de entrada são a velocidade de corte (vc) e a velocidade de avanço (vf) em um processo

de usinagem de metais e como saída o nível médio de aceleração.

48

Para avaliação do nível de vibração são utilizados os valores médios de

aceleração para várias amostras, apresentados na Figura 14 a seguir:

Figura 14. Processo de usinagem de metais, (Kazem e Zangala, 2007)

No trabalho de Kazem e Zangala (2007) Foram realizados testes com 30

amostras, variando a velocidade de corte vc (medida através da rotação do motor), e a

velocidade de avanço vf (medido em mm por revolução) conforme a Tabela 2.

tempo [s]

aceleração [m/s2]

49

Com base nestes experimentos foi construída a seguinte base de dados.

Tabela 2: Nível de vibração (aceleração) em função da velocidade de corte vc e velocidade de avanço vf, (Adaptado de Kazem e Zangala: 2007)

teste Vc Vf aceleração

[rpm] [mm/rev] [mm/s2]

1 540 0,03 4,977 2 540 0,04 4,886 3 540 0,05 4,921 4 540 0,10 5,481 5 540 0,06 4,758 6 260 0,06 3,798 7 260 0,03 5,120 8 260 0,04 5,323 9 260 0,05 5,070

10 260 0,08 5,307 11 370 0,10 5,068 12 370 0,08 4,854 13 370 0,06 4,139 14 370 0,04 4,405 15 370 0,03 4,028 16 125 0,06 3,704 17 125 0,08 3,441 18 125 0,10 3,000 19 125 0,04 3,329 20 125 0,05 3,121 21 180 0,05 3,813 22 180 0,08 3,963 23 180 0,06 2,708 24 180 0,10 3,011 25 180 0,04 2,615 26 180 0,03 2,950 27 85 0,10 2,336 28 85 0,08 2,194 29 85 0,06 2,219 30 85 0,04 2,314

50

3.2.2 Definição da arquitetura da rede neural

Conforme apresentado na Tabela 1, as redes aplicadas a este problema operam

no controle, cujo objetivo é manter ao mínimo o nível de vibração. Para construção

deste controlador, o presente trabalho desenvolveu um programa computacional capaz

de realizar este monitoramento.

Deve-se considerar que a construção da estrutura física deste controle –

hardware faz parte das sugestões para estudos futuros.

A definição da arquitetura da rede foi feita a partir de um número inicial de

neurônios e de camadas intermediárias conforme a Figura 15.

Figura 15. Arquitetura da RN para processo de usinagem saída aceleração

Cada peso sináptico w relaciona uma determinada entrada como o neurônio

correspondente. De uma forma geral, a aprendizagem das redes ocorrerá através dos

ajustes dos pesos sinápticos. O valor do peso sináptico w(t+1) no instante t+1 foi

determinado em função do seu valor na iteração anterior wt, conforme na Equação (2).

A cada iteração ou época o erro entre o valor estimado da rede e o valor real

deve decrescer à medida que os pesos sinápticos são ajustados, conforme a Equação

(3).

Desta forma para que a rede neural realize seu aprendizado, a cada época os

valores dos erros devem decrescer até que alcancem um valor de erro permissível.

No caso da rede em questão o valor estabelecido para este erro mínimo é de 0,05.

Conforme pode ser observado na Figura 16, os valores dos erros diminuem à medida

que aumenta o número de épocas, de forma que a partir da época 1050 o erro passa a

Vc

Vf

Aceleração

Wi

51

ser menor do que o mínimo estabelecido. Lembrando que cada época corresponde a

uma iteração completa do programa.

Figura 16. Erro em função do número de épocas: processo de usinagem saída aceleração

Não existe uma técnica específica para se determinar o número de neurónios

por camada e o número de camadas, desta forma a literatura (HAYKIN, 2009) indica

que se realizem vários experimentos para se determinar a arquitetura com menor erro.

Após os experimentos computacionais, a configuração com melhor resultado foi

com 2 camadas de 6 neurônios, uma vez que apresentou o menor erro na saída,

conforme Tabela 3 que mostra os erros quadráticos médios. Tabela 3: Erros quadráticos médios em função da topologia sugerida

Arquitetura epocas Erro tempos[s]2-4-1 5409 0.04999 282-6-1 2180 0.04999 52-8-1 1714 0.04999 42-4-4-1 3710 0.04999 82-6-6-1 1050 0.04998 3

N. épocas

Erro

52

3.3 Usinagem da Madeira

Este experimento anterior foi realizado para reforçar a validação da rede neural,

de forma a demonstrar que o procedimento pode ser utilizado em bases de dados

diversas.

Na próxima etapa a rede neural também atuará no controle do processo de

usinagem, agora especificamente de madeira, conforme o diagrama apresentado na

Figura 17.

Figura 17. Rede neural atuando no controle do processo de usinagem de madeira

Como base de dados a ser utilizada na fase de aprendizagem da rede foi

utilizados os dados obtidos por Tiburcio e Gonçalves (2000) onde foram avaliadas as

os valores da pressão específica de corte Ks1 para dez espécies de madeira na condição

de umidade seca ao ar para a situação de corte 90-0, para três ângulos de saída � (10º;

17º e 24º).

53

3.3.1 Base de dados

A base de dados utilizada para a fase de aprendizagem da rede apresenta como

valor de saída o valor da pressão específica de corte Ks1, e o parâmetro 1-Z e a entrada

é os ângulo de saída para cada espécie, conforme é apresentada na Tabela 4.

Tabela 4: Valores de Ks1 e 1-Z, obtidos em função do ângulo de saída para as 10 espécies, (Fonte: Tibúrcio e Gonçalves, 2000).

Espécie ���� Ks1 1-Z

PINUS 24º 3,94 0,71

17º 5,08 0,78 10º 5,33 0,75

CEDRO 24º 5,28 0,82 17º 6,55 0,8 10º 7,18 0,81

PINHO 24º 6,68 0,7 17º 7,83 0,82 10º 7,58 0,81

IMBUIA 24º 4,37 0,66 17º 5,24 0,67 10º 6,64 0,81

CASTANHEIRA 24º 5,46 0,83 17º 6,46 0,77 10º 8,59 0,79

EUCALÍPTO 24º 6,83 0,79 17º 7,87 0,75 10º 8,84 0,84

PEROBA 24º 7,35 0,69 17º 10,24 0,74 10º 11,78 0,8

MAÇARANDUBA 24º 7,06 0,69 17º 8,86 0,66 10º 11,44 0,71

ANGICO 24º 9,66 0,8 17º 11,34 0,82 10º 12,29 0,82

IPÊ 24º 6,18 0,68 17º 7,17 0,64 10º 8,5 0,72

54

3.3.2 Definição da arquitetura da rede neural

Da mesma forma como realizado anteriormente, a configuração dos número de

neurônios e de camadas, foi realizado escolhendo-se a arquitetura que apresenta o

menor erro admissível, a qual é apresentada através nas Figuras 18 e 19.

Figura 18. Arquitetura da RN para processo de usinagem saída Ks1

Figura 19. Arquitetura da RN para processo de usinagem saída 1-Z

A partir de um conjunto de valores iniciais de pesos sinápticos, estes foram sendo

ajustados, a cada nova época, na fase de aprendizagem da rede, através das Equações

(2) e (3). Os erros admissíveis escolhidos experimentalmente foram: 0,01 para ks1 e

0,005 para 1-Z.

Espécie

��

Ks1

Espécie

��

1-Z

55

Conforme se pode observar na Figura 20 e 21 este valor de erro especificado foi

alcançado a partir das épocas 14850 e 96921, respectivamente.

Figura 20. Erro em função do número de épocas: processo de usinagem saída Ks1

Figura 21. Erro em função do número de épocas: processo de usinagem saída 1- Z

N. epocas

Erro

N. epocas

Erro

56

As Tabelas 5 e 6 representam a comparação entre os erros encontrados para

cada arquitetura (representada pelo número de neurônios em cada camada), bem como

a quantidade de épocas.

Após os experimentos computacionais, a configuração com melhor resultado foi

com 2 camadas de 8 e 6 neurônios para as saída Ks1 e 1-Z, uma vez que apresentaram

os menores erros na saída.

Tabela 5: Erros quadráticos médios em função da topologia sugerida para Ks1

Arquitetura épocas Erro tempos[s]

2-4-1 não conv 0.00999 8

2-6-1 não conv 0.00999 8

2-8-1 não conv 0.00999 8

2-4-4-1 não conv 0.00999 8 2-8-6-1 14850 0.00999 24

Tabela 6: Erros quadráticos médios em função da topologia sugerida para 1-Z

Arquitetura épocas Erro tempos[s]

2-4-1 não conv 0.00499 8

2-6-1 não conv 0.00499 8

2-8-1 não conv 0.00499 8

2-4-4-1 não conv 0.00499 8

2-8-6-1 96921 0.00499 407

57

3.4 Identificação de defeitos na madeira

As técnicas de processamento de imagem são amplamente utilizadas para a

identificação de defeitos da madeira, na identificação de espécies e na análise de

fratura.

Neste trabalho apresenta-se proposta de software para identificação de padrão de

defeitos que servirá como apoio para o processo de usinagem da madeira.

Nesta etapa do trabalho a rede atua na classificação (clusterização) da madeira

por tipo de defeito, baseando-se em padrão visual do produto após o processo de

usinagem.

Por clusterização entende-se o processo de classificar ou agrupar elementos que

possuam características semelhantes em um mesmo grupo. A Figura 22 mostra o

diagrama de blocos que representa o processo de classificação visual realizado pela

rede neural.

Figura 22. Diagrama de blocos para reconhecimento de imagem

Em linhas gerais estes sistemas de processamento de imagem operam da seguinte

forma;

A primeira etapa após a captação de imagem foi transformação da informação da

forma de pixels em superfícies através do software de livre acesso Imagej.

Na segunda etapa foi criada uma matriz numérica com os valores de intensidade

cromática correspondente a cada pixel. Esta matriz numérica depende das dimensões

do objeto em estudo.

58

Posteriormente foi realizada uma normatização desta matriz numérica, onde é

atribuído um valor unitário para os pixels de máxima intensidade e zero para os de

mínima intensidade.

A partir desta base normatizada foram criados vetores que identifiquem padrões

para cada imagem. Estes padrões foram utilizados como base de dados de treinamento

para um RNA, o qual após seu treinamento foi capaz de identificar o nível de

qualidade superficial do produto acabado, mesmo que seu vetor de características não

pertença à base de dados de treinamento.

Para este caso foi utilizada uma RNA não-supervisionada com o objetivo de

identificação de defeitos.

A rede neural para classificação de imagem (RN de identificação) atua no

processo de controle da planta de usinagem informando se determinado padrão de

qualidade superficial no produto final esta sendo atendido.

De forma que, a classificação realizada por esta rede, serve como entrada para

eventuais ajustes no processo de usinagem realizado pela rede neural de controle (RN-

controle).

A Figura 23 a seguir representa esta etapa do processo.

Figura 23. Rede neural atuando na classificação visual de defeitos da madeira

59

3.4.1 Base de dados

O primeiro passo foi a criação de um banco de dados de imagens que serviu

como referência para o padrão de defeitos. Com este software após o processo de

reconhecimento de padrões verificou-se se a amostra apresenta algum tipo de

problema qualitativo, e procedeu-se a seleção quando necessário.

Na Figura 24 apresenta-se um banco de dados de imagens composto por cortes

radiais em diferentes amostras;

Anel 0

Anel 1

Anel 2

Anel 3

Anel 5

Anel 6

Figura 24. Base de dados: padrão de imagem

Com ajuda do software de livre acesso Imagej as imagens foram convertidas em

informação tridimensional que identifica, com base nos padrões de tonalidade, a

informação topográfica da imagem.

60

Nesta etapa o programa “Imagej” criou malha que representa a topografia da

imagem, onde cada ponto esta associado um conjunto de coordenadas espaciais (x,y,z),

o qual é salvo no formato de arquivo .txt. na Figura 25.

Figura 25. Informação topográfica da imagem

Tomando-se o conjunto de coordenadas construiu-se vetor de atributos v(x1, x2)

que definiu as características da imagem.

Desta forma, para cada imagem tem-se um vetor característico, o prompt do

programa escrito na linguagem “C”, para a determinação do vetor de características da

imagem do tipo 0 e 2,conforme Figura 26.

Figura 26. Vetores característicos das imagens

No presente trabalho a característica escolhida foi à densidade de distribuição de

pontos por tonalidade.

61

No passo seguinte foi realizada uma normatização desta base numérica, de

forma a se atribuir um valor unitário para os pilxels de máxima intensidade zmax =1 e

zero para os de mínima intensidade zmin=0.

Em seguida, todo o espaço topográfico da imagem foi fatiado em intervalos

regulares em função da densidade, e a variável x1 corresponde a quantidade de pontos

da malha dentro deste intervalo de tonalidade, e x2 o diâmetro desta área.

Desta forma, foi possível estabelecer uma base de dados com os respectivos

vetores de características para todas as imagens padrão, conforme a Tabela 7.

Os vetores característicos, definidos anteriormente foram utilizados como base

de dados de treinamento para um RNF, o qual após seu treinamento foi capaz de

identificar a qual padrão de imagem a amostra de avaliação pertencia, mesmo que seu

vetor de características não pertença à base de dados de treinamento.

Tabela 7: Base de dados: vetores característicos

área diam área diam área diam área diam área diam área diam[0.05 - 0.10] 3636 48,1 8 2,3 29 4,3 11 2,6 15 3,1 119 8,7[0.10 - 0.15] 3284 45,7 0 0,0 108 8,3 0 0,0 6 2,0 444 16,8[0.15 - 0.20] 1842 34,3 1 0,8 186 10,9 0 0,0 25 4,0 932 24,4[0.20 - 0.25] 1160 27,2 11 2,6 286 13,5 1 0,1 59 6,1 1254 28,3[0.25 - 0.30] 796 22,5 80 7,1 413 16,2 0 0,0 137 9,3 1759 33,5[0.30 - 0.35] 655 20,4 433 16,6 574 19,1 4 1,6 248 12,6 1937 35,1[0.35 - 0.40] 681 20,8 1390 29,8 749 21,8 67 6,5 319 14,3 2050 36,1[0.40 - 0.45] 549 18,7 3144 44,7 998 25,2 370 15,4 443 16,8 2311 38,4[0.45 - 0.50] 677 20,8 5431 58,8 1278 28,5 1276 28,5 482 17,5 2472 39,7[0.50 - 0.55] 775 22,2 7383 68,6 1585 31,8 3012 43,8 610 19,7 2509 40,0[0.55 - 0.60] 1051 25,9 4516 53,6 2176 37,2 5006 56,5 1039 25,7 2409 39,2[0.60 - 0.65] 1484 30,7 1110 26,6 2653 41,1 5916 61,4 1806 33,9 1950 35,2[0.65 - 0.70] 1999 35,7 235 12,2 2779 42,1 4196 51,7 2878 42,8 1583 31,8[0.70 - 0.75] 2214 37,6 61 6,2 2978 43,6 2580 40,5 3971 50,3 871 23,6[0.75 - 0.80] 1757 33,5 14 3,0 3344 46,2 1140 26,9 5046 56,7 468 17,3[0.80 - 0.85] 967 24,8 2 1,1 2786 42,1 341 14,7 4646 54,4 149 9,7[0.85 - 0.90] 320 14,3 3 1,4 1052 25,9 106 8,2 1950 35,2 40 5,0[0.90 - 0.95] 87 7,4 5 1,8 300 13,8 22 3,7 421 16,4 7 2,1[0.95 - 1.00] 16 3,2 0 0,0 29 4,3 2 1,1 56 6,0 0 0,0

tonalidadeamostra 6amostra 0 amostra 1 amostra 2 amostra 3 amostra 5

62

3.4.2 Definição da arquitetura da rede neural

Da mesma forma como realizado anteriormente, a configuração do número de

neurônios e de camadas, foi realizado escolhendo-se a arquitetura que apresenta o

menor erro admissível.

Uma vez que os tempos de processamento foram próximos de zero, o critério

para escolha da arquitetura foi a simplicidade da rede.

Desta forma a arquitetura da RNF para clusterização de imagem apresentou a 32

neurônios sensoriais e 4 neurônios na camada intermediária, conforme apresentado na

Figura 27.

Figura 27. Arquitetura da rede - processamento de imagem

O erro admissível escolhido experimentalmente para esta rede foi de 0,01.

Conforme se pode observar na Figura 28 este valor de erro especificado foi alcançado

a partir da época 129.

Figura 28. Erro da rede em função das épocas - tratamento de imagem

N. epocas

Erro

63

4. RESULTADOS E DISCUSSÃO

Este capítulo esta dividido em três secções, onde foram apresentados e

discutidos os resultados obtidos a partir das redes neurais construídas, sendo:

- Usinagem dos metais: Saída aceleração.

Trata-se da base de dados proposta no trabalho de Kazem e Zangala (2007), na

qual as entradas são as velocidades de corte e de avanço e a saída é o nível de vibração

medido a partir da aceleração em um centro de usinagem de metais.

- Usinagem da madeira: Saída Força de corte (Ks1 e 1-Z).

Trata-se da base de dados proposta por Tibúrcio e Gonçalves (2000), sendo as

entradas o ângulo de saída, velocidades de corte e tipo de madeira, e as saídas a

pressão especifica de corte Ks1 e o coeficiente adimensional 1-Z.

- Tratamento de imagem.

A partir de uma base de dados de imagem de amostras de madeira, é realizada

classificação do produto final por tipo de defeito.

Para cada um destes casos detalha-se o tratamento da base de dados, e os

resultados obtidos a partir do aprendizado da rede. Finalmente, são discutidos os

resultados.

64

4.1 Usinagem dos metais

A seguir apresenta-se o detalhamento dos resultados obtidos da rede neural

construída a partir da base de dados de Kazem e Zangala (2007).

4.1.1 Aprendizado da rede

Uma forma de se verificar a aderência dos dados é avaliando o valor da saída da

rede e comparar com os valores experimentais da base de dados, uma vez que é

possível realizar comparação visual do comportamento do erro da rede. Na Figura 29,

conforme segue, é possível verificar que houve um boa aderência da rede em relação

ao fenômeno estudado.

Figura 29. Saída Aceleração: processo de usinagem da metais Uma vez que a arquitetura da rede esta definida, e o erro objetivo foi alcançado,

para que se possa utilizar a rede no controle de um processo de usinagem é necessário

conhecer os valores dos pesos sinápticos.

A partir dos valores dos pesos, podem-se fazer previsões sobre a saída do

sistema (fMLP) a partir de um determinada entrada xi, utilizando-se a Equação (4).

Aceleração

Amostra

[m/s2]

65

Para o problema considerado, após 1050 épocas foram encontrados os pesos

sinápticos da RNF conforme apresentado na Tabela 8. Tabela 8: Matriz de pesos sinápticos – processo de usinagem dos metais

para Camada oculta 1 bias n1 n2

n1 1,67 2,24 -1,42n2 2,28 3,97 -7,16n3 -0,77 -7,15 -0,20n4 -0,95 -1,55 -0,60n5 -0,01 1,98 -0,72n6 1,49 11,04 -3,20

para Camada oculta 2 bias n1 n2 n3 n4 n5 n6

n1 0,60 -4,20 -2,03 0,36 1,50 -3,11 -2,97n2 0,63 -0,02 0,48 -1,61 0,08 -0,45 0,15n3 -0,02 1,63 -2,84 -0,94 -1,83 2,68 -1,05n4 -0,79 -1,58 0,50 -0,58 1,25 -1,27 0,41n5 0,70 0,77 -4,13 -1,56 -1,01 1,83 8,98n6 0,40 -0,40 1,41 -4,59 0,77 -1,14 1,40

para Camada saída bias n1 n2 n3 n4 n5 n6

n1 -0,61 -3,08 -0,50 3,44 -1,53 4,13 -3,89

da Camada entrada

da camada oculta 1

da camada oculta 2

Estes valores foram utilizados nos programas mostrados no Anexo A para a

construção do controlador para o processo de usinagem.

Foram utilizadas RNF (Redes Neuro Fuzzy) de forma que as variáveis utilizadas

foram escolhidas por especialistas (humanos) no processo de usinagem da madeira,

dentre aquelas de maior impacto no processo, sendo a velocidade de avanço e a

velocidade de corte, e como resposta do sistema utilizou-se o nível de ruído RMS.

Ainda com apoio dos especialistas foram criadas funções de pertinência, com o

objetivo de tratar as incertezas inerentes ao problema, de forma a possibilitar sua

utilização em processamento numérico.

O programa mostrou-se capaz de realizar o controle do sistema de usinagem, e

como próximos passos sugere-se a construção de modelo físico deste controlador.

Os resultados obtidos em relação as duas RNF propostas permitem demonstrar a

possibilidade de se construir uma RNF capaz de fazer previsões sobre o processamento

de materiais a base de madeira.

66

4.2 Usinagem da madeira

A seguir o detalhamento dos resultados obtidos da rede neural construída a

partir da base de dados de Tibúrcio e Gonçalves (2000).

4.2.1 Aprendizado da rede

A aderência foi avaliada através da comparação da saída da rede e os dados

experimentais, quanto mais próximas as curvas, maior a capacidade da rede de

reproduzir os resultados do sistema real, conforme apresentado nas Figuras 30 e 31.

Figura 30. Saída Ks1: processo de usinagem da madeira

Figura 31. Saída 1-Z: processo de usinagem da madeira

Amostra

Ks1

[daN/mm2]

Amostra

1-Z

67

Pode-se verificar através das Figuras 30 e 31 que a curva que representa os dados

experimentais esta bem próxima daquela prevista pela rede neural.

A partir do momento que o erro admissível é alcançado, acaba a iteração do

programa, e os pesos sinápticos são encontrados, conforme as Tabelas 9 e 10. Tabela 9: Matriz de pesos sinápticos – saída Ks1

para

Camada oculta 1 bias n1 n2n1 -5,85 6,21 0,43n2 -3,08 -6,66 1,07n3 -7,81 -9,53 0,18n4 2,07 3,81 1,61n5 0,47 -12,53 4,16n6 0,15 -8,48 -3,17n7 7,59 -11,55 0,26n8 0,62 -14,73 -7,24

para Camada oculta 2 bias n1 n2 n3 n4 n5 n6 n7 n8

n1 0,55 1,91 0,53 0,47 0,60 -0,07 0,81 -0,03 -1,41n2 1,74 0,65 1,59 -1,61 2,68 0,31 -3,71 -10,91 -0,41n3 -0,53 -4,02 0,88 0,00 -1,88 0,52 -0,75 -1,23 1,51n4 0,48 -4,02 1,12 -1,50 -0,14 -0,46 -3,21 -0,16 2,34n5 -1,18 -2,11 -3,33 0,19 0,31 0,23 -1,68 0,81 -0,27n6 -0,18 5,69 -1,38 3,88 0,64 1,73 1,23 -0,19 -1,11

para Camada saída bias n1 n2 n3 n4 n5 n6

n1 -0,49 -0,93 5,40 5,23 9,53 2,88 -5,97

da camada oculta 2

da camada oculta 1

da Camada entrada

Tabela 10: Matriz de pesos sinápticos – saída 1-Z

para Camada oculta 1 bias n1 n2

n1 -9,13 13,30 2,53n2 -2,00 3,36 -1,94n3 4,37 8,57 7,96n4 4,34 -6,13 2,41n5 7,24 19,70 6,82n6 7,39 16,10 -6,27

para Camada oculta 2 bias n1 n2 n3 n4 n5 n6

n1 0,30 -0,95 8,05 -4,24 -0,01 -2,45 -5,21n2 -4,50 -2,33 -2,32 -3,55 -2,74 10,67 -5,97n3 -0,21 -8,91 -0,89 -0,82 0,35 6,97 -6,32n4 1,34 -79,00 3,46 -11,19 0,42 -7,01 4,36n5 -4,51 9,92 -5,34 0,44 -7,43 -0,52 0,43n6 -0,01 13,19 0,25 -1,94 -8,97 -1,76 2,49

para Camada saída bias n1 n2 n3 n4 n5 n6

n1 -3,13 -9,25 -15,15 7,74 5,14 -13,23 6,33

da Camada entrada

da camada oculta 1

da camada oculta 2

68

Adicionalmente é possível realizar previsões sobre o comportamento dos

parâmetros de usinagem. Desta forma foi avaliadas a variação do ks1 em relação ao

ângulo de saída conforme apresentada nas Tabelas 11 e 12.

Tabela 11: Pressão especifica de corte (Ks1) e coeficiente adimensional (1-Z) para diferentes espécies

� ks 1-z ks 1-z ks 1-z ks 1-z ks 1-z

10 5,444 0,750 7,201 0,810 7,601 0,813 6,684 0,807 8,494 0,79111 5,341 0,757 7,249 0,800 7,676 0,813 6,463 0,811 8,335 0,81012 5,247 0,762 7,257 0,778 7,753 0,814 6,250 0,813 8,167 0,82313 5,162 0,766 7,220 0,760 7,827 0,813 6,044 0,814 7,982 0,83314 5,085 0,770 7,136 0,761 7,891 0,811 5,840 0,816 7,763 0,77315 5,012 0,772 7,004 0,768 7,930 0,808 5,631 0,817 7,478 0,75216 4,941 0,775 6,830 0,779 7,918 0,811 5,402 0,741 7,081 0,76017 4,865 0,780 6,619 0,800 7,806 0,820 5,144 0,670 6,557 0,76518 4,771 0,791 6,384 0,824 7,527 0,736 4,878 0,802 6,024 0,77019 4,642 0,812 6,138 0,804 7,070 0,786 4,674 0,835 5,683 0,77820 4,468 0,827 5,899 0,724 6,631 0,831 4,579 0,833 5,555 0,79321 4,286 0,767 5,679 0,719 6,463 0,837 4,559 0,798 5,511 0,81522 4,168 0,716 5,488 0,732 6,520 0,834 4,554 0,712 5,470 0,83123 4,125 0,711 5,329 0,768 6,626 0,794 4,541 0,672 5,418 0,83524 4,119 0,710 5,193 0,819 6,701 0,700 4,519 0,661 5,357 0,830

PINUS CEDRO PINHO IMBUIA CASTANHEIRA

Tabela 12: Pressão especifica de corte (Ks1) e coeficiente adimensional (1-Z) para diferentes espécies

� ks 1-z ks 1-z ks 1-z ks 1-z ks 1-z

10 8,893 0,838 11,608 0,800 11,612 0,710 12,144 0,820 8,490 0,72011 8,939 0,838 11,631 0,730 10,452 0,653 12,128 0,812 8,380 0,65412 8,989 0,821 11,641 0,720 9,444 0,641 12,107 0,799 8,247 0,64113 9,027 0,763 11,629 0,719 9,098 0,641 12,075 0,764 8,088 0,64014 9,015 0,753 11,571 0,723 9,052 0,643 12,019 0,738 7,938 0,64015 8,876 0,752 11,413 0,728 9,052 0,650 11,911 0,757 7,815 0,64016 8,498 0,755 11,028 0,733 9,013 0,658 11,676 0,793 7,595 0,64017 7,861 0,758 10,203 0,737 8,923 0,663 11,245 0,818 7,214 0,64018 7,241 0,760 9,007 0,739 8,785 0,666 10,771 0,829 6,846 0,64019 6,915 0,763 8,082 0,739 8,604 0,668 10,427 0,833 6,595 0,64120 6,814 0,765 7,640 0,736 8,386 0,670 10,203 0,834 6,438 0,64121 6,797 0,767 7,468 0,729 8,126 0,673 10,044 0,834 6,334 0,64322 6,805 0,770 7,413 0,719 7,819 0,675 9,918 0,830 6,258 0,64623 6,823 0,777 7,407 0,706 7,449 0,677 9,809 0,821 6,198 0,65624 6,845 0,790 7,422 0,690 7,000 0,679 9,710 0,800 6,147 0,681

IPÊEUCALÍPTO PEROBA MAÇARANDUBA ANGICO

69

Na Figura 32 é apresentada a previsão da rede neural para o comportamento da

pressão especifica de corte em função do ângulo de saída para diferentes espécies.

Figura 32. Ks1 em função de �: várias espécies

Nas Figuras 33 e 34 é apresentados os comportamento dos coeficientes

adimensionais 1-Z para diferentes espécies.

Figura 33. 1-Z em função de �: várias espécies

70

Figura 34. 1-Z em função de �: várias espécies

Dos resultados apresentados neste item pode-se concluir que:

As RNFs aplicadas a este processo apresentam capacidade de generalização, uma

vez que identificaram padrões de comportamento, o que possibilita a criação de um

controlador num sistema com alto grau de complexidade.

Uma vez estabelecida superfície de respostas é possível construir controlador

Fuzzy que permita a obtenção de solução otimizada para o sistema.

71

4.3 Tratamento de imagem

Conforme a metodologia proposta por Pham et al. (2006) e discutido

anteriormente no item 3.4, foi construída rede neural cuja função foi classificar

(clusterizar) imagem referente a uma amostra de madeira, e identificar se esta possui

algum tipo de defeito superficial. Isto deve ocorrer de forma autônoma, ou seja, sem o

apoio de um especialista humano. Portanto, é apresentada à rede neural uma imagem

de uma amostra originária do processo de usinagem, conforme exemplificado na

Figura 35.

Figura 35. Exemplos de padrão de imagem

Na etapa seguinte, através das imagens foram criadas superfícies, tomando como

referência a tonalidade dos pixels. A Figura 36 um exemplo da superfície topográfica

criada pelo software Imagej.

Figura 36. Topografia da imagem capturada

Utilizando-se as coordenadas espaciais geradas pelo software Imagej foi gerado

um vetor de atributos v(x1,x2) com as características marcantes da imagem.

72

Na próxima etapa a imagem foi fatiada em intervalos regulares de acordo com a

sua tonalidade, sendo que a tonalidade corresponde à coordenada z da imagem

topográfica.

Em seguida o espaço de resposta foi fatiado em intervalos constantes, onde foram

obtidas as variáveis x1 e x2 correspondendo a quantidade de pontos no intervalo de

tonalidade, e o diâmetro, respectivamente.

Por exemplo, na Figura 37, o software identificou que no intervalo de tonalidade

[0,05 – 0,10] existem 29 pontos.

Portanto, as primeiras coordenadas do vetor característico para esta imagem são

v(x1,x2) = [29; 4,3; 108; 8,3; ...] conforme Figura 37.

Figura 37. Coordenadas do Vetor característico

Conforme discutido no item 3.4, foi construída rede neural utilizando uma base

de dados de imagem, a qual esta representada na Figura 27. Desta forma, a rede neural

aprendeu qual o padrão numérico dos vetores característicos referente a cada tipo de

defeito visual.

Utilizando a capacidade da rede de aprender através de exemplos, esta

identificou qual padrão visual o vetor apresenta-se mais próximo.

73

4.3.1 Aprendizado da rede

Na rede construída para classificação de defeitos da madeira através do

tratamento de imagem, as entradas são os valores do vetor característico para cada

padrão de defeito, e a saída é a sua classificação.

Com efeito, é possível identificar a capacidade de classificação de uma rede

através da avaliação de sua saída. Na Figura 38 esta representada a classificação

proposta pela rede e a classificação real da imagem. Portanto, como pode ser

verificado, que existe boa aderência da rede em relação aos dados experimentais, uma

vez que as linhas estão praticamente sobrepostas.

Figura 38. Saída da rede - tratamento de imagem

Como pode ser observado na Figura 38 ocorreu convergência satisfatória entre a

RNA e a base de dados experimental. Portanto, pode-se concluir que o processo de

aprendizagem foi satisfatório, uma vez que o erro é inferior ao erro admissível,

especificado em 0,01.

Amostra

Classificação

74

Após o critério de corte ter sido alcançado foram encontrados os pesos sináptico

da rede neural.

Para este caso foi utilizada rede não-supervisionada com o objetivo de classificar

(clusterizar) as imagens obtidas. A rede não-supervisionadas corresponde aquelas na

qual o valor de saída corresponde a um padrão de classificação.

Uma vez que a RNA aprenda através da base de dados é possível identificar a

qual grupo a imagem originária do processo de usinagem (ImagemTexte) pertence.

A região circulada mostra o resultado da classificação conforme apresentado na Figura

39.

Figura 39. Clusterização do vetor característico

Importante observar que o vetor de característica da imagem teste não é

exatamente igual ao vetor padrão do tipo 2, entretanto pelo processo de clusterização a

rede neural identifica dentro do espaço de resposta qual o vetor esta mais próximo.

75

5. CONCLUSÕES

Os resultados obtidos em relação às redes neurais propostas permitiram

responder à questão inicial, sobre a possibilidade de se construir modelos matemáticos

capazes de controlar e prever o comportamento de sistemas industriais de

processamento da madeira.

Uma vez que as RNAs aplicadas aos vários processos industriais estudados

apresentaram capacidade de generalização, pois identificaram padrões de

comportamento, o que possibilitou a criação de mecanismos de inferência,

classificadores e controladores, em sistemas com alto grau de complexidade.

Adicionalmente, os resultados obtidos permitiram identificar as melhores

estratégias de processamento, com potencial de otimização da utilização dos recursos

energéticos, assim como melhoria na qualidade do produto final.

Considerando, que um dos pontos fracos da utilização da Lógica Fuzzy para a

modelagem de sistemas complexos é sua dependência em relação ao especialista

humano, pois foi necessário se apoiar no conhecimento do especialista da área para a

construção das funções de pertinência, tornando claro que a geração de conhecimento

confiável foi uma tarefa notoriamente difícil, principalmente quando especialistas não

estão disponíveis.

Entretanto, a combinação de RNA com a Lógica Fuzzy tornou possível transpor

as duas principais dificuldades encontradas: extrair conhecimento de especialistas, e as

bases de dados com um número restrito de exemplos.

A abordagem do tratamento de imagens abre várias perspectivas de trabalhos

futuros, focando no desenvolvimento de sistemas completos incluindo software e

hardware com aplicabilidade na indústria da madeira.

Tal iniciativa pode aflorar em sistemas de escaneamento a baixo custo, tornando

viável sua aplicação para o médio industrial da área. Observa-se ainda, que há uma

clara demanda por Arquiteturas Híbridas para atuação em várias áreas do

conhecimento. Este cenário oferece, portanto, amplo espaço para trabalhos de

continuidade.

76

REFERÊNCIAS BIBLIOGRÁFICAS

ACHI, P. U. A low-cost computer numerical control machine system using LSI interfaces. IEEE Transations on on industrial electronics, vol. 34, no.1, 1987. AFFONSO, C. e SASSI, R.J. A Rough-Neuro Fuzzy Network Applied to Polymer Processing. Proceedings of 2nd International Conference on Software Engineering and Data Mining SEDM 2010 IEEE Conference, p. 355-361, Cheng du-China, 2010. BRAGA, A. P; LUDEMIR T. B.;CARVALHO, A. C. P. L. F. Redes Neurais Artificiais: Teoria e Aplicações. LTC, 2000. ALTINTAS, Y.; PENG, J. Design and analysis of a modular CNC system. Computer and Industry. vol.13, p. 305-316, 1990 ALTINTAS, Y. ALTINTAS, Y.; Manufactoring Automation. Cambridige Press, 2000. BLAZADONAKIS, E.; MICHALIS, Z. Support Vector Machines and Neural Networks as Marker Selectors in Cancer Gene Analysis. Intelligent Techniques and Tools for Novel System Architectures. Berlin, Heidelberg: Springer-Verlag Berlin Heidelberg, p. 237-258, 2008. CARVALHO, L. M. F. A neuro-fuzzy system to support in the diagnostic of epileptic events using different fuzzy arithmetical operations. Neuropsiquiatria, p.179-183, 2008. DASSANAYAKE, D. Software project on fracture dynamics of wood and artificial neural network model for prediction of fracture toughness. A thesis submitted in partial fulfilment of the requirements for the degree of Master of Applied Science at Lincoln University, 2000. ER, M. J.; ZHOU, Y. Dynamically Self-generated Fuzzy Neural Networks with Industry Applications. Soft Computing Applications in Industry, Springer-Verlag Berlin Heidelberg, p. 47-68, 2008. FERREIRA, R.P.; AFFONSO, C.; SASSI, R. J. Dynamic routing combined to forecast the behavior of traffic in the city of São Paulo using Neuro Fuzzy Network. Stochastic Modeling Techniques and Data Analysis International Conference, 2010, Chania Crete. GOMIDE, F.; FIGUEIREDO, M.; PEDRYCZ, W. A neural Fuzzy network: Structure and learning, Fuzzy Logic and Its Applications. Information Sciences and Intelligent Systems, Bien, Z. and Min, K., Kluwer Academic Publishers, Netherlands, p. 177-186, 1998.

77

GONÇALVES, M.T.T. Processamento da Madeira. 1.ed. Bauru: Document Center Xerox – USC, p. 242, 2000. GROOVER, M. P. Fundamental of modern manufacturing process. Prentice Hall International Inc, 1996. GROSSER, D. Einheimische Nutzhölzer und ihre Verwendungsmöglichkeiten.

Info Holz/ EGH-Bericht, 1989.

HALGAMUDE, S.K.; GLESNER, M. Neural networks in designing Fuzzy systems for real world applications. Fuzzy Sets and Systems 65, 1994. HAYKIN, S. Neural Networks: A Comprehensive Foundation. New York: Willey & Sons, 2001. HE, W.; ZHANG, F.Y.; LIU, T.I. Development of a Fuzzy-Neuro System for Parameter Resetting of injection Molding. Journal of Manufacturing Science and Engineering. vol. 123, p. 110-118, 2001. HE, J. A. Comparison of Artificial Neural Network Classifiers for Analysis of CT Images for the Inspection of Hardwood Logs. Thesis submitted to the Faculty of the Bradley Department of Electrical and Computer Engineering of Virginia,1997. HEBB, D.O. The Organization of Behavior: Neuropsychological Theory. N. Y.:Willey 1949. HERRERA, P.J.; PAJARES, G.; GUIJARRO, M; RUZ, J.J.; CRUZ, J.M.; Choquet Fuzzy Integral Applied to Stereovision Matching for Fish-Eye Lenses in Forest Analysis. W. Yu and E.N. Sanchez (Eds.): Advances in Computational Intell., AISC 61, p. 179-187. springerlink.com © Springer-Verlag Berlin Heidelberg, 2009. KALWEIT, A; PAUL, C; PETERS, S ; WALLBAUM, R. Hölzer Handbuch für Technisches Produktdesign - Material und Fertigung Entscheidungsgrundlagen für Designer und Ingenieure. S. 151 - 188. - Berlin, Heidelberg : Springer-Verlag Berlin Heidelberg, 2009. KAZEM, B. I.; ZANGANA, N. F. H. A Neaural Network Based Real Time Controller for Turning Process. Jordan Journal of Mechanical and Industrial Engineering, p. 43-55,2007. KHALID, M.; LEE, E. L.; YUSOF, R.; and NADARAJ, M. Design of an intelligent wood species Recognition system. IJSSST, Vol. 9, No. 3,p. 9-19, 2008.

78

KOCH, P. Wood Machining Processes. New York: Ronald Press Company, p. 530, 1964. KOVÁCS, Z. L. Redes Neurais Artificiais: Fundamentos e Aplicações. Ed. Collegium Cognitio, 1996. LUCIMAR, M.F. C.; NASSAR, S.M.; AZEVEDO, F.M. Um sistema neuro-difuso para auxiliar no diagnóstico de eventos epilépticos e eventos não epilépticos utilizando diferentes operações aritméticas difusas. Arq. Neuro-Psiquiatr., vol. 66, n. 2a, p. 179-183, 2008. MAMDANI, E.H.; ASSILIAN, S. An experiment in linguistic synthesis with a fuzzy logic controller. Int. J. Man Mach. Studies vol. 7, p. 1-13, 1975. NÉRI, A. C. Medidas de forças de corte na madeira de eucalipto. Campinas, 1998. Dissertação (Mestrado em Engenharia Agrícula) – Faculdade de Engenharia Agricola da Universidade Estadual de Campinas. LABATI, R. D.; GAMASSI, M. and PIURI V. A Low-cost Neural-based Approach for Wood Types Classification. CIMSA 2009 - International Conference on Computational Intelligence for Measurement Systems and Applications Hong Kong, China. p. , 2009 MCCULOCH, W. S.; PITTS, W. H. A logical calculus of the ideas immanent in nervous activity. Bulletin of mathematical biophysics, vol. 5, p. 115-133, 1943. MINSKY, M. L.; PAPERT, S.A. Perceptrons: An Introduction to Computational Geometry. expanded edition, Cambridge, MA: MIT Press, 1969. MITCHELL, T. Machine Learning. McGraw-Hill, 1997. PHAM, D. T.;J. SOROKA A.J; GHANBARZADEH, A.; KOC, E.; Optimising Neural Networks for Identification of Wood Defects Using the Bees Algorithm. IEEE International Conference on Industrial Informatics, p. 1346-1351,2006. PASSINO, K.M.; YURKOVICH, S. Fuzzy Control. Addison Wesley Longman, Inc. 1998. RESENDE, S. O. Sistemas Inteligentes: Fundamentos e Aplicações. Ed. Malone, 2005. ROSENBLATT, M. The Perceptron: A probabilistic model for information storage and organization in the Brain. Psychological review, vol. 65, n.6, p. 386-408, 1958.

79

RUG, W. 100 Jahre Holzbau und Holzbauforschung. In: 100 Jahre Bund Deutscher Zimmermeister, Berlin, 2003. RUSSEL, B. Introdução a Filosofia matemática. tradução Maria L. X. A. Borges, Ed Jorge Zahar, Rio de Janeiro, 2007. RUSSELL, S. e NORVIG, P. Artificial Inteligence: A modern approach. Prentice Hall, Inc., 1995. RUTKOWSKI, L. Computational Intelligence – Methods and Techniques. Berlin, Heidelberg: Springer, 2008. SALAZAR P. A.; MELIN, P.; CASTILLO, O. A New Biometric Recognition Technique Based on Hand Geometry and Voice Using Neural Networks and Fuzzy Logic. Soft Computing for Hybrid Intelligent Systems. Springer-Verlag Berlin Heidelberg 2008. SAMARASINGHE, S.; KULASIRI, D.; AND JAMIESON, T.; Neural Networks for Predicting Fracture Toughness of Individual Wood Samples. Silva Fennica 41(1), p. 105–122, 2007. SANG-MOOK LEEA, A.; LYNN ABBOTTA; PHILIP A. ARAMANB; DANIEL L. SCHMOLDTC. A Prototype Scanning System for Optimal Edging and Trimming of Rough Hardwood Lumber. Proceedings of Scan Tech 2003 International Conference, Seattle, Washington, U.S.A. SASSI, R. J.; SILVA, L.A.; HERNANDEZ, E.D.M. A Hybrid Architecture for the Knowledge Discovery in Databases: Rough Sets Theory and Artificial Neural Nets Self-Organizing Maps. Proceedings e Abstracts 4th International Conference on Information Systems and Technology Management, 2007. vol. 1, p. 1149-1177. TIBURCIO, U. F. O. Medição e análise do acabamento superficial da madeira de eucalipto na usinagem de torneamento cilíndrico e lixamento. Bauru, 2009. Tese (Doutorado em Engenharia Mecânica na área de Materiais) – Faculdade de Engenharia de Bauru da Universidade Estadual de Paulista. TIBURCIO, U. F. O. e GONÇALVES, M. T. T. Aplicação do método de “kienzle” em experimentos de usinagem da madeira para determinação da pressão Específica de corte. Bauru. 2000. TOPALOVA, I; TZOKEV, A. Modular Structure of Neural Networks for Classification of Wooden Surfaces with PLC Industrial Implementation. ICAS 2011: The Seventh International Conference on Autonomic and Autonomous Systems, p.13-17, 2011.

80

WANG, X.; RUAN, D.; KERRE, E. Mathmatics of Fuzzzyness. Berlin, Heidelberg : Springer-Verlag Berlin Heidelberg, 2009. WOODSON, G. E.; Koch, P. Tool forces and chip formation in orthogonal cutting of loblolly pine. Department of Agriculture-Forest Service research paper SO-52, 1970. WERNER, G; ZIMMER, K; LISSNER, K. Holzbau 1 - Grundlagen DIN 1052 (neu 2008) und Eurocode 5 / Berlin, Heidelberg : Springer-Verlag Berlin Heidelberg, 2009. WUSSING, H. 6000 Jahre mathematik. Springer 2008. ZADEH, L.A. Fuzzy Sets, Information and Control, vol. 8. p. 338-353, 1965.

81

ANEXO A

A seguir são apresentados os programas computacionais utilizado no

desenvolvimento deste trabalho.

Programa para modelamento da usinagem da madeira

Código fonte (SCILAB versão 5.1.1) // Multlayer Perceptron (backpropagatin com gradiente decrescente) // Usando as funcoes internas do Scilab // Autores: Carlos Affonso;Renato Sassi; Ricardo Ferreira // Data: 05/10/2010 clear; clc; //===================================================================== // Dados de entrada //===================================================================== dados=dados' alvos=alvos' // Número de nós da camada de saída No=1 // Dimensão dos dados de entrada [LinD,ColD] = size(dados); //==================================================================== // Embaralha vetores de entrada e saidas desejadas // Normaliza componentes para media zero e variancia unitaria mi = mean(dados,2); // Media das ao longo das colunas di = stdev(dados,2); // desvio-padrao das colunas for j = 1:ColD dados(:,j) = (dados(:,j)-mi)./di; end; Dn = dados; // Define tamanho dos conjuntos de treinamento/teste (hold out) ptrn = 0.8; // Porcentagem usada para treino ptst = 1-ptrn; // Porcentagem usada para teste J = floor(ptrn*ColD);

82

// Vetores para treinamento e saidas desejadas correspondentes P = Dn(:,1:J); T1 = alvos(:,1:J); [lP,cP] = size(P); // Tamanho da matriz de vetores de treinamento // Vetores para teste e saidas desejadas correspondentes Q = Dn(:,J+1:$); T2 = alvos(:,J+1:$); [lQ,cQ] = size(Q); // Tamanho da matriz de vetores de teste // DEFINE ARQUITETURA DA REDE //=========================== Ne = 500; // No. de epocas de treinamento Nr = 1; // No. de rodadas de treinamento/teste Nh = 8; // No. de neuronios na camada oculta eta = 0.01; // Passo de aprendizagem mom = 0.75; // Fator de momento for r=1:Nr, // Inicio do loop de rodadas de treinamento rodada=r, // Inicia matrizes de pesos WW = 0.1*(2*rand(Nh,lP+1)-1); // Pesos entrada -> camada oculta WW_old = WW; // Necessario para termo de momento MM = 0.1*(2*rand(No,Nh+1)-1); // Pesos camada oculta -> camada de saida MM_old = MM; // Necessario para termo de momento // ETAPA DE TREINAMENTO for t = 1:Ne, Epoca = t; [s,I]=sort(rand(1,cP)); //I é uma permutação randômica de 1:ColD P = P(:,I); T1 = T1(:,I); // Embaralha vetores de treinamento e saidas desejadas EQ = 0; for tt = 1:cP, // Inicia LOOP de epocas de treinamento // CAMADA OCULTA X = [-1; P(:,tt)]; // Constroi vetor de entrada com adicao da entrada x0=-1 U = WW*X; // Ativacao (net) dos neuronios da camada oculta Yi = tanh(Ui); // Saida entre [-1,1] (função tanh) // CAMADA DE SAIDA

83

Y = [-1;Yi]; // Constroi vetor de entrada DESTA CAMADA Uk = MM*Y; // Ativacao (net) dos neuronios da camada de saida Ok = tanh(Uk); // Saida entre [-1,1] (função logistica) // CALCULO DO ERRO Ek = T1(:,tt)-Ok; // erro entre a saida desejada e a saida da rede EQ = EQ + 0.5*sum(Ek^2); // soma do erro quadratico de todos os neuronios // CALCULO DOS GRADIENTES LOCAIS Dk = 0.5*(1-Ok^2); // derivada da sigmoide logistica (camada de saida) DDk = Ek.*Dk; // gradiente local (camada de saida) Di = 0.5*(1-Yi^2); // derivada da sigmoide logistica (camada oculta) DDi = Di.*(MM(:,2:$)'*DDk); // gradiente local (camada oculta) // AJUSTE DOS PESOS - CAMADA DE SAIDA MM_aux = MM; MM = MM + eta*DDk*Y' + mom*(MM-MM_old); MM_old = MM_aux; // AJUSTE DOS PESOS - CAMADA OCULTA WW_aux = WW; WW = WW + eta*DDi*X' + mom*(WW-WW_old); WW_old = WW_aux; end; // Fim do loop de uma epoca EQM(r,t) = EQ/cP; // MEDIA DO ERRO QUADRATICO P/ EPOCA end; // Fim do loop de treinamento // ETAPA DE GENERALIZACAO %%% EQ2=0; OUT2=[]; SAIDA=[]; for tt = 1:cQ, // Inicia LOOP de epocas de treinamento // CAMADA OCULTA X = [-1; Q(:,tt)]; // Constroi vetor de entrada com adicao da entrada x0=-1 Ui = WW*X; // Ativacao (net) dos neuronios da camada oculta Yi = tanh(Ui); // Saida entre [-1,1] (funcao logistica)

84

// CAMADA DE SAIDA Y = [-1;Yi]; // Constroi vetor de entrada DESTA CAMADA Uk = MM*Y; // Ativacao (net) dos neuronios da camada de saida Ok = tanh(Uk); // Saida entre [-1,1] (funcao logistica) OUT2=[OUT2 Ok]; // Armazena saida da rede Ek = T2(:,tt)-Ok; // erro entre a saida desejada e a saida da rede EQ2 = EQ2 + 0.5*sum(Ek^2); // soma do erro quadratico de todos os neuronios SAIDA=[SAIDA; norm(Ek) T2(:,tt) Ok]; end; // Fim do loop de uma epoca EQM2(r)=EQ2/cQ; // MEDIA DO ERRO QUADRATICO COM REDE TREINADA end // Fim do loop de rodadas de treinamento // CALCULA ACERTO EQM_media=mean(EQM,1); // Curva de aprendizagem media (p/ Nr realizacoes) //plot(EQM_media); // Plota curva de aprendizagem // SALVA PESOS E SAÍDA savematfile('pesos.dat','WW','-ascii'); // RODAR A REDE COM OS PESOS SINAPTICOS OUT3=[]; for tt = 1:ColD, // Inicia LOOP de epocas de treinamento // CAMADA OCULTA X = [-1; dados(:,tt)]; // Constroi vetor de entrada com adicao da entrada x0=-1 Ui = WW*X; // Ativacao (net) dos neuronios da camada oculta Yi = tanh(Ui); // Saida entre [-1,1] (função tanh) // CAMADA DE SAIDA Y = [-1;Yi]; // Constroi vetor de entrada DESTA CAMADA Uk = MM*Y; // Ativacao (net) dos neuronios da camada de saida Ok = tanh(Uk); // Saida entre [-1,1] (função logistica)

85

OUT3=[OUT3 Ok]; // Armazena saida da rede // PLOTAR SAIDAS plot(alvos) plot(OUT3) end

86

Parâmetros da rede neural do controle de usinagem da madeira.

87

Parâmetros da rede neural do controle de usinagem da madeira.

88

Código fonte (Linguagem C) /** Rede neuro-fuzzy MLP Para usinagem da madeira. autor; Carlos Affonso data: 30:11:12 */ #include <math.h> #define cabecario " Rede Neuro Fuzzy -:\n" #define linha "-------------------------\n" #define saida " Forca de corte: ks1 e 1-z \n" double inputs[2],outputs[0]; int c; void inicio(); void ler(); void Ks(); void z(); int main() { int i; // inicio(); for(i = 0; i <= 14; i++){ inputs[1]=10+i; ler(); z(); } getch(); } void inicio() { printf(cabecario); printf(linha); } void ler(){ inputs[0]=7; } void Ks() { double mainWeights[] = {-2.402025556056655, 5.569721858875051, -0.428470747120619, 1.972717221547390, 7.651607201940797, -0.538716691923882, 2.097003003510839, -16.276508031841217, -0.998499744625461, 8.514178451968391, 16.522268350621129, -0.716004832566106, -5.670050806413442, 6.563369687773903, -0.143563543445429, 10.778860171565141, 14.282980367564647, 0.693100199303483, -1.749210886903909, 0.451728500208372, -0.382923785494577, -1.369710621131877, 2.760979143735644, 5.661643982471547, -0.578328113958013, -1.862357683329365, -2.647692793521353, 0.927007384028757, 0.362123038392003, 11.340051106671121, -1.144991481081334, -3.880302253222749, -0.372753557113624, 0.283278032675920, -1.241684033586956, 0.555376666954915, -0.117918601391759, -1.084807031454131, -0.585840125684430, -0.611512570651778, 1.868719858925271, -3.606067739118016, 0.495004587799109, -0.129427778326570, 0.567077603117196, -2.172235152860301, -0.636938968292299, -1.758701583273666,

89

0.443803354392048, 1.151810930272149, 2.144209707923406, -0.832269396214271, 0.527895377559035, 0.109326540193745, -1.293061380140570, 5.692934889877712, -1.411056831070568, -0.690719697707852, -1.623869074195498, -0.271036333892711, -1.235863272541410, -1.795725349591921, 0.734543164107234, -0.242979628915045, -0.989289629898548, 5.564252086257004, 1.004681545614301, 2.409836665076666, 0.037197365837617, 0.292785045932199, 2.809612733785411, 0.131647540800878, 6.616486541573850, -1.172744757875953, -5.715367331175504, -1.756862215073335, -2.336409720380698, 3.922341152156645, 0.177956142141440, -8.050774813919254, 4.850485502688330, 0.785874612853159, -1.634341512378448, 7.736610841498105, -2.949393011889209}; double * mw = mainWeights; double hiddenLayer1outputs[8]; double hiddenLayer2outputs[6]; int c; inputs[0] = -1.0 + (inputs[0] - 1.000000000000000) / 4.500000000000000; inputs[1] = -1.0 + (inputs[1] - 10.000000000000000) / 7.000000000000000; hiddenLayer1outputs[0] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[0] += *mw++ * inputs[c]; hiddenLayer1outputs[0] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[0])); hiddenLayer1outputs[1] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[1] += *mw++ * inputs[c]; hiddenLayer1outputs[1] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[1])); hiddenLayer1outputs[2] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[2] += *mw++ * inputs[c]; hiddenLayer1outputs[2] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[2])); hiddenLayer1outputs[3] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[3] += *mw++ * inputs[c]; hiddenLayer1outputs[3] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[3])); hiddenLayer1outputs[4] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[4] += *mw++ * inputs[c]; hiddenLayer1outputs[4] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[4])); hiddenLayer1outputs[5] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[5] += *mw++ * inputs[c]; hiddenLayer1outputs[5] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[5])); hiddenLayer1outputs[6] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[6] += *mw++ * inputs[c]; hiddenLayer1outputs[6] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[6])); hiddenLayer1outputs[7] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[7] += *mw++ * inputs[c]; hiddenLayer1outputs[7] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[7])); hiddenLayer2outputs[0] = *mw++; for(c = 0; c < 8; c++) hiddenLayer2outputs[0] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[0] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[0])); hiddenLayer2outputs[1] = *mw++; for(c = 0; c < 8; c++) hiddenLayer2outputs[1] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[1] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[1])); hiddenLayer2outputs[2] = *mw++; for(c = 0; c < 8; c++) hiddenLayer2outputs[2] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[2] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[2])); hiddenLayer2outputs[3] = *mw++; for(c = 0; c < 8; c++) hiddenLayer2outputs[3] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[3] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[3])); hiddenLayer2outputs[4] = *mw++; for(c = 0; c < 8; c++) hiddenLayer2outputs[4] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[4] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[4])); hiddenLayer2outputs[5] = *mw++; for(c = 0; c < 8; c++) hiddenLayer2outputs[5] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[5] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[5])); outputs[0] = *mw++; for(c = 0; c < 6; c++) outputs[0] += *mw++ * hiddenLayer2outputs[c]; outputs[0] = 1.0 / (1.0 + exp(-outputs[0]));

90

outputs[0] = 3.940000000000000 + (outputs[0] - 0.000000) * 8.350000000000000; printf("%.3f\n",outputs[0]); } void z() { double mainWeights[] = {-9.131632633668229, 13.375169941540147, 2.539781601464922, -2.006259528085054, 3.362885833462217, -1.945824331295555, 4.374928975976663, 8.568150245746454, 7.962038403385009, 4.346587341469116, -6.317189953581922, 2.414507390756577, 7.246363553757060, 19.735810341970023, 6.821503619093130, 7.399195191933164, 16.069257215237418, -6.269799010930660, 0.299523955266154, -0.959963169785554, 8.051374932304420, -4.247707414656442, -0.072548896642816, -2.455258969299806, -5.210448878949332, -4.498912220723041, -2.337755394107816, -2.324125425594263, -3.555034319144045, -2.740162171413497, 10.676167257907391, -5.977101552567634, -0.208461631581041, -8.902964242123252, -0.894071619265052, -0.821131814517106, 0.350629328219178, 6.977125524088897, -6.327952374108819, 1.339135886745331, -0.789993596578565, 3.465015952640013, -11.190575541948538, 4.224153747160278, -7.015246020509153, 4.364226841427365, -4.525662892508358, 9.917048593801910, -5.343717012160052, 0.443405193948139, -7.348232243610265, -0.520860818739921, 0.432468178589116, -0.075890960634660, 13.192449517707232, 0.256300759869693, -1.941129567442559, -8.975094463179261, -1.764149795526679, 2.496865035761135, -3.135061215079671, -9.525024364637933, -15.155040309524459, 7.739553111341117, 5.145692799581990, -13.323787834861125, 6.338329297054339}; double * mw = mainWeights; double hiddenLayer1outputs[6]; double hiddenLayer2outputs[6]; int c; inputs[0] = -1.0 + (inputs[0] - 1.000000000000000) / 4.500000000000000; inputs[1] = -1.0 + (inputs[1] - 10.000000000000000) / 7.000000000000000; hiddenLayer1outputs[0] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[0] += *mw++ * inputs[c]; hiddenLayer1outputs[0] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[0])); hiddenLayer1outputs[1] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[1] += *mw++ * inputs[c]; hiddenLayer1outputs[1] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[1])); hiddenLayer1outputs[2] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[2] += *mw++ * inputs[c]; hiddenLayer1outputs[2] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[2])); hiddenLayer1outputs[3] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[3] += *mw++ * inputs[c]; hiddenLayer1outputs[3] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[3])); hiddenLayer1outputs[4] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[4] += *mw++ * inputs[c]; hiddenLayer1outputs[4] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[4])); hiddenLayer1outputs[5] = *mw++; for(c = 0; c < 2; c++) hiddenLayer1outputs[5] += *mw++ * inputs[c]; hiddenLayer1outputs[5] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[5])); hiddenLayer2outputs[0] = *mw++; for(c = 0; c < 6; c++) hiddenLayer2outputs[0] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[0] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[0])); hiddenLayer2outputs[1] = *mw++; for(c = 0; c < 6; c++) hiddenLayer2outputs[1] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[1] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[1])); hiddenLayer2outputs[2] = *mw++; for(c = 0; c < 6; c++) hiddenLayer2outputs[2] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[2] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[2])); hiddenLayer2outputs[3] = *mw++; for(c = 0; c < 6; c++) hiddenLayer2outputs[3] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[3] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[3])); hiddenLayer2outputs[4] = *mw++; for(c = 0; c < 6; c++) hiddenLayer2outputs[4] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[4] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[4])); hiddenLayer2outputs[5] = *mw++;

91

for(c = 0; c < 6; c++) hiddenLayer2outputs[5] += *mw++ * hiddenLayer1outputs[c]; hiddenLayer2outputs[5] = 1.0 / (1.0 + exp(-hiddenLayer2outputs[5])); outputs[0] = *mw++; for(c = 0; c < 6; c++) outputs[0] += *mw++ * hiddenLayer2outputs[c]; outputs[0] = 1.0 / (1.0 + exp(-outputs[0])); outputs[0] = 0.640000000000000 + (outputs[0] - 0.000000) * 0.200000000000000; printf("%.3f\n",outputs[0]); }

92

Programa para classificação de imagem de crescimento

/* Name: Neural Network Wood image Treatment Author: Carlos Affonso Date: 20/10/12 comentario; */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define cabecario " REDE MLP:\n\ \nCLASSIFICACAO DE ANEIS DE MADEIRA\n" #define linha "\n---------------------------------------\n" #define classificacao "Anel de crescimento do tipo %d" #define TAM 1000 #define col 220 #define lin 220 #define range 20 #define arquivo "aneis_3.txt" float sum,maior,menor,faixa; double inputs[38],outputs[0]; int up,down,flag=0; void TratImagemRN(); void buscar(); void scann(); void classificar(); int main() { int k; buscar(); scann(); TratImagemRN(); classificar(); getche(); } void buscar() { int i,j; float z; char buf[TAM]; FILE *arq; arq = fopen(arquivo,"r"); fgets(buf,TAM,arq); sum=0;maior=0;menor=100; for(j=1;j<=lin;j++) { z = atof(strtok(buf,";"));

93

for(i=2;i<=col;i++) { z = atof(strtok(NULL,";")); if(z>maior)maior=z; if(z<menor)menor=z; sum = sum+z; } fgets(buf,TAM,arq); } } void scann() { int i,j,k,cont[range],max_up,max_down; float z; char buf[TAM]; FILE *arq; arq = fopen(arquivo,"r"); fgets(buf,TAM,arq); faixa=(maior-menor)/range; for(k=0;k<=range;k++)cont[k]=0;max_up=0;max_down=0; for(j=1;j<=lin;j++) { z = atof(strtok(buf,";")); for(i=2;i<=col;i++) { z = atof(strtok(NULL,";")); for(k=1;k<=range;k++) { if((z>=faixa*(k-1))&&(z<=faixa*k))cont[k]++; } for(k=1;k<=range/2;k++) { if(cont[k]>max_down) { max_down=cont[k]; down=k; } if(cont[range/2+k]>=max_up) { max_up=cont[range/2+k]; up=range/2+k; } } } fgets(buf,TAM,arq); } printf(" PADRAO IMAGEM: "); printf(arquivo); printf(linha); printf(" tonalidade Area(mm2) diam.(mm)\n"); for(k=1;k<=range;k++) if(cont[k]>0) if(faixa*(k-1)>0){ printf("[%.2f - %.2f] %.5d %.1f\n",faixa*(k-1)/maior,faixa*(k)/maior,\ cont[k],sqrt(2*cont[k]/3.14)); inputs[k-2]=cont[k];inputs[k+17]=sqrt(2*cont[k]/3.14); } printf(linha);

94

printf("comprimento: %d(mm) largura %d(mm) \n",lin,col); } void TratImagemRN() { double mainWeights[] = {-0.067519744324443, -0.772566039175079, 0.801991245142845, -0.347562459927984, -1.004662851364978, -0.568135539170710, 0.673003272367772, -0.621401762469890, 0.796468488476488, 0.088632093303959, 0.445184673993300, -0.848900231694861, 0.851056436004979, 0.983862968259182, 0.947577907001170, 0.966591625047389, 0.270250230398886, 0.227315473194224, 0.825878985066388, -0.157280240728494, -1.036557727052258, -0.882156965613025, 0.645979745900667, -0.296069228532666, 0.189638522524087, -0.957652846375997, -0.389805340210405, -1.023068746200007, 0.305249433035169, 0.770544897355109, 0.457638569196841, -0.721937085877098, -0.034756101794688, 0.198995053248931, 0.579933848431946, 0.450578945126667, 0.468005476421473, 0.092402015937140, -0.690479771035369, 0.442597939513660, -0.546590404223569, 0.522310759839821, 0.492792606467865, 0.955705653386320, 1.248822144971396, 1.035686636588718, -0.269777221407609, 0.514255764923457, 0.371914079404163, 0.892531845484257, -0.632900397195740, -0.986514550247905, -0.309687419029236, -0.824245698963222, 0.335389291681877, 0.829920914746281, 1.179161559560506, -0.624246598350024, 1.441250983081270, -0.819297095838786, -0.761578382483510, 0.634127275150516, -1.104737505817740, 0.098182935819970, -0.157658177151056, -0.478875466617600, 0.370649751455699, 0.503159379989562, 0.071225339877978, -0.307613631845527, -1.019473630544127, -0.536549601148988, 0.662335954675648, -0.375536254852570, 0.334493568999546, 0.070814504620856, 0.303060368648048, -0.458533256927795, -0.999510770733930, -0.539906999576623, -1.138308050234507, -0.189844704305025, 1.253156320311757, 0.022438276378125, 1.190077902341452, -0.611244059105729, -0.540020467005423, -0.600376240432181, 0.482319273172538, -0.044100331407327, 0.444471406919800, 0.442196892077029, -0.003258768796171, 0.607107673830009, 0.238492951989740, -0.329389377579399, -0.300293947442914, 0.468608384106925, -0.042866609015172, -0.108828895633745, -0.570082751565859, 0.009591496538926, -0.447235597498426, -0.624650873919045, -0.013553533329387, -0.263766518049324, 0.669880495417506, -0.893084877372829, -0.466115174455187, -0.482823961403710, -0.944937815861545, 0.404270024962703, -0.590774562503156, -0.862185977242074, 0.763590304225787, -0.715849427211170, -0.374377087257215, 0.442081265923647, 0.652168528293601, -0.357378304761332, 0.818027711470050, -0.685745869593919, -1.408857200591795, -0.719568125637395, -0.322700465848856, -0.224821708750687, 1.032057832014450, 0.762145780047232, -0.938789340252086, -0.884490184091952, -1.182783034551264, -0.672866060249811, 0.615125583712463, 0.789676053931729, -1.215203420986272, 0.829359236447843, -1.097134343880049, 1.102764771457258, -0.044751764496854, 0.440156061415070, 0.714454069136247, -0.513896529394926, 0.136213068991719, -0.186083612045229, -0.253624450869994, 0.898685758217964, -0.013319983840285, -0.495430280423697, 0.830348783540370, 0.589617668333239, -0.233670783354770, -0.138620916015409, -0.308903332158643, -0.664679428259920, 0.364630079931346, 0.454784798179646, 0.290693587417120, -1.028767371825137, 2.497955683825585, 1.548516834135147, -4.265023146459587}; double * mw = mainWeights; double hiddenLayer1outputs[4]; int c; inputs[0] = -1.0 + (inputs[0] - 8.000000000000000) / 1814.000000000000000; inputs[1] = -1.0 + (inputs[1] - 0.000000000000000) / 1642.000000000000000; inputs[2] = -1.0 + (inputs[2] - 0.000000000000000) / 921.000000000000000; inputs[3] = -1.0 + (inputs[3] - 1.000000000000000) / 626.500000000000000; inputs[4] = -1.0 + (inputs[4] - 0.000000000000000) / 879.500000000000000; inputs[5] = -1.0 + (inputs[5] - 4.000000000000000) / 966.500000000000000; inputs[6] = -1.0 + (inputs[6] - 67.000000000000000) / 991.500000000000000; inputs[7] = -1.0 + (inputs[7] - 370.000000000000000) / 1387.000000000000000; inputs[8] = -1.0 + (inputs[8] - 482.000000000000000) / 2474.500000000000000; inputs[9] = -1.0 + (inputs[9] - 610.000000000000000) / 3386.500000000000000; inputs[10] = -1.0 + (inputs[10] - 1039.000000000000000) / 1983.500000000000000; inputs[11] = -1.0 + (inputs[11] - 1110.000000000000000) / 2403.000000000000000; inputs[12] = -1.0 + (inputs[12] - 235.000000000000000) / 1980.500000000000000; inputs[13] = -1.0 + (inputs[13] - 61.000000000000000) / 1955.000000000000000; inputs[14] = -1.0 + (inputs[14] - 14.000000000000000) / 2516.000000000000000; inputs[15] = -1.0 + (inputs[15] - 2.000000000000000) / 2322.000000000000000; inputs[16] = -1.0 + (inputs[16] - 3.000000000000000) / 973.500000000000000; inputs[17] = -1.0 + (inputs[17] - 5.000000000000000) / 208.000000000000000; inputs[18] = -1.0 + (inputs[18] - 0.000000000000000) / 28.000000000000000;

95

inputs[19] = -1.0 + (inputs[19] - 2.300000000000000) / 22.900000000000002; inputs[20] = -1.0 + (inputs[20] - 0.000000000000000) / 22.850000000000001; inputs[21] = -1.0 + (inputs[21] - 0.000000000000000) / 17.149999999999999; inputs[22] = -1.0 + (inputs[22] - 0.100000000000000) / 14.100000000000000; inputs[23] = -1.0 + (inputs[23] - 0.000000000000000) / 16.750000000000000; inputs[24] = -1.0 + (inputs[24] - 1.600000000000000) / 16.750000000000000; inputs[25] = -1.0 + (inputs[25] - 6.500000000000000) / 14.800000000000001; inputs[26] = -1.0 + (inputs[26] - 15.400000000000000) / 14.650000000000002; inputs[27] = -1.0 + (inputs[27] - 17.500000000000000) / 20.649999999999999; inputs[28] = -1.0 + (inputs[28] - 19.699999999999999) / 24.449999999999996; inputs[29] = -1.0 + (inputs[29] - 25.699999999999999) / 15.400000000000000; inputs[30] = -1.0 + (inputs[30] - 26.600000000000001) / 17.399999999999999; inputs[31] = -1.0 + (inputs[31] - 12.199999999999999) / 19.750000000000000; inputs[32] = -1.0 + (inputs[32] - 6.200000000000000) / 22.049999999999997; inputs[33] = -1.0 + (inputs[33] - 3.000000000000000) / 26.850000000000001; inputs[34] = -1.0 + (inputs[34] - 1.100000000000000) / 26.649999999999999; inputs[35] = -1.0 + (inputs[35] - 1.400000000000000) / 16.900000000000002; inputs[36] = -1.0 + (inputs[36] - 1.800000000000000) / 7.299999999999999; inputs[37] = -1.0 + (inputs[37] - 0.000000000000000) / 3.000000000000000; hiddenLayer1outputs[0] = *mw++; for(c = 0; c < 38; c++) hiddenLayer1outputs[0] += *mw++ * inputs[c]; hiddenLayer1outputs[0] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[0])); hiddenLayer1outputs[1] = *mw++; for(c = 0; c < 38; c++) hiddenLayer1outputs[1] += *mw++ * inputs[c]; hiddenLayer1outputs[1] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[1])); hiddenLayer1outputs[2] = *mw++; for(c = 0; c < 38; c++) hiddenLayer1outputs[2] += *mw++ * inputs[c]; hiddenLayer1outputs[2] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[2])); hiddenLayer1outputs[3] = *mw++; for(c = 0; c < 38; c++) hiddenLayer1outputs[3] += *mw++ * inputs[c]; hiddenLayer1outputs[3] = 1.0 / (1.0 + exp(-hiddenLayer1outputs[3])); outputs[0] = *mw++; for(c = 0; c < 4; c++) outputs[0] += *mw++ * hiddenLayer1outputs[c]; outputs[0] = 1.0 / (1.0 + exp(-outputs[0])); outputs[0] = 0.000000000000000 + (outputs[0] - 0.000000) * 60.000000000000000; } void classificar() { printf(linha);printf(cabecario); printf(linha); if(outputs[0]>5)flag=1; if(outputs[0]>15)flag=2; if(outputs[0]>25)flag=3; if(outputs[0]>45)flag=5; if(outputs[0]>55)flag=6; printf(classificacao,flag);