Você está na página 1de 94

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

PR

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN CAMPUS DE CURITIBA DEPARTAMENTO DE PESQUISA E PS-GRADUAO PROGRAMA DE PS-GRADUAO EM ENGENHARIA MECNICA E DE MATERIAIS - PPGEM

PAULO CESAR JUNEK FILHO

OTIMIZAO DE TRAJETRIAS DE ROBS DE SOLDAGEM APLICADOS A CLULAS DE MANUFATURA

CURITIBA DEZEMBRO 2008

PAULO CESAR JUNEK FILHO

OTIMIZAO DE TRAJETRIAS DE ROBS DE SOLDAGEM APLICADOS A CLULAS DE MANUFATURA

Dissertao apresentada como requisito parcial obteno do ttulo de Mestre em Engenharia, do Programa de Ps-Graduao em Engenharia Mecnica e de Materiais, rea de Concentrao em Engenharia de Manufatura, do Departamento de Pesquisa e PsGraduao, do Campus de Curitiba, da UTFPR. Orientador: Prof. Dr. Luiz Carlos de Abreu Rodrigues

CURITIBA DEZEMBRO 2008

TERMO DE APROVAO

PAULO CESAR JUNEK FILHO

OTIMIZAO DE TRAJETRIAS DE ROBS DE SOLDAGEM APLICADOS A CLULAS DE MANUFATURA

Esta Dissertao foi julgada para a obteno do ttulo de mestre em engenharia, rea de concentrao em engenharia de Manufatura, e aprovada em sua forma final pelo Programa de Ps-graduao em Engenharia Mecnica e de Materiais. _________________________________ Prof. Giuseppe Pintade, Dr. Coordenador de Curso

Banca Examinadora ______________________________ Profa. Maria Teresinha Arns Steiner, Dr. (UFPR) ______________________________ Prof. Joo Antnio Palma Setti, Dr. (UTFPR)

______________________________ Prof. Eduardo Mauro Nascimento, Dr. (UTFPR) Curitiba, 16 de dezembro de 2008

AGRADECIMENTOS

Agradeo a todos aqueles que contriburam direta ou indiretamente no desenvolvimento deste trabalho, em especial: Ao prof. Dr. Luiz Carlos de Abreu Rodrigues, orientador, pela contribuio direta nesta dissertao; Ao prof. Lus Paulo Laus, pelo material sobre robtica disponibilizado e utilizado neste trabalho; Aos meus pais, pelo apoio e auxlio durante o desenvolvimento deste trabalho. minha esposa e filha (Simone e Alice) pela compreenso e apoio durante os momentos em que estive ausente do convvio familiar para o desenvolvimento deste trabalho.

ii

JUNEK FILHO, Paulo Cesar, Otimizao de Trajetrias de Robs de Soldagem Aplicados a Clulas de Manufatura , 2008, Dissertao (Mestrado em Engenharia) - Programa de Ps-graduao em Engenharia Mecnica e de Materiais, Universidade Tecnolgica Federal do Paran, Curitiba, 94p.

RESUMO
Neste trabalho abordado o problema de planejamento de trajetria otimizada de um rob industrial. Dispe-se de um conjunto composto por um rob de seis eixos e um posicionador (mesa de posicionamento) de um eixo, que so aplicados a um processo de soldagem do eixo traseiro de um automvel. Esta configurao, segundo os fabricantes de robs, acrescenta flexibilidade e preciso ao processo, em comparao operao de soldagem com um dispositivo esttico. Porm, esta flexibilidade pode ser questionada, do ponto de vista de programao do rob; j que o processo de posicionamento de ambos (rob e posicionador) normalmente realizado atravs do processo conhecido como ponto-a-ponto, no qual o programador precisa conduzir o rob atravs de cada ponto da trajetria a ser executada, sendo que cada ponto deve ser gravado na memria do rob. Esse mtodo apresenta a desvantagem de obrigar a interrupo do processo de produo durante a programao, alm de tornar o sistema de programao de um rob de soldagem complexo e demorado, principalmente na execuo de peas com vrios cordes a serem executados. Em problemas de planejamento de trajetria, o nmero de trajetrias possveis entre as posies inicial e final para um rob frequentemente muito grande, ou melhor, infinito, e o objetivo no necessariamente determinar a melhor soluo, mas obter uma que seja aceitvel de acordo com certos requisitos e certas restries. Visando apresentar um mtodo mais eficiente de programao para o rob em questo, apresentada uma alternativa atravs do mtodo da Busca Tabu para a seleo da melhor alternativa de trajetria para o rob durante o processo de soldagem, atravs da avaliao da melhor combinao de valores de ngulos de junta para a pose de trabalho. Palavras-chave: Planejamento de trajetria, Programao de robs, Busca Tabu

iii

JUNEK FILHO, Paulo Cesar, Otimizao de Trajetrias de Robs de Soldagem Aplicados a Clulas de Manufatura , 2008, Dissertao (Mestrado em Engenharia) - Programa de Ps-graduao em Engenharia Mecnica e de Materiais, Universidade Tecnolgica Federal do Paran, Curitiba, 94p.

ABSTRACT
In this work the problem of an industrial robot's optimized path planning is approached. It is composed by a robot of six axes and an indexing (positioning) table of an axis, that are applied to the welding process of the back axis of an automobile. This configuration increases flexibility and precision to the process, in comparison with the welding operation with a static device. However, the process of positioning of both robot and indexing table is usually accomplished through the process known as point-to-point programming. In point-to-point programming the programmer needs to lead the robot through each point of the path to be executed, and each point should be recorded in the robot's memory. This method presents the disadvantage of forcing the interruption of the production process during the programming, besides turning the programming of a welding robot system into a complex and slow process,. In problems of path planning, the number of possible paths among the initial and final positions for a robot is frequently big - or better - infinite. Due to this, the objective is not necessarily to determine the best solution, but to obtain one that is acceptable in agreement with certain requirements and restrictions. Seeking to present a more efficient method of programming for the robot in subject, an alternative approach is presented, through the use of Tabu Search method for the selection of the best alternative path for the welding process. This is done through the evaluation of the best combination of values of joint angles which form a working pose.

Keywords: Path Planning, Robot Programming, Tabu Search

iv

SUMRIO
RESUMO...................................................................................................................................ii ABSTRACT..............................................................................................................................iii LISTA DE FIGURAS................................................................................................................vi LISTA DE TABELAS...............................................................................................................vii LISTA DE ABREVIATURAS E SIGLAS...................................................................................ix

INTRODUO.......................................................................................................1
1.1 1.2 1.3 Objetivos....................................................................................................................................1 Justificativa................................................................................................................................1 Estrutura da dissertao............................................................................................................2

2 3

DESCRIO DO PROBLEMA..............................................................................3 MODELO CINEMTICO DE ROBS....................................................................6


3.1 Cinemtica direta.........................................................................................................................7 3.1.1 Modelo cinemtico do rob estudado....................................................................................8 3.2 Cinemtica inversa....................................................................................................................12 3.3 Programao de robs..............................................................................................................13 3.4 Planejamento da trajetria de robs..........................................................................................17 3.5 Programao de robs de soldagem.........................................................................................19

TCNICAS DE OTIMIZAO ............................................................................22


4.1 Busca tabu ..............................................................................................................................23 4.2 Algoritmos genticos ..............................................................................................................32 4.2.1 Cruzamento........................................................................................................................33 4.2.2 Mutao..............................................................................................................................33 4.2.3 Reproduo........................................................................................................................34 4.2.4 Um exemplo simples..........................................................................................................35 4.3 Simulated annealing. ..............................................................................................................36

METODOLOGIA .................................................................................................40
5.1 Trajetria linear...........................................................................................................................44 5.2 Trajetria circular........................................................................................................................46 5.3 Gerao de trajetria usando algoritmo do simulated annealing...............................................51 5.4 Gerao de trajetria usando o algoritmo da busca tabu...........................................................52 5.4.1 Busca na vizinhana.............................................................................................................54 5.5 Anlise da varincia....................................................................................................................54 5.5.1 Tratamento...........................................................................................................................55 5.5.2 Unidade experimental ou parcela........................................................................................55 5.5.3 Repetio.............................................................................................................................56 5.5.4 Experimentos fatoriais.........................................................................................................58

RESULTADOS......................................................62
6.1 Anlise dos resultados para o cordo linear................................................................................62 6.2 Anlise dos resultados para o cordo circular.............................................................................70

CONCLUSES...................................................................................................79

REFERNCIAS.........................................................................................................81

vi

LISTA DE FIGURAS
Figura 2.1 - Eixo traseiro de um automvel .3 Figura 2.2 - Exemplo de posicionador de um eixo (um grau de liberdade).............................4 Figura 2.3 - Exemplo de rob de seis eixos (seis graus de liberdade) para solda..................4 Figura 2.4 - Detalhe da solda do eixo traseiro de automvel..................................................5 Figura 3.1 - Modelo cinemtico rob de seis graus de liberdade............................................8 Figura 3.2 - Parmetros usados na notao Denavit-Hartenberg.9 Figura 3.3 - Oito solues para um rob de seis graus de liberdade.....................................14 Figura 3.4 - Controle para programao de robs ABB Flex-pendant...................................16 Figura 3.5 - Clula de soldagem robotizada...........................................................................20 Figura 4.1 - Algoritmo da Busca Tabu...................................................................................25 Figura 5.1 - Representao do cordo linear.........................................................................44 Figura 5.2 - Valores adotados no presente estudo.................................................................45 Figura 5.3 - Diagrama ponto 1 da trajetria circular...............................................................46 Figura 5.4 - Diagrama ponto 2 da trajetria circular...............................................................47 Figura 5.5 - Diagrama ponto 3 da trajetria circular...............................................................48 Figura 5.6 - Diagrama ponto 4 da trajetria circular...............................................................49 Figura 5.7 - Diagrama ponto 5 da trajetria circular...............................................................50 Figura 5.8 - Algoritmo de simulated annealing (SA) usado neste trabalho............................51 Figura 5.9 - Algoritmo de busca tabu adotado neste trabalho................................................53 Figura 5.10. Procedimento do Planejamento Sistemtico de Layout (SLP)...........................55

vii

LISTA DE TABELAS
Tabela 3.1 Relao cinemtica entre as juntas................10 Tabela 3.2 - Componentes bsicos de um sistema de soldagem robotizado........................21 Tabela 4.1 - Contedo da memria aps uma iterao.........................................................27 Tabela 4.2 - Contedo da memria aps cinco iteraes......................................................28 Tabela 4.3 - Contedo da memria aps seis iteraes........................................................29 Tabela 4.4 - Contedo da memria baseada em freqncia para h = 50..............................30 Tabela 4.5 - Cinco seqncias aleatrias...............................................................................35 Tabela 4.6 - Um tpico experimento........................................................................................35 Tabela 4.7 - Gerao de novas solues partindo de T=100.................................................37 Tabela 4.8 - 2 tentativa de gerao de solues partindo de T=500....................................38 Tabela 5.1 - Disposio das equaes na Tabela ANOVA....................................................58 Tabela 5.2 - Plano experimental para algoritmo SA...............................................................58 Tabela 5.3 - Tabela resumo da anlise de fatores.................................................................61 Tabela 6.1 - Tabela ANOVA da funo objetivo nos experimentos de SA para o cordo linear...............................................................................................................................63 Tabela 6.2 - Apresentao do valor da funo objetivo nos 8 experimentos realizados usando simulated annealing para o cordo linear..........................................................64 Tabela 6.3 - Apresentao do nmero de iteraes nos 8 experimentos realizados usando simulated annealing para o cordo linear.......................................................................65 Tabela 6.4 - Tabela ANOVA do nmero de iteraes nos experimentos de SA para o cordo linear...............................................................................................................................66 Tabela 6.5 - Valor da funo objetivo nos experimentos usando BT para o cordo linear....67 Tabela 6.6 - Tabela ANOVA da funo objetivo nos experimentos de BT para o cordo linear...............................................................................................................................67 Tabela 6.7 - Nmero de iteraes nos experimentos usando BT para o cordo linear.........68 Tabela 6.8 - Tabela ANOVA do nmero de iteraes nos experimentos de BT para o cordo linear...............................................................................................................................68

viii

Tabela 6.9 - Comparao entre as abordagens SA e BT.......................................................69 Tabela 6.10 - Tabela ANOVA comparando as abordagens SA e BT.....................................69 Tabela 6.11 - Tempo de execuo dos algoritmos para o caso de cordo linear..................70 Tabela 6.12 - Tabela ANOVA da funo objetivo nos experimentos de SA para o cordo circular............................................................................................................................71 Tabela 6.13 - Apresentao do valor da funo objetivo nos 8 experimentos realizados usando simulated annealing para o cordo circular.......................................................72 Tabela 6.14 - Apresentao do nmero de iteraes nos 8 experimentos realizados usando simulated annealing para o cordo circular....................................................................73 Tabela 6.15 - Tabela ANOVA do nmero de iteraes nos experimentos de SA para o cordo circular................................................................................................................74 Tabela 6.16 - Valor da funo objetivo nos experimentos usando BT para o cordo circular............................................................................................................................75 Tabela 6.17 - Tabela ANOVA da funo objetivo nos experimentos de BT para o cordo circular............................................................................................................................75 Tabela 6.18 - Nmero de iteraes nos experimentos usando BT para o cordo circular.....76 Tabela 6.19 - Tabela ANOVA do nmero de iteraes nos experimentos de BT para o cordo circular................................................................................................................76 Tabela 6.20 - Comparao entre as abordagens SA e BT.....................................................77 Tabela 6.21 - Tabela ANOVA comparando as abordagens SA e BT.....................................77 Tabela 6.22 - Tabela ANOVA do nmero de iteraes nos experimentos de BT para o cordo circular................................................................................................................78

ix

LISTA DE ABREVIATURAS E SIGLAS


AG BT DOF MIG/MAG SA SAT TCP Genetic Algorithms (Algoritmos Genticos) Tabu Search (Busca Tabu) Degree of Freedom (graus de liberdade) Metal Inerte Gs/ Metal Active Gs (processo de soldagem com gs inerte/ gs ativo) Simulated Annealing (tmpera simulada) Satisfability (problema de satisfao de restries) Tool Center Point (ponto central da ferramenta)

1. INTRODUO
O uso de robs em aplicaes industriais tem aumentado nos ltimos anos. Os robs deixaram de ser privilgio das grandes indstrias e tm se disseminado em diferentes ramos e aplicaes industriais. Porm, em muitos casos, o potencial de um rob aplicado a um processo no completamente utilizado, devido sua programao no permitir que o seu desempenho seja otimizado. Esse fato tem motivado diversos trabalhos cientficos voltados para a otimizao de processos industriais robotizados, com a aplicao de tcnicas computacionais matemticas e heursticas (WU et al, 2000; AKIR et al, 2006), algumas das quais sero abordadas neste trabalho. Estas ltimas, principalmente, tm sido empregadas com grande intensidade em muitos problemas que envolvem alocao de recursos, embalagem e programao da produo, pois no necessitam de estruturas complexas de modelagem como os mtodos baseados em programao matemtica, por exemplo. Alm disso, a adoo de mtodos heursticos vantajosa em problemas que tm como caractersticas: dificuldade de modelagem e tempo de soluo invivel do ponto de vista da capacidade de processamento da soluo (RODRIGUES, 2006).

1.1 Objetivos
Neste trabalho buscou-se, atravs da aplicao do mtodo da Busca Tabu, a obteno da melhor alternativa de trajetria para o conjunto formado por um rob industrial de seis eixos e por uma mesa posicionadora de um eixo, sendo aplicados a um processo de soldagem do eixo traseiro de um automvel. Para este problema de planejamento de trajetria, atravs da avaliao da melhor combinao de valores de ngulos de junta para a pose de trabalho do rob, identificou-se a trajetria otimizada para a execuo dos cordes de solda necessrios unio das diversas partes que, reunidas, formam o eixo em questo.

1.2 Justificativa
Neste tipo de problema, o processo de posicionamento de ambos (rob e posicionador) normalmente realizado atravs do processo conhecido como ponto-a-ponto ou leadthrough, no qual o programador precisa conduzir o rob atravs de cada ponto da trajetria a ser executada, sendo que cada ponto deve ser gravado na memria do rob. Esse mtodo apresenta a desvantagem de obrigar a interrupo do processo de produo durante a programao; alm de tornar o sistema de programao de um rob de soldagem

complexo e demorado, principalmente na execuo de peas com vrios cordes a serem executados. Alm disso, no processo ponto-a-ponto, cabe ao programador do rob a definio da posio e da orientao da tocha de soldagem e, tambm, da orientao do posicionador. Assim, uma definio inadequada da posio e das orientaes implicar num maior tempo de processamento da operao de solda. Visando apresentar um mtodo mais eficiente de programao para o rob em questo, a proposta do trabalho a aplicao do mtodo da Busca Tabu para a seleo da melhor alternativa de trajetria para o rob durante o processo de soldagem.

1.3 Estrutura da Dissertao


Neste captulo 1 so apresentados os objetivos e a justificativa do trabalho, alm da indicao das tcnicas selecionadas para a sua obteno. No captulo seguinte, descrevese em detalhes o problema de planejamento de trajetria de robs abordado. No captulo 3, apresenta-se a teoria sobre cinemtica direta e inversa de robs, bem como os mtodos de programao e tcnicas relacionadas aplicao de robs em um processo de soldagem. No captulo seguinte, so apresentados os principais mtodos heursticos de otimizao (busca tabu, algoritmos genticos e simulated annealing) e alguns exemplos de aplicao. No captulo 5, descreve-se a metodologia proposta para a abordagem do problema de planejamento de trajetria, onde so apresentadas as equaes utilizadas no mtodo, buscando a obteno da soluo tima. Finalmente, so apresentados os resultados no captulo 6 e as concluses obtidas com o trabalho no captulo 7.

2. DESCRIO DO PROBLEMA
No presente trabalho abordado o problema de planejamento otimizado de trajetria de um rob industrial. Dispe-se de um conjunto composto por um rob de seis eixos e um posicionador (mesa de posicionamento) de um eixo, que so aplicados a um processo de soldagem do eixo traseiro de um automvel, como o mostrado na figura 2.1.

Figura 2.1 - Eixo traseiro de automvel.

O posicionador de um eixo de um grau de liberdade (figura 2.2) usado para ajustar a orientao necessria e mais favorvel execuo de cordes de solda atravs do processo MIG/MAG (Metal Inerte Gs/Metal Active Gas), enquanto que o rob de seis graus de liberdade (figura 2.3) responsvel por guiar a tocha de soldagem durante o processo. Esta configurao acrescenta flexibilidade e preciso ao processo, em comparao operao de soldagem com um dispositivo esttico. Porm, o processo de posicionamento de ambos (rob e posicionador) normalmente realizado por meio do processo conhecido como ponto-a-ponto, no qual o programador precisa conduzir o rob atravs de cada ponto da trajetria a ser executada, gravando cada ponto na memria do rob. Esse mtodo apresenta a desvantagem de obrigar a interrupo do processo de produo durante a programao, alm de tornar o sistema complexo e demorado, principalmente na execuo de peas com vrios cordes. Quando necessria a elaborao de um planejamento de trajetria para robs de mltiplos eixos (juntas), o perfeito sincronismo entre os mesmos um fator determinante para que o caminho do Ponto Central da Ferramenta (TCP Tool Center Point) no seja modificado em relao ao trajeto previamente programado. Para uma tarefa de movimentao de materiais, isto no representa um problema, pois, neste caso, busca-se, principalmente, que os pontos inicial e final da trajetria sejam atendidos, independente do

caminho que foi seguido. Porm, para aplicaes como soldagem, pintura e montagem, por exemplo, imprescindvel assegurar que o rob siga a trajetria programada.

Figura 2.2. Exemplo de posicionador de um eixo (um grau de liberdade) (ABB, 2008).

Figura 2.3. Exemplo de rob de seis eixos (seis graus de liberdade) para solda (ABB, 2008).

Em problemas de planejamento de trajetria, o nmero de trajetrias possveis entre as posies inicial e final para um rob frequentemente muito grande, ou melhor, infinito, como ser apresentado a seguir, e o objetivo no necessariamente determinar a melhor soluo, mas obter uma que seja aceitvel de acordo com certos requisitos e certas

restries. Vrios mtodos de busca tm sido desenvolvidos (por exemplo, mtodos baseados em clculos, algoritmos de busca aleatria, etc.) para o problema de planejamento de trajetria de robs (GARG e KUMAR, 2002).

Figura 2.4 Detalhe da solda do eixo traseiro de automvel.

3. MODELO CINEMTICO DE ROBS


Um rob pode ser imaginado como sendo uma cadeia de corpos rgidos chamados de segmentos (links) unidos entre si por ligaes mveis chamadas juntas (joints). Quando se tem dois corpos rgidos que podem se mover um em relao ao outro com a restrio de que o movimento se d sobre uma superfcie de contato, este conjunto de corpos recebe o nome de par inferior. Existem apenas seis tipos de pares inferiores: rotativo, prismtico, cilndrico, planar, fuso e esfrico. Os pares inferiores do tipo rotativo e prismtico permitem apenas um nico grau de liberdade, j os demais permitem dois (cilndrico e fuso) ou trs (planar e esfrico). Alguns autores consideram que o fuso tambm s possui um nico grau de liberdade porque a rotao e a translao so restritas: um movimento de translao sempre implicar numa rotao e vice-versa. (ROMANO, 2002) Em geral, cada junta acionada por um atuador (um motor eltrico ou cilindro hidrulico) e, neste caso, s possui um nico grau de liberdade. Por isso, as juntas da maioria dos robs so rotativas (movimento angular) ou prismticas (movimento linear). Eventualmente, so utilizadas juntas esfricas, tambm chamadas de joelhos, com o objetivo de manter a distncia entre dois pontos constante. Embora a cinemtica seja o estudo do movimento sem levar em conta sua causa, em robtica o termo usado para descrever as relaes entre o movimento das juntas do rob e o movimento dos diversos segmentos que o compem, sobretudo do ltimo segmento livre que transporta a ferramenta (punho). Ento, um conjunto chamado de variveis de junta definido, as quais expressam a posio de uma junta, seja rotativa ou prismtica. O papel da cinemtica criar um mapeamento entre as variveis de junta e a posio e orientao de cada segmento do rob. Surpreendentemente, este mapeamento esttico: posio para posio, e no h o envolvimento de velocidades (cinemtica e dinmica). Geralmente, s h interesse no ltimo segmento, que aquele que transporta a ferramenta de trabalho. Tm-se, ento, dois tipos de cinemtica: Cinemtica direta, a qual define a posio e orientao do punho em funo das variveis de junta; Cinemtica inversa, responsvel por determinar o valor das variveis de junta para se atingir, com o punho, uma determinada posio e orientao. Os dois tipos de junta (rotativa e prismtica) de interesse so caracterizados por uma reta. No caso da junta rotativa a reta o eixo de rotao. Para a junta prismtica, a reta

indica a direo e sentido (se for considerado uma reta orientada) sobre os quais se d o movimento (ROMANO, 2002). Neste captulo feita uma reviso sucinta de cinemtica direta e inversa. O leitor interessado encontrar uma explicao detalhada de cinemtica direta e inversa em CRAIG (1989) e em LAUS (2006).

3.1 Cinemtica direta


Como dito anteriormente, o objetivo da cinemtica direta de robs obter uma descrio da posio e orientao da ferramenta de trabalho em funo dos ngulos (no caso de juntas rotativas) ou comprimento (no caso das juntas prismticas) de junta do rob que so chamados de variveis de junta. Esta descrio pode ser feita atravs de sistemas de coordenadas. Um local conveniente para o sistema de coordenadas situa-se no incio ou no fim do segmento sobre uma das juntas, fazendo com que o eixo da junta coincida com um dos trs eixos do sistema de coordenadas. Na robtica convencionou-se associar o eixo

e, neste trabalho, adotou-se fixar cada sistema de coordenadas no de junta ao versor z


incio do segmento sobre cada junta, no que chamada Notao Hartenberg Modificada, como proposto por CRAIG (1989). Na cinemtica direta, para conhecer-se a posio/orientao da ferramenta de solda, deve-se definir o valor das variveis de junta. Para se obter uma descrio do movimento do rob (posio e orientao variando no tempo) preciso saber descrever a posio e orientao dos seus segmentos. Para isso, atrela-se um sistema de coordenadas a cada segmento. Assim, o problema da descrio da posio e orientao relativa dos segmentos do rob se transforma em um problema de descrio da posio e orientao relativa dos sistemas de coordenadas, que solucionado com a construo de matrizes chamadas transformaes homogneas, que contm a informao da posio e orientao relativa entre dois sistemas de coordenadas. Uma transformao homognea ( BT ) uma matriz 4x4, conforme indicado na equao 3.1 que contm uma matriz de rotao 3x3 ( B R3 x 3 ), que definir a orientao relativa entre dois sistemas de coordenadas, indicados a seguir como {A} e {B}, e um vetor-coluna 3x1 ( OB ) que identifica a origem de um sistema de coordenadas {B} em relao ao sistema de coordenadas {A}. A ltima linha da transformao homognea ser sempre igual a [ 0 0 0 1]. Na matriz de rotao ( B R3 x 3 ), a
A
A

B em relao ao sistema de coordenadas primeira coluna apresenta a projeo do versor x


{A}. Da mesma forma, a segunda e terceira colunas apresentam, respectivamente, as

B e z B em relao ao sistema de coordenadas {A} (CRAIG, 1989; projees dos versores y


LAUS, 2006).

A B

A B R3 x 3

0 0 0

OB 3 x1 1

Eq. 3.1

Na construo do modelo cinemtico necessrio partir-se de uma pose ou desenho do rob, com a representao dos tipos de junta e a relao entre elas. Perspectivas cnicas sofisticadas e com riqueza de detalhes geralmente no so teis porque tornam o trabalho de interpretao do desenho mais difcil, j que escondem a relao entre as juntas e, muitas vezes, a prpria localizao de uma junta. Uma vez que se compreende a relao entre as juntas, formulando um modelo mental do rob, possvel construir-se um desenho utilizando-se uma representao simblica das juntas, ao invs de uma perspectiva ou de uma projeo ortogonal mais acurada (LAUS et al., 2006).

3.1.1 Modelo cinemtico do rob estudado


O modelo cinemtico de um rob de seis graus de liberdade, que foi usado neste trabalho, est representado de forma simblica na figura 3.1, juntamente com a tabela 3.1

e z , juntamente que representa a relao cinemtica entre as juntas. No modelo, as letras x


com os seus ndices, representam os versores dos eixos do sistema de coordenadas associado a cada junta do rob.

= Z1

X
^ ^ ^

X 0 X1 X 2

Z
^ ^

Z3

Z3

= [0, 0, 0, + 90, 0, 0] T

Figura 3.1 - Modelo cinemtico rob de seis graus de liberdade (LAUS, 2006).

Note que o modelo da figura 3.1 tambm define a pose de referncia que corresponde aos ngulos de junta = [0, 0, 0, + 90, 0, 0] T . Estes valores para os ngulos de junta, assim como os demais valores dos parmetros do rob so indicados na tabela 3.1. Nesta tabela:
r

a i 1

i 1 ; i 1 at o versor z i ao longo do versor x a distncia do versor z


i 1 ; i medido em relao ao versor x i 1 at o versor z o ngulo do versor z

i 1
di

i ao longo do versor z i 1 at o versor x i ; a distncia do versor x


i medido em relao ao versor z i 1 at o versor x i . o ngulo do versor x
A figura 3.2 ilustra os parmetros, apresentados na tabela 3.1, que so normalmente

usados na representao cinemtica de robs industriais. Como mencionado anteriormente, a Notao de Denavit-Hartenberg Modificada usada para gerar a representao da posio e orientao relativa entre dois sistemas de coordenadas adjacentes {i-1} e {i}. Para isso, basta calcular a transformao homognea indicada na equao 3.2, atravs da substituio dos valores de a i 1 , i 1 , d i e i nesta equao.

Figura 3.2. Parmetros usados na notao Denavit-Hartenberg.(LAUS, 2006)

10

i 1 i

cos i cos sen i 1 i = sen i 1 sen i 0

sen i cos i 1 cos i sen i 1 cos i 0

0 sen i 1 cos i 1 0

ai 1 d sen i i 1 d i cos i 1 1

Eq. 3.2

A partir da tabela 3.1 e da posterior substituio dos valores de cada linha i na equao 3.2, identificou-se a transformao homognea ( tabela, conforme indicado nas equaes (3.3) a (3.8):
Tabela 3.1 - Relao cinemtica entre as juntas (LAUS, 2006).
i
i 1 i
0 1
i 1 i

) para cada linha desta

i 1
0 90 0 0 +90 -90

a i 1
0 0

i
1 2 3
90 + 4

di
0 0 0 0

1 2 3 4 5 6

T T T T T T

1 2 2 3
3 4 4 5 5 6

a2 a3
0 0

5 6

d5
0

0 1

cos( 1 ) sen( 1 ) sen( ) cos( ) 1 1 = 0 0 0 0

0 0 1 0

0 0 0 1

Eq. 3.3

1 2

cos( 2 ) sen( 2 ) 0 0 = sen( 2 ) cos( 2 ) 0 0

0 0 1 0 0 0 0 1

Eq. 3.4

11

2 3

cos( 3 ) sen( 3 ) sen( ) cos( ) 3 3 = 0 0 0 0 cos( 4 ) sen( 4 ) sen( ) cos( ) 4 4 = 0 0 0 0

0 a2 0 0 1 0 0 1 0 a3 0 0 1 0 0 1

Eq. 3.5

3 4

Eq. 3.6

4 5

0 cos( 5 ) sen( 5 ) 0 0 0 1 d5 = sen( 5 ) cos( 5 ) 0 0 0 0 0 1

Eq. 3.7

5 6

cos( 6 ) sen( 6 ) 0 0 = sen( 6 ) cos( 6 ) 0 0

0 0 1 0 0 0 0 1

Eq. 3.8

Multiplicando-se as transformaes homogneas obtidas, tm-se as equaes (3.9) e (3.10), que permitem identificar a posio e orientao da sexta junta (onde estar acoplada a ferramenta de solda) em relao base do rob (identificada como sistema de coordenadas {0}).
0 6 0 1 1 2 3 4 5

T 2 T 3T 4 T 5T 6 T
c5s1 c1s5c234 c5c1 s1s5c234 s5 s234 0

Eq. 3.9
d5c1s234 + c1 (a2c2 + a3c23 ) d5 s1s234 + s1 (a2c2 + a3c23 ) d5c234 + a2 s2 + a3s23 1

c6 s1s5 s6c1s234 + c1c5c6c234 0 c6c1s5 s6 s1s234 + s1c5c6c234 T = 6 c5c6 s234 + s6c234 0

s1s5s6 c1c6 s234 c1c5s6c234 c1s5 s6 s1c6 s234 s1c5 s6c234 c5 s6 s234 + c6c234 0

Eq. 3.10 onde: ci si c234 s234 = = = = cos(i) sen(i) cos(2+3+4) sen(2+3+4)

12

Esta ltima transformao homognea (eq. 3.10) descreve a posio (atravs da ltima coluna) e a orientao (atravs da submatriz de rotao) do punho do rob em funo dos ngulos

1 , 2 , 3 , 4 , 5

que aparecem na equao na forma de senos e co-

senos desses ngulos ou da soma deles. Os outros parmetros da equao 3.10 ( a 2 , a3 e

d5 )

normalmente so constantes conhecidas, pois podem ser obtidos do manual do rob,

interpretando-se algum desenho ou por processo de calibrao (identificao) do rob.

3.2 Cinemtica inversa


O objetivo da cinemtica inversa obter o valor de todas as variveis de junta para se atingir uma posio/orientao (meta) desejada. H trs problemas a se considerar: A existncia de mais de um conjunto (vetor) de solues; A inexistncia de qualquer soluo (por falta de alcance ou destreza do rob); A conteno de solues (por falta de graus de liberdade no manipulador ou extremidade do rob). A existncia de mais de um conjunto (vetor) de solues pode representar um problema adicional, j que pode haver um nmero finito (ou at infinito) de solues e devese escolher uma delas. Podem existir infinitas solues no caso de uma ou mais juntas do rob serem redundantes 1 para a tarefa ou se tornarem redundantes por estar trabalhando em uma posio/orientao singular 2. A figura 3.3 apresentada para exemplificar um caso em que, para uma dada posio e orientao do manipulador (extremidade do rob), h oito solues diferentes para os ngulos das juntas do rob. A inexistncia de qualquer soluo pode ocorrer devido posio/orientao estar fora do espao de trabalho do rob. Define-se, ento, espao de trabalho como sendo o conjunto de posies cartesianas que o rob pode atingir. Neste caso, as nicas solues para o problema so a substituio do rob por outro de espao de trabalho adequado ou a aproximao do rob da meta (mover a base do rob para que ele fique mais prximo da meta). A inexistncia de qualquer soluo tambm pode ocorrer por falta de destreza do rob (o rob pode atingir a posio desejada, mas no com a orientao desejada). Diz-se,
1

Um rob manipulador chamado de redundante quando o nmero de graus de mobilidade do mecanismo

maior que o nmero de variveis necessrias para realizar uma tarefa (SCIAVICCO e SICILIANO, 1996).
2

A singularidade ocorre quando ocorre o alinhamento de dois ou mais eixos do sistema de coordenadas do

manipulador (SCIAVICCO e SICILIANO, 1996).

13

neste caso, que a meta est fora do espao de trabalho destro. Define-se, ento, espao de trabalho destro como sendo o conjunto de posies cartesianas que o rob pode atingir com qualquer orientao. Naturalmente, o espao de trabalho destro menor que o espao de trabalho (total) j que h muitas posies (com o brao quase totalmente esticado ou recolhido) que o rob pode atingir, mas com restrio na orientao (no possvel uma orientao arbitrria) (LAUS, 2006). Existem manipuladores no mercado com menos do que seis graus de liberdade e que, portanto, no podem atingir qualquer posio/orientao (o espao de trabalho destro um conjunto vazio) (SANTOS, 2007). Neste caso, a cinemtica inversa deve ser calculada levando-se em conta que no possvel obter uma orientao arbitrria. H duas tcnicas para isso: Projetar a posio/orientao desejada sobre o espao de trabalho do rob (implicando na perda de um ou mais graus de liberdade) e calcular a soluo para a posio/orientao projetada; Desenvolver a cinemtica inversa usando, por comparao, a cinemtica do rob com a cinemtica atingvel (obtida, por exemplo, usando ngulos de Euler como um dos ngulos constantes). Esta tcnica apresenta a vantagem de fornecer a cinemtica direta em uma forma intuitiva para o programador, porm h a desvantagem da necessidade de que as outras formas de descrio sejam traduzidas para a forma usada e no para transformaes homogneas, o que mais genrico. De qualquer forma, h a necessidade da determinao de solues especficas para cada manipulador ou conjunto manipulador/ferramenta.

3.3 Programao de robs


A programao dos robs industriais tambm pode receber o nome de ensino e pode envolver diferentes dispositivos de comunicao homem-mquina. Ela compreende, alm do dispositivo ao qual se introduz a informao, a linguagem empregada na informao. Logo, entende-se por programao a forma e os meios que um rob dispe para ser informado sobre a tarefa que deve realizar. Um rob normalmente programado atravs da incluso de comandos na memria de seu controlador. Existem quatro mtodos de programao de robs (GROOVER, 1987):

Setup manual - nesta forma, a programao feita atravs da colocao de obstculos fsicos que so utilizados como barreiras para controlar os pontos finais de cada

14

movimento. No entanto, a simples colocao de obstculos no corresponde precisamente a um mtodo de programao, e sim a um controle mecnico;

Figura 3.3. Oito solues para um rob de seis graus de liberdade (LAUS, 2006).

15

Programao ponto-a-ponto ou leadthrough - o programador precisa movimentar o rob de acordo com o movimento desejado durante um processo de aprendizado, incluindo, desta forma, os pontos por onde o rob deve se deslocar na memria do controlador. Esse mtodo mais adequado para tarefas de trajetria contnua, como: pintura por pulverizao, limpeza, aplicao de cola ou solda a arco, cuja programao seria extremamente tediosa de outra forma. Quem programa dessa maneira deve conhecer bem a tarefa. Essa programao pode ser feita tambm de modo ponto a ponto, onde o rob apenas grava certos pontos e, na repetio, move-se entre eles em linha reta (ou trajetrias circulares, se assim for solicitado). Essa maneira mais utilizada em tarefas como erguer e abaixar objetos, cuja posio conhecida com exatido. Este tipo de programao envolve o uso de um uma espcie de controle porttil para guiar o rob ao longo da trajetria desejada, dotado de um teclado e um "joystick", comumente chamado de "teach-box". Quando o programador especifica um trajeto contnuo ou ponto a ponto, usando coordenadas cartesianas, os sinais do programa vo para o controlador, que os transforma em coordenadas de juntas e envia os sinais apropriados para os atuadores moverem as juntas e produzirem o movimento desejado do rob. A figura 3.4 mostra o controle utilizado pelos robs da Asea Brown Boveri (ABB), denominado por eles de Flex-pendant. Apesar de ser um mtodo simples de programar, possui algumas desvantagens como: a necessidade de interromper o processo de produo e esperar a programao; ser limitado em termos de incorporar mecanismos de tomada de deciso no programa e no ser compatvel com tecnologias de computao existentes (CAD/CAM, comunicao e banco de dados);

Programao direta em Linguagens de programao prprias - semelhante programao de um computador, respeitando-se as caractersticas do rob. Neste caso, para a confeco do programa, no necessrio a utilizao do rob. Apresenta vrias vantagens como: um melhor tratamento dos sensores; capacidade de controlar dispositivos externos; aumento da capacidade de expressar a lgica do programa e possibilidade de comunicar com sistemas computacionais externos permitindo o acesso a vrios recursos como bases de dados ou bases de conhecimento;

Programao off-line similar ao tipo anterior, utiliza-se uma linguagem de programao prpria (com as vantagens j indicadas), mas o desenvolvimento no feito diretamente sobre o rob e sim atravs de um sistema de computao normal, permitindo simular o programa que, somente quando pronto e correto, ser enviado ao rob para execuo. A grande vantagem deste mtodo o fato de no ser necessrio interromper o processo de produo para construir e testar o programa.

16

Figura 3.4 - Controle para programao de robs ABB Flex-pendant (ABB, 2004).

Programao off-line similar ao tipo anterior, utiliza-se uma linguagem de programao prpria (com as vantagens j indicadas), mas o desenvolvimento no feito diretamente sobre o rob e sim atravs de um sistema de computao normal, permitindo simular o programa que, somente quando pronto e correto, ser enviado ao rob para execuo. A grande vantagem deste mtodo o fato de no ser necessrio interromper o processo de produo para construir e testar o programa. Em geral, os mtodos apresentados so fceis de aplicar, mas apresentam um

problema em comum: consomem muito tempo durante a programao. Se fosse necessrio reprogramar 250 robs a cada meia hora, considerando-se cerca de uma hora para a programao de cada um deles, o tempo gasto, alm do custo da mo de obra de programadores, amarrariam demasiadamente a linha de produo, que ficaria indisponvel para a produo durante o perodo de programao dos robs. Felizmente, o ensino s consome tempo na primeira vez em que uma tarefa programada. Uma vez que os movimentos estejam corretos, eles podem ser, rapidamente, transferidos por meios eletrnicos para um, vrios ou todos os robs da linha de produo. Quando os movimentos gravados no so mais necessrios para a tarefa imediata que est sendo executada, eles podem ser salvos para uma chamada posterior fcil e rpida (SANTOS, 2001). Uma grande desvantagem dos mtodos de programao leadthrough e off-line que eles no utilizam sinais de sensores. s vezes, os robs precisam de sensores para gui-los em seu trabalho e programar sem sensores complicado demais, considerando a tarefa que tem de ser feita. Por exemplo, suponha que se queira treinar um rob para

17

desempilhar pequenas caixas de uma plataforma. Mesmo que todas as caixas sejam do mesmo tamanho, elas podem estar orientadas de maneira diferente e empilhadas em diferentes nveis. Dever-se-ia usar programao por conduo ou por aprendizagem para treinar o rob a remover caixas em pilhas de 25, ento de 24 e depois de 23 caixas de altura? Pareceria mais rpido que algum fizesse o trabalho e se esquecesse do rob. No ser possvel encontrar um modo de ensinar o rob a empilhar caixas de qualquer tamanho, dispostas em qualquer orientao e empilhadas a qualquer altura? Certamente seria usado para essa tarefa um mtodo de instruo que utilizasse sensores com um programa "offline", interligando o rob a um sistema de viso (SANTOS, 2001). Como pode ser visto, o uso de uma linguagem de programao, off-line ou no, traz muitas vantagens para a rea de robtica. No entanto, estas linguagens de programao apresentam algumas caractersticas que prejudicam o desenvolvimento de sistemas robticos, no que diz respeito engenharia de software:

As linguagens utilizadas so do paradigma imperativo, e algumas delas so do tipo assembly, ou seja, as linguagens utilizadas pertencem a um nvel prximo da mquina, o que faz com que o programador desvie sua ateno da lgica do programa para aspectos do hardware;

O controle do fluxo de execuo realizado atravs de desvios incondicionais (go to). Mesmo nos desvios condicionais, a execuo desviada para um ponto qualquer do programa definido por um rtulo. Isto prejudica os critrios da programao estruturada;

No existe portabilidade de cdigo fonte, pois cada linguagem de programao especfica para um rob; Como conseqncia do item anterior, a reutilizao s possvel entre programas feitos para as mesmas mquinas; Devido no portabilidade de cdigo fonte, os programadores precisam ser treinados sempre que houver alguma troca de equipamento.

3.4 Planejamento da trajetria de robs


Segundo FU et al.(1987), para controlar um manipulador necessrio que a configurao do brao do rob nas posies inicial e final sejam especificadas antes que a trajetria de movimento seja planejada. As restries de uma tpica trajetria de junta so mostradas a seguir: a. Restries de posio

18

Posio inicial: velocidade e acelerao so dadas (normalmente zero) Posio superior: movimentao contnua para pontos intermedirios Posio inferior: similar posio superior Posio final: velocidade e acelerao so dadas (normalmente zero)

b. Restries fsicas e geomtricas

Limites mecnicos de cada junta do manipulador (rea de trabalho)

c. Consideraes de tempo

Segmentos inicial e final da trajetria: o tempo baseado na taxa de aproximao do ponto central do punho (TCP) Pontos intermedirios ou segmento da trajetria mdia: o tempo baseado na mxima velocidade e acelerao das juntas e o mximo destes tempos usado (neste caso, o tempo mximo da junta mais lenta usado por normalizao). Baseado nestas restries pode ser feita a seleo de uma classe de funes

polinomiais de grau n ou menor, de modo que sejam contemplados cada um dos parmetros definidos (posio de junta, velocidade e acelerao) das posies inicial, superior, inferior e final. Um exemplo de abordagem para esta situao a equao polinomial (3.9) de grau sete (FU et al., 1987):

qi (t) = a7 t 7 + a6 t 6 + a5 t 5 + a4 t 4 + a3 t 3 + a2 t 2 + a1 t

a0

Eq. 3.9

onde i representa o nmero de juntas do manipulador e os coeficientes a j podem ser determinados a partir das posies conhecidas e condies de continuidade. Porm, o emprego de um polinmio de alto grau para interpolar os pontos dados pode no ser satisfatrio. Uma abordagem alternativa dividir a trajetria completa em diversos segmentos que podem ser interpolados atravs de polinmios de baixo grau, simplificando consideravelmente o clculo envolvido. H diferentes mtodos de dividir uma trajetria de junta, e cada um deles apresenta diferentes propriedades. Os mtodos mais comuns so os seguintes: Trajetria 4-3-4. Neste mtodo, cada junta possui trs segmentos de trajetria: o primeiro segmento um polinmio de grau quatro que especifica a trajetria desde a posio inicial at a posio superior. O segundo segmento, por sua vez, um polinmio de grau trs que

19

especifica a trajetria da posio superior posio inferior. O ltimo segmento de trajetria um polinmio de grau quatro que especifica a trajetria desde a posio inferior at posio final. Trajetria 3-5-3. Similar ao mtodo de trajetria 4-3-4, porm utiliza polinmios de graus diferentes para cada segmento: um polinmio de grau trs para o primeiro segmento, um polinmio de grau cinco para o segundo segmento e um polinmio de grau trs para o ltimo segmento. Trajetria 5-Cbica. Neste mtodo, so utilizadas funes spline de polinmios de grau trs para uma trajetria de cinco segmentos. Note que a discusso apresentada vlida para cada trajetria de eixo; isto , cada trajetria de eixo dividida em trajetrias de trs ou cinco segmentos. O nmero de polinmios para o mtodo 3-4-3 de um manipulador de N-juntas ter N trajetrias de junta ou N * 3 = 3N segmentos de trajetria e 7N coeficientes polinomiais para validar os segmentos de trajetria 3N. Uma discusso detalhada dos mtodos de trajetria 4-3-4 e 5cbico pode ser consultada em FU et al. (1987). A principal caracterstica que diferencia as linguagens de programao de robs das linguagens de programao convencionais a necessidade de marcar/planejar os pontos da trajetria. Isto preciso porque o efetuador (extremidade) de um rob pode ser movimentado de um lugar para outro, e em cada lugar ele poder fazer alguma tarefa (soldar, pintar, pegar, largar, etc.). Cada um destes lugares possui uma posio e uma orientao associadas a ele. Devido aos objetivos deste trabalho, ser detalhada a seguir a programao de robs voltados para a soldagem.

3.5 Programao de robs de soldagem


Segundo ROMANO (2002), a utilizao de robs para soldagem industrial exige um conjunto de componentes bsicos e a execuo da programao das trajetrias, que o rob dever executar durante o ciclo de trabalho. Normalmente, esses componentes so agrupados e confinados em clulas de soldagem. A figura 3.5 apresenta uma clula de soldagem robotizada. A tabela 3.2 destaca os componentes bsicos de um sistema de soldagem industrial, bem como suas principais caractersticas. A programao leadthrough de um rob para a realizao de soldas obedece seguinte seqncia:

20

1 Calibrao da posio da tocha de soldagem, para assegurar que o rob ir trabalhar


dentro de sua faixa de tolerncia;

2 Localizao dos componentes de trabalho (mesa, gabaritos, fixadores) e definio do


tipo de fonte de energia;

3 Definio do caminho que ser seguido pela tocha (ou seja, a trajetria de trabalho),
assim como a localizao dos cordes de solda;

4 Definio das condies de soldagem a serem utilizadas e que devem estar


atreladas s coordenadas de movimentao do rob. Nessa etapa da programao, so inseridos dois tipos de dados: o primeiro no incio da trajetria, onde ser depositado o cordo, contendo informaes para a abertura de arco e o segundo no final da trajetria, contendo informaes para a extino do arco.

5 Refinamento do programa atravs da verificao do desempenho e introduo de


alguns controles bsicos para soldagem.

Figura 3.5 - Clula de soldagem robotizada.

Por exemplo, para programar um rob para soldar um componente feita a orientao da tocha de soldagem, posicionada no final do brao do rob (punho). A movimentao ou manipulao das juntas do rob, assim como a determinao do caminho a ser seguido, realizada atravs do teach-pendant (figura 3.4). Os pontos ao longo da trajetria so armazenados na memria do controlador do rob (o programador guia fisicamente a tocha de soldagem ao longo da trajetria desejada, gravando pontos). O rob ir repetir essa trajetria tendo como referncia as coordenadas da posio de calibrao.

21

Tabela 3.2. Componentes bsicos de um sistema de soldagem robotizado (ROMANO, 2002). COMPONENTES BSICOS Rob Controlador do rob Fonte de energia para soldagem Equipamentos e acessrios PRINCIPAIS CARACTERSTICAS Graus de liberdade, rea de trabalho utilizvel, preciso, sistema de controle, repetibilidade, velocidade e capacidade de carga Interface de programao, capacidade de memria para armazenamento do sistema operacional e do programa de trabalho, e software de aplicao para soldagem Ciclo de trabalho (usualmente 100% desejvel), interface com o controle do rob, preciso, confiabilidade e robustez Alimentador de arame, tocha de soldagem, estao de limpeza do bocal da tocha, ferramentas para alinhamento da tocha e equipamentos de segurana.

Caso a espessura ou as dimenses da pea sejam diferentes da utilizada durante a programao da trajetria e das condies de soldagem do rob, o cordo de solda ser posicionado em uma posio diferente da desejada, ou seja, no cobrir completamente o chanfro ou a junta, ou ento o far de forma incompleta. Consequentemente, a preciso do trabalho realizado pelo rob depende, alm de sua preciso de posicionamento, da qualidade da fixao da pea pelos dispositivos e do controle rigoroso da tolerncia dimensional dos componentes a serem soldados. Devido s dificuldades apresentadas, torna-se cada vez mais evidente a necessidade de tcnicas de auxlio programao de robs, permitindo aos programadores a possibilidade de criao de programas de robs mais robustos, estruturados e concebidos de maneira a utilizar os recursos disponveis do equipamento desde o primeiro momento, eliminando a necessidade de correes posteriores para a melhoria de desempenho nas tarefas desejadas. Algumas destas tcnicas, bem como exemplos de aplicaes, sero mostrados na seqncia.

22

4. TCNICAS DE OTIMIZAO
A grande incidncia de problemas de otimizao em reas como telecomunicaes, logstica e produo vem motivando o desenvolvimento de tcnicas de otimizao, que usualmente so formadas pela adaptao de idias de vrias reas de pesquisa. Em muitos problemas que envolvem alocao de recursos, embalagem e programao da produo, podem ser usados mtodos baseados em programao matemtica (programao linear e /ou inteira). Porm, esses mtodos tradicionais, em geral, trabalham com estruturas complexas de modelagem, assumem quantidades determinsticas e tm problemas para lidar com qualquer efeito estocstico. No h como negar que estes mtodos tm produzido excelentes resultados nos ltimos 40 anos, e precisamente por causa do seu sucesso, usual modelar problemas usando esse tipo de estrutura para se chegar a uma soluo. Ainda que esses modelos sejam eficientes para muitos casos, nos ltimos anos, diversos mtodos heursticos tm sido desenvolvidos, possibilitando a modelagem de problemas sem a necessidade de utilizao das mesmas estruturas. H duas razes para a adoo de mtodos heursticos: dificuldade de modelar o problema usando programao matemtica; o tempo de soluo do problema ser extremamente alto usando programao matemtica. Isso possibilitou a construo de modelos onde o objetivo deixou de ser a identificao de solues timas, como ocorre na programao matemtica, e passou a ser a identificao da melhor soluo possvel dentro do tempo ou critrio de parada especificado (RODRIGUES, 2006). No contexto da determinao de trajetrias satisfatrias para manipuladores robticos, vrias mtodos tm sido propostos e pesquisados nos ltimos anos. Por exemplo, PIRES e MACHADO (1999) tm usado AG (Algoritmos Genticos) para a gerao de trajetrias livres de coliso para manipuladores robticos com o objetivo de minimizar a extenso do caminho percorrido. Os autores tm usado a cinemtica direta para este propsito e tm apresentado resultados para diversos robs manipuladores redundantes e no-redundantes. Similarmente, CHEN e ZALZALA (1997) tm aplicado a aproximao de AG para o planejamento de movimentao de sistemas de manipuladores mveis. Distncia mnima de trajeto e percurso seguro foram considerados como os dois critrios para o planejamento do rob. A nfase do estudo foi utilizar AG para buscar uma soluo global tima e resolver o problema de minimizao da distribuio de torque do manipulador. Vrios resultados de simulao para dois exemplos propostos em que foram utilizados a aproximao por AG se mostraram melhores que mtodos convencionais de busca.

23

AKIR et al. (2006) empregou em seu artigo AG para o planejamento de trajetria de robs industriais com seis graus de liberdade (DOF), em adio com um tipo de lgebra alternativa chamado de teorema dos quartenions. Para empregar o mtodo baseado em AG, cada cromossomo da populao foi transformado em um vetor que indicava as coordenadas de posio utilizando valores reais no primeiro estgio, representando uma soluo para o problema. Por sua vez, WU et al (2000) abordou um problema de coordenao entre um manipulador de seis eixos e uma mesa de posicionamento de trs eixos aplicados a um sistema de soldagem a arco, empregando algoritmos genticos para solucionar o problema de planejamento de trajetria do manipulador. A reviso, apresentada a seguir, aborda trs mtodos heursticos: busca tabu, algoritmos genticos e simulated annealing. A filosofia da Busca Tabu (BT) se deriva e pode explorar uma coleo de mecanismos de memria dos movimentos executados e das solues geradas anteriormente. Algoritmos genticos (AG) buscam imitar o fenmeno biolgico da reproduo e da evoluo. O simulated annealing (SA) baseado na simulao de um processo fsico da metalurgia, a tmpera ou o recozimento, sendo tambm chamado de tmpera simulada ou recozimento simulado. As heursticas foram consideradas durante muito tempo modelos cognitivos. Elas se constituem de regras baseadas na experincia e na memria das solues obtidas durante o processo de busca para a gerao de novas solues. Os mtodos heursticos diferem dos mtodos exatos, como a programao matemtica, porque estes ltimos normalmente constroem as solues durante o processo de busca, enquanto os mtodos heursticos usam a(s) soluo(es) vigente(s) para gerar nova(s) soluo(es) vizinha(s) da(s) vigente(s). Uma tcnica heurstica (ou simplesmente, uma heurstica) um mtodo de busca de solues a um custo computacional aceitvel, porm sem a garantia absoluta de otimalidade. Infelizmente, no possvel mesmo indicar quo perto da otimalidade uma soluo heurstica em particular est (SMITH et al, 1996). As tcnicas heursticas no asseguram a identificao da soluo tima, mas podem trabalhar tanto com solues factveis como infactveis. No caso de usar solues infactveis, esta ao destina-se exclusivamente a permitir que a busca fuja de pontos de mnimo ou mximo local, necessitando-se garantir que a busca posteriormente convergir para uma soluo factvel.

4.1 Busca tabu


A Busca Tabu (BT) uma meta-heurstica que guia um procedimento de busca heurstica local, de forma a permitir que o espao de soluo alcance um ponto de

24

otimalidade local, mas sem ficar preso a esta regio do espao de busca. Um dos principais componentes da BT o uso de diferentes mecanismos de memria, o que cria um comportamento de busca mais flexvel. H uma diversidade de aplicaes da busca tabu, como no seu emprego na resoluo de problemas de planejamento e programao de produo, alocao de recursos, layout de clulas, etc. O mtodo da Busca Tabu, qualificado como inteligente, baseia-se na premissa de que a soluo de um problema deve incorporar mecanismos de memria e explorao responsiva (escolhas estratgicas). Uma boa analogia a escalada de montanha, onde o alpinista deve lembrar seletivamente (memorizar) elementos chave do caminho percorrido e deve estar apto a fazer escolhas estratgicas ao longo do caminho. O uso da memria (dos ltimos movimentos e/ou solues geradas) na BT permite a implementao de procedimentos capazes de explorar uma grande poro do espao de solues com requisitos mnimos de memria. O mtodo de busca do algoritmo envolve trs etapas a cada iterao: montagem da vizinhana, avaliao e escolha da prxima soluo. Na montagem da vizinhana, realiza-se uma troca de posio de todos os elementos da soluo corrente da iterao. Ou seja, gerase todas as solues vizinhas da soluo vigente. Cada movimento representa um vizinho, que uma soluo vivel. Na avaliao, identifica-se qual a melhor soluo da vizinhana analisada, para se tornar a soluo vigente (s) no passo seguinte. Esse movimento guardado na memria de curto prazo, tambm chamada lista tabu, a qual responsvel por guardar os movimentos realizados na mudana da soluo corrente (ou vigente), entre cada iterao. Nessa mudana, o algoritmo faz com que este movimento seja tabu ou proibido por um nmero k de iteraes. A cada iterao, atualiza-se a memria de curto prazo (lista tabu). Para a escolha da prxima soluo, verifica-se a memria (lista tabu) para se continuar a busca na prxima iterao. Para esta soluo, verifica-se tambm se algum movimento tabu gera uma soluo melhor que a melhor soluo j encontrada at ento (s*). Caso ela seja melhor que s*, o movimento tabu aceito e esta soluo gravada como nova soluo vigente. Este procedimento chamado de Critrio ou Funo de Aspirao. Em resumo, segundo MICHALEWICZ e FOGEL (2000), a idia principal por trs da BT muito simples. Uma memria fora a busca a explorar novas reas do espao de busca. Pode-se memorizar os movimentos que tenham sido executados recentemente, e estes tornam-se tabu (proibidos) no processo de seleo da prximas k solues, assumindo que qualquer movimento possa ficar tabu por k iteraes. Note que a BT basicamente determinstica (opostamente ao simulated annealing), mas possvel adicionar alguns elementos probabilsticos a ela.

25

Na figura 4.1 apresentada a estrutura bsica da Busca Tabu. Uma forma de explicar os conceitos da BT atravs de um exemplo. Suponha que se esteja resolvendo o problema SAT, como conhecido na literatura (que visa a satisfao de todas as restries do problema), com oito variveis (n = 8). Assim, para uma dada soluo, busca-se uma funo que valide as oito variveis, de tal maneira que a satisfao das restries seja analisada. Assuma que a soluo inicial, gerada aleatoriamente, x = ( x 1 ,..., busca tabu, na figura 4.1.

x 8 ) , onde x

= (0,1,1,1,0,0,0,1). A gerao da soluo inicial est indicada na linha 1 do procedimento de

Figura 4.1. Algoritmo da Busca Tabu (GLOVER e LAGUNA, 1997).

Usualmente, necessita-se de alguma funo de avaliao que fornea parmetros para a busca. Por exemplo, pode-se calcular uma soma de pesos, onde cada peso depende da satisfao de uma regra. Neste caso, a funo de avaliao deve ser maximizada (i.e., busca-se satisfazer todas as regras). No exemplo, assumiu-se que a soluo inicial tem o valor de 27. Na figura 4.1, a linha 2 indica que a soluo inicial assumida como a melhor soluo obtida at ento (s*). As linhas 3 a 5 tratam, respectivamente, da inicializao do contador de iteraes (Iter); da identificao da iterao (MelhorIter) que gerou a melhor

26

soluo obtida at ento, s*; da definio do parmetro BTmax que indica o nmero mximo aceitvel de iteraes sem que ocorra a melhora no valor da soluo s*. A aplicao deste parmetro ser melhor explicada nos comentrios da linha 8. Nas linhas 6 e 7 so inicializadas, respectivamente, a lista Tabu e a funo de Aspirao. Note que inicialmente a lista tabu est zerada, j que nenhum movimento foi realizado at ento. Tambm vale lembrar que a funo de Aspirao ser executada a cada iterao. Neste caso, como a lista tabu est zerada, a funo de Aspirao ficar sem efeito na iterao zero (gerao da soluo inicial). A cada iterao examina-se a vizinhana de x, a qual consiste, para este exemplo, de oito outras solues, cada qual podendo ser obtida pela troca (ou inverso de valor) de um nico bit no vetor x. Todas as solues so, ento, avaliadas e seleciona-se a melhor delas. At este estgio da busca, isto o mesmo que um procedimento hill-climbing (MICHALEWICZ e FOGEL, 2000). Suponha que a troca de valor da terceira varivel gerou a melhor soluo (de valor 31), ento este novo vetor gera a melhor soluo corrente. Agora o momento de introduzir a nova faceta da busca tabu: a lista tabu. Com o objetivo de guardar um registro das aes (movimentos), so utilizadas algumas estruturas de memria. Pretende-se relembrar o ndice da varivel que foi trocada (ou o movimento realizado), assim como o momento (ou iterao) quando este movimento foi feito, para ento serem diferenciados os movimentos antigos e os mais recentes. No caso de um problema SAT, guarda-se na memria, para cada posio do vetor, qual foi a ltima iterao em que uma soluo corrente foi gerada atravs deste movimento (troca do valor desta posio). O valor da memria, associado a cada posio, fornecer informaes sobre quo recente foi o ltimo movimento desta posio em particular. Assumindo que qualquer movimento possa ficar tabu (proibido) por k iteraes, um vetor M de memria inicializado com valores 0 e, ento, a cada iterao j da busca, define-se a entrada M(i) = j + k; quando ocorreu um movimento no i-simo bit , ou seja, quando o i-simo bit foi alterado. Note que, se M(i) igual a zero, isto implica que o isimo bit nunca foi movimentado. Neste caso, a cada iterao j, basta comparar se o valor de j maior ou igual a M(i). Se isto for verdadeiro, j M(i), o i-simo bit pode ser movido. Caso contrrio, j < M(i), o movimento no i-simo bit ser tabu. O processo de gerao de novas solues vigentes pode ser dividido em duas estratgias: intensificao e diversificao. A intensificao corresponde explorao de uma regio do espao de busca. A lista tabu um mecanismo da BT para desestimular a repetio de solues j visitadas. H duas formas de identificar que, apesar da lista tabu, a busca est presa num ponto ou regio de timo local: i) contando o nmero de iteraes executadas desde a ltima alterao da soluo s* (melhor soluo encontrada at ento);

27

ii) memorizar solues geradas e contar a sua repetio. No procedimento da figura 4.1, utiliza-se a primeira forma; ou seja, conta-se o nmero de iteraes executadas desde a ltima alterao da soluo s*. O parmetro BTmax indica o nmero mximo aceitvel de iteraes sem que ocorra a melhora no valor da soluo s*. Assim, o procedimento de intensificao repetido entre as linhas 8 e 19 da Figura 4. A linha 8 controla o fim do procedimento de intensificao, quando a diferena entre a iterao atual (Iter) e a ltima alterao da soluo s* (MelhorIter) se torna maior que BTmax. A linha 9 atualiza o contador de iteraes, Iter. A gerao e seleo da melhor soluo na vizinhana da soluo vigente s, assim como a condio de aspirao, so executadas na linha 10. Nas linhas 11 e 12, respectivamente, so atualizadas a lista Tabu e a nova soluo vigente s. Se a soluo s a melhor soluo gerada at ento, como indica a linha 13, atualiza-se a informao da melhor soluo gerada (s*), entre as linhas 15 e 17. Assumindo que qualquer movimento possa ficar tabu (proibido) por k iteraes, poder ser feita uma nova interpretao atravs de uma entrada M(i) = j+k, quando ocorre o movimento do i-simo bit na iterao j. Pode-se interpretar que o i-simo bit poder ser movido novamente aps k iteraes. Neste caso, a lista tabu (M) atualizada a cada iterao, subtraindo-se uma unidade de cada posio desta memria, a menos que o valor em uma dada posio j esteja zerado. Sob esta interpretao, se k igual a 4, o contedo da estrutura de memria M na primeira iterao do exemplo dado na tabela 4.1. Na primeira iterao, M(3) ser igual a 4; mas na segunda iterao, M(3) ser igual a 3, j que subtrai-se uma unidade de cada posio desta memria a cada iterao, at que este valor seja zerado. Logo, aps 4 iteraes (i.e., k iteraes), a informao armazenada nesta posio da memria ser zerada. Isto pode ser interessante pelo fato de que a principal diferena entre estas duas interpretaes equivalentes simplesmente a maneira de implementao. A ltima aproximao interpreta o valor como o nmero de iteraes pela qual uma dada posio no est disponvel para qualquer movimento.
Tabela 4.1. Contedo da memria aps uma iterao. Varivel (i) Valor M(i) 1 0 2 0 3 4 4 0 5 0 6 0 7 0 8 0

Exemplificando a lista tabu, aps quatro iteraes adicionais com a seleo do melhor vizinho (o qual no necessariamente melhor que a soluo vigente) esta memria tem o contedo mostrado na tabela 4.2. Os nmeros presentes na memria (tabela 4.2) indicam que as variveis 2, 3, 5 e 8 esto disponveis para serem movidas a qualquer

28

momento. A varivel 1 no estar disponvel pelas prximas duas iteraes, pois M(1) = 2; a varivel 3 (que antes era tabu) j estar disponvel para ser escolhida na prxima iterao, pois M(3) = 0; e a varivel 4 (que acabou de ser movida) no estar disponvel pelas prximas quatro iteraes, j que o movimento mais recente, realizado na iterao 5, ocorreu na varivel 4 (i.e., M(4) = 4). A varivel 6 no estar disponvel pelas prximas trs iteraes, pois M(6) = 3; e, por fim, a varivel 7 no estar disponvel por mais uma iterao, pois M(7) = 1.
Tabela 4.2. Contedo da memria aps cinco iteraes. Varivel (i) Valor M(i) 1 2 2 0 3 0 4 4 5 0 6 3 7 1 8 0

Considera-se, aps a quinta iterao do exemplo analisado, que a soluo atual (ou vigente) ser x = (1,1,0,0,0,1,1,1) e que sua funo de avaliao equivale a 33. Ao examinar a vizinhana de x, haver oito solues possveis, correspondentes ao movimento de cada uma das oito variveis:

x x x x x x x x

= (0,1,0,0,0,1,1,1); = (1,0,0,0,0,1,1,1); = (1,1,1,0,0,1,1,1); = (1,1,0,1,0,1,1,1); = (1,1,0,0,1,1,1,1); = (1,1,0,0,0,0,1,1); = (1,1,0,0,0,1,0,1); = (1,1,0,0,0,1,1,0).

Ao avaliar cada uma das solues vizinhas, calcula-se o valor da sua funo de avaliao. Os movimentos memorizados que tenham sido feitos recentemente sero tabu (proibidos) para seleo da nova soluo. Consequentemente, at a prxima iterao (iterao 6), o movimento das variveis tabu (1, 4, 6 e 7) sero proibidos. Estas solues proibidas (tabu) sero consideradas pela funo de avaliao e a prxima soluo ser selecionada entre as solues vizinhas

x 2 , x 3 , x5

x8 .

Assim, a BT utiliza a memria

29

para forar a busca a explorar novas reas do espao de busca. Suponha que a melhor funo de avaliao destas quatro possibilidades dada pela soluo

x5 , a qual tem valor

32. Note que este valor representa um decrscimo na avaliao entre a melhor soluo atual e a nova soluo candidata. Aps a sexta iterao, o contedo da memria muda, como indicado a seguir. Todos os valores da lista Tabu diferentes de zero so decrescidos de um para refletir a atualizao de todos os movimentos tabu memorizados. Em particular, o valor M(7) igual a 1 mudado para M(7) igual 0; i.e., a stima varivel foi removida da lista Tabu depois de quatro iteraes. Tambm, desde que a nova soluo atual selecionada resultou do movimento da quinta varivel, o valor de M(5) mudado de zero para quatro (para as prximas quatro iteraes, esta posio tabu). Assim, aps a sexta iterao o contedo da memria agora como mostrado na tabela 4.3. Outras iteraes so similarmente executadas. Em qualquer estgio, h uma soluo atual sendo processada a qual implica uma vizinhana, e a partir dela, solues tabu so eliminadas de uma possvel explorao.
Tabela 4.3. Contedo da memria aps seis iteraes. Varivel (i) Valor M(i) 1 1 2 0 3 0 4 3 5 4 6 2 7 0 8 0

A proibio de realizar movimentos tabu pode ser considerada demasiadamente restritiva. Pode acontecer com um dos vizinhos considerados tabu, por exemplo, x6, que esta soluo fornea um excelente resultado da funo de avaliao, que melhor que qualquer soluo encontrada anteriormente. Neste caso, deve-se deixar a busca mais flexvel; ou seja, quando uma soluo tabu melhor que qualquer soluo encontrada anteriormente, deve-se ignorar a proibio de realizar este movimento. Pela necessidade de fazer a busca mais flexvel, a busca tabu considera solues de toda a vizinhana, avaliando todas elas, e sob circunstncias normais seleciona uma soluo no-tabu como a prxima soluo vigente, mesmo que esta soluo no-tabu no tenha melhor avaliao que a soluo vigente anterior. Mas, em circunstncias que no so normais, i.e., se uma excelente soluo tabu encontrada na vizinhana, melhor que qualquer soluo encontrada anteriormente, tal soluo poder ser tomada como nova soluo vigente. Este procedimento de anlise de movimentos tabu chamado de critrio de aspirao. claro que h tambm outras possibilidades para aumentar a flexibilidade da busca. Por exemplo, segundo GLOVER e LAGUNA (1997) pode-se mudar o procedimento prvio de seleo determinstica para um mtodo probabilstico, onde as melhores solues

30

tenham uma chance maior de serem selecionadas. Adicionalmente, pode-se mudar o horizonte de memria durante a busca, j que as vezes pode ser interessante memorizar mais (favorecendo a diversificao) e outras vezes menos (i.e., quando o algoritmo atinge uma rea promissora do espao de busca, favorecendo a intensificao). Pode-se tambm ajustar este horizonte de memria para o tamanho do problema (i.e., memorizando os ltimos

n movimentos, onde n indica a medida do tamanho da instncia do problema).


A estrutura da memria discutida at aqui, a lista Tabu, pode ser denominada

memria baseada em recncia, pois ela somente guarda algumas aes das ltimas iteraes. Esta estrutura pode ser estendida para a chamada memria baseada em freqncia, a qual opera sobre um horizonte muito maior. Por exemplo (referindo-se ao problema SAT considerado anteriormente), um vetor H pode servir como uma memria de longo prazo. Este vetor inicializado com valores iguais a zero e, em qualquer estgio da busca, a entrada H(i) = k interpretada como indicando que durante nas ltimas h iteraes do algoritmo, a i-sima varivel foi movida k vezes. Usualmente, o valor do horizonte h significativamente grande, ao menos em comparao com o horizonte da memria baseada em recncia. Assim, depois de 100 iteraes com h igual a 50, a memria de longo prazo H pode ter o valor mostrado na tabela 4.4. Esta freqncia de contagem mostra a distribuio dos movimentos ao longo das ltimas 50 iteraes. Como se pode usar esta informao? Os princpios da BT indicam que este tipo de memria pode ser til para diversificar a busca. Por exemplo, a memria baseada em freqncia fornece informaes sobre quais movimentos tm sido subutilizados (i.e., menos freqentes) ou no representados totalmente, e pode-se diversificar a busca explorando estas possibilidades.
Tabela 4.4. Contedo da memria baseada em freqncia para h = 50. Varivel (i) Memria por freqncia 1 5 2 7 3 11 4 3 5 9 8 6 7 1 8 6

O uso de memrias de longo prazo na Busca Tabu normalmente restrito a algumas circunstncias especiais. Por exemplo, pode-se encontrar uma situao onde todos os movimentos no-tabu levam a solues inferiores, em relao ltima soluo. Assim, para tomar uma deciso sobre qual a prxima direo explorar, pode ser interessante consultar o contedo da memria de longo prazo. H muitas possibilidades aqui para incorporar esta informao dentro de um processo de tomada de deciso. A aproximao mais tpica torna os movimentos de maior freqncia menos atrativos. Usualmente, o valor do resultado da avaliao decrescido por alguma medida de penalidade que depende da freqncia, e o

31

resultado final indica o movimento a ser realizado. Para ilustrar este fato atravs de um exemplo, assuma que o valor da soluo atual s, para o problema SAT analisado, 35. Os movimentos no-tabu (movimentos 2, 3 e 7) resultam em valores de 30, 33 e 31, respectivamente, e nenhum dos movimentos tabu resulta em um valor maior que 37 (o maior valor encontrado at ento), ento o critrio de aspirao no ter efeito. Nestas circunstncias, pode-se utilizar a memria baseada em freqncia. Pode-se assumir que a frmula de avaliao para uma nova soluo s, usada em certas circunstncias, : F(s) = aval(s) penalidade(s) Eq. 4.1

onde aval(s) retorna o valor original da funo de avaliao (i.e., 30, 33 e 31, respectivamente, para solues criadas pelo movimento da segunda, terceira e stima variveis), e: penalidade(s) = 0,7 H(i) Eq. 4.2

onde 0,7 serve como um coeficiente e H(i) o valor pego da memria de longo prazo H: H(2) = 7, para uma soluo criada movendo a segunda varivel; H(3) =11, para uma soluo criada movendo a terceira varivel; H(7) =1, para uma soluo criada movendo a stima varivel; Os novos resultados para as trs possveis solues so: F(2) = 30 0,7 * 7 = 25,1; F(3) = 33 0,7 * 11 = 25,3; F(7) = 31 0,7 * 1 = 30,3, e, ento, a terceira soluo (isto , movendo a stima varivel) a que ser selecionada. A opo acima de incluso de valores de freqncia em uma medida de penalidade para avaliar solues diversifica a busca. claro, muitas outras opes podem ser consideradas em adio BT (GLOVER e LAGUNA, 1997). Por exemplo, se necessrio selecionar um movimento tabu, pode-se usar uma regra adicional (ento chamada aspirao modificada) para selecionar um movimento que considerado o mais antigo dentre todos. Tambm pode ser uma boa idia memorizar no somente o grupo de movimentos recentes, mas tambm se eles geraram ou no qualquer melhoria. Esta informao pode ser incorporada dentro das decises de busca (ento chamada aspirao pela direo da busca). Na seqncia, interessante introduzir o conceito de influncia, a qual mede o grau de mudana de uma nova soluo qualquer em relao distncia entre a antiga e a nova soluo, ou talvez a mudana na viabilidade da soluo quando se trata de

32

um problema restrito. A inteno relacionada com influncia que um movimento particular tem uma grande influncia se um passo grande correspondente foi executado da antiga soluo em relao nova. Esta informao pode tambm ser incorporada dentro da busca (ento chamada aspirao por influncia) (GLOVER e LAGUNA, 1997).

4.2 Algoritmos genticos


Segundo SMITH et al. (1996), algoritmos genticos (AG) tm sido recentemente utilizados quando se necessita de uma ferramenta computacional de busca de solues para problemas complexos, como aprendizagem de mquinas, planejamento da movimentao de robs, reconhecimento de padres, deteco de imagem e muitas outras aplicaes da engenharia. Eles oferecem um grupo um pouco diferente de comparaes e contrastes com a BT e so baseados na seleo de subgrupos (usualmente pares) de solues de uma populao, chamados pais, e na combinao deles para a produo de novas solues chamadas filhos. Regras de combinao para o desenvolvimento de filhos so baseadas na noo gentica de cruzamento, que consiste no intercmbio de valores de soluo de variveis particulares, junto com operaes ocasionais como mudanas de valores aleatrios. Os filhos que passam no teste de sobrevivncia, probabilisticamente influenciado para favorecer os de qualidade superior, so ento disponibilizados para serem escolhidos como pais da gerao seguinte. A escolha dos pais a serem emparelhados em cada gerao baseada na amostragem aleatria ou amostragem aleatria influenciada da populao (em algumas verses paralelas executada em subpopulaes separadas cujos melhores membros so periodicamente trocados ou compartilhados). Assim, o AG inicia com um grupo de solues ao invs de uma soluo nica. A populao consistiu de um grupo de cromossomos, que a partir da qual uma nova populao foi desenvolvida por analogia dos processos especficos da gentica fundamental: reproduo baseada em aptido, cruzamento e mutao. A terminologia gentica costumeiramente se refere a solues como cromossomos, variveis como genes e valores de variveis como alelos. Por meio de convenes de cdigo, os genes dos AGs podem ser comparados a atributos na busca tabu, ou mais precisamente a atributos na forma de memrias baseadas em freqncia. A introduo de memria em AG para rastrear a histria dos genes e seus alelos em subpopulaes iro prover uma imediata e natural forma de criar um modelo hbrido com a BT.

33

4.2.1 Cruzamento
Segundo SMITH et al. (1996), o cruzamento uma idia simples: suponha que haja duas seqncias a e b, cada uma consistindo de 6 variveis, por exemplo, ( a1 , a2 , a3 , a4 , a5 , a6 ) e ( b1 , b2 , b3 , b4 , b5 , b6 ),

representando duas solues para um problema. Um ponto de cruzamento dado aleatoriamente a partir dos nmeros de 1 a 5 e uma nova soluo produzida pela combinao das variveis dos pais originais. Por exemplo, se o ponto de cruzamento foi 2, ento as solues descendentes poderiam ser ( a1 , a2 , b3 , b4 , b5 , b6 ) e ( b1 , b2 , a3 , a4 , a5 , a6 ).

Em muitas aplicaes, o vetor componente, ou cromossomo, simplesmente uma seqncia de zeros e uns. GOLDBERG (1989) sugere que h significativas vantagens se o cromossomo puder ento ser estruturado, embora outros argumentos lancem alguma dvida nisto. Contudo, grande parte do desenvolvimento terico fcil de ser compreendido se for analisado deste modo. Continuando a analogia gentica, variveis so frequentemente chamadas de genes, os possveis valores de uma varivel so chamados de alelos, e a posio de uma varivel em uma seqncia chamada lcus. Em casos simples, o lcus de uma varivel/gene normalmente irrelevante, mas em problemas mais complexos ele torna-se importante. Uma distino adicional esboada, em gentica, entre o cromossomo (ou uma coleo de cromossomos) como gentipo, significando a atual estrutura (ou estruturas), e o fentipo a expresso fsica da estrutura (ou estruturas). Nos termos de um AG, pode-se interpretar o gentipo com a seqncia codificada que processada pelo algoritmo, enquanto o grupo decodificado de parmetros representa o fentipo.

4.2.2 Mutao
Outro operador comumente usado a mutao, o qual fornece a oportunidade de alcanar partes do espao de busca que talvez no possam ser alcanadas pelo cruzamento somente. Cada gene de uma seqncia examinado ao redor, e com uma pequena probabilidade seu alelo atual pode ser mudado. Por exemplo, a seqncia (011001) poderia tornar-se (010011) se o terceiro e quinto alelos forem mutados.

34

4.2.3 Reproduo
Cruzamento e mutao so as ferramentas bsicas para a criao de novas solues (reproduo). No entanto, a escolha de quais cromossomos sero selecionados como base para o passo reprodutivo (ou selecionados para a reproduo) claramente crtica em relao ao que acontece com a populao como um todo. HOLLAND (1992), que foi o responsvel pelo desenvolvimento inicial dos conceitos de AG, sugere que ao menos um dos pais deve sempre ser escolhido pela sua aptido em termos de problemas combinatoriais. Isto implica em alguma funo montona no valor da funo objetivo. Com isso, ele foi capaz de provar o importante Teorema do Esquema, o qual fornece uma maneira de entender como o AG trabalha. A idia bsica fundamental da tradicional teoria de AG ser apresentada na seqncia. Se forem adotadas duas seqncias como (011100) e (010011), pode-se notar que elas tm algo em comum, pois ambas tm um 0 como primeiro gene e um 1 como segundo. No jargo de AG, ambas so instncias de um esquema (01****), onde o smbolo * essencialmente usado como um caractere no importa. Esquematizado dessa maneira, elas representam similarmente subconjuntos de um hipercubo sobre o qual a busca est localizada. Neste caso o subconjunto consiste de todas as 16 (24) seqncias geradas pela substituio de valores particulares no lugar dos smbolos *. A ordem de um esquema o nmero de genes definidos (0 ou 1), enquanto seu comprimento a distncia entre os genes externos definidos. No exemplo acima, a ordem 2 e o comprimento 1. Usando desta maneira os agrupamentos de seqncias juntos, HOLLAND (1992) mostrou que, dado um nmero fixo de instncias de um esquema s na populao numa gerao t, o nmero esperado de instncias do esquema na gerao t+1 poderia aumentar visto que sua razo de aptido f(s) (dada por sua aptido dividida pela mdia da aptido da populao), onde a aptido corresponde ao valor da funo de avaliao, excederia:
l (s ) + k (s ) n 1 Pm

f(s) = 1 +

Eq. 4.3

onde l (s ) o comprimento e k (s ) a ordem de s, e

Pm

a probabilidade de mutao. O

nmero atual de instncias de s pode ser bem diferente do que o nmero esperado. Contudo, ele demonstra a base para uma explanao de como os AGs operam.

35

4.2.4 Um exemplo simples


Para apresentar a ao do AG de forma mais transparente, ser usado o problema de maximizao da funo:

f ( x) = x 3 60 x 2 + 900 x + 100

Eq. 4.4

Suponha que sejam geradas cinco seqncias aleatrias com os resultados mostrados na tabela 4.5.
Tabela 4.5 - Cinco seqncias aleatrias (SMITH et al., 1996)

NM. SEQUNCIA 1 10011 2 00101 3 11010 4 10101 5 01110 MDIA DE APTIDO

x
19 5 26 21 14 2325

f ( x)

P [ selecionado]
0.206 0.277 0.044 0.155 0.317

2399 3225 516 1801 3684

Tratando os valores de f ( x) simplesmente como valores de aptido (ou seja, da funo de avaliao), a probabilidade de seleo de cada seqncia como Pai 1 diretamente proporcional ao seu valor, e dado na coluna P [ selecionado] . Pela distribuio aleatria uniforme dos nmeros entre 0 e 1, foi selecionado o Pai 1 e, atravs da distribuio discreta uniforme, selecionou-se o Pai 2. Novamente, atravs da distribuio aleatria uniforme dos nmeros, procedeu-se o processo de cruzamento (com Pc = 1 ) at um determinado local randmico, seguido pelo processo de mutao (com Pm = 0.02 em cada local). Os resultados de um experimento tpico so apresentados na tabela 4.6.
Tabela 4.6 - Um tpico experimento (SMITH et al, 1996). PASSO 1 2 3 4 5 PAI 1 PAI 2 PONTO DE MUTAO ? CRUZAMENTO 4 2 3 1 4 NNNYN NNNNN NNNNN NYNNN NNNNN DESCENDNCIA SEQUNCIA 10001 01010 01101 11101 00100 2973 4100 3857 129 2804 2773

1 2 5 3 5 2 4 2 2 5 MDIA DE APTIDO

36

A busca iria continuar pelo reclculo das probabilidades de seleo e prosseguiria com um novo ciclo de seleo, cruzamento e mutao. Este um exemplo muito simples do procedimento de AG, mas foi substancialmente efetivo na elevao da mdia da populao, encontrando a alternativa tima no passo 2.

4.3 Simulated annealing


Segundo REEVES (2005), o simulated annealing (SA) a tcnica que primeiramente popularizou-se na dcada passada, e desde ento tm se mostrado um mtodo efetivo de busca para um grande nmero de problemas. Ela executa uma busca dentro do grupo de todas as possveis solues, reduzindo a chance de prender-se em um ponto de timo local pobre pela possibilidade de movimentos para solues inferiores sob o controle de um esquema randomizado. Especificamente, se um movimento a partir de uma soluo x para outra vizinhana, porm de soluo x inferior (ou pior que x), resulta em uma mudana no valor da funo de avaliao de c, tal que c tem valor positivo, onde c = f(x ) f(x) o movimento para x aceito, ainda que a soluo seja inferior anterior, se R < exp(-c/T) Eq. 4.6 Eq. 4.5

onde T um parmetro de controle, e R [0,1] um nmero aleatrio. Sempre que a funo de avaliao f(x) da nova soluo x melhor ou igual funo de avaliao f(x) da soluo anterior x, tal que c tem valor menor ou igual a zero, a nova soluo x ser aceita como a nova soluo vigente. H ainda o Critrio de Metrpolis, que permite a aceitao de uma soluo pior que a soluo vigente para fugir de timos locais. O parmetro T inicialmente alto, aumentando a chance de aceitao de solues inferiores, e vagarosamente reduzido at atingir um valor onde movimentos que geram solues inferiores so quase sempre rejeitados. H uma similar analogia entre este mtodo e o processo termodinmico de tmpera ou recozimento de materiais; e foi esta analogia que originalmente motivou o desenvolvimento do mtodo. As idias que formam a base do SA foram primeiramente publicadas em 1953 em um algoritmo para simular o resfriamento de material em um banho lquido quente um processo conhecido como tmpera. Se um material slido aquecido at o seu ponto de derretimento e ento resfriado voltando ao seu estado slido, as propriedades estruturais do

37

slido resfriado dependem da taxa de resfriamento. O processo de tmpera pode ser simulado pela considerao do material como um sistema de partculas. Como exemplo, seja considerada a maximizao de: f(x) = x - 60 x + 900x + 100 Eq. 4.7

onde x codificado em um nmero binrio inteiro de 5 bits no intervalo [0, 31]. Para ilustrar o SA (Tabela 4.7), a seqncia inicial ser (1 0 0 1 1), cdigo binrio para x = 19, e f(x) ser igual a 2399. Uma das solues vizinhas (ou os bits para mudana) de x escolhida aleatoriamente, como mostrado nesta tabela.
Tabela 4.7 Gerao de novas solues partindo de T=100 (SMITH et al, 1996). T BIT SEQUNCIA x f(x) c R

MOVE R

NOVA SEQUNCIA

100 90 81 72.9 65.6 59.0

1 3 5 2 4 3

00011 10111 10010 11010 10000 10100

3 23 18 26 16 20

2287 1227 2692 516 3236 2100

112 1172 <0 2176 <0 1136

0,65879 0,87456 0,32658 0,44879 0,22589 0,15879

326 x 10-3 2,2 x 10-6 1 1,09 x 10--13 1 4,35 x 10--9

N N S N S N

10011 10011 10010 10010 10000 10000

Devido ao parmetro T ser menor que o valor de c, no exemplo da tabela 4.3, a chance de aceitao de uma soluo inferior ( anterior) diminuiu a medida que a razo entre eles (c / T) aumentou, como indicado na coluna e
c T

. Note que o valor de R

definido aleatoriamente (tal que R [0,1]). Na tabela 4.7, improvvel que T seja alto o suficiente para que a busca saia de um ponto de timo local e, independente da taxa de variao de T pelas prximas 50 tentativas, a chance de alterao da nova seqncia (indicando a sada deste ponto de timo local) ser muito baixa. Na segunda tentativa (tabela 4.8) a temperatura inicial foi alta o suficiente para a busca escapar da regio de atrao do valor de f = 3236 (seqncia: 10000 da tabela 4.7) e o ponto timo global foi encontrado. Note, porm, que a busca escapou do local novamente, mas nas 150 tentativas seguintes a maioria dos estados visitados foram o timo ou um dos seus vizinhos imediatos. Outra observao importante que o ponto de timo global era conhecido neste problema, mas o mais comum que este ponto no seja conhecido. Assim, ainda que o ponto de timo global seja visitado, o SA no ser capaz de identific-lo e a

38

busca prosseguir. por este motivo que to importante dotar o mtodos heursticos de algum mecanismo para a fuga de pontos de timo local.
Tabela 4.8 2 tentativa de gerao de solues partindo de T=500 (SMITH et al, 1996). T BIT SEQUNCIA x f(x) c R

MOVER

NOVA SEQUNCIA

500 450 405 364.5 328.0 295.2 265.7 239.1 215.2

1 3 5 2 4 3 4 5 1

00011 00111 00110 01110 01100 01000 01010 01011 11011

3 7 6 14 12 8 10 11 27

2287 3803 3556 3684 3988 3972 4100 4071 343

112 <0 247 <0 <0 16 <0 29 3728

0,58979 0,88559 0,21359 0,69874 0,95784 0,11236 0,65589 0,33259 0,26598

799 x 10-3 1 543 x 10-3 1 1 947 x 10-3 1 885 x 10 3 x 10


-3 -8

S S S S S S S S N

00011 00111 00110 01110 01100 01000 01010 01011 01011

A escolha da taxa de resfriamento e da temperatura inicial no exemplo apresentado foi feita arbitrariamente. A seguir sero definidas com detalhes as decises genricas necessrias na implementao do SA na prtica. a) Temperatura Inicial Segundo REEVES (1995), o processo deve iniciar de modo que a maioria, seno todos os movimentos possam ser aceitos, por isso, a temperatura inicial deve ser alta. Na prtica, isso pode exigir o conhecimento da magnitude das solues da vizinhana; na falta de tal conhecimento, uma forma de determinao de um valor adequado escolher um valor grande e aplicar o algoritmo por um curto espao de tempo, observando a taxa resultante. Se a taxa for apropriadamente alta, este valor de T pode ser usado para iniciar o processo. A taxa apropriadamente alta aceitvel poder variar de uma situao para outra, mas em muitos casos uma taxa de aceitao entre 40% e 60% pode dar bons resultados. Mtodos mais sofisticados so possveis, porm frequentemente desnecessrios. Apesar de a analogia com o processo de tmpera ou recozimento ser utilizada, o parmetro temperatura T no tem nenhum significado fsico no SA, devendo ser visto como um parmetro adimensional.

39

b) Taxa de Resfriamento Talvez o mais importante fator em aplicaes prticas a taxa de resfriamento. Aqui deve-se notar que h basicamente dois tipos de taxa, por analogia s cadeias Markov homogneas e no homogneas, respectivamente (REEVES, 1995) No caso homogneo, a tmpera conduzida a uma temperatura fixa at que o equilbrio alcanado. Uma vez julgado que este estado tenha sido atingido, a temperatura reduzida, e o procedimento repetido. O nmero de tentativas de movimento a cada temperatura pode ser bastante grande, embora os intervalos de temperatura possam ser grandes tambm. No caso no homogneo, a temperatura reduzida (mas por uma taxa constante mnima) depois de cada movimento. Este caso menos complicado que o caso homogneo, e o mais comumente usado na prtica. Nos dois casos, o mais usual tomar uma taxa de resfriamento constante

, onde 0 < < 1; mas, normalmente, 0.9 < 1. Considerando-se Tk a temperatura na


iterao atual e Tk+1 a temperatura na prxima iterao, tem-se: Tk+1 = Tk c) Temperatura Final Em teoria o procedimento deve ser continuado at que a temperatura final Tf seja prxima de zero, mas na prtica necessrio que se prossiga at que a chance de aceitao de um movimento para cima torne-se desprezvel. d) Nmero de Iteraes Deve-se ter em mente que o nmero de iteraes efetivamente fixado pelas trs escolhas acima descritas. Eq. 4.8

40

5 METODOLOGIA
Como foi apresentado anteriormente, neste trabalho abordado o problema de planejamento de trajetria otimizado de um rob industrial de seis eixos, que parte integrante do conjunto formado por uma mesa posicionadora de um eixo, sendo aplicados a um processo de soldagem do eixo traseiro de um automvel. O posicionador ou mesa posicionadora de um eixo (de um grau de liberdade) usado para ajustar a orientao necessria e mais favorvel execuo de cordes de solda atravs do processo MIG/MAG, enquanto que o rob (de seis graus de liberdade) responsvel por guiar a tocha de soldagem durante o processo. Porm, o processo de posicionamento de ambos (rob e posicionador) normalmente realizado atravs do processo conhecido como ponto-a-ponto ou leadthrough, no qual o programador precisa conduzir o rob atravs de cada ponto da trajetria a ser executada, sendo que cada ponto deve ser gravado na memria do rob. Esse mtodo apresenta a desvantagem de obrigar a interrupo do processo de produo durante a programao; alm de tornar o sistema de programao de um rob de soldagem complexo e demorado, principalmente na execuo de peas com vrios cordes a serem executados. Alm disso, no processo ponto-a-ponto, cabe ao programador do rob a definio da posio e da orientao da tocha de soldagem e, tambm, da orientao do posicionador. Assim, uma definio inadequada da posio e das orientaes implicar num maior tempo de processamento da operao de solda. Visando apresentar um mtodo mais eficiente de programao para o rob em questo, a proposta do trabalho a aplicao do mtodo da Busca Tabu para a seleo da melhor alternativa de trajetria para o rob durante o processo de soldagem. Isto feito atravs da avaliao da melhor combinao de valores de ngulos de junta para a pose de trabalho. importante ressaltar que, neste momento, o foco principal do trabalho a determinao da melhor trajetria para o rob, no sendo contemplado o ajuste dos parmetros de soldagem do processo. Para a abordagem deste problema, ser utilizado o modelo cinemtico correspondente ao rob Mitsubishi modelo RV-M1 de cinco graus de liberdade, acrescido das consideraes para a incluso do sexto eixo. A transformao homognea que descreve a posio e orientao do punho do rob citado conhecida, ou seja, sabe-se o valor numrico de cada elemento da matriz. A matriz de valores associados transformao homognea, indicada por 6T , representada pela equao 5.1:
0~

41

0~ 6T

r11 r 21 = r 31 0

r12 r13 p x p r 22 r 23 y r 32 r 33 p z 0 0 1
0 6

Eq. 5.1

que deve ser igual transformao homognea

que, por sua vez, funo das

variveis de junta mostradas na equao 5.1, ou seja,

0 6

~ T = 0 6T

Eq. 5.2

Esta equao matricial fornece um sistema de equaes com doze equaes escalares que pode ser difcil de ser resolvido. Usando o artifcio de procurar alguma simetria que surge da limitao de uma das juntas, pode-se observar que, neste caso, se a primeira junta for imobilizada, o punho s pode atingir pontos sobre um plano (muito embora a ferramenta possa atingir pontos fora deste plano). Este plano chamado de plano do punho ou plano do rob. A limitao a um plano implica na perda de um grau de liberdade de posicionamento do rob. Assim, de se esperar que a transformao homognea que descreve a posio e orientao do punho em relao ao segmento 1 ( 6T ) tenha um valor constante na ltima coluna (que representa a posio do punho). Esta constante pode ser usada para construir uma equao mais simples, em funo de apenas uma varivel de junta, conforme indicado na equao 5.3. Trabalhando no plano do rob, pode-se igualar a equao 5.3 equao 5.4, obtendo-se a equao 5.5.
r11c1 + r 21s1 r12 c1 + r 22 s1 r13 c 1 + r 23 s1 0~ r 21c1 r11s1 r 22 c1 r12 s1 r 23 c 1 r13 s1 = T 6 r 31 r 32 r 33 0 0 0 p x c 1 + p y s1 p y c 1 p x s1 pz 1

1~ 6T

=0 T 1 1

Eq. 5.3

1 6T

= 2 T 1T 3 T 4 T 5 T 6 T

Eq. 5.4

c5c6c234 s6s234 c5s6c234 c6s234 s5c234 a2c2 + a3c23 + d5s234 s6s5 c6s5 c5 0 1 T = 6 c5c6s234 + s6c234 c5s6s234 + c6c234 s5s234 a2s2 + a3s23 d5c234 0 0 0 1

Eq. 5.5

42

Comparando o elemento na segunda linha e na quarta coluna das duas matrizes nas equaes 5.3 e 5.5 tm-se:

p y cos p sen 1 x

() ( ) = 0 p y cos ( ) = p sen( ) 1 x
1 1

py px

sen1 cos1

tan 1

()

Logo:
py px

1 = arctan

Eq. 5.6

Note que px, py e pz representam as coordenadas cartesianas do ponto central do punho do rob, que por sua vez coincidem com o ponto central da ferramenta (TCP) presa ao punho ou, neste caso, a tocha de soldagem. As matrizes apresentadas nas equaes 5.3 e 5.5 permitem a obteno das seguintes equaes para o clculo dos ngulos das juntas do rob (LAUS, 2006), indicados a seguir. As equaes foram ordenadas na seqncia correta da definio dos ngulos. Conhecendo-se o valor de 1 possvel a comparao do valor dos elementos (2,3) nas equaes 5.4 e 5.5:

cos(5 ) = r 13sen(1) r23 cos(1)

5 = arccos r

13

sen(1) r

23

cos(1)

Eq. 5.7

De forma anloga, conhecendo-se os valores de 1 e 5 possvel a comparao do


1 1 valor dos elementos na primeira e segunda colunas da segunda linha de 6 Te 6 T para se

obter as expresses:

sen( 5 ) cos(6 ) sen( 5 ) sen(6 )

= r 11sen(1) r21 cos(1) = r22 cos(1) r 12 sen(1)

Eq. 5.8

de onde pode-se concluir que, se 5 0 ou se 5 180:

43

r22 cos(1) r12 sen(1) 6 = arctan r sen( ) r cos( ) 1 21 1 11

Eq. 5.9

Fazendo-se a comparao do valor dos elementos na primeira e terceira linhas da


1 1 terceira coluna de 6 Te 6 T obtm-se o sistema de equaes:

sen( 5 ) sen( 5 )

cos( 234 ) = r13 cos(1) r23 sen(1) sen( 234 ) = r33

Eq. 5.10

de onde se conclui que, se 5 0 ou se 5 180:

2 + 3 + 4 = arctan

r33 ) + ) r13 cos(1 r 23 sen(1

Eq. 5.11

A partir de valores arbitrados para px, py e pz, que representam as coordenadas cartesianas da ferramenta de trabalho presa ao punho do rob (neste caso, a tocha de soldagem), o objetivo calcular os valores dos ngulos das juntas para essas coordenadas. A partir destes valores, possvel a aplicao de algoritmos de otimizao para a escolha da melhor combinao de valores dos ngulos das juntas, fornecido pela funo de avaliao (Cs), indicada na equao 5.12:
n 1

Cs

j ,k +1 jk
j k =1

Eq. 5.12

onde jk representa o ngulo da junta j quando o rob ocupa a posio k da trajetria de solda. Neste trabalho abordado o problema de planejamento de trajetria otimizado de um rob industrial de seis eixos, que parte integrante do conjunto formado por uma mesa posicionadora de um eixo (ou seja, com um grau de liberdade), sendo aplicados a um processo de soldagem do eixo traseiro de um automvel. O posicionador ou mesa posicionadora usado para ajustar a orientao necessria e mais favorvel execuo de cordes de solda atravs do processo MIG/MAG, enquanto que o rob (de seis graus de liberdade) responsvel por guiar a tocha de soldagem durante o processo. Sero utilizadas duas modalidades de trajetria: linear e circular.

44

5.1 Trajetria linear


Para a determinao dos parmetros necessrios implementao do algoritmo para a gerao de trajetria do cordo linear, foi utilizado o diagrama mostrado na figura 5.1.

6
38 - 7

7
SOLDA 30 60 - 7

22

TUBO Y7

7
X7

Z0

2 9 10
X0

Figura 5.1. Representao do cordo linear.

No diagrama apresentado, o sistema de coordenadas, tambm conhecido como

7 e y 7 ) representa o grau de liberdade da mesa posicionadora frame7 3, (representado por x


(rotao). Os valores representados pelas letras D e so parmetros adotados para este estudo em particular. Portanto, a metodologia aplicada vlida para qualquer outro conjunto de parmetros existentes. Neste caso, D representa o dimetro do tubo onde ser aplicado
3

A palavra frame indica um sistema de coordenadas que associado a cada um dos graus de

liberdade do problema estudado.

45

o cordo de solda e os valores de so as distncias resultantes da decomposio dos ngulos que incidem entre a tocha de soldagem e a pea. A seguir so apresentados os valores dos parmetros, indicados na figura 5.2, que foram usados no problema estudado.

D 1 2 3 4 5 6 7 8 9 10

= 150 mm; = -200 mm; = 150 mm; = 150 cos 7 = 260 sen (60 - 7); = 100 sen (38 - 7); = 100 mm; = 260 mm; = 150 sen 7; = 260 cos (60 - 7); = 100 cos (38 - 7).
Figura 5.2. Valores adotados no presente estudo.

A partir da anlise dos parmetros do diagrama acima, resulta uma matriz que representa a transformao homognea do ponto central da ferramenta (TCP). Neste caso, a matriz representa o TCP (tocha de soldagem), que est acoplada sexta junta do rob, em relao pose de referncia mostrada na figura 5.1, em substituio equao 5.1.

0 ~ 6

T =

- sen (38 - 7 ) 0 cos (38 - 7 ) 0

cos (38 - 7 ) 0 sen (38 - 7 )

0 1 0

px py pz 1

Eq. (5.13)

onde: x = 150 sen 7 + 260 cos (60 - 7) + 100 cos (38 - 7) 200; y uma varivel independente; z = 150 + 150 cos 7 + 260 sen (60 - 7) + 100 sen (38 - 7).

46

5.2 Trajetria circular


Similarmente ao processo adotado para a trajetria linear, na determinao dos parmetros necessrios implementao do algoritmo para a gerao de trajetria do cordo circular, foram gerados diagramas para cada ponto pertencente trajetria, os quais so mostrados a seguir. Ponto 1:

SOLDA

7
-7
30 TUBO 75 cos 30 60 22

6
PLANO DE SOLDA Z0

112,5

7
MESA

X0 200

Figura 5.3: Diagrama ponto 1 da trajetria circular.

A partir da anlise dos parmetros do diagrama da figura 5.3, resulta uma matriz que representa a transformao homognea do ponto central da ferramenta (TCP). Neste caso, a matriz representa o TCP (tocha de soldagem), que est acoplada sexta junta do rob, em relao pose de referncia mostrada na figura 5.3, em substituio equao 5.1.

- sen (-22 - 7 ) cos (-22 - 7 ) 0 0 0~ 6T = cos (-22 - 7 ) sen (-22 - 7 ) 0 0 onde:

0 1 0 0

px p y pz
1

Eq. (5.14)

x = 112,5 sen 7 + 200 cos (7) + 100 cos (22 + 7) 200 + 75 cos (30); y uma varivel independente; z = 150 + 112,5 cos 7 - 260 sen 7 - 100 sen (22 + 7).

47

Ponto 2:

SOLDA

6 7
22

30 + 7

-7
60 TUBO 37,5

7
MESA

PLANO DE SOLDA

Z0

X0 200

Figura 5.4. Diagrama ponto 2 da trajetria circular.

A partir da anlise dos parmetros do diagrama da figura 5.4, resulta uma matriz que representa a transformao homognea do ponto central da ferramenta (TCP). Neste caso, a matriz representa o TCP (tocha de soldagem), que est acoplada sexta junta do rob, em relao pose de referncia mostrada na figura 5.4, em substituio equao 5.1. - sen (8 - 7 ) cos (8 - 7 ) 0 0 0~ 6T = cos (8 - 7 ) sen (8 - 7 ) 0 0 onde:
x = 75 (1 + cos 60) sen 7 + 260 cos (30 + 7) + 100 cos (8 + 7) 200 + 37,5; y uma varivel independente; z = 150 + 75 (1 + sen 60) cos 7 + 260 sen (30 + 7) + 100 sen (8 + 7).

0 1 0 0

px p y pz
1

Eq. (5.15)

48

Ponto 3:

6
22 38 - 7

7
SOLDA 30 60 - 7

PLANO DE SOLDA D

TUBO Y7

7
X7

Z0

X0 200

Figura 5.5. Diagrama ponto 3 da trajetria circular.

A partir da anlise dos parmetros do diagrama da figura 5.5, resulta uma matriz que representa a transformao homognea do ponto central da ferramenta (TCP). Neste caso, a matriz representa o TCP (tocha de soldagem), que est acoplada sexta junta do rob, em relao pose de referncia mostrada na Figura 5.5, em substituio equao 5.1. - sen (38 - 7 ) cos (38 - 7 ) 0 0 0~ 6T = cos (38 - 7 ) sen (38 - 7 ) 0 0 onde:
x = 150 sen 7 + 260 cos (60 - 7) + 100 cos (38 - 7) 200; y uma varivel independente; z = 150 + 150 cos 7 + 260 sen (60 - 7) + 100 sen (38 - 7).

0 1 0 0

px p y pz
1

Eq. (5.16)

49

Ponto 4:

60

PLANO DE SOLDA

SOLDA 120

TUBO

37,5

7
MESA

Z0

X0 200

Figura 5.6. Diagrama ponto 4 da trajetria circular.

A partir da anlise dos parmetros do diagrama da figura 5.6, resulta uma matriz que representa a transformao homognea do ponto central da ferramenta (TCP). Neste caso, a matriz representa o TCP (tocha de soldagem), que est acoplada sexta junta do rob, em relao pose de referncia mostrada na Figura 5.6, em substituio equao 5.1. - sen (68 - 7 ) cos (68 - 7 ) 0 0 0~ 6T = cos (68 - 7 ) sen (68 - 7 ) 0 0 onde:
x = -75 (1 + cos 60) sen 7 - 260 sen 7 + 100 sen (22 - 7) 237,5; y uma varivel independente; z = 150 + 75 (1 + sen 60) cos 7 + 260 cos 7 + 100 cos (22 - 7).

0 1 0 0

px p y pz
1

Eq. (5.17)

50

Ponto 5:
8

6
60 PLANO DE SOLDA

7
150

SOLDA

TUBO

75 cos 30

7
MESA

Z0

X0 200

Figura 5.7. Diagrama ponto 5 da trajetria circular.

A partir da anlise dos parmetros do diagrama da figura 5.7, resulta uma matriz que representa a transformao homognea do ponto central da ferramenta (TCP) que, neste caso, representada pela tocha de soldagem, em relao pose de referncia mostrada na figura 5.7, em substituio equao 5.1.

- sen (98 - 7 ) cos (98 - 7 ) 0 0 0~ 6T = cos (98 - 7 ) sen (98 - 7 ) 0 0 onde:

0 1 0 0

px p y pz
1

Eq. (5.18)

x = 112,5 sen 7 260 sen (30 + 7) - 100 sen (8 + 7) 200 75 cos (30); y uma varivel independente; z = 150 + 75 (1 + sen 30) cos 7 + 260 cos (30 + 7) + 100 cos (8 + 7).

51

5.3 Gerao de trajetria usando algoritmo do simulated annealing


Para a obteno dos ngulos das juntas do rob e da mesa posicionadora, foi implementado uma forma bsica do algoritmo do Simulated Annealing (SA), conforme est descrito abaixo. Optou-se por implementar o SA para se dispor de um algoritmo para comparar com a implementao da Busca Tabu. O SA executa uma busca dentro do grupo de todas as possveis solues, buscando reduzir a chance de prender-se em um ponto de timo local pobre, pela possibilidade de movimentos sob o controle de um esquema estocstico de aceitao de solues inferiores.

1 2 3 4 5 6 7 8 9 10 11

Gera soluo inicial (s) Faz melhor soluo (s*) = soluo inicial (s) Enquanto o critrio de parada no atingido: Sorteia o incremento a ser usado nas solues candidatas Identifica a melhor soluo candidata (s) vizinha da soluo vigente (s) Faz nova soluo vigente (s) = melhor soluo candidata (s) Realiza busca local na nova soluo vigente, checando se alguma atende ao Critrio de Metrpolis. Se melhor soluo (s*) > Nova soluo vigente (s), ento: Faz melhor soluo (s*) = Nova soluo vigente (s) Retorna linha 3 Escreve melhor soluo (s*) Figura 5.8. Algoritmo de simulated annealing (SA) usado neste trabalho.

Inicialmente, a cada nova iterao, so sorteados, aleatoriamente, a varivel a ser alterada e o incremento a ser utilizado. Para isso, foi implementado no cdigo uma regra para que o incremento no fosse nulo, a fim de evitar-se uma falha na busca da melhor soluo. Note que neste problema h variveis independentes (py, 3, 4 e 7) e dependentes (px, 1, 2, 5 e 6), e, portanto, apenas as variveis independentes podero ser sorteadas. As equaes 5.19 a 5.22 so reapresentadas (vide equaes 5.6, 5.7, 5.9 e 5.11) como memorial do clculo das variveis dependentes. O clculo de px apresentado nas sees 5.1 (para trajetria linear) e 5.2 (para trajetria circular). No clculo das variveis dependentes, se houver alterao em 7 ou py (em qualquer um dos pontos da trajetria), as coordenadas de px (apenas para o caso de alterao de 7) e 1 sero recalculadas. Posteriormente, a partir do valor recalculado de 1, ocorrero os clculos de 5 e 6. Por fim, ocorrer o clculo de 2. Caso haja a alterao de 3 ou 4 (em qualquer um dos pontos da trajetria), apenas 2 ser recalculado. Um passo importante aps este clculo a verificao da factibilidade dos valores obtidos, atravs da constatao de que os valores dos ngulos encontram-se dentro dos limites da faixa de trabalho de cada

52

junta do rob. Na implementao, sempre que uma soluo infactvel obtida, durante o processo de busca, esta soluo candidata ser descartada e ocorrer novo sorteio de varivel independente. Caso a soluo inicial seja infactvel, uma nova soluo inicial dever ser gerada, pois no so admitidas solues infactveis. A gerao da soluo inicial se d sequencialmente sorteando-se os valores das variveis independentes 7 e py. A partir da so calculados os valores das variveis dependentes, pela ordem, px, 1, 5 e 6. Aps isso, sorteiam-se os valores das variveis independentes 3 e 4. Por fim, ocorrer o clculo da varivel dependente 2.

py 1 = arctan p x
5 = arccos r sen(1) r cos(1) 23 13

Eq. 5.19

Eq. 5.20

r22 cos(1) r12 sen(1) 6 = arctan r sen( ) r cos( ) 1 21 1 11

Eq. 5.21

r 33 2 = arctan r cos( ) + r sen( ) 3 4 23 1 1 13

Eq. 5.22

Determinadas todas as variveis de junta, passa-se para o clculo da funo objetivo e a aplicao do Critrio de Metrpolis, caso a soluo candidata seja pior que a soluo vigente. Se a soluo encontrada atende ao critrio, que, resumidamente, permite a aceitao de uma soluo pior que a soluo vigente para fugir de timos locais, a mesma aceita como soluo candidata. A cada 500 iteraes sem que uma nova melhor soluo (s*), um novo reaquecimento feito.

5.4 Gerao de trajetria usando o algoritmo da busca tabu


Na aplicao do mtodo metaheurstico da Busca Tabu, primeiramente feito o sorteio aleatrio do incremento. Similarmente ao que foi implementado no algoritmo do SA, foram adotadas medidas para que o incremento sorteado no fosse nulo e, adicionalmente, que ele tambm avaliasse a variao do sinal (positivo ou negativo) do incremento, com o intuito de que o algoritmo realizasse uma busca mais completa. Novamente, de forma

53

similar ao SA, para cada soluo candidata, so definidos os valores das variveis de junta e verificado se estes valores so factveis, para ento, realizar-se o clculo da funo objetivo. A partir deste momento, h uma grande diferena de abordagem entre as duas tcnicas para a busca da melhor soluo. O algoritmo da BT realiza a busca do melhor valor de cada varivel do problema. A cada iterao so testadas todas as variveis independentes, considerando-se tanto a possibilidade de um incremento positivo como negativo. Aps determinar qual alterao de varivel proporcionou a melhor soluo na vizinhana da soluo vigente, esta soluo candidata aceita como nova soluo vigente e a varivel alterada classificada como tabu. Na escolha da melhor soluo (nova soluo vigente) determina-se o melhor movimento no tabu ou o movimento tabu que gerou uma soluo melhor que a melhor soluo encontrada (entre todas as iteraes executadas) at aquele momento. Quando uma nova soluo vigente (s) definida, a busca concentra-se em verificar qual o melhor valor da varivel tabu que proporcionar a maior melhoria da soluo vigente, constituindo-se numa busca local (passo 7 da figura 5.9) da varivel recm alterada. Quando este valor encontrado, iniciada uma nova iterao e novamente a busca inicia a procura por outra varivel. A varivel assumida como tabu memorizada (na lista tabu) e no pode ter o seu valor alterado por um perodo de k iteraes. No critrio de aspirao, basicamente, verifica-se a lista tabu. Se algum movimento tabu gerar uma soluo melhor que a melhor soluo j encontrada at ento, ele aceito e esta soluo gravada como nova soluo vigente.

1 2 3 4 5

Gera soluo inicial (s) Faz melhor soluo (s*) = soluo inicial (s) Enquanto o critrio de parada no atingido: Sorteia o incremento a ser usado nas solues candidatas Identifica a melhor soluo candidata (s) vizinha da soluo vigente (s) 6 Faz nova soluo vigente (s) = melhor soluo candidata (s) 7 Realiza busca local na nova soluo vigente, checando se o uso do incremento (positivo ou negativo), definido no passo 4, seguir melhorando a soluo vigente 8 Atualiza lista tabu 9 Se melhor soluo (s*) > Nova soluo vigente (s), ento: 10 Faz melhor soluo (s*) = Nova soluo vigente (s) 11 Retorna linha 3 12 Escreve melhor soluo (s*) Figura 5.9. Algoritmo da busca tabu adotado neste trabalho.

54

5.4.1 Busca na vizinhana


A busca na vizinhana possibilita ao algoritmo a explorao das solues vizinhas, que podem melhorar a soluo encontrada at a iterao corrente. A avaliao da vizinhana , em geral, o passo que consome mais tempo do processo de busca. No algoritmo, foi adotado como parmetro um valor de amplitude do incremento para a realizao da busca pela melhor soluo. Quando o incremento definido aleatoriamente a cada iterao, isso ocorre multiplicando-se um nmero aleatrio (entre 0 e 1) pelo parmetro amplitude. Com o intuito de refinar a busca, a cada vez que uma nova soluo melhor for encontrada, o valor da amplitude torna-se igual a 10. Da mesma forma, no momento em que no encontrada uma nova soluo melhor que a vigente, este valor reduzido para 1. Isto foi feito tentando-se favorecer uma busca mais detalhada na vizinhana da soluo vigente. A diversificao tem como objetivo fazer com que o algoritmo saia de ciclos e d novas opes de busca, e assim possa encontrar solues melhores do que aquelas j identificadas. Nesta implementao, a diversificao executada pela funo SolucaoInicial. Na primeira iterao, a soluo inicial gerada aleatria.

5.5 Anlise da varincia


Esta seo foi extrada de HIDESON (2004) e, a princpio, seria apresentada como um anexo. No entanto, ela foi includa neste captulo porque esta abordagem estatstica ser usada para comparar as diferentes abordagens usadas. A anlise da varincia (ANOVA) um mtodo estatstico no qual atravs de testes de igualdade de mdias, verifica-se se os tratamentos produzem mudanas sistemticas em alguma varivel de interesse. um procedimento usado na comparao de trs ou mais tratamentos, existindo muitas variaes devido aos diferentes tipos de experimentos que podem ser realizados. Para se comparar as mdias de vrios experimentos, dependendo do nmero de experimentos, pode existir um nmero muito grande de pares de experimentos a serem analisados para serem comparados. Por exemplo, em 8 experimentos tem-se: Nmero de pares = [a(a 1)]/2 pares possveis de experimentos a comparar; ou seja: (8x7)/2=28 pares. Para estes casos possvel utilizar a anlise da Varincia, para testar a hiptese de igualdade entre as mdias dos experimentos.

55

5.5.1 Tratamento
Um tratamento (pode ser chamado tambm de fator) uma condio imposta ou objeto que se deseja medir ou avaliar na execuo do experimento, sendo utilizados normalmente mais de um tratamento (i.e.: equipamentos de diferentes marcas, diferentes tamanhos de peas, diferentes valores atribudos a uma varivel de um algoritmo, entre outros). Os fatores podem ser variveis quantitativas (quando dispostos em uma ordem; i.e.: nveis de temperatura, quantidade de lubrificantes, entre outros) ou qualitativas (quando no so dispostos em ordem; i.e.: marcas de equipamentos, variedade de plantas, entre outros.), sendo chamados de variveis independentes (i.e.: se o fator for a temperatura, as diferentes temperaturas so os nveis do fator) e a varivel resposta do fator chamada de dependente. Na aplicao desta anlise h duas suposies bsicas a serem satisfeitas: a) As amostras devem ser aleatrias e independentes; b) As amostras devem ser extradas de populaes normais;
5.5.2 Unidade experimental ou parcela

Unidade experimental ou parcela onde se faz a aplicao do tratamento, sendo ento ela que fornece os dados para serem avaliados (i.e.: um motor, uma pea de motor, entre outros) podendo serem formadas por grupos ou indivduos.

Figura 5.10. Procedimento do Planejamento Sistemtico de Layout (SLP)(TREIN, 2001).

56

5.5.3 Repetio

A repetio o nmero de vezes que um fator aparece no experimento, dependendo do tipo do experimento (delineamento), dos recursos disponveis, da variabilidade ou da varivel resposta. Estimar um nmero satisfatrio de repeties pode ser algo difcil, existindo vrias metodologias com essa finalidade, sendo muito importante a experincia do pesquisador sobre o algoritmo. A mdia calculada conforme a equao 5.23. A hiptese nula (H0), na ANOVA, considera que no existe diferena entre as mdias de diferentes amostras (ou tratamentos), isto dado por: H0 : 1 = 2 = 3 = 4 A hiptese alternativa HA : i j, para pelo menos um par (i, j).
ni

Yi + =

Y
j =1

ij

ni

Eq. 5.23

A anlise da varincia para cada conjunto de resultados obtidos com os algoritmos calculada conforme a equao 5.24:

S i2 =

(Y
j =1

ij

i +) 2
Eq. 5.24

n 1

Na equao 5.25 combinam-se as estimativas das varincias:

2 SR =

(n 1)S (n 1)
i i

2 i

Eq. 5.25

A variabilidade entre os tratamentos calculado pela equao 5.26, onde ST2 chamado de Quadrado Mdio de Tratamento, ou Quadrado Mdio entre Tratamentos. Na equao 5.26 o termo Yi + representa a mdia do tratamento i e Y+ + representa a mdia dos tratamentos.

57

S =
2 T

i =1 j =1

Yi + Y+ + k 1

Eq. 5.26

A comparao entre essas duas estimativas permite testar a hiptese de igualdade das mdias do tratamento. A comparao feita atravs da equao 5.27. Essa razo denominada razo F ou Fexp.
2

S F exp = T 2 SR

Eq. 5.27

Neste ponto h duas estimativas da varincia do erro, uma baseada na varincia


2 2 ) e outra baseada na varincia entre os tratamentos ( ST ). Se a dentro dos tratamentos ( S R

hiptese H0 for aceita, no se pode dizer que existem diferenas significativas entre as mdias. Caso a hiptese seja diferente, a diferena entre elas pode ter sido causada pela diferena entre as mdias analisadas. O valor esperado de Fexp aproximadamente igual a 1 se H0 for verdadeiro. Quanto maior o valor de F, maior a evidncia de que H0 falso. A estatstica Fexp o critrio utilizado para testar a hiptese H0. Como o critrio envolve a comparao de duas estimativas de varincia, o procedimento denominado de Anlise da Varincia (ANOVA). Uma medida da variabilidade total das observaes dada pela decomposio da Soma de Quadrados Total, conforme a equao 5.28,

SQtotal = SQT + SQR


onde :

Eq. 5.28

2 SQT o numerador de ST , denominado soma de quadrados devido aos

algoritmos;

2 SQR o numerador de S R , denominado Soma de Quadrado de Resduo ou Soma

de Quadrado do Erro; A tabela 5.1 representa a distribuio das equaes na tabela ANOVA.

58

Tabela 5.1 - Disposio das equaes na Tabela ANOVA.

Fonte

Graus de Liberdade

Soma Dos Quadrados SQT SQR SQTOTAL

Quadrados Mdios QMT QMR

Teste FEXP QMT / QMR

Algoritmos k 1 Resduo Total nK N1

Quanto maior o valor do Fexp, maior a evidncia contra H0.


5.5.4 Experimentos fatoriais

Em determinadas situaes, busca-se a melhor combinao de nveis de fatores que maximizem o rendimento. Usa-se como fator para as variveis que esto sendo estudadas, da o nome de experimento fatorial, para a classe de planos experimentais que busca analisar o efeito de um conjunto de fatores em uma determinada resposta. Um experimento fatorial 2k completo envolve um plano com k fatores, cada um com dois nveis. Como fatores tm todos dois nveis, adota-se a notao (-) para o nvel fator ausente e (+) para o nvel fator presente. A tabela 5.2 apresenta o plano experimental com a notao adotada.
Tabela 5.2 - Plano experimental para algoritmo SA.

Rodada 1

AB

AC

BC

ABC

2 3 4 5 6 7 8

+ + + +

+ + + +

+ + + +

+ + + +

+ + + +

+ + + +

+ + + +

A primeira informao desejada obter o efeito de cada fator na resposta. O efeito de um fator definido como a mudana que ocorre na resposta quando um fator muda de um nvel para o outro (efeito principal do fator). Calcula-se a mdia do rendimento em cada um dos nveis do fator e calcula-se a diferena entre essas mdias. Para o clculo dos rendimentos so apresentadas as equaes 5.29, 5.30, 5.31, 5.32, 5.33 e 5.34.

59

Y
i =1 j =1 k =1 l =1

ijkl

= Yijkl
i =1 j =1 k =1 l =1

20

Eq. 5.29

n p q r 20 2 2 2 Yijkl Yijkl i =1 j =1 k =1 l =1 i =1 j =1 k =1 l =1 = [Y ] = 160 npqr


n p q r 20 2 2 2

Eq. 5.30

2 2 [ABCS ] = Yijkl = Yijkl i =1 j =1 k =1 l =1 i =1 j =1 k =1 l =1

Eq. 5.31

n q r 20 2 2 Y Yijkl p ijkl 2 [A] = i=1 k =1 l =1 = i=1 k =1 l =1 80 nqr j =1 j =1


2

Eq. 5.32
2

n p r 20 2 2 Yijkl Yijkl q 2 i =1 j =1 l =1 i =1 j =1 l =1 = [B] = 80 npr k =1 k =1


2

Eq. 5.33

20 2 2 n p q Yijkl Yijkl r 2 [C ] = i =1 j =1 k =1 = i=1 j =1 k =1 npq 80 l =1 l =1

Eq. 5.34

Se, por exemplo, o efeito mdio de um fator foi estimado como sendo 23, esse o valor a diferena em rendimento entre os nveis deste fator. A questo : esse valor depende ou no dos nveis dos outros fatores? Se no depende, diz-se que no h interao, caso contrrio, diz-se que h interao. O clculo da interao entre os fatores apresentado pelas equaes 5.35, 5.36 e 5.37:
2 2

n r 10 2 Y Y ijkl ijkl p q 2 2 [AB] = i=1 l =1 = i=1 l =1 nr 20 j =1 k =1 j =1 k =1

Eq. 5.35

60

n q 20 2 Y Yijkl p r ijkl 2 2 [AC ] = i =1 k =1 = i =1 k =1 nr 40 j =1 l =1 j =1 l =1


2

Eq. 5.36

20 2 n p Yijkl Yijkl q r 2 2 [BC ] = i=1 j =1 = i =1 j =1 np 40 k =1 l =1 k =1 l =1

Eq. 5.37

A interao dos trs fatores um pouco mais complexa. Ela a diferena entre o efeito da interao de dois fatores com respeito aos dois nveis do terceiro fator. Isto apresentado na equao 5.38.
2 2

n 20 Y Yijkl ijkl p q 2 2 2 r [ABC ] = i=1 = i =1 n 20 j =1 k =1 l =1 j =1 k =1 l =1

Eq. 5.38

Cada fator tem apenas dois nveis, ento diz-se que cada fator tem um grau de liberdade. Os graus de liberdade de uma interao igual ao produto dos graus de liberdade de cada fator que compe a interao. Como cada fator tem um grau de liberdade, cada interao tem tambm um grau de liberdade. O nmero de graus de liberdade de um experimento igual ao nmero de observaes menos um. Um experimento fatorial 2k tem portanto 2k1 graus de liberdade. A tabela 5.3 apresenta um algoritmo para o clculo dos efeitos principais e interaes. O desvio padro o mesmo para qualquer efeito fatorial. Isso devido ao fato que o clculo de qualquer efeito colateral usa todas as observaes o mesmo nmero de vezes. O desvio padro de um efeito colateral em um experimento 2k que replicado n vezes dado pela equao 5.39.

D.P.(efeito) =

1 2 SR k 2 n2

Eq. 5.39

Sendo SR2 calculado conforme a equao 5.40:

61

SR

2 1 = k 2 (n 1) i =1

j =1

( y ij y i ) 2

Eq. 5.40,

e yij a j-sima replicao da i-sima combinao dos fatores. Um efeito fatorial significante se o intervalo, dado pela equao 5.41, no contiver o nmero zero.

Efeito 2 * D.P.

Eq. 5.41

Tabela 5.3 - Tabela resumo da anlise de fatores.

Graus liberdade

de

SQ

MQ

A B C AB AC BC

(p 1) = 1 (q 1) = 1 (r 1) = 1 (p 1) (q 1) = 1 (p 1) (r 1) = 1 (q 1) (r 1) = 1 (p 1)(q 1)(r 1) = 1
pqr(n 1) = 152 pqrn 1 = 159

[A] [Y] [B] [Y] [C] [Y] [AB] [A] [B] + [Y] [AC] [A] [C] + [Y] [BC] [B] [C] + [Y] [ABC] [AB] [AC] [BC] + [A] + [B] + [C] [Y] [ABCS] [ABC] [ABCS] [Y]

SQA / glA SQB / glB SQC / glC SQAB / glAB SQAC / glAC SQBC / glBC SQABC glABC SQA / glA

MQA / MQResduo MQB / MQResduo MQC / MQResduo MQAB MQResduo MQAC MQResduo MQBC MQResduo / / / /

ABC RESDUO TOTAL

/ MQABC MQResduo

62

RESULTADOS
As duas abordagens implementadas (de busca tabu e de simulated annealing) foram

testadas para vrios parmetros diferentes. Por exemplo, a abordagem de busca tabu foi testada variando-se o nmero de iteraes tabu de um movimento e a amplitude do incremento. Da mesma forma, o algoritmo de simulated annealing foi testado variando-se a taxa de resfriamento (), a temperatura inicial (To) e a amplitude do incremento. Devido ao grande nmero de experimentos realizados, adotou-se a Anlise de Varincia (ANOVA) como procedimento para a comparao entre experimentos e para a identificao dos fatores significativos. Ou seja, buscou-se a identificao dos fatores que, ao serem variados entre dois nveis ou valores distintos, produziram uma variao significativa entre os resultados do valor da funo objetivo e do nmero de iteraes realizadas at o fim da busca. Cada experimento foi repetido 20 vezes. Nos resultados apresentados, o valor calculado para o desvio padro (ou erro) dos experimentos comparado ao valor de F (na tabela ANOVA). Se o mdulo do valor de F for maior que o valor do erro (desvio padro dos experimentos), ento pode-se considerar que este fator significativo.

6.1 Anlise dos resultados para o cordo linear


Nesta seo so apresentados os resultados para as duas abordagens implementadas, inclusive com a comparao entre as duas abordagens.
Anlise do Simulated Annealing (SA) proposto

Para o algoritmo o SA proposto testou-se os fatores:


A (taxa de resfriamento), para os valores = 0,9 e = 0,999; B (temperatura inicial), para os valores To = 100 e To = 500; C (amplitude), para os valores: amplitude = 1 e amplitude = 10. Analisando-se a tabela 6.1, que apresenta a tabela ANOVA destes experimentos,

pode-se afirmar estatisticamente que todos os fatores (A, B e C) so significativos, ou melhor, pode-se afirmar que a interao entre os trs fatores (ABC) foi significativa na obteno de uma soluo melhor para a funo objetivo. Isso verificado porque os valores de F so superiores ao erro (45,34). Apesar de no ser trivial, esta interao entre os trs fatores pode ser comprovada tomando-se as mdias dos experimentos tabela 6.2 e

63

associando a cada mdia o sinal correspondente no plano experimental da tabela 5.2 (na coluna referente interao ABC), que resultar na expresso:
Efeito = ( 376,598 + 257,917 + 514,1785 249,457 + 244,47 222,726 261,624 + 284,6055) / 4

Como o valor do efeito (interao ABC) igual a 47,69, isto indica a expectativa estatstica de que o valor da funo objetivo seja menor quando a taxa de resfriamento (fator
A) 0,999, a temperatura inicial (fator B) 100 e a amplitude (fator C) 10 (vide BOX et al.,

1978). A tabela 6.2 apresenta os valores da funo objetivo nos 8 experimentos realizados usando simulated annealing para o cordo linear. Esta tabela apresenta os valores obtidos para as 20 repeties de cada experimento, indicando o valor mnimo ocorrido, a mdia, a varincia e o desvio padro encontrados. Nota-se nesta tabela que o valor mnimo encontrado para a funo objetivo em cada um dos experimentos significativamente menor que a mdia dos valores encontrados. Esta uma indicao da complexidade deste problema, devido multiplicidade de solues viveis, conforme indicado na figura 3.3, bem como existncia de inmeros pontos de timo local. Baseado nos dados da tabela 6.2, foi calculado o valor para o erro (desvio padro dos experimentos) na anlise dos valores da funo objetivo, que foi igual a 45,34 (conforme a equao 5.39 e 5.41).
Tabela 6.1. Tabela ANOVA da funo objetivo nos experimentos de SA para o cordo linear. Graus de SQ MQ F liberdade A (Taxa de 1 -12708868,01 -12708868,01 -73,38 resfriamento) B (Temperatura 1 -12811773,50 -12811773,50 -73,98 inicial) C (Amplitude) 1 -12717653,29 -12717653,29 -73,43 AB 1 12827539,06 12827539,06 74,07 AC 1 12911754,58 12911754,58 74,56 BC 1 12837079,29 12837079,29 74,12 ABC 1 -12809610,41 -12809610,41 -73,97 RESDUO 152 26323843,66 173183,18 TOTAL 159 13852311,38

A tabela 6.3 apresenta o nmero de iteraes nos 8 experimentos realizados usando


simulated annealing para o cordo linear. Esta tabela apresenta os valores obtidos para as

20 repeties de cada experimento, indicando o valor mnimo ocorrido, a mdia, a varincia e o desvio padro encontrado.

64

Tratamento Taxa Resfriamento (A) Temper. Inicial (B) Amplitude (C) Repeties

Tabela 6.2. Apresentao do valor da funo objetivo nos 8 experimentos realizados usando simulated annealing para o cordo linear. 1 2 3 4 5 6 7 8 0,9 (-) 100 (-) 1 (-)
Melhor soluo

0,999 (+) 100 (-) 1 (-)


Melhor soluo

0,9 (-) 500 ( + ) 1 (-)


Melhor soluo

0,999 (+) 500 ( + ) 1 (-)


Melhor soluo

0,9 (-) 100 (-) 10 (+)


Melhor soluo

0,999 (+) 100 (-) 10 (+)


Melhor soluo

0,9 (-) 500 ( + ) 10 (+)


Melhor soluo

0,999 (+) 500 ( + ) 10 (+)


Melhor soluo

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Mnimo Mdia Varincia Desvio padro

398,83 573,63 941,07 468,10 110,66 160,82 72,99 418,10 1067,41 319,18 113,10 538,62 246,74 291,43 103,78 625,58 150,50 540,97 172,23 218,22 72,99 376,598 998888,4229 277,1307511

9,40 38,29 43,32 5,06 2,24 133,44 750,72 74,88 2,04 371,82 888,34 370,38 369,14 419,62 6,58 374,50 2,56 384,04 3,32 908,65 2,04 257,917 92126,49689 303,5234701

567,57 239,79 675,43 611,51 256,22 137,88 277,01 533,74 197,34 263,49 1120,83 254,10 552,42 935,82 662,96 273,30 608,02 375,14 641,13 1099,87 137,88 514,1785 85472,61032 292,3569912

370,56 48,96 41,92 426,79 383,60 69,12 118,40 33,60 375,38 879,30 370,70 375,11 367,01 46,08 62,52 898,54 29,44 26,19 7,68 58,24 7,68 249,457 73233,03567 270,61603

884,71 548,59 93,88 118,99 50,26 492,39 380,61 42,71 400,25 30,81 50,68 64,22 110,40 175,05 569,62 13,14 751,63 25,95 74,04 11,47 11,47 244,47 74185,90118 272,370889

384,49 1,75 409,29 72,47 373,23 383,64 24,94 5,51 369,48 8,07 378,30 24,47 4,75 394,86 437,25 383,02 414,92 366,14 11,91 6,03 1,75 222,726 36637,65781 191,4096597

2,48 7,36 550,99 499,48 80,61 26,80 44,34 516,83 194,08 13,04 853,27 421,32 56,44 886,11 61,39 438,89 10,09 22,79 160,22 385,95 2,48 261,624 82311,56084 286,8999143

17,87 404,03 390,82 4,73 424,00 396,52 14,18 390,86 402,93 5,56 370,22 383,70 395,51 381,58 27,79 895,08 413,15 1,43 370,11 2,04 1,43 284,6055 54979,87673 234,4778811

65

Tratamento Taxa Resfriamento (A) Temper. Inicial (B) Amplitude (C) Repeties

Tabela 6.3. Apresentao do nmero de iteraes nos 8 experimentos realizados usando simulated annealing para o cordo linear. 1 2 3 4 5 6 7 8 0,9 (-) 100 (-) 1 (-) iteraes 9097 6489 11848 8247 9973 7073 7729 7434 3809 8721 8584 9196 6794 8461 9167 9576 7298 6800 9719 6871 3809 8144,3 2874466,853 1695,425272 0,999 (+) 100 (-) 1 (-) iteraes 47066 46016 33951 68134 51887 65226 52906 41970 36322 70281 141257 61044 77532 77956 7913 57686 32372 47446 22679 143200 7913 59142,2 1127142959 33572,94982 0,9 (-) 500 ( + ) 1 (-) iteraes 9731 3216 7706 9125 8293 6944 9002 9319 8999 8837 12712 8882 6969 8519 6610 6912 6388 10303 8976 8983 3216 8321,3 3582314,537 1892,700329 0,999 (+) 500 ( + ) 1 (-) iteraes 25963 109442 40007 29922 79835 23476 112333 11818 39853 39971 53340 62158 52708 11273 14266 120160 93793 13704 11529 103742 11273 52464,65 1426419091 37767,96381 0,9 (-) 100 (-) 10 (-) iteraes 10587 6309 14774 13311 6807 4572 9751 7316 14114 7743 5468 9666 8060 4245 5920 9972 870 4954 10161 11615 870 8310,75 12906759,04 3592,597812 0,999 (+) 100 (-) 10 (-) iteraes 71312 42628 35479 61601 49585 8570 19480 48987 8848 36634 29474 57671 39304 38819 48193 65625 30275 28854 31476 59013 8570 40591,4 306968089,4 17520,50483 0,9 (-) 500 ( + ) 10 (-) iteraes 9706 10857 2784 13647 8405 7777 777 6935 5327 12240 13030 18487 10613 2686 9606 9898 12365 2819 8780 8114 777 8742,65 18990698,03 4357,831804 0,999 (+) 500 ( + ) 10 (-) iteraes 40765 99703 86774 34988 63540 57613 93600 38444 61992 88203 35664 83384 73390 81253 96707 31530 34228 23298 72482 48677 23298 62311,75 621911964,3 24938,16281

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Mnimo Mdia Varincia Desvio padro

66

Para o nmero de iteraes, o valor calculado para o erro (desvio padro dos experimentos) foi igual a 3546,02 (conforme a equao 5.39 e 5.41), baseado nas mdias apresentadas na tabela 6.3, que apresenta o nmero de iteraes nos 8 experimentos realizados usando simulated annealing para o cordo linear. Analisando-se a tabela 6.4, que apresenta a tabela ANOVA destes experimentos, no se pode afirmar estatisticamente que qualquer um dos fatores (A, B e C) ou que a interao entre fatores (AB, AC, BC e ABC) foi significativa na obteno de um experimento com menor nmero de iteraes. Ainda que haja uma diferena entre as mdias dos valores dos experimentos (combinaes de fatores) testados, a varincia associada aos experimentos levou a valores de F inferiores ao erro (igual a 3546,02).
Tabela 6.4. Tabela ANOVA do nmero de iteraes nos experimentos de SA para o cordo linear. Graus de SQ MQ F liberdade A (Taxa de 1 81894355202,50 81894355202,50 186,08 resfriamento) B (Temperatura 1 612439282,23 612439282,23 1,39 inicial) C (Amplitude) 1 164669582,02 164669582,02 0,37 AB 1 520843673,02 520843673,02 1,18 AC 1 215829930,63 215829930,63 0,49 BC 1 2052457369,60 2052457369,60 4,66 ABC 1 1980071122,50 1980071122,50 4,50 RESDUO 152 66895130501,00 440099542,77 TOTAL 159 154335796663,50

Anlise da Busca Tabu (BT) proposta

A tabela 6.5 apresenta os valores da funo objetivo nos experimentos realizados usando busca tabu para o cordo linear. Esta tabela apresenta os valores obtidos para as 20 repeties de cada experimento, indicando o valor mnimo ocorrido, a mdia, a varincia e o desvio padro encontrado. Novamente, nota-se nesta tabela que o valor mnimo encontrado para a funo objetivo em cada um dos experimentos significativamente menor que a mdia dos valores encontrados. Baseado nos dados da tabela 6.5, foi calculado o valor para o erro (desvio padro dos experimentos) na anlise dos valores da funo objetivo, que foi igual a 7,75 (conforme a equao 5.39 e 5.41). Analisando-se a tabela 6.6, que apresenta a tabela ANOVA destes experimentos, no se pode afirmar estatisticamente que qualquer um dos fatores (A, B e C) ou que a interao entre fatores (AB, AC, BC e ABC) foi significativa na obteno de um experimento com funo objetivo melhor. Esta concluso obtida observando-se que no h valores superiores ao erro (7,75 ) na coluna de F.

67

Tabela 6.5. Valor da funo objetivo nos experimentos usando BT para o cordo linear. Tratamento 1 2 3 4 Amplitude (A) 1(-) 10 ( + ) 1(-) 10 ( + ) Iter. tabu (B) 3(-) 3(-) 5(+) 5(+) Repeties Melhor soluo Melhor soluo Melhor soluo Melhor soluo 1 29,8800 2,2400 1,7500 42,6100 2 42,3600 23,9500 43,0900 2,5000 3 16,7600 24,4700 66,5600 59,4500 4 62,7200 17,1400 2,8300 59,3700 5 138,4800 11,6400 9,8400 2,8300 6 14,0800 33,1800 64,1200 3,0100 7 28,7200 11,3500 33,5200 18,5400 8 67,6400 28,1600 6,6400 21,3100 9 21,3600 123,6700 3,1500 22,1000 10 7,1600 35,2000 50,6800 59,1000 11 67,0000 1,7200 62,5200 2,9500 12 128,4400 30,0400 15,1600 8,7100 13 63,9100 35,3900 17,0800 17,6500 14 66,7900 8,9600 44,9200 21,6100 15 61,4400 21,5600 11,1500 48,0100 16 2,6800 2,6800 10,0400 42,5800 17 33,2000 81,5000 5,5600 6,4000 18 55,6800 12,2800 9,2800 102,0300 19 2,6800 71,4300 14,7200 15,3700 20 18,8000 65,5100 28,1600 53,3700 Mnimo 2,68 1,72 1,75 2,5 Mdia 46,489 32,1035 25,0385 30,475 Varincia 1412,432852 970,8930766 500,7219608 716,8083211 Desvio padro 37,58234761 31,15915719 22,37681749 26,77327625 Tabela 6.6. Tabela ANOVA da funo objetivo nos experimentos de BT para o cordo linear. Graus de SQ MQ F liberdade Amplitude (A) 1 400,42 400,42 0,44 Iter. tabu (B) 1 2663,20 2663,20 2,96 AB 1 1964,56 1964,56 2,18 RESDUO 76 68416,27 900,21 TOTAL 79 73444,45

Para o nmero de iteraes, a tabela 6.7 apresenta estes resultados nos experimentos realizados usando busca tabu para o cordo linear. Baseado nos dados da tabela 6.7 (nmero de iteraes), foi calculado o valor para o erro (desvio padro dos experimentos) na anlise dos valores da funo objetivo, que foi igual a 330,62 (conforme a equao 5.39 e 5.41). Analisando-se a tabela 6.8, que apresenta a tabela ANOVA destes experimentos, no se pode afirmar estatisticamente que qualquer um dos fatores (A, B e C) ou que a interao entre fatores (AB, AC, BC e ABC) foi significativa na obteno de um experimento com funo objetivo melhor. Esta concluso obtida observando-se que no h valores superiores ao erro (330,62 ) na coluna de F.

68

Tabela 6.7. Nmero de iteraes nos experimentos usando BT para o cordo linear. Tratamento 1 2 3 4 Amplitude (A) 1(-) 10 ( + ) 1(-) 10 ( + ) Iter. tabu (B) 3(-) 3(-) 5(+) 5(+) Repeties iteraes iteraes iteraes iteraes 1 1073 1248 2936 164 2 954 2787 605 3222 3 4249 294 4163 896 4 2882 2278 3706 1443 5 1694 2872 3290 297 6 2538 1909 3804 2838 7 181 793 5143 4119 8 1253 1519 2640 885 9 199 610 1675 3388 10 942 2960 634 399 11 1619 184 2823 1502 12 2746 2183 2599 4081 13 3898 1703 2127 2181 14 1410 522 1687 773 15 3025 2040 340 103 16 2823 1079 2312 1123 17 1356 3130 400 532 18 725 325 4785 2170 19 1226 358 4813 2050 20 3603 2149 669 378 Mnimo 181 184 340 103 Mdia 1919,8 1547,15 2557,55 1627,2 Varincia 1466459,221 980867,0816 2388208,366 1723217,537 Desvio padro 1210,974492 990,3873392 1545,382919 1312,713806 Tabela 6.8. Tabela ANOVA do nmero de iteraes nos experimentos de BT para o cordo linear. Graus de SQ MQ F liberdade Amplitude (A) 1 8489045,00 8489045,00 5,18 Iter. tabu (B) 1 2576184,20 2576184,20 1,57 AB 1 1555146,45 1555146,45 0,95 RESDUO 76 124616291,90 1639688,05 TOTAL 79 137236667,55

Comparao entre as abordagens de simulated annealing e busca tabu

Na comparao entre as abordagens, realizou-se primeiro a anlise entre as abordagens de busca tabu e de simulated annealing, comparando-se o melhor experimento de cada uma das abordagens. Note que, do ponto de vista estatstico, no houve um melhor resultado para a busca tabu. Assim, para a busca tabu, tomou-se o experimento com 5 iteraes tabu e amplitude igual a 1, por ter apresentado a melhor mdia para a funo objetivo (25,04 22,38). Para o simulated annealing, tomou-se o experimento com taxa de resfriamento de 0,999, temperatura inicial igual a 100 e amplitude igual a 10, porque este

69

experimento foi estatisticamente superior (de acordo com a interao entre fatores ABC), cuja mdia dos valores da funo objetivo foi 222,73 191,41. A tabela 6.9 apresenta a comparao entre as duas abordagens, indicando os valores do mnimo, mdia, varincia e desvio padro para cada experimento. Ainda que ambas as abordagens tenham chegado ao mesmo valor mnimo (1,75), h uma diferena significativa na mdia dos dois experimentos. A tabela 6.10 apresenta a avaliao entre estes experimentos. Note que o valor de F (igual a 21,05) superior ao valor de corte 4,1 (definido a partir do nvel de confiana 95% e dos graus de liberdade dos tratamentos), indicando que a busca tabu foi superior ao simulated
annealing para o caso de solda de um cordo linear.
Tabela 6.9. Comparao entre as abordagens SA e BT. Tratamento 1 2 Busca Tabu Simulated Annealing Taxa de resfriamento = 0,999 No. diversificaes = 5 Temperatura inicial = 100 Amplitude = 1 Amplitude = 10 Repeties Melhor soluo Melhor soluo 1 1,75 384,49 2 43,09 1,75 3 66,56 409,29 4 2,83 72,47 5 9,84 373,23 6 64,12 383,64 7 33,52 24,94 8 6,64 5,51 9 3,15 369,48 10 50,68 8,07 11 62,52 378,3 12 15,16 24,47 13 17,08 4,75 14 44,92 394,86 15 11,15 437,25 16 10,04 383,02 17 5,56 414,92 18 9,28 366,14 19 14,72 11,91 20 28,16 6,03 Mnimo 1,75 1,75 Mdia 25,04 222,73 Varincia 500,72 36637,66 Desvio padro 22,38 191,41 Tabela 6.10. Tabela ANOVA comparando as abordagens SA e BT. Graus de liberdade SQ MQ Entre tratamentos 1 390803,48 390803,48 Dentro dos 38 705629,22 18569,19 tratamentos TOTAL 39 1096432,69

F 21,05

70

Anlise dos tempos de processamento

A tabela 6.11 apresenta os tempos de processamento medidos na execuo de uma busca. Tais tempos devem ser considerados apenas como uma referncia, j que o nmero de iteraes e, consequentemente, os tempos de execuo das duas abordagens ficaram em segundo plano na comparao entre as abordagens. O objetivo aqui foi de apenas indicar que as buscas ocorreram dentro de tempos de execuo aceitveis.
Tabela 6.11. Tempo de execuo dos algoritmos para o caso de cordo linear. Abordagem Arranjo de parmetros Tempo de execuo 48 seg Amplitude = 1, temperatura = 100, = 0,9 11 min e 21 seg Amplitude = 1, temperatura = 100, = 0,999 51 seg Amplitude = 1, temperatura = 500, = 0,9 14 min e 22 seg Simulated Amplitude = 1, temperatura = 500, = 0,999 Annealing 56 seg Amplitude = 10, temperatura = 100, = 0,9 8 min e 6 seg Amplitude = 10, temperatura = 100, = 0,999 1 min e 5 seg Amplitude = 10, temperatura = 500, = 0,9 11 min e 11 seg Amplitude = 10, temperatura = 500, = 0,999 Amplitude = 1, iterao tabu = 3 6 min e 14 seg Amplitude = 1, iterao tabu = 5 6 min e 35 seg Busca Tabu Amplitude = 10, iterao tabu = 3 4 min e 26 seg Amplitude = 10, iterao tabu = 5 5 min e 11 seg

6.2 Anlise dos resultados para o cordo circular


Nesta seo so apresentados os resultados para as duas abordagens implementadas, inclusive com a comparao entre as duas abordagens.
Anlise do Simulated Annealing (SA) proposto

Para o algoritmo o SA proposto testou-se os fatores:


A (taxa de resfriamento), para os valores = 0,9 e = 0,999; B (temperatura inicial), para os valores To = 100 e To = 500; C (amplitude), para os valores: amplitude = 1 e amplitude = 10. A tabela 6.13 apresenta os valores da funo objetivo nos 8 experimentos realizados

usando simulated annealing para o cordo circular. Esta tabela apresenta os valores obtidos para as 20 repeties de cada experimento, indicando o valor mnimo ocorrido, a mdia, a varincia e o desvio padro encontrado. Nota-se nesta tabela que o valor mnimo encontrado para a funo objetivo em cada um dos experimentos significativamente

71

menor que a mdia dos valores encontrados. Esta uma indicao da complexidade deste problema, devido multiplicidade de solues viveis, conforme indicado na figura 3.3, bem como existncia de inmeros pontos de timo local. Baseado nos dados da tabela 6.13, foi calculado o valor para o erro (desvio padro dos experimentos) na anlise dos valores da funo objetivo, que foi igual a 23,98 (conforme a equao 5.39 e 5.41). Analisando-se a tabela 6.12, que apresenta a tabela ANOVA destes experimentos, pode-se afirmar estatisticamente que todos os fatores (A, B e C) so significativos, ou melhor, pode-se afirmar que a interao entre os trs fatores (ABC) foi significativa na obteno de uma soluo melhor para a funo objetivo. Isso verificado porque os valores de F so superiores ao erro (23,98).
Tabela 6.12. Tabela ANOVA da funo objetivo nos experimentos de SA para o cordo circular. Graus de SQ MQ F liberdade A (Taxa de 1 -17733584,38 -17733584,38 -112,82 resfriamento) B (Beta) 1 -17833614,22 -17833614,22 -113,46 C (Temperatura 1 -17830803,94 -17830803,94 -113,44 inicial) AB 1 17841598,66 17841598,66 113,51 AC 1 17920884,51 17920884,51 114,01 BC 1 17843736,00 17843736,00 113,52 ABC 1 -17812604,84 -17812604,84 -113,32 RESDUO 152 23891662,09 157181,99 TOTAL 159 6287273,88

A tabela 6.14 apresenta o nmero de iteraes nos 8 experimentos realizados usando simulated annealing para o cordo circular. Esta tabela apresenta os valores obtidos para as 20 repeties de cada experimento, indicando o valor mnimo ocorrido, a mdia, a varincia e o desvio padro encontrado. Para o nmero de iteraes, o valor calculado para o erro (desvio padro dos experimentos) foi igual a 2381,41 (conforme a equao 5.39 e 5.41), baseado nas mdias apresentadas na tabela 6.14, que apresenta os valores do nmero de iteraes nos 8 experimentos realizados usando simulated annealing para o cordo circular. Analisando-se a tabela 6.15, que apresenta a tabela ANOVA destes experimentos, no se pode afirmar estatisticamente que qualquer um dos fatores (A, B e C) ou que a interao entre fatores (AB, AC, BC e ABC) foi significativa na obteno de um experimento com menor nmero de iteraes. Ainda que haja uma diferena entre as mdias dos valores dos experimentos (combinaes de fatores) testados, a varincia associada aos experimentos levou a valores de F inferiores ao erro (igual a 2381,41).

72

Tratamento Taxa Resfriamento (A) Temper. Inicial (B) Amplitude (C) Repeties

Tabela 6.13. Apresentao do valor da funo objetivo nos 8 experimentos realizados usando simulated annealing para o cordo circular. 1 2 3 4 5 6 7 8 0,9 (-) 100 (-) 1 (-)
Melhor soluo

0,999 (+) 100 (-) 1 (-)


Melhor soluo

0,9 (-) 500 ( + ) 1 (-)


Melhor soluo

0,999 (+) 500 ( + ) 1 (-)


Melhor soluo

0,9 (-) 100 (-) 10 (+)


Melhor soluo

0,999 (+) 100 (-) 10 (+)


Melhor soluo

0,9 (-) 500 ( + ) 10 (+)


Melhor soluo

0,999 (+) 500 ( + ) 10 (+)


Melhor soluo

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Mnimo Mdia Varincia Desvio padro

691,4900 480,7700 288,4100 457,6700 520,4800 440,1200 677,6300 480,3800 328,1700 559,1100 599,9300 408,7700 607,3400 862,7400 217,3200 544,9300 309,5700 403,8400 319,2500 285,1400 217,32 474,153 664178,3086 163,3344115

386,2400 241,6000 252,9200 280,5600 509,4400 405,1200 145,7200 168,3200 293,1200 248,6400 525,4400 258,5600 540,4800 328,7600 230,0000 346,1700 396,1600 332,4800 482,2400 134,4000 134,4 325,3185 15185,82312 123,2307718

475,3500 235,1700 1001,9500 466,1600 879,5700 417,0600 534,5000 600,6700 501,5200 715,4200 588,0800 403,6400 375,5100 872,2700 773,4500 351,0300 407,0700 766,5200 428,7300 539,3900 235,17 566,653 42003,53464 204,9476388

128,9600 520,0000 585,9100 365,7600 307,2000 514,2400 124,8000 325,8800 349,1200 334,5200 302,4000 247,6800 395,8400 507,2000 369,9200 251,2000 300,9500 372,1600 211,8400 384,6400 124,8 345,011 15073,59155 122,7745558

196,9300 205,2400 279,3000 316,1500 338,1500 336,1400 428,1800 238,6000 558,1200 373,6600 425,5100 396,0500 336,2100 521,1800 361,6300 388,7600 347,4600 343,0700 399,2000 325,0800 196,93 355,731 8139,498357 90,21916846

386,7200 281,1300 279,1800 322,8900 262,2800 479,1200 497,4800 434,9800 538,0200 156,4400 242,1700 408,7200 363,6400 279,7200 212,9100 382,9400 534,0200 202,9600 376,8400 334,4100 156,44 348,8285 12341,95115 111,0943345

717,4300 178,9800 166,9000 582,5900 484,6900 483,6600 462,3800 437,7000 446,6200 231,8200 139,3000 310,4300 432,3500 192,2900 293,3400 268,4200 338,7100 566,7700 562,8700 570,2100 139,3 393,373 27488,60922 165,7968915

182,8400 169,8400 522,2200 296,0600 206,0600 373,0700 512,2500 218,8400 422,8500 315,4700 342,4700 329,0600 321,0300 537,9700 280,4700 227,2200 359,6600 561,0900 290,6100 330,1900 169,84 339,9635 14072,71284 118,6284656

73

Tratamento Taxa Resfriamento (A) Temper. Inicial (B) Amplitude (C) Repeties

Tabela 6.14. Apresentao do nmero de iteraes nos 8 experimentos realizados usando simulated annealing para o cordo circular. 1 2 3 4 5 6 7 8 0,9 (-) 100 (-) 1 (-) iteraes 11007 9663 10922 11342 7551 11275 12003 8896 8353 12539 10209 10810 10252 11055 10207 10483 8872 11812 14241 7198 7198 10434,5 2871658,053 1694,596723 0,999 (+) 100 (-) 1 (-) iteraes 39435 40222 53111 66040 31262 62966 83164 31544 83548 29288 84549 81487 51020 76321 64262 79260 80174 70727 61881 39799 29288 60503 384517776,4 19609,12483 0,9 (-) 500 ( + ) 1 (-) iteraes 9918 8206 10515 11532 12009 12473 9911 13380 11538 14004 8042 8344 10869 9555 12887 9561 11081 11049 12230 10549 8042 10882,65 2833558,871 1683,317816 0,999 (+) 500 ( + ) 1 (-) iteraes 24056 95643 98698 63926 62767 35329 85620 74110 35950 88282 36716 48855 24489 35495 76554 36674 35116 85171 23724 38427 23724 55280,1 676842811,6 26016,20287 0,9 (-) 100 (-) 10 (-) iteraes 7288 5824 4741 6888 7203 6135 4862 4930 5185 5256 5272 7656 7764 5576 6182 4743 8305 4724 5597 8691 4724 6141,1 1647923,989 1283,714918 0,999 (+) 100 (-) 10 (-) iteraes 28700 22561 25223 44620 34231 30383 14017 29500 50843 39591 6319 20516 33716 13277 29478 35297 38296 29161 42109 50779 6319 30930,85 141941675,7 11913,9278 0,9 (-) 500 ( + ) 10 (-) iteraes 5761 7250 5439 3716 7363 6687 6569 6482 7655 5069 5735 6901 5888 4596 7447 3891 5856 5417 4295 7411 3716 5971,4 1489068,147 1220,2738 0,999 (+) 500 ( + ) 10 (-) iteraes 50588 58021 18184 59986 48701 48722 19953 19665 67455 38805 30622 30076 9515 19653 67527 59850 48383 9924 49425 59235 9515 40714,5 375768054,7 19384,73767

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Mnimo Mdia Varincia Desvio padro

74

Tabela 6.15. Tabela ANOVA do nmero de iteraes nos experimentos de SA para o cordo circular. Graus de SQ MQ F liberdade A (Taxa de 1 59289076003,60 59289076003,60 298,70 resfriamento) B (Beta) 1 58544641,60 58544641,60 0,29 C (Temperatura 1 7113529094,40 7113529094,40 35,84 inicial) AB 1 45845233,23 45845233,23 0,23 AC 1 3050803689,02 3050803689,02 15,37 BC 1 517586719,22 517586719,22 2,61 ABC 1 610304688,40 610304688,40 3,07 RESDUO 152 30170338021,50 198489065,93 TOTAL 159 100856028090,98

Anlise da Busca Tabu (BT) proposta

A tabela 6.16 apresenta os valores da funo objetivo nos experimentos realizados usando busca tabu para o cordo circular. Esta tabela apresenta os valores obtidos para as 20 repeties de cada experimento, indicando o valor mnimo ocorrido, a mdia, a varincia e o desvio padro encontrado. Novamente, nota-se nesta tabela que o valor mnimo encontrado para a funo objetivo em cada um dos experimentos significativamente menor que a mdia dos valores encontrados. Baseado nos dados da tabela 6.16, foi calculado o valor para o erro (desvio padro dos experimentos) na anlise dos valores da funo objetivo, que foi igual a 14,89 (conforme a equao 5.39 e 5.41). Analisando-se a tabela 6.17, que apresenta a tabela ANOVA destes experimentos, no se pode afirmar estatisticamente que qualquer um dos fatores (A, B e C) ou que a interao entre fatores (AB, AC, BC e ABC) foi significativa na obteno de um experimento com funo objetivo melhor. Esta concluso obtida observando-se que no h valores superiores ao erro (14,89) na coluna de F. Para o nmero de iteraes, a tabela 6.18 apresenta estes resultados nos experimentos realizados usando busca tabu para o cordo circular. Baseado nos dados da tabela 6.18, foi calculado o valor para o erro (desvio padro dos experimentos) na anlise dos valores da funo objetivo, que foi igual a 581,87 (conforme a equao 5.39 e 5.41). Analisando-se a tabela 6.19, que apresenta a tabela ANOVA destes experimentos, no se pode afirmar estatisticamente que qualquer um dos fatores (A, B e C) ou que a interao entre fatores (AB, AC, BC e ABC) foi significativa na obteno de um experimento com funo objetivo melhor. Esta concluso obtida observando-se que no h valores superiores ao erro (581,87 ) na coluna de F.

75

Tabela 6.16. Valor da funo objetivo nos experimentos usando BT para o cordo circular. Tratamento 1 2 3 4 Amplitude (A) 1(-) 10 ( + ) 1(-) 10 ( + ) Iter. tabu (B) 3(-) 3(-) 5(+) 5(+) Repeties Melhor soluo Melhor soluo Melhor soluo Melhor soluo 1 126,64 189,76 125,04 135,66 2 173,12 130,90 162,80 128,08 3 277,52 175,52 226,39 210,39 4 318,11 182,56 215,48 144,14 5 294,41 151,36 190,20 127,82 6 237,51 278,22 161,96 136,47 7 178,75 170,29 348,52 144,89 8 133,19 195,63 213,36 166,06 9 186,28 149,53 249,28 274,98 10 314,23 208,74 237,24 244,31 11 284,40 197,06 126,12 213,37 12 217,64 266,53 208,88 209,28 13 286,12 336,98 339,32 168,53 14 166,03 163,94 207,60 223,47 15 132,43 282,07 215,36 258,93 16 183,92 146,68 123,96 189,71 17 181,92 173,35 147,86 130,17 18 173,04 147,20 261,68 209,13 19 166,32 158,42 146,80 133,83 20 190,62 168,03 246,96 140,22 Mnimo 126,64 130,9 123,96 127,82 Mdia 211,11 193,6385 207,7405 179,472 Varincia 3956,447032 3016,294792 4048,269521 2285,751196 Desvio padro 62,90029437 54,92080473 63,62601293 47,80953039

Tabela 6.17. Tabela ANOVA da funo objetivo nos experimentos de BT para o cordo circular. Graus de SQ MQ F liberdade Amplitude (A) 1 10460,74 10460,74 3,14 Iter. tabu (B) 1 1537,56 1537,56 0,46 AB 1 582,88 582,88 0,18 RESDUO 76 252828,49 3326,69 TOTAL 79 265409,66

76

Tabela 6.18. Nmero de iteraes nos experimentos usando BT para o cordo circular. Tratamento 1 2 3 4 Amplitude (A) 1(-) 10 ( + ) 1(-) 10 ( + ) Iter. tabu (B) 3(-) 3(-) 5(+) 5(+) Repeties iteraes iteraes iteraes iteraes 1 3666 665 3548 2393 2 941 1002 8833 3009 3 5725 1862 8624 3532 4 3921 2987 8191 4366 5 1720 2296 8116 6933 6 5834 3743 1405 297 7 814 4099 4795 761 8 5834 4873 1653 3058 9 2518 627 4073 2147 10 5749 3196 3091 881 11 6945 649 11178 529 12 6005 3742 6114 4929 13 7414 4190 5865 2334 14 4183 2093 4350 4959 15 1037 5096 10244 3422 16 5437 3040 3426 4936 17 7638 3852 3179 1299 18 6232 4728 10143 3208 19 1987 4879 2072 1737 20 5956 4255 9037 2165 Mnimo 814 627 1405 297 Mdia 4477,8 3093,7 5896,85 2844,75 Varincia 5080932,905 2290835,379 9873907,187 3068829,987 Desvio padro 2254,092479 1513,550587 3142,277389 1751,807634 Tabela 6.19. Tabela ANOVA do nmero de iteraes nos experimentos de BT para o cordo circular. Graus de SQ MQ F liberdade Amplitude (A) 1 98399352,20 98399352,20 19,38 Iter. tabu (B) 1 6845670,05 6845670,05 1,35 AB 1 13911120,00 13911120,00 2,74 RESDUO 76 385975603,70 5078626,36 TOTAL 79 505131745,95

Comparao entre as abordagens de simulated annealing e busca tabu

Na comparao entre as abordagens para o cordo de solda circular, novamente, realizou-se primeiro a anlise entre as abordagens de busca tabu e de simulated annealing, comparando-se o melhor experimento de cada uma das abordagens. Note que, do ponto de vista estatstico, no houve um melhor resultado para a busca tabu. Assim, para a busca
tabu, tomou-se o experimento com 5 iteraes tabu e amplitude igual a 1, cuja mdia para a

funo objetivo foi 207,74 63,63, j que experimento foi tomado na comparao para o

77

cordo linear. Para o simulated annealing, tomou-se o experimento com taxa de resfriamento de 0,999, temperatura inicial igual a 100 e amplitude igual a 1, porque este experimento apresentou a mdia mais baixa dos valores da funo objetivo, que foi 134,4 123,23. A tabela 6.20 apresenta a avaliao entre as duas abordagens, indicando os valores do mnimo, mdia, varincia e desvio padro para cada experimento. H uma diferena significativa na mdia dos dois experimentos. A tabela 6.21 apresenta a comparao entre estes experimentos. Note que o valor de F (igual a 14,38) superior ao valor de corte 4,1 (definido a partir do nvel de confiana 95% e dos graus de liberdade dos tratamentos), indicando que a busca tabu foi superior ao simulated annealing tambm para o caso de solda de um cordo circular.
Tabela 6.20. Comparao entre as abordagens SA e BT. Tratamento 1 2 Busca Tabu Simulated Annealing Taxa de resfriamento = 0,999 No. diversificaes = 5 Temperatura inicial = 100 Amplitude = 1 Amplitude = 1 Repeties Melhor soluo Melhor soluo 1 125,04 386,2400 2 162,80 241,6000 3 226,39 252,9200 4 215,48 280,5600 5 190,20 509,4400 6 161,96 405,1200 7 348,52 145,7200 8 213,36 168,3200 9 249,28 293,1200 10 237,24 248,6400 11 126,12 525,4400 12 208,88 258,5600 13 339,32 540,4800 14 207,60 328,7600 15 215,36 230,0000 16 123,96 346,1700 17 147,86 396,1600 18 261,68 332,4800 19 146,80 482,2400 20 246,96 134,4000 Mnimo 123,96 134,4 Mdia 207,74 325,3185 Varincia 4048,27 15185,82312 Desvio padro 63,63 123,2307718 Tabela 6.21. Tabela ANOVA comparando as abordagens SA e BT. Graus de liberdade SQ MQ Entre tratamentos 1 138245,86 138245,86 Dentro dos 365447,76 9617,05 38 tratamentos TOTAL 39 503693,62

F 14,38

78

Anlise dos tempos de processamento

A tabela 6.22 apresenta os tempos de processamento medidos na execuo de uma busca. Tais tempos devem ser considerados apenas como uma referncia, j que o nmero de iteraes e, consequentemente, os tempos de execuo das duas abordagens ficaram em segundo plano na comparao entre as abordagens. O objetivo aqui foi de apenas indicar que as buscas ocorreram dentro de tempos de execuo aceitveis.
Tabela 6.22. Tabela ANOVA do nmero de iteraes nos experimentos de BT para o cordo circular. Abordagem Arranjo de parmetros Tempo de execuo 1 min e 14 seg Amplitude = 1, temperatura = 100, = 0,9 12 min e 9 seg Amplitude = 1, temperatura = 100, = 0,999 1 min e 21 seg Amplitude = 1, temperatura = 500, = 0,9 15 min e 2 seg Simulated Amplitude = 1, temperatura = 500, = 0,999 Annealing 40 seg Amplitude = 10, temperatura = 100, = 0,9 6 min e 44 seg Amplitude = 10, temperatura = 100, = 0,999 42 seg Amplitude = 10, temperatura = 500, = 0,9 9 min e 18 seg Amplitude = 10, temperatura = 500, = 0,999 Amplitude = 1, iterao tabu = 3 11 min e 15 seg Amplitude = 1, iterao tabu = 5 15 min e 10 seg Busca Tabu Amplitude = 10, iterao tabu = 3 8 min e 1 seg Amplitude = 10, iterao tabu = 5 9 min e 1 seg

79

7.

CONCLUSES
Uma nova proposta de planejamento de trajetria otimizado para robs foi

apresentada, visando proporcionar a utilizao mais efetiva do potencial destes equipamentos cada vez mais empregados e aplicados em processos industriais. Alm disso, este trabalho visa difundir o mtodo da Busca Tabu, ainda pouco explorado, como ferramenta na resoluo de problemas comuns ao meio industrial. Assim, foram usadas duas abordagens heursticas para resolver o problema proposto, usando o simulated
annealing e a busca tabu. Com isso, foram feitos testes para cada uma das abordagens,

visando a comparao entre as abordagens. Os testes foram executados considerando-se duas situaes de solda distintas: cordo linear e circular. Para comparar as abordagens, adotou-se a Anlise de Varincia (ANOVA), que um tratamento estatstico especfico para este fim. Nos resultados apresentados, pode-se observar que o valor mnimo encontrado para a funo objetivo em cada um dos experimentos significativamente menor que a mdia dos valores encontrados. Esta uma indicao da complexidade deste problema, devido multiplicidade de solues viveis, bem como existncia de inmeros pontos de timo local. Na comparao entre os valores obtidos para a funo objetivo em cada uma das abordagens de busca tabu, ficou claro que, para as quatro condies de parmetros testadas, no possvel rejeitar a hiptese de igualdade entre os experimentos. Isto pode ser observado tanto para o caso de cordo de solda linear como circular. Da mesma forma, para o nmero de iteraes, tanto para o caso de cordo de solda linear como circular, tambm no foi possvel rejeitar a hiptese de igualdade entre os experimentos. Para o algoritmo de simulated annealing, tanto para o caso de cordo de solda linear como circular, a hiptese de igualdade entre os oito experimentos foi rejeitada, identificandose uma interao entre os trs fatores. Ou seja, identificou-se que o valor da funo objetivo tender a ser menor quando a taxa de resfriamento (fator A) 0,999, a temperatura inicial (fator B) 100 e a amplitude (fator C) 10. No entanto, para o nmero de iteraes, no foi possvel rejeitar a hiptese de igualdade entre os experimentos, tanto para o caso de cordo de solda linear como circular. Na comparao entre as abordagens de busca tabu e simulated annealing, ficou claro, para os dois tipos de cordo de solda, que estatisticamente a busca tabu teve desempenho superior ao simulated annealing, ainda que os valores mnimos nos

80

experimentos indiquem que o simulated annealing tenha sido capaz de atingir resultados prximos dos obtidos com a busca tabu. No foi possvel testar as duas abordagens propostas a alguma abordagem da literatura, j que os artigos relacionados a este problema foram muito pobres na apresentao de dados e tambm dos parmetros usados. Assim, como trabalhos futuros, prope-se a implementao de algoritmos genticos e, eventualmente, outras abordagens heursticas. O presente trabalho focou a determinao da trajetria tima, o que permitir que futuramente este trabalho seja estendido para a definio de set-points do problema de controle de robs. Alm disso, pretende-se testar esta abordagem em problemas reais.

81

REFERNCIAS
ABB. Manual do operador IRC5 com flexpendant. 2004. ABB. Descrio de produtos. Disponvel em

<http://www.abb.com.br/product/seitp327/5AA9D9DC6BC1C77CC1256F11004C80E4.aspx> Acesso em: 04 Novembro de 2008. AKIR, M., BUTUN, E., KAYMAN, Y. Effects of genetic algorithm parameters on
trajectory planning for 6-DOF industrial robots. Industrial Robot, Volume 33, issue 3,

2006, p 205-215. CHEN, M., ZALZALA, A. A genetic approach to motion planning of redundant mobile
manipulator systems considering safety and configuration. Journal of Robotics Systems

14, 1997, p 529-544. CRAIG, J. J. Introduction to Robotics. Ed. Addison-Wesley Publishing, Inc., 1989. FU, K. S., GONZALEZ, R. C., LEE, C. S. G. Robotics: control, sensing, vision and
intelligence. Ed. Mcgraw-Hill College, 1987, New York, NY, USA.

GLOVER, F., LAGUNA, M. Tabu search. Ed. Kluwer Academic Publishers, 1997, Boston, USA. GARG, D. P., KUMAR, M. Optimization techniques applied to multiple manipulators for
path planning and torque minimization. Engineering applications of artificial intelligence,

Volume 15, Nmero 3, Junho de 2002 , pp. 241-252. GOLDBERG, D. E. Genetic algorithms in search, optimization and machine learning. Ed. Addison Wesley, 1989. GROOVER, M. P. Automation, Production, Systems, and Computer-Integrated
Manufacturing. Ed. Prentice Hall, Inc., 1987

HOLLAND, J. H. Adaptation in natural and artificial systems. Ed. MIT Press, Cambridge, MA, USA, 1992

82

LAUS, L.P. Apostila da disciplina de robtica. UTFPR, 2006. Disponvel em <http://www.dexter.damec.cefetpr.br/~laus/arquivos/introduc2.pdf > Acesso em: 12 setembro de 2007. MICHALEWICZ, Z., FOGEL, D.B. How to solve it: modern heuristics. Ed. Springer Verlag, 2000, Berlim, Germany, PIRES, E., MACHADO, J. A trajectory planner for manipulators using genetic
algorithms. Proceedings of the IEEE International Symposium on Assembly and Task

Planning, Porto, Portugal, 1999, p. 163-168. REEVES, C.R. Modern Heurisitic Techniques for Combinatorial Problems. Ed. McGraw Hill, 1995, New York, USA. RODRIGUES, L. C. A. Notas de aula. Disciplina Mtodos Heursticos (PMN 15), 2006. ROMANO, V. F. Robtica industrial: aplicao na indstria de manufatura e de
processos. Ed. Edgar Blucher Ltda, 2002, So Paulo, Brasil, 256 pp.

SANTOS,

W.

E.

Apostila

robs

industriais.

2001.

Disponvel

em:

<http://www.controle.eng.br/textos.htm> Acesso em: 15 Agosto de 2007. SCIAVICCO, L., SICILIANO, B. Modeling and control of robot manipulators. Ed. McGraw Hill, 1996, Naples. SMITH, V. J. R., OSMAN, I. H., REEVES, C. R., SMITH, G.D. Modern heuristic search
methods. Ed. John Wiley & Sons Ltd, 1996, West Sussex, England, 294 pp.

WU, L., CUI, K., CHEN, S.B. Redundancy coordination of multiple robotic devices for
welding through genetic algorithm. National Key Laboratory of Advanced Welding

Production Technology, Harbin Institute of Technology, Harbin, Hei Longjiang (People's Republic of China), Robotica Volume 18, issue 6, 2000, p.669-676.

Você também pode gostar